收藏
评论

社区经验分享与问题总结

1. 插件开发中,使用自定义组件需用到相对路径

"usingComponents":{

    "alert":"../../components/alert/alert"

  }

 注:选择自定义组件需要加上in(this)

wx.createSelectorQuery().in(this).select('.xxxxx')

 

2. 获取小程序码相关

  • 通过接口生成的小程序码page必须是已经发布的

  • 生成小程序码后可在客户端开发工具中,通过二维码编译进行测试scene参数


 

3. swiper组件current不重置问题(bug)

如:通过arr=[1,2]遍历swiper-item组件,当swiper滑动到current=1时,setData({arr:[2]});此时swiper会出现空白。

原因:current未重置为0,需自己去设置current。

https://developers.weixin.qq.com/community/develop/doc/00066c8beacfa05f24d7d144056800

 

4. 模板消息相关

  • 时效性:1次支付可下发3条,1次提交表单可下发1条。(7天内有效)

  • 对应性:发送消息的对象openId和formId是匹配的。

  • 获取方式:发起支付或表单提交

 

5. 分包加载大小限制问题:使用分包加载时,如果在分包中使用插件,插件大小只会算在分包大小2MB与整包8MB内,不算入主包2MB。(之前算在了主包内,目前已修复)。

 

6. 获取unionId(包括openId)流程(前提:小程序 或 其主体公众号 与 微信开发平台账号关联)

  • 开放平台关联同主体的公众号且 用户已经关注公众号:

wx.login()=> 获取到code,后端通过appid+appserect+code,拿到openId+ session_key+unionId

  • 开放平台关联小程序:

    用户授权后通过wx. getUserInfo(需要授权)获取iv、encryptedData,然后解密(需要用到上面的 session_key),appid+ session_key + encryptedData + iv解密 得到unionId、openId及用户信息

 

  注:如果再次获取code会导致之前的session_key过期

 

7. h5与小程序跳转问题

  • 公众号=>小程序:公众号自定义菜单可配置跳转到小程序

  • 小程序=>h5:webview(需配置业务域名、webview不支持个人账号)

 注:目前不支持h5与小程序的直接跳转

 

8. canvas原生组件覆盖自定义弹层的解决方案

  • 用css样式控制器显示或隐藏,如hidden

  • 纯显示性的canvas可以生成图片之后展示

 

9. 自定义弹层背景滚动问题

方法一:打开的函数中,如果自定义弹框当前显示,则isScroll设为true,否则设为false

<scroll-viewclass="scanInvoice_content" height="100%"scroll-y="{{isScroll}}">

    //设置Page的overflow-y属性值为hidden

</scroll-view>

方法二:事件捕获,顶层加上catchtouchmove

 

10. 小程序图片分享截取变形或显示不全:保持分享的图片是5:4。

 

11. 授权问题

  • wx.authorize可以对scope.userinfo之外的权限进行授权,scope.userinfo需要用<button open-type="getUserInfo"/>组件进行授权。

  • 统一小程序下的用户拒绝授权之后会直接进入失败回调,这种情况可使用wx.openSetting引导用户授权。(用户手动删除小程序才会重新提示授权

 

12. 数据绑定是双括号内只能是data里面的变量或者wxs里声明的函数。


13.不要用wx.request去访问微信接口,官方限制且不能把api.weixin.qq.com配置为服务器域名


  

基础库版本:v2.4.0

欢迎更新指正

最后一次编辑于  2018-12-28
赞 10
收藏

1 个评论

  • 管凯旋
    管凯旋
    2018-12-20

    可以,点赞

    2018-12-20
    赞同
    回复