feat(report): add annotated wrinkle views and restore capture countdown
This commit is contained in:
+3
-10
@@ -752,16 +752,9 @@
|
||||
var d = DIM_DEFS[i], ps = [], j;
|
||||
for (j = 0; j < CAT_DEFS.length; j++) {
|
||||
if (CAT_DEFS[j].dim !== d.key) continue;
|
||||
if (d.key === 'vita' && CAT_DEFS[j].key === 'tone') continue; // retired combined score
|
||||
var P = cats[CAT_DEFS[j].key].P;
|
||||
if (P != null) ps.push(P);
|
||||
}
|
||||
if (d.key === 'vita') {
|
||||
var toneVars = cats.tone.vars;
|
||||
[toneVars.color_score, toneVars.tone_scoring && toneVars.tone_scoring.water_adjusted_score].forEach(function(score) {
|
||||
if (isNum(score)) ps.push(score);
|
||||
});
|
||||
}
|
||||
var dP = ps.length ? Math.min.apply(null, ps) : null;
|
||||
if (!ps.length) notes.push(d.name + ':旗下分类数据全部缺失,维度不参与评分');
|
||||
dims[d.key] = { name: d.name, P: dP, S: sShow(dP), level: levelOf(dP) };
|
||||
@@ -855,7 +848,7 @@
|
||||
return {
|
||||
total: weightedTotal(dims),
|
||||
totalRule: 'dimensions-433-v1',
|
||||
vitaScoreRule: 'independent-color-water-smooth-min-v1',
|
||||
vitaScoreRule: 'combined-tone-smooth-min-v2',
|
||||
wrinkleScoreRule: 'api-overall-v1',
|
||||
acneScoreRule: 'three-view-type-max-v1',
|
||||
skinAgeRaw: skinAge,
|
||||
@@ -992,7 +985,7 @@ if (typeof require === 'function' && typeof module !== 'undefined' && require.ma
|
||||
ok(vm.cats.sens.P === 98, '敏感P = min(98, 100−0.1×1.5=99.85) = 98(面积 0.001 小数口径×100)');
|
||||
ok(vm.cats.acne.P === 85, '痘痘P = min(分级映射85, 100−14.5=85.5) = 85');
|
||||
ok(vm.cats.wrinkles.S === 7.69 && vm.cats.smooth.S === 9.45 && vm.cats.tone.S === 9.45, 'S=7+3×P/100 两位小数(含 9.445→9.45 浮点修正)');
|
||||
ok(vm.dims.firm.P === 23 && vm.dims.vita.P === 80 && vm.dims.stab.P === 85, '维度木桶 min:紧塑力23 / 独立肤色短板80 / 稳定力85');
|
||||
ok(vm.dims.firm.P === 23 && vm.dims.vita.P === Math.min(vm.cats.smooth.P,vm.cats.tone.P) && vm.dims.stab.P === 85, '维度木桶 min:紧塑力23 / 平滑度与肤色水润最低分 / 稳定力85');
|
||||
ok(vm.skinAgeRaw === 20 && vm.skinAgeDisplay === 20 && vm.ageClampNote === '', '肌肤年龄直接展示原值20,不按实际年龄钳制');
|
||||
ok(vm.group === '25+组', '原始肌龄20 → 25+组');
|
||||
ok(vm.essence.name === '25+束紧精华' && vm.recommendation.tier === 1,
|
||||
@@ -1023,7 +1016,7 @@ if (typeof require === 'function' && typeof module !== 'undefined' && require.ma
|
||||
console.log('== T2 木桶 min(显式构造) ==');
|
||||
var vm2 = SS.buildViewModel(clone(SS.MOCK_RESULT), SS.MOCK_SIDE, { realAge: 40 });
|
||||
ok(vm2.dims.firm.P === Math.min(vm2.cats.contour.P, vm2.cats.wrinkles.P)
|
||||
&& vm2.dims.vita.P === Math.min(vm2.cats.smooth.P, vm2.cats.tone.vars.color_score, vm2.cats.tone.vars.tone_scoring.water_adjusted_score)
|
||||
&& vm2.dims.vita.P === Math.min(vm2.cats.smooth.P, vm2.cats.tone.P)
|
||||
&& vm2.dims.stab.P === Math.min(vm2.cats.sens.P, vm2.cats.acne.P), '三维度 P = min(旗下两分类)');
|
||||
ok(vm2.group === '25+组', '实际年龄40不影响推荐,原始肌龄20仍为25+组');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user