Commit Graph
131 Commits
Author SHA1 Message Date
kate522 8e0f9d989d feat(user-center): add cash wallet balance separate from credits
Introduce AKSRT_Balance (user_meta aksrt_balance + balance_log) for
Zibll-like pay_balance wallet. User center assets panel shows wallet
and points; balance gateway/card-pass/refunds credit cash when enabled.
2026-07-16 13:44:37 +08:00
kate522 f043d2c1ab fix(single): close remaining live gaps vs Zibll demo
Align runtime --sidebar-width (300→311), --main-radius, and
body.nav-fixed 88px reserve; enqueue single-post CSS parts directly;
match Zibll action buttons and author avatar DOM; tighten dual-column
tokens after comparing blog.rutua.cn with demo.zibll.com.
2026-07-16 13:07:42 +08:00
kate522 6c354fb086 fix(single): restore Zibll float dual-column and article chrome
Align single-post layout/visuals with Zibll: fix sidebar-over-content
float geometry (position:unset, 311px token, kill Bootstrap/container
padding and the 280px sidebar override), demote theme-box to spacing-
only, unify breadcrumb/cover/graphic utilities, and split aksrt-single
render helpers under the file-size limit.
2026-07-16 12:44:09 +08:00
kate522 c656c20c8b fix(user-center): restore page-owned dual-column sidebar layout
User center left nav (stats/services/commerce) stacked or hid after
content-layout lost its grid and the site float shell treated the
nested .sidebar as a widget column. Scope a CSS grid under
body.aksrt-user-center, neutralize site-layout float/hide, align the
drawer to ≤991.98, and drop the truncated #panel-credits selector.
2026-07-16 11:56:09 +08:00
kate522 ee49d1628a feat(admin): list-modal UI for header icon cards repeater
Render icon cards as a compact list with edit/delete actions and
preview on the right; field data is edited in a modal. Opt-in via
schema ui=list-modal so other repeaters stay inline.
2026-07-15 17:27:23 +08:00
kate522 bfb64211ee fix(header): wire multi-function page-type enable like zibll
Connect header_components_show_on through aksrt_header_slide_is_show with
zibll page-type matching, drop the homepage-only gate, align admin options,
apply nav color, enqueue by is_show, remove dead float-btn schema, and
consume footer_tabbar_single extend mode on post singles.
2026-07-15 17:12:51 +08:00
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 cb43412369 feat(forum): plate follow cash coupons + free auto-order
- Meta _aksrt_follow_pay_coupon_s + plate admin toggle (money only)
- Plate_Follow_Pay soft/hard coupon apply, free-after-discount, burn via shared helper
- Cashier auto-submits free topic/plate orders; topic coupon label no longer "预留"
2026-07-15 13:21:48 +08:00
kate522 8ff1408450 fix(pay): preserve order note JSON, shared coupon burn, plate free VIP cashier
- Order_Repository: status note merges into JSON as status_note instead of wiping coupon/topic_pay meta
- Extract aksrt_burn_order_coupon / aksrt_coupon_usage_exists for content + topic
- Money plate follow (incl. VIP free) always opens multi-gateway cashier for 0-order ledger
2026-07-15 13:13:02 +08:00
kate522 78d3189f8f feat(forum): P1 topic coupons, P2 plate follow gateway, cash creator revenue
- Topic_Pay: soft/hard coupon validate, payable amount, free-after-discount, paid burn
- Creator_Revenue: settle content/topic/plate_follow cash (type=order), keep shop path
- Plate VIP1/VIP2 meta + resolve_plate_follow_pay_price via aksrt_get_user_vip_level
- New AKSRT_Plate_Follow_Pay REST multi-gateway; remove Credits×100 money bypass
- Frontend: cms-download plate_follow apiKind + forum-governance money cashier bridge
2026-07-15 13:04:04 +08:00
kate522 cea22daae7 feat(forum): multi-gateway cashier for pay-visibility topics
Replace balance-only AJAX topic purchase with AKSRT_Topic_Pay REST
cashier (resource orders + Payment_Gateway), reuse cms-download modal,
and unlock on aksrt_order_paid.
2026-07-15 12:27:59 +08:00
kate522 cf6ad0e972 feat(forum,admin): plate follow-pay MVP, sales column, order type tabs
Wire paid plate follow (admin meta + points/balance purchase + AJAX),
re-check plate gate on topics, post list sales column, and order type
subtabs; update gap matrix and admin IA map.
2026-07-15 11:00:36 +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 4d2dba47f9 fix(frontend): stop single sidebar float overlap under fixed nav
Replace the fragile content-wrap float + negative-margin sidebar with a
main.container grid, add fixed-nav top breathing room so the breadcrumb
stays below the header, and mark the aside as content-layout__aside.
2026-07-15 00:03:15 +08:00
kate522 8d276844ef fix(frontend): remove blank gap above nav on non-home pages
Complete the fixed-nav contract: when body.nav-fixed and the header
is not the hero overlay (show-slide), take .header out of flow so
body padding alone reserves space. Avoids double offset from sticky
nav still occupying document flow on single/archive pages.
2026-07-14 23:51:31 +08:00
kate522 db361fcc3f fix(frontend): unbreak single post layout cascade
Disable the global 2-col .content-layout grid on single pages (it was
tiling breadcrumb/article/author/related/comments left-right), add the
missing Zibll utility bridge used by the author/meta bar, and replace
nonstandard <name>/<item>/<badge> tags in the single surface.
2026-07-14 23:38:50 +08:00
kate522 666560a49a fix(frontend): restore banner carousel visible height
Global border-box collapsed the banner's height:0 + padding-bottom
aspect box to zero, so slides rendered but took no space. Prefer
aspect-ratio (with content-box fallback) and make .new-swiper honor
data-swiper-config so autoplay/loop/navigation from templates apply.
2026-07-14 23:26:03 +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 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 ba6ae854f8 feat(pay): VIP renew discount tiers and upgrade package pricing
Apply vip_renew discount/reduce to same-level packages, gate renew/upgrade
availability, support dedicated vip_upgrade_product line, and show tags/CTAs.
2026-07-14 18:26:04 +08:00
kate522 d0b8f7805f feat(pay): VIP package purchase service and user-center open flow
Add AKSRT_Vip_Service (GET/POST /pay/vip), activate aksrt_vip_level/expires on
order paid, package UI in credits panel, and deep-link VIP CTA to credits tab.
2026-07-14 18:16:15 +08:00
kate522 8e9e05c859 feat(pay): guest cash purchase with signed cookie unlock (zibll-style)
Allow pay_no_logged_in cash content orders (user_id=0), set aksrt_pay_* cookies
on paid, accept cookie in access state, and expose guest CTA on paywall/box.
2026-07-14 12:19:22 +08:00
kate522 8f15d16d35 feat(pay): sales volume, paid order meta, pending resume, limit-over buy
Bump content sales on resource order paid; show order number/time in download
box; poll pending gateway payments; support download_limit_over_price overbuy.
2026-07-14 12:04:59 +08:00
kate522 770205623d feat(pay): content cashier, resource orders at VIP price, purchase/download JS loop
Wire zibll-style one-shot points/cash cashier for post+_aksrt_pay downloads:
server amount from aksrt_get_user_pay_price, ORDER_PRODUCT_RESOURCE unlock,
frontend need-purchase opens modal, download box purchased/VIP/purchase CTAs.
2026-07-14 11:52:44 +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 5ce43c4326 fix(frontend): close single 1:1 residuals without legacy paths
Unify TOC ownership, real video episode list, slider overlay, single-query related list, Zibll user-card after-box, and new-route subtitle/meta contracts.
2026-07-13 13:18:19 +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 bf49982d16 fix(frontend): stop infinite pagination admin-ajax 400 spam
Hardened list-page infinite scroll so it no longer auto-fires three
admin-ajax requests on first paint, returns machine-readable nonce
errors, localizes aksrtData earlier for core modules, and ignores
UI-only data-action clicks.
2026-07-13 09:45:05 +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 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 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