• 微信小程序登录以及获取微信用户信息


        <!-- 结算 开始 --> 
        <view class="order_pay_wrap" bindtap="handleOrderPay">
            去付款
        </view>
    
    • 1
    • 2
    • 3
    • 4
    //导入request请求工具类
    import {
            getBaseUrl,
            getWxLogin,
            getUserProfile,
            requestUtil
        } from '../../utils/requestUtil';
    import regeneratorRuntime from '../../lib/runtime/runtime';
    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        address:{},
        baseUrl:'',
        cart:[],
        totalPrice:0,
        totalNum:0
      },
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad(options) {
        const baseUrl = getBaseUrl();
        this.setData({
            // swiperList:result.message,
            baseUrl
        })
      },
      //处理订单支付
      async handleOrderPay(){
        // wx.login({
        //     timeout:5000,
        //   success: (res) => {
        //     console.log(res.code)
        //   },
        // })
        // let res=await getWxLogin();
        // console.log(res.code)
    
        // wx.getUserProfile({
        //     desc:'获取用户信息',
        //     success:(res)=>{
        //         console.log(res.userInfo.nickName,res.userInfo.avatarUrl)
        //     }
        // })
    
        // let res2 = await getUserProfile();
        // console.log(res2.userInfo.nickName,res2.userInfo.avatarUrl)
    
        Promise.all([getWxLogin(),getUserProfile()]).then((res)=>{
            console.log(res[0].code);
            console.log(res[1].userInfo.nickName,res[1].userInfo.avatarUrl)
        })
      },
    
      /**
       * 生命周期函数--监听页面显示
       */
      onShow: function() {
        console.log("show");
        const address=wx.getStorageSync('address');
        let cart=wx.getStorageSync('cart')||[];
        cart=cart.filter(v=>v.checked);
        let totalPrice=0;
        let totalNum=0;
        cart.forEach(v=>{
                totalPrice+=v.price*v.num;
                totalNum+=v.num;
        })
        this.setData({
            cart,
            totalNum,
            address,
            totalPrice
        })
    
        //cart设置到缓存中
        wx.setStorageSync('cart', cart);
      },   
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    //定义请求根路径baseUrl
    const baseUrl="http://localhost:8080";
    
    //同时并发请求的次数
    let ajaxTimes=0;
    /**
     * 返回请求根路径baseUrl
     * 
     */
    export const getBaseUrl=()=>{
        return baseUrl;
    }
    
    /**
     * wx login封装
     * 
     */
    export const getWxLogin=()=>{
        return new Promise((resolve,reject)=>{
            wx.login({
                timeout:5000,
              success: (res) => {
                resolve(res)
              },
              fail:(err)=>{
                  reject(err)
              }
            })
        });
    }
    
    
    
    /**
     * wx getUserProfile封装
     * 
     */
    export const getUserProfile=()=>{
        return new Promise((resolve,reject)=>{
            wx.getUserProfile({
                desc:'获取用户信息',
                success: (res) => {
                    resolve(res)
                  },
                  fail:(err)=>{
                      reject(err)
                  }
            })
        });
    }
    
    
    
    /**
     * 
     * @param {后端请求工具类} params 
     */
    export const requestUtil=(params)=>{
    
        var start=new Date().getTime();
        console.log(start)
        
        ajaxTimes++;
        wx.showLoading({
          title: '加载中...',
          mask:true
        })
    
        //模拟网络延迟加载...
        while(true){
            if(new Date().getTime()-start>1*1000)break;
        }
    
        return new Promise((resolve,reject)=>{
            wx.request({
                ...params,
                url:baseUrl+params.url, 
                success:(result)=>{
                    resolve(result.data)
                },
                fail:(err)=>{
                    reject(err)
                },
                complete:()=>{
                    ajaxTimes--;
                    if(ajaxTimes==0){
                        wx.hideLoading();   //关闭加载图标
                    }
                }
            })
        });
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
  • 相关阅读:
    Golang专题——fsnotify 文件及目录监控
    Electron录制应用-打包静态文件问题【命令行ffmpeg导不出视频】
    【毕业设计-教程】红外控制原理详解 - 单片机嵌入式 物联网 stm32 c51
    加密货币,可能是你唯一能实现“财富自由”的领域 2021-05-24
    【Bio】基础生物学 - 蛋白质 protein
    ThreadLocal原理、内存泄漏问题解析、HASH_INCREMENT = 0x61c88647相关
    国外创意二维码应用案例:澳大利亚宜家“这不是家”活动,呼吁人们关注和帮助因家庭暴力而无家可归的人!
    025 - STM32学习笔记 - 液晶屏控制(二) - 代码实现
    文本分析实验六-多层感知机、gensim、glove
    ES6内置对象 - Map
  • 原文地址:https://blog.csdn.net/m0_68935893/article/details/133441854