68 lines
2.1 KiB
JavaScript
Raw Normal View History

2024-10-07 16:14:03 +09:00
function divider(key) {
return merge(padding(),key,padding())
}
function padding() {
return "%7C%2A-%2A%7C";
}
function merge(...args) {
return args.join("");
}
function unformat(type , data, key) {
var even = [];
var odd = [];
data.split("").forEach(function (v,idx,full) {if(idx % 2 === 0) {even.push(v)} else {odd.push(v)}});
switch (type) {
case "T0": return merge(odd.join(""),divider(key),even.join(""));
case "T1": return merge(odd.reverse().join(""),divider(key),even.join(""));
case "T2": return merge(odd.join(""),divider(key),even.reverse().join(""));
default: return merge(odd.reverse().join(""),divider(key),even.reverse().join(""));
}
}
function checkDebug(){
var debug = false
try {
debug = typeof v8debug === 'object'
|| /--debug|--inspect/.test(process.execArgv.join(' '));
alert(debug)
} catch (e) {
}
try {
const inspector = require('inspector');
debug = inspector.url() !== undefined;
alert(debug)
} catch (e) {
}
}
function post(target,type, data, key,callBackResult) {
var httpRequest;
/* 통신에 사용 될 XMLHttpRequest 객체 정의 */
httpRequest = new XMLHttpRequest();
/* httpRequest의 readyState가 변화했을때 함수 실행 */
httpRequest.onreadystatechange = () => {
/* readyState가 Done이고 응답 값이 200일 때, 받아온 response로 name과 age를 그려줌 */
if (httpRequest.readyState === XMLHttpRequest.DONE) {
if (httpRequest.status === 200) {
callBackResult(httpRequest.response)
} else {
alert('Request Error!');
}
}
}
httpRequest.open('POST', target, true);
httpRequest.setRequestHeader("Content-Type", "text/plain");
var odd = []
var even = []
var dataStr = JSON.stringify(data)
var src = dataStr.split("")
src.forEach(function (s,i,a) {if (i % 2 === 0) {even.push(s)} else {odd.push(s)}})
httpRequest.send(btoa(JSON.stringify({
'data': unformat(type,data,key),
'key':key,
'type':type,
})));
}