From 41efc4a4ecc25b12049b620486b1fef8dcb57b18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E4=B8=91=E8=B7=AF=E4=BA=BA?= <2278757482@qq.com> Date: Fri, 25 Dec 2020 18:32:54 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=96=87=E6=A1=A3=E4=B8=8EVue=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=EF=BC=8CAdmin=E6=A8=A1=E5=9D=97=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E7=9A=84=E8=A7=86=E5=9B=BE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 8 ++-- README.md | 8 ++-- .../Admin/Resources/views/admin.blade.php | 6 ++- .../vue-element-admin/router/index.js | 6 +-- .../views/admin_menus/index.vue | 8 +--- .../views/admin_roles/index.vue | 6 +-- .../vue-element-admin/views/admins/index.vue | 4 +- .../views/setting/banners/index.vue | 6 +-- .../views/setting/configs/index.vue | 6 +-- .../views/setting/friendlinks/index.vue | 4 +- app/Modules/Admin/Routes/web.php | 2 +- package-lock.json | 6 --- package.json | 13 +++--- resources/views/admin.blade.php | 15 ------- routes/web.php | 45 ------------------- webpack.admin.js | 38 +++++++++++++--- webpack.mix.js | 21 +++------ 17 files changed, 73 insertions(+), 129 deletions(-) delete mode 100644 resources/views/admin.blade.php diff --git a/README.en.md b/README.en.md index cc6c45a..888b122 100644 --- a/README.en.md +++ b/README.en.md @@ -8,9 +8,11 @@ Software architecture description #### Installation -1. xxxx -2. xxxx -3. xxxx +1. composer install +2. cp .env.example .env +3. 生成 APP_KEY:php artisan key:generate +4. JWT的key:php artisan jwt:secret +5. 导入sql:laravel-vue-admin #### Instructions diff --git a/README.md b/README.md index 21689a1..1938530 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,11 @@ Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN #### 安装教程 -1. 生成 APP_KEY:php artisan key:generate -2. JWT的key:php artisan jwt:secret -3. xxxx +1. composer install +2. cp .env.example .env +3. 生成 APP_KEY:php artisan key:generate +4. JWT的key:php artisan jwt:secret +5. 导入sql:laravel-vue-admin #### 使用说明 diff --git a/app/Modules/Admin/Resources/views/admin.blade.php b/app/Modules/Admin/Resources/views/admin.blade.php index 34989bc..1ff0628 100644 --- a/app/Modules/Admin/Resources/views/admin.blade.php +++ b/app/Modules/Admin/Resources/views/admin.blade.php @@ -6,10 +6,12 @@ Title - +
- + + + diff --git a/app/Modules/Admin/Resources/vue-element-admin/router/index.js b/app/Modules/Admin/Resources/vue-element-admin/router/index.js index 2957572..74980d7 100644 --- a/app/Modules/Admin/Resources/vue-element-admin/router/index.js +++ b/app/Modules/Admin/Resources/vue-element-admin/router/index.js @@ -79,7 +79,7 @@ export const constantRoutes = [ path: 'dashboard', component: () => import('@/views/dashboard/index'), name: 'Dashboard', - meta: {title: 'dashboard', icon: 'dashboard', affix: true} + meta: {title: 'dashboard', icon: 'el-icon-s-home', affix: true} } ] }, @@ -93,10 +93,10 @@ export const constantRoutes = [ path: 'index', component: () => import('@/views/profile/index'), name: 'Profile', - meta: {title: 'profile', icon: 'user', noCache: true} + meta: {title: 'profile', icon: 'el-icon-user', noCache: true} } ] - } + }, ] /** diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/admin_menus/index.vue b/app/Modules/Admin/Resources/vue-element-admin/views/admin_menus/index.vue index a412066..4a0d0dc 100644 --- a/app/Modules/Admin/Resources/vue-element-admin/views/admin_menus/index.vue +++ b/app/Modules/Admin/Resources/vue-element-admin/views/admin_menus/index.vue @@ -73,12 +73,8 @@ width="200" > diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/admin_roles/index.vue b/app/Modules/Admin/Resources/vue-element-admin/views/admin_roles/index.vue index 489f92f..4890855 100644 --- a/app/Modules/Admin/Resources/vue-element-admin/views/admin_roles/index.vue +++ b/app/Modules/Admin/Resources/vue-element-admin/views/admin_roles/index.vue @@ -86,10 +86,8 @@ align="center" > diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/admins/index.vue b/app/Modules/Admin/Resources/vue-element-admin/views/admins/index.vue index 5a41827..f48c51c 100644 --- a/app/Modules/Admin/Resources/vue-element-admin/views/admins/index.vue +++ b/app/Modules/Admin/Resources/vue-element-admin/views/admins/index.vue @@ -97,8 +97,8 @@ align="center" > diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/setting/banners/index.vue b/app/Modules/Admin/Resources/vue-element-admin/views/setting/banners/index.vue index 76deca4..44288c6 100644 --- a/app/Modules/Admin/Resources/vue-element-admin/views/setting/banners/index.vue +++ b/app/Modules/Admin/Resources/vue-element-admin/views/setting/banners/index.vue @@ -102,10 +102,8 @@ align="center" > diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/setting/configs/index.vue b/app/Modules/Admin/Resources/vue-element-admin/views/setting/configs/index.vue index 03d4e91..faaadd1 100644 --- a/app/Modules/Admin/Resources/vue-element-admin/views/setting/configs/index.vue +++ b/app/Modules/Admin/Resources/vue-element-admin/views/setting/configs/index.vue @@ -120,10 +120,8 @@ align="center" > diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/setting/friendlinks/index.vue b/app/Modules/Admin/Resources/vue-element-admin/views/setting/friendlinks/index.vue index 8129e3a..a7ac99b 100644 --- a/app/Modules/Admin/Resources/vue-element-admin/views/setting/friendlinks/index.vue +++ b/app/Modules/Admin/Resources/vue-element-admin/views/setting/friendlinks/index.vue @@ -103,9 +103,7 @@ > diff --git a/app/Modules/Admin/Routes/web.php b/app/Modules/Admin/Routes/web.php index e4ea0dc..2bdc6ed 100644 --- a/app/Modules/Admin/Routes/web.php +++ b/app/Modules/Admin/Routes/web.php @@ -19,7 +19,7 @@ Route::prefix('admin')->group(function() { // Route::get('/', 'AdminController@index'); //后台管理路由 Route::get('/', function(){ - return view('admin'); + return view('admin::admin'); }); Route::prefix('auth')->group(function() { diff --git a/package-lock.json b/package-lock.json index 9802e27..a9b5499 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14826,12 +14826,6 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, "query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", diff --git a/package.json b/package.json index f96afcb..ef039d3 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "scripts": { "dev": "npm run development", "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js", + "dev-admin": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js", "watch": "npm run development -- --watch", "watch-poll": "npm run watch -- --watch-poll", "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js", @@ -50,17 +51,21 @@ "autoprefixer": "9.5.1", "babel-eslint": "10.1.0", "babel-jest": "23.6.0", - "babel-plugin-dynamic-import-node": "2.3.3", + "babel-plugin-dynamic-import-node": "^2.3.3", "chalk": "2.4.2", "chokidar": "2.1.5", "connect": "3.6.6", + "cross-env": "^7.0", "eslint": "6.7.2", "eslint-plugin-vue": "6.2.2", "html-webpack-plugin": "3.2.0", "husky": "1.3.1", + "laravel-mix": "^5.0.1", "lint-staged": "8.1.5", + "lodash": "^4.17.19", "mockjs": "1.0.1-beta3", "plop": "2.3.0", + "resolve-url-loader": "^3.1.0", "runjs": "4.3.2", "sass": "1.26.2", "sass-loader": "8.0.2", @@ -68,10 +73,6 @@ "serve-static": "1.13.2", "svg-sprite-loader": "4.1.3", "svgo": "1.2.0", - "vue-template-compiler": "2.6.10", - "cross-env": "^7.0", - "laravel-mix": "^5.0.1", - "lodash": "^4.17.19", - "resolve-url-loader": "^3.1.0" + "vue-template-compiler": "2.6.10" } } diff --git a/resources/views/admin.blade.php b/resources/views/admin.blade.php deleted file mode 100644 index 34989bc..0000000 --- a/resources/views/admin.blade.php +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - Title - - - -
- - - diff --git a/routes/web.php b/routes/web.php index 95bad54..b130397 100644 --- a/routes/web.php +++ b/routes/web.php @@ -16,48 +16,3 @@ use Illuminate\Support\Facades\Route; Route::get('/', function () { return view('welcome'); }); - -Route::post('vab-mock-server/login',function(){ - return response()->json([ - 'code'=>200, - 'msg'=>'success', - 'data'=>[ - 'accessToken'=>'admin' - ] - ]); -}); - - -Route::post('vab-mock-server/userInfo',function(){ - return response()->json([ - 'code'=>200, - 'msg'=>'success', - 'data'=>[ - 'avatar' => 'https://i.gtimg.cn/club/item/face/img/8/15918_100.gif', - 'permissions'=>['admin'], - 'username'=>'admin', - ] - ]); -}); - - -Route::post('login',function(){ - return response()->json([ - 'code'=>200, - 'msg'=>'success', - 'data'=>[ - 'accessToken'=>'admin' - ] - ]); -}); - -Route::post('user/info',function(){ - return response()->json([ - 'code'=>200, - 'msg'=>'success', - 'data'=>[ - 'permissions'=>['admin'], - 'userName'=>'admin', - ] - ]); -}); diff --git a/webpack.admin.js b/webpack.admin.js index 638da35..24703ed 100644 --- a/webpack.admin.js +++ b/webpack.admin.js @@ -10,19 +10,45 @@ const mix = require('laravel-mix'); | file for the application as well as bundling up all the JS files. | */ -let vue_path = 'vue-element-admin'; -mix.setPublicPath('public/' + vue_path); +let vue_path = 'vue-element-admin'; -mix.js('app/Modules/Admin/Resources/assets/js/app.js', 'public/' + vue_path + '/js/admin.js') - .sass('app/Modules/Admin/Resources/assets/sass/app.scss', 'public/' + vue_path + '/css/admin.css'); +// svg dir +const svgDirPath = path.resolve(__dirname, 'app/Modules/Admin/resources/' + vue_path + 'icons/svg') -mix.js('app/Modules/Admin/Resources/' + vue_path + '/main.js','public/' + vue_path + '/js/main.js'); +Mix.listen('configReady', (webpackConfig) => { + // Exclude 'svg' folder from font loader + let fontLoaderConfig = webpackConfig.module.rules.find(rule => String(rule.test) === String(/(\.(png|jpe?g|gif|webp)$|^((?!font).)*\.svg$)/)); + fontLoaderConfig.exclude = [svgDirPath]; +}); mix.webpackConfig({ resolve: { alias: { '@': path.resolve(__dirname, 'app/Modules/Admin/resources/' + vue_path), }, - } + }, + module: { + rules: [ + { + test: /\.svg$/, + loader: 'svg-sprite-loader', + include: [path.resolve(__dirname, 'app/Modules/Admin/resources/' + vue_path + 'icons/svg')], + options: { + symbolId: 'icon-[name]' + } + } + ], + }, +}).babelConfig({ + plugins: ['dynamic-import-node'] }); + +mix.js('app/Modules/Admin/resources/assets/js/app.js', 'public/js') + .sass('app/Modules/Admin/resources/assets/sass/app.scss', 'public/css'); + +mix.js('app/Modules/Admin/resources/' + vue_path + '/main.js', 'public/js').extract(['vue', 'axios']); + +if (mix.inProduction()) { + mix.version(); +} diff --git a/webpack.mix.js b/webpack.mix.js index b797983..d3d19e9 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -11,20 +11,9 @@ const mix = require('laravel-mix'); | */ -let vue_path = 'vue-element-admin'; +require(`${__dirname}\\webpack.admin.js`); -mix.js('resources/js/app.js', 'public/' + vue_path) - .postCss('resources/css/app.css', 'public/' + vue_path, [ - // - ]); - - -mix.js('app/Modules/Admin/resources/' + vue_path + '/main.js', 'public/' + vue_path); - -mix.webpackConfig({ - resolve: { - alias: { - '@': path.resolve(__dirname, 'app/Modules/Admin/resources/' + vue_path), - }, - }, -}); +// mix.js('resources/js/app.js', 'public/' + vue_path) +// .postCss('resources/css/app.css', 'public/' + vue_path, [ +// // +// ]); -- Gitee From 988089d61dddbaf8dda5f998617c50b566b95d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E4=B8=91=E8=B7=AF=E4=BA=BA?= <2278757482@qq.com> Date: Mon, 28 Dec 2020 13:39:43 +0800 Subject: [PATCH 2/9] =?UTF-8?q?PHP=EF=BC=9A=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=97=A5=E5=BF=97=E5=85=B3=E8=81=94=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E6=9F=A5=E8=AF=A2=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Modules/Admin/Http/Requests/Rabc/AdminMenuRequest.php | 3 --- app/Modules/Admin/Routes/web.php | 2 ++ app/Modules/Admin/Services/AdminLoginLogService.php | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Modules/Admin/Http/Requests/Rabc/AdminMenuRequest.php b/app/Modules/Admin/Http/Requests/Rabc/AdminMenuRequest.php index 4ae6689..0be8cf4 100644 --- a/app/Modules/Admin/Http/Requests/Rabc/AdminMenuRequest.php +++ b/app/Modules/Admin/Http/Requests/Rabc/AdminMenuRequest.php @@ -24,9 +24,6 @@ class AdminMenuRequest extends BaseRequest 'max:256', 'unique:' . $instance->getTable() . ',menu_name' . $validate_id ], - 'is_check' => [ - 'required', - ] ]; } diff --git a/app/Modules/Admin/Routes/web.php b/app/Modules/Admin/Routes/web.php index 2bdc6ed..cf3ff0b 100644 --- a/app/Modules/Admin/Routes/web.php +++ b/app/Modules/Admin/Routes/web.php @@ -44,6 +44,7 @@ Route::prefix('admin')->group(function() { Route::delete('/', 'System\BannerController@delete'); }); + // 配置管理 Route::prefix('configs')->group(function() { Route::get('/', 'System\ConfigController@index'); Route::post('/', 'System\ConfigController@create'); @@ -51,6 +52,7 @@ Route::prefix('admin')->group(function() { Route::delete('/', 'System\ConfigController@delete'); }); + // 友情链接 Route::prefix('friendlinks')->group(function() { Route::get('/', 'System\FriendlinkController@index'); Route::post('/', 'System\FriendlinkController@create'); diff --git a/app/Modules/Admin/Services/AdminLoginLogService.php b/app/Modules/Admin/Services/AdminLoginLogService.php index 7d93f8b..870ed81 100644 --- a/app/Modules/Admin/Services/AdminLoginLogService.php +++ b/app/Modules/Admin/Services/AdminLoginLogService.php @@ -9,5 +9,6 @@ class AdminLoginLogService extends BaseService public function __construct(AdminLoginLog $adminLoginLog) { $this->model = $adminLoginLog; + $this->with = ['admin']; } } -- Gitee From ceb6041f5c56bf991409433994cf6b33ff4588bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E4=B8=91=E8=B7=AF=E4=BA=BA?= <2278757482@qq.com> Date: Mon, 28 Dec 2020 14:51:48 +0800 Subject: [PATCH 3/9] =?UTF-8?q?Vue=EF=BC=9A=E8=8F=9C=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86=EF=BC=8C=E5=85=B6=E5=AE=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Exceptions/AuthException.php | 21 ------------ .../vue-element-admin/router/index.js | 13 -------- .../vue-element-admin/styles/common.scss | 6 ++++ .../views/admin_menus/index.vue | 19 ++++++----- .../views/admins/components/detail.vue | 1 - .../views/error-log/components/ErrorTestA.vue | 13 -------- .../views/error-log/components/ErrorTestB.vue | 11 ------- .../views/error-log/index.vue | 33 ------------------- 8 files changed, 16 insertions(+), 101 deletions(-) delete mode 100644 app/Exceptions/AuthException.php delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/views/error-log/components/ErrorTestA.vue delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/views/error-log/components/ErrorTestB.vue delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/views/error-log/index.vue diff --git a/app/Exceptions/AuthException.php b/app/Exceptions/AuthException.php deleted file mode 100644 index 3d886d3..0000000 --- a/app/Exceptions/AuthException.php +++ /dev/null @@ -1,21 +0,0 @@ -expectsJson()) { - $this->setHttpCode(401); - return $this->errorJson($this->msg, -1); - } - } -} diff --git a/app/Modules/Admin/Resources/vue-element-admin/router/index.js b/app/Modules/Admin/Resources/vue-element-admin/router/index.js index 74980d7..fe90243 100644 --- a/app/Modules/Admin/Resources/vue-element-admin/router/index.js +++ b/app/Modules/Admin/Resources/vue-element-admin/router/index.js @@ -134,19 +134,6 @@ export const asyncRoutes = [ } ] }, - - { - path: '/error-log', - component: Layout, - children: [ - { - path: 'log', - component: () => import('@/views/error-log/index'), - name: 'ErrorLog', - meta: {title: 'errorLog', icon: 'bug'} - } - ] - }, // { // path: 'external-link', // component: Layout, diff --git a/app/Modules/Admin/Resources/vue-element-admin/styles/common.scss b/app/Modules/Admin/Resources/vue-element-admin/styles/common.scss index 02db697..04ff3a0 100644 --- a/app/Modules/Admin/Resources/vue-element-admin/styles/common.scss +++ b/app/Modules/Admin/Resources/vue-element-admin/styles/common.scss @@ -5,3 +5,9 @@ .danger-text{ color: #ff4949!important; } +.width-200-px{ + width: 200px!important; +} +.margin-buttom-10{ + margin-bottom: 10px!important; +} diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/admin_menus/index.vue b/app/Modules/Admin/Resources/vue-element-admin/views/admin_menus/index.vue index 4a0d0dc..733054c 100644 --- a/app/Modules/Admin/Resources/vue-element-admin/views/admin_menus/index.vue +++ b/app/Modules/Admin/Resources/vue-element-admin/views/admin_menus/index.vue @@ -38,8 +38,9 @@ show-overflow-tooltip prop="api_url" label="API路由" + align="center" > - +