Commit Graph
90 Commits
Author SHA1 Message Date
kate522 5ae1a9ad93 feat(frontend): align single post page 1:1 with Zibll
Restore Zibll float dual-column shell, fix single settings DTO key mapping,
reorder article footer/actions, and match author bar, prev/next, title/body
typography, and limit-height expand UX.
2026-07-13 08:26:36 +08:00
kate522 7ced67b2d3 fix(ai): treat unchanged AI settings as successful save
update_option returns false when values are identical, which made
POST /ai/settings respond 400 with "保存失败" on no-op saves and
masked-key re-saves. Normalize config, accept no-op as success, and
only send a new API key from the admin form when entered.
2026-07-13 08:08:42 +08:00
kate522 1e37da60c9 fix(footer): align template_1 shell with Zibll 1:1
Rewrite footer markup to zib_footer_con contract: single adaptive logo
(white-src/dark-src), fcode-links HTML primary, float third column,
hidden-xs, toggle-radius contacts, miniimg structure, customize-first
footer-conter. Restyle zibll-shell CSS and drop conflicting site-footer
BEM padding so filled footer data matches Zibll layout.
2026-07-13 07:46:19 +08:00
kate522 d73a7af25e fix(list): wire Zibll list/card display chain end-to-end
Resolve post list mode from global list_type + surface card overrides so
homepage/archives/AJAX honor admin list and card style settings.
2026-07-12 20:56:38 +08:00
kate522 8f19384582 fix(homepage): align shell with zibll and restore post stream
Move header-slider outside main, render fluid zones once, default the
latest stream to plain posts by date, and cut dual-render/perf waste so
published posts and hero/banner structure match the zibll contract.
2026-07-12 17:49:58 +08:00
kate522 8fe708bf1e feat(ai): 后台摘要生成与 SEO 设置文案补齐
独立 SEO 框增加 AI 生成摘要写入 excerpt;全局 SEO schema 补充 AI 开关说明与提示词占位。
2026-07-12 15:41:18 +08:00
kate522 b36186da65 feat(ai): 打通 SEO 闭环与投稿写作辅助
对齐 Zibll 的 AI 生成 SEO 流程:统一 WP AI Client/主题 Provider 双后端、文章/分类 SEO 框与生成回填、投稿摘要/标签建议,并收敛扩展页为连接配置。
2026-07-12 15:36:04 +08:00
kate522 ab9bb9a145 fix(extensions): 内容审核管理端测试可绕过启用开关
后台测试此前受 content_audit_enabled/text_enabled 与 on_failure=allow 短路,未启用时恒为通过;强制 live 调用并返回可读失败原因。
2026-07-12 14:36:23 +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
kate522andClaude Fable 5 fb68b3f8c6 feat: 收口 1:1 剩余欠账(论坛壳/圈子/501/私信默认/资源死码)
- 论坛 board/topic/plate/tag/plate-cat 接入 content-wrap/content-layout 主站流壳
- 公共主页 plate 圈子 tab 接关注/管理版块真实数据并计数
- forum-topic 渲染封面/付费扩展位 meta(§7.3)
- 后台删除消息/背景图/评论图 REST 从 501 补齐为真实实现
- 私信 private_s 缺省 true(完整 1:1,不再兼容默认关)
- 清理 aksrt_get_resource_meta 不可达旧实现;挂载 AKSRT_AI 配置门控实例
- 登录 modal 启用 colorful-header;订单页粉边 focus 软化;侧栏次级入口视觉弱化

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 13:06:47 +08:00
kate522andClaude Fable 5 03022349db feat(admin): 商城/论坛/支付/用户导航默认落点与次级概览
按 stream-h 收束后台默认入口:实体与前台结果优先;shop/forum 概览标 secondaryEntry;payment 默认落到付费内容;users 将短信/微信后移。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 12:12:39 +08:00
kate522 619d2bc170 feat(frontend): single pay-box positions + Zibll cover episodes/slides
Wire pay_box_position to box_top/top/bottom/box_bottom, render download or
paywall modules at those slots, and resolve featured_slide/attachment IDs
plus video episode chrome for single covers.
2026-07-11 22:08:50 +08:00
kate522 69bed0f068 feat(frontend): align single related/prevnext/maxheight with Zibll
Honor prevnext/authordesc/yiyan settings, multi-tax related queries with
orderby (incl. views), per-post maxheight override, and only expand content
when maxheight is enabled.
2026-07-11 21:46:33 +08:00
kate522 387486f49d feat(shop): product editor SKU variants UI
Wire ProductEditorDrawer to existing /shop/products/{id}/variants REST
for list/save. Support attribute text parsing, batch replace save, and
optional save-variants-only. Align save endpoint JSON body parsing with
controller helper.
2026-07-11 18:27:52 +08:00
kate522 3d021d08f6 feat(shop): add product taxonomy write REST for editor
Expose POST /shop/products/taxonomy to create category/tag terms,
enrich GET term payload with slug/parent/count, and let
ProductEditorDrawer create categories and ensure tags without WP
native UI.
2026-07-11 18:22:10 +08:00
kate522 77497b78b4 fix(shop): wire order drawer ship/after-sale to live REST
Point OrderDetailDrawer at /shop/shipping and /shop/after-sale with
carrier/tracking_no and amount payloads matching backend contracts.
Map order detail context.buyer/address/shipping/after_sale for the
drawer, and include after-sale reason in summary items.
2026-07-11 18:03:17 +08:00
kate522 c93b303453 feat(payment): finish Zibll key contract and wire checkout gateways
Drop dual-read payment runtime fallbacks, align PHP schema to Vue keys,
read gateway credentials only from aksrt_settings with enable toggles,
expose configured adapters at checkout, fix credits pay signatures, and
apply order expiry settings. Wire orphan order/card-pass/withdrawal
schema pages; delete unused Payment* wrappers.
2026-07-11 17:42:35 +08:00
kate522 d9fbacbce6 feat(payment): align VIP/balance/order schema keys with Zibll
Extract payment readers into AKSRT_Settings_Payment_Runtime and store
canonical Zibll option IDs (pay_user_vip_*, pay_balance_*, pay_box_position,
pay_mark, pay_rebate_*, pay_income_*) in aksrt_settings with no legacy
payment_* dual-read. Update PHP/JS payment schemas and VIP sidebar gate.
2026-07-11 17:13:29 +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
kate522 3b951a5a36 refactor(admin): retire settings migration and compat menu demotion
Stop auto-running AKSRT_Settings_Migration, drop multi-option settings
merge and Zibll favicon aliases, remove the migration tools entry from
menus/schema, flatten admin sections so pages are not demoted into a
compat bag, and retire the migration-status payload for leftover SPA
routes after a full admin rebuild.
2026-07-11 15:54:35 +08:00
kate522 06e551e6d8 refactor(permissions): remove hard-off compat stubs and harden login schema
Delete aksrt-compat.php and rewire messages/PM entry points to the user
center notification route. Normalize permissions login dependsOn objects
and allow an explicit empty captcha provider option so login/moderation
schema pages remain loadable without legacy compatibility shims.
2026-07-11 15:29:20 +08:00
kate522 f0f6e97d04 feat(homepage): consume Zibll homepage keys on frontend queries
Point homepage getters and tab queries at home_lists / home_exclude_* /
index_list_title / list1 orderby. Support category+topics tab terms via
tax_query, expand the homepage term picker API, and keep facade method
names for existing templates without dual-writing storage keys.
2026-07-11 15:23:21 +08:00
kate522 8fddc33156 feat(homepage): align homepage settings with Zibll main-list keys
Move /settings/homepage onto a dedicated REST trait that stores Zibll
option IDs (home_posts_list_s, index_list_title, home_lists, exclude
posts/cats, list1 orderby). Reader exposes both canonical keys and
temporary aliases for existing front-end helpers; save path drops
superseded AKSRT-only keys. HomepageSettings.vue binds to the new
contract while remaining a Vue custom page.
2026-07-11 15:14:22 +08:00
kate522 6a9db98204 feat(post-list): align list schema with Zibll paging contract
Replace the post_list.list admin contract with a dedicated schema module
using Zibll keys (paging_ajax_s, paging_ajax_ias_s, ajax_trigger,
ajax_nomore, list_orderby, post_list_author/time, target_blank). Runtime
derives numbered/load_more/infinite from those keys and applies list
orderby on main queries without legacy dual-write layers.
2026-07-11 13:49:48 +08:00
kate522 41243e12d2 fix(admin): unblock post list save and permissions schema endpoints
Align post_list.list pagination values with PHP (numbered/load_more/infinite)
so SchemaPage saves no longer 422 on 分页模式. Stop permissions schema build
from fatally calling missing build_cap_matrix_groups() when loading
login/moderation sections, normalize moderation dependsOn objects, and skip
notice-only fields in schema field collection.
2026-07-11 09:53:03 +08:00
kate522 a44d2f8940 fix(admin): route homepage settings to custom HomepageSettings page
The page-display homepage menu entry was registered as a SchemaPage for
section "homepage", but PHP's page_display schema has no such section, so
GET /wp-json/aksrt/v1/settings/schema/page_display/homepage returned 404
(未知的设置分组: homepage). Point the route at HomepageSettings, which
already uses /settings/homepage like FooterSettings.
2026-07-11 09:44:26 +08:00
kate522 483c9123d4 fix: define missing sortOptions in page-display schema
Homepage schema referenced an undeclared sortOptions constant, which
threw ReferenceError during admin SPA router init and blanked the panel.
Define the options list in sync with homepage_allowed_sorts().
2026-07-10 21:34:18 +08:00
kate522andClaude 09f1eec909 Zibll 主线收口:统一 single 并清退 compat 资源路径
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 20:30:49 +08:00
kate522andClaude Fable 5 c7f8d15fb8 J 最终核查收尾:补兼容项弱化标识并清理 resource 死代码
基于 J 验收视角的最终核查,处理两项已登记残差:

