请选择 进入手机版 | 继续访问电脑版

学习用PbootCMS做微信小程序教程分享

[复制链接]
查看2422 | 回复0 | 2021-10-26 20:52 | 显示全部楼层 |阅读模式
学习用PbootCMS做微信小程序教程分享
如何用PbootCMS做微信小程序呢,看完这篇文章你也可以学会。
第一步:准备md5加密文件
PbootCMS的签名参数signature是经过双层md5加密的,当然如果后台WebAPI没有开启强制认证的,这一步可以跳过。
第二步:封装API请求方法
  1. //声明一个API请求函数
  2. function api_request(url, method, parm){
  3.     var apiurl    = 'https://www.pbootcms.com/api.php';    //域名 + api.php
  4.     var appid     = 'wx12345678910';    //后台WebAPI中设置的AppID
  5.     var appsecret = '12334356465765867878943';    //后台WebAPI中设置的API认证密钥
  6.     var timestamp = Date.parse(new Date());
  7.         timestamp = timestamp / 1000;    //获取当前时间戳
  8.     var signature = md5.hex_md5(md5.hex_md5(appid + appsecret + timestamp));    //构建signature
  9.     var data = {    //因为搜索、留言和表单需要用到POST方法,要通过data传递参数,所以先声明data对象,方便后面添加
  10.         appid: appid,
  11.         timestamp: timestamp,
  12.         signature: signature,
  13.     };
  14.     //根据请求方法构建Header
  15.     if (method == 'POST') {
  16.         //POST方法,设置请求头部
  17.         var header = { 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' };
  18.         //添加POST参数到data
  19.         for (var i in parm) {
  20.             data[i] = parm[i];
  21.         }
  22.     } else {
  23.         //GET方法,设置请求头部
  24.         method = 'GET';
  25.         var header = { 'Content-Type': 'application/json' };
  26.     }
  27.     //通过promise返回数据
  28.     var promise = new Promise(function(resolve,reject){
  29.         //小程序自带的wx.request请求
  30.         wx.request({
  31.             method: method,
  32.             url: apiurl + url,
  33.             header: header,
  34.             data: data,
  35.             //请求成功
  36.             success: function(res){
  37.                 var api_data = res.data;
  38.                 if (api_data.code != 1 && api_data.code != 0){
  39.                     reject({ error: '数据请求失败,请稍后重试', code: 500 });
  40.                     return;
  41.                 } else {
  42.                     resolve(api_data);
  43.                 }
  44.             }
  45.         })
  46.     })
  47.     //返回数据
  48.     return promise;
  49. }
复制代码
第三步:封装官方API模块
  1. //官方Api模块进行封装
  2. module.exports = {
  3.     //获取公司信息
  4.     companyInfos: function(){
  5.         var url = '/cms/company';
  6.         return api_request(url);
  7.     },
  8.     //获取单个公司信息
  9.     companyInfo: function(name){
  10.         var url = '/cms/company/name/' + name;
  11.         return api_request(url);
  12.     },
  13.     //获取网站信息
  14.     siteInfos: function(){
  15.         var url = '/cms/site';
  16.         return api_request(url);
  17.     },
  18.     //获取单个网站信息
  19.     siteInfo: function(name){
  20.         var url = '/cms/site/name/' + name;
  21.         return api_request(name);
  22.     },
  23.     //获取自定义标签
  24.     getLabels: function(){
  25.         var url = '/cms/label';
  26.         return api_request(url);
  27.     },
  28.     //获取单个自定义标签
  29.     getLabel: function(){
  30.         var url = '/cms/label/name/' + name;
  31.         return api_request(url);
  32.     },
  33.     //获取幻灯片
  34.     getSlide: function(gid,num){
  35.         var url = '/cms/slide/gid/' + gid + '/num/' + num;
  36.         return api_request(url);
  37.     },
  38.     //获取友情链接
  39.     getLinks: function(gid,num){
  40.         var url = '/cms/link/gid/' + gid + '/num/' + num;
  41.         return api_request(url);
  42.     },
  43.     //获取栏目列表
  44.     getNavs: function(){
  45.         var url = '/cms/nav';
  46.         return api_request(url);
  47.     },
  48.     //获取指定栏目列表
  49.     getNav: function(scode){
  50.         var url = '/cms/nav/scode/' + scode;
  51.         return api_request(url);
  52.     },
  53.     //获取当前栏目
  54.     getCurrentCat: function(scode){
  55.         var url = '/cms/sort/scode/' + scode;
  56.         return api_request(url);
  57.     },
  58.     //获取内容列表
  59.     getList: function(scode,num,order){
  60.         if( ( num != '' ) && !order ){
  61.             var url = '/list/' + scode + '/num/' + num;
  62.         } else if( !num && ( order != '' ) ){
  63.             var url = '/list/' + scode + '/order/' + order;
  64.         } else if ( (num != '') && (order != '') ){
  65.             var url = '/list/' + scode + '/num/' + num + '/order/' + order;
  66.         } else {
  67.             var url = '/list/' + scode;
  68.         }
  69.         return api_request(url);
  70.     },
  71.     //获取内容列表第*页
  72.     getListPaged: function (scode, paged, num, order) {
  73.         if ((num != '') && (order == '')) {
  74.             var url = '/list/' + scode + '/num/' + num + '/page/' + paged;
  75.         } else if ((num == '') && (order != '')) {
  76.             var url = '/list/' + scode + '/order/' + order + '/page/' + paged;
  77.         } else if ((num != '') && (order != '')) {
  78.             var url = '/list/' + scode + '/num/' + num + '/order/' + order + '/page/' + paged;
  79.         } else {
  80.             var url = '/list/' + scode + '/page/' + paged;
  81.         }
  82.         return api_request(url);
  83.     },
  84.     //获取指定内容
  85.     getContent: function(id){
  86.         var url = '/content/' + id;
  87.         return api_request(url);
  88.     },
  89.     //获取指定内容
  90.     getContent: function(scode){
  91.         var url = '/about/' + scode;
  92.         return api_request(url);
  93.     },
  94.     //获取指定内容多图
  95.     getContent_pics: function(id){
  96.         var url = '/cms/pics/id/' + id;
  97.         return api_request(url);
  98.     },
  99.     //获取搜索结果
  100.     getSearchResault: function(parm,num,order){
  101.         if ((num != '') && (order == '')) {
  102.             var url = '/cms/search/' + 'num/' + num;
  103.         } else if ((num == '') && (order != '')) {
  104.             var url = '/cms/search/' + 'oder/' + order;
  105.         } else if ((num != '') && (order != '')) {
  106.             var url = '/cms/search/num/' + num + '/order/' + order;
  107.         } else {
  108.             var url = '/cms/search/';
  109.         }
  110.         return api_request(url, 'POST', parm);
  111.     },
  112.     //提交留言
  113.     addMessage: function(parm){
  114.         var url = '/cms/addmsg';
  115.         return api_request(url, 'POST', parm);
  116.     },
  117.     //获取留言内容
  118.     getMessage: function(num){
  119.         var url = '/cms/msg/num/' + num;
  120.         return api_request(url);
  121.     },
  122.     //获取留言内容第*页
  123.     getMessagePaged: function(num,paged){
  124.         var url = '/cms/msg/num/' + num + '/page/' + paged;
  125.         return api_request(url);
  126.     },
  127.     //提交表单
  128.     addForm: function(fcode,parm){
  129.         var url = '/cms/addform/fcode/' + fcode;
  130.         return api_request(url, 'POST', parm);
  131.     },
  132.     //获取表单内容
  133.     getForm: function(fcode){
  134.         var url = '/cms/form/fcode/' + fcode;
  135.         return api_request(url);
  136.     },
  137.     //获取表单内容第*页
  138.     getFormPaged: function(fcode,num,paged){
  139.         var url = '/cms/form/fcode/' + fcode + '/num/' + num + '/page/' + paged;
  140.         return api_request(url);
  141.     },
  142. }
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则