From 25a8991991c6393f3095a7ca81eef62df2b300b3 Mon Sep 17 00:00:00 2001 From: feige996 <1020102647@qq.com> Date: Tue, 19 Aug 2025 16:33:24 +0800 Subject: [PATCH] =?UTF-8?q?refactor(login):=20=E9=87=8D=E6=9E=84=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=B3=A8=E5=86=8C=E9=A1=B5=E9=9D=A2=E5=92=8C=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 合并平台特定登录页面到统一登录页面 - 重命名登录策略配置变量以更清晰表达意图 - 更新README文档说明登录策略变更 - 实现注册成功后的跳转逻辑 - 更新tabbar配置使用自定义样式 --- src/login/README.md | 8 ++--- src/login/config.ts | 10 +++--- src/pages.json | 14 ++++---- src/pages/login/README.md | 11 ++++++ src/pages/login/login.h5.vue | 57 -------------------------------- src/pages/login/login.vue | 45 ++++++++++++++++++++----- src/pages/login/login.weixin.vue | 26 --------------- src/pages/login/register.vue | 18 +++++++++- src/router/interceptor.ts | 4 +-- 9 files changed, 83 insertions(+), 110 deletions(-) create mode 100644 src/pages/login/README.md delete mode 100644 src/pages/login/login.h5.vue delete mode 100644 src/pages/login/login.weixin.vue diff --git a/src/login/README.md b/src/login/README.md index fe4c810..43dc4fb 100644 --- a/src/login/README.md +++ b/src/login/README.md @@ -15,9 +15,9 @@ 比如大部分2B和后台管理类的应用,比如企业微信、钉钉、飞书、内部报表系统、CMS系统等,都需要登录,只有登录后,才能使用。 -### EXCLUDE_PATH_LIST -`EXCLUDE_PATH_LIST` 表示排除的路由列表。 +### EXCLUDE_PAGE_LIST +`EXCLUDE_PAGE_LIST` 表示排除的路由列表。 -在 `默认无需登录策略: DEFAULT_NO_NEED_LOGIN` 中,只有路由在 `EXCLUDE_PATH_LIST` 中,才需要登录,相当于黑名单。 +在 `默认无需登录策略: DEFAULT_NO_NEED_LOGIN` 中,只有路由在 `EXCLUDE_PAGE_LIST` 中,才需要登录,相当于黑名单。 -在 `默认需要登录策略: DEFAULT_NEED_LOGIN` 中,只有路由在 `EXCLUDE_PATH_LIST` 中,才不需要登录,相当于白名单。 +在 `默认需要登录策略: DEFAULT_NEED_LOGIN` 中,只有路由在 `EXCLUDE_PAGE_LIST` 中,才不需要登录,相当于白名单。 diff --git a/src/login/config.ts b/src/login/config.ts index c8694cc..ba724ac 100644 --- a/src/login/config.ts +++ b/src/login/config.ts @@ -1,13 +1,13 @@ export const LOGIN_STRATEGY_MAP = { - BLACKLIST: 'BLACKLIST', // 黑名单策略,默认可以进入APP - WHITELIST: 'WHITELIST', // 白名单策略,默认不可以进入APP,需要强制登录 + DEFAULT_NO_NEED_LOGIN: 0, // 黑名单策略,默认可以进入APP + DEFAULT_NEED_LOGIN: 1, // 白名单策略,默认不可以进入APP,需要强制登录 } -// 登录策略,默认使用黑名单策略,即默认不需要登录就可以访问 -export const LOGIN_STRATEGY = LOGIN_STRATEGY_MAP.WHITELIST +// 登录策略,默认使用`无需登录策略`,即默认不需要登录就可以访问 +export const LOGIN_STRATEGY = LOGIN_STRATEGY_MAP.DEFAULT_NO_NEED_LOGIN export const LOGIN_PAGE_LIST = ['/pages/login/login', '/pages/login/register'] // 排除在外的列表,白名单策略指白名单列表,黑名单策略指黑名单列表 -export const EXCLUDE_LIST = [ +export const EXCLUDE_PAGE_LIST = [ '/pages/xxx/index', ] diff --git a/src/pages.json b/src/pages.json index c2254af..ede1e65 100644 --- a/src/pages.json +++ b/src/pages.json @@ -15,7 +15,7 @@ } }, "tabBar": { - "custom": false, + "custom": true, "color": "#999999", "selectedColor": "#018d71", "backgroundColor": "#F8F8F8", @@ -26,16 +26,16 @@ "spacing": "3px", "list": [ { - "iconPath": "static/tabbar/home.png", - "selectedIconPath": "static/tabbar/homeHL.png", + "text": "首页", "pagePath": "pages/index/index", - "text": "首页" + "iconType": "uniUi", + "icon": "home" }, { - "iconPath": "static/tabbar/example.png", - "selectedIconPath": "static/tabbar/exampleHL.png", + "text": "关于", "pagePath": "pages/about/about", - "text": "关于" + "iconType": "unocss", + "icon": "i-carbon-code" } ] }, diff --git a/src/pages/login/README.md b/src/pages/login/README.md new file mode 100644 index 0000000..09bbc21 --- /dev/null +++ b/src/pages/login/README.md @@ -0,0 +1,11 @@ +# 登录注册 + +登录页 `login.vue` 对应路由是 `/pages/login/login`. +注册页 `register.vue` 对应路由是 `/pages/login/register`. + +## 适用性 + +登录注册页主要适用于 `h5` 和 `App`,因为小程序通常会使用平台提供的快捷登录。 + +但是当业务要求需要服用夸平台的登录注册页时,也是可以用的。主要还是取决于业务形式。 + diff --git a/src/pages/login/login.h5.vue b/src/pages/login/login.h5.vue deleted file mode 100644 index 83d5c1d..0000000 --- a/src/pages/login/login.h5.vue +++ /dev/null @@ -1,57 +0,0 @@ - -{ - "layout": "default", - "style": { - "navigationBarTitleText": "登录" - } -} - - - - - - - diff --git a/src/pages/login/login.vue b/src/pages/login/login.vue index 2b7cbf7..bf16e7e 100644 --- a/src/pages/login/login.vue +++ b/src/pages/login/login.vue @@ -8,17 +8,46 @@ diff --git a/src/pages/login/register.vue b/src/pages/login/register.vue index f0d5db9..b28cfab 100644 --- a/src/pages/login/register.vue +++ b/src/pages/login/register.vue @@ -8,10 +8,26 @@