refactor: rename the theme brand and every identifier from AKSRT to Jio

Full-project rename. `git grep -i aksrt` is now empty apart from the
DBMigrator 3.3.0 changelog note that documents the rename itself.

Code identifiers
- PHP namespace AKSRT\ -> Jio\ (composer PSR-4 + 378 declarations)
- global constants AKSRT_* -> JIO_* (VERSION/DIR/URI, PAY_TYPE_*, CAPTCHA_*)
- procedural functions, hooks, options, meta keys, table names,
  cookies, query vars, ajax actions and nonces: aksrt_ -> jio_
- text domain aksrt -> jio; Theme Name -> Jio
- JS globals: aksrtData/aksrtAdminData/... -> jioData/jioAdminData/...,
  window.AKSRTCaptcha & friends -> window.JioCaptcha, Aksrt* -> Jio*
- Vue components Aks*.vue -> Jio*.vue (15 files renamed + imports)
- CSS classes/data-attrs/custom properties: aksrt- -> jio-
- REST namespace aksrt/v1 -> jio/v1 (incl. payment gateway callbacks)

Storage layer
- DB tables {prefix}aksrt_* -> {prefix}jio_*; SCHEMA_VERSION 3.2.0 -> 3.3.0
  so dbDelta creates the new names on install
- widget id_base aksrt_widget_* -> jio_widget_*
- uninstall.php drop list rebuilt from the actual migrator tables
  (dropped 3 stale entries, added the 17 missing ones)

Removed
- hardcoded https://api.aksrt.com/version.json default update endpoint;
  get_endpoint() now reads the 「更新端点」 setting and do_check() no-ops
  when it is empty

Files renamed: inc/helpers/aksrt-*.php -> jio-*.php (54),
assets/admin/src/components/form/Aks*.vue -> Jio*.vue (15).
Build artifacts regenerated: assets/css/build, assets/js/runtime,
assets/admin/build.

Verified: audit-psr4-paths errors=0, audit-admin-contracts errors=0
(warnings=56, unchanged baseline), 813/813 widget-system tests,
44/44 phpunit, php -l clean across all PHP.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Opus 5 committed 2026-11-01 20:05:04 +08:00
1 parent 5b16bc6e15
commit 35bb96e82f
997 files changed
+28216 -28188

No files matched your search

