QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

小程序

首页 > 小程序 >

phpcms开发微信小程序接口之获取栏目信息(get_categorys.php)

 admin  2018-01-14 22:49:00
首页在phpcms v9的api文件夹下创建get_categorys.php,访问路径是:***/api.php?op=get_category

php代码:
  1. /**   
  2.      ** 栏目调用接口,栏目相关信息   
  3.      ** catid 栏目id ,catid为空调用全部栏目   
  4.      ** parentid 父栏目id 为0是调用一级栏目 为-1时调用全部栏目   
  5.      ** catid和parentid 不能同时存在   
  6.      ** 如果存在catid则调用当前栏目信息,否则调用全部栏目信息   
  7.      ** 版权:石头建站 http://www.sootou.com   
  8.      ** 时间:2017-12-18   
  9.      */    
  10.     defined('IN_PHPCMS') or exit('No permission resources.');       
  11.     pc_base::load_app_func('util','content');    
  12.     $siteid = 1;    
  13.     $r = array();    
  14.     $wxid     =  trim($_GET['wxid']) ? trim($_GET['wxid']) : '';     
  15.     $catid    = intval($_GET['catid']); //用来接收请求的栏目id        
  16.     $parentid = trim($_GET['parentid']) ? intval($_GET['parentid']) : -1; //父栏目    
  17.         
  18.     $CATEGORYS = getcache('category_content_'.$siteid,'commons');    
  19.     $category_db = pc_base::load_model('category_model');    
  20.         
  21.     /*正式逻辑*/    
  22.     if($wxid == "" || empty($wxid)){    
  23.        echo "微信id填写错误,请修改app.json配置";    
  24.     }else{    
  25.         $xiao_db = pc_base::load_model('xiaochengxu_model');    
  26.         $xiao = $xiao_db->get_one(array('wxid'=>$wxid, 'status'=>"1"));    
  27.         if($xiao){    
  28.             /*-----------读取开始------------------*/    
  29.             if(isset($catid) && $catid !=''){    
  30.                  $r = $category_db->get_one(array('catid' => $catid));    
  31.                  $childid = $r['arrchildid'];    
  32.                  $arrchildid = explode(',',$childid);    
  33.                  $childs = array();    
  34.                  foreach($arrchildid as $arr){    
  35.                      if($arr != $catid){    
  36.                          $childs[] = $arr;    
  37.                      }    
  38.                  }    
  39.                  //$r['arrchildid'] = implode(',',$childs);    
  40.                  $r['arrchildid'] = $childs;    
  41.              }else{    
  42.                  if($parentid == '-1' ){    
  43.                      $r = $CATEGORYS;    
  44.                  }else{    
  45.                      $r = $category_db->select(array('parentid' => $parentid),'*','','lisrotder desc');    
  46.                  }    
  47.                      
  48.              }    
  49.                  
  50.             //转换为json类型   $r = json_encode($r); //格式:{{..},{..},{..}}    
  51.             $r = json_encode(array_reverse(array_reverse($r))); //两次倒置数组,转成json数组,否则会出现无法排序的情况,格式[{..},{..},{..}]    
  52.             //jsonp请求的固定写法,可以解决跨域问题,引入callback回调函数      
  53.             echo $_GET['jsoncallback'] .$r;      
  54.                 
  55.             /*-------------读取结束-----------------------*/    
  56.         }else{    
  57.             echo "您的小程序不存在或者已关闭" ;    
  58.         }    
  59.     }   
通过这个接口,微信小程序就能直接访问调用网站的所有栏目信息,也可以指定调用某个栏目或者子栏目的信息,小程序代码:
  1. wx.request({    
  2.       url: 'https://www.cnzhixiao.wang/api.php?op=get_category',    
  3.       data: {    
  4.         wxid:wxid//必填,用于验证小程序合法性    
  5.       },    
  6.       method: 'GET',    
  7.       header: {    
  8.         'content-type''application/json' // 默认值    
  9.       },    
  10.       success: function (res) {    
  11.         const categorys = res.data;    
  12.         try {    
  13.           categorys.unshift(Date.now());//为了后期方便调用    
  14.           wx.setStorageSync('categorys', categorys)    
  15.         } catch (e) {    
  16.         }        
获取到栏目信息,最好是存储到缓存,这样可以方便以后随时调用!


¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《phpcms开发微信小程序接口之获取栏目信息(get_categorys.php)》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/xiaocheng/729.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序