From 1813998ac51ab94339166d90045046822b0f86d3 Mon Sep 17 00:00:00 2001 From: lik Date: Tue, 6 Oct 2026 22:32:47 +0800 Subject: [PATCH] tmp --- handler/employee.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/handler/employee.js b/handler/employee.js index ed40f1d..fe3fca6 100644 --- a/handler/employee.js +++ b/handler/employee.js @@ -11,7 +11,9 @@ import ResponseUtil from "../utils/responseUtil.js"; * * 两条红线: * 1. 白名单式输出,绝不返回手机号 / 身份证号 / 证书编号原文; - * 「资质已核验」与健康证明都只对外给布尔值 / 有效期,不给编号 + * 「资质已核验」与健康证明都只对外给布尔值 / 有效期,不给编号。 + * birthday 是这条规则下唯一的例外:年龄改由前端换算,故按 YYYY-MM-DD + * 下发(精确到日、不含时分秒),不随响应带出任何时刻信息 * 2. 评分只来自 employee_review 的真实评价聚合,且条数达 * MIN_PUBLIC_REVIEW_COUNT 才输出。attendantInfo.rating 恒为默认 5.0, * 任何分支都不得读它——那是无依据背书 @@ -78,6 +80,10 @@ class HandlerEmployee { name: HandlerEmployee.maskName(profile.name), avatar: profile.avatar || "", sex: profile.sex || "", + // 年龄由前端换算,这里只下发原料。刻意走 formatDate 而不是原始 Date: + // 一是含 T/Z 的 ISO 串在小程序 iOS 上会解析成 Invalid Date, + // 二是未登记时给空串,前端有一个明确的哨兵值可判(不是 undefined / null 混用) + birthday: HandlerEmployee.formatDate(profile.birthday), workYears: work.workYears || 0, qualificationVerified: !!work.qualification, // 健康证明:4.2.1.5 要求公示的是「有效期」,