From 2b6c74fc9762ac9beb76ee195f8a8285e257f933 Mon Sep 17 00:00:00 2001 From: obroccolio Date: Fri, 7 Aug 2026 17:21:05 +0800 Subject: [PATCH] feat: refresh profile and settings pages --- src/pages/address/index.scss | 22 ++++++++++----------- src/pages/address/index.tsx | 14 ++++++------- src/pages/agreement/index.scss | 5 ++--- src/pages/profile/index.scss | 20 +++++++++---------- src/pages/profile/index.tsx | 36 +++++++++++++++------------------- src/pages/settings/index.scss | 18 ++++++++--------- src/pages/settings/index.tsx | 18 ++++++++--------- 7 files changed, 63 insertions(+), 70 deletions(-) diff --git a/src/pages/address/index.scss b/src/pages/address/index.scss index 66a9366..eb90de5 100644 --- a/src/pages/address/index.scss +++ b/src/pages/address/index.scss @@ -40,7 +40,7 @@ .default-tag { margin-left: 12px; - background: var(--accent-pink); + background: var(--accent-primary); color: #fff; font-size: 20px; padding: 2px 10px; @@ -58,16 +58,16 @@ justify-content: flex-end; gap: 24px; padding-top: 16px; - border-top: 1px dashed rgba(0,0,0,0.06); + border-top: 1rpx solid var(--border); } .address-act { font-size: 26px; - color: var(--accent-blue); + color: var(--accent-secondary); } .address-act.delete { - color: #ff6b6b; + color: var(--danger); } /* 表单弹窗 */ @@ -81,7 +81,7 @@ width: 100%; height: 80px; background: var(--bg-input); - border: 3px dashed var(--line-star); + border: 1rpx solid var(--border); border-radius: 16px; padding: 0 24px; font-size: 28px; @@ -94,7 +94,7 @@ width: 100%; height: 80px; background: var(--bg-input); - border: 3px dashed var(--line-star); + border: 1rpx solid var(--border); border-radius: 16px; display: flex; align-items: center; @@ -128,13 +128,13 @@ .checkbox { width: 44px; height: 44px; - border: 3px dashed var(--line-star); + border: 1rpx solid var(--border); border-radius: 10px; } .checkbox.checked { - background: var(--accent-pink); - border-color: var(--accent-pink); + background: var(--accent-primary); + border-color: var(--accent-primary); } .form-actions { @@ -142,8 +142,8 @@ gap: 20px; } -.form-actions .btn-outline, -.form-actions .btn-gradient { +.form-actions .btn-secondary, +.form-actions .btn-primary { flex: 1; padding: 20px 0; text-align: center; diff --git a/src/pages/address/index.tsx b/src/pages/address/index.tsx index 65a705e..12ce169 100644 --- a/src/pages/address/index.tsx +++ b/src/pages/address/index.tsx @@ -98,8 +98,7 @@ export default function AddressPage() { - - + Taro.navigateBack()}>← 收货地址 @@ -110,7 +109,7 @@ export default function AddressPage() { {/* 地址列表 */} {list.map(item => ( - + {item.name} @@ -144,7 +143,7 @@ export default function AddressPage() { {/* 底部添加按钮 */} - + 新增收货地址 @@ -152,8 +151,7 @@ export default function AddressPage() { {/* 新增/编辑弹窗 */} {showForm && ( - - + {editing ? '编辑地址' : '新增地址'} - { setShowForm(false); resetForm() }}> + { setShowForm(false); resetForm() }}> 取消 - + 保存 diff --git a/src/pages/agreement/index.scss b/src/pages/agreement/index.scss index 7939623..e8e790b 100644 --- a/src/pages/agreement/index.scss +++ b/src/pages/agreement/index.scss @@ -1,5 +1,5 @@ .agreement-page { - padding: 0 24px 24px; + padding: 0 32px 32px; } .agreement-title { @@ -8,11 +8,10 @@ color: var(--text-primary); display: block; margin-bottom: 32px; - padding-top: 24px; } .agreement-content { - padding: 40px 32px; + padding: 40px 0; line-height: 1.8; } diff --git a/src/pages/profile/index.scss b/src/pages/profile/index.scss index 486bb4b..b3fc29e 100644 --- a/src/pages/profile/index.scss +++ b/src/pages/profile/index.scss @@ -19,7 +19,7 @@ width: 120px; height: 120px; border-radius: 50%; - border: 4px dashed var(--line-star); + border: 1rpx solid var(--border); margin-right: 24px; flex-shrink: 0; } @@ -28,12 +28,12 @@ width: 120px; height: 120px; border-radius: 50%; - background: linear-gradient(135deg, var(--bg-card) 0%, rgba(91, 140, 255, 0.1) 100%); + background: var(--bg-muted); display: flex; align-items: center; justify-content: center; margin-right: 24px; - border: 4px dashed var(--line-star); + border: 1rpx solid var(--border); flex-shrink: 0; } @@ -89,7 +89,7 @@ .status-num { font-size: 36px; font-weight: 800; - color: var(--accent-pink); + color: var(--accent-primary); margin-bottom: 8px; } @@ -101,14 +101,14 @@ .status-divider { width: 2px; height: 48px; - background: var(--line-star); + background: var(--border); opacity: 0.25; flex-shrink: 0; } .status-divider-h { height: 2px; - background: var(--line-star); + background: var(--border); opacity: 0.15; margin: 0 16px; } @@ -240,7 +240,7 @@ border-radius: 50%; margin: 0 auto 24px; background: var(--bg-input); - border: 3px dashed var(--line-star); + border: 1rpx solid var(--border); display: flex; align-items: center; justify-content: center; @@ -265,7 +265,7 @@ width: 100%; height: 80px; background: var(--bg-input); - border: 3px dashed var(--line-star); + border: 1rpx solid var(--border); border-radius: 16px; padding: 0 24px; font-size: 28px; @@ -280,8 +280,8 @@ gap: 20px; } -.login-actions .btn-outline, -.login-actions .btn-gradient { +.login-actions .btn-secondary, +.login-actions .btn-primary { flex: 1; padding: 20px 0; text-align: center; diff --git a/src/pages/profile/index.tsx b/src/pages/profile/index.tsx index 86dd3d4..21955fc 100644 --- a/src/pages/profile/index.tsx +++ b/src/pages/profile/index.tsx @@ -73,7 +73,7 @@ export default function ProfilePage() { const sync = () => { const info = getUserInfo() - if (info?.openid) { + if (info && info.openid) { setIsLoggedIn(true) setUserInfoState({ nickName: info.nickName || '', avatarUrl: info.avatarUrl || '' }) } else { @@ -134,7 +134,7 @@ export default function ProfilePage() { console.log('[Profile] wx.login 成功,code=', wxLogin.code) const result = await login(wxLogin.code) console.log('[Profile] 后端 /auth/login 返回:', JSON.stringify(result)) - if (!result?.accessToken) { + if (!result || !result.accessToken) { loginFail('登录失败,未拿到 token') return } @@ -142,7 +142,7 @@ export default function ProfilePage() { let openid = '' try { const me = await getMe() - openid = me?.openid || '' + openid = (me && me.openid) || '' } catch { openid = '' } @@ -168,7 +168,7 @@ export default function ProfilePage() { loginFinish(result.accessToken, openid, result.nickname || '', result.avatar || '') } catch (e) { console.error('[Profile] 登录流程出错:', e) - loginFail((e as Error)?.message || '后端连接失败,请检查网络') + loginFail((e && (e as Error).message) || '后端连接失败,请检查网络') } } @@ -186,7 +186,7 @@ export default function ProfilePage() { let openid = '' try { const me = await getMe() - openid = me?.openid || '' + openid = (me && me.openid) || '' } catch { openid = '' } @@ -196,14 +196,14 @@ export default function ProfilePage() { } const stored = getUserInfo() loginFinish( - stored?.accessToken || getToken(), + (stored && stored.accessToken) || getToken(), openid, loginNickName, loginAvatarUrl ) } catch (e) { console.error('[Profile] 保存资料出错:', e) - loginFail((e as Error)?.message || '保存失败') + loginFail((e && (e as Error).message) || '保存失败') } } @@ -282,8 +282,7 @@ export default function ProfilePage() { {/* 用户信息头部 */} - - + {isLoggedIn && userInfo.avatarUrl ? ( @@ -337,8 +336,7 @@ export default function ProfilePage() { 常用功能 {MENU_ITEMS.map((item, idx) => ( - handleMenuClick(item.path, item.label)}> - + handleMenuClick(item.path, item.label)}> {item.label} @@ -347,8 +345,7 @@ export default function ProfilePage() { {/* 企业定制入口 */} - - + @@ -357,7 +354,7 @@ export default function ProfilePage() { 年会礼品、入职纪念、团建伴手礼 - + 立即咨询 @@ -368,18 +365,17 @@ export default function ProfilePage() { {/* 登录弹窗 */} {showLogin && ( - - + 登录智绘微刻 {loginStep === 'entry' ? ( <> 登录后同步您的设计清单和订单 - + 取消 - + 微信登录 @@ -406,10 +402,10 @@ export default function ProfilePage() { onInput={(e: any) => setLoginNickName(e.detail.value)} /> - + 取消 - + 保存 diff --git a/src/pages/settings/index.scss b/src/pages/settings/index.scss index 4bad4b2..4b3c358 100644 --- a/src/pages/settings/index.scss +++ b/src/pages/settings/index.scss @@ -13,7 +13,7 @@ width: 100px; height: 100px; border-radius: 50%; - border: 3px dashed var(--line-star); + border: 1rpx solid var(--border); } .settings-avatar-placeholder { @@ -21,7 +21,7 @@ height: 100px; border-radius: 50%; background: var(--bg-input); - border: 3px dashed var(--line-star); + border: 1rpx solid var(--border); display: flex; align-items: center; justify-content: center; @@ -58,7 +58,7 @@ } .settings-item.bordered { - border-bottom: 1px dashed rgba(0,0,0,0.06); + border-bottom: 1rpx solid var(--border); } .settings-item-icon-img { @@ -78,8 +78,8 @@ .logout-btn { text-align: center; padding: 24px 0; - color: #ff6b6b; - border: 3px dashed #ff6b6b; + color: var(--danger); + border: 1rpx solid var(--danger); } /* --- 主题选择 --- */ @@ -107,7 +107,7 @@ padding: 24px 16px; border-radius: 20px; background: var(--bg-input); - border: 3px dashed transparent; + border: 1rpx solid transparent; display: flex; align-items: center; justify-content: center; @@ -116,8 +116,8 @@ } .theme-option.active { - border-color: var(--accent-pink); - background: rgba(255, 154, 158, 0.08); + border-color: var(--accent-primary); + background: var(--accent-primary-soft); } .theme-option-text { @@ -130,7 +130,7 @@ width: 16px; height: 16px; border-radius: 50%; - background: var(--accent-pink); + background: var(--accent-primary); } .theme-hint { diff --git a/src/pages/settings/index.tsx b/src/pages/settings/index.tsx index 8db1bb5..206c430 100644 --- a/src/pages/settings/index.tsx +++ b/src/pages/settings/index.tsx @@ -72,7 +72,7 @@ export default function SettingsPage() { - + Taro.navigateBack()}>← 设置 @@ -81,7 +81,7 @@ export default function SettingsPage() { {/* 用户卡片 */} - + setShowEdit(true)}> {user.avatarUrl ? ( @@ -101,7 +101,7 @@ export default function SettingsPage() { {/* 主题设置 */} - + 外观 {THEME_OPTIONS.map(opt => ( @@ -121,7 +121,7 @@ export default function SettingsPage() { {/* 菜单列表 */} - + {MENU.map((item, idx) => ( item.action({ setShowEdit })}> @@ -132,9 +132,9 @@ export default function SettingsPage() { {/* 退出登录 */} - {user?.openid && ( + {user && user.openid && ( - + 退出登录 @@ -145,7 +145,7 @@ export default function SettingsPage() { {/* 编辑弹窗 */} {showEdit && ( - + 修改信息