vars=xn.substr("abcdefg",0,-3);console.log(s);
//结果:abcd
Object.keys()
Object.keys()
Object.keys(obj)
【功能】
返回一个数组,包含对象的的所有的 Keys。
【参数】
obj:对象
【用例】
varobj={"username":"Jack","email":"<jack@gmail.com>"};var arr=Object.keys(obj);
console.log(arr);
//结果:\["username", "email"\]
?>
Object.length()
Object.length()
Object.length(obj)
【功能】
返回对象包含的元素的个数。。
【参数】
obj:对象
【用例】
varobj={"username":"Jack","email":"<jack@gmail.com>"};var n=Object.length(obj);
console.log(n);
//结果:2
?>
Object.count()
Object.count()
Object.count(obj)
【功能】
返回对象包含的元素的个数,不包含继承而来的 Key。
【参数】
obj:对象
【用例】
varobj={"username":"Jack","email":"<jack@gmail.com>"};var n=Object.count(obj);
console.log(n);
//结果:2
?>
xn.htmlspecialchars()
xn.htmlspecialchars()
xn.htmlspecialchars(s)
【功能】
对字符串进行 HTML 转义。
PHP htmlspecialchars() 的 JS 版本。
【参数】
s:字符串对象
【用例】
var s="<b>Hello</b>";
var s2=xn.htmlspecialchars(s);console.log(s2)
//结果:<b>Hello</b>
?>
xn.urlencode()
xn.urlencode()
xn.urlencode(s)
【功能】
对字符串进行安全的url encode转义,JS内置的字符编码为UNICODE,会被编码为UTF-8。编码后的字符串仅仅包含 字母、数字、下划线,可以被安全的通过URL传递。
XiunoPHP xn\_urlencode() 的 JS 版本。
【参数】
s:字符串对象
【用例】
var s="中国";
var s2=xn.urlencode(s);console.log(s2)
//结果:\_E4\_B8\_AD\_E5\_9B\_BD
?>
xn.urldecode()
xn.urldecode()
xn.urldecode(s)
【功能】
对 xn.urlencode() 编码过的字符串进行解码。XiunoPHP xn\_urldecode() 的 JS 版本。
【参数】
s:字符串对象
【用例】
var s="\_E4\_B8\_AD\_E5\_9B\_BD";var s2=xn.urldecode(s);console.log(s2)
//结果:中国
?>
xn.nl2br()
xn.nl2br(s)
xn.nl2br(s)
【功能】
将换行 \\r\\n 替换为
PHP nl2br() 的 JS 版本。
【参数】
s:字符串对象
【用例】
var s="Hello \\r\\nWorld";var s2=xn.nl2br(s);console.log(s2)
//结果:Hello <br> World
?>
xn.time()
xn.time()
xn.time()
【功能】
获取当前的 UNIX 时间戳PHP time() 的 JS 版本。
【用例】
var t=xn.time();console.log(t)
//结果:1474781352
?>
xn.intval()
xn.intval()
xn.intval(s)
【功能】
将字符串转为INT类型,不会出现NaN类型,格式不良好返回0。PHP intval() 的JS版本。
【参数】
s:字符串对象
【用例】
var n=xn.intval("123个");console.log(n)
//结果:123
?>
xn.floatval()
xn.floatval()
xn.floatval(s)
【功能】
将字符串转为float类型,不会出现NaN类型,格式不良好返回0。PHP floatval() 的JS版本。
【参数】
s:字符串对象
【用例】
var n=xn.intval("123.45个");console.log(n)
//结果:123.45
?>
xn.isset()
xn.isset(obj)
xn.isset(obj)
【功能】
判断一个变量是否被定义过PHP isset() 的 JS 版本。
【参数】
obj:对象
【用例】
var r=xn.isset(var1);console.log(r)
//结果:false
?>
xn.empty()
xn.empty(obj)
xn.empty(obj)
【功能】
判断一个变量是否为空,以下值都会被当做空,而返回 true0, '', '0', \[\], {}, null, undefined, unknown
PHP empty() 的 JS 版本。
【参数】
obj:对象
【用例】
var r=xn.empty(window.xxx);console.log(r)
//结果:false
?>
xn.ceil()
xn.ceil()
xn.ceil(n)
【功能】
对一个数取整,向上圆整。PHP ceil() 的 JS 版本。
【参数】
n:数值对象
【用例】
var r=xn.ceil('0.2');console.log(r)
//结果:1
?>
xn.round()
xn.round()
xn.round(n)
【功能】
对一个数取整,四舍五入。PHP round() 的 JS 版本。
【参数】
n:数值对象
【用例】
var r=xn.round('0.6');console.log(r)
//结果:1
?>
xn.floor()
xn.floor()
xn.floor(n)
【功能】
对一个数取整,四舍五入。PHP floor() 的 JS 版本。
【参数】
n:数值对象
【用例】
var r=xn.floor('0.2');console.log(r)
//结果:0
?>
xn.strtolower()
xn.strtolower()
xn.strtolower(s)
【功能】
对字符串转为小写
PHP strtolower() 的 JS 版本。
【参数】
s:字符串对象
【用例】
var s=xn.strtolower('Abcd');console.log(s)
//结果:abcd
?>
xn.strtoupper()
xn.strtoupper()
xn.strtoupper(s)
【功能】
对字符串转为小写
PHP strtoupper() 的 JS 版本。
【参数】
s:字符串对象
【用例】
var s=xn.strtoupper('Abcd');console.log(s)
//结果:ABCD
?>
xn.json\_encode()
xn.json\_encode()
xn.json\_encode(obj)
【功能】
对obj进行json编码,返回编码后的字符串。PHPjson\_encode() 的JS版本。
【参数】
obj:对象
【用例】
varobj={username:"Jack",email:"<jack@gmail.com>"};var s=xn.json\_encode(obj);
console.log(s)
//结果:"{\\"username\\":\\"Jack\\",\\"email\\":\\"jack@gmail.com\\"};"
?>
xn.json\_decode()
xn.json\_decode()
xn.json\_decode(s)
【功能】
对 s 进行 json 解码,返回解码后的对象。PHP json\_encode() 的 JS 版本。
【参数】
s:字符串对象
【用例】
var s="{\\"username\\":\\"Jack\\",\\"email\\":\\"jack@gmail.com\\"};"var obj=xn.json\_decode(s);
console.log(obj)
//结果:{username: "Jack", email: "<jack@gmail.com>"}
?>
xn.min()
xn.min()
xn.min(...)
【功能】
返回参数中最小的值。PHP min() 的 JS 版本。
【参数】
...:不定个数的变参
【用例】
var n=xn.min(3,1,2,4,5);console.log(n)
//结果:1
?>
xn.max()
xn.max()
xn.max(...)
【功能】
返回参数中最大的值。PHP max() 的 JS 版本。
【参数】
...:不定个数的变参
【用例】
var n=xn.max(3,1,2,4,5);console.log(n)
//结果:5
?>
xn.str\_replace()
xn.str\_replace()
xn.str\_replace(s,d,str)
【功能】
将 str 中的 s 字符串替换为 d 字符串。PHP str\_replace() 的 JS 版本。
【用例】
vars=xn.str\_replace('a','b','abc');console.log(s)
//结果:"bbc"
?>
xn.strpos()
xn.strpos()
xn.strpos(str,s)
【功能】
返回字符串 str 中 s 字符第一次出现的位置。PHP strrpos() 的 JS 版本。
【参数】
str:在该字符串查找s:待查找的字符串
【用例】
varn=xn.strpos("123.jpg.php","jpg");console.log(n)
//结果:3
?>
xn.strrpos()
xn.strrpos()
xn.strrpos(str,s)
【功能】
返回字符串 str 中 s 字符最后出现的位置。PHP strrpos() 的 JS 版本。
【参数】
str:在该字符串查找s:待查找的字符串
【用例】
varn=xn.strrpos("123.jpg.jpg.php","jpg");console.log(n)
//结果:8
?>
xn.substr()
xn.substr()
xn.substr(str,start,len)
【功能】
对字符串str进行截取,从start指定位置开始,截取len长度,支持负数。PHPsubstr() 的JS版本。
【参数】
str:对该字符串进行截取start:开始位置
len:截取的长度,负数表示从后往前的偏移量
【用例】
vars=xn.substr("123456",0,-1);console.log(s)
//结果:123456
?>
xn.explode()
xn.explode()
xn.explode(sep,s)
【功能】
用字符串sep对字符串s进行进行分割,返回一个数组。PHP explode() 的JS版本。
【参数】
sep:分隔符
s:对该字符串进行分割
【用例】
vararr=xn.explode(".","abc.jpg");console.log(arr)
//结果:\["abc", "jpg"\]
?>
xn.implode()
xn.implode()
xn.implode(glur,arr)
【功能】
用数组arr通过glur进行合并,返回合并后的对字符串。PHPimplode() 的JS版本。
【参数】
glur:分隔符
arr:对该数组进行合并
【用例】
vars=xn.implode(".",\["abc","jpg"\]);console.log(s)
//结果:"abc.jpg"
?>
xn.array\_merge()
xn.array\_merge()
xn.array\_merge(arr1,arr2)
【功能】
将数组arr1和arr2进行合并,返回合并后的数组。PHParray\_merge() 的JS版本。
【参数】
arr1:数组1
arr2:数组2
【用例】
vararr=xn.array\_merge(\["a","b"\],\["c","d"\]);console.log(arr)
//结果:\["a", "b", "c", "d"\]
?>
xn.array\_diff()
xn.array\_diff()
xn.array\_diff(arr1,arr2)
【功能】
返回存在于$arr1,但不存在于$arr2的元素集合的数组。PHParray\_diff() 的JS版本。
【参数】
arr1:数组1
arr2:数组2
【用例】
vararr=xn.array\_diff(\["a","b"\],\["b","c","d"\]);console.log(arr)
//结果:\["a"\]
?>
xn.array\_keys()
xn.array\_keys()
xn.array\_keys(obj)
【功能】
返回一个数组,包含对象中所有的 key 值PHP array\_keys() 的 JS 版本。
【参数】
obj:对象
【用例】
varobj={"username":"Jack","email":"<jack@gmail.com>"};var arr=xn.array\_keys(obj);
console.log(arr)
//结果:\["username", "email"\]
?>
xn.array\_values()
xn.array\_values()
xn.array\_values(obj)
【功能】
返回一个数组,包含对象中所有的value的值PHP array\_values() 的JS版本。
【参数】
obj:对象
【用例】
varobj={"username":"Jack","email":"<jack@gmail.com>"};var arr=xn.array\_values(obj);
console.log(arr)
//结果:\["Jack", "<jack@gmail.com>"\]
?>
xn.in\_array()
xn.in\_array()
xn.in\_array(v,arr)
【功能】
判断 v 是否在 arr 当中。PHP in\_array() 的 JS 版本。
【参数】
v:查找的对象
arr:从这个数组进行查找
【用例】
varr=xn.in\_array(3,\[3,2,1,4,5\]);console.log(r)
//结果:true
?>
xn.rand()
xn.rand()
xn.rand(n)
【功能】
生成一个位数为 n 的随机字符串。XiunoPHP xn\_rand() 的 JS 版本。
【参数】
n:随机字符串位数
【用例】
var s=xn.rand(6);console.log(s)
//结果:"kd3i9w"
?>
xn.template()
xn.template()
xn.template(s,json)
【功能】
对字符串进行替换,按照 json 指定的 key value。
【参数】
s:对此字符串进行替换,一般是HTML模板
json:对象
【用例】
vars=xn.template("Hi,{username}",{"username":"Jack"});console.log(s)
//结果:"Hi, Jack"
?>
xn.is\_mobile()
xn.is\_mobile()
xn.is\_mobile(s)
【功能】
判断字符串是否为手机号码格式
【参数】
s:包含手机号码的字符串
【用例】
varr=xn.is\_mobile("18812345678");console.log(r)
//结果:true
?>
xn.is\_email()
xn.is\_email()
xn.is\_email(s)
【功能】
判断字符串是否为 Email 格式
【参数】
s:包含Email的字符串
【用例】
varr=xn.is\_email("<abc@gmail.com>");console.log(r)
//结果:true
?>
xn.is\_string()
xn.is\_string()
xn.is\_string(obj)
【功能】
判断是否为字符串对象
【参数】
obj:对象
【用例】
var r=xn.is\_string("abc");console.log(r)
//结果:true
?>
xn.is\_function()
xn.is\_function()
xn.is\_function(obj)
【功能】
判断是否为函数对象
【参数】
obj:对象
【用例】
vara=function(){alert(123);};var r=xn.is\_function(a);
console.log(r)
//结果:true
?>
xn.is\_array()
xn.is\_array()
xn.is\_array(obj)
【功能】
判断是否为函数对象
【参数】
obj:对象
【用例】
var a=\[1,2,3\];
var r=xn.is\_function(a);console.log(r)
//结果:true
?>
xn.is\_number()
xn.is\_number()
xn.is\_number(obj)
【功能】
判断是否为数值对象
【参数】
obj:对象
【用例】
var a=123;
var r=xn.is\_regexp(a);console.log(r)
//结果:true
?>
xn.is\_regexp()
xn.is\_regexp()
xn.is\_regexp(obj)
【功能】
判断是否为正则表达式对象
【参数】
obj:对象
【用例】
var a=/^\\w+/;
var r=xn.is\_regexp(a);console.log(r)
//结果:true
?>
xn.is\_object()
xn.is\_object()
xn.is\_object(obj)
【功能】
判断是否为对象
【参数】
obj:对象
【用例】
var a={};
var r=xn.is\_object(a);console.log(r)
//结果:true
?>
xn.is\_element()
xn.is\_element()
xn.is\_element(obj)
【功能】
判断是否为 HTML 元素。nodeType == 1
【参数】
obj:对象
【用例】
var a=document.body;var r=xn.is\_element(a);
console.log(r)
//结果:true
?>
xn.lang()
xn.lang()
xn.lang(key,arr)
【功能】
语言包功能函数
【参数】
key:查找语言包的key arr:替换的变量
【用例】
var lang={
"login\_successfully":"{username},登陆成功!"
}
vars=xn.lang("login\_successfully",{username:"Jack"});console.log(s)
//结果:Jack,登陆成功!
?>
xn.url()
xn.url()
xn.url(u,url\_rewrite)
【功能】
生成 URL ,格式与 XiunoPHP 保持一致。
【参数】
u:URL url\_rewrite:格式
【用例】
var s=xn.url("user-login");console.log(s)
//结果:"?user-login.htm"
?>
xn.image\_resize()
xn.image\_resize()
xn.image\_resize(file\_base64\_data,callback,options)
【功能】
对图片进行缩放
【参数】
file\_base64\_data:图片的base64编码数据。
callback:处理完以后的回调函数:
function(code,message) {
// code = 0
// message = {width: width, height: height, data:s}
}
options:选项:
{
width:1200,
height:2400,
action:"thumb",// clip
filetype:"jpg",//如果不指定,则与原来的base64中指定的格式保持一致
qulity:0.7, //图片质量。
}
【用例】
var imgdata="data:image/gif xxxx";varcallback=function(code,message){
if(code!=0)returnalert(message)console.log(message);
//结果:{width: width, height: height, data: s}
}
var options={width:1200};xn.image\_resize(file\_base64\_data,callback,options);
xn.upload\_file()
xn.upload\_file()
![](https://img.kancloud.cn/fe/c5/fec53588eca168b906f3e894e110eb9a_31x31.png)![](https://img.kancloud.cn/07/37/0737da087836e783fa1e9fccc19cb34e_31x32.png)![](https://img.kancloud.cn/5c/76/5c769cd3199e545ebc1a0f35cd56ac55_20x31.png)
xn.upload\_file(file,upload\_url,postdata,complete\_callback,progress\_callback,thumb\_callback)
【功能】
通过 POST 方式上传 base64 编码过的文件(可以设置对图片进行缩略和裁切)
【参数】
file:文件对象upload\_url:服务器URL
postdata:POST数据,格式:[username=Jack&email=jack@gmail.com](mailto:username%3DJack%26email%3Djack@gmail.com)complete\_callback: 完成后的回调函数:
function(code,message) {
// code为服务端返回的json数据
// message为服务端返回的json数据
}
progress\_callback:进度回调函数:
function(percent) {
// percent为数值:0 - 100
}
thumb\_callback:可选:缩略图回调函数:function(base64\_data) {
//此处可以用来显示缩略图,一般不需要。
}
【用例】
varfile=e.target.files\[0\];//文件控件onchange后触发的event;varupload\_url='xxx.php';//服务端地址
varpostdata={width:2048,height:4096,action:'thumb',filetype:'jpg'}
;
var progress=function(percent) {console.log('progress:'+percent); }};/
/如果是图片,会根据此项设定进行缩略和剪切thumb|clip
xn.upload\_file(file,upload\_url,postdata,function(code,json){
//成功
if(code==0) {console.log(json.url);console.log(json.width);console.log(json.height);
![](https://img.kancloud.cn/fe/c5/fec53588eca168b906f3e894e110eb9a_31x31.png)![](https://img.kancloud.cn/07/37/0737da087836e783fa1e9fccc19cb34e_31x32.png)![](https://img.kancloud.cn/85/55/85557feb96e7596bed2b15a6e455094e_20x31.png)
}else{
alert(json);
}
},progress);
$.location()
$.location()
$.location(href)
【功能】
等价于 window.location = href;
【参数】
href:跳转的URL
【用例】
$.location("user-login.htm");
$.pdata()
$.pdata()
$.pdata(key,value)
【功能】
存储数据到浏览器端的 sessionStorage 对象当中,可以保存比 Cookie 大很多的数据,并且不会被发送到服务端。
【参数】
key:键名value:键值
【用例】
$.pdata('key1','value1');
console.log($.pdata('key1'));
//结果:"value1"
$.cookie()
$.cookie()
$.cookie(name,value,time,path)
【功能】
设置或者读取客户端 Cookie,会随浏览器发送到服务器。
【参数】
name:cookie名
value:cookie值
time:过期时间,单位为秒。
path:路径
【用例】
$.cookie('key1','value1');console.log($.cookie('key1'));
//结果:"value1"
$.xget()
$.xget()
$.xget(url,callback,retry)
【功能】
AJAX 请求服务端。
与 $.get() 不同在于,当服务器返回非 json 数据的时候,$.xget() 能返回错误回调。
【参数】
url:AJAX请求的URL callback:回调函数retry:重试次数
【用例】
$.xget('user-login.htm',function(code,message){if(code==0) {
alert('成功');
}else{
alert('错误:'+message);
}
})
$.xpost()
$.xpost()
$.xpost(url,postdata,callback,progress\_callback)
【功能】
AJAX POST 请求服务端。
与$.post() 不同在于,当服务器返回非json数据的时候,$.xpost() 能返回错误回调,并且能指定进度回调函数。
【参数】
url:AJAX请求的URL callback:回调函数
progress\_callback:进度回调函数,参数为一个数值:0-100
【用例】
$.xpost('user-login.htm',"username=Jack",function(code,message){if(code==0) {
alert('成功');
}else{
alert('错误:'+message);
}
})
$.require()
$.require()
$.require(...callback)
【功能】
异步加载 js, 加载成功以后 callback
【参数】
...:js文件的URL
callback:最后一个参数为回调函数
【用例】
$.require('1.js','2.js',function(){alert('after allloaded');
});
$.require(\['1.js','2.js',function(){alert('after allloaded');
}\]);
$.require\_css()
$.require\_css()
$.require\_css(filename)
【功能】
异步加载 css
【参数】
filename:css文件的URL
【用例】
$.require('1.css');
$.each\_sync()
$.each\_sync()
$.each\_sync(array,func,callback)
【功能】
串行化异步动作。
对 async 进行了封装,避免并发导致的乱序。
【参数】
array: 数组func:函数callback:回调函数
【用例】
$.each\_sync(items,function(i,callback){var item=items\[i\];
$.post(url,function() {
// ...callback();
});
});
$.fn.removeDeep()
$.fn.removeDeep()
$.fn.removeDeep()
【功能】
清理节点,和节点上的事件。
remove() 并不清除子节点事件!!用来替代 remove(),避免内存泄露
【用例】
$('div.card').removeDeep();
$.fn.emptyDeep()
$.fn.emptyDeep()
$.fn.emptyDeep()
【功能】
清理节点,和节点上的事件,与 removeDeep() 不同的是它保留当前节点。
【用例】
$('body').emptyDeep();
$.fn.checked()
$.fn.checked()
$.fn.checked()
【功能】
获取选中的控件的值。
主要针对 checkbox radio select 控件。
【返回值】
可能是数组,也可能是字符串,取决于控件类型。
【用例】
var v=$('select').checked();
//返回字符串: 123
var arr=$('input\[type="checkbox"\]').checked();
//返回数组: \[1, 2, 3\]
$.fn.button()
$.fn.button()
$.fn.button(v)
【功能】
获取选中的控件的值。
主要针对 checkbox radio select 控件。
【参数】
v: button 上的文字和状态
【用例】
//正在加载,会调用loading-text属性
$('button').button('loading');
//禁用状态
$('button').button('disabled');
//启用
$('button').button('enable');
//重设状态
$('button').button('reset');
//使用非状态值得文字内容
$('button').button('非状态值的文字内容');
$.fn.location()
$.fn.location()
$.fn.location(href)
【功能】
页面跳转,支持连续操作。
【参数】
href: 跳转的 URL
【用例】
jsubmit.button(message).delay(1000).button('reset').delay(1000).location('http:
//xxxx');
$.fn.alert()
$.fn.alert()
$.fn.alert(message)
【功能】
在控件的上方显示提示信息。
【参数】
message: 信息内容
![](https://img.kancloud.cn/d9/b8/d9b88eeda13deb938b92442c74bdff6e_407x308.jpeg)【用例】
$('input.subject').alert("请输入标题");
$.fn.serializeObject()
$.fn.serializeObject()
$.fn.serializeObject()
【功能】
对 Form 表单的控件序列化,生成对象。
$.fn.serialize() 生成的是字符串。
【用例】
varpostdata=$('form').serializeObject();consolelog(postdata);
//结果:{"username": "Jack", "email": "<jack@gmail.com>"}
$.fn.reset()
$.fn.reset()
$.fn.reset()
【功能】
对 Form 表单状态重设。
会对内所以后控件进行重设,并且清楚 alert() 等残余信息。
【用例】
$('form').reset();
$.fn.base\_href()
$.fn.base\_href()
$.fn.base\_href(base)
【功能】
用 JS 实现 相对路径的功能。
一般用来处理公共模板的路径不正确问题。
【参数】
base:相对路径值
【用例】
$('#threadlist').base\_href('../');
$.fn.base64\_encode\_file()
$.fn.base64\_encode\_file()
【功能】
将文件的内容 base64 编码放入隐藏的同名控件。方便文件上传
【参数】
标签属性传参:
<inputtype="file"multiple="multiple"class="form-control"name="file1"value=""data-assoc="img1"placeholder="选择文件"/>
data-assoc:表示图片缩略图的ID(如果非图片则不显示)
【原理】
在文件选择后,生成一个隐藏的控件 hidden,名字与文件控件相同。内容为文件的 base64 编码。这样会随着表单一起 POST 发送到服务端。
【用例】
var jform=$("#form");var jsubmit=$("#submit");
jform.base64\_encode\_file();//对文件进行base64编码,处理文件上传,很方便
jform.on('submit',function(){jform.reset();
varpostdata=jform.serialize();jsubmit.button('loading');
$.xpost(jform.attr('action'),postdata,function(code,message){if(code==0) {
$.alert(message);jsubmit.text(message).delay(3000).location();return;
}else{
alert(message);jsubmit.button('reset');
}
});
returnfalse;
});
服务端获取:
<?php
// ...
$data=param\_base64('file1');file\_put\_contents('1.jpg',$data);
?>
- Xiuno BBS 入门
- Xiuno BBS 是什么?
- 如何获取?
- 如何安装?
- URL-Rewrite 网址美化
- URL-Rewrite 网址美化
- 转发规则Nginx:
- Apache:
- Apache .htaccess
- Apache httpd.conf
- 性能优化
- 前端技术栈
- Bootstrap 4
- Bootstrap 4.0
- 效果:
- 中文资料:
- JQuery 3
- JQuery 3.1
- 效果:
- Tether.js
- Tether.js
- 效果:
- 官方网站:
- Fontawesome
- Fontawesome
- 部分图标预览
- xiuno.js
- xiuno.js 是什么?
- Xiuno.js 是什么?
- 效果:
- $.alert()
- $.alert()
- 程序结构
- 目录结构
- Xiuno BBS 4.0 目录结构
- 表结构
- Xiuno BBS 4.0 表结构
- MVC 分层架构
- MVC 分层架构
- 图例:
- 插件开发
- Hello, Xiuno Plugin!
- Hello, Xiuno Plugin!
- 补充:
- hook 机制
- Hook 机制
- overwrite 机制
- Overwrite 机制
- 风格模板
- 风格模板
- 发布你的插件
- 风格模板
- 插件示例
- 插件示例
- 一个单页的例子
- 一个单页的例子
- 常见问题
- post 表中的 message message_fmt 字段的区别?
- 论坛帖子数据
- 如何调用百度编辑器?
- 如何调用百度编辑器?
- Xiuno BBS 4.0 中的几种缓存 API
- 插件互相卸载机制
- 插件互相卸载机制
- 其他
- JSON API
- GET:
- POST:
- 注意: