Replace user_badge_dictionary textarea with structured user_medal_*
catalog (categories/items/get_type). Expand verify SPA/PHP to Zibll
apply fields. Reader derives badge.dictionary from medal catalog for
existing AKSRT_User_Badges wear/grant runtime. No dual-read of old
pipe dictionary. audit-admin-contracts: 0 errors.
Add per-task CTAs (去签到 / 去完成 / 去看看) on the free points tasks list,
with sign-in proxying to the asset-card button and bbs actions gated
on forum availability.
Share VIP/verify/level/badge chrome via aksrt-identity helpers on author
bar, author card, and comments; mark hot comments; open reward modal from
author actions; admin threshold for 神评; task list go-to actions.
Add aksrt_get_null / widget null helpers with null.svg, use them in
sidebar widgets, comments empty, and related posts; when PM is off show
post rewards entry on the single author bar.
Route forum essence/adopt/hot/score rewards through free-points day cap,
notify users on withdraw complete/reject, surface 海报分享 on single
share grid, and extend admin free-task keys for the remaining matrix.
Close the freeze/refund loop when admin rejects a balance withdrawal,
block concurrent open applications, and surface processing state plus
server-rendered withdraw history on the wallet card.
Add cash purchase of points (points_pay_s), wallet withdraw requests via
AKSRT_Withdrawal, Zibll-style dual-card layout with tabbed balance/points
ledgers, and admin switches for buy-points packages and balance withdraw.
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.
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.
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.
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.
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.
- 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Apply vip_renew discount/reduce to same-level packages, gate renew/upgrade
availability, support dedicated vip_upgrade_product line, and show tags/CTAs.
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.
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.
Bump content sales on resource order paid; show order number/time in download
box; poll pending gateway payments; support download_limit_over_price overbuy.