Commit Graph
31 Commits
Author SHA1 Message Date
kate522 d34c954b83 feat(pay): card-pass redeem for VIP and balance (zibll-style)
Rewrite charge-card into typed single-use card_pass inventory with public redeem REST, user-center UI for balance/VIP, admin type-aware create/batch, and CAS mark-used fulfillment via Credits/activate_vip.
2026-07-14 20:13:46 +08:00
kate522 5d7b138c2c feat(pay): content cashier coupon and rebate discount chain
Wire zibll-style cash content discounts: VIP list price → buyer 推广折扣 → coupon, then commission on final pay. Reuse AKSRT_Coupon, add Invite::get_referrer, cashier UI, and paid-time coupon burn + rebate_log.
2026-07-14 19:38:05 +08:00
kate522 9eaddce457 feat(pay): points-to-VIP exchange and remaining-days upgrade pricing
Add pay_vip_points_exchange packages (level|points|days|title), REST redeem
for non-VIP users, unit|daily upgrade product for residual VIP1 days, and UI.
2026-07-14 18:52:11 +08:00
kate522 5acf302e53 feat(pay): alone download page, free-login gate, list pay badges 2026-07-14 00:38:43 +08:00
kate522 dcc82a39e7 fix(admin): close hero/banner config chain in page-display IA
Wire existing HeroManager/BannerManager into page-display routes and
component loaders, fix banner REST round-trip (show_meta + optional title),
and retarget operator deep-links to the real slide managers.
2026-07-13 21:57:10 +08:00
kate522 7a4419d0dd fix(captcha): 1:1 align bind-phone and real status contracts
Add bind_phone captcha scene across schema/runtime/UI, require captcha on
phone bind, return real captcha status objects instead of legacy option
aliases, and harden form discovery for page-sign auth forms.
2026-07-13 21:14:31 +08:00
kate522 02f77b756c fix(captcha): close human-verification loop end-to-end
Rewrite captcha core around aksrt_captcha_config only, require captcha
on login/comment/SMS/phone auth and related gates, wire frontend token
collection, and remove dead dual-source security settings plus slider enqueue.
2026-07-13 19:52:30 +08:00
kate522 48f7436030 feat(frontend): deepen single post 1:1 parity with Zibll
Split related style/source settings, add subtitle/meta/allow-view helpers, align cover/author/tags/pay shell markup and CSS with Zibll single.
2026-07-13 12:43:07 +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 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 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 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
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