• 0471-4599451
    您的当前位置:首页 > 新闻动态 > 呼搜动态 >

    实际开发微信小程序过程中遇到的一些问题

    时间:2018-03-12 09:53    来源:呼搜网

      微信小程序上线已经一月有余了,你现在还在使用微信小程序吗?有人说微信小程序的风口只有一天,真的只是这样吗?想象微信的发展史,也是在其推出3年后才有了巨大的装机量的,所以微信小程序才仅仅上线一个月,大家对其的预测不免过于片面了,所以开发小程序还是一个不可忽视的问题,那么就对微信小程序上线后的一个月,做一个微信小程序开发总结,同时为帮助大家快速搭建微信小程序。
     
      据开发人员表示,他们认为自己无压力,微信小程序开发很简单。只是代码中少了那么多标签,统一用 <view></view> 来表示,样式完全遵循 css 样式。虽然微信小程序文档写的足够清晰,api 也足够,实际开发中还是遇到了一些小问题,现做以下总结:
     
      一、服务器域名
     
      1. 必须是可访问的 https域名。
     
      2. 有时候遇到在 设置里修改了访问域名,但是运行代码还会提示域名不合法,然后列出的合法域名中没有刚才修改的域名,原因很有可能在开发的客户端未做同步。需要在客户端 项目->配置信息 点击刷新。
     
      二、授权登录请求服务端获取登录授权串问题
     
      微信授权登录获取用户信息接口 wx.getUserInfo 调用此接口前需要先调用 wx.login 接口获取授权,流程 :
     
      1. wx.login 登录授权
     
      2.请求 wx.getuserInfo 获取用户信息
     
      3. 请求成功用户信息后调用 wx.request 与自己的服务端通信,进行用户资料存储或登录验证,从服务端获取到用户唯一标识串 (通常用token 表示)存储到本地,作为后续接口请求登录用户的唯一验证
     
      这样流程看似没有问题,实际场景中:
     
      在app启动时调用了 用户授权获取服务端 token ,然后应用的第一个页面做服务端请求需要用到token, 这时去读取token ,偶尔会出现无数据。(明明启动就调用授权获取用户信息,token写了存储)
     
      日志调试 发现 wx.login 成功后回调的 wx.getUserInfo ,此处是基于异步调用,很有可能还未获取到token ,就已经请求到了后续接口,取本地存储token 当然没数据(这种问题通常出现在第一次运行app)
     
      三、关于不同页面间数据传输
     
      eg :在列表页点击筛选到了一个新页面,选择完条件后点击查询,回到列表页,获取方式这里用到两种:
     
      1. 直接在 链接后面?a=xx&b=xx 配置参数 跳转到到列表页,在列表页读取参数
     
      2. 筛选页选择完成后把选择条件做存储,然后回到列表页,列表页读取缓存作为筛选条件
     
      四、关于城市级联选择
     
      1.查了微信的文档似乎对级联选择的支持并不友好,也有人用两组Picker(来做。
     
      2. 我这边也遇到了同样的问题,是在新页面用的 <view> 写了三块,省 市 区 然后在点击上绑定事件,来改变后面块的内容实现的。
     
      3. 此时还遇到一个问题,通常客户端开发时会把 城市json 存储到本地,节省了城市切换的网络请求,一开始我也尝试写json 到本地存储,当然微信这边是 写到storage里对应的key 里,存储时还ok ,关键是页面因为要做城市遍历,直接把存储读到了变量里,结果由于数据量太大 超过了小程序的允许范围。最后还是乖乖的做成了变换城市走网络请求。