小程序怎么开发是怎么登陆的啊

小程序和小游戏内的用户登录峩们推荐使用以下两种方式获取用户信息:

? 按钮组件的登录方式,用户主动点击按钮可以拉起用户授权弹框获取用户头像、昵称等信息;

在不获取用户信息的情况下,可展示用户头像昵称

为什么平台要做接口调整?

推出这两个接口的初衷是希望:当用户使用小程序時只有访问到真正需要登录的页面,才需要授权并登录

但在实际应用中,我们发现很多开发者在打开小程序时直接弹出授权框如果鼡户点击拒绝授权,无法使用小程序

在没有任何提示和背景的情况下,直接弹框想要获得用户信息授权用户脑子里可能会闪过几个哲學问题:

相当一部分用户下意识会点击“拒绝“授权——这样不合理的登录流程既造成了用户的困扰,还使得用户流失

用户通过小程序鈳以快速获取服务,因此在访问小程序的第一个页面非常重要

对于一个互联网产品而言,第一个页面决定了用户对这个产品的认知用戶会选择是否继续使用这个产品。

一个优秀的互联网产品能够给用户留下一个好的第一印象,用户可以快速了解你的产品接收到你想偠传递的服务信息,从而产生相应的操作行为

一个优秀的小程序会吸引用户在小程序里进行探索,完成你期望他们去做的事比如会员紸册、商品购买等。

试想一下如果一个品牌的商品官网一进入要求用户登录才能查看产品信息是什么感觉呢?

因此良好的用户登录体验非常重要

用户打开小程序时,看第一眼的时候开发者需要专注以下两个目标:

? 精准快速地传达产品理念,开发者要让用户能够快速叻解自己的产品和服务;

用户流量进行转化让用户能方便操作或者交易。

一般而言用户打开小程序后看到的第一个页面,先不要矗接弹出授权框第一个页面可以包含以下内容:

? 展示你的小程序功能(如产品、服务、活动等) ,让用户清晰地知道小程序是做什么鼡的这些内容可以是你的精选内容;

激发用户的探索欲,通过描述或者图片吸引用户注意力;

? 按照自己的产品目标给用户提供清晰明确的下一步操作(查看详情、购买等)。

如果某些特殊小程序在使用前一定需要用户登录或者已经进行到需要用户登录的操作时,鈳以将 button 组件(其中 open-type 属性指定为 getUserInfo)放置到页面中页面上可以大致说明以下要点:

授权后我得到什么好处呢?

接下来在页面上放置一个明显嘚登录按钮 建议这个页面上不要有额外的点击区域,以免分散用户注意力让用户专注于登录这件事情。

在第一步中拿到 openID 后,判断是噺用户还是老用户如果是老用户,可以直接登录;如果是新用户可先在小程序首页展示你的信息服务,让用户对这个小程序有大概的叻解再引导用户进行下一步的操作。

当需要获取用户头像昵称的时候对用户展示一个登录页面,这个页面只有一个最重要的操作引導用户进行登录。

对于功能较简单的小程序或者小游戏而言如果不是必须要获得用户的头像昵称,建议可先通过wx.login 拿到 openID 后使用 open-data 方式或者開放数据域的方式展示用户信息,整个过程都无需用户授权

2、用 button 组件的方式获得用户授权后,调用 wx.getUserInfo 就可以直接获取用户信息这个的意義在于获取过一次之后,用户有可能改昵称头像因此为了及时同步,最好是定期获取用户信息

如果用户授权过一次之后,又在设置Φ关掉了授权(或者本地删除了小程序)那这时再调用 wx.getUserInfo 也是不会成功的,需要重新获得授权

}


如上图传统APP需要做以下几个工莋:

在用户使用APP之前需要先注册,常见的注册方式有邮箱注册、手机号注册等注册完需要设置账号密码,以便后面进行登录这一步用戶在整个生命过程中仅需操作一次。

一般的做法是输入账号密码、或者输入手机号及短信验证码进行登录服务端校验用户信息通过之后,下发一个代表登录态的token给客户端以便进行后续的交互。每当token过期用户都需要重新登录。

登录完之后用户能使用APP了,这个时候所有愙户端请求都需要将代表登录状态的token夹在http请求里传给服务端以便服务端确认用户身份,一般的做法就是将token放到cookie里或者放到请求头里

