Skip to content

Commit e71c45f

Browse files
committed
vuex-ts改造
1 parent 71a9250 commit e71c45f

File tree

13 files changed

+121
-111
lines changed

13 files changed

+121
-111
lines changed

.env.development

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
VUE_APP_BASE_API = 'http://111.231.59.56:5000/api'
1+
VUE_APP_BASE_API = 'http://qa.i4cloud.cn:40001'

.env.production

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
VUE_APP_BASE_API = 'http://111.231.59.56:5000/api'
1+
VUE_APP_BASE_API = 'http://qa.i4cloud.cn:40001'

.eslintrc.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ module.exports = {
33
env: {
44
node: true
55
},
6-
extends: ['plugin:vue/recommended',"plugin:vue/essential", "@vue/typescript",],
6+
extends: ['plugin:vue/recommended',"plugin:vue/essential", "@vue/typescript"],
77
rules: {
88
// ts规则
9-
// 'semicolon':[treu],
9+
// // 'semicolon':[treu],
1010
// 'await-promise':true,
1111
// 'no-floating-promises': true,
1212
// 'arrow-parens':true,

.vscode/settings.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
{
2-
"vue-i18n.i18nPaths": "src\\assets\\lang"
2+
"vue-i18n.i18nPaths": "src\\assets\\lang",
3+
"vscode.tsc.compiler.alertTSConfigChanges": "never",
4+
"vscode.tsc.compiler.alertOnError": "never"
35
}

src/api/login.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
import request from '@/utils/request'
2+
// eslint-disable-next-line no-unused-vars
3+
import * as LoginInterface from '../interface/api/login'
4+
const mockNum = '/mock/89/api/'
25

3-
export function loginByUsername(username:string, password:string) {
4-
const data = {
5-
email: username,
6-
password
7-
}
6+
export const loginByUsername = (data:LoginInterface.LoginInfo):Promise<LoginInterface.LoginResponse> => {
87
return request({
9-
url: '/users/login',
8+
url: mockNum + 'login',
109
method: 'post',
1110
data
1211
})
1312
}
1413

15-
export function getUserInfo() {
14+
export const getUserInfo = ():Promise<LoginInterface.UserInfo> => {
1615
return request({
17-
url: '/current',
16+
url: mockNum + 'userInfo',
1817
method: 'get'
1918
})
2019
}

src/components/HeaderBar/index.vue

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,6 @@
33
<header class="header">
44
<div class="header-left">
55
<module-menu />
6-
7-
<!-- <a-icon
8-
class="trigger"
9-
:type="collapsed ? 'menu-unfold' : 'menu-fold'"
10-
@click="changeCollapsed"
11-
/>
12-
<bread-crumb class="head-bread" /> -->
136
</div>
147
<ul class="menu">
158
<li class="user">

src/interface/api/login.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
export interface LoginInfo {
2+
email:string
3+
password:string
4+
}
5+
export interface LoginResponse {
6+
access_token:string
7+
}
8+
9+
export interface UserInfo{
10+
id: string,
11+
name: string
12+
email: string
13+
role: string
14+
sex: number
15+
avatar: string
16+
}

src/store/getters.ts

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
1+
/* eslint-disable no-unused-vars */
2+
import { State as UserState } from './modules/user'
3+
import { State as PermissionState } from './modules/permission'
4+
5+
export interface State {
6+
user:UserState
7+
permission:PermissionState
8+
}
9+
110
const getters = {
2-
user: (state:any) => state.user.user,
3-
roles: (state:any) => state.user.roles,
4-
addRoutes: (state:any) => state.permission.addRoutes,
5-
routes: (state:any) => state.permission.routes,
6-
moduleMenu: (state:any) => state.permission.moduleMenu,
7-
activeModule: (state:any) => state.permission.activeModule,
8-
activeModuleMenu: (state:any) => state.permission.activeModuleMenu
11+
user: (state:State) => state.user.user,
12+
roles: (state:State) => state.user.roles,
13+
addRoutes: (state:State) => state.permission.addRoutes,
14+
// routes: (state:permissionState) => state.permission.routes,
15+
moduleMenu: (state:State) => state.permission.moduleMenu,
16+
activeModule: (state:State) => state.permission.activeModule,
17+
activeModuleMenu: (state:State) => state.permission.activeModuleMenu
918
}
1019

1120
export default getters

src/store/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import Vue from 'vue'
22
import Vuex from 'vuex'
33
import modules from './modules/index'
44
import getters from './getters'
5+
56
Vue.use(Vuex)
67

78
export default new Vuex.Store({

src/store/modules/permission.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import Layout from '../../components/Layout/index.vue'
22
import moduleMenu from '../../config/router.config'
33
const getComponent = require(`@/router/import_${process.env.NODE_ENV}`)
44

5-
interface PermissionState {
5+
export interface State {
66
addRoutes:Array<ModuleMenuItem>
77
moduleMenu:Array<ModuleMenu>
88
activeModuleMenu:Array<ModuleMenuItem>
@@ -103,10 +103,10 @@ const permission = {
103103
activeModuleMenu: []
104104
},
105105
mutations: {
106-
SET_ROUTES: (state: PermissionState, routes: Array<ModuleMenuItem>) => {
106+
SET_ROUTES: (state: State, routes: Array<ModuleMenuItem>) => {
107107
state.addRoutes = routes
108108
},
109-
SET_MODULE_MENU: (state: PermissionState, data: {
109+
SET_MODULE_MENU: (state: State, data: {
110110
routes:Array<ModuleMenuItem>
111111
moduleName:string
112112
}) => {

0 commit comments

Comments
 (0)