打开/关闭搜索
搜索
打开/关闭菜单
1.3K
143
375
74K
医林拾薪
导航
首页
医林拾薪论坛
最近更改
随机页面
特殊页面
上传文件
快捷入口
医学本科题库
待翻译的英语单词
待补充英文的名词
小工具
导出ANKI卡组
本科题库创建向导
题库录入工具
录入英语单词
录入名称解释
Toggle preferences menu
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
查看“MediaWiki:Gadget-unziprecords.js”的源代码
MediaWiki界面页面
分享此页面
查看
阅读
查看源代码
查看历史
associated-pages
消息
讨论
更多操作
←
MediaWiki:Gadget-unziprecords.js
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
function unzip(b64Data) { var strData = atob(b64Data); strData = pako.ungzip(strData,{to: 'string'}); return decodeURIComponent(strData); } //检查是否为刷题云储存页面 function isRecordsPages(){ var url = window.location.href url = url.split('Records/') console.log(url) if(url.length>1){ var id = url[1] return id }else{ return false } } //获取某个页面的历史版本 function getPageRevision(url, title, pageCount){ var PARAMS = { "action": "query", "format": "json", "prop": "revisions", "titles": title, "utf8": 1, "rvprop": "content", "rvlimit": pageCount, "rvdir": "older", "origin":"*" } var isSuccess = {} $.ajax( { url: url, method: "post", async: false, data: PARAMS, timeout: 5000, success: function (results){ if('-1' in results.query.pages){ console.log('===无此页面===') isSuccess = {isSuccess:false, result:results} }else { isSuccess = {isSuccess:true, result:results} } } }) return isSuccess } function getFirstPageContent(obj){ obj = obj.result.query.pages for(var i in obj){ obj = obj[i] } obj = obj.revisions[0]['*'] return obj } //解析json function parseRecordsJSON(url,content){ var data var PARAMS = { "action": "parse", "format": "json", "text":content, "contentmodel": "json", "utf8": 1, "origin":"*" } $.ajax({ async: true, type: "post", url: url, data: PARAMS, datatype: 'json', success: function (datas) { data = datas['parse']['text']['*'] // $('#mw-content-text').html(data) } }); return data } function getFormatTime(timestamp, clean){ clean = clean !== undefined ? clean: true var nowDate if(timestamp===undefined){ nowDate= new Date(); }else { nowDate = new Date(timestamp); } var year = nowDate.getFullYear(); var month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1) : nowDate.getMonth() + 1; var date = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate(); var hour = nowDate.getHours()< 10 ? "0" + nowDate.getHours() : nowDate.getHours(); var minute = nowDate.getMinutes()< 10 ? "0" + nowDate.getMinutes() : nowDate.getMinutes(); var second = nowDate.getSeconds()< 10 ? "0" + nowDate.getSeconds() : nowDate.getSeconds(); var time = '' if(clean){ time = year + "-" + month + "-" + date+" "+hour+":"+minute+":"+second; }else { time = year + "-" + month + "-" + date+"T"+hour+":"+minute+":"+second+'Z' } return time } function reModelData(id,data) { var container = $('<div id="'+id+'" class="data-container"></div>') var resultsContainer = $('<div class="results"></div>') container.append('<div><h2>'+data.info.title+'</h2><div><p class="inline">id:'+data.info.id+'</p>|<p class="inline">做题时间:'+getFormatTime(data.info.time)+'</p></div></div>') for(var i in data.results){ console.log(i) console.log(data.results[i]) if(data.results[i].length>0) { container.append('<h3>' + i + '型题</h3>') for (var n = 0; n < data.results[i].length; n++) { var btn = $('<button id="' + id + '-' + i + '-' + n + '" class="btn btn-circle">' + (n+1) + '</button>') if(data.results[i][n].isDone && data.results[i][n].isRight){ btn.addClass('green') }else if(!data.results[i][n].isDone){ btn.addClass('yellow') }else { btn.addClass('red') } btn.appendTo(resultsContainer) // console.log(n) // console.log(data.results[i][n]) } resultsContainer.appendTo(container) resultsContainer = $('<div class="results"></div>') } } console.log(container) return container } //主函数 function unzipRecords(){ var id = isRecordsPages() if(!id){ return '非题库云储存页面!' } // var zippedContent = getFirstPageContent(getPageRevision('https://www.medforest.cn/medf/api.php','题库:Records/66',1)) // console.log(zippedContent) var zippedContent= $('#mw-content-text').text().replace('[标记此页面为已巡查]','') $('#mw-content-text').html('<h4 style="color:red;">正在分析做题数据</h4>') console.log(zippedContent) var unzipped = unzip(zippedContent) var jsonData = JSON.parse(unzipped) console.log(jsonData.archive) var parsed=parseRecordsJSON('https://www.medforest.cn/medf/api.php',unzipped) var id = 0 var analyzed = $('<div class="analyzed"></div>') for(var i in jsonData.archive){ analyzed.prepend(reModelData(id,jsonData.archive[i])) id += 1 } $('#mw-content-text').html('<div><h2>说明:</h2><p class="inline">数据按倒序排列,绿色为正确题目,红色错误,黄色未作答</p><hr></div>') $('#mw-content-text').append(analyzed) } unzipRecords()
返回
MediaWiki:Gadget-unziprecords.js
。