🏠 Home 

Сумма покупок Aliexpress

Подсчитывает сумму всех завершенных заказов, которые видны на странице (прокрутите вниз до конца, чтобы подсчитать заказы за всё время).

// ==UserScript==
// @name         Total of all Aliexpress purchases
// @name:ru      Сумма покупок Aliexpress
// @namespace    https://greasyfork.org/ru/users/303426-титан
// @version      1.1.2
// @description  Calculates the sum of all completed orders that are visible on the page (scroll down to the end to count the orders for the entire time).
// @description:ru  Подсчитывает сумму всех завершенных заказов, которые видны на странице (прокрутите вниз до конца, чтобы подсчитать заказы за всё время).
// @author       Титан
// @match        https://www.aliexpress.com/p/order/index.html
// @match        https://trade.aliexpress.ru/orderList.htm*
// @match        https://aliexpress.ru/order-list*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=aliexpress.com
// @grant		 GM_registerMenuCommand
// @license      CC BY-NC-SA
// ==/UserScript==
let autoRedirect = false //Автоматически редиректить на нормальную страницу заказов
let language = "auto" //Choose your language. Supported: ru, en
if (language == "auto") {
language = Slice(navigator.language || navigator.userLanguage, 0, "-");
}
let dictionary = {
"optionCalcPrices" : {
"ru" : "Подсчитать цены на этой странице"
,"en" : "Calculate prices on this page"
},
"optionGoToGlobalPage" : {
"ru" : "Перейти на глобальную страницу заказов"
,"en" : "Go to the global orders page"
},
"outputSumOfOrders" : {
"ru" : "Сумма покупок"
,"en" : "Total purchases prices"
},
"outputOrders" : {
"ru" : "Покупки"
,"en" : "Purchases"
}
}
function GetDicString(String) {
try {
return dictionary[String][language]
}
catch (e) {
return dictionary[String]["en"]
}
}
if (document.URL.indexOf("www.aliexpress.com")>=0)
GM_registerMenuCommand(GetDicString("optionCalcPrices"), CalculateTotalPrice);
else
if (autoRedirect) GoToNormalPage()
else
GM_registerMenuCommand(GetDicString("optionGoToGlobalPage"), GoToNormalPage)
function GoToNormalPage() {
window.location.replace("https://www.aliexpress.com/p/order/index.html");
}
let finishedWords = ["Finished", "С отделкой"]; //: "Finished" word in all shitty AliExpress' translations
function CalculateTotalPrice() {
let total = 0;
let purchases = "";
for(let item of document.querySelectorAll(".order-item")) {
if (finishedWords.indexOf(item.querySelector(".order-item-header-status-text").textContent)<0) continue; //: checks is the order is finished
let price = parseFloat(OnlyNumbers(item.querySelector(".order-item-content-opt-price-total").textContent));
let itemName = item.querySelector(".order-item-content-info-name")?.textContent;
total+= price
purchases+= "\n\n" + itemName + "\n>>> " + price + " <<<"
}
alert(`${GetDicString("outputSumOfOrders")}: ${total}\n\n${GetDicString("outputOrders")}: ${purchases}`)
}
function OnlyNumbers(Str) {
let num = ""
let dot = false;
for(char of Str) {
if(IsNumber(char))
num+=char;
else
if(!dot && (char == '.' || char == ","))
{
num+=".";
dot = true;
}
else if (dot) {
break;
}
}
return num
}
function IsNumber(c) { return c >= '0' && c <= '9'}
function Slice(source, int, endsWith) {
return source.slice(int,source.indexOf(endsWith))
}