kate522
b88eab0bfe
feat(pay): 卡密兑换入口收敛到三个购买弹窗并对齐参考主题
...
- 移除余额卡片独立「卡密兑换」通用弹窗,兑换入口分布到充值/积分/会员三个弹窗的支付方式中
- 充值弹窗补齐卡密 logo 与仅卡密时的金额选择隐藏逻辑
- 积分购买弹窗 1:1 复刻参考主题 points-pay modal(商品档位/自定义/支付方式/立即支付),REST 改为 product+custom 契约
- 会员弹窗注入卡密渠道:视图模型透传 card_pass,前端渲染卡密盒并直兑 /pay/card-pass/redeem type=vip
- 后台卡密兑换拆分为余额/积分/会员三个独立开关,VIP 段旧会员卡密组清理
- REST type 改为必填(balance/vip/credits),三类型独立闸门
- 测试重写为 card-pass-modal-redeem 契约,321 项全部通过
2026-09-18 12:25:18 +08:00
kate522
74e43aaa76
fix(frontend): 充值弹窗选中角标字体族对齐 FA5 并修正充值限额文案语序
...
1. 档位选中角标(.vip-product.active::before)沿用 Zibll 的 FA4 字体族
"FontAwesome",本主题打包的是 FA5(family "Font Awesome 5 Free"),
family 不存在 → PUA 码点 U+F058 渲染为豆腐块(被误认为破图)。
改为 'Font Awesome 5 Free' + font-weight:900(solid 字形要求),
渲染为粉色 check-circle,与 Zibll 视觉一致。
2. 自定义充值限额文案 sprintf 参数错位:「最高充值元9999」→
「最高充值9999元」。mark 为符号(¥)时按 Zibll 前缀格式
(最低充值¥1,最高充值¥9999)。
2026-09-17 22:44:23 +08:00
kate522
50065ccc3e
fix(frontend): 余额充值弹窗 1:1 对齐 Zibll
...
- credits-wallet.php:弹窗重写为 Zibll refresh_modal 壳(.modal.flex.jc.fade > .modal-dialog.modal-mini.full-sm)+ zibpay_get_balance_charge_modal 同构内容(balance-charge-form / vip-product.product-box / payment-method-radio hollow-radio / but jb-red initiate-pay),档位与支付方式改为 data-for/data-value 选中模型
- credits.js:initBalanceCharge 改由 Bootstrap modal 运行时驱动(modal('show') + data-dismiss + hidden.bs.modal 中止轮询);选中为程序赋值 hidden input,selectProduct/selectMethod 内显式 resetOperationKey 保证幂等键随选中内容刷新;提交契约不变
- credits.css:删除 uc-charge-* 全部死样式;新增 .balance-charge-form 作用域内 .zib-widget 基础卡与 .vip-product/.vip-tag 的 Zibll 原值回位(vip-modal.css 全局同名覆盖需在此回位)
验证:php -l 通过;toast-contract + card-pass-universal-redeem + card-pass-order-numbers 契约 26/26;uc-charge/balance_package/data-aksrt-charge-close/旧弹窗 id 引用清零
2026-09-17 20:38:55 +08:00
kate522
1889c9f048
fix(frontend): 卡密兑换通知接入全局 notyf Toast 固定 id 流
...
- credits.js initCardPass 从 setTip 内联提示迁移为固定 id 三态 notyf 流
(aksrt-card-pass-toast:load → success/danger 原位更新),
成功后延迟 800ms 刷新以保证成功 Toast 可见,对齐其余资产操作。
- credits-wallet.php 删除 data-aksrt-card-tip 死元素;credits.css 删除
.uc-card-pass__tip 死样式。
- 契约:toast-contract 将卡密兑换纳入固定 id 流清单并禁止 tip 回潮;
card-pass-universal-redeem 新增 Toast 流断言(27/27 通过)。
- 验证:容器内真实抓取 /user/balance/ 确认弹窗正常渲染且无 tip 残留。
2026-09-17 19:28:47 +08:00
kate522
3481620ed0
feat(payment): 通用卡密兑换弹窗并修正核销订单实付与订单名称
...
- /user/balance/ 余额卡片入口改为通用「卡密兑换」弹窗:请求不带类型,
后端按卡密自动识别余额/会员/积分;卡号输入恒展示且选填
- 后台「余额充值 → 卡密充值」语义更新为「卡密兑换」,开关更名
「启用卡密兑换功能」(设置键不变),双源 schema 同步并重建 SPA
- 删除死代码:credits-vip.php 死文件、credits-balance.php 内联积分
兑换块、/pay/card-pass/options 路由与 rest_options、labels 数组、
asset_points_card_description/password_only 死字段及内联块专属 CSS
- 卡密核销订单实付恒 0:create_redeem_order 源头写 0,UserOrders
对 card_pass 订单视图层归零覆盖历史行(不迁移数据)
- 订单名称按 note.meta 生成:卡密兑换-余额充值X / 卡密兑换-积分充值X /
购入[会员档位名]X天(永久)
- 新增契约 card-pass-universal-redeem.test.cjs,收紧 user-assets-layout
契约(禁 .uc-card-pass 根类回潮)
2026-09-17 19:04:47 +08:00
kate522
ba1c8c2822
style(user-center): 卡密兑换弹窗按钮右对齐
2026-09-16 21:20:23 +08:00
kate522
2ef02e2865
feat(user-center): 余额卡密兑换移入弹窗并在余额卡片增加入口
...
- 余额卡片右下角新增「卡密兑换」点击区(data-aksrt-card-pass-open)
- 内联 uc-card-pass 区块替换为 uc-modal 弹窗,兑换逻辑不变
- initCardPass 增加弹窗开关绑定(防重复绑定)
- 清理 :first-child > .uc-card-pass 死选择器片段
2026-09-16 21:15:04 +08:00
kate522
098df7f921
fix(user-center): 去除余额金额显示前¥符号
2026-09-16 17:39:40 +08:00
kate522
56d1b2a417
fix(user-center): 防止大额资产金额断行
2026-09-16 17:23:56 +08:00
kate522
6bbb79213b
fix(user-center): 优化提现记录弹窗分页
2026-09-16 12:53:38 +08:00
kate522
7308f055c7
fix(frontend): keep asset and homepage filters in DOM
2026-09-03 19:21:24 +08:00
kate522
75d1e6e53b
进行了一些小优化
2026-08-25 05:59:50 +08:00
kate522
07c4e969c3
新增全局流水号
2026-08-25 05:33:01 +08:00
kate522
58f3f42bf8
修复两个问题
2026-08-24 16:38:03 +08:00
kate522
5cae5b5c93
积分与余额账务系统硬切重构
2026-08-24 15:59:11 +08:00
kate522
9375b1c30c
refactor(assets): vendor 资产迁入标准目录并全仓去除 zibll 标识
...
- assets/vendor 全量迁移: fontawesome5→assets/fontawesome5, css→assets/css,
js→assets/js/runtime(避开 14 个同名自有文件), img 合并去重→assets/img,
fonts→assets/fonts; 删除 assets/vendor
- libs 五个与 widgets/third-party 字节相同的库不重复入库, loader paths 改指向
- 运行时切换: _win.uri=assets 根, loader baseUrl=/js/runtime, enlighter 注入
路径同步; PHP 7 个引用文件切换并改名 $zibll_*→$runtime_*
- 去品牌: Qinver 头注释/品牌 console.log/演示链接清除, 默认文案中性化
- 功能标识符改名: zib__→aksrt__, zib_ajax→aksrt_ajax, window.zib→
window.aksrtLegacy, zibllblock/*→aksrtblock/*, .zib-widget→.aksrt-panel,
.zib-slider→.aksrt-slider, zib_menu_options meta 键等
- 自有 CSS 改名: legacy-utilities/compat-vars/footer shell
- admin SPA 重建; 契约测试同步(路径/断言/文件更名)
- 例外保留: tests/visual 对照环境与 fixtures 前缀(外部 Zibll 产品引用)
验证: php -l 133 个改动文件通过; runtime 86 个 JS node --check 通过;
契约测试 68/70(2 个失败经 stash 对照确认为存量问题)
2026-08-22 16:16:30 +08:00
kate522
a0b84977a2
feat(navigation): hard-switch to Zibll navigation and Font Awesome 5
2026-08-18 20:46:21 +08:00
kate522
5e2c143449
(fix):update credits toast
2026-08-18 03:09:37 +08:00
kate522
1247f9bf4e
feat(credits): exchange balance for points
...
Replace the legacy points-to-balance and external points purchase flows
with direct integer balance-to-points exchange. Enforce exchange and
points-transfer limits and capability checks across the UI and REST API.
2026-08-13 15:20:06 +08:00
kate522
dacd0095bf
feat(users): normalize center routes and withdrawal limits
2026-08-12 19:44:47 +08:00
kate522 and Claude Fable 5
d86125b130
fix(user-center): reuse balance withdrawal modal
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-06 14:33:24 +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
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
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