• 微信小程序开发学习--获取用户信息


    获取微信用户登录权限

    微信小程序获取用户信息,可以用微信提供的getUserInfo接口实现,但是这个接口只能返回用户的昵称、头像等基本信息,用户的openID和sessionID以及用户的手机号等信息都不能用这个来得到,这些都需要获得用户的登录权限才能获取。

    1、使用wx.login接口获取用户登录凭证的code,因为这些涉及到用户的隐私,所有这个code需要我们处理

    2、自己封装一个接口去请求微信官方给的链接(链接地址:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code),由于微信对接口服务器有限制,所以必须要自己封装这个接口,

      接口的函数微信小程序的公众平台上有示例。链接地址为:https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html

    3、用获取的code请求自己的接口,从而获取用户的openId

    4、通过 wx.login() 获取到用户登录态之后,需要维护登录态。开发者要注意不应该直接把 session_key、openid 等字段作为用户的标识或者 session 的标识,而应该自己派发一个 session 登录态(请参考登录时序图)。对于开发者自己生成的 session,应该保证其安全性且不应该设置较长的过期时间。session 派发到小程序客户端之后,可将其存储在 storage ,用于后续通信使用。

    用户授权

    在微信小程序中,我们用到的很多都需要设备都需要用户授权,才能得到相关信息,比如微信运动、打开蓝牙等,这些我们都要在程序前加上用户授权操作。使用方法如下,这里的scope参数可以换成你需要用到权限,调用wx.authorize会弹出弹框询问用户是否授权。

    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.record']) {
                wx.authorize({
                    scope: 'scope.record',
                    success() {
                        // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
                        wx.startRecord()
                    }
                })
            }
        }
    })
  • 相关阅读:
    jsfl学习
    反射的小例子
    Tsql 递归构造连续日期序列
    无法远程链接sqlserver的解决办法
    ubuntu下安装中文输入法ibus
    vs2008设置为这个背景色
    由于登陆失败而无法启动服务mssqlserver无法启动的问题
    配置solr
    笔记本无法检测到无线信号的终极解决方案
    win7 asp.net 配置iis
  • 原文地址:https://www.cnblogs.com/JiSight/p/7728317.html
Copyright © 2020-2023  润新知