Commit Graph
58 Commits
Author SHA1 Message Date
kate522 d1697c19d9 feat(admin): coupon field parity/batch and charge-card UX polish
Native coupons expose per-user limit, max discount, batch generate, enable;
charge cards support expires_at, code dump after batch, search and CN labels.
2026-07-15 02:54:54 +08:00
kate522 7a1069f003 feat(admin): shipping list create, after-sale filters, order note/actions
Native pay ops UX: create shipping/after-sale from list pages with redirect
branching, after-sale order/type filters and merchant actions, JSON-safe
order admin notes, and complete/refund/close shortcuts.
2026-07-15 02:50:23 +08:00
kate522 8eb5c273ef feat(admin): order shipping/after-sale create and plate list columns
Allow creating shipping records and after-sale tickets from the native
order detail page, and show plate moderator/stats columns on the forum
plate list table. Source only; no SPA build artifacts.
2026-07-15 02:34:31 +08:00
kate522 e2f7fcad89 feat(admin): order detail view, invite-code batching, product tag term fields
Add native order detail page under 支付中心订单, standalone invite-code
batch generate/disable on users.php, and aksrt_product_tag taxonomy form
fields. Source only; no SPA build artifacts.
2026-07-15 02:32:25 +08:00
kate522 e0279e1a23 feat(admin): topic governance list columns and native charge-card batching
Add native aksrt_forum_topic list filters/columns/bulk/quick-edit for
sticky/lock/review/plate. Replace SPA charge-card batch link with an
inline batch generator on the 支付中心卡密 page. No build artifacts.
2026-07-15 02:22:41 +08:00
kate522 bf061f43ee feat(admin): complete native pay ops lists and users.php governance menus
Phase 2b fills shipping, after-sale, coupons, income, and rebate PHP admin
pages under 支付中心, reusing domain services. Phase 3 adds zibll-style
users.php submenus for messages, invite codes, identity verify, and
report/ban queues with admin notices for pending work.
2026-07-15 02:00:42 +08:00
kate522 ebe3e188e1 feat(admin): add native 支付中心 menu with orders/withdraw/cards (Phase 2a)
Introduce AKSRT_Admin_Pay_Menus as a zibll-style top-level WP admin shell
for payment ops. Overview, orders, withdrawals, and charge cards are
usable PHP list pages reusing Order_Repository / Withdrawal / Charge_Card.
Shipping, after-sale, coupons, income, and rebate are stubbed with SPA
fallback until Phase 2b.
2026-07-15 01:48:53 +08:00
kate522 2ead893923 chore(pay): close residual zibll edge contracts for content pay
Expand coupon scope to content categories, document points_deduction as runtime-off like zibll, reject card_pass on content cashier, and pass shop/content context into coupon validate.
2026-07-14 22:12:12 +08:00
kate522 dc28fafcc3 feat(pay): enable points card-pass redeem in user center
Wire zibll-style points_pass_exchange settings, open credits redeem options, and add 卡密兑换积分 UI on the credits panel.
2026-07-14 21:50:05 +08:00
kate522 6bad39a7ba chore(admin): clarify download points purchase mode copy
Rename residual 积分扣费/按次扣费 labels to 积分购买模式 and note cashier unlock; keep download_credit key for storage.
2026-07-14 21:18:26 +08:00
kate522 1039b26efd feat(pay): VIP upgrade jump/unit/permanent billing like zibll
Add jump permanent upgrade SKU, permanent-only product line, keep expiry on unit upgrade, and store upgrade_mode for paid activation.
2026-07-14 20:29:08 +08:00
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 0ad41715e2 refactor(admin): drop homepage mixed content model and publish-resource preset 2026-07-14 00:05:15 +08:00
kate522 24c135aeec fix(admin): harden hero/banner round-trip and operator cross-links
Align enabled-meta semantics with frontend, allow truly empty titles on
update, use router navigation for manager deep-links, and document fixed
skeleton ownership in module schema copy.
2026-07-13 22:31:12 +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 62310891e5 fix(ai): stop false WP AI priority and harden summary-suggest
Prefer configured theme OpenAI provider over incomplete WP AI Client stubs,
return clearer status codes/messages for summary generation, and improve
block-editor content collection for AI 摘要 on post-new.
2026-07-13 08:47:15 +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 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