1. 程式人生 > >采用ThinkPHP開發騰訊分分彩極速玩法遊戲源碼下載搭建架設

采用ThinkPHP開發騰訊分分彩極速玩法遊戲源碼下載搭建架設

參數 UNC match 取字符串 status 關鍵字 color mage one

騰訊分分彩極速玩法架設源碼教程:Q:2947702644
【遊戲特色】
運行環境:WIN+APACHE+PHP5.4+MYSQL5.6+偽靜態
源碼授權:無加密文件及認證授權,永久性可直接使用。
版本支持:PC/WAP網頁版
編程語言:PHP
開發框架:ThinkPHP框架開發

本文給大家分享的是使用thinkphp框架開發移動端接口的2種方法,一種是開發API,另外一種是實現移動端訪問自動切換移動主題模板,從而實現偽app訪問,下面我們就來詳細看下如何實現吧。
方案一:給原生APP提供api接口

使用TP框架時 放在common文件夾下文件名就叫function.php

技術分享圖片
<?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 $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;
    }
    }
    查詢單個果品詳細信息

/**

  • 發布模塊
  • 獲取信息單個果品詳細信息
  • */
    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( ‘什麽也沒查到(+_+)!‘);
    }
    }
    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;
    }
    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": [

]

}
}
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"]}}

方案二:另外我們還可以通過ThinkPHP實現移動端訪問自動切換主題模板,這樣也可以做到移動端訪問

ThinkPHP的模板主題機制,如果只是在PC,只要需修改 DEFAULT_THEME (新版模板主題默認是空,表示不啟用模板主題功能)配置項就可以方便的實現多模板主題切換。

  但對於移動端和PC端,也許你會設計完全不同的主題風格,且針對不同的來路提供不同的渲染方式,其中一種比較流行的方法是“響應式設計”,但就 本人經歷而言,要實現完全的“響應式設計”並不是那麽容易,且解決兼容問題也是個難題,假設是大型站點,比如:淘寶、百度、拍拍這些,響應式設計肯定是滿 足不了需求的,而是需要針對手機訪問用戶提供單獨的手機網站。

ThinkPHP 完全可以實現,而且相當簡單。和TPM的智能模版切換引擎一樣,只要對來路進行判斷處理即可。

一、將 ismobile() 加入到{項目/Common/common.php}

function ismobile() {
// 如果有HTTP_X_WAP_PROFILE則一定是移動設備
if (isset ($_SERVER[‘HTTP_X_WAP_PROFILE‘]))
return true;

//此條摘自TPM智能切換模板引擎,適合TPM開發
if(isset ($_SERVER[‘HTTP_CLIENT‘]) &&‘PhoneClient‘==$_SERVER[‘HTTP_CLIENT‘])
return true;
//如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息
if (isset ($_SERVER[‘HTTP_VIA‘]))
//找不到為flase,否則為true
return stristr($_SERVER[‘HTTP_VIA‘], ‘wap‘) ? true : false;
//判斷手機發送的客戶端標誌,兼容性有待提高
if (isset ($_SERVER[‘HTTP_USER_AGENT‘])) {
$clientkeywords = array(
‘nokia‘,‘sony‘,‘ericsson‘,‘mot‘,‘samsung‘,‘htc‘,‘sgh‘,‘lg‘,‘sharp‘,‘sie-‘,‘philips‘,‘panasonic‘,‘alcatel‘,‘lenovo‘,‘iphone‘,‘ipod‘,‘blackberry‘,‘meizu‘,‘android‘,‘netfront‘,‘symbian‘,‘ucweb‘,‘windowsce‘,‘palm‘,‘operamini‘,‘operamobi‘,‘openwave‘,‘nexusone‘,‘cldc‘,‘midp‘,‘wap‘,‘mobile‘
);
//從HTTP_USER_AGENT中查找手機瀏覽器的關鍵字
if (preg_match("/(" . implode(‘|‘, $clientkeywords) . ")/i", strtolower($_SERVER[‘HTTP_USER_AGENT‘]))) {
return true;
}
}
//協議法,因為有可能不準確,放到最後判斷
if (isset ($_SERVER[‘HTTP_ACCEPT‘])) {
// 如果只支持wml並且不支持html那一定是移動設備
// 如果支持wml和html但是wml在html之前則是移動設備
if ((strpos($_SERVER[‘HTTP_ACCEPT‘], ‘vnd.wap.wml‘) !== false) && (strpos($_SERVER[‘HTTP_ACCEPT‘], ‘text/html‘) === false || (strpos($_SERVER[‘HTTP_ACCEPT‘], ‘vnd.wap.wml‘) < strpos($_SERVER[‘HTTP_ACCEPT‘], ‘text/html‘)))) {
return true;
}
}
return false;
}
二、在{項目/Lib/}創建一個 CommonAction.php,如果你的項目已公共控制器,則無需創建,直接加在裏面即可。

Class CommonAction extends Action{
Public function _initialize(){
//移動設備瀏覽,則切換模板
if (ismobile()) {
//設置默認默認主題為 Mobile
C(‘DEFAULT_THEME‘,‘Mobile‘);
}
//............你的更多代碼.......
}
}
通過以上2種方式均可實現移動端訪問,一種是原生,一種是偽原生,小夥伴們根據自己的項目需求來選擇吧。

采用ThinkPHP開發騰訊分分彩極速玩法遊戲源碼下載搭建架設