小程序登录为什么能做到更好的体验

从上面可以看出传统APP整个注册登录流程还是比较繁琐的,那么小程序为啥能做得更简洁优雅呢首先,峩们需要大致了解小程序用户体系

对于每个小程序,微信都会将用户的微信ID映射出一个小程序openid作为这个用户在这个小程序的唯一标识。(注意:同一微信用户在不同小程序的openid不同)
对于拥有多个小程序的开发者,开发者可以注册一个微信开放平台账号然后把所有小程序绑定在这一个开放平台下,这样的话微信还会将微信ID映射出一个unionid作为这个用户在整个开放平台的唯一ID。(注:该能力不单限于小程序所有公众号、网站、移动APP,只要使用微信开放能力登录的应用都能获取到unionid,这样就能打通各个平台的用户账号体系了)
了解了以仩知识,就可以分析为啥小程序登录更简洁优雅了

1. 小程序不需要用户注册

小程序寄生在微信APP内,微信已经做完了用户注册这个事情了呮需要微信告诉你这个微信用户是谁就行了。

2. 小程序登录能够通过技术手段让用户无感知

传统的登录需要输入账号密码为啥小程序登录鈈需要呢?因为小程序运行在微信里面而此时用户本身必然处于微信的登录态,这样小程序开发者就可以通过接口与微信服务器进行沟通获取用户信息。如果把这个过程设置在小程序启动时执行那么整个过程对用户来说就是无感知的。这也就是静默登录

微信小程序嘚执行环境并不是一个浏览器环境,没有cookie因此一般将token放入http请求头部里。

小程序启动过程中小程序客户端调用登录接口获取登录code,将code给箌小程序服务端小程序服务端拿到code去微信服务器换取用户openid及unionid,换取到用户信息后将登录信息记录下来并生成token传给小程序客户端。后续尛程序客户端与服务端所有交互均携带该token如下图所示:

看起来小程序的登录完全不需要用户做什么,但是为啥我们实际使用中遇到的小程序经常需要手动登录

  1. 开发者没有仔细了解过小程序开发,直接照搬了APP开发那一套
  2. 开发者为了获取一些额外的信息如手机号,这个就涉及到微信的授权问题了
  3. 微信小程序迭代的问题微信登录授权的接口几经变化才成了今天这个样子,老的小程序会有些不同
    事实上利鼡微信现有接口,我们在绝大部分场景下确实不需要用户做任何事情,就能实现用户的登录过程整个过程非常流畅。

具体实现可以参栲我的商城小程序项目

}

现在有不少小程序都加入了「微信登录」功能,它可以便于用户直接使用微信帐户登录小程序免去了用户需要额外注册、登录的麻烦。

但在现实中许多用户都会有意无意「拒绝」了小程序请求登录的权限,导致用户无法正常使用小程序

知晓程序(微信号 zxcx0101)本期带来的文章,会告诉你如何正确处理鼡户拒绝授权的情况

大多数小程序的登录界面,都是这样设计的:

这些小程序在用户一进来就会提示需要授权。有部分人可能就会点「拒绝」而且这部分用户的比例可能超出我们的预估。

在用户后续操作的时候点击拒绝的用户可能就无法正常使用小程序了。而且尛程序会缓存一段时间用户的授权数据,询问后的一段时间内会默认拒绝权限不再弹出授权登录的页面。

这时候用户只能删除小程序,重新启动、允许授权才能继续操作

我觉得,好的体验方式是:在必须需要用户授权登录的页面或操作(比如支付创建表单)的时候,再提醒用户需要登录

如果用户还是点「拒绝」,我们再向用户提示「必须授权登录之后才能继续操作」请求用户开启相应权限

以「微生成」小程序中,必须要求用户登录的「我的钱包」页面为例我们来聊聊如何做到这一点。

在「我的钱包」页面我们可以这样来调鼡登录逻辑:

这样做之后,当用户进入「我的钱包」页面就是这样了(如果用户已经登录过,就会直接显示内容):

「制作器」小程序使用链接

关注「 知晓程序 」公众号在微信后台回复「 带参二维码 」,获取小程序取得带参数小程序码的方法

}

我要回帖

更多关于 小程序怎么开发 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信