- App.vue:菜单渲染现在消费 secondaryEntry 元数据,对已降权/后移的兼容项追加“· 次级”
  标签,补上文档中提到但未落地的就地视觉弱化。
- aksrt-resource.php:删除 aksrt_default_resource_meta() 中首个 return 之后的不可达旧实现,
  消除 J 验收文档中登记的代码卫生残差之一。

验证:
- php -l 通过:inc/helpers/aksrt-resource.php
- App.vue 变更已做结构性 sanity check,确保 secondaryEntry 标签逻辑存在

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 19:10:31 +08:00
kate522andClaude Fable 5 a17fb7a119 字段全量比对最终收口:补齐 confirmed diff 默认值
继续 Workstream C,按“只扫 confirmed diff,不做泛化式补改”的原则收最后一批可实证差异:

- post_list.comment:comment_text 从“说点什么吧...”对齐到 Zibll 的“欢迎您留下宝贵的见解!”。
- payment.order:payment_no_logged_remind 补齐为 Zibll 默认未登录提醒文案。
- payment.withdrawal:pay_rebate_withdraw_text_details 补齐为 Zibll 默认提现协议文案。
- PHP schema 同步补齐 payment_no_logged_remind / pay_rebate_withdraw_text_details 默认值,保持前后端契约一致。

