| 123456789101112131415161718192021222324252627 |
- /**
- * 会员有效态(前端入口可见性统一判据)
- *
- * 唯一判据 = POST /api/ai/gate 返回 data.isActive === true。
- * 刻意不使用 canUse / status:运营开关 ai.coach.member_gate_enabled 关闭时,
- * 后端会把未付费用户的 status 也置为 ALLOW / canUse=true,用它判入口会放行非会员。
- * isActive 在开关判断之前按真实付费记录填充
- * (users.member_expire_time > now 或 family_memberships payment_status='paid' 且 end_date > now),
- * 不受运营开关影响,也不受当日 AI 配额影响。
- *
- * 过期会员 isActive=false,按需求一律隐藏入口、不补历史入口。
- * fail-closed:无 token 直接 false(不发请求);接口异常/超时/字段缺失一律 false。
- *
- * @returns {Promise<boolean>} 是否为有效付费会员
- */
- import { aiGateStatus } from './api.js'
- export const isActiveMember = () => {
- if (!uni.getStorageSync('token')) {
- return Promise.resolve(false)
- }
- return aiGateStatus().then(function(res) {
- return !!(res && res.data && res.data.isActive === true)
- }).catch(function() {
- return false
- })
- }
|