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

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

1. 使用TP框架时 放在common文件夹下文件名就叫function.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"

]

}

}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值