摩登国粹这是一款面向熟人麻将圈子的战绩记录与统计小程序。核心解决麻友群体几个痛点:谁赢了多少、谁最近手气好,下一局什么时候打、约了谁,打完了谁该给谁多少钱,产品定位是熟人社交 + 轻量记账工具,不涉及线上赌博或现金交易,只做记录和统计。
核心功能模块
1️⃣ 圈子管理
• 创建麻将圈子(比如"老友局"、"牌友群")
• 通过微信分享链接邀请好友加入
• 成员管理,显示所有圈友
2️⃣ 约局系统
• 发起约局:设定 日期、时间、地点、预计时长(2-6小时)
• 成员报名参加("我要参加"按钮)
• 约局状态自动管理:进行中→结束后自动标为"已结束"
• 约局记录列表:按时间展示历史约局
3️⃣ 战绩填报
• 每局结束后填写个人输赢金额
• 方位选择:东南西北(可以统计哪个位置手气好)
• 快速金额选择:+50/+80/+100/-50/-80/-100
• 发起人可代填全体战绩(一个人帮所有人填)
• 提交后不可修改、不可重复提交(防作弊)
4️⃣ 排行榜(3个维度)
• 金额榜:总输赢排名
• 胜率榜:赢的局数比例排名
• 场数榜:谁打得最多
• 特色:连续3场+赢显示🔥连胜,连续3场+输显示💔连败
5️⃣ 个人统计(数据最丰富的页面)
• 总场次、总输赢、胜率、胜负记录
• 最高单场/最惨单场
• 柱状图:每日输赢走势(红色赢/灰色输)
• 折线图:累计金额趋势
• 方位偏好统计:东南西北哪个位置你赢最多
• 支持按 日/周/月/年 切换
• 支持查看 自己或其他成员 的统计
6️⃣ 本周牌王
• 显示当前圈子本周累计赢钱最多的玩家
• 在圈子首页顶部金色横幅展示
技术选型
前端:微信小程序原生(WXML + WXSS + JS)
后端:微信云开发(Serverless)
数据库:云开发数据库(MongoDB-like)
云存储:头像上传
图表:Canvas 2D 手写
1. Action-Dispatch 模式
2. "摩登国粹"设计系统
全局 CSS 变量驱动的设计,深酒红 + 暖金 + 羊皮纸白,定位是 新中式熟人社交——温暖、有质感、不严肃。
3. 分享即入口
难点1:云开发没有聚合管道
问题:排行榜需要按玩家分组聚合(总金额、胜率、场数、连胜连败),但云开发数据库没有 MongoDB 的 $group 聚合功能。
解决办法:全部在云函数中用 JS 手写聚合逻辑。代价:数据量大了之后性能会下降(单次最多取100条,云函数内存128MB),但目前熟人麻将圈子的数据量级没问题。
难点2:Canvas 2D 手写图表
解决办法:手写两个核心函数 drawBarChart 和 drawLineChart,pixelRatio 适配 + 延迟绘制。