Просмотр исходного кода

Merge branch 'master' of http://120.79.166.78:7071/zhongzheng-edu/zz--front

Tang 4 лет назад
Родитель
Сommit
6ec082ea20
7 измененных файлов с 116 добавлено и 33 удалено
  1. 11 0
      common/httpList/login.js
  2. 4 2
      components/my.vue
  3. 7 5
      pages/login/login.vue
  4. 43 0
      pages2/payment/payment.vue
  5. 5 6
      pages2/wd/avatar.vue
  6. 24 5
      pages2/wd/info.vue
  7. 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: '提示',

+ 43 - 0
pages2/payment/payment.vue

@@ -0,0 +1,43 @@
+<template>
+	<view style="padding: 30rpx;" >
+		<view class="bd">
+			<text class="font1">¥{{price}}</text>
+			<text class="font2">付款金额</text>
+			<view class="flex">
+				<view class="flex_item">付款方式</view>
+				<view>微信支付</view>
+			</view>
+			<button type="button" class="btn" @click="pay">立即支付</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import wxPay from '@/common/wxPay.js'
+	export default {
+		data() {
+			return {
+				price:0.01
+			}
+		},
+		onLoad(option) {
+			
+		},
+		onShow(){
+		},
+		methods: {
+			pay(){
+				
+			}
+		
+		},
+		
+	}
+</script>
+
+<style scope>
+	
+page {
+		background: #FFFFFF;
+	}
+</style>

+ 5 - 6
pages2/wd/avatar.vue

@@ -2,25 +2,24 @@
 	<view>
 		<u-cell-group>
 				<u-cell-item  title="头像" @click="editAvatar">
-					<image :src="avatarUrl" class="avatar"></image>
+					<image :src="userInfo!=null?$method.splitImgHost(userInfo.avatar):''" class="avatar"></image>
 				</u-cell-item>
-				<u-cell-item  title="昵称" value="李宏杰" @click="editNickName"></u-cell-item>
+				<u-cell-item  title="昵称" :value="userInfo.nickname" @click="editNickName"></u-cell-item>
 			</u-cell-group>
 			<u-modal v-model="show" :show-cancel-button="true" title="修改昵称">
 				<view class="slot-content">
-					<u-input v-model="value"  />
+					<u-input v-model="userInfo.nickname"  />
 				</view>
 			</u-modal>
 	</view>
 </template>
 
 <script>
+	import {mapGetters} from 'vuex';
 	export default {
 		data() {
 			return {
 				show: false,
-				avatarUrl:'/static/avatar.png',
-				value: '李宏杰',
 			}
 		},
 		onLoad(option) {
@@ -44,7 +43,7 @@
 			}
 		
 		},
-		
+		computed: {...mapGetters(['userInfo'])}
 	}
 </script>
 

+ 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: 30rpx;
+	}
 .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