验证:
- php -l 通过:class-aksrt-admin-schema-payment.php
- node --check 通过:post-list/comment.js、payment/order.js、payment/withdrawal.js

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 18:32:13 +08:00
kate522andClaude Fable 5 12c11732cb Schema 收口第五轮:补齐 page_display 的 homepage / float-btn 契约
继续 Workstream C,集中处理 page_display 的结构性差异:

- 把原本只是空壳的 `page_display.homepage` schema 补齐为真实契约层:
  复用 HomepageSettings.vue 已在使用的字段(内容模型、主列表、首页 Tab、卡片样式、侧栏与交互),
  不回退旧接口,直接围绕当前最新的 homepage settings 链路补 schema 契约。
- 新增 `page_display.float-btn` 前端 schema section,和 PHP 已存在的 float-btn section 对齐,
  补齐五层中的前端 schema 缺口。
- page-display 路由配置中把 homepage 从 customPage 切回 schemaPage,并新增 float-btn 路由,
  使 page_display 域不再存在“有 PHP section 但无前端 schema page”的断层。
- 对齐 Zibll 默认值:header_layout 从 2 收敛到 1。
- 为 header-components 的 slider_config 子字段补 PHP dependsOn,避免在未启用顶部多功能组件时
  仍平铺暴露幻灯片参数。

