前言
折腾过不少语言,例如Python Java C# Javascript,然鹅没一个是会的。都想学都不会,就是玩儿。
目前,就只有Javascript是常用的,算是入门了吧,既然学了,就用起来。
想到教务管理系统可以多加一点功能就有了以下脚本。
使用
免责申明
一切后果由使用者自行承担!
使用方法:使用Tampermonkey ScriptCat(推荐,界面更美观),复制下面的代码粘贴进管理器
👉教程
代码如下:
// ==UserScript==
// @name ZCMU Academic Affairs Assistant
// @version 0.8.6
// @description zcmu教务系统提前查看成绩、自动教学评价、计算GPA、成绩更新提醒
// @author iCraft
// @match http*://jwmk.zcmu.edu.cn/*
// @grant GM_xmlhttpRequest
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant unsafeWindow
// @require https://scriptcat.org/lib/513/1.2.1/ElementGetter.js
// @connect jwmk.zcmu.edu.cn
// ==/UserScript==
(function () {
const elmGetter = new ElementGetter();
//const $ = window.jQuery
const date = new Date();
const nd = date / 1;
if (isURL("xtgl")) {//教务管理主页显示成绩
elmGetter.get(".media-object").then(media =>{media.src=`data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCBYVFRgVFhUYGBgaGBgcHBgcGhwcGhkYGhoZGRgaGhgcIS4lHB4rIRoZJjgmKy8xNTU1GiQ7QDs0Py40NTEBDAwMEA8QHxISHzQrJCs0NDQ0NDQ0NDQ0NDQ2NDQxNDQ0NDQ0NDQ0NDQ0NDQxNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NP/AABEIALcBEwMBIgACEQEDEQH/xAAbAAACAwEBAQAAAAAAAAAAAAADBAACBQEGB//EAEEQAAEDAgQDBQYEBAUCBwAAAAEAAhEDIQQSMUEiUWEFcYGRoRMUMrHB0QZCUvAjkuHxFWJygsKi4gcWJENTstL/xAAaAQADAQEBAQAAAAAAAAAAAAAAAQIDBAUG/8QALxEAAgICAQMCBQMDBQAAAAAAAAECEQMSIQQxURNBBSIyYYFx0fAjkcEUQlKhsf/aAAwDAQACEQMRAD8A8jRaESq2NFWlTlFeRFtVnZrQm5xlQK7gFdjAqsVDWBaCbomNojUWQqAggp2u8uZMd9tFN8lUZ1KmjtolXoMjX+qPUrC8IbFRmPozoqspJ2RyVDdFjoTexULE2WSuimiwoTDVcNTBpqvskrCgTWImaNFMiuylJhOwoK0Fwk9yA6ktZrAwZSLwk68HRTY6FGCDZRlKSmW0UzRwkDMnYUdoYcACbSg4wS6NgmHudEuggbdUhUcSkgKVQ1uiE143XHtK62mrskG5yG8SjuYuFiLFQq9io1qbDfFTKOSdioC15G6j6x0TAw87IOIHRCYUAY1aWFgBZwYStClgzFzPTZEmCR2rXCA6tZMe6jmAhPpgaJWh0LSoiZVE7JoZpEBdqgKzqMbroZIWVmtC+RXa1HOHMSo1iNgoLhQCYK1HOY1hA39EkxoyyBBS5JKXcfYtTplzoCdZg+k9ySY07JnDtM/FCGwSDvwMQMpnnql6uBIW/h6eZuXNJ5qz8CBbNPQ2KjcrU8yKcFXfRELRxNABLZTpsq2FqKNpSrCinG4eYhXNA8ktgoz3UuiYw9HLxQnKFAbqr25nQLdEbDoz8Q5ziZ3VG4QwtCvhspjdccHaI2FQDA0jnEiQncXUbIDfloi4WmQCCcvolatJk2k/VLa2OuBeozhI6ySk3CJAWxWpwACNfRJVWDYKlITQgygXK7sNFt06KoDYAvzQsjjxdU7FQF+GhD9gVoEqgpOKNgozn0F1mHT3uxXH0p3T2FQAsAtPJXNMHZR7JIA2V6jCBy6bosKAtwu+irUqnQKzqhNtlXISiwFnLgYSmW0CTYSjilARsKjP9kuJ2VxOwou6kJtoi0LbStD3CFT3MtKw3RrqxJ9MhcawFaT8O4oJwpbsjYNRWOS4Kaa9mrMpo2FQu2mjtpIwhWZCNh6lsNQfIIlejdT4A4sJOh+8rMwGKyHSQt/ieLOhsbLGUnZcYmPiOzC4S0eCzH4QtsQvS0m87bT/AFR39n5ryD4yjeh62ebo4aU5WwJIGWE/U7OdIgKuIpODvlZLex6mficDlFxdDpdnFrS8jTRapwjnEFxPP+ya9mSNyBEJbj1PLwS6SJTdPCknSJ5rfZRaB8AnqhVGGIIAn8w18k/UDUycRhw61pAsg4TAgkkQSEzUolxA1jz8UCrTyngkDnp3pqQqFceINwJ5BZTwVpVaZJkoAYrjIhoUp0hqUWuXG4EBXcy9kdtEwPkq2FQnhACeJPNcCcoEdUEUYNtV1gHik5WCRMc0aAiBsk2URYEo9QAGyE6TZNMTR17WsBDDJ5/ZKezOpTTKZnRPe72v5J7UGtmO2l0R6VDcpyqMuojuQ4ajYNRWo+LNBKpkd+YAdJTz3DQBKViSmpCaBZxyCipkUTsmjaOIeBBC7SxBcZIWlRpA31Gw6LtbCNgECFx7o6dWKOa0wZMqVAeaew+BadXeC5iMM1iW6sHExy0hDFMrRexqvhn5dge8KtyNTNFAo9PCO5QFpPrgXhoHoO+VnY/8RUgIzAxsy/rp6o2bHqjTw2Da0S47WVm48iwt9V5Kp+JiTZkjq6/kAqD8Skf+0P5v6I/Urn2PoGBx7dCAOq0W3Nh3lfNqf4qP/wAQ/nP/AOV6D8P/AIxNSqyi6iAHEjNnJI4SRaOYA8VnJeBq6PXe7FcGHA1ElMOKI1shRYtmu4qaRJkxorZSBAy9yI58WhWa4TEJbA2wHsLzN0nWYGmDedlrVCBskXOl1wY+yLocW2Zb6QZJdYm9tgsvEPzm1gNFsYppc421sEs7AEGCLqozobRm+yAHNLuw8mwMrc93DLlcDATIBjoqWQWpkNwBbdwV6jCdBAWy+pm4Yju+pXBheINmQb6aBHqBqYT8EdkA4WOi9I9mzY70m/Cybgn5JrIJxMN+HHerMwpWu/C2+FDZhcxyiypZA1M5lDilx0RTJPCCtA4IMMDiPLbxUq0YEmB3I3sNaMesydShsw4O6cqUs3wNnrt5lcw2BLSS4ev0V7cEVyK1KPJKPorcNMcoCC6nyCSmNxMX2Ki2fdFFXqC0D0qRGiPkJR2EJljwuNzN1EWoCDJbKcyseIcCDzR6eXknGMbGgWbkOqMap2bGlwvM/iqpUoMY5hAzOLSYk6SIm2xX0JoC83/4jYcOweaLsex3nLP+S0xzeyTIlR8uxGKe8y97nd5keA0CpKGF0ldRIZt9F6jB/hOq4TnpwYOrtCP9Kx+wMO11ZrHskODoBkbEg+i+jUWmiwPeC2mQA06idhAk6A+Szls3UUawUauTPNf+Sqpv7Rg/m+yVxHYr8JUo1HPa4Gq0WBEQQd+kr2jarg0uJMRPhEojKDa9EVcrXtDvzCSHA5Zgi2vqpWzV1wu5coxXd9zZwFIaladOmAs2iwASbn97p3D1ALLOMvJx5E/YvVwwN0IMy2iU4wg6LnsbytfTcuYmKm1wwDqjdPPohuLdoV34XVLvw8LKWy7o0jr7MXlgcTeUCrWEEi5O8bJk4adEMYWVlbOhOPky3tzOk2C66oRZojrutJ2HAtBQDSE2anZS5FmsyDNAM7f1QH4ozoE3WYTqlH0CmpAwQqxvl6Ij8S0xFupQvdkxh8KD+Xx2TckCIwtIkS5yA/DvaZmJ17lpMYGxHnoFTNzMpKVDoUrOLRZp7z9VnuY5xhxtewWw4A2VHtsqjOhNWKUaQa0R5dVSp1TLmSIMeH3QX05RuFCdZ45q1EiEduFC69o0AVbCoUIKiNB5DzXE9hUaLMOEZlAK7WIjWrjcjajjaIRmsCorgJ2SwootF1l/i5jX4Ku0bMLv5CH/APFaIcBvHilsc9jqb2F7OJj2xmbPE0j6q4N2mkZS+7PhwKe7Gd/EveWmO+xWeF6HsnAsAzwSdpPMcl6EuEL3NLL/ABWVQbt2566+ZXpmdoGvSFGoGhuaZEhwIJcLkxvGi8liCQe4p9r5aRzXO5Si7To3jGMu6GcX2k9jjTaQWN4RYGWxaTvZbVHFsZSNOk8BpMkDivbcydgvLileJVxWyaEX5pbOmk+5o1H3Po3Zhz02u6a91von2UgsH8LY5vsAHua1wc4QTBIMEEA7XK9FTIIDmmQQCCNwdFGrXLPOnkTk0mHZZEBQAVcFb482pi0EKoWhcldlVLIpCoE4DkqOEI6rC55RKTEXDp9UI0louZyQHUyspJo2jMSdTslXMWi5h5Kvs+iizaMxBtPcBFp3BCZczZDLOSLK2TAOpoZoBNEKpCLKUhX2QVTQ6psUwuEI2C0JGgAqmnKeLFTInsVaEDQVHYcLQLFXKjYdIQ9kP0qJzIFE9w1GBTWZ29Wexjcji0l0SO6UzXxTSAQ5zelgsv8AEGJAptJcCA+bxyPRR084yyqJnNS1bMg4qo8lpe46SJt0tol63aApywudlEHKDpOpVAx+KEsHsmNa6HCz6j5JbJH5QYH7svW/Dr4scz3ubmcTqCDJ7h5r2JKlUTgWfHfzOmh52PztABMAWiNPK6Ays0CwdMzPxehKxKOKdRf7N0ENLmnvBI8kdz3Dc+a0gr7mHUSfDi6s0MLg6ImGunnwj6Jp2HbFs3mPsgdnOsZ5D6pyLK/Tj4PPn1WZSq2ZWJoknolHsePzOj/UfotpjNQh1qA5LKeFNcHTg+IThL5naMxtHMZ+aPR4KjDsTlPiDHrCcoUgNAlO1RABGocCO8FEMesR5up9bLS7dj0dMyAvY/h+tmogfpJb9R8/ReLw1YPaHDcA+a9D+F6xFRzTo5oI72/0J8lPUK4HL0m0ctUepCiii89JnrkUUUToCKKLkqXKgOlVIUlSVLlYAy1Uc1FKqVLLTAFqoWpkhDIUMtSFy1VLUctVSFJopAC1VLUwWqhCdlKQIhVIRShuSstMoQhuCKQqkJWUmCyKK8KIsqzzdZ8kybiIHIfU31WVj2U3S+pVBo0y3+GPifUInL1tB8TpBKK9plzjcF0xe/6gekxH9Vj4/sEPJcKjmuccxES25MwLcvktejUI5Fff2/Uw6hSlHVOv2MzEduPe+GOyCCwAaMabW6218oTtH8R1M+VzpAcyTH5BYgd+pKVrsFE5MjSxrZDjrmdAknu+iQwtEljnkOMmA6OG0SB1Xq23I55dPDSqNP8AFWGLKpP6g14+R9R6ruaQ09Agdtdse8ii3LlDGhriPicTAce6RYdSm8JZoHIBEsmnKIxdM8sEpOmhzAOPotOCs/s53Gf9P2T4qTI5KH1b9kJ/B4ydykxWnUIe4H9Lfm5HLpaUi9/8U9WfI/1To0K6sUtops8jq8McWVxj7UdpxCx+1XktN1pB8GFm9qNGU+Kc1wHT8ZEzc/DNfNRA3aS36j0Pot7s3E5arSbQ4A9xsfQrw34YxJDnNnUA+Lf7+i9a0XzTsvIycSPrccVLHX4PoQcOa6vO4ftAkDew890wO0SBcx0KxXVRumjz5dPJG0oshvaJ5ooxphP/AFEWJ4JI0VxZ3vp5qpxzv3CiWePhh6MjSIWXVxLheSJ2gWXffTzVHYw2kC3QLDJlUu1ouGOSfKs0aD5aDvv3qPMCSs/38jl5JapiJ6+KbzpR47hHDJs024pptMHkbIhWIXjl6rg7Sy2knpBIUxzf8kaPA/Y2iqFZY7VPIeqr/jA6eq09SIejM1CqlZv+LA7DzU/xLoEto+Slhn4HyqOCRd2geQ9VT/EDyHqjaPkpYpDxVHLPd2l/pXDjzE8Pr907iWsch+VFne/u5DyP3XEcFaSPJYHFtcJdYyY5QJBJ52tC5Wx4FPM6BBDrTsHE23116BI9lOLjlvGV4sYHFEyNzxeFkDHtcSGNjjDZM5gBcOjyK68cIrJfjk5lyjJxbmuAykk1HEnNsXEZQe5egpFnsRSLxLGuIgRL2gNaBI0IlZlHs+akvsBPPKIEzbWOGy0cZTYyHBzXXAsCDcTf5eC9CElV+RZKbSvsZsCRmG/jCawx/fRBquzEdP3CMzWwsozfTwaYV8w9gfjnoU8BBJWZgKnEPH5LQe9cp1pcGXm/ijucPkfotFj7LJrkio0859U37wALuC9PplcT5r4hjcszpeAr33CSx5kKVcW3aT3D7pCtVzW0710elJ+xGHpptp1RTsutkqMP+aD3Gx+a99TJgSvnnup5r1FLtpsNzSCAM2kE79ea87P0mXukfRYJqKps9IzEuaIABEjnN5lMPOYzaBrrsRusbDdo03kNziDOpgaHmnGV8xIbEZo1tAAM932XidRgnGXKoc2tuA5e4HUiIMbEW0HjCszEvuAd9T3DfcfZAdULRAu4EXtcAB0ydpsg+8l3DAnRwGxgQJ3sT5LJRZm5Gs7EObd2kE+Qgwl29pHK4kSRoOukH97rNbXLGlrnXIsw9xFjGvlYKrQGydOewA/KCdBYfJWosNvBuUu0mEX1j0/f0V2doNOp5/KVgtewaRlt5XmI5ARKVdiiXSG2uXRJgktEEAW3trZUoSfYVnrhUBJ3iD5/ufFQPB0heWo48tPO8QOXFPoN+fVFw3aIDQ4/CTETpMTO9ufVQ8ckUpI9E5o5lDdSas5vaEnNoCI7zJuI7vRE9+Em4vsL7SQs+fBakNOpg/2QzhwozECJ3j15fJdNTQxYifl9yp2NFJFPYA8/NCdQPPRMNqC06GPVWLb2T2GmhNzDz9VTKdLeaeQXW29PVUpNlJCb6RuVTiGvyT4dr5ITmf01VbMbQnmfzURp6epXU9mTR4jAOyYhrA7MMhnqenkU9iLYpgbo2mPWR8iq4fBRUa/dpggXLi4c5jK2HXH9U82iDWvE5RfizBsCB+ki82vr0XoTmtr+3/Z59NIze2ajmudU0ysYGRpLjJd3gX7wDss/BMNSm9zWFz89MCB35u4XEpztfB1Xsa0GwqENBMEgycw2iXG87clXED3emGNPG53EQdXWB7jZvmDut4SWiS7/ALBXNjOF7MeC4Pa5ggnnJJhkEWs6Ab796M3AvMQLENcb6NMidb6T4hbvY73PY0uiYyOAgDMHNcDbvAtu1Z2dzXvDhHxgOj8tsoA5QLBcjzylJrwaL5aaKnBhrhBg2DW2BsIc7uudei5iGlskRwiTvpM2+60DTzSC4ZqoAAlrcrQOJonXiDvA9JS/aWDOd2V3xgiTpLh/2nwUrI06bKc5VwZ3a2AD7MH5M14EzpraLgrzVFrw8MmTyPdNydF9GwVNoa0XOVgbfUwACSB3jwCUwPZ9Jpc4EPeXFwebyDmDfi3MjlpuujB1zwpoTV8njBiOPJE63G8amDtYouYHoP8AMIPivS4nAsbnc4n4eERmiRqSTI+xOt1TD4Rji1rWAHKHNJG5PFtMjnyB5r0I/FlV1wS4qzz4wo2BHccvoNVHYR4NiSeTmz6iF6HB9mNL2uc9phpMNzAHLBNyNZMJ9uALsxe4DYWEgg2JPh/0lE/i8FxQas8iaVYa0s3Vrv8Aibq+HxTWnjc+meRaR6hb2Ipw2o0H4HloMmTJgTEQAPkUjX7Cio2eJuYZi7rAiQN3EgDx0CzfxLdU+BUVqdsMYJzPf+UG5J1sCY/V6ovYnajnmoAyJyRJklzntA20uqYXs5tRz2gx7Jry1oEgiXc9HaD+yZ7EwRa9ro4XNHidfsfJcWaeNxdrkEPMp53v4uFgyg72Lszz5W6FKvxThnLQC4HQ3BcC6xmRzsORV6zjRpZZlzqjw6+0Ez0sP+pI16RbRLyLvLnmdi5wa2P9pce9YQjb57dkJsbZUaLFrW5hreCQCTcGIEaIDa7srmsa4knNIsCXXcJNtZE9yWweNcWtc5k5g4OftwBzfAiRPhub1fXqNZIbmEhucCQWwHtaRvr6xstdPmFZWtjHF0BpsIkknh0lp7tr2KYOOaGsALcxdGgjXcRrpeJslaFMuD2nhc55DSZ+Js6TeAf3yWxVJ0kFpLmsZJAM5jl+rh0WmkW6C2bvtS1rXTJeJjW4ym3LUrtPEASS4TctPFYXzXiJgjySuHIcDOrGsYY/K4yCTsYIHy6rjnOGUWOhc3i0GhAEZjB0MxZYemuxdmjh8W4ZWZmkPECBG0NJOsW1HRMM7RaGjK423NpNpAEmN51XmHl/tA0GHAG8aN1GmhIPqnBUc1zmOEhgcZ3NpJFtbEolgiyoyZvsxzcrZuNOtr+Jm/iqDtlrH8RM5i076yR4CwlZtZ5Lg0EiSTv3Edw18+SSxjctMOOU8YMzsZDRH+0n+yyjgi+/uDk0euo4sEwbENBMeMj5+SI2uHC2xI8RY38F5TC4pzmBxdJLXCADGWTDi7bW0pyvisjWtA42AZovlnjGukyPJZy6Zp0aRys3yQTF7dNzcLj9rfslYuH7UzPdY6DuDTq6+w+qZ971BIJExfrw+OqyeKcWUstj3s+/zH2USraoOpPmFxT8xW7MXFYhoFR5aSADYEC5BacpIgW26I+GcQXVDLmihmB3dkBEd8j5rHYSabAI46xInUNbmgCNdZ8Vr9n121sO9jZDYc1txGSZcR3gO7l6c4ax/Nfg41K+Bal2jmYHBwzhpaARmIc4k5i3cAQPNBq4APrs4os57gJPE8zvoBlYPFWwGHD3Frg1rg8uJ3DARmEjQ2A/3J8YpjHZzo5wJJMwNdJ5fuyTerah3/cUe3JqYDKAGt/K5rT32JvueZ5ylGvAc9uXhkkEj85BiL6C3kpThj2taTlkvJkmRAa2Xb7nwCXdiRTLw8BxcBYbnVpBjRwkc5IXMoO21zZo5Vwdp4kNLwW8LajCJ1yPdkfB6x6lVq1y9zcphjDLp1a5ux5yHCO9Z1GuQ+rmiC4NE8mh7Zg7SqvxQbLQS979XH4REEmCLwBN+S6fS5/ngna+D0fZtXMXv/L7VwA/ywJ9Y81myWPLS2M1Wm1v+kSbX6apj8Om1RszlIvFybEpDH1oriScrW5vEHKPm7yWEI/1JR+xT+mxl2KzQ1zZEvaT+oMbDTrqAZ1RMBWEMJJlt4te7RfpqPFBpkNpUw5tnyOoPEc19PiA7pS2NY6llM/GCB1vm+gVaJ8IXK5Nqhh3NBn8r3QdAWveCBB2hsqUqwHCXcRD3AcxMAn+b1QsdUcDTLTZ0gx+oW+QshNb/wCqJdaGkBo3aASHRsLAd48sktk2/uy/0GyJY4uj4g488rXSB5mPApl7wabS4CCQbzZwAdIg6jZKuqfxnMmQWPMRbQn5qlPE5nATDYc4CBHwvt4281FPv+Re4fs7DNoteZJLyQXGBY5iGgbanyRnVAAHEQGZQHafGW5vGGqVMS0sAc0ZiA7Wwmwkb/EPNZbqjXgOIPsw17yB+lsQzxMIUXN2xvhUgWIwrqo9mZa4ve5xMzkDmzHW0eARu08Ex7W0yH8WUNyxADAYBkakucAOs7J8vBDXTxOZLSBw3OaJ2uAPBCp4sPDntLZaCXWJsQW2OgMgHmVtHJK0/Zf+i1QgygadHK8hxc8AN0DGxdkH4QQBP3ui4LDgNcC4vnKGgy0cEuOUGNeYOpQe0C4sZm/M/i/3BjgZ81VtR7Kns3ublNhEwMp4THMwdeavmSbv7/2IfEiVWcYc5xDYaWlt3ZmjjaAJuZmeg3siNp8Jc1su0EuLr5eGJgkG22oOi7imZGsfBA4iJvAJFzfWQT4pSj2m0tFOmxzS4hpLjmJzAkRYazPiqi3KNxGuO4fD4NzGt9pIfUDWlhvBYCGutuZbtt5NUGZxYhxIaLZQZiM2aDJOmhtvZK1qgL2OABPsyCDpmJGo8UfCVySW5X2c6Y+ECTILOY8bqW2/mLi1dBfZ8TgYNrguANtGtBI3E21Mcl14E7gaRGpFzvYw06JapBeBwkSZymxHPSQRlvbfdHZWnLwhzWkuBm5DuEXO4l3kpafHkq12DGiDBaQcwEbAD8p7oJKysU9oYCYPG4w7SWkN0Atq8wea69rg1uSTmcIG8gPdFuhXMbWa14a4EwZvpcZctuojVVCLv7GcnxZMJTbljVrDnDbyBOUDkRJg95TAwfFnc45i10ifiuSJEGUtheBr3DOJcRDTOUN+ITvqDa+q0K7iWObN2gHNuQA0i5MwTfr3XTnd8Auws+hBAADpJhtgCItm3g/sodN9w82ADpHPK75awdUd1cEZi2SJaDyLgXH/AOoHiUs9/Bmu5rrAQbmSd+jdEo3XJOy7i9XtOSTxDaAQACLGI6hRA92pm7mCTcwG/ZRbaw8fz+5PqMS7VcW0mZSOGSLbFoYNe8LU7PxbW0d/gA0iDkJOltSVFFpNbY1fkwt2G7PrAtc52uWXOHIBx05gT3rzOKxZcXP3gho1DRmA0Nvht5riifTpbN/ccm6R6PCVT7FjJOhpzyc0ZWnugt9VXGU6ho03AAkUyH3FvZvgm+u2iiiy7S/JpF8MwMXVJeXAmHuvP+WYjkI9ZWp2VhjVa/KbhognoXNffq0geCii6MrqFoUOZG1gAKAM8ReQLWiXtaDPiDCR7beJ+HidLQZiAYnv+IqKLjgv6l/r/g29hvtEzUy6llF7hyBz2tvZrVx7H1KLD+Zr5HcWjMZ79uqiiV6xVFIPiQ5uUEiW5nN1gOJDcp52JMqox1dtVtMEEZRmMNk5g7cibd6iiiD4/DH7hcdULa1O3wtMxyhs+pKWw0EN5EZm68I4ZHzHkoopj9Cf2/cmX1M0KbBlBcJBdkPcTYDpELKFEmWzwPeD4uBEG8xMm3TwiiMLfI2O0qk02NcSIgGOQL4Hz80SkM5q3ABc3UbgCYAFrEeSiiT4sZWu95HFEAmRqQ0awe4FedxDH1q5a2wa65mOGQ0HnO3ioounp/pciMhp9rAljYNmgOPcXWHkfUrGwVfKCZux1rdR6gR+woorwq4P9TCTexrYyl7Ou68h799RJzD0jyRKjyxpcZ4nuIIMbwQbHeDpsoosVzVjT5YTshzKbXPc/NMCSHRa4GUDSAFx9UsIHC4PaRZoDZAGjSLTPLZRRP8A3fzwXs6Eq1fKGX4nFzib2h2UAfyn+YpWtjACJ+FwAJGsmS4i1rqKLoxxTM5SdGxhu13UmcMvBaTcxmu4XBtNte5X7OxhdUcx7W8ZIJgTZthIF7Tr9lFFhkXyse74M3HPyl8khoc3S9zO1kSpVJpNAmM4Agxs+b67t8lFFa+lP7/4M7fItQJLRxH+1lFFFrSM7Z//2Q==`})//修改头像
if (date.getMonth() <= 3) {
var xqm = 3;
} else { xqm = 12 }
if (date.getMonth() <= 9) {
var xnm = date.getFullYear() - 1;
} else {
xnm = date.getFullYear()
}
const area = `<div class=""><div class="index_wdyy" id="fakeScore" style="height:320px;margin-top:-250px"><h3><span>成绩PLUS</span></h3><ul class="insert" id="index_wdyy" style="height: 350px;"></ul></div></div>`
$(".col-md-3").append(area)
$(".insert").append(`<div class="list-group" id="ext-group">`)
GM_xmlhttpRequest({
method: "POST",
url: "https://jwmk.zcmu.edu.cn/jwglxt/cjjfgl/xkjsjfsqsh_cxKcxxView.html?doType=query",
headers: {
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
},
data: "kcmc=&xnm=" + xnm + "&xqm=" + xqm + "&_search=false&nd=" + nd + "&queryModel.showCount=15&queryModel.currentPage=1&queryModel.sortName=&queryModel.sortOrder=asc&time=0",
onload: function (response) {
let storedScore = {};
let data = JSON.parse(response.responseText).items;
let len = data.length;
let diff = {};
let oldScore;
if (GM_getValue("firstrun") === undefined) { console.log("first run!") } else {
oldScore = GM_getValue("score");
}
for (let i = 0; i < len; i++) {
let kcmc = data[i].kcmc;
let cj = data[i].cj;
// console.log(oldScore)
//console.log(kcmc in oldScore)
if(GM_getValue("firstrun")===true){
if (!(kcmc in oldScore)) {
diff[kcmc] = cj
//console.log(diff[kcmc]);
if (cj < 60) { diff[kcmc] += "#很抱歉,您挂科了,嘤嘤嘤~" } else { diff[kcmc] += "#恭喜您,通过了!" }
}
}
storedScore[kcmc] = cj;
const extra = `<a class="list-group-item"><span class="title">${kcmc}</span><span class="fraction float_r">${cj}</span></a>`
$("#ext-group").append(extra);
}
//console.log(diff)
GM_setValue("score", storedScore);
let news = "";
for (let i in diff) {
news += `${i}    ${diff[i].split("#")[0]}<br>${ diff[i].split("#")[1]}<br><br><br>`
}
//console.log(news)
//console.log(Object.keys(diff))
if (Object.keys(diff).length !==0) {bootbox.alert({"size":"large","title":"成绩出炉,仅供参考","message":news})}
if (GM_getValue("firstrun") === undefined) GM_setValue("firstrun", true);
},
onerror: function (error) {
console.log(error);
}
});
} else if (isURL("cjcx")) {//成绩查询
GM_xmlhttpRequest({
method: "POST",
url: "https://jwmk.zcmu.edu.cn/jwglxt/cjcx/cjcx_cxXsgrcj.html?doType=query",
headers: {
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
},
data: `xnm=&xqm=&_search=false&nd=${nd}&queryModel.showCount=150&queryModel.currentPage=1&queryModel.sortName=&queryModel.sortOrder=asc&time=2`,
onload: function (response) {
const data = JSON.parse(response.responseText).items;
// console.log(data)
let zxfjd = 0, zxf = 0, xwzxfjd = 0, xwzxf = 0;
let bxk = '', xwk = '';
for (let i = 0; i < data.length; i++) {
if (data[i].kclbmc.includes("必修") && data[i].xfjd != 0 && (!data[i].kkbmmc.includes("体育"))) {
//console.log(data[i])
zxfjd += Number(data[i].xfjd);
zxf += Number(data[i].xf);
bxk += `${data[i].kcmc}<br>学分:${data[i].xf}  成绩:${data[i].bfzcj}  绩点:${data[i].jd}    学分绩点:${data[i].xfjd}<br> <br>`;
}
if (data[i].sfxwkc === "是") {
xwzxfjd += Number(data[i].xfjd);
xwzxf += Number(data[i].xf);
xwk += `${data[i].kcmc}<br>学分:${data[i].xf}  成绩:${data[i].bfzcj}  绩点:${data[i].jd}    学分绩点:${data[i].xfjd}<br> <br>`;
}
}
const GPA = (zxfjd / zxf).toFixed(2), XWGPA = (xwzxfjd / xwzxf).toFixed(2);
let textColor, title;
if (XWGPA >= 2) {
textColor = "black";
title = "\u76ee\u524d\u6bd5\u4e1a\u65e0\u5fe7\u54e6\uff0c\u8bf7\u7ee7\u7eed\u4fdd\u6301\u007e";
} else {
textColor = "#ff0505"
title = "\u4e0d\u80fd\u6bd5\u4e1a\u5566\uff0c\u52aa\u529b\u91cd\u4fee\u5427\u0021"
}
let bootBoxBx = `{ size: 'large',title: '必修课程:不包含体育、实践课程',message: '${bxk}'}`;
let bootBoxXw = `{ size: 'large',title: '学位课程',message: '${xwk}'}`;
const GpaLabel = `<label id="GPA"style="color: black;margin-left: 150px;margin-top: 7px;font-size: 20px;" title="仅统计必修课程" onclick="bootbox.alert(${bootBoxBx})">GPA:${GPA}</label>`
const XwgpaLabel = `<label id="GPA"style="color: ${textColor};margin-left: 150px;margin-top: 7px;font-size: 20px;" title=${title} onclick="bootbox.alert(${bootBoxXw})">学位课程GPA:${XWGPA}</label>`
$("#searchForm").find(".row").append(GpaLabel);
$("#searchForm").find(".row").append(XwgpaLabel);
},
onerror: function (error) {
console.log(error);
}
});
} else if (isURL("xsxy")) {//学业情况
$("#alertBox > font").eq(1).replaceWith("<a>" + $("#alertBox > font").eq(1).html() + "</a>");
$("#alertBox > a").attr("name", "showGpa");
} else if (isURL("xspjgl")) {//自动评价
// let num = Number(document.querySelector("#wpj_yq>span").innerHTML);
let event = new Event("input");
document.querySelector(".mui-clearfix").click();
setTimeout(() => { $("#submit").click() }, 1500);
setTimeout(() => { $("#btn_ok").click(); }, 2000);
elmGetter.each(".range-slider__range", document, range => {
$(range).attr("type", "text");
if ($(range).next().attr("class").includes("fxzb")) {
$(range).attr("value", $(range).attr("min"));
} else {
$(range).attr("value", $(range).attr("max"));
}
range.dispatchEvent(event);
})
elmGetter.each("#li_2_02>div>.zbgs_ejzb>div>.checkbox-inline", document, checkbox => {
if (checkbox.innerText.includes("以上都不是") === false) {
checkbox.click();
}
})
}
function isURL(str) {
if (location.href.includes(str)) {
return true;
} else {
return false
}
}
})();
功能展示
1.成绩Plus
你还在为了早点知道成绩而烦恼吗?还在用学分替代、学科竞赛等途径查找分数吗?
主页显示,成绩Plus让成绩一目了然,新成绩出来时还能提醒。