+20 -20
View File
@@ -1,15 +1,15 @@
/**
* 支付中心概览:区间筛选 + 指标卡 + ECharts 图表(成交趋势 / 分类成交 / 支付方式)+ 转化与退款 + 热销排行。
*
* 首屏报表来自页面内 #aksrt-pay-overview-data(PayOverview 输出),之后切换区间 / 分类请求
* GET aksrt/v1/admin/pay-overview(PayOverviewController)。ECharts 子集由
* 首屏报表来自页面内 #jio-pay-overview-data(PayOverview 输出),之后切换区间 / 分类请求
* GET jio/v1/admin/pay-overview(PayOverviewController)。ECharts 子集由
* assets/js/runtime/libs/echarts-pay.min.js 提供(window.echarts)。仅本页入队。
*/
(function () {
'use strict';
var root = document.querySelector('.aksrt-po-page');
var dataEl = document.getElementById('aksrt-pay-overview-data');
var root = document.querySelector('.jio-po-page');
var dataEl = document.getElementById('jio-pay-overview-data');
if (!root || !dataEl || !window.echarts) return;
var boot;
@@ -73,12 +73,12 @@
function setBusy(busy) {
root.classList.toggle('is-loading', busy);
var body = root.querySelector('[data-aksrt-po-body]');
var body = root.querySelector('[data-jio-po-body]');
if (body) body.setAttribute('aria-busy', busy ? 'true' : 'false');
}
function showError(msg) {
var box = root.querySelector('[data-aksrt-po-error]');
var box = root.querySelector('[data-jio-po-error]');
if (!box) return;
box.hidden = !msg;
box.querySelector('p').textContent = msg || '';
@@ -127,16 +127,16 @@
var el = card.querySelector('[data-kpi-delta]');
// 退款上升是坏事:颜色反转。
var cls = key === 'refund_amount' ? (d.cls === 'is-up' ? 'is-down' : (d.cls === 'is-down' ? 'is-up' : d.cls)) : d.cls;
el.className = 'aksrt-po-delta ' + cls;
el.className = 'jio-po-delta ' + cls;
el.textContent = i18n.basis + ' ' + d.text;
});
var label = root.querySelector('[data-aksrt-po-range-label]');
var label = root.querySelector('[data-jio-po-range-label]');
if (label && rep.range) label.textContent = rep.range.from + ' ~ ' + rep.range.to + '(' + rep.range.days + ' 天)';
}
function renderFunnel(rep) {
var t = rep.totals || {}, p = rep.previous || {};
root.querySelectorAll('[data-aksrt-po-funnel] [data-metric]').forEach(function (li) {
root.querySelectorAll('[data-jio-po-funnel] [data-metric]').forEach(function (li) {
var key = li.getAttribute('data-metric');
var isCount = key === 'created_count';
li.querySelector('[data-value]').textContent = isCount ? int(t[key]) : pct(t[key]);
@@ -145,29 +145,29 @@
var deltaEl = li.querySelector('[data-delta]');
if (isCount) {
var d = deltaInfo(t[key], p[key]);
deltaEl.className = 'aksrt-po-delta ' + d.cls;
deltaEl.className = 'jio-po-delta ' + d.cls;
deltaEl.textContent = i18n.basis + ' ' + d.text;
} else if (p[key] !== null && p[key] !== undefined && t[key] !== null && t[key] !== undefined) {
var diff = Number(t[key]) - Number(p[key]);
var good = key === 'conversion' ? diff >= 0 : diff <= 0;
deltaEl.className = 'aksrt-po-delta ' + (Math.abs(diff) < 0.05 ? 'is-flat' : (good ? 'is-up' : 'is-down'));
deltaEl.className = 'jio-po-delta ' + (Math.abs(diff) < 0.05 ? 'is-flat' : (good ? 'is-up' : 'is-down'));
deltaEl.textContent = i18n.basis + ' ' + (diff > 0 ? '+' : '') + diff.toFixed(1) + 'pt';
} else {
deltaEl.className = 'aksrt-po-delta is-flat';
deltaEl.className = 'jio-po-delta is-flat';
deltaEl.textContent = '';
}
});
}
function renderTop(rep) {
var body = root.querySelector('[data-aksrt-po-top]');
var body = root.querySelector('[data-jio-po-top]');
if (!body) return;
body.textContent = '';
var rows = rep.top || [];
if (!rows.length) {
var tr = body.insertRow(), td = tr.insertCell();
td.colSpan = 5;
td.className = 'aksrt-po-top__empty';
td.className = 'jio-po-top__empty';
td.textContent = i18n.noTop;
return;
}
@@ -176,7 +176,7 @@
var tr = body.insertRow();
var rank = tr.insertCell();
rank.className = 'column-rank';
rank.innerHTML = '<span class="aksrt-po-rank' + (i < 3 ? ' is-top' : '') + '"></span>';
rank.innerHTML = '<span class="jio-po-rank' + (i < 3 ? ' is-top' : '') + '"></span>';
rank.firstChild.textContent = String(i + 1);
var title = tr.insertCell();
if (r.url) {
@@ -191,14 +191,14 @@
var amount = tr.insertCell(); amount.className = 'column-num'; amount.textContent = money(r.amount);
var share = tr.insertCell(); share.className = 'column-share';
var ratio = Number(r.amount || 0) / total * 100;
share.innerHTML = '<span class="aksrt-po-share"><i></i></span><span></span>';
share.innerHTML = '<span class="jio-po-share"><i></i></span><span></span>';
share.querySelector('i').style.width = ratio.toFixed(1) + '%';
share.lastChild.textContent = ratio.toFixed(1) + '%';
});
}
function renderExcluded(rep) {
var box = root.querySelector('[data-aksrt-po-excluded]');
var box = root.querySelector('[data-jio-po-excluded]');
if (!box) return;
var list = rep.excluded || [];
box.hidden = !list.length;
@@ -210,7 +210,7 @@
/* ---------------- 图表 ---------------- */
function chart(key) {
var host = root.querySelector('[data-aksrt-po-chart="' + key + '"]');
var host = root.querySelector('[data-jio-po-chart="' + key + '"]');
if (!host) return null;
if (!charts[key]) charts[key] = echarts.init(host, null, { renderer: 'svg' });
return charts[key];
@@ -360,8 +360,8 @@
/* ---------------- 交互 ---------------- */
var presets = root.querySelector('[data-aksrt-po-presets]');
var form = root.querySelector('[data-aksrt-po-range]');
var presets = root.querySelector('[data-jio-po-presets]');
var form = root.querySelector('[data-jio-po-range]');
function syncForm() {
if (!form) return;