Commit Graph
46 Commits
Author SHA1 Message Date
kate522 20c19dfe31 feat(user): complete growth level chain 2026-07-30 09:38:45 +08:00
kate522 e94437ef60 feat(user): add local avatar management flow 2026-07-29 13:35:17 +08:00
kate522 2dfaa10798 fix(identity): complete native certification review flow 2026-07-29 12:25:58 +08:00
kate522 815e83bac0 fix(user-center): complete certification and order flows
Fix modal scroll ownership and certification modal styling, store evidence as Media Library attachments, reconcile missed provider callbacks, validate currencies, and complete digital fulfillment only after durable entitlement delivery.
2026-07-29 10:29:59 +08:00
kate522 0a04c3e4cc fix(user-center): embed official certification panel 2026-07-28 15:22:09 +08:00
kate522 d3bf75fbea fix(user-center): connect certification workflow 2026-07-28 14:17:18 +08:00
kate522 bcebd37807 fix(homepage): unify runtime rendering contract 2026-07-28 02:54:18 +08:00
kate522andClaude Fable 5 723dd180e4 feat(payment): tighten gateways and implement Epay
Keep only balance, Alipay, WeChat, PayPal, Stripe, Epay, and card-pass
channels; remove placeholder aggregators. Add dual-channel Epay gateway
with MD5 notify/return, register cashier methods, and gate card-pass
redeem behind the payment channel switch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 12:59:28 +08:00
kate522 b8ee6b6a43 fix(float): repair VIP rail entry front and admin
Always open VIP modal for float pay_vip, drop forced admin link,
normalize gem icon, harden pay-vip click binding and SPA form UX.
2026-07-22 10:32:00 +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 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 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 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 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 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 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 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 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 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 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 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
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 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 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
kate522andClaude 09f1eec909 Zibll 主线收口:统一 single 并清退 compat 资源路径
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 20:30:49 +08:00
kate522andClaude Fable 5 17c24826c8 后台 IA 收口修正:修复默认路由与降权页路由,收敛 AI 五层契约与文案
Workstream C/D/J 收口阶段的后台 IA 修正(前序结构性 stream 已合并,本轮只补残留缺口):

- [修复] page_display 默认路由失效:SECTION_DEFAULT_CHILDREN 键 'page_display'
  与分区 key 'page-display' 不匹配,attachSectionDefaultRoute 永不命中,
  /page-display 无默认落点。改键并指向 SchemaPage page-display-header-nav
  (stream-d §5.2 / CLAUDE.md 约束 #9)。
- [修复] shop/forum 概览页路由碰撞:shop-dashboard 用 /shop、forum-dashboard
  用 /forum,与分区根路由冲突并被 createSectionRedirectRoutes 抢先重定向,
  兼容导航项不可达。改为 /shop/dashboard、/forum/dashboard。
- [修复] AI 页虚假 schema 绑定:extensions-ai 声明了不存在的 section:'ai',
  违反五层契约。AI 属停用候选(stream-c §5.9,不扩写核心 schema),移除虚假
  绑定,改用自有 /ai/* 端点作为兼容能力。
- [文案] 收敛平台术语(stream-c §8):users-report「治理台账」→「用户限制状态
  管理」;「AI 子系统」→「AI 辅助(兼容)」。

验证:admin SPA 构建通过;节点级校验确认 10 个分区默认路由全部解析、无路由碰撞、
extensions-ai canonicalDomain/section 已清空。验收报告与兼容层状态表见 docs/
(本地内部文档,按 .gitignore 约定不入库)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 17:49:05 +08:00
Claude Code 1268a55dd0 导入 AKSRT 主题开发源码 2026-07-03 22:50:34 +08:00