Kaynağa Gözat

优化

wulanhaote
liuminjian 4 yıl önce
ebeveyn
işleme
72a612b371
9 değiştirilmiş dosya ile 534 ekleme ve 185 silme
  1. +17
    -8
      .babelrc
  2. +483
    -141
      package-lock.json
  3. +3
    -3
      package.json
  4. +2
    -2
      src/main.js
  5. +11
    -10
      src/permission.js
  6. +8
    -9
      src/store/getters.js
  7. +2
    -2
      src/store/index.js
  8. +2
    -2
      src/store/modules/user.js
  9. +6
    -8
      src/views/home.vue

+ 17
- 8
.babelrc Dosyayı Görüntüle

@@ -1,13 +1,22 @@
{ {
"presets": [ "presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
[
"env",
{
"modules": false,
"targets": {
"browsers": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
} }
}],
],
"stage-2" "stage-2"
], ],

"plugins": ["transform-vue-jsx", "transform-runtime"]
}
"plugins": [
"transform-vue-jsx",
"transform-runtime"
]
}

+ 483
- 141
package-lock.json
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 3
- 3
package.json Dosyayı Görüntüle

@@ -23,8 +23,6 @@
"vuex": "^3.6.2" "vuex": "^3.6.2"
}, },
"devDependencies": { "devDependencies": {
"has-bigints": "^1.0.0",
"webpack-dev-server": "^2.9.1",
"amfe-flexible": "^2.2.1", "amfe-flexible": "^2.2.1",
"autoprefixer": "^7.1.2", "autoprefixer": "^7.1.2",
"babel-core": "^6.22.1", "babel-core": "^6.22.1",
@@ -42,6 +40,7 @@
"fastclick": "^1.0.6", "fastclick": "^1.0.6",
"file-loader": "^1.1.4", "file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1", "friendly-errors-webpack-plugin": "^1.6.1",
"has-bigints": "^1.0.0",
"html-webpack-plugin": "^2.30.1", "html-webpack-plugin": "^2.30.1",
"node-notifier": "^5.1.2", "node-notifier": "^5.1.2",
"optimize-css-assets-webpack-plugin": "^3.2.0", "optimize-css-assets-webpack-plugin": "^3.2.0",
@@ -62,6 +61,7 @@
"vue-template-compiler": "^2.5.2", "vue-template-compiler": "^2.5.2",
"webpack": "^3.6.0", "webpack": "^3.6.0",
"webpack-bundle-analyzer": "^2.9.0", "webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0" "webpack-merge": "^4.1.0"
}, },
"engines": { "engines": {
@@ -73,4 +73,4 @@
"last 2 versions", "last 2 versions",
"not ie <= 8" "not ie <= 8"
] ]
}
}

+ 2
- 2
src/main.js Dosyayı Görüntüle

@@ -18,8 +18,8 @@ Vue.use(Vant)


/*解决手动点击与真正触发click事件会存在300ms的延迟*/ /*解决手动点击与真正触发click事件会存在300ms的延迟*/
if ('addEventListener' in document) { if ('addEventListener' in document) {
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body);
document.addEventListener('DOMContentLoaded', function () {
FastClick.attach(document.body);
}, false); }, false);
} }




+ 11
- 10
src/permission.js Dosyayı Görüntüle

@@ -1,6 +1,5 @@
import router from './router' import router from './router'
import store from './store' import store from './store'
// import { Message } from 'element-ui'
import NProgress from 'nprogress' import NProgress from 'nprogress'
import 'nprogress/nprogress.css' import 'nprogress/nprogress.css'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
@@ -18,21 +17,23 @@ router.beforeEach((to, from, next) => {
NProgress.done() NProgress.done()
} else { } else {
if (store.getters.roles.length === 0) { if (store.getters.roles.length === 0) {
next()
// 判断当前用户是否已拉取完user_info信息 // 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(res => { store.dispatch('GetInfo').then(res => {
// 拉取user_info // 拉取user_info
const roles = res.roles const roles = res.roles
store.dispatch('GenerateRoutes', { roles }).then(accessRoutes => {
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes) // 动态添加可访问路由表
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
})
// store.dispatch('GenerateRoutes', { roles }).then(accessRoutes => {
// // 根据roles权限生成可访问的路由表
// router.addRoutes(accessRoutes) // 动态添加可访问路由表
// next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
// })
next()
}).catch(err => { }).catch(err => {
store.dispatch('LogOut').then(() => {
// Message.error(err)
next({ path: '/' })
})
store.dispatch('LogOut').then(() => {
// Message.error(err)
next({ path: '/' })
}) })
})
} else { } else {
next() next()
} }


+ 8
- 9
src/store/getters.js Dosyayı Görüntüle

@@ -1,11 +1,10 @@
const getters = { const getters = {
token: state => state.user.token,
avatar: state => state.user.avatar,
name: state => state.user.name,
introduction: state => state.user.introduction,
roles: state => state.user.roles,
permissions: state => state.user.permissions,
bookName: state => state.user.bookName,
}
token: state => state.user.token,
avatar: state => state.user.avatar,
name: state => state.user.name,
introduction: state => state.user.introduction,
roles: state => state.user.roles,
permissions: state => state.user.permissions,
bookName: state => state.user.bookName,
}
export default getters export default getters

+ 2
- 2
src/store/index.js Dosyayı Görüntüle

@@ -1,13 +1,13 @@
import Vue from 'vue' import Vue from 'vue'
import Vuex from 'vuex' import Vuex from 'vuex'
import app from './modules/user'
import user from './modules/user'
import getters from './getters' import getters from './getters'


Vue.use(Vuex) Vue.use(Vuex)


const store = new Vuex.Store({ const store = new Vuex.Store({
modules: { modules: {
app,
user,
}, },
getters getters
}) })


+ 2
- 2
src/store/modules/user.js Dosyayı Görüntüle

@@ -81,8 +81,8 @@ const user = {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getInfo(state.token).then(res => { getInfo(state.token).then(res => {
const user = res.user const user = res.user
// const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
const avatar = "";
// const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
const avatar = "";
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
commit('SET_ROLES', res.roles) commit('SET_ROLES', res.roles)
commit('SET_PERMISSIONS', res.permissions) commit('SET_PERMISSIONS', res.permissions)


+ 6
- 8
src/views/home.vue Dosyayı Görüntüle

@@ -1,17 +1,15 @@
<template> <template>
<div class="hello">适配移动端</div>
<div class="hello">适配移动端</div>
</template> </template>


<script> <script>
export default { export default {
name: '主页',
data () {
return {
}
}
}
name: "index",
data() {
return {};
},
};
</script> </script>


<style scoped lang="scss"> <style scoped lang="scss">

</style> </style>

Yükleniyor…
İptal
Kaydet