Commit Graph
64 Commits
Author SHA1 Message Date
kate522 bc96edf384 fix(captcha): wire scene switches and rename menu to 人机验证
- Admin: 登录权限 → 人机验证; 停用场景 → 启用场景 (opt-in)
- Normalize enabled_scenarios with legacy disabled_scenarios BC
- Sign-in: never soft-bypass captcha; cancel unlocks button
- Captcha JS: cancel path finishes pending callback as false
2026-07-15 16:48:57 +08:00
kate522 50e9e83f68 fix(user-home): 1:1 align public profile with Zibll author page
- Remove 主页概览/快捷入口/交易服务 private-dashboard sidebar from public home
- Full-width layout; counts live in tab bar (粉丝 = followers)
- Hero: 用户中心/消息 for self, 关注/私信 for others; drop body stats row
- Defaults: no sidebar, posts/favorites/comments/follow tabs
2026-07-15 16:18:17 +08:00
kate522 f4b72c8f70 chore(admin): stop tracking SPA build; add native product meta box
Remove assets/admin/build from version control (local build only going
forward). Add AKSRT_Product_Meta_Box so product price/stock/shipping/after-
sale fields can be edited on the native aksrt_product edit screen without
the SPA product drawer.
2026-07-15 02:13:25 +08:00
kate522 a3dde3874a feat(admin): strip SPA ops menus; redirect old hashes to native WP (Phase 4)
SPA shop/forum/payment/users sections now keep configuration pages only.
Operational workbenches were removed from the sidebar and loaders; legacy
hash routes open NativeOpsRedirect into the matching WP native admin page.
Admin SPA production build refreshed accordingly.
2026-07-15 02:10:05 +08:00
kate522 12673fb819 feat(frontend): adopt zibll site-layout-1/2/3 float dual-column system
Wire settings-driven sidebar visibility and body site-layout classes,
replace content-layout CSS grid with Zibll float geometry, move sidebar
DOM to content-wrap sibling across single/archive/page/home, and add
post meta show_layout overrides.
2026-07-15 00:30:26 +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 79f8c43970 fix(pay): unify download gate on cashier unlock not per-download credits
Route can_download/Download_State/permission card through Content_Visibility need_purchase; drop download_credit as a second toll; clarify admin labels for points purchase mode.
2026-07-14 20:38:17 +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 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 fb1a4e110c refactor(admin): remove content-type resource/post module option 2026-07-13 23:59:32 +08:00
kate522 1af0e9b753 refactor(resource): drop aksrt_resource CPT residue, post+meta only 2026-07-13 23:47:04 +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 fa1ab52b8b fix(captcha): seal comment fallback and phone-register client loop
Gate preprocess_comment so native wp-comments-post cannot bypass captcha,
require verify+reset on phone register, and align UsersSignin status with
active provider.
2026-07-13 20:35:09 +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 48f089cdc7 fix(ai): normalize OpenAI-compatible API base to /v1
Accept gateway root URLs like https://llm.example.com and auto-append /v1
so NewAPI-style providers work; update Extension AI help text accordingly.
2026-07-13 08:53:33 +08:00
kate522 385de01d26 fix(admin): repair page-display schema JS syntax
Remove a duplicated options fragment that broke Vite import analysis
during admin production builds.
2026-07-13 08:36:23 +08:00
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