小程序经验分享(二)

本文探讨了小程序中用户信息授权的问题,包括开发者不当做法导致的用户体验下降,以及微信官方针对这些问题的升级策略。介绍了新的按钮组件和API使用方法,如wx.getSetting和wx.getUserInfo的正确使用流程,以及低版本兼容性和access_token过期问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小程序最初的设计是真正想要用户信息的情况下去才获取信息,开发者并没有按照小程序的期望去做,导致用户在试用的时候产生一下问题:

  1. 开发者在首页直接调用wx.getUserInfo进行授权
  2. 开发者没有处理用户拒绝弹框的情况
  3. 有部分开发小程序强制要求用户授权头像昵称等信息才能继续使用小程序
  4. 开发者默认将wx.login和wx.getUserInfo绑定试用,这个是有小程序

 

为了提升用户体检,小程序2018.4.30开始升级,开发版调用该接口,将无法弹出授权询问框,默认调用失败,真是版本暂不受影响

并提出方案:

<button open-type=“getUserInfo” bindgetUserInfo=”userInfoHandle”>获取用户信息</button>

button组建:由于用户主动触发,不受弹框次数限制,只要用户没有授权,都会再次弹框

wx.getUserInfo 的withCredentials参数

withCredentials:true (可以获取到明文信息和加密信息,必须要求用户已经登陆,也就是调用过wx.login,并且状态没有失效)

加密信息包括:用户信息+openId+unionId

withCredentials:false(不需要用户登陆,但无法获取用户加密信息)

推荐试用方法:

  1. 首先试用wx.getSetting获取用户的授权情况
  2. 如果用户已经授权,直接调用API wx.getUserInfo获取用户最新的信息
  3. 用户未授权,并且按钮提示用户授权,当用户点击并且授权后就获取到用户的细腻
  4. 如果已经授权了,隐藏按钮,之后获取信息调用API,因为已经授权,所以不会推荐使用的方案:

打开小程序就谈款授权用户信息

未处理用户拒绝授权的情况

 

生成的码永久有效

接口A:(getWXAcode)

接口B:(getWXACodeUnlimit)

接口C:(createWXAQRCode)

 

A和C:参数path里,长度128字节限制10000个

 

推送位置:服务通知

 

公众号:可以主动推荐,小程序:必须有交互行为

  1. 收集formId
  2. 登陆后台获取模版ID
  3. 调用接口sendTemplateMessage发信息

条件限制:有交互行为后的7天,1次支付发3条,1条提交表单

微信的限制随时会有调整

  1. 小程序源码打包后的大小限制为2M
  2. 窗口的地步最少2个最多5个
  3. 小程序的原型界面层级限制,不超过10层
  4. 地图定位每天只能使用1万次
  5. 流量主开通的累计独立方可uv不低于1000

 

access_token过期问题

通过getAccessToken接口回去,是全局接口调用凭据

各自去刷新,否则容易冲突,导致access_token覆盖而影响业务

有效期为2小时,需定时刷新,重复获取将导致上次获取的access_token失效,每天只能生成2000次

解决方案:发现功能异常时,刷新access_token并更新redis,然后在你调用接口

方案2:生情歌测试小程序,测试环境测试的appid,和线上分开

 

低版本兼容:

小程序的功能不断增加,解决方案

  1. 设置-基本设置-基础库最版本设置-选择一个版本
  2. 使用if判断API是否存在
  3. wx.canUse

canUse: wx.canUse(‘view’)

<view wx:if=”{{canUse}}>play</view>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值