Thinkphp框架開(kāi)發(fā)移動(dòng)端接口(1)
本文實(shí)例為大家分享了使用Thinkphp框架開(kāi)發(fā)移動(dòng)端接口代碼,給原生APP提供api接口,具體內(nèi)容如下
1. 使用TP框架時(shí) 放在common文件夾下文件名就叫function.php
<?php
/**
* Created by zhangkx
* Email: zkx520tnhb@163.com
* Date: 2015/8/1
* Time: 23:15
*/
/*************************** api開(kāi)發(fā)輔助函數(shù) **********************/
/**
* @param null $msg 返回正確的提示信息
* @param flag success CURD 操作成功
* @param array $data 具體返回信息
* Function descript: 返回帶參數(shù),標(biāo)志信息,提示信息的json 數(shù)組
*
*/
function returnApiSuccess($msg = null,$data = array()){
$result = array(
'flag' => 'Success',
'msg' => $msg,
'data' =>$data
);
print json_encode($result);
}
/**
* @param null $msg 返回具體錯(cuò)誤的提示信息
* @param flag success CURD 操作失敗
* Function descript:返回標(biāo)志信息 ‘Error',和提示信息的json 數(shù)組
*/
function returnApiError($msg = null){
$result = array(
'flag' => 'Error',
'msg' => $msg,
);
print json_encode($result);
}
/**
* @param null $msg 返回具體錯(cuò)誤的提示信息
* @param flag success CURD 操作失敗
* Function descript:返回標(biāo)志信息 ‘Error',和提示信息,當(dāng)前系統(tǒng)繁忙,請(qǐng)稍后重試;
*/
function returnApiErrorExample(){
$result = array(
'flag' => 'Error',
'msg' => '當(dāng)前系統(tǒng)繁忙,請(qǐng)稍后重試!',
);
print json_encode($result);
}
/**
* @param null $data
* @return array|mixed|null
* Function descript: 過(guò)濾post提交的參數(shù);
*
*/
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: 過(guò)濾get提交的參數(shù);
*
*/
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. 查詢單個(gè)果品詳細(xì)信息
/**
* 發(fā)布模塊
*
* 獲取信息單個(gè)果品詳細(xì)信息
*
*/
public function getMyReleaseInfo(){
//檢查是否通過(guò)post方法得到數(shù)據(jù)
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').'...';
//多張圖地址按逗號(hào)截取字符串,截取后如果存在空數(shù)組則需要過(guò)濾掉
$releaseInfo['fruit_pic'] = array_filter(explode(',', $releaseInfo['fruit_pic']));
$fruit_pic = $releaseInfo['fruit_pic'];unset($releaseInfo['fruit_pic']);
//為圖片添加存儲(chǔ)路徑
foreach($fruit_pic as $k=>$v ){
$releaseInfo['fruit_pic'][] = 'http://'.$_SERVER['HTTP_HOST'].'/Uploads/Release/'.$v;
}
if($releaseInfo){
returnApiSuccess('',$releaseInfo);
}else{
returnApiError( '什么也沒(méi)查到(+_+)!');
}
}
3. findRelease() 方法的model
/**
* 查詢一條數(shù)據(jù)
*/
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端接收到的數(shù)據(jù)(解碼json之后)
{
"flag": "success",
"message": "",
"responseList": {
"id": "2",
"fruit_name": "蘋(píng)果",
"high_price": "8.0",
"low_price": "5.0",
"address": "天津小白樓水果市場(chǎng)",
"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"
]
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Thinkphp5微信小程序獲取用戶信息接口的實(shí)例詳解
- 使用Thinkphp框架開(kāi)發(fā)移動(dòng)端接口
- ThinkPHP實(shí)現(xiàn)支付寶接口功能實(shí)例
- Thinkphp微信公眾號(hào)支付接口
- thinkPHP框架對(duì)接支付寶即時(shí)到賬接口回調(diào)操作示例
- thinkPHP微信分享接口JSSDK用法實(shí)例
- thinkPHP框架實(shí)現(xiàn)的短信接口驗(yàn)證碼功能示例
- Thinkphp框架開(kāi)發(fā)移動(dòng)端接口(2)
- ThinkPHP和UCenter接口沖突的解決方法
- ThinkPHP框架實(shí)現(xiàn)的微信支付接口開(kāi)發(fā)完整示例
- thinkPHP5框架接口寫(xiě)法簡(jiǎn)單示例
相關(guān)文章
PHP實(shí)現(xiàn)文件下載斷點(diǎn)續(xù)傳詳解
這篇文章主要介紹了PHP實(shí)現(xiàn)文件下載斷點(diǎn)續(xù)傳詳解,本文講解了載斷點(diǎn)續(xù)傳的實(shí)現(xiàn)理解,并給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-10-10
php變量與JS變量實(shí)現(xiàn)不通過(guò)跳轉(zhuǎn)直接交互的方法
這篇文章主要介紹了php變量與JS變量實(shí)現(xiàn)不通過(guò)跳轉(zhuǎn)直接交互的方法,涉及php與javascript變量傳輸及代碼混編相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
php mssql 分頁(yè)SQL語(yǔ)句優(yōu)化 持續(xù)影響
經(jīng)過(guò)SQL優(yōu)化后的分面查詢速度能夠得到大幅提高。2009-04-04
PHP判斷是否是微信打開(kāi),瀏覽器打開(kāi)的方法
下面小編就為大家分享一篇PHP判斷是否是微信打開(kāi),瀏覽器打開(kāi)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
PHP實(shí)現(xiàn)更改hosts文件的方法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)更改hosts文件的方法,結(jié)合具體實(shí)例形式分析了php操作hosts文件的相關(guān)讀取、設(shè)置、刪除等實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08

