From 3714621173c606c4c58439ed8941100ce9ddea14 Mon Sep 17 00:00:00 2001
From: Codex Assistant <codex@example.com>
Date: 星期三, 05 十一月 2025 15:10:49 +0800
Subject: [PATCH] bug
---
wx/pages/registration/registration.js | 130 ++++++++++++++++++++++++++++--------------
1 files changed, 86 insertions(+), 44 deletions(-)
diff --git a/wx/pages/registration/registration.js b/wx/pages/registration/registration.js
index 3fd91ec..66dd0d5 100644
--- a/wx/pages/registration/registration.js
+++ b/wx/pages/registration/registration.js
@@ -229,41 +229,71 @@
},
// 鍔犺浇鐢ㄦ埛淇℃伅
- loadUserInfo() {
- const userInfo = app.globalData.userInfo
- console.log('馃攳 鍔犺浇鐢ㄦ埛淇℃伅鐢ㄤ簬鏄剧ず:', userInfo)
+ async loadUserInfo() {
+ console.log('馃攧 寮�濮嬪姞杞界敤鎴蜂俊鎭�')
+ const app = getApp()
+ let userInfo = app.globalData.userInfo
+ console.log('馃攳 鏈湴鐢ㄦ埛鏁版嵁:', JSON.stringify(userInfo, null, 2))
+
+ // 灏濊瘯浠庡悗绔幏鍙栧畬鏁寸殑鐢ㄦ埛淇℃伅
+ try {
+ const query = `
+ query GetUserProfile {
+ userProfile {
+ id
+ name
+ avatar
+ phone
+ gender
+ birthday
+ }
+ }
+ `
+
+ const result = await graphqlRequest(query)
+ if (result && result.userProfile) {
+ console.log('馃攳 浠庡悗绔幏鍙栫殑瀹屾暣鐢ㄦ埛鏁版嵁:', JSON.stringify(result.userProfile, null, 2))
+ userInfo = result.userProfile
+ // 鏇存柊鍏ㄥ眬鏁版嵁
+ app.globalData.userInfo = { ...app.globalData.userInfo, ...userInfo }
+ }
+ } catch (error) {
+ console.log('鈿狅笍 浠庡悗绔幏鍙栫敤鎴蜂俊鎭け璐ワ紝浣跨敤鏈湴鏁版嵁:', error)
+ }
if (userInfo) {
let displayUserInfo = {
name: userInfo.name || '',
phone: userInfo.phone || '',
- avatarUrl: userInfo.avatarUrl || '',
+ avatarUrl: userInfo.avatar || userInfo.avatarUrl || '',
gender: null,
- education: ''
+ education: '',
+ birthDate: ''
}
- // 濡傛灉鐢ㄦ埛鏈塒layer淇℃伅锛屼紭鍏堜娇鐢≒layer鐨勮缁嗕俊鎭�
- if (userInfo.player) {
- console.log('馃搵 浣跨敤Player淇℃伅鏄剧ず:', userInfo.player)
- displayUserInfo.name = userInfo.player.name || userInfo.name || ''
- displayUserInfo.phone = userInfo.player.phone || userInfo.phone || ''
- displayUserInfo.avatarUrl = userInfo.avatarUrl || ''
-
- // 澶勭悊鎬у埆淇℃伅锛�0=鐢凤紝1=濂�
- if (userInfo.player.gender !== undefined && userInfo.player.gender !== null) {
- displayUserInfo.gender = parseInt(userInfo.player.gender)
- }
-
- // 澶勭悊瀛﹀巻淇℃伅
- if (userInfo.player.education) {
- displayUserInfo.education = userInfo.player.education
+ // 澶勭悊鎬у埆淇℃伅
+ if (userInfo.gender !== undefined && userInfo.gender !== null) {
+ console.log('馃懁 鍙戠幇鎬у埆瀛楁:', userInfo.gender, '绫诲瀷:', typeof userInfo.gender)
+ // 濡傛灉鏄瓧绗︿覆鏍煎紡锛岃浆鎹负鏁板瓧
+ if (typeof userInfo.gender === 'string') {
+ displayUserInfo.gender = userInfo.gender === 'MALE' ? 1 : 0 // 淇锛歁ALE=1(鐢�), FEMALE=0(濂�)
+ console.log('馃懁 澶勭悊鍚庣殑鎬у埆:', displayUserInfo.gender)
+ } else {
+ displayUserInfo.gender = parseInt(userInfo.gender)
}
}
- console.log('鉁� 璁剧疆鏄剧ず鐢ㄦ埛淇℃伅:', displayUserInfo)
+ // 澶勭悊鐢熸棩淇℃伅
+ if (userInfo.birthday || userInfo.birthDate) {
+ displayUserInfo.birthDate = userInfo.birthday || userInfo.birthDate
+ console.log('馃巶 鍙戠幇鐢熸棩瀛楁:', displayUserInfo.birthDate)
+ }
+
this.setData({
- userInfo: displayUserInfo
+ displayUserInfo: displayUserInfo
})
+
+ console.log('鉁� 鏈�缁� displayUserInfo:', JSON.stringify(displayUserInfo, null, 2))
} else {
console.log('鈿狅笍 鏈壘鍒扮敤鎴蜂俊鎭�')
}
@@ -271,6 +301,7 @@
// 棰勫~鍏呯敤鎴蜂俊鎭�
prefillUserInfo() {
+ const app = getApp()
const userInfo = app.globalData.userInfo
console.log('馃攳 棰勫~鍏呯敤鎴蜂俊鎭�:', userInfo)
@@ -279,32 +310,39 @@
'formData.name': userInfo.name || '',
'formData.phone': userInfo.phone || '',
'formData.email': userInfo.email || '',
- 'formData.avatarUrl': userInfo.avatarUrl || ''
+ 'formData.avatarUrl': userInfo.avatar || userInfo.avatarUrl || ''
}
- // 濡傛灉鐢ㄦ埛鏈塒layer淇℃伅锛屼紭鍏堜娇鐢≒layer鐨勮缁嗕俊鎭�
- if (userInfo.player) {
- console.log('馃搵 浣跨敤Player淇℃伅棰勫~鍏�:', userInfo.player)
- updateData['formData.name'] = userInfo.player.name || userInfo.name || ''
- updateData['formData.phone'] = userInfo.player.phone || userInfo.phone || ''
- updateData['formData.avatarUrl'] = userInfo.avatarUrl || ''
-
- // 澶勭悊鎬у埆淇℃伅锛�0=鐢凤紝1=濂�
- if (userInfo.player.gender !== undefined && userInfo.player.gender !== null) {
- const genderIndex = parseInt(userInfo.player.gender)
- if (genderIndex === 0 || genderIndex === 1) {
- updateData['formData.gender'] = genderIndex
- updateData['genderIndex'] = genderIndex
- console.log('馃懁 璁剧疆鎬у埆:', genderIndex === 0 ? '鐢�' : '濂�')
- }
+ // 澶勭悊鎬у埆淇℃伅 - 鐩存帴浠巙serInfo鑾峰彇
+ if (userInfo.gender !== undefined && userInfo.gender !== null) {
+ let genderValue, genderIndex
+ // 濡傛灉鏄瓧绗︿覆鏍煎紡锛岃浆鎹负鏁板瓧
+ if (typeof userInfo.gender === 'string') {
+ genderValue = userInfo.gender === 'MALE' ? 1 : 0 // 淇锛歁ALE=1(鐢�), FEMALE=0(濂�)
+ genderIndex = userInfo.gender === 'MALE' ? 0 : 1 // 鐣岄潰绱㈠紩锛�0=鐢凤紝1=濂�
+ } else {
+ genderValue = parseInt(userInfo.gender)
+ genderIndex = genderValue === 1 ? 0 : 1 // 鏁版嵁搴撳��1(鐢�)->鐣岄潰绱㈠紩0锛屾暟鎹簱鍊�0(濂�)->鐣岄潰绱㈠紩1
}
+ updateData['formData.gender'] = genderValue
+ updateData['genderIndex'] = genderIndex
+ console.log('馃懁 璁剧疆鎬у埆:', genderValue === 1 ? '鐢�' : '濂�', '鐣岄潰绱㈠紩:', genderIndex)
+ }
+
+ // 澶勭悊鐢熸棩淇℃伅 - 鐩存帴浠巙serInfo鑾峰彇
+ if (userInfo.birthday || userInfo.birthDate) {
+ const birthDate = userInfo.birthday || userInfo.birthDate
+ updateData['formData.birthDate'] = birthDate
+ console.log('馃巶 璁剧疆鐢熸棩:', birthDate)
}
console.log('鉁� 棰勫~鍏呮暟鎹�:', updateData)
console.log('馃柤锔� 璁剧疆澶村儚URL:', updateData['formData.avatarUrl'])
+
this.setData(updateData)
+ console.log('鉁� 鐢ㄦ埛淇℃伅棰勫~鍏呭畬鎴�')
} else {
- console.log('鈿狅笍 鏈壘鍒扮敤鎴蜂俊鎭紝鏃犳硶棰勫~鍏�')
+ console.log('鈿狅笍 鏈壘鍒扮敤鎴蜂俊鎭紝璺宠繃棰勫~鍏�')
}
},
@@ -341,9 +379,11 @@
// 鎬у埆閫夋嫨
onGenderChange(e) {
const index = e.detail.value
+ // 淇鎬у埆鏄犲皠锛歡enderOptions[0]='鐢�' 搴旇瀵瑰簲鏁版嵁搴撳��1锛実enderOptions[1]='濂�' 搴旇瀵瑰簲鏁版嵁搴撳��0
+ const genderValue = index === 0 ? 1 : 0 // 0(鐢�) -> 1, 1(濂�) -> 0
this.setData({
genderIndex: index,
- 'formData.gender': index
+ 'formData.gender': genderValue
})
},
@@ -1252,7 +1292,7 @@
// 绗笁姝ワ細鎶ュ悕鎴愬姛鍚庡己鍒惰皟鐢╳xlogin鑾峰彇鏂扮殑JWT token
console.log('馃摫 鎶ュ悕鎴愬姛锛屽紑濮嬪己鍒惰皟鐢╳xlogin鑾峰彇鏂扮殑JWT token')
try {
- await app.wxLogin()
+ await app.login()
console.log('鉁� 鎶ュ悕鎴愬姛鍚巜xlogin璋冪敤鎴愬姛锛屽凡鑾峰彇鏂扮殑JWT token')
} catch (wxLoginError) {
console.error('鉂� 鎶ュ悕鎴愬姛鍚巜xlogin璋冪敤澶辫触:', wxLoginError)
@@ -1273,9 +1313,11 @@
} catch (error) {
console.error('鎻愪氦澶辫触:', error)
- wx.showToast({
- title: error.message || '鎻愪氦澶辫触锛岃閲嶈瘯',
- icon: 'none'
+ wx.showModal({
+ title: '鎻愪氦澶辫触',
+ content: error.message || '鎻愪氦澶辫触锛岃閲嶈瘯',
+ showCancel: false,
+ confirmText: '鎴戠煡閬撲簡'
})
} finally {
this.setData({ isSubmitting: false })
--
Gitblit v1.8.0