微信小程序开发常见的坑

1.数据的存储问题
想要数据几乎常在,如用户id,存缓存
每个页面的data在redirect跳转时候会清空
app.js里面的全局数据可以保持在当前小程序打开到关闭这个周期一直有效,可以存商户id(多商户)
也可以在url跳转把数据当做参数从一个页面传递到下一个页面

2.小程序内在webview调起支付
参考 https://blog.csdn.net/u013401630/article/details/78989581


3.小程序下载文件是下载到虚拟缓存 全部文件加起来最大支持10M 想真正下载写个web页面设置安全域名 在里面js下载到手机上

4.注意request是异步的,onload里面的request可能和onshow几乎同时执行

5.小程序发送模板消息,必须在支付后才能发送成功

6.小程序上传图片接口必须加loading,防止多次提交表单并发处理,可以使用滚动加载避免多次加载相同数据方法避免前端并发提交表单

7.onshow不能接受option参数(也就是get参数等不能接收)onload可以

8.小程序上传文件必须先选择一个文件后才能走上传接口  可以写两个请求函数  如果选择文件了走上传接口 否则走正常的请求接口

9.小程序可以使用扫描二维码调试,选择普通编译为二维码编译--选择二维码--编译

10.web-view页面自动全屏 但是wx.showToast({  // 可以展示在web-view层级之上
                title: res.msg,
                icon: 'none',  // 不显示图标
                duration: 3000
              })这样可以在web-view页面上弹出提示

11.ios12小程序表单提交存在bug 可能会获取不到值 推荐使用bindinput兼容性高

12.小程序的mastache语法不支持js的方法。即在页面标签中,使用以下js方法无效:
Object.keys()   toString()  indexOf() 

13.小程序取消了分享回调

14.小程序授权信息解密返回41003=》解决方法wx.getUserInfo(按钮) -> wx.login() -> wx.getUserInfo(废弃接口)【https://www.jianshu.com/p/5b472740c081】

15.https://www.jianshu.com/p/7393c800ba09  //小程序自定义头部导航栏

16.小程序可分包突破2M限制
分包教程:https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/basic.html
小案列:https://www.daguanren.cc/post/subpackage_8m_wxapp.html

17.上传文件接口--需要把接口域名加入小程序后台上传文件安全域名,上传接口返回的数据不是json对象是json字符串,var str = JSON.parse(str)转为json对象

18.小程序点击上一页只会触发onshow,不会触发onload,把onload的option保存在页面data里面,
在onshow里面that.onload(option)手动触发onload,返回上一页时候页面data还在

19.//微信小程序偷偷获取fromid发送模板消息的方法
其实就是隐藏一个form获取formid保存起来
https://blog.csdn.net/mushui0633/article/details/78948346

20.客服消息开发
开启消息推送情况下是类似微信公众号的消息事件自动回复
未开启情况下小程序后端添加客服--可以使用微信提供的一套客服系统

21.this.setData({},function(){}) 是异步的 可以接受回调函数

22.正式和测试小程序获取的openid是相同的  新版本上线要清理用户小程序缓存(参考团餐app.js函数版本号那个)
而且要避免缓存的用户不存在(正式测试缓存通用)需要一个接口判断,参考团餐users控制器的checkopenid接口

23.
小程序后端获取unionid可能失败,建议使用前端getUserInfo获取加密的敏感数据,后端解密获得unionid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值