├── .bowerrc
├── .env.example
├── .gitattributes
├── .gitignore
├── README.md
├── app
├── Console
│ ├── Commands
│ │ └── Inspire.php
│ └── Kernel.php
├── Events
│ └── Event.php
├── Exceptions
│ └── Handler.php
├── Http
│ ├── Controllers
│ │ ├── Admin
│ │ │ ├── DashboardController.php
│ │ │ ├── PermissionController.php
│ │ │ ├── RoleController.php
│ │ │ └── UserController.php
│ │ ├── AdminController.php
│ │ ├── Auth
│ │ │ ├── ForgotPasswordController.php
│ │ │ ├── LoginController.php
│ │ │ ├── RegisterController.php
│ │ │ └── ResetPasswordController.php
│ │ ├── CaptchaController.php
│ │ ├── Controller.php
│ │ └── HomeController.php
│ ├── Kernel.php
│ ├── Middleware
│ │ ├── Admin.php
│ │ ├── Api.php
│ │ ├── AuthOnce.php
│ │ ├── Authenticate.php
│ │ ├── EncryptCookies.php
│ │ ├── RedirectIfAuthenticated.php
│ │ └── VerifyCsrfToken.php
│ ├── Requests
│ │ ├── Admin
│ │ │ ├── RoleRequest.php
│ │ │ └── UserRequest.php
│ │ ├── Request.php
│ │ └── UploadRequest.php
│ └── routes.php
├── Jobs
│ ├── Job.php
│ └── SendMail.php
├── Listeners
│ └── .gitkeep
├── Models
│ ├── Permission.php
│ ├── Role.php
│ └── User.php
├── Policies
│ └── .gitkeep
└── Providers
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
├── artisan
├── bootstrap
├── app.php
├── autoload.php
└── cache
│ └── .gitignore
├── bower.json
├── composer.json
├── config
├── app.php
├── auth.php
├── broadcasting.php
├── cache.php
├── captcha.php
├── compile.php
├── database.php
├── datatables.php
├── debugbar.php
├── entrust.php
├── filesystems.php
├── image.php
├── mail.php
├── queue.php
├── services.php
├── session.php
└── view.php
├── database
├── .gitignore
├── factories
│ └── ModelFactory.php
├── migrations
│ ├── .gitkeep
│ ├── 2017_05_23_114608_create_users_table.php
│ └── 2017_05_23_132446_entrust_setup_tables.php
└── seeds
│ ├── .gitkeep
│ ├── DatabaseSeeder.php
│ ├── RoleUserTableSeeder.php
│ ├── RolesTableSeeder.php
│ └── UsersTableSeeder.php
├── gulpfile.js
├── package.json
├── phpunit.xml
├── public
├── .htaccess
├── MP_verify_4TFEzxL69ppeinx8.txt
├── css
│ ├── admin.css
│ ├── custom-admin.css
│ ├── font
│ │ ├── summernote.eot
│ │ ├── summernote.ttf
│ │ └── summernote.woff
│ ├── images
│ │ ├── controls.png
│ │ └── loading.gif
│ ├── login.css
│ ├── main.css
│ ├── register.css
│ ├── site.css
│ └── swiper.css
├── favicon.ico
├── favicon
│ ├── android-icon-144x144.png
│ ├── android-icon-192x192.png
│ ├── android-icon-36x36.png
│ ├── android-icon-48x48.png
│ ├── android-icon-72x72.png
│ ├── android-icon-96x96.png
│ ├── apple-icon-114x114.png
│ ├── apple-icon-120x120.png
│ ├── apple-icon-144x144.png
│ ├── apple-icon-152x152.png
│ ├── apple-icon-180x180.png
│ ├── apple-icon-57x57.png
│ ├── apple-icon-60x60.png
│ ├── apple-icon-72x72.png
│ ├── apple-icon-76x76.png
│ ├── apple-icon-precomposed.png
│ ├── apple-icon.png
│ ├── browserconfig.xml
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon-96x96.png
│ ├── favicon.ico
│ ├── manifest.json
│ ├── ms-icon-144x144.png
│ ├── ms-icon-150x150.png
│ ├── ms-icon-310x310.png
│ └── ms-icon-70x70.png
├── fonts
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.svg
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ ├── glyphicons-halflings-regular.eot
│ ├── glyphicons-halflings-regular.svg
│ ├── glyphicons-halflings-regular.ttf
│ ├── glyphicons-halflings-regular.woff
│ └── glyphicons-halflings-regular.woff2
├── image
│ ├── 20170515143919_4092.jpg
│ ├── a.jpeg
│ ├── b.jpeg
│ ├── banner.png
│ ├── best.png
│ ├── beston.png
│ ├── cata.png
│ ├── check.png
│ ├── checkfail.png
│ ├── edit.png
│ ├── eye-black.png
│ ├── goback.png
│ ├── index.png
│ ├── jinb.png
│ ├── link.png
│ ├── login
│ │ ├── login.png
│ │ ├── logintitle.png
│ │ ├── pass.png
│ │ └── user.png
│ ├── login_img
│ │ ├── aaa.png
│ │ ├── body.png
│ │ ├── bodybg.png
│ │ ├── check.png
│ │ ├── checkon.png
│ │ ├── loginbg.png
│ │ ├── loginleft.png
│ │ ├── logintitle.png
│ │ ├── logo.png
│ │ ├── logo2.png
│ │ ├── logoa.png
│ │ ├── logoimg.jpg
│ │ ├── logoimg.png
│ │ ├── logoimg00.png
│ │ ├── logoimg1.png
│ │ ├── logoimgf.png
│ │ ├── pass.png
│ │ ├── transparent.png
│ │ ├── u37.png
│ │ ├── user.png
│ │ └── user.psd
│ ├── loginbg.png
│ ├── logo.png
│ ├── m1.png
│ ├── m2.png
│ ├── m3.png
│ ├── pro01.png
│ ├── pro02.png
│ ├── pro03.png
│ ├── search.png
│ ├── search1.png
│ ├── titlebg.png
│ ├── tongb.png
│ ├── yinb.png
│ ├── zhuce.png
│ ├── 一等奖.jpg
│ ├── 三等奖.jpg
│ └── 二等奖.jpg
├── img
│ ├── bootstrap-colorpicker
│ │ ├── alpha-horizontal.png
│ │ ├── alpha.png
│ │ ├── hue-horizontal.png
│ │ ├── hue.png
│ │ └── saturation.png
│ ├── cgpi.jpg
│ ├── logo_transparent.jpg
│ └── pattern.png
├── index.php
├── js
│ ├── admin.js
│ ├── jquery-1.8.3.min.js
│ ├── jquery.spinner.js
│ ├── site.js
│ ├── swiper.min.js
│ └── zepto.min.js
├── robots.txt
└── web.config
├── resources
├── assets
│ └── sass
│ │ └── app.scss
├── lang
│ ├── en
│ │ ├── auth.php
│ │ ├── pagination.php
│ │ ├── passwords.php
│ │ └── validation.php
│ └── zh-CN
│ │ ├── admin
│ │ ├── admin.php
│ │ ├── language.php
│ │ ├── modal.php
│ │ ├── nav.php
│ │ ├── permissions.php
│ │ ├── roles.php
│ │ └── users.php
│ │ ├── auth.php
│ │ ├── email.php
│ │ ├── pagination.php
│ │ ├── passwords.php
│ │ ├── photos.php
│ │ ├── reminders.php
│ │ ├── site
│ │ ├── login.php
│ │ ├── register.php
│ │ ├── site.php
│ │ ├── user.php
│ │ └── verify.php
│ │ ├── table.php
│ │ └── validation.php
└── views
│ ├── admin
│ ├── dashboard
│ │ └── index.blade.php
│ ├── layouts
│ │ ├── default_name_column.blade.php
│ │ └── modal.blade.php
│ ├── permission
│ │ ├── create_edit.blade.php
│ │ ├── delete.blade.php
│ │ └── index.blade.php
│ ├── role
│ │ ├── create_edit.blade.php
│ │ ├── delete.blade.php
│ │ └── index.blade.php
│ └── user
│ │ ├── create_edit.blade.php
│ │ ├── delete.blade.php
│ │ └── index.blade.php
│ ├── auth
│ ├── emails
│ │ └── password.blade.php
│ ├── login.blade.php
│ ├── passwords
│ │ ├── email.blade.php
│ │ └── reset.blade.php
│ └── register.blade.php
│ ├── emails
│ └── auth
│ │ ├── password.blade.php
│ │ └── verify.blade.php
│ ├── errors
│ └── 503.blade.php
│ ├── home.blade.php
│ └── layouts
│ ├── app.blade.php
│ └── guest.blade.php
├── server.php
├── storage
├── app
│ ├── .gitignore
│ └── public
│ │ └── .gitignore
├── debugbar
│ └── .gitignore
├── framework
│ ├── .gitignore
│ ├── cache
│ │ └── .gitignore
│ ├── sessions
│ │ └── .gitignore
│ └── views
│ │ └── .gitignore
└── logs
│ └── .gitignore
└── tests
├── ExampleTest.php
└── TestCase.php
/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "resources/assets/bower"
3 | }
4 |
--------------------------------------------------------------------------------
/.env.example:
--------------------------------------------------------------------------------
1 | APP_ENV=local
2 | APP_KEY=SomeRandomString
3 | APP_DEBUG=false
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=laravel-admin
11 | DB_USERNAME=dbname
12 | DB_PASSWORD=dbpassword
13 |
14 | CACHE_DRIVER=file
15 | SESSION_DRIVER=file
16 | QUEUE_DRIVER=database
17 |
18 | REDIS_HOST=127.0.0.1
19 | REDIS_PASSWORD=null
20 | REDIS_PORT=6379
21 |
22 | MAIL_DRIVER=smtp
23 | MAIL_HOST=mailtrap.io
24 | MAIL_PORT=2525
25 | MAIL_USERNAME=null
26 | MAIL_PASSWORD=null
27 | MAIL_ENCRYPTION=null
28 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.js linguist-language=php
3 | *.css linguist-language=php
4 | *.html linguist-language=php
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 | node_modules
3 | resources/assets/bower
4 | Homestead.yaml
5 | Homestead.json
6 | .env
7 | .DS_Store
8 | composer.lock
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Laravel Framework 5.5 Admin Site
2 |
3 | --------------------------------------------------------------------------------
4 |
5 | ## 系统要求
6 |
7 | ```
8 | PHP >= 7.1.3
9 | OpenSSL PHP Extension
10 | Mbstring PHP Extension
11 | PDO PHP Extension
12 | Tokenizer PHP Extension
13 | XML PHP Extension
14 | Ctype PHP Extension
15 | JSON PHP Extension
16 | Composer
17 | Node.js
18 | ```
19 |
20 | --------------------------------------------------------------------------------
21 |
22 | # 系统截图
23 |
24 | 
25 | 
26 |
27 | --------------------------------------------------------------------------------
28 | ## 系统功能
29 |
30 | - Laravel 5.5
31 | - 后台
32 |
33 | - 用户管理
34 | - 角色管理
35 | - 权限管理(空)
36 |
37 | - 前台
38 |
39 | - 用户登录
40 | - 用户注册
41 | - 首页(空)
42 |
43 | - 组件
44 |
45 | - UI框架:sb-admin-2
46 | - 权限:entrust
47 | - 表单:laravel-datatables
48 | - 图形验证码
49 | - 标签颜色选择器
50 | - 语义化的form表单
51 |
52 | --------------------------------------------------------------------------------
53 |
54 | ## 安装步骤:
55 |
56 | - [Step 1: 获取代码](#step-1-获取代码)
57 | - [Step 2: 生成配置文件](#step-2-生成配置文件)
58 | - [Step 3: 新建数据库](#step-3-新建数据库)
59 | - [Step 4: 初始化系统](#step-4-初始化系统)
60 | - [Step 5: 创建表并生成数据](#step-5-创建表并生成数据)
61 | - [Step 6: 访问页面](#step-6-访问页面)
62 |
63 | --------------------------------------------------------------------------------
64 |
65 | ### Step 1: 获取代码
66 |
67 | ```
68 | git clone https://github.com/njwangchuan/laravel-admin.git
69 | ```
70 |
71 | ### Step 2: 生成配置文件
72 |
73 | 拷贝`.env.example`文件为`.env`,根据实际情况配置`.env`中的变量
74 |
75 | ### Step 3: 新建数据库
76 |
77 | 根据步骤2中的配置信息,新建数据库,字符编码使用utf-8((uft8_general_ci)
78 |
79 | ### Step 4: 初始化系统
80 |
81 | 在项目根目录执行:
82 |
83 | ```
84 | composer update
85 | ```
86 |
87 | 然后:
88 |
89 | ```
90 | php artisan key:generate
91 | ```
92 |
93 | ### Step 5 创建表并生成数据
94 |
95 | 创建表:
96 |
97 | ```
98 | php artisan migrate
99 | ```
100 |
101 | 然后生成数据:
102 |
103 | ```
104 | php artisan db:seed
105 | ```
106 |
107 | 修改web服务器访问配置,入口为:
108 |
109 | ```
110 | http://localhost/laravel-admin/public
111 | ```
112 |
113 | ### Step 6: 访问页面
114 |
115 | 你现在可以登录系统,具有`admin`角色的用户登录后会默认跳转至后台管理页面,一般用户登录后会跳转至前台首页
116 |
117 | ```
118 | username: admin
119 | password: 123456
120 | ```
121 |
122 | --------------------------------------------------------------------------------
123 |
124 | ## 故障排查
125 |
126 | ```
127 | composer dump-autoload --optimize
128 | ```
129 |
130 | 或者
131 |
132 | ```
133 | php artisan dump-autoload
134 | ```
135 |
136 | --------------------------------------------------------------------------------
137 |
138 | ## License
139 |
140 | MIT license
141 |
--------------------------------------------------------------------------------
/app/Console/Commands/Inspire.php:
--------------------------------------------------------------------------------
1 | comment(PHP_EOL.Inspiring::quote().PHP_EOL);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/Console/Kernel.php:
--------------------------------------------------------------------------------
1 | command('inspire')
28 | // ->hourly();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Events/Event.php:
--------------------------------------------------------------------------------
1 | route()&&$request->route()->getPrefix() == '/api') {
50 | return response()->json([
51 | 'error' => 'Server error',
52 | 'message' => $e->getMessage(),
53 | ], 500);
54 | } else if ($e instanceof HttpException) {
55 | $statusCode = $e->getStatusCode();
56 | if ($statusCode == 403) {
57 | return redirect()->guest('/login');
58 | }
59 | }
60 | return parent::render($request, $e);
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/DashboardController.php:
--------------------------------------------------------------------------------
1 | share('type', '');
16 | }
17 |
18 | public function index()
19 | {
20 | $title = 'Dashboard';
21 | $users = User::count();
22 | $roles = Role::count();
23 |
24 | return view('admin.dashboard.index', compact('title', 'users', 'roles'));
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/PermissionController.php:
--------------------------------------------------------------------------------
1 | share('type', 'permission');
15 | }
16 |
17 | /**
18 | * Display a listing of the resource.
19 | *
20 | * @return \Illuminate\Http\Response
21 | */
22 | public function index()
23 | {
24 | // Show the page
25 | return view('admin.permission.index');
26 | }
27 |
28 | /**
29 | * Show the form for creating a new resource.
30 | *
31 | * @return \Illuminate\Http\Response
32 | */
33 | public function create()
34 | {
35 | return view('admin.permission.create_edit');
36 | }
37 |
38 | /**
39 | * Store a newly created resource in storage.
40 | *
41 | * @param \Illuminate\Http\Request $request
42 | *
43 | * @return \Illuminate\Http\Response
44 | */
45 | public function store(PermissionRequest $request)
46 | {
47 | $permission = new Permission ($request->except('permission_name','permission_code'));
48 | $permission->permission_name = $request->permission_name;
49 | $permission->permission_code = $request->permission_code;
50 | $permission->save();
51 | }
52 |
53 | /**
54 | * Display the specified resource.
55 | *
56 | * @param int $id
57 | *
58 | * @return \Illuminate\Http\Response
59 | */
60 | public function show($id)
61 | {
62 | //
63 | }
64 |
65 | /**
66 | * Show the form for editing the specified resource.
67 | *
68 | * @param int $id
69 | *
70 | * @return \Illuminate\Http\Response
71 | */
72 | public function edit(Permission $permission)
73 | {
74 | return view('admin.permission.create_edit', compact('permission'));
75 | }
76 |
77 | /**
78 | * Update the specified resource in storage.
79 | *
80 | * @param \Illuminate\Http\Request $request
81 | * @param int $id
82 | *
83 | * @return \Illuminate\Http\Response
84 | */
85 | public function update(PermissionRequest $request, Permission $permission)
86 | {
87 | $permission->update($request->except('permission_name','permission_code'));
88 | }
89 |
90 | /**
91 | * Remove the specified resource from storage.
92 | *
93 | * @param int $id
94 | *
95 | * @return \Illuminate\Http\Response
96 | */
97 | public function destroy(Permission $permission)
98 | {
99 | $permission->delete();
100 | }
101 |
102 | /**
103 | * Show a list of all the languages posts formatted for Datatables.
104 | *
105 | * @return Datatables JSON
106 | */
107 | public function data()
108 | {
109 | $permissions = Permission::all();
110 | //$permissions = Permission::select(array('permissions.id', 'permissions.name', 'permissions.display_name','permissions.description','permissions.created_at'));
111 | return Datatables::of($permissions)
112 | ->add_column('actions', '@if ($id!="1") {{ trans("admin/modal.edit") }}
113 | {{ trans("admin/modal.delete") }}
114 | @endif')
115 | ->make(true);
116 | }
117 |
118 | }
119 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/RoleController.php:
--------------------------------------------------------------------------------
1 | share('type', 'role');
15 | }
16 |
17 | /**
18 | * Display a listing of the resource.
19 | *
20 | * @return \Illuminate\Http\Response
21 | */
22 | public function index()
23 | {
24 | // Show the page
25 | return view('admin.role.index');
26 | }
27 |
28 | /**
29 | * Show the form for creating a new resource.
30 | *
31 | * @return \Illuminate\Http\Response
32 | */
33 | public function create()
34 | {
35 | return view('admin.role.create_edit');
36 | }
37 |
38 | /**
39 | * Store a newly created resource in storage.
40 | *
41 | * @param \Illuminate\Http\Request $request
42 | *
43 | * @return \Illuminate\Http\Response
44 | */
45 | public function store(RoleRequest $request)
46 | {
47 | $role = new Role();
48 | $role->name = $request->input('name');
49 | $role->display_name = $request->input('display_name');
50 | $role->description = $request->input('description');
51 | $role->tag_color = $request->input('tag_color');
52 | $role->save();
53 | }
54 |
55 | /**
56 | * Display the specified resource.
57 | *
58 | * @param int $id
59 | *
60 | * @return \Illuminate\Http\Response
61 | */
62 | public function show($id)
63 | {
64 | //
65 | }
66 |
67 | /**
68 | * Show the form for editing the specified resource.
69 | *
70 | * @param int $id
71 | *
72 | * @return \Illuminate\Http\Response
73 | */
74 | public function edit(Role $role)
75 | {
76 | return view('admin.role.create_edit', compact('role'));
77 | }
78 |
79 | /**
80 | * Update the specified resource in storage.
81 | *
82 | * @param \Illuminate\Http\Request $request
83 | * @param int $id
84 | *
85 | * @return \Illuminate\Http\Response
86 | */
87 | public function update(RoleRequest $request, Role $role)
88 | {
89 | $role->name = $request->input('name');
90 | $role->display_name = $request->input('display_name');
91 | $role->description = $request->input('description');
92 | $role->tag_color = $request->input('tag_color');
93 | $role->save();
94 | }
95 |
96 | public function delete(Role $role)
97 | {
98 | return view('admin.role.delete', compact('role'));
99 | }
100 |
101 | /**
102 | * Remove the specified resource from storage.
103 | *
104 | * @param int $id
105 | *
106 | * @return \Illuminate\Http\Response
107 | */
108 | public function destroy(Role $role)
109 | {
110 | $role->delete();
111 | }
112 |
113 | /**
114 | * Show a list of all the languages posts formatted for Datatables.
115 | *
116 | * @return Datatables JSON
117 | */
118 | public function data()
119 | {
120 | //$roles = Role::select(array('roles.id', 'roles.name', 'roles.display_name', 'roles.description', 'roles.tag_color', 'roles.created_at'));
121 | $roles = Role::with('users');
122 |
123 | $data = Datatables::of($roles)
124 | ->addColumn('actions', '@if ($id!="1") {{ trans("admin/modal.edit") }}
125 | {{ trans("admin/modal.delete") }}
126 | @endif')
127 | ->addColumn('users_count', function($role){
128 | return count($role->users);
129 | })
130 | ->editColumn('tag_color', '{{ $name}}')
131 | ->make(true);
132 | return $data;
133 | }
134 | }
135 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/UserController.php:
--------------------------------------------------------------------------------
1 | share('type', 'user');
19 | }
20 |
21 | /*
22 | * Display a listing of the resource.
23 | *
24 | * @return Response
25 | */
26 | public function index(Request $request)
27 | {
28 | // Show the page
29 | $mode = 'create';
30 | $querystring = $request->getQueryString();
31 | if (isset($querystring)) {
32 | return view('admin.user.index', compact('mode','querystring'));
33 | } else {
34 | return view('admin.user.index', compact('mode'));
35 | }
36 | }
37 |
38 | /**
39 | * Show the form for creating a new resource.
40 | *
41 | * @return Response
42 | */
43 | public function create(Request $request)
44 | {
45 | $mode = 'create';
46 | if ($request->has('role')) {
47 | $role = Role::where('name', $request->input('role'))->first();
48 | return view('admin.user.create_edit', compact('user', 'role', 'mode'));
49 | } else {
50 | $roles = Role::where('name','!=','owner')->get();
51 | return view('admin.user.create_edit', compact('user', 'roles', 'mode'));
52 | }
53 | }
54 |
55 | /**
56 | * Store a newly created resource in storage.
57 | *
58 | * @return Response
59 | */
60 | public function store(UserRequest $request)
61 | {
62 | Log::info($request);
63 | $user = new User($request->except('password', 'password_confirmation'));
64 | $user->password = bcrypt($request->password);
65 | if (!$user->confirmed) {
66 | //Send a confirm email to new user;
67 | //$user->confirmation_code = str_random(32);
68 | //$this->dispatch(new SendMail($user));
69 | }
70 | $roleIds = $request->roles;
71 | $user->save();
72 | $user->roles()->sync($roleIds);
73 | }
74 |
75 | /**
76 | * Show the form for editing the specified resource.
77 | *
78 | * @param $user
79 | *
80 | * @return Response
81 | */
82 | public function edit(Request $request,User $user)
83 | {
84 | Log::info($request);
85 | $mode = 'edit';
86 | if ($request->has('role')) {
87 | $role = Role::where('name', $request->input('role'))->first();
88 | return view('admin.user.create_edit', compact('user', 'role', 'mode'));
89 | } else {
90 | $roles = Role::where('name','!=','owner')->get();
91 | return view('admin.user.create_edit', compact('user', 'roles', 'mode'));
92 | }
93 | }
94 |
95 | /**
96 | * Update the specified resource in storage.
97 | *
98 | * @param $user
99 | *
100 | * @return Response
101 | */
102 | public function update(UserRequest $request, User $user)
103 | {
104 | if (empty($request->email)) {
105 | $request->merge(array('email' => null));
106 | }
107 | $password = $request->password;
108 | $passwordConfirmation = $request->password_confirmation;
109 |
110 | if (!empty($password)) {
111 | if ($password === $passwordConfirmation) {
112 | $user->password = bcrypt($password);
113 | }
114 | }
115 | $roleIds = $request->roles;
116 | if (!isset($roleIds)){
117 | $roleIds=[];
118 | }
119 | $user->roles()->sync($roleIds);
120 | $user->update($request->except('password', 'password_confirmation'));
121 | }
122 |
123 | /**
124 | * Remove the specified resource from storage.
125 | *
126 | * @param $user
127 | *
128 | * @return Response
129 | */
130 | public function delete(User $user)
131 | {
132 | return view('admin.user.delete', compact('user'));
133 | }
134 |
135 | /**
136 | * Remove the specified resource from storage.
137 | *
138 | * @param $user
139 | *
140 | * @return Response
141 | */
142 | public function destroy(User $user)
143 | {
144 | $user->roles()->sync([]);
145 | $user->delete();
146 | }
147 |
148 | /**
149 | * Show a list of all the languages posts formatted for Datatables.
150 | *
151 | * @return Datatables JSON
152 | */
153 | public function data(Request $request)
154 | {
155 | $users = User::with('roles');
156 | $datas = Datatables::of($users)
157 | ->edit_column('confirmed', '@if ($confirmed=="1") @else @endif')
158 | ->add_column('actions', '@if ($id!="1") {{ trans("admin/modal.edit") }}
159 | {{ trans("admin/modal.delete") }}
160 | @endif')
161 | ->edit_column('roles', function($user){
162 | $resp = '';
163 | foreach ($user->roles as $key => $value) {
164 | $resp .= ''.$value->display_name.'';
165 | }
166 | return $resp;
167 | })
168 | ->make(true);
169 | return $datas;
170 | }
171 | }
172 |
--------------------------------------------------------------------------------
/app/Http/Controllers/AdminController.php:
--------------------------------------------------------------------------------
1 | middleware('auth');
13 | $this->middleware('admin');
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/ForgotPasswordController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/LoginController.php:
--------------------------------------------------------------------------------
1 | middleware('guest', ['except' => 'logout']);
41 | }
42 |
43 | public function username()
44 | {
45 | return 'username';
46 | }
47 |
48 | /**
49 | * Validate the user login request.
50 | *
51 | * @param \Illuminate\Http\Request $request
52 | * @return void
53 | */
54 | protected function validateLogin(Request $request)
55 | {
56 | $this->validate($request, [
57 | 'username' => 'required',
58 | 'password' => 'required',
59 | 'captcha' => 'required|captcha'
60 | ]);
61 | }
62 |
63 | public function redirectPath()
64 | {
65 | // Logic that determines where to send the user
66 | if (\Auth::user()->hasRole('owner') || \Auth::user()->hasRole('admin')) {
67 | return 'admin/dashboard';
68 | } else {
69 | return '/';
70 | }
71 | }
72 |
73 | public function logout(Request $request)
74 | {
75 | $this->guard()->logout();
76 |
77 | $request->session()->invalidate();
78 |
79 | return redirect('/home');
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/RegisterController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
43 | }
44 |
45 | /**
46 | * Get a validator for an incoming registration request.
47 | *
48 | * @param array $data
49 | * @return \Illuminate\Contracts\Validation\Validator
50 | */
51 | protected function validator(array $data)
52 | {
53 | if (Captcha::check($data['captcha'])) {
54 | return Validator::make($data, [
55 | 'username' => 'required|min:6|max:20|unique:users',
56 | 'display_name' => 'required|min:2|max:20|unique:users',
57 | 'password' => 'required|min:6|max:20|confirmed',
58 | 'email' => 'unique:users|email',
59 | 'phone' => 'unique:users|phone:CN,mobile'
60 | ]);
61 | } else {
62 | return Validator::make($data, [
63 | 'captcha' => 'required|captcha',
64 | ]);
65 | }
66 | }
67 |
68 | /**
69 | * Create a new user instance after a valid registration.
70 | *
71 | * @param array $data
72 | * @return User
73 | */
74 | protected function create(array $data)
75 | {
76 | $webuser = Role::where('name','webuser')->first();
77 | $data['password'] = bcrypt($data['password']);
78 | $user = User::create($data);
79 | $user->attachRole($webuser);
80 | return $user;
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/ResetPasswordController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/app/Http/Controllers/CaptchaController.php:
--------------------------------------------------------------------------------
1 | middleware('auth');
16 | }
17 |
18 | public function index(Request $request)
19 | {
20 | $action = $request->input('action');
21 | if ($action) {
22 | return view('home', compact('action'));
23 | } else {
24 | return view('home');
25 | }
26 | }
27 |
28 | public function copyright()
29 | {
30 | return view('copyright');
31 | }
32 |
33 | public function autoLogin(Request $request)
34 | {
35 | if ($request->has('phone')){
36 | $user = User::where('phone',$request->input('phone'))->first();
37 | if ($user){
38 | Auth::login($user, true);
39 | if ($user->hasRole('owner') || $user->hasRole('admin')){
40 | return redirect('admin/dashboard');
41 | } else {
42 | return redirect('home');
43 | }
44 | }
45 | }
46 | return redirect('register');
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/app/Http/Kernel.php:
--------------------------------------------------------------------------------
1 | [
29 | \App\Http\Middleware\EncryptCookies::class,
30 | \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
31 | \App\Http\Middleware\VerifyCsrfToken::class,
32 | \Illuminate\Routing\Middleware\SubstituteBindings::class,
33 | 'throttle:60,1',
34 | ],
35 |
36 | 'api' => [
37 | \Illuminate\Routing\Middleware\SubstituteBindings::class,
38 | \App\Http\Middleware\AuthOnce::class,
39 | \App\Http\Middleware\Api::class,
40 | ],
41 | ];
42 |
43 | /**
44 | * The application's route middleware.
45 | *
46 | * These middleware may be assigned to groups or used individually.
47 | *
48 | * @var array
49 | */
50 | protected $routeMiddleware = [
51 | 'auth' => \App\Http\Middleware\Authenticate::class,
52 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
53 | 'admin' => \App\Http\Middleware\Admin::class,
54 | 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
55 | 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
56 | 'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,
57 | 'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class,
58 | 'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,
59 | 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
60 | ];
61 | }
62 |
--------------------------------------------------------------------------------
/app/Http/Middleware/Admin.php:
--------------------------------------------------------------------------------
1 | hasRole('admin')) {
22 | return $next($request);
23 | } else {
24 | return redirectTo()->intended('home');
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/app/Http/Middleware/Api.php:
--------------------------------------------------------------------------------
1 | hasRole('api')) {
22 | return $next($request);
23 | } else {
24 | return response()->json([
25 | 'error' => 'Forbidden',
26 | 'message' => 'Auth user dose not have role:{api}',
27 | ], 403);
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Http/Middleware/AuthOnce.php:
--------------------------------------------------------------------------------
1 | guest()) {
22 | if ($request->ajax() || $request->wantsJson()) {
23 | return response('Unauthorized.', 401);
24 | } else {
25 | return redirect()->guest('login');
26 | }
27 | }
28 | return $next($request);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Http/Middleware/EncryptCookies.php:
--------------------------------------------------------------------------------
1 | check()) {
22 | return redirect('/home');
23 | }
24 | return $next($request);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/Http/Middleware/VerifyCsrfToken.php:
--------------------------------------------------------------------------------
1 | segment(3)!="") {
27 | $role = Role::find($this->segment(3));
28 | }
29 |
30 | switch($this->method())
31 | {
32 | case 'GET':
33 | case 'DELETE':
34 | {
35 | return [];
36 | }
37 | case 'POST':
38 | {
39 | return [
40 | 'name' => 'required|min:2',
41 | 'display_name' => 'required|min:2',
42 | ];
43 | }
44 | case 'PUT':
45 | case 'PATCH':
46 | {
47 | return [
48 | 'name' => 'required|min:2',
49 | 'display_name' => 'required|min:2',
50 | ];
51 | }
52 | default:break;
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/app/Http/Requests/Admin/UserRequest.php:
--------------------------------------------------------------------------------
1 | segment(3)!="") {
16 | $user = User::find($this->segment(3));
17 | }
18 |
19 | switch($this->method())
20 | {
21 | case 'GET':
22 | case 'DELETE':
23 | {
24 | return [];
25 | }
26 | case 'POST':
27 | {
28 | return [
29 | 'username' => 'required|min:8',
30 | 'display_name' => 'min:4|unique:users',
31 | 'email' => 'email|unique:users',
32 | 'phone' => 'phone:CN,mobile',
33 | 'password' => 'required',
34 | ];
35 | }
36 | case 'PUT':
37 | case 'PATCH':
38 | {
39 | return [
40 | 'username' => 'required|min:8',
41 | 'display_name' => 'min:4|unique:users,display_name,'.$user->id,
42 | 'email' => 'email|unique:users,email,'.$user->id,
43 | 'phone' => 'phone:CN,mobile|unique:users,phone,'.$user->id,
44 | ];
45 | }
46 | default:break;
47 | }
48 | }
49 |
50 | /**
51 | * Determine if the user is authorized to make this request.
52 | *
53 | * @return bool
54 | */
55 | public function authorize()
56 | {
57 | return true;
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/app/Http/Requests/Request.php:
--------------------------------------------------------------------------------
1 | method()) {
18 | case 'GET':
19 | case 'DELETE':
20 | {
21 | return [];
22 | }
23 | case 'POST':
24 | {
25 | return [
26 | 'type' => 'required',
27 | 'photo' => 'image|mimes:png,jpg,jpeg,gif,bmp',
28 | 'logo' => 'image|mimes:png,jpg,jpeg,gif,bmp',
29 | 'banner' => 'image|mimes:png,jpg,jpeg,gif,bmp',
30 | ];
31 | }
32 | case 'PUT':
33 | case 'PATCH':
34 | {
35 | return [
36 | 'type' => 'required',
37 | 'photo' => 'image|mimes:png,jpg,jpeg,gif,bmp',
38 | 'logo' => 'image|mimes:png,jpg,jpeg,gif,bmp',
39 | 'banner' => 'image|mimes:png,jpg,gif,jpeg,bmp',
40 | ];
41 | }
42 | default:break;
43 | }
44 | }
45 |
46 | /**
47 | * Determine if the category is authorized to make this request.
48 | *
49 | * @return bool
50 | */
51 | public function authorize()
52 | {
53 | return true;
54 | }
55 |
56 | protected function formatErrors(Validator $validator)
57 | {
58 | return $validator->errors()->all();
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/app/Http/routes.php:
--------------------------------------------------------------------------------
1 | ['web']], function () {
15 |
16 | Auth::routes();
17 | Route::get('/logout', 'Auth\LoginController@logout');
18 | Route::get('home', 'HomeController@index');
19 | Route::get('auto-login', 'HomeController@autoLogin');
20 | Route::get('copyright', 'HomeController@copyright');
21 | Route::get('captcha/create', ['as' => 'captcha.create', 'uses' => 'CaptchaController@create']);
22 | Route::get('/', function () {
23 | return redirect('home');
24 | })->middleware('guest');
25 |
26 | /*************** Admin routes **********************************/
27 | Route::group(['prefix' => 'admin', 'middleware' => 'role:admin|owner'], function () {
28 |
29 | # Admin Dashboard
30 | Route::get('dashboard', 'Admin\DashboardController@index');
31 |
32 | # User
33 | Route::get('user/data', 'Admin\UserController@data');
34 | Route::get('user/{user}/show', 'Admin\UserController@show');
35 | Route::get('user/{user}/edit', 'Admin\UserController@edit');
36 | Route::get('user/{user}/delete', 'Admin\UserController@delete');
37 | Route::resource('user', 'Admin\UserController');
38 |
39 | # Role
40 | Route::get('role/data', 'Admin\RoleController@data');
41 | Route::get('role/{role}/show', 'Admin\RoleController@show');
42 | Route::get('role/{role}/edit', 'Admin\RoleController@edit');
43 | Route::get('role/{role}/delete', 'Admin\RoleController@delete');
44 | Route::resource('role', 'Admin\RoleController');
45 |
46 | # Permission
47 | Route::get('permission/data', 'Admin\PermissionController@data');
48 | Route::get('permission/{permission}/show', 'Admin\PermissionController@show');
49 | Route::get('permission/{permission}/edit', 'Admin\PermissionController@edit');
50 | Route::get('permission/{permission}/delete', 'Admin\PermissionController@delete');
51 | Route::resource('permission', 'Admin\PermissionController');
52 |
53 | });
54 |
55 | });
56 |
--------------------------------------------------------------------------------
/app/Jobs/Job.php:
--------------------------------------------------------------------------------
1 | user = $user;
29 | }
30 |
31 | /**
32 | * Execute the job.
33 | *
34 | * @param Mailer $mailer
35 | * @return void
36 | */
37 | public function handle(Mailer $mailer)
38 | {
39 | $data = [
40 | 'title' => trans('site/verify.email-title'),
41 | 'intro' => trans('site/verify.email-intro'),
42 | 'link' => trans('site/verify.email-link'),
43 | 'confirmation_code' => $this->user->confirmation_code
44 | ];
45 |
46 | $mailer->send('emails.auth.verify', $data, function($message) {
47 | $message->to($this->user->email, $this->user->username)
48 | ->subject(trans('site/verify.email-title'));
49 | });
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/app/Listeners/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/Models/Permission.php:
--------------------------------------------------------------------------------
1 | hasOne('App\Models\WechatUser');
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/Policies/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/Providers/AppServiceProvider.php:
--------------------------------------------------------------------------------
1 | app->environment() == 'local') {
28 | $this->app->register('Laracasts\Generators\GeneratorsServiceProvider');
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/Providers/AuthServiceProvider.php:
--------------------------------------------------------------------------------
1 | 'App\Policies\ModelPolicy',
17 | ];
18 |
19 | /**
20 | * Register any application authentication / authorization services.
21 | *
22 | * @param \Illuminate\Contracts\Auth\Access\Gate $gate
23 | * @return void
24 | */
25 | public function boot(GateContract $gate)
26 | {
27 | $this->registerPolicies($gate);
28 |
29 | //
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/Providers/EventServiceProvider.php:
--------------------------------------------------------------------------------
1 | [
17 | 'App\Listeners\EventListener',
18 | ],
19 | ];
20 |
21 | /**
22 | * Register any other events for your application.
23 | *
24 | * @param \Illuminate\Contracts\Events\Dispatcher $events
25 | * @return void
26 | */
27 | public function boot()
28 | {
29 | parent::boot();
30 |
31 | //
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/Providers/RouteServiceProvider.php:
--------------------------------------------------------------------------------
1 | mapWebRoutes($router);
39 |
40 | //
41 | }
42 |
43 | /**
44 | * Define the "web" routes for the application.
45 | *
46 | * These routes all receive session state, CSRF protection, etc.
47 | *
48 | * @param \Illuminate\Routing\Router $router
49 | * @return void
50 | */
51 | protected function mapWebRoutes(Router $router)
52 | {
53 | $router->group([
54 | 'namespace' => $this->namespace, 'middleware' => 'web',
55 | ], function ($router) {
56 | require app_path('Http/routes.php');
57 | });
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/artisan:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | 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 | =7.0.0",
9 | "laravel/framework": "5.5.*",
10 | "Zizaco/entrust": "dev-laravel-5",
11 | "laravelcollective/html": "^5.4",
12 | "yajra/laravel-datatables-oracle": "^6.11",
13 | "intervention/image": "^2.3",
14 | "cviebrock/image-validator": "^2.0",
15 | "predis/predis": "^1.0",
16 | "jenssegers/imagehash": "^0.4.0",
17 | "mews/captcha": "^2.1",
18 | "barryvdh/laravel-debugbar": "^2.2",
19 | "propaganistas/laravel-phone": "^2.8",
20 | "orangehill/iseed": "dev-master",
21 | "laravel/tinker": "^1.0"
22 | },
23 | "require-dev": {
24 | "fzaninotto/faker": "~1.4",
25 | "mockery/mockery": "0.9.*",
26 | "phpunit/phpunit": "~6.0",
27 | "symfony/css-selector": "3.1.*",
28 | "symfony/dom-crawler": "3.1.*",
29 | "laracasts/generators": "^1.1",
30 | "filp/whoops": "~2.0"
31 | },
32 | "autoload": {
33 | "classmap": [
34 | "database"
35 | ],
36 | "psr-4": {
37 | "App\\": "app/"
38 | }
39 | },
40 | "autoload-dev": {
41 | "classmap": [
42 | "tests/TestCase.php"
43 | ]
44 | },
45 | "scripts": {
46 | "post-root-package-install": [
47 | "php -r \"copy('.env.example', '.env');\""
48 | ],
49 | "post-create-project-cmd": [
50 | "php artisan key:generate"
51 | ],
52 | "post-install-cmd": [
53 | "Illuminate\\Foundation\\ComposerScripts::postInstall",
54 | "php artisan optimize"
55 | ],
56 | "post-update-cmd": [
57 | "Illuminate\\Foundation\\ComposerScripts::postUpdate",
58 | "php artisan optimize"
59 | ],
60 | "post-autoload-dump": [
61 | "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
62 | "@php artisan package:discover"
63 | ]
64 | },
65 | "config": {
66 | "preferred-install": "dist"
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/config/auth.php:
--------------------------------------------------------------------------------
1 | [
17 | 'guard' => 'web',
18 | 'passwords' => 'users',
19 | ],
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | Authentication Guards
24 | |--------------------------------------------------------------------------
25 | |
26 | | Next, you may define every authentication guard for your application.
27 | | Of course, a great default configuration has been defined for you
28 | | here which uses session storage and the Eloquent user provider.
29 | |
30 | | All authentication drivers have a user provider. This defines how the
31 | | users are actually retrieved out of your database or other storage
32 | | mechanisms used by this application to persist your user's data.
33 | |
34 | | Supported: "session", "token"
35 | |
36 | */
37 |
38 | 'guards' => [
39 | 'web' => [
40 | 'driver' => 'session',
41 | 'provider' => 'users',
42 | ],
43 |
44 | 'api' => [
45 | 'driver' => 'token',
46 | 'provider' => 'users',
47 | ],
48 | ],
49 |
50 | /*
51 | |--------------------------------------------------------------------------
52 | | User Providers
53 | |--------------------------------------------------------------------------
54 | |
55 | | All authentication drivers have a user provider. This defines how the
56 | | users are actually retrieved out of your database or other storage
57 | | mechanisms used by this application to persist your user's data.
58 | |
59 | | If you have multiple user tables or models you may configure multiple
60 | | sources which represent each model / table. These sources may then
61 | | be assigned to any extra authentication guards you have defined.
62 | |
63 | | Supported: "database", "eloquent"
64 | |
65 | */
66 |
67 | 'providers' => [
68 | 'users' => [
69 | 'driver' => 'eloquent',
70 | 'model' => App\Models\User::class,
71 | 'table' => 'users',
72 | ],
73 |
74 | // 'users' => [
75 | // 'driver' => 'database',
76 | // 'table' => 'users',
77 | // ],
78 | ],
79 |
80 | /*
81 | |--------------------------------------------------------------------------
82 | | Resetting Passwords
83 | |--------------------------------------------------------------------------
84 | |
85 | | Here you may set the options for resetting passwords including the view
86 | | that is your password reset e-mail. You may also set the name of the
87 | | table that maintains all of the reset tokens for your application.
88 | |
89 | | You may specify multiple password reset configurations if you have more
90 | | than one user table or model in the application and you want to have
91 | | separate password reset settings based on the specific user types.
92 | |
93 | | The expire time is the number of minutes that the reset token should be
94 | | considered valid. This security feature keeps tokens short-lived so
95 | | they have less time to be guessed. You may change this as needed.
96 | |
97 | */
98 |
99 | 'passwords' => [
100 | 'users' => [
101 | 'provider' => 'users',
102 | 'email' => 'auth.emails.password',
103 | 'table' => 'password_resets',
104 | 'expire' => 60,
105 | ],
106 | ],
107 |
108 | 'model' => App\Models\User::class,
109 | 'table' => 'users',
110 | ];
111 |
--------------------------------------------------------------------------------
/config/broadcasting.php:
--------------------------------------------------------------------------------
1 | env('BROADCAST_DRIVER', 'pusher'),
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_KEY'),
36 | 'secret' => env('PUSHER_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 | ],
53 |
54 | ];
55 |
--------------------------------------------------------------------------------
/config/cache.php:
--------------------------------------------------------------------------------
1 | env('CACHE_DRIVER', 'file'),
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Cache Stores
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may define all of the cache "stores" for your application as
26 | | well as their drivers. You may even define multiple stores for the
27 | | same cache driver to group types of items stored in your caches.
28 | |
29 | */
30 |
31 | 'stores' => [
32 |
33 | 'apc' => [
34 | 'driver' => 'apc',
35 | ],
36 |
37 | 'array' => [
38 | 'driver' => 'array',
39 | ],
40 |
41 | 'database' => [
42 | 'driver' => 'database',
43 | 'table' => 'cache',
44 | 'connection' => null,
45 | ],
46 |
47 | 'file' => [
48 | 'driver' => 'file',
49 | 'path' => storage_path('framework/cache'),
50 | ],
51 |
52 | 'memcached' => [
53 | 'driver' => 'memcached',
54 | 'servers' => [
55 | [
56 | 'host' => env('MEMCACHED_HOST', '127.0.0.1'),
57 | 'port' => env('MEMCACHED_PORT', 11211),
58 | 'weight' => 100,
59 | ],
60 | ],
61 | ],
62 |
63 | 'redis' => [
64 | 'driver' => 'redis',
65 | 'connection' => 'default',
66 | ],
67 |
68 | ],
69 |
70 | /*
71 | |--------------------------------------------------------------------------
72 | | Cache Key Prefix
73 | |--------------------------------------------------------------------------
74 | |
75 | | When utilizing a RAM based store such as APC or Memcached, there might
76 | | be other applications utilizing the same cache. So, we'll specify a
77 | | value to get prefixed to all our keys so we can avoid collisions.
78 | |
79 | */
80 |
81 | 'prefix' => 'laravel',
82 |
83 | ];
84 |
--------------------------------------------------------------------------------
/config/captcha.php:
--------------------------------------------------------------------------------
1 | [
6 | 'length' => 5,
7 | 'width' => 120,
8 | 'height' => 36,
9 | 'quality' => 90,
10 | ],
11 |
12 | 'flat' => [
13 | 'length' => 6,
14 | 'width' => 160,
15 | 'height' => 46,
16 | 'quality' => 90,
17 | 'lines' => 6,
18 | 'bgImage' => false,
19 | 'bgColor' => '#ecf2f4',
20 | 'fontColors'=> ['#2c3e50', '#c0392b', '#16a085', '#c0392b', '#8e44ad', '#303f9f', '#f57c00', '#795548'],
21 | 'contrast' => -5,
22 | ],
23 |
24 | 'mini' => [
25 | 'length' => 3,
26 | 'width' => 60,
27 | 'height' => 32,
28 | ],
29 |
30 | 'inverse' => [
31 | 'length' => 5,
32 | 'width' => 120,
33 | 'height' => 36,
34 | 'quality' => 90,
35 | 'sensitive' => true,
36 | 'angle' => 12,
37 | 'sharpen' => 10,
38 | 'blur' => 2,
39 | 'invert' => true,
40 | 'contrast' => -5,
41 | ]
42 |
43 | ];
44 |
--------------------------------------------------------------------------------
/config/compile.php:
--------------------------------------------------------------------------------
1 | [
17 | //
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled File Providers
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may list service providers which define a "compiles" function
26 | | that returns additional files that should be compiled, providing an
27 | | easy way to get common files from any packages you are utilizing.
28 | |
29 | */
30 |
31 | 'providers' => [
32 | //
33 | ],
34 |
35 | ];
36 |
--------------------------------------------------------------------------------
/config/database.php:
--------------------------------------------------------------------------------
1 | PDO::FETCH_CLASS,
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Default Database Connection Name
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may specify which of the database connections below you wish
24 | | to use as your default connection for all database work. Of course
25 | | you may use many connections at once using the Database library.
26 | |
27 | */
28 |
29 | 'default' => env('DB_CONNECTION', 'mysql'),
30 |
31 | /*
32 | |--------------------------------------------------------------------------
33 | | Database Connections
34 | |--------------------------------------------------------------------------
35 | |
36 | | Here are each of the database connections setup for your application.
37 | | Of course, examples of configuring each database platform that is
38 | | supported by Laravel is shown below to make development simple.
39 | |
40 | |
41 | | All database work in Laravel is done through the PHP PDO facilities
42 | | so make sure you have the driver for your particular database of
43 | | choice installed on your machine before you begin development.
44 | |
45 | */
46 |
47 | 'connections' => [
48 |
49 | 'sqlite' => [
50 | 'driver' => 'sqlite',
51 | 'database' => env('DB_DATABASE', database_path('database.sqlite')),
52 | 'prefix' => '',
53 | ],
54 |
55 | 'mysql' => [
56 | 'driver' => 'mysql',
57 | 'host' => env('DB_HOST', 'localhost'),
58 | 'port' => env('DB_PORT', '3306'),
59 | 'database' => env('DB_DATABASE', 'forge'),
60 | 'username' => env('DB_USERNAME', 'forge'),
61 | 'password' => env('DB_PASSWORD', ''),
62 | 'charset' => 'utf8',
63 | 'collation' => 'utf8_general_ci',
64 | 'prefix' => '',
65 | 'strict' => false,
66 | 'engine' => null,
67 | ],
68 |
69 | 'pgsql' => [
70 | 'driver' => 'pgsql',
71 | 'host' => env('DB_HOST', 'localhost'),
72 | 'port' => env('DB_PORT', '5432'),
73 | 'database' => env('DB_DATABASE', 'forge'),
74 | 'username' => env('DB_USERNAME', 'forge'),
75 | 'password' => env('DB_PASSWORD', ''),
76 | 'charset' => 'utf8',
77 | 'prefix' => '',
78 | 'schema' => 'public',
79 | ],
80 |
81 | ],
82 |
83 | /*
84 | |--------------------------------------------------------------------------
85 | | Migration Repository Table
86 | |--------------------------------------------------------------------------
87 | |
88 | | This table keeps track of all the migrations that have already run for
89 | | your application. Using this information, we can determine which of
90 | | the migrations on disk haven't actually been run in the database.
91 | |
92 | */
93 |
94 | 'migrations' => 'migrations',
95 |
96 | /*
97 | |--------------------------------------------------------------------------
98 | | Redis Databases
99 | |--------------------------------------------------------------------------
100 | |
101 | | Redis is an open source, fast, and advanced key-value store that also
102 | | provides a richer set of commands than a typical key-value systems
103 | | such as APC or Memcached. Laravel makes it easy to dig right in.
104 | |
105 | */
106 |
107 | 'redis' => [
108 |
109 | 'cluster' => false,
110 |
111 | 'default' => [
112 | 'host' => env('REDIS_HOST', 'localhost'),
113 | 'password' => env('REDIS_PASSWORD', null),
114 | 'port' => env('REDIS_PORT', 6379),
115 | 'database' => 0,
116 | ],
117 |
118 | ],
119 |
120 | ];
121 |
--------------------------------------------------------------------------------
/config/datatables.php:
--------------------------------------------------------------------------------
1 | [
8 | /**
9 | * Smart search will enclose search keyword with wildcard string "%keyword%".
10 | * SQL: column LIKE "%keyword%"
11 | */
12 | 'smart' => true,
13 |
14 | /**
15 | * Case insensitive will search the keyword in lower case format.
16 | * SQL: LOWER(column) LIKE LOWER(keyword)
17 | */
18 | 'case_insensitive' => true,
19 |
20 | /**
21 | * Wild card will add "%" in between every characters of the keyword.
22 | * SQL: column LIKE "%k%e%y%w%o%r%d%"
23 | */
24 | 'use_wildcards' => false,
25 | ],
26 |
27 | /**
28 | * DataTables fractal configurations.
29 | */
30 | 'fractal' => [
31 | /**
32 | * Request key name to parse includes on fractal.
33 | */
34 | 'includes' => 'include',
35 |
36 | /**
37 | * Default fractal serializer.
38 | */
39 | 'serializer' => 'League\Fractal\Serializer\DataArraySerializer',
40 | ],
41 |
42 | /**
43 | * DataTables script view template.
44 | */
45 | 'script_template' => 'datatables::script',
46 |
47 | /**
48 | * DataTables internal index id response column name.
49 | */
50 | 'index_column' => 'DT_Row_Index',
51 |
52 | /**
53 | * Namespaces used by the generator.
54 | */
55 | 'namespace' => [
56 | /**
57 | * Base namespace/directory to create the new file.
58 | * This is appended on default Laravel namespace.
59 | *
60 | * Usage: php artisan datatables:make User
61 | * Output: App\DataTables\UserDataTable
62 | * With Model: App\User (default model)
63 | * Export filename: users_timestamp
64 | */
65 | 'base' => 'DataTables',
66 |
67 | /**
68 | * Base namespace/directory where your model's are located.
69 | * This is appended on default Laravel namespace.
70 | *
71 | * Usage: php artisan datatables:make Post --model
72 | * Output: App\DataTables\PostDataTable
73 | * With Model: App\Post
74 | * Export filename: posts_timestamp
75 | */
76 | 'model' => '',
77 | ],
78 |
79 | /**
80 | * PDF generator to be used when converting the table to pdf.
81 | * Available generators: excel, snappy
82 | * Snappy package: barryvdh/laravel-snappy
83 | * Excel package: maatwebsite/excel
84 | */
85 | 'pdf_generator' => 'excel',
86 | ];
87 |
--------------------------------------------------------------------------------
/config/entrust.php:
--------------------------------------------------------------------------------
1 | 'App\Models\Role',
23 |
24 | /*
25 | |--------------------------------------------------------------------------
26 | | Entrust Roles Table
27 | |--------------------------------------------------------------------------
28 | |
29 | | This is the roles table used by Entrust to save roles to the database.
30 | |
31 | */
32 | 'roles_table' => 'roles',
33 |
34 | /*
35 | |--------------------------------------------------------------------------
36 | | Entrust Permission Model
37 | |--------------------------------------------------------------------------
38 | |
39 | | This is the Permission model used by Entrust to create correct relations.
40 | | Update the permission if it is in a different namespace.
41 | |
42 | */
43 | 'permission' => 'App\Models\Permission',
44 |
45 | /*
46 | |--------------------------------------------------------------------------
47 | | Entrust Permissions Table
48 | |--------------------------------------------------------------------------
49 | |
50 | | This is the permissions table used by Entrust to save permissions to the
51 | | database.
52 | |
53 | */
54 | 'permissions_table' => 'permissions',
55 |
56 | /*
57 | |--------------------------------------------------------------------------
58 | | Entrust permission_role Table
59 | |--------------------------------------------------------------------------
60 | |
61 | | This is the permission_role table used by Entrust to save relationship
62 | | between permissions and roles to the database.
63 | |
64 | */
65 | 'permission_role_table' => 'permission_role',
66 |
67 | /*
68 | |--------------------------------------------------------------------------
69 | | Entrust role_user Table
70 | |--------------------------------------------------------------------------
71 | |
72 | | This is the role_user table used by Entrust to save assigned roles to the
73 | | database.
74 | |
75 | */
76 | 'role_user_table' => 'role_user',
77 |
78 | ];
79 |
--------------------------------------------------------------------------------
/config/filesystems.php:
--------------------------------------------------------------------------------
1 | 'local',
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Default Cloud Filesystem Disk
23 | |--------------------------------------------------------------------------
24 | |
25 | | Many applications store files both locally and in the cloud. For this
26 | | reason, you may specify a default "cloud" driver here. This driver
27 | | will be bound as the Cloud disk implementation in the container.
28 | |
29 | */
30 |
31 | 'cloud' => 's3',
32 |
33 | /*
34 | |--------------------------------------------------------------------------
35 | | Filesystem Disks
36 | |--------------------------------------------------------------------------
37 | |
38 | | Here you may configure as many filesystem "disks" as you wish, and you
39 | | may even configure multiple disks of the same driver. Defaults have
40 | | been setup for each driver as an example of the required options.
41 | |
42 | */
43 |
44 | 'disks' => [
45 |
46 | 'local' => [
47 | 'driver' => 'local',
48 | 'root' => storage_path('app'),
49 | ],
50 |
51 | 'public' => [
52 | 'driver' => 'local',
53 | 'root' => storage_path('app/public'),
54 | 'visibility' => 'public',
55 | ],
56 |
57 | 's3' => [
58 | 'driver' => 's3',
59 | 'key' => 'your-key',
60 | 'secret' => 'your-secret',
61 | 'region' => 'your-region',
62 | 'bucket' => 'your-bucket',
63 | ],
64 |
65 | ],
66 |
67 | ];
68 |
--------------------------------------------------------------------------------
/config/image.php:
--------------------------------------------------------------------------------
1 | 'gd'
19 |
20 | );
21 |
--------------------------------------------------------------------------------
/config/mail.php:
--------------------------------------------------------------------------------
1 | env('MAIL_DRIVER', 'smtp'),
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | SMTP Host Address
24 | |--------------------------------------------------------------------------
25 | |
26 | | Here you may provide the host address of the SMTP server used by your
27 | | applications. A default option is provided that is compatible with
28 | | the Mailgun mail service which will provide reliable deliveries.
29 | |
30 | */
31 |
32 | 'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
33 |
34 | /*
35 | |--------------------------------------------------------------------------
36 | | SMTP Host Port
37 | |--------------------------------------------------------------------------
38 | |
39 | | This is the SMTP port used by your application to deliver e-mails to
40 | | users of the application. Like the host we have set this value to
41 | | stay compatible with the Mailgun e-mail application by default.
42 | |
43 | */
44 |
45 | 'port' => env('MAIL_PORT', 587),
46 |
47 | /*
48 | |--------------------------------------------------------------------------
49 | | Global "From" Address
50 | |--------------------------------------------------------------------------
51 | |
52 | | You may wish for all e-mails sent by your application to be sent from
53 | | the same address. Here, you may specify a name and address that is
54 | | used globally for all e-mails that are sent by your application.
55 | |
56 | */
57 |
58 | 'from' => ['address' => null, 'name' => null],
59 |
60 | /*
61 | |--------------------------------------------------------------------------
62 | | E-Mail Encryption Protocol
63 | |--------------------------------------------------------------------------
64 | |
65 | | Here you may specify the encryption protocol that should be used when
66 | | the application send e-mail messages. A sensible default using the
67 | | transport layer security protocol should provide great security.
68 | |
69 | */
70 |
71 | 'encryption' => env('MAIL_ENCRYPTION', 'tls'),
72 |
73 | /*
74 | |--------------------------------------------------------------------------
75 | | SMTP Server Username
76 | |--------------------------------------------------------------------------
77 | |
78 | | If your SMTP server requires a username for authentication, you should
79 | | set it here. This will get used to authenticate with your server on
80 | | connection. You may also set the "password" value below this one.
81 | |
82 | */
83 |
84 | 'username' => env('MAIL_USERNAME'),
85 |
86 | /*
87 | |--------------------------------------------------------------------------
88 | | SMTP Server Password
89 | |--------------------------------------------------------------------------
90 | |
91 | | Here you may set the password required by your SMTP server to send out
92 | | messages from your application. This will be given to the server on
93 | | connection so that the application will be able to send messages.
94 | |
95 | */
96 |
97 | 'password' => env('MAIL_PASSWORD'),
98 |
99 | /*
100 | |--------------------------------------------------------------------------
101 | | Sendmail System Path
102 | |--------------------------------------------------------------------------
103 | |
104 | | When using the "sendmail" driver to send e-mails, we will need to know
105 | | the path to where Sendmail lives on this server. A default path has
106 | | been provided here, which will work well on most of your systems.
107 | |
108 | */
109 |
110 | 'sendmail' => '/usr/sbin/sendmail -bs',
111 |
112 | ];
113 |
--------------------------------------------------------------------------------
/config/queue.php:
--------------------------------------------------------------------------------
1 | env('QUEUE_DRIVER', 'sync'),
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Queue Connections
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may configure the connection information for each server that
26 | | is used by your application. A default configuration has been added
27 | | for each back-end shipped with Laravel. You are free to add more.
28 | |
29 | */
30 |
31 | 'connections' => [
32 |
33 | 'sync' => [
34 | 'driver' => 'sync',
35 | ],
36 |
37 | 'database' => [
38 | 'driver' => 'database',
39 | 'table' => 'jobs',
40 | 'queue' => 'default',
41 | 'expire' => 90,
42 | ],
43 |
44 | 'beanstalkd' => [
45 | 'driver' => 'beanstalkd',
46 | 'host' => 'localhost',
47 | 'queue' => 'default',
48 | 'ttr' => 90,
49 | ],
50 |
51 | 'sqs' => [
52 | 'driver' => 'sqs',
53 | 'key' => 'your-public-key',
54 | 'secret' => 'your-secret-key',
55 | 'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id',
56 | 'queue' => 'your-queue-name',
57 | 'region' => 'us-east-1',
58 | ],
59 |
60 | 'redis' => [
61 | 'driver' => 'redis',
62 | 'connection' => 'default',
63 | 'queue' => 'default',
64 | 'expire' => 90,
65 | ],
66 |
67 | ],
68 |
69 | /*
70 | |--------------------------------------------------------------------------
71 | | Failed Queue Jobs
72 | |--------------------------------------------------------------------------
73 | |
74 | | These options configure the behavior of failed queue job logging so you
75 | | can control which database and table are used to store the jobs that
76 | | have failed. You may change them to any database / table you wish.
77 | |
78 | */
79 |
80 | 'failed' => [
81 | 'database' => env('DB_CONNECTION', 'mysql'),
82 | 'table' => 'failed_jobs',
83 | ],
84 |
85 | ];
86 |
--------------------------------------------------------------------------------
/config/services.php:
--------------------------------------------------------------------------------
1 | [
18 | 'domain' => env('MAILGUN_DOMAIN'),
19 | 'secret' => env('MAILGUN_SECRET'),
20 | ],
21 |
22 | 'mandrill' => [
23 | 'secret' => env('MANDRILL_SECRET'),
24 | ],
25 |
26 | 'ses' => [
27 | 'key' => env('SES_KEY'),
28 | 'secret' => env('SES_SECRET'),
29 | 'region' => 'us-east-1',
30 | ],
31 |
32 | 'sparkpost' => [
33 | 'secret' => env('SPARKPOST_SECRET'),
34 | ],
35 |
36 | 'stripe' => [
37 | 'model' => App\User::class,
38 | 'key' => env('STRIPE_KEY'),
39 | 'secret' => env('STRIPE_SECRET'),
40 | ],
41 |
42 | ];
43 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite
2 |
--------------------------------------------------------------------------------
/database/factories/ModelFactory.php:
--------------------------------------------------------------------------------
1 | define(App\User::class, function (Faker\Generator $faker) {
15 | return [
16 | 'name' => $faker->name,
17 | 'email' => $faker->safeEmail,
18 | 'password' => bcrypt(str_random(10)),
19 | 'remember_token' => str_random(10),
20 | ];
21 | });
22 |
--------------------------------------------------------------------------------
/database/migrations/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/database/migrations/2017_05_23_114608_create_users_table.php:
--------------------------------------------------------------------------------
1 | increments('id')->unsigned();
17 | $table->string('username')->unique();
18 | $table->string('display_name');
19 | $table->string('email')->unique()->nullable();
20 | $table->string('phone',60)->unique()->nullable();
21 | $table->string('password', 60);
22 | $table->string('api_token', 60)->nullable();
23 | $table->string('confirmation_code')->nullable();
24 | $table->boolean('confirmed')->default(false);
25 | $table->rememberToken();
26 | $table->timestamps();
27 | });
28 | }
29 |
30 | /**
31 | * Reverse the migrations.
32 | *
33 | * @return void
34 | */
35 | public function down()
36 | {
37 | Schema::drop('users');
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/database/migrations/2017_05_23_132446_entrust_setup_tables.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('name')->unique();
18 | $table->string('display_name')->nullable();
19 | $table->string('tag_color',50)->nullable();
20 | $table->string('description')->nullable();
21 | $table->timestamps();
22 | });
23 |
24 | // Create table for associating roles to users (Many-to-Many)
25 | Schema::create('role_user', function (Blueprint $table) {
26 | $table->integer('user_id')->unsigned();
27 | $table->integer('role_id')->unsigned();
28 |
29 | $table->foreign('user_id')->references('id')->on('users')
30 | ->onUpdate('cascade')->onDelete('cascade');
31 | $table->foreign('role_id')->references('id')->on('roles')
32 | ->onUpdate('cascade')->onDelete('cascade');
33 |
34 | $table->primary(['user_id', 'role_id']);
35 | });
36 |
37 | // Create table for storing permissions
38 | Schema::create('permissions', function (Blueprint $table) {
39 | $table->increments('id');
40 | $table->string('name')->unique();
41 | $table->string('display_name')->nullable();
42 | $table->string('tag_color',50)->nullable();
43 | $table->string('description')->nullable();
44 | $table->timestamps();
45 | });
46 |
47 | // Create table for associating permissions to roles (Many-to-Many)
48 | Schema::create('permission_role', function (Blueprint $table) {
49 | $table->integer('permission_id')->unsigned();
50 | $table->integer('role_id')->unsigned();
51 |
52 | $table->foreign('permission_id')->references('id')->on('permissions')
53 | ->onUpdate('cascade')->onDelete('cascade');
54 | $table->foreign('role_id')->references('id')->on('roles')
55 | ->onUpdate('cascade')->onDelete('cascade');
56 |
57 | $table->primary(['permission_id', 'role_id']);
58 | });
59 | }
60 |
61 | /**
62 | * Reverse the migrations.
63 | *
64 | * @return void
65 | */
66 | public function down()
67 | {
68 | Schema::drop('permission_role');
69 | Schema::drop('permissions');
70 | Schema::drop('role_user');
71 | Schema::drop('roles');
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/database/seeds/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/database/seeds/DatabaseSeeder.php:
--------------------------------------------------------------------------------
1 | call('UsersTableSeeder');
15 | $this->call('RolesTableSeeder');
16 | $this->call('RoleUserTableSeeder');
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/database/seeds/RoleUserTableSeeder.php:
--------------------------------------------------------------------------------
1 | delete();
18 |
19 | \DB::table('role_user')->insert(array (
20 | 0 =>
21 | array (
22 | 'user_id' => 1,
23 | 'role_id' => 1,
24 | ),
25 | 1 =>
26 | array (
27 | 'user_id' => 1,
28 | 'role_id' => 2,
29 | ),
30 | ));
31 |
32 |
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/database/seeds/RolesTableSeeder.php:
--------------------------------------------------------------------------------
1 | delete();
18 |
19 | \DB::table('roles')->insert(array (
20 | 0 =>
21 | array (
22 | 'id' => 1,
23 | 'name' => 'owner',
24 | 'display_name' => '站长',
25 | 'description' => '网站站长',
26 | 'tag_color' => '#418aab',
27 | 'created_at' => '2016-02-18 15:38:20',
28 | 'updated_at' => '2016-07-21 19:05:41',
29 | ),
30 | 1 =>
31 | array (
32 | 'id' => 2,
33 | 'name' => 'admin',
34 | 'display_name' => '管理员',
35 | 'description' => '网站管理员',
36 | 'tag_color' => '#bf216d',
37 | 'created_at' => '2016-02-18 15:52:05',
38 | 'updated_at' => '2017-05-02 10:32:56',
39 | ),
40 | ));
41 |
42 |
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/database/seeds/UsersTableSeeder.php:
--------------------------------------------------------------------------------
1 | delete();
18 |
19 | \DB::table('users')->insert(array (
20 | 0 =>
21 | array (
22 | 'id' => 1,
23 | 'username' => 'admin',
24 | 'display_name' => '管理员',
25 | 'email' => 'admin@domain.com',
26 | 'phone' => NULL,
27 | 'password' => bcrypt('123456'),
28 | 'api_token' => NULL,
29 | 'confirmed' => 1,
30 | 'confirmation_code' => NULL,
31 | 'remember_token' => NULL,
32 | 'created_at' => '2016-02-18 16:38:09',
33 | 'updated_at' => '2017-05-19 11:15:06',
34 | ),
35 | ));
36 |
37 |
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "scripts": {
4 | "prod": "gulp --production",
5 | "dev": "gulp watch"
6 | },
7 | "devDependencies": {
8 | "gulp": "^3.9.1",
9 | "laravel-elixir": "^5.0.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 | ./tests
14 |
15 |
16 |
17 |
18 | ./app
19 |
20 | ./app/Http/routes.php
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/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/MP_verify_4TFEzxL69ppeinx8.txt:
--------------------------------------------------------------------------------
1 | 4TFEzxL69ppeinx8
--------------------------------------------------------------------------------
/public/css/custom-admin.css:
--------------------------------------------------------------------------------
1 | .page-header {
2 | padding-bottom: 9px;
3 | margin: 10px 0;
4 | border-bottom: 1px solid #eee;
5 | }
6 |
7 | .breadcrumb {
8 | margin-bottom: 0px;
9 | }
10 |
--------------------------------------------------------------------------------
/public/css/font/summernote.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/css/font/summernote.eot
--------------------------------------------------------------------------------
/public/css/font/summernote.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/css/font/summernote.ttf
--------------------------------------------------------------------------------
/public/css/font/summernote.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/css/font/summernote.woff
--------------------------------------------------------------------------------
/public/css/images/controls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/css/images/controls.png
--------------------------------------------------------------------------------
/public/css/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/css/images/loading.gif
--------------------------------------------------------------------------------
/public/css/login.css:
--------------------------------------------------------------------------------
1 | section {
2 | padding: 100px 0;
3 | }
4 |
5 | /* Media Queries */
6 |
7 | @media screen and (max-width: 767px) {
8 | .container> header {
9 | text-align: center;
10 | }
11 | p.codrops-demos {
12 | position: relative;
13 | top: auto;
14 | left: auto;
15 | }
16 | }
17 | .index-login {
18 | border-radius: 6px;
19 | margin-top: 10px;
20 | border: 1px solid #e1e8ed;
21 | background-color: #ffffff;
22 | }
23 | .index-login-form {
24 | margin: 20px 5px;
25 | }
26 |
--------------------------------------------------------------------------------
/public/css/swiper.css:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | /* CSS Document */
3 | /*-导航菜单拖动点击切换--*/
4 | .menu_swiper{ height:50px; background:#fff; border-bottom:1px solid #ccc;}
5 | .swiper-container {
6 | margin: 0 auto;
7 | position: relative;
8 | overflow: hidden;
9 | z-index: 1
10 | }
11 | .swiper-container {
12 | width: 100%;
13 | height: 100%;
14 | margin-left: auto;
15 | margin-right: auto;
16 | }
17 | .swiper-wrapper {
18 | position: relative;
19 | width: 100%;
20 | height: 100%;
21 | z-index: 1;
22 | display: -webkit-box;
23 | display: -moz-box;
24 | display: -ms-flexbox;
25 | display: -webkit-flex;
26 | display: flex;
27 | -webkit-transition-property: -webkit-transform;
28 | -moz-transition-property: -moz-transform;
29 | -o-transition-property: -o-transform;
30 | -ms-transition-property: -ms-transform;
31 | transition-property: transform;
32 | -webkit-box-sizing: content-box;
33 | -moz-box-sizing: content-box;
34 | box-sizing: content-box
35 | }
36 | .swiper-container-android .swiper-slide, .swiper-wrapper {
37 | -webkit-transform: translate3d(0, 0, 0);
38 | -moz-transform: translate3d(0, 0, 0);
39 | -o-transform: translate(0, 0);
40 | -ms-transform: translate3d(0, 0, 0);
41 | transform: translate3d(0, 0, 0)
42 | }
43 | .swiper-container-fade.swiper-container-free-mode .swiper-slide {
44 | -webkit-transition-timing-function: ease-out;
45 | -moz-transition-timing-function: ease-out;
46 | -ms-transition-timing-function: ease-out;
47 | -o-transition-timing-function: ease-out;
48 | transition-timing-function: ease-out
49 | }
50 | .swiper-container-fade .swiper-slide {
51 | pointer-events: none
52 | }
53 | .swiper-slide {flex-shrink: 0;
54 | height: 100%;
55 | position: relative;
56 | width: 100%;
57 | text-align: center;
58 | font-size: 18px;
59 | background: #fff;
60 | display: -webkit-box;
61 | display: -ms-flexbox;
62 | display: -webkit-flex;
63 | display: flex; width:100%;
64 | -webkit-box-pack: center;
65 | -ms-flex-pack: center;
66 | -webkit-justify-content: center;
67 | justify-content: center;
68 | -webkit-box-align: center;
69 | -ms-flex-align: center;
70 | -webkit-align-items: center;
71 | align-items: center;
72 | }
73 | .swiper-slide {
74 | -webkit-flex-shrink: 0;
75 | -ms-flex: 0 0 auto;
76 | flex-shrink: 0;
77 | width: 100%;
78 | height: 100%;
79 | position: relative
80 | }
81 | .swiper-sliden:nth-last-child(2){}
82 | .swiper-button-next, .swiper-button-prev {font-size:24px;
83 | position: absolute;
84 | top: 50%;
85 | width: 15px;
86 | height:34px;
87 | margin-top: -15px;
88 | z-index: 10;
89 | cursor: pointer;
90 | background-position: center;
91 | background-repeat: no-repeat
92 | }
93 | .swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
94 | opacity:0.9;
95 | cursor: auto;
96 | pointer-events: none
97 | }
98 | .swiper-button-prev{
99 | background:url(../image/pre.png) no-repeat left top;
100 | left:10px;
101 | right: auto
102 | }
103 |
104 | .swiper-button-next{ background:url(../image/next.png) no-repeat left top;
105 | right:10px;
106 | left: auto
107 | }
108 |
109 | .swiper-pagination {bottom: 10px;
110 | left: 0;
111 | width: 100%;
112 | position: absolute;
113 | text-align: center;
114 | transform: translate3d(0px, 0px, 0px);
115 | transition: all 0.3s ease 0s;
116 | z-index: 10;
117 | }
118 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon.ico
--------------------------------------------------------------------------------
/public/favicon/android-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/android-icon-144x144.png
--------------------------------------------------------------------------------
/public/favicon/android-icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/android-icon-192x192.png
--------------------------------------------------------------------------------
/public/favicon/android-icon-36x36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/android-icon-36x36.png
--------------------------------------------------------------------------------
/public/favicon/android-icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/android-icon-48x48.png
--------------------------------------------------------------------------------
/public/favicon/android-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/android-icon-72x72.png
--------------------------------------------------------------------------------
/public/favicon/android-icon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/android-icon-96x96.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon-114x114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon-114x114.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon-120x120.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon-144x144.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon-152x152.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon-180x180.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon-57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon-57x57.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon-60x60.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon-72x72.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon-76x76.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon-precomposed.png
--------------------------------------------------------------------------------
/public/favicon/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/apple-icon.png
--------------------------------------------------------------------------------
/public/favicon/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 | #ffffff
--------------------------------------------------------------------------------
/public/favicon/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/favicon-16x16.png
--------------------------------------------------------------------------------
/public/favicon/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/favicon-32x32.png
--------------------------------------------------------------------------------
/public/favicon/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/favicon-96x96.png
--------------------------------------------------------------------------------
/public/favicon/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/favicon.ico
--------------------------------------------------------------------------------
/public/favicon/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "App",
3 | "icons": [
4 | {
5 | "src": "\/android-icon-36x36.png",
6 | "sizes": "36x36",
7 | "type": "image\/png",
8 | "density": "0.75"
9 | },
10 | {
11 | "src": "\/android-icon-48x48.png",
12 | "sizes": "48x48",
13 | "type": "image\/png",
14 | "density": "1.0"
15 | },
16 | {
17 | "src": "\/android-icon-72x72.png",
18 | "sizes": "72x72",
19 | "type": "image\/png",
20 | "density": "1.5"
21 | },
22 | {
23 | "src": "\/android-icon-96x96.png",
24 | "sizes": "96x96",
25 | "type": "image\/png",
26 | "density": "2.0"
27 | },
28 | {
29 | "src": "\/android-icon-144x144.png",
30 | "sizes": "144x144",
31 | "type": "image\/png",
32 | "density": "3.0"
33 | },
34 | {
35 | "src": "\/android-icon-192x192.png",
36 | "sizes": "192x192",
37 | "type": "image\/png",
38 | "density": "4.0"
39 | }
40 | ]
41 | }
--------------------------------------------------------------------------------
/public/favicon/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/ms-icon-144x144.png
--------------------------------------------------------------------------------
/public/favicon/ms-icon-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/ms-icon-150x150.png
--------------------------------------------------------------------------------
/public/favicon/ms-icon-310x310.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/ms-icon-310x310.png
--------------------------------------------------------------------------------
/public/favicon/ms-icon-70x70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/favicon/ms-icon-70x70.png
--------------------------------------------------------------------------------
/public/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/public/image/20170515143919_4092.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/20170515143919_4092.jpg
--------------------------------------------------------------------------------
/public/image/a.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/a.jpeg
--------------------------------------------------------------------------------
/public/image/b.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/b.jpeg
--------------------------------------------------------------------------------
/public/image/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/banner.png
--------------------------------------------------------------------------------
/public/image/best.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/best.png
--------------------------------------------------------------------------------
/public/image/beston.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/beston.png
--------------------------------------------------------------------------------
/public/image/cata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/cata.png
--------------------------------------------------------------------------------
/public/image/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/check.png
--------------------------------------------------------------------------------
/public/image/checkfail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/checkfail.png
--------------------------------------------------------------------------------
/public/image/edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/edit.png
--------------------------------------------------------------------------------
/public/image/eye-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/eye-black.png
--------------------------------------------------------------------------------
/public/image/goback.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/goback.png
--------------------------------------------------------------------------------
/public/image/index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/index.png
--------------------------------------------------------------------------------
/public/image/jinb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/jinb.png
--------------------------------------------------------------------------------
/public/image/link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/link.png
--------------------------------------------------------------------------------
/public/image/login/login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login/login.png
--------------------------------------------------------------------------------
/public/image/login/logintitle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login/logintitle.png
--------------------------------------------------------------------------------
/public/image/login/pass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login/pass.png
--------------------------------------------------------------------------------
/public/image/login/user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login/user.png
--------------------------------------------------------------------------------
/public/image/login_img/aaa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/aaa.png
--------------------------------------------------------------------------------
/public/image/login_img/body.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/body.png
--------------------------------------------------------------------------------
/public/image/login_img/bodybg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/bodybg.png
--------------------------------------------------------------------------------
/public/image/login_img/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/check.png
--------------------------------------------------------------------------------
/public/image/login_img/checkon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/checkon.png
--------------------------------------------------------------------------------
/public/image/login_img/loginbg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/loginbg.png
--------------------------------------------------------------------------------
/public/image/login_img/loginleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/loginleft.png
--------------------------------------------------------------------------------
/public/image/login_img/logintitle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/logintitle.png
--------------------------------------------------------------------------------
/public/image/login_img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/logo.png
--------------------------------------------------------------------------------
/public/image/login_img/logo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/logo2.png
--------------------------------------------------------------------------------
/public/image/login_img/logoa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/logoa.png
--------------------------------------------------------------------------------
/public/image/login_img/logoimg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/logoimg.jpg
--------------------------------------------------------------------------------
/public/image/login_img/logoimg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/logoimg.png
--------------------------------------------------------------------------------
/public/image/login_img/logoimg00.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/logoimg00.png
--------------------------------------------------------------------------------
/public/image/login_img/logoimg1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/logoimg1.png
--------------------------------------------------------------------------------
/public/image/login_img/logoimgf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/logoimgf.png
--------------------------------------------------------------------------------
/public/image/login_img/pass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/pass.png
--------------------------------------------------------------------------------
/public/image/login_img/transparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/transparent.png
--------------------------------------------------------------------------------
/public/image/login_img/u37.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/u37.png
--------------------------------------------------------------------------------
/public/image/login_img/user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/user.png
--------------------------------------------------------------------------------
/public/image/login_img/user.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/login_img/user.psd
--------------------------------------------------------------------------------
/public/image/loginbg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/loginbg.png
--------------------------------------------------------------------------------
/public/image/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/logo.png
--------------------------------------------------------------------------------
/public/image/m1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/m1.png
--------------------------------------------------------------------------------
/public/image/m2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/m2.png
--------------------------------------------------------------------------------
/public/image/m3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/m3.png
--------------------------------------------------------------------------------
/public/image/pro01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/pro01.png
--------------------------------------------------------------------------------
/public/image/pro02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/pro02.png
--------------------------------------------------------------------------------
/public/image/pro03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/pro03.png
--------------------------------------------------------------------------------
/public/image/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/search.png
--------------------------------------------------------------------------------
/public/image/search1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/search1.png
--------------------------------------------------------------------------------
/public/image/titlebg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/titlebg.png
--------------------------------------------------------------------------------
/public/image/tongb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/tongb.png
--------------------------------------------------------------------------------
/public/image/yinb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/yinb.png
--------------------------------------------------------------------------------
/public/image/zhuce.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/zhuce.png
--------------------------------------------------------------------------------
/public/image/一等奖.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/一等奖.jpg
--------------------------------------------------------------------------------
/public/image/三等奖.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/三等奖.jpg
--------------------------------------------------------------------------------
/public/image/二等奖.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/image/二等奖.jpg
--------------------------------------------------------------------------------
/public/img/bootstrap-colorpicker/alpha-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/img/bootstrap-colorpicker/alpha-horizontal.png
--------------------------------------------------------------------------------
/public/img/bootstrap-colorpicker/alpha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/img/bootstrap-colorpicker/alpha.png
--------------------------------------------------------------------------------
/public/img/bootstrap-colorpicker/hue-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/img/bootstrap-colorpicker/hue-horizontal.png
--------------------------------------------------------------------------------
/public/img/bootstrap-colorpicker/hue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/img/bootstrap-colorpicker/hue.png
--------------------------------------------------------------------------------
/public/img/bootstrap-colorpicker/saturation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/img/bootstrap-colorpicker/saturation.png
--------------------------------------------------------------------------------
/public/img/cgpi.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/img/cgpi.jpg
--------------------------------------------------------------------------------
/public/img/logo_transparent.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/img/logo_transparent.jpg
--------------------------------------------------------------------------------
/public/img/pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/public/img/pattern.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/js/jquery.spinner.js:
--------------------------------------------------------------------------------
1 | /* ==============================================================================
2 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
3 | * use this file except in compliance with the License. You may obtain a copy of
4 | * the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
10 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
11 | * License for the specific language governing permissions and limitations under
12 | * the License.
13 | */
14 | ;(function ($) {
15 | $.fn.spinner = function (opts) {
16 | return this.each(function () {
17 | var defaults = {value:1, min:0}
18 | var options = $.extend(defaults, opts)
19 | var keyCodes = {up:38, down:40}
20 | var container = $('
')
21 | container.addClass('spinner')
22 | var textField = $(this).addClass('value').attr('maxlength', '4').val(options.value)
23 | .bind('keyup paste change', function (e) {
24 | var field = $(this)
25 | if (e.keyCode == keyCodes.up) changeValue(1)
26 | else if (e.keyCode == keyCodes.down) changeValue(-1)
27 | else if (getValue(field) != container.data('lastValidValue')) validateAndTrigger(field)
28 | })
29 | textField.wrap(container)
30 |
31 | var increaseButton = $('').click(function () { changeValue(1) })
32 | var decreaseButton = $('').click(function () { changeValue(-1) })
33 |
34 | validate(textField)
35 | container.data('lastValidValue', options.value)
36 | textField.before(decreaseButton)
37 | textField.after(increaseButton)
38 |
39 | function changeValue(delta) {
40 | textField.val(getValue() + delta)
41 | validateAndTrigger(textField)
42 | }
43 |
44 | function validateAndTrigger(field) {
45 | clearTimeout(container.data('timeout'))
46 | var value = validate(field)
47 | if (!isInvalid(value)) {
48 | textField.trigger('update', [field, value])
49 | }
50 | }
51 |
52 | function validate(field) {
53 | var value = getValue()
54 | if (value <= options.min) decreaseButton.attr('disabled', 'disabled')
55 | else decreaseButton.removeAttr('disabled')
56 | field.toggleClass('invalid', isInvalid(value)).toggleClass('passive', value === 0)
57 |
58 | if (isInvalid(value)) {
59 | var timeout = setTimeout(function () {
60 | textField.val(container.data('lastValidValue'))
61 | validate(field)
62 | }, 500)
63 | container.data('timeout', timeout)
64 | } else {
65 | container.data('lastValidValue', value)
66 | }
67 | return value
68 | }
69 |
70 | function isInvalid(value) { return isNaN(+value) || value < options.min; }
71 |
72 | function getValue(field) {
73 | field = field || textField;
74 | return parseInt(field.val() || 0, 10)
75 | }
76 | })
77 | }
78 | })(jQuery)
79 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/resources/assets/sass/app.scss:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/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/zh-CN/admin/admin.php:
--------------------------------------------------------------------------------
1 | '设置',
5 | 'homepage' => '回到首页',
6 | 'home' => '首页',
7 | 'welcome' => '欢迎',
8 | 'action' => '操作',
9 | 'back' => '返回',
10 | 'created_at' => '创建时间',
11 | 'updated_at' => '修改时间',
12 | 'language' => '语言',
13 | 'yes' => '是',
14 | 'no' => '否',
15 | 'dashboard' => '面板',
16 | 'view_detail' => '查看详情',
17 | 'news_categories' => '文章分类',
18 | 'news_items' => '文章',
19 | 'photo_albums' => '相册',
20 | 'photo_items' => '图片',
21 | 'users' => '用户',
22 | 'roles' => '角色',
23 | 'blogs' => '博文',
24 | ];
25 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/admin/language.php:
--------------------------------------------------------------------------------
1 | '编码',
5 | 'icon' => '图标',
6 | 'languages' => '语言',
7 | ];
8 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/admin/modal.php:
--------------------------------------------------------------------------------
1 | '创建',
5 | 'edit' => '编辑',
6 | 'reset' => '复位',
7 | 'refresh' => '刷新',
8 | 'cancel' => '取消',
9 | 'general' => '概要',
10 | 'title' => '标题',
11 | 'new' => '新建',
12 | 'delete' => '删除',
13 | 'items' => '条目',
14 | 'list' => '列表',
15 | 'sync' => '同步',
16 | 'ajaxFail' => '表单提交错误',
17 | 'delete_message' => '您确定删除该条目?',
18 | ];
19 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/admin/nav.php:
--------------------------------------------------------------------------------
1 | '返回前端',
5 | 'dashboard' => '控制台',
6 | 'regions' => '区域',
7 | 'language' => '语言',
8 | 'articles' => '文章',
9 | 'articlecategory' => '文章分类',
10 | 'accounts' => '帐号管理',
11 | 'category' => '分类',
12 | 'tag' => '标签',
13 | 'activities' => '活动管理',
14 | 'activities_list' => '活动列表',
15 | 'customs' => '会员管理',
16 | 'customs_list' => '会员列表',
17 | 'customs_pay' => '会员支付记录',
18 | 'pay' => '活动支付记录',
19 | 'pays' => '支付记录',
20 | 'wechat' => '微信服务号',
21 | 'wechat_users' => '关注用户',
22 | 'wechat_groups' => '用户分组',
23 | 'wechat_menus' => '自定义菜单',
24 | 'photo_items' => '图片集',
25 | 'photo_albums' => '相册',
26 | 'photo' => '图片',
27 | 'users' => '用户',
28 | 'roles' => '角色',
29 | 'permissions' => '权限',
30 | 'logout' => '登出',
31 | ];
32 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/admin/permissions.php:
--------------------------------------------------------------------------------
1 | '权限',
5 | 'name' => '权限名',
6 | 'display_name' => '显示名称',
7 | 'description' => '权限描述',
8 | 'choose_permission' => '选择权限',
9 | ];
10 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/admin/roles.php:
--------------------------------------------------------------------------------
1 | '角色',
5 | 'name' => '角色名',
6 | 'display_name' => '显示名称',
7 | 'description' => '角色描述',
8 | 'tag_color' => '标签颜色',
9 | 'adminrole' => '管理员角色',
10 | 'userrole' => '用户角色',
11 | 'choose_role' => '选择权限',
12 | 'user_count' => '用户数',
13 | ];
14 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/admin/users.php:
--------------------------------------------------------------------------------
1 | 'ID',
5 | 'users' => '用户',
6 | 'admin' => '管理员',
7 | 'username' => '用户名',
8 | 'display_name' => '显示名称',
9 | 'email' => '邮件地址',
10 | 'phone' => '手机号码',
11 | 'password' => '密码',
12 | 'password_confirmation' => '确认密码',
13 | 'confirmed' => '激活用户',
14 | 'active_user' => '激活用户',
15 | 'yes' => '是',
16 | 'no' => '否',
17 | 'roles' => '角色',
18 | 'roles_info' => '为用户添加角色权限',
19 | ];
20 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/auth.php:
--------------------------------------------------------------------------------
1 | '验证失败',
17 | 'throttle' => '尝试次数已超出系统限制,请在:seconds秒后重新登录。',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/email.php:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/njwangchuan/laravel-admin/39ef815ce810c8c4b1f90e541f18426398fb355d/resources/lang/zh-CN/email.php
--------------------------------------------------------------------------------
/resources/lang/zh-CN/pagination.php:
--------------------------------------------------------------------------------
1 | '« 上一页',
17 | 'next' => '下一页 »',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/passwords.php:
--------------------------------------------------------------------------------
1 | '密码至少6位字符且两次输入一致。',
17 | 'reset' => '您的密码已经重置。',
18 | 'sent' => '已向您的注册邮箱发送密码重置邮件。',
19 | 'token' => '无效的密码重置请求。',
20 | 'user' => "该邮箱未被注册。",
21 |
22 | ];
23 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/photos.php:
--------------------------------------------------------------------------------
1 | '图片描述',
5 | 'tags' => '图片标签',
6 | ];
7 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/reminders.php:
--------------------------------------------------------------------------------
1 | '密码至少6位字符且两次输入一致。',
17 | 'reset' => '您的密码已经重置。',
18 | 'sent' => '已向您的注册邮箱发送密码重置邮件。',
19 | 'token' => '无效的密码重置请求。',
20 | 'user' => "该邮箱未被注册。",
21 | ];
22 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/site/login.php:
--------------------------------------------------------------------------------
1 | '登录界面',
5 | 'title' => 'Laravel Admin',
6 | 'username' => '用户名',
7 | 'username_placeholder' => '请输入您的用户名',
8 | 'email' => 'Email地址',
9 | 'email_placeholder' => '请输入您的注册邮箱',
10 | 'name' => '用户名',
11 | 'name_placeholder' => '请输入您的用户名',
12 | 'password' => '登录密码',
13 | 'password_placeholder' => '请输入您的密码',
14 | 'rememberme' => '记住我',
15 | 'login' => '登录',
16 | 'forget' => '忘记密码',
17 | ];
18 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/site/register.php:
--------------------------------------------------------------------------------
1 | '注册界面',
5 | 'title' => '注册用户',
6 | 'name' => '用户名',
7 | 'name_placeholder' => '用户名唯一,只支持英文字母数字和下划线',
8 | 'display_name' => '显示名称',
9 | 'display_name_placeholder' => '请输入您的姓名',
10 | 'phone' => '手机号码',
11 | 'phone_placeholder' => '请输入有效的手机号码',
12 | 'email' => 'Email地址',
13 | 'email_placeholder' => '请输入有效的邮箱地址接受确认邮件',
14 | 'org' => '机构',
15 | 'org_placeholder' => '请输入就职机构',
16 | 'grade' => '班级',
17 | 'grade_placeholder' => '请输入班级信息',
18 | 'job' => '职务',
19 | 'job_placeholder' => '请输入职务',
20 | 'referee' => '班主任',
21 | 'referee_placeholder' => '请输入班主任',
22 | 'address' => '联系地址',
23 | 'address_placeholder' => '请输入联系地址',
24 | 'password' => '登录密码',
25 | 'password_placeholder' => '请输入您的密码,6-20位',
26 | 'password_comfirmation' => '确认登录密码',
27 | 'password_comfirmation_placeholder' =>'重新输入密码,保持一致',
28 | 'register' => '注册',
29 | 'forget' => '忘记密码',
30 | 'pay_status' => '支付状态',
31 | 'pay_status.0' => '待支付',
32 | 'pay_status.1' => '待确认',
33 | 'pay_status.2' => '已确认',
34 | 'captcha_placeholder' => '输入验证码,点击图片刷新',
35 | ];
36 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/site/site.php:
--------------------------------------------------------------------------------
1 | '首页',
5 | 'admin_dashboard' => '管理员面板',
6 | 'nav_title' => 'Laravel Admin',
7 | 'user_profile' => '个人资料',
8 | 'user_setting' => '帐号设置',
9 | 'find_out' => '进入系列',
10 | 'join_us' => '还没有帐号?赶紧行动!',
11 | 'for' => 'For Laravel',
12 | 'albums' => '相册',
13 | 'blogs' => '博客',
14 | 'about' => '关于',
15 | 'about_us' => '关于我们',
16 | 'frendly_link' => '友情链接',
17 | 'server' => '服务提供商',
18 | 'return' => '返回首页',
19 | 'copyright' => '服务条款',
20 | 'contact' => '联系',
21 | 'login' => '登录',
22 | 'sign_up' => '注册',
23 | 'admin_panel' => '管理员面板',
24 | 'logout' => '登出',
25 | 'login_as' => '登录为',
26 | ];
27 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/site/user.php:
--------------------------------------------------------------------------------
1 | '登录',
5 | 'login_to_account' => '登录至您的帐号',
6 | 'submit' => '提交',
7 | 'register' => '创建帐号',
8 | 'remember' => '记住我',
9 | 'password' => '密码',
10 | 'e_mail' => '邮件地址',
11 | 'register' => '注册',
12 | 'password_confirmation' => '确认密码',
13 | 'confirmation_required' => '需要确认',
14 | 'name' => '名称',
15 | 'home' => '首页',
16 | 'email_required' => '您需要提供一个有效的邮件地址',
17 | 'email_unique' => '邮箱已被注册',
18 | 'name_required' => '您需要提供一个有效名称',
19 | 'password_required' => '您需要提供密码',
20 | 'password_confirmed' => '您需要确认密码',
21 | 'change_password' => '修改密码',
22 | ];
23 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/site/verify.php:
--------------------------------------------------------------------------------
1 | 'Email verification',
5 | 'email-intro'=> 'To validate your email ',
6 | 'email-link' => 'click on this link',
7 | 'message' => 'Thanks for signing up! Please check your email.',
8 | 'success' => 'You have successfully verified your account! You can now login.',
9 | 'again' => 'You must verify your email before you can access the site. ' .
10 | '
If you have not received the confirmation email check your spam folder.'.
11 | '
To get a new confirmation email please clic here.',
12 | 'resend' => 'A confirmation message has been sent. Please check your email.'
13 | ];
14 |
15 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/table.php:
--------------------------------------------------------------------------------
1 | "标题",
6 | 'new' => "新建",
7 | 'created_at' => '创建时间',
8 | 'actions' => '操作',
9 | 'edit' => '编辑',
10 | 'details' => '详情',
11 | 'delete' => '删除',
12 | 'cancel' => '取消',
13 | 'ok' => 'OK',
14 | "report" => "报告",
15 | 'close' => '关闭',
16 | 'back' => '返回',
17 | 'search' => '搜索',
18 | 'start' => '开始',
19 | 'prev' => '上一页',
20 | 'next' => '下一页',
21 | 'last' => '末页',
22 | 'filter' => '(在 _MAX_ 个记录中过滤)',
23 | 'view' => '显示 0 到 0 个记录,在总计 0 个记录中',
24 | 'show' => '显示从 _START_ 到 _END_ 个记录,在总计 _TOTAL_ 个记录中',
25 | 'noresult' => '没有记录',
26 | 'showmenu' => '每页显示 _MENU_ 记录',
27 | 'processing' => '正在获取 ...',
28 | 'sort' => '排序',
29 | 'emptytable' => '暂无数据',
30 | ];
31 |
--------------------------------------------------------------------------------
/resources/lang/zh-CN/validation.php:
--------------------------------------------------------------------------------
1 | '验证码错误',
6 | 'unique' => ':attribute 已存在',
7 | 'accepted' => ':attribute 是被接受的',
8 | 'active_url' => ':attribute 必须是一个合法的 URL',
9 | 'after' => ':attribute 必须是 :date 之后的一个日期',
10 | 'alpha' => ':attribute 必须全部由字母字符构成。',
11 | 'alpha_dash' => ':attribute 必须全部由字母、数字、中划线或下划线字符构成',
12 | 'alpha_num' => ':attribute 必须全部由字母和数字构成',
13 | 'array' => ':attribute 必须是个数组',
14 | 'before' => ':attribute 必须是 :date 之前的一个日期',
15 | 'between' => [
16 | 'numeric' => ':attribute 必须在 :min 到 :max 之间',
17 | 'file' => ':attribute 必须在 :min 到 :max KB之间',
18 | 'string' => ':attribute 必须在 :min 到 :max 个字符之间',
19 | 'array' => ':attribute 必须在 :min 到 :max 项之间',
20 | ],
21 | 'boolean' => ':attribute 字符必须是 true 或 false',
22 | 'confirmed' => ':attribute 二次确认不匹配',
23 | 'date' => ':attribute 必须是一个合法的日期',
24 | 'date_format' => ':attribute 与给定的格式 :format 不符合',
25 | 'different' => ':attribute 必须不同于:other',
26 | 'digits' => ':attribute 必须是 :digits 位',
27 | 'digits_between' => ':attribute 必须在 :min and :max 位之间',
28 | 'email' => ':attribute 必须是一个合法的电子邮件地址。',
29 | 'filled' => ':attribute 的字段是必填的',
30 | 'exists' => '选定的 :attribute 是无效的',
31 | 'image' => ':attribute 必须是一个图片 (jpeg, png, bmp 或者 gif)',
32 | 'in' => '选定的 :attribute 是无效的',
33 | 'integer' => ':attribute 必须是个整数',
34 | 'ip' => ':attribute 必须是一个合法的 IP 地址。',
35 | 'max' => [
36 | 'numeric' => ':attribute 的最大长度为 :max 位',
37 | 'file' => ':attribute 的最大为 :max',
38 | 'string' => ':attribute 的最大长度为 :max 字符',
39 | 'array' => ':attribute 的最大个数为 :max 个',
40 | ],
41 | 'mimes' => ':attribute 的文件类型必须是:values',
42 | 'min' => [
43 | 'numeric' => ':attribute 的最小长度为 :min 位',
44 | 'string' => ':attribute 的最小长度为 :min 字符',
45 | 'file' => ':attribute 大小至少为:min KB',
46 | 'array' => ':attribute 至少有 :min 项',
47 | ],
48 | 'not_in' => '选定的 :attribute 是无效的',
49 | 'numeric' => ':attribute 必须是数字',
50 | 'regex' => ':attribute 格式是无效的',
51 | 'required' => ':attribute 必须填写',
52 | 'required_if' => ':attribute 是必须的当 :other 是 :value',
53 | 'required_with' => ':attribute 是必须的当 :values 是存在的',
54 | 'required_with_all' => ':attribute 是必须的当 :values 是存在的',
55 | 'required_without' => ':attribute 是必须的当 :values 是不存在的',
56 | 'required_without_all' => ':attribute 是必须的当 没有一个 :values 是存在的',
57 | 'same' => ':attribute 和 :other 必须匹配',
58 | 'size' => [
59 | 'numeric' => ':attribute 必须是 :size 位',
60 | 'file' => ':attribute 必须是 :size KB',
61 | 'string' => ':attribute 必须是 :size 个字符',
62 | 'array' => ':attribute 必须包括 :size 项',
63 | ],
64 | 'url' => ':attribute 无效的格式',
65 | 'timezone' => ':attribute 必须个有效的时区',
66 | "phone" => ":attribute 无效的格式",
67 |
68 | /*
69 | |--------------------------------------------------------------------------
70 | | Custom Validation Language Lines
71 | |--------------------------------------------------------------------------
72 | |
73 | | Here you may specify custom validation messages for attributes using the
74 | | convention "attribute.rule" to name the lines. This makes it quick to
75 | | specify a specific custom language line for a given attribute rule.
76 | |
77 | */
78 | 'custom' => [
79 | 'attribute-name' => [
80 | 'rule-name' => 'custom-message',
81 | ],
82 | ],
83 |
84 | /*
85 | |--------------------------------------------------------------------------
86 | | Custom Validation Attributes
87 | |--------------------------------------------------------------------------
88 | |
89 | | The following language lines are used to swap attribute place-holders
90 | | with something more reader friendly such as E-Mail Address instead
91 | | of "email". This simply helps us make messages a little cleaner.
92 | |
93 | */
94 | 'attributes' => [
95 | 'username' => '用户名',
96 | 'account' => '账号',
97 | 'captcha' => '验证码',
98 | 'mobile' => '手机号',
99 | 'password' => '密码',
100 | 'content' => '内容',
101 | 'identity' => '手机号/用户名',
102 | 'display_name' => '显示名称',
103 | 'email' => '邮件地址',
104 | 'phone' => '手机号',
105 | ],
106 |
107 | ];
108 |
--------------------------------------------------------------------------------
/resources/views/admin/dashboard/index.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.default_name_column')
2 |
3 | {{-- Web site Title --}}
4 | @section('title') {{ trans("admin/admin.dashboard") }} :: @parent @stop
5 |
6 | {{-- Content --}}
7 | @section('main')
8 |
9 |
14 |
15 |
16 |
17 |
18 | @endsection
19 |
--------------------------------------------------------------------------------
/resources/views/admin/permission/create_edit.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.modal')
2 | {{-- Content --}}
3 | @section('content')
4 | @if (isset($permission))
5 | {!! Form::model($permission, array('url' => URL::to('admin/permission') . '/' . $permission->id, 'method' => 'put', 'class' => 'bf', 'files'=> true)) !!}
6 | @else
7 | {!! Form::open(array('url' => URL::to('admin/permission'), 'method' => 'post', 'class' => 'bf', 'files'=> true)) !!}
8 | @endif
9 |
10 |
11 |
12 |
28 |
48 | {!! Form::close() !!}
49 | @stop @section('scripts')
50 |
55 |
56 | @stop
57 |
--------------------------------------------------------------------------------
/resources/views/admin/permission/delete.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.modal')
2 | @section('content')
3 | {!! Form::model($permission, array('url' => URL::to('admin/permission') . '/' . $permission->id, 'method' => 'delete', 'class' => 'bf', 'files'=> true)) !!}
4 |
16 | {!! Form::close() !!}
17 | @stop
18 |
--------------------------------------------------------------------------------
/resources/views/admin/permission/index.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.default_name_column')
2 |
3 | {{-- Web site Title --}}
4 | @section('title') {!! trans("admin/permissions.permissions") !!} :: @parent
5 | @stop
6 |
7 | {{-- Content --}}
8 | @section('main')
9 |
10 |
11 |
17 |
18 |
19 |
20 |
28 |
29 |
30 |
31 |
32 | {!! trans("admin/permissions.name") !!} |
33 | {!! trans("admin/permissions.display_name") !!} |
34 | {!! trans("admin/permissions.description") !!} |
35 | {!! trans("admin/admin.created_at") !!} |
36 | {!! trans("admin/admin.action") !!} |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | @stop
46 |
47 | {{-- Scripts --}}
48 | @section('scripts')
49 | @parent
50 | @stop
51 |
--------------------------------------------------------------------------------
/resources/views/admin/role/create_edit.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.modal')
2 |
3 | {{-- Content --}}
4 | @section('content')
5 | @if (isset($role))
6 | {!! Form::model($role, array('url' => URL::to('admin/role') . '/' . $role->id, 'method' => 'put', 'class' => 'bf', 'files'=> true)) !!}
7 | @else
8 | {!! Form::open(array('url' => URL::to('admin/role'), 'method' => 'post', 'class' => 'bf', 'files'=> true)) !!}
9 | @endif
10 |
11 |
12 |
13 |
43 |
63 | {!! Form::close() !!}
64 |
65 | @stop
66 | @section('scripts')
67 |
72 | @stop
73 |
--------------------------------------------------------------------------------
/resources/views/admin/role/delete.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.modal')
2 | @section('content')
3 | {!! Form::model($role, array('url' => URL::to('admin/role') . '/' . $role->id, 'method' => 'delete', 'class' => 'bf', 'files'=> true)) !!}
4 |
16 | {!! Form::close() !!}
17 | @stop
18 |
--------------------------------------------------------------------------------
/resources/views/admin/role/index.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.default_name_column')
2 |
3 | {{-- Web site Title --}}
4 | @section('title') {!! trans("admin/roles.roles") !!} :: @parent
5 | @stop
6 |
7 | {{-- Content --}}
8 | @section('main')
9 |
10 |
11 |
17 |
18 |
19 |
20 |
28 |
29 |
30 |
31 |
32 | {!! trans("admin/roles.name") !!} |
33 | {!! trans("admin/roles.display_name") !!} |
34 | {!! trans("admin/roles.description") !!} |
35 | {!! trans("admin/roles.tag_color") !!} |
36 | {!! trans("admin/admin.created_at") !!} |
37 | {!! trans("admin/roles.user_count") !!} |
38 | {!! trans("admin/admin.action") !!} |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | @stop
48 |
49 | {{-- Scripts --}}
50 | @section('scripts')
51 | @parent
52 | @stop
53 |
--------------------------------------------------------------------------------
/resources/views/admin/user/create_edit.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.modal')
2 |
3 | {{-- Content --}}
4 | @section('content')
5 | @if (isset($user))
6 | {!! Form::model($user, array('url' => URL::to('admin/user') . '/' . $user->id, 'method' => 'put', 'class' => 'bf', 'files'=> true)) !!}
7 | @else
8 | {!! Form::open(array('url' => URL::to('admin/user'), 'method' => 'post', 'class' => 'bf', 'files'=> true)) !!}
9 | @endif
10 |
11 |
12 |
13 |
20 |
27 |
34 |
41 | @if (!isset($user))
42 |
49 |
56 | @endif
57 |
67 |
68 | @if (isset($role))
69 | {{ Form::hidden('roles[]', $role->id) }}
70 | @else
71 |
72 | {!! Form::label('roles', trans("admin/users.roles"), array('class' => 'control-label')) !!}
73 |
82 |
83 | @endif
84 |
85 |
86 |
104 | {!! Form::close() !!}
105 |
106 | @stop
107 | @section('scripts')
108 |
113 | @stop
114 |
--------------------------------------------------------------------------------
/resources/views/admin/user/delete.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.modal')
2 | @section('content')
3 | {!! Form::model($user, array('url' => URL::to('admin/user') . '/' . $user->id, 'method' => 'delete', 'class' => 'bf', 'files'=> true)) !!}
4 |
16 | {!! Form::close() !!}
17 | @stop
18 |
--------------------------------------------------------------------------------
/resources/views/admin/user/index.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.default_name_column')
2 |
3 | {{-- Web site Title --}}
4 | @section('title') {!! trans("admin/users.users") !!} :: @parent
5 | @stop
6 |
7 | {{-- Content --}}
8 | @section('main')
9 |
10 |
11 |
17 |
18 |
19 |
20 |
34 |
35 |
36 |
37 |
38 | {!! trans("admin/users.username") !!} |
39 | {!! trans("admin/users.display_name") !!} |
40 | {!! trans("admin/users.confirmed") !!} |
41 | {!! trans("admin/admin.created_at") !!} |
42 | {!! trans("admin/admin.roles") !!} |
43 | {!! trans("admin/admin.action") !!} |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | @stop
53 |
54 | {{-- Scripts --}}
55 | @section('scripts')
56 | @parent
57 | @stop
58 |
--------------------------------------------------------------------------------
/resources/views/auth/emails/password.blade.php:
--------------------------------------------------------------------------------
1 | Click here to reset your password: {{ $link }}
2 |
--------------------------------------------------------------------------------
/resources/views/auth/login.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.guest')
2 |
3 | @section('styles')
4 | @parent
5 |
6 | @endsection
7 |
8 | @section('content')
9 |
10 |
11 |
12 |
13 |
{!! trans("site/login.title") !!}
14 |
15 |
64 |
65 |
66 |
67 |
68 |
69 | @endsection
70 |
71 | @section('scripts')
72 | @parent
73 |
79 | @stop
80 |
--------------------------------------------------------------------------------
/resources/views/auth/passwords/email.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 |
3 |
4 | @section('content')
5 |
6 |
7 |
8 |
9 |
Reset Password
10 |
11 | @if (session('status'))
12 |
13 | {{ session('status') }}
14 |
15 | @endif
16 |
17 |
42 |
43 |
44 |
45 |
46 |
47 | @endsection
48 |
--------------------------------------------------------------------------------
/resources/views/auth/passwords/reset.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 |
3 | @section('content')
4 |
5 |
6 |
7 |
8 |
Reset Password
9 |
10 |
66 |
67 |
68 |
69 |
70 | @endsection
71 |
--------------------------------------------------------------------------------
/resources/views/auth/register.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.guest')
2 |
3 | @section('styles')
4 | @parent
5 |
6 | @endsection
7 |
8 | @section('content')
9 |
10 |
11 |
12 |
13 |
{!! trans("site/register.title") !!}
14 |
15 |
90 |
91 |
92 |
93 |
94 | @endsection
95 |
96 | @section('scripts')
97 | @parent
98 |
104 | @stop
105 |
--------------------------------------------------------------------------------
/resources/views/emails/auth/password.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{ $title }}
8 |
9 |
10 | {!! $intro . link_to('password/reset/' . $token, $link) !!}.
11 | {{ $expire . config('auth.reminder.expire', 60) . $minutes}}.
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/resources/views/emails/auth/verify.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{ $title }}
8 |
9 |
10 | {!! $intro . link_to('auth/confirm/' . $confirmation_code, $link) !!}.
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/resources/views/errors/503.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Be right back.
5 |
6 |
7 |
8 |
39 |
40 |
41 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/resources/views/home.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 |
3 | @section('styles')
4 | @parent
5 |
6 | @endsection
7 |
8 | @section('header')
9 |
12 | @endsection
13 |
14 | @section('content')
15 |
16 | 欢迎使用 laravel admin
17 |
18 |
laravel admin 是基于Laravel的管理后台原型项目,您正在使用的是Laravel 5.5 LTS 版本
19 |
20 | 系统功能
21 | 前台
22 |
23 | - 首页
24 | - 用户注册
25 | - 用户登录
26 |
27 | 后台
28 |
29 | - 用户管理
30 | - 角色管理
31 | - 权限管理
32 |
33 | 组件
34 |
35 | - sb-admin-2
36 | - entrust
37 | - laravel-datatables
38 | - 图形验证码
39 | - 标签颜色选择器
40 | - 语义化的form表单
41 |
42 |
43 | @endsection
44 |
45 | @section('scripts')
46 | @parent
47 |
48 | @endsection
49 |
--------------------------------------------------------------------------------
/resources/views/layouts/app.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | @section('title') Laravel Admin @show
9 | @section('favicon')
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | @show
28 | @section('meta_keywords')
29 |
30 | @show
31 | @section('meta_author')
32 |
33 | @show
34 | @section('meta_description')
35 |
37 | @show
38 | @section('styles')
39 |
40 | @show
41 |
42 |
43 |
89 |
90 | @yield('content')
91 |
92 | @section('scripts')
93 |
94 | @show
95 |
96 |
97 |
--------------------------------------------------------------------------------
/resources/views/layouts/guest.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | @section('title') Laravel Admin @show
9 | @section('favicon')
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | @show
28 | @section('meta_keywords')
29 |
30 | @show
31 | @section('meta_author')
32 |
33 | @show
34 | @section('meta_description')
35 |
37 | @show
38 | @section('styles')
39 |
40 | @show
41 |
42 |
43 |
95 |
96 | @yield('content')
97 |
98 | @section('scripts')
99 |
100 | @show
101 |