Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.16 project: loveplaza-dev #26

Merged
merged 25 commits into from
Jul 13, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
06acb8b
+function_plot
aquamarine5 Jun 10, 2024
11c9f6c
limit by CSP
aquamarine5 Jun 12, 2024
d870e91
fix #25
aquamarine5 Jun 18, 2024
23b853c
red bean
aquamarine5 Jun 27, 2024
aafaf52
fix web_accessible_resources bug
aquamarine5 Jun 28, 2024
cac9ea0
+progress_bar ~formula_xml
aquamarine5 Jun 30, 2024
c28fe1a
+animatedEffect
aquamarine5 Jun 30, 2024
5a684e7
cleanup, score:0->520, show progress_bar
aquamarine5 Jul 1, 2024
065b194
+setupPopup.matchURL +maltese +formula_pt0
aquamarine5 Jul 2, 2024
ac83961
+animatedMALTESE ~css
aquamarine5 Jul 2, 2024
fcddaa6
~CodeQL:Incomplete regular expression for hostnames
aquamarine5 Jul 2, 2024
ec77656
+tips
aquamarine5 Jul 2, 2024
9584b19
+score_move
aquamarine5 Jul 5, 2024
abde233
correct the absolute_position, +removeInTimeout
aquamarine5 Jul 6, 2024
0a9cb79
cleanup:remove_notice, .2s->.5s, +font-size.transition
aquamarine5 Jul 12, 2024
7cdf2b2
+opacity.transition
aquamarine5 Jul 12, 2024
24a150c
~startButton +notice_close_btn +flag:ext_no_notice
aquamarine5 Jul 12, 2024
cc55cda
~standard_filename +animateEnded +<br/>
aquamarine5 Jul 12, 2024
432081e
+icons for loveplaza_btn
aquamarine5 Jul 12, 2024
7d3e966
+final_btn +loveplaza_logo
aquamarine5 Jul 13, 2024
59e4cad
remove unused resources
aquamarine5 Jul 13, 2024
7fe923f
+start_animatedFrames, +author_mark
aquamarine5 Jul 13, 2024
6aa48e7
~css +feedback
aquamarine5 Jul 13, 2024
9255108
~editmodeOnclick +dynamicMargin +tryRemove
aquamarine5 Jul 13, 2024
df08107
video has been uploaded and updated the link
aquamarine5 Jul 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ZhixuewangScoreExtension/content-scripts/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ function report_detail_v2(request, sendResponse) {
for (let index = 0; index < subjectScore.length; index++) {
const element = subjectScore[index];
var score = parseInt(element.getElementsByClassName("specific")[0].textContent.replace("/", ""))
if (score == NaN) continue;
if (isNaN(score)) continue;
fullscore += parseInt(element.getElementsByClassName("specific")[0].textContent.replace("/", ""))
}
var fullscore_position = $(".general span.increase")[0]
Expand Down
18 changes: 18 additions & 0 deletions ZhixuewangScoreExtension/content-scripts/loveplaza-katex.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
mi{
font-family: KaTeX_Math;
}
mo mn{
font-family: KaTeX_Main;
}
@font-face {
font-family: KaTeX_Main;
src: url(fonts/KaTeX_Main-Regular.woff2) format("woff2");
font-weight: 400;
font-style: normal
}
@font-face {
font-family: KaTeX_Math;
src: url(fonts/KaTeX_Math-Italic.woff2) format("woff2");
font-weight: 400;
font-style: italic
}
72 changes: 72 additions & 0 deletions ZhixuewangScoreExtension/content-scripts/loveplaza.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
function checkScore(s) {
return s == 520 || s == 521
}
function checkButtonDisplay(s) {
if (checkScore(s)) showButton()
else {
var elements = document.getElementsByClassName("ext_loveplaza_button")
if (elements.length > 0)
document.getElementsByClassName("ext_loveplaza_button")[0].remove()
}
}
function checkButtonDisplayBuiltin() {
checkButtonDisplay(parseInt($(".general span.increase")[0].textContent))
}
function showButton() {
$("span.bold")[0].setAttribute("style", "margin-right: revert;")
var button = createElementEx("div", "ext_loveplaza_button", $("span.bold")[0])
button.textContent = "❤️🎉"
button.onclick = onButtonClick
}
function onButtonClick() {
document.getElementsByClassName("ext_loveplaza_button")[0].remove()
cleanupLayout()
$("div.hierarchy")[0].setAttribute("style", "display: flex; justift-content: space-around; ")
var image = createElementEx("img", "ext_loveplaza_img", $("div.hierarchy")[0])
image.setAttribute("src", chrome.runtime.getURL("images/loveplaza_pt1.png"))
var fontStyle = createElementEx("style", "ext_loveplaza_font", $("div.hierarchy")[0].children[0])
fontStyle.textContent = "mi{font-family: KaTeX_Math;}mo mn{font-family: KaTeX_Main;}math{font-size: larger;}" +
"@font-face {font-family: KaTeX_Main; src: url(" + chrome.runtime.getURL("fonts/KaTeX_Main-Regular.woff2") + ") format(\"woff2\"); font-weight: 400; font-style: normal}" +
"@font-face {font-family: KaTeX_Math; src: url(" + chrome.runtime.getURL("fonts/KaTeX_Math-Italic.woff2") + ") format(\"woff2\"); font-weight: 400; font-style: italic}"
var formula = createElementEx("div", "ext_loveplaza_formula", $("div.hierarchy")[0].children[0])
formula.innerHTML = "<math xmlns='http://www.w3.org/1998/Math/MathML' style='font-family: KaTeX_Main'>" +
"<mi> f </mi> <mrow> <mo> ( </mo><mi> x </mi> <mo> ) </mo> </mrow> <mo> = </mo>" +
"<msup> <mrow><mi> x </mi> </mrow> <mrow><mfrac><mrow> <mn> 2 </mn></mrow><mrow> <mn> 3 </mn></mrow></mfrac> </mrow> </msup>" +
"<mo> + </mo> <mn> 0.9 </mn> <msqrt> <mn> 9 </mn> <mo> - </mo> <msup><mrow><mi> x </mi></mrow><mrow><mn> 2 </mn></mrow> </msup> </msqrt> " +
"<mi> sin </mi> <mrow> <mo> ( </mo><mfrac><mrow> <mn class='ext_loveplaza_score'> 521 </mn></mrow><mrow> <mi style='padding-block: 2px;'> &#x03C0; </mi></mrow></mfrac><mi> x </mi> <mo> ) </mo> </mrow></math>"
var progressContainer = createElementEx("div", "ext_loveplaza_progress_container", $("div.hierarchy")[0].children[0])
var progressBar = createElementEx("div", "ext_loveplaza_progress_bar", progressContainer)
progressBar.setAttribute("style", "--progress: 0%;")
}
function onAnimatedFrame(i, maxIndex) {
if (i == maxIndex) return
var image = $(".ext_loveplaza_img")[0]
Fixed Show fixed Hide fixed
var score = $(".ext_loveplaza_score")[0]
var progerssBar = $(".ext_loveplaza_progress_bar")[0]
Fixed Show fixed Hide fixed
Fixed Show fixed Hide fixed
var subject = $(".single .sub-item")[0].children[i]
score.textContent=parseFloat(score.textContent)+parseFloat(subject.getElementsByClassName("blue")[0].textContent)
}
function cleanupLayout() {
$(".general span.specific")[0].remove()
$(".single")[0].setAttribute("style", "max-width: 488px; ")
$(".general")[0].setAttribute("style", "border-bottom: revert; max-width:488px; ")
var subjectItems = $("div.sub-item")
for (let index = 0; index < subjectItems.length; index++) {
const element = subjectItems[index];
element.getElementsByTagName("div")[1].setAttribute("style", "margin-left: 70px;")
}
var subjectItems = $("div.subject")
for (let index = 0; index < subjectItems.length; index++) {
const element = subjectItems[index];
element.setAttribute("style", "width: revert;")
}
}

function createElementEx(tagName, className, parent) {
var e = document.createElement(tagName)
e.className = className
parent.appendChild(e)
return e
}

document.ext_functions_plaza = checkButtonDisplayBuiltin
53 changes: 32 additions & 21 deletions ZhixuewangScoreExtension/content-scripts/popup-recommend.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,29 @@
var i = 0;
var interval = setInterval(function () {
i++;
console.log(i)
if (document.getElementsByClassName("hierarchy").length != 0) {
console.log("Load successfully!")
clearInterval(interval)
interval = null;
setTimeout(execPopupRecommend, 1000)
}
if (i > 100) {
console.log("try 100 times, clear interval action.")
clearInterval(interval)
interval = null;
}
}, 100)
var interval = setupInterval()
function setupInterval(){
return setInterval(function () {
i++;
console.log(i)
if (document.getElementsByClassName("hierarchy").length != 0) {
console.log("Load successfully!")
clearInterval(interval)
interval = null;
setTimeout(execPopupRecommend, 1000)
}
if (i > 100) {
console.log("try 100 times, clear interval action.")
clearInterval(interval)
interval = null;
}
}, 100)
}
function execPopupRecommend() {
if (checkAllScorePublished()) {
console.log("a")
var parent_div = document.getElementsByClassName("hierarchy")[0].children[0]
var recommend_div = createElementEx("div", "ext_recommend_div", parent_div)
document.ext_functions_plaza()
var parent_div = document.getElementsByClassName("hierarchy")[0]
var recommend_div = document.createElement("div")
recommend_div.className="ext_recommend_div"
parent_div.after(recommend_div)
var text_div = createElementEx("div", "ext_recommend_text", recommend_div)
text_div.innerText = "需要智学网插件的帮助吗?"
var classrank_button = createElementEx("div", "ext_recommend_button", text_div)
Expand All @@ -44,14 +49,20 @@ function execPopupRecommend() {
tips.innerText = "插件功能由 ZhixuewangScoreExt(v" + version + ") 提供,并非官方提供的功能。 @海蓝色的咕咕鸽 (@aquamarine5, RenegadeCreation)"
var github_repo = createElementEx("a", "ext_recommend_link", tips)
var github_script = createElementEx("a", "ext_recommend_link", tips)

github_repo.setAttribute("href", "https://github.com/aquamarine5/ZhixuewangScoreExt")
github_script.setAttribute("href", "https://github.com/aquamarine5/ZhixuewangScoreExt/blob/main/ZhixuewangScoreExtension/content-scripts/core.js")
github_repo.setAttribute("target","_blank")
github_script.setAttribute("target","_blank")
github_repo.innerText = "Github 项目地址"
github_script.innerText = "Github 脚本页面"

var dropdownlist=$(".el-select-dropdown__list li")
for (let index = 0; index < dropdownlist.length; index++) {
const element = dropdownlist[index];
element.onclick=function(){
clearInterval(interval)
interval=setupInterval()
}
}
}
}
function editModeButton() {
Expand All @@ -70,7 +81,7 @@ function editModeButton() {
const element = subjectItems[index];
var container = createElementEx("div", "ext_editmode_container", element)

var onclickCommand = "var s=this.parentNode.parentNode.getElementsByClassName('blue')[0];s.textContent=parseFloat(s.textContent)%%;var g=document.getElementsByClassName('general')[0].getElementsByClassName('increase')[0];g.textContent=parseFloat(g.textContent)%%"
var onclickCommand = "var s=this.parentNode.parentNode.getElementsByClassName('blue')[0];s.textContent=parseFloat(s.textContent)%%;var g=document.getElementsByClassName('general')[0].getElementsByClassName('increase')[0];g.textContent=parseFloat(g.textContent)%%;document.ext_functions_plaza()"
createButtonEx("div", "ext_editmode_btn_minus", container, onclickCommand.replace(/%%/g, "-5"), "-5")
createButtonEx("div", "ext_editmode_btn_minus", container, onclickCommand.replace(/%%/g, "-1"), "-1")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,46 @@
background-color: #14cdc8;
transform: translateY(2px);
}
.ext_loveplaza_score{
padding-block: 2px;
}
.ext_loveplaza_button{
display: inline-block;
padding-block: 6px;
padding-inline: 14px;
margin-inline: 8px;
font-size: 14px;
cursor: pointer;
text-align: center;
text-decoration: none;
outline: none;
color: #fff;
background-color: #14cdc8;
border: none;
border-radius: 15px;
}
.ext_loveplaza_button:hover {
background-color: #14cdc8;
}

.ext_loveplaza_button:active {
background-color: #14cdc8;
transform: translateY(2px);
}

.ext_loveplaza_progress_container{
border-radius: 25px;
background: #eee;
}

.ext_loveplaza_progress_bar{
width: var(--progress);
height: inherit;
border-radius: 25px 0 0 25px;
background: #0f0;
transition: width .2s;
transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.ext_recommend_text {
padding: 12px;
Expand Down Expand Up @@ -82,4 +122,11 @@

.ext_editmode_container{
margin-left: 75px;
}

.ext_recommend_div{
background-color: #fff;
font-size: 18px;
padding-left: 28px;
padding-bottom: 20px;
}
Binary file not shown.
Binary file not shown.
Binary file added ZhixuewangScoreExtension/images/loveplaza_pt1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ZhixuewangScoreExtension/images/loveplaza_pt2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ZhixuewangScoreExtension/images/loveplaza_pt3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ZhixuewangScoreExtension/images/loveplaza_pt4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ZhixuewangScoreExtension/images/loveplaza_pt5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
52 changes: 52 additions & 0 deletions ZhixuewangScoreExtension/loveplaza-function.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<math xmlns='http://www.w3.org/1998/Math/MathML' id="ext_loveplaza_math">
<mi> f </mi>
<mrow>
<mo> ( </mo>
<mi> x </mi>
<mo> ) </mo>
</mrow>
<mo> = </mo>
<msup>
<mrow>
<mi> x </mi>
</mrow>
<mrow>
<mfrac>
<mrow>
<mn> 2 </mn>
</mrow>
<mrow>
<mn> 3 </mn>
</mrow>
</mfrac>
</mrow>
</msup>
<mo> + </mo>
<mn> 0.9 </mn>
<msqrt>
<mn> 9 </mn>
<mo> - </mo>
<msup>
<mrow>
<mi> x </mi>
</mrow>
<mrow>
<mn> 2 </mn>
</mrow>
</msup>
</msqrt>
<mi> sin </mi>
<mrow>
<mo> ( </mo>
<mfrac>
<mrow>
<mn> 521 </mn>
</mrow>
<mrow>
<mi> &#x03C0; <!-- greek small letter pi --> </mi>
</mrow>
</mfrac>
<mi> x </mi>
<mo> ) </mo>
</mrow>
</math>
10 changes: 6 additions & 4 deletions ZhixuewangScoreExtension/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "__MSG_PACKAGE_NAME__",
"version": "1.15",
"version": "1.16",
"manifest_version": 3,
"description": "用于在智学网成绩报告页面快速更改为满分的插件",
"default_locale": "zh",
Expand All @@ -21,21 +21,23 @@
],
"js": [
"libs/jquery-3.6.0.min.js",
"content-scripts/loveplaza.js",
"content-scripts/core.js",
"content-scripts/popup-recommend.js"
],
"css": [
"content-scripts/popup-recommend.css"
"content-scripts/zhixuewang-ext.css"
]
}
],
"web_accessible_resources": [
{
"resources": [
"/images/*.png"
"/images/*.png",
"/fonts/*.*"
],
"matches": [
"<all_urls>"
"https://www.zhixue.com/*"
]
}
]
Expand Down
Loading