www.scjuchuang.com.js

// ==UserScript==
// @name              聚创
// @namespace         https://soulsign.inu1255.cn/scripts/186
// @version           1.0.8
// @author            yi-Xu-0100
// @loginURL          https://www.scjuchuang.com/login/index
// @updateURL         https://soulsign.inu1255.cn/script/yi-Xu-0100/聚创
// @expire            900000
// @domain            www.scjuchuang.com
// @param            name 账户
// @param            pwd 密码
// ==/UserScript==

/**
 * @file 聚创签到脚本
 * @author yi-Xu-0100
 * @version 1.0.8
 */

/**
 * @module 聚创签到脚本
 * @description 本脚本提供设置用户名和密码方式自动登陆。但是网站应自定义一个 `userinfo` 的 `cookie` 条目作为部分页面判断登录状态依据,脚本无法完成该设置。如果网页提示信息有问题,请访问 [聚创医药网登录页面](https://www.scjuchuang.com/login) 重新登录。
 * 
 * 脚本内容讨论请转至:[仓库 issue](https://github.com/yi-Xu-0100/soulsign-scripts/issues)
 *
 * 签到插件讨论请转至:[官方 issue](https://github.com/inu1255/soulsign-chrome/issues)
 * @param {string|string[]} [domain = www.scjuchuang.com] - 请求的域名
 * @param {string} [expire = 900000] - 在线检查频率
 * @param {string} [namespace = https://soulsign.inu1255.cn/scripts/186] - 脚本主页
 * @param {string} [loginURL = https://www.scjuchuang.com/login/index] - 登录链接
 * @param {string} [updateURL = https://soulsign.inu1255.cn/script/yi-Xu-0100/聚创] - 脚本更新链接
 * @param {string} name - 账户
 * @param {string} pwd - 密码
 */

let run = async function (param) {
  if (!(await check(param))) throw '需要登录';
  let resp = await axios.post('https://www.scjuchuang.com/api/signin', null, {
    headers: {
      Origin: 'https://www.scjuchuang.com',
      Referer: 'https://www.scjuchuang.com/intergralSigin'
    }
  });
  if (/签到成功/.test(resp.data.msg))
    return `今日获得 ${resp.data.data.integral} 积分,已连续签到 ${resp.data.data.continue_count} 天`;
  if (/今日已签到/.test(resp.data.msg)) return '重复签到';
  if (/请登录/.test(resp.data.msg)) throw "需要登录";
  throw resp.data;
};

let check = async function (param) {
  let resp = await axios.get('https://www.scjuchuang.com/membercenter');
  if (!/我的余额/.test(resp.data)) {
    await axios.post(
      'https://www.scjuchuang.com/api/login',
      { username: param.name, password: param.pwd },
      {
        headers: {
          Origin: 'https://www.scjuchuang.com',
          Referer: 'https://www.scjuchuang.com/login/index',
          'X-Requested-With': 'XMLHttpRequest'
        }
      }
    );
    let resp = await axios.get('https://www.scjuchuang.com/membercenter');
    return /我的余额/.test(resp.data);
  } else return true;
};

module.exports = { run, check };