使用PHP做移动端 接口开发工具方法

使用PHP做移动端 接口开发工具方法(使用Think php 框架)


[1].[代码] 使用TP框架时 放在common文件夹下文件名就叫function.php 跳至 [1] [2] [3] [4] [5]

?
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 $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]

?
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]

?
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]

?
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串) 跳至 [1] [2] [3] [4] [5]

?
1
{ "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" ]}}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值