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

“MediaWiki:Gadget-site-lib.js”的版本间差异

跳转到导航 跳转到搜索
删除407字节 、​ 2021年11月26日 (五) 13:50
原来如此
(未知原因,还是不行)
标签撤销
(原来如此)
标签撤销
* @Dependencies: mediawiki.api
* @Param {mw.Api} api, mw.Api对象
* @Param {Number} curRevid, 最新修订编号(默认为当前页面)
* @Param {Object} params, API参数对象
* @Param {Boolean} flag, 是否启用自动备份(可选,只会影响错误信息)
* @Return {Promise} Promise对象,API请求失败时抛出revisionQueryFailure或editFailure,编辑冲突时抛出editConflict
*/
mw.safeEdit = function(api, curRevid, params, flag) {
console.logdebug('API request: 开始提交编辑');
return mw.timedQuery(api, {prop: 'info', titles: params.title, pageids: params.pageid},
const now = mw.now();
mw.msg('gadget-lib-latest')).then(function(data) {
return api.postWithEditToken( $.extend({action: 'edit', baserevid: cid}, params) ).then(function() {
// 未创建的页面lastrevid返回undefined,因此下式同样为false
console.logdebug('End API request: 编辑成功!用时 ' + (mw.now() - now) + ' ms');
if (data.query.pages[0].lastrevid > (curRevid || cid)) {
}, function(reason) {
if (reason == 'editconflict') {
mw.notify( mw.msg('gadget-lib-conflict' + (flag ? 2 : 1)),
{type: 'error', autoHideSeconds: 'long', tag: 'editConflict'} );
throw 'editConflict';
}
mw.notify( mw.msg('gadget-lib-editFail', reason),
console.log('API request: 开始提交编辑');
{type: 'error', autoHideSeconds: 'long', tag: 'apiFailure'} );
const now = mw.now();
throw 'editFailure';
return api.postWithEditToken( $.extend({action: 'edit'}, params) ).then(function() {
});
console.log('End API request: 编辑成功!用时 ' + (mw.now() - now) + ' ms');
}, function(reason) {
mw.notify( mw.msg('gadget-lib-editFail', reason),
{type: 'error', autoHideSeconds: 'long', tag: 'apiFailure'} );
throw 'editFailure';
});
}, function() { throw 'revisionQueryFailure'; }); // mw.timedQuery已通知错误信息
};
 
16,874

个编辑

导航菜单