diff --git a/env/.env.production b/env/.env.production index e70f90b..bd2b98e 100644 --- a/env/.env.production +++ b/env/.env.production @@ -8,3 +8,6 @@ VITE_SHOW_SOURCEMAP = false # 后台请求地址 VITE_SERVER_BASEURL = 'https://viewshanghai.com/admin-api' VITE_UPLOAD_BASEURL = 'https://viewshanghai.com/admin-api' + +# 验证码的开关 +VITE_APP_CAPTCHA_ENABLE=true diff --git a/src/api/login.ts b/src/api/login.ts index 2d5404a..25b1728 100644 --- a/src/api/login.ts +++ b/src/api/login.ts @@ -41,6 +41,7 @@ export interface AuthRegisterReqVO { export interface AuthSmsLoginReqVO { mobile: string code: string + captchaVerification?: string } /** 发送短信验证码 Request VO */ @@ -122,27 +123,43 @@ export function logout() { return http.post('/system/auth/logout') } -// TODO @芋艿:三方登录 -/** - * 获取微信登录凭证 - * @returns Promise 包含微信登录凭证(code) - */ -export function getWxCode() { - return new Promise((resolve, reject) => { +/** 微信小程序一键登录 Request VO */ +export interface AuthWeixinMiniAppLoginReqVO { + phoneCode: string + loginCode: string + state: string +} + +/** 社交快捷登录 Request VO */ +export interface AuthSocialLoginReqVO { + type: number + code: string + state: string +} + +/** 获取微信小程序 login code */ +export function getWxLoginCode(): Promise { + return new Promise((resolve, reject) => { uni.login({ provider: 'weixin', - success: res => resolve(res), - fail: err => reject(new Error(err)), + success: (res) => { + if (!res.code) { + reject(new Error('未获取到有效的微信登录凭证,请重试')) + return + } + resolve(res.code) + }, + fail: err => reject(new Error(err.errMsg)), }) }) } -// TODO @芋艿:三方登录 -/** - * 微信登录 - * @param params 微信登录参数,包含code - * @returns Promise 包含登录结果 - */ -export function wxLogin(data: { code: string }) { - return http.post('/auth/wxLogin', data) +/** 社交快捷登录(已绑定用户) */ +export function socialLogin(data: AuthSocialLoginReqVO) { + return http.post('/system/auth/social-login', data) +} + +/** 微信小程序一键登录(手机号匹配) */ +export function weixinMiniAppLogin(data: AuthWeixinMiniAppLoginReqVO) { + return http.post('/system/auth/weixin-mini-app-login', data) } diff --git a/src/pages-core/auth/components/sms-login-panel.vue b/src/pages-core/auth/components/sms-login-panel.vue new file mode 100644 index 0000000..e0714e3 --- /dev/null +++ b/src/pages-core/auth/components/sms-login-panel.vue @@ -0,0 +1,124 @@ + + + + + + + diff --git a/src/pages-core/auth/components/username-login-panel.vue b/src/pages-core/auth/components/username-login-panel.vue new file mode 100644 index 0000000..bc3ae86 --- /dev/null +++ b/src/pages-core/auth/components/username-login-panel.vue @@ -0,0 +1,139 @@ + + + + + + + diff --git a/src/pages-core/auth/components/wechat-login-panel.vue b/src/pages-core/auth/components/wechat-login-panel.vue new file mode 100644 index 0000000..7b380e2 --- /dev/null +++ b/src/pages-core/auth/components/wechat-login-panel.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/src/pages-core/auth/login.vue b/src/pages-core/auth/login.vue index f32267c..f61f0aa 100644 --- a/src/pages-core/auth/login.vue +++ b/src/pages-core/auth/login.vue @@ -3,116 +3,50 @@
- - 快捷登录 - - - 账号登录 + {{ tab.label }} - - - -