• bbs1org

    「我的徽章」是 user_level 插件里的成就任务中心(个人卡片入口,路由 user_level_tasks),核心是三件事:做任务 → 手动领取积分 → 点亮徽章。

    paste-20261008-084507.png
    一、内置任务分组

    • 每日任务(当天重置):每天签到、浏览主题、回帖、发主题、点赞等,达标即可领,第二天重新来。
    • 新手起航:设头像、填签名、注册满 7 天、首个主题/首条回复。
    • 内容创作:累计主题、回复、深更发帖、人气热帖等。
    • 社交互动:获得/送出点赞。
    • 打卡习惯:近 7 天到访 5 天等。

    默认 19 个,绝大多数是“领取一次、永久点亮”的一次性徽章,每日那 5 个按天轮换。

    二、领取机制(关键特性)

    • 手动领取、领取时实时判定:任务完成度在你点“领取”那一刻重算,达标才发积分;未达标不发、已领不重发(幂等)。
    • 一键领取已完成:把当前所有已达标未领取的一次性领完。
    • 积分经 user_points_change 入账,带流水说明“成就任务·xxx”。

    三、徽章的查看与展示

    • 页面每个任务带 emoji 徽章 + 进度条 + 状态(未完成进度 / 已点亮 / 待领取按钮)。
    • 主题页 post-meta:展示当前用户已点亮的徽章(每日优先,个数后台可调,可后台只开每日),点击跳回「我的徽章」。
    • 入口红数字角标:有“未学时值”徽章时,“我的徽章”入口显示红色待领取数量(当日缓存驱动,避免每页全量重算;页面开着时按键即更新)。

    四、后台独立面板

    • 每个任务可独立开关、改积分、改徽章 emoji;另有“入口开关”、“角标日显示个数 / 只显示每日”、“个人卡片入口是否显示”等开关。

    五、数据与边界

    • 只用插件自有表(plugin_user_level_task_claims 领取表,主键 user_id+task_key+period)+系统核心表(app_users/app_topics/app_replies)+ 插件流水 plugin_user_level_users/logs,不

    依赖第三方插件。

    • 一次性任务 period='0' 永久;每日 period='日期' 当天。

    一句话:做成就、手动领积、挂徽章、入口红点提醒。

    最后由 bbs1org 编辑于 2026-10-08 08:45
    主楼
  • lecoy

    全部领取 哈哈

    #1
  • bbs1org

    额外之财,必须领取

    #2

发表回复

登录后回复