摹客增强插件

摹客项目左侧导航菜单增强

目前为 2021-07-14 提交的版本。查看 最新版本

// ==UserScript==
// @name         摹客增强插件
// @namespace    https://gf.qytechs.cn/zh-CN/scripts/429346
// @version      0.1
// @description  摹客项目左侧导航菜单增强
// @author       Wilson
// @match        https://app.mockplus.cn/app/*/*
// @icon         https://app.mockplus.cn/favicon.ico
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js
// @grant        GM_xmlhttpRequest
// ==/UserScript==

(function() {
    'use strict';

    //http请求
    function httpRequest(url, fn, method, data, header) {
        method = method || "get";
        data = data || "";
        header = header || {};
        GM_xmlhttpRequest({
            method: method,
            url: url,
            data: data,
            headers: header,
            onload: function(res){
                if(res.status === 200){
                    //console.log('sucess',method,url);
                    if(fn) fn(res);
                }else{
                    console.log('error',method,url);
                    console.log(res);
                    if(fn) fn(null);
                }
            },
            onerror : function(err){
                console.log('error',method,url);
                console.log(err);
                if(fn) fn(null);
            }
        });
    }

    let catUrl = "https://app.mockplus.cn/api/v1/app/allAppAndAppSet/pxnttpbsbb?needArchivedApp=true&source=all&needAppSet=true&rnd="+Math.random();
    httpRequest(catUrl, function(res){
        if(res && res.response){
            //get menu list
            let data = JSON.parse(res.response);
            // console.log(11111,catUrl,data);
            if(data.code != 0){
                console.log('error', data.message,catUrl,data);
                return;
            }
           data = data.payload.apps;
           //menu
            setTimeout(function(){
                let list = "";
                for(let i in data){
                    let item = data[i];
                    let href = location.href.replace(/\/app\/.+\//i, '/app/'+item._id+'/');
                    let id = location.href.replace(/(.+\/app\/)(.+)(\/.+)/i, '$2');
                    if(id == item._id) continue;
                    let a = '<li class=""><a class="menu-item" href="'+href+'" >'+item.name+'</a></li>';
                    list += a;
                }
                let menu = `
  <div class="menu-mode-popup" style="display:none;">
   <ul class="dsm-c-drop" style="width: 225px;">
   `+list+`
   </ul>
  </div>
    `;
                //arrow
                let arrow = `
                <div class="down-arrow"><i class="dsm-c-icon idoc_iconfont icon-_tag_downarrow" style="font-size: 16px; width: 16px; height: 16px; visibility: visible;"></i></div>
                `;
                //show/hide
                let menuwrap = null;
                function oMenuWrap(){
                    menuwrap = menuwrap || $(".app-header .logo .dsm-c-tooltip .menu-mode-popup");
                    return menuwrap;
                }
                $(".app-header .logo .dsm-c-tooltip").append(arrow).append(menu).click(function(e){
                    oMenuWrap().show();
                    e.stopPropagation();
                }).on('mouseleave', function(){
                    oMenuWrap().hide();
                });
                $("body").click(function(){
                    oMenuWrap().hide();
                });
            }, 800);
        }
    });
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址