From ad1629e4f90490758dbd91c4d8a9bed4a8693dfc Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 11 二月 2026 15:59:14 +0800
Subject: [PATCH] 合并

---
 mini-program/pages/settings/settings.vue |   70 ++++++++++++++++++++++++++++++----
 1 files changed, 61 insertions(+), 9 deletions(-)

diff --git a/mini-program/pages/settings/settings.vue b/mini-program/pages/settings/settings.vue
index 7850123..5a63a60 100644
--- a/mini-program/pages/settings/settings.vue
+++ b/mini-program/pages/settings/settings.vue
@@ -10,19 +10,19 @@
 			<view class="list-item">
 				<view class="list-item-label">鏄电О</view>
 				<view class="list-item-val">
-					<input type="nickname" v-model="form.nickname" placeholder="璇疯緭鍏�" />
+					<input type="text" v-model="form.nickname" @blur="updateUserInfo" placeholder="璇疯緭鍏�" />
 				</view>
 			</view>
 			<view class="list-item">
 				<view class="list-item-label">鐪熷疄濮撳悕</view>
 				<view class="list-item-val">
-					<input type="text" v-model="form.name" placeholder="璇疯緭鍏�" />
+					<input type="text" v-model="form.name" @blur="updateUserInfo" placeholder="璇疯緭鍏�" />
 				</view>
 			</view>
 			<view class="list-item">
 				<view class="list-item-label">缁戝畾鎵嬫満</view>
 				<view class="list-item-val" @click="show = true">
-					<text>{{form.phone}}</text>
+					<text>{{form.phone1}}</text>
 					<image src="/static/icon/ar_next@2x.png" mode="widthFix"></image>
 				</view>
 			</view>
@@ -39,19 +39,19 @@
 				</view>
 			</view>
 		</view>
-		<view class="loginOut">閫�鍑虹櫥褰�</view>
+		<view class="loginOut" @click="tuichu">閫�鍑虹櫥褰�</view>
 		<!-- 鏇存崲鎵嬫満鍙� -->
 		<u-popup :show="show" round="15" :safeAreaInsetBottom="false" mode="center">
 			<view class="tc">
 				<view class="tc-contemt">
 					<view class="tc-contemt-title">鏇存崲缁戝畾鎵嬫満鍙凤紵</view>
 					<view class="tc-contemt-nr">
-						鏇存崲鍚庣幇鎵嬫満鍙�130****9696灏嗕笉鑳界敤浜庣櫥褰曪紝180澶╁唴鍙彲鏇存崲涓�娆�
+						鏇存崲鍚庣幇鎵嬫満鍙穥{returnPhone(form.phone)}}灏嗕笉鑳界敤浜庣櫥褰曪紝180澶╁唴鍙彲鏇存崲涓�娆�
 					</view>
 				</view>
 				<view class="tc-btn">
 					<view class="tc-btn-item" @click="show = false">鎴戝啀鎯虫兂</view>
-					<view class="tc-btn-item" style="color: #004096;">纭鏇存崲</view>
+					<view class="tc-btn-item" style="color: #004096;" @click="jumpPhone">纭鏇存崲</view>
 				</view>
 			</view>
 		</u-popup>
@@ -60,9 +60,10 @@
 
 <script>
 	import { mapState } from 'vuex'
+	import { formatPhoneStar } from '@/utils/utils.js'
 	export default {
 		computed: {
-			...mapState(['userInfo'])
+			...mapState(['userInfo', 'token'])
 		},
 		data() {
 			return {
@@ -71,6 +72,7 @@
 					nickname: '',
 					name: '',
 					phone: '',
+					phone1: '',
 					imgFullUrl: '',
 					imgurl: ''
 				}
@@ -80,13 +82,63 @@
 			this.form.nickname = this.userInfo.nickname
 			this.form.name = this.userInfo.name
 			this.form.phone = this.userInfo.phone
+			this.form.phone1 = this.returnPhone(this.userInfo.phone)
 			this.form.imgFullUrl = this.userInfo.imgFullUrl
 			this.form.imgurl = this.userInfo.imgurl
 		},
 		methods: {
-			getAvatar(e) {
-				console.log(e)
+			returnPhone(phone) {
+				return formatPhoneStar(phone)
 			},
+			jumpPhone() {
+				uni.navigateTo({
+					url: '/pages/change-binding/change-binding'
+				})
+			},
+			jumpAddr() {
+				uni.navigateTo({
+					url: '/pages/address/address'
+				})
+			},
+			// 涓婁紶澶村儚
+			getAvatar(e) {
+				var that = this;
+				uni.uploadFile({
+					url: `${this.$baseUrl}public/upload`,
+					filePath: e.detail.avatarUrl,
+					name: 'file',
+					fileType: 'image',
+					header: { 'token': this.token },
+					formData: { folder: 'member' },
+					success: (uploadFileRes) => {
+						let result = JSON.parse(uploadFileRes.data)
+						that.form.imgurl = result.data.imgaddr
+						that.form.imgFullUrl = result.data.url
+						that.updateUserInfo()
+					}
+				});
+			},
+			// 鏇存柊鐢ㄦ埛淇℃伅
+			updateUserInfo() {
+				this.$u.api.updateMember(this.form)
+					.then(res => {
+						if (res.code === 200) {
+							console.log(res)
+						}
+					})
+			},
+			// 閫�鍑虹櫥褰�
+			tuichu() {
+				this.$u.api.logOut()
+					.then(res => {
+						if (res.code === 200) {
+							this.$store.commit('clear')
+							uni.switchTab({
+								url: '/pages/index/index'
+							})
+						}
+					})
+			}
 		}
 	}
 </script>

--
Gitblit v1.9.3