From 427968a721b32726059c406069e0af505868a181 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 2 Nov 2026 00:06:54 +0800 Subject: [PATCH] chore(branding): remove leftover upstream theme identifiers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The theme was renamed Zibll/子比 → AKSRT → Jio, but upstream branding survived the sweeps in CSS classes, the SVG sprite prefix, a persisted widget field ID, JS events, admin Vue class names, test infrastructure and docblocks. Renames: - zib-widget / zib-widget-wrap / zib-slider → jio-widget-box / jio-widget-box-wrap / jio-slider-box (jio-widget is taken by the modern widget shell, jio-box-* by the card primitives) - zib-partners-scroll + zps-* → jio-partners-scroll + jps-* - zib-combo-info-card + zci-* → jio-combo-info-card + jci-* - zibsvg- → jiosvg-, including the exported picker helpers and the fa-zibsvg- family-prefix guard - zibpay_type → pay_type; the dual-read fallback in PostQuery collapses to a single key - [zibajax="submit"] dropped (no PHP emitter); zib_ajax.success → jio_ajax.success - aks-* admin Vue classes → jio-* - zib_palette() → palette() User-facing vendor traces are gone: the floating "more" button default no longer ships a zibll.com link or 子比主题 marketing copy, the notice widget ships no preset promo entries, and the four 官网教程 links are removed from the post-list admin schema. Test infrastructure renamed to neutral names (docker-compose.reference.yml, Caddyfile, article-baseline.json, modern-widgets-contract.test.cjs) with their DB/volume/env/slug identifiers following. Kept intentionally, documented in tests/fixtures/README.md: the golden fixture reference fingerprint (a SHA-256 record of an external directory, read by validate-widget-golden / generate-widget-golden-fixture / audit-widget-system), the doesNotMatch guards that prove the old tokens are gone, and the reference theme's own meta key in the visual fixtures. No backward-compat or data migration: saved widget configs holding old icon keys or the old field ID silently lose them, per the project's rewrite-over-compatibility rule. Verified: 132/132 node contract tests, php tests/widget-system/run.php (146 assertions), audit-admin-contracts, audit-psr4-paths and validate-widget-golden all green; tracked bundles regenerated and in sync. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 2 +- .../components/floating/floating-defaults.js | 23 +- .../src/components/form/FaIconPicker.vue | 6 +- .../admin/src/components/form/IconValue.vue | 8 +- .../src/components/form/JioCodeEditor.vue | 10 +- .../pages/placeholder/NativeOpsRedirect.vue | 8 +- .../admin/src/schema/sections/payment/vip.js | 2 +- .../src/schema/sections/post-list/feature.js | 16 -- .../src/schema/sections/post-list/filter.js | 2 +- .../src/schema/sections/post-list/page.js | 2 +- assets/admin/src/style.css | 2 +- assets/admin/src/utils/icons.js | 18 +- assets/css/admin-icon-picker.css | 2 +- assets/css/build/homepage.css | 4 +- assets/css/build/public.css | 6 +- assets/css/frontend/breadcrumb.css | 2 +- assets/css/frontend/modal-runtime.css | 6 +- assets/css/frontend/pages/submit.css | 4 +- assets/css/frontend/pay-box.css | 4 +- assets/css/frontend/sidebar.css | 2 +- assets/css/frontend/single-post/cover.css | 2 +- .../css/frontend/single-post/related-toc.css | 6 +- assets/css/frontend/vip-modal.css | 2 +- assets/css/main.css | 204 +++++++++--------- assets/css/main.min.css | 2 +- assets/css/routes/sign.css | 2 +- assets/css/routes/user-center/credits.css | 28 +-- assets/css/routes/user-center/level.css | 4 +- assets/css/routes/user-center/settings.css | 4 +- assets/css/routes/user-center/shell.css | 38 ++-- assets/css/routes/user-home.css | 21 +- assets/js/admin-icon-picker.js | 6 +- assets/js/core/ajax-list.js | 4 +- assets/js/core/pagination.js | 2 +- assets/js/credits-affiliate.js | 2 +- assets/js/credits.js | 6 +- assets/js/enhancements.js | 2 +- assets/js/pay-vip.js | 35 ++- assets/js/runtime/main.js | 32 +-- assets/js/runtime/main.min.js | 2 +- assets/js/section-navs.js | 2 +- assets/js/user-ban.js | 42 ++-- assets/widgets/admin-transfer.js | 2 +- assets/widgets/frontend.css | 26 +-- assets/widgets/frontend.js | 4 +- inc/helpers/comments/icons.php | 9 +- inc/helpers/comments/item.php | 2 +- inc/helpers/homepage/content.php | 2 +- inc/helpers/homepage/header-components.php | 8 +- inc/helpers/homepage/layout.php | 4 +- inc/helpers/jio-archive-filters.php | 4 +- inc/helpers/jio-archive.php | 2 +- inc/helpers/jio-comments.php | 4 +- inc/helpers/jio-float-buttons.php | 4 +- inc/helpers/jio-frontend-tags.php | 2 +- inc/helpers/jio-header-menu-buttons.php | 5 +- inc/helpers/jio-header-userbox.php | 12 +- inc/helpers/jio-homepage.php | 10 +- inc/helpers/jio-icon-cards.php | 10 +- inc/helpers/jio-icons.php | 20 +- inc/helpers/jio-pay.php | 19 +- inc/helpers/jio-rewards.php | 6 +- inc/helpers/jio-share.php | 10 +- inc/helpers/jio-single-components.php | 2 +- inc/helpers/jio-single-render.php | 18 +- inc/helpers/jio-user-home.php | 1 - inc/helpers/jio-vip.php | 12 +- inc/helpers/jio-wait-pay-float.php | 6 +- inc/helpers/jio-widgets-markup.php | 6 +- inc/helpers/menu-decoration.php | 6 +- inc/helpers/posts-renderer/markup.php | 4 +- inc/helpers/posts-renderer/post-data.php | 4 +- .../template-tags/pagination-permissions.php | 6 +- inc/helpers/template-tags/search-meta.php | 4 +- inc/helpers/user-ban.php | 113 ++++------ .../affiliate-poster-modal.php | 3 +- .../user-center-renderers/credits-balance.php | 4 +- .../user-center-renderers/credits-wallet.php | 6 +- .../user-center-renderers/profile-auth.php | 6 +- .../user-center-renderers/profile-header.php | 4 +- .../user-center-renderers/profile-level.php | 6 +- .../user-center-renderers/profile-sidebar.php | 2 +- .../settings-account.php | 2 +- .../settings-bindings.php | 4 +- .../sidebar-commerce.php | 6 +- .../user-center-renderers/sidebar-creator.php | 11 +- .../user-center-renderers/sidebar-nav.php | 8 +- .../user-center-renderers/sidebar-stats.php | 4 +- .../user-center-renderers/sidebar-vip.php | 11 +- inc/helpers/user-center-renderers/vip-tab.php | 6 +- src/Admin/Admin.php | 2 +- src/Admin/Native/AdminListPagination.php | 2 +- src/Admin/Native/PayChargeCards.php | 10 +- src/Admin/Schema/SchemaPayment.php | 6 +- src/Admin/SchemaProvider.php | 4 +- src/Admin/UserController.php | 11 +- .../UserControllerRestrictionOperations.php | 18 +- src/Attachment/UploadLimits.php | 3 +- src/Auth/OAuth.php | 2 +- src/Content/VipServiceModal.php | 12 +- src/Core/FrontSubmitChunk.php | 2 +- src/Core/ScriptsPart1c.php | 4 +- src/Core/TermMeta.php | 4 +- src/Credits/Signin.php | 4 +- src/Extensions/SecurityHardening.php | 2 +- src/Extensions/SystemTools.php | 2 +- src/Frontend/InlineStyleBuilder.php | 2 +- src/Frontend/PageAdminSet.php | 16 +- src/Icons/IconCatalog.php | 2 +- src/Payment/ChargeCard.php | 2 +- src/Settings/FloatButtons.php | 23 +- src/Settings/PaymentRuntime.php | 2 +- src/Settings/PostDisplay.php | 2 +- src/Settings/ThemeSearch.php | 2 +- src/Sms/SMS.php | 2 +- src/User/BanAppeal.php | 6 +- src/User/Restriction.php | 14 +- src/WidgetSystem/FieldSchema.php | 2 +- src/WidgetSystem/FrontendRenderer.php | 2 +- src/WidgetSystem/PostQuery.php | 7 +- src/WidgetSystem/PostRenderer.php | 2 +- .../Renderers/ContentRenderer.php | 4 +- .../Renderers/GeneralRenderer.php | 68 +++--- src/WidgetSystem/Renderers/SliderRenderer.php | 6 +- src/WidgetSystem/Renderers/UserRenderer.php | 10 +- src/WidgetSystem/WidgetSchemas.php | 25 +-- templates/parts/submit/editor-main.php | 2 +- templates/parts/submit/sidebar-pay.php | 2 +- templates/parts/submit/sidebar-submit.php | 2 +- templates/parts/submit/sidebar-terms.php | 4 +- templates/parts/user-home/panel-follow.php | 3 +- templates/parts/user/author-hero.php | 14 +- templates/parts/user/ban-block.php | 2 +- ...-push-settings-reference-contract.test.cjs | 4 +- ...ature-settings-reference-contract.test.cjs | 6 +- ...ilter-settings-reference-contract.test.cjs | 13 +- ...-page-settings-reference-contract.test.cjs | 17 +- tests/fixtures/README.md | 17 ++ tests/fixtures/page-visual-matrix-v1.json | 8 +- tests/fixtures/widget-golden-v1.json | 14 +- .../editor-fullscreen-contract.test.cjs | 6 +- .../header-reference-contract.test.cjs | 2 +- .../legacy-navigation-contract.test.cjs | 8 +- tests/visual/{zibll-Caddyfile => Caddyfile} | 0 tests/visual/README.md | 24 +-- ...le-baseline.json => article-baseline.json} | 4 +- tests/visual/article-fixtures.php | 51 +++-- tests/visual/article-visual-matrix-v1.json | 10 +- ...zibll.yml => docker-compose.reference.yml} | 44 ++-- .../auth-source-contract.test.cjs | 10 +- .../balance-charge-modal.test.cjs | 10 +- .../card-pass-modal-redeem.test.cjs | 18 +- .../comment-hard-cut-contract.test.cjs | 2 +- .../discovery-reference-contract.test.cjs | 4 +- .../discovery-reference-harness.php | 2 +- .../frontend-lifecycle-contract.test.cjs | 12 +- .../widget-system/icon-card-contract.test.cjs | 16 +- .../icon-picker-contract.test.cjs | 6 +- .../invite-code-contract.test.cjs | 4 +- ...t.cjs => modern-widgets-contract.test.cjs} | 12 +- .../page-display-contract.test.cjs | 14 +- .../widget-system/pay-card-contract.test.cjs | 10 +- .../pay-sdk-order-contract.test.cjs | 2 +- .../post-editor-reference-contract.test.cjs | 4 +- .../post-list-quick-edit-contract.test.cjs | 3 +- .../post-visual-contract.test.cjs | 12 +- .../posts-render-behavior.test.cjs | 2 +- .../posts-toc-css-contract.test.cjs | 4 +- .../posts-wrapper-contract.test.cjs | 2 +- .../referral-qr-contract.test.cjs | 2 +- .../report-ban-contract.test.cjs | 18 +- tests/widget-system/run.php | 10 +- .../search-reference-contract.test.cjs | 2 +- .../section-navs-runtime.test.cjs | 2 +- .../single-cover-height-contract.test.cjs | 9 +- .../tab-posts-render-behavior.test.cjs | 6 +- .../widget-system/tab-posts-runtime.test.cjs | 2 +- .../user-card-checkin-badge-contract.test.cjs | 4 +- .../user-card-runtime-contract.test.cjs | 10 +- ...ser-center-sidebar-icons-contract.test.cjs | 48 ++--- .../user-level-contract.test.cjs | 2 +- .../vip-modal-copy-fields.test.cjs | 17 +- .../vip-points-exchange-modal.test.cjs | 14 +- .../vip-settings-structured-contract.test.cjs | 2 +- .../vip-tab-status-card.test.cjs | 2 +- tools/admin-contract-report.json | 24 +-- tools/build-svg-sprite.mjs | 2 +- tools/wp-cli-visual-fixtures.php | 6 +- 188 files changed, 915 insertions(+), 967 deletions(-) create mode 100644 tests/fixtures/README.md rename tests/visual/{zibll-Caddyfile => Caddyfile} (100%) rename tests/visual/{zibll-9.0-article-baseline.json => article-baseline.json} (94%) rename tests/visual/{docker-compose.zibll.yml => docker-compose.reference.yml} (58%) rename tests/widget-system/{zibll-modern-widgets-contract.test.cjs => modern-widgets-contract.test.cjs} (93%) diff --git a/README.md b/README.md index a1b9aab5..5604a091 100644 --- a/README.md +++ b/README.md @@ -167,7 +167,7 @@ WordPress 后台左侧 **Admin Bar** → ⚡ **Jio 主题设置** ### 4. 推广、邀请与佣金(用户中心 → 收益) - **推广链接**:用户中心「收益」页展示带 `?ref=` 的推广链接、二维码(可下载 PNG)与推广海报(按「推广返佣」设置中的海报文案生成)。归因模式(首触/末触)在「支付&付费 → 推广返佣 → 推广归因模式」配置。 -- **一次性邀请码**:后台「用户 → 邀请码管理」三视图运营页——列表(状态筛选/搜索/批量删除/排序/分页/点击复制)、添加(系统自动生成:数量/标识/四类奖励[经验值、积分、余额、VIP]/高级选项自定义位数;或 Zibll 兼容文本导入:一行一码 `邀请码 奖励 标识`,奖励参数串 `points=20&balance=30&vip=1&vip_time=5&level_integral=100`,分隔符可自定义)、导出(状态筛选 + 文本文档[可回流导入]/Excel表格 双格式)。注册门控模式在「用户&互动 → 登录注册 → 邀请码注册」。消费为原子操作,并发注册不会超发;开启注册验证时奖励延迟到邮箱验证后发放。 +- **一次性邀请码**:后台「用户 → 邀请码管理」三视图运营页——列表(状态筛选/搜索/批量删除/排序/分页/点击复制)、添加(系统自动生成:数量/标识/四类奖励[经验值、积分、余额、VIP]/高级选项自定义位数;或行格式文本导入:一行一码 `邀请码 奖励 标识`,奖励参数串 `points=20&balance=30&vip=1&vip_time=5&level_integral=100`,分隔符可自定义)、导出(状态筛选 + 文本文档[可回流导入]/Excel表格 双格式)。注册门控模式在「用户&互动 → 登录注册 → 邀请码注册」。消费为原子操作,并发注册不会超发;开启注册验证时奖励延迟到邮箱验证后发放。 - **佣金**:订单支付成功后按推广者等级分档比例记录到佣金账本,经「结算观察期」后自动结算入钱包,支持提现与退款联动回滚。「推广码禁用后停止返佣」开关默认关闭。 ### 5. 部署注意事项 diff --git a/assets/admin/src/components/floating/floating-defaults.js b/assets/admin/src/components/floating/floating-defaults.js index 655394b9..e447483a 100644 --- a/assets/admin/src/components/floating/floating-defaults.js +++ b/assets/admin/src/components/floating/floating-defaults.js @@ -16,32 +16,21 @@ export const FLOAT_BTN_META = { more: { title: '更多按钮', panel: '添加更多自定义按钮' }, } -const themeUri = (window.jioAdminData?.themeUri || '').replace(/\/$/, '') - -/** 「更多按钮」出厂默认项(对齐参考主题 float_btn.more 默认值)。 */ +/** 「更多按钮」出厂默认项:不预设任何第三方指向,只给一个图标按钮。 */ export function giftMoreButton() { return { - desc: '本站同款主题模板', - icon: 'zibsvg-gift-color', + desc: '', + icon: 'jiosvg-gift-color', link: { url: '', target: '' }, - hover: ` -
- zibll子比主题 -
-
本站同款主题模板
-
zibll子比主题是一款漂亮优雅的网站主题模板,功能强大,配置简单。
-
查看详情
-
-
-
`, - hover_width: 240, + hover: '', + hover_width: 200, pc_s: true, m_s: true, color: { color: '', bg: 'rgba(255, 111, 6, 0.2)' }, } } -/** 「添加按钮」新增项默认值(参考主题 group 字段默认值)。 */ +/** 「添加按钮」新增项默认值。 */ export function defaultMoreButton() { return { desc: '', diff --git a/assets/admin/src/components/form/FaIconPicker.vue b/assets/admin/src/components/form/FaIconPicker.vue index 98ea3045..102dc8ad 100644 --- a/assets/admin/src/components/form/FaIconPicker.vue +++ b/assets/admin/src/components/form/FaIconPicker.vue @@ -81,7 +81,7 @@
@@ -105,7 +105,7 @@ import IconValue from './IconValue.vue' import api from '@/api/index.js' import { cleanSvg, - zibsvgMarkup, + jiosvgMarkup, composeIconValue, } from '@/utils/icons.js' @@ -120,7 +120,7 @@ const FALLBACK_TABS = [ { id: 'fas', title: 'Solid', type: 'fa', icons: [] }, { id: 'far', title: 'Regular', type: 'fa', icons: [] }, { id: 'fab', title: 'Brands', type: 'fa', icons: [] }, - { id: 'zibsvg', title: '内置 SVG', type: 'svg', icons: [] }, + { id: 'jiosvg', title: '内置 SVG', type: 'svg', icons: [] }, { id: 'custom', title: '自定义', type: 'custom', icons: [] }, ] diff --git a/assets/admin/src/components/form/IconValue.vue b/assets/admin/src/components/form/IconValue.vue index 3c3e0281..4abf3d9e 100644 --- a/assets/admin/src/components/form/IconValue.vue +++ b/assets/admin/src/components/form/IconValue.vue @@ -3,9 +3,9 @@ /** - * IconValue — renders any icon-picker value ("fa fas fa-star", "zibsvg-key", + * IconValue — renders any icon-picker value ("fa fas fa-star", "jiosvg-key", * "customsvg-") as inline preview markup. */ import { computed } from 'vue' -import { cleanSvg, isFaValue, isZibsvgValue, isCustomSvgValue, zibsvgMarkup } from '@/utils/icons.js' +import { cleanSvg, isFaValue, isJiosvgValue, isCustomSvgValue, jiosvgMarkup } from '@/utils/icons.js' const props = defineProps({ value: { type: String, default: '' }, diff --git a/assets/admin/src/components/form/JioCodeEditor.vue b/assets/admin/src/components/form/JioCodeEditor.vue index 07d99bf1..fca308fb 100644 --- a/assets/admin/src/components/form/JioCodeEditor.vue +++ b/assets/admin/src/components/form/JioCodeEditor.vue @@ -1,5 +1,5 @@
+
' . "\n"; - // 对齐参考主题 zib_head_css():主题色变量与 --main-radius 挂在 body(main.css 的定义层级), + // 主题色变量与 --main-radius 挂在 body(main.css 的定义层级), // 夜间主题色仅在单独设置时覆盖 body.dark-theme。 // main.css declares these defaults on body; :root values cannot override them by inheritance. echo '