User:Cwek/test.js

注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。

'esversion: 11';

(function(nameRoot,w,d,$,mw,undefined){
    var h={};
    w[nameRoot]=h;
    
    h.token=undefined;
    h.rootPage="Wikipedia:知识问答/存档/结构式讨论";
    
    h.fetchToken=function(){
      new mw.Api().post({
          "action":"query",
          "meta":"tokens",
          "type":"csrf"                
      },{
       "method":"POST"
      }).fail(function(){
          mw.notify("获得令牌失败",{type:"error"});                
      }).done(function(data) {
          console.log(data);
          h.token=data?.query?.tokens?.csrftoken;
          if(h.token!==""&&h.token!==undefined){
              mw.notify("获得令牌成功");
          }
          else{
              mw.notify("获得令牌失败",{type:"error"});   
          }                
      }); 
   }
   
   h.getToken=function(){
       if(h.token===undefined){
           h.fetchToken();
       }
       return h.token;
   }
   
   h.doIt=function(doCount,maxCount){
       var totalDoCount=(doCount||100);
       var MaxCount=(maxCount||10)
       var token=h.getToken();       
       if(token===undefined){
          mw.notify("没有合适的令牌");
          return ;
       }
       
       var queryObj={
          "action":"flow",
          "submodule":"view-topiclist",
          "page":h.rootPage,
          "token":token,
          "vtloffset-dir": "rev",
          "vtlsortby": "newest",
          //"vtloffset-id": "xa2uw7agz093og0h",
          "vtllimit": MaxCount,
          "vtlformat": "wikitext"
      };
      new mw.Api().post(queryObj,{
       "method":"POST"
      }).fail(function(){
          mw.notify("获得列表失败",{type:"error"});                
      }).done(function(data) {
          //console.log(data);
          var rootList= data?.flow?.view-topiclist?.result?.topiclist?.roots;
          
      }); 
   }
})(window,document,jQuery,mw);