【产品设计】微信小程序如何做好“授权”设计?

news2024/11/26 13:43:09

授权登录降低了用户注册账号时的操作成本,减少了产品的获客门槛。在本文中,作者结合案例,盘点了微信小程序授权登录设计中需要注意的几点问题,并对功能设计背后的设计思路与原理进行了简要的分析

在这里插入图片描述

01 openID

这是微信生态圈中,为了识别用户,每个小程序或者公众号对每个用户生成的一个唯一的ID,类似身份证号,针对该小程序或公众号具有唯一校验的属性。

储存openID,在用户下次进入小程序中,可识别用户身份,实现免登陆功能。小程序本身已经实现了登录功能,所以降低的开发成本。但获取openID只适用于规划中不含有app等其他平台应用的产品,如果想要实现多应用,在最初设计时,千万不要用openID!此处踩了大坑,后文中会详细介绍。

02 UnionID

如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。

换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。注意:需要在微信开放平台将多个应用绑定在同一主体下,才能实现多应用共用一个UnionID,此配置需要前置进行。

03 其他用户信息

包括:用户信息、地理位置、定位、通讯地址、发票抬头、获取发票、运动步数。

04 微信绑定手机号

获取用户微信默认绑定的手机号,需要用户点击页面中的按钮(button),才可以调用此功能。弹窗里支持用户修改手机号。如果业务中需要使用手机号来注册,就可以使用此功能获取,如业务中不强制要求,则只需获取用户openID/UnionID,在必要环节获取手机号,以提升用户体验。
介绍完openID/UnionID两者的区别,总结一下如何获取这两种ID:

  • 点击页面中的按钮,弹出授权弹窗用户同意授权,才可获取。注意:用户的openID是放在【用户授权获取昵称和头像】中。引申一个知识点,还有一种方式是通过微信官方提供的登录功能获取openID,但在获取UnionID时会出现获取不到的情况,所以并不推荐使用此方法。
  • 如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。系统可以直接获取到用户的openID/UnionID,无需用户再次授权。
  • 如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。小程序用户无需再次授权。
  • 用户在小程序(暂不支持小游戏)中支付完成后,5分钟内可获取用户的openID/UnionID,无需用户授权。此应用场景,作者所参与的项目中暂时没有使用过,但感觉扫码购类似的产品中应该会使用。

举个栗子,如果你想要获取用户的昵称头像和手机号,那么需要设计两次点击按钮,并且弹出两次授权弹窗,一次按钮点击获取一种授权,并且只能放在不同的按钮中。设计参考:美团、瑞幸、贝壳租房等小程序。

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 最后

小程序快速便捷的研发模式和迭代模式,可以适应大部分互联网产品快速迭代、快速试错的需求,但是全部依赖于微信生态圈会有诸多限制,作为小程序的产品经理,大家应该熟读小程序和公众号的文档,清楚什么可以做什么无法实现,这样在设计功能时,不会走太多弯路,也避免了与研发同学产生冲突,设计了他们实现不了的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/773667.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

# Linux下用mailx发送邮件,邮件内容在用户端变成了以为.bin为扩展名的邮件附件的问题解决

