-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
83 lines (72 loc) · 2.59 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// ==UserScript==
// @name 密码自动填充
// @namespace http://tampermonkey.net/
// @version 0.6.2
// @description 禅道--懒人专用的密码填充插件
// @author zeMing
// @match *://*.project.chinachdu.com/*
// @match *://*.project.chinachdu.com/user-login*
// @icon https://cdn.chinachdu.com/webStatic/wechat-applets/nyt-static/xiao-sun.png
// @license MIT
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_listValues
// ==/UserScript==
/**
* 前言
* 感谢使用,本脚本针对的是禅道的免登录密码自动填充。你作为使用者,应该具备一定的IT知识。
* 代码的第7行、第8行代表的是脚本的运行网址。作者使用的为project.chinachdu.com所有的页面
*
* 你需要做的是:
* 将代码的第7行、第8行进行修改,否则无法正常使用该脚本。(重要)!
* 至于怎么修改,可百度@match规则。(重要)!
*
*/
/*
jQuery CDN
//@require https://cdn.staticfile.org/jquery/3.6.4/jquery.min.js
*/
/*
2023-11-08 1.[优化]: 代码重构、优化
2023-11-03 1.[优化]: 逻辑优化
2023-04-19 1.[新增]: 默认选中-保持登陆
2023-04-14 1.[修复]: 只在登陆页面加载脚本
2023-04-13 1.[新增]: 密码填充简易版
*/
(function() {
'use strict';
/* globals jQuery, $, waitForKeyElements */
// 解构简易化,勿动
const { log } = console
let userInfo = {
//name: 'duzeming',
//pass: 'By123456',
name: '',
pass: '',
}
log('已加载自动填充密码脚本!')
const userNameDom = document.querySelector('input[type="text"][name="account"]')
const userPassDom = document.querySelector('input[type="password"][name="password"]')
const keepLoginDom = document.querySelector('input[type="checkbox"][name="keepLogin[]"]') || document.getElementById("keepLoginon")
const submitDom = document.getElementById("submit")
submitDom && submitDom.addEventListener('click', function() {
userInfo = {
name: userNameDom.value,
pass: userPassDom.value,
}
GM_setValue('userInfoKey', userInfo)
})
if (userNameDom || userPassDom) {
const jsonUser = GM_getValue('userInfoKey')
const keys = GM_listValues()
if (!jsonUser) return
let { name: storageName, pass: storagePass } = jsonUser || {}
let { name, pass} = userInfo
userNameDom.value = name || storageName
userPassDom.value = pass || storagePass
keepLoginDom.checked = keepLoginDom.checked || true
if (name || pass) return
submitDom.click()
}
})()