feat: add smart_mode_free toggle — all users get smart mode when enabled

Server: subscription API returns active when smart_mode_free is true.
Admin console: add toggle switch in settings page under feature flags.
Default: true (free for all users during promotion period).
这个提交包含在:
Guoguo
2026-07-02 06:05:04 -07:00
父节点 94c9af146a
当前提交 0341e62726
修改 2 个文件,包含 14 行新增0 行删除
+10
查看文件
@@ -105,6 +105,15 @@
<view class="toggle-dot"></view>
</view>
</view>
<view class="toggle-item">
<view class="toggle-info">
<text class="toggle-label">智能模式免费</text>
<text class="toggle-desc">开启后所有用户可免费使用智能模式</text>
</view>
<view class="toggle-switch" :class="{ on: settings.smart_mode_free }" @click="settings.smart_mode_free = !settings.smart_mode_free">
<view class="toggle-dot"></view>
</view>
</view>
<view class="toggle-item">
<view class="toggle-info">
<text class="toggle-label">维护模式</text>
@@ -142,6 +151,7 @@ export default {
enable_register: true,
enable_binding: true,
enable_free_mode: true,
smart_mode_free: true,
maintenance_mode: false
},
timezoneOptions: ['Asia/Shanghai', 'Asia/Tokyo', 'America/New_York', 'Europe/London'],
+4
查看文件
@@ -28,6 +28,10 @@ router.get('/subscription/plans', wrap(async (req, res) => {
}))
router.get('/subscription', requireUser, wrap(async (req, res) => {
const settings = await getSettings()
if (settings.smart_mode_free === true || settings.smart_mode_free === 'true') {
return res.json(ok({ status: 'active', plan: 'free', remaining_days: 9999, trial_used: false }))
}
const sub = await subscriptionDao.findActive(req.user.user_id)
const trialUsed = await subscriptionDao.findTrial(req.user.user_id)
if (!sub) return res.json(ok({ status: 'inactive', plan: 'none', remaining_days: 0, trial_used: !!trialUsed }))