对访客公开的措辞按身份分支:访客不该看到「我的结论」

用户发现未登录也显示「推荐 & 踩雷(我的结论)」,访客没法解读「谁的我的」。
顺着把访客可见模板与 static/js 全过了一遍,同病共四处——都是**写模板时站在站长视角下笔、
而那一块又对访客公开**:

1. stats.html:标题 → {{if .IsAdmin}}我的结论{{else}}站长结论{{end}};
   副标题「只统计你自己…」→ 站长「你自己」/ 访客「站长」;两列「我推荐/我踩雷的地点」同理。
2. stats.html 访客块:「与我的结论互不影响:你标你的,访客投访客的」——对访客说不通,
   改成对两边都成立的「与上面的站长结论互不影响:各存各的表,谁也不会覆盖谁」。
3. home.html:「我的标签」→「足迹标签」(同级卡片全是中性的:足迹地图/城市足迹/天气足迹…)。
4. report.html:「这一年里,你第一次踏足的这些城市」→ 去掉人称(年报是站长的回顾)。

已经写对的照它学:place.html 的投票区早就是 {{if .IsAdmin}} 分支(站长「我的结论」、
访客「大家怎么说」),rond-map.js 的气泡同理;「含家/工作」chip 与一串「只有你自己能看到」
本来就在站长分支里。

门禁 TestVisitorPagesUseThirdPersonCopy:以**访客 ctx(无 user)**渲染 /、/stats、/report,
逐个禁用词断言,同时断言站长那份**仍旧说「我的」**(别把站长自己的视角也改掉);
前置需打开 marks_public(访客才看得到那一块),用完还原。

⚠️ 变异验证时踩了老坑:直接 `go test -run …` 因缺 ROND_TEST_CONF/ROND_SRC 会**静默 skip 并报 ok**
(0.17s 就 ok,一眼假绿)。改用 ./scripts/verify.sh 后变异被正确抓住
(visitor_copy_test.go:85 报「我的结论」),还原后转绿。

全量验收 PASS=339 FAIL=0 SKIP=0。
This commit is contained in:
tamakyi
2026-10-01 02:15:49 +08:00
parent ff46a9cbb8
commit 5c7cf1a0e1
7 changed files with 174 additions and 10 deletions
+20
View File
@@ -50,3 +50,23 @@
上一轮跑剩的票会被算进来。新增 `isolateVoteState` 按 place_key 清两张表(前置 + cleanup)。
顺带订正 README:那里还写着站长结论「按 src_pk 存」,其实早就是坐标键了。
## 措辞分身份:访客不该看到「我的结论」(02:05)
用户:「无论是否登陆,都显示『推荐 & 踩雷(我的结论)』,这对访客是不是会产生困扰,再检查类似的表述」。
顺着 `grep "[我你咱]"` 把访客可见模板 + `static/js` 过了一遍,共 4 处同病(都是**站在站长视角下笔、
而那一块对访客公开**):
1. `stats.html`:标题「我的结论」→ 按身份分支(站长「我的结论」/ 访客「站长结论」);
副标题「只统计你自己…」→ 站长「你自己」/ 访客「站长」;两列「我推荐/我踩雷的地点」同理。
2. `stats.html` 访客块副标题:「你标你的,访客投访客的」→ 对两边都成立的「各存各的表,谁也不会覆盖谁」。
3. `home.html`:「我的标签」→「足迹标签」(同级卡片全是中性的:足迹地图/城市足迹/天气足迹…)。
4. `report.html`:「这一年里,**你**第一次踏足…」→ 去掉人称(年报是站长的回顾)。
已写对的(照它学):`place.html` 投票区早就是 `{{if .IsAdmin}}` 分支,`rond-map.js` 气泡同理。
门禁 `TestVisitorPagesUseThirdPersonCopy`:以访客 ctx(无 user)渲染 `/`、`/stats`、`/report`,
逐个禁用词断言,同时确认站长那份仍说「我的」(别改过头)。
⚠️ 变异验证又踩老坑:**直接 `go test -run` 缺环境变量会静默 skip 并报 ok**(0.17s 就 ok,一眼假绿),
必须走 `verify.sh`。改用 verify.sh 后变异被正确抓住(`visitor_copy_test.go:85` 报「我的结论」)。