Browse Source

最新版Spring boot + Vue3 + Spring Security 6 项目模板

vue
adiao 3 years ago
parent
commit
e697672467
  1. 9
      WebVue.iml
  2. 1313
      package-lock.json
  3. 1
      src/image/welcome.svg
  4. 26
      src/router/index.js
  5. 2
      src/utils/axios/request.js
  6. 15
      src/views/404.vue
  7. 3
      src/views/Index.vue
  8. 28
      src/views/Login.vue
  9. 36
      src/views/adminManager/page/page1.vue
  10. 0
      src/views/adminManager/page/page10.vue
  11. 0
      src/views/adminManager/page/page11.vue
  12. 0
      src/views/adminManager/page/page2.vue
  13. 0
      src/views/adminManager/page/page3.vue
  14. 0
      src/views/adminManager/page/page4.vue
  15. 0
      src/views/adminManager/page/page5.vue
  16. 0
      src/views/adminManager/page/page6.vue
  17. 0
      src/views/adminManager/page/page7.vue
  18. 0
      src/views/adminManager/page/page8.vue
  19. 0
      src/views/adminManager/page/page9.vue
  20. 13
      src/views/assetLead/page/page1.vue
  21. 13
      src/views/assetLead/page/page2.vue
  22. 13
      src/views/assetLead/page/page3.vue
  23. 13
      src/views/assetLead/page/page4.vue
  24. 13
      src/views/assetLead/page/page5.vue
  25. 13
      src/views/assetManager/page/exportpage.vue
  26. 13
      src/views/assetManager/page/purrchasepage.vue
  27. 13
      src/views/assetManager/page/vettingpage.vue
  28. 28
      src/views/page/page1.vue

9
WebVue.iml

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

1313
package-lock.json generated

File diff suppressed because it is too large Load Diff

1
src/image/welcome.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

26
src/router/index.js

