3.7 KiB
3.7 KiB
-
余额页改为单一路径 DOM 记录切换
- 以
inc/helpers/user-center-renderers/profile-credits.php现有data-aksrt-asset-tab/data-aksrt-asset-pane结构为唯一 UI 状态源,保持积分记录、余额记录、积分任务都通过按钮事件切换,不再依赖 URL hash 或 query。 - 在
assets/js/credits.js扩展现有initAssetTabs():拦截记录分页链接,阻止整页导航;读取分页链接的页码/资产类型,调用当前已有的/user-center/panel/creditsREST 面板接口,通过响应 HTML 更新#panel-credits的 DOM;更新后重新绑定 tab,并清理地址栏中wallet_page、credits_page、points_page等历史参数。 - 将 PHP 记录渲染改为读取由 REST 请求传入的分页参数,而不是直接读取
$_GET;移除aksrt_render_profile_pagination()生成的 query 链接,改为输出带data-aksrt-asset-page、data-aksrt-asset-key的按钮/链接,供credits.js处理。 - 保留服务端 REST 面板的单一 HTML 输出,不新增 JSON/HTML 双协议;分页请求只使用现有 credits panel endpoint,并在响应后触发既有
post_ajax.ed → auto_fun生命周期。 - 用户中心初始化时不再把
reward_tab、commission_page、user_page等记录参数写回用户地址;对/user/balance/初次加载清理历史记录参数,避免切换后地址继续携带旧参数。
- 以
-
首页排序固定为 DOM/AJAX,不保留参数刷新分支
assets/js/homepage-fixed.js删除SORT_QUERY_KEY、getSortFromUrl()、normalizeHomepageUrl()、replaceUrlSort()及对window.location.search的依赖;当前排序只从活动排序控件或aksrtData.homepageDefaultSort读取。initSortbar()点击排序项后只更新 active 状态并调用现有requestHomepagePanel(),不再调用history.replaceState(),因此地址栏保持无home_sort参数。inc/helpers/aksrt-homepage.php排序控件改为无参数链接(或按钮化标记,沿用现有data-sort),删除add_query_arg('home_sort', ...)、data-sort-ajax双路开关和服务端 query override;服务端首页排序只使用 canonical 默认/运行时 override,避免生成旧的参数刷新 URL。- 清理
src/Core/ScriptsPart1c.php、src/Settings/HomeCms.php、src/Settings/HomepageReader.php中仅服务于可选排序 AJAX 开关的homepageSortAjax/homepage_sort_ajax_enabled死代码及数据注入。 - 删除首页排序请求中仅为 URL 刷新服务的
page_url参数,或将其固定为当前无 query 的页面路径;保留 REST 请求内部用于确定上下文的必要字段。
-
清理历史 query 分支和测试
- 通过
rg找到并删除余额记录的wallet_page/credits_page旧$_GET分支、首页home_sortquery 读取/写入分支,以及相关旧注释/配置字段。 - 增加/更新
tests/widget-system契约:余额记录控件必须是 DOM data 事件、分页不得生成add_query_arg/query href;首页排序必须调用requestHomepagePanel且不得使用home_sort、replaceState、location.search、data-sort-ajax。 - 只保留真正需要的
user-centerREST 参数(例如 revenue 内部分页若仍有明确业务需求则保留在请求体/URL 内部,不写浏览器地址);不把现有其他用户中心 tab 的必要内部请求参数误删。
- 通过
-
验证
- 仅使用
rg、Node 契约测试和 PHP 语法检查,不做真实视觉效果验收。 - 运行余额/用户中心、首页、生命周期、资产账本相关测试;对所有改动 PHP/JS 执行
php -l/node --check。 - 运行
git diff --check,并确认不覆盖工作树中已有的 VIP、runtime、CSS、imgbox 或计划文件改动。
- 仅使用