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

+26 -26
View File
@@ -2,8 +2,8 @@
(function () {
'use strict';
var config = window.aksrtData || {};
var apiRoot = String(config.apiUrl || config.restUrl || '/wp-json/aksrt/v1').replace(/\/$/, '');
var config = window.jioData || {};
var apiRoot = String(config.apiUrl || config.restUrl || '/wp-json/jio/v1').replace(/\/$/, '');
var nonce = config.restNonce || '';
var modal = null;
var lastModalTrigger = null;
@@ -89,13 +89,13 @@
}
function showOAuthResultToast() {
if (!window.URL || document.documentElement.dataset.aksrtOauthResultHandled === 'true') return;
if (!window.URL || document.documentElement.dataset.jioOauthResultHandled === 'true') return;
var url = new URL(window.location.href);
var action = url.searchParams.get('oauth_action');
if (['login', 'bind', 'error'].indexOf(action) === -1) return;
var userCenterOwnsBind = action === 'bind' && /\/user(?:\/settings)?\/?$/.test(url.pathname) && document.querySelector('[data-identity-root], [data-aksrt-settings-root]');
var userCenterOwnsBind = action === 'bind' && /\/user(?:\/settings)?\/?$/.test(url.pathname) && document.querySelector('[data-identity-root], [data-jio-settings-root]');
if (userCenterOwnsBind) return;
document.documentElement.dataset.aksrtOauthResultHandled = 'true';
document.documentElement.dataset.jioOauthResultHandled = 'true';
var provider = url.searchParams.get('oauth_provider') || '';
var providerLabel = oauthProviderLabels[provider] || '';
@@ -113,8 +113,8 @@
}
function qrState(root) {
if (root._aksrtQrState) return root._aksrtQrState;
root._aksrtQrState = {
if (root._jioQrState) return root._jioQrState;
root._jioQrState = {
root: root,
timer: null,
timeout: null,
@@ -126,8 +126,8 @@
backoff: 0,
terminal: false,
};
qrStates.push(root._aksrtQrState);
return root._aksrtQrState;
qrStates.push(root._jioQrState);
return root._jioQrState;
}
function qrNodes(root) {
@@ -347,7 +347,7 @@
function submitQrCode(form) {
var data = formData(form);
var root = form.closest('[data-aksrt-auth]');
var root = form.closest('[data-jio-auth]');
data.action = root ? (root.dataset.oauthIntent || 'login') : 'login';
data.redirect_to = root ? (root.dataset.redirectTo || window.location.href) : window.location.href;
if (root && root.dataset.bindPass) data.bind_pass = root.dataset.bindPass;
@@ -399,7 +399,7 @@
}
function captchaFormScene(form, fallback) {
var mount = form && form.querySelector ? form.querySelector('[data-aksrt-captcha-config][data-scene]') : null;
var mount = form && form.querySelector ? form.querySelector('[data-jio-captcha-config][data-scene]') : null;
return mount ? (mount.getAttribute('data-scene') || captchaScene(fallback)) : captchaScene(fallback);
}
@@ -408,7 +408,7 @@
}
function resetCaptcha(scene, scope) {
if (window.AKSRTCaptcha) window.AKSRTCaptcha.reset(captchaScene(scene), captchaScope(scope));
if (window.JioCaptcha) window.JioCaptcha.reset(captchaScene(scene), captchaScope(scope));
}
function sendCode(button) {
@@ -424,7 +424,7 @@
payload.target = target.value.trim();
payload.channel = (form.querySelector('[name="channel"]') || {}).value || '';
var scene = captchaFormScene(form, payload.scene);
var captcha = window.AKSRTCaptcha;
var captcha = window.JioCaptcha;
var ticket = captcha ? captcha.run(captchaScene(scene), captchaScope(form)) : Promise.resolve({});
ticket.then(function (captchaPayload) {
if (captchaPayload === null) {
@@ -456,7 +456,7 @@
function submit(form) {
var action = form.dataset.authForm;
var scene = captchaFormScene(form, action);
var captcha = window.AKSRTCaptcha;
var captcha = window.JioCaptcha;
setBusy(form, true);
(captcha ? captcha.run(scene, captchaScope(form)) : Promise.resolve({})).then(function (captchaPayload) {
if (captchaPayload === null) {
@@ -525,7 +525,7 @@
var code = input.value.trim();
if (!code) { setFeedback(''); return; }
timer = window.setTimeout(function () {
window.fetch('/wp-json/aksrt/v1/invite-code/verify?code=' + encodeURIComponent(code), { credentials: 'same-origin' })
window.fetch('/wp-json/jio/v1/invite-code/verify?code=' + encodeURIComponent(code), { credentials: 'same-origin' })
.then(function (response) { return response.ok ? response.json() : null; })
.then(function (payload) {
if (!payload) { setFeedback(''); return; }
@@ -595,7 +595,7 @@
}
});
root.addEventListener('submit', function (event) {
var qrForm = event.target.closest('[data-aksrt-weixingzh-code]');
var qrForm = event.target.closest('[data-jio-weixingzh-code]');
if (qrForm) {
event.preventDefault();
if (validateForm(qrForm)) submitQrCode(qrForm);
@@ -642,7 +642,7 @@
modal.classList.add('is-open');
modal.setAttribute('aria-hidden', 'false');
document.body.classList.add('auth-modal-open');
var root = modal.querySelector('[data-aksrt-auth]');
var root = modal.querySelector('[data-jio-auth]');
if (root) {
var targetRedirect = redirect || window.location.href;
root.dataset.redirectTo = targetRedirect;
@@ -655,14 +655,14 @@
function closeModal(storeDismissal) {
if (!modal || !modal.classList.contains('is-open')) return;
var root = modal.querySelector('[data-aksrt-auth]');
var root = modal.querySelector('[data-jio-auth]');
if (root) stopQr(root);
modal.classList.remove('is-open');
modal.setAttribute('aria-hidden', 'true');
document.body.classList.remove('auth-modal-open');
if (storeDismissal && Number(modal.dataset.autoExpires) > 0) {
var until = Date.now() + Number(modal.dataset.autoExpires) * 3600000;
window.localStorage.setItem('aksrtAuthAutoUntil', String(until));
window.localStorage.setItem('jioAuthAutoUntil', String(until));
}
var restore = lastModalTrigger;
lastModalTrigger = null;
@@ -695,13 +695,13 @@
}
function init() {
if (document.documentElement.dataset.aksrtAuthInitialized === '1') return;
document.documentElement.dataset.aksrtAuthInitialized = '1';
if (document.documentElement.dataset.jioAuthInitialized === '1') return;
document.documentElement.dataset.jioAuthInitialized = '1';
showOAuthResultToast();
document.querySelectorAll('[data-aksrt-auth]').forEach(initRoot);
document.querySelectorAll('[data-jio-auth]').forEach(initRoot);
modal = document.querySelector('[data-auth-modal]');
document.addEventListener('click', function (event) {
var trigger = event.target.closest('[data-aksrt-auth-required], .aksrt-login-trigger, #nav-login-btn, .signin-loader, .signup-loader, .qrcode-signin');
var trigger = event.target.closest('[data-jio-auth-required], .jio-login-trigger, #nav-login-btn, .signin-loader, .signup-loader, .qrcode-signin');
if (!trigger) return;
event.preventDefault();
var tab = trigger.classList.contains('signup-loader') ? 'signup' : (trigger.classList.contains('qrcode-signin') ? 'oauth' : 'signin');
@@ -712,9 +712,9 @@
if (event.target.closest('[data-auth-close]')) closeModal(true);
});
document.addEventListener('keydown', handleModalKeydown);
if (modal.dataset.auto === '1' && Number(window.localStorage.getItem('aksrtAuthAutoUntil') || 0) < Date.now()) {
if (modal.dataset.auto === '1' && Number(window.localStorage.getItem('jioAuthAutoUntil') || 0) < Date.now()) {
window.setTimeout(function () {
openModal(modal.querySelector('[data-aksrt-auth]').dataset.initialTab || 'signin', window.location.href, null);
openModal(modal.querySelector('[data-jio-auth]').dataset.initialTab || 'signin', window.location.href, null);
}, Math.max(1, Number(modal.dataset.autoWait) || 5) * 1000);
}
}
@@ -726,5 +726,5 @@
});
}
jQuery(document).off('auto_fun.aksrt-auth').on('auto_fun.aksrt-auth', init);
jQuery(document).off('auto_fun.jio-auth').on('auto_fun.jio-auth', init);
}());