1、修复了用户详情、定价与题目管理、财务与分销等管理端展示与接口问题。 2、新增 SBTI 小程序测评/结果页、sbtiData 引擎、题库 SQL 与脚本;admin sbtiDisplay。 3、优化 AppConfig/CrmReport/Test、历史与个人中心、test-select 与支付相关逻辑。 Made-with: Cursor
36 lines
1.9 KiB
JavaScript
36 lines
1.9 KiB
JavaScript
const fs = require('fs')
|
|
const path = require('path')
|
|
const html = fs.readFileSync(path.join(__dirname, '..', '..', '_sbti_src.html'), 'utf8') // api/database -> project root
|
|
function grab(name) {
|
|
const re = new RegExp(`const ${name} = ([\\s\\S]*?);\\s*const `)
|
|
const m = html.match(re)
|
|
if (!m) throw new Error('missing ' + name)
|
|
return m[1].trim()
|
|
}
|
|
const parts = ['TYPE_LIBRARY', 'TYPE_IMAGES', 'NORMAL_TYPES', 'DIM_EXPLANATIONS'].map((n) => `${n}: ${grab(n)}`)
|
|
const dest = path.join(__dirname, '..', '..', 'miniprogram', 'utils', 'sbtiData.js')
|
|
const head = `// 从 aisbti.com 测试页提取,算法与官方一致;勿手改数据结构\nmodule.exports = {\n`
|
|
const tail = `,
|
|
dimensionOrder: ['S1','S2','S3','E1','E2','E3','A1','A2','A3','Ac1','Ac2','Ac3','So1','So2','So3'],
|
|
dimensionMeta: {
|
|
S1: { name: 'S1 自尊自信', model: '自我模型' },
|
|
S2: { name: 'S2 自我清晰度', model: '自我模型' },
|
|
S3: { name: 'S3 核心价值', model: '自我模型' },
|
|
E1: { name: 'E1 依恋安全感', model: '情感模型' },
|
|
E2: { name: 'E2 情感投入度', model: '情感模型' },
|
|
E3: { name: 'E3 边界与依赖', model: '情感模型' },
|
|
A1: { name: 'A1 世界观倾向', model: '态度模型' },
|
|
A2: { name: 'A2 规则与灵活度', model: '态度模型' },
|
|
A3: { name: 'A3 人生意义感', model: '态度模型' },
|
|
Ac1: { name: 'Ac1 动机导向', model: '行动驱力模型' },
|
|
Ac2: { name: 'Ac2 决策风格', model: '行动驱力模型' },
|
|
Ac3: { name: 'Ac3 执行模式', model: '行动驱力模型' },
|
|
So1: { name: 'So1 社交主动性', model: '社交模型' },
|
|
So2: { name: 'So2 人际边界感', model: '社交模型' },
|
|
So3: { name: 'So3 表达与真实度', model: '社交模型' }
|
|
}
|
|
};
|
|
`
|
|
fs.writeFileSync(dest, head + parts.join(',\n') + tail, 'utf8')
|
|
console.log('written', dest, fs.statSync(dest).size)
|