390 lines
18 KiB
JavaScript
390 lines
18 KiB
JavaScript
function matchTemuDomain(url) {
|
|
const urlPattern = /https:\/\/([\da-z\.-]+)\.kuajingmaihuo\.com\//
|
|
return urlPattern.test(url);
|
|
}
|
|
|
|
function init() {
|
|
if (matchTemuDomain(window.location.href)) {
|
|
let j = 0
|
|
let timer = setInterval(() => {
|
|
let models = document.querySelectorAll('div[class^="MDL_header"]')
|
|
let flag = false
|
|
for (let i = 0; i < models.length; i++) {
|
|
if (models[i].textContent.includes("商品降价提醒") || models[i].textContent.includes("降价,提升竞争力,避免限制备货")) {
|
|
const popup = document.createElement("div")
|
|
popup.innerText = "拒绝调价"
|
|
const styles = {
|
|
padding: "8px",
|
|
background: "#fb7701",
|
|
color: "#fff",
|
|
display: 'inline',
|
|
borderRadius: "8px",
|
|
cursor: "pointer"
|
|
}
|
|
for (const e in styles) {
|
|
popup.style[e] = styles[e]
|
|
}
|
|
models[i].appendChild(popup)
|
|
popup.addEventListener('click', async () => {
|
|
let tbodyObj = models[i].parentElement.querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let firstLabelObj = tdObj.querySelector('div label:first-child')
|
|
if (firstLabelObj.getAttribute("data-checked")) {
|
|
let labelObj = tdObj.querySelector('div label:nth-child(2)')
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
// await sleepSync(50)
|
|
radioObj.click()
|
|
}
|
|
}
|
|
})
|
|
flag = true
|
|
}
|
|
}
|
|
|
|
const regex = /price-adjust-confirm[^\n]+content/
|
|
let modelsAll = document.querySelectorAll('div[class*="price-adjust-confirm"]')
|
|
const results = Array.from(modelsAll).filter(item => regex.test(item.getAttribute('class')))
|
|
|
|
for (let i = 0; i < results.length; i++) {
|
|
let tipsObj = results[i].querySelector('div[class*="_tips"]')
|
|
let spanObj = tipsObj.querySelector('div span:last-child')
|
|
if (spanObj) {
|
|
const popup = document.createElement("div")
|
|
popup.innerText = "拒绝调价"
|
|
const styles = {
|
|
padding: "8px",
|
|
background: "#fb7701",
|
|
color: "#fff",
|
|
display: 'inline',
|
|
borderRadius: "8px",
|
|
cursor: "pointer"
|
|
}
|
|
for (const e in styles) {
|
|
popup.style[e] = styles[e]
|
|
}
|
|
spanObj.appendChild(popup)
|
|
|
|
popup.addEventListener('click', async () => {
|
|
let tbodyObj = results[i].querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let firstLabelObj = tdObj.querySelector('div label:first-child')
|
|
if (firstLabelObj.getAttribute("data-checked")) {
|
|
let labelObj = tdObj.querySelector('div label:nth-child(2)')
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
// await sleepSync(50)
|
|
radioObj.click()
|
|
}
|
|
}
|
|
})
|
|
flag = true
|
|
}
|
|
}
|
|
|
|
let models2 = document.querySelectorAll('div[class^="modal-content_platBanner"]')
|
|
for (let i = 0; i < models2.length; i++) {
|
|
let tipsObj = models2[i].parentElement.querySelector('div[class^="modal-content_content"]')
|
|
let spanObj = tipsObj.querySelector('div span:last-child')
|
|
if (spanObj) {
|
|
const popup = document.createElement("div")
|
|
popup.innerText = "拒绝调价"
|
|
const styles = {
|
|
padding: "8px",
|
|
background: "#fb7701",
|
|
color: "#fff",
|
|
display: 'inline',
|
|
borderRadius: "8px",
|
|
cursor: "pointer"
|
|
}
|
|
for (const e in styles) {
|
|
popup.style[e] = styles[e]
|
|
}
|
|
spanObj.appendChild(popup)
|
|
|
|
popup.addEventListener('click', async () => {
|
|
let tbodyObj = models2[i].parentElement.querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let firstLabelObj = tdObj.querySelector('div label:first-child')
|
|
if (firstLabelObj && firstLabelObj.getAttribute("data-checked")) {
|
|
let labelObj = tdObj.querySelector('div label:nth-child(2)')
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
// await sleepSync(50)
|
|
radioObj.click()
|
|
}
|
|
}
|
|
})
|
|
flag = true
|
|
}
|
|
}
|
|
|
|
let models3 = document.querySelectorAll('div[class^="modal-content_content"]')
|
|
for (let i = 0; i < models3.length; i++) {
|
|
let tipsObj = models3[i].parentElement.querySelector('div[class^="modal-content_content"]')
|
|
let spanObj = tipsObj.querySelector('div span:last-child')
|
|
if (spanObj) {
|
|
const popup = document.createElement("div")
|
|
popup.innerText = "拒绝调价"
|
|
const styles = {
|
|
padding: "8px",
|
|
background: "#fb7701",
|
|
color: "#fff",
|
|
display: 'inline',
|
|
borderRadius: "8px",
|
|
cursor: "pointer"
|
|
}
|
|
for (const e in styles) {
|
|
popup.style[e] = styles[e]
|
|
}
|
|
spanObj.appendChild(popup)
|
|
|
|
popup.addEventListener('click', async () => {
|
|
let tbodyObj = models3[i].parentElement.querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let firstLabelObj = tdObj.querySelector('div label:first-child')
|
|
if (firstLabelObj && firstLabelObj.getAttribute("data-checked")) {
|
|
let labelObj = tdObj.querySelector('div label:nth-child(2)')
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
// await sleepSync(50)
|
|
radioObj.click()
|
|
}
|
|
}
|
|
})
|
|
flag = true
|
|
}
|
|
}
|
|
|
|
/*let models3 = document.querySelectorAll('div[class^="price-adjust-confirm-new_content"]')
|
|
for (let i = 0; i < models3.length; i++) {
|
|
let tipsObj = models3[i].querySelector('div[class^="price-adjust-confirm-new_tips"]')
|
|
let spanObj = tipsObj.querySelector('div span:last-child')
|
|
if (spanObj) {
|
|
const popup = document.createElement("div")
|
|
popup.innerText = "拒绝调价"
|
|
const styles = {
|
|
padding: "8px",
|
|
background: "#fb7701",
|
|
color: "#fff",
|
|
display: 'inline',
|
|
borderRadius: "8px",
|
|
cursor: "pointer"
|
|
}
|
|
for (const e in styles) {
|
|
popup.style[e] = styles[e]
|
|
}
|
|
spanObj.appendChild(popup)
|
|
|
|
popup.addEventListener('click', async () => {
|
|
let tbodyObj = models3[i].querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let firstLabelObj = tdObj.querySelector('div label:first-child')
|
|
if (firstLabelObj.getAttribute("data-checked")) {
|
|
let labelObj = tdObj.querySelector('div label:nth-child(2)')
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
// await sleepSync(50)
|
|
radioObj.click()
|
|
}
|
|
}
|
|
})
|
|
flag = true
|
|
}
|
|
}
|
|
|
|
let models4 = document.querySelectorAll('div[class^="price-adjust-confirm-system-old_contentWrp"]')
|
|
for (let i = 0; i < models4.length; i++) {
|
|
let tipsObj = models4[i].querySelector('div[class^="price-adjust-confirm-system-old_tips"]')
|
|
let spanObj = tipsObj.querySelector('div span:last-child')
|
|
if (spanObj) {
|
|
const popup = document.createElement("div")
|
|
popup.innerText = "拒绝调价"
|
|
const styles = {
|
|
padding: "8px",
|
|
background: "#fb7701",
|
|
color: "#fff",
|
|
display: 'inline',
|
|
borderRadius: "8px",
|
|
cursor: "pointer"
|
|
}
|
|
for (const e in styles) {
|
|
popup.style[e] = styles[e]
|
|
}
|
|
spanObj.appendChild(popup)
|
|
|
|
popup.addEventListener('click', async () => {
|
|
let tbodyObj = models4[i].querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let firstLabelObj = tdObj.querySelector('div label:first-child')
|
|
if (firstLabelObj.getAttribute("data-checked")) {
|
|
let labelObj = tdObj.querySelector('div label:nth-child(2)')
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
// await sleepSync(50)
|
|
radioObj.click()
|
|
}
|
|
}
|
|
})
|
|
flag = true
|
|
}
|
|
}
|
|
|
|
let models5 = document.querySelectorAll('div[class^="new-price-adjust-confirm_content"]')
|
|
for (let i = 0; i < models5.length; i++) {
|
|
let tipsObj = models5[i].querySelector('div[class^="new-price-adjust-confirm_tips"]')
|
|
let spanObj = tipsObj.querySelector('div span:last-child')
|
|
if (spanObj) {
|
|
const popup = document.createElement("div")
|
|
popup.innerText = "拒绝调价"
|
|
const styles = {
|
|
padding: "8px",
|
|
background: "#fb7701",
|
|
color: "#fff",
|
|
display: 'inline',
|
|
borderRadius: "8px",
|
|
cursor: "pointer"
|
|
}
|
|
for (const e in styles) {
|
|
popup.style[e] = styles[e]
|
|
}
|
|
spanObj.appendChild(popup)
|
|
|
|
popup.addEventListener('click', async () => {
|
|
let tbodyObj = models5[i].querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let firstLabelObj = tdObj.querySelector('div label:first-child')
|
|
if (firstLabelObj.getAttribute("data-checked")) {
|
|
let labelObj = tdObj.querySelector('div label:nth-child(2)')
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
// await sleepSync(50)
|
|
radioObj.click()
|
|
}
|
|
}
|
|
})
|
|
flag = true
|
|
}
|
|
}
|
|
let models6 = document.querySelectorAll('div[class^="grape-price-adjust-confirm_content"]')
|
|
for (let i = 0; i < models6.length; i++) {
|
|
let tipsObj = models6[i].querySelector('div[class^="grape-price-adjust-confirm_tips"]')
|
|
let spanObj = tipsObj.querySelector('div span:last-child')
|
|
if (spanObj) {
|
|
const popup = document.createElement("div")
|
|
popup.innerText = "拒绝调价"
|
|
const styles = {
|
|
padding: "8px",
|
|
background: "#fb7701",
|
|
color: "#fff",
|
|
display: 'inline',
|
|
borderRadius: "8px",
|
|
cursor: "pointer"
|
|
}
|
|
for (const e in styles) {
|
|
popup.style[e] = styles[e]
|
|
}
|
|
spanObj.appendChild(popup)
|
|
|
|
popup.addEventListener('click', async () => {
|
|
let tbodyObj = models6[i].querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let firstLabelObj = tdObj.querySelector('div label:first-child')
|
|
if (firstLabelObj.getAttribute("data-checked")) {
|
|
let labelObj = tdObj.querySelector('div label:nth-child(2)')
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
// await sleepSync(50)
|
|
radioObj.click()
|
|
}
|
|
}
|
|
})
|
|
flag = true
|
|
}
|
|
}*/
|
|
if (flag) {
|
|
clearInterval(timer)
|
|
} else {
|
|
j++
|
|
if (j == 10) {
|
|
clearInterval(timer)
|
|
}
|
|
}
|
|
}, 3000)
|
|
|
|
// document.body.appendChild(popup)
|
|
}
|
|
}
|
|
/*
|
|
function createElement() {
|
|
const popup = document.createElement("div")
|
|
popup.innerText = "拒绝调价"
|
|
const styles = {
|
|
position: "fixed",
|
|
right: '10px',
|
|
top: '60px',
|
|
zIndex: 999999,
|
|
padding: "8px",
|
|
background: "#409EFF",
|
|
color: "#fff",
|
|
borderRadius: "8px",
|
|
cursor: "pointer"
|
|
}
|
|
for (const e in styles) {
|
|
popup.style[e] = styles[e]
|
|
}
|
|
popup.addEventListener('click', async () => {
|
|
let divObj1 = document.querySelector('div[class^="price-adjust-confirm-system_contentWrp"]')
|
|
if (divObj1) {
|
|
let tbodyObj = divObj1.querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let labelObj = tdObj.querySelector('div label:last-child')
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
// await sleepSync(50)
|
|
radioObj.click()
|
|
}
|
|
}
|
|
let divObj2 = document.querySelector('div[class^="price-adjust-confirm_header"]')
|
|
if (divObj2) {
|
|
let divObj = divObj2.nextElementSibling
|
|
let tbodyObj = divObj.querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let labelObj = tdObj.querySelector('div label:last-child')
|
|
//let radioObj = labelObj.querySelector("[type='radio']")
|
|
// await sleepSync(50)
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
radioObj.click()
|
|
}
|
|
}
|
|
let divObj3 = document.querySelector('div[class^="price-adjust-confirm-new_banner"]')
|
|
if (divObj3) {
|
|
let divObj = divObj3.nextElementSibling
|
|
let tbodyObj = divObj.querySelector('tbody')
|
|
let trList = tbodyObj.querySelectorAll('tr')
|
|
for (let i = 0; i < trList.length; i++) {
|
|
let tdObj = trList[i].querySelector('td:last-child')
|
|
let labelObj = tdObj.querySelector('div label:last-child')
|
|
//let radioObj = labelObj.querySelector("[type='radio']")
|
|
// await sleepSync(50)
|
|
let radioObj = labelObj.querySelector('div[class^="RD_radioWrapper"]')
|
|
radioObj.click()
|
|
}
|
|
}
|
|
})
|
|
|
|
return popup
|
|
}
|
|
*/
|
|
init() |