Commit d5daf392 by Xingbz

modeng 脚本 完成

parent 8e84cf6a
// ==UserScript==
// @name 测试脚本
// @namespace Scripts
// @match *://test2.adsdesk.cn/*
// @grant none
// @version 1.0
// @author -
// @require https://cdn.jsdelivr.net/npm/js-cookie@3.0.5/dist/js.cookie.min.js
// @description 2023/12/6 13:42:17 https://www.jsdelivr.com/package/npm/js-cookie
// ==/UserScript==
(function () {
'use strict';
console.log("begin")
function user(userId, code) {
// 如果未设置标识, 则先
const flag = Cookies.get(code)
console.log(flag)
// 本次未操作, 设置为待操作
if (flag === undefined) {
Cookies.set(code, '1')
}
// == 0时表示已操作无需操作
if (userId === 1) {
document.cookie = "token=ZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKemRXSWlPaUl5TWprMElpd2ljbTlzWlNJNklrMUJUa0ZIUlZJaUxDSm5jbTkxY0Vsa0lqb2lNVEUxTWlJc0ltTjFjM1J2YldWeVNXUWlPakV3TURJMUxDSmxibVJVYVcxbElqcDdJbmxsWVhJaU9qSXdPVGtzSW0xdmJuUm9WbUZzZFdVaU9qRXlMQ0p0YjI1MGFDSTZJa1JGUTBWTlFrVlNJaXdpWkdGNVQyWk5iMjUwYUNJNk16RXNJbVJoZVU5bVdXVmhjaUk2TXpZMUxDSmtZWGxQWmxkbFpXc2lPaUpVU0ZWU1UwUkJXU0lzSW1odmRYSWlPakFzSW0xcGJuVjBaU0k2TUN3aWMyVmpiMjVrSWpvd0xDSnVZVzV2SWpvd0xDSmphSEp2Ym05c2IyZDVJanA3SW1OaGJHVnVaR0Z5Vkhsd1pTSTZJbWx6YnpnMk1ERWlMQ0pwWkNJNklrbFRUeUo5ZlN3aWRYTmxja2xrSWpveU1qazBMQ0oxZFdsa0lqb2lNREpGTWpFNE1VWkRRa0pHTkVZM09FRkVOREEzTmtRd09UZEJOakpHTkRJaUxDSmxiV0ZwYkNJNkluaGllakZBY21WNWRXNHVZMjl0SW4wLmtxX2xMdHp0TjU1emRsM2QtX2Y5TnQ1ZWV6TFBLZkhqaERyaTFZTGJqWEsyaVhEa1k0OEhkQUJBSjQwOGd4cE1XdWdGNWRXQ2dHaEhlZ21WY09KeWZB; path=/";
document.cookie = "token=ZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKemRXSWlPaUl5TWprMElpd2ljbTlzWlNJNklrMUJUa0ZIUlZJaUxDSm5jbTkxY0Vsa0lqb2lNVEUxTWlJc0ltTjFjM1J2YldWeVNXUWlPakV3TURJMUxDSmxibVJVYVcxbElqcDdJbmxsWVhJaU9qSXdPVGtzSW0xdmJuUm9WbUZzZFdVaU9qRXlMQ0p0YjI1MGFDSTZJa1JGUTBWTlFrVlNJaXdpWkdGNVQyWk5iMjUwYUNJNk16RXNJbVJoZVU5bVdXVmhjaUk2TXpZMUxDSmtZWGxQWmxkbFpXc2lPaUpVU0ZWU1UwUkJXU0lzSW1odmRYSWlPakFzSW0xcGJuVjBaU0k2TUN3aWMyVmpiMjVrSWpvd0xDSnVZVzV2SWpvd0xDSmphSEp2Ym05c2IyZDVJanA3SW1OaGJHVnVaR0Z5Vkhsd1pTSTZJbWx6YnpnMk1ERWlMQ0pwWkNJNklrbFRUeUo5ZlN3aWRYTmxja2xrSWpveU1qazBMQ0oxZFdsa0lqb2lNREpGTWpFNE1VWkRRa0pHTkVZM09FRkVOREEzTmtRd09UZEJOakpHTkRJaUxDSmxiV0ZwYkNJNkluaGllakZBY21WNWRXNHVZMjl0SW4wLmtxX2xMdHp0TjU1emRsM2QtX2Y5TnQ1ZWV6TFBLZkhqaERyaTFZTGJqWEsyaVhEa1k0OEhkQUJBSjQwOGd4cE1XdWdGNWRXQ2dHaEhlZ21WY09KeWZB; domain=.adsdesk.cn; path=/";
} else {
document.cookie = "token=ZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKemRXSWlPaUl5TWpZNElpd2ljbTlzWlNJNklrMUJUa0ZIUlZJaUxDSm5jbTkxY0Vsa0lqb2lNVEUxTWlJc0ltTjFjM1J2YldWeVNXUWlPakV3TURJMUxDSmxibVJVYVcxbElqcDdJbmxsWVhJaU9qSXdPVGtzSW0xdmJuUm9WbUZzZFdVaU9qRXlMQ0p0YjI1MGFDSTZJa1JGUTBWTlFrVlNJaXdpWkdGNVQyWk5iMjUwYUNJNk16RXNJbVJoZVU5bVdXVmhjaUk2TXpZMUxDSmtZWGxQWmxkbFpXc2lPaUpVU0ZWU1UwUkJXU0lzSW1odmRYSWlPakFzSW0xcGJuVjBaU0k2TUN3aWMyVmpiMjVrSWpvd0xDSnVZVzV2SWpvd0xDSmphSEp2Ym05c2IyZDVJanA3SW1OaGJHVnVaR0Z5Vkhsd1pTSTZJbWx6YnpnMk1ERWlMQ0pwWkNJNklrbFRUeUo5ZlN3aWRYTmxja2xrSWpveU1qWTRMQ0oxZFdsa0lqb2lNMFEwT1VNMk0wRXhSRE0xTkRVNU5rRkNNVFkyTWpjMU1VSTVSRVpDTmpNaUxDSmxiV0ZwYkNJNklucG9ZVzVuYldWdVowQnlaWGwxYmk1amIyMGlmUS43N1FVMndBN3ozbGRGdXVNbHc2a1V0a1JqOGFvUHN1eFBiUngtMGlKOG9uLTk4ajZnRDFqbVRGYnczUWdoV3RERk1HQVFHTi0xNTM0Vm1IV2pLUWR4dw==; path=/";
document.cookie = "token=ZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKemRXSWlPaUl5TWpZNElpd2ljbTlzWlNJNklrMUJUa0ZIUlZJaUxDSm5jbTkxY0Vsa0lqb2lNVEUxTWlJc0ltTjFjM1J2YldWeVNXUWlPakV3TURJMUxDSmxibVJVYVcxbElqcDdJbmxsWVhJaU9qSXdPVGtzSW0xdmJuUm9WbUZzZFdVaU9qRXlMQ0p0YjI1MGFDSTZJa1JGUTBWTlFrVlNJaXdpWkdGNVQyWk5iMjUwYUNJNk16RXNJbVJoZVU5bVdXVmhjaUk2TXpZMUxDSmtZWGxQWmxkbFpXc2lPaUpVU0ZWU1UwUkJXU0lzSW1odmRYSWlPakFzSW0xcGJuVjBaU0k2TUN3aWMyVmpiMjVrSWpvd0xDSnVZVzV2SWpvd0xDSmphSEp2Ym05c2IyZDVJanA3SW1OaGJHVnVaR0Z5Vkhsd1pTSTZJbWx6YnpnMk1ERWlMQ0pwWkNJNklrbFRUeUo5ZlN3aWRYTmxja2xrSWpveU1qWTRMQ0oxZFdsa0lqb2lNMFEwT1VNMk0wRXhSRE0xTkRVNU5rRkNNVFkyTWpjMU1VSTVSRVpDTmpNaUxDSmxiV0ZwYkNJNklucG9ZVzVuYldWdVowQnlaWGwxYmk1amIyMGlmUS43N1FVMndBN3ozbGRGdXVNbHc2a1V0a1JqOGFvUHN1eFBiUngtMGlKOG9uLTk4ajZnRDFqbVRGYnczUWdoV3RERk1HQVFHTi0xNTM0Vm1IV2pLUWR4dw==; domain=.adsdesk.cn; path=/";
}
if (Cookies.get(code) === '1') {
// 1分钟后删除
Cookies.set(code, '0', {
expires: new Date(new Date().getTime() + 60000)
})
location.reload(true);
}
}
user(2, "a7")
console.log("end")
})()
// ==UserScript==
// ==UserScript==
// @name watermark-package
// @namespace Scripts
// @match *://test2.adsdesk.cn/*
// @grant none
// @version 1.0
// @author -
// @require https://cdn.jsdelivr.net/npm/watermark-package
// @description 2023/12/6 13:42:17
// ==/UserScript==
(function () {
'use strict';
console.log("begin")
setInterval(addWatermark, 1000)
function addWatermark() {
watermark.setWaterMark(
{
w_texts: ['模拟环境[' + 'xbz' + ']' + getNowTime()],
w_options: {
w_opacity: '0.21'
}
}
)
watermark.removeWatermark()
}
function getNowTime() {
const now = new Date();
let year = now.getFullYear(),
month = now.getMonth() + 1,
date = now.getDate(),
h = now.getHours(),
m = now.getMinutes()
month = month < 10 ? '0' + month : month
date = date < 10 ? '0' + date : date
h = h < 10 ? '0' + h : h
m = m < 10 ? '0' + m : m
return year + "-" + month + "-" + date + " " + h + ":" + m;
}
console.log("end")
})()
// ==UserScript==
// ==UserScript==
// @name 脚本2
// @namespace Scripts
// @match *://test2.adsdesk.cn/*
// @grant none
// @version 1.0
// @author -
// @require https://unpkg.com/l-watermark@2.1.1/dist/l-watermark.umd.js
// @description 2023/12/6 13:42:17
// ==/UserScript==
(function () {
'use strict';
console.log("begin")
setInterval(addWatermark, 1000)
let myWaterMark;
function addWatermark() {
if (myWaterMark) {
myWaterMark.remove()
}
myWaterMark = WaterMark.page({
targe: document.body,
text: '模拟环境[' + 'xbz' + ']' + getNowTime(),
color: "rgba(0, 0, 0, 0.1)",
fontSize: 24
})
}
function getNowTime() {
const now = new Date();
let year = now.getFullYear(),
month = now.getMonth() + 1,
date = now.getDate(),
h = now.getHours(),
m = now.getMinutes(),
s = now.getSeconds()
month = month < 10 ? '0' + month : month
date = date < 10 ? '0' + date : date
h = h < 10 ? '0' + h : h
m = m < 10 ? '0' + m : m
// year + "-" + month + "-" + date + " " +
return h + ":" + m + ":" + s;
}
console.log("end")
})()
// ==UserScript==
// ==UserScript==
// @name 监控
// @namespace Scripts
// @match *://test23.adsdesk.cn/*
// @grant none
// @version 1.0
// @author -
// @description 2023/12/6 13:42:17
// ==/UserScript==
(function () {
'use strict';
console.log("begin")
//region 监听HTTP请求
//(function(){})(): 表示立即执行, 注册全局代理对象(防止重写XMLHttpRequest时循环调用?)
;(function () {
if (typeof window.CustomEvent === "function") return false;
function CustomEvent(event, params) {
params = params || {bubbles: false, cancelable: false, detail: undefined};
const evt = document.createEvent('CustomEvent');
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
return evt;
}
CustomEvent.prototype = window.Event.prototype;
window.CustomEvent = CustomEvent;
})();
// 重写 XMLHttpRequest 全局拦截器
;(function () {
function ajaxEventTrigger(event) {
const ajaxEvent = new CustomEvent(event, {detail: this});
window.dispatchEvent(ajaxEvent);
}
const oldXHR = window.XMLHttpRequest;
function newXHR() {
const realXHR = new oldXHR();
// abort, error, load, loadstart, progress, timeout, loadend 可按需重写, 此处仅需要readystatechange
realXHR.addEventListener('readystatechange', function () {
ajaxEventTrigger.call(this, 'ajaxReadyStateChange');
}, false);
let send = realXHR.send;
realXHR.send = function (...arg) {
send.apply(realXHR, arg);
realXHR.body = arg[0];
ajaxEventTrigger.call(realXHR, 'ajaxSend');
}
let open = realXHR.open;
realXHR.open = function (...arg) {
open.apply(realXHR, arg)
realXHR.method = arg[0];
realXHR.orignUrl = arg[1];
realXHR.async = arg[2];
ajaxEventTrigger.call(realXHR, 'ajaxOpen');
}
let setRequestHeader = realXHR.setRequestHeader;
realXHR.requestHeader = {};
realXHR.setRequestHeader = function (name, value) {
realXHR.requestHeader[name] = value;
setRequestHeader.call(realXHR, name, value)
}
return realXHR;
}
window.XMLHttpRequest = newXHR;
})();
//endregion
window.addEventListener('ajaxReadyStateChange', function (e) {
const xhr = e.detail;
// 不放在onload里会执行多次3次(状态变更事件会触发3次)
xhr.onload = function () {
console.log('Request URL:', xhr.orignUrl);
console.log('Request Body:', xhr.body);
}
})
console.log("end")
})()
// ==UserScript==
// @name 魔灯
// @namespace Scripts
// @match *://test2.adsdesk.cn/*
// @match *://pre.adsdesk.cn/*
// @grant none
// @version 1.0
// @author mobvista
// @require https://cdn.jsdelivr.net/npm/js-cookie@3.0.5/dist/js.cookie.min.js
// require https://cdn.jsdelivr.net/npm/watermark-package
// @require https://cdn.jsdelivr.net/npm/watermark-package@2.1.2/dist/watermark.umd.min.js
// @description 2023/12/6 13:42:17
// ==/UserScript==
// noinspection JSUnresolvedReference
// 开启调试模式, 此模式会输出详尽日志
const debugMode = 1
const DOMAIN = '.adsdesk.cn'
const K_UC = 'uniqueCode'
const K_USER = 'user'
const K_TOKEN = 'token'
// 定时器ID
let watermarkTimerId
let logoutTimerId
(function () {
'use strict';
function start() {
L('start 执行开始')
let authToken = getQueryVariable('authToken');
// 新登录
if (authToken) {
L('匹配到authToken, 准备执行登录. decodeAuthToken: ' + decodeURIComponent(authToken))
const authData = JSON.parse(decodeURIComponent(authToken))
Cookies.set(CN(K_UC), authData[K_UC])
Cookies.set(CN(K_USER), authData[K_USER])
modeng(authData[K_TOKEN], authData[K_UC])
}
// 已登录
if (Cookies.get(CN(K_USER))) {
L('匹配到模登用户, 准备添加监控. K_USER: ' + Cookies.get(CN(K_USER)))
watermarkTimerId = setInterval( addWatermark, 1000)
// 添加登出监控
logoutTimerId = setInterval(addLogoutListener, 500)
// 添加请求监控
setTimeout(addRequestListener, 10)
}
L('start 执行完成')
}
start()
})()
function modeng(token, code) {
// 如果未设置标识, 则先
const flag = Cookies.get(code)
if (flag === undefined) {
Cookies.set(code, '1')
}
if (Cookies.get(code) === '1') {
Cookies.set(K_TOKEN, token)
Cookies.set(K_TOKEN, token, {domain: DOMAIN})
// 1分钟后删除
Cookies.set(code, '0', {
expires: new Date(new Date().getTime() + 60000)
})
location.reload();
}
}
// 添加水印
function addWatermark() {
watermark.setWaterMark(
{
w_texts: ['模拟环境[' + Cookies.get(CN(K_USER)) + ']' + getNowTime()],
w_options: {
w_width: 310,
w_height: 160,
w_opacity: '0.21'
}
}
)
watermark.removeWatermark()
}
// 登录监控
function addLogoutListener() {
// L('登出监控. K_TOKEN: ' + Cookies.get(K_TOKEN))
// 登录凭证不存在了, 只有2种可能, 1:登录; 2:清理缓存, 此时需要把modeng信息清理掉
if (!Cookies.get(K_TOKEN)) {
L('登录操作, 清理modeng')
Cookies.remove(CN(K_UC))
Cookies.remove(CN(K_USER))
watermark.removeWatermark()
clearInterval(watermarkTimerId)
clearInterval(logoutTimerId)
}
}
const REQ_LOG_SAVE_URL = '/openapi/request_log/save'
// 请求监控
function addRequestListener() {
L('添加请求监控')
window.addEventListener('ajaxReadyStateChange', function (e) {
const xhr = e.detail;
// 不放在onload里会执行多次3次(状态变更事件会触发3次)
xhr.onload = function () {
L('触发请求监控')
console.log('Request URL:', xhr.orignUrl);
// console.log('Request Body:', xhr.body);
// console.log('Response Body:', xhr.response);
const optUser = Cookies.get(CN(K_USER))
L("optUser: " + optUser)
if (optUser) {
const requestUrl = validUrl(xhr.orignUrl);
L("requestUrl: " + requestUrl)
if (requestUrl) {
const param = {
optUser,
'uniqueCode': Cookies.get(CN(K_UC)),
"authToken": '',
requestUrl,
"requestMethod": xhr.method,
"requestBody": xhr.body,
"responseCode": xhr.status,
"responseBody": xhr.response
}
sendLog(param)
}
}
}
})
}
// 发送日志
function sendLog(param) {
const httpRequest = new XMLHttpRequest();
// const sendLogUrl = (debugMode ? 'http://localhost/dev-api' : 'https://oms-api.adsdesk.cn') + REQ_LOG_SAVE_URL
// 临时能调用的地址
const sendLogUrl = 'https://oms-api.adsdesk.cn/openapi/adsdesk/request_log/save'
httpRequest.open('POST', sendLogUrl, true);
httpRequest.setRequestHeader("Content-type", "application/json");
httpRequest.send(JSON.stringify(param));
}
//region 工具函数封装
function getQueryVariable(variable) {
const query = window.location.search.substring(1)
const vars = query.split("&")
for (let i = 0; i < vars.length; i++) {
const pair = vars[i].split("=")
if (pair[0] === variable) {
return pair[1]
}
}
return false
}
function validUrl(fullUrl) {
if (!fullUrl || fullUrl.indexOf(REQ_LOG_SAVE_URL) >= 0) {
return false
}
if (fullUrl.indexOf('adsdesk.cn/adsdesk') < 0) {
return false
}
fullUrl = fullUrl.replace("//", "$")
return fullUrl.substring(fullUrl.indexOf("/") + 1);
}
function getNowTime() {
const now = new Date();
let year = now.getFullYear(),
month = now.getMonth() + 1,
date = now.getDate(),
h = now.getHours(),
m = now.getMinutes(),
s = now.getSeconds()
month = month < 10 ? '0' + month : month
date = date < 10 ? '0' + date : date
h = h < 10 ? '0' + h : h
m = m < 10 ? '0' + m : m
s = s < 10 ? '0' + s : s
// return year + "-" + month + "-" + date + " " + h + ":" + m;
return h + ":" + m + ":" + s;
}
function CN(name) {
return 'modeng_' + name
}
function L(msg) {
if (debugMode) {
console.log(msg)
}
}
//endregion
//region 监听HTTP请求
//(function(){})(): 表示立即执行, 注册全局代理对象(防止重写XMLHttpRequest时循环调用?)
;(function () {
if (typeof window.CustomEvent === "function") return false;
function CustomEvent(event, params) {
params = params || {bubbles: false, cancelable: false, detail: undefined};
const evt = document.createEvent('CustomEvent');
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
return evt;
}
CustomEvent.prototype = window.Event.prototype;
window.CustomEvent = CustomEvent;
})();
// 重写 XMLHttpRequest 全局拦截器
;(function () {
function ajaxEventTrigger(event) {
const ajaxEvent = new CustomEvent(event, {detail: this});
window.dispatchEvent(ajaxEvent);
}
const oldXHR = window.XMLHttpRequest;
function newXHR() {
const realXHR = new oldXHR();
// abort, error, load, loadstart, progress, timeout, loadend 可按需重写, 此处仅需要readystatechange
realXHR.addEventListener('readystatechange', function () {
ajaxEventTrigger.call(this, 'ajaxReadyStateChange');
}, false);
let send = realXHR.send;
realXHR.send = function (...arg) {
send.apply(realXHR, arg);
realXHR.body = arg[0];
ajaxEventTrigger.call(realXHR, 'ajaxSend');
}
let open = realXHR.open;
realXHR.open = function (...arg) {
open.apply(realXHR, arg)
realXHR.method = arg[0];
realXHR.orignUrl = arg[1];
realXHR.async = arg[2];
ajaxEventTrigger.call(realXHR, 'ajaxOpen');
}
let setRequestHeader = realXHR.setRequestHeader;
realXHR.requestHeader = {};
realXHR.setRequestHeader = function (name, value) {
realXHR.requestHeader[name] = value;
setRequestHeader.call(realXHR, name, value)
}
return realXHR;
}
window.XMLHttpRequest = newXHR;
})();
//endregion
......@@ -2,17 +2,19 @@
<div class="app-container home">
<el-row :gutter="20">
<el-col :sm="24" style="padding: 20px">
<el-button
<el-button
type="primary"
plain
@click="goTarget('test2', '1')"
>TEST2-邢保振</el-button
>
>TEST2-邢保振
</el-button
>
<el-button
type="primary"
plain
@click="goTarget('test2', '2')"
>TEST2-张猛</el-button
>TEST2-张猛
</el-button
>
</el-col>
<el-col :sm="24" style="padding: 20px">
......@@ -20,17 +22,19 @@
type="primary"
plain
@click="goTarget('pre', '1')"
>PRE-邢保振</el-button
>PRE-邢保振
</el-button
>
<el-button
type="primary"
plain
@click="goTarget('pre', '2')"
>PRE-张猛</el-button
>PRE-郭宇宙
</el-button
>
</el-col>
</el-row>
<el-divider />
<el-divider/>
</div>
</template>
......@@ -39,11 +43,12 @@ const version = ref('3.8.6')
function goTarget(env, user) {
let token = '';
if(env === 'test2') {
if (env === 'test2') {
token = user === '1' ? 'ZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKemRXSWlPaUl5TWprMElpd2ljbTlzWlNJNklrMUJUa0ZIUlZJaUxDSm5jbTkxY0Vsa0lqb2lNVEUxTWlJc0ltTjFjM1J2YldWeVNXUWlPakV3TURJMUxDSmxibVJVYVcxbElqcDdJbmxsWVhJaU9qSXdPVGtzSW0xdmJuUm9WbUZzZFdVaU9qRXlMQ0p0YjI1MGFDSTZJa1JGUTBWTlFrVlNJaXdpWkdGNVQyWk5iMjUwYUNJNk16RXNJbVJoZVU5bVdXVmhjaUk2TXpZMUxDSmtZWGxQWmxkbFpXc2lPaUpVU0ZWU1UwUkJXU0lzSW1odmRYSWlPakFzSW0xcGJuVjBaU0k2TUN3aWMyVmpiMjVrSWpvd0xDSnVZVzV2SWpvd0xDSmphSEp2Ym05c2IyZDVJanA3SW1OaGJHVnVaR0Z5Vkhsd1pTSTZJbWx6YnpnMk1ERWlMQ0pwWkNJNklrbFRUeUo5ZlN3aWRYTmxja2xrSWpveU1qazBMQ0oxZFdsa0lqb2lNREpGTWpFNE1VWkRRa0pHTkVZM09FRkVOREEzTmtRd09UZEJOakpHTkRJaUxDSmxiV0ZwYkNJNkluaGllakZBY21WNWRXNHVZMjl0SW4wLmtxX2xMdHp0TjU1emRsM2QtX2Y5TnQ1ZWV6TFBLZkhqaERyaTFZTGJqWEsyaVhEa1k0OEhkQUJBSjQwOGd4cE1XdWdGNWRXQ2dHaEhlZ21WY09KeWZB'
: 'ZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKemRXSWlPaUl5TWpZNElpd2ljbTlzWlNJNklrMUJUa0ZIUlZJaUxDSm5jbTkxY0Vsa0lqb2lNVEUxTWlJc0ltTjFjM1J2YldWeVNXUWlPakV3TURJMUxDSmxibVJVYVcxbElqcDdJbmxsWVhJaU9qSXdPVGtzSW0xdmJuUm9WbUZzZFdVaU9qRXlMQ0p0YjI1MGFDSTZJa1JGUTBWTlFrVlNJaXdpWkdGNVQyWk5iMjUwYUNJNk16RXNJbVJoZVU5bVdXVmhjaUk2TXpZMUxDSmtZWGxQWmxkbFpXc2lPaUpVU0ZWU1UwUkJXU0lzSW1odmRYSWlPakFzSW0xcGJuVjBaU0k2TUN3aWMyVmpiMjVrSWpvd0xDSnVZVzV2SWpvd0xDSmphSEp2Ym05c2IyZDVJanA3SW1OaGJHVnVaR0Z5Vkhsd1pTSTZJbWx6YnpnMk1ERWlMQ0pwWkNJNklrbFRUeUo5ZlN3aWRYTmxja2xrSWpveU1qWTRMQ0oxZFdsa0lqb2lNMFEwT1VNMk0wRXhSRE0xTkRVNU5rRkNNVFkyTWpjMU1VSTVSRVpDTmpNaUxDSmxiV0ZwYkNJNklucG9ZVzVuYldWdVowQnlaWGwxYmk1amIyMGlmUS43N1FVMndBN3ozbGRGdXVNbHc2a1V0a1JqOGFvUHN1eFBiUngtMGlKOG9uLTk4ajZnRDFqbVRGYnczUWdoV3RERk1HQVFHTi0xNTM0Vm1IV2pLUWR4dw=='
}else {
} else {
token = user === "1" ? "ZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKemRXSWlPaUkxTWlJc0luSnZiR1VpT2lKTlFVNUJSMFZTSWl3aVozSnZkWEJKWkNJNklqSTVJaXdpWTNWemRHOXRaWEpKWkNJNk1UQXdNREFzSW1WdVpGUnBiV1VpT25zaWVXVmhjaUk2TWpBeU5Td2liVzl1ZEdoV1lXeDFaU0k2TVN3aWJXOXVkR2dpT2lKS1FVNVZRVkpaSWl3aVpHRjVUMlpOYjI1MGFDSTZNU3dpWkdGNVQyWlpaV0Z5SWpveExDSmtZWGxQWmxkbFpXc2lPaUpYUlVST1JWTkVRVmtpTENKb2IzVnlJam94T0N3aWJXbHVkWFJsSWpvek1Td2ljMlZqYjI1a0lqb3pNaXdpYm1GdWJ5STZNQ3dpWTJoeWIyNXZiRzluZVNJNmV5SmpZV3hsYm1SaGNsUjVjR1VpT2lKcGMyODROakF4SWl3aWFXUWlPaUpKVTA4aWZYMHNJblZ6WlhKSlpDSTZOVElzSW5WMWFXUWlPaUpEUmpGR01USTFPVVE0UlVNME1UWkJRVFV6UVRoRU9FVkZORUU1TVRGRE5pSXNJbVZ0WVdsc0lqb2llR0o2TVVCeVpYbDFiaTVqYjIwaWZRLlpuQmxEWWxRWjVTYXN2SWpMOG1ITkdHLWVzS2d1MjdROUp0dFE5a25JQU5hcEtVNTEtTDQwREVKS25jQm5qWDBTT0Z5WkVXMEk5YmpSMzFwcldBZzhB"
: "ZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKemRXSWlPaUl4TVRNaUxDSnliMnhsSWpvaVRVRk9RVWRGVWlJc0ltZHliM1Z3U1dRaU9pSXlPU0lzSW1OMWMzUnZiV1Z5U1dRaU9qRXdNREF3TENKbGJtUlVhVzFsSWpwN0lubGxZWElpT2pJd01qVXNJbTF2Ym5Sb1ZtRnNkV1VpT2pFc0ltMXZiblJvSWpvaVNrRk9WVUZTV1NJc0ltUmhlVTltVFc5dWRHZ2lPakVzSW1SaGVVOW1XV1ZoY2lJNk1Td2laR0Y1VDJaWFpXVnJJam9pVjBWRVRrVlRSRUZaSWl3aWFHOTFjaUk2TVRnc0ltMXBiblYwWlNJNk16RXNJbk5sWTI5dVpDSTZNeklzSW01aGJtOGlPakFzSW1Ob2NtOXViMnh2WjNraU9uc2lZMkZzWlc1a1lYSlVlWEJsSWpvaWFYTnZPRFl3TVNJc0ltbGtJam9pU1ZOUEluMTlMQ0oxYzJWeVNXUWlPakV4TXl3aWRYVnBaQ0k2SWpFd1F6a3lNRFk0TVVRM01UUTRPVGc0TVRreU1USTFOa1pETnpnMU1Ea3hJaXdpWlcxaGFXd2lPaUpuZFc5NWRYcG9iM1ZBY21WNWRXNHVZMjl0SW4wLmU1azNqbVdhZDZQZ3Jqd3I2T0ZId09JWWdDUkVZY3BVTWhKWkFfOHpTU1lRdmRQU3ZtV3RUWmFTeWNXYXd3el8ydWxhSFdQQkp3M2NmQ3VFNjhGY1F3"
}
let authCode = {
user: 'admin',
......@@ -65,12 +70,14 @@ function goTarget(env, user) {
font-size: 17.5px;
border-left: 5px solid #eee;
}
hr {
margin-top: 20px;
margin-bottom: 20px;
border: 0;
border-top: 1px solid #eee;
}
.col-item {
margin-bottom: 20px;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment