kate522
|
7287cfeaec
|
fix(frontend): restore reference VIP expiry geometry
|
2026-10-11 13:31:02 +08:00 |
|
kate522
|
6f815678ec
|
feat(frontend): replicate reference header user box 1:1
顶导航点击小人弹出的用户信息浮层,从 AKSRT 定制结构改为与参考主题 zib_header_user_box() 逐行同构:头像链接包裹、钱包双瓷砖、会员条、签到、消息图标、统计徽章行全部改用参考主题遗留类,渲染交回 main.css(.sub-user-box 242px、.avatar-img 38px、.msg-news-icon、badge.top、.payvip-icon 深色渐变加 gem 水印、.vip-expdate-tag、.muted-box)。
头像改走 aksrt_get_avatar_box(用户ID, avatar-img, true, false),得到参考的 a 链接包裹 avatar-img 结构。消息图标改参考标记 msg-news-icon abs-right 加 toggle-radius msg-icon,未读徽章用 badge.top,avatar_dropdown 位置门控契约保留。管理端行在「后台管理」前插入「支付中心」,跳 admin.php?page=aksrt_pay,即参考主题「商城中心」槽位,图标 fa-credit-card。
钱包重写为参考双瓷砖:余额在前(c-blue-2 加 fa-money-bill-wave)、积分在后(c-yellow 加 fa-coins),分别按充值开关与积分总开关门控,两块皆关则不渲染,并保留 data-aksrt-wallet-value 与 data-aksrt-points-value 两个 JS 刷新钩子。会员条去掉 AKSRT 自创的 vipbg-v2 level-N 金色背景,改参考的 payvip-icon 加 badg jb-yellow vip-expdate-tag,到期文案按参考语义分为已过期、永久会员、裸日期三种。签到入口由 button 改为 a.but block c-yellow,并去掉随之失效的 compact 形参,data-signin 挂载与 wp_footer 验证码不变。统计行删掉文章徽章(本站不做帖子),图标由 SVG sprite 换 FA5+ 的 fa-comment-dots、fa-thumbs-up、fa-fire。
会员等级图标契约不动:aksrt_get_vip_icon 与 User\Level::get_badge_html 的调用与参数保持原样。
顺带清死代码:aksrt_header_user_badges_row 原本取到函数后直接返回空串,现在真正输出统计行;删掉 header-userbox.css 里整套 bespoke 规则与 vip-modal.css 的 vipbg-v2 死规则。
显式偏差:统计行链接保持扁平用户主页 URL(AKSRT 用户主页是干净 URL 加 JS tab,没有 query tab 路由);签到入口沿用积分签到总开关门控,不新增管理端可配置项。
public.css 与 public.min.css 用 tools/build-public-assets.mjs 重建:该 bundle 打包了 header-userbox.css 且作为依赖先于单模块入队,旧的 width 260px 会压过新源码、把卡片钉在 260px 而不是参考的 242px。
验证:node --test tests/**/*.test.cjs 573 项全通过;六个改动 PHP 文件 php -l 无语法错误;卡片用到的 FA5 token 逐个核对 5.15.4 全部命中。未做真实视觉效果验收。
|
2026-10-10 16:17:01 +08:00 |
|
kate522
|
2801a89c1f
|
fix(vip): 在 /user/vip/ 档位购买卡下方补充积分兑换会员入口
参考主题 zibpay_user_page_tab_content_vip:非会员 + 积分兑换会员开启 +
有可兑换套餐时,在两张档位购买卡下方输出全宽入口横条(points-color 图标
+ 标题 + 立即兑换 badg),点击经 data-aksrt-vip-points-open 打开 wp_footer
静态兑换弹窗,与会员购买弹窗内入口共用同一弹窗。
- aksrt-vip.php 新增 aksrt_get_vip_points_exchange_entry_html(),门控与
弹窗壳同源(取服务端 catalog),已是会员不展示(对齐参考主题契约)
- vip-tab.php 在卡片区之后输出入口;credits.css 补 .uc-vip-points-entry
表面样式(与档位卡同一变量体系,暗色自适应)
- pay-vip.js 改文档级委托承接 data-aksrt-vip-points-open,一处绑定覆盖
静态页面横条与弹窗内按钮;移除 bindModalUi 内的重复分支
- 契约测试更新为双入口(11 项),node --test 420 项通过,php -l 通过
未写数据迁移;未做真实视觉效果验收。
|
2026-09-23 14:30:54 +08:00 |
|
kate522
|
95ff0761b7
|
fix(vip): 积分兑换弹窗改服务端渲染并与 Zibll 1:1 对齐
/user/vip/ 的积分兑换会员弹窗原先是前端自行拼装的,结构与层级都与参考主题
Zibll 不一致:Zibll 走 zibpay_get_vip_points_exchange_modal() 服务端渲染静态
壳,前端只按需开合。改为同一模型,前端不再拼 HTML。
- VipServiceModal 新增 get_points_exchange_modal_html():门控(未登录/未开启
返回空串)、vip-card 套餐选择、积分不足提示与提交表单;wp_footer 挂载输出
- pay-vip.js 移除 renderPointsModal / pointsPackage / exchangeFromModal /
vipPointsPay,改为自包含开合(.in + 内联 display:flex + 独立遮罩 +
body.modal-open + ESC),保留 aksrt-vip-points-toast 的 load/success/danger 契约
- 移除 /user/vip/ 页面底部独立积分兑换入口及其样式(uc-vip-points-link)
- credits.js 清理依赖全站不存在选择器的死代码 initVipPointsExchange()
- vip-modal.css 删除 71 行自实现样式,改为 .modal[data-aksrt-vip-points-modal]
显隐契约;层级 100050 < 遮罩 100055 < 弹窗 100060 < notyf 10000000
- 新增 vip-points-exchange-modal 契约测试(7 项),toast-contract 同步
静止态必须显式 display:none,否则 .flex{display:flex} 会覆盖 .modal{display:none}
形成隐形遮罩拦截整页点击。
未写数据迁移。
验证:node --test tests/widget-system/*.test.cjs 308 项全部通过;php -l 全部
改动文件通过;隔离渲染桩确认积分充足 / 积分不足 / 功能关闭 / 未登录四种情形
的 HTML 产物正确。
|
2026-09-18 20:05:05 +08:00 |
|
kate522
|
6075028520
|
fix(pay): 支付方式字样与按钮 UI 三弹窗统一对齐 Zibll
渠道展示名与按钮 UI 与参考主题 zibpay_get_payment_method_args /
zibpay_get_initiate_pay_input 对齐:
- 渠道名:aksrt_list_cash_payment_methods 增加 Zibll 基准展示名映射
(余额/支付宝/微信/PayPal/Stripe),充值与会员弹窗不再显示网关
内部名「站内余额」「微信支付」;积分弹窗手写「余额/卡密」与之同源
- 会员按钮字样:cta_label(立即开通/立即续费)→ Zibll 会员弹窗
initiate_pay_input(4) 默认「立即支付」,与充值/积分弹窗一致
- 无可用支付方式:禁用按钮+自实现文案 → Zibll 同款
<span class="badg px12 c-yellow-2">暂时无法支付,请与客服联系</span>
- 清理:按钮残留类 aksrt-vip-submit 与对应 CSS,加载/禁用态统一挂
.initiate-pay(三弹窗按钮共用);renderMethods 空数组重复提示与
不可达 reason 映射删除
- 契约测试同步锁定(无 cta_label/aksrt-vip-submit、立即支付字样、
badg 提示、渠道名映射)
弹窗宽度差异(充值/积分 400px modal-mini、会员 600px)为 Zibll
原生设计,已在壳几何对齐时确认一致。
|
2026-09-18 17:48:54 +08:00 |
|
kate522
|
ec1107c65a
|
fix(vip): 会员弹窗壳几何 1:1 对齐 Zibll(600px/整屏高度阈值/8px 圆角)
滚动条与尺寸偏差根因是 aksrt-modal-runtime 壳覆盖偏离参考主题
modal_pay_uservip 的几何:
- 宽度 min(560px,100%) → min(600px, calc(100vw - 20px)):对齐
bootstrap3 ≥768px .modal-dialog 600px + .modal.flex .modal-dialog
的 max-width calc(100% - 20px)
- 高度 min(90vh,760px) → calc(100vh - 20px):760px 阈值过低是侧边
滚动条根因;对齐 .modal.flex .modal-content 的整屏阈值
- overflow auto → hidden + overflow-y auto + touch 滚动:对齐
.modal.flex .modal-content,正常桌面内容不再出现滚动条
- 圆角 12px → var(--main-radius, 8px):对齐 .modal-content
- 移除 .payvip-modal 本地 padding(18/16px),内边距回归 .box-body
15px(参考主题无 .payvip-modal 专属 padding)
- 契约测试同步锁定桌面壳几何、无本地 padding 与移动端 bottom 圆角
|
2026-09-18 17:34:00 +08:00 |
|
kate522
|
b3b21df409
|
fix(vip): 会员弹窗 DOM 结构 1:1 对齐 Zibll payvip-modal
整体结构由自实现(aksrt-panel/aksrt-vip-tab/aksrt-modal-close)迁移到
参考主题 zibpay_get_pay_modal 原生 DOM:
- 根元素 box-body payvip-modal;close 按钮改为 Zibll 原版内联 SVG
(.close + ic-close 1024 viewBox path)
- 用户信息 list-inline user-box(avatar-img 头像 + b.em12 + badg
c-yellow vip-expdate-tag 到期标签)
- 会员缩略卡 tab:vip-cardminis + vip-card vip-cardmini level-N
vip-themeN + abs-center vip-baicon + v-iconbox(v-icon/v-info/
v-name/v-desc)+ abs-right active-icon 勾选图标
- pane 改为 bootstrap 原生 tab-pane fade active in(移除冗余 hidden
属性),tab 切换同步 active/in 双类
- 左侧信息盒 pay-vip-info:v-iconbox 图标 + v-name/v-desc + 管理员
配置的 v-equity 权益列表 + abs-center vip-baicon 背景图标
- 套餐卡 zib-widget vip-product product-box:价格行 mark 小号 px12
前缀 + original-price 原价 + abs-right vip-tag badg 折扣角标 +
时长 badge;label-box charge-box 盒由 bootstrap :checked 选中态驱动
- pane 内积分兑换链接与 more 说明移至套餐区(对齐 Zibll 顺序)
- 清理 vip-modal.css 死样式(aksrt-vip-modal-panel、aksrt-vip-tab、
aksrt-vip-level-header、aksrt-vip-product-label、vip-product/
vip-tag/product-price 本地重复、uc-vip-shop__tip 等 -148 行),
样式统一由 main.css 复刻的 Zibll 原版段提供
|
2026-09-18 13:04:19 +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
|
b39bcbc53c
|
修复了一些问题
|
2026-08-21 14:39:30 +08:00 |
|
kate522
|
3368261d52
|
修复了一些问题
|
2026-08-21 14:13:53 +08:00 |
|
kate522
|
b556384025
|
(fix):update vip toast
|
2026-08-18 03:18:28 +08:00 |
|
 kate522andClaude Fable 5
|
3231ca8b1e
|
fix(vip): align modal level icon and name
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-11 18:25:53 +08:00 |
|
 kate522andClaude Fable 5
|
52e119acbd
|
fix(vip): preserve cards and align level icons
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-11 18:09:59 +08:00 |
|
 kate522andClaude Fable 5
|
fbbc8faf3d
|
fix(vip): render membership icons without wrappers
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-11 18:02:34 +08:00 |
|
 kate522andClaude Fable 5
|
df858d04dc
|
feat(user-center): add VIP points exchange modal
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-09 16:15:08 +08:00 |
|
 kate522andClaude Fable 5
|
34150f3358
|
refactor(modal): remove legacy compatibility paths
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-05 00:06:37 +08:00 |
|
 kate522andClaude Fable 5
|
d79b063bf9
|
feat(modal): add cancellable shared runtime
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-04 23:24:37 +08:00 |
|
kate522
|
20a5ae9aae
|
fix(nav): restore publish/VIP hover bridge and fixed CTA size
Close dead zone under 发布 (transparent bridge + ::before plate), fix
VIP cards hidden by wrong .navbar-vip.hover-show selector, keep CTA 34px.
|
2026-07-22 09:22:27 +08:00 |
|
kate522
|
23416515d3
|
fix(vip): remove forced equity bullet dots
|
2026-07-21 20:24:56 +08:00 |
|
kate522
|
ee5a16f9a0
|
fix(ui): center float QR titles and repair UC VIP layout
|
2026-07-21 19:51:08 +08:00 |
|
kate522
|
965032f2e9
|
feat(vip): Batch 2 pay-vip modal REST, JS, and CSS
|
2026-07-21 16:45:23 +08:00 |
|