فهرست منبع

更新小程序授权问题

evoxwht 4 سال پیش
والد
کامیت
b87c062a1c
2فایلهای تغییر یافته به همراه737 افزوده شده و 623 حذف شده
  1. 188 152
      template/xcx/components/authorize/authorize.js
  2. 549 471
      template/xcx/utils/util.js

+ 188 - 152
template/xcx/components/authorize/authorize.js

@@ -1,157 +1,193 @@
-import { CACHE_USERINFO, CACHE_TOKEN, CACHE_EXPIRES_TIME } from '../../config.js';
+import {
+	CACHE_USERINFO,
+	CACHE_TOKEN,
+	CACHE_EXPIRES_TIME
+} from '../../config.js';
 import Util from '../../utils/util.js';
-import { getLogo } from '../../api/api.js';
-import { login } from '../../api/user.js';
+import {
+	getLogo
+} from '../../api/api.js';
+import {
+	login
+} from '../../api/user.js';
 
 let app = getApp();
 
 Component({
-  properties: {
-    iShidden: {
-      type: Boolean,
-      value: true,
-    },
-    //是否自动登录
-    isAuto: {
-      type: Boolean,
-      value: true,
-    },
-    isGoIndex:{
-      type: Boolean,
-      value:true,
-    },
-  },
-  data: {
-    cloneIner: null,
-    loading:false,
-    errorSum:0,
-    errorNum:3,
-	canIUseGetUserProfile: false // 判断是否为最新获取用户信息函数
-  },
-  attached() {
-    this.get_logo_url();
-    this.setAuthStatus();
-	if (wx.getUserProfile) {
-	      this.setData({
-	        canIUseGetUserProfile: true
-	      })
-	    }
-  },
-  methods: {
-    close(){
-      let pages = getCurrentPages();
-      let currPage  = pages[pages.length - 1];
-      if(this.data.isGoIndex){
-        wx.switchTab({url:'/pages/index/index'});
-      }else{
-        this.setData({
-          iShidden: true
-        });
-        if (currPage && currPage.data.iShidden != undefined){
-          currPage.setData({ iShidden:true});
-        }
-      }
-    },
-    get_logo_url: function () {
-      var that = this;
-      if (wx.getStorageSync('logo_url')) return this.setData({ logo_url: wx.getStorageSync('logo_url') });
-      getLogo().then(res=>{
-        wx.setStorageSync('logo_url', res.data.logo_url);
-        that.setData({ logo_url: res.data.logo_url });
-      });
-    },
-    //检测登录状态并执行自动登录
-    setAuthStatus() {
-      var that = this;
-      Util.chekWxLogin().then((res)=> {
-        let pages = getCurrentPages();
-        let currPage = pages[pages.length - 1];
-        if (currPage && currPage.data.iShidden != undefined) { 
-          currPage.setData({ iShidden:true});
-        }
-        if (res.isLogin) {
-          if (!Util.checkLogin()) return Promise.reject({ authSetting: true, msg: '用户token失效', userInfo: res.userInfo});
-          that.triggerEvent('onLoadFun', app.globalData.userInfo);
-        }else{
-          wx.showLoading({ title: '正在登录中' });
-          that.setUserInfo(res.userInfo,true);
-        }
-      }).catch(res=>{
-        if (res.authSetting === false) {
-          //没有授权不会自动弹出登录框
-          if (that.data.isAuto === false) return;
-          //自动弹出授权
-          that.setData({ iShidden: false });
-        } else if (res.authSetting){
-          //授权后登录token失效了
-          that.setUserInfo(res.userInfo);
-        }
-      })
-    },
-    // 获取用户信息
-  	getUserProfile() {
-  	  let that = this;
-  	  wx.showLoading({ title: '正在登录中' });
-  	  	wx.getUserProfile({
-  	  	      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
-  	  	      success: (res) => {
-  				  Util.getCodeLogin((code)=>{
-  					  let userInfo = res;
-  					  userInfo.code = code.code;
-  					  that.getWxUserInfo(userInfo);
-  				  })
-  	  	      },
-  	  		  fail: (err) => {
-  				  wx.hideLoading();
-  	  		  }
-  	  });
-  	},	
-    //授权
-    setUserInfo(userInfo,isLogin) {
-      let that = this;
-      wx.showLoading({ title: '正在登录中' });
-      if (isLogin){
-        that.getWxUserInfo(userInfo);
-      }else{
-        Util.getCodeLogin((res)=>{
-            Util.wxgetUserInfo().then(userInfo=>{
-              userInfo.code = res.code;
-              that.getWxUserInfo(userInfo);
-            }).catch(res=>{
-              wx.hideLoading();
-            });
-        });
-      }
-    },
-    getWxUserInfo: function (userInfo){
-      let that = this;
-      userInfo.spread_spid = app.globalData.spid;//获取推广人ID
-      userInfo.spread_code = app.globalData.code;//获取推广人分享二维码ID
-      login(userInfo).then(res => {
-        app.globalData.token = res.data.token;
-        app.globalData.isLog = true;
-        app.globalData.userInfo = res.data.userInfo;
-        app.globalData.expiresTime = res.data.expires_time;
-        wx.setStorageSync(CACHE_TOKEN, res.data.token);
-        wx.setStorageSync(CACHE_EXPIRES_TIME, res.data.expires_time);
-        wx.setStorageSync(CACHE_USERINFO, JSON.stringify(res.data.userInfo));
-        if (res.data.cache_key) wx.setStorage({ key: 'cache_key', data: res.data.cache_key });
-        //取消登录提示
-        wx.hideLoading();
-        //关闭登录弹出窗口
-        that.setData({ iShidden: true, errorSum: 0 });
-        //执行登录完成回调
-        that.triggerEvent('onLoadFun', app.globalData.userInfo);
-      }).catch((err) => {
-        wx.hideLoading();
-        that.data.errorSum++;
-        that.setData({ errorSum: that.data.errorSum });
-        if (that.data.errorSum >= that.data.errorNum) {
-          Util.Tips({ title: err });
-        } else {
-          that.setUserInfo(userInfo);
-        }
-      });
-    }
-  },
-})
+	properties: {
+		iShidden: {
+			type: Boolean,
+			value: true,
+		},
+		//是否自动登录
+		isAuto: {
+			type: Boolean,
+			value: true,
+		},
+		isGoIndex: {
+			type: Boolean,
+			value: true,
+		},
+	},
+	data: {
+		cloneIner: null,
+		loading: false,
+		errorSum: 0,
+		errorNum: 3,
+		canIUseGetUserProfile: false // 判断是否为最新获取用户信息函数
+	},
+	attached() {
+		this.get_logo_url();
+		this.setAuthStatus();
+		if (wx.getUserProfile) {
+			this.setData({
+				canIUseGetUserProfile: true
+			})
+		}
+	},
+	methods: {
+		close() {
+			let pages = getCurrentPages();
+			let currPage = pages[pages.length - 1];
+			if (this.data.isGoIndex) {
+				wx.switchTab({
+					url: '/pages/index/index'
+				});
+			} else {
+				this.setData({
+					iShidden: true
+				});
+				if (currPage && currPage.data.iShidden != undefined) {
+					currPage.setData({
+						iShidden: true
+					});
+				}
+			}
+		},
+		get_logo_url: function() {
+			var that = this;
+			if (wx.getStorageSync('logo_url')) return this.setData({
+				logo_url: wx.getStorageSync('logo_url')
+			});
+			getLogo().then(res => {
+				wx.setStorageSync('logo_url', res.data.logo_url);
+				that.setData({
+					logo_url: res.data.logo_url
+				});
+			});
+		},
+		//检测登录状态并执行自动登录
+		setAuthStatus() {
+			var that = this;
+			Util.chekWxLogin().then((res) => {
+				let pages = getCurrentPages();
+				let currPage = pages[pages.length - 1];
+				if (currPage && currPage.data.iShidden != undefined) {
+					currPage.setData({
+						iShidden: true
+					});
+				}
+				if (res.isLogin) {
+					if (!Util.checkLogin()) return Promise.reject({
+						authSetting: true,
+						msg: '用户token失效',
+						userInfo: res.userInfo
+					});
+					that.triggerEvent('onLoadFun', app.globalData.userInfo);
+				} else {
+					wx.showLoading({
+						title: '正在登录中'
+					});
+					that.setUserInfo(res.userInfo, true);
+				}
+			}).catch(res => {
+				if (res.authSetting === false) {
+					//没有授权不会自动弹出登录框
+					if (that.data.isAuto === false) return;
+					//自动弹出授权
+					that.setData({
+						iShidden: false
+					});
+				} else if (res.authSetting) {
+					//授权后登录token失效了
+					that.setUserInfo(res.userInfo);
+				}
+			})
+		},
+		// 获取用户信息
+		getUserProfile() {
+			let that = this;
+			wx.showLoading({
+				title: '正在登录中'
+			});
+			wx.getUserProfile({
+				desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
+				success: (res) => {
+					Util.getCodeLogin((code) => {
+						let userInfo = res;
+						userInfo.code = code.code;
+						that.getWxUserInfo(userInfo);
+					})
+				},
+				fail: (err) => {
+					wx.hideLoading();
+				}
+			});
+		},
+		//授权
+		setUserInfo(userInfo, isLogin) {
+			let that = this;
+			wx.showLoading({
+				title: '正在登录中'
+			});
+			if (isLogin) {
+				that.getWxUserInfo(userInfo);
+			} else {
+				wx.hideLoading();
+				that.setData({
+					iShidden: false
+				});
+			}
+		},
+		getWxUserInfo: function(userInfo) {
+			let that = this;
+			userInfo.spread_spid = app.globalData.spid; //获取推广人ID
+			userInfo.spread_code = app.globalData.code; //获取推广人分享二维码ID
+			login(userInfo).then(res => {
+				app.globalData.token = res.data.token;
+				app.globalData.isLog = true;
+				app.globalData.userInfo = res.data.userInfo;
+				app.globalData.expiresTime = res.data.expires_time;
+				wx.setStorageSync(CACHE_TOKEN, res.data.token);
+				wx.setStorageSync(CACHE_EXPIRES_TIME, res.data.expires_time);
+				wx.setStorageSync(CACHE_USERINFO, JSON.stringify(res.data.userInfo));
+				if (res.data.cache_key) wx.setStorage({
+					key: 'cache_key',
+					data: res.data.cache_key
+				});
+				//取消登录提示
+				wx.hideLoading();
+				//关闭登录弹出窗口
+				that.setData({
+					iShidden: true,
+					errorSum: 0
+				});
+				//执行登录完成回调
+				that.triggerEvent('onLoadFun', app.globalData.userInfo);
+			}).catch((err) => {
+				wx.hideLoading();
+				that.data.errorSum++;
+				that.setData({
+					errorSum: that.data.errorSum
+				});
+				if (that.data.errorSum >= that.data.errorNum) {
+					Util.Tips({
+						title: err
+					});
+				} else {
+					that.setUserInfo(userInfo);
+				}
+			});
+		}
+	},
+})

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 549 - 471
template/xcx/utils/util.js