当前位置:首页 > CN2资讯 > 正文内容

php接口php api接口开发

2天前CN2资讯

入口

<?php class Api_IphoneController extends actions_api { var $identity = null; function init() { parent::init(); $this->setView('api'); } function indexAction() { $json = $_REQUEST; //print_r(json_decode($json['json'],true));exit; if (array_key_exists('json', $json)) { $json_info = json_decode($json['json'], true); //$this->debuglog($json['json']); // debug } else { echo "无请求参数,请输入请求参数!"; die(); } //通过reqCode转入控制层 switch ($json_info["reqCode"]) { case 'edu00001': // 获取新闻,分页获取 // 请求{"reqCode":"edu00001","data":{"nowpage":"1","pageNum":"10","user_id":"10","bigclassid":"221"}} // 响应 $json_info = json_decode($json['json'], true); $this->_forward('newslist', 'news', 'api', $json_info); break; case 'edu00002': // 获取所有老师 // 请求{"reqCode":"edu00002"} // 响应 $json_info = json_decode($json['json'], true); $this->_forward('allteacher', 'teacher', 'api', $json_info); break; case 'edu00003': // 新闻top5 // 请求{"reqCode":"edu00003","data":{"user_id":"105"}} // 响应 $json_info = json_decode($json['json'], true); $this->_forward('newstop5', 'news', 'api', $json_info); break; case 'edu00004': // 获取收件箱消息,分页获取 // 请求{"reqCode":"edu00004","data":{"user_id":"105","nowpage":"1","pageNum":"10"}} // 响应 $json_info = json_decode($json['json'], true); $this->_forward('msginlist', 'message', 'api', $json_info); break; case 'edu00005': // 所有班级 // 请求{"reqCode":"edu00005"} // 响应 $json_info = json_decode($json['json'], true); $this->_forward('allclassinfo', 'student', 'api', $json_info); break; case 'edu00006': // 登录 // 请求{"reqCode":"edu00006","data":{"username":"test3","password":"123456"}} // 响应 $json_info = json_decode($json['json'], true); $this->_forward('login', 'auth', 'api', $json_info); break; case 'edu00007': // 班级信息 // 请求{"reqCode":"edu00007","data":{"class_id":"19"}} // 响应 $json_info = json_decode($json['json'], true); $this->_forward('classinfo', 'student', 'api', $json_info); break; case 'edu00008': // 新闻分类 // 请求{"reqCode":"edu00008"} // 响应 $json_info = json_decode($json['json'], true); $this->_forward('newstype', 'news', 'api', $json_info); break; case 'edu00009': // 学生信息 // 请求{"reqCode":"edu00009","data":{"user_id":"166"}} // 响应 $json_info = json_decode($json['json'], true); $this->_forward('studentinfo', 'student', 'api', $json_info); break; case 'edu00010': // 消息发送 // 请求{"reqCode":"edu00010","data":{"from_id":"21","to_id":"105,22,23","topic":"消息主题","content":"消息内容"}} // 响应 $json_info = json_decode($json['json'], true); $this->_forward('msgsend', 'message', 'api', $json_info); break; default: echo '请求代码错误!!'; } } }

处理

<?php class Api_NewsController extends actions_api { public $doMain = 'http://testserver.njlrxx.com/'; //接口中可以直接操作sql语句进行一些处理 function init() { parent::init(); $this->setView('api'); $this->dao_newsrecord = new dao_newsrecord(); $this->dao_module = new dao_module(); $this->dao_message = new dao_message(); $this->dao_user = new dao_user(); $this->dao_news = new dao_news(); $this->inData = $this->_getParam('data',false);//请求参数 $this->reqCode = $this->_getParam('reqCode',false); $this->outData = array('status'=>0,'msg'=>'','data'=>array(),'reqCode'=>$this->reqCode);//输出参数 } //新闻分类 function newstypeAction() { $where['BigClass.typeid = ?'] = array("type"=>1,"val"=>60); $aBigClass = $this->dao_news->getBigClass($where, 'BigClassID ASC', 3); if(COUNT($aBigClass) == 0) { $this->outData['msg'] = '暂无数据'; $this->printOut(); } $this->outData['status'] = 1; $this->outData['msg'] = '获取成功'; $this->outData['data'] = $aBigClass; $this->printOut(); } //图片新闻前五条 function newstop5Action(){ $where['News.picnews = ?'] = array("type"=>1,"val"=>1); $aNewsData = $this->dao_news->getNews2($where, 'NewsID DESC', 5, FALSE , false, array('NewsID','picname','Title')); foreach($aNewsData as &$val) { $val['webview_url'] = $this->doMain.'api/news/newsview/NewsID/'.$val['NewsID'].'/user_id/'.$this->inData['user_id']; } if(COUNT($aNewsData) == 0) { $this->outData['msg'] = '暂无数据'; $this->printOut(); } $this->outData['status'] = 1; $this->outData['msg'] = '获取成功'; $this->outData['data'] = $aNewsData; $this->printOut(); } function newslistAction(){ $nowPage = !empty($this->inData['nowpage'])?$this->inData['nowpage']:1; //$this->_getParam('nowpage',1); $pageNum = !empty($this->inData['pageNum'])?$this->inData['pageNum']:10; //$this->_getParam('pageNum',10); $bigclassid = !empty($this->inData['bigclassid'])?$this->inData['bigclassid']:false; if(!$bigclassid) { $this->outData['msg'] = '缺少分类参数'; $this->printOut(); } $offset = ($nowPage - 1)*$pageNum; $where['News.bigclassid = ?'] = array("type"=>1,"val"=>$bigclassid); $total = $this->dao_news->getNews2($where, '', false, false , true); $aNewsData = $this->dao_news->getNews2($where, 'NewsID DESC', $pageNum, $offset , false, array('NewsID','Title','UpdateTime','convert(text,Content) as Content')); foreach($aNewsData as &$val) { $val['webview_url'] = $this->doMain.'api/news/newsview/NewsID/'.$val['NewsID'].'/user_id/'.$this->inData['user_id']; $val['Content'] = $this->substring($this->clearhtml($val["Content"]),16); } if($total == 0) { $this->outData['msg'] = '暂无数据'; $this->printOut(); } $this->outData['next'] = 0; if($total > ($nowPage * $pageNum)) { $this->outData['next'] = 1; } $this->outData['status'] = 1; $this->outData['msg'] = '获取成功'; $this->outData['data'] = $aNewsData; $this->printOut(); } function newsviewAction(){ $newsID = $this->_getParam("NewsID",0);//新闻id $userID = $this->_getParam("user_id");//uid //$whereUser['lx_user.id = ?'] = array("type"=>1,"val"=>$user_id); //$aUser = $this->dao_user->getUser($whereUser); $whereNews['News.NewsID = ?'] = array("type"=>1,"val"=>$newsID); $aNews = $this->dao_news->getNews($whereNews); $aNewsData = $aNews ? $aNews[0] : false; if(!$aNewsData && $aNewsData['checkked'] == 1 && $userID)//是否审核 { $this->dao_news->updateNews(array('click'=>'`click`+1','NewsID'=>$newsID));//更新新闻点击次数 //阅读人记录到数据库中 $aNewsrecord = array(); $aNewsrecord['news_id'] = $NewsID; $aNewsrecord['user_id'] = $userID; $aNewsrecord['user_name'] = !is_null($aUser[0]["name"]) ? $aUser[0]["name"] : $aUser[0]["surname"].$aUser[0]["givenname"]; $aNewsrecord['user_avatar'] = $aUser[0]["avatar"]; $aNewsrecord['time'] = time(); $whereNewsrecord = array(); $whereNewsrecord['lx_newsrecord.news_id = ?'] = array("type"=>1,"val"=>$NewsID); $whereNewsrecord['lx_newsrecord.user_id = ?'] = array("type"=>1,"val"=>$userID); $result = $this->dao_newsrecord->getNewsrecord($whereNewsrecord); if($result){ $aNewsrecord['id'] = $result[0]['id']; $this->dao_newsrecord->updateNewsrecord($aNewsrecord); }else{ $this->dao_newsrecord->addNewsrecord($aNewsrecord); } } $aNewsData['Content'] = str_replace('src="/webedit/uploadfile/','src="http://www.njlrxx.com/webedit/uploadfile/',$aNewsData['Content']); $this->view_->assign('aNewsData', $aNewsData); $this->view_->assign('userID', $userID); $this->view_->display('news_view_iphone.tpl'); } }
    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/26104.html

    标签: php接口PHP
    分享给朋友:

    “php接口php api接口开发” 的相关文章

    如何通过命令行安装DSM软件:步骤与技巧教学

    什么是DSM? DSM,即DiskStation Manager,是为Synology NAS设备设计的一款操作系统。它不仅提供了存储管理的基本功能,还有很多高级应用,像文件共享、备份解决方案以及多媒体服务等。可以说,DSM就像一种灵活的操作平台,让用户能够通过直观的界面轻松管理他们的数据和设备。...

    如何将800G硬盘进行有效分区

    在我们深入探讨硬盘分区之前,理解硬盘分区的概念非常重要。硬盘分区是将一个物理硬盘划分为多个独立部分的过程。每个分区就像独立的小仓库,可以用来存储不同类型的数据,比如系统文件、应用程序、甚至个人文件。当我第一次接触硬盘的时候,就被这个划分方法吸引住了。不仅能帮助我更好地管理和查找文件,还能提高系统的运...

    如何选择适合你的匿名服务器以保护隐私和数据安全

    在当今互联网时代,保护个人隐私和数据安全变得尤为重要。匿名服务器的概念应运而生,成为许多人实现在线安全和隐私的一种方式。简单来说,匿名服务器是一种特殊的服务器,能够隐藏用户的真实IP地址,从而在用户上网时保护其身份和活动。这对于那些希望自由浏览网络、避免被追踪的用户尤其重要。 匿名服务器通常与虚拟私...

    Nginx Cache Control: 如何使用 No Cache 精确管理缓存策略

    作为一名开发者,我一直非常欣赏 Nginx 作为高性能 HTTP 和反向代理服务器的能力。Nginx 不仅在稳定性和可扩展性方面表现出色,它的缓存控制功能也相当强大。通过设置响应头,Nginx 能有效地管理客户端和代理服务器的缓存行为,让我在开发和部署时能够更灵活地处理资源的缓存。 使用缓存控制的好...

    香港低价服务器:经济实惠的选择与优势解析

    在如今数字化迅猛发展的时代,香港低价服务器凭借其独特优势,吸引了无数创业者、站长和企业用户的青睐。何为香港低价服务器?这类服务器主要是指在香港地区提供的,价格相对较低的服务器租用服务。由于其经济实惠的特性,许多小型企业和个人用户在选择服务器时,都会优先考虑这种选项。 在选择网络服务时,速度和价格往往...

    如何有效进行Payoneer绑定PayPal的详细步骤指南

    在目前的数字支付环境中,Payoneer和PayPal是两个广受欢迎的支付平台。首先,Payoneer(派安盈)是一个全球化的支付解决方案,专为跨境电商卖家、独立站卖家及B2B外贸商家设计。它支持多种货币的收付款服务,覆盖190个国家,包含了70种币种。这意味着无论在哪个地方进行交易,Payonee...