博客系统自文档 · 第 9/16 篇
目录 · 上一篇:数据权限与机构专栏 · 下一篇:RPG 技术实现
写在前面
这是本博客区别于普通静态博客的 差异化能力:把读写评赞变成 RPG 成长线。
本篇只讲 玩法与体验;WebSocket、Redis Stream 等实现细节放在第 10 篇。
在线试玩:Web /rpg、/features/rpg-guide;移动端 TabBar「冒险」。
功能与体验:冒险中心
Web /rpg 与 uni-app /pages-rpg/index/index 均为 五 Tab 布局(支持 ?tab= 深链):
| Tab | 内容 |
|---|---|
| 状态 | 签到、等级、HP、Buff 列表、任务/成就入口 |
| 背包 | 称号、头像框、装扮穿戴 |
| 宠物 | 宠物收集与展示 |
| 公会 | 成员与公会事件 |
| 排行榜 | 经验/财富榜,周期 total/week/month;/rpg/leaderboard 重定向至 ?tab=leaderboard |
| 维度 | 入口 / 表现 | 玩家感受 |
|---|---|---|
| 用户成长 | 签到、等级条 | 每日来站有回报 |
| 文章成长 | 详情页文章等级、神作 | 好文「养」出来 |
| 装扮收集 | 背包、头像框、称号、宠物 | 可视化个性 |
| 随机惊喜 | Buff、抽奖、天气加成 | 不确定奖励 |
| 社交互动 | 打赏、加油/砸蛋/送花、公会 | 读者与作者互动 |
| 钻石充值 | 余额不足弹动态码 | 支付宝扫码,到账 WS 推送 |
| 赛季运营 | 活动、排行榜 | 周期性拉活 |
音效(Web)
冒险页 BGM 默认关闭,用户手动开启;短音效 Web Audio 合成 + 传说 fanfare 用 howler 播文件。详见 blog-home-nuxt/docs/rpg-audio-guide.md。uni-app 为简化版音频实现。
核心玩法速览
1. 签到
- API:
POST /rpg/sign - 基础 10 EXP,恢复 HP,每日 抽奖券 +1(连签 7 天倍数额外 +3)
- 连续 3/7/14/30 天有阶梯额外经验
2. 双轨成长
用户等级:评论、发文、点赞、任务、成就等来源叠加经验;公式 Lv.N 最低经验 = N×(N-1)×50。
文章等级:每篇文章独立 EXP/等级,阅读与互动喂养;达阈值可晋升 神作。
作者声望:影响新发文初始经验,形成「优质作者」正循环。
3. 钻石经济
- 通用货币,存于背包物品
currency(中文名「钻石」) - 注册送 200;升级 LV2/5/10/15 额外送钻石
- 用途:打赏、社交消耗(加油/砸蛋/送花)、钻石抽奖
- 充值:C 端
POST /rpg/recharge/create(金额元)→ 返回支付宝动态二维码 → 支付成功后 WSrechargeComplete更新余额(1 元 = 100 钻石);Admin 可手工补钻
4. 任务与成就
- 每日任务:懒重置(按日期键过滤,无需 cron 清零)
- 悬赏任务:更高经验回报
- 成就:达成后自动发经验,客户端
/realtime推送庆祝;卡片统一进度条布局,达成后稀有度体现在图标配色
5. 抽奖
- 消耗 抽奖券 或 钻石(双货币池)
- 保底计数
lotteryPityCounter(史诗 90)与lotteryLegendaryPityCounter(传说 180)独立;奖品配置来自rpg_item_config
6. 社交
| 行为 | 效果 |
|---|---|
| 文章打赏 | 作者得钻石,文章得经验 |
| 加油 / 砸蛋 / 送花 | 消耗钻石,影响 HP 等;收到时全屏弹框 + Toast |
| 公会 | 成员协作与公会事件 |
7. 负向约束(游戏化治理)
- 生命值 HP:不当行为扣血
- 禁言:敏感词等与
banStatus联动,RPG 页不可签到
设计与实现(概览)
flowchart LR
subgraph actions [用户行为]
Sign[签到]
Post[发文]
Comment[评论]
Tip[打赏]
Recharge[充值]
end
subgraph backend [blog-server /rpg]
RpgSvc[RpgService 各领域]
Events[blog:events Stream]
WS[RealtimeGateway]
end
actions --> RpgSvc
Recharge --> Pay[pay 模块]
RpgSvc --> Events
RpgSvc --> WS
Pay --> WS
WS --> Client["Nuxt / uni-app Toast"]
- 物品展示 后端化:称号/头像框名称、稀有度颜色均来自
rpg_item_config,客户端不硬编码 map - 完整规则表见仓库
RPG-GAMEPLAY.md
踩坑与取舍
- 玩法配置分散:数值在 constants、种子
COSMETIC_ITEM_SEEDS、DBrpg_item_config三处,改数值需对照 TECH 文档。 - 实时感依赖
/realtime:升级弹窗、成就通知、充值到账走 WebSocket,非轮询。 - admin 有独立 RPG 运营页:奖池、活动、公会等可在后台配置。
- 充值与打赏是不同链路:充值走 pay 订单 +
RechargeService;打赏走 RPG 钻石转账。
系列导航
- 目录:博客系统分类
- 上一篇:08 数据权限与机构专栏
- 下一篇:10 RPG 技术实现
- 导读:导读 · 第 0 篇
延伸阅读
- 玩法详表:
blog-server/src/modules/rpg/RPG-GAMEPLAY.md - 音效指南:
blog-home-nuxt/docs/rpg-audio-guide.md - 技术架构:第 10 篇 · RPG 技术实现 或
RPG-TECH.md

全部评论(0)