# **RVW V4.0 期刊租户配置中心开发需求** **模块定位:** 依托现有 ADMIN 运营端 TenantDetailPage,为每个期刊客户建立独立的配置中枢。 **核心目标:** 实现期刊 SaaS 的“千刊千面”,包括基础品牌信息定制与底层 AI 审稿 Skills 规则的动态编排。 ## **🎯 一、 前端 UI 与功能分区要求** 在现有的 ADMIN 租户详情页(TenantDetailPage)中,构建两大核心配置区块(可作为独立的 Tab 或折叠面板): ### **区块 1:期刊基础信息与门户配置 (Basic Info & Portal)** 用于定义该期刊的对外面貌和访问入口。 | 配置项名称 | 字段类型 | UI 组件 | 功能说明 | | :---- | :---- | :---- | :---- | | **期刊全称** | String | 文本输入框 | 如:*Journal of Translational Internal Medicine*。显示在登录页及工作台顶部。 | | **访问路径 (URL Slug)** | String | 文本输入框 (需正则校验) | **极重要**:用于生成 review.xunzhengyixue.com/{slug}。仅允许小写字母、数字和连字符。 | | **期刊 Logo** | String | 图片上传组件 | 上传至 OSS 后保存 URL。用于替换默认的系统 Logo。 | | **品牌主色调** | String | 颜色拾取器 (Color Picker) | 支持 HEX 色值(如 \#0284c7)。用于动态渲染按钮和高亮文字。 | | **专属登录页背景图** | String | 图片上传组件 | (可选) 替换登录页的默认背景,增强品牌沉浸感。 | ### **区块 2:智能审稿配置 (RVW Skills Config)** 这是该模块的核心,分为 4 个独立的配置面板(Panel): #### **Panel A: 稿约规范评估 (Editorial)** * **规则列表维护**:支持增删改查。每条规则需包含 规则编号 (Code) 和 规则描述 (Description)。 * **致命错误开关 (Fatal Flag)**:每条规则后跟随一个 Switch 开关。开启后,该项缺陷将作为“一票否决”项在前端红底高亮。 #### **Panel B: 方法学评估 (Methodology) \- 【需支持动静分离与预览】** * **专家评判标准 (Prompt)**:大文本框。供运营人员输入该期刊特有的统计学和方法学要求(大模型读取)。 * **报告展示模板 (Handlebars)**:大文本框。用于配置最终输出给责编的 Markdown 格式。 * ⚠️ **强依赖功能:测试渲染 (Test Render)**:**必须**在模板编辑区提供一个“预览”按钮。点击后,使用系统内置的假 JSON 数据(Mock Data)与当前模板进行结合,在右侧弹出抽屉实时渲染出 Markdown 结果,以防止语法错误。 #### **Panel C: 数据验证 (Data Forensics)** * **验证深度 (Level)**:提供三个单选按钮(Radio): * L1 算术验证:仅核对行列加总、百分比。 * L2 统计验证:包含 L1,增加 CI↔P 一致性逆向验证(推荐)。 * L3 双通道核查:包含 L2,增加大模型智能深度核查(耗时较长)。 #### **Panel D: 临床专业评估 (Clinical)** * **FINER 权重占比**:提供 5 个数字输入框(或滑块),分别对应 Feasibility, Innovation, Novelty, Ethical, Relevant。前端需实时校验总和是否等于 100%。 * **专科特色要求**:文本区,填写该期刊的专科倾向性偏好(如:心血管领域的特殊要求)。 ## **💾 二、 数据库 Schema 设计 (Prisma)** 本模块涉及两部分数据的存储:基础信息存入已有的 Tenants 表,审稿配置存入新增的 TenantRvwConfig 表。 ### **1\. 基础信息存储 (platform\_schema.tenants)** 利用现有的租户表。假设现有表结构已有 code (即 URL Slug) 和 name (期刊名称)。对于 Logo、颜色等品牌视觉资产,建议统一存入 config JSON 字段中。 // 无需新建表,在原 Tenants 表中合理利用字段 model Tenant { id String @id @default(uuid()) code String @unique // 对应 URL Slug,如 'jtim' name String // 期刊全称 // 品牌视觉信息存入此 JSON 字段,避免频繁改表结构 config Json? // 格式:{ logoUrl: "...", brandColor: "\#...", bgImgUrl: "..." } rvwConfig TenantRvwConfig? // 关联 RVW 配置表 } ### **2\. RVW Skills 配置存储 (新增表)** 执行 prisma migrate dev 创建以下 1对1 扩展表: model TenantRvwConfig { id String @id @default(uuid()) tenantId String @unique tenant Tenant @relation(fields: \[tenantId\], references: \[id\]) // Panel A: 稿约规范 (存为 JSON 数组) // 结构: \[{ code: 'ED-01', desc: '摘要需控制在250字内', isFatal: true }\] editorialRules Json? // Panel B: 方法学评估 methodologyExpertPrompt String? @db.Text methodologyHandlebarsTemplate String? @db.Text // Panel C: 数据验证 dataForensicsLevel String @default("L2") // 'L1', 'L2', 'L3' // Panel D: 临床评估 (存为 JSON) // 结构: { f: 20, i: 20, n: 20, e: 20, r: 20 } finerWeights Json? clinicalExpertPrompt String? @db.Text createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@schema("platform\_schema") } ## **🔌 三、 后端 API 接口设计** 新增统一的租户管理与 RVW 配置接口: ### **1\. 内部 ADMIN 配置接口 (需要 ops:user-ops 权限)** * PUT /api/admin/tenants/:id/basic-info:更新期刊名称、Slug、品牌 Logo 等信息。 * GET /api/admin/tenants/:id/rvw-config:获取指定期刊的 Skills 配置。 * PUT /api/admin/tenants/:id/rvw-config:UPSERT (更新或创建) 期刊 Skills 配置。 ### **2\. 公开业务接口 (无 Auth,用于动态登录页渲染)** * GET /api/v1/tenants/public-info/:slug * **参数**:slug (例如 'jtim') * **返回**:{ name, logoUrl, brandColor, bgImgUrl } * **限流要求**:必须添加 Rate Limiting (防刷防爬)。 ## **👥 四、 实施 SOP:用户与期刊绑定(无需开发)** **给开发团队的提示**:业务上,客户(责编)登录 /jtim 后能看到 JTIM 的稿件,依赖于正确的账号绑定。这部分**不需要开发新功能**,但需要通知实施团队遵循以下 SOP: 1. 客户在主站注册账号(或由超管分配账号)。 2. 内部超管在 ADMIN 端的 **【用户管理 \-\> 租户成员管理】** 页面,将该用户的账号添加到目标期刊租户(如 JTIM)下。 3. 确保该用户拥有 RVW 模块的使用权限。 4. **验证**:此后该用户访问 review.xunzhengyixue.com/jtim 时,JWT 中会自动带上该租户身份,接口方可放行。 ## **✅ 五、 验收标准 (Definition of Done)** 1. 运营人员可在后台顺滑配置 JTIM 和 CMJ 两套截然不同的方法学 Prompt 和 Handlebars 模板。 2. 在 Handlebars 编辑器中点击“预览”,能立刻看到正确渲染的 Markdown 格式报告,不报错。 3. 未登录用户访问 review.xunzhengyixue.com/jtim 时,登录页自动变更为 JTIM 的名称、Logo 和主色调。