From 69130d11e75830518d2ef6d8957399d695d41cd6 Mon Sep 17 00:00:00 2001 From: hujun Date: Sun, 20 Sep 2026 10:52:10 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=88=86=E5=8C=85=E7=BB=93=E6=9E=84=E4=B8=8E=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 调整页面路由,将业务页面迁移到对应分包,主包仅保留首页 2. 拆分公共服务模块,将账户、融资相关逻辑移入对应分包 3. 统一资源路径,将专属静态资源放入各分包static目录,更新导航栏图标资源 4. 修复启动引导逻辑,实现仅首次冷启动显示引导页 5. 更新README文档,补充分包配置与开发规范说明 --- App.uvue | 4 +- README.md | 33 +++++++- components/BottomNav.uvue | 14 +-- components/BrandLogo.uvue | 13 +-- {pages => packages/account}/index/index.uvue | 6 +- {pages => packages/account}/login/login.uvue | 8 +- .../account}/messages/messages.uvue | 0 .../account}/points/points.uvue | 2 +- .../account}/profile/profile.uvue | 16 ++-- packages/account/services/auth.uts | 35 ++++++++ packages/account/static/quick-login.svg | 4 + .../account/static}/shield.png | Bin packages/account/static/wechat.svg | 8 ++ .../content}/article/article.uvue | 4 +- .../content}/classroom/classroom.uvue | 6 +- .../content}/lesson/lesson.uvue | 4 +- {pages => packages/content}/news/news.uvue | 4 +- .../content/services}/content.uts | 10 +-- .../content/static}/news-business.png | Bin .../content/static}/news-city.png | Bin .../content/static}/news-policy.png | Bin .../finance}/analyzing/analyzing.uvue | 2 +- .../finance}/archive/archive.uvue | 4 +- .../finance}/assessment/assessment.uvue | 6 +- .../finance}/assistant/assistant.uvue | 8 +- .../finance/components}/AssessmentSelect.uvue | 0 .../finance}/confirm/confirm.uvue | 8 +- {pages => packages/finance}/entry/entry.uvue | 4 +- .../finance}/matches/matches.uvue | 6 +- .../finance}/product/product.uvue | 6 +- .../finance}/report/report.uvue | 4 +- packages/finance/services/api.uts | 47 ++++++++++ .../finance/services}/finance.uts | 0 .../finance/static}/finance-radar.png | Bin .../finance/static}/robot.png | Bin pages.json | 55 +++++++----- pages/home/home.uvue | 49 ++++++++--- services/api.uts | 80 +----------------- services/launch.uts | 8 ++ static/mobile/navigation/file-text.png | Bin 0 -> 17271 bytes static/mobile/navigation/home.png | Bin 0 -> 16531 bytes static/mobile/navigation/message.png | Bin 0 -> 16567 bytes static/mobile/navigation/user.png | Bin 0 -> 14373 bytes 43 files changed, 278 insertions(+), 180 deletions(-) rename {pages => packages/account}/index/index.uvue (88%) rename {pages => packages/account}/login/login.uvue (93%) rename {pages => packages/account}/messages/messages.uvue (100%) rename {pages => packages/account}/points/points.uvue (98%) rename {pages => packages/account}/profile/profile.uvue (82%) create mode 100644 packages/account/services/auth.uts create mode 100644 packages/account/static/quick-login.svg rename {static/mobile/images => packages/account/static}/shield.png (100%) create mode 100644 packages/account/static/wechat.svg rename {pages => packages/content}/article/article.uvue (94%) rename {pages => packages/content}/classroom/classroom.uvue (94%) rename {pages => packages/content}/lesson/lesson.uvue (98%) rename {pages => packages/content}/news/news.uvue (96%) rename {services => packages/content/services}/content.uts (96%) rename {static/mobile/images => packages/content/static}/news-business.png (100%) rename {static/mobile/images => packages/content/static}/news-city.png (100%) rename {static/mobile/images => packages/content/static}/news-policy.png (100%) rename {pages => packages/finance}/analyzing/analyzing.uvue (98%) rename {pages => packages/finance}/archive/archive.uvue (96%) rename {pages => packages/finance}/assessment/assessment.uvue (98%) rename {pages => packages/finance}/assistant/assistant.uvue (90%) rename {components => packages/finance/components}/AssessmentSelect.uvue (100%) rename {pages => packages/finance}/confirm/confirm.uvue (96%) rename {pages => packages/finance}/entry/entry.uvue (96%) rename {pages => packages/finance}/matches/matches.uvue (96%) rename {pages => packages/finance}/product/product.uvue (96%) rename {pages => packages/finance}/report/report.uvue (87%) create mode 100644 packages/finance/services/api.uts rename {services => packages/finance/services}/finance.uts (100%) rename {static/mobile/images => packages/finance/static}/finance-radar.png (100%) rename {static/mobile/images => packages/finance/static}/robot.png (100%) create mode 100644 services/launch.uts create mode 100644 static/mobile/navigation/file-text.png create mode 100644 static/mobile/navigation/home.png create mode 100644 static/mobile/navigation/message.png create mode 100644 static/mobile/navigation/user.png diff --git a/App.uvue b/App.uvue index c5aa6b1..560a7d7 100644 --- a/App.uvue +++ b/App.uvue @@ -1,5 +1,7 @@ diff --git a/packages/account/services/auth.uts b/packages/account/services/auth.uts new file mode 100644 index 0000000..2005850 --- /dev/null +++ b/packages/account/services/auth.uts @@ -0,0 +1,35 @@ +import { API_BASE_URL, wait, requestJson } from '@/services/api.uts' +export { API_BASE_URL, saveSession } from '@/services/api.uts' + +export async function requestSmsCode(phone: string): Promise { + if (API_BASE_URL.length == 0) { + await wait(350) + return phone.length == 11 + } + await requestJson('/auth/sms-code', 'POST', { phone }) + return true +} + +export async function loginWithSms(phone: string, code: string): Promise { + if (API_BASE_URL.length == 0) { + await wait(300) + if (code.length != 6) throw new Error('验证码应为 6 位数字') + return 'demo-sms-token' + } + const result = await requestJson('/auth/sms-login', 'POST', { phone, code }) + const token = result['token'] as string | null + if (token == null || token.length == 0) throw new Error('登录响应缺少 token') + return token +} + +export async function loginWithPassword(phone: string, password: string): Promise { + if (API_BASE_URL.length == 0) { + await wait(300) + return 'demo-password-token' + } + const result = await requestJson('/auth/password-login', 'POST', { phone, password }) + const token = result['token'] as string | null + if (token == null || token.length == 0) throw new Error('登录响应缺少 token') + return token +} + diff --git a/packages/account/static/quick-login.svg b/packages/account/static/quick-login.svg new file mode 100644 index 0000000..40ba4ef --- /dev/null +++ b/packages/account/static/quick-login.svg @@ -0,0 +1,4 @@ + + + + diff --git a/static/mobile/images/shield.png b/packages/account/static/shield.png similarity index 100% rename from static/mobile/images/shield.png rename to packages/account/static/shield.png diff --git a/packages/account/static/wechat.svg b/packages/account/static/wechat.svg new file mode 100644 index 0000000..1ec3c9c --- /dev/null +++ b/packages/account/static/wechat.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/pages/article/article.uvue b/packages/content/article/article.uvue similarity index 94% rename from pages/article/article.uvue rename to packages/content/article/article.uvue index daec7fa..662c4cf 100644 --- a/pages/article/article.uvue +++ b/packages/content/article/article.uvue @@ -17,7 +17,7 @@