打开/关闭菜单
Toggle preferences menu
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:Gadget-readinglistApi.js

MediaWiki界面页面
Cirno.9讨论 | 贡献2023年6月12日 (一) 00:00的版本 (创建页面,内容为“//=================================================== //=================================================== //===============阅读列表增删查改============================== //=================================================== //=================================================== function readlistCreat(name,des,token){ var result = {status:0, result:''} var PARAMS = { "action": "readinglists", "format": "json", "command":…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
//===================================================
//===================================================
//===============阅读列表增删查改==============================
//===================================================
//===================================================

function readlistCreat(name,des,token){
    var result = {status:0, result:''}
    var PARAMS = {
        "action": "readinglists",
        "format": "json",
        "command": "create",
        "utf8": 1,
        "token": token,
        "name": name,
        "description": des
    }
    $.ajax({
        url: tikuCreateConfig.url,
        method: "post",
        async: false,
        data: PARAMS,
        timeout: 5000,
        success: function (results){
            var apiResult = results['edit']['result']
            if(apiResult==="Success"){
                result.status = 1
            }
            result.result = results["create"]["result"]
        }
    })
    return result
}
//向某个list添加页面
function readlistCreatEntry(list,project,title,token){
    var result = {status:0, result:''}
    var PARAMS = {
        "action": "readinglists",
        "format": "json",
        "command": "createentry",
        "utf8": 1,
        "token": token,
        "list": list,
        "project": project,
        "title": title,

    }
    $.ajax({
        url: tikuCreateConfig.url,
        method: "post",
        async: false,
        data: PARAMS,
        timeout: 5000,
        success: function (results){
            if(results.error === undefined){
                result.status = 1
            }
            result.result =  results
            console.log(result)
        }
    })
    return result
}
//判断有无对应列表后再添加词条
function creatEntryListCheckExit(title){
    var result = {status:0, result:''}
    var isListExist = isRLExist(tikuCreateConfig.rl)//判断阅读列表是否存在
    console.log('阅读列表存在性检验:',isListExist)
    var token = get_token(tikuCreateConfig.url)
    if(!isListExist) {
        alert('你还没有创建您的阅读列表,即将创建并启用')
        readlistSetup(token)
        readlistCreat(tikuCreateConfig.rl, tikuCreateConfig.des, token)
        alert('创建完成')
    }
    var rlCreat = readlistCreatEntry(isListExist.id,tikuCreateConfig.project,title,token)
    result.status = rlCreat.status 
    return result
}

function readlistSetup(token){
    var isSuccess = [false]
    var PARAMS = {
        "action": "readinglists",
        "format": "json",
        "command": "setup",
        "utf8": 1,
        "token": token,

    }
    $.ajax({
        url: tikuCreateConfig.url,
        method: "post",
        async: false,
        data: PARAMS,
        timeout: 5000,
        success: function (results){
            isSuccess = results
        }
    })
    return isSuccess
}
function readlistDelEntry(entry,token){
    var isSuccess = [false]
    var PARAMS = {
        "action": "readinglists",
        "format": "json",
        "command": "deleteentry",
        "utf8": 1,
        "token": token,
        "entry": entry
    }
    $.ajax({
        url: tikuCreateConfig.url,
        method: "post",
        async: false,
        data: PARAMS,
        timeout: 5000,
        success: function (results){
            if (results["deleteentry"]['result']==="Success"){
                isSuccess = true
            }
        }
    })
    return isSuccess
}
//判断某个阅读列表是否存在
function isRLExist(name){
    var exist = false
    var PARAMS = {
        "action": "query",
        "format": "json",
        "meta": "readinglists",
        "utf8": 1,
    }
    $.ajax({
        url: tikuCreateConfig.url,
        method: "post",
        async: false,
        data: PARAMS,
        timeout: 5000,
        success: function (results){
            var rls = results.query.readinglists
            for(var i=0;i<rls.length;i++){
                var rl = rls[i]
                if(rl.name === name){
                    exist = rl
                }
            }
        }
    })
    return exist
}
//按照加入时间列举阅读列表中的条目
function readlistEntries(id){
    var isSuccess = [false]
    var PARAMS = {
        "action": "query",
        "format": "json",
        "list": "readinglistentries",
        "utf8": 1,
        "rlelists": id,
        "rlesort": "updated",
        "rledir": "descending"
    }
    $.ajax({
        url: tikuCreateConfig.url,
        method: "post",
        async: false,
        data: PARAMS,
        timeout: 5000,
        success: function (results){
            isSuccess = results['query']['readinglistentries']
        }
    })
    return isSuccess
}
//获取Meta信息
function readlistEntriesMeta(project,name){
    var isSuccess = [false]
    var PARAMS = {
        "action": "query",
        "format": "json",
        "list": "readinglistentries",
        "utf8": 1,
        "rlelists": id
    }
    $.ajax({
        url: tikuCreateConfig.url,
        method: "post",
        async: false,
        data: PARAMS,
        timeout: 5000,
        success: function (results){
            isSuccess = results['query']['readinglistentries']
        }
    })
    return isSuccess
}