fix(frontend): keep asset and homepage filters in DOM

This commit is contained in:
kate522 committed 2026-09-03 19:21:24 +08:00
1 parent a0adddce59
commit 7308f055c7
23 files changed
+362 -305

No files matched your search

+63 -25
View File
@@ -528,7 +528,18 @@
var item = document.createElement('button');
item.type = 'button';
item.className = 'uc-transfer-user';
item.innerHTML = '<img' + window.aksrtGetLazyImageAttr('lazy_avatar', u.avatar || '', 'uc-transfer-user__avatar', 'sm') + ' alt=""><span>' + (u.display_name || u.user_login) + '</span><span class="muted-2-color em09">@' + (u.user_login || '') + '</span>';
var avatar = document.createElement('img');
avatar.className = 'uc-transfer-user__avatar';
avatar.alt = '';
avatar.src = String(u.avatar || '');
item.appendChild(avatar);
var displayName = document.createElement('span');
displayName.textContent = String(u.display_name || u.user_login || '');
item.appendChild(displayName);
var login = document.createElement('span');
login.className = 'muted-2-color em09';
login.textContent = '@' + String(u.user_login || '');
item.appendChild(login);
item.addEventListener('click', function () {
if (recipientInput) recipientInput.value = String(u.id);
if (selected) selected.textContent = '已选择:' + (u.display_name || u.user_login);
@@ -737,31 +748,58 @@
}
function initAssetTabs() {
var nav = document.querySelectorAll('[data-aksrt-asset-tab]');
if (!nav.length) return;
nav.forEach(function (link) {
if (link.dataset.aksrtAssetTabBound === 'true') return;
link.dataset.aksrtAssetTabBound = 'true';
link.addEventListener('click', function (e) {
e.preventDefault();
var key = link.getAttribute('data-aksrt-asset-tab');
document.querySelectorAll('.uc-asset-tabs__nav [data-aksrt-asset-tab]').forEach(function (a) {
var li = a.closest('li');
if (!li) return;
var aKey = a.getAttribute('data-aksrt-asset-tab');
var on = aKey === key || (key === 'points_date' && aKey === 'points_free');
li.classList.toggle('active', on);
});
var tabs = document.querySelector('.uc-asset-tabs');
if (tabs && typeof tabs.scrollIntoView === 'function') {
tabs.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
document.querySelectorAll('[data-aksrt-asset-pane]').forEach(function (pane) {
var on = pane.getAttribute('data-aksrt-asset-pane') === key;
pane.classList.toggle('is-active', on);
pane.hidden = !on;
});
if (document.documentElement.dataset.aksrtAssetTabsBound === 'true') return;
document.documentElement.dataset.aksrtAssetTabsBound = 'true';
function select(key) {
document.querySelectorAll('.uc-asset-tabs__nav [data-aksrt-asset-tab]').forEach(function (link) {
var li = link.closest('li');
if (!li) return;
var linkKey = link.getAttribute('data-aksrt-asset-tab');
li.classList.toggle('active', linkKey === key || (key === 'points_date' && linkKey === 'points_free'));
});
document.querySelectorAll('[data-aksrt-asset-pane]').forEach(function (pane) {
var active = pane.getAttribute('data-aksrt-asset-pane') === key;
pane.classList.toggle('is-active', active);
pane.hidden = !active;
});
}
function loadPage(key, page) {
var panel = document.querySelector('#panel-credits');
var rest = (window.aksrtData && (window.aksrtData.restUrl || window.aksrtData.apiUrl)) || '';
if (!panel || !rest) return;
panel.classList.add('is-loading');
var url = rest.replace(/\/$/, '') + '/user-center/panel/credits?asset=' + encodeURIComponent(key) + '&page=' + encodeURIComponent(page);
fetch(url, {
credentials: 'same-origin',
headers: { 'X-WP-Nonce': (window.aksrtData && (window.aksrtData.restNonce || window.aksrtData.nonce)) || '' }
}).then(function (response) {
return response.json().then(function (payload) {
if (!response.ok || !payload || !payload.success || !payload.data || typeof payload.data.html !== 'string') throw new Error('asset-page-load-failed');
panel.innerHTML = payload.data.html;
if (window.jQuery) jQuery(document).trigger('post_ajax.ed', [panel]);
if (typeof window.auto_fun === 'function') window.auto_fun();
select(key);
});
}).catch(function () {
notyf('记录加载失败,请重试', 'danger');
}).finally(function () {
panel.classList.remove('is-loading');
});
}
document.addEventListener('click', function (e) {
var pageButton = e.target.closest('[data-aksrt-asset-page]');
if (pageButton) {
e.preventDefault();
loadPage(pageButton.getAttribute('data-aksrt-asset-key') || 'points', parseInt(pageButton.getAttribute('data-aksrt-asset-page') || '1', 10) || 1);
return;
}
var link = e.target.closest('[data-aksrt-asset-tab]');
if (!link) return;
e.preventDefault();
select(link.getAttribute('data-aksrt-asset-tab'));
});
}
+43 -89
View File
@@ -11,7 +11,6 @@
(function () {
'use strict';
var SORT_QUERY_KEY = 'home_sort';
var DEFAULT_SORT = 'modified';
var REST_PATH = '/wp-json/aksrt/v1/homepage/tab-posts';
@@ -19,10 +18,6 @@
* Utilities
* ============================================================ */
function getViewMode() {
return getDefaultView();
}
function getRenderedPostCount(scope) {
if (!scope) return 0;
return scope.querySelectorAll('.posts-item, .posts-mini').length;
@@ -42,7 +37,7 @@
function getDefaultSort() {
var configured = window.aksrtData && aksrtData.homepageDefaultSort;
var allowed = ['modified', 'date', 'downloads', 'views', 'likes', 'comments'];
var allowed = ['modified', 'date', 'views', 'like', 'comment_count', 'favorite', 'rand'];
return allowed.indexOf(configured) !== -1 ? configured : DEFAULT_SORT;
}
@@ -51,12 +46,6 @@
return panel && panel.getAttribute('data-view') === 'card' ? 'card' : 'list';
}
function isSortAjaxEnabled(sortbar) {
var attr = sortbar && sortbar.getAttribute('data-sort-ajax');
if (attr === 'false') return false;
return !(window.aksrtData && aksrtData.homepageSortAjax === false);
}
function isStickyTabsEnabled() {
return !(window.aksrtData && aksrtData.homepageStickyTabs === false);
}
@@ -66,14 +55,11 @@
return baseUrl.replace(/\/?$/, '');
}
function getSortFromUrl() {
return new URLSearchParams(window.location.search).get(SORT_QUERY_KEY) || getDefaultSort();
function getCurrentSort(stream) {
var activeLink = stream ? stream.querySelector('.aksrt-homepage__sortbar-link.is-active, .aksrt-homepage__sortbar-dropdown-item.is-active') : null;
return (activeLink && activeLink.getAttribute('data-sort')) || getDefaultSort();
}
function getCurrentSort(stream) {
var activeLink = stream ? stream.querySelector('.aksrt-homepage__sortbar-link.is-active') : null;
return (activeLink && activeLink.getAttribute('data-sort')) || getSortFromUrl();
}
function setActiveSortLink(sortbar, sort) {
var links = sortbar.querySelectorAll('.aksrt-homepage__sortbar-link, .aksrt-homepage__sortbar-dropdown-item');
@@ -88,20 +74,6 @@
}
}
function normalizeHomepageUrl(url) {
url.searchParams.delete('paged');
url.searchParams.delete('page');
url.pathname = url.pathname.replace(/\/page\/\d+\/?$/, '/');
return url;
}
function replaceUrlSort(sort) {
if (!window.history || !window.history.replaceState) return;
var url = normalizeHomepageUrl(new URL(window.location.href));
url.searchParams.set(SORT_QUERY_KEY, sort);
window.history.replaceState({}, '', url.toString());
}
function getStreamViewMode(stream) {
var panel = getActivePanel(stream);
return panel && panel.getAttribute('data-view') === 'card' ? 'card' : 'list';
@@ -124,12 +96,6 @@
return panel.getAttribute('data-tab-orderby') || '';
}
function getPanelSource(panel) {
var target = panel ? panel.getAttribute('data-home-tab-panel') : '';
if (target === 'latest') return 'home';
return target ? 'home' : 'widget';
}
function buildRestUrl(options) {
options = options || {};
return getRestBaseUrl() + REST_PATH +
@@ -137,9 +103,7 @@
'&page=' + encodeURIComponent(options.page || 1) +
'&per_page=' + encodeURIComponent(options.perPage || 10) +
'&sort=' + encodeURIComponent(options.sort || getDefaultSort()) +
'&page_url=' + encodeURIComponent(options.pageUrl || window.location.href) +
'&panel=' + encodeURIComponent(options.panel || 'latest') +
'&source=' + encodeURIComponent(options.source || 'home') +
'&tab_orderby=' + encodeURIComponent(options.tabOrderby || '');
}
@@ -149,7 +113,7 @@
/**
* Dispatch post_ajax.before — fired before AJAX request is sent.
* Detail: { termId, page, sort, viewMode, panel, source, url }
* Detail: { termId, page, sort, viewMode, panel, url }
*/
function dispatchBeforeEvent(container, detail) {
try {
@@ -162,7 +126,7 @@
/**
* Dispatch post_ajax.ed — fired after AJAX response is injected.
* Detail: { termId, page, sort, viewMode, panel, source, total, hasMore }
* Detail: { termId, page, sort, viewMode, panel, total, hasMore }
*/
function dispatchAfterEvent(container, detail) {
try {
@@ -245,18 +209,16 @@
button.addEventListener('click', function () {
button.disabled = true;
button.textContent = (window.aksrtData && aksrtData.ajaxLoading) || '正在加载...';
requestHomepagePanel(panel, {
termId: options.termId,
page: options.page + 1,
perPage: options.perPage,
sort: options.sort,
viewMode: options.viewMode,
pageUrl: options.pageUrl,
panel: options.panel,
source: options.source,
tabOrderby: options.tabOrderby,
append: true
});
requestHomepagePanel(panel, {
termId: options.termId,
page: options.page + 1,
perPage: options.perPage,
sort: options.sort,
viewMode: options.viewMode,
panel: options.panel,
tabOrderby: options.tabOrderby,
append: true
});
});
footer.appendChild(button);
panel.appendChild(footer);
@@ -293,33 +255,30 @@
* 4. aksrt:posts:rendered (after lazyload rebind)
*/
function requestHomepagePanel(panel, requestOptions) {
var options = {
termId: requestOptions.termId || 0,
page: requestOptions.page || 1,
perPage: requestOptions.perPage || getHomepagePerPage(panel),
sort: requestOptions.sort || getDefaultSort(),
viewMode: requestOptions.viewMode || getDefaultView(),
pageUrl: requestOptions.pageUrl || window.location.href,
panel: requestOptions.panel || panel.getAttribute('data-home-tab-panel') || 'latest',
source: requestOptions.source || getPanelSource(panel),
tabOrderby: requestOptions.tabOrderby || getPanelTabOrderby(panel) || '',
append: requestOptions.append === true
};
var options = {
termId: requestOptions.termId || 0,
page: requestOptions.page || 1,
perPage: requestOptions.perPage || getHomepagePerPage(panel),
sort: requestOptions.sort || getDefaultSort(),
viewMode: requestOptions.viewMode || getDefaultView(),
panel: requestOptions.panel || panel.getAttribute('data-home-tab-panel') || 'latest',
tabOrderby: requestOptions.tabOrderby || getPanelTabOrderby(panel) || '',
append: requestOptions.append === true
};
var restUrl = buildRestUrl(options);
var retryCount = 0;
var maxRetries = 1;
// 1. Pre-request event
dispatchBeforeEvent(panel, {
termId: options.termId,
page: options.page,
sort: options.sort,
viewMode: options.viewMode,
panel: options.panel,
source: options.source,
url: restUrl
});
dispatchBeforeEvent(panel, {
termId: options.termId,
page: options.page,
sort: options.sort,
viewMode: options.viewMode,
panel: options.panel,
url: restUrl
});
// Full refreshes replace the panel; append requests keep existing cards.
if (!options.append) {
@@ -365,11 +324,10 @@
dispatchAfterEvent(panel, {
termId: options.termId,
page: options.page,
sort: options.sort,
viewMode: options.viewMode,
panel: options.panel,
source: options.source,
total: data.total || 0,
sort: options.sort,
viewMode: options.viewMode,
panel: options.panel,
total: data.total || 0,
hasMore: !!data.has_more
});
@@ -393,7 +351,6 @@
sort: options.sort,
viewMode: options.viewMode,
panel: options.panel,
source: options.source,
total: 0,
hasMore: false
});
@@ -477,9 +434,8 @@
perPage: getHomepagePerPage(panel),
sort: currentSort,
viewMode: viewMode,
panel: target,
source: 'home',
tabOrderby: tabOrderby
panel: target,
tabOrderby: tabOrderby
});
}
}
@@ -600,7 +556,7 @@
function initSortbar() {
document.querySelectorAll('.aksrt-homepage__stream').forEach(function (stream) {
var sortbar = stream.querySelector('.aksrt-homepage__sortbar');
if (!sortbar || !isSortAjaxEnabled(sortbar)) return;
if (!sortbar) return;
sortbar.addEventListener('click', function (event) {
var link = event.target.closest('.aksrt-homepage__sortbar-link, .aksrt-homepage__sortbar-dropdown-item');
@@ -612,17 +568,15 @@
event.preventDefault();
setActiveSortLink(sortbar, sort);
replaceUrlSort(sort);
setActiveSortLink(sortbar, sort);
requestHomepagePanel(activePanel, {
requestHomepagePanel(activePanel, {
termId: termId,
page: 1,
perPage: getHomepagePerPage(activePanel),
sort: sort,
viewMode: getStreamViewMode(stream),
panel: activePanel.getAttribute('data-home-tab-panel') || 'latest',
source: 'home'
});
});
});
+2 -2
View File
@@ -81,7 +81,7 @@
html += '<strong class="aksrt-order-detail__hero-amount">' + formatMoney(order) + "</strong></div>";
html += '<div class="aksrt-order-detail__product">';
html += image
? '<img' + window.aksrtGetLazyImageAttr('lazy_posts_thumb', image, 'aksrt-order-detail__thumb') + ' alt="">'
? '<img src="' + escapeHtml(image) + '" class="aksrt-order-detail__thumb" alt="">'
: '<span class="aksrt-order-detail__thumb aksrt-order-detail__thumb--empty"><i class="fa fas fa-book"></i></span>';
html += '<div><strong class="aksrt-order-detail__product-title">' + escapeHtml(title) + "</strong>";
html += '<span class="aksrt-order-detail__product-meta">' + escapeHtml(order.product_type_label || "") + "</span></div></div>";
@@ -179,7 +179,7 @@
function cardHtml(order) {
var image = order.image
? '<img' + window.aksrtGetLazyImageAttr('lazy_posts_thumb', order.image, 'aksrt-orders-page__card-img') + ' alt="">'
? '<img src="' + escapeHtml(order.image) + '" class="aksrt-orders-page__card-img" alt="">'
: '<div class="aksrt-orders-page__card-art" aria-hidden="true"><i class="fa fas fa-book"></i></div>';
var countdown = Number(order.time_left || 0) > 0
? '<span class="aksrt-orders-page__countdown" data-aksrt-order-countdown="' + Number(order.time_left) + '"></span>'
+1 -1
View File
@@ -288,7 +288,7 @@
items.forEach(function (item) {
html += '<a class="aksrt-doc-index-card" href="' + this.escHtml(item.url) + '" data-cat-id="' + (item.cat_id || 0) + '">';
if (item.thumbnail) {
html += '<img' + window.aksrtGetLazyImageAttr('lazy_other', item.thumbnail, 'aksrt-doc-index-card__thumb') + ' alt="">';
html += '<img src="' + this.escHtml(item.thumbnail) + '" class="aksrt-doc-index-card__thumb" alt="">';
}
html += '<div class="aksrt-doc-index-card__body">';
html += '<h3 class="aksrt-doc-index-card__title">' + this.escHtml(item.title) + '</h3>';
+9 -5
View File
@@ -17,10 +17,14 @@
return el;
}
function lazyImage(key, src, className, size) {
var template = document.createElement("template");
template.innerHTML = "<img" + window.aksrtGetLazyImageAttr(key, src, className, size) + ' alt="" decoding="async">';
return template.content.firstElementChild;
function imageNode(src, className) {
if (!src) return null;
var image = document.createElement("img");
image.className = className || "";
image.src = text(src);
image.alt = "";
image.decoding = "async";
return image;
}
function append(parent, child) {
@@ -312,7 +316,7 @@
var levelInfo = levels[String(level)] || {};
var levelHeader = node("div", "aksrt-vip-level-header");
if (levelInfo.img_icon) {
var levelIcon = lazyImage("lazy_other", text(levelInfo.img_icon), "aksrt-vip-level-icon");
var levelIcon = imageNode(text(levelInfo.img_icon), "aksrt-vip-level-icon");
append(levelHeader, levelIcon);
}
append(levelHeader, node("div", "v-name font-bold", group.name || levelInfo.name || "VIP" + level));
+19 -8
View File
@@ -42,8 +42,10 @@
/* ==================== Dashboard 导航 ==================== */
function initDashboardNavigation() {
if (document.documentElement.dataset.aksrtUserCenterNavigationInitialized === 'true') return;
var tabContainer = document.querySelector('.uc-mobile-tabs');
if (!tabContainer) return;
document.documentElement.dataset.aksrtUserCenterNavigationInitialized = 'true';
var tabs = tabContainer.querySelectorAll('[data-tab]');
var sidebarBtns = document.querySelectorAll('.uc-sidebar [data-tab]');
@@ -107,6 +109,7 @@
if (name === 'revenue') allowedParams = ['reward_tab', 'commission_page', 'user_page'];
if (name === 'posts') allowedParams = ['post_status', 'posts_page'];
if (name === 'follow') allowedParams = ['follow_list', 'follow_page'];
if (name === 'credits') allowedParams = ['asset', 'page'];
allowedParams.forEach(function(key) {
if (params.get(key)) url += (url.indexOf('?') === -1 ? '?' : '&') + key + '=' + encodeURIComponent(params.get(key));
});
@@ -166,8 +169,6 @@
function activate(name, updateHistory, forceLoad, queryParams) {
if (!panels[name]) name = defaultTab;
// VIP membership may change outside this page, so never reuse stale HTML.
if (name === 'vip' && !forceLoad) forceLoad = true;
return loadPanel(name, forceLoad, queryParams).then(function() {
switchTo(name);
if (updateHistory) updateUrl(name);
@@ -187,11 +188,11 @@
return tabAliases[name] || name;
}
function updateUrl(name, sourceUrl) {
if (!window.history.replaceState) return;
function updateUrl(name, sourceUrl) {
if (!window.history.pushState) return;
var pathTab = name === 'credits' ? 'balance' : name;
var u = new URL('/user/' + pathTab + '/', window.location.origin);
if (sourceUrl && name !== 'revenue' && name !== 'orders') {
if (sourceUrl && name !== 'revenue' && name !== 'orders' && name !== 'credits') {
var source = new URL(sourceUrl, window.location.href);
source.searchParams.forEach(function(value, key) { u.searchParams.set(key, value); });
}
@@ -249,8 +250,8 @@
name = tabAliases[name] || name;
if (!name || !panels[name]) return;
e.preventDefault();
var hasQuery = url.search !== '';
activate(name, false, hasQuery, url.searchParams).then(function() { updateUrl(name, url.href); });
var hasQuery = url.search !== '' && name !== 'credits';
activate(name, false, hasQuery, name === 'credits' ? null : url.searchParams).then(function() { updateUrl(name, name === 'credits' ? '' : url.href); });
}, true);
var creatorPanel = panels.creator ? panels.creator.panel : null;
if (creatorPanel) {
@@ -269,11 +270,21 @@
});
}
window.addEventListener('popstate', function() {
activate(tabFromUrl(), false, window.location.search !== '', new URLSearchParams(window.location.search));
var current = new URL(window.location.href);
['wallet_page', 'credits_page', 'asset', 'page'].forEach(function (key) { current.searchParams.delete(key); });
if (current.href !== window.location.href && window.history.replaceState) {
window.history.replaceState({}, '', current.pathname + current.search + current.hash);
}
activate(tabFromUrl(), false, false, null);
});
if (drawerTrigger) drawerTrigger.addEventListener('click', openDrawer);
if (drawerOverlay) drawerOverlay.addEventListener('click', closeDrawer);
var initialTab = tabFromUrl();
if (initialTab === 'credits' && window.history && window.history.replaceState) {
var cleanUrl = new URL(window.location.href);
['wallet_page', 'credits_page', 'asset', 'page'].forEach(function (key) { cleanUrl.searchParams.delete(key); });
window.history.replaceState({}, '', cleanUrl.pathname + cleanUrl.search + cleanUrl.hash);
}
if (initialTab === 'orders' && window.location.search && window.history.replaceState) {
window.history.replaceState({}, '', window.location.pathname + window.location.hash);
}
-15
View File
@@ -2258,21 +2258,6 @@ _win.bd.on('click', '[data-toggle="RefreshModal"]', function (e) {
return false;
});
_win.bd.on('click', '.show-order-modal', function (e) {
e.preventDefault();
var _this = jQuery(this);
var order_id = _this.attr('data-order-id');
var is_new = _this.attr('new-modal');
refresh_modal({
class: 'full-sm body-bg',
height: 420,
mobile_from_bottom: true,
touch_close: true,
new: is_new,
remote: _win.ajax_url + '?action=order_details_modal&order_id=' + order_id,
});
});
/**
* 刷新模态框
* @param {object} _config
+1 -1
View File
@@ -1 +1 @@
(function($,window2,document2){"use strict";function closeNotyf($element){$element.addClass("notyn-out"),window2.setTimeout(function(){$element.remove()},1e3)}function notyf2(message,type,time,id){var $body=jQuery(document2.body);jQuery(".notyn").length||$body.append('<div class="notyn"></div>'),type=type||"success",type==="error"&&(type="danger"),time=time||5e3,time=time<100?time*1e3:time;var idAttribute=id?' id="'+id+'"':"",$notification=jQuery('<div class="noty1"'+idAttribute+'><div class="notyf '+type+'">'+message+"</div></div>"),shouldClose=!id;id&&jQuery("#"+id).length?(jQuery("#"+id).find(".notyf").removeClass().addClass("notyf "+type).html(message),$notification=jQuery("#"+id),shouldClose=!0):jQuery(".notyn").append($notification),shouldClose&&window2.setTimeout(function(){closeNotyf($notification)},time)}jQuery(document2.body).on("click",".noty1",function(){closeNotyf(jQuery(this))}),window2.notyf=notyf2})(jQuery,window,document),(function(window2){"use strict";var allowedKinds={identity:!0,badges:!0,orders:!0,vip:!0},allowedEvents={click:!0,shell:!0,"first-content":!0,ready:!0,"action-start":!0,"action-end":!0,unauthorized:!0,error:!0},sessions=Object.create(null),sequence=0,maxSessions=100;function normalize(value,fallback){var normalized=String(value||fallback||"").toLowerCase().replace(/[^a-z0-9-]/g,"");return normalized||fallback}function now(){return window2.performance&&typeof window2.performance.now=="function"?window2.performance.now():0}function markName(session,event){return"aksrt-modal-"+session.kind+"-"+session.id+"-"+event}function emit(session,event){if(!(!window2.performance||typeof window2.performance.mark!="function")){var name=markName(session,event);if(window2.performance.mark(name),session.marks[event]=name,typeof window2.performance.measure=="function"&&session.marks.click&&event!=="click")try{window2.performance.measure("aksrt-modal-"+session.kind+"-"+session.id+"-click-to-"+event,session.marks.click,name)}catch{}}}function start(kind){var safeKind=normalize(kind,"unknown");allowedKinds[safeKind]||(safeKind="unknown"),sequence+=1;var id=String(sequence),session={id,kind:safeKind,startedAt:now(),marks:Object.create(null)};sessions[id]=session,emit(session,"click");for(var ids=Object.keys(sessions);ids.length>maxSessions;)delete sessions[ids.shift()];return id}function mark(id,event){var session=sessions[String(id||"")],safeEvent=normalize(event,"error");!session||!allowedEvents[safeEvent]||emit(session,safeEvent)}function finish(id){mark(id,"ready")}function fail(id){mark(id,"error")}window2.AksrtModalTelemetry={start,mark,finish,error:fail}})(window),(function(window2){"use strict";function data(){return window2.aksrtData||window2.aksrt||{}}function createIdempotencyKey(){if(window2.crypto&&typeof window2.crypto.randomUUID=="function")return window2.crypto.randomUUID();if(!window2.crypto||typeof window2.crypto.getRandomValues!="function")throw new Error("当前浏览器无法生成安全的操作标识");var bytes=new Uint8Array(16);window2.crypto.getRandomValues(bytes),bytes[6]=bytes[6]&15|64,bytes[8]=bytes[8]&63|128;var hex=Array.prototype.map.call(bytes,function(value){return value.toString(16).padStart(2,"0")}).join("");return hex.slice(0,8)+"-"+hex.slice(8,12)+"-"+hex.slice(12,16)+"-"+hex.slice(16,20)+"-"+hex.slice(20)}function restBase(){var config=data(),raw=config.restUrl||config.apiUrl||config.rest_url||"",siteUrl=config.siteUrl||config.homeUrl||window2.location.origin+"/";return window2.location.protocol==="https:"&&siteUrl.substring(0,5)==="http:"&&(siteUrl="https:"+siteUrl.substring(5)),raw?String(raw).replace(/\/$/,""):String(siteUrl).replace(/\/$/,"")+"/index.php?rest_route=/aksrt/v1"}function appendQuery(url2,query){if(!query)return url2;var parts=[];return typeof query=="string"?parts=query.replace(/^\?/,"").split("&").filter(Boolean):typeof query=="object"&&Object.keys(query).forEach(function(key){query[key]===void 0||query[key]===null||parts.push(encodeURIComponent(key)+"="+encodeURIComponent(String(query[key])))}),parts.length?url2+(url2.indexOf("?")>=0?"&":"?")+parts.join("&"):url2}function url(path,query){path=String(path||"");var inlineQuery="",queryIndex=path.indexOf("?");if(queryIndex>=0&&(inlineQuery=path.slice(queryIndex+1),path=path.slice(0,queryIndex)),/^https?:\/\//i.test(path))return appendQuery(path,query||inlineQuery);path.charAt(0)!=="/"&&(path="/"+path);var base=restBase(),result=(base.indexOf("rest_route=")>=0,base+path);return appendQuery(result,query||inlineQuery)}function headers(options){var config=data(),source=options&&options.headers||{},result={},nonce=config.restNonce||config.nonce||"";return Object.keys(source).forEach(function(key){result[key]=source[key]}),result.Accept||(result.Accept="application/json, text/html;q=0.9, */*;q=0.8"),nonce&&!result["X-WP-Nonce"]&&(result["X-WP-Nonce"]=nonce),options&&options.body!==void 0&&options.body!==null&&!(window2.FormData&&options.body instanceof window2.FormData)&&!result["Content-Type"]&Line truncated
(function($,window2,document2){"use strict";function closeNotyf($element){$element.addClass("notyn-out"),window2.setTimeout(function(){$element.remove()},1e3)}function notyf2(message,type,time,id){var $body=jQuery(document2.body);jQuery(".notyn").length||$body.append('<div class="notyn"></div>'),type=type||"success",type==="error"&&(type="danger"),time=time||5e3,time=time<100?time*1e3:time;var idAttribute=id?' id="'+id+'"':"",$notification=jQuery('<div class="noty1"'+idAttribute+'><div class="notyf '+type+'">'+message+"</div></div>"),shouldClose=!id;id&&jQuery("#"+id).length?(jQuery("#"+id).find(".notyf").removeClass().addClass("notyf "+type).html(message),$notification=jQuery("#"+id),shouldClose=!0):jQuery(".notyn").append($notification),shouldClose&&window2.setTimeout(function(){closeNotyf($notification)},time)}jQuery(document2.body).on("click",".noty1",function(){closeNotyf(jQuery(this))}),window2.notyf=notyf2})(jQuery,window,document),(function(window2){"use strict";var allowedKinds={identity:!0,badges:!0,orders:!0,vip:!0},allowedEvents={click:!0,shell:!0,"first-content":!0,ready:!0,"action-start":!0,"action-end":!0,unauthorized:!0,error:!0},sessions=Object.create(null),sequence=0,maxSessions=100;function normalize(value,fallback){var normalized=String(value||fallback||"").toLowerCase().replace(/[^a-z0-9-]/g,"");return normalized||fallback}function now(){return window2.performance&&typeof window2.performance.now=="function"?window2.performance.now():0}function markName(session,event){return"aksrt-modal-"+session.kind+"-"+session.id+"-"+event}function emit(session,event){if(!(!window2.performance||typeof window2.performance.mark!="function")){var name=markName(session,event);if(window2.performance.mark(name),session.marks[event]=name,typeof window2.performance.measure=="function"&&session.marks.click&&event!=="click")try{window2.performance.measure("aksrt-modal-"+session.kind+"-"+session.id+"-click-to-"+event,session.marks.click,name)}catch{}}}function start(kind){var safeKind=normalize(kind,"unknown");allowedKinds[safeKind]||(safeKind="unknown"),sequence+=1;var id=String(sequence),session={id,kind:safeKind,startedAt:now(),marks:Object.create(null)};sessions[id]=session,emit(session,"click");for(var ids=Object.keys(sessions);ids.length>maxSessions;)delete sessions[ids.shift()];return id}function mark(id,event){var session=sessions[String(id||"")],safeEvent=normalize(event,"error");!session||!allowedEvents[safeEvent]||emit(session,safeEvent)}function finish(id){mark(id,"ready")}function fail(id){mark(id,"error")}window2.AksrtModalTelemetry={start,mark,finish,error:fail}})(window),(function(window2){"use strict";function data(){return window2.aksrtData||window2.aksrt||{}}function createIdempotencyKey(){if(window2.crypto&&typeof window2.crypto.randomUUID=="function")return window2.crypto.randomUUID();if(!window2.crypto||typeof window2.crypto.getRandomValues!="function")throw new Error("当前浏览器无法生成安全的操作标识");var bytes=new Uint8Array(16);window2.crypto.getRandomValues(bytes),bytes[6]=bytes[6]&15|64,bytes[8]=bytes[8]&63|128;var hex=Array.prototype.map.call(bytes,function(value){return value.toString(16).padStart(2,"0")}).join("");return hex.slice(0,8)+"-"+hex.slice(8,12)+"-"+hex.slice(12,16)+"-"+hex.slice(16,20)+"-"+hex.slice(20)}function restBase(){var config=data(),raw=config.restUrl||config.apiUrl||config.rest_url||"",siteUrl=config.siteUrl||config.homeUrl||window2.location.origin+"/";return window2.location.protocol==="https:"&&siteUrl.substring(0,5)==="http:"&&(siteUrl="https:"+siteUrl.substring(5)),raw?String(raw).replace(/\/$/,""):String(siteUrl).replace(/\/$/,"")+"/index.php?rest_route=/aksrt/v1"}function appendQuery(url2,query){if(!query)return url2;var parts=[];return typeof query=="string"?parts=query.replace(/^\?/,"").split("&").filter(Boolean):typeof query=="object"&&Object.keys(query).forEach(function(key){query[key]===void 0||query[key]===null||parts.push(encodeURIComponent(key)+"="+encodeURIComponent(String(query[key])))}),parts.length?url2+(url2.indexOf("?")>=0?"&":"?")+parts.join("&"):url2}function url(path,query){path=String(path||"");var inlineQuery="",queryIndex=path.indexOf("?");if(queryIndex>=0&&(inlineQuery=path.slice(queryIndex+1),path=path.slice(0,queryIndex)),/^https?:\/\//i.test(path))return appendQuery(path,query||inlineQuery);path.charAt(0)!=="/"&&(path="/"+path);var base=restBase(),result=(base.indexOf("rest_route=")>=0,base+path);return appendQuery(result,query||inlineQuery)}function headers(options){var config=data(),source=options&&options.headers||{},result={},nonce=config.restNonce||config.nonce||"";return Object.keys(source).forEach(function(key){result[key]=source[key]}),result.Accept||(result.Accept="application/json, text/html;q=0.9, */*;q=0.8"),nonce&&!result["X-WP-Nonce"]&&(result["X-WP-Nonce"]=nonce),options&&options.body!==void 0&&options.body!==null&&!(window2.FormData&&options.body instanceof window2.FormData)&&!result["Content-Type"]&Line truncated