本文实例为大家分享了使用Thinkphp框架开发移动端接口代码,给原生APP提供api接口,具体内容如下
1. 使用TP框架时 放在common文件夹下文件名就叫function.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
<?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. 查询单个果品详细信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/** * 发布模块 * * 获取信息单个果品详细信息 * */ 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
1
2
3
4
5
6
7
8
9
10
|
/** * 查询一条数据 */ 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之后)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
{ "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" ] } } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。