kate522
1cbc0c6ed8
fix(payment): 排序箭头改为基线锚定,修正表头箭头相对文字偏下
...
.orderby-but 从「无尺寸 inline 宿主 + 依赖绝对定位静态位置 + 固定
translateY(-3px)/6px」改为「零尺寸 inline-block 宿主 + bottom 锚定 + translateY(50%)」。
原理:空 inline-block 的基线即其下边缘,会与同行文字基线对齐,于是箭头盒可用 bottom
精确锚定到「基线以上 N em」;translateY(50%) 抵消箭头自身高度,使盒中心恒等于 bottom 值,
与 dashicons 盒高无关。两枚箭头中心分别落在基线以上 .725em / .075em,对称于文字视觉中心。
旧写法的问题:绝对定位元素未指定 top/bottom 时,其位置来自静态位置(容器内容盒顶部),
该值与表头字体/行高联动;在真实后台 CJK 字体度量下整体偏下。
量测(无头 Chrome + 真实 wp-admin common.css/list-tables.css + 真实表头标记):
- 旧写法:箭头簇中心相对文字中心 +2.0px(复现用户反馈的「偏下一点」)
- 新写法:-0.09px;两箭头相对文字中心 -4.64 / +4.46,居中对称
- 表头行高两版均为 36.59px,无行高副作用
契约测试同步收紧:断言 bottom 锚定写法,并禁止回归到无 bottom 的固定像素位移。
2026-09-17 10:28:17 +08:00
kate522
9fffe7b590
fix(payment): 卡密管理页标题按钮单点输出并修正排序箭头下沉
...
- 标题右侧按钮原在页面头部与列表渲染函数各输出一次(实际渲染 3 个
page-title-action,「添加卡密」重复出现),改为只在页面头部的 tab switch 中
拼一次;render_list() 收为 render_list(string $s),只渲染过滤链接与表格,
搜索词在页面头部单次解析后传入,搜索提示仍按参考主题跟在按钮之后。
- .orderby-but 恢复参考主题写法(position: relative,不设 display)。
箭头是绝对定位元素且不写 top/left,位置取自容器的静态位置;容器一旦变成零
高度 inline-block,基线会退化为自身下边缘并与文字基线对齐,整组箭头下沉一
个字高。同时补回参考主题的 padding-right: 1em,并加注释锁定该约束。
- 清理死代码:行循环中 custom 分支的 $type_html 赋值总被下方类型链覆盖,已删除。
- 新增 tests/admin/charge-cards-page-contract.test.cjs(4 例)作为回归护栏,
并按 .gitignore 既有白名单惯例放开该文件。
2026-09-17 10:14:19 +08:00
kate522
282a12a90b
fix(payment): 依赖求值改按 name 属性匹配,避免选择器异常静默失效
...
- formVal 不再把字段名拼进 CSS 选择器:vip_exchange[time] 等含方括号的名称会令选择器抛异常并被 try/catch 吞掉,导致依赖行永久停在初始状态
- 改为 fieldsByName 按 getAttribute('name') 逐元素匹配,radio 选中态也在同一集合内判断
- evalDeps 作用域收窄为 .aksrt-cardpass-form tr[data-dep],避免误命中页面上其他表格的依赖行
2026-09-16 23:03:56 +08:00
kate522
cb84c88792
fix(payment): 修正导入提示的服务端依赖判定键缺失
...
- 补全 is_known_dep_key 白名单:加入 only_pass_s 与 vip_exchange[time],其默认值统一按空字符串处理
- 修复服务端 !=/checked 类依赖因默认值缺失而错判的问题:自定义卡密的两条导入提示此前会被同时判为可见,导致四条提示全部铺开
- 服务端预判与行内 JS 求值器语义现已逐条对齐,任意状态下最多显示 1 条导入提示
2026-09-16 22:46:26 +08:00
kate522
ef9409cee6
fix(payment): 添加卡密页依赖字段初始状态按默认值隐藏
...
- 渲染期按表单默认值预判依赖可见性(deps_visible/default_form_value),不满足项直接输出 display:none,消除导入提醒首帧全部显示的问题
- 行内 JS 在 DOMContentLoaded 兜底执行一次依赖求值,交互前后状态与服务端一致
2026-09-16 22:40:35 +08:00
kate522
678143e7b9
feat(payment): 卡密管理改为独立页面并对齐参考主题
...
- 移除「余额充值」设置中的充值卡(card_pass_*)配置组,PHP schema 与 SPA mirror 双轨同步
- 重写后台卡密管理页:列表过滤/排序/搜索/批量删除/同款分页/点击复制、自动生成与导入、text/xls 导出
- ChargeCard 服务新增 generate_cards/rand_number/rand_password/delete_by_ids/get_export_rows,get_list 支持参考主题排序别名与标识过滤
- 删除无消费方的 /payment/charge-cards REST 路由及 batch_create/disable 死代码,数据层零迁移
2026-09-16 22:05:37 +08:00
kate522
ff11f3b156
fix(payment): 结算货币旧小写值导致枚举校验失败无法保存
...
paypal_currency/stripe_currency 由自由文本改为 select 后,旧存储值(如
stripe_currency=usd 小写)不通过枚举校验,收款接口页保存被 422 拦截。
为两个货币字段增加 case_insensitive 归一化:读取时归一为选项规范写法、
写入时归一化、校验时大小写不敏感放行,匹配不到回退默认 USD。
2026-09-16 19:56:51 +08:00
kate522
14f9534651
fix(payment): 充值商品选项旧字符串值导致假条目且不可删除
...
- SchemaProvider 读取时 group/repeater 字段忽略非数组旧值(textarea 时代的
字符串),回退默认数组,避免前端按字符渲染出 20+ 条假条目
- AksField group/repeater 渲染改为数组安全视图(非数组一律按空列表)
- 充值商品选项默认条数调整为 3 条(PHP 与前端 schema 同步)
2026-09-16 19:46:49 +08:00
kate522
a48007a44d
feat(payment): 支付&付费菜单按参考主题重构并新增提现策略页
...
- 子菜单重组为知识付费/余额充值/VIP会员/创作分成/推广返佣/收款接口/提现策略
- 收款接口页 1:1 复刻 Zibll 双下拉结构,仅保留支付宝/微信/PayPal/Stripe/易支付
- 订单前缀/流水号前缀/提现单号前缀配置保留并移入收款接口页
- 知识付费/推广返佣按参考主题全字段复刻,余额充值并入充值卡配置
- 新增 tabbed/between_number/page_select 表单控件及后端 pages 搜索源
- 清理旧 SPA 组件、无消费者 REST 端点与废弃配置键(不写双路兼容)
- 更新存量契约测试至新 schema 文件
2026-09-16 19:18:28 +08:00
kate522
e7ffb44b45
fix(admin): 兼容提现金额历史配置
2026-09-16 14:12:40 +08:00
kate522
129eb25078
fix(email): lock templates to built-in catalog
2026-09-13 20:02:56 +08:00
kate522
70cba11fb7
feat(icons): wire the universal picker into tabbar/floating settings and keep customsvg through their save paths
...
手机底部Tab and 右侧悬浮按钮 settings pages swap their icon text inputs
for the shared FaIconPicker (with a new IconValue preview component that
renders FA/sprite/custom SVG values in lists and previews). footer.php
tabbar/floating/sub-item icons and the VIP float render through
aksrt_icon_markup so every stored format displays; GlobalControllerPart1
and the VIP helper drop the FA-only regex gate and sanitize icon values
through aksrt_sanitize_icon_value. The picker popover tabs now wrap
instead of overflowing, and FA grid previews use style-only classes.
2026-09-06 14:27:49 +08:00
kate522
009f9874c0
feat(widgets): render icon fields with the universal icon picker
...
The widget FormRenderer icon case and the nav-menu item icon field now
emit the shared picker (preview + choose/clear + editable text input,
delegated events so lazy forms and repeater rows work). Icon values are
sanitized through aksrt_sanitize_icon_value on both save paths so inline
customsvg- markup survives; the widget admin screen enqueues the picker.
2026-09-06 12:59:12 +08:00
kate522
f629a4f373
feat(icons): add the FA5 catalog, REST endpoint and unified icon helpers
...
Mirror the reference theme's universal picker on FA5: a generated full
catalog of the bundled FA5 Free 5.15.4 fonts (src/Icons/fa5-icons.php,
generated from the shipped CSS + SVG fonts), a zibsvg group parsed from
the runtime sprite so it cannot drift, and GET /aksrt/v1/icons/catalog.
Shared admin pieces: aksrt_icon_markup()/aksrt_sanitize_icon_value()
with an SVG allowlist, the picker field/modal assets, and one canonical
aksrt-font-awesome handle registered through aksrt_enqueue_fontawesome().
2026-09-06 12:59:03 +08:00
kate522
05a6b6fc54
fix 更多栏目
2026-09-05 17:32:18 +08:00
kate522
44e165d34e
fix(comments): align image upload with Zibll
...
Unify comment image upload settings, REST permissions, preview, progress,
and response handling while removing obsolete compatibility paths.
2026-09-04 19:52:56 +08:00
kate522
dda343e398
fix(email): derive SMTP auth from credentials
2026-09-04 13:24:26 +08:00
kate522
4833053a5c
fix(email): complete mail settings and templates
2026-09-04 12:06:42 +08:00
kate522
7308f055c7
fix(frontend): keep asset and homepage filters in DOM
2026-09-03 19:21:24 +08:00
kate522
5984d4e42d
fix(icons): 清理 FA4 残留图标类,统一为 Font Awesome 5 约定
...
- 通用 fa fa-X 前缀改为 fa fas fa-X(12 个生产文件)
- 重命名图标映射:fa-sign-in→fa-sign-in-alt、fa-envelope-o→far fa-envelope、
fa-trash-o→far fa-trash-alt、fa-file-image-o→far fa-file-image、
fa-dot-circle-o→far fa-dot-circle、fa-play-circle-o→far fa-play-circle、
fa-pencil→fas fa-pencil-alt
- 修复 FA5 中不存在的 fa-pencil-square→fas fa-edit
2026-09-02 21:48:42 +08:00
kate522
0985d0cb0a
feat(captcha): add provider configuration tabs
2026-09-02 16:55:57 +08:00
kate522
ff4ec1eb43
feat(captcha): 打通人机验证 11 个场景的前后端完整链路
...
- 统一验证入口 aksrt_require_captcha(),返回 true|WP_Error,启用场景配置缺失时 fail-closed 拒绝
- 前端公共 API 重构为 window.AKSRTCaptcha(verify/collect/reset/run),单飞锁防并发重复验证,一次性 proof 绑定浏览器 cookie+场景+服务商+主机名
- challenge/exchange REST 端点:challenge 原子占用防票据放大厂商调用,增加频率限制
- 新增 OAuth bind pass:服务端签发 5 分钟一次性令牌,绑定用户+服务商+浏览器,微信扫码延迟消费
- 覆盖场景:评论、登录、注册、绑定第三方、绑定手机、找回密码、修改密码、更改邮箱、资料下载、签到、前台投稿
- 移除 Service 层重复验证与 _auth_code_verified/_defer_login 等客户端可伪造标志,删除下载共享 pass 死代码
- 修复腾讯 TC3 签名 scope、Cloudflare action/cdata/hostname 严格校验、阿里云验签错误码映射
- 后台 Schema 保存对 secret 字段做掩码/保留合并;导入导出过滤 aksrt_captcha_config
- 重建 public bundle 与 admin SPA;新增 captcha 运行时/安全/业务契约测试与 harness
2026-09-02 13:03:24 +08:00
kate522
b8ef4d81a4
评论区硬切换实现
2026-08-30 17:34:29 +08:00
kate522
780e1eba21
优化了一些问题
2026-08-29 22:03:48 +08:00
kate522
af30159a03
优化了一些问题
2026-08-29 17:36:21 +08:00
kate522
88eb29c645
优化了一些问题fix(captcha)
2026-08-29 17:03:05 +08:00
kate522
50c5769d01
进行了一些优化
2026-08-27 03:27:26 +08:00
kate522
fbada8bd6a
进行了一些小修复
2026-08-26 19:51:31 +08:00
kate522
fb2bbb64c5
进行了一些小修复
2026-08-26 17:57:29 +08:00
kate522
d37c34f71c
进行了一些小修复
2026-08-26 14:21:32 +08:00
kate522
3dbd196e06
修复了一些问题
2026-08-25 18:31:49 +08:00
kate522
c8d199a694
修复了一些问题
2026-08-25 18:22:30 +08:00
kate522
e5df6fdaa7
进行了一些小优化
2026-08-25 06:58:09 +08:00
kate522
eef73ee9e7
进行了一些小优化
2026-08-25 06:20:16 +08:00
kate522
5549f81901
进行了一些小优化
2026-08-25 05:46:21 +08:00
kate522
07c4e969c3
新增全局流水号
2026-08-25 05:33:01 +08:00
kate522
9d3bfb91cd
进行了一些小优化
2026-08-24 17:35:46 +08:00
kate522
85a124b886
修复支付状态问题
2026-08-24 17:21:06 +08:00
kate522
5cae5b5c93
积分与余额账务系统硬切重构
2026-08-24 15:59:11 +08:00
kate522
86692ff3f9
用户功能设置收口与废弃后台链路清理
2026-08-23 22:09:12 +08:00
kate522
d7634d1ff6
修复了一些问题
2026-08-23 20:59:34 +08:00
kate522
af52f9e94d
登录注册体系的源码级硬切换
2026-08-23 20:30:01 +08:00
kate522
616beb8c03
修复AJAX 引擎
2026-08-23 18:01:56 +08:00
kate522
c6c2c0af6d
删除私信分支链路
2026-08-23 13:42:35 +08:00
kate522
31e185664a
fix
2026-08-22 18:54:12 +08:00
kate522
9375b1c30c
refactor(assets): vendor 资产迁入标准目录并全仓去除 zibll 标识
...
- assets/vendor 全量迁移: fontawesome5→assets/fontawesome5, css→assets/css,
js→assets/js/runtime(避开 14 个同名自有文件), img 合并去重→assets/img,
fonts→assets/fonts; 删除 assets/vendor
- libs 五个与 widgets/third-party 字节相同的库不重复入库, loader paths 改指向
- 运行时切换: _win.uri=assets 根, loader baseUrl=/js/runtime, enlighter 注入
路径同步; PHP 7 个引用文件切换并改名 $zibll_*→$runtime_*
- 去品牌: Qinver 头注释/品牌 console.log/演示链接清除, 默认文案中性化
- 功能标识符改名: zib__→aksrt__, zib_ajax→aksrt_ajax, window.zib→
window.aksrtLegacy, zibllblock/*→aksrtblock/*, .zib-widget→.aksrt-panel,
.zib-slider→.aksrt-slider, zib_menu_options meta 键等
- 自有 CSS 改名: legacy-utilities/compat-vars/footer shell
- admin SPA 重建; 契约测试同步(路径/断言/文件更名)
- 例外保留: tests/visual 对照环境与 fixtures 前缀(外部 Zibll 产品引用)
验证: php -l 133 个改动文件通过; runtime 86 个 JS node --check 通过;
契约测试 68/70(2 个失败经 stash 对照确认为存量问题)
2026-08-22 16:16:30 +08:00
kate522
e971c2b1da
修复了一些问题
2026-08-21 13:42:59 +08:00
kate522
3e6af7863d
修复了一些一些已知问题
2026-08-21 12:35:55 +08:00
kate522
4d4baa9cec
顶部多功能组件的图标卡片新增默认图标
2026-08-20 12:34:41 +08:00
kate522
13ed02c93a
修正 fa fab 的字体优先级,微信、QQ、微博等图标现在使用 Brands 字体。
2026-08-19 23:11:44 +08:00