fix: rewrite mock data for realism

This commit is contained in:
zetaloop
2026-02-20 20:34:40 +08:00
parent a4e05cf482
commit ebdf56a361
+267 -118
View File
@@ -19,50 +19,50 @@ import type {
export const mockUsers: User[] = [
{
id: "u1",
username: "gamer_zhang",
nickname: "小明",
username: "xm_2003",
nickname: "小明同学",
avatar: "/avatars/u1.jpg",
role: "consumer",
phone: "138****1234",
bio: "资深游戏玩家",
bio: "下班打两把,周末经常熬夜",
createdAt: "2025-01-15",
},
{
id: "u2",
username: "pro_li",
nickname: "李大神",
username: "LDShen666",
nickname: "李",
avatar: "/avatars/u2.jpg",
role: "player",
phone: "139****5678",
bio: "全国百强打手,擅长MOBA类游戏",
bio: "主打峡谷双排,逆风也会认真打",
createdAt: "2024-11-20",
},
{
id: "u3",
username: "boss_wang",
nickname: "王老板",
username: "wang-ge01",
nickname: "王",
avatar: "/avatars/u3.jpg",
role: "owner",
phone: "137****9012",
bio: "电竞工作室负责人",
bio: "白天管店,晚上回消息慢一点",
createdAt: "2024-08-10",
},
{
id: "u4",
username: "carry_chen",
nickname: "陈Carry",
username: "Achen9k",
nickname: "阿辰",
avatar: "/avatars/u4.jpg",
role: "player",
bio: "FPS专精,CS2全球精英",
bio: "练枪党,报点快,话不多",
createdAt: "2025-02-01",
},
{
id: "u5",
username: "sweet_liu",
nickname: "甜甜",
username: "甜甜酱w",
nickname: "甜甜",
avatar: "/avatars/u5.jpg",
role: "player",
bio: "温柔陪玩,擅长辅助位",
bio: "主辅和原神日常,社恐但不摆烂",
createdAt: "2025-01-05",
},
]
@@ -84,58 +84,58 @@ export const mockServices: PlayerService[] = [
playerId: "u2",
gameId: "g1",
gameName: "英雄联盟",
title: "英雄联盟上分陪玩",
description: "钻石以上段位陪玩,保证胜率60%+",
price: 30,
title: "LOL双排冲分",
description: "我打野和中路都行,逆风不甩锅,打完会说两句思路",
price: 33,
unit: "局",
rankRange: "钻石-大师",
availability: ["周一至周五 19:00-23:00", "周末全天"],
rankRange: "铂金-大师",
availability: ["周一至周五 20:00-01:00", "周末 14:00-02:00"],
},
{
id: "s2",
playerId: "u2",
gameId: "g2",
gameName: "王者荣耀",
title: "王者荣耀代练上星",
description: "王者50星以上代练,安全高效",
price: 25,
title: "王者补位上星",
description: "单排连跪就来组队,能补位,想冲几星先聊清楚",
price: 29,
unit: "星",
rankRange: "王者",
availability: ["全天可接"],
rankRange: "星耀-王者80星",
availability: ["每天 18:30-00:30"],
},
{
id: "s3",
playerId: "u4",
gameId: "g3",
gameName: "CS2",
title: "CS2上分陪玩",
description: "全球精英带飞,沟通顺畅",
price: 40,
title: "CS2车队位",
description: "不整花活,先报点再打,节奏比较快",
price: 58,
unit: "局",
rankRange: "黄金-全球精英",
availability: ["每天 14:00-24:00"],
rankRange: "白银-超凡",
availability: ["每天 15:00-01:00"],
},
{
id: "s4",
playerId: "u5",
gameId: "g1",
gameName: "英雄联盟",
title: "英雄联盟娱乐陪玩",
description: "轻松愉快的游戏体验,不冲分不上头",
price: 20,
title: "LOL轻松双排",
description: "主辅位,能聊也能安静打,连跪会及时换玩法",
price: 23,
unit: "局",
availability: ["周末 10:00-22:00"],
availability: ["周末 11:00-23:30"],
},
{
id: "s5",
playerId: "u5",
gameId: "g5",
gameName: "原神",
title: "原神日常代肝",
description: "帮你完成每日任务和活动",
price: 15,
title: "原神日常清体力",
description: "委托、树脂、活动都能代,做完会发截图",
price: 17,
unit: "次",
availability: ["天可"],
availability: ["工作日 21:00-24:00", "周末白天可"],
},
]
@@ -143,39 +143,39 @@ export const mockPlayers: Player[] = [
{
id: "u2",
user: mockUsers[1],
rating: 4.8,
totalOrders: 1256,
completionRate: 0.98,
rating: 4.5,
totalOrders: 83,
completionRate: 0.93,
status: "available",
games: ["英雄联盟", "王者荣耀"],
services: mockServices.filter((s) => s.playerId === "u2"),
shopId: "shop1",
shopName: "王者电竞工作室",
tags: ["MOBA专精", "高胜率", "耐心"],
tags: ["补位稳", "会复盘", "麦克风在线"],
},
{
id: "u4",
user: mockUsers[3],
rating: 4.9,
totalOrders: 832,
completionRate: 0.99,
rating: 4.8,
totalOrders: 47,
completionRate: 0.96,
status: "busy",
games: ["CS2", "无畏契约"],
services: mockServices.filter((s) => s.playerId === "u4"),
tags: ["FPS大神", "全球精英", "沟通好"],
tags: ["报点快", "节奏凶", "不压力队友"],
},
{
id: "u5",
user: mockUsers[4],
rating: 4.7,
totalOrders: 645,
completionRate: 0.97,
rating: 3.9,
totalOrders: 21,
completionRate: 0.86,
status: "available",
games: ["英雄联盟", "原神"],
services: mockServices.filter((s) => s.playerId === "u5"),
shopId: "shop1",
shopName: "王者电竞工作室",
tags: ["温柔陪玩", "辅助专精", "氛围好"],
tags: ["主辅", "不抢话", "原神日常"],
},
]
@@ -185,16 +185,16 @@ export const mockShops: Shop[] = [
owner: mockUsers[2],
name: "王者电竞工作室",
banner: "/banners/shop1.jpg",
description: "专业电竞陪玩工作室,拥有50+签约打手,覆盖主流游戏",
rating: 4.8,
totalOrders: 5600,
playerCount: 12,
description: "店里人不算多,主打晚间在线,接单后会先确认你的需求",
rating: 4.3,
totalOrders: 210,
playerCount: 7,
commissionType: "percentage",
commissionValue: 15,
allowMultiShop: false,
allowIndependentOrders: true,
dispatchMode: "manual",
announcements: ["新年活动:全场8折优惠!", "招募CS2打手,待遇从优"],
announcements: ["晚高峰单子多,排队会慢一点", "这周新加了原神代肝档位"],
templateConfig: {
sections: [
{ type: "banner", enabled: true, order: 0 },
@@ -212,27 +212,29 @@ export const mockOrders: Order[] = [
{
id: "ord1",
consumerId: "u1",
consumerName: "小明",
consumerName: "小明",
playerId: "u2",
playerName: "李大神",
playerName: "李",
shopId: "shop1",
shopName: "王者电竞工作室",
service: mockServices[0],
status: "in_progress",
totalPrice: 90,
note: "希望打上分,最好能连赢",
status: "pending_review",
totalPrice: 99,
note: "今晚冲三把,输了也别急",
createdAt: "2025-02-18T14:30:00",
acceptedAt: "2025-02-18T14:35:00",
closedAt: "2025-02-18T23:48:00",
completedAt: "2025-02-18T23:50:00",
},
{
id: "ord2",
consumerId: "u1",
consumerName: "小明",
consumerName: "小明",
playerId: "u4",
playerName: "陈Carry",
playerName: "阿辰",
service: mockServices[2],
status: "completed",
totalPrice: 120,
totalPrice: 116,
createdAt: "2025-02-15T10:00:00",
acceptedAt: "2025-02-15T10:05:00",
closedAt: "2025-02-15T12:30:00",
@@ -241,31 +243,79 @@ export const mockOrders: Order[] = [
{
id: "ord3",
consumerId: "u1",
consumerName: "小明",
consumerName: "小明",
playerId: "u5",
playerName: "甜甜",
playerName: "甜甜",
shopId: "shop1",
shopName: "王者电竞工作室",
service: mockServices[3],
status: "pending_accept",
totalPrice: 60,
note: "想轻松玩几把",
totalPrice: 69,
note: "只想放松玩,不冲分",
createdAt: "2025-02-19T20:00:00",
},
{
id: "ord4",
consumerId: "u1",
consumerName: "小明",
consumerName: "小明",
playerId: "u2",
playerName: "李大神",
playerName: "李",
shopId: "shop1",
shopName: "王者电竞工作室",
service: mockServices[1],
status: "disputed",
totalPrice: 75,
totalPrice: 87,
createdAt: "2025-02-10T16:00:00",
acceptedAt: "2025-02-10T16:10:00",
},
{
id: "ord5",
consumerId: "u1",
consumerName: "小明",
playerId: "u2",
playerName: "老李",
shopId: "shop1",
shopName: "王者电竞工作室",
service: mockServices[1],
status: "completed",
totalPrice: 58,
note: "补两星就收工",
createdAt: "2025-02-08T21:10:00",
acceptedAt: "2025-02-08T21:15:00",
closedAt: "2025-02-08T22:20:00",
completedAt: "2025-02-08T22:25:00",
},
{
id: "ord6",
consumerId: "u1",
consumerName: "小明",
playerId: "u5",
playerName: "甜甜酱",
shopId: "shop1",
shopName: "王者电竞工作室",
service: mockServices[4],
status: "completed",
totalPrice: 34,
note: "帮我清两天日常",
createdAt: "2025-02-06T19:40:00",
acceptedAt: "2025-02-06T19:45:00",
closedAt: "2025-02-06T20:25:00",
completedAt: "2025-02-06T20:28:00",
},
{
id: "ord7",
consumerId: "u1",
consumerName: "小明",
playerId: "u4",
playerName: "阿辰",
service: mockServices[2],
status: "completed",
totalPrice: 58,
createdAt: "2025-02-03T23:10:00",
acceptedAt: "2025-02-03T23:12:00",
closedAt: "2025-02-04T00:05:00",
completedAt: "2025-02-04T00:08:00",
},
]
export const mockReviews: Review[] = [
@@ -273,11 +323,11 @@ export const mockReviews: Review[] = [
id: "r1",
orderId: "ord2",
fromUserId: "u1",
fromUserName: "小明",
fromUserName: "小明同学",
fromUserAvatar: "/avatars/u1.jpg",
toUserId: "u4",
rating: 5,
content: "陈Carry太强了,三局全赢,沟通也很好!",
content: "报点很清楚,基本不用猜人在哪,打着挺舒服",
sealed: false,
createdAt: "2025-02-15T13:00:00",
},
@@ -285,11 +335,11 @@ export const mockReviews: Review[] = [
id: "r2",
orderId: "ord2",
fromUserId: "u4",
fromUserName: "陈Carry",
fromUserName: "阿辰",
fromUserAvatar: "/avatars/u4.jpg",
toUserId: "u1",
rating: 5,
content: "配合默契的队友,下次再来",
rating: 4,
content: "听指挥,节奏跟得上",
sealed: false,
createdAt: "2025-02-15T13:30:00",
},
@@ -297,14 +347,86 @@ export const mockReviews: Review[] = [
id: "r3",
orderId: "ord1",
fromUserId: "u1",
fromUserName: "小明",
fromUserName: "小明同学",
fromUserAvatar: "/avatars/u1.jpg",
toUserId: "u2",
rating: 4,
content: "技术很好,就是有时候回复慢了点",
content: "思路是有的,就是中间回消息慢了两次",
sealed: true,
createdAt: "2025-02-18T20:00:00",
},
{
id: "r4",
orderId: "ord5",
fromUserId: "u1",
fromUserName: "小明同学",
fromUserAvatar: "/avatars/u1.jpg",
toUserId: "u2",
rating: 5,
content: "补位真稳,最后一把逆风也翻了",
sealed: false,
createdAt: "2025-02-08T22:40:00",
},
{
id: "r5",
orderId: "ord5",
fromUserId: "u2",
fromUserName: "老李",
fromUserAvatar: "/avatars/u2.jpg",
toUserId: "u1",
rating: 4,
content: "配合不错,输一把也没急",
sealed: false,
createdAt: "2025-02-08T22:45:00",
},
{
id: "r6",
orderId: "ord6",
fromUserId: "u1",
fromUserName: "小明同学",
fromUserAvatar: "/avatars/u1.jpg",
toUserId: "u5",
rating: 3,
content: "日常都清了,但比说好的晚了一点",
sealed: false,
createdAt: "2025-02-06T20:40:00",
},
{
id: "r7",
orderId: "ord6",
fromUserId: "u5",
fromUserName: "甜甜",
fromUserAvatar: "/avatars/u5.jpg",
toUserId: "u1",
rating: 4,
content: "需求说得很清楚,沟通省心",
sealed: false,
createdAt: "2025-02-06T20:46:00",
},
{
id: "r8",
orderId: "ord7",
fromUserId: "u1",
fromUserName: "小明同学",
fromUserAvatar: "/avatars/u1.jpg",
toUserId: "u4",
rating: 5,
content: "这把节奏太快了 爽",
sealed: false,
createdAt: "2025-02-04T00:20:00",
},
{
id: "r9",
orderId: "ord7",
fromUserId: "u4",
fromUserName: "阿辰",
fromUserAvatar: "/avatars/u4.jpg",
toUserId: "u1",
rating: 5,
content: "上手很快,基本不用多说",
sealed: false,
createdAt: "2025-02-04T00:25:00",
},
]
export const mockDisputes: Dispute[] = [
@@ -312,8 +434,8 @@ export const mockDisputes: Dispute[] = [
id: "d1",
orderId: "ord4",
initiatorId: "u1",
initiatorName: "小明",
reason: "打手中途离开游戏,未完成约定的上星数量",
initiatorName: "小明同学",
reason: "中途掉线后一直没回来,约好的上星数量没打完",
evidence: ["/evidence/d1-1.jpg", "/evidence/d1-2.jpg"],
status: "reviewing",
createdAt: "2025-02-12T10:00:00",
@@ -326,10 +448,10 @@ export const mockChatSessions: ChatSession[] = [
type: "order",
orderId: "ord1",
participants: [
{ id: "u1", name: "小明", avatar: "/avatars/u1.jpg" },
{ id: "u2", name: "李大神", avatar: "/avatars/u2.jpg" },
{ id: "u1", name: "小明同学", avatar: "/avatars/u1.jpg" },
{ id: "u2", name: "李", avatar: "/avatars/u2.jpg" },
],
lastMessage: "今晚8点开始可以吗",
lastMessage: "今晚8点开始可以吗",
lastMessageAt: "2025-02-18T18:30:00",
unreadCount: 2,
readonly: false,
@@ -338,10 +460,10 @@ export const mockChatSessions: ChatSession[] = [
id: "chat2",
type: "consultation",
participants: [
{ id: "u1", name: "小明", avatar: "/avatars/u1.jpg" },
{ id: "u5", name: "甜甜", avatar: "/avatars/u5.jpg" },
{ id: "u1", name: "小明同学", avatar: "/avatars/u1.jpg" },
{ id: "u5", name: "甜甜", avatar: "/avatars/u5.jpg" },
],
lastMessage: "请问你周末有空吗?",
lastMessage: "周末能接两把吗",
lastMessageAt: "2025-02-19T15:00:00",
unreadCount: 0,
readonly: false,
@@ -351,10 +473,10 @@ export const mockChatSessions: ChatSession[] = [
type: "order",
orderId: "ord2",
participants: [
{ id: "u1", name: "小明", avatar: "/avatars/u1.jpg" },
{ id: "u4", name: "陈Carry", avatar: "/avatars/u4.jpg" },
{ id: "u1", name: "小明同学", avatar: "/avatars/u1.jpg" },
{ id: "u4", name: "阿辰", avatar: "/avatars/u4.jpg" },
],
lastMessage: "GG,下次再来!",
lastMessage: "gg 改天再打",
lastMessageAt: "2025-02-15T12:30:00",
unreadCount: 0,
readonly: true,
@@ -366,40 +488,40 @@ export const mockChatMessages: ChatMessage[] = [
id: "msg1",
sessionId: "chat1",
senderId: "u1",
senderName: "小明",
senderName: "小明同学",
senderAvatar: "/avatars/u1.jpg",
type: "system",
content: "订单创建,聊天会话已开启",
content: "订单创建成功",
createdAt: "2025-02-18T14:35:00",
},
{
id: "msg2",
sessionId: "chat1",
senderId: "u2",
senderName: "李大神",
senderName: "李",
senderAvatar: "/avatars/u2.jpg",
type: "text",
content: "你好!我已接单,请问什么时候方便开始?",
content: "在的,今晚能开。你想打几把",
createdAt: "2025-02-18T14:36:00",
},
{
id: "msg3",
sessionId: "chat1",
senderId: "u1",
senderName: "小明",
senderName: "小明同学",
senderAvatar: "/avatars/u1.jpg",
type: "text",
content: "今晚8点开始可以吗",
content: "今晚8点开始可以吗",
createdAt: "2025-02-18T18:30:00",
},
{
id: "msg4",
sessionId: "chat1",
senderId: "u2",
senderName: "李大神",
senderName: "李",
senderAvatar: "/avatars/u2.jpg",
type: "text",
content: "没问题,到时候见!我的游戏ID是 ProLi#1234",
content: "行 8点我拉你",
createdAt: "2025-02-18T18:32:00",
},
]
@@ -409,11 +531,10 @@ export const mockPosts: Post[] = [
id: "p1",
author: mockUsers[0],
authorRole: "consumer",
title: "CS2上分体验分享",
content:
"找了陈Carry陪玩CS2,三局全赢直接上了全球精英,太爽了!打手技术真的没话说,推荐给大家。",
title: "CS2上分记录",
content: "昨晚和阿辰连打了两小时,节奏很快,报点特别清楚。虽然也输了一把,但整体体验不错。",
images: ["/posts/p1-1.jpg"],
tags: ["CS2", "上分", "好评"],
tags: ["CS2", "上分"],
linkedOrderId: "ord2",
likeCount: 42,
commentCount: 8,
@@ -425,8 +546,8 @@ export const mockPosts: Post[] = [
id: "p2",
author: mockUsers[1],
authorRole: "player",
title: "新赛季英雄联盟上分攻略",
content: "新赛季版本变动很大,分享一下我的上分心得。目前胜率最高的英雄是...",
title: "新赛季LOL上分思路",
content: "新赛季改动有点多,先别急着硬冲分。前10分钟别乱接团,先稳住发育。",
images: [],
tags: ["英雄联盟", "攻略", "新赛季"],
likeCount: 128,
@@ -439,10 +560,10 @@ export const mockPosts: Post[] = [
id: "p3",
author: mockUsers[4],
authorRole: "player",
title: "原神4.5版本日常代肝服务上线",
content: "版本活动多,没时间肝的朋友可以找我,保证每日任务+活动全清。",
title: "原神4.5版本代肝开放",
content: "版本活动确实多,没空上线的话我可以帮你把委托和体力清掉,做完会回传截图。",
images: ["/posts/p3-1.jpg", "/posts/p3-2.jpg"],
tags: ["原神", "代肝", "新版本"],
tags: ["原神", "代肝"],
likeCount: 67,
commentCount: 12,
liked: false,
@@ -456,7 +577,7 @@ export const mockComments: Comment[] = [
id: "c1",
postId: "p1",
author: mockUsers[3],
content: "感谢好评!下次继续带飞 💪",
content: "谢了 下次继续 💪",
likeCount: 15,
liked: false,
createdAt: "2025-02-16T11:00:00",
@@ -465,7 +586,7 @@ export const mockComments: Comment[] = [
id: "c2",
postId: "p1",
author: mockUsers[4],
content: "陈Carry确实厉害,我们工作室的王牌",
content: "他报点是真的快,我也常跟他排",
likeCount: 8,
liked: false,
createdAt: "2025-02-16T12:00:00",
@@ -474,7 +595,7 @@ export const mockComments: Comment[] = [
id: "c3",
postId: "p2",
author: mockUsers[0],
content: "大神的攻略太有用了,学到了很多",
content: "这条有用,照着打舒服多了",
likeCount: 5,
liked: true,
createdAt: "2025-02-14T10:00:00",
@@ -486,7 +607,7 @@ export const mockNotifications: Notification[] = [
id: "n1",
type: "order",
title: "订单已接单",
content: "李大神已接受你的英雄联盟陪玩订单",
content: "老李已接单,记得按时上线",
read: false,
link: "/order/ord1",
createdAt: "2025-02-18T14:35:00",
@@ -495,7 +616,7 @@ export const mockNotifications: Notification[] = [
id: "n2",
type: "order",
title: "争议处理中",
content: "你发起的订单争议正在审核",
content: "你发起的订单争议正在审核",
read: true,
link: "/dispute/ord4",
createdAt: "2025-02-12T10:05:00",
@@ -503,8 +624,8 @@ export const mockNotifications: Notification[] = [
{
id: "n3",
type: "community",
title: "帖子获得点赞",
content: "你的帖子「CS2上分体验分享」获得了42个赞",
title: "帖子获赞",
content: "「CS2上分记录」收到了42个赞",
read: false,
link: "/post/p1",
createdAt: "2025-02-17T20:00:00",
@@ -513,7 +634,7 @@ export const mockNotifications: Notification[] = [
id: "n4",
type: "system",
title: "平台公告",
content: "聚玩春节活动即将开始,敬请期待!",
content: "春节活动已上线,首页可以直接领券",
read: true,
createdAt: "2025-02-01T00:00:00",
},
@@ -521,7 +642,7 @@ export const mockNotifications: Notification[] = [
id: "n5",
type: "community",
title: "新评论",
content: "陈Carry评论了你的帖子",
content: "阿辰评论了你的帖子",
read: false,
link: "/post/p1",
createdAt: "2025-02-16T11:00:00",
@@ -539,14 +660,14 @@ export const mockTransactions: WalletTransaction[] = [
{
id: "t2",
type: "payment",
amount: -120,
amount: -116,
description: "支付订单 ord2",
createdAt: "2025-02-15T10:00:00",
},
{
id: "t3",
type: "payment",
amount: -90,
amount: -99,
description: "支付订单 ord1",
createdAt: "2025-02-18T14:30:00",
},
@@ -560,14 +681,42 @@ export const mockTransactions: WalletTransaction[] = [
{
id: "t5",
type: "payment",
amount: -60,
amount: -69,
description: "支付订单 ord3",
createdAt: "2025-02-19T20:00:00",
},
{
id: "t6",
type: "payment",
amount: -87,
description: "支付订单 ord4",
createdAt: "2025-02-10T16:00:00",
},
{
id: "t7",
type: "payment",
amount: -58,
description: "支付订单 ord5",
createdAt: "2025-02-08T21:10:00",
},
{
id: "t8",
type: "payment",
amount: -34,
description: "支付订单 ord6",
createdAt: "2025-02-06T19:40:00",
},
{
id: "t9",
type: "payment",
amount: -58,
description: "支付订单 ord7",
createdAt: "2025-02-03T23:10:00",
},
]
export const currentUser = mockUsers[0]
export const walletBalance = 430
export const walletBalance = 179
export const mockFavorites: Favorite[] = [
{