fix:提交子账号
This commit is contained in:
@@ -46,7 +46,10 @@ export async function request<T>(
|
|||||||
if (token) headers.Authorization = `Bearer ${token}`;
|
if (token) headers.Authorization = `Bearer ${token}`;
|
||||||
const res = await fetch(`${apiBase}${path}`, { ...fetchOptions, headers });
|
const res = await fetch(`${apiBase}${path}`, { ...fetchOptions, headers });
|
||||||
const json = await res.json().catch(() => ({ code: res.status, message: '网络异常' }));
|
const json = await res.json().catch(() => ({ code: res.status, message: '网络异常' }));
|
||||||
const message = json.message || (res.status === 401 ? '登录已过期,请重新登录' : '请求失败');
|
const rawMessage = json.message;
|
||||||
|
const message = Array.isArray(rawMessage)
|
||||||
|
? rawMessage.join(';')
|
||||||
|
: (rawMessage || (res.status === 401 ? '登录已过期,请重新登录' : '请求失败'));
|
||||||
|
|
||||||
if (res.status === 401 || json.code === 401) {
|
if (res.status === 401 || json.code === 401) {
|
||||||
if (token && localStorage.getItem('accessToken') === token) {
|
if (token && localStorage.getItem('accessToken') === token) {
|
||||||
|
|||||||
@@ -1,10 +1,16 @@
|
|||||||
import type {
|
import { PartnerStaffRole, type CreatePartnerStaffRequest, type PartnerStaffItem, type UpdatePartnerStaffRequest } from '@dukang/shared-types';
|
||||||
CreatePartnerStaffRequest,
|
|
||||||
PartnerStaffItem,
|
|
||||||
UpdatePartnerStaffRequest,
|
|
||||||
} from '@dukang/shared-types';
|
|
||||||
import { request } from './api';
|
import { request } from './api';
|
||||||
|
|
||||||
|
/** 兼容尚未部署新后端的线上 API(仍校验 staffRole/code) */
|
||||||
|
function toCreateStaffPayload(body: CreatePartnerStaffRequest) {
|
||||||
|
return {
|
||||||
|
name: body.name,
|
||||||
|
phone: body.phone,
|
||||||
|
staffRole: PartnerStaffRole.INTERNAL,
|
||||||
|
code: '123456',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export function listPartnerStaff() {
|
export function listPartnerStaff() {
|
||||||
return request<PartnerStaffItem[]>('PARTNER_H5', '/partner/staff');
|
return request<PartnerStaffItem[]>('PARTNER_H5', '/partner/staff');
|
||||||
}
|
}
|
||||||
@@ -12,7 +18,7 @@ export function listPartnerStaff() {
|
|||||||
export function createPartnerStaff(body: CreatePartnerStaffRequest) {
|
export function createPartnerStaff(body: CreatePartnerStaffRequest) {
|
||||||
return request<PartnerStaffItem>('PARTNER_H5', '/partner/staff', {
|
return request<PartnerStaffItem>('PARTNER_H5', '/partner/staff', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: JSON.stringify(body),
|
body: JSON.stringify(toCreateStaffPayload(body)),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,17 @@ export class CreatePartnerStaffDto {
|
|||||||
@IsString()
|
@IsString()
|
||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
name: string;
|
name: string;
|
||||||
|
|
||||||
|
/** 兼容旧客户端;未传时服务端默认 INTERNAL */
|
||||||
|
@IsOptional()
|
||||||
|
@IsString()
|
||||||
|
@IsIn(Object.values(PartnerStaffRole))
|
||||||
|
staffRole?: string;
|
||||||
|
|
||||||
|
/** 已废弃:子账号创建不再校验验证码,传入时忽略 */
|
||||||
|
@IsOptional()
|
||||||
|
@IsString()
|
||||||
|
code?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class UpdatePartnerStaffDto {
|
export class UpdatePartnerStaffDto {
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ export class PartnerStaffService {
|
|||||||
partnerId: parent.partnerId,
|
partnerId: parent.partnerId,
|
||||||
phone,
|
phone,
|
||||||
name,
|
name,
|
||||||
staffRole: PartnerStaffRole.INTERNAL,
|
staffRole: (dto.staffRole as PartnerStaffRole | undefined) ?? PartnerStaffRole.INTERNAL,
|
||||||
isPrimary: 0,
|
isPrimary: 0,
|
||||||
parentAccountId: parent.id,
|
parentAccountId: parent.id,
|
||||||
status: 'DISABLED',
|
status: 'DISABLED',
|
||||||
|
|||||||
Reference in New Issue
Block a user