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 /*************************** 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 $v ){
if ((!isset( $_POST [ $v ]))||( empty ( $_POST [ $v ]))){
if ( $_POST [ $v ]!==0 && $_POST [ $v ]!== '0' ){
returnApiError( $v . '值为空!' );
}
}
}
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 $v ){
if ((!isset( $_GET [ $v ]))||( empty ( $_GET [ $v ]))){
if ( $_GET [ $v ]!==0 && $_GET [ $v ]!== '0' ){
returnApiError( $v . '值为空!' );
}
}
}
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之后:json_decode();)
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"
]
}
} |
5. [代码]app端接收到的数据(原生json串)
{
"flag"
:
"success"
,
"message"
:
""
,
"responseList"
:{
"id"
:
"2"
,
"fruit_name"
:
"\u82f9\u679c"
,
"high_price"
:
"8.0"
,
"low_price"
:
"5.0"
,
"address"
:
"\u5929\u6d25\u5c0f\u767d\u697c\u6c34\u679c\u5e02\u573a"
,
"size"
:
"2.0"
,
"weight"
:
"2.0"
,
"remark"
:
"\u6025\u9700..."
,
"fruit_pic"
:[
"http:\/\/fruit.txunda.com\/Uploads\/Release\/201508\/55599e7514815.png"
,
"http:\/\/fruit.txunda.com\/Uploads\/Release\/201508\/554f2dc45b526.jpg"
]}}