店小秘-列表显示全部🛠
// ==UserScript==
// @name 店小秘-列表显示全部🛠
// @namespace Violentmonkey Scripts
// @license MIT
// @run-at document-end
// @match https://www.dianxiaomi.com/darazProduct/*
// @match https://www.dianxiaomi.com/smtProduct/*
// @match https://www.dianxiaomi.com/shopifyProduct/*
// @match https://www.dianxiaomi.com/web/smt/smtProductList/*
// @match https://www.dianxiaomi.com/crawl/index.htm*
// @grant GM_xmlhttpRequest
// @require https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js
// @require https://scriptcat.org/lib/3085/0.0.4.5.1/%E9%80%9A%E7%94%A8%E5%87%BD%E6%95%B0.js
// @require https://scriptcat.org/lib/567/1.0.3/Hook%20Vue3%20app.js
// @version 1.1.2
// @author -
// @description 2024/10/29 10:56
// ==/UserScript==
var _url_ = new URL(window.location.href)
const pushBnt = function(){
const bnt = $(`<li class='showall'><a href="javascript:;">显示全部</a></li>`);
const new_bnt = $('<a class="showall" style="margin-right: 1rem;" href="javascript:;">显示全部 </a>')
isnew = _url_.pathname.split('/')[1] === 'web';
if (isnew){
//新版
new_bnt.off().on("click",async function(){
$("#app").prop("__vue_app__").config.globalProperties.$pinia.state.value.global.isLoading = true;
const page_info = $('.nav-index').prop("__vue__").provides[Object.getOwnPropertySymbols($('.nav-index').prop("__vue__").provides)[0]]
switch(_url_.pathname.split('/')[3]){
case 'smtProductList':
url = "https://www.dianxiaomi.com/api/smtProduct/pageList.json"
var data = {
pageNo: 1,
pageSize: 300,
searchType: $("[for='searchForm_searchContent.searchType']").closest('.search-form-item').prop("__vue__")[1].props.modelValue.searchContent.searchType,
searchValue: $("[for='searchForm_searchContent.searchType']").closest('.search-form-item').prop("__vue__")[1].props.modelValue.searchContent.searchValue,
shopId: page_info.cacheShopId.value || "-1",
dxmState: page_info.currentDxmState.value || "",
dxmOfflineState: page_info.currentDxmOfflineState.value || "",
sortValue: $("[for='searchForm_searchContent.searchType']").closest('.search-form-item').prop("__vue__")[1].props.modelValue.sortField === "desc" ? '2': '1',
sortName: $("[for='searchForm_searchContent.searchType']").closest('.search-form-item').prop("__vue__")[1].props.modelValue.sortName,
}
$(".ant-tabs-top").length > 0 ? (data.productStatusType = $(".ant-tabs-top").prop("__vue__")[1].props.activeKey):(void 0)
console.log(data);
}
const book = await tool.getTotalPage(url,data,-1,'POST','json');
var items = [];
$.each(book,function(){
items = items.concat(this.data.page.list)
});
$(".gridTableBox > .vxe-grid").prop("__vue__").props.data = items;
$("#app").prop("__vue_app__").config.globalProperties.$pinia.state.value.global.isLoading = false;
});
if(!$(".showall").length){
$(".vxe-pager.d-grid-pager > .vxe-pager--wrapper").prepend(new_bnt);
}
}else{
//旧版
const _$ = unsafeWindow.$;
bnt.on("click",async function(){
_$('#loading').modal('show');
pathname = _url_.pathname.split('/')[1];
switch (pathname){
case 'darazProduct':
url = "https://www.dianxiaomi.com/darazProduct/pageList.htm"
var data = DARAZ_PRODUCT_LIST.searchFn.getSearchData();
var container = "#darazPageList > tbody"
var items = "#darazPageList > tbody > tr.content"
break;
case 'smtProduct':
url = "https://www.dianxiaomi.com/smtProduct/pageList.htm"
var data = smtPageListSearchData();
var container = "#goodsContent tbody.xianshishujudate"
var items = "#goodsContent tr.content"
break;
case 'shopifyProduct':
url = "https://www.dianxiaomi.com/shopifyProduct/pageList.htm"
var data = getSearchParams();
var container = "#shopifySysMsg"
var items = "#shopifySysMsg tr.content[data-id]"
break;
case 'crawl':
var isBanjia = !!(_$("#banjiaDiv li.in-active").length && !_$("#caijiDiv li.in-active").length);
if(isBanjia){
var url = `https://www.dianxiaomi.com/_${unsafeWindow.url}`;
data = getParaments();
}else{
url = 'https://www.dianxiaomi.com/crawl/list.htm'
var remarkType = _$.trim(_$('#comment').val()),
remarkContent = _$.trim(_$('#comments').val());
data= {
pageNo: 1,
pageSize: '300',
state: _$('ul.ulBtn2').find('li.in-active').attr('name'),
site: _$('#searchCategory .dataSource').find('a.in-active').data('value'),
searchValue: _$('#searchValue').val(),
productSearchType: _$('#productSearchType').val(),
sortTime: _$('#sortTime').val(),
accountName: _$('#accountName').val(),
commentType: remarkType,
commentValue: +remarkType === 1 ? remarkContent : ''
}
}
var container = "table[cid='productList'] tbody.xianshishujudate"
var items = "table[cid='productList'] tbody.xianshishujudate > tr.content"
default:
break;
}
data.pageSize = '300';
data.pageNo = 1;
let book = await tool.getTotalPage(url,data,-1,'POST');
pages = _$("<root></root>").append(book[0]);
for (var i = 1;i<book.length;i++){
page = _$("<root></root>").append(book[i]);
pages.find(container).append(
page.find(items)
);
}
var html = pages.find(" > *").map(function(){return this.outerHTML}).toArray().join("");
_$('#pageList').html(html);
_$('#loading').modal('hide');
});
var hasList = !!$("#pageList");
if(hasList && !$(".showall").length){
$("#upPage:has(*),#downPage:has(*)").append(bnt);
}
}
}
window.onload = function(){
pushBnt();
isnew = _url_.pathname.split('/')[1] === 'web';
if(isnew){
//新版
unsafeWindow.$ = $;
setInterval(pushBnt,1000);
}else{
const MYJ_PAGINATION_init_HOOK = unsafeWindow.MYJ_PAGINATION.init;
unsafeWindow.MYJ_PAGINATION.init = function(option,id,call){
MYJ_PAGINATION_init_HOOK(option,id,call);
pushBnt();
}
}
}