2 Commits
Author SHA1 Message Date
laoyang 3b8244d7d3 修 4.1.0 后台文案里残留的 Markdown 星号(用户会看到字面 ** ) #33
线上真实 WP 环境预演 render_shell() 时发现两处文案把 Markdown 的
`**加粗**` 原样拼进了 HTML,浏览器会直接显示两个星号:

- inc/theme-stat.php:1128  render_shell 的授权步骤
  `用**你自己的百度账号**登录` → 用<b>…</b>
- inc/theme-options.php:837  stat_track_enable 的 desc
  `代码本身**不会被删除**` → <b>…</b>

同一批里 readme 也中过一处(`这十三项**都能单独关掉**`),
已在 _readme410.py 里修掉并重新生成 readme。

补的判据(都做了注入反证,不是恒真):
- _mkzip410.py 第 11b 段:剥注释后扫 PHP 字符串里的 `**…**`,
  83 通过 / 0 失败
- _mkzip410_falsify.py 第 16 组:把 <b> 还原成 ** 必须变红,16/16 抓到
- _readme410.py 第 8 段:本版节里不许有 Markdown 星号,
  注入后 38/1、恢复后 39/0

顺带修两个判据脚本自身的缺陷:
- _stat410.php 自己跑(文档写的 `php _stat410.php`)会因
  $GLOBALS['__theme_dir'] 未定义而 Fatal error ⇒ 加回落路径 +
  找不到文件时 exit 2 明说"没跑任何判据,这不是通过"
- _publish410.sh 的 LOCAL_RD 默认值指向上一版遗留的
  /d/tmp/readme410.html ⇒ 首跑把旧 readme 传上去、出现 1 条失败,
  重跑手工设环境变量又"好了"⇒ 默认值改成 _readme410.py 的真实
  输出路径,且默认路径不存在时直接停

线上已重发:md5 5cf4e1b3242a2e092233fd573d0196d4
主题目录仍是 4.0.0(未被覆盖),等用户后台点升级。
2026-10-28 17:18:54 +08:00
laoyang c125388ab7 4.1.0 主题设置页加访问统计面板,接百度统计 API 直出后台 #33
新增 inc/theme-stat.php(约 1814 行),把百度统计的数据直接显示在
主题设置页,不用再跳去百度后台看。

主要设计决策:
- 凭据(API Key / Secret / refresh_token)存 wp-content/uploads/ 下
  独立文件(0600),不写 options 表、不在表单回显 —— 换主题/升级不丢
- 13 个指标全部实现,用户可在「面板显示哪些指标」里各别开关
  (每次 API 调用都占配额,只看几个数字的可以关掉其余)
- 面板走 AJAX 懒加载「先出壳、后取数」:同步渲染 8 个请求 ×5 秒超时
  会让设置页最坏卡 40 秒
- 缓存成功 1800 秒 / 失败 300 秒:接口挂了不至于每次刷新都等超时
- "--"(百度接口的"无数据")渲染成破折号,不转成 0 —— 否则
  "暂无数据"会被显示成"0 次访问"
- footer.php 的统计代码外面加埋点开关,关掉不停用代码本身

改动:
- inc/theme-stat.php   新建
- inc/theme-options.php 新增 8 个控件
- footer.php           统计代码套埋点开关
- functions.php        require 新模块
- style.css            版本号 4.0.0 → 4.1.0

验证:
- php -l 全量 98 文件 0 失败
- 正向判据 145/0,反证 19 组全抓到
- 真实接口连通性 10/0(OAuth 401 与 error_code 110 两种错误格式实测)
- 打包自检 82/0,其反证 15 组全抓到
2026-10-28 16:33:41 +08:00