├── .env.example
├── .gitattributes
├── .gitignore
├── .phpstorm.meta.php
├── _ide_helper.php
├── apidoc.json
├── app
├── Console
│ ├── Commands
│ │ └── Inspire.php
│ └── Kernel.php
├── Events
│ └── Event.php
├── Exceptions
│ └── Handler.php
├── Http
│ ├── Api
│ │ └── V1
│ │ │ ├── Controllers
│ │ │ ├── BaseController.php
│ │ │ ├── CategoryController.php
│ │ │ ├── FeedbackController.php
│ │ │ ├── OptionController.php
│ │ │ └── WallpaperController.php
│ │ │ ├── Model
│ │ │ ├── Category.php
│ │ │ ├── Feedback.php
│ │ │ ├── Option.php
│ │ │ ├── User.php
│ │ │ └── Wallpaper.php
│ │ │ └── Transformers
│ │ │ ├── CategoryTransformer.php
│ │ │ ├── FeedbackTransformer.php
│ │ │ ├── OptionTransformer.php
│ │ │ └── WallpaperTransformer.php
│ ├── ApiHelper.php
│ ├── Controllers
│ │ ├── Admin
│ │ │ ├── BaseController.php
│ │ │ ├── CategoryController.php
│ │ │ ├── FeedbackController.php
│ │ │ ├── IndexController.php
│ │ │ ├── OptionController.php
│ │ │ ├── UserController.php
│ │ │ └── WallpaperController.php
│ │ ├── Auth
│ │ │ ├── AuthController.php
│ │ │ └── PasswordController.php
│ │ └── Controller.php
│ ├── Kernel.php
│ ├── Middleware
│ │ ├── AdminLogin.php
│ │ ├── Authenticate.php
│ │ ├── CkeckRegister.php
│ │ ├── EncryptCookies.php
│ │ ├── RedirectIfAuthenticated.php
│ │ └── VerifyCsrfToken.php
│ ├── Requests
│ │ └── Request.php
│ ├── ResizeImage.php
│ └── routes.php
├── Jobs
│ └── Job.php
├── Listeners
│ └── .gitkeep
├── Policies
│ └── .gitkeep
└── Providers
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
├── artisan
├── bootstrap
├── app.php
├── autoload.php
└── cache
│ └── .gitignore
├── composer.json
├── composer.lock
├── config
├── api.php
├── app.php
├── auth.php
├── broadcasting.php
├── cache.php
├── compile.php
├── database.php
├── filesystems.php
├── ide-helper.php
├── jwt.php
├── mail.php
├── queue.php
├── services.php
├── session.php
└── view.php
├── database
├── .gitignore
├── factories
│ └── ModelFactory.php
├── migrations
│ ├── .gitkeep
│ ├── 2016_07_19_044052_create_users_table.php
│ ├── 2016_07_19_044211_create_feedback_table.php
│ ├── 2016_07_19_044243_create_wallpapers_table.php
│ ├── 2016_07_19_044751_create_options_table.php
│ └── 2016_07_20_140512_create_categories_table.php
└── seeds
│ ├── .gitkeep
│ ├── CategoriesTableSeeder.php
│ ├── DatabaseSeeder.php
│ ├── OptionsTableSeeder.php
│ └── UsersTableSeeder.php
├── githubimg
├── example1.jpg
└── example2.jpg
├── gulpfile.js
├── package.json
├── phpunit.xml
├── public
├── .htaccess
├── apidoc
│ ├── api_data.js
│ ├── api_data.json
│ ├── api_project.js
│ ├── api_project.json
│ ├── css
│ │ └── style.css
│ ├── img
│ │ ├── favicon.ico
│ │ ├── glyphicons-halflings-white.png
│ │ └── glyphicons-halflings.png
│ ├── index.html
│ ├── locales
│ │ ├── ca.js
│ │ ├── de.js
│ │ ├── es.js
│ │ ├── fr.js
│ │ ├── it.js
│ │ ├── locale.js
│ │ ├── nl.js
│ │ ├── pl.js
│ │ ├── pt_br.js
│ │ ├── ru.js
│ │ ├── zh.js
│ │ └── zh_cn.js
│ ├── main.js
│ ├── utils
│ │ ├── handlebars_helper.js
│ │ └── send_sample_request.js
│ └── vendor
│ │ ├── bootstrap-responsive.min.css
│ │ ├── bootstrap.min.css
│ │ ├── bootstrap.min.js
│ │ ├── diff_match_patch.min.js
│ │ ├── handlebars.min.js
│ │ ├── jquery.min.js
│ │ ├── lodash.min.js
│ │ ├── path-to-regexp
│ │ ├── LICENSE
│ │ └── index.js
│ │ ├── polyfill.js
│ │ ├── prettify.css
│ │ ├── prettify
│ │ ├── lang-apollo.js
│ │ ├── lang-basic.js
│ │ ├── lang-clj.js
│ │ ├── lang-css.js
│ │ ├── lang-dart.js
│ │ ├── lang-erlang.js
│ │ ├── lang-go.js
│ │ ├── lang-hs.js
│ │ ├── lang-lisp.js
│ │ ├── lang-llvm.js
│ │ ├── lang-lua.js
│ │ ├── lang-matlab.js
│ │ ├── lang-ml.js
│ │ ├── lang-mumps.js
│ │ ├── lang-n.js
│ │ ├── lang-pascal.js
│ │ ├── lang-proto.js
│ │ ├── lang-r.js
│ │ ├── lang-rd.js
│ │ ├── lang-scala.js
│ │ ├── lang-sql.js
│ │ ├── lang-tcl.js
│ │ ├── lang-tex.js
│ │ ├── lang-vb.js
│ │ ├── lang-vhdl.js
│ │ ├── lang-wiki.js
│ │ ├── lang-xq.js
│ │ ├── lang-yaml.js
│ │ ├── prettify.css
│ │ ├── prettify.js
│ │ └── run_prettify.js
│ │ ├── require.min.js
│ │ ├── semver.min.js
│ │ └── webfontloader.js
├── assets
│ ├── css
│ │ ├── AdminLTE.min.css
│ │ ├── blue.css
│ │ ├── bootstrap.min.css
│ │ ├── font-awesome.min.css
│ │ ├── ionicons.min.css
│ │ └── skin-blue.min.css
│ ├── fonts
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.svg
│ │ ├── fontawesome-webfont.ttf
│ │ ├── fontawesome-webfont.woff
│ │ ├── fontawesome-webfont.woff2
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ ├── glyphicons-halflings-regular.woff2
│ │ ├── ionicons.eot
│ │ ├── ionicons.svg
│ │ ├── ionicons.ttf
│ │ └── ionicons.woff
│ ├── img
│ │ ├── avatar.png
│ │ ├── avatar04.png
│ │ ├── avatar2.png
│ │ ├── avatar3.png
│ │ ├── avatar5.png
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ ├── boxed-bg.jpg
│ │ ├── boxed-bg.png
│ │ ├── credit
│ │ │ ├── american-express.png
│ │ │ ├── cirrus.png
│ │ │ ├── mastercard.png
│ │ │ ├── mestro.png
│ │ │ ├── paypal.png
│ │ │ ├── paypal2.png
│ │ │ └── visa.png
│ │ ├── default-50x50.gif
│ │ ├── icons.png
│ │ ├── photo1.png
│ │ ├── photo2.png
│ │ ├── photo3.jpg
│ │ ├── photo4.jpg
│ │ ├── user1-128x128.jpg
│ │ ├── user2-160x160.jpg
│ │ ├── user3-128x128.jpg
│ │ ├── user4-128x128.jpg
│ │ ├── user5-128x128.jpg
│ │ ├── user6-128x128.jpg
│ │ ├── user7-128x128.jpg
│ │ └── user8-128x128.jpg
│ └── js
│ │ ├── app.min.js
│ │ ├── bootstrap.min.js
│ │ ├── html5shiv.min.js
│ │ ├── icheck.min.js
│ │ ├── jquery-2.2.3.min.js
│ │ └── respond.min.js
├── favicon.ico
├── index.php
├── robots.txt
├── vendor
│ ├── layer
│ │ ├── layer.js
│ │ └── skin
│ │ │ ├── default
│ │ │ ├── icon-ext.png
│ │ │ ├── icon.png
│ │ │ ├── loading-0.gif
│ │ │ ├── loading-1.gif
│ │ │ └── loading-2.gif
│ │ │ └── layer.css
│ └── uploadifive
│ │ ├── check-exists.php
│ │ ├── index.php
│ │ ├── jquery.uploadifive.js
│ │ ├── jquery.uploadifive.min.js
│ │ ├── uploadifive-cancel.png
│ │ ├── uploadifive-image-only.php
│ │ ├── uploadifive.css
│ │ └── uploadifive.php
└── web.config
├── readme.md
├── resources
├── assets
│ └── sass
│ │ └── app.scss
├── lang
│ └── en
│ │ ├── auth.php
│ │ ├── pagination.php
│ │ ├── passwords.php
│ │ └── validation.php
└── views
│ ├── admin
│ ├── apidoc.blade.php
│ ├── category
│ │ ├── create.blade.php
│ │ └── index.blade.php
│ ├── feedback
│ │ └── index.blade.php
│ ├── index.blade.php
│ ├── option
│ │ └── index.blade.php
│ ├── user
│ │ ├── login.blade.php
│ │ ├── modify.blade.php
│ │ └── register.blade.php
│ └── wallpaper
│ │ ├── create.blade.php
│ │ └── index.blade.php
│ ├── errors
│ └── 503.blade.php
│ ├── layouts
│ ├── Common
│ │ ├── footer.blade.php
│ │ ├── header.blade.php
│ │ └── sidebar.blade.php
│ ├── dashboard.blade.php
│ └── login.blade.php
│ └── vendor
│ └── .gitkeep
├── server.php
├── storage
├── app
│ ├── .gitignore
│ └── public
│ │ └── .gitignore
├── framework
│ ├── .gitignore
│ ├── cache
│ │ └── .gitignore
│ ├── sessions
│ │ └── .gitignore
│ └── views
│ │ └── .gitignore
└── logs
│ └── .gitignore
└── tests
├── ExampleTest.php
└── TestCase.php
/.env.example:
--------------------------------------------------------------------------------
1 | APP_ENV=local
2 | APP_DEBUG=true
3 | APP_KEY=base64:bGeGcriRxtGl385PRHLfCv6rv+T2W27PvfSLXCZ75lw=
4 | APP_URL=http://localhost
5 |
6 | DB_CONNECTION=mysql
7 | DB_HOST=192.168.10.10
8 | DB_PORT=3306
9 | DB_DATABASE=jiansan
10 | DB_USERNAME=homestead
11 | DB_PASSWORD=secret
12 | DB_PREFIX=jf_
13 |
14 | CACHE_DRIVER=file
15 | SESSION_DRIVER=file
16 | QUEUE_DRIVER=sync
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 |
29 | API_STANDARDS_TREE=vnd
30 | API_PREFIX=api
31 | API_VERSION=v1
32 | API_DEFAULT_FORMAT=json
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.css linguist-vendored
3 | *.scss linguist-vendored
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /vendor
2 | /node_modules
3 | /public/uploads
4 | /public/temp
5 | Homestead.yaml
6 | Homestead.json
7 | .env
8 | .DS_Store
9 | .idea
10 |
--------------------------------------------------------------------------------
/apidoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "剑三壁纸API文档",
3 | "title": "剑三壁纸API文档",
4 | "url" : "http://www.jiansan.com/api",
5 | "version": "0.0.1"
6 | }
--------------------------------------------------------------------------------
/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 | response->collection($categories, new CategoryTransformer())->setMeta(ApiHelper::metaArray('获取分类信息成功'));
111 | } else {
112 | return $this->response->error('获取分类信息失败', 404);
113 | }
114 | }
115 | }
116 |
--------------------------------------------------------------------------------
/app/Http/Api/V1/Controllers/FeedbackController.php:
--------------------------------------------------------------------------------
1 | only(['contact', 'content']));
44 | if ($feedback) {
45 | return $this->response->item($feedback, new FeedbackTransformer())->setMeta(ApiHelper::metaArray('提交反馈信息成功'));
46 | } else {
47 | return $this->response->error('提交反馈信息失败', 404);
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/app/Http/Api/V1/Controllers/OptionController.php:
--------------------------------------------------------------------------------
1 | first();
48 | if ($option) {
49 | return $this->response->item($option, new OptionTransformer())->setMeta(ApiHelper::metaArray('获取配置信息成功'));
50 | } else {
51 | return $this->response->errorNotFound('配置信息不存在');
52 | }
53 |
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/app/Http/Api/V1/Model/Category.php:
--------------------------------------------------------------------------------
1 | $categorie->id,
17 | 'name' => $categorie->name,
18 | 'alias' => $categorie->alias,
19 | ];
20 | }
21 | }
--------------------------------------------------------------------------------
/app/Http/Api/V1/Transformers/FeedbackTransformer.php:
--------------------------------------------------------------------------------
1 | $feedback->contact,
17 | 'content' => $feedback->content,
18 | ];
19 | }
20 | }
--------------------------------------------------------------------------------
/app/Http/Api/V1/Transformers/OptionTransformer.php:
--------------------------------------------------------------------------------
1 | $option->id,
17 | 'name' => $option->name,
18 | 'content' => $option->content,
19 | 'comment' => $option->comment,
20 | ];
21 | }
22 | }
--------------------------------------------------------------------------------
/app/Http/Api/V1/Transformers/WallpaperTransformer.php:
--------------------------------------------------------------------------------
1 | $wallpaper->id,
17 | 'category_id' => $wallpaper->category_id,
18 | 'bigpath' => $wallpaper->bigpath,
19 | 'smallpath' => $wallpaper->smallpath,
20 | 'view' => $wallpaper->view,
21 | 'created_at' => $wallpaper->created_at,
22 | 'updated_at' => $wallpaper->updated_at,
23 | ];
24 | }
25 | }
--------------------------------------------------------------------------------
/app/Http/ApiHelper.php:
--------------------------------------------------------------------------------
1 | $status,
19 | 'code' => $code,
20 | 'message' => $message,
21 | 'data' => $data,
22 | ]);
23 | }
24 |
25 | /**
26 | * 元数据数组
27 | * @param string $message
28 | * @param string $status
29 | * @param int $code
30 | * @return array
31 | */
32 | static public function metaArray($message = '', $status = 'success', $code = 200)
33 | {
34 | return [
35 | 'status' => $status,
36 | 'status_code' => $code,
37 | 'message' => $message,
38 | ];
39 | }
40 | }
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/BaseController.php:
--------------------------------------------------------------------------------
1 | paginate(15);
18 | return view('admin/category/index', compact('categories'));
19 | }
20 |
21 | // get admin/category/{category} 显示单个分类信息
22 | public function show()
23 | {
24 |
25 | }
26 |
27 | // get admin/category/create 添加分类 create、store是连续的操作,create获取创建前需要的数据,store存储数据
28 | public function create()
29 | {
30 | return view('admin/category/create');
31 | }
32 |
33 | // post admin/category 添加分类提交处理
34 | public function store(Request $request)
35 | {
36 | $validator = Validator::make($request->all(), [
37 | 'name' => ['required', 'unique:categories'],
38 | 'alias' => ['required', 'unique:categories'],
39 | ], [
40 | 'name.required' => '名称不能为空',
41 | 'name.unique' => '名称已经存在',
42 | 'alias.required' => '别名不能为空',
43 | 'alias.unique' => '别名已经存在',
44 | ]);
45 |
46 | if ($validator->fails()) {
47 | return back()->withErrors($validator);
48 | }
49 |
50 | // 创建分类
51 | Category::create($request->except('_token'));
52 | return redirect()->route('admin.category.index');
53 | }
54 |
55 | // get admin/category/{category}/edit 编辑分类 edit、update也是一组连续的操作,edit获取需要编辑的数据的信息,update更新修改后的信息
56 | public function edit($id)
57 | {
58 |
59 | }
60 |
61 | // put admin/category/{category} 更新分类
62 | public function update($id)
63 | {
64 |
65 | }
66 |
67 | // delete admin/category/{category} 删除分类
68 | public function destroy($id)
69 | {
70 |
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/FeedbackController.php:
--------------------------------------------------------------------------------
1 | paginate(10);
16 | return view('admin.feedback.index', compact('feedbacks'));
17 | }
18 |
19 | // get admin/feedback/{feedback} 显示单个反馈信息
20 | public function show()
21 | {
22 |
23 | }
24 |
25 | // get admin/feedback/create 添加反馈 create、store是连续的操作,create获取创建前需要的数据,store存储数据
26 | public function create()
27 | {
28 |
29 | }
30 |
31 | // post admin/feedback 添加反馈提交处理
32 | public function store(Request $request)
33 | {
34 |
35 | }
36 |
37 | // get admin/feedback/{feedback}/edit 编辑反馈 edit、update也是一组连续的操作,edit获取需要编辑的数据的信息,update更新修改后的信息
38 | public function edit($id)
39 | {
40 |
41 | }
42 |
43 | // put admin/feedback/{feedback} 更新反馈
44 | public function update(Request $request, $id)
45 | {
46 |
47 | }
48 |
49 | // delete admin/feedback/{feedback} 删除反馈
50 | public function destroy($id)
51 | {
52 |
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/IndexController.php:
--------------------------------------------------------------------------------
1 | except(['_token', '_method']);
48 | $result = Option::find($id)->update($input);
49 | if ($result) {
50 | // 还没处理提示
51 | return back()->with('errors', '更新配置成功');
52 | } else {
53 | return back()->with('errors', '更新配置失败');
54 | }
55 | }
56 |
57 | // delete admin/option/{option} 删除配置
58 | public function destroy($id)
59 | {
60 | $result = Option::find($id)->delete();
61 | if ($result) {
62 | $data = [
63 | 'status' => 1,
64 | 'msg' => '删除配置项成功',
65 | ];
66 | } else {
67 | $data = [
68 | 'status' => 0,
69 | 'msg' => '删除配置项失败',
70 | ];
71 | }
72 |
73 | return $data;
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/AuthController.php:
--------------------------------------------------------------------------------
1 | middleware($this->guestMiddleware(), ['except' => 'logout']);
41 | }
42 |
43 | /**
44 | * Get a validator for an incoming registration request.
45 | *
46 | * @param array $data
47 | * @return \Illuminate\Contracts\Validation\Validator
48 | */
49 | protected function validator(array $data)
50 | {
51 | return Validator::make($data, [
52 | 'name' => 'required|max:255',
53 | 'email' => 'required|email|max:255|unique:users',
54 | 'password' => 'required|min:6|confirmed',
55 | ]);
56 | }
57 |
58 | /**
59 | * Create a new user instance after a valid registration.
60 | *
61 | * @param array $data
62 | * @return User
63 | */
64 | protected function create(array $data)
65 | {
66 | return User::create([
67 | 'name' => $data['name'],
68 | 'email' => $data['email'],
69 | 'password' => bcrypt($data['password']),
70 | ]);
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/PasswordController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Controller.php:
--------------------------------------------------------------------------------
1 | [
27 | \App\Http\Middleware\EncryptCookies::class,
28 | \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
29 | \Illuminate\Session\Middleware\StartSession::class,
30 | \Illuminate\View\Middleware\ShareErrorsFromSession::class,
31 | \App\Http\Middleware\VerifyCsrfToken::class,
32 | ],
33 |
34 | 'api' => [
35 | 'throttle:60,1',
36 | ],
37 | ];
38 |
39 | /**
40 | * The application's route middleware.
41 | *
42 | * These middleware may be assigned to groups or used individually.
43 | *
44 | * @var array
45 | */
46 | protected $routeMiddleware = [
47 | 'auth' => \App\Http\Middleware\Authenticate::class,
48 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
49 | 'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
50 | 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
51 | 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
52 | 'admin.login' => \App\Http\Middleware\AdminLogin::class,
53 | 'check.register' => \App\Http\Middleware\CkeckRegister::class,
54 | ];
55 | }
56 |
--------------------------------------------------------------------------------
/app/Http/Middleware/AdminLogin.php:
--------------------------------------------------------------------------------
1 | route('admin.login');
21 | }
22 | return $next($request);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/Http/Middleware/Authenticate.php:
--------------------------------------------------------------------------------
1 | guest()) {
21 | if ($request->ajax() || $request->wantsJson()) {
22 | return response('Unauthorized.', 401);
23 | } else {
24 | return redirect()->guest('login');
25 | }
26 | }
27 |
28 | return $next($request);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Http/Middleware/CkeckRegister.php:
--------------------------------------------------------------------------------
1 | first();
20 | if ($option->content == '0') {
21 | return redirect()->route('admin.login')->with('errors', '注册已经关闭');
22 | }
23 | return $next($request);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/app/Http/Middleware/EncryptCookies.php:
--------------------------------------------------------------------------------
1 | check()) {
21 | return redirect('/');
22 | }
23 |
24 | return $next($request);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/Http/Middleware/VerifyCsrfToken.php:
--------------------------------------------------------------------------------
1 | route('admin.index');
5 | });
6 |
7 | // 后台路由组
8 | Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function () {
9 |
10 | Route::group(['middleware' => ['check.register']], function () {
11 | // 注册
12 | Route::any('register', 'UserController@register')->name('admin.register');
13 | });
14 |
15 | // 登录
16 | Route::any('login', 'UserController@login')->name('admin.login');
17 |
18 | // 注销
19 | Route::get('logout', 'UserController@logout')->name('admin.logout');
20 |
21 | // 已经登录
22 | Route::group(['middleware' => ['admin.login']], function () {
23 |
24 | // 后台首页
25 | Route::get('index', 'IndexController@index')->name('admin.index');
26 |
27 | // 文档
28 | Route::get('apidoc', function () {
29 | return view('admin.apidoc');
30 | });
31 |
32 | // 修改密码
33 | Route::any('modify', 'UserController@modify')->name('admin.modify');
34 |
35 | // 壁纸
36 | Route::resource('wallpaper', 'WallpaperController');
37 | Route::post('upload', 'WallPaperController@upload')->name('admin.upload');
38 |
39 | // 分类
40 | Route::resource('category', 'CategoryController');
41 |
42 | // 配置
43 | Route::resource('option', 'OptionController');
44 |
45 | // 反馈信息
46 | Route::resource('feedback', 'FeedbackController');
47 | });
48 | });
49 |
50 | // 接管路由
51 | $api = app('Dingo\Api\Routing\Router');
52 |
53 | // 配置api版本和路由
54 | $api->version('v1', ['namespace' => 'App\Http\Api\V1\Controllers'], function ($api) {
55 |
56 | // app是否一键设置壁纸
57 | $api->get('status', 'OptionController@getSaveWallpaperStatus');
58 |
59 | // 获取分类列表
60 | $api->get('categories', 'CategoryController@getCategories');
61 |
62 | // 获取壁纸列表
63 | $api->get('wallpapers/{category_id}', 'WallpaperController@getWallpapers');
64 |
65 | // 提交意见反馈信息
66 | $api->post('feedback', 'FeedbackController@submitFeedback');
67 |
68 | // 显示单个壁纸
69 | $api->get('show/{id}', 'WallpaperController@show');
70 | });
--------------------------------------------------------------------------------
/app/Jobs/Job.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(DispatcherContract $events)
28 | {
29 | parent::boot($events);
30 |
31 | //
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/Providers/RouteServiceProvider.php:
--------------------------------------------------------------------------------
1 | mapWebRoutes($router);
41 |
42 | //
43 | }
44 |
45 | /**
46 | * Define the "web" routes for the application.
47 | *
48 | * These routes all receive session state, CSRF protection, etc.
49 | *
50 | * @param \Illuminate\Routing\Router $router
51 | * @return void
52 | */
53 | protected function mapWebRoutes(Router $router)
54 | {
55 | $router->group(['namespace' => $this->namespace, 'middleware' => 'web',], 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 | =5.5.9",
9 | "laravel/framework": "5.2.*",
10 | "dingo/api": "1.0.*@dev",
11 | "tymon/jwt-auth": "0.5.*",
12 | "barryvdh/laravel-ide-helper": "^2.2",
13 | "doctrine/dbal": "^2.5",
14 | "almasaeed2010/adminlte": "~2.0"
15 | },
16 | "require-dev": {
17 | "fzaninotto/faker": "~1.4",
18 | "mockery/mockery": "0.9.*",
19 | "phpunit/phpunit": "~4.0",
20 | "symfony/css-selector": "2.8.*|3.0.*",
21 | "symfony/dom-crawler": "2.8.*|3.0.*"
22 | },
23 | "autoload": {
24 | "classmap": [
25 | "database"
26 | ],
27 | "psr-4": {
28 | "App\\": "app/"
29 | }
30 | },
31 | "autoload-dev": {
32 | "classmap": [
33 | "tests/TestCase.php"
34 | ]
35 | },
36 | "scripts": {
37 | "post-root-package-install": [
38 | "php -r \"copy('.env.example', '.env');\""
39 | ],
40 | "post-create-project-cmd": [
41 | "php artisan key:generate"
42 | ],
43 | "post-install-cmd": [
44 | "Illuminate\\Foundation\\ComposerScripts::postInstall",
45 | "php artisan optimize"
46 | ],
47 | "post-update-cmd": [
48 | "Illuminate\\Foundation\\ComposerScripts::postUpdate",
49 | "php artisan ide-helper:generate",
50 | "php artisan ide-helper:meta",
51 | "php artisan optimize"
52 | ]
53 | },
54 | "config": {
55 | "preferred-install": "dist"
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/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\User::class,
71 | ],
72 |
73 | // 'users' => [
74 | // 'driver' => 'database',
75 | // 'table' => 'users',
76 | // ],
77 | ],
78 |
79 | /*
80 | |--------------------------------------------------------------------------
81 | | Resetting Passwords
82 | |--------------------------------------------------------------------------
83 | |
84 | | Here you may set the options for resetting passwords including the view
85 | | that is your password reset e-mail. You may also set the name of the
86 | | table that maintains all of the reset tokens for your application.
87 | |
88 | | You may specify multiple password reset configurations if you have more
89 | | than one user table or model in the application and you want to have
90 | | separate password reset settings based on the specific user types.
91 | |
92 | | The expire time is the number of minutes that the reset token should be
93 | | considered valid. This security feature keeps tokens short-lived so
94 | | they have less time to be guessed. You may change this as needed.
95 | |
96 | */
97 |
98 | 'passwords' => [
99 | 'users' => [
100 | 'provider' => 'users',
101 | 'email' => 'auth.emails.password',
102 | 'table' => 'password_resets',
103 | 'expire' => 60,
104 | ],
105 | ],
106 |
107 | ];
108 |
--------------------------------------------------------------------------------
/config/broadcasting.php:
--------------------------------------------------------------------------------
1 | env('BROADCAST_DRIVER', 'pusher'),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Broadcast Connections
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may define all of the broadcast connections that will be used
24 | | to broadcast events to other systems or over websockets. Samples of
25 | | each available type of connection are provided inside this array.
26 | |
27 | */
28 |
29 | 'connections' => [
30 |
31 | 'pusher' => [
32 | 'driver' => 'pusher',
33 | 'key' => env('PUSHER_KEY'),
34 | 'secret' => env('PUSHER_SECRET'),
35 | 'app_id' => env('PUSHER_APP_ID'),
36 | 'options' => [
37 | //
38 | ],
39 | ],
40 |
41 | 'redis' => [
42 | 'driver' => 'redis',
43 | 'connection' => 'default',
44 | ],
45 |
46 | 'log' => [
47 | 'driver' => 'log',
48 | ],
49 |
50 | ],
51 |
52 | ];
53 |
--------------------------------------------------------------------------------
/config/cache.php:
--------------------------------------------------------------------------------
1 | env('CACHE_DRIVER', 'file'),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Cache Stores
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may define all of the cache "stores" for your application as
24 | | well as their drivers. You may even define multiple stores for the
25 | | same cache driver to group types of items stored in your caches.
26 | |
27 | */
28 |
29 | 'stores' => [
30 |
31 | 'apc' => [
32 | 'driver' => 'apc',
33 | ],
34 |
35 | 'array' => [
36 | 'driver' => 'array',
37 | ],
38 |
39 | 'database' => [
40 | 'driver' => 'database',
41 | 'table' => 'cache',
42 | 'connection' => null,
43 | ],
44 |
45 | 'file' => [
46 | 'driver' => 'file',
47 | 'path' => storage_path('framework/cache'),
48 | ],
49 |
50 | 'memcached' => [
51 | 'driver' => 'memcached',
52 | 'servers' => [
53 | [
54 | 'host' => env('MEMCACHED_HOST', '127.0.0.1'),
55 | 'port' => env('MEMCACHED_PORT', 11211),
56 | 'weight' => 100,
57 | ],
58 | ],
59 | ],
60 |
61 | 'redis' => [
62 | 'driver' => 'redis',
63 | 'connection' => 'default',
64 | ],
65 |
66 | ],
67 |
68 | /*
69 | |--------------------------------------------------------------------------
70 | | Cache Key Prefix
71 | |--------------------------------------------------------------------------
72 | |
73 | | When utilizing a RAM based store such as APC or Memcached, there might
74 | | be other applications utilizing the same cache. So, we'll specify a
75 | | value to get prefixed to all our keys so we can avoid collisions.
76 | |
77 | */
78 |
79 | 'prefix' => 'laravel',
80 |
81 | ];
82 |
--------------------------------------------------------------------------------
/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_unicode_ci',
64 | 'prefix' => env('DB_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' => env('DB_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/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/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' => 60,
42 | ],
43 |
44 | 'beanstalkd' => [
45 | 'driver' => 'beanstalkd',
46 | 'host' => 'localhost',
47 | 'queue' => 'default',
48 | 'ttr' => 60,
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' => 60,
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 | 'ses' => [
23 | 'key' => env('SES_KEY'),
24 | 'secret' => env('SES_SECRET'),
25 | 'region' => 'us-east-1',
26 | ],
27 |
28 | 'sparkpost' => [
29 | 'secret' => env('SPARKPOST_SECRET'),
30 | ],
31 |
32 | 'stripe' => [
33 | 'model' => App\User::class,
34 | 'key' => env('STRIPE_KEY'),
35 | 'secret' => env('STRIPE_SECRET'),
36 | ],
37 |
38 | ];
39 |
--------------------------------------------------------------------------------
/config/view.php:
--------------------------------------------------------------------------------
1 | [
17 | realpath(base_path('resources/views')),
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled View Path
23 | |--------------------------------------------------------------------------
24 | |
25 | | This option determines where all the compiled Blade templates will be
26 | | stored for your application. Typically, this is within the storage
27 | | directory. However, as usual, you are free to change this value.
28 | |
29 | */
30 |
31 | 'compiled' => realpath(storage_path('framework/views')),
32 |
33 | ];
34 |
--------------------------------------------------------------------------------
/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/2016_07_19_044052_create_users_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('name');
18 | $table->string('email')->unique();
19 | $table->string('password');
20 | $table->tinyInteger('is_admin')->default(0);
21 | $table->rememberToken();
22 | $table->timestamps();
23 | });
24 | }
25 |
26 | /**
27 | * Reverse the migrations.
28 | *
29 | * @return void
30 | */
31 | public function down()
32 | {
33 | Schema::drop('users');
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/database/migrations/2016_07_19_044211_create_feedback_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('contact');
18 | $table->string('content');
19 | $table->timestamps();
20 | });
21 | }
22 |
23 | /**
24 | * Reverse the migrations.
25 | *
26 | * @return void
27 | */
28 | public function down()
29 | {
30 | Schema::drop('feedback');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/database/migrations/2016_07_19_044243_create_wallpapers_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->tinyInteger('category_id');
18 | $table->string('bigpath');
19 | $table->string('smallpath');
20 | $table->integer('view')->default(0);
21 | $table->timestamps();
22 | });
23 | }
24 |
25 | /**
26 | * Reverse the migrations.
27 | *
28 | * @return void
29 | */
30 | public function down()
31 | {
32 | Schema::drop('wallpapers');
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/database/migrations/2016_07_19_044751_create_options_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('name');
18 | $table->string('content');
19 | $table->string('comment');
20 | $table->timestamps();
21 | });
22 | }
23 |
24 | /**
25 | * Reverse the migrations.
26 | *
27 | * @return void
28 | */
29 | public function down()
30 | {
31 | Schema::drop('options');
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/database/migrations/2016_07_20_140512_create_categories_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('name')->unique();
18 | $table->string('alias')->unique();
19 | $table->timestamps();
20 | });
21 | }
22 |
23 | /**
24 | * Reverse the migrations.
25 | *
26 | * @return void
27 | */
28 | public function down()
29 | {
30 | Schema::drop('categories');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/database/seeds/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/database/seeds/CategoriesTableSeeder.php:
--------------------------------------------------------------------------------
1 | insert([
15 | [
16 | 'name' => '天策',
17 | 'alias' => 'tiance',
18 | ],[
19 | 'name' => '大侠',
20 | 'alias' => 'daxia',
21 | ],[
22 | 'name' => '纯阳',
23 | 'alias' => 'chunyang',
24 | ],[
25 | 'name' => '万花',
26 | 'alias' => 'wanhua',
27 | ],[
28 | 'name' => '藏剑',
29 | 'alias' => 'cangjian',
30 | ],[
31 | 'name' => '唐门',
32 | 'alias' => 'tangmen',
33 | ],[
34 | 'name' => '七秀',
35 | 'alias' => 'qixiu',
36 | ],[
37 | 'name' => '少林',
38 | 'alias' => 'shaolin',
39 | ],[
40 | 'name' => '五毒',
41 | 'alias' => 'wudu',
42 | ],[
43 | 'name' => '明教',
44 | 'alias' => 'mingjiao',
45 | ],[
46 | 'name' => '丐帮',
47 | 'alias' => 'gaibang',
48 | ],[
49 | 'name' => '苍云',
50 | 'alias' => 'cangyun',
51 | ],[
52 | 'name' => '长歌',
53 | 'alias' => 'changge',
54 | ]
55 | ]);
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/database/seeds/DatabaseSeeder.php:
--------------------------------------------------------------------------------
1 | call(CategoriesTableSeeder::class);
17 | $this->call(UsersTableSeeder::class);
18 | $this->call(OptionsTableSeeder::class);
19 | Model::reguard();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/database/seeds/OptionsTableSeeder.php:
--------------------------------------------------------------------------------
1 | insert([
15 | [
16 | 'name' => 'app_save_wallpaper',
17 | 'content' => '1',
18 | 'comment' => 'app端屏蔽私有api接口',
19 | ],[
20 | 'name' => 'is_allow_register',
21 | 'content' => '1',
22 | 'comment' => '是否允许注册',
23 | ]
24 | ]);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/database/seeds/UsersTableSeeder.php:
--------------------------------------------------------------------------------
1 | insert([
15 | 'name' => 'admin',
16 | 'email' => 'admin@6ag.cn',
17 | 'password' => bcrypt('123456'), // Hash散列
18 | 'is_admin' => 1,
19 | ]);
20 | }
21 | }
--------------------------------------------------------------------------------
/githubimg/example1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/githubimg/example1.jpg
--------------------------------------------------------------------------------
/githubimg/example2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/githubimg/example2.jpg
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var elixir = require('laravel-elixir');
3 | /**
4 | * 拷贝任何需要的文件
5 | *
6 | * Do a 'gulp copyfiles' after bower updates
7 | */
8 | gulp.task("copyfiles", function() {
9 | gulp.src("vendor/almasaeed2010/adminlte/dist/css/AdminLTE.min.css")
10 | .pipe(gulp.dest("public/assets/css"));
11 | gulp.src("vendor/almasaeed2010/adminlte/dist/css/skins/skin-blue.min.css")
12 | .pipe(gulp.dest("public/assets/css"));
13 | gulp.src("vendor/almasaeed2010/adminlte/bootstrap/css/bootstrap.min.css")
14 | .pipe(gulp.dest("public/assets/css"));
15 | gulp.src("vendor/almasaeed2010/adminlte/plugins/iCheck/square/blue.css")
16 | .pipe(gulp.dest("public/assets/css"));
17 | gulp.src("vendor/almasaeed2010/adminlte/plugins/jQuery/jquery-2.2.3.min.js")
18 | .pipe(gulp.dest("public/assets/js"));
19 | gulp.src("vendor/almasaeed2010/adminlte/bootstrap/js/bootstrap.min.js")
20 | .pipe(gulp.dest("public/assets/js"));
21 | gulp.src("vendor/almasaeed2010/adminlte/dist/js/app.min.js")
22 | .pipe(gulp.dest("public/assets/js"));
23 | gulp.src("vendor/almasaeed2010/adminlte/plugins/iCheck/icheck.min.js")
24 | .pipe(gulp.dest("public/assets/js"));
25 | gulp.src("vendor/almasaeed2010/adminlte/bootstrap/fonts/**")
26 | .pipe(gulp.dest("public/assets/fonts"));
27 | gulp.src("vendor/almasaeed2010/adminlte/dist/img/**")
28 | .pipe(gulp.dest("public/assets/img"));
29 |
30 | });
31 |
32 | /**
33 | * Default gulp is to run this elixir stuff
34 | */
35 | elixir(function(mix) {
36 |
37 | });
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "scripts": {
4 | "prod": "gulp --production",
5 | "dev": "gulp watch"
6 | },
7 | "devDependencies": {
8 | "bootstrap-sass": "^3.0.0",
9 | "grunt-apidoc": "^0.11.0",
10 | "gulp": "^3.9.1",
11 | "laravel-elixir": "^5.0.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/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/apidoc/api_project.js:
--------------------------------------------------------------------------------
1 | define({
2 | "name": "剑三壁纸API文档",
3 | "version": "0.0.1",
4 | "description": "",
5 | "title": "剑三壁纸API文档",
6 | "url": "http://www.jiansan.com/api",
7 | "sampleUrl": false,
8 | "apidoc": "0.2.0",
9 | "generator": {
10 | "name": "apidoc",
11 | "time": "2016-07-26T02:19:07.534Z",
12 | "url": "http://apidocjs.com",
13 | "version": "0.16.1"
14 | }
15 | });
16 |
--------------------------------------------------------------------------------
/public/apidoc/api_project.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "剑三壁纸API文档",
3 | "version": "0.0.1",
4 | "description": "",
5 | "title": "剑三壁纸API文档",
6 | "url": "http://www.jiansan.com/api",
7 | "sampleUrl": false,
8 | "apidoc": "0.2.0",
9 | "generator": {
10 | "name": "apidoc",
11 | "time": "2016-07-26T02:19:07.534Z",
12 | "url": "http://apidocjs.com",
13 | "version": "0.16.1"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/public/apidoc/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/apidoc/img/favicon.ico
--------------------------------------------------------------------------------
/public/apidoc/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/apidoc/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/public/apidoc/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/apidoc/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/public/apidoc/locales/ca.js:
--------------------------------------------------------------------------------
1 | define({
2 | ca: {
3 | 'Allowed values:' : 'Valors permesos:',
4 | 'Compare all with predecessor': 'Comparar tot amb versió anterior',
5 | 'compare changes to:' : 'comparar canvis amb:',
6 | 'compared to' : 'comparat amb',
7 | 'Default value:' : 'Valor per defecte:',
8 | 'Description' : 'Descripció',
9 | 'Field' : 'Camp',
10 | 'General' : 'General',
11 | 'Generated with' : 'Generat amb',
12 | 'Name' : 'Nom',
13 | 'No response values.' : 'Sense valors en la resposta.',
14 | 'optional' : 'opcional',
15 | 'Parameter' : 'Paràmetre',
16 | 'Permission:' : 'Permisos:',
17 | 'Response' : 'Resposta',
18 | 'Send' : 'Enviar',
19 | 'Send a Sample Request' : 'Enviar una petició d\'exemple',
20 | 'show up to version:' : 'mostrar versió:',
21 | 'Size range:' : 'Tamany de rang:',
22 | 'Type' : 'Tipus',
23 | 'url' : 'url'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/locales/de.js:
--------------------------------------------------------------------------------
1 | define({
2 | de: {
3 | 'Allowed values:' : 'Erlaubte Werte:',
4 | 'Compare all with predecessor': 'Vergleiche alle mit ihren Vorgängern',
5 | 'compare changes to:' : 'vergleiche Änderungen mit:',
6 | 'compared to' : 'verglichen mit',
7 | 'Default value:' : 'Standardwert:',
8 | 'Description' : 'Beschreibung',
9 | 'Field' : 'Feld',
10 | 'General' : 'Allgemein',
11 | 'Generated with' : 'Erstellt mit',
12 | 'Name' : 'Name',
13 | 'No response values.' : 'Keine Rückgabewerte.',
14 | 'optional' : 'optional',
15 | 'Parameter' : 'Parameter',
16 | 'Permission:' : 'Berechtigung:',
17 | 'Response' : 'Antwort',
18 | 'Send' : 'Senden',
19 | 'Send a Sample Request' : 'Eine Beispielanfrage senden',
20 | 'show up to version:' : 'zeige bis zur Version:',
21 | 'Size range:' : 'Größenbereich:',
22 | 'Type' : 'Typ',
23 | 'url' : 'url'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/locales/es.js:
--------------------------------------------------------------------------------
1 | define({
2 | es: {
3 | 'Allowed values:' : 'Valores permitidos:',
4 | 'Compare all with predecessor': 'Comparar todo con versión anterior',
5 | 'compare changes to:' : 'comparar cambios con:',
6 | 'compared to' : 'comparado con',
7 | 'Default value:' : 'Valor por defecto:',
8 | 'Description' : 'Descripción',
9 | 'Field' : 'Campo',
10 | 'General' : 'General',
11 | 'Generated with' : 'Generado con',
12 | 'Name' : 'Nombre',
13 | 'No response values.' : 'Sin valores en la respuesta.',
14 | 'optional' : 'opcional',
15 | 'Parameter' : 'Parámetro',
16 | 'Permission:' : 'Permisos:',
17 | 'Response' : 'Respuesta',
18 | 'Send' : 'Enviar',
19 | 'Send a Sample Request' : 'Enviar una petición de ejemplo',
20 | 'show up to version:' : 'mostrar a versión:',
21 | 'Size range:' : 'Tamaño de rango:',
22 | 'Type' : 'Tipo',
23 | 'url' : 'url'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/locales/fr.js:
--------------------------------------------------------------------------------
1 | define({
2 | fr: {
3 | 'Allowed values:' : 'Valeurs autorisées :',
4 | 'Compare all with predecessor': 'Tout comparer avec ...',
5 | 'compare changes to:' : 'comparer les changements à :',
6 | 'compared to' : 'comparer à',
7 | 'Default value:' : 'Valeur par défaut :',
8 | 'Description' : 'Description',
9 | 'Field' : 'Champ',
10 | 'General' : 'Général',
11 | 'Generated with' : 'Généré avec',
12 | 'Name' : 'Nom',
13 | 'No response values.' : 'Aucune valeur de réponse.',
14 | 'optional' : 'optionnel',
15 | 'Parameter' : 'Paramètre',
16 | 'Permission:' : 'Permission :',
17 | 'Response' : 'Réponse',
18 | 'Send' : 'Envoyer',
19 | 'Send a Sample Request' : 'Envoyer une requête représentative',
20 | 'show up to version:' : 'Montrer à partir de la version :',
21 | 'Size range:' : 'Ordre de grandeur :',
22 | 'Type' : 'Type',
23 | 'url' : 'url'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/locales/it.js:
--------------------------------------------------------------------------------
1 | define({
2 | it: {
3 | 'Allowed values:' : 'Valori permessi:',
4 | 'Compare all with predecessor': 'Confronta tutto con versioni precedenti',
5 | 'compare changes to:' : 'confronta modifiche con:',
6 | 'compared to' : 'confrontato con',
7 | 'Default value:' : 'Valore predefinito:',
8 | 'Description' : 'Descrizione',
9 | 'Field' : 'Campo',
10 | 'General' : 'Generale',
11 | 'Generated with' : 'Creato con',
12 | 'Name' : 'Nome',
13 | 'No response values.' : 'Nessnu valore di risposta.',
14 | 'optional' : 'opzionale',
15 | 'Parameter' : 'Parametro',
16 | 'Permission:' : 'Permessi:',
17 | 'Response' : 'Risposta',
18 | 'Send' : 'Invia',
19 | 'Send a Sample Request' : 'Invia una richiesta di esempio',
20 | 'show up to version:' : 'visualizza la versione:',
21 | 'Size range:' : 'Intervallo dimensione:',
22 | 'Type' : 'Tipo',
23 | 'url' : 'url'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/locales/locale.js:
--------------------------------------------------------------------------------
1 | define([
2 | './locales/ca.js',
3 | './locales/de.js',
4 | './locales/es.js',
5 | './locales/fr.js',
6 | './locales/it.js',
7 | './locales/nl.js',
8 | './locales/pl.js',
9 | './locales/pt_br.js',
10 | './locales/ru.js',
11 | './locales/zh.js',
12 | './locales/zh_cn.js'
13 | ], function() {
14 | var langId = (navigator.language || navigator.userLanguage).toLowerCase().replace('-', '_');
15 | var language = langId.substr(0, 2);
16 | var locales = {};
17 |
18 | for (index in arguments) {
19 | for (property in arguments[index])
20 | locales[property] = arguments[index][property];
21 | }
22 | if ( ! locales['en'])
23 | locales['en'] = {};
24 |
25 | if ( ! locales[langId] && ! locales[language])
26 | language = 'en';
27 |
28 | var locale = (locales[langId] ? locales[langId] : locales[language]);
29 |
30 | function __(text) {
31 | var index = locale[text];
32 | if (index === undefined)
33 | return text;
34 | return index;
35 | };
36 |
37 | function setLanguage(language) {
38 | locale = locales[language];
39 | }
40 |
41 | return {
42 | __ : __,
43 | locales : locales,
44 | locale : locale,
45 | setLanguage: setLanguage
46 | };
47 | });
48 |
--------------------------------------------------------------------------------
/public/apidoc/locales/nl.js:
--------------------------------------------------------------------------------
1 | define({
2 | nl: {
3 | 'Allowed values:' : 'Toegestane waarden:',
4 | 'Compare all with predecessor': 'Vergelijk alle met voorgaande versie',
5 | 'compare changes to:' : 'vergelijk veranderingen met:',
6 | 'compared to' : 'vergelijk met',
7 | 'Default value:' : 'Standaard waarde:',
8 | 'Description' : 'Omschrijving',
9 | 'Field' : 'Veld',
10 | 'General' : 'Algemeen',
11 | 'Generated with' : 'Gegenereerd met',
12 | 'Name' : 'Naam',
13 | 'No response values.' : 'Geen response waardes.',
14 | 'optional' : 'optioneel',
15 | 'Parameter' : 'Parameter',
16 | 'Permission:' : 'Permissie:',
17 | 'Response' : 'Antwoorden',
18 | 'Send' : 'Sturen',
19 | 'Send a Sample Request' : 'Stuur een sample aanvragen',
20 | 'show up to version:' : 'toon tot en met versie:',
21 | 'Size range:' : 'Maatbereik:',
22 | 'Type' : 'Type',
23 | 'url' : 'url'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/locales/pl.js:
--------------------------------------------------------------------------------
1 | define({
2 | pl: {
3 | 'Allowed values:' : 'Dozwolone wartości:',
4 | 'Compare all with predecessor': 'Porównaj z poprzednimi wersjami',
5 | 'compare changes to:' : 'porównaj zmiany do:',
6 | 'compared to' : 'porównaj do:',
7 | 'Default value:' : 'Wartość domyślna:',
8 | 'Description' : 'Opis',
9 | 'Field' : 'Pole',
10 | 'General' : 'Generalnie',
11 | 'Generated with' : 'Wygenerowano z',
12 | 'Name' : 'Nazwa',
13 | 'No response values.' : 'Brak odpowiedzi.',
14 | 'optional' : 'opcjonalny',
15 | 'Parameter' : 'Parametr',
16 | 'Permission:' : 'Uprawnienia:',
17 | 'Response' : 'Odpowiedź',
18 | 'Send' : 'Wyślij',
19 | 'Send a Sample Request' : 'Wyślij przykładowe żądanie',
20 | 'show up to version:' : 'pokaż do wersji:',
21 | 'Size range:' : 'Zakres rozmiaru:',
22 | 'Type' : 'Typ',
23 | 'url' : 'url'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/locales/pt_br.js:
--------------------------------------------------------------------------------
1 | define({
2 | 'pt_br': {
3 | 'Allowed values:' : 'Valores permitidos:',
4 | 'Compare all with predecessor': 'Compare todos com antecessores',
5 | 'compare changes to:' : 'comparar alterações com:',
6 | 'compared to' : 'comparado com',
7 | 'Default value:' : 'Valor padrão:',
8 | 'Description' : 'Descrição',
9 | 'Field' : 'Campo',
10 | 'General' : 'Geral',
11 | 'Generated with' : 'Gerado com',
12 | 'Name' : 'Nome',
13 | 'No response values.' : 'Sem valores de resposta.',
14 | 'optional' : 'opcional',
15 | 'Parameter' : 'Parâmetro',
16 | 'Permission:' : 'Permissão:',
17 | 'Response' : 'Resposta',
18 | 'Send' : 'Enviar',
19 | 'Send a Sample Request' : 'Enviar um Exemplo de Pedido',
20 | 'show up to version:' : 'aparecer para a versão:',
21 | 'Size range:' : 'Faixa de tamanho:',
22 | 'Type' : 'Tipo',
23 | 'url' : 'url'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/locales/ru.js:
--------------------------------------------------------------------------------
1 | define({
2 | ru: {
3 | 'Allowed values:' : 'Допустимые значения:',
4 | 'Compare all with predecessor': 'Сравнить с предыдущей версией',
5 | 'compare changes to:' : 'сравнить с:',
6 | 'compared to' : 'в сравнении с',
7 | 'Default value:' : 'По умолчанию:',
8 | 'Description' : 'Описание',
9 | 'Field' : 'Название',
10 | 'General' : 'Общая информация',
11 | 'Generated with' : 'Сгенерировано с помощью',
12 | 'Name' : 'Название',
13 | 'No response values.' : 'Нет значений для ответа.',
14 | 'optional' : 'необязательный',
15 | 'Parameter' : 'Параметр',
16 | 'Permission:' : 'Разрешено:',
17 | 'Response' : 'Ответ',
18 | 'Send' : 'Отправить',
19 | 'Send a Sample Request' : 'Отправить тестовый запрос',
20 | 'show up to version:' : 'показать версию:',
21 | 'Size range:' : 'Ограничения:',
22 | 'Type' : 'Тип',
23 | 'url' : 'URL'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/locales/zh.js:
--------------------------------------------------------------------------------
1 | define({
2 | zh: {
3 | 'Allowed values:' : '允許值:',
4 | 'Compare all with predecessor': '預先比較所有',
5 | 'compare changes to:' : '比較變更:',
6 | 'compared to' : '對比',
7 | 'Default value:' : '默認值:',
8 | 'Description' : '描述',
9 | 'Field' : '字段',
10 | 'General' : '概括',
11 | 'Generated with' : '生成工具',
12 | 'Name' : '名稱',
13 | 'No response values.' : '無對應資料.',
14 | 'optional' : '選項',
15 | 'Parameter' : '參數',
16 | 'Permission:' : '允許:',
17 | 'Response' : '回應',
18 | 'Send' : '發送',
19 | 'Send a Sample Request' : '發送試用需求',
20 | 'show up to version:' : '顯示到版本:',
21 | 'Size range:' : '尺寸範圍:',
22 | 'Type' : '類型',
23 | 'url' : '網址'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/locales/zh_cn.js:
--------------------------------------------------------------------------------
1 | define({
2 | 'zh_cn': {
3 | 'Allowed values:' : '允许值:',
4 | 'Compare all with predecessor': '与所有较早的比较',
5 | 'compare changes to:' : '将当前版本与指定版本比较:',
6 | 'compared to' : '相比于',
7 | 'Default value:' : '默认值:',
8 | 'Description' : '描述',
9 | 'Field' : '字段',
10 | 'General' : '概要',
11 | 'Generated with' : '基于',
12 | 'Name' : '名称',
13 | 'No response values.' : '无返回值.',
14 | 'optional' : '可选',
15 | 'Parameter' : '参数',
16 | 'Permission:' : '权限:',
17 | 'Response' : '返回',
18 | 'Send' : '发送',
19 | 'Send a Sample Request' : '发送示例请求',
20 | 'show up to version:' : '显示到指定版本:',
21 | 'Size range:' : '取值范围:',
22 | 'Type' : '类型',
23 | 'url' : '网址'
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/path-to-regexp/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/polyfill.js:
--------------------------------------------------------------------------------
1 | // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
2 | if (!Object.keys) {
3 | Object.keys = (function () {
4 | 'use strict';
5 | var hasOwnProperty = Object.prototype.hasOwnProperty,
6 | hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'),
7 | dontEnums = [
8 | 'toString',
9 | 'toLocaleString',
10 | 'valueOf',
11 | 'hasOwnProperty',
12 | 'isPrototypeOf',
13 | 'propertyIsEnumerable',
14 | 'constructor'
15 | ],
16 | dontEnumsLength = dontEnums.length;
17 |
18 | return function (obj) {
19 | if (typeof obj !== 'object' && (typeof obj !== 'function' || obj === null)) {
20 | throw new TypeError('Object.keys called on non-object');
21 | }
22 |
23 | var result = [], prop, i;
24 |
25 | for (prop in obj) {
26 | if (hasOwnProperty.call(obj, prop)) {
27 | result.push(prop);
28 | }
29 | }
30 |
31 | if (hasDontEnumBug) {
32 | for (i = 0; i < dontEnumsLength; i++) {
33 | if (hasOwnProperty.call(obj, dontEnums[i])) {
34 | result.push(dontEnums[i]);
35 | }
36 | }
37 | }
38 | return result;
39 | };
40 | }());
41 | }
42 |
43 | //Production steps of ECMA-262, Edition 5, 15.4.4.18
44 | //Reference: http://es5.github.com/#x15.4.4.18
45 | if (!Array.prototype.forEach) {
46 |
47 | Array.prototype.forEach = function (callback, thisArg) {
48 |
49 | var T, k;
50 |
51 | if (this == null) {
52 | throw new TypeError(" this is null or not defined");
53 | }
54 |
55 | // 1. Let O be the result of calling ToObject passing the |this| value as the argument.
56 | var O = Object(this);
57 |
58 | // 2. Let lenValue be the result of calling the Get internal method of O with the argument "length".
59 | // 3. Let len be ToUint32(lenValue).
60 | var len = O.length >>> 0;
61 |
62 | // 4. If IsCallable(callback) is false, throw a TypeError exception.
63 | // See: http://es5.github.com/#x9.11
64 | if (typeof callback !== "function") {
65 | throw new TypeError(callback + " is not a function");
66 | }
67 |
68 | // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.
69 | if (arguments.length > 1) {
70 | T = thisArg;
71 | }
72 |
73 | // 6. Let k be 0
74 | k = 0;
75 |
76 | // 7. Repeat, while k < len
77 | while (k < len) {
78 |
79 | var kValue;
80 |
81 | // a. Let Pk be ToString(k).
82 | // This is implicit for LHS operands of the in operator
83 | // b. Let kPresent be the result of calling the HasProperty internal method of O with argument Pk.
84 | // This step can be combined with c
85 | // c. If kPresent is true, then
86 | if (k in O) {
87 |
88 | // i. Let kValue be the result of calling the Get internal method of O with argument Pk.
89 | kValue = O[k];
90 |
91 | // ii. Call the Call internal method of callback with T as the this value and
92 | // argument list containing kValue, k, and O.
93 | callback.call(T, kValue, k, O);
94 | }
95 | // d. Increase k by 1.
96 | k++;
97 | }
98 | // 8. return undefined
99 | };
100 | }
101 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify.css:
--------------------------------------------------------------------------------
1 | /* Pretty printing styles. Used with prettify.js. */
2 | /* Vim sunburst theme by David Leibovic */
3 | pre .str {
4 | color: #65B042;
5 | }
6 | /* string - green */
7 | pre .kwd {
8 | color: #E28964;
9 | }
10 | /* keyword - dark pink */
11 | pre .com {
12 | color: #AEAEAE;
13 | font-style: italic;
14 | }
15 | /* comment - gray */
16 | pre .typ {
17 | color: #89bdff;
18 | }
19 | /* type - light blue */
20 | pre .lit {
21 | color: #3387CC;
22 | }
23 | /* literal - blue */
24 | pre .pun {
25 | color: #fff;
26 | }
27 | /* punctuation - white */
28 | pre .pln {
29 | color: #fff;
30 | }
31 | /* plaintext - white */
32 | pre .tag {
33 | color: #89bdff;
34 | }
35 | /* html/xml tag - light blue */
36 | pre .atn {
37 | color: #bdb76b;
38 | }
39 | /* html/xml attribute name - khaki */
40 | pre .atv {
41 | color: #65B042;
42 | }
43 | /* html/xml attribute value - green */
44 | pre .dec {
45 | color: #3387CC;
46 | }
47 | /* decimal - blue */
48 | /* Specify class=linenums on a pre to get line numbering */
49 | ol.linenums {
50 | margin-top: 0;
51 | margin-bottom: 0;
52 | color: #AEAEAE;
53 | }
54 | /* IE indents via margin-left */
55 | li.L0,
56 | li.L1,
57 | li.L2,
58 | li.L3,
59 | li.L5,
60 | li.L6,
61 | li.L7,
62 | li.L8 {
63 | list-style-type: none;
64 | }
65 | /* Alternate shading for lines */
66 | @media print {
67 | pre .str {
68 | color: #060;
69 | }
70 | pre .kwd {
71 | color: #006;
72 | font-weight: bold;
73 | }
74 | pre .com {
75 | color: #600;
76 | font-style: italic;
77 | }
78 | pre .typ {
79 | color: #404;
80 | font-weight: bold;
81 | }
82 | pre .lit {
83 | color: #044;
84 | }
85 | pre .pun {
86 | color: #440;
87 | }
88 | pre .pln {
89 | color: #000;
90 | }
91 | pre .tag {
92 | color: #006;
93 | font-weight: bold;
94 | }
95 | pre .atn {
96 | color: #404;
97 | }
98 | pre .atv {
99 | color: #060;
100 | }
101 | }
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-apollo.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\n\r]*/,null,"#"],["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/,
2 | null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["apollo","agc","aea"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-basic.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^"(?:[^\n\r"\\]|\\.)*(?:"|$)/,a,'"'],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^REM[^\n\r]*/,a],["kwd",/^\b(?:AND|CLOSE|CLR|CMD|CONT|DATA|DEF ?FN|DIM|END|FOR|GET|GOSUB|GOTO|IF|INPUT|LET|LIST|LOAD|NEW|NEXT|NOT|ON|OPEN|OR|POKE|PRINT|READ|RESTORE|RETURN|RUN|SAVE|STEP|STOP|SYS|THEN|TO|VERIFY|WAIT)\b/,a],["pln",/^[a-z][^\W_]?(?:\$|%)?/i,a],["lit",/^(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i,a,"0123456789"],["pun",
3 | /^.[^\s\w"$%.]*/,a]]),["basic","cbm"]);
4 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-clj.js:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2011 Google Inc.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 | var a=null;
17 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[([{]+/,a,"([{"],["clo",/^[)\]}]+/,a,")]}"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,a],
18 | ["typ",/^:[\dA-Za-z-]+/]]),["clj"]);
19 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-css.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n\u000c"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]+)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],
2 | ["com",/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}\b/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-dart.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"]],[["com",/^#!.*/],["kwd",/^\b(?:import|library|part of|part|as|show|hide)\b/i],["com",/^\/\/.*/],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["kwd",/^\b(?:class|interface)\b/i],["kwd",/^\b(?:assert|break|case|catch|continue|default|do|else|finally|for|if|in|is|new|return|super|switch|this|throw|try|while)\b/i],["kwd",/^\b(?:abstract|const|extends|factory|final|get|implements|native|operator|set|static|typedef|var)\b/i],
2 | ["typ",/^\b(?:bool|double|dynamic|int|num|object|string|void)\b/i],["kwd",/^\b(?:false|null|true)\b/i],["str",/^r?'''[\S\s]*?[^\\]'''/],["str",/^r?"""[\S\s]*?[^\\]"""/],["str",/^r?'('|[^\n\f\r]*?[^\\]')/],["str",/^r?"("|[^\n\f\r]*?[^\\]")/],["pln",/^[$_a-z]\w*/i],["pun",/^[!%&*+/:<-?^|~-]/],["lit",/^\b0x[\da-f]+/i],["lit",/^\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i],["lit",/^\b\.\d+(?:e[+-]?\d+)?/i],["pun",/^[(),.;[\]{}]/]]),
3 | ["dart"]);
4 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-erlang.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["lit",/^[a-z]\w*/],["lit",/^'(?:[^\n\f\r'\\]|\\[^&])+'?/,null,"'"],["lit",/^\?[^\t\n ({]+/,null,"?"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^%[^\n]*/],["kwd",/^(?:module|attributes|do|let|in|letrec|apply|call|primop|case|of|end|when|fun|try|catch|receive|after|char|integer|float,atom,string,var)\b/],
2 | ["kwd",/^-[_a-z]+/],["typ",/^[A-Z_]\w*/],["pun",/^[,.;]/]]),["erlang","erl"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-go.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["pln",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])+(?:'|$)|`[^`]*(?:`|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\/\*[\S\s]*?\*\/)/],["pln",/^(?:[^"'/`]|\/(?![*/]))+/]]),["go"]);
2 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-hs.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/,
2 | null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-lisp.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a],
3 | ["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","lsp","scm","ss","rkt"]);
4 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-llvm.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^!?"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["com",/^;[^\n\r]*/,null,";"]],[["pln",/^[!%@](?:[$\-.A-Z_a-z][\w$\-.]*|\d+)/],["kwd",/^[^\W\d]\w*/,null],["lit",/^\d+\.\d+/],["lit",/^(?:\d+|0[Xx][\dA-Fa-f]+)/],["pun",/^[(-*,:<->[\]{}]|\.\.\.$/]]),["llvm","ll"]);
2 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-lua.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$))/,null,"\"'"]],[["com",/^--(?:\[(=*)\[[\S\s]*?(?:]\1]|$)|[^\n\r]*)/],["str",/^\[(=*)\[[\S\s]*?(?:]\1]|$)/],["kwd",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],
2 | ["pln",/^[_a-z]\w*/i],["pun",/^[^\w\t\n\r \xa0][^\w\t\n\r "'+=\xa0-]*/]]),["lua"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-ml.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^#(?:if[\t\n\r \xa0]+(?:[$_a-z][\w']*|``[^\t\n\r`]*(?:``|$))|else|endif|light)/i,null,"#"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])(?:'|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\(\*[\S\s]*?\*\))/],["kwd",/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/],
2 | ["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^(?:[_a-z][\w']*[!#?]?|``[^\t\n\r`]*(?:``|$))/i],["pun",/^[^\w\t\n\r "'\xa0]+/]]),["fs","ml"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-mumps.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"]|\\.)*"/,null,'"']],[["com",/^;[^\n\r]*/,null,";"],["dec",/^\$(?:d|device|ec|ecode|es|estack|et|etrap|h|horolog|i|io|j|job|k|key|p|principal|q|quit|st|stack|s|storage|sy|system|t|test|tl|tlevel|tr|trestart|x|y|z[a-z]*|a|ascii|c|char|d|data|e|extract|f|find|fn|fnumber|g|get|j|justify|l|length|na|name|o|order|p|piece|ql|qlength|qs|qsubscript|q|query|r|random|re|reverse|s|select|st|stack|t|text|tr|translate|nan)\b/i,
2 | null],["kwd",/^(?:[^$]b|break|c|close|d|do|e|else|f|for|g|goto|h|halt|h|hang|i|if|j|job|k|kill|l|lock|m|merge|n|new|o|open|q|quit|r|read|s|set|tc|tcommit|tre|trestart|tro|trollback|ts|tstart|u|use|v|view|w|write|x|xecute)\b/i,null],["lit",/^[+-]?(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?/i],["pln",/^[a-z][^\W_]*/i],["pun",/^[^\w\t\n\r"$%;^\xa0]|_/]]),["mumps"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-n.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,'"'],["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["str",/^@"(?:[^"]|"")*(?:"|$)/,a],["str",/^<#[^#>]*(?:#>|$)/,a],["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a],["com",/^\/\/[^\n\r]*/,a],["com",/^\/\*[\S\s]*?(?:\*\/|$)/,
3 | a],["kwd",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/,
4 | a],["typ",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/,a],["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^@[A-Z]+[a-z][\w$@]*/,a],["pln",/^'?[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w"-$'./@`]*/,a]]),["n","nemerle"]);
5 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-pascal.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^'(?:[^\n\r'\\]|\\.)*(?:'|$)/,a,"'"],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^\(\*[\S\s]*?(?:\*\)|$)|^{[\S\s]*?(?:}|$)/,a],["kwd",/^(?:absolute|and|array|asm|assembler|begin|case|const|constructor|destructor|div|do|downto|else|end|external|for|forward|function|goto|if|implementation|in|inline|interface|interrupt|label|mod|not|object|of|or|packed|procedure|program|record|repeat|set|shl|shr|then|to|type|unit|until|uses|var|virtual|while|with|xor)\b/i,a],
3 | ["lit",/^(?:true|false|self|nil)/i,a],["pln",/^[a-z][^\W_]*/i,a],["lit",/^(?:\$[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)/i,a,"0123456789"],["pun",/^.[^\s\w$'./@]*/,a]]),["pascal"]);
4 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-proto.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.sourceDecorator({keywords:"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/,cStyleComments:!0}),["proto"]);
2 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-r.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^'\\]|\\[\S\s])*(?:'|$)/,null,"'"]],[["com",/^#.*/],["kwd",/^(?:if|else|for|while|repeat|in|next|break|return|switch|function)(?![\w.])/],["lit",/^0[Xx][\dA-Fa-f]+([Pp]\d+)?[Li]?/],["lit",/^[+-]?(\d+(\.\d+)?|\.\d+)([Ee][+-]?\d+)?[Li]?/],["lit",/^(?:NULL|NA(?:_(?:integer|real|complex|character)_)?|Inf|TRUE|FALSE|NaN|\.\.(?:\.|\d+))(?![\w.])/],
2 | ["pun",/^(?:<-|->>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|[!*+/^]|%.*?%|[$=@~]|:{1,3}|[(),;?[\]{}])/],["pln",/^(?:[A-Za-z]+[\w.]*|\.[^\W\d][\w.]*)(?![\w.])/],["str",/^`.+`/]]),["r","s","R","S","Splus"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-rd.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^%[^\n\r]*/,null,"%"]],[["lit",/^\\(?:cr|l?dots|R|tab)\b/],["kwd",/^\\[@-Za-z]+/],["kwd",/^#(?:ifn?def|endif)/],["pln",/^\\[{}]/],["pun",/^[()[\]{}]+/]]),["Rd","rd"]);
2 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-scala.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:""(?:""?(?!")|[^"\\]|\\.)*"{0,3}|(?:[^\n\r"\\]|\\.)*"?)/,null,'"'],["lit",/^`(?:[^\n\r\\`]|\\.)*`?/,null,"`"],["pun",/^[!#%&(--:-@[-^{-~]+/,null,"!#%&()*+,-:;<=>?@[\\]^{|}~"]],[["str",/^'(?:[^\n\r'\\]|\\(?:'|[^\n\r']+))'/],["lit",/^'[$A-Z_a-z][\w$]*(?![\w$'])/],["kwd",/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\b/],
2 | ["lit",/^(?:true|false|null|this)\b/],["lit",/^(?:0(?:[0-7]+|x[\da-f]+)l?|(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:e[+-]?\d+)?f?|l?)|\\.\d+(?:e[+-]?\d+)?f?)/i],["typ",/^[$_]*[A-Z][\d$A-Z_]*[a-z][\w$]*/],["pln",/^[$A-Z_a-z][\w$]*/],["com",/^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/],["pun",/^(?:\.+|\/)/]]),["scala"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-sql.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,null,"\"'"]],[["com",/^(?:--[^\n\r]*|\/\*[\S\s]*?(?:\*\/|$))/],["kwd",/^(?:add|all|alter|and|any|apply|as|asc|authorization|backup|begin|between|break|browse|bulk|by|cascade|case|check|checkpoint|close|clustered|coalesce|collate|column|commit|compute|connect|constraint|contains|containstable|continue|convert|create|cross|current|current_date|current_time|current_timestamp|current_user|cursor|database|dbcc|deallocate|declare|default|delete|deny|desc|disk|distinct|distributed|double|drop|dummy|dump|else|end|errlvl|escape|except|exec|execute|exists|exit|fetch|file|fillfactor|following|for|foreign|freetext|freetexttable|from|full|function|goto|grant|group|having|holdlock|identity|identitycol|identity_insert|if|in|index|inner|insert|intersect|into|is|join|key|kill|left|like|lineno|load|match|matched|merge|natural|national|nocheck|nonclustered|nocycle|not|null|nullif|of|off|offsets|on|open|opendatasource|openquery|openrowset|openxml|option|or|order|outer|over|partition|percent|pivot|plan|preceding|precision|primary|print|proc|procedure|public|raiserror|read|readtext|reconfigure|references|replication|restore|restrict|return|revoke|right|rollback|rowcount|rowguidcol|rows?|rule|save|schema|select|session_user|set|setuser|shutdown|some|start|statistics|system_user|table|textsize|then|to|top|tran|transaction|trigger|truncate|tsequal|unbounded|union|unique|unpivot|update|updatetext|use|user|using|values|varying|view|waitfor|when|where|while|with|within|writetext|xml)(?=[^\w-]|$)/i,
2 | null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^[_a-z][\w-]*/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'+\xa0-]*/]]),["sql"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-tcl.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^{+/,a,"{"],["clo",/^}+/,a,"}"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:after|append|apply|array|break|case|catch|continue|error|eval|exec|exit|expr|for|foreach|if|incr|info|proc|return|set|switch|trace|uplevel|upvar|while)\b/,a],["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",
3 | /^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["tcl"]);
4 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-tex.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^%[^\n\r]*/,null,"%"]],[["kwd",/^\\[@-Za-z]+/],["kwd",/^\\./],["typ",/^[$&]/],["lit",/[+-]?(?:\.\d+|\d+(?:\.\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],["pun",/^[()=[\]{}]+/]]),["latex","tex"]);
2 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-vb.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0\u2028\u2029]+/,null,"\t\n\r \u00a0\u2028\u2029"],["str",/^(?:["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})(?:["\u201c\u201d]c|$)|["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})*(?:["\u201c\u201d]|$))/i,null,'"\u201c\u201d'],["com",/^['\u2018\u2019](?:_(?:\r\n?|[^\r]?)|[^\n\r_\u2028\u2029])*/,null,"'\u2018\u2019"]],[["kwd",/^(?:addhandler|addressof|alias|and|andalso|ansi|as|assembly|auto|boolean|byref|byte|byval|call|case|catch|cbool|cbyte|cchar|cdate|cdbl|cdec|char|cint|class|clng|cobj|const|cshort|csng|cstr|ctype|date|decimal|declare|default|delegate|dim|directcast|do|double|each|else|elseif|end|endif|enum|erase|error|event|exit|finally|for|friend|function|get|gettype|gosub|goto|handles|if|implements|imports|in|inherits|integer|interface|is|let|lib|like|long|loop|me|mod|module|mustinherit|mustoverride|mybase|myclass|namespace|new|next|not|notinheritable|notoverridable|object|on|option|optional|or|orelse|overloads|overridable|overrides|paramarray|preserve|private|property|protected|public|raiseevent|readonly|redim|removehandler|resume|return|select|set|shadows|shared|short|single|static|step|stop|string|structure|sub|synclock|then|throw|to|try|typeof|unicode|until|variant|wend|when|while|with|withevents|writeonly|xor|endif|gosub|let|variant|wend)\b/i,
2 | null],["com",/^rem\b.*/i],["lit",/^(?:true\b|false\b|nothing\b|\d+(?:e[+-]?\d+[dfr]?|[dfilrs])?|(?:&h[\da-f]+|&o[0-7]+)[ils]?|\d*\.\d+(?:e[+-]?\d+)?[dfr]?|#\s+(?:\d+[/-]\d+[/-]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:am|pm))?)?|\d+:\d+(?::\d+)?(\s*(?:am|pm))?)\s+#)/i],["pln",/^(?:(?:[a-z]|_\w)\w*(?:\[[!#%&@]+])?|\[(?:[a-z]|_\w)\w*])/i],["pun",/^[^\w\t\n\r "'[\]\xa0\u2018\u2019\u201c\u201d\u2028\u2029]+/],["pun",/^(?:\[|])/]]),["vb","vbs"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-vhdl.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"]],[["str",/^(?:[box]?"(?:[^"]|"")*"|'.')/i],["com",/^--[^\n\r]*/],["kwd",/^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\w-]|$)/i,
2 | null],["typ",/^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\w-]|$)/i,null],["typ",/^'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance_name|last_active|last_event|last_value|left|leftof|length|low|path_name|pos|pred|quiet|range|reverse_range|right|rightof|simple_name|stable|succ|transaction|val|value)(?=[^\w-]|$)/i,null],["lit",/^\d+(?:_\d+)*(?:#[\w.\\]+#(?:[+-]?\d+(?:_\d+)*)?|(?:\.\d+(?:_\d+)*)?(?:e[+-]?\d+(?:_\d+)*)?)/i],
3 | ["pln",/^(?:[a-z]\w*|\\[^\\]*\\)/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'\xa0-]*/]]),["vhdl","vhd"]);
4 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-wiki.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\d\t a-gi-z\xa0]+/,null,"\t \u00a0abcdefgijklmnopqrstuvwxyz0123456789"],["pun",/^[*=[\]^~]+/,null,"=*~^[]"]],[["lang-wiki.meta",/(?:^^|\r\n?|\n)(#[a-z]+)\b/],["lit",/^[A-Z][a-z][\da-z]+[A-Z][a-z][^\W_]+\b/],["lang-",/^{{{([\S\s]+?)}}}/],["lang-",/^`([^\n\r`]+)`/],["str",/^https?:\/\/[^\s#/?]*(?:\/[^\s#?]*)?(?:\?[^\s#]*)?(?:#\S*)?/i],["pln",/^(?:\r\n|[\S\s])[^\n\r#*=A-[^`h{~]*/]]),["wiki"]);
2 | PR.registerLangHandler(PR.createSimpleLexer([["kwd",/^#[a-z]+/i,null,"#"]],[]),["wiki.meta"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/lang-yaml.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["pun",/^[:>?|]+/,a,":|>?"],["dec",/^%(?:YAML|TAG)[^\n\r#]+/,a,"%"],["typ",/^&\S+/,a,"&"],["typ",/^!\S*/,a,"!"],["str",/^"(?:[^"\\]|\\.)*(?:"|$)/,a,'"'],["str",/^'(?:[^']|'')*(?:'|$)/,a,"'"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^\s+/,a," \t\r\n"]],[["dec",/^(?:---|\.\.\.)(?:[\n\r]|$)/],["pun",/^-/],["kwd",/^\w+:[\n\r ]/],["pln",/^\w+/]]),["yaml","yml"]);
3 |
--------------------------------------------------------------------------------
/public/apidoc/vendor/prettify/prettify.css:
--------------------------------------------------------------------------------
1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
--------------------------------------------------------------------------------
/public/assets/css/blue.css:
--------------------------------------------------------------------------------
1 | /* iCheck plugin Square skin, blue
2 | ----------------------------------- */
3 | .icheckbox_square-blue,
4 | .iradio_square-blue {
5 | display: inline-block;
6 | *display: inline;
7 | vertical-align: middle;
8 | margin: 0;
9 | padding: 0;
10 | width: 22px;
11 | height: 22px;
12 | background: url(../img/blue.png) no-repeat;
13 | border: none;
14 | cursor: pointer;
15 | }
16 |
17 | .icheckbox_square-blue {
18 | background-position: 0 0;
19 | }
20 | .icheckbox_square-blue.hover {
21 | background-position: -24px 0;
22 | }
23 | .icheckbox_square-blue.checked {
24 | background-position: -48px 0;
25 | }
26 | .icheckbox_square-blue.disabled {
27 | background-position: -72px 0;
28 | cursor: default;
29 | }
30 | .icheckbox_square-blue.checked.disabled {
31 | background-position: -96px 0;
32 | }
33 |
34 | .iradio_square-blue {
35 | background-position: -120px 0;
36 | }
37 | .iradio_square-blue.hover {
38 | background-position: -144px 0;
39 | }
40 | .iradio_square-blue.checked {
41 | background-position: -168px 0;
42 | }
43 | .iradio_square-blue.disabled {
44 | background-position: -192px 0;
45 | cursor: default;
46 | }
47 | .iradio_square-blue.checked.disabled {
48 | background-position: -216px 0;
49 | }
50 |
51 | /* Retina support */
52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5),
53 | only screen and (-moz-min-device-pixel-ratio: 1.5),
54 | only screen and (-o-min-device-pixel-ratio: 3/2),
55 | only screen and (min-device-pixel-ratio: 1.5) {
56 | .icheckbox_square-blue,
57 | .iradio_square-blue {
58 | background-image: url(../img/blue@2x.png);
59 | -webkit-background-size: 240px 24px;
60 | background-size: 240px 24px;
61 | }
62 | }
--------------------------------------------------------------------------------
/public/assets/css/skin-blue.min.css:
--------------------------------------------------------------------------------
1 | .skin-blue .main-header .navbar{background-color:#3c8dbc}.skin-blue .main-header .navbar .nav>li>a{color:#fff}.skin-blue .main-header .navbar .nav>li>a:hover,.skin-blue .main-header .navbar .nav>li>a:active,.skin-blue .main-header .navbar .nav>li>a:focus,.skin-blue .main-header .navbar .nav .open>a,.skin-blue .main-header .navbar .nav .open>a:hover,.skin-blue .main-header .navbar .nav .open>a:focus,.skin-blue .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-blue .main-header .navbar .dropdown-menu li a{color:#fff}.skin-blue .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue .main-header .logo{background-color:#367fa9;color:#fff;border-bottom:0 solid transparent}.skin-blue .main-header .logo:hover{background-color:#357ca5}.skin-blue .main-header li.user-header{background-color:#3c8dbc}.skin-blue .content-header{background:transparent}.skin-blue .wrapper,.skin-blue .main-sidebar,.skin-blue .left-side{background-color:#222d32}.skin-blue .user-panel>.info,.skin-blue .user-panel>.info>a{color:#fff}.skin-blue .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-blue .sidebar-menu>li>a{border-left:3px solid transparent}.skin-blue .sidebar-menu>li:hover>a,.skin-blue .sidebar-menu>li.active>a{color:#fff;background:#1e282c;border-left-color:#3c8dbc}.skin-blue .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-blue .sidebar a{color:#b8c7ce}.skin-blue .sidebar a:hover{text-decoration:none}.skin-blue .treeview-menu>li>a{color:#8aa4af}.skin-blue .treeview-menu>li.active>a,.skin-blue .treeview-menu>li>a:hover{color:#fff}.skin-blue .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-blue .sidebar-form input[type="text"],.skin-blue .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-blue .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-blue .sidebar-form input[type="text"]:focus,.skin-blue .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-blue.layout-top-nav .main-header>.logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue.layout-top-nav .main-header>.logo:hover{background-color:#3b8ab8}
--------------------------------------------------------------------------------
/public/assets/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/public/assets/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/public/assets/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/public/assets/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/public/assets/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/public/assets/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/public/assets/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/public/assets/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/public/assets/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/ionicons.eot
--------------------------------------------------------------------------------
/public/assets/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/public/assets/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/fonts/ionicons.woff
--------------------------------------------------------------------------------
/public/assets/img/avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/avatar.png
--------------------------------------------------------------------------------
/public/assets/img/avatar04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/avatar04.png
--------------------------------------------------------------------------------
/public/assets/img/avatar2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/avatar2.png
--------------------------------------------------------------------------------
/public/assets/img/avatar3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/avatar3.png
--------------------------------------------------------------------------------
/public/assets/img/avatar5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/avatar5.png
--------------------------------------------------------------------------------
/public/assets/img/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/blue.png
--------------------------------------------------------------------------------
/public/assets/img/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/blue@2x.png
--------------------------------------------------------------------------------
/public/assets/img/boxed-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/boxed-bg.jpg
--------------------------------------------------------------------------------
/public/assets/img/boxed-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/boxed-bg.png
--------------------------------------------------------------------------------
/public/assets/img/credit/american-express.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/credit/american-express.png
--------------------------------------------------------------------------------
/public/assets/img/credit/cirrus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/credit/cirrus.png
--------------------------------------------------------------------------------
/public/assets/img/credit/mastercard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/credit/mastercard.png
--------------------------------------------------------------------------------
/public/assets/img/credit/mestro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/credit/mestro.png
--------------------------------------------------------------------------------
/public/assets/img/credit/paypal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/credit/paypal.png
--------------------------------------------------------------------------------
/public/assets/img/credit/paypal2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/credit/paypal2.png
--------------------------------------------------------------------------------
/public/assets/img/credit/visa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/credit/visa.png
--------------------------------------------------------------------------------
/public/assets/img/default-50x50.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/default-50x50.gif
--------------------------------------------------------------------------------
/public/assets/img/icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/icons.png
--------------------------------------------------------------------------------
/public/assets/img/photo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/photo1.png
--------------------------------------------------------------------------------
/public/assets/img/photo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/photo2.png
--------------------------------------------------------------------------------
/public/assets/img/photo3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/photo3.jpg
--------------------------------------------------------------------------------
/public/assets/img/photo4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/photo4.jpg
--------------------------------------------------------------------------------
/public/assets/img/user1-128x128.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/user1-128x128.jpg
--------------------------------------------------------------------------------
/public/assets/img/user2-160x160.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/user2-160x160.jpg
--------------------------------------------------------------------------------
/public/assets/img/user3-128x128.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/user3-128x128.jpg
--------------------------------------------------------------------------------
/public/assets/img/user4-128x128.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/user4-128x128.jpg
--------------------------------------------------------------------------------
/public/assets/img/user5-128x128.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/user5-128x128.jpg
--------------------------------------------------------------------------------
/public/assets/img/user6-128x128.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/user6-128x128.jpg
--------------------------------------------------------------------------------
/public/assets/img/user7-128x128.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/user7-128x128.jpg
--------------------------------------------------------------------------------
/public/assets/img/user8-128x128.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/assets/img/user8-128x128.jpg
--------------------------------------------------------------------------------
/public/assets/js/html5shiv.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3 | */
4 | !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
--------------------------------------------------------------------------------
/public/assets/js/icheck.min.js:
--------------------------------------------------------------------------------
1 | /*! iCheck v1.0.1 by Damir Sultanov, http://git.io/arlzeA, MIT Licensed */
2 | (function(h){function F(a,b,d){var c=a[0],e=/er/.test(d)?m:/bl/.test(d)?s:l,f=d==H?{checked:c[l],disabled:c[s],indeterminate:"true"==a.attr(m)||"false"==a.attr(w)}:c[e];if(/^(ch|di|in)/.test(d)&&!f)D(a,e);else if(/^(un|en|de)/.test(d)&&f)t(a,e);else if(d==H)for(e in f)f[e]?D(a,e,!0):t(a,e,!0);else if(!b||"toggle"==d){if(!b)a[p]("ifClicked");f?c[n]!==u&&t(a,e):D(a,e)}}function D(a,b,d){var c=a[0],e=a.parent(),f=b==l,A=b==m,B=b==s,K=A?w:f?E:"enabled",p=k(a,K+x(c[n])),N=k(a,b+x(c[n]));if(!0!==c[b]){if(!d&&
3 | b==l&&c[n]==u&&c.name){var C=a.closest("form"),r='input[name="'+c.name+'"]',r=C.length?C.find(r):h(r);r.each(function(){this!==c&&h(this).data(q)&&t(h(this),b)})}A?(c[b]=!0,c[l]&&t(a,l,"force")):(d||(c[b]=!0),f&&c[m]&&t(a,m,!1));L(a,f,b,d)}c[s]&&k(a,y,!0)&&e.find("."+I).css(y,"default");e[v](N||k(a,b)||"");B?e.attr("aria-disabled","true"):e.attr("aria-checked",A?"mixed":"true");e[z](p||k(a,K)||"")}function t(a,b,d){var c=a[0],e=a.parent(),f=b==l,h=b==m,q=b==s,p=h?w:f?E:"enabled",t=k(a,p+x(c[n])),
4 | u=k(a,b+x(c[n]));if(!1!==c[b]){if(h||!d||"force"==d)c[b]=!1;L(a,f,p,d)}!c[s]&&k(a,y,!0)&&e.find("."+I).css(y,"pointer");e[z](u||k(a,b)||"");q?e.attr("aria-disabled","false"):e.attr("aria-checked","false");e[v](t||k(a,p)||"")}function M(a,b){if(a.data(q)){a.parent().html(a.attr("style",a.data(q).s||""));if(b)a[p](b);a.off(".i").unwrap();h(G+'[for="'+a[0].id+'"]').add(a.closest(G)).off(".i")}}function k(a,b,d){if(a.data(q))return a.data(q).o[b+(d?"":"Class")]}function x(a){return a.charAt(0).toUpperCase()+
5 | a.slice(1)}function L(a,b,d,c){if(!c){if(b)a[p]("ifToggled");a[p]("ifChanged")[p]("if"+x(d))}}var q="iCheck",I=q+"-helper",u="radio",l="checked",E="un"+l,s="disabled",w="determinate",m="in"+w,H="update",n="type",v="addClass",z="removeClass",p="trigger",G="label",y="cursor",J=/ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent);h.fn[q]=function(a,b){var d='input[type="checkbox"], input[type="'+u+'"]',c=h(),e=function(a){a.each(function(){var a=h(this);c=a.is(d)?
6 | c.add(a):c.add(a.find(d))})};if(/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(a))return a=a.toLowerCase(),e(this),c.each(function(){var c=h(this);"destroy"==a?M(c,"ifDestroyed"):F(c,!0,a);h.isFunction(b)&&b()});if("object"!=typeof a&&a)return this;var f=h.extend({checkedClass:l,disabledClass:s,indeterminateClass:m,labelHover:!0,aria:!1},a),k=f.handle,B=f.hoverClass||"hover",x=f.focusClass||"focus",w=f.activeClass||"active",y=!!f.labelHover,C=f.labelHoverClass||
7 | "hover",r=(""+f.increaseArea).replace("%","")|0;if("checkbox"==k||k==u)d='input[type="'+k+'"]';-50>r&&(r=-50);e(this);return c.each(function(){var a=h(this);M(a);var c=this,b=c.id,e=-r+"%",d=100+2*r+"%",d={position:"absolute",top:e,left:e,display:"block",width:d,height:d,margin:0,padding:0,background:"#fff",border:0,opacity:0},e=J?{position:"absolute",visibility:"hidden"}:r?d:{position:"absolute",opacity:0},k="checkbox"==c[n]?f.checkboxClass||"icheckbox":f.radioClass||"i"+u,m=h(G+'[for="'+b+'"]').add(a.closest(G)),
8 | A=!!f.aria,E=q+"-"+Math.random().toString(36).replace("0.",""),g='
")[p]("ifCreated").parent().append(f.insert);d=h('').css(d).appendTo(g);a.data(q,{o:f,s:a.attr("style")}).css(e);f.inheritClass&&g[v](c.className||"");f.inheritID&&b&&g.attr("id",q+"-"+b);"static"==g.css("position")&&g.css("position","relative");F(a,!0,H);
9 | if(m.length)m.on("click.i mouseover.i mouseout.i touchbegin.i touchend.i",function(b){var d=b[n],e=h(this);if(!c[s]){if("click"==d){if(h(b.target).is("a"))return;F(a,!1,!0)}else y&&(/ut|nd/.test(d)?(g[z](B),e[z](C)):(g[v](B),e[v](C)));if(J)b.stopPropagation();else return!1}});a.on("click.i focus.i blur.i keyup.i keydown.i keypress.i",function(b){var d=b[n];b=b.keyCode;if("click"==d)return!1;if("keydown"==d&&32==b)return c[n]==u&&c[l]||(c[l]?t(a,l):D(a,l)),!1;if("keyup"==d&&c[n]==u)!c[l]&&D(a,l);else if(/us|ur/.test(d))g["blur"==
10 | d?z:v](x)});d.on("click mousedown mouseup mouseover mouseout touchbegin.i touchend.i",function(b){var d=b[n],e=/wn|up/.test(d)?w:B;if(!c[s]){if("click"==d)F(a,!1,!0);else{if(/wn|er|in/.test(d))g[v](e);else g[z](e+" "+w);if(m.length&&y&&e==B)m[/ut|nd/.test(d)?z:v](C)}if(J)b.stopPropagation();else return!1}})})}})(window.jQuery||window.Zepto);
11 |
--------------------------------------------------------------------------------
/public/assets/js/respond.min.js:
--------------------------------------------------------------------------------
1 | /*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
2 | * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
3 | * */
4 |
5 | !function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b
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/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/public/vendor/layer/skin/default/icon-ext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/vendor/layer/skin/default/icon-ext.png
--------------------------------------------------------------------------------
/public/vendor/layer/skin/default/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/vendor/layer/skin/default/icon.png
--------------------------------------------------------------------------------
/public/vendor/layer/skin/default/loading-0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/vendor/layer/skin/default/loading-0.gif
--------------------------------------------------------------------------------
/public/vendor/layer/skin/default/loading-1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/vendor/layer/skin/default/loading-1.gif
--------------------------------------------------------------------------------
/public/vendor/layer/skin/default/loading-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/vendor/layer/skin/default/loading-2.gif
--------------------------------------------------------------------------------
/public/vendor/uploadifive/check-exists.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/vendor/uploadifive/index.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UploadiFive Test
6 |
7 |
8 |
9 |
26 |
27 |
28 |
29 | UploadiFive Demo
30 |
35 |
36 |
52 |
53 |
--------------------------------------------------------------------------------
/public/vendor/uploadifive/uploadifive-cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/jiansan-laravel/fc8325e51f59072d665a2f08174acbdf3f598796/public/vendor/uploadifive/uploadifive-cancel.png
--------------------------------------------------------------------------------
/public/vendor/uploadifive/uploadifive-image-only.php:
--------------------------------------------------------------------------------
1 | 0) {
32 | return true;
33 | } else {
34 | return false;
35 | }
36 |
37 | }
38 |
39 | if (!empty($_FILES)) {
40 |
41 | $fileData = $_FILES['Filedata'];
42 |
43 | if ($fileData) {
44 | $tempFile = $fileData['tmp_name'];
45 | $uploadDir = $_SERVER['DOCUMENT_ROOT'] . $uploadDir;
46 | $targetFile = $uploadDir . $fileData['name'];
47 |
48 | // Validate the file type
49 | $fileTypes = array('jpg', 'jpeg', 'gif', 'png'); // Allowed file extensions
50 | $fileParts = pathinfo($fileData['name']);
51 |
52 | // Validate the filetype
53 | if (in_array(strtolower($fileParts['extension']), $fileTypes) && filesize($tempFile) > 0 && isImage($tempFile)) {
54 |
55 | // Save the file
56 | move_uploaded_file($tempFile, $targetFile);
57 | echo 1;
58 |
59 | } else {
60 |
61 | // The file type wasn't allowed
62 | echo 'Invalid file type.';
63 | }
64 | }
65 | }
66 | ?>
--------------------------------------------------------------------------------
/public/vendor/uploadifive/uploadifive.css:
--------------------------------------------------------------------------------
1 | /*
2 | UploadiFive
3 | Copyright (c) 2012 Reactive Apps, Ronnie Garcia
4 | */
5 |
6 | .uploadifive-button {
7 | background-color: #505050;
8 | background-image: linear-gradient(bottom, #505050 0%, #707070 100%);
9 | background-image: -o-linear-gradient(bottom, #505050 0%, #707070 100%);
10 | background-image: -moz-linear-gradient(bottom, #505050 0%, #707070 100%);
11 | background-image: -webkit-linear-gradient(bottom, #505050 0%, #707070 100%);
12 | background-image: -ms-linear-gradient(bottom, #505050 0%, #707070 100%);
13 | background-image: -webkit-gradient(
14 | linear,
15 | left bottom,
16 | left top,
17 | color-stop(0, #505050),
18 | color-stop(1, #707070)
19 | );
20 | background-position: center top;
21 | background-repeat: no-repeat;
22 | -webkit-border-radius: 30px;
23 | -moz-border-radius: 30px;
24 | border-radius: 30px;
25 | border: 2px solid #808080;
26 | color: #FFF;
27 | font: bold 12px Arial, Helvetica, sans-serif;
28 | text-align: center;
29 | text-shadow: 0 -1px 0 rgba(0,0,0,0.25);
30 | text-transform: uppercase;
31 | width: 100%;
32 | }
33 | .uploadifive-button:hover {
34 | background-color: #606060;
35 | background-image: linear-gradient(top, #606060 0%, #808080 100%);
36 | background-image: -o-linear-gradient(top, #606060 0%, #808080 100%);
37 | background-image: -moz-linear-gradient(top, #606060 0%, #808080 100%);
38 | background-image: -webkit-linear-gradient(top, #606060 0%, #808080 100%);
39 | background-image: -ms-linear-gradient(top, #606060 0%, #808080 100%);
40 | background-image: -webkit-gradient(
41 | linear,
42 | left bottom,
43 | left top,
44 | color-stop(0, #606060),
45 | color-stop(1, #808080)
46 | );
47 | background-position: center bottom;
48 | }
49 | .uploadifive-queue-item {
50 | background-color: #F5F5F5;
51 | border-bottom: 1px dotted #D5D5D5;
52 | -webkit-border-radius: 5px;
53 | -moz-border-radius: 5px;
54 | border-radius: 5px;
55 | font: 12px Arial, Helvetica, Sans-serif;
56 | margin-top: 3px;
57 | padding: 15px;
58 | }
59 | .uploadifive-queue-item .close {
60 | background: url('uploadifive-cancel.png') 0 0 no-repeat;
61 | display: block;
62 | float: right;
63 | height: 16px;
64 | text-indent: -9999px;
65 | width: 16px;
66 | }
67 | .uploadifive-queue-item .progress {
68 | border: 1px solid #D0D0D0;
69 | height: 3px;
70 | margin-top: 5px;
71 | width: 100%;
72 | }
73 | .uploadifive-queue-item .progress-bar {
74 | background-color: #0072BC;
75 | height: 3px;
76 | width: 0;
77 | }
78 | #closeimg {
79 | background: url('uploadifive-cancel.png') 0 0 no-repeat;
80 | display: block;
81 | float: right;
82 | margin-top: 10px;
83 | height: 20px;
84 | text-indent: -9999px;
85 | width: 20px;
86 | }
--------------------------------------------------------------------------------
/public/vendor/uploadifive/uploadifive.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # 剑三壁纸后台管理系统
2 |
3 | 基于laravel框架,使用 `dingo/api` + `jwt` 开发的剑三壁纸后台管理系统,实现app壁纸数据增删改查管理和一些app配置管理,并提供api接口给app调用。
4 |
5 | app仓库地址 [jiansan-swift](https://github.com/6ag/jiansan-swift) 。
6 |
7 | 
8 |
9 | 
10 |
11 | ## 运行环境
12 |
13 | - Nginx 1.8+
14 | - PHP 5.6+
15 | - Mysql 5.7+
16 |
17 | ## 开发环境部署
18 |
19 | 本项目本地开发环境为 [Laravel Homestead](https://github.com/laravel/homestead) ,如果你还没有安装过 **Homestead** ,请参考 [laravel-china-homestead](http://laravel-china.org/docs/5.1/homestead#installation-and-setup) 。
20 |
21 | ### 安装项目
22 |
23 | **1.克隆代码到本地**
24 |
25 | ```shell
26 | git clone https://github.com/6ag/jiansan-laravel.git
27 | ```
28 |
29 | **2.新建homestead站点**
30 |
31 | 使用homestead新建站点,并解析域名到项目的 `public` 目录。首先进入虚拟机环境,新建站点:
32 |
33 | *注意:* 这里的目录要根据自己安装的路径来写的,最终解析到 `public` 目录即可,别忘了修改本地 `hosts` 文件和重启 `nginx` 。
34 |
35 | ```shell
36 | serve www.jiansan.com /home/vagrant/Code/jiansan-laralve-master/public
37 | ```
38 |
39 | **3.安装项目依赖包**
40 |
41 | ```shell
42 | composer install
43 | ```
44 |
45 | **4.拷贝环境配置文件**
46 |
47 | 拷贝 `.env` 环境配置文件,并修改数据库配置信息。
48 |
49 | ```shell
50 | cp .env.example .env
51 | ```
52 |
53 | **5.创建数据表**
54 |
55 | 在创建数据表前,请先确保 `.env` 文件中的数据库配置正确,并数据库已经存在。
56 |
57 | ```shell
58 | php artisan migrate
59 | ```
60 |
61 | **6.填充基础数据**
62 |
63 | 添加分类数据和管理员信息,填充后默认管理员账号 `admin` , 邮箱 `admin@6ag.cn` ,密码 `123456` 。
64 |
65 | ```shell
66 | php artisan db:seed
67 | ```
68 |
69 | **7.注册管理员账号**
70 |
71 | 访问 `http://www.jiansan.com/` ,使用管理员账号登录即可。
72 |
73 | ### API接口文档
74 |
75 | 本项目接口文档使用 [apidoc](https://github.com/apidoc/apidoc) 生成。
76 |
77 | **1.全局安装**
78 |
79 | 安装前请确保已经安装了 `node` ,如果是使用 `homestead` 则默认已经安装有 `node` ,可直接执行下面命令进行安装 `apidoc` 。
80 |
81 | ```shell
82 | npm install apidoc -g
83 | ```
84 |
85 | **2.更新文档**
86 |
87 | 在项目根目录执行下面命令更新API文档,这里的 `app/Http/Api/V1/Controllers` 是需要解析的源文件目录,指定后会递归查找符合注释条件的方法,并生成对应的接口文档。 `public/apidoc` 是存放接口文档的目录,我这里放到 `public` 目录下的原因是上线后可以直接访问哈。
88 |
89 | ```shell
90 | apidoc -i app/Http/Api/V1/Controllers -o public/apidoc/
91 | ```
92 |
93 | **3.注释格式**
94 |
95 | 这个请自己去看 `apidoc` 文档,每次修改注释后,需要重新生成文档都可以执行上面的命令。然后 `http://www.jiansan.com/apidoc` 即可访问文档。
96 |
97 | ## 许可
98 |
99 | [MIT](http://opensource.org/licenses/MIT) © [六阿哥](https://github.com/6ag)
100 |
101 |
102 |
--------------------------------------------------------------------------------
/resources/assets/sass/app.scss:
--------------------------------------------------------------------------------
1 | // @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
2 |
3 |
--------------------------------------------------------------------------------
/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/views/admin/apidoc.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.dashboard')
2 |
3 | @section('content')
4 |
5 |
15 |
16 |
17 |
18 |
19 | @endsection
20 |
--------------------------------------------------------------------------------
/resources/views/admin/category/create.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.dashboard')
2 |
3 | @section('content')
4 |
51 | @endsection
52 |
53 |
54 |
--------------------------------------------------------------------------------
/resources/views/admin/category/index.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.dashboard')
2 |
3 | @section('content')
4 |
70 | @endsection
71 |
72 |
73 |
--------------------------------------------------------------------------------
/resources/views/admin/feedback/index.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.dashboard')
2 |
3 | @section('content')
4 |
73 | @endsection
74 |
75 |
--------------------------------------------------------------------------------
/resources/views/admin/index.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.dashboard')
2 |
3 | @section('content')
4 |
5 |
15 |
16 |
17 |
18 |
19 |
20 |
公告
21 | 这里可以来一条公共吗?我觉得可以吧!
22 |
23 |
24 |
25 |
35 |
36 |
37 |
38 |
39 |
40 | 操作系统 |
41 | {{PHP_OS}} |
42 |
43 |
44 | 运行环境 |
45 | {{ $_SERVER['SERVER_SOFTWARE'] }} |
46 |
47 |
48 | 上传附件限制 |
49 | {{ get_cfg_var("upload_max_filesize") ? get_cfg_var("upload_max_filesize") : "不允许上传附件" }} |
50 |
51 |
52 | 服务器时间 |
53 | {{ date('Y年m月d日 H时i分s秒') }} |
54 |
55 |
56 | 服务器域名/IP |
57 | {{ $_SERVER['HTTP_HOST']}} [{{$_SERVER['SERVER_ADDR'] }}] |
58 |
59 |
60 | Host |
61 | {{ $_SERVER['REMOTE_ADDR'] }} |
62 |
63 |
64 | 版本 |
65 | v1.0.0 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 | @endsection
77 |
78 |
79 |
--------------------------------------------------------------------------------
/resources/views/admin/option/index.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.dashboard')
2 |
3 | @section('content')
4 |
75 | @endsection
76 |
77 |
107 |
108 |
--------------------------------------------------------------------------------
/resources/views/admin/user/login.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.login')
2 |
3 | @section('content')
4 |
5 |
6 | 六阿哥壁纸管理系统
7 |
8 |
9 |
10 |
11 | @if(is_object($errors) && count($errors) > 0)
12 |
13 |
14 |
{{ $errors->first() }}
15 |
16 | @endif
17 |
18 | @if(is_string($errors))
19 |
20 |
21 |
{{ $errors }}
22 |
23 | @endif
24 |
25 |
44 |
45 |
46 |
47 | @endsection
--------------------------------------------------------------------------------
/resources/views/admin/user/modify.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.dashboard')
2 |
3 | @section('content')
4 |
59 | @endsection
60 |
61 |
62 |
--------------------------------------------------------------------------------
/resources/views/admin/user/register.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.login')
2 |
3 | @section('content')
4 |
5 |
6 | 六阿哥壁纸管理系统
7 |
8 |
9 |
10 |
11 | @if(is_object($errors) && count($errors) > 0)
12 |
13 |
14 |
{{ $errors->first() }}
15 |
16 | @endif
17 |
18 | @if(is_string($errors))
19 |
20 |
21 |
{{ $errors }}
22 |
23 | @endif
24 |
25 |
56 |
57 |
58 |
59 | @endsection
--------------------------------------------------------------------------------
/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/layouts/Common/footer.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/views/layouts/dashboard.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 壁纸管理系统
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | @include('layouts.Common.header')
29 |
30 | @include('layouts.Common.sidebar')
31 |
32 | @yield('content')
33 |
34 | @include('layouts.Common.footer')
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/resources/views/layouts/login.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 剑三壁纸库 - 登录
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
18 |
19 |
20 |
21 |
22 | @yield('content')
23 |
24 |
25 |
26 |
27 |
28 |
37 |
38 |
--------------------------------------------------------------------------------
/resources/views/vendor/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/server.php:
--------------------------------------------------------------------------------
1 |
8 | */
9 |
10 | $uri = urldecode(
11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
12 | );
13 |
14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the
15 | // built-in PHP web server. This provides a convenient way to test a Laravel
16 | // application without having installed a "real" web server software here.
17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
18 | return false;
19 | }
20 |
21 | require_once __DIR__.'/public/index.php';
22 |
--------------------------------------------------------------------------------
/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !public/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/storage/app/public/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/.gitignore:
--------------------------------------------------------------------------------
1 | config.php
2 | routes.php
3 | schedule-*
4 | compiled.php
5 | services.json
6 | events.scanned.php
7 | routes.scanned.php
8 | down
9 |
--------------------------------------------------------------------------------
/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/sessions/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/views/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/tests/ExampleTest.php:
--------------------------------------------------------------------------------
1 | visit('/')
17 | ->see('Laravel 5');
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/tests/TestCase.php:
--------------------------------------------------------------------------------
1 | make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
22 |
23 | return $app;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------