首页 > 语言 > PHP > 正文

Thinkphp框架开发移动端接口(1)

2024-05-04 23:49:16
字体:
来源:转载
供稿:网友

本文实例为大家分享了使用Thinkphp框架开发移动端接口代码,给原生APP提供api接口,具体内容如下

1. 使用TP框架时 放在common文件夹下文件名就叫function.php    

<?php/** * Created by zhangkx * Email: zkx520tnhb@163.com * Date: 2015/8/1 * Time: 23:15 */  /*************************** api开发辅助函数 **********************/  /** * @param null $msg 返回正确的提示信息 * @param flag success CURD 操作成功 * @param array $data 具体返回信息 * Function descript: 返回带参数,标志信息,提示信息的json 数组 * */function returnApiSuccess($msg = null,$data = array()){ $result = array(  'flag' => 'Success',  'msg' => $msg,  'data' =>$data ); print json_encode($result);}  /** * @param null $msg 返回具体错误的提示信息 * @param flag success CURD 操作失败 * Function descript:返回标志信息 ‘Error',和提示信息的json 数组 */function returnApiError($msg = null){ $result = array(  'flag' => 'Error',  'msg' => $msg, ); print json_encode($result);}  /** * @param null $msg 返回具体错误的提示信息 * @param flag success CURD 操作失败 * Function descript:返回标志信息 ‘Error',和提示信息,当前系统繁忙,请稍后重试; */function returnApiErrorExample(){ $result = array(  'flag' => 'Error',  'msg' => '当前系统繁忙,请稍后重试!', ); print json_encode($result);}  /** * @param null $data * @return array|mixed|null * Function descript: 过滤post提交的参数; * */   function checkDataPost($data = null){ if(!empty($data)){  $data = explode(',',$data);  foreach($data as $k=>$v){   if((!isset($_POST[$k]))||(empty($_POST[$k]))){    if($_POST[$k]!==0 && $_POST[$k]!=='0'){     returnApiError($k.'值为空!');    }   }  }  unset($data);  $data = I('post.');  unset($data['_URL_'],$data['token']);  return $data; }}  /** * @param null $data * @return array|mixed|null * Function descript: 过滤get提交的参数; * */function checkDataGet($data = null){ if(!empty($data)){  $data = explode(',',$data);  foreach($data as $k=>$v){   if((!isset($_GET[$k]))||(empty($_GET[$k]))){    if($_GET[$k]!==0 && $_GET[$k]!=='0'){     returnApiError($k.'值为空!');    }   }  }  unset($data);  $data = I('get.');  unset($data['_URL_'],$data['token']);  return $data; }}

2. 查询单个果品详细信息    

/** * 发布模块 *  * 获取信息单个果品详细信息 * */ public function getMyReleaseInfo(){  //检查是否通过post方法得到数据  checkdataPost('id');  $where['id'] = $_POST['id'];  $field[] = 'id,fruit_name,high_price,low_price,address,size,weight,fruit_pic,remark';  $releaseInfo = $this->release_obj->findRelease($where,$field);  $releaseInfo['remark'] = mb_substr($releaseInfo['remark'],0,49,'utf-8').'...';  //多张图地址按逗号截取字符串,截取后如果存在空数组则需要过滤掉  $releaseInfo['fruit_pic'] = array_filter(explode(',', $releaseInfo['fruit_pic']));  $fruit_pic = $releaseInfo['fruit_pic'];unset($releaseInfo['fruit_pic']);  //为图片添加存储路径  foreach($fruit_pic as $k=>$v ){   $releaseInfo['fruit_pic'][] = 'http://'.$_SERVER['HTTP_HOST'].'/Uploads/Release/'.$v;  }  if($releaseInfo){   returnApiSuccess('',$releaseInfo);  }else{   returnApiError( '什么也没查到(+_+)!');  } }

3. findRelease() 方法的model    

/** * 查询一条数据 */ public function findRelease($where,$field){  if($where['status'] == '' || empty($where['status'])){   $where['status'] = array('neq','9');  }  $result = $this->where($where)->field($field)->find();  return $result; }

4. app端接收到的数据(解码json之后)    

{ "flag": "success", "message": "", "responseList": {  "id": "2",  "fruit_name": "苹果",  "high_price": "8.0",  "low_price": "5.0",  "address": "天津小白楼水果市场",  "size": "2.0",  "weight": "2.0",  "remark": "急需...",  "fruit_pic": [   "http://fruit.txunda.com/Uploads/Release/201508/55599e7514815.png",   "http://fruit.txunda.com/Uploads/Release/201508/554f2dc45b526.jpg"  ] }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选