fix:提交子账号

This commit is contained in:
ljy
2026-07-10 00:22:25 +08:00
parent b32e2a06eb
commit 301839e2dc
4 changed files with 28 additions and 8 deletions
+4 -1
View File
@@ -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) {
+12 -6
View File
@@ -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',