kate522 and Claude Opus 5
35bb96e82f
refactor: rename the theme brand and every identifier from AKSRT to Jio
...
Full-project rename. `git grep -i aksrt` is now empty apart from the
DBMigrator 3.3.0 changelog note that documents the rename itself.
Code identifiers
- PHP namespace AKSRT\ -> Jio\ (composer PSR-4 + 378 declarations)
- global constants AKSRT_* -> JIO_* (VERSION/DIR/URI, PAY_TYPE_*, CAPTCHA_*)
- procedural functions, hooks, options, meta keys, table names,
cookies, query vars, ajax actions and nonces: aksrt_ -> jio_
- text domain aksrt -> jio; Theme Name -> Jio
- JS globals: aksrtData/aksrtAdminData/... -> jioData/jioAdminData/...,
window.AKSRTCaptcha & friends -> window.JioCaptcha, Aksrt* -> Jio*
- Vue components Aks*.vue -> Jio*.vue (15 files renamed + imports)
- CSS classes/data-attrs/custom properties: aksrt- -> jio-
- REST namespace aksrt/v1 -> jio/v1 (incl. payment gateway callbacks)
Storage layer
- DB tables {prefix}aksrt_* -> {prefix}jio_*; SCHEMA_VERSION 3.2.0 -> 3.3.0
so dbDelta creates the new names on install
- widget id_base aksrt_widget_* -> jio_widget_*
- uninstall.php drop list rebuilt from the actual migrator tables
(dropped 3 stale entries, added the 17 missing ones)
Removed
- hardcoded https://api.aksrt.com/version.json default update endpoint;
get_endpoint() now reads the 「更新端点」 setting and do_check() no-ops
when it is empty
Files renamed: inc/helpers/aksrt-*.php -> jio-*.php (54),
assets/admin/src/components/form/Aks*.vue -> Jio*.vue (15).
Build artifacts regenerated: assets/css/build, assets/js/runtime,
assets/admin/build.
Verified: audit-psr4-paths errors=0, audit-admin-contracts errors=0
(warnings=56, unchanged baseline), 813/813 widget-system tests,
44/44 phpunit, php -l clean across all PHP.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-11-01 20:05:04 +08:00
kate522 and Claude Opus 5
1c95f94bca
refactor(admin): drop the SPA credits asset record browser
...
「用户近期资产记录」卡片在 SPA 积分配置页里按用户 ID + 资产类型 +
日期查 user meta 历史,再伪装成统一账本行(entries / operation_key /
ref_key)。SPA 只承载配置,运营记录归原生 用户 → 积分/余额 屏幕
(CreditsAdmin / BalanceAdmin),这条平行路径删除,不留双读或迁移。
- CmsCredits.vue: 移除卡片、表格、分页及 ledger* 状态与
formatAssetValue/loadLedger/searchLedger/resetLedger
- users.js: 删除仅服务该卡片的 getCreditLog()
- UserController: 删除 /assets/transactions 路由、rest_get_credits_log()
及其唯一调用方 asset_value_to_minor()
- 契约测试改为断言该能力不得回归
points_record / balance_record 本身保留,前端账本与原生后台仍在消费。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-11-01 14:20:07 +08:00
kate522 and Claude Fable 5
e7ca0ee5df
refactor(ticket): move the config tab into the SPA ticket center
...
users.php → 工单管理 的「配置」Tab 只管理部门 / 状态 / 预设回复三块
DB 字典,与 SPA「工单中心」已有的 8 个标量配置分裂成两处;且同一套
CRUD 在 admin_post 与 TicketConfigRest 里各写了一遍,REST 侧此前
没有任何调用方。
- 删除原生 config tab:UsersMenusTicketsConfig.php 整份移除,
UsersMenusTicketsCenter 由 512 行降到 251 行(六个写处理方法、
分发分支、十条提示码与 ticket_delete_button 一并清理)
- SPA /users/ticket 改为 customPage:内嵌 SchemaPage 承载原有 8 字段,
三块字典改为 n-data-table + n-modal + n-dialog,取色器/管理员多选/
拖拽排序替代原生手填表单
- TicketConfigRest 成为三块字典的唯一实现,新增 api/modules/tickets.js
封装 aksrt/v1/admin/tickets*
- 双向深链:原生页跳 SPA 配置页,SPA 页跳回原生工单列表
契约测试同步更新,并新增 ticket-spa-config-contract 守护接线。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-10-26 19:48:58 +08:00
kate522
cdab7a5e5f
refactor(admin): drop AI connection config page for WP AI Connectors
...
Remove the "AI 连接配置" page under 扩展&增强 together with the theme's
own OpenAI-compatible provider path. AI generation (SEO, summary, tags)
now runs solely on the WordPress AI Client (wp_ai_client_prompt), with
connections configured through WordPress AI Connectors.
- AI.php keeps only the WP AI Client path: no provider config storage,
no theme fallback, no rate limiting
- Drop /ai/status, /ai/settings and legacy /ai/seo-suggest routes plus
their handlers
- Remove dead compat code: AISEO::suggest, AIPrompt::build_seo_prompt
and the front-submit AI assist flow (its buttons were never rendered
and its endpoints were never registered)
- Update SEO schema/meta-box guidance that pointed at the deleted page
- Add ai-config-removal contract test and refresh the toast and
user-features contracts affected by the cleanup
2026-10-13 19:32:34 +08:00
kate522
5091da6a60
feat(sms): align provider and verification flow
2026-10-05 02:13:52 +08:00
kate522
59901b9e10
feat(identity): align auth flow with reference theme
2026-10-04 21:10:12 +08:00
kate522
6f2adfaef1
feat(float): rebuild right floating buttons 1:1 with reference theme
...
- Storage: aksrt_floating_buttons now uses reference float_btn shape
(fixed 8 sortable types, more-buttons group); single source of
defaults/sanitize in AKSRT\Settings\FloatButtons
- Admin SPA: CSF-parity page split into components/floating/*
- Frontend: aksrt_float_right() on wp_footer mirrors zib_float_right()
(wp_is_mobile, PC tooltip, toggle-theme, ontop/scrollTopTo, qrcode,
wechat/qq, pay_vip, add, more)
- CSS: floating-buttons.css rewritten from reference rules; legacy float
rules removed from main/part/shell/overlay-primitives
- Remove dead code: reorder route/API, get_floating_buttons_items,
floatingSchema, floatActionsId, float-theme-toggle bindings,
common/floating.css, aksrt-runtime-win.php, .aksrt-float-btn
2026-09-26 20:44:50 +08:00
kate522
d4bb43a275
feat(attachment): 按参考主题重构后台上传配置套件
...
- 新增 AKSRT\Attachment\UploadLimits:按用户类型解析图片/视频/文件
上传上限(取最大值+默认兜底,钳制到 PHP 上限)、允许/禁止格式过滤、
上传自动重命名、非管理员附件页 404;不含论坛角色
- 后台「附件配置」重做:大小限制/格式限制/上传行为三组配置,
PHP Schema 与 SPA Schema 逐字段镜像(v1.2.0)
- 定制页 AttachmentPermissions.vue 改为标准 schemaPage,清理失效的
API 包装、组件加载器与旧配置键(submit_image_max_size 等)
- 投稿/评论上传、批量上传数量全部切换到新链路;AksField 数字组件
支持单位展示
- 更新 captcha harness 与 front-submit 契约测试;421 项测试通过
2026-09-24 11:04: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
5b5db0f8f5
feat(admin): back the SPA icon picker with the server catalog
...
FaIconPicker drops its duplicated hard-coded FA subset and loads
GET /aksrt/v1/icons/catalog: full solid/regular/brands sets, the
built-in zibsvg sprite tab and an inline custom SVG tab. Props/emit
surface is unchanged; the system-notice title icon schema drift
(input vs icon) is fixed on the JS side.
2026-09-06 12:59:30 +08:00
kate522
4833053a5c
fix(email): complete mail settings and templates
2026-09-04 12:06:42 +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
780e1eba21
优化了一些问题
2026-08-29 22:03:48 +08:00
kate522
5cae5b5c93
积分与余额账务系统硬切重构
2026-08-24 15:59:11 +08:00
kate522
86692ff3f9
用户功能设置收口与废弃后台链路清理
2026-08-23 22:09:12 +08:00
kate522
af52f9e94d
登录注册体系的源码级硬切换
2026-08-23 20:30:01 +08:00
kate522
480e2bf07e
feat(admin): rebuild page display settings
2026-08-19 00:07:13 +08:00
kate522
a0b84977a2
feat(navigation): hard-switch to Zibll navigation and Font Awesome 5
2026-08-18 20:46:21 +08:00
kate522
ac5c0b2dd7
fix(admin): restore Vite admin source files
2026-08-17 20:02:36 +08:00
kate522
e1723a8f08
feat(widgets): add phase 4 validation and accessibility
2026-08-17 19:14:40 +08:00
kate522
b4a4b295bc
refactor(admin): clean up audit/permission/paid content config
...
- P1: remove the duplicate "审核联动" (ai_moderate_background/submit)
block from the attachment permissions page; those settings live in
the "评论审核" / API content audit surfaces.
- P2: rename the "内容审核" submenu to "评论审核" (permissions domain).
- P4: remove the "下载/付费内容中心" page and its schema/route chain;
hardcode runtime policy so download always supports credit purchase
and paid content is limited to posts. Drop the now-dead
cms_features.download_credit flag and parse_slug_list helper.
2026-08-13 01:14:21 +08:00
kate522
2bbd7c01a3
feat: remove forum feature (Phase 1)
2026-08-02 20:02:44 +08:00
kate522
92e445dbd4
feat: 添加身份认证服务商配置页
2026-08-01 12:06:55 +08:00
kate522
2dfaa10798
fix(identity): complete native certification review flow
2026-07-29 12:25:58 +08:00
kate522
79bc4159f5
fix(admin): join REST URLs correctly under plain permalinks
...
When permalink_structure is empty, rest_url() is
index.php?rest_route=/aksrt/v1. Naive base+endpoint produced
rest_route=/aksrt/v1/banners?kind=banner (query inside route value),
so WP returned rest_no_route and Banner/Hero managers 404'd.
Fold path into rest_route and append extra params as siblings.
2026-07-22 20:32:32 +08:00
kate522
b36186da65
feat(ai): 打通 SEO 闭环与投稿写作辅助
...
对齐 Zibll 的 AI 生成 SEO 流程:统一 WP AI Client/主题 Provider 双后端、文章/分类 SEO 框与生成回填、投稿摘要/标签建议,并收敛扩展页为连接配置。
2026-07-12 15:36:04 +08:00
kate522
3675b7dcef
fix(extensions): IP 归属地管理端测试可绕过启用开关
...
后台测试此前受 ip_geo_enabled 短路,未启用时结果恒为空;强制 live lookup 并返回可读失败原因。
2026-07-12 14:35:19 +08:00
kate522
5c84d259e7
fix(admin): AI 状态接口使用共享 API 客户端 nonce
...
ExtensionAI 误读 window.aksrtAdmin.nonce 导致 /ai/status 403;改为 aksrtAdminData 管道并补充加载错误提示。
2026-07-12 14:32:19 +08:00
kate522
91b083b2b0
refactor(settings): collapse get_all to aksrt_settings and drop migration UI
...
Make aksrt_settings the sole theme settings store for get_all(), remove
aksrt_seo_settings/aksrt_basic_settings merge paths, point global.logo
schema at aksrt_settings, and delete the retired settings migration page,
route, REST endpoint, and related SPA surface.
2026-07-11 16:55:27 +08:00
Claude Code
1268a55dd0
导入 AKSRT 主题开发源码
2026-07-03 22:50:34 +08:00