- 平台一个持续了半年未解决的BUG
- 当前 Bug 的表现(可附上截图) 设置体验版,在路径后面添加参数,提交,此时支持返回的图是正常的,关闭二维码弹层,重新点击体验版查看二维码,发现路径上带上了amp;,并且每刷新一次多一个amp;扫码后解析参数解析的也是带amp的 [图片] - 预期表现 刷新页面,点击体验版,路径正常 - 复现路径 - 提供一个最简复现 Demo 平台 此bug于4月份提过,目前该问题仍然存在,下方链接参考4月提的问题 [BUG] 平台体验版扫码设置参数后,刷新后参数自动添加amp
2018-11-08 - 快被小程序的unionid机制搞疯了
先说一下前提: 同一主体开发了公众号+多个小程序组合,为了避免在多个小程序之间重复注册,使用了unionid机制进行会员数据关联。 在直接调用wx.getUserInfo的时候一切正常,只是默认要弹出请求授权窗口,拒绝授权的使用openSetting再次请求授权 好了,后来说wx.getUserInfo将要作废,建议使用button按钮获取userInfo信息授权。于是我们把默认的wx.getUserInfo改成了默认wx.login,那么问题来了,wx.login根据unionid机制,部分会返回unionid,部分用户不返回unionid(用户仅操作当前小程序并未关注或者操作过同主体下其他小程序) https://developers.weixin.qq.com/miniprogram/dev/api/unionID.html 然后我们要再判断如果wx.login接口没有返回unionid字段,跳转到一个单独的授权页面,点击<button open-type="getUserInfo" 的按钮授权获取用户信息。 然后我们再根据获取的unionid字段匹配数据库会员资料,未注册再次跳转到单独的注册页面,进行手机号码验证注册 问题1:wx.login接口返回 unionid规则复杂,难以理解 Why?为什么要有这么奇葩的规则?同主体小程序绑定到了开放平台,进行了认证。为什么要这么奇怪的规则,增加接口复杂性。经常会误解为都会返回unionid字段,一般开发用的测试号由于都操作过同主体其他小程序都会返回unionid 问题2:点击<button open-type="getUserInfo" 按钮回调,e.detail.userInfo 已经包含了用户昵称、头像、地区、性别等信息,唯独不返回openid,unionid字段,需要用e.detail.iv + code 去服务器解密获取。难道openid,unionid字段比用户昵称、头像等信息更隐私吗?为何要如此大费周章才能给openid,unionid字段 问题3:wx.getUserInfo作废能给具体时间吗?开发工具、体验版都已经弹窗不建议用了,但是正式版又可以使用。开发天天要被问“我看到被人家的xxx能用弹窗授权噢”,每天都要解释,开发到底是要用呢还是不用呢?
2018-08-03 - 小程序获取unionId疑问
绑定了开发者帐号的小程序,可以通过下面3种途径获取UnionID。 调用接口wx.getUserInfo,从解密数据中获取UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。 如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。 如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。 ==================== 已上是小程序文档对获取unionId的描述,我在实际开发中发现获取不到用户的unionId,具体表现是这样的: 1、拿一个新的微信账号,没有关注、授权过我们公司主体的任何公众号、小程序、移动应用 2、拿这个微信账号访问公司A小程序的wx.login接口,后端根据code只能拿到用户的openId 3、小程序端再次调用A小程序的wx.getUserInfo接口,把加密数据传给手段,后端解密能拿到用户unionId 4、再次拿这个微信账号公司B小程序的wx.login接口(注意A小程序和B小程序都在同一主体下),后端根据code只能拿到openId,还是拿不到unionId 请教下根据小程序获取unionId的第三条规则,同主体下的公众号,如果用户已经授权登陆过,则可以通过wx.login获取unionId。为啥这条规则不起作用?
2018-08-06