// ==UserScript==
// @name 抖音小店订单管理3.0
// @namespace 大师兄
// @match *://fxg.jinritemai.com/ffa/morder/order/list
// @date 05/27/2021
// @updateURL/@installURL/@downloadURL
// @version 3.0
// @author 大师兄 [email protected]
// @description 方便抖音订单查看,需要打开抖音订单管理界面才生效。
// @note 2.5 @updateURL/@installURL/@downloadURL https://gf.qytechs.cn/zh-CN/scripts/431480
// @require https://code.jquery.com/jquery-3.6.0.min.js
// @icon https://mms0.baidu.com/it/u=685985501,228922170&fm=27&gp=0.jpg&fmt=auto
// @grant none
// ==/UserScript==
(function() {
"use strict";
var dsx = {
formatDate: function(data) {
//时间戳转格式
let timestamp = new Date(data * 1000);
let year = timestamp.getFullYear();
let month = timestamp.getMonth() + 1;
let date = timestamp.getDate();
let hour = timestamp.getHours();
let minute = timestamp.getMinutes();
let second = timestamp.getSeconds();
return (year + "-" + th(month) + "-" + th(date) + " " + th(hour) + ":" + th(minute) + ":" + th(second));
function th(num) {
return num < 10 ? "0" + num : num;
}
},
Toast: function(msg, duration) {
duration = isNaN(duration) ? 3000 : duration;
let m = document.createElement('div');
m.innerHTML = msg;
m.style.cssText = "max-width:60%;min-width: 150px;padding:0 14px;height: 40px;color: rgb(255, 255, 255);line-height: 40px;text-align: center;border-radius: 4px;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 999999;background: rgba(0, 0, 0,.7);font-size: 16px;";
document.body.appendChild(m);
setTimeout(function() {
let d = 0.5;
m.style.webkitTransition = '-webkit-transform ' + d + 's ease-in, opacity ' + d + 's ease-in';
m.style.opacity = '0';
setTimeout(function() {
document.body.removeChild(m)
},d * 1000);
},duration);
},
tianjiawangluojianting:function (callback) {
window.addEventListener('ajaxReadyStateChange', function(e){
//console.log(e.detail, e.detail._byted_method, e.detail.responseURL, e.detail.responseText, e.detail._data); // XMLHttpRequest Object
if(e.detail.readyState == 4 && e.detail.status >= 200 && e.detail.status < 300){
if(e.detail.responseURL.indexOf("/fxg.jinritemai.com/api/order/searchlist?tab=all") != -1){
let obj = JSON.parse(e.detail.responseText);
console.log("监听到的数据是:",obj);
//dsx.chulishuju(obj);
callback(obj);
};
}
});
},
tiqushuju:function(obj,i) {
let kehunicheng = obj.data[i].user_nickname;
let dingdanjine = obj.data[i].pay_amount / 100;
let dingdanzhuangtai = obj.data[i].order_status_info.order_status_text;
let xiadanshijian = this.formatDate(obj.data[i].create_time);
let dingdanbianhao = obj.data[i].shop_order_id;
let lianjiebiaoti = obj.data[i].product_item[0].product_name;
let kehushoujianren = obj.data[i].receiver_info.post_receiver;
let shoujihao = obj.data[i].receiver_info.post_tel;
let dizhi = obj.data[i].receiver_info.post_addr.province.name + obj.data[i].receiver_info.post_addr.city.name + obj.data[i].receiver_info.post_addr.town.name + obj.data[i].receiver_info.post_addr.street.name;
let daihuodaren = obj.data[i].product_item[0].properties[2].text;
return [kehunicheng,dingdanjine,dingdanzhuangtai,xiadanshijian,dingdanbianhao,lianjiebiaoti,kehushoujianren,shoujihao,dizhi,daihuodaren];
},
chulishuju : function(obj) {
//console.log("表格行数",$("#dashixiongtable tr").length);
if($("#dashixiongtable tr").length > 6){this.tianjiashuju(obj);return};
let kehunicheng = "";
let xiadanshijian = "";
let da_shop_order_id = "";
for (let i = 0; i < obj.data.length; i++) {
let d = this.tiqushuju(obj,i)
$("#dashixiongtable_tbody").append(this.biaoge_html(obj.data.length - i,d[0],d[1],d[2],d[3],d[4],d[8]));
}
if ($("#dashixiong-caidan").outerHeight() > $(window).height() - 20) {
$("#dashixiong-caidan").height($(window).height() - 50);
}
},
biaoge_html : function(xuhao, kehunicheng, dingdanjine, dingdanzhuangtai, xiadanshijian, dingdanbianhao, lianjiebiaoti) {
return '<tr class="hangneirong"><td class="xuhao">' + xuhao + '</td><td class="kehunicheng">' + kehunicheng + '</td><td class="dingdanjine">' + dingdanjine + '</td><td class="dingdanzhuangtai">' + dingdanzhuangtai + '</td><td class="xiadanshijian">' + xiadanshijian + '</td><td class="lianjiebiaoti">' + lianjiebiaoti + '</td><td class="dingdanbianhao">' + dingdanbianhao + "</td></tr>"
},
tianjiashuju : function(obj) {
//console.log("1");
// $("tr").remove(".hangneirong");
let kehunicheng = "";
let xiadanshijian;
let da_shop_order_id;
var dashixiong_str = "";
let biaoge_diyige_shijiancuo = Number(Date.parse(new Date($(".hangneirong:eq(0) .xiadanshijian").text()))) / 1000;
let biaoge_hangshu = Number(Date.parse(new Date($(".hangneirong:eq(0) .xuhao").text())));
for (let i = 0; i < obj.data.length; i++) {
xiadanshijian = this.formatDate(obj.data[i].create_time);
da_shop_order_id = obj.data[i].shop_order_id;
if (obj.data[i].create_time > biaoge_diyige_shijiancuo) {
kehunicheng = obj.data[i].user_nickname;
dashixiong_str += this.biaoge_html(i + 1, kehunicheng, obj.data[i].pay_amount / 100, obj.data[i].order_status_info.order_status_text, xiadanshijian, da_shop_order_id, obj.data[i].product_item[0].product_name);
} else {
$('#dashixiongtable_tbody tr .dingdanbianhao:contains(' + da_shop_order_id + ')').siblings('.dingdanzhuangtai').text(obj.data[i].order_status_info.order_status_text);
$('#dashixiongtable_tbody tr .dingdanbianhao:contains(' + da_shop_order_id + ')').siblings('.dingdanjine').text(obj.data[i].pay_amount / 100);
};
}
// console.log(dashixiong_str);
$("#dashixiongtable_tbody").prepend(dashixiong_str);
//重新写序号
let len = $('#dashixiongtable_tbody tr').length;
for (let i = 0; i < len; i++) {
$('#dashixiongtable_tbody tr:eq(' + i + ') td:first').text(len - i);
}
if ($("#dashixiong-caidan").outerHeight() > $(window).height() - 20) {
$("#dashixiong-caidan").height($(window).height() - 50);
}
this.Toast("更新完毕", 1000);
},
addhtml:function(){
let a = `
<div id="dashixiong-main">
<div id="dashixiong-main-div"></div>
<div id="dashixiong-caidan">
<table id="dashixiongtable">
<thead>
<tr>
<th class="xuhao">序号</th>
<th class="kehunicheng">用户昵称</th>
<th class="dingdanzhuangtai">订单金额</th>
<th class="dingdanzhuangtai">订单状态</th>
<th class="xiadanshijian">下单时间</th>
<th class="lianjiebiaoti">链接标题</th>
<th class="dingdanbianhao">订单编号</th></tr>
</thead>
<tbody id="dashixiongtable_tbody"></tbody>
</table>
</div>
</div>
`;
$("body").eq(0).prepend(a);},
addcss:function(){
let a = `<style>
#dashixiong-caidan {
position: fixed;
top: 10px;
right: 0px;
text-align: left;
z-index: 9998;
/*z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。*/
cursor: pointer;
margin-top: 4px;
line-height: 34px;
display: inline-block;
border-radius: 15px;
/*盒子圆弧角*/
background-color: rgba(255, 255, 255, 1);
color: #000;
font-size: 15px;
padding: 15px 25px;
width: 600px;
overflow-x: auto;
/*overflow-y: auto;*/
}
#dashixiongtable {
display: block;
width: 100%;
height: 600px;
text-align: center;
vertical-align: center;
white-space: nowrap;
/*-webkit-overflow-scrolling: touch; 移动端手指滚动更流畅*/
}
#dashixiongtable_tbody {
overflow-y: auto;
}
/* #dashixiongtable_tbody:hover{overflow-y:auto;} */
#dashixiongtable tr {
/* height: 20px; */
}
#dashixiongtable td,#dashixiongtable th {
padding: 1px 2px;
border: 1px solid #000;
border-collapse: collapse;
/*合并边框*/
}
#dashixiongtable tr:hover {
background-color: #f0f0f0;
}
/* 悬浮标 */
#dashixiong-main-div {
position: fixed;
top: 60px;
right: 10px;
text-align: center;
z-index: 9999;
cursor: pointer;
vertical-align: middle;
margin-top: 4px;
height: 34px;
width: 34px;
line-height: 34px;
display: inline-block;
border-radius: 50px;
background-color: rgba(0, 0, 0, 0.5);
}
.dashixiong {
color: #880000;
font-size: 23px;
}
</style>`;
$("body").eq(0).prepend(a);
},
addscript:function(){
let a = `
<script>
(function () {
function ajaxEventTrigger(event) {
var ajaxEvent = new CustomEvent(event, { detail: this });
window.dispatchEvent(ajaxEvent);
}
var oldXHR = window.XMLHttpRequest;
function newXHR() {
var realXHR = new oldXHR();
realXHR.addEventListener('abort', function () { ajaxEventTrigger.call(this, 'ajaxAbort'); }, false);
realXHR.addEventListener('error', function () { ajaxEventTrigger.call(this, 'ajaxError'); }, false);
realXHR.addEventListener('load', function () { ajaxEventTrigger.call(this, 'ajaxLoad'); }, false);
realXHR.addEventListener('loadstart', function () { ajaxEventTrigger.call(this, 'ajaxLoadStart'); }, false);
realXHR.addEventListener('progress', function () { ajaxEventTrigger.call(this, 'ajaxProgress'); }, false);
realXHR.addEventListener('timeout', function () { ajaxEventTrigger.call(this, 'ajaxTimeout'); }, false);
realXHR.addEventListener('loadend', function () { ajaxEventTrigger.call(this, 'ajaxLoadEnd'); }, false);
realXHR.addEventListener('readystatechange', function() { ajaxEventTrigger.call(this, 'ajaxReadyStateChange'); }, false);
return realXHR;
};
window.XMLHttpRequest = newXHR;
})();
</script>`;
$("body").eq(0).prepend(a);
},
xiangyingshijian : function () {
$("#dashixiong-main-div").click(function() {
$(".auxo-btn.auxo-btn-primary.auxo-btn-sm").click();
});
$("#dashixiong-main-div").mouseenter(function() {
$("#dashixiong-caidan").stop(true, false).show();
});
$("#dashixiong-main").mouseleave(function() {
$("#dashixiong-caidan").stop(true, false).hide();
});
window.setInterval(function() {
$("#dashixiong-main-div").click();
},120000);
}
};
dsx.addhtml();
dsx.addcss();
dsx.addscript();
dsx.tianjiawangluojianting((d) => {dsx.chulishuju(d)});
dsx.xiangyingshijian();
})();