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 @@