微信小程序如何做好“授权”设计?( 二 )


05 单一登录流程改造跨平台适配案例
5.1 旧方案的背景及流程图
我们的产品是一个分销平台 , 在最初规划和设计时 , 由于用人成本的因素 , 并没有预备研发app , 只是单纯的希望通过小程序实现运营推广 。 但是在运营过程中 , 特殊的业务模式容易违规 , 怕被用户举报较多导致封号 。 高层决定不再依托于微信生态圈 , 从而倾斜资源自主研发app 。 所以当时小程序的整个登录流程 , 需要进行升级改造 , 用于适配app多设备注册登录 。
旧方案流程如下:
踩的坑有两个地方:
第一 , 未与研发人员明确登录的概念 , 研发人员认为获取到用户的openID视为登录成功 , 对于我们的业务设计来说 , 获取到用户的手机号码才是真正意义的有效用户 。
第二 , 由于开始并未规划app , 导致研发人员在取用户信息时 , 选择了获取用户的openID , 当多个移动应用时 , 无法获取用户的unionID , 用户在各个应用中数据无法打通 。
但是改造时 , 已有300多个授权手机号用户 , 所以改造方案花了很长时间探讨和研究 , 最终得出了一个相对来说完整的解决方案 。
5.2 改造后的方案
在APP中 , 我们设计了微信授权登录、手机号验证码登录 , 手机号密码登录三种登录模式 。 微信授权登录的设计相对来说比较复杂 。 我只梳理了一个简易流程 , 研发的思路由项目经理负责输出 。产品设计思路:
微信小程序如何做好“授权”设计?
本文插图
研发思路(大力感谢小黑同学的贡献):
微信小程序如何做好“授权”设计?
本文插图
在设计过程中 , 我遇到了一个思维误区 , 当时考虑的问题如下:

  • 用户A—登录小程序—获取到openID—绑定了手机号1—视为老用户
  • 老用户A—使用微信授权登录APP—获取到unionID—绑定了手机号2
如果用户在app登录 , 有了unionID , 他绑定了其他手机号怎么办?这个时候创建一个新用户吗?那就存在一个unionid绑定了两个手机号的情况 。
这种场景如何处理?
这个地方的盲区在于 , 我一定要把openID和unionID关联起来 , 其实大可不必 。 在这种情况下 , 以手机号为唯一标识 , 视为两个用户即可 , 只有绑定了相同手机号 , 数据才会互通合并 。 创建的新用户 , 他的openID为空 , 获取到unionID即可 。
即:用户A 是openID+手机号1 , 用户B是unionID+手机号2+openID为空 。
06 写在后面
小程序快速便捷的研发模式和迭代模式 , 可以适应大部分互联网产品快速迭代、快速试错的需求 , 但是全部依赖于微信生态圈会有诸多限制 , 作为小程序的产品经理 , 大家应该熟读小程序和公众号的文档 , 清楚什么可以做什么无法实现 , 这样在设计功能时 , 不会走太多弯路 , 也避免了与研发同学产生冲突 , 设计了他们实现不了的需求 。
参考网站:https://developers.weixin.qq.com/miniprogram/dev/framework/
最后再次感谢小黑同学的批阅和指正~
本文由@Olivia 原创发布于人人都是产品经理 , 未经许可 , 禁止转载 。
【微信小程序如何做好“授权”设计?】题图来自Unsplash, 基于CC0协议