美文网首页
小程序常用的功能总结

小程序常用的功能总结

作者: utf8253 | 来源:发表于2019-04-02 16:39 被阅读0次

    一、获取OpenID流程

    1、调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器

    2、开发者服务器拿到登录凭证appid + appsercet +code 回传到微信接口服务

    3、调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。

    注意:

    1、会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥

    2、临时登录凭证 code 只能使用一次

    二、获取手机号流程

    1、通过button设置属性

    <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">授权用户手机号码</button>

    2、拿到返回的iv以及encryptedData这些敏感数据 然后传值给后端 通过加解密数据算法 解析出来具体的手机号区号等信息

    三、转发

    通过给button属性设置属性 用户点击按钮好触发 Page.onShareAppMessage 事件

    <button open-type="share" class='btn'> 转发 </button>
    
    
    onShareAppMessage: function( options ){
    
        const bargain_id = this.data.bargain_id;
    
        // 来自页面内的按钮的转发
    
        if( options.from == 'button' ){
    
          let shareObj = {
    
            title: "砍大刀阿",// 默认是小程序的名称(可以写slogan等)
    
            path: '/pages/xxx/xxx', // 默认是当前页面,必须是以‘/’开头的完整路径
    
            imageUrl: '',//显示图片长宽比是 5:4
    
          }
    
          return shareObj;
    
        }
    
      }
    
    

    注意:

    1、现在微信已经不支持开发者拿到任何关于成功或者失败的任何回调 如果涉及到具体的业务 需要考虑到这种情况

    2、如果转发到群聊里面现在可以通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true 获取一些转发信息但是需要是群发 单发没有

    四、授权用户信息

    通过给button设置属性 用户点击按钮好触发事件

    <button open-type="getUserInfo" bindgetuserinfo="getUserInfo">授权用户信息</button>
    

    注意:

    这里要查看用户是否授权 然后再调用wx.getUserInfo获取昵称图像个人信息

    wx.getSetting({
      success(res) {
          if (res.authSetting['scope.userInfo']) {
              // 已经授权,可以直接调用 getUserInfo 获取头像昵称
              wx.getUserInfo({
                success(res) {
                  const userInfo = res.userInfo;
                  const nickName = userInfo.nickName;
                  const avatar = userInfo.avatarUrl;
                  }
                })
            }
        }
    })
    

    相关文章

      网友评论

          本文标题:小程序常用的功能总结

          本文链接:https://www.haomeiwen.com/subject/ttwgbqtx.html