验证:
- php -l 通过:class-aksrt-admin-schema-page-display.php
- node --check 通过:page-display/index.js / constants/sections/page-display.js
- shim 校验确认:/page-display/homepage 与 /page-display/float-btn 现在都以 SchemaPage 形式挂接,
  canonicalDomain=page_display,section 分别为 homepage / float-btn

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 00:22:19 +08:00
kate522andClaude Fable 5 ba61a20b34 Schema 收口第三轮:继续对齐 payment/post-list 默认值与依赖
继续 Workstream C,对 payment 与 post-list 做高影响字段收口:

- payment.recharge:对齐 Zibll pay_balance_s 默认=true,并在 PHP schema 层补齐 recharge
  主开关下的 mode / desc / auto_to_balance / packages / product / transfer / pass-charge /
  exchange 等 dependsOn,恢复“总开关 -> 子配置”的配置展开节奏。
- payment.vip:对齐 Zibll 续费默认心智,payment_vip_renew_price_type 改为 discount,
  payment_vip_renew_discount 改为 8,payment_vip_renew_reduce 改为 20;同时补齐
  renew / upgrade 在 PHP schema 层的 dependsOn,并补上 reduce 选项。
- post_list.list:将默认卡片样式从 AKSRT 自定义的 standard 收敛到更接近 Zibll 的 thumb,
  同时补齐 card 选项,减少列表主线心智偏差。

验证:
- php -l 通过:class-aksrt-admin-schema-payment.php / class-aksrt-admin-schema-post-list.php
- node --check 通过:payment/recharge.js / payment/vip.js / post-list/list.js

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 20:07:09 +08:00
kate522andClaude Fable 5 a230e6a34b Schema 收口第二轮:补齐 PHP 依赖契约并继续收敛文案
继续 Workstream C 全量字段比对,重点处理“前端 schema 已有 dependsOn、PHP schema 缺失”
的五层不一致问题,并顺手清理残留平台化文案。

本次完成:
- global PHP schema:补齐 AI SEO / loading 动画 / 代码高亮相关 dependsOn,避免在总开关关闭时
  子字段仍作为平铺配置暴露。
- permissions PHP schema:补齐 login captcha 基础开关的 dependsOn;将“审核和风控”改为“内容审核”,
  将“基本权限 / 能力矩阵”改为“基本权限”;同步更新前端 schema 文案。
- users PHP schema:为 sms / report / wechat 三个典型兼容/治理域补齐 master-switch -> sub-config
  的 dependsOn(严格贴合 stream-c §7.3),避免这些低优先级能力打断主线配置节奏。
- docs-mode PHP schema:补齐 docs_mode_enabled 下的子字段折叠逻辑,确保兼容域“默认不展开”。
- forum schema:将用户治理文案收紧为用户管理,并把 other section 调整到 forum 聚合末尾。
- payment revenue 前端 schema:去掉“台账”措辞,回到更轻的主题配置文案。

验证:
- php -l 通过:global / permissions / users / extensions-docs-mode / forum / forum-basic
- node --check 通过:permissions/index.js / payment/revenue.js
- 与上一轮已完成的默认值对齐一起,当前 worktree 中 C 线改动已覆盖:
  default 收敛、level/badge 后移、以及一批高影响 dependsOn/文案修正

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:41:28 +08:00
kate522andClaude Fable 5 accf5bdbe8 字段全量比对收口:对齐 Zibll 默认值并后移等级/徽章入口
继续 Workstream C 全量字段比对,并按用户裁定处理冲突:
- UsersLevel / UsersBadge 采用“保留但后移”策略,不兼容旧数据接口,继续沿用当前新型
  sections/router 体系,在 users 主线中降权后移到 compat tools 分区。
