Skip to content

Commit

Permalink
๐Ÿ› Change bypass certification to manual (#16)
Browse files Browse the repository at this point in the history
  • Loading branch information
nbsp1221 committed May 1, 2023
1 parent 2813825 commit d51b5bf
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 20 deletions.
8 changes: 7 additions & 1 deletion src/functions/bypassCertification.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ declare var lrnCerti: any;
*/
export function bypassCertification() {
if (!lrnCerti?.checkCerti) {
return;
alert('์ธ์ฆ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.');
}

lrnCerti.checkCerti = async function (
Expand Down Expand Up @@ -70,4 +70,10 @@ export function bypassCertification() {
);
}
};

alert([
'์ธ์ฆ ๊ธฐ๋Šฅ์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.',
'ํ˜„์žฌ ํ•™๊ต ํŽ˜์ด์ง€๊ฐ€ ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜๊ณ  ์žˆ์–ด์„œ ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์ ์šฉ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.',
'๋งŒ์•ฝ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•ด์ฃผ์‹œ๊ณ  ํ•ด๋‹น ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.',
].join('\n'));
}
25 changes: 17 additions & 8 deletions src/routes/lecture-home.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { bypassCertification } from '../functions/bypassCertification';
import { generateRandomString } from '../utils/string';

/**
* ํŽ˜์ด์ง€ ์ด๋ฆ„: ๊ฐ•์˜ ์ข…ํ•ฉ
Expand Down Expand Up @@ -72,17 +73,19 @@ const addLecturePlan = async () => {
};

export default () => {
// ์ธ์ฆ ํŒ์—… ๋ฌด์‹œ
bypassCertification();
const coolTimeButtonId = generateRandomString();
const bypassCertificationButtonId = generateRandomString();
const hideLectureButtonId = generateRandomString();

// 2๋ถ„ ์ฟจํƒ€์ž„ ์ œ๊ฑฐ, ๊ฐ•์˜ ์ˆจ๊ธฐ๊ธฐ ๋ฒ„ํŠผ ์ƒ์„ฑ
$("p:contains('์˜จ๋ผ์ธ ๊ฐ•์˜๋ฆฌ์ŠคํŠธ')").append(`
<button type="button" class="btn2 btn-learn btn-cooltime">2๋ถ„ ์ฟจํƒ€์ž„ ์ œ๊ฑฐ</button>
<button type="button" class="btn2 btn-gray btn-clean">๊ฐ•์˜ ์ˆจ๊ธฐ๊ธฐ On / Off</button>
<button type="button" id="${coolTimeButtonId}" class="btn2 btn-learn">2๋ถ„ ์ฟจํƒ€์ž„ ์ œ๊ฑฐ</button>
<button type="button" id="${bypassCertificationButtonId}" class="btn2 btn-learn">์ธ์ฆ ์šฐํšŒ</button>
<button type="button" id="${hideLectureButtonId}" class="btn2 btn-gray">๊ฐ•์˜ ์ˆจ๊ธฐ๊ธฐ On / Off</button>
`);

// 2๋ถ„ ์ฟจํƒ€์ž„ ์ œ๊ฑฐ ๋ฒ„ํŠผ์— ์ด๋ฒคํŠธ ์„ค์ •
$('.btn-cooltime').click(() => {
$(`#${coolTimeButtonId}`).click(() => {
appModule.getLrnSttus = function () {
axios.post('/std/lis/evltn/SelectLrnSttusStd.do', this.$data).then(function (response) {
this.lrnSttus = response.data;
Expand All @@ -106,8 +109,14 @@ export default () => {
alert('2๋ถ„ ์ฟจํƒ€์ž„์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.');
});

// ์ธ์ฆ ์šฐํšŒ ๋ฒ„ํŠผ์— ์ด๋ฒคํŠธ ์„ค์ •
$(`#${bypassCertificationButtonId}`).click(() => {
// ์ธ์ฆ ํŒ์—… ๋ฌด์‹œ
bypassCertification();
});

// ๊ฐ•์˜ ์ˆจ๊ธฐ๊ธฐ ๋ฒ„ํŠผ์— ์ด๋ฒคํŠธ ์„ค์ •
$('.btn-clean').click(() => {
$(`#${hideLectureButtonId}`).click(() => {
if (appModule.origin === undefined) {
appModule.origin = appModule.cntntList;
let copy = [];
Expand All @@ -121,8 +130,8 @@ export default () => {
appModule.origin = undefined;
}

$('.btn-clean').toggleClass('btn-green');
$('.btn-clean').toggleClass('btn-gray');
$(`#${hideLectureButtonId}`).toggleClass('btn-green');
$(`#${hideLectureButtonId}`).toggleClass('btn-gray');
});

// ๊ณผ๋ชฉ ๋ณ€๊ฒฝ์‹œ ๊ฐ•์˜ ์ˆจ๊ธฐ๊ธฐ ์ดˆ๊ธฐํ™”
Expand Down
34 changes: 23 additions & 11 deletions src/routes/online-lecture.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { bypassCertification } from '../functions/bypassCertification';
import { generateRandomString } from '../utils/string';

/**
* ํŽ˜์ด์ง€ ์ด๋ฆ„: ์˜จ๋ผ์ธ ๊ฐ•์˜ ์ฝ˜ํ…์ธ  ๋ณด๊ธฐ
Expand Down Expand Up @@ -34,7 +35,10 @@ export default () => {
}
};

let randomStr = Math.random().toString(36).slice(2);
const coolTimeButtonId = generateRandomString();
const bypassCertificationButtonId = generateRandomString();
const hideLectureButtonId = generateRandomString();

// ์•ˆ๋‚ด ๋ฌธ๊ตฌ ๋ฐ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๋ Œ๋”๋ง
$('#appModule > table:not(#prjctList)').after(`
<div id="new-features" style="border: 1px solid #d3d0d0; border-radius: 5px; margin-top: 30px; padding: 10px">
Expand All @@ -44,15 +48,18 @@ export default () => {
<div>- 2๋ถ„ ์ฟจํƒ€์ž„ ์ œ๊ฑฐ: 2๋ถ„ ์ฟจํƒ€์ž„์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ฝ˜ํ…์ธ  ํ•™์Šต์„ ํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด ์ฃผ์„ธ์š”.</div>
<div>- ๊ฐ•์˜ ์ˆจ๊ธฐ๊ธฐ: ์ง„๋„์œจ 100%์ธ ๊ฐ•์˜๋ฅผ ์ˆจ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.</div>
<div style="margin-top: 20px">
<button type="button" id="${randomStr}" class="btn2 btn-learn">2๋ถ„ ์ฟจํƒ€์ž„ ์ œ๊ฑฐ</button>
<button type="button" id="btn-hide-lecture" class="btn2 btn-gray">๊ฐ•์˜ ์ˆจ๊ธฐ๊ธฐ On / Off</button>
<button type="button" id="${coolTimeButtonId}" class="btn2 btn-learn">2๋ถ„ ์ฟจํƒ€์ž„ ์ œ๊ฑฐ</button>
<button type="button" id="${bypassCertificationButtonId}" class="btn2 btn-learn">์ธ์ฆ ์šฐํšŒ</button>
<button type="button" id="${hideLectureButtonId}" class="btn2 btn-gray">๊ฐ•์˜ ์ˆจ๊ธฐ๊ธฐ On / Off</button>
</div>
</div>
`);
`);

// 2๋ถ„ ์ฟจํƒ€์ž„ ์ œ๊ฑฐ ๋ฒ„ํŠผ์— ์ด๋ฒคํŠธ ์„ค์ •
$('#' + randomStr).click(() => {
$(`#${coolTimeButtonId}`).click(() => {
let funcName = 'getLrnStdSttus1';

// ํ•จ์ˆ˜ ์ด๋ฆ„์ด ๋ฐ”๋€Œ์—ˆ์„ ๋•Œ๋ฅผ ๋Œ€๋น„ํ•ด์„œ ์Šคํฌ๋ฆฝํŠธ์—์„œ ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์ฐพ์•„์„œ ์‚ฌ์šฉ
for (let i in document.scripts) {
let script = document.scripts[i];
let innerHtml = script.innerHTML;
Expand All @@ -70,6 +77,8 @@ export default () => {
}
}
}

// 2๋ถ„ ์ฟจํƒ€์ž„ ์ œ๊ฑฐ
if (appModule[funcName]) {
appModule[funcName] = function () {
axios.post('/std/lis/evltn/SelectLrnSttusStd.do', this.$data).then(function (response) {
Expand Down Expand Up @@ -98,8 +107,14 @@ export default () => {
}
});

// ์ธ์ฆ ์šฐํšŒ ๋ฒ„ํŠผ์— ์ด๋ฒคํŠธ ์„ค์ •
$(`#${bypassCertificationButtonId}`).click(() => {
// ์ธ์ฆ ํŒ์—… ๋ฌด์‹œ
bypassCertification();
});

// ๊ฐ•์˜ ์ˆจ๊ธฐ๊ธฐ ๋ฒ„ํŠผ์— ์ด๋ฒคํŠธ ์„ค์ •
$('#btn-hide-lecture').click(() => {
$(`#${hideLectureButtonId}`).click(() => {
if (appModule.listBackup) {
appModule.list = appModule.listBackup;
appModule.listBackup = undefined;
Expand All @@ -109,16 +124,13 @@ export default () => {
appModule.list = appModule.list.filter((v) => { if (v.prog !== 100) return v; });
}

$('#btn-hide-lecture').toggleClass('btn-gray');
$('#btn-hide-lecture').toggleClass('btn-green');
$(`#${hideLectureButtonId}`).toggleClass('btn-gray');
$(`#${hideLectureButtonId}`).toggleClass('btn-green');
});

// ๊ณผ๋ชฉ ๋ณ€๊ฒฝ ์‹œ ์ ์šฉ๋œ ๊ธฐ๋Šฅ ์ดˆ๊ธฐํ™”
$('select[name="selectSubj"]').change(() => {
appModule.listBackup = undefined;
$('#new-features .btn-green').toggleClass('btn-green').toggleClass('btn-gray');
});

// ์ธ์ฆ ํŒ์—… ๋ฌด์‹œ
bypassCertification();
};
6 changes: 6 additions & 0 deletions src/utils/string.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/**
* 36์ง„์ˆ˜ ํŠธ๋ฆญ์„ ์ด์šฉํ•ด ๋žœ๋คํ•œ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
*/
export function generateRandomString(): string {
return Math.random().toString(36).slice(2);
}

0 comments on commit d51b5bf

Please sign in to comment.