基本信息
源码名称:纯前端获取当前用户的openid(微信小程序)
源码大小:1.84KB
文件格式:.js
开发语言:js
更新时间:2019-07-16
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
请将代码中的appId以及appsecret换成自己的,代码仅用于调试,请勿正式用途,否则会暴露appsecret

App({
  globalData: {
    appid: '1wqas2342dasaqwe2323424ac23qwe',//appid需自己提供,此处的appid我随机编写
    secret: 'e0dassdadef2424234209bwqqweqw123ccqwa',//secret需自己提供,此处的secret我随机编写

  },
  onLaunch: function () {
    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) {
            wx.getUserInfo({
              success: function (res) {
                var objz = {};
                objz.avatarUrl = res.userInfo.avatarUrl;
                objz.nickName = res.userInfo.nickName;
                //console.log(objz);
                wx.setStorageSync('userInfo', objz);//存储userInfo
              }
            });
            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;
                obj.expires_in = Date.now()   res.data.expires_in;
                console.log(obj);
                wx.setStorageSync('user', obj);//存储openid  
              }
            });
          } else {
            console.log('获取用户登录态失败!'   res.errMsg)
          }
        }
      });
    }
  },
})