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

+102 -102
View File
@@ -1,9 +1,9 @@
/**
* AKSRT Animations — animate.css 等价(独立重写)
* Jio Animations — animate.css 等价(独立重写)
* ------------------------------------------------------------
* 关键帧 + 工具类 + IntersectionObserver 触发配合
* 触发 JS 已在 enhancements2.js([data-aksrt-animate] 属性)
* 本文件仅定义 @keyframes 和 .aksrt-anim-* 工具类
* 触发 JS 已在 enhancements2.js([data-jio-animate] 属性)
* 本文件仅定义 @keyframes 和 .jio-anim-* 工具类
*/
/* ============================================================
@@ -11,71 +11,71 @@
* ============================================================ */
/* Fade 系列 */
@keyframes aksrtFadeIn {
@keyframes jioFadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes aksrtFadeInUp {
@keyframes jioFadeInUp {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: none; }
}
@keyframes aksrtFadeInDown {
@keyframes jioFadeInDown {
from { opacity: 0; transform: translateY(-20px); }
to { opacity: 1; transform: none; }
}
@keyframes aksrtFadeInLeft {
@keyframes jioFadeInLeft {
from { opacity: 0; transform: translateX(-20px); }
to { opacity: 1; transform: none; }
}
@keyframes aksrtFadeInRight {
@keyframes jioFadeInRight {
from { opacity: 0; transform: translateX(20px); }
to { opacity: 1; transform: none; }
}
/* Zoom 系列 */
@keyframes aksrtZoomIn {
@keyframes jioZoomIn {
from { opacity: 0; transform: scale(.85); }
to { opacity: 1; transform: none; }
}
@keyframes aksrtZoomInUp {
@keyframes jioZoomInUp {
from { opacity: 0; transform: scale(.85) translateY(20px); }
to { opacity: 1; transform: none; }
}
/* Bounce 系列 */
@keyframes aksrtBounceIn {
@keyframes jioBounceIn {
0% { opacity: 0; transform: scale(.3); }
50% { opacity: 1; transform: scale(1.08); }
70% { transform: scale(.95); }
100% { opacity: 1; transform: none; }
}
@keyframes aksrtBounce {
@keyframes jioBounce {
0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
40% { transform: translateY(-12px); }
60% { transform: translateY(-6px); }
}
/* Pulse */
@keyframes aksrtPulse {
@keyframes jioPulse {
0% { transform: scale(1); }
50% { transform: scale(1.06); }
100% { transform: scale(1); }
}
/* Flash */
@keyframes aksrtFlash {
@keyframes jioFlash {
0%, 50%, 100% { opacity: 1; }
25%, 75% { opacity: 0; }
}
/* RubberBand */
@keyframes aksrtRubberBand {
@keyframes jioRubberBand {
0% { transform: scale(1); }
30% { transform: scaleX(1.25) scaleY(0.75); }
40% { transform: scaleX(0.75) scaleY(1.25); }
@@ -86,14 +86,14 @@
}
/* Shake */
@keyframes aksrtShake {
@keyframes jioShake {
0%, 100% { transform: translateX(0); }
10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }
20%, 40%, 60%, 80% { transform: translateX(4px); }
}
/* Swing */
@keyframes aksrtSwing {
@keyframes jioSwing {
20% { transform: rotate(15deg); }
40% { transform: rotate(-10deg); }
60% { transform: rotate(5deg); }
@@ -102,7 +102,7 @@
}
/* Tada */
@keyframes aksrtTada {
@keyframes jioTada {
0% { transform: scale(1); }
10%, 20% { transform: scale(0.9) rotate(-3deg); }
30%, 50%, 70%, 90% { transform: scale(1.1) rotate(3deg); }
@@ -111,7 +111,7 @@
}
/* Wobble */
@keyframes aksrtWobble {
@keyframes jioWobble {
0% { transform: none; }
15% { transform: translateX(-25%) rotate(-5deg); }
30% { transform: translateX(20%) rotate(3deg); }
@@ -122,28 +122,28 @@
}
/* Slide 系列 */
@keyframes aksrtSlideInUp {
@keyframes jioSlideInUp {
from { opacity: 0; transform: translateY(100%); }
to { opacity: 1; transform: none; }
}
@keyframes aksrtSlideInDown {
@keyframes jioSlideInDown {
from { opacity: 0; transform: translateY(-100%); }
to { opacity: 1; transform: none; }
}
@keyframes aksrtSlideInLeft {
@keyframes jioSlideInLeft {
from { opacity: 0; transform: translateX(-100%); }
to { opacity: 1; transform: none; }
}
@keyframes aksrtSlideInRight {
@keyframes jioSlideInRight {
from { opacity: 0; transform: translateX(100%); }
to { opacity: 1; transform: none; }
}
/* HeartBeat */
@keyframes aksrtHeartBeat {
@keyframes jioHeartBeat {
0% { transform: scale(1); }
14% { transform: scale(1.3); }
28% { transform: scale(1); }
@@ -153,7 +153,7 @@
}
/* Jello */
@keyframes aksrtJello {
@keyframes jioJello {
0%, 100% { transform: none; }
11% { transform: skewX(-12.5deg) skewY(-12.5deg); }
22% { transform: skewX(6.25deg) skewY(6.25deg); }
@@ -166,7 +166,7 @@
}
/* HeadShake */
@keyframes aksrtHeadShake {
@keyframes jioHeadShake {
0% { transform: translateX(0); }
6.5% { transform: translateX(-6px) rotateY(-9deg); }
18.5% { transform: translateX(5px) rotateY(7deg); }
@@ -177,7 +177,7 @@
}
/* BounceOut — 退出动画 */
@keyframes aksrtBounceOut {
@keyframes jioBounceOut {
0% { transform: scale(1); }
25% { transform: scale(0.95); }
50% { transform: scale(1.1); }
@@ -186,33 +186,33 @@
}
/* ZoomOut — 退出动画 */
@keyframes aksrtZoomOut {
@keyframes jioZoomOut {
0% { opacity: 1; transform: none; }
100% { opacity: 0; transform: scale(0.85); }
}
/* BackIn/BackOut */
@keyframes aksrtBackInUp {
@keyframes jioBackInUp {
0% { opacity: 0; transform: translateY(30px) scale(0.7); }
80% { opacity: 0.8; transform: translateY(-5px) scale(1.02); }
100% { opacity: 1; transform: none; }
}
@keyframes aksrtBackInDown {
@keyframes jioBackInDown {
0% { opacity: 0; transform: translateY(-30px) scale(0.7); }
80% { opacity: 0.8; transform: translateY(5px) scale(1.02); }
100% { opacity: 1; transform: none; }
}
/* Flip */
@keyframes aksrtFlip {
@keyframes jioFlip {
0% { transform: perspective(400px) rotateY(90deg); opacity: 0; }
40% { transform: perspective(400px) rotateY(-10deg); }
70% { transform: perspective(400px) rotateY(10deg); }
100% { transform: perspective(400px) rotateY(0deg); opacity: 1; }
}
@keyframes aksrtFlipInX {
@keyframes jioFlipInX {
0% { transform: perspective(400px) rotateX(90deg); opacity: 0; }
40% { transform: perspective(400px) rotateX(-10deg); }
70% { transform: perspective(400px) rotateX(10deg); }
@@ -222,102 +222,102 @@
/* ============================================================
* Animation utility classes
* ============================================================ */
.aksrt-anim-fade-in { animation: aksrtFadeIn var(--dur-base, .4s) var(--ease-out, ease) both; }
.aksrt-anim-fade-up { animation: aksrtFadeInUp var(--dur-base, .4s) var(--ease-out, ease) both; }
.aksrt-anim-fade-down { animation: aksrtFadeInDown var(--dur-base, .4s) var(--ease-out, ease) both; }
.aksrt-anim-fade-left { animation: aksrtFadeInLeft var(--dur-base, .4s) var(--ease-out, ease) both; }
.aksrt-anim-fade-right { animation: aksrtFadeInRight var(--dur-base, .4s) var(--ease-out, ease) both; }
.jio-anim-fade-in { animation: jioFadeIn var(--dur-base, .4s) var(--ease-out, ease) both; }
.jio-anim-fade-up { animation: jioFadeInUp var(--dur-base, .4s) var(--ease-out, ease) both; }
.jio-anim-fade-down { animation: jioFadeInDown var(--dur-base, .4s) var(--ease-out, ease) both; }
.jio-anim-fade-left { animation: jioFadeInLeft var(--dur-base, .4s) var(--ease-out, ease) both; }
.jio-anim-fade-right { animation: jioFadeInRight var(--dur-base, .4s) var(--ease-out, ease) both; }
.aksrt-anim-zoom-in { animation: aksrtZoomIn var(--dur-base, .4s) var(--ease-out, ease) both; }
.aksrt-anim-zoom-in-up { animation: aksrtZoomInUp var(--dur-base, .4s) var(--ease-out, ease) both; }
.jio-anim-zoom-in { animation: jioZoomIn var(--dur-base, .4s) var(--ease-out, ease) both; }
.jio-anim-zoom-in-up { animation: jioZoomInUp var(--dur-base, .4s) var(--ease-out, ease) both; }
.aksrt-anim-bounce-in { animation: aksrtBounceIn .6s var(--ease-out, ease) both; }
.aksrt-anim-bounce { animation: aksrtBounce 1s ease both; }
.jio-anim-bounce-in { animation: jioBounceIn .6s var(--ease-out, ease) both; }
.jio-anim-bounce { animation: jioBounce 1s ease both; }
.aksrt-anim-pulse { animation: aksrtPulse 1s ease infinite; }
.aksrt-anim-flash { animation: aksrtFlash 1s ease both; }
.aksrt-anim-rubber-band { animation: aksrtRubberBand .8s ease both; }
.aksrt-anim-shake { animation: aksrtShake .5s ease both; }
.aksrt-anim-swing { animation: aksrtSwing .6s var(--ease-out, ease) both; }
.aksrt-anim-tada { animation: aksrtTada 1s ease both; }
.aksrt-anim-wobble { animation: aksrtWobble .8s ease both; }
.aksrt-anim-heart-beat { animation: aksrtHeartBeat 1.3s ease both; }
.aksrt-anim-jello { animation: aksrtJello .8s ease both; }
.aksrt-anim-head-shake { animation: aksrtHeadShake .8s ease both; }
.jio-anim-pulse { animation: jioPulse 1s ease infinite; }
.jio-anim-flash { animation: jioFlash 1s ease both; }
.jio-anim-rubber-band { animation: jioRubberBand .8s ease both; }
.jio-anim-shake { animation: jioShake .5s ease both; }
.jio-anim-swing { animation: jioSwing .6s var(--ease-out, ease) both; }
.jio-anim-tada { animation: jioTada 1s ease both; }
.jio-anim-wobble { animation: jioWobble .8s ease both; }
.jio-anim-heart-beat { animation: jioHeartBeat 1.3s ease both; }
.jio-anim-jello { animation: jioJello .8s ease both; }
.jio-anim-head-shake { animation: jioHeadShake .8s ease both; }
/* 退出动画 */
.aksrt-anim-bounce-out { animation: aksrtBounceOut .5s ease both; }
.aksrt-anim-zoom-out { animation: aksrtZoomOut .3s ease both; }
.jio-anim-bounce-out { animation: jioBounceOut .5s ease both; }
.jio-anim-zoom-out { animation: jioZoomOut .3s ease both; }
/* BackIn 动画 */
.aksrt-anim-back-in-up { animation: aksrtBackInUp .5s var(--ease-out, ease) both; }
.aksrt-anim-back-in-down { animation: aksrtBackInDown .5s var(--ease-out, ease) both; }
.jio-anim-back-in-up { animation: jioBackInUp .5s var(--ease-out, ease) both; }
.jio-anim-back-in-down { animation: jioBackInDown .5s var(--ease-out, ease) both; }
.aksrt-anim-slide-up { animation: aksrtSlideInUp .5s var(--ease-out, ease) both; }
.aksrt-anim-slide-down { animation: aksrtSlideInDown .5s var(--ease-out, ease) both; }
.aksrt-anim-slide-left { animation: aksrtSlideInLeft .5s var(--ease-out, ease) both; }
.aksrt-anim-slide-right { animation: aksrtSlideInRight .5s var(--ease-out, ease) both; }
.jio-anim-slide-up { animation: jioSlideInUp .5s var(--ease-out, ease) both; }
.jio-anim-slide-down { animation: jioSlideInDown .5s var(--ease-out, ease) both; }
.jio-anim-slide-left { animation: jioSlideInLeft .5s var(--ease-out, ease) both; }
.jio-anim-slide-right { animation: jioSlideInRight .5s var(--ease-out, ease) both; }
.aksrt-anim-flip { animation: aksrtFlip .6s var(--ease-out, ease) both; }
.aksrt-anim-flip-x { animation: aksrtFlipInX .6s var(--ease-out, ease) both; }
.jio-anim-flip { animation: jioFlip .6s var(--ease-out, ease) both; }
.jio-anim-flip-x { animation: jioFlipInX .6s var(--ease-out, ease) both; }
/* ============================================================
* Duration modifiers
* ============================================================ */
.aksrt-anim-fast { --dur-base: .2s; }
.aksrt-anim-slow { --dur-base: .6s; }
.jio-anim-fast { --dur-base: .2s; }
.jio-anim-slow { --dur-base: .6s; }
/* ============================================================
* Delay modifiers (配合 data-aksrt-delay 使用时为 inline,
* Delay modifiers (配合 data-jio-delay 使用时为 inline,
* 也可用 class 方式独立设置)
* ============================================================ */
.aksrt-anim-delay-1 { animation-delay: .1s; }
.aksrt-anim-delay-2 { animation-delay: .2s; }
.aksrt-anim-delay-3 { animation-delay: .3s; }
.aksrt-anim-delay-4 { animation-delay: .4s; }
.aksrt-anim-delay-5 { animation-delay: .5s; }
.aksrt-anim-delay-6 { animation-delay: .6s; }
.aksrt-anim-delay-7 { animation-delay: .7s; }
.aksrt-anim-delay-8 { animation-delay: .8s; }
.jio-anim-delay-1 { animation-delay: .1s; }
.jio-anim-delay-2 { animation-delay: .2s; }
.jio-anim-delay-3 { animation-delay: .3s; }
.jio-anim-delay-4 { animation-delay: .4s; }
.jio-anim-delay-5 { animation-delay: .5s; }
.jio-anim-delay-6 { animation-delay: .6s; }
.jio-anim-delay-7 { animation-delay: .7s; }
.jio-anim-delay-8 { animation-delay: .8s; }
/* ============================================================
* Infinite modifier
* ============================================================ */
.aksrt-anim-infinite { animation-iteration-count: infinite; }
.jio-anim-infinite { animation-iteration-count: infinite; }
/* ============================================================
* Reduced-motion — 尊重用户偏好
* ============================================================ */
@media (prefers-reduced-motion: reduce) {
.aksrt-anim-fade-in,
.aksrt-anim-fade-up,
.aksrt-anim-fade-down,
.aksrt-anim-fade-left,
.aksrt-anim-fade-right,
.aksrt-anim-zoom-in,
.aksrt-anim-zoom-in-up,
.aksrt-anim-bounce-in,
.aksrt-anim-bounce,
.aksrt-anim-pulse,
.aksrt-anim-flash,
.aksrt-anim-rubber-band,
.aksrt-anim-shake,
.aksrt-anim-swing,
.aksrt-anim-tada,
.aksrt-anim-wobble,
.aksrt-anim-heart-beat,
.aksrt-anim-jello,
.aksrt-anim-head-shake,
.aksrt-anim-bounce-out,
.aksrt-anim-zoom-out,
.aksrt-anim-back-in-up,
.aksrt-anim-back-in-down,
.aksrt-anim-slide-up,
.aksrt-anim-slide-down,
.aksrt-anim-slide-left,
.aksrt-anim-slide-right,
.aksrt-anim-flip,
.aksrt-anim-flip-x {
.jio-anim-fade-in,
.jio-anim-fade-up,
.jio-anim-fade-down,
.jio-anim-fade-left,
.jio-anim-fade-right,
.jio-anim-zoom-in,
.jio-anim-zoom-in-up,
.jio-anim-bounce-in,
.jio-anim-bounce,
.jio-anim-pulse,
.jio-anim-flash,
.jio-anim-rubber-band,
.jio-anim-shake,
.jio-anim-swing,
.jio-anim-tada,
.jio-anim-wobble,
.jio-anim-heart-beat,
.jio-anim-jello,
.jio-anim-head-shake,
.jio-anim-bounce-out,
.jio-anim-zoom-out,
.jio-anim-back-in-up,
.jio-anim-back-in-down,
.jio-anim-slide-up,
.jio-anim-slide-down,
.jio-anim-slide-left,
.jio-anim-slide-right,
.jio-anim-flip,
.jio-anim-flip-x {
animation: none !important;
}
}