From ebdf56a361eb600cc74978376e752abc684587c6 Mon Sep 17 00:00:00 2001 From: zetaloop Date: Fri, 20 Feb 2026 20:34:40 +0800 Subject: [PATCH] fix: rewrite mock data for realism --- lib/mock-data.ts | 385 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 267 insertions(+), 118 deletions(-) diff --git a/lib/mock-data.ts b/lib/mock-data.ts index 3341179..3fc6f29 100644 --- a/lib/mock-data.ts +++ b/lib/mock-data.ts @@ -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[] = [ {