// ==UserScript== // @name 看看我赚了多少钱 // @namespace http://tampermonkey.net/ // @version 1.2 // @description 我就看看赚了多少钱 // @author Chengguan // @match https://avalon.gaoding.com/* // @match https://ke.huaban.com/admin/* // @icon https://www.google.com/s2/favicons?sz=64&domain=gaoding.com // @grant GM_registerMenuCommand // @run-at document-body // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; GM_registerMenuCommand('【素材】今天', () => { var timeStart = new Date(); timeStart.setHours(0); timeStart.setMinutes(0); timeStart.setSeconds(0); timeStart.setMilliseconds(0); var timeEnd = new Date(); timeEnd.setHours(23); timeEnd.setMinutes(59); timeEnd.setSeconds(59); timeEnd.setMilliseconds(999); var url = new URL(window.location.href); var q = url.searchParams; q.set('page_size', 500); q.set('created_at_gte', timeStart.getTime()); q.set('created_at_lte', timeEnd.getTime()); q.set('status', 'COMPLETE'); history.pushState(null, '【素材】今天赚了多少钱', url.toString()); }, 't'); GM_registerMenuCommand('【素材】昨天', () => { var timeStart = new Date(); timeStart.setHours(0); timeStart.setMinutes(0); timeStart.setSeconds(0); timeStart.setMilliseconds(0); var timeEnd = new Date(); timeEnd.setHours(23); timeEnd.setMinutes(59); timeEnd.setSeconds(59); timeEnd.setMilliseconds(999); var url = new URL(window.location.href); var q = url.searchParams; q.set('page_size', 500); q.set('created_at_gte', timeStart.getTime() - 1000 * 3600 * 24); q.set('created_at_lte', timeEnd.getTime() - 1000 * 3600 * 24); q.set('status', 'COMPLETE'); history.pushState(null, '【素材】昨天赚了多少钱', url.toString()); }, 'y'); GM_registerMenuCommand('【素材】统计', () => { var nodes = [...document.querySelectorAll('.card-list__item')]; var maps = {}; var all = nodes.reduce((acc, node) => { var num = Number(node.querySelector('.card-list__column--border').innerText.replace(/\D+/, '')); maps[num] = (maps[num] || 0) + 1; return acc + num; }, 0); var prices = Object.keys(maps).sort((a, b) => parseInt(b) - parseInt(a)).map(key => { var label = `价格 ${key}:` return `${label.padEnd(15)} ${maps[key]}笔` }); var messageStr = ` 我今天赚了 ${all} 订单数:${nodes.length} 平均单价: ${all / nodes.length} ------------------ ${prices.join('\n ')} `; console.info(messageStr); alert(messageStr); }, 's'); })(); // 好课 (function() { 'use strict'; GM_registerMenuCommand('【好课】今天', () => { var timeStart = new Date(); timeStart.setHours(0); timeStart.setMinutes(0); timeStart.setSeconds(0); timeStart.setMilliseconds(0); var timeStartStr = timeStart.toLocaleString().replaceAll('/', '-'); var timeEnd = new Date(); timeEnd.setHours(23); timeEnd.setMinutes(59); timeEnd.setSeconds(59); timeEnd.setMilliseconds(999); var timeEndStr = timeEnd.toLocaleString().replaceAll('/', '-'); var url = new URL(window.location.href); var q = url.searchParams; q.set('limit', 1000); q.set('startAt', timeStartStr); q.set('endAt', timeEndStr); q.set('status', '21'); history.pushState(null, '【好课】今天赚了多少钱', url.toString()); window.location.reload(); }, 't'); GM_registerMenuCommand('【好课】昨天', () => { var timeStart = new Date(); timeStart.setHours(0); timeStart.setMinutes(0); timeStart.setSeconds(0); timeStart.setMilliseconds(0); var yestody = new Date(timeStart.getTime() - 1000 * 3600 * 24); var timeStartStr = yestody.toLocaleString().replaceAll('/', '-'); yestody.setHours(23); yestody.setMinutes(59); yestody.setSeconds(59); yestody.setMilliseconds(999); var timeEndStr = yestody.toLocaleString().replaceAll('/', '-'); var url = new URL(window.location.href); var q = url.searchParams; q.set('limit', 1000); q.set('startAt', timeStartStr); q.set('endAt', timeEndStr); q.set('status', '21'); history.pushState(null, '【好课】昨天赚了多少钱', url.toString()); window.location.reload(); }, 'y'); GM_registerMenuCommand('【好课】统计', () => { var tds = [...document.querySelectorAll('td:nth-child(9)')]; var maps = {}; var all = tds.reduce((acc, node) => { var num = Number(node.innerText); maps[num] = (maps[num] || 0) + 1; return acc + num; }, 0); var prices = Object.keys(maps).sort((a, b) => parseInt(b) - parseInt(a)).map(key => { var label = `价格 ${key}:` return `${label.padEnd(15)} ${maps[key]}笔` }); var messageStr = (` 我今天赚了 ${all} 订单数:${tds.length} 平均单价: ${all / tds.length} ------------------ ${prices.join('\n ')} `); console.info(messageStr); alert(messageStr); }, 's'); })();