press-next
Version:
Vue3 组件库,支持 Composition API
107 lines (96 loc) • 2.26 kB
text/typescript
// demo-data/index.ts
// 状态类型
export type StatusType = 'success' | 'warning';
// 按钮配置接口
export interface ButtonConfig {
text: string;
type?: 'primary' | 'default' | 'info' | 'warning' | 'danger';
action?: string;
}
export function getMockData() {
// 组件属性配置
const componentProps = {
show: false,
zIndex: 100,
buttonText: '确定',
buttons: [] as ButtonConfig[],
statusTitle: '',
infoText: '',
status: 'success' as StatusType,
customClass: '',
titlePopup: '',
};
return componentProps;
}
// 获取成功状态的模拟数据(单按钮)
export function getSuccessData() {
return {
...getMockData(),
status: 'success' as StatusType,
statusTitle: '报名成功',
infoText: '请关注开赛短信通知',
buttonText: '加入比赛群',
};
}
// 获取失败状态的模拟数据(单按钮)
export function getWarningData() {
return {
...getMockData(),
status: 'warning' as StatusType,
statusTitle: '报名失败',
infoText: '请稍后重试或联系客服',
buttonText: '重新报名',
};
}
// 获取多按钮示例数据
export function getMultiButtonData() {
return {
...getMockData(),
status: 'success' as StatusType,
statusTitle: '操作成功',
infoText: '请选择下一步操作',
buttons: [
{
text: '取消',
type: 'default' as const,
plain: true,
action: 'cancel',
},
{
text: '确定',
type: 'primary' as const,
action: 'confirm',
},
] as ButtonConfig[],
};
}
// 获取三按钮示例数据
export function getTripleButtonData() {
return {
...getMockData(),
status: 'success' as StatusType,
statusTitle: '报名成功',
infoText: '选择您的下一步操作',
buttons: [
{
text: '查看详情',
type: 'default' as const,
action: 'detail',
},
{
text: '分享',
type: 'info' as const,
action: 'share',
},
{
text: '加入群聊',
type: 'primary' as const,
action: 'join',
},
] as ButtonConfig[],
};
}
const DEMO_DATA = {
...getMockData(),
};
export default DEMO_DATA;