press-next
Version:
Vue3 组件库,支持 Composition API
99 lines (88 loc) • 1.95 kB
text/typescript
/**
* 分享邀请弹窗组件的模拟数据
*/
// 奖励项接口
interface RewardItem {
icon: string;
name: string;
count: string | number;
}
// 默认奖励图标
const DEFAULT_REWARD_ICONS = {
box: 'https://image-1251917893.file.myqcloud.com/general-match-components/img/match-share-invite/reward.png',
};
// 分享邀请数据
const SHARE_INVITE_DATA = {
inviterName: '大白兔爱吃肉',
matchTitle: 'Ace 俱乐部赏金赛',
matchTime: '2022年11月30日12:30',
matchType: 'PC模拟器、手机端参赛',
qrCodeValue: 'https://tencent.com',
coverBg:
'https://image-1251917893.file.myqcloud.com/general-match-components/img/match-share-invite/gp-cover.png',
};
// 奖励列表
const REWARDS: RewardItem[] = [
{
icon: DEFAULT_REWARD_ICONS.box,
name: '宝箱宝箱宝箱宝箱宝箱宝箱',
count: 100,
},
{
icon: DEFAULT_REWARD_ICONS.box,
name: '宝箱宝箱宝箱宝箱宝箱',
count: 100,
},
{
icon: DEFAULT_REWARD_ICONS.box,
name: '宝箱',
count: 100,
},
{
icon: DEFAULT_REWARD_ICONS.box,
name: '宝箱',
count: 100,
},
{
icon: DEFAULT_REWARD_ICONS.box,
name: '宝箱',
count: 100,
},
{
icon: DEFAULT_REWARD_ICONS.box,
name: '宝箱',
count: 100,
},
];
/**
* 获取分享邀请弹窗的模拟数据
* @returns {Object} 包含组件所需的测试数据
*/
export function getMockData() {
return {
// 分享邀请信息
...SHARE_INVITE_DATA,
// 奖励列表
rewards: [...REWARDS],
};
}
/**
* 获取奖励数据
* @returns {RewardItem[]} 奖励列表
*/
export function getRewards(): RewardItem[] {
return [...REWARDS];
}
/**
* 获取分享邀请基础数据
* @returns {Object} 分享邀请基础数据
*/
export function getShareInviteData() {
return SHARE_INVITE_DATA;
}
// 导出类型
export type { RewardItem };
// 导出默认数据
export default {
getMockData,
};