查看: 621|回复: 14

[web] 【油猴脚本】自考-开考课程搜索

[复制链接]
发表于 2022-8-1 08:29 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

食之无味,弃之可惜仅作备份增加专业代码搜索框
  • 原来的搜索界面只能搜索单条的课程开考信息
  • 增加专业代码搜索框,可以直接通过专业代码搜索对应月份的开考课程
已知问题
  • 当有多个同样的专业代码时,会只取第一条数据

224157mfohr12b1fbees2h.png
[mw_shl_code=applescript,true]// ==UserScript==
// @name         自考-开考课程搜索
// @namespace    http://tampermonkey.net/
// @version      0.1
// @Description  try to take over the world!
// @author       1
// @match        https://www.eeagd.edu.cn/*/kkkccx.jsp
// @icon         https://www.google.com/s2/favicons?sz=64&domain=eeagd.edu.cn
// @grant        unsafeWindow
// ==/UserScript==

(function() {
        'use strict';

        // Your code here...
        init();

        function init() {
                let div01 = '<label class="col-lg-1 col-md-1 control-label">专业代码</label>';
                let div02 =
                        '<div class="col-lg-2 col-md-2"><input type="text" id="zydm" style="width: 100px;" class="form-control" name="zydm" required="" value=""></div>';
                let div03 = '<div class="col-lg-2 col-md-2" style="" id="search_zydm"></div>'
                let div04 =
                        '<div class="col-lg-2 col-md-2x"><button id="search_zydm"><i class="icon wb-search" aria-hidden="true"></i>搜索专业代码</button></div>'
                $('.form-group').append(div01);
                $('.form-group').append(div02);
                $('.form-group').append(div04);
                // hock
                unsafeWindow.window.eval(gd_post.toString().replace('if(data===null || data===""){',
                        't_fn = successFn; if(data===null || data===""){'));
                $('.gdmui-searchBox button').click();
                $('#search_zydm').bind('click', function(e) {
                        let zydm = $('#zydm').val();
                        let kkny = $('#kknyGroup').val();
                        let tmp01 = search_by_zydm(zydm);
                        let tmp02 = get_gckc(tmp01.rows[0].ZYDM, tmp01.rows[0].ZYYXDM, tmp01.rows[0].KCZDM);
                        let tmp03 = get_all_km_info(kkny, tmp02);
                        let tmp04 = sort_km(tmp03);
                        t_fn(tmp04);
                });
        }


        function search_post(url, data) {
                let result = null;
                $.ajax({
                        type: 'post',
                        url: url,
                        data: JSON.stringify(data),
                        dataType: 'JSON',
                        contentType: 'application/json;charset=UTF-8',
                        async: false,
                        success: function(data) {
                                if (data.result != undefined) {
                                        result = data.result;
                                }
                        },
                        error: function(data) {
                                // console.log('error');
                                console.log(data);
                        }
                });
                return result;
        }

        function search_by_kmdm(kkny, kmdm) {
                let url = 'https://www.eeagd.edu.cn/zkselfec/gkcx/queryKkkccx.jsmeb';
                let search_data = [{page: 1,rows: 20,kkny: kkny,kmdm: kmdm,kmmc: ""}, null, "desc"];
                // let result = null;
                return search_post(url, search_data);
        }

        function search_by_zydm(zydm) {
                let url = 'https://www.eeagd.edu.cn/zkselfec/gkcx/queryZycx.jsmeb';
                let search_data = [{page: 1,rows: 20,zydm: zydm,zymc: ""}, null, "desc"];
                return search_post(url, search_data);
        }

        function get_gckc(zydm, zyyxdm, kczdm) {
                let url = 'https://www.eeagd.edu.cn/zkselfec/gkcx/queryZykm.jsmeb';
                let search_data = [{zydm: zydm,zyyxdm: zyyxdm,kczdm: kczdm}];
                return search_post(url, search_data);
        }

        function get_all_km_info(kkny, km) {
                let result = {rows: [],total: 0};
                let tmp = null;
                for (let i = 0; i < km.data.length; i++) {
                        tmp = search_by_kmdm(kkny, km.data['kmdm']);
                        result.total = result.total + parseInt(tmp.total);
                        if (tmp.total > 0) {
                                result.rows = result.rows.concat(tmp.rows);
                        } else {
                                console.log(km.data);
                        }
                }
                return result;
        }

        function sort_km(km) {
                let tmp = km.rows;
                let ksdate_num = 0;
                let sxw_num = 0;
                let tmp_v = null;
                for (let i = 0; i < tmp.length; i++) {
                        ksdate_num = parseInt(tmp['KSDATE'].replace(/.*月/, '').replace('日', ''));
                        sxw_num = tmp['SXW'] == '上午' ? 1 : 2;
                        tmp['sortnum'] = ksdate_num * 10000000 + sxw_num * 1000000 + parseInt(tmp['KMDM']);
                }
                for (let i = 0; i < tmp.length; i++) {
                        for (let j = i + 1; j < tmp.length; j++) {
                                if (tmp['sortnum'] > tmp[j]['sortnum']) {
                                        tmp_v = km.rows;
                                        km.rows = km.rows[j];
                                        km.rows[j] = tmp_v;
                                }
                        }
                }
                return km;
        }





})();[/mw_shl_code]
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2022-8-1 08:29 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-8-1 08:44 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-8-1 08:47 | 显示全部楼层
谢谢@Thanks!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-8-1 08:48 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-8-1 09:17 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-8-1 11:04 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-8-1 11:21 | 显示全部楼层
多谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-8-1 11:22 | 显示全部楼层
谢谢分享!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-8-1 15:41 | 显示全部楼层

感谢楼主的分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部