提交 0e174786 编写于 作者: B bypanghu

fixed: web全端添加gva 权重

上级 a9b9f5d9
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta content="Gin,Vue,Admin.Gin-Vue-Admin,GVA,gin-vue-admin,后台管理框架,vue后台管理框架,gin-vue-admin文档,gin-vue-admin首页,gin-vue-admin" name="keywords" />
<link rel="icon" href="favicon.ico">
<title></title>
</head>
</head>
<body>
<div id="app"></div>
<script type="module" src="./src/main.js"></script>
<div id="app"></div>
<script type="module" src="./src/main.js"></script>
</body>
</html>
</html>
\ No newline at end of file
......@@ -38,12 +38,14 @@
"@vue/compiler-sfc": "^3.1.5",
"babel-eslint": "^10.1.0",
"babel-plugin-import": "^1.13.3",
"chalk": "^4.1.2",
"dotenv": "^10.0.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^7.0.0",
"sass": "^1.26.5",
"sass-loader": "^8.0.2",
"vite": "2",
"vite-plugin-banner": "^0.1.3",
"vite-plugin-importer": "^0.2.5"
}
}
......@@ -3,8 +3,49 @@
*/
const config = {
appName: 'Gin-Vue-Admin',
appLogo: 'https://www.gin-vue-admin.com/img/logo.png'
appName: 'Gin-Vue-Admin',
appLogo: 'https://www.gin-vue-admin.com/img/logo.png',
showViteLogo: true
}
export default config
export const viteLogo = (env) => {
if (config.showViteLogo) {
const chalk = require('chalk')
console.log(
chalk.green(
`> 欢迎使用Gin-Vue-Admin,开源地址:https://github.com/flipped-aurora/gin-vue-admin`
)
)
console.log(
chalk.green(
`> 当前版本:V2.4.6 Apache`
)
)
console.log(
chalk.green(
`> 加群方式:微信:shouzi_1994 QQ群:622360840`
)
)
console.log(
chalk.green(
`> 默认自动化文档地址:http://127.0.0.1:${env.VITE_SERVER_PORT}/swagger/index.html`
)
)
console.log(
chalk.green(
`> 默认自动化文档地址:http://127.0.0.1:${env.VITE_SERVER_PORT}/swagger/index.html`
)
)
console.log(
chalk.green(
`> 默认前端文件运行地址:http://127.0.0.1:${env.VITE_CLI_PORT}`
)
)
console.log('\n')
}
}
export default config
\ No newline at end of file
......@@ -7,12 +7,22 @@ import { register } from './global'
export const run = function(app) {
register(app)
console.log(`
欢迎使用 Gin-Vue-Admin
当前版本:V2.4.5 beta
加群方式:微信:shouzi_1994 QQ群:622360840
默认自动化文档地址:http://127.0.0.1:${import.meta.env.VITE_SERVER_PORT}/swagger/index.html
默认前端文件运行地址:http://127.0.0.1:${import.meta.env.VITE_CLI_PORT}
如果项目让您获得了收益,希望您能请团队喝杯可乐:https://www.gin-vue-admin.com/docs/coffee
`)
console.log(
`%c gva启动完成 %c 当前版本V2.4.6 Apache%c`,
'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
'background:#007aff ;padding: 1px 5px; border-radius: 0 3px 3px 0; color: #fff; font-weight: bold;',
'background:transparent'
)
console.log(`欢迎使用 %c Gin-Vue-Admin %c
%c 微信 %c shouzi_1994 %c
%c QQ群 %c 622360840 %c
`,
'background:#007aff ;padding: 1px 5px; border-radius: 3px; color: #fff; font-weight: bold;margin-bottom:4px;',
'background:transparent',
'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
'background:#007aff ;padding: 1px 5px; border-radius: 0 3px 3px 0; color: #fff; font-weight: bold;;margin-bottom:4px;',
'background:transparent',
'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
'background:#007aff ;padding: 1px 5px; border-radius: 0 3px 3px 0; color: #fff; font-weight: bold;;margin-bottom:4px;',
'background:transparent')
}
\ No newline at end of file
......@@ -3,10 +3,19 @@
<div class="login_panle">
<div class="login_panle_form">
<div class="login_panle_form_title">
<img class="login_panle_form_title_logo" :src="$GIN_VUE_ADMIN.appLogo" alt>
<img
class="login_panle_form_title_logo"
:src="$GIN_VUE_ADMIN.appLogo"
alt
>
<p class="login_panle_form_title_p">{{ $GIN_VUE_ADMIN.appName }}</p>
</div>
<el-form ref="loginForm" :model="loginForm" :rules="rules" @keyup.enter="submitForm">
<el-form
ref="loginForm"
:model="loginForm"
:rules="rules"
@keyup.enter="submitForm"
>
<el-form-item prop="username">
<el-input v-model="loginForm.username" placeholder="请输入用户名">
<template #suffix>
......@@ -21,7 +30,10 @@
placeholder="请输入密码"
>
<template #suffix>
<i :class="'el-input__icon el-icon-' + lock" @click="changeLock" />
<i
:class="'el-input__icon el-icon-' + lock"
@click="changeLock"
/>
</template>
</el-input>
</el-form-item>
......@@ -33,12 +45,25 @@
style="width: 60%"
/>
<div class="vPic">
<img v-if="picPath" :src="picPath" alt="请输入验证码" @click="loginVerify()">
<img
v-if="picPath"
:src="picPath"
alt="请输入验证码"
@click="loginVerify()"
>
</div>
</el-form-item>
<el-form-item>
<el-button type="primary" style="width: 46%" @click="checkInit">前往初始化</el-button>
<el-button type="primary" style="width: 46%;margin-left:8%" @click="submitForm">登 录</el-button>
<el-button
type="primary"
style="width: 46%"
@click="checkInit"
>前往初始化</el-button>
<el-button
type="primary"
style="width: 46%; margin-left: 8%"
@click="submitForm"
>登 录</el-button>
</el-form-item>
</el-form>
</div>
......@@ -58,16 +83,18 @@
<img src="@/assets/video.png" class="link-icon">
</a>
</div>
<div class="copyright">Copyright &copy; {{ curYear }} 💖 flipped-aurora</div>
<div class="copyright">
<bootomInfo />
</div>
</div>
</div>
</div>
</template>
<script>
import { mapActions } from 'vuex'
import { captcha } from '@/api/user'
import { checkDB } from '@/api/initdb'
import bootomInfo from '@/view/layout/bottomInfo/bottomInfo.vue'
export default {
name: 'Login',
data() {
......@@ -86,7 +113,6 @@ export default {
}
}
return {
curYear: 0,
lock: 'lock',
loginForm: {
username: 'admin',
......@@ -99,8 +125,6 @@ export default {
password: [{ validator: checkPassword, trigger: 'blur' }],
captcha: [{ required: true, message: '请输入验证码', trigger: 'blur' },
{
min: 5,
max: 6,
message: '验证码格式不正确',
trigger: 'blur',
}]
......@@ -109,9 +133,11 @@ export default {
picPath: ''
}
},
components:{
bootomInfo
},
created() {
this.loginVerify()
this.curYear = new Date().getFullYear()
},
methods: {
...mapActions('user', ['LoginIn']),
......@@ -155,12 +181,15 @@ export default {
},
loginVerify() {
captcha({}).then((ele) => {
this.rules.captcha[1].max = ele.data.captchaLength
this.rules.captcha[1].min = ele.data.captchaLength
this.picPath = ele.data.picPath
this.loginForm.captchaId = ele.data.captchaId
})
}
}
}
</script>
<style lang="scss" scoped>
......
/* eslint-disable */
import legacyPlugin from '@vitejs/plugin-legacy';
// import usePluginImport from 'vite-plugin-importer';
import { viteLogo } from './src/core/config'
import Banner from 'vite-plugin-banner'
import * as path from 'path';
import * as dotenv from 'dotenv';
import * as fs from 'fs';
import vuePlugin from '@vitejs/plugin-vue';
// @see https://cn.vitejs.dev/config/
export default ({
command,
mode
command,
mode
}) => {
let NODE_ENV = process.env.NODE_ENV || 'development'
let envFiles=[
`.env.${NODE_ENV}`
]
for (const file of envFiles) {
const envConfig = dotenv.parse(fs.readFileSync(file))
for (const k in envConfig) {
process.env[k] = envConfig[k]
}
}
let NODE_ENV = process.env.NODE_ENV || 'development'
let envFiles = [
`.env.${NODE_ENV}`
]
for (const file of envFiles) {
const envConfig = dotenv.parse(fs.readFileSync(file))
for (const k in envConfig) {
process.env[k] = envConfig[k]
}
}
let rollupOptions = {};
viteLogo(process.env)
let timestamp = Date.parse(new Date())
let optimizeDeps = {};
let rollupOptions = {
output: {
entryFileNames: `gva/gin-vue-admin-[name].${timestamp}.js`,
chunkFileNames: `js/gin-vue-admin-[name].${timestamp}.js`,
assetFileNames: `assets/gin-vue-admin-[name].${timestamp}.[ext]`
}
};
let optimizeDeps = {};
let alias = {
'@': path.resolve(__dirname, './src'),
'vue$': 'vue/dist/vue.runtime.esm-bundler.js',
}
let alias = {
'@': path.resolve(__dirname, './src'),
'vue$': 'vue/dist/vue.runtime.esm-bundler.js',
}
let esbuild = {}
let esbuild = {}
return {
base: './', // index.html文件所在位置
root: './', // js导入的资源路径,src
resolve: {
alias,
},
define: {
'process.env': {}
},
server: {
open:true,
port: process.env.VITE_CLI_PORT,
proxy:{
// 把key的路径代理到target位置
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VITE_BASE_API]: { // 需要代理的路径 例如 '/api'
target: `${process.env.VITE_BASE_PATH}:${process.env.VITE_SERVER_PORT}/`, // 代理到 目标路径
changeOrigin: true,
rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_API), ''),
}
},
},
build: {
target: 'es2015',
minify: 'terser', // 是否进行压缩,boolean | 'terser' | 'esbuild',默认使用terser
manifest: false, // 是否产出maifest.json
sourcemap: false, // 是否产出soucemap.json
outDir: 'dist', // 产出目录
rollupOptions,
},
esbuild,
optimizeDeps,
plugins: [
legacyPlugin({
targets: ['Android > 39', 'Chrome >= 60', 'Safari >= 10.1', 'iOS >= 10.3', 'Firefox >= 54', 'Edge >= 15'],
}), vuePlugin(),
],
css: {
preprocessorOptions: {
less: {
// 支持内联 JavaScript
javascriptEnabled: true,
}
}
},
}
return {
base: './', // index.html文件所在位置
root: './', // js导入的资源路径,src
resolve: {
alias,
},
define: {
'process.env': {}
},
server: {
open: true,
port: process.env.VITE_CLI_PORT,
proxy: {
// 把key的路径代理到target位置
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VITE_BASE_API]: { // 需要代理的路径 例如 '/api'
target: `${process.env.VITE_BASE_PATH}:${process.env.VITE_SERVER_PORT}/`, // 代理到 目标路径
changeOrigin: true,
rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_API), ''),
}
},
},
build: {
target: 'es2015',
minify: 'terser', // 是否进行压缩,boolean | 'terser' | 'esbuild',默认使用terser
manifest: false, // 是否产出maifest.json
sourcemap: false, // 是否产出soucemap.json
outDir: 'dist', // 产出目录
rollupOptions,
},
esbuild,
optimizeDeps,
plugins: [
legacyPlugin({
targets: ['Android > 39', 'Chrome >= 60', 'Safari >= 10.1', 'iOS >= 10.3', 'Firefox >= 54', 'Edge >= 15'],
}), vuePlugin(), [Banner(`\n Build based on gin-vue-admin \n Time : ${timestamp}`)]
],
css: {
preprocessorOptions: {
less: {
// 支持内联 JavaScript
javascriptEnabled: true,
}
}
},
}
}
\ No newline at end of file
......@@ -2648,6 +2648,14 @@ chalk@^4.0.0, chalk@^4.1.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chardet@^0.7.0:
version "0.7.0"
resolved "https://registry.nlark.com/chardet/download/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
......@@ -8775,6 +8783,11 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
vite-plugin-banner@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/vite-plugin-banner/-/vite-plugin-banner-0.1.3.tgz#d3d4e8e284added35feaa54ab8ca273a9d3349e0"
integrity sha512-Kbv4KzvhffQwbp3Sr2FA51hFaiEgACGNExYK07hj0m53At2FTnPver2TfGCulDpv4G9B8/flbEOdso3JWWpIEQ==
vite-plugin-importer@^0.2.5:
version "0.2.5"
resolved "https://registry.nlark.com/vite-plugin-importer/download/vite-plugin-importer-0.2.5.tgz#2363dc0d97d4ecec530ee40171310a17c2db077e"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册