QQ扫一扫联系
积分体系最常见的死法:活动上线,发了一波积分,用户领完就走,因为积分没地方用,也没有理由天天来。
签到是成本最低的「每天来一次」的理由。这个模块把签到做成一条 7 天的周期:连着签,奖励递增,断了从头算。
后台「用户签到 → 奖励设置」里,是一张按天的表:第 1 天到第 7 天,再加一行「超过 7 天」。
每一行配两样东西,各自是一个区间:
签到的时候在这个区间里随机取一个数。填 0 或留空表示这一项不启用,两个可以同时配。
为什么给区间而不是固定值:用户签到之后看到「获得 18 积分」,和看到「获得 10 积分」的体感不一样。随机的小惊喜是签到留存的一部分,虽然期望值完全一样。
第 7 天之后怎么算:走「超过 7 天」那一行,不再递增。想做成「签得越久给得越多」,把第 7 天配高一点,之后维持住。
一个实际的配法参考:
| 天 | 积分 | 红包 |
|---|---|---|
| 1 | 5~10 | — |
| 2 | 5~10 | — |
| 3 | 10~15 | — |
| 4 | 10~15 | — |
| 5 | 15~20 | — |
| 6 | 15~20 | — |
| 7 | 30~50 | 0.5~1 |
| 超过 7 天 | 10~15 | — |
第 7 天给红包,是因为整周的门槛感最强的一天需要一点额外的理由。金额别大,一两块钱的刺激足够,量大了会被羊毛党盯上。

除了每日签到,还有一层「任务」:一次性任务、周期性任务,以及逻辑更复杂的。
每个任务是一个独立的提供者(MemberSignTaskProvider),后台能看到它的开关、标题、描述、图标,以及自己的积分和红包区间。开哪个、叫什么名字、给多少,都在这里配。
任务和签到的关系是:任务完成也算「今日已签」,或者反过来,签到之后顺便完成某些任务。具体行为看各个任务提供者的实现。装完之后后台「签到任务」那一栏里有什么,取决于站里装了哪些模块。
/member_sign 是一个独立页面,结构很清晰:
日历这个设计比「已连续签到 3 天」的文字更有用:用户一眼能看到自己这个月断了几天,断开的位置很清楚。断签的心理成本,往往比奖励的吸引力更能驱动连续行为。
页面上的文案有两项可配:「签到标题」(默认「签到有好礼」)和「签到副标题」(默认「每日签到领取奖励」)。默认文案能用,但换成跟站点业务相关的会好一点。
签到发的积分,进的是会员模块的积分账户,流水里的备注是签到奖励。红包进的是余额,可以直接消费或提现(能不能提现看会员模块的配置)。
所以它必须装在 Member 之上。积分和余额这两个账户没配好,签到会出现「签到成功但积分没变」的情况。
奖励要算总账。 一天 10 积分,一千个日活,一个月就是三十万积分。这些积分迟早要在站里被消费掉(兑换商品、解锁内容),换算成钱是多少,上线前算一遍。签到是最容易被刷的积分来源。
连续签到的判定在服务端。 换设备、清缓存都不该影响,但「当天」的边界要按服务器时区算。跨时区部署时确认一下时区配置,否则会出现「刚签完又能签」。
别把奖励设成必得大奖。 100% 有奖的活动,用户三天就腻;全空签,第二天就没人来了。区间随机的设计本身就是为了避免这两种极端。
和会员等级联动。 如果站里有 VIP 等级,可以给高等级用户配更高的签到奖励(这需要在会员侧做,不在签到模块里)。签到是留存工具,不是增长工具,别指望它拉新。