欢迎光临散文网 会员登陆 & 注册

黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(

2023-06-28 17:02 作者:sen668899  | 我要投稿

p156 chooseAddress()方法显示张三页面解决方法

在manifest.json文件中,找到mp-weixin节点,添加上:

"requiredPrivateInfos":[

     "chooseLocation",

     "getLocation",

     "chooseAddress"

    ]


p176 获取登录的Token并存储

// 获取微信用户的基本信息

   getUserInfo(e){

    // console.log(e)

    uni.getUserProfile({

     // 推荐使用wx.getUserProfile获取用户信息,

     //开发者每次通过该接口获取用户个人信息均需用户确认

     // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗

     desc: '获取头像,昵称,手机号验证信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写

     lang:'zh_CN',

     success: (res) => {

         console.log(res)

         // 获取用户信息成功,res.userInfo 就是用户的基本信息

         // console.log(res.userInfo)

         // 将用户的基本信息存入 vuex 中

         this.updateUserInfo(res.userInfo)

         // 获取登录成功后的 Token 字符串

         this.getToken(res)

        },

     fail(err) {

      // console.log(err)

      if(err.errMsg === 'getUserProfile:fail auth deny') return uni.$showMsg('取消了授权!')

     }

    })

  },

  // 调用登录接口,换取永久的token

   getToken(info){

   uni.login({

    provider:'weixin',

    success: async (res) => {

     // console.log('login-res',res)

     if(res && res.errMsg === 'login:ok') {

      // 准备参数对象

      const query = {

        code: res.code,

        encryptedData: info.encryptedData,

        iv: info.iv,

        rawData: info.rawData,

        signature: info.signature

       }

      // console.log('query',query)

      // 换取token

      const { data: loginResult } = await uni.$http.post('/api/public/v1/users/wxlogin', query)

      // console.log('loginResult',loginResult)

      if(loginResult.meta.status !== 200) {

       // 接口获取失败,自己赋值

       const loginResult={

        "message": {

         "user_id": 12,

         "user_email_code": null,

         "is_active": null,

         "user_sex": "男",

         "user_qq": "",

         "user_tel": "",

         "user_xueli": "本科",

         "user_hobby": "",

         "user_introduce": null,

         "create_time": 1525402223,

         "update_time": 1525402223,

         "token":

          "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjEyLCJpYXQiOjE1MjU0MDIyMjMsImV4cCI6MTUyNTQ4ODYyM30.g-4GtEQNPwT_Xs0Pq7Lrco_9DfHQQsBiOKZerkO-O-o"

        },

        "meta": { "msg": "登录成功", "status": 200 }

       }

       this.updateToken(loginResult.message.token)

       uni.$showMsg('登录失败-成功!')

      } 

      uni.$showMsg('登录成功!')

     }

    },

    fail(err) {

     uni.$showMsg(err)

    }

   })

  }


黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(的评论 (共 条)

分享到微博请遵守国家法律