Linux下用mailx发送邮件,邮件内容在用户端变成了以为.bin为扩展名的邮件附件的问题解决 文章目录 Linux下用mailx发送邮件,邮件内容在用户端变成了以为.bin为扩展名的邮件附件的问题解决1 发送邮件范例:2 文件范例参考(/root/loll…

Microsoft Outlook如何自动归类邮件

右键点击 Inbox→New Folder 填写文件夹名称 temp Move→Rules→Create Rule Select Folder 点击temp→OK

Linux 内核概念和学习详解

1、前言 本文主要讲解什么是Linux内核,以及通过多张图片展示Linux内核的作用与功能,以便于读者能快速理解什么是Linux内核,能看懂Linux内核。 拥有超过1300万行的代码,Linux内核是世界上最大的开源项目之一,但是内核…

css 3个元素行排列,前2个元素靠左,第三个元素靠右

上效果&#xff1a; 实现方式&#xff1a; display:flex &#xff0c; 行排列&#xff0c;默认靠左对齐&#xff0c; 然后让第三个元素自动占满剩余的空间&#xff1a;flex-grow:1&#xff0c;text-align:end // wxml <!-- 支付方式--><view class"payment_…

尚无忧多门店自助宠物洗护系统美容宠物寄养系统小程序

技术框架&#xff1a;thinkphpmysql跨平台uniapp 完全开源无需授权 支持&#xff1a; 多门店商家入驻&#xff0c;管理 门店自助设备预约 电子门锁扫码开门 会员开购买&#xff0c;会员余额充值 自助订单和宠物预约订单管理 宠物添加管理 洗护知识文章设置 <templa…

套餐管理模块开发 -- 手把手教你做ssm+springboot入门后端项目黑马程序员瑞吉外卖(六)

文章目录 前言一、新增套餐1. 需求分析2. 数据模型3. 代码开发4. 功能测试 二、套餐信息分页查询1. 需求分析2. 代码开发3. 功能测试 三、删除套餐1. 需求分析2. 代码开发3. 功能测试 总结 前言 为了巩固所学的知识&#xff0c;作者尝试着开始发布一些学习笔记类的博客&#x…

推荐模型——逻辑回归

文章目录 1. 逻辑回归特点2. 基于逻辑回归的推荐流程3. 逻辑回归模型的数学形式4. 逻辑回归模型的训练方法5. 逻辑回归模型的优势5.1 数学含义上的支撑5.2 可解释性强5.3 工程化的需要 6. 逻辑回归的局限性 1. 逻辑回归特点 逻辑回归是融合多种特征的推荐模型。 相比于协同过…

J Roulette(“范式杯”2023牛客暑期多校训练营1)

目录 题目描述&#xff1a; 解题思路&#xff1a; 解题代码&#xff1a; 题目描述&#xff1a; 解题思路&#xff1a; 注&#xff1a;其中对于取模过程中用到了费马小定理&#xff0c;可参考如下博客&#xff1a; (3条消息) 费马小定理及其应用_CTGU-Yoghurt的博客-CSDN博客 …

LiveGBS流媒体平台国标GB/T28181功能-国标级联到海康大华宇视华为等第三方国标平台上级不支持H265/HEVC支持强制推送H264编码

LiveGBS国标级联到海康大华宇视华为等第三方国标平台上级不支持H265/HEVC支持强制推送H264编码 1、背景2、什么是GB/T28181级联3、获取上级接入配置信息3.1、接入第三方国标平台3.2、接入LiveGBS示例 4、配置国标级联4.1、国标级联菜单4.2、添加上级平台4.3、编辑上级平台级联4…

微服务保护---Sentinel(雪崩问题/流量控制/隔离和降级)

目录 1.雪崩问题 1.1.解决雪崩问题的常见方式有四种 2.什么是Sentinel 2.1.安装Sentinel控制台 2.2.微服务整合Sentinel 3.流量控制 3.1.簇点链路 3.2.快速入门 3.2.1.示例 3.2.2.利用jmeter测试 3.3.流控模式 3.3.1.关联模式 3.3.2.链路模式 3.3.3.总结 3.4.流控…

如何在 Ubuntu 20.04 桌面上启用/禁用 wayland

Wayland 是一种通信协议&#xff0c;指定显示服务器与其客户端之间的通信。 默认情况下&#xff0c;Ubuntu 20.04 桌面不会启动 Wayland&#xff0c;而是加载 Xorg 显示服务器X11。 在本教程中您将学习&#xff1a; 如何启用 Wayland如何禁用 Wayland 类别要求、约定或使用的…

途乐证券-股票退市股民如何索赔?

股票退市股民能够经过以下途径来索赔&#xff1a; 1、团体诉讼 团体诉讼允许多个股民联合起来作为原告&#xff0c;以代表整个群体进行索赔。这种方式一般需求证明公司或其管理层存在违法行为或虚假陈说等&#xff0c;导致股民的丢失。 2、单个诉讼 在这种状况下&#xff0c…

el-table 鼠标悬浮时背景色改变

案例&#xff1a; /* css 鼠标悬浮时 */ ::v-deep .el-table tbody tr:hover > td {background-color: rgb(65, 111, 180) !important;color: #ffffff; } 表格背景色透明 ::v-deep .el-table tr {/* background-color: #10274c; */background-color: transparent;color: #f…

【gis插件】arcgis插件界址点编号工具、C#实现思路(附插件下载链接)

数据&#xff1a;界址点图层、宗地图层 要求&#xff1a;找出宗地对应的所有界址点号&#xff0c;对这些界址点号以J1开始按顺序排列 要找出宗地所对应的所有界址点号&#xff0c;这里只要执行一个标识 即可得到这样得到的结果。 难点在于对界址点的编号&#xff0c;经过检查…

【linux】\r 和 \n 的区别、缓冲区的刷新情况、实例:进度条(用 Makefile 自动化构建)

目录 1. \r 和 \n2. 通过一个小程序观察现象3. 进度条 1. \r 和 \n 回车和换行符在 linux 系统下的 gcc 编辑器中&#xff0c;是能观测出有明显区别的。 \n&#xff1a;换行 --> 光标去往下一行的相同位置 \r&#xff1a;回车 --> 光标回到该行最左侧 &#xff08;两步之…

综合案例:书籍购物车

待练习 记得写key <tbody><tr v-for"(item, index) in books":key"item.id"click"rowClick(index)":class"{ active: index currentIndex }"><td>{{ index 1 }}</td><td>{{ item.name }}</td>…

数据库应用:MySQL高级语句(二)

目录 一、理论 1.表连接查询 2.视图 3.联集 4.交集值 5.无交集值 6.CASE 7.空值&#xff08;NULL&#xff09;和无值&#xff08;’ &#xff09;的区别 8.正则表达式&#xff08;精确查询) 二、实验 1.表连接查询 2.视图 3.联集 4.交集值 5.无交集值 6.CASE 7…

Ollydbg(1)字符串解决

链接&#xff1a;https://pan.baidu.com/s/1BaROP5e9UbJMSN1sgOOKbA 提取码&#xff1a;z2i6 输入序列号&#xff0c;如果不正确&#xff0c;提示输入不正确 右键→中文搜索引擎→智能搜索→文本字符串→双击 流程&#xff1a; 一.找到关键处并且修改 两个均可以实现功能的修改…

电力市场经济与管理自学笔记

电力市场经济与管理自学笔记 第二章 电力经济学基本原理2.1 供给、需求与均衡2.1.1 需求曲线2.1.2 供给曲线2.1.3 供给需求的平衡 写本文主要是用于为以后可能从事的电力市场相关方向做点铺垫 第二章 电力经济学基本原理 这一章和高中政治时学的《经济生活》有点类似&#xf…

信息摘要 秘钥签名 数字签名 数字证书 数字验证 数字信封 这都是什么东西?

信息摘要 秘钥签名 数字签名 数字证书 数字验证 数字信封 这都是什么东西&#xff1f; 一下遇见这么多相近的名词&#xff0c;实在是难以区分理解&#xff0c;还是从这些概念产生的缘由理解吧 先看需求&#xff1a;如何保证 数据 在网络中传输时正确的&#xff1f;有没有被篡…