This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // ==UserScript== | |
| // @name 北京人才引进落户进度查询 | |
| // @namespace http://tampermonkey.net/ | |
| // @version 1.0 | |
| // @description 北京人才引进落户进度查询 | |
| // @author WhoCare? | |
| // @match https://fw.bjrcgz.gov.cn/* | |
| // @grant none | |
| // ==/UserScript== |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * File: core/React.js | |
| * Author: Kairui Liu | |
| * Date: 2024-03-11 | |
| */ | |
| // utils | |
| function isTextNode(node) { | |
| if (typeof node === 'function') return false; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| let rawId = null; // store cert id (get it from server actually) | |
| // registor | |
| let challenge = window.crypto.getRandomValues(new Uint8Array(32)); | |
| let user = { | |
| id: Uint8Array.from(window.atob("UZSL85T9AFC"), c=>c.charCodeAt(0)), // sample user id in Base64 | |
| name: "kairuiliu@msn.com", | |
| displayName: "Kairui Liu", | |
| }; | |
| let relyingParty = { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const apiInfo = Array.from( | |
| document.getElementsByClassName('operation-tag-content')[0].children | |
| ).map((d, i) => ({ | |
| href: null, | |
| method: d.querySelector('.opblock-summary-method').innerText.toLowerCase(), | |
| button: getButton(i), | |
| apiContent: d, | |
| })); | |
| function tryLogout(idx) { |