微信小程序> 微信小程序用户管理

微信小程序用户管理

浏览量:615 时间: 来源:ziliwangmoe

用户唯一码获取

用户管理的两个必要条件是:

  1. 能够获得使用用户的唯一id,小程序里面这个id是openid。
  2. 用户的每次数据上传都把这个唯一id附带上传,这样服务器就知道是谁的操作

通过wx.login函数,可以在网络结果回调函数中获得一个临时的用户的码。这个码再传到服务端,用这个码使用http的api请求真正的用户唯一码openid。

每个用户的openid不会发生变化,可以长期存储。但是同一个用户针对不同小程序的openid是不同的。如果需要用户针对所有小程序都相同的id,可以使用unionid。详情见:

https://developers.weixin.qq.com/miniprogram/dev/api/unionID.html

把这个openid传回客户端,客户端保存openid,以后每次用户操作结果上传的时候都把这个openid附带上。

  • 服务器参考代码:https://github.com/rabienrose/listening_training/blob/master/server/app.py
  • 客户端参考代码:https://github.com/rabienrose/listening_training/blob/master/client/app.js

用户微信信息获取

出了用户唯一id以外,如果还想获得一些用户微信账号的信息,比如微信昵称,微信头像等,需要使用wx.getUserInfo函数。并在返回的回调函数中,记录这些信息。

wx.getUserInfo需要用户手动同意程序获取信息。发起同意请求的方式是使用专门的button控件:

<button open-type="getUserInfo" bindgetuserinfo="getUserCallBack"> 获取头像昵称 </button>

open-type="getUserInfo"代表这个button点击后,会弹出请求用户同意的界面。并且在用户同意后,会回调getUserCallBack这个用户自定义的函数。

返回的函数中包含用户头像图片的地址,使用这个地址就可以显示用户头像了。

总结:有两种方式可以获得用户微信信息:

  1. 使用wx.getUserInfo,通过程序发起信息请求。前提是用户必须使用过button方式同意过请求一次。
  2. 使用button方式,通过用户发起请求。

用户加密信息获取

要获得用户的openid,出了使用wx.login获得临时码,然后在服务端再获得真实的openid外,也可以通过wx.getUserInfo在客户端获取。

但是客户端获得的openid是加密了的,还是需要把加密数据传输回服务器,解码后才能得到openid。但是解密的时候需要走wx.login流程才能获得的sessionKey。所以使用这种方法并不能代替wx.login流程。详情参考:

https://developers.weixin.qq.com/miniprogram/dev/api/open.html#wxgetuserinfoobject

微信小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