Browse Source

修改提交

yuwenjun 4 năm trước cách đây
mục cha
commit
063622f89d
4 tập tin đã thay đổi với 126 bổ sung111 xóa
  1. 107 77
      common/config/authorize.js
  2. 2 3
      common/config/utilsTools.js
  3. 13 29
      pages/index/index.vue
  4. 4 2
      pages/login/login.vue

+ 107 - 77
common/config/authorize.js

@@ -1,126 +1,156 @@
 //authorize.js
-import api from './utilsTools.js';
+import api from './utilsTools.js'
 
 //判断是否登陆 通过检测sessionkey是否过期 1未过期 0已过期
-const checkSessionKey=()=>{	
-    return new Promise((resolve,reject) => {
-		const user = uni.getStorageSync('user');// 用户缓存信息
-		if(user){
+const checkSessionKey = () => {
+	return new Promise((resolve, reject) => {
+		const user = uni.getStorageSync('user') // 用户缓存信息
+		if (user) {
 			uni.checkSession({
-			    success() {
-					resolve(1); //状态未过期
-				}
-			    ,fail() {
-					resolve(0); //状态已过期
+				success() {
+					resolve(1) //状态未过期
+				},
+				fail() {
+					resolve(0) //状态已过期
 				}
 			})
-		}else{
-			resolve(2); //未存贮
+		} else {
+			resolve(2) //未存贮
 		}
-    })
+	})
 }
 
 // 登录授权
-const login = (params)=> {
-	return new Promise((resolve,reject) => {
-		authDo(params).then(res=>{
-			if ( res.statusCode && res.statusCode != 200 ) {
-				reject('网络错误,请检查一下网络');return;
+const login = (params) => {
+	return new Promise((resolve, reject) => {
+		authDo(params).then(res => {
+			if (res.statusCode && res.statusCode != 200) {
+				reject('网络错误,请检查一下网络')
+				return
 			}
 			if (res.data.code != 0) {
-			    reject('登录失败');return;
+				reject('登录失败')
+				return
 			}
-			let user = res.data.data.user;
-			uni.setStorageSync('user', user);//储存用户信息到本地
-			resolve(user);
+			let user = res.data.data.user
+			uni.setStorageSync('user', user) //储存用户信息到本地
+			resolve(user)
 		})
 	})
 }
 
 // 查询用户信息 write by self
 const authDo = function(params) {
-	return new Promise(function (resolve, reject) {
-			uni.request({
-				url: api.requestUrl +'/login/doLogin',
-				data: params,
-				method:'POST',
-				header: {
-	        		'content-type': 'application/x-www-form-urlencoded'
-				},
-				success: function(res){ resolve(res) },
-				fail:function(){ reject("保存用户信息失败") }
-			})
+	return new Promise(function(resolve, reject) {
+		uni.request({
+			url: api.requestUrl + '/login/doLogin',
+			data: params,
+			method: 'POST',
+			header: {
+				'content-type': 'application/x-www-form-urlencoded'
+			},
+			success: function(res) {
+				resolve(res)
+			},
+			fail: function() {
+				reject('保存用户信息失败')
+			}
+		})
 	})
 }
 
 // 获取服务商信息 uni-app是聚合开发 所以先获得是什么小程序 原生的不用这个
 const getProvider = () => {
-    return new Promise((resolve, reject) => {
-        uni.getProvider({
-            service: 'oauth', //服务类型  登录授权
-            success: function(res) {resolve(res.provider[0])},
-            fail:function() { reject("获取服务商失败") }
-        });
-    })
+	return new Promise((resolve, reject) => {
+		uni.getProvider({
+			service: 'oauth', //服务类型  登录授权
+			success: function(res) {
+				resolve(res.provider[0])
+			},
+			fail: function() {
+				reject('获取服务商失败')
+			}
+		})
+	})
 }
 
 
 // 获取code
 const getCode = provider => {
-    return new Promise((resolve, reject) => {
-		if (!provider) { reject("获取缺少provider参数") }
-        uni.login({
-            provider: provider,
-            success: function(loginRes) {
-                if (loginRes && loginRes.code) { 
-					resolve(loginRes.code) 
+	return new Promise((resolve, reject) => {
+		if (!provider) {
+			reject('获取缺少provider参数')
+		}
+		uni.login({
+			provider: provider,
+			success: function(loginRes) {
+				if (loginRes && loginRes.code) {
+					resolve(loginRes.code)
 				} else {
-					reject("获取code失败") 
+					reject('获取code失败')
 					uni.navigateTo({
-						url:'/pages/tabBar/home/index'
+						url: '/pages/tabBar/home/index'
 					})
 				}
-            },
-			fail:function(){ reject("获取code失败")}
-        });
-    })
+			},
+			fail: function() {
+				reject('获取code失败')
+			}
+		})
+	})
 }
 
 // 是否开启了获取用户名授权 当用户一开始拒绝了 需再次提醒授权
 const getSetting = function() {
-    return new Promise((resolve,reject) => {
-        uni.getSetting({
-            success:function(res) {
-                let authSetting=res.authSetting
-                if(authSetting['scope.userInfo']){resolve(1);return;}//授权成功
-                if(authSetting['scope.userInfo']===false){resolve(0);return;}//拒绝授权
-                resolve(2) //2未操作
-            },
-            fail:function() { 
-				reject("获取用户授权失败") 
+	return new Promise((resolve, reject) => {
+		uni.getSetting({
+			success: function(res) {
+				let authSetting = res.authSetting
+				if (authSetting['scope.userInfo']) {
+					resolve(1)
+					return
+				} //授权成功
+				if (authSetting['scope.userInfo'] === false) {
+					resolve(0)
+					return
+				} //拒绝授权
+				resolve(2) //2未操作
+			},
+			fail: function() {
+				reject('获取用户授权失败')
 			}
-        })
-    })
+		})
+	})
 }
 
 // 获取用户信息
-const getUserInfo = (provider)=>{
-	return new Promise( (resolve,reject)=>{
-		if (!provider) { reject("获取缺少provider参数");return; }
+const getUserInfo = (provider) => {
+	return new Promise((resolve, reject) => {
+		if (!provider) {
+			reject('获取缺少provider参数')
+			return
+		}
 		uni.getUserInfo({
 			provider: provider,
 			success: (detail) => {
-				if(detail.iv != ''){
-					resolve(detail);
-				}else{
-					reject(0); //用户点击拒绝授权
+				if (detail.iv != '') {
+					resolve(detail)
+				} else {
+					reject(0) //用户点击拒绝授权
 				}
+			},
+			fail: (error) => {
+				reject(0) //如果用户拒绝过授权 直接走fail
 			}
-			,fail: (error) => {
-				reject(0); //如果用户拒绝过授权 直接走fail
-			}
-		});
+		})
 	})
 }
 
-export default {getProvider,getSetting,checkSessionKey,getCode,login,getUserInfo}
+export default {
+	getProvider,
+	getSetting,
+	checkSessionKey,
+	getCode,
+	login,
+	getUserInfo
+}

+ 2 - 3
common/config/utilsTools.js

@@ -78,15 +78,14 @@ const caimeiApi = {
 	 * @方法参数:请求地址,请求后台需要的参数字段,回调函数
 	 */
 	post:function(url,data,loadingStatus,callback){
-		console.info(data)
 		if(loadingStatus){uni.showLoading({mask: true,title:'加载中~'})}
 		uni.request({
 			url: requestUrl+url,
 			data:data,
 			header: {
 				'Accept': 'application/json',
-				'Content-Type': 'application/x-www-form-urlencoded',
-				// 'Content-Type': 'application/json',
+				// 'Content-Type': 'application/x-www-form-urlencoded',
+				'Content-Type': 'application/json',
 			},
 			method: 'POST',
 			success: (response) => {

+ 13 - 29
pages/index/index.vue

@@ -7,7 +7,7 @@
 				<image src="@/static/ws/default_avatar.png" mode="widthFix"></image>
 				<view
 					class="ws-login"
-					@click="navigator('/pages/login/login?type=0')"
+					@click="navigator('/pages/login/login')"
 					v-if="!hasLogin"
 				>
 					请登录
@@ -79,17 +79,10 @@
 
 <script>
 import { mapState, mapMutations } from 'vuex'
-import uniBadge from '@/components/uni-badge/uni-badge.vue'
-import upgradeAlert from '@/components/cm-module/modelAlert/upgradeAlert.vue'
 import authorize from '@/common/config/authorize.js'
 import wxLogin from '@/common/config/wxLogin.js'
 
-
 export default {
-	components: {
-		uniBadge,
-		upgradeAlert
-	},
 	data() {
 		return {
 			nvabarData: {
@@ -135,7 +128,7 @@ export default {
 	},
 	onLoad() {
 		authorize.getSetting().then(res => {
-			// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
+			//0:为取消授权 1:为已授权 2:为未操作
 			if (res == 1) {
 				this.getWxAuthorize()
 			} else {
@@ -156,23 +149,17 @@ export default {
 	},
 	methods: {
 		...mapMutations(['login', 'logout']),
-		// 获取授权
-		getWxAuthorize() {
-			authorize.getCode('weixin').then(wechatcode => {
-				// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
-				authorize.getUserInfo('weixin').then(wxResponse => {
-					this.UserService.userInfoLogin({ code: wechatcode })
-						.then(response => {
-							console.log(wechatcode)
-							console.log(response)
-						})
-						.catch(error => {
-							this.isLogin = false
-							this.logout()
-							this.$store.commit('updateStatus', error.data)
-						})
-				})
-			})
+		// 获取用户信息
+		async getWxAuthorize() {
+			// const wechatCode = await
+			const wechatCode = await authorize.getCode('weixin')
+			// 初始化用户状态
+			// const res = await userInfoLogin({code:wechatCode})
+			const res = await this.UserService.userInfoLogin({code:wechatCode})
+			console.log(res)
+			if(res.code === -1){
+				this.navigator('/pages/login/login')
+			}
 		},
 		// 客服
 		handleContact(e) {
@@ -328,9 +315,6 @@ export default {
 		} else {
 			uni.stopPullDownRefresh()
 		}
-	},
-	onShow() {
-		
 	}
 }
 </script>

+ 4 - 2
pages/login/login.vue

@@ -20,7 +20,9 @@
 			></vcode-input>
 		</view>
 		<!-- 提示信息 -->
-		<view class="logo-message"  v-if="loginMessage !== ''"><text>{{loginMessage}}</text> </view>
+		<view class="logo-message" v-if="loginMessage !== ''"
+			><text>{{ loginMessage }}</text>
+		</view>
 		<button class="login-btn" @click="goLogin" :disabled="isCodeEmpty">登录</button>
 	</view>
 </template>
@@ -36,7 +38,7 @@ export default {
 	data() {
 		return {
 			invitationCode: '', //获取用户登录的邀请码
-			loginMessage:''		//登录信息反馈
+			loginMessage: '' //登录信息反馈
 		}
 	},
 	onLoad(option) {},