- // ==UserScript==
- // @name VikACG 自动签到
- // @description 打开 VikACG 主站时自动签到
- // @namespace http://tampermonkey.net/
- // @version 0.2.6
- // @author Howard Wu
- // @license GPLv3
- // @match https://www.vikacg.com/
- // @icon http://vikacg.com/favicon.ico
- // @grant GM_xmlhttpRequest
- // ==/UserScript==
-
- function getCookies(name) {
- function read(value) {
- if (value[0] === '"') {
- value = value.slice(1, -1)
- }
- return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
- }
- if (typeof document === 'undefined' || (arguments.length && !name)) {
- return
- }
-
- // To prevent the for loop in the first place assign an empty array
- // in case there are no cookies at all.
- var cookies = document.cookie ? document.cookie.split('; ') : []
- var jar = {}
- for (var i = 0; i < cookies.length; i++) {
- var parts = cookies[i].split('=')
- var value = parts.slice(1).join('=')
-
- try {
- var found = decodeURIComponent(parts[0])
- jar[found] = read(value, found)
-
- if (name === found) {
- break
- }
- } catch (e) { }
- }
-
- return name ? jar[name] : jar
- }
-
- (function () {
- 'use strict';
- var b2_token = getCookies('b2_token')
- GM_xmlhttpRequest({
- "url": "https://www.vikacg.com/wp-json/b2/v1/getUserMission",
- "headers": {
- "accept": "application/json, text/plain, */*",
- "accept-language": "zh-CN,zh;q=0.9",
- "authorization": "Bearer " + b2_token,
- "cache-control": "no-cache",
- "content-type": "application/x-www-form-urlencoded",
- "pragma": "no-cache",
- "sec-ch-ua": "\"Microsoft Edge\";v=\"105\", \" Not;A Brand\";v=\"99\", \"Chromium\";v=\"105\"",
- "sec-ch-ua-mobile": "?0",
- "sec-ch-ua-platform": "\"Windows\"",
- "sec-fetch-dest": "empty",
- "sec-fetch-mode": "cors",
- "sec-fetch-site": "same-origin"
- },
- "referrer": "https://www.vikacg.com/mission/today",
- "referrerPolicy": "strict-origin-when-cross-origin",
- "body": "count=0&paged=1",
- "method": "POST",
- "mode": "cors",
- "credentials": "include",
- "onload": function (result) {
- if (result.status == 200) {
- const json = JSON.parse(result.response)
- var data = json.mission
- var checkinDate = data.date
- var checkGetMission = data.credit
- var my_credit = data.my_credit
- var always = data.always
- if (checkGetMission == 0) {
- console.log("目前积分:" + my_credit)
- GM_xmlhttpRequest({
- "url": "https://www.vikacg.com/wp-json/b2/v1/userMission",
- "headers": {
- "accept": "application/json, text/plain, */*",
- "accept-language": "zh-CN,zh;q=0.9",
- "authorization": 'Bearer ' + b2_token,
- "cache-control": "no-cache",
- "pragma": "no-cache",
- "sec-ch-ua": "\"Microsoft Edge\";v=\"105\", \" Not;A Brand\";v=\"99\", \"Chromium\";v=\"105\"",
- "sec-ch-ua-mobile": "?0",
- "sec-ch-ua-platform": "\"Windows\"",
- "sec-fetch-dest": "empty",
- "sec-fetch-mode": "cors",
- "sec-fetch-site": "same-origin"
- },
- "referrer": "https://www.vikacg.com/mission/today",
- "referrerPolicy": "strict-origin-when-cross-origin",
- "body": null,
- "method": "POST",
- "mode": "cors",
- "credentials": "include",
- "onload": function (result) {
- if (result.status == 200) {
- const json = JSON.parse(result.response)
- var date = json.date
- var credit = json.credit
- var my_credit = json.mission.my_credit
- console.log(date + " 签到成功,获得积分:" + credit + " 目前积分:" + my_credit + " 请查看积分是否有变动");
- } else {
- console.log("签到失败");
- }
- },
- });
- } else {
- console.log("签到时间:" + checkinDate + ",签到获得积分:" + checkGetMission + ",目前积分:" + my_credit)
- console.log("今天已经签到,如有问题请尝试手动签到");
- }
- } else {
- console.log("请求失败,是否未登录(不可用)?");
- }
- },
- });
- })();