press-next
Version:
Vue3 组件库,支持 Composition API
120 lines (111 loc) • 2.8 kB
text/typescript
/*
* desc: 用户或队伍列表-单项组件模拟数据
* date: 2025-09-02
* author: alltasxiao
* email: alltasxiao@tencent.com
*/
// 游戏标签接口
export interface GameTag {
icon: string;
name: string;
}
// 用户信息接口
export interface UserInfo {
avatar: string;
name: string;
gameTags?: GameTag[];
description?: string;
id?: string;
}
// 用户状态类型
export type UserStatus = 'invite' | 'pending' | 'manage' | 'passed';
// 用户项数据接口
export interface UserItemData {
userInfo: UserInfo;
status: UserStatus;
}
// 获取模拟数据
export function getMockData() {
const userList: UserItemData[] = [
{
userInfo: {
avatar: 'https://img.yzcdn.cn/vant/cat.jpeg',
name: '李四',
gameTags: [
{
icon: 'https://image-1251917893.file.myqcloud.com/general-match-components/img/match-user-item/icon-tag-1.png',
name: '王者荣耀',
},
],
description: '',
id: '12346',
},
status: 'pending',
},
{
userInfo: {
avatar: 'https://img.yzcdn.cn/vant/cat.jpeg',
name: '李四',
gameTags: [
{
icon: 'https://image-1251917893.file.myqcloud.com/general-match-components/img/match-user-item/icon-tag-1.png',
name: '王者荣耀',
},
],
description: '技术能力突出,团队核心成员',
id: '12346',
},
status: 'pending',
},
{
userInfo: {
avatar: 'https://img.yzcdn.cn/vant/cat.jpeg',
name: '王五',
gameTags: [
{
icon: 'https://image-1251917893.file.myqcloud.com/general-match-components/img/match-user-item/icon-tag-1.png',
name: '王者荣耀',
},
{
icon: 'https://image-1251917893.file.myqcloud.com/general-match-components/img/match-user-item/icon-tag-1.png',
name: '和平精英',
},
],
description: '',
id: '12347',
},
status: 'passed',
},
{
userInfo: {
avatar: 'https://img.yzcdn.cn/vant/cat.jpeg',
name: '赵六',
gameTags: [
{
icon: 'https://image-1251917893.file.myqcloud.com/general-match-components/img/match-user-item/icon-tag-1.png',
name: '王者荣耀',
},
],
description: '',
id: '12348',
},
status: 'manage',
},
{
userInfo: {
avatar: 'https://img.yzcdn.cn/vant/cat.jpeg',
name: '钱七',
description: '',
id: '12349',
},
status: 'manage',
},
];
return {
userList,
};
}
const DEMO_DATA = {
...getMockData().userList[0],
};
export default DEMO_DATA;