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

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

跳转到导航 跳转到搜索
/**
* @Description: LLWiki定义的常用函数,桌面版、手机版均可用,部分函数可能需要额外的JS库
* @Document: [[LLWiki:管理员技术手册#LLWiki添加的全局变量和方法]]
* @Author: 无特殊说明时均为[[User:Bhsd]]
*/
"use strict";
/*global OO, moment, wgULS*/
// 用于触发依赖jQuery的小部件,请勿改动
window.dispatchEvent( new Event('jquery') );
 
* @Function: 根据界面语言或内容语言手动繁简转换
* @Source: [[moegirl:mediawiki:gadget-site-lib.js]]
* @ParameterParam {String} 简体文字内容hans
* @ParameterParam {String} 繁体文字内容hant(可选)
* @Return {String} 转换后的文字
*/
/**
* @Function: 添加手机版菜单项
* @ParameterParam {ArrayObject[]} 形如{icon, text, href, attr}或{icon, msg, href, attr}的对象数组
* @ParameterParam {String} FontAwesome图标名称iconicon(仅限fas类)
* @ParameterParam {String} 文字text(需手动繁简转换)
* @ParameterParam {String} mw.messages的键值msg
* @ParameterParam {String} 目标地址href
* @ParameterParam {Object} 外层<li>元素的属性
* @Return {ArrayHTML[]} 一组<li>元素
*/
mw.addMobileLinks = function(links) {
/**
* @Function: API请求失败时通知错误信息
* @ParameterParam {String} API返回的错误信息reason
* @ParameterParam {String} API请求的内容topic(需手动繁简转换)
*/
mw.apiFailure = function(reason, topic) {
* @Function: 提交一个API查询请求并计时,以方便评估表现
* @Dependencies: mediawiki.api
* @ParameterParam {mw.Api} mw.Api对象api
* @ParameterParam {Object} API参数对象params
* @ParameterParam {String} API请求内容topic(需手动繁简转换)
* @Return {Promise} Promise对象,且在请求成功时记录用时,失败时通知错误信息
*/
* @Function: 類似mw.timedQuery,但改用POST,適合用於預覽
* @Dependencies: mediawiki.api
* @ParameterParam {mw.Api} mw.Api对象api
* @ParameterParam {Object} API参数对象params
* @ParameterParam {String} API请求内容topic(需手动繁简转换)
* @Return {Promise} Promise对象,且在请求成功时记录用时,失败时通知错误信息
*/
* @Function: 提交一个标准API请求以获得当前版本的Wikitext,这是在多个小工具中广泛使用的请求
* @Dependencies: mediawiki.api
* @ParameterParam {mw.Api} mw.Api对象api
* @Return {Promise} Promise对象,且在请求成功时记录用时,失败时通知错误信息
*/
* @Function: 提交一个标准API请求以获得当前版本的段落Wikitext,一般不可用于历史版本
* @Dependencies: mediawiki.api
* @ParameterParam {mw.Api} mw.Api对象api
* @ParameterParam {Number} 段落编号section
* @ParameterParam {Boolean} 强制历史版本force(可选)
* @Return {Promise} Promise对象,且在请求成功时记录用时,失败时通知错误信息
*/
* @Function: 检查编辑冲突后提交编辑
* @Dependencies: mediawiki.api
* @ParameterParam {mw.Api} mw.Api对象api
* @ParameterParam {Number} 最新修订编号curRevid
* @ParameterParam {Object} API参数对象params
* @ParameterParam {Boolean} 是否启用自动备份flag(可选)
* @Return {Promise} Promise对象,API请求失败时抛出revisionQueryFailure或editFailure,编辑冲突时抛出editConflict
*/
/**
* @Function: 检查页面是否存在后新建重定向
* @Dependencies: mediawiki.api, mediawiki.util
* @ParameterParam {mw.Api} mw.Api对象api
* @ParameterParam {String} 重定向页标题title
* @ParameterParam {String} 重定向目标target
* @ParameterParam {String} 编辑摘要summary(可选)
* @Return {Promise} Promise对象,API请求失败时抛出queryFailure或createFailure,页面已存在时抛出pageExists
*/
/**
* @Function: 生成标准化的确认对话框
* @Dependencies: oojs-ui-core, oojs-ui-windows
* @ParameterParam {String} 文字提示text
* @ParameterParam {ArrayString[]} 确认按钮样式flags
* @Return {Promise} Promise对象
*/
mw.confirm = function(text, flags) {
return OO.ui.confirm(text, {actions: [{label: "否"}, {label: "是", flags: flags, action: 'accept'}]});
};
 
/**
* @Function: 生成标准化的prompt对话框
* @Dependencies: oojs-ui-windows
* @Param {String} 文字提示text
* @Param {String[]} 确认按钮样式flags
* @Param {Object} 文本框设置config
* @Return {Promise} Promise对象
*/
mw.prompt = function(text, flags, config) {
return OO.ui.prompt(text, {actions: [ {label: mw.msg('ooui-dialog-message-reject')},
{label: mw.msg('ooui-dialog-message-accept'), flags: flags, action: 'accept'} ], textInput: config});
};
 
/**
* @Function: 生成标准化的对话框
* @Dependencies: oojs-ui-core, oojs-ui-windows
* @ParameterParam {OO.ui.MessageDialog} OO.ui.MessageDialog对象dialog
* @ParameterParam {ArrayObject[]} 按钮actions
* @ParameterParam {jQuery} 文字$message
* @ParameterParam {jQuery} 标题$title(可选)
* @Return {Promise} Promise对象
*/
* @Function: 生成兼容手机版的tooltip
* @Dependencies: oojs-ui-core
* @ParameterParam {jQuery} 容器$container
* @ParameterParam {String} 目标选择器target
* @ParameterParam {Object} 参数params(可选)
* @ParameterParam {jQuery} 标签对象$content(可选)
*/
mw.tipsy = function($container, target, params, $content) {
* @Function: 更改moment对象的时区
* @Dependencies: moment
* @Parameter:Param {moment} 原始moment对象
* @Parameter:Param {String} 符合IANA标准的时区名称或UTC偏移量
* @Return: {moment} 更改时区后的moment对象。注意这不是一个真实存在的时间,只能用于输出,不能用于进一步计算。
* @Return: {String} 以en-us记法表示的时区或UTC偏移量
*/
mw.convertTimezone = function(then, timezone) {