tp5小程序登录功能实现

1.app.js获取用户oppenid等信息(不包括用户头像名称)

//app.js
// 引入通用请求封装
const util = require('./utils/util.js');

App({
  onLaunch: function () {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        if (res.code) {
          var that = this;
          // 发起网络请求
          var url = that.globalData.domain + 'User/getopenid';
          var params = { js_code: res.code};
          util.wxRequest(url, params, data => {
            // 验证成功
            if (data) {
              //console.log(data)
              that.globalData.openid = data;
              that.getUser();
            }  else {
              // 错误信息显示
              console.log('获取openid失败');
            }
          }, data => { }, data => { });

          // wx.request({
          //   url: 'https://api.weixin.qq.com/sns/jscode2session',
          //   data: {
          //     appid:'wxd25fb3e18f0617f6',
          //     secret:'17328ff2fb4f97957369486e4fb9a5ef',
          //     js_code:res.code,
          //     grant_type:'authorization_code'
          //   },
          //   success:function(response){
          //     //console.log(response.data.openid);
          //     if (response.data.openid != null && response.data.openid != undefined){
          //       that.globalData.openid = response.data.openid;
          //       that.getUser();
          //     }
          //   },
          //   fail:function(error){
          //     console.log('获取openid失败');
          //   }
          // })

        } else {
          console.log('登录失败!' + res.errMsg)
        }
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
              //
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值