社区文档构建进行中,欢迎编辑。社区答疑群(非官方):717421103

全站通知:

BWIKI函数库

阅读

    

2024-06-27更新

    

最新编辑:逗比的马老师

阅读:

  

更新日期:2024-06-27

  

最新编辑:逗比的马老师

来自WIKI实验室WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
逗比的马老师

BWIKI函数库

BWIKI函数库是一个基于BWIKI工具库的 JavaScript Library 库。主要特征:

  • 为BWIKI云小工具提供函数
  • 用于创建自定义云小工具html、js、css
  • 提供快捷的wiki信息、用户信息以及页面信息变量

它是BWIKI云小工具产品标准库,最初是为BWIKI工具库使用而创建的。


快速开始

该库整合在BWIKI工具库中。安装:
  • 推荐方法此方法安装后,能自动同步更新
1、在 https://wiki.biligame.com/你管理的BWIKI/MediaWiki:Gadget-section-System 页面添加标题文字
系统
注意:如果已有标题文字则跳过此步
2、在 https://wiki.biligame.com/你管理的BWIKI/MediaWiki:Gadgets-definition 页面添加标题代码
==System==
注意:如果已有 ==System== 标题则跳过此步
3、在==System==标题下添加以下代码
* BwikiLibrary[ResourceLoader|default|hidden]|BwikiLibrary.js
4、在 https://wiki.biligame.com/你管理的BWIKI/MediaWiki:Gadget-BwikiLibrary 页面添加以下描述
'''BWIKI工具库''':一个整合大量小工具的云工具库。
5、在 https://wiki.biligame.com/你管理的BWIKI/MediaWiki:Gadget-BwikiLibrary.js 页面添加以下代码
mw.loader.load("/tools/load.php?modules=ext.gadget.BwikiLibrary&only=scripts");
注意:请勿更改此代码任何内容
  • 至此已完成安装。

安装后,编写BWIKI云小工具时可直接使用。


函数

  • BWIKI

属性(Properties)

> name #

name
类型 描述
string wikiname

> page #

page
类型 描述
object 页面信息

> page.action #

page.action
类型 描述
string

> page.contentModel #

page.contentModel
类型 描述
string

> page.id #

page.id
类型 描述
number curid

> page.name #

page.name
类型 描述
string

> page.ns #

page.ns
类型 描述
number

> page.title #

page.title
类型 描述
string

> page.url #

page.url
类型 描述
string

> user #

user
类型 描述
object 用户信息

> user.editcount #

user.editcount
类型 描述
number

> user.groups #

user.groups
类型 描述
array

> user.id #

user.id
类型 描述
string

> user.registration #

user.registration
类型 描述
string

> user.rights #

user.rights
类型 描述
array


方法(Methods)

about(name, ver, url, ncss, ucss) #

生成小工具的about。

参数(Parameters):

名称 类型 描述
name string
ver string
url string
ncss string
ucss string

api(wiki, data) → {Promise} #

自定义api

参数(Parameters):

名称 类型 描述
wiki string
data object

返回值(Returns):

类型 描述
Promise

例:

BWIKI.api("tools", {action:"query",prop:"info",titles:"首页"})
.then(function(result){
  console.log(result)
});

createHtml(item) → {jQuery.object} #

通过传入 JSON 对象字面量 快速创建html结构体,如果传入纯文本则为html标签内容。

参数(Parameters):

名称 类型 描述
item object|string

返回值(Returns):

类型 描述
jQuery.object

例:

var item = {
  "tag": "div",
  "class": "abc",
  "id": "test",
  "children": [
    {
      "tag": "span",
      "style": "color:red",
      "children": [
        "例子"
      ]
    }
  ]
}
var html = BWIKI.createHtml(item); // html 为 jQuery.object

console.log(html[0]); // 输出 <div class="abc" id="test"><span style="color:red">例子</span></div>

delete(wiki, title, pageid, reason) → {Promise} #

删除页面。

参数(Parameters):

名称 类型 描述
wiki string
title string
pageid string|number
reason string

返回值(Returns):

类型 描述
Promise

例:

BWIKI.delete("tools", "页面名")
.then(function(result){
  console.log(result)
});

edit(wiki, title, content, summary) → {Promise} #

快速编辑页面。

