From b7029b666a05c6faa3baec7a9ab951f249a74a25 Mon Sep 17 00:00:00 2001 From: mojixiang Date: Mon, 17 Apr 2017 14:53:01 +0800 Subject: [PATCH] change project structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 将components中的结构变成pages/views, 和独立App.vue 2. 将store/变成vuex/modules/结构 --- src/{components => }/App.vue | 0 src/main.js | 4 ++-- src/{components => pages}/404.vue | 0 src/{components => pages}/Dash.vue | 10 ++++---- src/{components => pages}/Login.vue | 0 src/{components => pages}/views/Access.vue | 0 src/{components => pages}/views/Dashboard.vue | 0 src/{components => pages}/views/Repos.vue | 0 src/{components => pages}/views/Server.vue | 0 src/{components => pages}/views/Setting.vue | 0 src/{components => pages}/views/Tables.vue | 0 src/{components => pages}/views/Tasks.vue | 0 src/routes.js | 20 ++++++++-------- src/store/actions.js | 1 - src/store/index.js | 13 ----------- src/store/mutations.js | 14 ----------- src/vuex/modules/auth/actions.js | 0 src/vuex/modules/auth/getters.js | 0 .../state.js => vuex/modules/auth/index.js} | 14 ++++++++++- src/vuex/modules/auth/mutation-type.js | 4 ++++ src/vuex/modules/auth/mutations.js | 23 +++++++++++++++++++ src/vuex/store.js | 11 +++++++++ 22 files changed, 69 insertions(+), 45 deletions(-) rename src/{components => }/App.vue (100%) rename src/{components => pages}/404.vue (100%) rename src/{components => pages}/Dash.vue (97%) rename src/{components => pages}/Login.vue (100%) rename src/{components => pages}/views/Access.vue (100%) rename src/{components => pages}/views/Dashboard.vue (100%) rename src/{components => pages}/views/Repos.vue (100%) rename src/{components => pages}/views/Server.vue (100%) rename src/{components => pages}/views/Setting.vue (100%) rename src/{components => pages}/views/Tables.vue (100%) rename src/{components => pages}/views/Tasks.vue (100%) delete mode 100644 src/store/actions.js delete mode 100644 src/store/index.js delete mode 100644 src/store/mutations.js create mode 100644 src/vuex/modules/auth/actions.js create mode 100644 src/vuex/modules/auth/getters.js rename src/{store/state.js => vuex/modules/auth/index.js} (53%) create mode 100644 src/vuex/modules/auth/mutation-type.js create mode 100644 src/vuex/modules/auth/mutations.js create mode 100644 src/vuex/store.js diff --git a/src/components/App.vue b/src/App.vue similarity index 100% rename from src/components/App.vue rename to src/App.vue diff --git a/src/main.js b/src/main.js index 07b3a14e..782c6b0a 100644 --- a/src/main.js +++ b/src/main.js @@ -4,13 +4,13 @@ import VueRouter from 'vue-router' import { sync } from 'vuex-router-sync' import routes from './routes' -import store from './store' +import store from './vuex/store' // Import Helpers for filters import { domain, count, prettyDate, pluralize } from './filters' // Import Views - Top level -import AppView from './components/App.vue' +import AppView from './App.vue' // Import Install and register helper items Vue.filter('count', count) diff --git a/src/components/404.vue b/src/pages/404.vue similarity index 100% rename from src/components/404.vue rename to src/pages/404.vue diff --git a/src/components/Dash.vue b/src/pages/Dash.vue similarity index 97% rename from src/components/Dash.vue rename to src/pages/Dash.vue index ed44d679..a34fcd9c 100644 --- a/src/components/Dash.vue +++ b/src/pages/Dash.vue @@ -162,7 +162,7 @@ import faker from 'faker' import { mapState } from 'vuex' import config from '../config' -import Sidebar from './Sidebar' +import Sidebar from '../components/Sidebar' import 'hideseek' export default { @@ -182,9 +182,11 @@ export default { } }, computed: { - ...mapState([ - 'userInfo' - ]), + ...mapState('auth/', { + // userInfo: state => state.auth.userInfo + // userInfo: 'auth.userInfo' + userInfo: state => state.userInfo + }), demo () { return { displayName: faker.name.findName(), diff --git a/src/components/Login.vue b/src/pages/Login.vue similarity index 100% rename from src/components/Login.vue rename to src/pages/Login.vue diff --git a/src/components/views/Access.vue b/src/pages/views/Access.vue similarity index 100% rename from src/components/views/Access.vue rename to src/pages/views/Access.vue diff --git a/src/components/views/Dashboard.vue b/src/pages/views/Dashboard.vue similarity index 100% rename from src/components/views/Dashboard.vue rename to src/pages/views/Dashboard.vue diff --git a/src/components/views/Repos.vue b/src/pages/views/Repos.vue similarity index 100% rename from src/components/views/Repos.vue rename to src/pages/views/Repos.vue diff --git a/src/components/views/Server.vue b/src/pages/views/Server.vue similarity index 100% rename from src/components/views/Server.vue rename to src/pages/views/Server.vue diff --git a/src/components/views/Setting.vue b/src/pages/views/Setting.vue similarity index 100% rename from src/components/views/Setting.vue rename to src/pages/views/Setting.vue diff --git a/src/components/views/Tables.vue b/src/pages/views/Tables.vue similarity index 100% rename from src/components/views/Tables.vue rename to src/pages/views/Tables.vue diff --git a/src/components/views/Tasks.vue b/src/pages/views/Tasks.vue similarity index 100% rename from src/components/views/Tasks.vue rename to src/pages/views/Tasks.vue diff --git a/src/routes.js b/src/routes.js index 3a7c42f7..c520d841 100644 --- a/src/routes.js +++ b/src/routes.js @@ -1,15 +1,15 @@ -import DashView from './components/Dash.vue' -import LoginView from './components/Login.vue' -import NotFoundView from './components/404.vue' +import DashView from './pages/Dash.vue' +import LoginView from './pages/Login.vue' +import NotFoundView from './pages/404.vue' // Import Views - Dash -import DashboardView from './components/views/Dashboard.vue' -import TablesView from './components/views/Tables.vue' -import TasksView from './components/views/Tasks.vue' -import SettingView from './components/views/Setting.vue' -import AccessView from './components/views/Access.vue' -import ServerView from './components/views/Server.vue' -import ReposView from './components/views/Repos.vue' +import DashboardView from './pages/views/Dashboard.vue' +import TablesView from './pages/views/Tables.vue' +import TasksView from './pages/views/Tasks.vue' +import SettingView from './pages/views/Setting.vue' +import AccessView from './pages/views/Access.vue' +import ServerView from './pages/views/Server.vue' +import ReposView from './pages/views/Repos.vue' // Routes const routes = [ diff --git a/src/store/actions.js b/src/store/actions.js deleted file mode 100644 index b1c6ea43..00000000 --- a/src/store/actions.js +++ /dev/null @@ -1 +0,0 @@ -export default {} diff --git a/src/store/index.js b/src/store/index.js deleted file mode 100644 index 008b76c6..00000000 --- a/src/store/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import Vue from 'vue' -import Vuex from 'vuex' -import state from './state' -import actions from './actions' -import mutations from './mutations' - -Vue.use(Vuex) - -export default new Vuex.Store({ - state, - actions, - mutations -}) diff --git a/src/store/mutations.js b/src/store/mutations.js deleted file mode 100644 index a4d5cc11..00000000 --- a/src/store/mutations.js +++ /dev/null @@ -1,14 +0,0 @@ -export default { - TOGGLE_LOADING (state) { - state.callingAPI = !state.callingAPI - }, - TOGGLE_SEARCHING (state) { - state.searching = (state.searching === '') ? 'loading' : '' - }, - SET_USER (state, user) { - state.user = user - }, - SET_TOKEN (state, token) { - state.token = token - } -} diff --git a/src/vuex/modules/auth/actions.js b/src/vuex/modules/auth/actions.js new file mode 100644 index 00000000..e69de29b diff --git a/src/vuex/modules/auth/getters.js b/src/vuex/modules/auth/getters.js new file mode 100644 index 00000000..e69de29b diff --git a/src/store/state.js b/src/vuex/modules/auth/index.js similarity index 53% rename from src/store/state.js rename to src/vuex/modules/auth/index.js index a9f1170f..97b268ac 100644 --- a/src/store/state.js +++ b/src/vuex/modules/auth/index.js @@ -1,4 +1,8 @@ -export default { +import * as actions from './actions' +import * as getters from './getters' +import mutations from './mutations' + +const state = { callingAPI: false, searching: '', serverURI: 'http://10.110.1.136:8080', @@ -10,3 +14,11 @@ export default { tasks: [] } } + +export default { + namespaced: true, + state, + actions, + getters, + mutations +} diff --git a/src/vuex/modules/auth/mutation-type.js b/src/vuex/modules/auth/mutation-type.js new file mode 100644 index 00000000..300daf28 --- /dev/null +++ b/src/vuex/modules/auth/mutation-type.js @@ -0,0 +1,4 @@ +export const TOGGLE_LOADING = 'TOGGLE_LOADING' +export const TOGGLE_SEARCHING = 'TOGGLE_SEARCHING' +export const SET_USER = 'SET_USER' +export const SET_TOKEN = 'SET_TOKEN' diff --git a/src/vuex/modules/auth/mutations.js b/src/vuex/modules/auth/mutations.js new file mode 100644 index 00000000..48d2b7d8 --- /dev/null +++ b/src/vuex/modules/auth/mutations.js @@ -0,0 +1,23 @@ +import { + TOGGLE_LOADING, + TOGGLE_SEARCHING, + SET_USER, + SET_TOKEN +} from './mutation-type' + +const mutations = { + [TOGGLE_LOADING] (state) { + state.callingAPI = !state.callingAPI + }, + [TOGGLE_SEARCHING] (state) { + state.searching = (state.searching === '') ? 'loading' : '' + }, + [SET_USER] (state, user) { + state.user = user + }, + [SET_TOKEN] (state, token) { + state.token = token + } +} + +export default mutations diff --git a/src/vuex/store.js b/src/vuex/store.js new file mode 100644 index 00000000..04b6908e --- /dev/null +++ b/src/vuex/store.js @@ -0,0 +1,11 @@ +import Vue from 'vue' +import Vuex from 'vuex' +import auth from './modules/auth' + +Vue.use(Vuex) + +export default new Vuex.Store({ + modules: { + auth + } +})