pbootcms制作小程序,封装API具体操作

资源来源网络,如需授权,请更换源码,模块仅供学习,如需商用请购买正版授权,本栏目不提供技术服务,积分不够请签到!如何签到?系统升级暂停签到,恢复关注公告!
如遇下载链接蓝奏网盘打不开lanzous替换成lanzoux尝试! 广告

1、小程序API的封装

详细API接口详见PbootCMS开发手册中API接口的介绍

API接口封装主要分两步,领先步准备md5加密文件,第二步封装API使用方法和API全部模块
2、领先步:准备md5加密文件

PbootCMS的签名参数signature是经过双层md5加密的,当然如果后台WebAPI没有开启强制认证的,这一步可以跳过。

详细文件可以通过底部链接下载使用。
3、第二步:封装API请求方法

//声明一个API请求函数
function api_request(url, method, parm){
var apiurl = ‘https://www.pbootcms.com/api.php’; //域名 + api.php
var appid = ‘wx12345678910’; //后台WebAPI中设置的AppID
var appsecret = ‘12334356465765867878943’; //后台WebAPI中设置的API认证密钥
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000; //获取当前时间戳
var signature = md5.hex_md5(md5.hex_md5(appid + appsecret + timestamp)); //构建signature
var data = { //因为搜索、留言和表单需要用到POST方法,要通过data传递参数,所以先声明data对象,方便后面添加
appid: appid,
timestamp: timestamp,
signature: signature,
};
//根据请求方法构建Header
if (method == ‘POST’) {
//POST方法,设置请求头部
var header = { ‘Content-Type’: ‘application/x-www-form-urlencoded; charset=utf-8’ };
//添加POST参数到data
for (var i in parm) {
data[i] = parm[i];
}
} else {
//GET方法,设置请求头部
method = ‘GET’;
var header = { ‘Content-Type’: ‘application/json’ };
}
//通过promise返回数据
var promise = new Promise(function(resolve,reject){
//小程序自带的wx.request请求
wx.request({
method: method,
url: apiurl + url,
header: header,
data: data,
//请求成功
success: function(res){
var api_data = res.data;
if (api_data.code != 1 && api_data.code != 0){
reject({ error: ‘数据请求失败,请稍后重试’, code: 500 });
return;
} else {
resolve(api_data);
}
}
})
})
//返回数据
return promise;
}

4、第三步:封装官方API模块

建议使用驼峰式命名法。

