feat: update of partner

This commit is contained in:
eleanor.mao
2025-05-15 01:02:00 +08:00
parent 7aafc3a789
commit d2ac64f20c
52 changed files with 1435 additions and 265 deletions

60
src/types/partner.ts Normal file
View File

@ -0,0 +1,60 @@
export interface PartnerProfitsState {
withdraw: number;
available: number;
withdrawing: number;
}
export interface PartnerInviteCode {
inviteCode: string;
}
export interface PartnerInfo extends PartnerInviteCode {}
export interface InviteUserInfo {
id: string; // 用户ID可选
userId: string; // 用户唯一标识
nickName: string; // 用户昵称
bandPhone: boolean; // 是否绑定了手机号,可选
avatarUrl: string; // 用户头像URL可选
isDefaultAvatar: boolean; // 是否使用默认头像,可选
isDefaultNickname: boolean; // 是否使用默认昵称,可选
isBindPhone: boolean; // 是否绑定了手机号,可选
created: string; // 用户创建时间戳,可选
updated: string; // 用户更新时间戳,可选
isBoss: boolean; // 是否是老板,可选
isPartner: boolean; // 是否是合作伙伴,可选
userBoss: {
level: string; // 上级老板的等级,可选
expireTime: string; // 上级老板的过期时间,可选
isExpire: boolean; // 上级老板是否过期,可选
};
bossAuthStatus: string; // 老板认证状态,可选
existAvailableJob: boolean; // 是否存在可用的工作,可选
isCreateResume: boolean; // 是否创建了简历,可选
imAcctNo: string; // 即时通讯账号,可选
phone: string; // 用户手机号,可选
roleType: string; // 角色类型,可选
}
export enum ProfitType {
Anchor = '1',
Member = '2',
Partner = '3',
}
export enum ProfitStatus {
AVAILABLE = '1',
WITHDRAWING = '2',
WITHDRAW = '3',
}
export interface GetProfitRequest {
profitType: ProfitType;
}
export interface PartnerProfitItem {
id: number; // 唯一标识
userId: string; // 用户ID
profit: number; // 利润
profitType: ProfitType; // 利润类型
status: ProfitStatus; // 状态
relatedId: string; // 相关ID
remark: string; // 备注
created: string; // 创建时间
updated: string; // 更新时间
profitTypeEnum: string; // 利润类型枚举
statusEnum: string; // 状态枚举
}

View File

@ -1,5 +1,6 @@
import { RoleType, PageType } from '@/constants/app';
import { UserMessage } from '@/types/message';
import { PartnerInfo } from '@/types/partner';
import { LocationInfo } from './location';
import { UserInfo } from './user';
@ -8,6 +9,7 @@ export interface IState {
appState: AppState;
userInfo: UserInfo;
message: UserMessage;
partnerInfo: PartnerInfo;
}
export interface AppState {

View File

@ -13,6 +13,7 @@ export interface UserInfo {
created?: string;
updated?: string;
isBoss?: boolean; // 是否通告主
isPartner?: boolean;
userBoss?: {
level: string;
expireTime: string;