From b7d451c91ec40bee70f23b1e2cf6a8797643faef Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期六, 25 四月 2026 15:18:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 app/pages/change-password/change-password.vue |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/app/pages/change-password/change-password.vue b/app/pages/change-password/change-password.vue
index d05f9a3..3f24105 100644
--- a/app/pages/change-password/change-password.vue
+++ b/app/pages/change-password/change-password.vue
@@ -14,7 +14,7 @@
 			<text class="change-password-page__rule">瀵嗙爜瑙勫垯锛氬瓧姣嶃�佹暟瀛楃粍鍚堬紝涓嶅皯浜�8涓瓧绗�</text>
 		</view>
 
-		<button class="change-password-page__submit" hover-class="change-password-page__submit--hover">纭淇敼</button>
+		<button class="change-password-page__submit" hover-class="change-password-page__submit--hover" @click="handleSubmit">纭淇敼</button>
 	</view>
 </template>
 
@@ -27,6 +27,42 @@
 					confirmPassword: ''
 				}
 			}
+		},
+		methods: {
+			handleSubmit() {
+				if (!this.form.password) {
+					uni.showToast({ title: '璇疯緭鍏ユ柊瀵嗙爜', icon: 'none' })
+					return
+				}
+				if (!this.form.confirmPassword) {
+					uni.showToast({ title: '璇峰啀娆¤緭鍏ユ柊瀵嗙爜', icon: 'none' })
+					return
+				}
+				if (this.form.password !== this.form.confirmPassword) {
+					uni.showToast({ title: '涓ゆ瀵嗙爜杈撳叆涓嶄竴鑷�', icon: 'none' })
+					return
+				}
+				const passwordRegex = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/
+				if (!passwordRegex.test(this.form.password)) {
+					uni.showToast({ title: '瀵嗙爜闇�瀛楁瘝銆佹暟瀛楃粍鍚堬紝涓嶅皯浜�8涓瓧绗�', icon: 'none' })
+					return
+				}
+				uni.showLoading({ title: '淇敼涓�...' })
+				this.$u.api.changePassword({ newPassword: this.form.password }).then(res => {
+					uni.hideLoading()
+					if (res.code === 200) {
+						uni.showToast({ title: '淇敼鎴愬姛', icon: 'success' })
+						setTimeout(() => {
+							this.$store.commit('clearAll')
+							uni.reLaunch({
+								url: '/pages/login/login'
+							})
+						}, 1500)
+					}
+				}).catch(err => {
+					uni.hideLoading()
+				})
+			}
 		}
 	}
 </script>

--
Gitblit v1.9.3