87f97a2f9b
build / build (push) Successful in 1m7s
详情使用共享主表字典,稀疏修改所选字段并保留原始问答及旧复核审计。 月周统计提供文本和下拉双入口;每租户每周一份持久草稿,按技能六节双语模板真实预填。 加入幂等自动保存、冲突保留、未知响应重试、切周及离开保护和schema58非破坏降级保护。 验证:完整make verify、隔离PostgreSQL全mirror竞态回归、真实恢复库浏览器验收通过。 浏览器实测字段精确读回、月周双输入、模板预填、MD/CSV、自动保存、冲突、失败重试与API重启恢复。 未连接或改写DobotAI生产源库,未运行付费模型;提交时尚未部署。
26 lines
1.3 KiB
Go
26 lines
1.3 KiB
Go
package qaopsfields
|
|
|
|
var ClassificationTaxonomy = map[string][]string{
|
|
"is_correct": {"是", "否", "待确认"},
|
|
"product_category": {"CR/CRA/H/AP", "CRV", "CR配件", "Nova及系列", "Nova配件", "MG400", "MG400配件", "M1 Pro", "VX500", "新示教器", "DobotStudio Pro", "仿真软件", "维护工具", "教育所有产品", "人形机器人", "四六足机器人", "X-Trainer", "码垛解决方案", "码垛插件", "焊接解决方案", "焊接插件", "移动复合机器人", "生态插件", "生态合作", "安全皮肤", "未知"},
|
|
"problem_type": {"参数", "故障", "使用配置", "二次开发", "资料获取", "咨询", "认证", "案例", "售后", "培训与学习", "其他"},
|
|
"root_cause": {"知识缺失", "检索不到", "结果不清", "答案生成错误", "问题质量差", "非知识范围", "知识过期"},
|
|
}
|
|
|
|
func EditableOptions() map[string][]string {
|
|
out := make(map[string][]string, len(ClassificationTaxonomy)+1)
|
|
for key, values := range ClassificationTaxonomy {
|
|
out[key] = append([]string(nil), values...)
|
|
}
|
|
out["coverage"] = []string{"是", "否", "否但不计入"}
|
|
return out
|
|
}
|
|
func ValidEditableValue(field, value string) bool {
|
|
for _, label := range EditableOptions()[field] {
|
|
if value == label {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|