Commit Graph
36 Commits
Author SHA1 Message Date
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 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 b7dc3d170d fix(captcha): 防止空 captcha_id 请求极验 403
custom 类型 schema 现按 array 深度净化保存;前台启用但凭据未齐时跳过渲染,Geetest 客户端也校验 captchaId。
2026-07-12 14:49:24 +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
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
kate522 f3db6c89cc feat(shop): complete storefront archive, seller edit, revenue
Wire product cat/tag archives to settings-driven sort and AJAX paging,
seller product options/video/params editing, revenue withdraw form and
order review submit — finishing remaining shop frontend gaps after buy-path.
2026-07-12 10:38:02 +08:00
kate522 50e3db85bb feat(shop): wire storefront buy path to server cart
Connect product options/add-cart, server cart checkout payloads,
favorite/rebuy/receipt REST, and order-center actions without
localStorage dual-read or hardcoded cart/orders URL hacks.
2026-07-12 09:15:45 +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 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 7c56afa376 fix(admin): repair email rollback and product taxonomy APIs
Call the existing Email_Rollback::list_pending method instead of the missing
list_recent_changes method that caused /email-rollback/users to fatal. Add
the product taxonomy route expected by ProductEditorDrawer and return
category/tag options for the editor.
2026-07-11 12:20:33 +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
kate522andClaude 09f1eec909 Zibll 主线收口:统一 single 并清退 compat 资源路径
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 20:30:49 +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 1c8610154b Schema 收口第七轮:收尾 card-pass 依赖尾项
继续 Workstream C 收尾,补齐 payment.card-pass 在 PHP schema 层缺失的主开关折叠逻辑:

- 以 card_pass_enabled 为总开关,为卡号规则、兑换规则、展示设置三组子字段补齐 dependsOn;
  与前端 schema 已有的折叠行为保持一致。
- 这轮检查过 page/comment/order/withdrawal 等尾项,现阶段前端 schema 已具备较完整依赖契约;
  当前最真实的缺口集中在 PHP schema 的 card-pass 这一组,因此单独收口,避免无效改动。

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

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 18:11:38 +08:00
kate522andClaude Fable 5 c5575f16a8 Schema 收口第六轮:继续补 page_display / payment / post-list 依赖尾项
继续 Workstream C,清理剩余的 PHP schema dependsOn 尾项:

- payment.gateway:继续为 xunhupay / xhpay / payjs / epay / stripe 补齐 provider 开关下的
  PHP dependsOn,使网关配置折叠逻辑不再只停留在前端 schema。
- post_list.thumb / filter:补齐随机封面、多图模式、视频静音、首图尺寸、AJAX 筛选维度、
  自定义筛选与按分类绑定筛选的 PHP dependsOn,收回“总开关 -> 子配置”节奏。
- page_display:继续为 header-components 的搜索/图标卡片分支与 category 头图补 PHP dependsOn,
  让 page_display 在 PHP 层也具备与前端一致的展开契约。

验证:
- php -l 通过:page-display / payment / post-list 三个 PHP schema 文件
- node --check 复核通过:payment/gateway.js、post-list/filter.js、post-list/thumb.js、page-display/index.js

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 17:13:59 +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 6a7bcc8bf7 Schema 收口第四轮:补齐 payment gateway 的 PHP 依赖契约
继续 Workstream C,对 payment.gateway 做 PHP schema 收口:

- 为 wechat / alipay / paypal 三组网关配置补齐 dependsOn,确保 provider 配置只在对应
  payment_*_enabled 开启后展开。
- 延续前几轮的目标:让 PHP schema 与前端 schema 一样,真正承担“总开关 -> 子配置”的
  单一真理源角色,而不是仅前端层面做折叠展示。

说明:本轮原计划同时继续推进 page_display,但审阅后发现 page_display 的剩余问题以
  结构性差异(缺少真正的 home 主 section、float-btn 在前端 schema 层未建模完整)为主,
  不适合和本轮 payment gateway 的机械对齐混在一个提交里,因此先独立完成 gateway 收口。

验证:
- php -l 通过:class-aksrt-admin-schema-payment.php
- node --check 已复核 payment/post-list 前几轮前端 schema 文件仍通过

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 23:46:41 +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
kate522 b98faa965a Restore unified paid download model 2026-07-04 19:24:04 +08:00
Claude Code 1268a55dd0 导入 AKSRT 主题开发源码 2026-07-03 22:50:34 +08:00