2.自定义头像
被人看到照片尴尬?试试自定义头像吧。

修改方法:将改我替换为头像的URL或者Base64编码,图片转Base64可以通过在线工具实现
media.src=`改我`
3.GPA显示
教务系统GPA显示不准确?学位课不达标,不能毕业?
显示GPA,不再为GPA发愁。
提示
笔者没有看到今年的GPA排名,不知是否准确。按照以往要求排除体育和实践课程计算。
点击可以查看详情哦



4.尝试改善学业情况GPA长时间不更新问题
提示
笔者也不知道自己的GPA准确值是多少,仅通过挖掘代码发现bug并尝试修复,恢复对话框。不对准确性负责。
核心代码(来自正方系统自身代码)
$("#alertBox ").off("click","a[name='showGpa']").on("click","a[name='showGpa']",function(){
var gpa=$(this).next().text();
$.showDialog(_path +'/xsxy/xsxyqk_cxShowGpaView.html','查询',{
width:"900px",
modalName:"showGpaModal",
data:{gpa:gpa},
buttons:{
cancel : {
label : "关 闭",
className : "btn-default"
}
}
});
});
可以对必修课进行统计,疑似将体育课也算了进去,不准确。

5.教学评价
自动进行教学评价,仅评价必选项

To Do
1.选课学分达标统计
2. 没有2了,能用就行
