PbootBiz是独立维护的PbootCMS第三方资源与工具站,与官方无隶属关系;CMS版本、授权政策及公告请以官方信息为准。

API封装

小程序手册 / API封装

PbootCMS小程序开发手册
已同步至本站后台 2026-08-24 11 阅读 0 点赞 整理自cnsbq博客

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) {             datai = parmi;         }     } 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 复制进去即可。

下载api文件

本文发布于 2026-08-24,整理自 cnsbq博客小程序手册,若有内容错误或已失效,请在下方留言或联系我们
打赏