LLWiki正在建设中,欢迎加入我们

“User:Bhsd/tool.js”的版本间差异

跳转到导航 跳转到搜索
*/
mw.myCopyright = (cmtitle = mw.config.get( 'wgTitle' )) => {
const cats = ['原作者保留权利的文件', '可自由使用的文件', 'LLWiki版权所有的文件', '使用CC Zero协议的文件'];,
const api = new mw.Api();
mw.loader.using( ['mediawiki.api', 'ext.gadget.site-lib'] ).then(() => {
mw.timedQuery(api, { prop: 'categories', generator: 'categorymembers', gcmtitle: `Category:${cmtitle}`,
const api = new mw.Api();
mw.timedQuery(api, { propgcmtype: 'categoriesfile', generatorgcmlimit: 'categorymembersmax', gcmtitleclcategories: cats.map(ele => `Category:${cmtitleele}`).join( '|' ), cllimit: 'max'
}, '分类下无授权协议的文件').then(res => {
gcmtype: 'file', gcmlimit: 'max', clcategories: cats.map(ele => `Category:${ele}`).join( '|' )
res.query.pages.filter(ele => !ele.categories).forEach(ele => {
}, '分类下无授权协议的文件').then(res => {
api.postWithToken('csrf', {action: 'edit', pageid: ele.pageid, minor: 1, bot: 1,
res.query.pages.filter(ele => !ele.categories).forEach(ele => {
prependtext: '==授权协议==\n{{copyright}}\n', summary: '使用API批量添加授权协议',
api.postWithToken('csrf', {action: 'edit', pageid: ele.pageid, minor: 1, bot: 1,
}).catch(reason => { console.error( `页面${ele.pageid}无法添加授权协议,错误原因:${reason}` ); });
prependtext: '==授权协议==\n{{copyright}}\n', summary: '使用API批量添加授权协议',
});
}).catch(reason => { console.error( `页面${ele.pageid}无法添加授权协议,错误原因:${reason}` ); });
}, () => {});
}, () => {});
});
};
 
$items = $table.find( 'tr:nth-child(n+1)' ),
titles = $items.find( 'a' ).toArray().map(ele => ele.title);
mw.loadertimedQuery(new mw.usingApi(), {prop: ['mediawiki.apiinfo', 'exttitles: titles.gadget.site-libjoin( '|'] )}, 'JS页面大小').then(()data => {
$table.toggleClass( 'jsTable jsTable2' );
mw.timedQuery(new mw.Api(), {prop: 'info', titles: titles.join( '|' )}, 'JS页面大小').then(data => {
// 注意返回的结果可能顺序不同
$table.toggleClass( 'jsTable jsTable2' );
const lengths = Object.fromEntries( data.query.pages.map(ele => [ele.title, ele.length]) );
// 注意返回的结果可能顺序不同
$items.children( 'td:last-child' ).text(i => (lengths[ titles[i] ] / 1024).toFixed(1));
const lengths = Object.fromEntries( data.query.pages.map(ele => [ele.title, ele.length]) );
}, () => { $('#myJsSize').off( 'click' ).one('click', mw.myJsSize); });
$items.children( 'td:last-child' ).text(i => (lengths[ titles[i] ] / 1024).toFixed(1));
}, () => { $('#myJsSize').off( 'click' ).one('click', mw.myJsSize); });
});
};