@ -25,65 +25,65 @@ const RoutsList = [
children: [ children: [
{ {
path: 'list-home', path: 'list-home',
component: () => import('../views/page/page1.vue'), component: () => import('../views/adminManager/page/page1.vue'),
hidden: false hidden: false
}, },
{ {
path: 'list-worker', path: 'list-worker',
component: () => import('../views/page/page2.vue'), component: () => import('../views/adminManager/page/page2.vue'),
hidden: false hidden: false
}, },
{ {
path: 'list-people', path: 'list-people',
component: () => import('../views/page/page3.vue'), component: () => import('../views/adminManager/page/page3.vue'),
hidden: false hidden: false
}, },
{ {
path: 'list-assettype', path: 'list-assettype',
component: () => import('../views/page/page4.vue'), component: () => import('../views/adminManager/page/page4.vue'),
hidden: false hidden: false
}, },
{ {
path: 'list-brand', path: 'list-brand',
component: () => import('../views/page/page5.vue'), component: () => import('../views/adminManager/page/page5.vue'),
hidden: false hidden: false
}, { }, {
path: 'list-getMethod', path: 'list-getMethod',
component: () => import('../views/page/page6.vue'), component: () => import('../views/adminManager/page/page6.vue'),
hidden: false hidden: false
}, },
{ {
path: 'list-vendor', path: 'list-vendor',
component: () => import('../views/page/page7.vue'), component: () => import('../views/adminManager/page/page7.vue'),
hidden: false hidden: false
}, },
{ {
path: 'list-address', path: 'list-address',
component: () => import('../views/page/page8.vue'), component: () => import('../views/adminManager/page/page8.vue'),
hidden: false hidden: false
}, },
{ {
path: 'list-claims', path: 'list-claims',
component: () => import('../views/page/page9.vue'), component: () => import('../views/adminManager/page/page9.vue'),
hidden: false hidden: false
}, },
{ {
path: 'list-repair', path: 'list-repair',
component: () => import('../views/page/page10.vue'), component: () => import('../views/adminManager/page/page10.vue'),
hidden: false hidden: false
}, },
{ {
path: 'list-permission', path: 'list-permission',
component: () => import('../views/page/page7.vue'), component: () => import('../views/adminManager/page/page7.vue'),
hidden: false hidden: false
}, },
{ {
path: 'list-export', path: 'list-export',
component: () => import('../views/page/page8.vue'), component: () => import('../views/adminManager/page/page8.vue'),
hidden: false hidden: false
}, { }, {
path: 'list-info', path: 'list-info',
component: () => import('../views/page/page11.vue'), component: () => import('../views/adminManager/page/page11.vue'),
hidden: false hidden: false
} }
] ]

2
src/utils/axios/request.js

@ -2,7 +2,7 @@ import axios from "axios";
const service = axios.create({ const service = axios.create({
// baseURL: import.meta.env.VITE_APP_URL, // baseURL: import.meta.env.VITE_APP_URL,
baseURL: 'http://localhost/', baseURL: 'http://localhost:8080/',
timeout: 6000, timeout: 6000,
headers: { 'X-Custom-Header': 'foobar' } headers: { 'X-Custom-Header': 'foobar' }
}) })

15
src/views/404.vue

@ -0,0 +1,15 @@
<template>
<div>
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>

3
src/views/Index.vue

@ -44,9 +44,6 @@
<!-- content区域 --> <!-- content区域 -->
<div> <div>
<div class="content" id="nav-tabContent"> <div class="content" id="nav-tabContent">
<div class="tips">
欢迎登陆资产系统
</div>
<RouterView /> <RouterView />
</div> </div>
</div> </div>

28
src/views/Login.vue

@ -17,7 +17,7 @@
id="exampleInputPassword1" placeholder="请输入密码"> id="exampleInputPassword1" placeholder="请输入密码">
</div> </div>
<div class="image"> <div class="image">
<img :src="this.codeImage" @click="getCode" style="width: 130px; height: 39px;"> <img :src="this.codeImage" @click="getCode" style="width: 130px; height: 39px;" data-base64="" alt="image">
<input type="text" id="imginput" style="width: 120px;" class="form-control" <input type="text" id="imginput" style="width: 120px;" class="form-control"
placeholder="输入验证码" /> placeholder="输入验证码" />
</div> </div>
@ -52,42 +52,34 @@ export default {
} }
}, },
created() { created() {
var img = this.$data.codeImage; const img = this.$data.codeImage;
request.get('/captcha', { responseType: 'blob' }).then((response) => { request.get('/captcha').then((response) => {
console.log(response.data) this.codeImage = response.data.data.base64
this.codeImage = window.URL.createObjectURL(response.data)
console.log(this.codeImage)
}) })
}, },
methods: { methods: {
login() { login() {
request.post('/login', request.post('api/login',
qs.parse({ qs.parse({
name: this.$data.username, username: this.$data.username,
password: this.$data.password password: this.$data.password
}), { }), {
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': ' application/x-www-form-urlencoded'
} }
}).then(resp => { }).then(resp => {
// //
console.log(resp) console.log(resp)
console.log(resp.data.code) if (resp.data.code === 200) {
console.log(resp.data.msg)
if (resp.data.code == 200) {
console.log(resp.data.msg) console.log(resp.data.msg)
this.$router.push({ name: 'index' }) this.$router.push({ name: 'index' })
store.dispatch('login', true)
} }
}).catch(error => console.log(error)) }).catch(error => console.log(error))
}, },
getCode() { getCode() {
request.get('/captcha', { responseType: 'blob' }).then((response) => { request.get('/captcha').then((response) => {
console.log(response.data) this.codeImage = response.data.data.base64
this.codeImage = window.URL.createObjectURL(response.data)
console.log(this.codeImage)
}) })
}, },
toRegister() { toRegister() {

36
src/views/adminManager/page/page1.vue

@ -0,0 +1,36 @@
<script>
export default {
props: {
message: String
}
}
</script>
<template>
<!-- 首页展示 -->
<div class="container">
<div class="row">
<div class="col-md-12 d-md-flex justify-content-center align-items-center flex-wrap">
<div class="box">
<img class="boox" src="../../../image/welcome.svg" alt="welcome page">
<h4>欢迎{{message}}登录成功系统</h4>
</div>
</div>
</div>
</div>
</template>
<style>
.boox{
margin: 0;
padding: 0;
max-width: 400px;
max-height: 600px;
background-color: white;
}
.box{
margin: 120px auto;
text-align: center;
border: thick double silver;
box-shadow: 0 2px 2px 2px silver;
}
</style>

0
src/views/page/page10.vue → src/views/adminManager/page/page10.vue

0
src/views/page/page11.vue → src/views/adminManager/page/page11.vue

0
src/views/page/page2.vue → src/views/adminManager/page/page2.vue

0
src/views/page/page3.vue → src/views/adminManager/page/page3.vue

0
src/views/page/page4.vue → src/views/adminManager/page/page4.vue

0
src/views/page/page5.vue → src/views/adminManager/page/page5.vue

0
src/views/page/page6.vue → src/views/adminManager/page/page6.vue

0
src/views/page/page7.vue → src/views/adminManager/page/page7.vue

0
src/views/page/page8.vue → src/views/adminManager/page/page8.vue

0
src/views/page/page9.vue → src/views/adminManager/page/page9.vue

13
src/views/assetLead/page/page1.vue

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "page1"
}
</script>
<style scoped>
</style>

13
src/views/assetLead/page/page2.vue

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "page2"
}
</script>
<style scoped>
</style>

13
src/views/assetLead/page/page3.vue

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "page3"
}
</script>
<style scoped>
</style>

13
src/views/assetLead/page/page4.vue

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "page4"
}
</script>
<style scoped>
</style>

13
src/views/assetLead/page/page5.vue

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "page5"
}
</script>
<style scoped>
</style>

13
src/views/assetManager/page/exportpage.vue

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "page1"
}
</script>
<style scoped>
</style>

13
src/views/assetManager/page/purrchasepage.vue

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "purrchasepage"
}
</script>
<style scoped>
</style>

13
src/views/assetManager/page/vettingpage.vue

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "vettingpage"
}
</script>
<style scoped>
</style>

28
src/views/page/page1.vue

@ -1,28 +0,0 @@
<script>
export default {
props: {
message: String
}
}
</script>
<template>
<!-- 首页展示 -->
<div class="container">
<div class="row">
<div class="col">
<div class="boox">
欢迎{{ message }}登录系统
</div>
</div>
</div>
</div>
</template>
<style>
.boox{
margin: 0;
padding: 0;
max-width: 400px;
max-height: 600px;
background-color: brown;
}
</style>
Loading…
Cancel
Save