Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ module.exports = {
},
extends: [
'plugin:vue/essential',
'plugin:vue/recommended',
'@vue/standard'
],
parserOptions: {
Expand All @@ -16,6 +17,6 @@ module.exports = {
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-unused-vars': 1
'no-unused-vars': 1,
}
}
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
## 内置功能

* 账户 User
* [ ] 登录/注销
* [x] 登录
* [ ] 注销
* [ ] 注册
* 路由权限 Route Permission
* [ ] 路由权限
Expand All @@ -19,7 +20,7 @@
* [ ] 侧边菜单栏 MenuBar (支持多级路由嵌套, 自适应收缩)
* [ ] 路由标签切换选项卡
* 布局 Layout
* [ ] iconfont / font Awesome
* [x] iconfont / font Awesome
* [ ] 布局切换(导航, 流式/定宽)
* [ ] 主题色,换肤
* [ ] 风格切换(可预览)
Expand All @@ -36,6 +37,7 @@
* [ ] 组合表单
* [ ] 分步表单
* [ ] 表单详情(类似只读)
* [ ] 表单 props rules Mixins 封装
* 图表 Chart (D3, Echarts...)
* [ ] 仪表盘
* [ ] 折线图
Expand All @@ -47,6 +49,7 @@
* [ ] 混合图
* 工具 Tools
* [ ] axios 封装
* [x] js-cookie
* [ ] 全局单例 Loading 封装
* [ ] async/await 封装
* [ ] 全局路由搜索
Expand All @@ -68,6 +71,7 @@
## 拓展
* [ ] 命令行 cli 支持自定义安装哪种功能
* [ ] 支持 Typescript
* [ ] 实现 JSON 可配置化



Expand All @@ -77,4 +81,6 @@ https://material-ui.com/zh/getting-started/supported-components/

https://preview.pro.ant.design/dashboard/analysis

https://preview.pro.ant.design/dashboard/workplace
https://preview.pro.ant.design/dashboard/workplace

https://github.com/baidu/amis
6 changes: 6 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,15 @@
"lint": "vue-cli-service lint"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.30",
"@fortawesome/free-brands-svg-icons": "^5.14.0",
"@fortawesome/free-regular-svg-icons": "^5.14.0",
"@fortawesome/free-solid-svg-icons": "^5.14.0",
"@fortawesome/vue-fontawesome": "~2.0.0",
"axios": "^0.20.0",
"core-js": "^3.6.5",
"element-ui": "^2.13.2",
"js-cookie": "^2.2.1",
"vue": "^2.6.11",
"vue-meta": "^2.4.0",
"vue-router": "^3.2.0",
Expand Down
4 changes: 2 additions & 2 deletions src/App.vue
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<template>
<div id="app">
<router-view></router-view>
<router-view />
</div>
</template>

<script>

export default {
name: 'app'
name: 'App'
}
</script>

Expand Down
10 changes: 10 additions & 0 deletions src/assets/fonts/fontawesome.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import Vue from 'vue'

import { library } from '@fortawesome/fontawesome-svg-core'
import { fab } from '@fortawesome/free-brands-svg-icons'
import { fas } from '@fortawesome/free-solid-svg-icons'
import { far } from '@fortawesome/free-regular-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'

library.add(fab, fas, far)
Vue.component('font-awesome-icon', FontAwesomeIcon)
File renamed without changes
1 change: 1 addition & 0 deletions src/assets/images/vue.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 5 additions & 1 deletion src/main.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
import Vue from 'vue'
import App from './App'

// fontawesome
import '@/assets/fonts/fontawesome'

import ElementUI from 'element-ui'
import { sync } from 'vuex-router-sync'
import router from '@/router/index'
import store from '@/store/index'
import Meta from 'vue-meta'
import Mixin from '@/mixins'

import 'element-ui/lib/theme-chalk/index.css'
import '@/router/permission'

Vue.use(Meta)
Vue.use(ElementUI, { size: 'small', zIndex: 3000 })
Vue.use(ElementUI, { size: 'large', zIndex: 3000 })

Vue.config.productionTip = false

Expand Down
24 changes: 24 additions & 0 deletions src/mixins/RulesForm/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<script>
import {
requiredRules,
validatorRules,
imageListRules,
requiredRadioRules
} from '@/utils/formRules'
export default {
methods: {
getValidatorRules (...args) {
return validatorRules(...args)
},
getRequiredRules (...args) {
return requiredRules(...args)
},
getRequiredRadioRules (...args) {
return requiredRadioRules(...args)
},
getImageListRules (...args) {
return imageListRules(...args)
}
}
}
</script>
3 changes: 3 additions & 0 deletions src/mixins/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@

import RulesForm from '@/mixins/RulesForm'

export default {
mixins: [
RulesForm
]
}
2 changes: 1 addition & 1 deletion src/modules/DemoTest/pages/list.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { mapGetters } from 'vuex'
import DemoTestModule from '@/modules/DemoTest/store'

export default {
name: 'xx',
name: 'Xx',
computed: {
...mapGetters({
demoList: 'DemoTest/demoList'
Expand Down
32 changes: 32 additions & 0 deletions src/modules/UserAccount/api/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import request from '@/utils/request'

export function getDemoTestList (params) {
return request({
url: '/api/demo_test/list',
method: 'get',
params
})
}

export function createDemoTest (data) {
return request({
url: '/api/demo_test',
method: 'post',
data
})
}

export function updateDemoTest (data) {
return request({
url: `/api/demo_test/${data.demoId}`,
method: 'put',
data
})
}

export function deleteDemoTest (demoId) {
return request({
url: `/api/demo_test/${demoId}`,
method: 'delete'
})
}
17 changes: 17 additions & 0 deletions src/modules/UserAccount/components/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<template>
<div class="xxx-container" />
</template>

<script>

export default {
name: 'Xx'
}

</script>

<style lang="scss" scoped>
.xxx-container {

}
</style>
Loading