ProcessOn-VIP

优雅地解锁ProcessOn

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         ProcessOn-VIP
// @namespace    http://tampermonkey.net/
// @version      2024-09-05
// @description  优雅地解锁ProcessOn
// @author       涛之雨
// @match        *://www.processon.com/*
// @require      https://greasyfork.org/scripts/455943-ajaxhooker/code/ajaxHooker.js?version=1124435
// @icon         http://processon.com/favicon.ico
// @grant        none
// @run-at       document-start
// @license      WTFPL
// ==/UserScript==

/* global ajaxHooker*/
(function() {
    'use strict';
    ajaxHooker.hook(request => {
        if (request.url.endsWith('/user/privilege')) {
            request.response = res => {
                const json = JSON.parse(res.responseText);
                json.data.privilege.member=json.data.privilege.orgMember=true;
                res.responseText = JSON.stringify(json);
            };
        }
    });
    const id=setInterval(()=>{
        if(!window.$)return;
        const doms=window.$("li[tit='xmind'],li[tit='fmind'],li[tit='pdfHD'],li[type='pdfHD']");
        if(doms.length===0)return;
        doms.remove();
        clearInterval(id);
    },500);
    setTimeout(()=>clearInterval(id),100000);
    if(location.href.includes("diagraming")){
        const id=setInterval(()=>{
            if(!window.$)return;
            const doms=window.$(".po-watermark-input-container");
            if(doms.length===0)return;
            doms.remove();
            clearInterval(id);
        },500);
        setTimeout(()=>clearInterval(id),100000);
    }
})();