├── .babelrc
├── .env.example
├── .gitattributes
├── .gitignore
├── app
├── Console
│ ├── Commands
│ │ ├── Music163.php
│ │ ├── Swoole.php
│ │ └── Taobao.php
│ └── Kernel.php
├── Events
│ ├── AdminLogger.php
│ ├── AdminMessage.php
│ └── Event.php
├── Exceptions
│ └── Handler.php
├── Handlers
│ └── SwooleHandler.php
├── Helpers
│ └── Functions.php
├── Http
│ ├── Controllers
│ │ ├── Admin
│ │ │ ├── ArticlesController.php
│ │ │ ├── CategoryController.php
│ │ │ ├── Controller.php
│ │ │ ├── GoodsController.php
│ │ │ ├── IndexController.php
│ │ │ ├── LoginController.php
│ │ │ ├── PermissionController.php
│ │ │ ├── RoleController.php
│ │ │ └── UserController.php
│ │ ├── ArticlesController.php
│ │ ├── Auth
│ │ │ ├── ForgotPasswordController.php
│ │ │ ├── LoginController.php
│ │ │ ├── RegisterController.php
│ │ │ └── ResetPasswordController.php
│ │ ├── Controller.php
│ │ └── HomeController.php
│ ├── Kernel.php
│ ├── Middleware
│ │ ├── AuthenticateAdmin.php
│ │ ├── Category.php
│ │ ├── EncryptCookies.php
│ │ ├── Menu.php
│ │ ├── Permission.php
│ │ ├── RedirectIfAuthenticated.php
│ │ ├── TrimStrings.php
│ │ └── VerifyCsrfToken.php
│ ├── Requests
│ │ ├── AdminCreateRequest.php
│ │ ├── AdminUpdateRequest.php
│ │ ├── ArticlesCreateRequest.php
│ │ ├── ArticlesUpdateRequest.php
│ │ ├── CategoryCreateRequest.php
│ │ ├── CategoryUpdateRequest.php
│ │ ├── GoodsCreateRequest.php
│ │ ├── GoodsUpdateRequest.php
│ │ ├── PermissionCreateRequest.php
│ │ ├── PermissionUpdateRequest.php
│ │ ├── Request.php
│ │ ├── RoleCreateRequest.php
│ │ └── RoleUpdateRequest.php
│ └── breadcrumbs.php
├── Jobs
│ └── TaobaoGoods.php
├── Listeners
│ ├── AdminLoggerListener.php
│ └── AdminMessageListener.php
├── Models
│ ├── Admin
│ │ ├── Admin.php
│ │ ├── Logger.php
│ │ ├── Message.php
│ │ ├── Permission.php
│ │ └── Role.php
│ ├── Articles.php
│ ├── Category.php
│ ├── Goods.php
│ └── GoodsThird.php
├── Providers
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── BroadcastServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
├── User.php
└── goods.php
├── artisan
├── bootstrap
├── app.php
├── autoload.php
└── cache
│ └── .gitignore
├── composer.json
├── composer.lock
├── config
├── app.php
├── auth.php
├── breadcrumbs.php
├── broadcasting.php
├── cache.php
├── database.php
├── filesystems.php
├── log-viewer.php
├── mail.php
├── queue.php
├── services.php
├── session.php
└── view.php
├── cp.php
├── database
├── .gitignore
├── factories
│ └── ModelFactory.php
├── migrations
│ ├── 2014_10_12_000000_create_users_table.php
│ ├── 2014_10_12_100000_create_password_resets_table.php
│ ├── 2017_02_11_031337_create_admin_table.php
│ ├── 2017_02_20_105041_create_permission_role_table.php
│ ├── 2017_02_21_025602_create_admin_permissions_table.php
│ ├── 2017_02_23_224830_create_admin_logger_table.php
│ ├── 2017_03_06_204828_create_admin_message_table.php
│ ├── 2017_03_17_094811_create_category_table.php
│ ├── 2017_03_17_094930_create_articles_table.php
│ ├── 2017_03_20_114914_create_admin_roles_table.php
│ ├── 2017_03_20_114921_create_admin_role_user_table.php
│ └── blog.sql
└── seeds
│ ├── AdminPermissionsTableSeeder.php
│ └── DatabaseSeeder.php
├── npm-debug.log.1758792466
├── package.json
├── phpunit.xml
├── public
├── .htaccess
├── ckplayer
│ ├── ckplayer.js
│ ├── ckplayer.swf
│ ├── ckplayer.xml
│ ├── language.xml
│ ├── related.xml
│ ├── share.xml
│ ├── share
│ │ ├── feixin.png
│ │ ├── google.png
│ │ ├── kaixin001.png
│ │ ├── msn.png
│ │ ├── qq.png
│ │ ├── qq2.png
│ │ ├── qzone.png
│ │ ├── rr.png
│ │ ├── sina.png
│ │ ├── sohu.png
│ │ └── tianya.png
│ └── style.swf
├── css
│ ├── admin.css
│ ├── admin
│ │ └── admin.css
│ ├── app.css
│ ├── test.css
│ └── web.css
├── favicon.ico
├── files
│ ├── admin
│ │ ├── avatar
│ │ │ └── 201703061259131488776353.6614162.jpeg
│ │ └── noavatar.png
│ ├── avatar
│ │ └── 201703061207151488773235.899627.jpeg
│ ├── goods
│ │ ├── 201703091053581489028038.218693.jpeg
│ │ ├── 201703091055031489028103.0211654.jpeg
│ │ └── 201703091055541489028154.0356237.jpeg
│ ├── images
│ │ ├── 1703121817451489313865.309730.png
│ │ ├── 201703121845401489315540.7034301.jpeg
│ │ ├── 201703121939221489318762.2808963.png
│ │ ├── 201703131106051489374365.2808593.jpeg
│ │ ├── 201703131106371489374397.0485541.jpeg
│ │ ├── 201703141748461489484926.7231601.jpeg
│ │ ├── 201703141756041489485364.5945783.jpeg
│ │ ├── 201703141822181489486938.414744.jpeg
│ │ ├── 201703141828341489487314.975159.jpeg
│ │ └── 201703141835241489487724.0801528.jpeg
│ └── nopic.png
├── fonts
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.svg
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ ├── fontawesome-webfont.woff2
│ ├── glyphicons-halflings-regular.eot
│ ├── glyphicons-halflings-regular.svg
│ ├── glyphicons-halflings-regular.ttf
│ ├── glyphicons-halflings-regular.woff
│ ├── glyphicons-halflings-regular.woff2
│ ├── icomoon.eot
│ ├── icomoon.svg
│ ├── icomoon.ttf
│ ├── icomoon.woff
│ ├── iconfont.eot
│ ├── iconfont.svg
│ ├── iconfont.ttf
│ ├── iconfont.woff
│ ├── ionicons.eot
│ ├── ionicons.svg
│ ├── ionicons.ttf
│ ├── ionicons.woff
│ └── ionicons.woff2
├── images
│ ├── 32px.png
│ ├── 40px.png
│ ├── about.png
│ ├── admin.png
│ ├── aero.png
│ ├── aero@2x.png
│ ├── archives.png
│ ├── bg.jpg
│ ├── bg_top_menu.png
│ ├── blue.png
│ ├── blue@2x.png
│ ├── boxed-bg.jpg
│ ├── flat.png
│ ├── flat@2x.png
│ ├── futurico.png
│ ├── futurico@2x.png
│ ├── gotop.png
│ ├── green.png
│ ├── green@2x.png
│ ├── grey.png
│ ├── grey@2x.png
│ ├── headerbg6.jpg
│ ├── home.png
│ ├── line.png
│ ├── line@2x.png
│ ├── links.png
│ ├── logo.png
│ ├── minimal.png
│ ├── minimal@2x.png
│ ├── noavatar.png
│ ├── nopic.png
│ ├── orange.png
│ ├── orange@2x.png
│ ├── pink.png
│ ├── pink@2x.png
│ ├── polaris.png
│ ├── polaris@2x.png
│ ├── postload.gif
│ ├── purple.png
│ ├── purple@2x.png
│ ├── red.png
│ ├── red@2x.png
│ ├── square.png
│ ├── square@2x.png
│ ├── throbber.gif
│ ├── works.png
│ ├── yellow.png
│ └── yellow@2x.png
├── index.php
├── js
│ ├── admin.js
│ ├── admin
│ │ └── admin.js
│ ├── app.js
│ └── web.js
├── mix-manifest.json
├── robots.txt
├── test.html
├── web.config
└── yarn.lock
├── readme.md
├── resources
├── assets
│ ├── .DS_Store
│ ├── css
│ │ └── style.css
│ ├── fonts
│ │ ├── iconfont.eot
│ │ ├── iconfont.svg
│ │ ├── iconfont.ttf
│ │ └── iconfont.woff
│ ├── images
│ │ ├── .DS_Store
│ │ ├── about.png
│ │ ├── admin.png
│ │ ├── akina.png
│ │ ├── archives.png
│ │ ├── bg.jpg
│ │ ├── bg_top_menu.png
│ │ ├── bilibili.png
│ │ ├── cd-arrow.svg
│ │ ├── deafult-works.jpg
│ │ ├── default.jpg
│ │ ├── douban.png
│ │ ├── github.png
│ │ ├── gotop.png
│ │ ├── headerbg6.jpg
│ │ ├── heart.png
│ │ ├── home.png
│ │ ├── links.png
│ │ ├── lofter.png
│ │ ├── login_loading.gif
│ │ ├── loginbg.jpg
│ │ ├── logo.png
│ │ ├── noavatar.png
│ │ ├── nopic.png
│ │ ├── postload.gif
│ │ ├── qq.png
│ │ ├── qzone.png
│ │ ├── sina.png
│ │ ├── wechat.png
│ │ ├── works.png
│ │ └── youku.png
│ ├── js
│ │ ├── App.vue
│ │ ├── admin-routes.js
│ │ ├── admin-vuex
│ │ │ ├── actions.js
│ │ │ ├── mutations.js
│ │ │ └── store.js
│ │ ├── admin.js
│ │ ├── binaryajax.js
│ │ ├── bootstrap.js
│ │ ├── canvasResize.js
│ │ ├── components
│ │ │ ├── Articles.vue
│ │ │ ├── Example.vue
│ │ │ └── admin
│ │ │ │ ├── Editor.vue
│ │ │ │ ├── ImageUpload.vue
│ │ │ │ ├── ListHeader.vue
│ │ │ │ ├── Pagination.vue
│ │ │ │ ├── Table.vue
│ │ │ │ └── TagEditor.vue
│ │ ├── exif.js
│ │ ├── style.js
│ │ ├── util.js
│ │ ├── views
│ │ │ ├── admin
│ │ │ │ ├── Error.vue
│ │ │ │ ├── articles
│ │ │ │ │ ├── Create.vue
│ │ │ │ │ ├── Index.vue
│ │ │ │ │ └── Update.vue
│ │ │ │ ├── category
│ │ │ │ │ └── Index.vue
│ │ │ │ ├── goods
│ │ │ │ │ ├── Create.vue
│ │ │ │ │ ├── Index.vue
│ │ │ │ │ ├── Tag.vue
│ │ │ │ │ └── Update.vue
│ │ │ │ ├── layouts
│ │ │ │ │ ├── Main.vue
│ │ │ │ │ ├── Mheader.vue
│ │ │ │ │ ├── Parent.vue
│ │ │ │ │ └── Sidebar.vue
│ │ │ │ ├── permission
│ │ │ │ │ └── Index.vue
│ │ │ │ ├── role
│ │ │ │ │ ├── Acl.vue
│ │ │ │ │ ├── Create.vue
│ │ │ │ │ ├── Index.vue
│ │ │ │ │ └── Update.vue
│ │ │ │ └── user
│ │ │ │ │ ├── Create.vue
│ │ │ │ │ ├── Index.vue
│ │ │ │ │ ├── Info.vue
│ │ │ │ │ ├── Logger.vue
│ │ │ │ │ └── Update.vue
│ │ │ └── web
│ │ │ │ ├── layouts
│ │ │ │ ├── Main.vue
│ │ │ │ └── Parent.vue
│ │ │ │ └── login.vue
│ │ ├── vuex
│ │ │ ├── actions.js
│ │ │ ├── mutations.js
│ │ │ └── store.js
│ │ ├── web-routes.js
│ │ ├── web-util.js
│ │ └── web.js
│ ├── sass
│ │ ├── _variables.scss
│ │ ├── admin.scss
│ │ ├── app.scss
│ │ └── web.scss
│ └── tag-editor
│ │ ├── css
│ │ └── jquery.tag-editor.css
│ │ └── js
│ │ ├── bower.json
│ │ ├── demo.html
│ │ ├── jquery.caret.min.js
│ │ ├── jquery.tag-editor.js
│ │ ├── jquery.tag-editor.min.js
│ │ ├── readme.md
│ │ └── tag-editor.jquery.json
├── lang
│ ├── en
│ │ ├── auth.php
│ │ ├── pagination.php
│ │ ├── passwords.php
│ │ └── validation.php
│ ├── vendor
│ │ └── log-viewer
│ │ │ ├── ar
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── bg
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── de
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── en
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── es
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── et
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── fa
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── fr
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── hu
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── hy
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── it
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── ko
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── nl
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── pl
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── pt-BR
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── ro
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── ru
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── sv
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── th
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── tr
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ ├── zh-TW
│ │ │ ├── general.php
│ │ │ └── levels.php
│ │ │ └── zh
│ │ │ ├── general.php
│ │ │ └── levels.php
│ └── zh_cn
│ │ ├── auth.php
│ │ ├── pagination.php
│ │ ├── passwords.php
│ │ └── validation.php
└── views
│ ├── admin
│ ├── errors
│ │ ├── 403.blade.php
│ │ ├── 404.blade.php
│ │ └── 503.blade.php
│ ├── index.blade.php
│ ├── layouts
│ │ ├── header.blade.php
│ │ ├── main.blade.php
│ │ └── sidebar.blade.php
│ └── login.blade.php
│ ├── articles
│ └── detail.blade.php
│ ├── auth
│ ├── login.blade.php
│ ├── passwords
│ │ ├── email.blade.php
│ │ └── reset.blade.php
│ └── register.blade.php
│ ├── category.blade.php
│ ├── home.blade.php
│ ├── layouts
│ └── app.blade.php
│ └── vendor
│ ├── log-viewer
│ ├── _partials
│ │ └── menu.blade.php
│ ├── _template
│ │ ├── footer.blade.php
│ │ ├── master.blade.php
│ │ ├── navigation.blade.php
│ │ └── style.blade.php
│ ├── dashboard.blade.php
│ ├── logs.blade.php
│ └── show.blade.php
│ ├── mail
│ ├── html
│ │ ├── button.blade.php
│ │ ├── footer.blade.php
│ │ ├── header.blade.php
│ │ ├── layout.blade.php
│ │ ├── message.blade.php
│ │ ├── panel.blade.php
│ │ ├── promotion.blade.php
│ │ ├── promotion
│ │ │ └── button.blade.php
│ │ ├── subcopy.blade.php
│ │ ├── table.blade.php
│ │ └── themes
│ │ │ └── default.css
│ └── markdown
│ │ ├── button.blade.php
│ │ ├── footer.blade.php
│ │ ├── header.blade.php
│ │ ├── layout.blade.php
│ │ ├── message.blade.php
│ │ ├── panel.blade.php
│ │ ├── promotion.blade.php
│ │ ├── promotion
│ │ └── button.blade.php
│ │ ├── subcopy.blade.php
│ │ └── table.blade.php
│ ├── notifications
│ └── email.blade.php
│ └── pagination
│ ├── bootstrap-4.blade.php
│ ├── default.blade.php
│ ├── simple-bootstrap-4.blade.php
│ └── simple-default.blade.php
├── routes
├── admin.php
├── api.php
├── channels.php
├── console.php
└── web.php
├── screenshots
├── acl.png
├── blog.png
├── blog_admin.png
├── blog_admin1.png
├── logger.png
├── msg1.png
├── msg2.png
├── role.png
└── users.png
├── server.php
├── storage
├── app
│ ├── .gitignore
│ └── public
│ │ └── .gitignore
├── framework
│ ├── .gitignore
│ ├── cache
│ │ └── .gitignore
│ ├── sessions
│ │ └── .gitignore
│ └── views
│ │ └── .gitignore
└── logs
│ └── .gitignore
├── tests
├── CreatesApplication.php
├── Feature
│ └── ExampleTest.php
├── TestCase.php
└── Unit
│ └── ExampleTest.php
├── webpack.mix.js
└── yarn.lock
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | ["es2015", { "modules": false }]
4 | ],
5 | "plugins": ["transform-object-rest-spread"]
6 | }
--------------------------------------------------------------------------------
/.env.example:
--------------------------------------------------------------------------------
1 | APP_ENV=local
2 | APP_KEY=
3 | APP_DEBUG=true
4 | APP_LOG_LEVEL=debug
5 | APP_URL=http://localhost
6 |
7 | DB_CONNECTION=mysql
8 | DB_HOST=127.0.0.1
9 | DB_PORT=3306
10 | DB_DATABASE=homestead
11 | DB_USERNAME=homestead
12 | DB_PASSWORD=secret
13 |
14 | BROADCAST_DRIVER=log
15 | CACHE_DRIVER=file
16 | SESSION_DRIVER=file
17 | QUEUE_DRIVER=sync
18 |
19 | REDIS_HOST=127.0.0.1
20 | REDIS_PASSWORD=null
21 | REDIS_PORT=6379
22 |
23 | MAIL_DRIVER=smtp
24 | MAIL_HOST=mailtrap.io
25 | MAIL_PORT=2525
26 | MAIL_USERNAME=null
27 | MAIL_PASSWORD=null
28 | MAIL_ENCRYPTION=null
29 |
30 | PUSHER_APP_ID=
31 | PUSHER_APP_KEY=
32 | PUSHER_APP_SECRET=
33 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.css linguist-vendored
3 | *.scss linguist-vendored
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | /public/storage
3 | /public/hot
4 | /storage/*.key
5 | /vendor
6 | /.idea
7 | Homestead.json
8 | Homestead.yaml
9 | .env
10 |
--------------------------------------------------------------------------------
/app/Console/Commands/Music163.php:
--------------------------------------------------------------------------------
1 | uri.'/discover/playlist',array("title"=>array('.dec a.tit','text')));
44 | print_r($hj->data);
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/app/Console/Commands/Swoole.php:
--------------------------------------------------------------------------------
1 | argument('action');
45 | $this->ws = new \swoole_websocket_server("0.0.0.0", 9501);
46 | $this->ws->set(['worker_num' => 8]);
47 | switch ($action) {
48 | case 'start':
49 | $handler = new SwooleHandler();
50 | $this->ws->on('Open', [$handler, 'onOpen']);
51 | $this->ws->on('Message', [$handler, 'onMessage']);
52 | $this->ws->on('Close', [$handler, 'onClose']);
53 | $this->ws->start();;
54 | break;
55 | case 'reload':
56 | $this->ws->reload();;
57 | break;
58 | case 'stop':
59 | $this->ws->stop();;
60 | break;
61 | }
62 |
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/app/Console/Kernel.php:
--------------------------------------------------------------------------------
1 | command('inspire')
31 | // ->hourly();
32 | }
33 |
34 | /**
35 | * Register the Closure based commands for the application.
36 | *
37 | * @return void
38 | */
39 | protected function commands()
40 | {
41 | require base_path('routes/console.php');
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/app/Events/AdminLogger.php:
--------------------------------------------------------------------------------
1 | model = new Logger();
27 | $this->catalog=$catalog;
28 | $this->intro=$intro;
29 | }
30 |
31 | /**
32 | * Get the channels the event should broadcast on.
33 | *
34 | * @return Channel|array
35 | */
36 | public function broadcastOn()
37 | {
38 | return new PrivateChannel('channel-name');
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/app/Events/AdminMessage.php:
--------------------------------------------------------------------------------
1 | model = new Message();
30 | $this->to_uid = $toUid;
31 | $this->content = $msg;
32 | }
33 |
34 | /**
35 | * Get the channels the event should broadcast on.
36 | *
37 | * @return Channel|array
38 | */
39 | public function broadcastOn()
40 | {
41 | return new PrivateChannel('channel-name');
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/app/Events/Event.php:
--------------------------------------------------------------------------------
1 | get['uid'];
18 | echo "client-{$request->fd} is opened\n";
19 | Redis::hSet('ADMIN_USERS', $uid, $request->fd);
20 | var_dump(Redis::hGet('ADMIN_USERS', 9));
21 | }
22 |
23 | public function onMessage($ws, $frame)
24 | {
25 | $uid=$frame->data;
26 | $fd = Redis::hGet('ADMIN_USERS', $uid);
27 | echo "client-{$fd} is send\n";
28 | $num=Message::query()->where('to_uid',$uid)->count();
29 | $ws->push($fd, $num);
30 | }
31 |
32 | public function onClose($ws, $fd)
33 | {
34 | echo "client-{$fd} is closed\n";
35 | $all = Redis::hGetAll('ADMIN_USERS');
36 | foreach ($all as $key => $val) {
37 | if ($fd == Redis::hGet('ADMIN_USERS', $key)) {
38 | Redis::hDel('ADMIN_USERS', $key);
39 | echo "del {$key}";
40 | }
41 | }
42 | }
43 |
44 | }
--------------------------------------------------------------------------------
/app/Helpers/Functions.php:
--------------------------------------------------------------------------------
1 | put($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)));
18 | //return \Illuminate\Support\Facades\Storage::url($new_file);
19 | return $new_file;
20 | }
21 |
22 | }
23 |
24 |
25 | function adminMsg($toUid, $msg, $title = '')
26 | {
27 | $rs=\Illuminate\Support\Facades\Event::fire(new \App\Events\AdminMessage($toUid, $msg));
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/Controller.php:
--------------------------------------------------------------------------------
1 | middleware('guest:admin', ['except' => 'logout']);
48 | }
49 |
50 | protected function guard()
51 | {
52 | return Auth::guard('admin');
53 | }
54 |
55 | public function showLoginForm(){
56 |
57 | return view('admin.login');
58 |
59 | }
60 | public function logout(Request $request)
61 | {
62 | $this->guard()->logout();
63 | return redirect('/admin/login');
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/app/Http/Controllers/ArticlesController.php:
--------------------------------------------------------------------------------
1 | increment('view_num',1);
20 | $articles->tags = explode(',',$articles->tags);
21 | return view('articles.detail',['articles'=>$articles]);
22 | }
23 |
24 |
25 |
26 | }
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/ForgotPasswordController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/LoginController.php:
--------------------------------------------------------------------------------
1 | middleware('guest', ['except' => 'logout']);
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/ResetPasswordController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Controller.php:
--------------------------------------------------------------------------------
1 | ajax() && ($request->getMethod() != 'GET')) {
24 | $routeName = starts_with(Route::currentRouteName(), 'admin.') ? Route::currentRouteName() : 'admin.' . Route::currentRouteName();
25 | if (!\Gate::check($routeName)) {
26 |
27 | return response()->json([
28 | 'status' => -1,
29 | 'code' => 403,
30 | 'msg' => '您没有权限执行此操作',
31 | ]);
32 | }
33 | }
34 |
35 | return $next($request);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/app/Http/Middleware/Category.php:
--------------------------------------------------------------------------------
1 | attributes->set('CategoryData', $this->getCate());
28 | return $next($request);
29 | }
30 |
31 | /**
32 | * 获取一级分类
33 | * @return array
34 | */
35 | private function getCate()
36 | {
37 |
38 | $list = \App\Models\Category::query()->where('parent_id', 0)->take(5)->get();
39 |
40 | $data = [];
41 |
42 | foreach ($list as $key => $val) {
43 |
44 | $data[$val->id] = $val->name;
45 |
46 | }
47 |
48 | return $data;
49 |
50 | }
51 | }
--------------------------------------------------------------------------------
/app/Http/Middleware/EncryptCookies.php:
--------------------------------------------------------------------------------
1 | getPermission($request);
22 | if (\Gate::check($permits)) {
23 | return $next($request);
24 | }
25 | return redirect('admin/index')->withErrors('您没有该操作权限!');
26 | }
27 |
28 | // 获取当前路由需要的权限
29 | public function getPermission($request)
30 | {
31 | $actions = $request->route()->getAction();
32 | return $actions['as'];
33 | }
34 |
35 |
36 | }
--------------------------------------------------------------------------------
/app/Http/Middleware/RedirectIfAuthenticated.php:
--------------------------------------------------------------------------------
1 | check()) {
21 | $url = $guard ? '/admin':'/home';
22 | return redirect($url);
23 | }
24 |
25 | return $next($request);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/app/Http/Middleware/TrimStrings.php:
--------------------------------------------------------------------------------
1 | 'required|unique:admin|min:4|max:255',
28 | 'password'=>'required|min:6|max:50'
29 | ];
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/Http/Requests/AdminUpdateRequest.php:
--------------------------------------------------------------------------------
1 | 'required|unique:admin,name,'.$this->get('id').'|max:255',
28 | 'password'=>'min:6|max:50'
29 | ];
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/Http/Requests/ArticlesCreateRequest.php:
--------------------------------------------------------------------------------
1 | 'required',
27 | 'category_id'=>'required|int',
28 | 'content'=>'required',
29 | ];
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/Http/Requests/ArticlesUpdateRequest.php:
--------------------------------------------------------------------------------
1 | 'required',
28 | 'category_id' => 'required|int',
29 | 'content' => 'required',
30 | ];
31 |
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/Http/Requests/CategoryCreateRequest.php:
--------------------------------------------------------------------------------
1 | 'required|unique:category|max:255',
27 | 'parent_id'=>'required|int',
28 | ];
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Http/Requests/CategoryUpdateRequest.php:
--------------------------------------------------------------------------------
1 | 'required|unique:category,name,'.$this->get('id').'|max:255',
28 | 'parent_id'=>'int',
29 | ];
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/Http/Requests/GoodsCreateRequest.php:
--------------------------------------------------------------------------------
1 | 'required|unique:goods|max:255',
28 | ];
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Http/Requests/GoodsUpdateRequest.php:
--------------------------------------------------------------------------------
1 | 'required|unique:goods,name,'.$this->get('id').'|max:255',
28 | ];
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Http/Requests/PermissionCreateRequest.php:
--------------------------------------------------------------------------------
1 | 'required|unique:admin_permissions|max:255',
28 | 'display_name'=>'required|max:255',
29 | 'parent_id'=>'required|int',
30 | ];
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/Http/Requests/PermissionUpdateRequest.php:
--------------------------------------------------------------------------------
1 | 'required|unique:admin_permissions,name,'.$this->get('id').'|max:255',
28 | 'display_name'=>'unique:admin_permissions,display_name,'.$this->get('id').'|max:255',
29 | 'parent_id'=>'int',
30 | ];
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/Http/Requests/Request.php:
--------------------------------------------------------------------------------
1 | 'required|unique:admin_roles|max:255',
28 | ];
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Http/Requests/RoleUpdateRequest.php:
--------------------------------------------------------------------------------
1 | 'required|unique:admin_roles,name,'.$this->get('id').'|max:255',
28 | ];
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Http/breadcrumbs.php:
--------------------------------------------------------------------------------
1 | push('首页', route('admin.home'));
6 | });
7 |
8 | // Home > Blog
9 | Breadcrumbs::register('admin.permission.index', function($breadcrumbs)
10 | {
11 | $breadcrumbs->parent('admin.home');
12 | $breadcrumbs->push('权限管理', route('admin.permission.index'));
13 | });
--------------------------------------------------------------------------------
/app/Jobs/TaobaoGoods.php:
--------------------------------------------------------------------------------
1 | goods_id = $goods_id;
27 | $this->tag = $tag;
28 | }
29 |
30 | /**
31 | * Execute the job.
32 | *
33 | * @return void
34 | */
35 | public function handle()
36 | {
37 | $exitCode = Artisan::call('taobao:get', [
38 | 'goods_id' => $this->goods_id, 'tag' => $this->tag
39 | ]);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/app/Listeners/AdminLoggerListener.php:
--------------------------------------------------------------------------------
1 | user_id = auth('admin')->user()->id;
19 |
20 | }
21 |
22 | /**
23 | * Handle the event.
24 | *
25 | * @param AdminLogger $event
26 | * @return void
27 | */
28 | public function handle(AdminLogger $event)
29 | {
30 | $model = $event->model;
31 | $model->user_id = auth('admin')->user()->id;
32 | $model->catalog = $event->catalog;
33 | $model->url = url()->current();
34 | $model->intro = $event->intro;
35 | $model->ip = request()->ip();
36 | $model->created_at = time();
37 | $model->save();
38 |
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/app/Listeners/AdminMessageListener.php:
--------------------------------------------------------------------------------
1 | user_id = auth('admin')->user()->id;
21 |
22 | }
23 |
24 | /**
25 | * Handle the event.
26 | *
27 | * @param AdminMessage $event
28 | * @return void
29 | */
30 | public function handle(AdminMessage $event)
31 | {
32 | $model = $event->model;
33 | $model->from_uid =auth('admin')->user()->id;
34 | $model->to_uid = $event->to_uid;
35 | $model->content = $event->content;
36 | $model->created_at = time();
37 | $model->save();
38 |
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/app/Models/Admin/Logger.php:
--------------------------------------------------------------------------------
1 | belongsTo(Admin::class, 'user_id','id')->select(['id','username']);
24 | }
25 |
26 | public function getCreatedAtAttribute($date)
27 | {
28 | return Carbon::parse(date("Y-m-d H:i:s",$date))->diffForHumans();
29 | }
30 |
31 | }
--------------------------------------------------------------------------------
/app/Models/Admin/Message.php:
--------------------------------------------------------------------------------
1 | belongsTo(Admin::class, 'from_uid','id')->select(['id','username','picture']);
17 | }
18 |
19 | public function getCreatedAtAttribute($date)
20 | {
21 | return Carbon::parse(date("Y-m-d H:i:s",$date))->diffForHumans();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/app/Models/Admin/Permission.php:
--------------------------------------------------------------------------------
1 | belongsToMany(Role::class,'admin_permission_role','permission_id','role_id');
19 | }
20 |
21 | //给jstree提供json数据
22 | public function getTreeData()
23 | {
24 | $data = array();
25 | $list=$this->query()
26 | ->orderBy('order_num','ASC')->get()->toArray();
27 | foreach ($list as $k => $v)
28 | {
29 | if ($v['parent_id'] == 0)
30 | {
31 | $data[$k]['id'] = $v['id'];
32 | $data[$k]['parent'] = '#';
33 | $data[$k]['text'] = $v['display_name'];
34 | $data[$k]['state'] = array('opened' => true);
35 | }
36 | else
37 | {
38 | $data[$k]['id'] = $v['id'];
39 | $data[$k]['parent'] = $v['parent_id'];
40 | $data[$k]['text'] = $v['display_name'];
41 | }
42 | }
43 |
44 | return $data;
45 | }
46 |
47 |
48 | public function getSelectList($id = 0, $lev = 0)
49 | {
50 | $list = $this->query()->where('parent_id', $id)
51 | ->orderBy('order_num', 'ASC')->get()->toArray();
52 | static $arr = [['label'=>'根','value'=>0]];
53 | $tag = '';
54 | foreach ($list as $k => $v) {
55 | $tag = str_repeat("—", $lev);
56 | $v['display_name'] = $tag . $v['display_name'];
57 | $arr[]= ['label'=>$v['display_name'],'value'=>$v['id']];
58 | $this->getSelectList($v['id'], $lev + 1);
59 | }
60 |
61 | return $arr;
62 | }
63 | }
--------------------------------------------------------------------------------
/app/Models/Articles.php:
--------------------------------------------------------------------------------
1 | belongsTo(Category::class,'category_id', 'id');
24 | }
25 |
26 | public function getPictureAttribute($pic)
27 | {
28 | if ($pic) {
29 | return \Illuminate\Support\Facades\Storage::url($pic);
30 | } else {
31 | return \Illuminate\Support\Facades\Storage::url('nopic.png');
32 | }
33 | }
34 |
35 | public function getCreatedAtAttribute($date)
36 | {
37 | return Carbon::parse($date)->diffForHumans();
38 | }
39 |
40 | public function getUrlAttribute()
41 | {
42 | return URL::route('articles.detail',['id'=>$this->id]);
43 |
44 | }
45 | }
--------------------------------------------------------------------------------
/app/Models/Category.php:
--------------------------------------------------------------------------------
1 | query()
22 | ->orderBy('order_num','ASC')->get()->toArray();
23 | foreach ($list as $k => $v)
24 | {
25 | if ($v['parent_id'] == 0)
26 | {
27 | $data[$k]['id'] = $v['id'];
28 | $data[$k]['parent'] = '#';
29 | $data[$k]['text'] = $v['name'];
30 | $data[$k]['state'] = array('opened' => true);
31 | }
32 | else
33 | {
34 | $data[$k]['id'] = $v['id'];
35 | $data[$k]['parent'] = $v['parent_id'];
36 | $data[$k]['text'] = $v['name'];
37 | }
38 | }
39 |
40 | return $data;
41 | }
42 |
43 |
44 | public function getSelectList($id = 0, $lev = 0)
45 | {
46 | $list = $this->query()->where('parent_id', $id)
47 | ->orderBy('order_num', 'ASC')->get()->toArray();
48 | static $arr = [['label'=>'根','value'=>0]];
49 | $tag = '';
50 | foreach ($list as $k => $v) {
51 | $tag = str_repeat("—", $lev);
52 | $v['name'] = $tag . $v['name'];
53 | $arr[]= ['label'=>$v['name'],'value'=>$v['id']];
54 | $this->getSelectList($v['id'], $lev + 1);
55 | }
56 |
57 | return $arr;
58 | }
59 | }
--------------------------------------------------------------------------------
/app/Models/Goods.php:
--------------------------------------------------------------------------------
1 | hasMany(GoodsThird::class, 'goods_id', 'id');
17 | }
18 |
19 | }
--------------------------------------------------------------------------------
/app/Models/GoodsThird.php:
--------------------------------------------------------------------------------
1 | 'App\Policies\ModelPolicy',
19 | ];
20 |
21 | protected $except = [
22 | 'admin',
23 | 'admin.error',
24 | ];
25 |
26 | /**
27 | * Register any authentication / authorization services.
28 | *
29 | * @return void
30 | */
31 | public function boot(GateContract $gate)
32 | {
33 | $this->registerPolicies();
34 |
35 | if(!empty($_SERVER['SCRIPT_NAME']) && strtolower($_SERVER['SCRIPT_NAME']) ==='artisan' ){
36 | return false;
37 | }
38 | $gate->before(function ($user, $ability) {
39 | if ($user->id === 1||in_array($ability,$this->except)) {
40 | return true;
41 | }
42 | });
43 | $this->registerPolicies($gate);
44 |
45 | $permissions = \App\Models\Admin\Permission::with('roles')->get();
46 |
47 | foreach ($permissions as $permission) {
48 | $gate->define($permission->name, function ($user) use ($permission) {
49 | return $user->hasPermission($permission);
50 | });
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/app/Providers/BroadcastServiceProvider.php:
--------------------------------------------------------------------------------
1 | [
17 | 'App\Listeners\AdminLoggerListener',
18 | ],
19 | 'App\Events\AdminMessage' => [
20 | 'App\Listeners\AdminMessageListener',
21 | ],
22 | ];
23 |
24 | /**
25 | * Register any events for your application.
26 | *
27 | * @return void
28 | */
29 | public function boot()
30 | {
31 | parent::boot();
32 |
33 | //
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/app/User.php:
--------------------------------------------------------------------------------
1 | make(Illuminate\Contracts\Console\Kernel::class);
32 |
33 | $status = $kernel->handle(
34 | $input = new Symfony\Component\Console\Input\ArgvInput,
35 | new Symfony\Component\Console\Output\ConsoleOutput
36 | );
37 |
38 | /*
39 | |--------------------------------------------------------------------------
40 | | Shutdown The Application
41 | |--------------------------------------------------------------------------
42 | |
43 | | Once Artisan has finished running. We will fire off the shutdown events
44 | | so that any final work may be done by the application before we shut
45 | | down the process. This is the last thing to happen to the request.
46 | |
47 | */
48 |
49 | $kernel->terminate($input, $status);
50 |
51 | exit($status);
52 |
--------------------------------------------------------------------------------
/bootstrap/app.php:
--------------------------------------------------------------------------------
1 | singleton(
30 | Illuminate\Contracts\Http\Kernel::class,
31 | App\Http\Kernel::class
32 | );
33 |
34 | $app->singleton(
35 | Illuminate\Contracts\Console\Kernel::class,
36 | App\Console\Kernel::class
37 | );
38 |
39 | $app->singleton(
40 | Illuminate\Contracts\Debug\ExceptionHandler::class,
41 | App\Exceptions\Handler::class
42 | );
43 |
44 | /*
45 | |--------------------------------------------------------------------------
46 | | Return The Application
47 | |--------------------------------------------------------------------------
48 | |
49 | | This script returns the application instance. The instance is given to
50 | | the calling script so we can separate the building of the instances
51 | | from the actual running of the application and sending responses.
52 | |
53 | */
54 |
55 | return $app;
56 |
--------------------------------------------------------------------------------
/bootstrap/autoload.php:
--------------------------------------------------------------------------------
1 | =5.6.4",
9 | "arcanedev/log-viewer": "^4.3",
10 | "barryvdh/laravel-debugbar": " ^2.3",
11 | "davejamesmiller/laravel-breadcrumbs": "^3.0",
12 | "guzzlehttp/guzzle": "6.2",
13 | "jaeger/querylist": "^3.1",
14 | "laravel/framework": "5.4.*",
15 | "laravel/tinker": "~1.0",
16 | "nwidart/db-exporter": "^1.1",
17 | "orangehill/iseed": "^2.3",
18 | "predis/predis": " ^1.1",
19 | "xethron/migrations-generator": "^2.0"
20 | },
21 | "require-dev": {
22 | "fzaninotto/faker": "~1.4",
23 | "mockery/mockery": "0.9.*",
24 | "phpunit/phpunit": "~5.7"
25 | },
26 | "autoload": {
27 | "classmap": [
28 | "database"
29 | ],
30 | "psr-4": {
31 | "App\\": "app/"
32 | }
33 | },
34 | "autoload-dev": {
35 | "psr-4": {
36 | "Tests\\": "tests/"
37 | }
38 | },
39 | "scripts": {
40 | "post-root-package-install": [
41 | "php -r \"file_exists('.env') || copy('.env.example', '.env');\""
42 | ],
43 | "post-create-project-cmd": [
44 | "php artisan key:generate"
45 | ],
46 | "post-install-cmd": [
47 | "Illuminate\\Foundation\\ComposerScripts::postInstall",
48 | "php artisan optimize"
49 | ],
50 | "post-update-cmd": [
51 | "Illuminate\\Foundation\\ComposerScripts::postUpdate",
52 | "php artisan optimize"
53 | ]
54 | },
55 | "config": {
56 | "preferred-install": "dist",
57 | "sort-packages": true
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/config/breadcrumbs.php:
--------------------------------------------------------------------------------
1 | 'breadcrumbs::bootstrap3',
6 |
7 | ];
8 |
--------------------------------------------------------------------------------
/config/broadcasting.php:
--------------------------------------------------------------------------------
1 | env('BROADCAST_DRIVER', 'null'),
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Broadcast Connections
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may define all of the broadcast connections that will be used
26 | | to broadcast events to other systems or over websockets. Samples of
27 | | each available type of connection are provided inside this array.
28 | |
29 | */
30 |
31 | 'connections' => [
32 |
33 | 'pusher' => [
34 | 'driver' => 'pusher',
35 | 'key' => env('PUSHER_APP_KEY'),
36 | 'secret' => env('PUSHER_APP_SECRET'),
37 | 'app_id' => env('PUSHER_APP_ID'),
38 | 'options' => [
39 | //
40 | ],
41 | ],
42 |
43 | 'redis' => [
44 | 'driver' => 'redis',
45 | 'connection' => 'default',
46 | ],
47 |
48 | 'log' => [
49 | 'driver' => 'log',
50 | ],
51 |
52 | 'null' => [
53 | 'driver' => 'null',
54 | ],
55 |
56 | ],
57 |
58 | ];
59 |
--------------------------------------------------------------------------------
/config/services.php:
--------------------------------------------------------------------------------
1 | [
18 | 'domain' => env('MAILGUN_DOMAIN'),
19 | 'secret' => env('MAILGUN_SECRET'),
20 | ],
21 |
22 | 'ses' => [
23 | 'key' => env('SES_KEY'),
24 | 'secret' => env('SES_SECRET'),
25 | 'region' => 'us-east-1',
26 | ],
27 |
28 | 'sparkpost' => [
29 | 'secret' => env('SPARKPOST_SECRET'),
30 | ],
31 |
32 | 'stripe' => [
33 | 'model' => App\User::class,
34 | 'key' => env('STRIPE_KEY'),
35 | 'secret' => env('STRIPE_SECRET'),
36 | ],
37 |
38 | ];
39 |
--------------------------------------------------------------------------------
/config/view.php:
--------------------------------------------------------------------------------
1 | [
17 | realpath(base_path('resources/views')),
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled View Path
23 | |--------------------------------------------------------------------------
24 | |
25 | | This option determines where all the compiled Blade templates will be
26 | | stored for your application. Typically, this is within the storage
27 | | directory. However, as usual, you are free to change this value.
28 | |
29 | */
30 |
31 | 'compiled' => realpath(storage_path('framework/views')),
32 |
33 | ];
34 |
--------------------------------------------------------------------------------
/cp.php:
--------------------------------------------------------------------------------
1 | "de37fa4a9d7e01bb","caipiaoid" =>"13");
4 | $ch = curl_init();
5 | curl_setopt($ch, CURLOPT_URL, $url);
6 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
7 | // post数据
8 | curl_setopt($ch, CURLOPT_POST, 1);
9 | // post的变量
10 | curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
11 | $output = curl_exec($ch);
12 | curl_close($ch);
13 | //打印获得的数据
14 | print_r($output);
15 | ?>
--------------------------------------------------------------------------------
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite
2 |
--------------------------------------------------------------------------------
/database/factories/ModelFactory.php:
--------------------------------------------------------------------------------
1 | define(App\User::class, function (Faker\Generator $faker) {
16 | static $password;
17 |
18 | return [
19 | 'name' => $faker->name,
20 | 'email' => $faker->unique()->safeEmail,
21 | 'password' => $password ?: $password = bcrypt('secret'),
22 | 'remember_token' => str_random(10),
23 | ];
24 | });
25 |
--------------------------------------------------------------------------------
/database/migrations/2014_10_12_000000_create_users_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
18 | $table->string('name');
19 | $table->string('email')->unique();
20 | $table->string('password');
21 | $table->rememberToken();
22 | $table->timestamps();
23 | });
24 | }
25 |
26 | /**
27 | * Reverse the migrations.
28 | *
29 | * @return void
30 | */
31 | public function down()
32 | {
33 | Schema::dropIfExists('users');
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/database/migrations/2014_10_12_100000_create_password_resets_table.php:
--------------------------------------------------------------------------------
1 | string('email')->index();
18 | $table->string('token')->index();
19 | $table->timestamp('created_at')->nullable();
20 | });
21 | }
22 |
23 | /**
24 | * Reverse the migrations.
25 | *
26 | * @return void
27 | */
28 | public function down()
29 | {
30 | Schema::dropIfExists('password_resets');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/database/migrations/2017_02_11_031337_create_admin_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
18 | $table->string('username')->unique();
19 | $table->string('name');
20 | $table->string('picture');
21 | $table->string('email');
22 | $table->string('phone');
23 | $table->string('password');
24 | $table->rememberToken();
25 | $table->timestamps();
26 | });
27 | }
28 |
29 | /**
30 | * Reverse the migrations.
31 | *
32 | * @return void
33 | */
34 | public function down()
35 | {
36 | Schema::dropIfExists('admin');
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/database/migrations/2017_02_20_105041_create_permission_role_table.php:
--------------------------------------------------------------------------------
1 | integer('permission_id')->unsigned();
18 | $table->integer('role_id')->unsigned()->index('permission_role_role_id_foreign');
19 | $table->primary(['permission_id','role_id']);
20 | });
21 | }
22 |
23 |
24 | /**
25 | * Reverse the migrations.
26 | *
27 | * @return void
28 | */
29 | public function down()
30 | {
31 | Schema::drop('permission_role');
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/database/migrations/2017_02_21_025602_create_admin_permissions_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
18 | $table->string('name')->unique('permissions_name_unique');
19 | $table->string('display_name')->nullable();
20 | $table->string('description')->nullable();
21 | $table->smallInteger('level')->unsigned()->nullable()->default(0);
22 | $table->string('icon', 20)->nullable();
23 | $table->integer('parent_id')->unsigned()->nullable()->default(0);
24 | $table->boolean('is_show')->nullable()->default(1);
25 | $table->smallInteger('order_num')->nullable()->default(0);
26 | $table->timestamps();
27 | });
28 | }
29 |
30 |
31 | /**
32 | * Reverse the migrations.
33 | *
34 | * @return void
35 | */
36 | public function down()
37 | {
38 | Schema::drop('admin_permissions');
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/database/migrations/2017_02_23_224830_create_admin_logger_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
18 | $table->integer('user_id')->unsigned()->default(0)->comment('用户id');
19 | $table->string('catalog', 10)->default('')->comment('类型');
20 | $table->string('url')->default('')->comment('url');
21 | $table->text('intro', 65535)->nullable()->comment('操作');
22 | $table->char('ip', 15)->default('127.0.0.1')->comment('操作ip');
23 | $table->integer('created_at')->unsigned()->default(0)->comment('操作时间');
24 | });
25 | }
26 |
27 |
28 | /**
29 | * Reverse the migrations.
30 | *
31 | * @return void
32 | */
33 | public function down()
34 | {
35 | Schema::drop('admin_logger');
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/database/migrations/2017_03_06_204828_create_admin_message_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
18 | $table->string('title', 200)->nullable()->comment('标题');
19 | $table->integer('from_uid')->unsigned()->nullable()->default(0)->comment('发自');
20 | $table->integer('to_uid')->unsigned()->nullable()->default(0)->comment('发送至');
21 | $table->string('content', 500)->nullable()->comment('内容');
22 | $table->boolean('is_read')->nullable()->default(0)->comment('0未读 1已读');
23 | $table->integer('send_at')->unsigned()->nullable()->default(0)->comment('发送时间');
24 | $table->integer('created_at')->unsigned()->nullable()->default(0)->comment('创建时间');
25 | });
26 | }
27 |
28 |
29 | /**
30 | * Reverse the migrations.
31 | *
32 | * @return void
33 | */
34 | public function down()
35 | {
36 | Schema::drop('admin_message');
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/database/migrations/2017_03_17_094811_create_category_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
18 | $table->integer('parent_id')->unsigned()->nullable()->default(0)->comment('类型');
19 | $table->string('name', 30)->nullable()->comment('名称');
20 | $table->smallInteger('order_num')->unsigned()->nullable();
21 | $table->timestamps();
22 | });
23 | }
24 |
25 |
26 | /**
27 | * Reverse the migrations.
28 | *
29 | * @return void
30 | */
31 | public function down()
32 | {
33 | Schema::drop('category');
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/database/migrations/2017_03_17_094930_create_articles_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
18 | $table->smallInteger('type')->unsigned()->nullable()->default(0)->comment('类型');
19 | $table->integer('category_id')->unsigned()->nullable()->default(0)->comment('分类id');
20 | $table->string('picture', 100)->nullable()->default('')->comment('封面');
21 | $table->string('title', 50)->nullable();
22 | $table->string('tags', 200)->nullable();
23 | $table->string('info', 500)->default('')->comment('简介');
24 | $table->text('content', 65535)->nullable();
25 | $table->integer('view_num')->unsigned()->nullable()->default(0)->comment('浏览数量');
26 | $table->boolean('is_hot')->nullable()->default(0);
27 | $table->timestamps();
28 | });
29 | }
30 |
31 |
32 | /**
33 | * Reverse the migrations.
34 | *
35 | * @return void
36 | */
37 | public function down()
38 | {
39 | Schema::drop('articles');
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/database/migrations/2017_03_20_114914_create_admin_roles_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
18 | $table->string('name', 50)->unique('roles_name_unique');
19 | $table->string('display_name', 50)->nullable();
20 | $table->string('description', 100)->nullable();
21 | $table->timestamps();
22 | });
23 | }
24 |
25 |
26 | /**
27 | * Reverse the migrations.
28 | *
29 | * @return void
30 | */
31 | public function down()
32 | {
33 | Schema::drop('admin_roles');
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/database/migrations/2017_03_20_114921_create_admin_role_user_table.php:
--------------------------------------------------------------------------------
1 | integer('user_id')->unsigned();
18 | $table->integer('role_id')->unsigned()->index('role_user_role_id_foreign');
19 | $table->primary(['user_id','role_id']);
20 | });
21 | }
22 |
23 |
24 | /**
25 | * Reverse the migrations.
26 | *
27 | * @return void
28 | */
29 | public function down()
30 | {
31 | Schema::drop('admin_role_user');
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/database/seeds/AdminPermissionsTableSeeder.php:
--------------------------------------------------------------------------------
1 | call(UsersTableSeeder::class);
15 | $this->call(AdminPermissionsTableSeeder::class);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/npm-debug.log.1758792466:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/npm-debug.log.1758792466
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "scripts": {
4 | "dev": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
5 | "watch": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
6 | "hot": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
7 | "production": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
8 | },
9 | "devDependencies": {
10 | "axios": "^0.15.3",
11 | "babel-plugin-transform-object-rest-spread": "^6.23.0",
12 | "bootstrap-sass": "^3.3.7",
13 | "bootstrap3": "^3.3.5",
14 | "bootstrap3-dialog": "^1.35.3",
15 | "cross-env": "^4.0.0",
16 | "css-loader": "^0.26.1",
17 | "eslint": "^3.16.1",
18 | "font-awesome": "^4.7.0",
19 | "ionicons": "^3.0.0",
20 | "jquery": "^3.1.1",
21 | "laravel-mix": "^0.7.2",
22 | "lodash": "^4.17.4",
23 | "sweetalert2": "^6.4.4",
24 | "toastr": "^2.1.2",
25 | "vue": "^2.1.10",
26 | "vue-msgbox": "^0.2.14",
27 | "vue-router": "^2.3.0",
28 | "vuex": "^2.2.1"
29 | },
30 | "dependencies": {
31 | "admin-lte": "^2.3.11",
32 | "bootstrap3-dialog": "^1.35.3",
33 | "css-loader": "^0.26.1",
34 | "gulp": "^3.9.1",
35 | "icheck": "^1.0.2",
36 | "vue-core-image-upload": "^2.0.5",
37 | "vue-msgbox": "^0.2.14"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 | ./tests/Feature
14 |
15 |
16 |
17 | ./tests/Unit
18 |
19 |
20 |
21 |
22 | ./app
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/public/.htaccess:
--------------------------------------------------------------------------------
1 |
2 |
3 | Options -MultiViews
4 |
5 |
6 | RewriteEngine On
7 |
8 | # Redirect Trailing Slashes If Not A Folder...
9 | RewriteCond %{REQUEST_FILENAME} !-d
10 | RewriteRule ^(.*)/$ /$1 [L,R=301]
11 |
12 | # Handle Front Controller...
13 | RewriteCond %{REQUEST_FILENAME} !-d
14 | RewriteCond %{REQUEST_FILENAME} !-f
15 | RewriteRule ^ index.php [L]
16 |
17 | # Handle Authorization Header
18 | RewriteCond %{HTTP:Authorization} .
19 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
20 |
21 |
--------------------------------------------------------------------------------
/public/ckplayer/ckplayer.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/ckplayer.swf
--------------------------------------------------------------------------------
/public/ckplayer/share.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {embed src="贵站网址,在ckplayer/share.xml里修改/ckplayer/ckplayer.swf" flashvars="[$share]" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" allowFullscreen="true" type="application/x-shockwave-flash"}{/embed}
5 |
6 |
7 | 贵站网址/ckplayer/ckplayer.swf?[$share]
8 |
9 |
10 | f,my_url,my_pic,a
11 |
12 | ckplayer/share/
13 |
14 |
15 | 0
16 |
17 | c25cf02c-1705-412d-bd4b-77a10b380f08
18 |
19 |
20 |
21 | qqmb
22 |
qq.png
23 | 20,50
24 |
25 |
26 | sinaminiblog
27 |
sina.png
28 | 101,50
29 |
30 |
31 | qzone
32 |
qzone.png
33 | 182,50
34 |
35 |
36 | renren
37 |
rr.png
38 | 263,50
39 |
40 |
41 | kaixin001
42 |
kaixin001.png
43 | 20,85
44 |
45 |
46 | tianya
47 |
tianya.png
48 | 101,85
49 |
50 |
51 | feixin
52 |
feixin.png
53 | 182,85
54 |
55 |
56 | msn
57 |
msn.png
58 | 263,85
59 |
60 |
61 |
--------------------------------------------------------------------------------
/public/ckplayer/share/feixin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/feixin.png
--------------------------------------------------------------------------------
/public/ckplayer/share/google.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/google.png
--------------------------------------------------------------------------------
/public/ckplayer/share/kaixin001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/kaixin001.png
--------------------------------------------------------------------------------
/public/ckplayer/share/msn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/msn.png
--------------------------------------------------------------------------------
/public/ckplayer/share/qq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/qq.png
--------------------------------------------------------------------------------
/public/ckplayer/share/qq2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/qq2.png
--------------------------------------------------------------------------------
/public/ckplayer/share/qzone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/qzone.png
--------------------------------------------------------------------------------
/public/ckplayer/share/rr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/rr.png
--------------------------------------------------------------------------------
/public/ckplayer/share/sina.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/sina.png
--------------------------------------------------------------------------------
/public/ckplayer/share/sohu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/sohu.png
--------------------------------------------------------------------------------
/public/ckplayer/share/tianya.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/share/tianya.png
--------------------------------------------------------------------------------
/public/ckplayer/style.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/ckplayer/style.swf
--------------------------------------------------------------------------------
/public/css/web.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/css/web.css
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/favicon.ico
--------------------------------------------------------------------------------
/public/files/admin/avatar/201703061259131488776353.6614162.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/admin/avatar/201703061259131488776353.6614162.jpeg
--------------------------------------------------------------------------------
/public/files/admin/noavatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/admin/noavatar.png
--------------------------------------------------------------------------------
/public/files/avatar/201703061207151488773235.899627.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/avatar/201703061207151488773235.899627.jpeg
--------------------------------------------------------------------------------
/public/files/goods/201703091053581489028038.218693.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/goods/201703091053581489028038.218693.jpeg
--------------------------------------------------------------------------------
/public/files/goods/201703091055031489028103.0211654.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/goods/201703091055031489028103.0211654.jpeg
--------------------------------------------------------------------------------
/public/files/goods/201703091055541489028154.0356237.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/goods/201703091055541489028154.0356237.jpeg
--------------------------------------------------------------------------------
/public/files/images/1703121817451489313865.309730.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/images/1703121817451489313865.309730.png
--------------------------------------------------------------------------------
/public/files/images/201703121845401489315540.7034301.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/images/201703121845401489315540.7034301.jpeg
--------------------------------------------------------------------------------
/public/files/images/201703121939221489318762.2808963.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/images/201703121939221489318762.2808963.png
--------------------------------------------------------------------------------
/public/files/images/201703131106051489374365.2808593.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/images/201703131106051489374365.2808593.jpeg
--------------------------------------------------------------------------------
/public/files/images/201703131106371489374397.0485541.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/images/201703131106371489374397.0485541.jpeg
--------------------------------------------------------------------------------
/public/files/images/201703141748461489484926.7231601.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/images/201703141748461489484926.7231601.jpeg
--------------------------------------------------------------------------------
/public/files/images/201703141756041489485364.5945783.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/images/201703141756041489485364.5945783.jpeg
--------------------------------------------------------------------------------
/public/files/images/201703141822181489486938.414744.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/images/201703141822181489486938.414744.jpeg
--------------------------------------------------------------------------------
/public/files/images/201703141828341489487314.975159.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/images/201703141828341489487314.975159.jpeg
--------------------------------------------------------------------------------
/public/files/images/201703141835241489487724.0801528.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/images/201703141835241489487724.0801528.jpeg
--------------------------------------------------------------------------------
/public/files/nopic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/files/nopic.png
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/public/fonts/icomoon.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/icomoon.eot
--------------------------------------------------------------------------------
/public/fonts/icomoon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/icomoon.ttf
--------------------------------------------------------------------------------
/public/fonts/icomoon.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/icomoon.woff
--------------------------------------------------------------------------------
/public/fonts/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/iconfont.eot
--------------------------------------------------------------------------------
/public/fonts/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/iconfont.ttf
--------------------------------------------------------------------------------
/public/fonts/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/iconfont.woff
--------------------------------------------------------------------------------
/public/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/ionicons.eot
--------------------------------------------------------------------------------
/public/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/public/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/ionicons.woff
--------------------------------------------------------------------------------
/public/fonts/ionicons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/fonts/ionicons.woff2
--------------------------------------------------------------------------------
/public/images/32px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/32px.png
--------------------------------------------------------------------------------
/public/images/40px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/40px.png
--------------------------------------------------------------------------------
/public/images/about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/about.png
--------------------------------------------------------------------------------
/public/images/admin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/admin.png
--------------------------------------------------------------------------------
/public/images/aero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/aero.png
--------------------------------------------------------------------------------
/public/images/aero@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/aero@2x.png
--------------------------------------------------------------------------------
/public/images/archives.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/archives.png
--------------------------------------------------------------------------------
/public/images/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/bg.jpg
--------------------------------------------------------------------------------
/public/images/bg_top_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/bg_top_menu.png
--------------------------------------------------------------------------------
/public/images/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/blue.png
--------------------------------------------------------------------------------
/public/images/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/blue@2x.png
--------------------------------------------------------------------------------
/public/images/boxed-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/boxed-bg.jpg
--------------------------------------------------------------------------------
/public/images/flat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/flat.png
--------------------------------------------------------------------------------
/public/images/flat@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/flat@2x.png
--------------------------------------------------------------------------------
/public/images/futurico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/futurico.png
--------------------------------------------------------------------------------
/public/images/futurico@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/futurico@2x.png
--------------------------------------------------------------------------------
/public/images/gotop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/gotop.png
--------------------------------------------------------------------------------
/public/images/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/green.png
--------------------------------------------------------------------------------
/public/images/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/green@2x.png
--------------------------------------------------------------------------------
/public/images/grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/grey.png
--------------------------------------------------------------------------------
/public/images/grey@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/grey@2x.png
--------------------------------------------------------------------------------
/public/images/headerbg6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/headerbg6.jpg
--------------------------------------------------------------------------------
/public/images/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/home.png
--------------------------------------------------------------------------------
/public/images/line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/line.png
--------------------------------------------------------------------------------
/public/images/line@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/line@2x.png
--------------------------------------------------------------------------------
/public/images/links.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/links.png
--------------------------------------------------------------------------------
/public/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/logo.png
--------------------------------------------------------------------------------
/public/images/minimal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/minimal.png
--------------------------------------------------------------------------------
/public/images/minimal@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/minimal@2x.png
--------------------------------------------------------------------------------
/public/images/noavatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/noavatar.png
--------------------------------------------------------------------------------
/public/images/nopic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/nopic.png
--------------------------------------------------------------------------------
/public/images/orange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/orange.png
--------------------------------------------------------------------------------
/public/images/orange@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/orange@2x.png
--------------------------------------------------------------------------------
/public/images/pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/pink.png
--------------------------------------------------------------------------------
/public/images/pink@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/pink@2x.png
--------------------------------------------------------------------------------
/public/images/polaris.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/polaris.png
--------------------------------------------------------------------------------
/public/images/polaris@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/polaris@2x.png
--------------------------------------------------------------------------------
/public/images/postload.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/postload.gif
--------------------------------------------------------------------------------
/public/images/purple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/purple.png
--------------------------------------------------------------------------------
/public/images/purple@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/purple@2x.png
--------------------------------------------------------------------------------
/public/images/red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/red.png
--------------------------------------------------------------------------------
/public/images/red@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/red@2x.png
--------------------------------------------------------------------------------
/public/images/square.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/square.png
--------------------------------------------------------------------------------
/public/images/square@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/square@2x.png
--------------------------------------------------------------------------------
/public/images/throbber.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/throbber.gif
--------------------------------------------------------------------------------
/public/images/works.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/works.png
--------------------------------------------------------------------------------
/public/images/yellow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/yellow.png
--------------------------------------------------------------------------------
/public/images/yellow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/public/images/yellow@2x.png
--------------------------------------------------------------------------------
/public/index.php:
--------------------------------------------------------------------------------
1 |
8 | */
9 |
10 | /*
11 | |--------------------------------------------------------------------------
12 | | Register The Auto Loader
13 | |--------------------------------------------------------------------------
14 | |
15 | | Composer provides a convenient, automatically generated class loader for
16 | | our application. We just need to utilize it! We'll simply require it
17 | | into the script here so that we don't have to worry about manual
18 | | loading any of our classes later on. It feels nice to relax.
19 | |
20 | */
21 |
22 | require __DIR__.'/../bootstrap/autoload.php';
23 |
24 | /*
25 | |--------------------------------------------------------------------------
26 | | Turn On The Lights
27 | |--------------------------------------------------------------------------
28 | |
29 | | We need to illuminate PHP development, so let us turn on the lights.
30 | | This bootstraps the framework and gets it ready for use, then it
31 | | will load up this application so that we can run it and send
32 | | the responses back to the browser and delight our users.
33 | |
34 | */
35 |
36 | $app = require_once __DIR__.'/../bootstrap/app.php';
37 |
38 | /*
39 | |--------------------------------------------------------------------------
40 | | Run The Application
41 | |--------------------------------------------------------------------------
42 | |
43 | | Once we have the application, we can handle the incoming request
44 | | through the kernel, and send the associated response back to
45 | | the client's browser allowing them to enjoy the creative
46 | | and wonderful application we have prepared for them.
47 | |
48 | */
49 |
50 | $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
51 |
52 | $response = $kernel->handle(
53 | $request = Illuminate\Http\Request::capture()
54 | );
55 |
56 | $response->send();
57 |
58 | $kernel->terminate($request, $response);
59 |
--------------------------------------------------------------------------------
/public/mix-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "/js/admin.js": "/js/admin.js",
3 | "/js/web.js": "/js/web.js",
4 | "/css/admin.css": "/css/admin.css",
5 | "/js/admin/admin.js": "/js/admin/admin.js",
6 | "/css/web.css": "/css/web.css"
7 | }
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/public/test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ckplayer只调用html5播放器
6 |
7 |
8 |
9 |
10 |
20 |
21 |
--------------------------------------------------------------------------------
/public/web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/public/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | ## 简介
2 |
3 | 这是一个laravel5.4+vue2.0构建的后台管理系统,主题是AdminLte.主要功能包括权限树管理,角色管理,用户管理,操作日志等。[博客](https://www.woniubiji.com/)
4 |
5 | ###用户管理
6 |
7 | 
8 |
9 | ####消息发送
10 |
11 | > NOTE:需要安装php的swoole模块和redis服务。简单的websocket消息推送,在流程场景里有用。
12 |
13 |
14 | 
15 |
16 | 
17 |
18 | ###权限管理
19 |
20 | 
21 |
22 | ###角色管理
23 |
24 | 
25 |
26 | ###操作日志
27 |
28 | 
29 |
30 | ###新增博客
31 |
32 | 两天简单撸了个博客还没有评论功能,界面扒的别人的,设计天赋有限。
33 |
34 | 
35 |
36 | 
37 |
38 | 
39 |
40 |
41 | ###前端vue权限方法,can('别名')
42 |
43 | ```
44 | v-if="can('admin.user.create')"
45 | ```
46 |
47 |
48 | ###启动swoole websocket服务
49 |
50 | ```
51 | php artisan swoole start
52 | ```
53 |
54 | websocket连接储存在Store模块里
55 |
56 | ```
57 | this.$store.state.websocket
58 | ```
59 |
60 | ###日志记录
61 |
62 | 采用laravel事件机制
63 |
64 | ```
65 | Event::fire(new AdminLogger('delete', "删除了后台用户[{$user->username}]"));
66 | ```
67 |
--------------------------------------------------------------------------------
/resources/assets/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/.DS_Store
--------------------------------------------------------------------------------
/resources/assets/fonts/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/fonts/iconfont.eot
--------------------------------------------------------------------------------
/resources/assets/fonts/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/fonts/iconfont.ttf
--------------------------------------------------------------------------------
/resources/assets/fonts/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/fonts/iconfont.woff
--------------------------------------------------------------------------------
/resources/assets/images/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/.DS_Store
--------------------------------------------------------------------------------
/resources/assets/images/about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/about.png
--------------------------------------------------------------------------------
/resources/assets/images/admin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/admin.png
--------------------------------------------------------------------------------
/resources/assets/images/akina.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/akina.png
--------------------------------------------------------------------------------
/resources/assets/images/archives.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/archives.png
--------------------------------------------------------------------------------
/resources/assets/images/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/bg.jpg
--------------------------------------------------------------------------------
/resources/assets/images/bg_top_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/bg_top_menu.png
--------------------------------------------------------------------------------
/resources/assets/images/bilibili.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/bilibili.png
--------------------------------------------------------------------------------
/resources/assets/images/cd-arrow.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
21 |
--------------------------------------------------------------------------------
/resources/assets/images/deafult-works.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/deafult-works.jpg
--------------------------------------------------------------------------------
/resources/assets/images/default.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/default.jpg
--------------------------------------------------------------------------------
/resources/assets/images/douban.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/douban.png
--------------------------------------------------------------------------------
/resources/assets/images/github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/github.png
--------------------------------------------------------------------------------
/resources/assets/images/gotop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/gotop.png
--------------------------------------------------------------------------------
/resources/assets/images/headerbg6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/headerbg6.jpg
--------------------------------------------------------------------------------
/resources/assets/images/heart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/heart.png
--------------------------------------------------------------------------------
/resources/assets/images/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/home.png
--------------------------------------------------------------------------------
/resources/assets/images/links.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/links.png
--------------------------------------------------------------------------------
/resources/assets/images/lofter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/lofter.png
--------------------------------------------------------------------------------
/resources/assets/images/login_loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/login_loading.gif
--------------------------------------------------------------------------------
/resources/assets/images/loginbg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/loginbg.jpg
--------------------------------------------------------------------------------
/resources/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/logo.png
--------------------------------------------------------------------------------
/resources/assets/images/noavatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/noavatar.png
--------------------------------------------------------------------------------
/resources/assets/images/nopic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/nopic.png
--------------------------------------------------------------------------------
/resources/assets/images/postload.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/postload.gif
--------------------------------------------------------------------------------
/resources/assets/images/qq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/qq.png
--------------------------------------------------------------------------------
/resources/assets/images/qzone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/qzone.png
--------------------------------------------------------------------------------
/resources/assets/images/sina.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/sina.png
--------------------------------------------------------------------------------
/resources/assets/images/wechat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/wechat.png
--------------------------------------------------------------------------------
/resources/assets/images/works.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/works.png
--------------------------------------------------------------------------------
/resources/assets/images/youku.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hellomiao/laravel-vue-admin/b6ea8391bd5fbd595509cb159bef9a943ad915ab/resources/assets/images/youku.png
--------------------------------------------------------------------------------
/resources/assets/js/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/resources/assets/js/admin-vuex/actions.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by yangchunrun on 17/3/2.
3 | */
4 | export const websocket = ({ commit }) => commit('websocket')
--------------------------------------------------------------------------------
/resources/assets/js/admin-vuex/mutations.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by yangchunrun on 17/3/2.
3 | */
4 | export const websocket = (state) => {
5 | var wsServer = 'ws://127.0.0.1:9501?uid='+window.User.id;
6 | //调用websocket对象建立连接:
7 | //参数:ws/wss(加密)://ip:port (字符串)
8 | var websocket = new WebSocket(wsServer);
9 | return state.websocket = websocket;
10 | }
--------------------------------------------------------------------------------
/resources/assets/js/admin-vuex/store.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by yangchunrun on 17/3/2.
3 | */
4 | import Vue from 'vue';
5 | import Vuex from 'vuex';
6 | import * as actions from './actions.js';
7 | import * as mutations from './mutations.js';
8 |
9 | Vue.use(Vuex);
10 |
11 | const state = {
12 | websocket:Object,
13 | uid:window.User.id,
14 | };
15 |
16 | export default new Vuex.Store({
17 | state,
18 | actions,
19 | mutations
20 | });
--------------------------------------------------------------------------------
/resources/assets/js/bootstrap.js:
--------------------------------------------------------------------------------
1 |
2 | window._ = require('lodash');
3 |
4 | /**
5 | * We'll load jQuery and the Bootstrap jQuery plugin which provides support
6 | * for JavaScript based Bootstrap features such as modals and tabs. This
7 | * code may be modified to fit the specific needs of your application.
8 | */
9 |
10 | window.$ = window.jQuery = require('jquery');
11 |
12 | require('bootstrap-sass');
13 |
14 | /**
15 | * Vue is a modern JavaScript library for building interactive web interfaces
16 | * using reactive data binding and reusable components. Vue's API is clean
17 | * and simple, leaving you to focus on building your next great project.
18 | */
19 |
20 | window.Vue = require('vue');
21 |
22 | /**
23 | * We'll load the axios HTTP library which allows us to easily issue requests
24 | * to our Laravel back-end. This library automatically handles sending the
25 | * CSRF token as a header based on the value of the "XSRF" token cookie.
26 | */
27 |
28 | window.axios = require('axios');
29 |
30 | window.axios.defaults.headers.common = {
31 | 'X-CSRF-TOKEN': window.Laravel.csrfToken,
32 | 'X-Requested-With': 'XMLHttpRequest'
33 | };
34 |
35 | /**
36 | * Echo exposes an expressive API for subscribing to channels and listening
37 | * for events that are broadcast by Laravel. Echo and event broadcasting
38 | * allows your team to easily build robust real-time web applications.
39 | */
40 |
41 | // import Echo from "laravel-echo"
42 |
43 | // window.Echo = new Echo({
44 | // broadcaster: 'pusher',
45 | // key: 'your-pusher-key'
46 | // });
47 |
--------------------------------------------------------------------------------
/resources/assets/js/components/Example.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Example Component
7 |
8 |
9 | I'm an example component!
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
24 |
--------------------------------------------------------------------------------
/resources/assets/js/components/admin/Editor.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/resources/assets/js/components/admin/TagEditor.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/resources/assets/js/util.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by yangchunrun on 17/2/23.
3 | */
4 | exports.install = function (Vue, options) {
5 | Vue.http.options.headers = {
6 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
7 | };
8 | Vue.http.options.emulateJSON = true;
9 | Vue.prototype.callHttp = function (method, url, data, callback) {
10 | var params = {_token: Laravel.csrfToken};
11 | if (typeof data !== "undefined") {
12 | params = Object.assign(data, params);
13 | }
14 | if (method == 'GET') {
15 | var get = params;
16 | }
17 |
18 | Vue.http({url: url, method: method, body: params, params: get})
19 | .then(response => {
20 | var responseJson = response.data;
21 | this.func = callback;
22 | this.func(responseJson);
23 |
24 | }, response => {
25 | var responseJson = response.data;
26 | if (responseJson.error == 'Unauthenticated.') {
27 | location.href = '/admin/login';
28 | } else {
29 | var errorStr = '';
30 | for (var item in responseJson) {
31 | errorStr += responseJson[item][0] + ";";
32 | }
33 | toastr.error(errorStr, '出错啦!');
34 | }
35 | });
36 | }
37 | Vue.prototype.can = function (as) {
38 | var permissions = window.Permissions;
39 | if ($.inArray(as, permissions)>-1 || window.User.id == 1) {
40 | return true;
41 | }
42 | return false;
43 | }
44 | };
--------------------------------------------------------------------------------
/resources/assets/js/views/admin/Error.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
403
4 |
5 |
6 |
没有权限.
7 |
8 |
9 | 没有权限.
10 | 此时你可以返回 首页 或者返回 上一页 .
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/resources/assets/js/views/admin/layouts/Main.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
44 |
45 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/resources/assets/js/views/admin/layouts/Parent.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/resources/assets/js/views/admin/role/Create.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/resources/assets/js/views/web/layouts/Main.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/resources/assets/js/views/web/layouts/Parent.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/resources/assets/js/views/web/login.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/resources/assets/js/vuex/actions.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by yangchunrun on 17/3/2.
3 | */
4 | export const websocket = ({ commit }) => commit('websocket')
--------------------------------------------------------------------------------
/resources/assets/js/vuex/mutations.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by yangchunrun on 17/3/2.
3 | */
4 | export const websocket = (state) => {
5 | var wsServer = 'ws://127.0.0.1:9501?uid='+window.User.id;
6 | //调用websocket对象建立连接:
7 | //参数:ws/wss(加密)://ip:port (字符串)
8 | var websocket = new WebSocket(wsServer);
9 | return state.websocket = websocket;
10 | }
--------------------------------------------------------------------------------
/resources/assets/js/vuex/store.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by yangchunrun on 17/3/2.
3 | */
4 | import Vue from 'vue';
5 | import Vuex from 'vuex';
6 | import * as actions from './actions.js';
7 | import * as mutations from './mutations.js';
8 |
9 | Vue.use(Vuex);
10 |
11 | const state = {
12 |
13 | };
14 |
15 | export default new Vuex.Store({
16 | state,
17 | actions,
18 | mutations
19 | });
--------------------------------------------------------------------------------
/resources/assets/js/web-routes.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by yangchunrun on 17/2/22.
3 | */
4 | import Main from './views/web/layouts/Main.vue'
5 | import Parent from './views/web/layouts/Parent.vue'
6 |
7 | export default [
8 | {
9 | path: '/',
10 | component: Main,
11 | name: '权限列表',
12 | component: require('./views/web/Login.vue'),
13 |
14 | },
15 | {
16 | path: '/login',
17 | component: Main,
18 | name: '权限列表',
19 | component: require('./views/web/Login.vue'),
20 | }
21 | ]
22 |
23 |
24 |
--------------------------------------------------------------------------------
/resources/assets/js/web-util.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by yangchunrun on 17/2/23.
3 | */
4 | exports.install = function (Vue, options) {
5 | Vue.http.options.headers = {
6 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
7 | };
8 | Vue.http.options.emulateJSON = true;
9 | Vue.prototype.callHttp = function (method, url, data, callback) {
10 | var params = {_token: Laravel.csrfToken};
11 | if (typeof data !== "undefined") {
12 | params = Object.assign(data, params);
13 | }
14 | if (method == 'GET') {
15 | var get = params;
16 | }
17 |
18 | Vue.http({url: url, method: method, body: params, params: get})
19 | .then(response => {
20 | var responseJson = response.data;
21 | this.func = callback;
22 | this.func(responseJson);
23 |
24 | }, response => {
25 | var responseJson = response.data;
26 |
27 | });
28 | }
29 |
30 | };
--------------------------------------------------------------------------------
/resources/assets/js/web.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by yangchunrun on 17/3/12.
3 | */
4 |
5 |
6 | /**
7 | * First we will load all of this project's JavaScript dependencies which
8 | * includes Vue and other libraries. It is a great starting point when
9 | * building robust, powerful web applications using Vue and Laravel.
10 | */
11 | import util from './util.js';
12 | import store from './vuex/store.js';
13 | import routes from './web-routes.js';
14 |
15 | require('./bootstrap');
16 |
17 | import VueRouter from 'vue-router';
18 | import App from './App.vue';
19 | import VueResource from 'vue-resource';
20 | import VueProgressBar from 'vue-progressbar';
21 |
22 |
23 |
24 | Vue.use(VueRouter);
25 | Vue.use(VueResource);
26 | Vue.use(util);
27 |
28 | Vue.use(VueProgressBar, {
29 | color: '#00a65a',
30 | failedColor: 'red',
31 | height: '2px'
32 | })
33 |
34 | const router = new VueRouter({
35 | mode: 'history',
36 | base: __dirname,
37 | linkActiveClass: 'active',
38 | routes: routes
39 | });
40 |
41 |
42 |
43 |
44 | // 4. 创建和挂载根实例。
45 | // 记得要通过 router 配置参数注入路由,
46 | // 从而让整个应用都有路由功能
47 | const app = new Vue(Vue.util.extend({ router,store},App)).$mount('#app');
48 |
--------------------------------------------------------------------------------
/resources/assets/sass/_variables.scss:
--------------------------------------------------------------------------------
1 |
2 | // Body
3 | $body-bg: #f5f8fa;
4 |
5 | // Borders
6 | $laravel-border-color: darken($body-bg, 10%);
7 | $list-group-border: $laravel-border-color;
8 | $navbar-default-border: $laravel-border-color;
9 | $panel-default-border: $laravel-border-color;
10 | $panel-inner-border: $laravel-border-color;
11 |
12 | // Brands
13 | $brand-primary: #3097D1;
14 | $brand-info: #8eb4cb;
15 | $brand-success: #2ab27b;
16 | $brand-warning: #cbb956;
17 | $brand-danger: #bf5329;
18 |
19 | // Typography
20 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
21 | $font-family-sans-serif: "Raleway", sans-serif;
22 | $font-size-base: 14px;
23 | $line-height-base: 1.6;
24 | $text-color: #636b6f;
25 |
26 | // Navbar
27 | $navbar-default-bg: #fff;
28 |
29 | // Buttons
30 | $btn-default-color: $text-color;
31 |
32 | // Inputs
33 | $input-border: lighten($text-color, 40%);
34 | $input-border-focus: lighten($brand-primary, 25%);
35 | $input-color-placeholder: lighten($text-color, 30%);
36 |
37 | // Panels
38 | $panel-default-heading-bg: #fff;
39 |
--------------------------------------------------------------------------------
/resources/assets/sass/admin.scss:
--------------------------------------------------------------------------------
1 | @import "node_modules/bootstrap3/dist/css/bootstrap.min";
2 | @import "node_modules/admin-lte/dist/css/AdminLTE.min";
3 | @import "node_modules/admin-lte/dist/css/skins/skin-red.min";
4 | @import "node_modules/font-awesome/scss/font-awesome";
5 | @import "node_modules/ionicons/dist/scss/ionicons";
6 | @import "node_modules/toastr/toastr";
7 | @import "node_modules/sweetalert/dist/sweetalert";
--------------------------------------------------------------------------------
/resources/assets/sass/app.scss:
--------------------------------------------------------------------------------
1 |
2 | // Fonts
3 | @import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);
4 |
5 | // Variables
6 | @import "variables";
7 |
8 | // Bootstrap
9 | @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
10 |
--------------------------------------------------------------------------------
/resources/assets/sass/web.scss:
--------------------------------------------------------------------------------
1 | @import "resources/assets/css/style";
--------------------------------------------------------------------------------
/resources/assets/tag-editor/js/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery-tag-editor",
3 | "description": "A powerful and lightweight tag editor plugin for jQuery.",
4 | "version": "1.0.20",
5 | "dependencies": {
6 | "jquery": ">=1.7",
7 | "caret": null
8 | },
9 | "homepage": "https://github.com/Pixabay/jQuery-tagEditor",
10 | "authors": [{
11 | "name": "Simon Steinberger",
12 | "url": "https://pixabay.com/users/Simon/",
13 | "email": "simon@pixabay.com"
14 | }],
15 | "keywords": [
16 | "tags",
17 | "keywords",
18 | "editor",
19 | "drag and drop",
20 | "editable",
21 | "edit"
22 | ],
23 | "licenses": [{
24 | "type": "MIT",
25 | "url": "http://www.opensource.org/licenses/mit-license.php"
26 | }],
27 | "ignore": [
28 | "bower.json",
29 | "demo.html",
30 | "readme.md",
31 | "tag-editor.jquery.json"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/resources/assets/tag-editor/js/jquery.caret.min.js:
--------------------------------------------------------------------------------
1 | // http://code.accursoft.com/caret - 1.3.3
2 | !function(e){e.fn.caret=function(e){var t=this[0],n="true"===t.contentEditable;if(0==arguments.length){if(window.getSelection){if(n){t.focus();var o=window.getSelection().getRangeAt(0),r=o.cloneRange();return r.selectNodeContents(t),r.setEnd(o.endContainer,o.endOffset),r.toString().length}return t.selectionStart}if(document.selection){if(t.focus(),n){var o=document.selection.createRange(),r=document.body.createTextRange();return r.moveToElementText(t),r.setEndPoint("EndToEnd",o),r.text.length}var e=0,c=t.createTextRange(),r=document.selection.createRange().duplicate(),a=r.getBookmark();for(c.moveToBookmark(a);0!==c.moveStart("character",-1);)e++;return e}return t.selectionStart?t.selectionStart:0}if(-1==e&&(e=this[n?"text":"val"]().length),window.getSelection)n?(t.focus(),window.getSelection().collapse(t.firstChild,e)):t.setSelectionRange(e,e);else if(document.body.createTextRange)if(n){var c=document.body.createTextRange();c.moveToElementText(t),c.moveStart("character",e),c.collapse(!0),c.select()}else{var c=t.createTextRange();c.move("character",e),c.select()}return n||t.focus(),e}}(jQuery);
3 |
--------------------------------------------------------------------------------
/resources/assets/tag-editor/js/tag-editor.jquery.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tag-editor",
3 | "title": "tagEditor",
4 | "description": "A powerful and lightweight tag editor plugin for jQuery.",
5 | "version": "1.0.20",
6 | "dependencies": {
7 | "jquery": ">=1.7",
8 | "caret": ">=1.3.2"
9 | },
10 | "keywords": [
11 | "tags",
12 | "keywords",
13 | "editor",
14 | "ui",
15 | "tagging",
16 | "jQuery"
17 | ],
18 | "author": {
19 | "name": "Simon Steinberger",
20 | "url": "https://pixabay.com/users/Simon/",
21 | "email": "simon@pixabay.com"
22 | },
23 | "licenses": [
24 | {
25 | "type": "MIT",
26 | "url": "http://www.opensource.org/licenses/mit-license.php"
27 | }
28 | ],
29 | "homepage": "https://goodies.pixabay.com/jquery/tag-editor/demo.html",
30 | "demo": "https://goodies.pixabay.com/jquery/tag-editor/demo.html"
31 | }
--------------------------------------------------------------------------------
/resources/lang/en/auth.php:
--------------------------------------------------------------------------------
1 | 'These credentials do not match our records.',
17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/resources/lang/en/pagination.php:
--------------------------------------------------------------------------------
1 | '« Previous',
17 | 'next' => 'Next »',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/resources/lang/en/passwords.php:
--------------------------------------------------------------------------------
1 | 'Passwords must be at least six characters and match the confirmation.',
17 | 'reset' => 'Your password has been reset!',
18 | 'sent' => 'We have e-mailed your password reset link!',
19 | 'token' => 'This password reset token is invalid.',
20 | 'user' => "We can't find a user with that e-mail address.",
21 |
22 | ];
23 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/ar/general.php:
--------------------------------------------------------------------------------
1 | 'جميع',
5 | 'date' => 'تاريخ',
6 | 'empty-logs' => 'قائمة سجلات فارغة!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/ar/levels.php:
--------------------------------------------------------------------------------
1 | 'الجميع',
5 | 'emergency' => 'حالات الطوارئ',
6 | 'alert' => 'إنذار',
7 | 'critical' => 'حرج',
8 | 'error' => 'خطأ',
9 | 'warning' => 'تحذير',
10 | 'notice' => 'ملاحظة',
11 | 'info' => 'المعلومات',
12 | 'debug' => 'التصحيح',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/bg/general.php:
--------------------------------------------------------------------------------
1 | 'Всички',
5 | 'date' => 'Дата',
6 | 'empty-logs' => 'Не са намерени логове!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/bg/levels.php:
--------------------------------------------------------------------------------
1 | 'Всички',
5 | 'emergency' => 'Emergency',
6 | 'alert' => 'Alert',
7 | 'critical' => 'Critical',
8 | 'error' => 'Error',
9 | 'warning' => 'Warning',
10 | 'notice' => 'Notice',
11 | 'info' => 'Info',
12 | 'debug' => 'Debug',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/de/general.php:
--------------------------------------------------------------------------------
1 | 'Alle',
5 | 'date' => 'Datum',
6 | 'empty-logs' => 'Keine Log Dateien gefunden!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/de/levels.php:
--------------------------------------------------------------------------------
1 | 'Alle',
5 | 'emergency' => 'Notfall',
6 | 'alert' => 'Alarm',
7 | 'critical' => 'Kritisch',
8 | 'error' => 'Fehler',
9 | 'warning' => 'Warnung',
10 | 'notice' => 'Hinweis',
11 | 'info' => 'Info',
12 | 'debug' => 'Debug',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/en/general.php:
--------------------------------------------------------------------------------
1 | 'All',
5 | 'date' => 'Date',
6 | 'empty-logs' => 'The list of logs is empty!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/en/levels.php:
--------------------------------------------------------------------------------
1 | 'All',
5 | 'emergency' => 'Emergency',
6 | 'alert' => 'Alert',
7 | 'critical' => 'Critical',
8 | 'error' => 'Error',
9 | 'warning' => 'Warning',
10 | 'notice' => 'Notice',
11 | 'info' => 'Info',
12 | 'debug' => 'Debug',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/es/general.php:
--------------------------------------------------------------------------------
1 | 'Todos',
5 | 'date' => 'Fecha',
6 | 'empty-logs' => 'La lista del log está vacía!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/es/levels.php:
--------------------------------------------------------------------------------
1 | 'Todos',
5 | 'emergency' => 'Emergencia',
6 | 'alert' => 'Alerta',
7 | 'critical' => 'Criticos',
8 | 'error' => 'Errores',
9 | 'warning' => 'Advertencia',
10 | 'notice' => 'Aviso',
11 | 'info' => 'Info',
12 | 'debug' => 'Debug',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/et/general.php:
--------------------------------------------------------------------------------
1 | 'Kõik',
5 | 'date' => 'Kuupäev',
6 | 'empty-logs' => 'Logide nimekiri on tühi!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/et/levels.php:
--------------------------------------------------------------------------------
1 | 'Kõik',
5 | 'emergency' => 'Erakorraline',
6 | 'alert' => 'Häire',
7 | 'critical' => 'Kriitiline',
8 | 'error' => 'Viga',
9 | 'warning' => 'Hoiatus',
10 | 'notice' => 'Teade',
11 | 'info' => 'Info',
12 | 'debug' => 'Silumine',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/fa/general.php:
--------------------------------------------------------------------------------
1 | 'همه',
5 | 'date' => 'تاریخ',
6 | 'empty-logs' => 'The list of logs is empty!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/fa/levels.php:
--------------------------------------------------------------------------------
1 | 'همه',
5 | 'emergency' => 'اورژانسی',
6 | 'alert' => 'اخطار',
7 | 'critical' => 'بحرانی',
8 | 'error' => 'خطا',
9 | 'warning' => 'هشدار',
10 | 'notice' => 'اعلان',
11 | 'info' => 'اطلاعات',
12 | 'debug' => 'دیباگ',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/fr/general.php:
--------------------------------------------------------------------------------
1 | 'Tous',
5 | 'date' => 'Date',
6 | 'empty-logs' => 'La liste des logs est vide!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/fr/levels.php:
--------------------------------------------------------------------------------
1 | 'Tous',
5 | 'emergency' => 'Urgence',
6 | 'alert' => 'Alerte',
7 | 'critical' => 'Critique',
8 | 'error' => 'Erreur',
9 | 'warning' => 'Avertissement',
10 | 'notice' => 'Notice',
11 | 'info' => 'Info',
12 | 'debug' => 'Debug',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/hu/general.php:
--------------------------------------------------------------------------------
1 | 'Összes',
5 | 'date' => 'Dátum',
6 | 'empty-logs' => 'The list of logs is empty!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/hu/levels.php:
--------------------------------------------------------------------------------
1 | 'Összes',
5 | 'emergency' => 'Vészhelyzet',
6 | 'alert' => 'Riasztás',
7 | 'critical' => 'Kritikus',
8 | 'error' => 'Hiba',
9 | 'warning' => 'Figyelmeztetés',
10 | 'notice' => 'Értesítés',
11 | 'info' => 'Információ',
12 | 'debug' => 'Hibakeresés',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/hy/general.php:
--------------------------------------------------------------------------------
1 | 'Բոլորը',
5 | 'date' => 'Ամսաթիվ',
6 | 'empty-logs' => 'Լոգերի ցուցակը դատարկ է։',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/hy/levels.php:
--------------------------------------------------------------------------------
1 | 'Բոլորը',
5 | 'emergency' => 'Վթարային',
6 | 'alert' => 'Նախազգուշացում',
7 | 'critical' => 'Կրիտիկական',
8 | 'error' => 'Սխալ',
9 | 'warning' => 'Նախազգուշացում',
10 | 'notice' => 'Ծանուցում',
11 | 'info' => 'Տեղեկատվություն',
12 | 'debug' => 'Կարգաբերում',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/it/general.php:
--------------------------------------------------------------------------------
1 | 'Tutti',
5 | 'date' => 'Data',
6 | 'empty-logs' => 'L\'elenco dei log è vuoto!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/it/levels.php:
--------------------------------------------------------------------------------
1 | 'Tutti',
5 | 'emergency' => 'Emergenza',
6 | 'alert' => 'Allarme',
7 | 'critical' => 'Critico',
8 | 'error' => 'Errore',
9 | 'warning' => 'Avviso',
10 | 'notice' => 'Notifica',
11 | 'info' => 'Info',
12 | 'debug' => 'Debug',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/ko/general.php:
--------------------------------------------------------------------------------
1 | '전체',
5 | 'date' => '날짜',
6 | 'empty-logs' => '로그가 없습니다.',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/ko/levels.php:
--------------------------------------------------------------------------------
1 | '전체',
5 | 'emergency' => '긴급',
6 | 'alert' => '경고',
7 | 'critical' => '심각',
8 | 'error' => '오류',
9 | 'warning' => '주의',
10 | 'notice' => '알림',
11 | 'info' => '정보',
12 | 'debug' => '디버그',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/nl/general.php:
--------------------------------------------------------------------------------
1 | 'Alles',
5 | 'date' => 'Datum',
6 | 'empty-logs' => 'De lijst met logs is leeg!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/nl/levels.php:
--------------------------------------------------------------------------------
1 | 'Alle',
5 | 'emergency' => 'Noodgeval',
6 | 'alert' => 'Alarm',
7 | 'critical' => 'Cruciaal',
8 | 'error' => 'Error',
9 | 'warning' => 'Waarschuwing',
10 | 'notice' => 'Opmerking',
11 | 'info' => 'Informatie',
12 | 'debug' => 'Debug',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/pl/general.php:
--------------------------------------------------------------------------------
1 | 'Wszystkie',
5 | 'date' => 'Data',
6 | 'empty-logs' => 'The list of logs is empty!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/pl/levels.php:
--------------------------------------------------------------------------------
1 | 'Wszystkie',
5 | 'emergency' => 'Awaryjne',
6 | 'alert' => 'Alerty',
7 | 'critical' => 'Krytyczne',
8 | 'error' => 'Błędy',
9 | 'warning' => 'Ostrzeżenia',
10 | 'notice' => 'Warte uwagi',
11 | 'info' => 'Informacje',
12 | 'debug' => 'Debug',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/pt-BR/general.php:
--------------------------------------------------------------------------------
1 | 'Todos',
5 | 'date' => 'Data',
6 | 'empty-logs' => 'The list of logs is empty!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/pt-BR/levels.php:
--------------------------------------------------------------------------------
1 | 'Todos',
5 | 'emergency' => 'Emergência',
6 | 'alert' => 'Alerta',
7 | 'critical' => 'Crítico',
8 | 'error' => 'Erro',
9 | 'warning' => 'Aviso',
10 | 'notice' => 'Notícia',
11 | 'info' => 'Informação',
12 | 'debug' => 'Debug',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/ro/general.php:
--------------------------------------------------------------------------------
1 | 'Toate',
5 | 'date' => 'Dată',
6 | 'empty-logs' => 'The list of logs is empty!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/ro/levels.php:
--------------------------------------------------------------------------------
1 | 'Toate',
5 | 'emergency' => 'Urgență',
6 | 'alert' => 'Alertă',
7 | 'critical' => 'Critic',
8 | 'error' => 'Eroare',
9 | 'warning' => 'Pericol',
10 | 'notice' => 'Avertisment',
11 | 'info' => 'Informare',
12 | 'debug' => 'Depanare',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/ru/general.php:
--------------------------------------------------------------------------------
1 | 'Все',
5 | 'date' => 'Дата',
6 | 'empty-logs' => 'Список журналов пуст!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/ru/levels.php:
--------------------------------------------------------------------------------
1 | 'Все',
5 | 'emergency' => 'Аварийная',
6 | 'alert' => 'Предупреждение',
7 | 'critical' => 'Критический',
8 | 'error' => 'Ошибка',
9 | 'warning' => 'Предупреждение',
10 | 'notice' => 'Уведомление',
11 | 'info' => 'Информация',
12 | 'debug' => 'Отладка',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/sv/general.php:
--------------------------------------------------------------------------------
1 | 'Alla',
5 | 'date' => 'Datum',
6 | 'empty-logs' => 'Det finns inga loggar att visa.',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/sv/levels.php:
--------------------------------------------------------------------------------
1 | 'Alla',
5 | 'emergency' => 'Akut',
6 | 'alert' => 'Alarmerande',
7 | 'critical' => 'Kritisk',
8 | 'error' => 'Error',
9 | 'warning' => 'Varning',
10 | 'notice' => 'Notis',
11 | 'info' => 'Information',
12 | 'debug' => 'Debug',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/th/general.php:
--------------------------------------------------------------------------------
1 | 'ทั้งหมด',
5 | 'date' => 'วันที่',
6 | 'empty-logs' => 'ไม่มีรายการล็อก!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/th/levels.php:
--------------------------------------------------------------------------------
1 | 'ทั้งหมด',
5 | 'emergency' => 'ฉุกเฉิน',
6 | 'alert' => 'วิกฤติ',
7 | 'critical' => 'ร้ายแรง',
8 | 'error' => 'ข้อผิดพลาด',
9 | 'warning' => 'คำเตือน',
10 | 'notice' => 'ประกาศ',
11 | 'info' => 'ข้อมูล',
12 | 'debug' => 'ดีบัก',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/tr/general.php:
--------------------------------------------------------------------------------
1 | 'Tümü',
5 | 'date' => 'Tarih',
6 | 'empty-logs' => 'Günlük listesi boş!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/tr/levels.php:
--------------------------------------------------------------------------------
1 | 'Tümü',
5 | 'emergency' => 'Acil',
6 | 'alert' => 'Alarm',
7 | 'critical' => 'Kritik',
8 | 'error' => 'Hata',
9 | 'warning' => 'Uyarı',
10 | 'notice' => 'Bildirim',
11 | 'info' => 'Bilgi',
12 | 'debug' => 'Hata ayıklama',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/zh-TW/general.php:
--------------------------------------------------------------------------------
1 | '全部',
5 | 'date' => '日期',
6 | 'empty-logs' => '列表中沒有任何紀錄!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/zh-TW/levels.php:
--------------------------------------------------------------------------------
1 | '全部',
5 | 'emergency' => '緊急',
6 | 'alert' => '警報',
7 | 'critical' => '嚴重',
8 | 'error' => '錯誤',
9 | 'warning' => '警告',
10 | 'notice' => '注意',
11 | 'info' => '訊息',
12 | 'debug' => '除錯',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/zh/general.php:
--------------------------------------------------------------------------------
1 | '全部',
5 | 'date' => '日期',
6 | 'empty-logs' => '日志列表为空!',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/vendor/log-viewer/zh/levels.php:
--------------------------------------------------------------------------------
1 | '全部',
5 | 'emergency' => '危急',
6 | 'alert' => '紧急',
7 | 'critical' => '严重',
8 | 'error' => '错误',
9 | 'warning' => '警告',
10 | 'notice' => '注意',
11 | 'info' => '信息',
12 | 'debug' => '调试',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/zh_cn/auth.php:
--------------------------------------------------------------------------------
1 | '用户名或密码错误。',
17 | 'throttle' => '您的尝试登录次数过多. 请 :seconds 秒后再试。',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/resources/lang/zh_cn/pagination.php:
--------------------------------------------------------------------------------
1 | '« 上一页',
17 | 'next' => '下一页 »',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/resources/lang/zh_cn/passwords.php:
--------------------------------------------------------------------------------
1 | '密码至少是六位字符并且匹配。',
17 | 'reset' => '密码重置成功!',
18 | 'sent' => '密码重置邮件已发送!',
19 | 'token' => '密码重置令牌无效。',
20 | 'user' => '找不到该邮箱对应的用户。',
21 |
22 | ];
23 |
--------------------------------------------------------------------------------
/resources/views/admin/errors/403.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
403
5 |
6 |
7 |
没有权限.
8 |
9 |
10 | 没有权限.
11 | 此时你可以返回 首页 或者返回 上一页 .
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | n
--------------------------------------------------------------------------------
/resources/views/admin/errors/404.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.base')
2 |
3 | @section('title','404')
4 |
5 | @section('pageHeader','错误')
6 |
7 | @section('pageDesc','页面找不到')
8 |
9 | @section('content')
10 |
11 |
404
12 |
13 |
14 |
页面找不到.
15 |
16 |
17 | 页面没找到.
18 | 此时你可以返回 首页 .
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | @endsection
29 |
30 |
31 | @section('js')
32 |
33 | @endsection
--------------------------------------------------------------------------------
/resources/views/admin/errors/503.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Be right back.
5 |
6 |
7 |
8 |
39 |
40 |
41 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/resources/views/admin/index.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | @yield('title')|{{ config('app.name', 'Laravel') }}
12 |
13 |
14 |
15 |
16 |
17 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/resources/views/admin/layouts/main.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | @yield('title')|{{ config('app.name', 'Laravel') }}
12 |
13 |
14 |
15 |
16 |
17 |
23 |
24 |
25 |
26 | @include('admin.layouts.header')
27 | @include('admin.layouts.sidebar')
28 |
29 |
30 |
40 |
41 |
42 |
43 |
44 | @yield('content')
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/resources/views/admin/layouts/sidebar.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/views/articles/detail.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 | @section('title')
3 | @parent
4 | {{$articles->title}}
5 | @stop
6 | @section('content')
7 |
8 |
9 |
10 |
11 |
12 |
13 |
17 |
18 |
19 | {!! $articles->content !!}
20 |
21 |
22 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 | @endsection
--------------------------------------------------------------------------------
/resources/views/category.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 |
3 | @section('content')
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |