From 1b7f4a4f4b1ed5b3c9b2088b13956d92151ef908 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=B4=AB=E6=98=9F?= <1315228475@qq.com>
Date: Thu, 17 Oct 2024 17:22:00 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4=E9=A6=96=E9=A1=B5?=
=?UTF-8?q?=E6=A0=B7=E5=BC=8F=EF=BC=8C=E6=96=B0=E5=A2=9E=E4=B8=80=E4=BA=9B?=
=?UTF-8?q?=E7=99=BB=E5=BD=95=E7=9B=B8=E5=85=B3=E7=9A=84=E4=BA=A4=E4=BA=92?=
=?UTF-8?q?=E5=AD=90=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.vue | 126 ++++++++++---------
src/layouts/default.vue | 14 +--
src/pages.json | 21 ++++
src/pages/login/components/Banner.vue | 16 ++-
src/pages/login/components/Copyright.vue | 21 +++-
src/pages/login/components/LoginForm.vue | 81 ++++++------
src/pages/login/components/MoreLoginWays.vue | 8 +-
src/pages/login/components/PhoneLogin.vue | 14 +--
src/pages/login/forget.vue | 52 ++++++++
src/pages/login/index.vue | 17 ++-
src/pages/login/phone-index.vue | 38 ++++++
src/pages/login/registerCode.vue | 53 ++++++++
src/style/index.scss | 1 +
src/types/uni-pages.d.ts | 3 +
14 files changed, 329 insertions(+), 136 deletions(-)
create mode 100644 src/pages/login/forget.vue
create mode 100644 src/pages/login/phone-index.vue
create mode 100644 src/pages/login/registerCode.vue
diff --git a/src/App.vue b/src/App.vue
index 21c41bb..f4fa074 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,62 +1,74 @@
diff --git a/src/layouts/default.vue b/src/layouts/default.vue
index 768d875..4d0b0da 100644
--- a/src/layouts/default.vue
+++ b/src/layouts/default.vue
@@ -1,5 +1,5 @@
-
+
@@ -7,11 +7,11 @@
diff --git a/src/pages.json b/src/pages.json
index 51c1986..097498d 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -82,6 +82,13 @@
"navigationBarTitleText": "通讯录"
}
},
+ {
+ "path": "pages/login/forget",
+ "type": "page",
+ "style": {
+ "navigationBarTitleText": "忘记密码"
+ }
+ },
{
"path": "pages/login/index",
"type": "page",
@@ -90,6 +97,20 @@
"navigationBarTitleText": "登录页面"
}
},
+ {
+ "path": "pages/login/phone-index",
+ "type": "page",
+ "style": {
+ "navigationBarTitleText": ""
+ }
+ },
+ {
+ "path": "pages/login/registerCode",
+ "type": "page",
+ "style": {
+ "navigationBarTitleText": "获取验证码"
+ }
+ },
{
"path": "pages/message/index",
"type": "page",
diff --git a/src/pages/login/components/Banner.vue b/src/pages/login/components/Banner.vue
index 37d3cd1..36d83cb 100644
--- a/src/pages/login/components/Banner.vue
+++ b/src/pages/login/components/Banner.vue
@@ -1,16 +1,20 @@
-
-
+
+
- 你好
+ 你好
-
- 欢迎登录芋道快速开发平台
+
+ 欢迎登录芋道快速开发平台
-
+
diff --git a/src/pages/login/components/Copyright.vue b/src/pages/login/components/Copyright.vue
index d9b9bd7..f47ab9c 100644
--- a/src/pages/login/components/Copyright.vue
+++ b/src/pages/login/components/Copyright.vue
@@ -1,7 +1,7 @@
-
-
+
+
已阅读并同意
《用户协议》
和
@@ -11,5 +11,20 @@
diff --git a/src/pages/login/components/LoginForm.vue b/src/pages/login/components/LoginForm.vue
index 5ada5cc..6ac0595 100644
--- a/src/pages/login/components/LoginForm.vue
+++ b/src/pages/login/components/LoginForm.vue
@@ -1,6 +1,6 @@
-
+
-
+
记住
-
+
+ 忘记密码
+
登录
@@ -47,8 +45,8 @@
:round="false"
:plain="true"
type="info"
- class="mt-20rpx"
- @click="handleLogin"
+ class="mt-4"
+ @click="handleLogin('phoneIndex')"
>
本机号登录
@@ -65,14 +63,6 @@
import { useUserStore } from '@/store'
import * as authUtil from '@/utils/auth'
- // 提示组件 TODO @ Qiksy 讨论:// 提示组件 这种,我们要不放在 useToast(),作为尾注释,简洁一点。
- const toast = useToast()
-
- const focusInput = ref('')
- const handleInputFocus = (type: string) => {
- focusInput.value = type
- }
-
const props = defineProps({
agree: {
type: Boolean,
@@ -81,6 +71,14 @@
}
})
+ // 提示组件 TODO @ Qiksy 讨论:// 提示组件 这种,我们要不放在 useToast(),作为尾注释,简洁一点。
+ const toast = useToast()
+
+ const focusInput = ref('')
+ const handleInputFocus = (type: string) => {
+ focusInput.value = type
+ }
+
const loginData = reactive({
isShowPassword: false,
captchaEnable: import.meta.env.VITE_APP_CAPTCHA_ENABLE,
@@ -104,37 +102,40 @@
}
}
- const handleLogin = async () => {
- console.log('账号密码登录')
- focusInput.value = ''
+ const handleLogin = async (type: string) => {
if (!props.agree) {
toast.warning('请阅读并同意《用户协议》和《隐私政策》')
return
}
+ if (type === 'userinfo') {
+ focusInput.value = ''
- // 1. 先根据租户名,获取 tenantId
- await getTenantId()
+ // 1. 先根据租户名,获取 tenantId
+ await getTenantId()
- // todo 校验form数据
- const res = await login(loginData.loginForm)
- if (!res) {
- return
- }
+ // todo 校验form数据
+ const res = await login(loginData.loginForm)
+ if (!res) {
+ return
+ }
- authUtil.setToken(res)
+ authUtil.setToken(res)
- // 获取用户信息,保存到 store
- const userStore = useUserStore()
- await userStore.setUserInfoAction()
+ // 获取用户信息,保存到 store
+ const userStore = useUserStore()
+ await userStore.setUserInfoAction()
- // 暂时先跳到首页
- uni.switchTab({
- url: '/pages/work/index'
- })
- console.log('登录成功')
+ // 暂时先跳到首页
+ uni.switchTab({
+ url: '/pages/work/index'
+ })
+ console.log('登录成功')
- // todo 判断重定向
+ // todo 判断重定向
- // todo 处理页面loading展示
+ // todo 处理页面loading展示
+ } else {
+ uni.navigateTo({ url: '/pages/login/phone-index' })
+ }
}
diff --git a/src/pages/login/components/MoreLoginWays.vue b/src/pages/login/components/MoreLoginWays.vue
index e770769..e99d9ad 100644
--- a/src/pages/login/components/MoreLoginWays.vue
+++ b/src/pages/login/components/MoreLoginWays.vue
@@ -1,12 +1,10 @@
- 更多登录方式
+ 更多登录方式
-
-
+
+
diff --git a/src/pages/login/components/PhoneLogin.vue b/src/pages/login/components/PhoneLogin.vue
index 670ca39..0cc9174 100644
--- a/src/pages/login/components/PhoneLogin.vue
+++ b/src/pages/login/components/PhoneLogin.vue
@@ -4,21 +4,17 @@
handleInputFocus('tenantName')"
/>
-
+
还没有账号?
-
+
+ 注册账号
+
-
+
下一步
diff --git a/src/pages/login/forget.vue b/src/pages/login/forget.vue
new file mode 100644
index 0000000..7b643f6
--- /dev/null
+++ b/src/pages/login/forget.vue
@@ -0,0 +1,52 @@
+
+{
+ style: {
+ navigationBarTitleText: '忘记密码'
+ }
+}
+
+
+
+
+ 忘记密码
+
+
+
+
+ 获取验证码
+
+
+
+
+
+
+
+
diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue
index 583bd34..e1b503d 100644
--- a/src/pages/login/index.vue
+++ b/src/pages/login/index.vue
@@ -8,17 +8,14 @@
-
+
-
-
+
-
+
@@ -26,12 +23,14 @@
+
+
-
+
-
+
@@ -48,7 +47,7 @@
// 用户名登录
import LoginForm from '@/pages/login/components/LoginForm.vue'
- const tab = ref(1) // tabs的索引
+ const tab = ref(0) // tabs的索引
const agree = ref(false) // 是否同意协议
onLoad(() => {
diff --git a/src/pages/login/phone-index.vue b/src/pages/login/phone-index.vue
new file mode 100644
index 0000000..2f7f99d
--- /dev/null
+++ b/src/pages/login/phone-index.vue
@@ -0,0 +1,38 @@
+
+{
+ style: {
+ navigationBarTitleText: ''
+ }
+}
+
+
+
+
+ {{ phoneNo }}
+
+ 认证服务由中国移动提供
+
+
+ 本机号一键登录
+
+
+ 其他登录方式
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/login/registerCode.vue b/src/pages/login/registerCode.vue
new file mode 100644
index 0000000..d275f8e
--- /dev/null
+++ b/src/pages/login/registerCode.vue
@@ -0,0 +1,53 @@
+
+{
+ style: {
+ navigationBarTitleText: '获取验证码'
+ }
+}
+
+
+
+
+ 验证手机号
+
+ 请输入发送至
+ {{ phoneNo }}
+ 的6位验证码,有效期10分钟。如未收到,请重新获取验证码
+
+
+
+
+
+
+
+ {{ loadTime }}秒后可重新获取验证码
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/style/index.scss b/src/style/index.scss
index 97a0a2b..bdb7553 100644
--- a/src/style/index.scss
+++ b/src/style/index.scss
@@ -11,6 +11,7 @@
:root,
page {
--wot-color-primary: #4f79f9;
+ --wot-color-secondary: #727d7c;
// 修改按主题色
// --wot-color-theme: #37c2bc;
diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts
index b2589ec..e495193 100644
--- a/src/types/uni-pages.d.ts
+++ b/src/types/uni-pages.d.ts
@@ -7,7 +7,10 @@ interface NavigateToOptions {
url: "/pages/work/index" |
"/pages/colab/index" |
"/pages/contacts/index" |
+ "/pages/login/forget" |
"/pages/login/index" |
+ "/pages/login/phone-index" |
+ "/pages/login/registerCode" |
"/pages/message/index" |
"/pages/my/index";
}
--
Gitee