参数(Parameters):

名称 类型 描述
wiki string
title string
content string
summary string

返回值(Returns):

类型 描述
Promise

例:

BWIKI.edit("tools", "沙盒2", "新的内容", "快速编辑描述")
.then(function(result){
  console.log(result)
});

exportXml(wiki, titles, template) → {Promise} #

把一个wiki的页面导出为xml格式字符串。

参数(Parameters):

名称 类型 描述
wiki string
titles string 页面标题列表
template boolean 是否包含模板

返回值(Returns):

类型 描述
Promise

例:

var wiki = "tools",
    titles = "沙盒|沙盒2|沙盒3",
    template = true;
BWIKI.exportXml(wiki, titles, template)
.then(function(result){
  console.log(result)
});

getUserInfo(wiki, uid) → {Promise} #

获取指定wiki的用户信息

参数(Parameters):

名称 类型 描述
wiki string
uid string|number

返回值(Returns):

类型 描述
Promise

例:

BWIKI.getUserInfo("tools", "123855714")
.then(function(result){
  console.log(result)
});

import(inwiki, outwiki, plist) #

把一个wiki的页面导入到另一个wiki。

参数(Parameters):

名称 类型 描述
inwiki string 来源wiki
outwiki string 要导入的wiki
plist array 页面列表

返回值(Returns): 无

例:

var inwiki = "tools",
    outwiki = "css",
    plist = ["沙盒1","沙盒2","沙盒3"];
BWIKI.import(inwiki, outwiki, plist);

importXml(wiki, xml) → {Promise} #

导入页面资源(xml格式字符串)到指定wiki。

参数(Parameters):

名称 类型 描述
wiki string
xml string

返回值(Returns):

类型 描述
Promise

例:

BWIKI.importXml("tools", xml)
.then(function(result){
  console.log(result)
});

instr(str, substr) → {number} #

在字符串中查找子字符串,并返回第一次出现的位置,找不到返回0。

参数(Parameters):

名称 类型 描述
str string
substr string

返回值(Returns):

类型 描述
number

例:

var str = "abcdefg";
var substr = "cd";

console.log(BWIKI.instr(str, substr)); // 输出 3

isMobile() → {boolean} #

检查是否移动设备。

返回值(Returns):

类型 描述
boolean

例:

console.log(BWIKI.isMobile()); // 移动设备输出 true   非移动设备输出 false

mid(str, start, length) → {string} #

在字符串中提取指定位置和长度的子字符串。

参数(Parameters):

名称 类型 描述
str string
start number
length number

返回值(Returns):

类型 描述
string

例:

var str = "abcdefg";
var start = 3;
var length = 2;

console.log(BWIKI.mid(str, start, length)); // 输出 cd

path(str) → {string} #

返回当前wiki的相对路径

参数(Parameters):

名称 类型 描述
str string

返回值(Returns):

类型 描述
string

例:

console.log(BWIKI.path("特殊:最近更改")); // 输出 /tools/特殊:最近更改

preview(wikitext) → {Promise} #

解析wikitext内容文本

参数(Parameters):

名称 类型 描述
wikitext string

返回值(Returns):

类型 描述
Promise

例:

BWIKI.preview("[[首页]]")
.then(function(result){
  console.log(result)
});

purge(wiki, titles, pageids) → {Promise} #

刷新页面。

参数(Parameters):

名称 类型 描述
wiki string
titles string
pageids string|number 覆盖titles

返回值(Returns):

类型 描述
Promise

例:

BWIKI.purge("tools", "页面名A|页面名B")
.then(function(result){
  console.log(result)
});

token(wiki) → {Promise} #

获取指定wiki的csrftoken

参数(Parameters):

名称 类型 描述
wiki string

返回值(Returns):

类型 描述
Promise

例:

BWIKI.token("tools")
.then(function(result){
  console.log(result)
});

view(wiki, page, pageid, prop) → {Promise} #

获取页面内容

参数(Parameters):

名称 类型 描述
wiki string
page string
pageid number 覆盖page
prop "text"|"wikitext" text:已解析
wikitext:未解析

返回值(Returns):

类型 描述
Promise

例:

BWIKI.view("tools","沙盒2",null,"text")
.then(function(result){
  console.log(result)
});

注:本页内容写给自己看的