he2802 4 年 前
コミット
644c48e9b0
5 ファイル変更68 行追加27 行削除
  1. 11 0
      common/httpList/login.js
  2. 4 2
      components/my.vue
  3. 7 5
      pages/login/login.vue
  4. 24 5
      pages2/wd/info.vue
  5. 22 15
      store/index.js

+ 11 - 0
common/httpList/login.js

@@ -1,6 +1,7 @@
 import {
 	myRequest
 } from '../request.js'
+import store from '@/store/index.js'    
 export default {
 	//登录
 	login(data) {
@@ -26,4 +27,14 @@ export default {
 			noToken: true
 		})
 	},
+	refreshUserInfo() {
+		this.getInfo().then(resdata => {
+			if(resdata.data.code == 200){
+				console.log("刷新")
+		//		store.state.userInfo = resdata.data.data;
+			store.commit('updateUserInfo',{userInfo:resdata.data.data})
+			}
+			
+		});
+	}
 }

+ 4 - 2
components/my.vue

@@ -6,13 +6,13 @@
 			<u-row >
 				<u-col span="3" offset="1">
 					<navigator url="/pages2/wd/avatar" hover-class="none">
-						<image src="/static/avatar.png" class="avatar"></image>
+						<image :src="userInfo!=null?$method.splitImgHost(userInfo.avatar):''" class="avatar"></image>
 					</navigator>
 				</u-col>
 				<u-col span="6">
 					<view style="display: flex;">
 						<navigator class="name" url="/pages2/wd/avatar" hover-class="none">
-							李宏杰
+							{{userInfo.nickname}}
 						</navigator>
 						<navigator class="tag" url="/pages2/wd/level" hover-class="none">
 							天资过人
@@ -122,6 +122,7 @@
 </template>
 
 <script>
+	import {mapGetters} from 'vuex';
 	export default {
 		name:"my",
 		data() {
@@ -137,6 +138,7 @@
 			},
 			
 		},
+		computed: {...mapGetters(['userInfo'])}
 	}
 </script>
 

+ 7 - 5
pages/login/login.vue

@@ -27,13 +27,15 @@ export default {
 				that.$api.login(datas).then(
 					res => {
 						if (res.data.code == 200) {
-							that.$api.getInfo().then(resdata => {
-								that.$store.state.userInfo = resdata.data.data;
-							});
 							uni.setStorageSync('union_id', res.data.data.union_id);
 							uni.setStorageSync('token', res.data.data.token);
-
-							uni.navigateBack();
+							that.$api.getInfo().then(resdata => {
+								if(resdata.data.code == 200){
+									uni.navigateBack();
+									that.$store.state.userInfo = resdata.data.data;
+								}
+								
+							});
 						} else {
 							uni.showModal({
 								title: '提示',

+ 24 - 5
pages2/wd/info.vue

@@ -15,7 +15,7 @@
 		</view>
 		<view class="form">
 			<u-form :model="form" ref="uForm">
-				<u-form-item label="姓名" prop="realname"><u-input :disabled="form.certified === 1" v-model="form.realname" /></u-form-item>
+				<u-form-item label="姓名" prop="realname"><u-input :disabled="form.certified === 1" v-model="userInfo.realname" /></u-form-item>
 				<u-form-item label="手机号码" prop="telphone" :label-width="auto"><u-input :disabled="form.certified === 1" v-model="form.telphone" /></u-form-item>
 				<u-form-item label="身份证号" prop="idCard" :label-width="auto"><u-input :disabled="form.certified === 1" v-model="form.idCard" /></u-form-item>
 				<u-form-item label="性别" prop="sex">
@@ -63,7 +63,7 @@
 						@on-list-change="changePhotoListHeader"
 					>
 						<template v-slot:addBtn>
-							<image :src="form.oneInchPhotos ? $method.splitImgHost('/' + form.oneInchPhotos) : '/static/info_1.png'" style="width: 120rpx; height: 169rpx;"></image>
+							<image :src="form.oneInchPhotos ? $method.splitImgHost( form.oneInchPhotos) : '/static/info_1.png'" style="width: 120rpx; height: 169rpx;"></image>
 						</template>
 					</u-upload>
 				</u-form-item>
@@ -103,11 +103,12 @@
 				</u-form-item> -->
 			</u-form>
 		</view>
-		<u-button type="success" @click="resultForm">提交</u-button>
+		<button type="success" @click="resultForm" class="submit_btn">提交</button>
 	</view>
 </template>
 
 <script>
+import {mapGetters} from 'vuex';
 export default {
 	data() {
 		return {
@@ -170,11 +171,13 @@ export default {
 	},
 	onReady() {
 		this.$refs.uForm.setRules(this.rules);
+		this.form = this.userInfo
+		
 	},
 	onLoad(option) {
 		const Verify = require('@/wxcomponents/verify_mpsdk/main.js');
 		Verify.init();
-		this.getUserInfos();
+		
 	},
 	methods: {
 		getUserInfos() {
@@ -205,7 +208,10 @@ export default {
 				},
 				success: result => {
 					setTimeout(() => {
-						self.getUserInfos();
+						self.$api.facecertification(self.BizToken).then(faceRec => {
+							//刷新用户信息
+							self.$api.refreshUserInfo() 
+						});
 					}, 500);
 				},
 				fail: err => {
@@ -360,11 +366,24 @@ export default {
 			uni.hideKeyboard();
 			this.form.sex_text = this.actionSheetList[index].text;
 		}
+	},
+	computed: {...mapGetters(['userInfo'])},
+	watch:{
+		userInfo(val, oldVal){
+			this.form = val
+		}
 	}
 };
 </script>
 
+
 <style scope>
+	.submit_btn{
+		background-color: #32467B !important;
+		border-color: #32467B !important;
+		color: #FFFFFF;
+		font-size: 28rpx;
+	}
 .u-form-item__message.data-v-5e7216f1 {
 	padding: 0px !important;
 }

+ 22 - 15
store/index.js

@@ -1,6 +1,6 @@
 import Vue from 'vue'
 import Vuex from 'vuex'
-
+import api from '@/common/api.js'
 Vue.use(Vuex);
 const store = new Vuex.Store({  
     state: {  
@@ -8,23 +8,30 @@ const store = new Vuex.Store({
         token: '',  
         avatarUrl: '',  
         userName: '',
-		userInfo:{}
+		userInfo:null
     },  
+	 getters: {
+		userInfo: state => {
+			if(state.userInfo==null){
+				if(uni.getStorageSync('union_id')){
+					api.getInfo().then(resdata => {
+						if(resdata.data.code == 200){
+							state.userInfo = resdata.data.data;
+						}
+						
+					});
+				}
+			}else{
+				return state.userInfo
+			}
+		}
+	},
     mutations: {  
-        login(state, provider) {  
-            console.log(state)  
-            console.log(provider)  
-            state.login = true;  
-            state.token = provider.token;  
-            state.userName = provider.userName;  
-            state.avatarUrl = provider.avatarUrl;  
+        updateUserInfo(state, provider) {  
+            state.userInfo = provider.userInfo;  
+			console.log(state.userInfo,999)
         },  
-        logout(state) {  
-            state.login = false;  
-            state.token = '';  
-            state.userName = '';  
-            state.avatarUrl = '';  
-        }  
+        
     }  
 })  
 export default store