From bdbc24f8a30f92e5fbb789246aad05dda46c7b61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=80=E5=B3=B0?= <1feng.0595@gmail.com> Date: Sat, 27 May 2017 18:18:43 +0800 Subject: [PATCH] model --- README.md | 6 + app/Common/function.php | 181 +-- app/Http/Controllers/Home/IndexController.php | 23 + app/Http/Controllers/Wap/IndexController.php | 23 + app/{ => Http}/Model/User.php | 17 +- composer.json | 7 +- composer.lock | 1015 +++++++++++++++-- routes/web.php | 119 +- 8 files changed, 1210 insertions(+), 181 deletions(-) create mode 100644 app/Http/Controllers/Home/IndexController.php create mode 100644 app/Http/Controllers/Wap/IndexController.php rename app/{ => Http}/Model/User.php (63%) diff --git a/README.md b/README.md index 9f8eb2f..c27c549 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # lqycms 基于laravel框架的开源cms管理系统 + +## 环境说明 + +1. 基于Laravel 5.4 +2. PHP+Mysql +3. diff --git a/app/Common/function.php b/app/Common/function.php index 3cff70f..47bbccc 100644 --- a/app/Common/function.php +++ b/app/Common/function.php @@ -1,11 +1,20 @@ where($map)->field($field)->order($orderby)->limit($limit)->select(); +} //pc前台栏目、标签、内容页面地址生成 -function url(array $param) +function get_front_url($param='') { + $url = ''; + if($param['type'] == 'list') { //列表页 @@ -33,6 +42,8 @@ function url(array $param) //wap前台栏目、标签、内容页面地址生成 function murl(array $param) { + $url = ''; + if($param['type'] == 'list') { //列表页 @@ -69,19 +80,21 @@ function murl(array $param) */ function arclist(array $param) { - if(!empty($param['tuijian'])){$map['tuijian']=$param['tuijian'];} - if(!empty($param['typeid'])){$map['typeid']=$param['typeid'];} - if(!empty($param['image'])){$map['litpic']=array('NEQ','');} - if(!empty($param['limit'])){$limit=$param['limit'];}else{if(!empty($param['row'])){$limit="0,".$param['row'];}else{$limit='0,'.cms_pagesize;}} - if(!empty($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';} + $map=array(); + + if(isset($param['tuijian'])){$map['tuijian']=$param['tuijian'];} + if(isset($param['typeid'])){$map['typeid']=$param['typeid'];} + if(isset($param['image'])){$map['litpic']=array('NEQ','');} + if(isset($param['limit'])){$limit=$param['limit'];}else{if(isset($param['row'])){$limit="0,".$param['row'];}else{$limit='0,'.cms_pagesize;}} + if(isset($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';} - if(!empty($param['sql'])) + if(isset($param['sql'])) { - $Artlist = M("Article")->field('body',true)->where($param['sql'])->order($orderby)->limit($limit)->select(); + $Artlist = db("article")->field('body',true)->where($param['sql'])->order($orderby)->limit($limit)->select(); } else { - $Artlist = M("Article")->field('body',true)->where($map)->order($orderby)->limit($limit)->select(); + $Artlist = db("article")->field('body',true)->where($map)->order($orderby)->limit($limit)->select(); } return $Artlist; @@ -94,14 +107,13 @@ function arclist(array $param) * @param string $limit='0,10' * @return string */ -function tagslist(array $param) +function tagslist($param="") { - if(!empty($param['limit'])){$limit=$param['limit'];}else{if(!empty($param['row'])){$limit=$param['row'];}} - if(!empty($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';} - - $Taglist = M("Tagindex")->field('content',true)->where($map)->order($orderby)->limit($limit)->select(); + $orderby=$limit=""; + if(isset($param['limit'])){$limit=$param['limit'];}else{if(isset($param['row'])){$limit=$param['row'];}} + if(isset($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';} - return $Taglist; + return db("tagindex")->field('content',true)->select(); } /** @@ -110,14 +122,12 @@ function tagslist(array $param) * @param int||string $limit='0,10' * @return string */ -function flinklist(array $param) +function flinklist($param="") { - if(!empty($param['row'])){$limit=$param['row'];}else{$limit="";} - if(!empty($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';} - - $Friendlink = M("Friendlink")->where()->order($orderby)->limit($limit)->select(); + if(isset($param['row'])){$limit=$param['row'];}else{$limit="";} + if(isset($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';} - return $Friendlink; + return db("friendlink")->order($orderby)->limit($limit)->select(); } /** @@ -139,19 +149,19 @@ function get_article_prenext(array $param) } else { - $Article = M("Article")->field('typeid')->where($sql)->find(); + $Article = db("article")->field('typeid')->where($sql)->find(); $typeid = $Article["typeid"]; } if($param["type"]=='pre') { $sql='id<'.$param['aid'].' and typeid='.$typeid; - $res = M("Article")->field('id,typeid,title')->where($sql)->order('id desc')->find(); + $res = db("article")->field('id,typeid,title')->where($sql)->order('id desc')->find(); } else if($param["type"]=='next') { $sql='id>'.$param['aid'].' and typeid='.$typeid; - $res = M("Article")->field('id,typeid,title')->where($sql)->order('id asc')->find(); + $res = db("article")->field('id,typeid,title')->where($sql)->order('id asc')->find(); } return $res; @@ -185,7 +195,7 @@ function get_listnav(array $param) { return "
  • 共0页/".$counts."条记录
  • "; } - $maininfo = "
  • 共$totalpage页".$counts."条
  • "; + $maininfo = "
  • 共".$totalpage."页".$counts."条
  • "; if(!empty($param["urltype"])) { @@ -338,15 +348,13 @@ function pagenav(array $param) if(!empty($param['row'])){$limit="0,".$param['row'];}else{if(!empty($param['limit'])){$limit=$param['limit'];}else{$limit='0,8';}} if(!empty($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';} - $Artlist = M("Article")->field('body',true)->where($map)->order($orderby)->limit($limit)->select(); - - return $Artlist; + return db("article")->field('body',true)->where($map)->order($orderby)->limit($limit)->select(); } //根据总数与每页条数,获取总页数 function get_totalpage(array $param) { - if(!empty($param['pagesize'] || $param['pagesize']==0)){$pagesize=$param["pagesize"];}else{$pagesize=cms_pagesize;} + if(!empty($param['pagesize'] || $param['pagesize']==0)){$pagesize=$param["pagesize"];}else{$pagesize=CMS_PAGESIZE;} $counts=$param["counts"]; //取总数据量除以每页数的余数 @@ -389,14 +397,12 @@ function GetCurUrl() * @param string $limit='0,8' 如果存在$row,$limit就无效 * @return string */ -function pagelist(array $param) +function pagelist($param="") { if(!empty($param['row'])){$limit="0,".$param['row'];}else{if(!empty($param['limit'])){$limit=$param['limit'];}else{$limit='0,8';}} if(!empty($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';} - $Pagelist = M("Page")->field('body',true)->where($map)->order($orderby)->limit($limit)->select(); - - return $Pagelist; + return db("page")->field('body',true)->order($orderby)->limit($limit)->select(); } /** @@ -420,7 +426,8 @@ function cut_str($string, $sublen=250, $omitted = '', $start=0, $code='UTF-8') //PhpAnalysis获取中文分词 function get_keywords($keyword) { - import("Vendor.PhpAnalysis.PhpAnalysis"); + Vendor('phpAnalysis.phpAnalysis'); + //import("Vendor.phpAnalysis.phpAnalysis"); //初始化类 PhpAnalysis::$loadInit = false; $pa = new PhpAnalysis('utf-8', 'utf-8', false); @@ -434,26 +441,36 @@ function get_keywords($keyword) return ltrim($keywords, ","); } +//获取二维码 +function get_erweima($url="") +{ + Vendor('phpqrcode.qrlib'); + + $url = str_replace("%26","&",$url); + $url = str_replace("%3F","?",$url); + $url = str_replace("%3D","=",$url); + + return QRcode::png($url, false, "H", 6); +} + //根据栏目id获取栏目信息 function typeinfo($typeid) { - return M("Arctype")->where("id=$typeid")->find(); + return db("arctype")->where("id=$typeid")->find(); } //根据栏目id获取该栏目下文章/商品的数量 -function catarcnum($typeid,$modelname='Article') +function catarcnum($typeid,$modelname='article') { $map['typeid']=$typeid; - return M($modelname)->field('id')->where($map)->count(); + return db($modelname)->where($map)->count('id'); } //根据Tag id获取该Tag标签下文章的数量 function tagarcnum($tagid) { if(!empty($tagid)){$map['tid']=$tagid;} - $Taglist = M("Taglist")->where($map); - $counts = $Taglist->count(); - return $counts; + return db("taglist")->where($map)->count(); } //判断是否是图片格式,是返回true @@ -478,8 +495,7 @@ function get_category($modelname,$parent_id=0,$pad=0) { $arr=array(); - $Arctype = M($modelname); - $cats = $Arctype->where("reid=$parent_id")->order('id asc')->select(); + $cats = db($modelname)->where("reid=$parent_id")->order('id asc')->select(); if($cats) { @@ -519,7 +535,7 @@ function get_cat_path($cat) { global $temp; - $row = M("Arctype")->field('typename,reid,id')->where("id=$cat")->find(); + $row = db("arctype")->field('typename,reid,id')->where("id=$cat")->find(); $temp = ''.$row["typename"]." > ".$temp; @@ -537,11 +553,11 @@ function taglist($id,$tagid=0) $tags=""; if($tagid!=0) { - $Taglist = M("Taglist")->where("aid=$id and tid<>$tagid")->select(); + $Taglist = db("taglist")->where("aid=$id and tid<>$tagid")->select(); } else { - $Taglist = M("Taglist")->where("aid=$id")->select(); + $Taglist = db("taglist")->where("aid=$id")->select(); } foreach($Taglist as $row) @@ -549,7 +565,7 @@ function taglist($id,$tagid=0) if($tags==""){$tags='id='.$row['tid'];}else{$tags=$tags.' or id='.$row['tid'];} } - if($tags!=""){return M("Tagindex")->where($tags)->select();} + if($tags!=""){return db("tagindex")->where($tags)->select();} } //获取https的get请求结果 @@ -585,7 +601,7 @@ function get_curl_data($c_url,$data='') return $tmpInfo; // 返回数据 } -//通过file_get_content()获取远程数据 +//通过file_get_content获取远程数据 function http_request_post($url,$data,$type='POST') { $content = http_build_query($data); @@ -605,6 +621,30 @@ function http_request_post($url,$data,$type='POST') return $result; } +function imageResize($url, $width, $height) +{ + header('Content-type: image/jpeg'); + + list($width_orig, $height_orig) = getimagesize($url); + $ratio_orig = $width_orig/$height_orig; + + if($width/$height > $ratio_orig) + { + $width = $height*$ratio_orig; + } + else + { + $height = $width/$ratio_orig; + } + + // This resamples the image + $image_p = imagecreatetruecolor($width, $height); + $image = imagecreatefromjpeg($url); + imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); + // Output the image + imagejpeg($image_p, null, 100); +} + /** * 为文章内容添加内敛, 排除alt title 直接的字符替换 * @@ -618,7 +658,7 @@ function ReplaceKeyword($body) //暂时屏蔽超链接 $body = preg_replace("#()(.*)(<)(\/a>)#isU", '\\1-]-\\4-[-\\6', $body); - if(S("keywordlist")){$posts=S("keywordlist");}else{$posts = M("Keyword")->cache("keywordlist",2592000)->select();} + if(cache("keywordlist")){$posts=cache("keywordlist");}else{$posts = db("Keyword")->select();cache("keywordlist",$posts,2592000);} foreach($posts as $row) { @@ -717,16 +757,16 @@ function updateconfig() $str_end="?>"; //php结束符 $str_tmp.="//全站配置文件\r\n"; - $param = M("Sysconfig")->select(); + $param = db("sysconfig")->select(); foreach($param as $row) { - $str_tmp.='define("'.$row['varname'].'","'.$row['value'].'"); // '.$row['info']."\r\n"; + $str_tmp .= 'define("'.$row['varname'].'","'.$row['value'].'"); // '.$row['info']."\r\n"; } - $str_tmp.=$str_end; //加入结束符 + $str_tmp .= $str_end; //加入结束符 //保存文件 - $sf="./Flhome/Common/Conf/common.inc.php"; //文件名 - $fp=fopen($sf,"w"); //写方式打开文件 + $sf = APP_PATH."common.inc.php"; //文件名 + $fp = fopen($sf,"w"); //写方式打开文件 fwrite($fp,$str_tmp); //存入内容 fclose($fp); //关闭文件 } @@ -748,34 +788,3 @@ function dir_delete($dir) closedir($handle); return @rmdir($dir); } - -//从HTML文档中获得全部图片 -//如果你曾经希望去获得某个网页上的全部图片,这段代码就是你需要的,你可以轻松的建立一个图片下载机器人 -//$images = array(); -//preg_match_all('/(img|src)=("|')[^"'>]+/i', $data, $media); -//unset($data); -//$data=preg_replace('/(img|src)("|'|="|=')(.*)/i',"$3",$media[0]); -//foreach($data as $url) -//{ - //$info = pathinfo($url); - //if (isset($info['extension'])) - //{ - //if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) - //array_push($images, $url); - //} -//} - - - - - - - - - - - - - - - diff --git a/app/Http/Controllers/Home/IndexController.php b/app/Http/Controllers/Home/IndexController.php new file mode 100644 index 0000000..1f92bd9 --- /dev/null +++ b/app/Http/Controllers/Home/IndexController.php @@ -0,0 +1,23 @@ +middleware('guest')->except('logout'); + } + + public function index() + { + dd('home/index'); + } +} diff --git a/app/Http/Controllers/Wap/IndexController.php b/app/Http/Controllers/Wap/IndexController.php new file mode 100644 index 0000000..2be6b5f --- /dev/null +++ b/app/Http/Controllers/Wap/IndexController.php @@ -0,0 +1,23 @@ +middleware('guest')->except('logout'); + } + + public function index() + { + dd('wap/index'); + } +} diff --git a/app/Model/User.php b/app/Http/Model/User.php similarity index 63% rename from app/Model/User.php rename to app/Http/Model/User.php index bfd96a6..0aab29b 100644 --- a/app/Model/User.php +++ b/app/Http/Model/User.php @@ -1,14 +1,10 @@ =5.6.4", "laravel/framework": "5.4.*", + "overtrue/laravel-wechat": "~3.1", + "maatwebsite/excel": "~2.1.0", "laravel/tinker": "~1.0" }, "require-dev": { @@ -20,7 +22,10 @@ ], "psr-4": { "App\\": "app/" - } + }, + "files": [ + "app/Common/function.php" + ] }, "autoload-dev": { "psr-4": { diff --git a/composer.lock b/composer.lock index 6c2da23..c00c639 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "96098e473b028cdb2529580554a1ae3e", + "content-hash": "5fb27d16232b4890e5783a0fd2f70f79", "packages": [ { "name": "dnoegel/php-xdg-base-dir", @@ -39,6 +39,76 @@ "description": "implementation of xdg base directory specification for php", "time": "2014-10-24T07:27:01+00:00" }, + { + "name": "doctrine/cache", + "version": "v1.6.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/doctrine/cache/b6f544a20f4807e81f7044d31e679ccbb1866dc3.zip", + "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3", + "shasum": "" + }, + "require": { + "php": "~5.5|~7.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8|~5.0", + "predis/predis": "~1.0", + "satooshi/php-coveralls": "~0.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2016-10-29T11:16:17+00:00" + }, { "name": "doctrine/inflector", "version": "v1.1.0", @@ -148,6 +218,184 @@ ], "time": "2017-03-29T16:04:15+00:00" }, + { + "name": "guzzlehttp/guzzle", + "version": "6.2.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/guzzle/guzzle/8d6c6cc55186db87b7dc5009827429ba4e9dc006.zip", + "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.0", + "psr/log": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2017-02-28T22:50:30+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/guzzle/promises/a59da6cf61d80060647ff4d3eb2c03a2bc694646.zip", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/guzzle/psr7/f5b8a8512e2b58b0071a7280e39f14f72e05d87c.zip", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2017-03-20T17:10:46+00:00" + }, { "name": "jakub-onderka/php-console-color", "version": "0.1", @@ -235,6 +483,64 @@ ], "time": "2015-04-20T18:58:01+00:00" }, + { + "name": "jeremeamia/SuperClosure", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/jeremeamia/super_closure.git", + "reference": "443c3df3207f176a1b41576ee2a66968a507b3db" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/jeremeamia/super_closure/443c3df3207f176a1b41576ee2a66968a507b3db.zip", + "reference": "443c3df3207f176a1b41576ee2a66968a507b3db", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^1.2|^2.0|^3.0", + "php": ">=5.4", + "symfony/polyfill-php56": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-4": { + "SuperClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia", + "role": "Developer" + } + ], + "description": "Serialize Closure objects, including their context and binding", + "homepage": "https://github.com/jeremeamia/super_closure", + "keywords": [ + "closure", + "function", + "lambda", + "parser", + "serializable", + "serialize", + "tokenizer" + ], + "time": "2016-12-07T09:37:55+00:00" + }, { "name": "laravel/framework", "version": "v5.4.23", @@ -505,6 +811,74 @@ ], "time": "2017-04-28T10:15:08+00:00" }, + { + "name": "maatwebsite/excel", + "version": "2.1.17", + "source": { + "type": "git", + "url": "https://github.com/Maatwebsite/Laravel-Excel.git", + "reference": "14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/Maatwebsite/Laravel-Excel/14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d.zip", + "reference": "14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d", + "shasum": "" + }, + "require": { + "illuminate/cache": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*", + "illuminate/config": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*", + "illuminate/filesystem": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*", + "illuminate/support": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*", + "jeremeamia/superclosure": "^2.3", + "nesbot/carbon": "~1.0", + "php": ">=5.5", + "phpoffice/phpexcel": "1.8.*", + "tijsverkoyen/css-to-inline-styles": "~2.0" + }, + "require-dev": { + "mockery/mockery": "~0.9", + "orchestra/testbench": "3.1.*", + "phpseclib/phpseclib": "~1.0", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "illuminate/http": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*", + "illuminate/queue": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*", + "illuminate/routing": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*", + "illuminate/view": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/Maatwebsite/Excel" + ], + "psr-0": { + "Maatwebsite\\Excel\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL" + ], + "authors": [ + { + "name": "Maatwebsite.nl", + "email": "patrick@maatwebsite.nl" + } + ], + "description": "An eloquent way of importing and exporting Excel and CSV in Laravel 4 with the power of PHPExcel", + "keywords": [ + "PHPExcel", + "batch", + "csv", + "excel", + "export", + "import", + "laravel" + ], + "time": "2017-04-04T18:28:12+00:00" + }, { "name": "monolog/monolog", "version": "1.22.1", @@ -615,150 +989,450 @@ ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "time": "2017-01-23T04:29:33+00:00" + }, + { + "name": "nesbot/carbon", + "version": "1.22.1", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/briannesbitt/Carbon/7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc.zip", + "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "symfony/translation": "~2.6 || ~3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "~4.0 || ~5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.23-dev" + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2017-01-16T07:55:07+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v3.0.5", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/nikic/PHP-Parser/2b9e2f71b722f7c53918ab0c25f7646c2013f17d.zip", + "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|~5.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2017-03-05T18:23:57+00:00" + }, + { + "name": "overtrue/laravel-wechat", + "version": "3.1.8", + "source": { + "type": "git", + "url": "https://github.com/overtrue/laravel-wechat.git", + "reference": "a9c0b0117326571fb164cb513ae9ec15ca910c46" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/overtrue/laravel-wechat/a9c0b0117326571fb164cb513ae9ec15ca910c46.zip", + "reference": "a9c0b0117326571fb164cb513ae9ec15ca910c46", + "shasum": "" + }, + "require": { + "overtrue/wechat": "~3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Overtrue\\LaravelWechat\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "overtrue", + "email": "anzhengchao@gmail.com" + } + ], + "description": "微信 SDK for Laravel", + "keywords": [ + "laravel", + "sdk", + "wechat", + "weixin" + ], + "time": "2017-03-21T08:59:43+00:00" + }, + { + "name": "overtrue/socialite", + "version": "1.0.25", + "source": { + "type": "git", + "url": "https://github.com/overtrue/socialite.git", + "reference": "234b3051e7864bc94744c7cfa2a9fb1999a9ca2c" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/overtrue/socialite/234b3051e7864bc94744c7cfa2a9fb1999a9ca2c.zip", + "reference": "234b3051e7864bc94744c7cfa2a9fb1999a9ca2c", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "~5.0|~6.0", + "php": ">=5.4.0", + "symfony/http-foundation": "~2.6|~2.7|~2.8|~3.0" + }, + "require-dev": { + "mockery/mockery": "~0.9", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Overtrue\\Socialite\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "overtrue", + "email": "anzhengchao@gmail.com" + } + ], + "description": "A collection of OAuth 2 packages that extracts from laravel/socialite.", + "keywords": [ + "login", + "oauth", + "qq", + "social", + "wechat", + "weibo" + ], + "time": "2017-05-16T15:34:16+00:00" + }, + { + "name": "overtrue/wechat", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/overtrue/wechat.git", + "reference": "18f22de7a1d88d81a8e38ce03f23fa020369e8ed" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/overtrue/wechat/18f22de7a1d88d81a8e38ce03f23fa020369e8ed.zip", + "reference": "18f22de7a1d88d81a8e38ce03f23fa020369e8ed", + "shasum": "" + }, + "require": { + "doctrine/cache": "~1.4", + "ext-openssl": "*", + "guzzlehttp/guzzle": "~6.2.1", + "monolog/monolog": "^1.17", + "overtrue/socialite": ">=1.0.24", + "php": ">=5.5.0", + "pimple/pimple": "~3.0", + "symfony/http-foundation": "~2.6|~2.7|~2.8|~3.0", + "symfony/psr-http-message-bridge": "~0.3|^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.9", + "overtrue/phplint": "dev-master", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "EasyWeChat\\": "src/" + }, + "files": [ + "src/Payment/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "overtrue", + "email": "anzhengchao@gmail.com" + } + ], + "description": "微信SDK", + "keywords": [ + "sdk", + "wechat", + "weixin", + "weixin-sdk" + ], + "time": "2017-04-27T04:10:13+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v2.0.10", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/paragonie/random_compat/634bae8e911eefa89c1abfbf1b66da679ac8f54d.zip", + "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" } ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", "keywords": [ - "cron", - "schedule" + "csprng", + "pseudorandom", + "random" ], - "time": "2017-01-23T04:29:33+00:00" + "time": "2017-03-13T16:27:32+00:00" }, { - "name": "nesbot/carbon", - "version": "1.22.1", + "name": "phpoffice/phpexcel", + "version": "1.8.1", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc" + "url": "https://github.com/PHPOffice/PHPExcel.git", + "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/briannesbitt/Carbon/7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc.zip", - "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc", + "url": "https://files.phpcomposer.com/files/PHPOffice/PHPExcel/372c7cbb695a6f6f1e62649381aeaa37e7e70b32.zip", + "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32", "shasum": "" }, "require": { - "php": ">=5.3.0", - "symfony/translation": "~2.6 || ~3.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2", - "phpunit/phpunit": "~4.0 || ~5.0" + "ext-xml": "*", + "ext-xmlwriter": "*", + "php": ">=5.2.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.23-dev" - } - }, "autoload": { - "psr-4": { - "Carbon\\": "src/Carbon/" + "psr-0": { + "PHPExcel": "Classes/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "LGPL" ], "authors": [ { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "http://nesbot.com" + "name": "Maarten Balliauw", + "homepage": "http://blog.maartenballiauw.be" + }, + { + "name": "Mark Baker" + }, + { + "name": "Franck Lefevre", + "homepage": "http://blog.rootslabs.net" + }, + { + "name": "Erik Tilt" } ], - "description": "A simple API extension for DateTime.", - "homepage": "http://carbon.nesbot.com", + "description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", + "homepage": "http://phpexcel.codeplex.com", "keywords": [ - "date", - "datetime", - "time" - ], - "time": "2017-01-16T07:55:07+00:00" + "OpenXML", + "excel", + "php", + "spreadsheet", + "xls", + "xlsx" + ], + "time": "2015-05-01T07:00:55+00:00" }, { - "name": "nikic/php-parser", - "version": "v3.0.5", + "name": "pimple/pimple", + "version": "v3.0.2", "source": { "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d" + "url": "https://github.com/silexphp/Pimple.git", + "reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/nikic/PHP-Parser/2b9e2f71b722f7c53918ab0c25f7646c2013f17d.zip", - "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d", + "url": "https://files.phpcomposer.com/files/silexphp/Pimple/a30f7d6e57565a2e1a316e1baf2a483f788b258a.zip", + "reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" + "php": ">=5.3.0" }, - "bin": [ - "bin/php-parse" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" + "psr-0": { + "Pimple": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Nikita Popov" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" } ], - "description": "A PHP parser written in PHP", + "description": "Pimple, a simple Dependency Injection Container", + "homepage": "http://pimple.sensiolabs.org", "keywords": [ - "parser", - "php" + "container", + "dependency injection" ], - "time": "2017-03-05T18:23:57+00:00" + "time": "2015-09-11T15:10:35+00:00" }, { - "name": "paragonie/random_compat", - "version": "v2.0.10", + "name": "psr/http-message", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/paragonie/random_compat/634bae8e911eefa89c1abfbf1b66da679ac8f54d.zip", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", + "url": "https://files.phpcomposer.com/files/php-fig/http-message/f6561bf28d520154e4b0ec72be95418abe6d9363.zip", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", "shasum": "" }, "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + "php": ">=5.3.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { - "files": [ - "lib/random.php" - ] + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -766,18 +1440,21 @@ ], "authors": [ { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", "keywords": [ - "csprng", - "pseudorandom", - "random" + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" ], - "time": "2017-03-13T16:27:32+00:00" + "time": "2016-08-06T14:39:51+00:00" }, { "name": "psr/log", @@ -1511,6 +2188,114 @@ ], "time": "2016-11-14T01:06:16+00:00" }, + { + "name": "symfony/polyfill-php56", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "1dd42b9b89556f18092f3d1ada22cb05ac85383c" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/symfony/polyfill-php56/1dd42b9b89556f18092f3d1ada22cb05ac85383c.zip", + "reference": "1dd42b9b89556f18092f3d1ada22cb05ac85383c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-util", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "746bce0fca664ac0a575e465f65c6643faddf7fb" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/symfony/polyfill-util/746bce0fca664ac0a575e465f65c6643faddf7fb.zip", + "reference": "746bce0fca664ac0a575e465f65c6643faddf7fb", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Util\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony utilities for portability of PHP codes", + "homepage": "https://symfony.com", + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, { "name": "symfony/process", "version": "v3.2.8", @@ -1560,6 +2345,66 @@ "homepage": "https://symfony.com", "time": "2017-04-12T14:13:17+00:00" }, + { + "name": "symfony/psr-http-message-bridge", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/psr-http-message-bridge.git", + "reference": "66085f246d3893cbdbcec5f5ad15ac60546cf0de" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/symfony/psr-http-message-bridge/66085f246d3893cbdbcec5f5ad15ac60546cf0de.zip", + "reference": "66085f246d3893cbdbcec5f5ad15ac60546cf0de", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "psr/http-message": "~1.0", + "symfony/http-foundation": "~2.3|~3.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7|~3.0" + }, + "suggest": { + "psr/http-message-implementation": "To use the HttpFoundation factory", + "zendframework/zend-diactoros": "To use the Zend Diactoros factory" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bridge\\PsrHttpMessage\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "PSR HTTP message bridge", + "homepage": "http://symfony.com", + "keywords": [ + "http", + "http-message", + "psr-7" + ], + "time": "2016-09-14T18:37:20+00:00" + }, { "name": "symfony/routing", "version": "v3.2.8", diff --git a/routes/web.php b/routes/web.php index 810aa34..2ac2f71 100644 --- a/routes/web.php +++ b/routes/web.php @@ -11,6 +11,121 @@ | */ -Route::get('/', function () { - return view('welcome'); +//wap路由,要放到最前面,否则解析不到 +Route::group(['domain' => 'm.lqycms.com', 'namespace' => 'Wap'], function () { + Route::get('/', 'IndexController@index'); + Route::get('/tags', 'IndexController@tags'); + Route::get('/search', 'IndexController@search'); + Route::get('/cat{cat}/id{id}', 'IndexController@detail'); //详情页 + Route::get('/cat{cat}/{page}', 'IndexController@category'); //分类页,分页 + Route::get('/cat{cat}', 'IndexController@category'); //分类页 + Route::get('/tag{tag}/{page}', 'IndexController@tag'); //标签页,分页 + Route::get('/tag{tag}', 'IndexController@tag'); //标签页 + Route::get('/{id}', 'IndexController@page'); //单页 + Route::get('/aaa', function () { + dd('wap'); + }); }); + + +//前台路由 +Route::group(['namespace' => 'Home'], function () { + Route::get('/', 'IndexController@index'); + Route::get('/tags', 'IndexController@tags'); + Route::get('/search', 'IndexController@search'); + Route::get('/cat{cat}/id{id}', 'IndexController@detail'); //详情页 + Route::get('/cat{cat}/{page}', 'IndexController@category'); //分类页,分页 + Route::get('/cat{cat}', 'IndexController@category'); //分类页 + Route::get('/tag{tag}/{page}', 'IndexController@tag'); //标签页,分页 + Route::get('/tag{tag}', 'IndexController@tag'); //标签页 + Route::get('/{id}', 'IndexController@page'); //单页 + + Route::get('/aaa', function () { + dd('wap'); + }); +}); + + +//后台路由 +Route::group(['prefix' => 'Admin'], function () { + Route::get('/bbb', function () { + // 匹配 "/fladmin/users" URL + }); +}); + + +//接口路由 +Route::group(['prefix' => 'Api'], function () { + Route::get('/ccc', function () { + // 匹配 "/api/users" URL + }); +}); + + +//中间件 +Route::group(['middleware' => 'auth'], function () { + Route::get('/qwe', function () { + // 使用 Auth 中间件 + }); + + Route::get('user/profile', function () { + // 使用 Auth 中间件 + }); +}); + + + + + + + + + + + +//https://github.com/cong5/myPersimmon +//前台 +/* Route::group(['namespace' => 'App'], function () { + Route::get('/', 'HomeController@index')->name('home'); + Route::get('/post/{flag}', 'HomeController@posts')->name('post'); + Route::get('/tags/{flag}', 'HomeController@tags')->name('tags'); + Route::get('/category/{flag}', 'HomeController@category')->name('category'); + Route::get('/feed', 'HomeController@feed'); + Route::get('/sitemap.xml', 'HomeController@siteMap'); + Route::get('/xmlrpc', 'XmlRpcController@errorMessage'); + Route::post('/xmlrpc', 'XmlRpcController@index')->name('xmlrpc'); + Route::get('/friends', 'HomeController@friends')->name('friends'); + Route::resource('/comment', 'CommentController'); + Route::get('/debug', 'HomeController@debug')->name('debug'); +}); + +//后台 +Route::group(['prefix' => 'myp', 'namespace' => 'Backend'], function () { + Route::get('/', 'DashboardController@dashboard')->name('admin'); + Route::post('/auth/check', 'AuthController@check')->name('admin.login_check'); + Route::post('/auth/logout', 'AuthController@logout')->name('admin.logout'); + Route::post('/auth/login', 'AuthController@authenticate')->name('admin.login'); +}); +Route::group(['prefix' => 'myp', 'middleware' => 'auth', 'namespace' => 'Backend'], function () { + Route::get('/dashboard/meta', 'DashboardController@meta'); + Route::get('/dashboard/shanbay', 'DashboardController@shanbay'); + Route::resource('/categorys', 'CategorysController'); + Route::resource('/posts', 'PostsController'); + Route::resource('/tags', 'TagsController'); + Route::resource('/links', 'LinksController'); + Route::resource('/options', 'OptionsController'); + Route::resource('/settings', 'SettingsController'); + Route::resource('/navigations', 'NavigationController'); + Route::resource('/uploads', 'FileController'); + Route::resource('/util', 'UtilController'); + Route::resource('/user', 'UserController'); + Route::resource('/comments', 'CommentController'); + Route::resource('/trash', 'TrashController'); +}); */ + + + + + + +