- 按 Zibll 实际 options 默认值收敛一批高影响字段,打通 PHP schema + 前端 schema 两层:
  * global/search: search_posts / search_no_page / search_custom_key_s / search_cat -> true
  * forum: bbs_show_new_plate / bbs_post_pay_hide_type_s / bbs_post_pay_vip_price_s /
    bbs_reply_paginate_ias_s / bbs_comment_upload_img / bbs_rewrite_suffix_html_s -> true
  * shop: shop_s -> true, shop_breadcrumbs_shop_home -> false,
    shop_rewrite_suffix_html_s -> true
  * users: user_signup_no_repas / message_auto_clear_s / post_rewards_s /
    user_report_img_s -> true
  * post-list: cat_s -> false

验证:
- php -l 检查所有改动过的 PHP schema 文件均通过
- node --check 检查所有改动过的前端 schema 文件均通过
- shim 校验确认 users-level/users-badge 已从 users 主分区移出并以 secondaryEntry=true
  落入 compat tools,且全站无路由碰撞
- 注:本 worktree 下缺少可执行 vite,未能在隔离副本中复跑 npm build;此前主副本同批次
  IA 修正构建通过,本次继续只改 schema/sections 常量与默认值,已用语法校验覆盖

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:00:52 +08:00
kate522andClaude Fable 5 17c24826c8 后台 IA 收口修正:修复默认路由与降权页路由,收敛 AI 五层契约与文案
Workstream C/D/J 收口阶段的后台 IA 修正(前序结构性 stream 已合并,本轮只补残留缺口):

- [修复] page_display 默认路由失效:SECTION_DEFAULT_CHILDREN 键 'page_display'
  与分区 key 'page-display' 不匹配,attachSectionDefaultRoute 永不命中,
  /page-display 无默认落点。改键并指向 SchemaPage page-display-header-nav
  (stream-d §5.2 / CLAUDE.md 约束 #9)。
- [修复] shop/forum 概览页路由碰撞:shop-dashboard 用 /shop、forum-dashboard
  用 /forum,与分区根路由冲突并被 createSectionRedirectRoutes 抢先重定向,
  兼容导航项不可达。改为 /shop/dashboard、/forum/dashboard。
- [修复] AI 页虚假 schema 绑定:extensions-ai 声明了不存在的 section:'ai',
  违反五层契约。AI 属停用候选(stream-c §5.9,不扩写核心 schema),移除虚假
  绑定,改用自有 /ai/* 端点作为兼容能力。
- [文案] 收敛平台术语(stream-c §8):users-report「治理台账」→「用户限制状态
  管理」;「AI 子系统」→「AI 辅助(兼容)」。

验证:admin SPA 构建通过;节点级校验确认 10 个分区默认路由全部解析、无路由碰撞、
extensions-ai canonicalDomain/section 已清空。验收报告与兼容层状态表见 docs/
(本地内部文档,按 .gitignore 约定不入库)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 17:49:05 +08:00
kate522andClaude Fable 5 8afb4ec856 兼容层收口:隔离非主线入口
将文档模式、下载中心、专题聚合、消息中心、前台投稿等非 Zibll 主线能力
收敛为“兼容保留”,默认不再作为主入口暴露,但保留路由/模板/数据/设置键。

- 新增 inc/helpers/aksrt-compat.php 兼容策略中枢:
  - aksrt_get_messages_url()(补齐此前缺失、被两处模板调用的 helper)
  - aksrt_pm_frontend_enabled()(前台私信入口开关,默认关闭)
  - aksrt_show_compat_page_templates()(兼容页面模板下拉开关,默认关闭)
- AKSRT_Templates::page_template_map() 拆分为主线/兼容两组,兼容模板默认
  移出 wp-admin 页面模板下拉;已分配这些模板的历史页面照常渲染。
- 作者操作条“私信”按钮(停用候选)默认前台隐藏,可经 filter/常量开启。
- 修复 admin-sections.js barrel 未再导出 getAdminSections 的缺陷,该缺陷
  会使 router 的兼容分区默认落点重定向在加载时抛错。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 15:22:34 +08:00
kate522 4043de2473 Align admin section default routes 2026-07-06 11:29:33 +08:00
kate522 ddfb8539cb 降权非主线后台入口 2026-07-03 23:27:21 +08:00
Claude Code 1268a55dd0 导入 AKSRT 主题开发源码 2026-07-03 22:50:34 +08:00