app網(wǎng)站模板
提問問題
列表
-
如何利用Thinkphp框架開發(fā)移動端接口詳解
查看答案>>
-
使用html5開發(fā)移動端應用采用什么框架
查看答案>>
-
網(wǎng)站如何實現(xiàn)手機端與PC端數(shù)據(jù)同步
查看答案>>
-
使用html5開發(fā)移動端應用采用什么框架
查看答案>>
-
手機網(wǎng)站和PC端網(wǎng)站用的是同一套后臺嗎
查看答案>>
如何利用Thinkphp框架開發(fā)移動端接口詳解
方案一:給原生APP提供api接口使用TP框架時 放在common文件夾下文件名就叫function.php123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 <?php/*** Created by zhangkx* Email: zkx520tnhb@163.com* Date: 2015/8/1* Time: 23:15*/ /****** api開發(fā)輔助函數(shù) *******/ /*** @param null $msg 返回正確的提示信息* @param flag success CURD 操作成功* @param array $data 具體返回信息* Function descript: 返回帶參數(shù),標志信息,提示信息的json 數(shù)組**/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 數(shù)組*/function returnApiError($msg = null){$result = array('flag' => 'Error','msg' => $msg,);print json_encode($result);} /*** @param null $msg 返回具體錯誤的提示信息* @param flag success CURD 操作失敗* Function descript:返回標志信息 ‘Error',和提示信息,當前系統(tǒng)繁忙,請稍后重試;*/function returnApiErrorExample(){$result = array('flag' => 'Error','msg' => '當前系統(tǒng)繁忙,請稍后重試!',);print json_encode($result);} /*** @param null $data* @return array|mixed|null* Function descript: 過濾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: 過濾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;}} 查詢單個果品詳細信息 /*** 發(fā)布模塊** 獲取信息單個果品詳細信息**/public function getMyReleaseInfo(){//檢查是否通過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').'...';//多張圖地址按逗號截取字符串,截取后如果存在空數(shù)組則需要過濾掉$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 /*** 查詢一條數(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;} app端接收到的數(shù)據(jù)(解碼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": ["http://fruit.txunda.com/Uploads/Release/201508/55599e7514815.png","http://fruit.txunda.com/Uploads/Release/201508/554f2dc45b526.jpg"]}} app端接收到的數(shù)據(jù)(原生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實現(xiàn)移動端訪問自動切換主題模板,這樣也可以做到移動端訪問ThinkPHP的模板主題機制,如果只是在PC,只要需修改 DEFAULT_THEME (新版模板主題默認是空,表示不啟用模板主題功能)配置項就可以方便的實現(xiàn)多模板主題切換。但對于移動端與PC端,也許你會設計完全不同的主題風格,且針對不同的來路提供不同的渲染方式,其中一種比較流行的方法是“響應式設計”,但就本人經(jīng)歷而言,要實現(xiàn)完全的“響應式設計”并不是那么容易,且解決兼容問題也是個難題,假設是大型站點,比如:淘寶、百度、拍拍這些,響應式設計肯定是滿足不了需求的,而是需要針對手機訪問用戶提供單獨的手機網(wǎng)站。ThinkPHP 完全能夠?qū)崿F(xiàn),而且非常的簡單。與TPM的智能模版切換引擎相同,只要對來路進行判斷處理就行了。一、將 ismobile() 加入到{項目/Common/common.php} 1234567891011121314151617181920212223242526272829303132function ismobile() {// 如果有HTTP_X_WAP_PROFILE則一定是移動設備if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))return true; //此條摘自TPM智能切換模板引擎,適合TPM開發(fā)if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT'])return true;//如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息if (isset ($_SERVER['HTTP_VIA']))//找不到為flase,否則為truereturn stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;//判斷手機發(fā)送的客戶端標志,兼容性有待提高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;}}//協(xié)議法,因為有可能不準確,放到最后判斷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/}創(chuàng)建一個 CommonAction.php,假設你的項目已公共控制器,則無需創(chuàng)建,直接加在里面就行了。 12345678910Class CommonAction extends Action{Public function _initialize(){//移動設備瀏覽,則切換模板if (ismobile()) {//設置默認默認主題為 MobileC('DEFAULT_THEME','Mobile');}//............你的代碼.......}}
使用html5開發(fā)移動端應用采用什么框架
隨著使用智能手機的人越來越多,手機網(wǎng)站開發(fā)項目也成為一種潮流??墒悄罊C網(wǎng)站開發(fā)框架有幾種嗎? 1. LungoJS 這個是被認為開發(fā)移動網(wǎng)站最好的HTML5開發(fā)框架,使用 HTML5/CSS3 和 JavaScript 技術。可幫助創(chuàng)建基于 iOS、 Android、 Blackberry 和 WebOS 平臺的應用程序。該框架可利用當前移動設備的高級特性,可捕捉事件包括滑動、觸屏、長按等。無需使用圖片,全部采用向量聲稱。 Lungo.JS 無需服務器端支持,可幫助實現(xiàn) HTML5 特性,包括 WebSQL、Geolocation、 History、 Device orientation 等等。這是一個完全可定制的框架,可用來創(chuàng)建應用、游戲等程序。 2.Kendo UI Kendo UI是一個HTML5平臺,開發(fā)者利用它可以開發(fā)新穎的、交互的移動應用程序和網(wǎng)站。該框架提供了大量的動畫和豐富的拖拽功能、模板功能以及提供了將近10款客戶端常用的數(shù)據(jù)綁定小部件,如圖表、組合框以及常用表格。 3.Jo 該框架可以創(chuàng)建像本地一樣的應用,并且兼容任何操作系統(tǒng),無論是Blackberry、iOS還是Android。并且提供許多HTML5小部件。使用它可以解決任何動畫設計方面的問題。 4.Sencha Touch Sencha Touch是第一個基于HTML5的移動應用框架,利用JavaScript、HTML5和CSS3來構(gòu)建移動應用程序,該框架利用本地代理存儲離線數(shù)據(jù),具體使用HTML5來渲染視頻和音頻組件。 可以讓你的Web App看起來就像本地應用程序一樣。美麗的用戶界面組件和豐富的數(shù)據(jù)管理,全部基于最新的HTML5和CSS3的Web標準,全面兼容Android和Apple iOS設備。 5.52 Framework 52 Framework擁有16列的網(wǎng)格模板。該框架來自于CSS3樣式里的新“Selection”、陰影、圓角以及有效的HTML5標記。該框架還提供了一些特殊的腳本和樣式用于IE6。 6.LimeJS LimeJS 是一個 JavaScript 游戲開發(fā)框架,用于快速構(gòu)建運行于觸屏設備和桌面瀏覽器的游戲。允許開發(fā)者創(chuàng)建基于 HTML5 的游戲,支持主流瀏覽器包括iOS。 7. G5 Framework 如果你想要快速實現(xiàn)Web開發(fā),并且想要重用ant主題或應用程序或網(wǎng)站項目,那么G5 框架是您最好的選擇,因為該框架旨在提升開發(fā)效率、減少代碼。該框架采用特色的PHP激活類、SEO優(yōu)化技術。除了G5自身所帶的這些功能特性外,它還集成其他許多功能,例如Orbit Slider、CSS3 PIE、Reveal Modals、CSS3 Buttons和Tipsy Tooltips等。 8.jQuery Mobile jQuery Mobile(jQueryMobile)是 jQuery在手機上和平板設備上的版本。jQuery Mobile 不僅會給主流移動平臺帶來jQuery核心庫,而且會發(fā)布一個完整統(tǒng)一的jQuery移動UI框架。支持全球主流的移動平臺。jQuery Mobile開發(fā)團隊說:能開發(fā)這個項目,我們非常興奮。移動Web太需要一個跨瀏覽器的框架,讓開發(fā)人員開發(fā)出真正的移動Web網(wǎng)站。我們將盡全力去滿足這樣的需求。 9.Phone Gap PhoneGap是一個開源的開發(fā)框架,使用HTML,CSS和JavaScript來構(gòu)建跨平臺的的移動應用程序。它使開發(fā)者能夠利用iPhone,Android,Palm,Symbian,Blackberry,Windows Phone和Beda智能手機的核心功能——包括地理定位,加速器,聯(lián)系人,聲音和振動等。
網(wǎng)站如何實現(xiàn)手機端與PC端數(shù)據(jù)同步
你差的就是最重要的,也是價值最高的部分。。。沒什么特殊思路就是手機站,電腦站,讀取同一個數(shù)據(jù)庫這沒什么其他方法數(shù)據(jù)就是數(shù)據(jù)。。。調(diào)不出來就是技術問題了之所以現(xiàn)在綜合企業(yè)平臺得到企業(yè)的認可就是因為咱們做完之后的系統(tǒng),企業(yè)直接應用可以做到電腦網(wǎng)站+手機網(wǎng)站+企業(yè)微信平臺+APP統(tǒng)一后臺,四維一體綜合管理方便企業(yè)全方位操作
使用html5開發(fā)移動端應用采用什么框架
隨著使用智能手機的人越來越多,手機網(wǎng)站開發(fā)項目也成為一種潮流??墒悄罊C網(wǎng)站開發(fā)框架有幾種嗎? 1. LungoJS 這個是被認為開發(fā)移動網(wǎng)站最好的HTML5開發(fā)框架,使用 HTML5/CSS3 和 JavaScript 技術??蓭椭鷦?chuàng)建基于 iOS、 Android、 Blackberry 和 WebOS 平臺的應用程序。該框架可利用當前移動設備的高級特性,可捕捉事件包括滑動、觸屏、長按等。無需使用圖片,全部采用向量聲稱。 Lungo.JS 無需服務器端支持,可幫助實現(xiàn) HTML5 特性,包括 WebSQL、Geolocation、 History、 Device orientation 等等。這是一個完全可定制的框架,可用來創(chuàng)建應用、游戲等程序。 2.Kendo UI Kendo UI是一個HTML5平臺,開發(fā)者利用它可以開發(fā)新穎的、交互的移動應用程序和網(wǎng)站。該框架提供了大量的動畫和豐富的拖拽功能、模板功能以及提供了將近10款客戶端常用的數(shù)據(jù)綁定小部件,如圖表、組合框以及常用表格。 3.Jo 該框架可以創(chuàng)建像本地一樣的應用,并且兼容任何操作系統(tǒng),無論是Blackberry、iOS還是Android。并且提供許多HTML5小部件。使用它可以解決任何動畫設計方面的問題。 4.Sencha Touch Sencha Touch是第一個基于HTML5的移動應用框架,利用JavaScript、HTML5和CSS3來構(gòu)建移動應用程序,該框架利用本地代理存儲離線數(shù)據(jù),具體使用HTML5來渲染視頻和音頻組件。 可以讓你的Web App看起來就像本地應用程序一樣。美麗的用戶界面組件和豐富的數(shù)據(jù)管理,全部基于最新的HTML5和CSS3的Web標準,全面兼容Android和Apple iOS設備?! ?.52 Framework 52 Framework擁有16列的網(wǎng)格模板。該框架來自于CSS3樣式里的新“Selection”、陰影、圓角以及有效的HTML5標記。該框架還提供了一些特殊的腳本和樣式用于IE6。 6.LimeJS LimeJS 是一個 JavaScript 游戲開發(fā)框架,用于快速構(gòu)建運行于觸屏設備和桌面瀏覽器的游戲。允許開發(fā)者創(chuàng)建基于 HTML5 的游戲,支持主流瀏覽器包括iOS。 7. G5 Framework 如果你想要快速實現(xiàn)Web開發(fā),并且想要重用ant主題或應用程序或網(wǎng)站項目,那么G5 框架是您最好的選擇,因為該框架旨在提升開發(fā)效率、減少代碼。該框架采用特色的PHP激活類、SEO優(yōu)化技術。除了G5自身所帶的這些功能特性外,它還集成其他許多功能,例如Orbit Slider、CSS3 PIE、Reveal Modals、CSS3 Buttons和Tipsy Tooltips等。 8.jQuery Mobile jQuery Mobile(jQueryMobile)是 jQuery在手機上和平板設備上的版本。jQuery Mobile 不僅會給主流移動平臺帶來jQuery核心庫,而且會發(fā)布一個完整統(tǒng)一的jQuery移動UI框架。支持全球主流的移動平臺。jQuery Mobile開發(fā)團隊說:能開發(fā)這個項目,我們非常興奮。移動Web太需要一個跨瀏覽器的框架,讓開發(fā)人員開發(fā)出真正的移動Web網(wǎng)站。我們將盡全力去滿足這樣的需求。 9.Phone Gap PhoneGap是一個開源的開發(fā)框架,使用HTML,CSS和JavaScript來構(gòu)建跨平臺的的移動應用程序。它使開發(fā)者能夠利用iPhone,Android,Palm,Symbian,Blackberry,Windows Phone和Beda智能手機的核心功能——包括地理定位,加速器,聯(lián)系人,聲音和振動等。
手機網(wǎng)站和PC端網(wǎng)站用的是同一套后臺嗎
可以做到是一定的。方法,代碼,就不適合在這討論了,幾千個文件幾十萬代碼,不可能都去解釋,大致有幾種方案:做一套拓展性強的網(wǎng)站系統(tǒng)后臺整合,自身就是電腦網(wǎng)站模板,然后單獨做出兼容性的微信網(wǎng)站模板。然后通過瀏覽器識別,達到自動跳轉(zhuǎn)??梢再徺I成型的網(wǎng)站程序,但是自身要有可以做到個性化的技術基礎,拿到程序可以自定義。可以采用智能線上構(gòu)架,現(xiàn)在好的網(wǎng)站系統(tǒng),是可以電腦網(wǎng)站+手機網(wǎng)站+微信平臺+APP 四維一體,統(tǒng)一中心智能管理網(wǎng)站數(shù)據(jù)的。