//官方Api模块进行封装
module.exports = {
//获取公司信息
companyInfos: function(){
var url = ‘/cms/company’;
return api_request(url);
},
//获取单个公司信息
companyInfo: function(name){
var url = ‘/cms/company/name/’ + name;
return api_request(url);
},
//获取网站信息
siteInfos: function(){
var url = ‘/cms/site’;
return api_request(url);
},
//获取单个网站信息
siteInfo: function(name){
var url = ‘/cms/site/name/’ + name;
return api_request(name);
},
//获取自定义标签
getLabels: function(){
var url = ‘/cms/label’;
return api_request(url);
},
//获取单个自定义标签
getLabel: function(){
var url = ‘/cms/label/name/’ + name;
return api_request(url);
},
//获取幻灯片
getSlide: function(gid,num){
var url = ‘/cms/slide/gid/’ + gid + ‘/num/’ + num;
return api_request(url);
},
//获取友情链接
getLinks: function(gid,num){
var url = ‘/cms/link/gid/’ + gid + ‘/num/’ + num;
return api_request(url);
},
//获取栏目列表
getNavs: function(){
var url = ‘/cms/nav’;
return api_request(url);
},
//获取指定栏目列表
getNav: function(scode){
var url = ‘/cms/nav/scode/’ + scode;
return api_request(url);
},
//获取当前栏目
getCurrentCat: function(scode){
var url = ‘/cms/sort/scode/’ + scode;
return api_request(url);
},
//获取内容列表
getList: function(scode,num,order){
if( ( num != ” ) && !order ){
var url = ‘/list/’ + scode + ‘/num/’ + num;
} else if( !num && ( order != ” ) ){
var url = ‘/list/’ + scode + ‘/order/’ + order;
} else if ( (num != ”) && (order != ”) ){
var url = ‘/list/’ + scode + ‘/num/’ + num + ‘/order/’ + order;
} else {
var url = ‘/list/’ + scode;
}
return api_request(url);
},
//获取内容列表第*页
getListPaged: function (scode, paged, num, order) {
if ((num != ”) && (order == ”)) {
var url = ‘/list/’ + scode + ‘/num/’ + num + ‘/page/’ + paged;
} else if ((num == ”) && (order != ”)) {
var url = ‘/list/’ + scode + ‘/order/’ + order + ‘/page/’ + paged;
} else if ((num != ”) && (order != ”)) {
var url = ‘/list/’ + scode + ‘/num/’ + num + ‘/order/’ + order + ‘/page/’ + paged;
} else {
var url = ‘/list/’ + scode + ‘/page/’ + paged;
}
return api_request(url);
},
//获取指定内容
getContent: function(id){
var url = ‘/content/’ + id;
return api_request(url);
},
//获取指定内容
getContent: function(scode){
var url = ‘/about/’ + scode;
return api_request(url);
},
//获取指定内容多图
getContent_pics: function(id){
var url = ‘/cms/pics/id/’ + id;
return api_request(url);
},
//获取搜索结果
getSearchResault: function(parm,num,order){
if ((num != ”) && (order == ”)) {
var url = ‘/cms/search/’ + ‘num/’ + num;
} else if ((num == ”) && (order != ”)) {
var url = ‘/cms/search/’ + ‘oder/’ + order;
} else if ((num != ”) && (order != ”)) {
var url = ‘/cms/search/num/’ + num + ‘/order/’ + order;
} else {
var url = ‘/cms/search/’;
}
return api_request(url, ‘POST’, parm);
},
//提交留言
addMessage: function(parm){
var url = ‘/cms/addmsg’;
return api_request(url, ‘POST’, parm);
},
//获取留言内容
getMessage: function(num){
var url = ‘/cms/msg/num/’ + num;
return api_request(url);
},
//获取留言内容第*页
getMessagePaged: function(num,paged){
var url = ‘/cms/msg/num/’ + num + ‘/page/’ + paged;
return api_request(url);
},
//提交表单
addForm: function(fcode,parm){
var url = ‘/cms/addform/fcode/’ + fcode;
return api_request(url, ‘POST’, parm);
},
//获取表单内容
getForm: function(fcode){
var url = ‘/cms/form/fcode/’ + fcode;
return api_request(url);
},
//获取表单内容第*页
getFormPaged: function(fcode,num,paged){
var url = ‘/cms/form/fcode/’ + fcode + ‘/num/’ + num + ‘/page/’ + paged;
return api_request(url);
},
}

5、第四步:文件下载

如果懒得复制粘贴,点击下方直接下载吧!

下载后建议存放到 utils 文件夹,只需将 api.js 和 md5.js 复制进去即可。

©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!
风格酷模板网 » pbootcms制作小程序,封装API具体操作
NOTICE:【咨询风格酷】客服QQ:1131734965
NOTICE:【咨询风格酷】客服微信:wwwxmamnet
NOTICE:【风格酷模板网②群】QQ群:288678775
☉免责声明:本站所有模板均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。
☉如果源码网盘地址失效!或有其他问题,请点我报错,谢谢合作!
☉人民币与积分汇率为1比10,即1元=10积分.有任何疑问请联系客服
☉如有其他问题,请加网站客服QQ(1131734965)进行交流。
☉本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
☉源码、模板等资源会随着技术、环境的升级而存在部分问题,还请慎重选择。

发表评论

风格酷模板网www.xmam.net分享优质网站模板

立即查看 了解详情