如何開發陪玩系統原始碼的列表頁面,相關實現程式碼
在陪玩系統原始碼開發過程中,需要實現的列表頁面還是非常多的,如何保證列表頁面的流暢、整潔很重要,接下來我們一起來看看具體的實現程式碼吧。
route.php
<?php use think\Route; Route::get('test', 'api/test/index'); Route::put('test/:id', 'api/test/update'); Route::delete('test/:id', 'api/test/delete'); Route::resource('test', 'api/test'); Route::get('api/:ver/cat', 'api/:ver.cat/read'); Route::get('api/:ver/index', 'api/:ver.index/index'); Route::resource('api/:ver/news', 'api/:ver.news');
News.php(Model)
<?php/** * Created by PhpStorm. * User: tong * Date: 2017/11/20 * Time: 16:34 */namespace app\common\model;class News extends Base{ public function getNews($data = []) { $data['status'] = [ 'neq', config('code.status_delete'), ]; $order = ['id' => 'desc']; $result = $this->where($data) ->order($order) ->paginate(); return $result; } public function getNewsByCondition($condition = [], $from, $size = 5) { if (!isset($condition['status'])) { $condition['status'] = [ 'neq', config('code.status_delete') ]; } $order = ['id' => 'desc']; $result = $this->where($condition) ->field($this->getListField()) ->limit($from, $size) ->order($order) ->select(); return $result; } public function getNewsByCountCondition($condition = []) { if (!isset($condition['status'])) { $condition['status'] = [ 'neq', config('code.status_delete')]; } return $this->where($condition) ->count(); } public function getIndexHadNormalNews($num = 4) { $data = [ 'status' => 1, 'is_head_figure' => 1, ]; $order = [ 'id' => 'desc', ]; return $this->where($data) ->field($this->getListField()) ->order($order) ->limit($num) ->select(); } public function getPositionNormalNews($num = 20) { $data = [ 'status' => 1, 'is_position' => 1, ]; $order = [ 'id' => 'desc', ]; return $this->where($data) ->field($this->getListField()) ->order($order) ->limit($num) ->select(); } private function getListField() { return [ 'id', 'catid', 'image', 'title', 'read_count', 'status', 'is_position', 'update_time', 'create_time', ]; }}
->field($this->getListField())
private function getListField() { return [ 'id', 'catid', 'image', 'title', 'read_count', 'status', 'is_position', 'update_time', 'create_time', ]; }
Common.php
<?php /** * Created by PhpStorm. * User: tong * Date: 2017/11/23 * Time: 11:30 */ namespace app\api\controller; use app\common\lib\Aes; use app\common\lib\exception\ApiException; use app\common\lib\IAuth; use app\common\lib\Time; use think\Cache; use think\Controller; class Common extends Controller { public $headers = ''; public $page = 1; public $size = 5; public $from = 0; protected function _initialize() { $this->checkRequestAuth(); // $this->testAes(); } public function checkRequestAuth() { $headers = request()->header(); if (empty($headers['sign'])) { throw new ApiException('sign不存在', 400); } if (!in_array($headers['app_type'], config('app.apptypes'))) { throw new ApiException('app_type不合法', 400); } if (!IAuth::checkSignPass($headers)) { throw new ApiException('授權碼sign失敗', 401); } Cache::set($headers['sign'], config('app.app_sign_cache_time')); $headers = $this->headers; } public function testAes() { $data = [ 'did' => '12345dg', 'version' => 1, 'time' => Time::get13TimeStamp(), ]; // $str = 'sRCvj52mZ8G+u2OdHYwmysvczmCw+RrAYWiEaXFI/5A='; // echo (new Aes())->decrypt($str); // exit; echo IAuth::setSign($data); exit; } public function getDealNews($news = []) { if (empty($news)) { return []; } $cats = config('cat.list'); foreach ($news as $key => $new) { $news[$key]['catname'] = $cats[$new['catid']] ? $cats[$new['catid']] : '-'; } return $news; } public function getPageAndSize($data) { $this->page = !empty($data['page']) ? $data['page'] : 1; $this->size = !empty($data['size']) ? $data['size'] : config('paginate.list_rows'); $this->from = ($this->page - 1) * $this->size; } }
public $page = 1; public $size = 5; public $from = 0;
public function getPageAndSize($data){ $this->page = !empty($data['page']) ? $data['page'] : 1; $this->size = !empty($data['size']) ? $data['size'] : config('paginate.list_rows'); $this->from = ($this->page - 1) * $this->size;}
News.php(Controller)
<?php/** * Created by PhpStorm. * User: tong * Date: 2017/11/23 * Time: 17:03 */namespace app\api\controller\v1;use app\api\controller\Common;class News extends Common{ public function index() { //仿照之前講解的validate驗證機制 做相關檢驗 $data = input('get.'); $whereData['status'] = config('code.status_normal'); $whereData['catid'] = input('get.catid'); $this->getPageAndSize($data); $total = model('News')->getNewsByCountCondition($whereData); $news = model('News')->getNewsByCondition($whereData, $this->from, $this->size); $result = [ 'total' => $total, 'page_num' => ceil($total / $this->size), 'list' => $this->getDealNews($news), ]; return show(1, 'OK', $result, 200); }}
以上就是“陪玩系統原始碼開發,如何實現列表頁面的開發?”的全部內容,陪玩系統原始碼的開發不是一蹴而就的,在開發完成只有還需要不斷的進行優化和更新,希望本篇內容能為大家開發陪玩系統原始碼提供一些幫助。
本文轉載自網路,轉載僅為分享乾貨知識,如有侵權歡迎聯絡雲豹科技進行刪除處理
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996194/viewspace-2794436/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 陪玩系統原始碼實現音訊編碼的相關步驟原始碼音訊
- 陪玩系統原始碼開發,H5頁面中呼叫支付功能的實現原始碼H5
- 遊戲陪玩系統原始碼開發,如何實現圖片和動畫的優化?遊戲原始碼動畫優化
- 陪玩原始碼,與時間、日期相關的程式碼分析原始碼
- 如何在遊戲陪玩系統原始碼中實現“刮刮樂”效果?遊戲原始碼
- 如何實現遊戲陪玩系統原始碼前端效能監控?遊戲原始碼前端
- 遊戲陪玩系統開發,音視訊混流的實現程式碼遊戲
- 從比心APP原始碼的成功,分析陪玩系統原始碼應該如何開發APP原始碼
- 陪玩系統原始碼中陣列去重的實現程式碼,簡單卻重要原始碼陣列
- 陪玩系統原始碼中mysql資料庫備份還原的實現程式碼原始碼MySql資料庫
- 遊戲陪玩app原始碼開發,常用的倒數計時功能如何實現?遊戲APP原始碼
- 遊戲陪玩原始碼開發中,頁面跳轉方式及生命週期分析遊戲原始碼
- 遊戲陪玩平臺原始碼開發,依賴收集和觸發的實現遊戲原始碼
- 如何在遊戲陪玩系統原始碼中聊天室內實現一個禮物系統?遊戲原始碼
- 遊戲陪玩系統原始碼的許可權設計,如何基於位運算實現?遊戲原始碼
- 遊戲陪玩系統原始碼中不同排序演算法的實現方式遊戲原始碼排序演算法
- 關於遊戲陪玩系統原始碼後臺管理系統,需要思考的二三事遊戲原始碼
- 遊戲陪玩系統開發,業務程式碼判斷生產/開發環境的方式遊戲開發環境
- 遊戲陪玩原始碼的移動端適配,應該如何實現?遊戲原始碼
- 遊戲陪玩系統原始碼中懶載入的實現方式有哪幾種?遊戲原始碼
- 陪玩系統原始碼開發,不懂資料庫隔離級別的請進原始碼資料庫
- 陪玩系統原始碼移動前端開發需要注意的20個要點原始碼前端
- 如何使用 Redis 實現 陪玩原始碼中“附近的人” 這一功能?Redis原始碼
- 做好陪玩系統原始碼的前端效能優化,提升系統效能原始碼前端優化
- 如何在遊戲陪玩app原始碼中實現簡訊驗證碼登入?遊戲APP原始碼
- 短影片程式原始碼,如何實現短影片的熱門頁面原始碼
- 遊戲陪玩系統開發,架構設計的開閉原則是如何實現的?遊戲架構
- 遊戲陪玩系統開發,Java怎樣實現流合併?遊戲Java
- 什麼是遊戲陪玩app原始碼開發的過度設計,如何避免?遊戲APP原始碼
- 相親交友原始碼開發,前端如何實現水印功能?原始碼前端
- 遊戲陪玩平臺原始碼開發,聊天室內的禮物連擊效果的實現遊戲原始碼
- 語音陪玩原始碼如何做到不卡頓?原始碼
- 遊戲陪玩app開發,高併發系統如何設計?遊戲APP
- 如何進行遊戲陪玩系統原始碼中音視訊的自動化測試?遊戲原始碼
- 遊戲陪玩原始碼的登入方式,簡訊驗證碼登入的實現遊戲原始碼
- 遊戲陪玩系統開發,日期時間選擇介面的實現遊戲
- 遊戲陪玩平臺原始碼,日期格式化的程式碼分析遊戲原始碼
- 小說系統原始碼開發,如何優雅的實現對外介面?原始碼