kate522
c32738267f
feat(header): user-box density 1:1 (check-in, wallet, VIP, signout)
...
Add payvip/check-in/wallet/badges strips, guest OAuth strip, confirm
signout modal + REST check-in wiring for zibll header parity.
2026-07-18 21:28:32 +08:00
kate522
c27a36faff
feat(pages): 1:1 网址导航 page-links (zibll links.php)
...
Add WP bookmarks-based navigation page with multi-category sticky nav,
search-engine cover, front submit modal/AJAX, page meta, and styles.
2026-07-18 21:02:23 +08:00
kate522
e2587ca3a0
feat(ux): shared ajax-list/remote-modal + order review modal 1:1
...
Add zibll-parity AjaxList/RemoteModal engines and replace order-center
prompt() review flow with multi-dim star modal, multi-image upload,
auto-praise countdown, and REST review-modal endpoint.
2026-07-18 16:26:28 +08:00
kate522
276a2891ba
feat(comments): full 1:1 zibll comment kernel for posts, forum, shop
...
Extract shared comment helpers (content/item/form/geo/actions), port GIF
[g=] smilies + FixedInput/moveForm UX, wire close_comments/city/quick
settings, REST comment get, and align product review chrome with zibll.
2026-07-18 15:51:47 +08:00
kate522
518e825bdd
feat(front-submit): 1:1 写文章/投稿页对齐 zibll newposts
...
Register AKSRT 写文章/投稿 page template, wire header publish entry to
front submit URL, rewrite page-submit as dual-column TinyMCE compose with
featured cover, multi-category/topics/filters, pay box, drafts, and
capability-gated FrontSubmit AJAX (pay/featured traits).
2026-07-18 13:29:27 +08:00
kate522
c789f71526
fix(user-center): drop outer mega-card under assets
...
Assets row is layout-only; each wallet/points cell is one card.
Strip zib-widget shell from record tabs so nothing stacks under.
2026-07-17 15:24:22 +08:00
kate522
e24780386b
fix(user-center): put wallet and points on one asset row
...
Drop nested zib-widget chrome on dual cards; one surface with
side-by-side cells (stack on mobile) instead of card-on-card.
2026-07-17 15:20:21 +08:00
kate522
aaf458af1c
refactor(autoload): migrate theme classes to Composer PSR-4
...
Move 288 types from global AKSRT_* + inc/classes manual requires into
namespace AKSRT\{Domain} under src/AKSRT/, wire composer.json psr-4,
and slim bootstrap to helpers/modules/hooks only. Split multi-class
widget/gateway files, update admin contract audit paths, and document
the layout in ADR/README.
2026-07-17 13:29:22 +08:00
kate522
9c309b4c7f
refactor(classes): split oversize modules + bootstrap hygiene
...
- Trait-split content-pay, vip-service, balance-service, order-repository
- Procedural split of user module into user-parts/*
- Split scripts enqueue_public into part-1b/1c; settings bulk trait
- Bootstrap: explicit notifications, widgets glob-only, home-modules init
- ADR: freeze domain placement for pay/revenue/notify boundaries
2026-07-17 11:42:29 +08:00
kate522
ce1c13b947
refactor(classes): organize inc/classes into domain folders
...
Move ~94 root class shells and root *-traits into domain directories
(core, auth, user, credits, content, payment/gateways, forum, shop,
sms, ai, messages, extensions, widgets, settings, admin). Update
bootstrap require paths, co-locate traits with owners, fix forum/user
relative requires, drop duplicate shop controller requires, and wire
home-modules load. Path-only; class names and init order unchanged.
2026-07-17 11:11:57 +08:00
kate522
6bd7676b73
fix(yiyan): stop invalid Hitokoto category requests
...
Public hitokoto v1 rejects c=hitokoto (and ignores batch count). Whitelist
categories a–l, multi-fetch for carousel, and share full markup via
aksrt_render_yiyan_block so single-post shells actually render quotes.
2026-07-17 10:33:00 +08:00
kate522
fe870bfc19
refactor(icons): replace local brand SVGs with FA5 classes
...
Unify social/OAuth/contact icons on the global Font Awesome 5.15.4 pack,
add aksrt_render_social_links for author hero, enqueue FA on admin SPA,
and delete assets/img/icons.
2026-07-17 10:05:27 +08:00
kate522
46c7c3af07
fix(scripts): point user-badges enqueue at aksrt-script
...
aksrt-user-badges depended on unregistered aksrt-core, which WP 6.9.1
warns about and can break load order. Match other profile scripts and
depend on the real core handle aksrt-script.
2026-07-17 09:24:28 +08:00
kate522
5949c7a503
feat(identity): close free-task progress, level card, hot threshold
...
Finish remaining 1:1 parity gaps: free-task done/progress DTO with
daily marks, user-center level/integral card UI, configurable forum
hot recommend threshold, and task progress bars.
2026-07-17 02:05:10 +08:00
kate522
487681a6c4
feat(identity): tip QR upload, metrics engine, comment moderate caps
...
Close identity 1:1 gaps after p1: user-center weixin/alipay tip QR
upload+save, AKSRT_User_Metrics counters for medal get_type and level
XP bridges, forum/revenue/signin hooks, comment moderate via user_caps,
and clearer free-task deep links/status CTAs.
2026-07-17 01:52:35 +08:00
kate522
8d4e94a02c
feat(identity): author card, per-user tip, comment caps, task status
...
Author card uses configurable limit/orderby/style and self CTAs.
Tip is per-user weixin/alipay QR modal (no site-global image).
Comment action permissions honor user_caps matrix.
Free points tasks expose done_today/passive status + better comment deep link.
audit-admin-contracts errors=0.
2026-07-17 01:21:35 +08:00
kate522
b4d04ae346
feat(users): medal auto-grant + aksrt_get_user_name chrome
...
Add AKSRT_User_Badges::auto_evaluate on login for get_type metrics,
introduce aksrt_get_user_name (auth→wear medal→level→follow order),
wire single author bar/card, and document transfer/withdraw default-closed
semantics on capabilities page. audit errors=0.
2026-07-17 01:12:09 +08:00
kate522
1b0eed6ef7
feat(users): level integral XP schema + AKSRT_User_Level runtime
...
Rewrite /users/level to Zibll-like user_level_s/max/opt and
user_integral_opt. Runtime grants XP with day_max, resolves level,
hooks login/register/post/comment/like/favorite/follow. Profile
signals read integral-backed levels. audit errors=0.
2026-07-17 01:05:39 +08:00
kate522
e80d8ea45d
feat(users): rewrite medal catalog + verify apply SPA contract
...
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.
2026-07-17 01:00:05 +08:00
kate522
0298e6bba8
fix(single): author card PM/reward and share dropdown fallback
...
Mirror bar PM/reward on author card and centralize #share-dropdown so
tabbar share works when the actions row is absent.
2026-07-16 23:40:50 +08:00
kate522
de32c9ad35
feat(user): wear badge modal and user-center entry
...
Expose 我的徽章 modal on profile header with REST wear actions and
update SPA badge help for icon_url + grant/wear flows.
2026-07-16 23:40:50 +08:00
kate522
219cd0236e
feat(user): badge wear and grant service
...
Add AKSRT_User_Badges own/wear/grant REST and WP profile admin grant
UI, and route identity signals through the service.
2026-07-16 23:39:41 +08:00
kate522
c45a0ecef5
feat(pay): capability gates for transfer and withdraw
...
AND feature flags with user_caps balance_transfer / points_transfer /
balance_withdraw on REST and user-center buttons.
2026-07-16 22:35:48 +08:00
kate522
9b98080daf
fix(single): author card follow and identity parity
...
Add follow CTA to after-box author card, wrap bar label in span, and
harden follow.js label updates when span is missing.
2026-07-16 22:33:18 +08:00
kate522
2c31da1454
fix(share): mobile share chrome and tabbar poster entry
...
Use a bottom sheet share panel on small screens and add a one-tap
poster button to the single-post footer tabbar extend.
2026-07-16 22:31:18 +08:00
kate522
357d710b1b
fix(comments): denser zibll-like chrome and guest fields
...
Tighten comment form density, collapse guest name/email behind a
toggle, and refine empty-state copy for closed/author-only views.
2026-07-16 22:23:01 +08:00
kate522
1d75170f8e
feat(user): badge icon urls and wear medal chrome
...
Extend badge dictionary with optional icon_url, prefer aksrt_wear_badge
when assigned, and render medal images in identity chips.
2026-07-16 22:17:21 +08:00
kate522
a3585b0f96
feat(user-center): task list go-to actions for free points
...
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.
2026-07-16 22:11:52 +08:00
kate522
defb64fd89
feat(single): identity chips, comment 神评, reward open from author bar
...
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.
2026-07-16 20:32:46 +08:00
kate522
a0748c08fe
feat(frontend): illustrated null states and author rewards fallback
...
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.
2026-07-16 19:33:57 +08:00
kate522
b1731f7a8d
feat(assets): forum free-task depth, withdraw notices, share poster
...
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.
2026-07-16 17:46:51 +08:00
kate522
c3eee3fa7e
feat(admin): cash wallet adjust on user profile
...
Mirror credits admin with list column, profile form, and balance ledger
for manual wallet adjustments.
2026-07-16 16:29:15 +08:00
kate522
15a883eb54
feat(credits): free points tasks matrix, day cap, and tasks tab
...
Add AKSRT_Points_Free for catalog/day-max/daily detail, wire the full
earn matrix (login, post, like, favorite, follow, comment, forum),
expose 积分任务 + 每日详情 tabs, and expand admin free-task settings.
2026-07-16 16:29:15 +08:00
kate522
4da003663d
fix(pay): refund wallet on withdraw reject and show pending history
...
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.
2026-07-16 16:28:56 +08:00
kate522
d57fc6f934
feat(user-center): points buy, balance withdraw, and asset record tabs
...
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.
2026-07-16 15:38:55 +08:00
kate522
0529ab5fb9
feat(user-center): Zibll-like assets charge, transfer, and dual cards
...
Complete wallet/points assets surface: sidebar mini dual cards, dual
asset row, balance charge packages REST + modal, transfer search/pay,
points-to-balance exchange, and payment success credit for recharge
orders.
2026-07-16 14:53:28 +08:00
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
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
f6617c1f07
fix(db): correct $wpdb->prepare usage in forum board and API audit
...
- Bind _aksrt_moderators with %s in get_user_managed_plates (stops 4× user-home notices)
- Guard API audit COUNT when no filter values (credits pattern)
2026-07-15 16:04:49 +08:00
kate522
6b6314b033
feat(forum): guest cash purchase for topic and plate follow
...
- Reuse pay_no_logged_in / pay_cookie_day; generalized guest cookie helpers
- Topic + plate cash: guest preview/purchase (no balance), order.user_id=0, cookie unlock
- View gates: can_view_topic pay + plate follow accept signed guest cookies
- Templates: guest buy/follow CTAs; poll endpoint allows plate_follow guest orders
2026-07-15 13:58:54 +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
73fdc479be
feat(admin): clear closed orders and bulk content-pay edit
...
Add zibll-style clear/delete for closed orders and bulk/quick fields
for post pay_type, modo, prices, and virtual_sales.
2026-07-15 11:49:30 +08:00
kate522
f197745830
feat(admin): deeper order/income filters, post pay-type, topic sales meta
...
Add order user/payment filters, income/rebate user_id filter, posts list
pay_type dropdown, topic virtual_sales/coupon meta, and forum unlock
facade methods used by hidecontent/payshow.
2026-07-15 11:35:35 +08:00