feat(platform): manage learning access definitions

This commit is contained in:
2026-08-05 14:01:45 +08:00
parent df31c3a669
commit c0308f86e4
4 changed files with 8372 additions and 6866 deletions

View File

@@ -7,6 +7,7 @@ export const platformGroups = [
{ key: 'catalog', label: 'SaaS 商品', description: '功能、限额、套餐与版本生命周期' },
{ key: 'billing', label: '订阅与账务', description: '订单、订阅、支付、退款、发票、用量与催缴' },
{ key: 'question-banks', label: '公共题库', description: '题库结构、题目、导入与资源上传' },
{ key: 'learning-access', label: '学习授权', description: '业务线、市场地区、租户许可、内容切片与学习产品' },
{ key: 'crm', label: 'CRM 能力', description: '租户 CRM 配置、线索队列与推送日志' },
{ key: 'sms', label: '短信能力', description: '租户短信渠道、模板与发送日志' },
{ key: 'payments', label: '支付设置', description: '平台支付与租户支付应用托管' },
@@ -26,6 +27,7 @@ export function groupForOperation(operation: PlatformOperation): PlatformGroupKe
if (route.startsWith('/api/platform/governance')) return 'governance';
if (route.startsWith('/api/platform/tenants') || route.startsWith('/api/platform/domains')) return 'tenants';
if (route.startsWith('/api/platform/question-banks')) return 'question-banks';
if (route.startsWith('/api/platform/learning-access')) return 'learning-access';
if (route.startsWith('/api/platform/tenant-capabilities/crm')) return 'crm';
if (route.startsWith('/api/platform/tenant-capabilities/sms')) return 'sms';
if (route.startsWith('/api/platform/payment-settings') || route.startsWith('/api/platform/tenant-capabilities/payments')) return 'payments';

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -17,6 +17,7 @@ export const businessPages: readonly BusinessPageDefinition[] = [
{ key: 'usage', eyebrow: 'SaaS 账务', title: '用量与超额计费', description: '按租户和账期查看席位、题量、存储等 SaaS 用量。', matches: (op) => starts(op, '/api/platform/saas/usage') },
{ key: 'dunning', eyebrow: 'SaaS 账务', title: '收款、逾期与催缴', description: '处理人工收款、账单提醒、催缴渠道与失败事件重试。', matches: (op) => starts(op, '/api/platform/saas/payments') || starts(op, '/api/platform/saas/dunning') || starts(op, '/api/platform/saas/invoices/reminders') },
{ key: 'question-banks', eyebrow: '平台资产', title: '公共题库工作台', description: '维护题库、内容结构、题目版本、批量导入与资源上传。', matches: (op) => starts(op, '/api/platform/question-banks') },
{ key: 'learning-access', eyebrow: '学习授权', title: '业务与内容授权', description: '配置可扩展业务线、市场地区、租户许可、内容切片与学习产品范围。', matches: (op) => starts(op, '/api/platform/learning-access') },
{ key: 'crm', eyebrow: '客户服务', title: 'CRM 接入与线索队列', description: '管理租户 CRM 配置、线索推送队列、失败重试与投递日志。', matches: (op) => starts(op, '/api/platform/tenant-capabilities/crm') },
{ key: 'sms', eyebrow: '消息服务', title: '短信渠道、模板与发送日志', description: '管理租户短信渠道和模板审核,并检索短信发送记录。', matches: (op) => starts(op, '/api/platform/tenant-capabilities/sms') },
{ key: 'payments', eyebrow: '支付服务', title: '支付应用、渠道与事件', description: '管理平台和租户支付应用、支付渠道、回调事件及返佣汇总。', matches: (op) => starts(op, '/api/platform/payment-settings') || starts(op, '/api/platform/tenant-capabilities/payments') },