feat: first commit
This commit is contained in:
134
src/types/material.ts
Normal file
134
src/types/material.ts
Normal file
@ -0,0 +1,134 @@
|
||||
import { EmployType } from '@/constants/job';
|
||||
import { AnchorReadType, AnchorSortType, GenderType, ProfileCreateSource, WorkedYears } from '@/constants/material';
|
||||
import { IPaginationRequest, IPaginationResponse } from '@/types/common';
|
||||
|
||||
export interface MaterialVideoInfo {
|
||||
url: string;
|
||||
coverUrl: string;
|
||||
type: 'image' | 'video';
|
||||
title: string;
|
||||
isDefault: boolean;
|
||||
}
|
||||
|
||||
export interface MaterialProfile {
|
||||
materialVideoInfoList: MaterialVideoInfo[];
|
||||
// 基础信息
|
||||
id: string;
|
||||
userId: string;
|
||||
name: string;
|
||||
age: number;
|
||||
height: number; // cm
|
||||
weight: number; // kg
|
||||
gender: GenderType;
|
||||
shoeSize: number; // 鞋码
|
||||
// 求职意向
|
||||
employType: EmployType; // 工作类型
|
||||
fullTimeMinPrice: number; // 全职期望薪资下限
|
||||
fullTimeMaxPrice: number; // 全职期望薪资上限
|
||||
partyTimeMinPrice: number; // 兼职期望薪资下限
|
||||
partyTimeMaxPrice: number; // 兼职期望薪资上限
|
||||
cityCodes: string; // 城市。多个城市用 、分割,如 '110100、141100'
|
||||
acceptWorkForSit: boolean; // 是否接受坐班
|
||||
// 直播经验
|
||||
workedYear: WorkedYears; // 工作年限,单位年,无为0、半年 0.5、1、2、3、4、5年及以上用100表示,默认为1年
|
||||
workedAccounts: string; // 直播过的账号
|
||||
newAccountExperience: number; // 是否有起号经验,0无 1有
|
||||
workedCategory: string; // 直播过的品类
|
||||
workedSecCategoryStr: string; // 直播过的二级品类
|
||||
style: string; // 风格。多个分割用 、分割
|
||||
maxGmv: number; // 最高 GMV,单位 w
|
||||
maxOnline: number; // 最高在线人数
|
||||
// 自身优势
|
||||
advantages: string;
|
||||
// 其他
|
||||
approveStatus: boolean; // 审核状态:0 待审 ,1 成功 ,2 不通过
|
||||
isOpen: boolean; // 是否开放 1开放 0不开放
|
||||
userOpen: boolean;
|
||||
adminOpen: boolean;
|
||||
createType: ProfileCreateSource;
|
||||
creator: string; // 创建人id
|
||||
progressBar: number; // 进度百分比
|
||||
filledItems: number; // 已填资料项数
|
||||
created: number; // 时间戳
|
||||
updated: number; // 时间戳
|
||||
}
|
||||
|
||||
export interface AnchorInfo {
|
||||
// 基础信息
|
||||
materialVideoInfoList: MaterialVideoInfo[];
|
||||
id: string;
|
||||
userId: string;
|
||||
cover: string;
|
||||
name: string;
|
||||
age: number;
|
||||
height: number;
|
||||
weight: number;
|
||||
gender: GenderType;
|
||||
shoeSize: number;
|
||||
employType: EmployType;
|
||||
fullTimeMinPrice: number;
|
||||
fullTimeMaxPrice: number;
|
||||
partyTimeMinPrice: number;
|
||||
partyTimeMaxPrice: number;
|
||||
cityCodes: string;
|
||||
workedYear: WorkedYears;
|
||||
workedCategory: string;
|
||||
workedSecCategoryStr: string;
|
||||
distance: number;
|
||||
isRead: boolean;
|
||||
lastOnlineTime: number;
|
||||
updated: number;
|
||||
created: number;
|
||||
sortTime: number;
|
||||
}
|
||||
|
||||
export interface GetVideoInfoRequest {
|
||||
sourcePath: string;
|
||||
type: 'VIDEO' | 'IMAGE';
|
||||
}
|
||||
|
||||
export interface UploadVideoResult {
|
||||
id: string;
|
||||
url: string; // 视频地址
|
||||
coverUrl: string; // 封面地址
|
||||
}
|
||||
|
||||
export interface IAnchorFilters {
|
||||
gender?: GenderType;
|
||||
employType?: EmployType;
|
||||
lowPriceForFullTime?: number;
|
||||
highPriceForFullTime?: number;
|
||||
lowPriceForPartyTime?: number;
|
||||
highPriceForPartyTime?: number;
|
||||
category?: string;
|
||||
readType?: AnchorReadType;
|
||||
}
|
||||
|
||||
export interface GetAnchorListRequest extends IAnchorFilters, IPaginationRequest {
|
||||
// sortId?: string; // 排序 id,首次调用不传,分页时传上一页的最后记录的id
|
||||
jobId?: string;
|
||||
cityCode?: string;
|
||||
sortType?: AnchorSortType; // 排序规则
|
||||
latitude?: number; // 纬度,浮点数,范围为-90~90,负数表示南纬
|
||||
longitude?: number; // 经度,范围为-180~180,负数表示西经
|
||||
}
|
||||
|
||||
export interface GetAnchorListResponse extends IPaginationResponse {
|
||||
data: AnchorInfo[];
|
||||
}
|
||||
|
||||
export interface GetReadProfileRequest {
|
||||
resumeId: string;
|
||||
jobId?: string;
|
||||
}
|
||||
|
||||
export interface GetShareProfileRequest {
|
||||
shareCode: string;
|
||||
resumeId: string;
|
||||
}
|
||||
|
||||
export interface UpdateProfileStatusRequest {
|
||||
resumeId: string;
|
||||
userId: string;
|
||||
userOpen: boolean;
|
||||
}
|
Reference in New Issue
Block a user