微信小程序架构篇

微信小程序架构篇,第1张

一、小程序架构

每个小程序的结构都有两个主要部分构成:主体部分+各个页面。类似于许多框架,主体部分主要用于核心的配置,各个页面主要用于不同业务场景。

1.1、主体部分主要由3个文件构成

1)app.js:小程序逻辑,初始化APP

2)app.json:小程序配置,比如导航、窗口、页面http请求跳转等

3)app.wxss:公共样式配置

主体配置完成之后,就是对应业务开发了,也就是开发者最常 *** 作的页面。小程序页面设计基本上也是遵循MVC结构进行构建。

1.2、页面由4个文件构成

1)js:页面逻辑,相当于控制层(C);也包括部分的数据(M)

2)wxml:页面结构展示,相当于视图层(V)

3)wxss:页面样式表,纯前端,用于辅助wxml展示

4)json:页面配置,配置一些页面展示的数据,充当部分的模型(M)

二、配置app.json

app.json

全局配置页面文件的路径、窗口表现、设置网络超时时间、设置多tab等。

pages

接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成

window

用于设置小程序的状态栏、导航条、标题、窗口背景色。

tabBar

通过tabBar配置项指定tab栏的表现,以及tab切换时显示的对应页面。tabBar配置数组,只能配置最少2个、最多5个tab,tab按数组的顺序排序。

networkTimeout

可以设置各种网络请求的超时时间。

debug:true/false

可以在开发者工具中开启debug模式,在开发者工具的控制台面板,调试信息以info的形式给出,其信息有Page的注册,页面路由,数据更新,事件触发。可以帮助开发者快速定位一些常见的问题

page.json

每一个小程序页面也可以使用.json文件来对本页面的窗口表现进行配置。页面的哦诶址比app.json全局配置简单的多,只是设置app.json中的window配置项的内容,页面中配置项会覆盖app.json的window中相同的配置项。

1、第一种方式是spring2时代的产物,也就是每个json视图controller配置一个Jsoniew。

如:

<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>

或者

<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>

同样要用jackson的jar包。

2、第二种使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson。

利用HttpServletResponse,然后获取response.getOutputStream()或response.getWriter()

直接输出。

示例:

public class JsonUtil  

{  

      

    private static Gson gson=new Gson()  

  

  

    /** 

     * @MethodName : toJson 

     * @Description : 将对象转为JSON串,此方法能够满足大部分需求 

     * @param src 

     *            :将要被转化的对象 

     * @return :转化后的JSON串 

     */  

    public static String toJson(Object src) {  

        if (src == null) {  

            return gson.toJson(JsonNull.INSTANCE)  

        }  

        return gson.toJson(src)  

    }  

}

3、第三种利用spring mvc3的注解@ResponseBody

例如:

@ResponseBody  

  @RequestMapping("/list")  

  public List<String> list(ModelMap modelMap) {  

    String hql = "select c from Clothing c "  

    Page<Clothing> page = new Page<Clothing>()  

    page.setPageSize(6)  

    page  = clothingServiceImpl.queryForPageByHql(page, hql)  

      

    return page.getResult()  

  }

然后使用spring mvc的默认配置就可以返回json了,不过需要jackson的jar包哦。

注意:当springMVC-servlet.xml中使用<mvc:annotation-driven />时,如果是3.1之前已经默认注入AnnotationMethodHandlerAdapter,3.1之后默认注入RequestMappingHandlerAdapter只需加上上面提及的jar包即可!

如果是手动注入RequestMappingHandlerAdapter 可以这样设置

配置如下:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"          p:ignoreDefaultModelOnRedirect="true" >              <property name="messageConverters">                  <list>                      <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>                  </list>              </property>          </bean>

添加包

jackson-mapper-asl-*.jar

jackson-core-asl-*.jar

可以看出,使用方式越来越简单,程序员越来越傻,不知道是好事,还是坏事……


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11650997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存