From d2a41dffe94437f9759781e811f7a38035203783 Mon Sep 17 00:00:00 2001 From: brother7 <7brother7@gmail.com> Date: Tue, 30 Jun 2026 15:20:34 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=93=E5=8C=85?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.production | 4 ++-- env.d.ts | 1 + vite.config.ts | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.env.production b/.env.production index bc2a177..05a6cbc 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ VITE_USE_MOCK=false +VITE_APP_BASE=/hotel-staff-h5/ VITE_PROXY_TARGET= -#VITE_API_BASE_URL=https://biz.nianxx.cn/ -VITE_API_BASE_URL= +VITE_API_BASE_URL=https://biz.nianxx.cn VITE_AUTH_BASE=/auth VITE_ADMIN_BASE=/admin VITE_STAFF_BASE=/hotelStaff diff --git a/env.d.ts b/env.d.ts index 64ad23a..b69db06 100644 --- a/env.d.ts +++ b/env.d.ts @@ -2,6 +2,7 @@ interface ImportMetaEnv { readonly VITE_USE_MOCK?: string + readonly VITE_APP_BASE?: string readonly VITE_PROXY_TARGET?: string readonly VITE_API_BASE_URL?: string readonly VITE_AUTH_BASE?: string diff --git a/vite.config.ts b/vite.config.ts index 6feb9f8..8149ec3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -5,8 +5,10 @@ import vue from '@vitejs/plugin-vue' export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), '') const proxyTarget = env.VITE_PROXY_TARGET || 'http://localhost:9999' + const base = env.VITE_APP_BASE || '/' return { + base, plugins: [vue()], resolve: { alias: { -- 2.43.7 From 4919a311c32d321708122f09079e3e477ba2eeb7 Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 30 Jun 2026 17:25:52 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=94=B9=E9=80=A0=E7=9F=AD=E4=BF=A1?= =?UTF-8?q?=E5=8F=91=E9=80=81=E5=9B=BE=E5=BD=A2=E9=AA=8C=E8=AF=81=E7=A0=81?= =?UTF-8?q?=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/auth.ts | 24 ++++++++-- src/api/mock.ts | 6 ++- src/views/login/LoginView.vue | 84 +++++++++++++++++++++++++++++++++-- 3 files changed, 105 insertions(+), 9 deletions(-) diff --git a/src/api/auth.ts b/src/api/auth.ts index c4f247a..13fff33 100644 --- a/src/api/auth.ts +++ b/src/api/auth.ts @@ -12,17 +12,35 @@ export interface OrganizationMemberInfo { memberRoleId?: string } +export interface SendMobileCodePayload { + phone: string + imageRandomStr: string + imageCode: string +} + const basicAuth = () => { const raw = `${env.clientId}:${env.clientSecret}` return `Basic ${window.btoa(raw)}` } -export const sendMobileCode = async (phone: string) => { - if (env.useMock) return mockApi.sendMobileCode(phone) - return await http.get(joinUrl(env.adminBase, 'platformUser/sendMobileCode', phone), { +export const getImageCodeUrl = (imageRandomStr: string) => { + const params = new URLSearchParams({ + randomStr: imageRandomStr, + t: String(Date.now()) + }) + return `${joinUrl(env.authBase, 'code/image')}?${params.toString()}` +} + +export const sendMobileCode = async (payload: SendMobileCodePayload) => { + if (env.useMock) return mockApi.sendMobileCode(payload) + return await http.get(joinUrl(env.adminBase, 'platformUser/sendMobileCode', payload.phone), { headers: { clientId: env.clientId, clientConfigId: env.clientConfigId + }, + params: { + imageRandomStr: payload.imageRandomStr, + imageCode: payload.imageCode } }) as unknown as boolean } diff --git a/src/api/mock.ts b/src/api/mock.ts index 80dc465..6aa8491 100644 --- a/src/api/mock.ts +++ b/src/api/mock.ts @@ -129,9 +129,11 @@ const page = (records: T[], pageNum: number, pageSize: number): PageResponse< } export const mockApi = { - async sendMobileCode(phone: string) { + async sendMobileCode(payload: { phone: string; imageRandomStr?: string; imageCode?: string }) { await wait() - return { data: true, msg: phone ? '5678nianxx' : '请输入手机号' } + if (!payload.phone) return { data: false, msg: '请输入手机号' } + if (!payload.imageRandomStr || !payload.imageCode) return { data: false, msg: '请输入图形验证码' } + return { data: true, msg: '5678nianxx' } }, async loginByMobile(phone: string): Promise { diff --git a/src/views/login/LoginView.vue b/src/views/login/LoginView.vue index 20947c0..c120c27 100644 --- a/src/views/login/LoginView.vue +++ b/src/views/login/LoginView.vue @@ -1,9 +1,9 @@