kate522
|
36b3ba6f45
|
fix(after-sale): 订单详情弹窗不再渲染售后状态节点进程
订单详情弹窗的「售后记录」卡片把整条处理时间线铺在了卡片里,和点开
「查看详细」后的售后详细弹窗重复,卡片本身也被拉得很长。改为只保留状态
徽章 + 申请时间、原因/申请理由、退款金额与「查看详细」入口;完整处理记录
由售后详细弹窗独占呈现,信息不缺、入口也还在。
- 删掉卡片里的 orderDetailHandlingLogHtml(item.handling_log) 调用
- 连带删除随之无人调用的 orderDetailHandlingLogHtml / handlingEntryTitle /
AFTER_SALE_STATUS_LABELS 三个助手
- recordPayload 仍带 handling_log,点开详情弹窗照旧能看到时间线
- modal-runtime.css 的时间线规则不动:售后详细弹窗还在用,无需重打包
验证:tests/widget-system/ 462 项、tests/admin/ 76 项通过;契约测试改为断言
订单详情弹窗不再出现 timeline 标记与三个助手,同时锁住「查看详细」载荷仍带
handling_log;node --check 通过。未做浏览器视觉验收。
|
2026-10-09 18:12:48 +08:00 |
|
kate522
|
039fa6d863
|
feat(after-sale): 处理记录时间线改为「节点 + 状态 + 时间」同一行
原实现把状态与时间竖排在节点右侧的 88px 固定列里,状态文字一长就折行、
时间被挤到第三行,和右侧备注也对不齐。改为节点独占一列,状态与时间包在
head 里紧随其后,处理备注另起一行:
- [节点][处理状态][时间] 一行,状态色仍按工单状态走 --as-accent
- 竖线改挂到条目的 ::before(原来是 aside 的),top 从 12px 调到 14px,
与加了 4px 上边距的节点底部对齐,绳子依旧穿过每个节且末项不收口
- head 用 flex + baseline + gap:8px,状态过长时时间自然换行而不重叠
- 售后详细弹窗与订单详情弹窗共用同一套标记,两侧同步改
验证:tests/widget-system/ 462 项、tests/admin/ 76 项通过;用 node 分别抽取
两个 JS 里的时间线构造函数跑样例载荷,确认输出为
[节点][状态][时间] + 另起一行的备注;重建 public.css / public.min.css,
diff 仅限时间线规则。未做浏览器视觉验收。
|
2026-10-09 18:01:16 +08:00 |
|
kate522
|
26ce9a5904
|
feat(after-sale): 售后处理记录改为每次提交留痕并新增时间线
工单行内新增 handling_log 列,用户申请、用户撤销与后台每次改状态都落一条
「状态 + 备注 + 来源 + 时间」,按时间正序存放、上限 50 条(对齐
MetaAssetService::MAX_RECORDS)。set_status 因此变成读-改-写,补上
GET_LOCK/RELEASE_LOCK 包裹,并在锁内重读工单快照——锁外取快照仍会被并发
追加覆盖。
三处界面由「只显示最后一条」改为回放整条处理链路:
- 后台订单明细「售后记录」按工单渲染头部(状态/金额/申请时间)+ 原因 +
完整处理记录
- 售后面板手风琴「处理备注」单独占整行并置于「申请说明」上方,删掉已无
意义的「审核时间」
- 前台售后详细弹窗与订单详情弹窗的售后记录改为时间线:左列绳结状态条
(节点 + 状态 + 时间),右列处理备注;样式只在 modal-runtime.css 定义
一份,两个弹窗共用
清理随之失效的死代码:工单的 admin_note / reviewed_at / completed_at,以及
全仓库无写入方的 gateway_request_id / gateway_refund_id / gateway_result;
连带删掉 gatewayResultText()、uninstall 里从未存在过的 aksrt_after_sale
表项,并把两处后台页面重复的状态标签数组收成 after_sale_status_labels()、
重复的 .aksrt-as-log 样式收成 after_sale_log_css()。
顺带修复 88669f69 重构退款流水线时误删 refund_amount()、却仍在 create()
里调用的问题——此前任何用户提交售后都会直接 fatal。
验证:tests/widget-system/ 462 项、tests/admin/ 76 项通过;新增
after-sale-log-harness.php 驱动真实 AfterSaleService,覆盖首条日志、空备注
也留痕、撤销记录、50 条上限与畸形行规范化;两个后台页面经 dev harness
渲染校验「处理备注」宽行位于「申请说明」之前;未做浏览器视觉验收。
|
2026-10-09 13:59:50 +08:00 |
|
kate522
|
3eb9cc739c
|
style(modal): 售后与订单弹窗底部按钮满幅化并优化悬停反馈
|
2026-10-07 10:18:48 +08:00 |
|
kate522
|
e9a1a75259
|
fix(styles): 还原弹窗 footer 相邻按钮分界线并补悬停阴影
被平铺规则的 border:0 抹掉的 legacy 分隔线按家族色还原,售后四弹窗与订单详情同款;更新构建产物与契约测试。
|
2026-10-07 09:53:10 +08:00 |
|
kate522
|
d69e1d33c3
|
fix(orders): 修复再次申请售后被 has_application 分流回售后详细的问题并对齐底部按钮观感
|
2026-10-07 09:43:22 +08:00 |
|
kate522
|
8023e2e472
|
feat(after-sale): 支持撤销售后工单并接入人机验证
|
2026-10-07 09:20:59 +08:00 |
|
kate522
|
918ca371be
|
chore(repo): 行尾规范化,恢复索引 LF 契约
远端 9 个文件以 CRLF 入库,违反 .gitattributes「索引一律 LF」声明,
在 autocrlf=true 的工作区产生永久假脏并阻塞合并。仅行尾变化,无内容改动。
|
2026-10-07 09:13:42 +08:00 |
|
kate522
|
6081e8dcc9
|
style(payment): 订单详情底部适配主题按钮网格;记录卡片新增样式
|
2026-10-06 23:50:31 +00:00 |
|
kate522
|
c801ff5047
|
feat(payment): 订单详情底部改用主题按钮样式;记录卡片加查看详细与原因/申请理由
|
2026-10-06 23:50:30 +00:00 |
|
kate522
|
8460132feb
|
feat(payment): 售后详细弹窗底部精简为单个主按钮,去掉阻断文案
|
2026-10-06 23:50:28 +00:00 |
|
kate522
|
732f615a09
|
style(payment): 炫彩标题区样式扩展到订单详情弹窗
|
2026-10-06 18:27:27 +00:00 |
|
kate522
|
738abe5102
|
style(payment): 订单详情弹窗 modal-mini 几何(400px)
|
2026-10-06 18:27:25 +00:00 |
|
kate522
|
915311dcb6
|
feat(payment): 订单详情弹窗统一为 modal-mini + 蓝色炫彩标题区
|
2026-10-06 18:27:23 +00:00 |
|
kate522
|
7b5dcf16a1
|
style(payment): 订单详情弹窗售后记录卡片样式
|
2026-10-06 18:08:06 +00:00 |
|
kate522
|
2db2414270
|
style(payment): 订单详情弹窗售后记录改为卡片式 UI
|
2026-10-06 18:08:04 +00:00 |
|
kate522
|
365b2eafe5
|
feat(payment): 售后详细弹窗申请表单分行展示(原因/申请资料/申请说明)
|
2026-10-06 18:08:02 +00:00 |
|
kate522
|
a0f59826fe
|
fix(payment): 售后弹窗滚动容器改用 no-scrollbar,消除弹窗边缘滚动栏
mini-scrollbar 是 3px 可见细滚动条(举报弹窗 600px 宽弹窗用的写法);
modal-mini 这类带炫彩横幅的表单弹窗,主题统一走禁封申诉/记录弹窗的口径:
scroll-y + no-scrollbar 完全隐藏滚动条(含细滚动条)+ 50vh 内层滚动。
申请与售后详细两个滚动容器一并切换,滚动行为不变、只是不再露出滚动栏。
|
2026-10-06 23:38:18 +08:00 |
|
kate522
|
e7e281f10c
|
fix(payment): 售后入口监听改为脚本加载即挂载,去掉 auto_fun 时序依赖
入口本就是 document 级委托、不需要 DOM 扫描,此前只挂在 auto_fun 上等于
多依赖一次全局重扫的触发时机;脚本加载时立即挂载(auto_fun 钩子保留作幂等
重扫),任何时刻的首次点击都能同步弹窗。
|
2026-10-06 23:32:19 +08:00 |
|
kate522
|
93579cbc9f
|
fix(payment): 售后弹窗改为按钮载荷同步弹出,修复首次点击无反馈
原实现是「点击 → 先请求 /orders/{n} → 再弹窗」,与项目里所有可用弹窗
(含举报链路 report.js)不同构:举报弹窗把数据放在按钮 data-* 属性里同步
弹出。前置请求会让首次点击在请求返回前毫无反应,体感就是"得二次点击"。
- 按钮 data-aksrt-after-sale-apply / -detail 携带订单与售后状态载荷
(PHP 模板与 order-center.js 的 actionHtml 同构生成),点击当拍即开
对应弹窗:申请表单 / 超时效提示 / 售后详细,零前置请求
- 「再次申请售后」同样使用已渲染载荷,不再重新拉取订单
- 提交与图片上传仍走 REST,服务端校验不变;列表刷新后载荷随之更新
- jsdom 多脚本环境实测:三种入口均在点击同一拍弹出且 fetch 计数为 0
|
2026-10-06 23:29:59 +08:00 |
|
kate522
|
1a9a2762f3
|
feat(payment): 新增「售后策略」配置与前台售后弹窗链路
- 后台「支付&付费 → 售后策略」:售后功能开关、申请时效、超时效提示(HTML)、
预置原因、申请售后说明、所需材料、申请说明占位文案、可上传图片开关;
PHP schema 与 SPA schema 1:1 对齐,group 字段支持拖拽排序
- PaymentRuntime 新增售后设置解析(缺键回退 schema 默认、HTML 走 kses、
中文原因稳定 slug)与 after_sale_expired 时效判定(支付时间起算)
- 售后工单支持举证图片(order_aftersale.images 列,最多 3 张,
复用评论图片上传校验)与上传路由;订单视图模型输出 after_sale 按钮状态
- 前台申请 / 超时效提示 / 售后详细三个独立弹窗(modal-mini + 蓝色炫彩头),
订单详情弹窗不再内嵌售后表单并清理相关死代码
- 新增 after-sale-policy 契约测试与运行时 harness,527 项契约测试通过
|
2026-10-06 22:21:47 +08:00 |
|
kate522
|
ef718042d2
|
feat(admin): 新增后台文章列表销售数据列与快捷编辑配置项
「所有文章」列表此前只有互动数据列,缺少销售数据表头;快捷/批量编辑
展开后也只有原生三项。本次对照参考主题补齐这两处,不含专题链路。
- 新增 PostListEnhance:统管 sale/stats 两列、付费类型筛选、
orderby=sales_volume 排序,以及四组快捷编辑字段的渲染与保存
- 新增 PostListEditFields:单独承载字段定义,主类职责保持单一
- 新增 admin-post-list.js:按 pay_type/pay_modo 勾选切换字段显隐
- 从 inc/core-hooks.php 迁出原有列实现(删 74 行),不再保留旧闭包
- 清理 admin-main.css 中确认无引用的 .aksrt-tab-pane 与 .aksrt-modal* 死块
- 新增 post-list-quick-edit-contract 测试,更新 stats/icon-picker 契约
快捷编辑锚点列用互动数据列而非参考主题的专题分类法列(本项目无专题)。
真实销量改为页面级批量查询,避免逐行查库。金额运算统一走 Ledger 的
「分」单位,不用裸浮点。保存走 edit_post 钩子,一次覆盖快捷与批量两条路径。
|
2026-10-06 15:54:47 +08:00 |
|
kate522
|
194280af72
|
feat(admin): 移除支付中心的“下载记录”子菜单页面
下载不做记录,支付中心下的“下载记录”页面及相关链路整体删除。
删除的内容:
- src/Admin/Native/PayDownloadLogs.php(页面渲染、批量删除、
令牌查询)整文件移除。
- PayMenus 中的 download_logs 子菜单注册(概览页快捷入口由同一
份 pages() 数组生成,随之消失)。
- functions.php 中的 PayDownloadLogs::init() 接线。
- 各入口跳转链接:付费文章列表的操作按钮、用户列表“积分分成”
列的操作链接、用户列表行操作。
- “保存用户下载记录(条) / 保存文章下载记录(条)”两个设置项及其
消费链:SchemaPayment.php、assets/admin 侧 knowledge.js 的字段
与默认值、PaymentRuntime.php 的 user_log / post_log。
- 前台下载中心登录提示里的“管理下载记录”文案(该处本就没有
可跳转的管理页面)。
未改动内容:
- aksrt_dl_token 数据表仍由 DBMigrator 创建、uninstall.php 仍会
删除:存量站点可能留有历史令牌行,属数据而非功能,迁移风险
高于收益。
- 独立下载页面开关(down_alone_page)与远程文件转本地等下载
行为配置保留。
- 资源下载量(_aksrt_res_download_count)仍是只读口径:下载走
普通外链,主题内没有写入方,本次不新增下载统计。
download-direct-contract.test.cjs 中原有“下载记录页面展示历史
令牌”用例反向改写为三项断言:页面与接线已删除、记录数设置项
已注销、下载仍不做记录。
验证:node --test "tests/*/*.test.cjs" 517 项全部通过;
php -l 全部改动文件无语法错误;重新构建 admin SPA,确认产物
中不含被移除的字段与菜单。
|
2026-10-06 14:35:14 +08:00 |
|
kate522
|
2595bb02db
|
fix(frontend): 统一计数缩写口径并将流水号改为订单号
前台各处评论、浏览、点赞、收藏、已售数量统一走
aksrt_format_number() 缩写(≥10000 → 1.2W+,≥1000 → 1.5K),
缩写后缀统一为大写 K,与既有 W+ 保持一致。PHP 渲染缩写文本的
同时保留 data-base-count 原始整数,JS 增量计算不受影响;
article.js / comment-ajax.js 内的 formatStatCount / formatCount
与 PHP 规则保持同一套,避免点赞收藏后文本回跳成全量数字。
文章详情页购买信息卡、用户中心创作者收益明细、后台分成与提现
管理页、支付设置页以及四封订单/提现邮件模板中,面向用户展示的
「流水号」字样统一改为「订单号」;代码注释、内部错误码与
WP_Error 文案保留原表述。
验证:node --test "tests/*/*.test.cjs" 508 项全部通过;
php -l 检查全部改动文件无语法错误;重新构建 admin SPA 与
前台 runtime bundle。
|
2026-10-06 14:13:51 +08:00 |
|
kate522
|
fe57022550
|
fix(frontend): remove duplicate select arrow and show the WordPress brand icon
|
2026-10-06 13:23:05 +08:00 |
|
kate522
|
6dbe1fe4c6
|
fix(frontend): align page-set hint bar and FA5 icons with the reference
- 齿轮提示横条改为参考主题的 .abs-right 垂直居中几何(top:50% +
right:.7em + translateY(-50%)),本站 legacy .abs-right 是 top:0/right:0
导致横条贴到按钮顶角
- 新增 front-page-admin-set.js:横条 2 秒后淡出 1 秒消失(对齐参考
主题 js/page-edit.js),开关关闭时不出队脚本
- 齿轮与弹窗内图标统一为 FA5 惯例 fa fas fa-*,并采用 FA5 的 glyph
重命名(sliders→sliders-h、pie-chart→chart-pie)
|
2026-10-06 12:50:20 +08:00 |
|
kate522
|
12f60897d9
|
fix(frontend): 修复前台页面编辑弹窗并 1:1 复刻参考主题
远端加载的弹窗在 admin-ajax 上下文里拿不到查询对象,enabled()
恒为假,直接返回 success:false;而 AksrtRequest.responseError
只读 message/data.message,读不到 msg,遂报「请求失败(HTTP 200)」。
改为参考主题原生架构:wp_footer 直出 #modal_admin_set,提交走
vendored main.js 的 aksrt_ajax 契约,不再有 AJAX 取 HTML。
对齐参考主题 zib-frontend-set.php:
- 弹窗补齐 aria-hidden=false、win-ajax-replace、role=document
- 隐藏字段改用 taxonomy + post_type
- 字段顺序与 is_page 分支(标题样式、widgets_register、容器位置)
- 多选 checkbox 改 name="id[]",描述允许富文本
- 模块布局指向定制器小工具面板
- term 保存使用 POST 的 taxonomy 字段
清理不再使用的 assets/js/page-admin-set.js。
新增 frontend-page-edit-harness.php 覆盖门禁、渲染与各保存分支。
|
2026-10-06 12:22:43 +08:00 |
|
kate522
|
b75bf197a3
|
feat(extensions): 新增系统工具页面与前台投稿分片上传
|
2026-10-06 11:09:05 +08:00 |
|
kate522
|
613b8a57a3
|
style(user-center): 优化手机号脱敏数字框与前缀后缀一体呈现
|
2026-10-06 09:41:11 +08:00 |
|
kate522
|
af72364078
|
feat(security): 新增网站安全扩展模块并支持修改手机脱敏验证
|
2026-10-06 09:26:55 +08:00 |
|
kate522
|
fc9bf27560
|
fix(profile): anchor verification code buttons
|
2026-10-06 02:07:13 +08:00 |
|
kate522
|
ce429e1caf
|
fix(profile): align account modal UI
|
2026-10-06 01:46:48 +08:00 |
|
kate522
|
248912f610
|
fix(profile): align account dialogs and contracts
|
2026-10-06 01:09:04 +08:00 |
|
kate522
|
0cf4639d95
|
fix(profile): match account submit buttons
|
2026-10-05 19:54:00 +08:00 |
|
kate522
|
0a52bf36f9
|
fix(profile): refine settings modal actions
|
2026-10-05 19:21:42 +08:00 |
|
kate522
|
346146b4fa
|
feat(profile): rebuild account settings page
|
2026-10-05 18:58:49 +08:00 |
|
kate522
|
7b55cfb190
|
feat(payment): rebuild order details and asset records
|
2026-10-05 16:42:25 +08:00 |
|
kate522
|
476e2f961d
|
fix(rewards): load and strengthen amount styles
|
2026-10-05 11:36:39 +08:00 |
|
kate522
|
979639342a
|
feat(rewards): add toast and captcha flow
|
2026-10-05 03:51:18 +08:00 |
|
kate522
|
356f7fe5bd
|
fix(frontend): align reward modal with shared runtime
|
2026-10-05 03:24:42 +08:00 |
|
kate522
|
6037ca184b
|
fix(sms): collapse provider settings by default
|
2026-10-05 02:29:42 +08:00 |
|
kate522
|
5091da6a60
|
feat(sms): align provider and verification flow
|
2026-10-05 02:13:52 +08:00 |
|
kate522
|
2ae2b2fd07
|
fix(identity): validate evidence by file content
|
2026-10-04 23:13:48 +08:00 |
|
kate522
|
90c1f7a62b
|
fix(identity): normalize bare li markers in apply intro
|
2026-10-04 22:54:58 +08:00 |
|
kate522
|
8fcb136d55
|
fix(identity): draw intro list markers inside list items
|
2026-10-04 22:51:21 +08:00 |
|
kate522
|
d6e3b377b4
|
fix(identity): apply safe list styles in modal runtime
|
2026-10-04 22:25:15 +08:00 |
|
kate522
|
2b3e325d63
|
fix(identity): keep modal list markers inside scroll area
|
2026-10-04 22:15:42 +08:00 |
|
kate522
|
4caf81c9e2
|
fix(identity): keep intro list markers visible
|
2026-10-04 22:10:18 +08:00 |
|
kate522
|
88661e1574
|
fix(identity): preserve HTML in application intro
|
2026-10-04 22:02:20 +08:00 |
|
kate522
|
67ec3c8aeb
|
fix(identity): align application modal with reference
|
2026-10-04 21:49:39 +08:00 |
|