小程序 获取openId

  • 获取openId,并存储下来
//app.js
App({
  globalData: {
    appid: '',
    secret: '',
  },
  onLaunch: function () {
    // 获取openId
    var that = this
    var user = wx.getStorageSync('user') || {};
    var userInfo = wx.getStorageSync('userInfo') || {};
    if ((!user.openid || (user.expires_in || Date.now()) < (Date.now() + 600)) && (!userInfo.nickName)) {
      wx.login({
        success: function (res) {
          if (res.code) {
            var d = that.globalData;//这里存储了appid、secret、token串  
            var l = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + d.appid + '&secret=' + d.secret + '&js_code=' + res.code + '&grant_type=authorization_code';
            wx.request({
              url: l,
              data: {},
              method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT  
              // header: {}, // 设置请求的 header  
              success: function (res) {
                var obj = {};
                obj.openid = res.data.openid;
                wx.setStorageSync("openId", res.data.openid); //存储openid 
                obj.expires_in = Date.now() + res.data.expires_in;
                wx.setStorageSync('user', obj); 
              }
            });
          } else {
            console.log('获取用户登录态失败!' + res.errMsg)
          }
        }
      });
    }
  }
})
  • 获取openId
    wx.getStorageSync('openId')
  • 注意点
    在微信开发软件中,需要清理缓存之后,获取openId才能成功。
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小程序中,要获取用户openid,通常需要先获取一个登录凭证(code),然后使用这个code去换取openidopenid用户的唯一标识,可以快速建立小程序内的用户体系。由于openid是敏感信息,所以不会直接给你,需要通过登录凭证来换取。具体的思路是,用户小程序中进行登录操作后,会获得一个登录凭证(code),开发者可以将这个code发送给后台服务器,然后后台服务器使用该code调用微信接口,将其交换为openid。通过这种方式,开发者就可以获取用户openid,并用于建立小程序内的用户体系。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [微信小程序获取用户openid(详解)](https://blog.csdn.net/qq_47272950/article/details/125762901)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [小程序获取用户openid(详解)](https://blog.csdn.net/weixin_49346957/article/details/118161126)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值