按例子写了个关于登陆及openid获取,好象成功了,但有点问题....
发布于 5 年前 作者 junpan 6190 次浏览 来自 问答

新建了一个小程序学习一下,appId已经有了,但服务配置还没有,看了一堆资料然后按例子做了个登陆取用户唯一识别openid,但不是说要解密的吗,好象我这个没有解密过程也可以取到了,会不会有什么问题?现在发出代码给大家给我看一下!!另外,appid和secert是敏感数据,微信建议不明文显示,不知大家是如何处理的?

index.js代码

  onLoad: function () {
    console.log('onLoad')
    var that = this
    //调用应用实例的方法获取全局数据
    app.myUserLogin(function(userInfo){
    console.log('开始从onLoad调用myUserLogin')
      //更新数据
      that.setData({
        userInfo:userInfo,
      })
      console.log("myIsLogined的值:" + app.globalData.myIsLogined)
    })
  }

app.js代码

myUserLogin: function (cb) {
   var that = this
   if (this.globalData.myIsLogined){
     typeof cb=="function" && cb(this.globalData.userInfo)
   }
   else {
   wx.login({
     success: function (res) {
       if (res.code) {
         wx.request({
           url: 'https://api.weixin.qq.com/sns/jscode2session',
           data:{
             appid:'wx.....改',
             secret:'8c....改',
             grant_type:'authorization_code',
             js_code:res.code
           },
           method:'GET',
           header:{
             'content-type':'application/json'
           },
           success:function(openIdRes){
             console.log("登陆成功");
             console.log("openID:"+openIdRes.data.openid);
             console.log("session_key" + openIdRes.data.session_key);
             console.log("开始取基本信息....");
             wx.getUserInfo({
               withCredentials:false,
               success:function(userRes){
                 that.globalData.userInfo=userRes.userInfo
                 that.globalData.myIsLogined=true
                 typeof cb == "function" && cb(that.globalData.userInfo)
               }
             })
           },
           fail:function(error){
             console.log("获取失败!");
           }
         })
       }
     }
   })
   }
 },

1 回复

写在后台的

回到顶部