// ==UserScript== // @name feishuHelper // @namespace http://tampermonkey.net/ // @version 0.8 // @description hack feishu // @author Amos // @match https://onetoken.feishu.cn/* // @require http://code.jquery.com/jquery-3.4.1.min.js // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @downloadURL none // ==/UserScript== /* globals jQuery, $, waitForKeyElements */ function test(){ getMyMinutes().then(minutes=>{ let toRemove = minutes.filter(m=>{ return Date.now()-m.create_time>24*30*3600*1000 }) console.log('will remove',toRemove) }) } function removeMinute(items){ return new Promise((resolve,reject)=>{ let nowTs = Date.now() let tokens=items.map(i=>i.object_token) let data = {language:'zh_cn',object_token:'',object_tokens:tokens.join(','),space_name: 1} jQuery.ajax({ url: `https://onetoken.feishu.cn/minutes/api/space/remove?_t=${nowTs}`, dataType: "json", contentType: "application/json; charset=utf-8", data:JSON.stringify(data), async: true, cache: false, timeout: 30000, success: (res)=> { if(res.code===0){ resolve() } else{ reject() } }, error: (request, status, error)=> { reject(error) }, type: "POST" }); }) } function getMyMinutes(){ return new Promise((resolve,reject)=>{ jQuery.ajax({ url: 'https://onetoken.feishu.cn/minutes/api/space/list', dataType: "json", data: {size:1000,space_name:1,rank:2,asc:false,owner_type:1,object_token:'',language:'zh_cn'}, async: true, cache: false, timeout: 30000, success: (res)=> { if(res.code===0){ resolve(res.data.list) } else{ reject() } }, error: (request, status, error)=> { reject(error) }, type: "GET" }); }) } (function() { 'use strict'; setTimeout(()=>{ test() },5000) })();