介绍
这是一个旨在规范Z-BlogPHP前端代码接口而推出的框架,用于处理之前前端代码无序的局面。
代码示例:https://github.com/zblogcn/zblogphp/blob/master/zb_users/plugin/ZBPJFExample/zbpjfexample.js
函数说明
1. cookie
get
zbp.cookie.get(CookieKey)
根据Key得到Cookie的值
set
zbp.cookie.set(sCookieName, sCookieValue, iExpireDays)
2. comment
get
zbp.comment.get(文章ID, 评论页数)
触发事件,获得指定的评论列表
reply
zbp.comment.rely(评论ID)
触发回复评论事件
post
zbp.comment.post(发送内容)
触发发送评论事件。发送内容要求为Object,参数如下:
/**
* Form Data
* @name POSTFORMDATA
* @typedef {Object} PostData
* @memberOf COMMENT
* @property {string} action - Post Url
* @property {string} postid - Article ID
* @property {string} verify - Verify code
* @property {string} name - Comment user name
* @property {string} email - Comment user E-mail
* @property {string} content - Comment content
* @property {string} homepage - Comment user Website
* @property {string} replyid - Comment Parent ID
* @property {string} isajax - Return Ajax String
* @type {object}
*/
3. userinfo
output
save
saveFromHtml
懒得写了……
4. plugin
on
zbp.plugin.on(bind / addListener)(接口名, 插件ID, 回调函数(错误, 待发送数据))
用于创建一个监听器,监听事件的发生
unbind
zbp.plugin.unbind(removeListener)(插件ID)
用于解绑一个监听器
emit
zbp.plugin.emit(接口名, 内容)
用于传递内容到监听器
自带事件接口列表
userinfo.output
userinfo.savefromhtml
userinfo.save
无参数,请自行处理。
comment.verifydata
代码示例,应注意ZBPJFExample是指你的主题或者插件ID,以防止冲突:
// 验证评论
zbp.plugin.on("comment.verifydata", "ZBPJFExample", function (error, formData) {
console.log("待发送数据:");
console.log(formData);
// formData里的数据可以任意操作
// 如果出错的话
//if (1 == 2) {
//error.no = 32768; // 给一个错误编码
//error.msg = "Z-BlogPHP JavaScript Framework 测试"; // 错误消息
//}
// 设置error后,系统将自动报错。
});
comment.posterror
comment.postsuccess
代码示例:
// 评论发送成功
zbp.plugin.on("comment.postsuccess", "ZBPJFExample", function (formData, data, textStatus, jqXhr) {
console.log("系统返回数据:" + data);
// 同样,这里除了formData是发送的数据外,另外三项是jQuery ajax的参数,参见jQuery手册,不再赘述。
});
comment.get
comment.got
comment.reply
//点击回复评论
zbp.plugin.on("comment.reply", "ZBPJFExample", function (id) {
console.log("Wow! 你要回复ID为" + id + "的评论啊!");
});
更多系统默认接口代码请看:Register system events 更多详情请阅读源码: https://github.com/zblogcn/zblogphp/blob/master/zb_system/script/zblogphp.orig.js
模块化调用
AMD
<script src="{$host}zb_system/script/require.js" type="text/javascript"></script>
<script>
require.config({
baseUrl: '{$host}',
paths: {
jquery: 'zb_system/script/jquery.min',
zbp: 'zb_system/script/zblogphp'
}
});
require(["zbp", "jquery"], function (ZBP, jQuery) {
var zbp = new ZBP({
bloghost: "{$host}",
ajaxurl: "{$zbp.ajaxurl}",
cookiepath: "{$zbp.cookiespath}?>",
lang: {
error: {
72: "{$lang['error']['72']}",
29: "{$lang['error']['29']}",
46: "{$lang['error']['46']}"
}
}
}, jQuery);
console.log(zbp);
});
</script>
CMD
<script src="{$host}zb_system/script/sea.js" type="text/javascript"></script>
<script>
seajs.config({
base: '{$host}',
alias: {
jquery: 'zb_system/script/jquery.min',
zbp: 'zb_system/script/zblogphp'
},
debug: true
});
seajs.use(["zbp", "jquery"], function (ZBP, jQuery) {
var zbp = new ZBP({
bloghost: "{$host}",
ajaxurl: "{php}echo $zbp->ajaxurl;{/php}",
cookiepath: "{php}echo $zbp->cookiespath;{/php}?>",
lang: {
error: {
72: "{php}echo $lang['error']['72'];{/php}",
29: "{php}echo $lang['error']['29'];{/php}",
46: "{php}echo $lang['error']['46'];{/php}"
}
}
}, jQuery);
console.log(zbp);
});
在模块中调用
define(function(require, exports, module) {
var jquery = require("jquery");
var ZBP = require("zbp");
var zbp = new ZBP({
// Params...
}, jquery);
console.log(zbp);
});
CommonJS
var ZBP = require("zbp");
ES6 Import
import * as ZBP from 'zbp';
下一篇:如何安装zblog?zblog单文件安装教程 全程有图
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如无法下载,联系站长索要。
如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。