本周来上班刚登上小程序后台就看到了微信官方发布的「小程序内用户帐号登录规范调整和优化建议」(链接:https://developers.weixin.qq.com/community/operate/doc/000640bb8441b82900e89f48351401),很多小程序开发/维护者表示???!!!~~~
现实:
我现在正在维护的小程序(商品售卖类)属于第一种情形,目前小程序内关于授权登录的做法是:对于新用户/已删除授权的老用户,进入小程序后,将首先跳转至登录授权页面,如果用户未允许授权,那么将无法继续使用小程序。该做法确实:1.比较霸道;2.对少数想先浏览商品再决定是否进行购买的用户来说,有点使他们无法接受,如果直接离开,将导致我们丢失一部分用户。
痛点:
目前这种情况下,如果按照「规范调整和优化建议」里的“建议”去做修改的话,成本将会不小,因为前后端经过几番改造后,目前几乎所有的接口都需要用户验证,所以如果修改成先让用户体验再让用户进行登录的话,一来将使得我们过去几个月所做的努力白费,二来也将大规模调整我们的业务逻辑,成本太高,而且不稳定性也将增加,这对我们开发者来讲特别不划算。
个人期望折中的方法:
这两天思考了一下,我们再进行接口升级改造时,旧版本的用于获取首页商品列表不需要验证的接口并未废弃仍可使用,鉴于此,如果我继续保持之前的未授权用户进入小程序即跳转至授权登录页面要求授权,但在该页面增加「暂不登录」的选项,此时:
1. 用户若不介意登录授权,那可以直接点击「授权登录」进行授权,授权后将前往首页,此时首页将采用新版的需要验证的接口
2.对于介意的用户来说,点击「暂不登录」,将前往首页,此时使用旧接口进行体验以及商品浏览,当该用户有意向购买时,比如点击了购物车的购买按钮,再行授权登录
期望回答:
这种比较折中的方法,将能在保留我们目前业务逻辑的情况下,使得开发者尽量少的对代码进行改动,希望官方同学能够回答下:对于这种修改,仍然会受到“代码审核环节进行规则提示和修改要求反馈”的惩罚🐎?真心求问啊!
2019/08/08 更新:
我们公司小程序的登录授权流程已经修改,其实就是微信提供的那套小程序登录,在这里统一说一下:
小程序登录/注册情形:我们的登录于注册不依赖于用户的个人信息以及UnionId,新用户在我们这里注册后会根据用户的OpenId生成一个userId然后根据这个userId生成对应的session进行后续业务接口的验证,所以如果你们依赖于UnionId的话,请慎重考虑~~~
修改之前:新用户进入小程序后会立即跳转至「登录授权」页面,用户允许授权后会调用登录接口(v1.0.0)完成注册,生成用户userId以及cookie返回,前台将cookie进行保存以供后续业务接口使用
修改之后:将用户注册于授权保存用户信息分离开来,用户进入小程序后会首先调用wx.login()获取code,将code传给后台以获取OpenId,后台拿到OpenId后直接进行查询:未查询到则为新用户,注册生成新的UserId,查询到则为老用户,得到之前已经生成的UserId,随后将cookie返回,前台保存;用户浏览后进行购买操作或者进入「我的」页面时,才会提示授权,允许授权后才会保存用户信息以及获取其UnionId
你好,若小程序属于第一种服务范围开放的小程序,还是建议可以在体验小程序功能后,用户主动点击登录按钮后触发登录流程,且为用户提供暂不登录选项
在用户进入需要授权的页面和操作时候在给予微信授权弹窗操作,由用户来触发。微信现在的大前提是,用户授权操作的才允许,不要替用户决定。
如果使用的是微信云开发,调用的接口是微信小程序云函数,它会弹出来让用户选择授权还是取消授权的,是不是就没有这个影响
楼主 我问下你们接口需要用户验证是什么意思 我的想法是一些展示数据的页面 判断有没有登录,没有登录的话给一下空数据加一些需要登录的提示 不知道这样可行不
官方不作回答吗?
我们的小程序也是你这种模式的,改着真难受
我们的也是,很多收藏,购物车,关注之类的信息都需要用户登录,
还有转发小程序也需要用户的信息,比如拼团啥的;
这样改一波就真的很伤
暂时还没改,手头上在做其他功能,准备观望一段时间,然后再看看怎么改;
感觉你这个实现方式还可以