diff --git a/src/api/admins.ts b/src/api/admins.ts new file mode 100644 index 0000000..96afbc0 --- /dev/null +++ b/src/api/admins.ts @@ -0,0 +1,42 @@ +import request from '@/utils/request' + +export const getAdminInfo = (data: any) => + request({ + url: '/admin/info', + method: 'post', + data + }) + +export const login = (data: any) => + request({ + url: '/admin/login', + method: 'post', + data + }) + +export const logout = () => + request({ + url: '/admin/logout', + method: 'post' + }) + +export const saveAdmin = (data: any) => + request({ + url: '/admin/save', + method: 'post', + data + }) + +export const deleteAdmin = (uid: string) => { + return request({ + url: `/admin/${uid}/delete`, + method: 'post' + }) +} + +export const getUsers = (params: any) => + request({ + url: '/admins', + method: 'get', + params + }) diff --git a/src/lang/en.ts b/src/lang/en.ts index 7b4baea..4a07d0c 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -174,5 +174,9 @@ export default { showSidebarLogo: 'Sidebar Logo', fixedHeader: 'Fixed Header', sidebarTextTheme: 'Sidebar Text Theme' + }, + admin: { + addAdmin: 'New Admin', + editAdmin: 'Edit Admin' } } diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index 1e2bb34..9aba62d 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -23,7 +23,7 @@ const systemRoutes: RouteConfig = { }, { path: 'admin', - component: () => import('@/views/system/role.vue'), + component: () => import('@/views/system/admin.vue'), name: 'AdminPermission', meta: { title: 'adminuser', diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index be2f2ad..426e1a0 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -5,7 +5,7 @@ import { Mutation, VuexModule } from 'vuex-module-decorators' -import { getUserInfo, login, logout } from '@/api/users' +import { getAdminInfo, login, logout } from '@/api/admins' import { getToken, removeToken, setToken } from '@/utils/cookies' import store from '@/store' import router, { resetRouter } from '@/router' @@ -54,7 +54,7 @@ class User extends VuexModule implements IUserState { if (this.token === '') { throw Error('GetUserInfo: token is undefined!') } - const { data } = await getUserInfo({ /* Your params here */ }) + const { data } = await getAdminInfo({ /* Your params here */ }) if (!data) { throw Error('Verification failed, please Login again.') } diff --git a/src/utils/request.ts b/src/utils/request.ts index 90be9ef..9a278c9 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -36,7 +36,7 @@ service.interceptors.response.use( const res = response.data if (res.code) { Message({ - message: res.message || 'Error', + message: res.msg || 'Error', type: 'error', duration: 5 * 1000 }) diff --git a/src/views/system/admin.vue b/src/views/system/admin.vue new file mode 100644 index 0000000..ad114b1 --- /dev/null +++ b/src/views/system/admin.vue @@ -0,0 +1,294 @@ + + + + + diff --git a/src/views/system/role.vue b/src/views/system/role.vue index 5414f38..447b054 100644 --- a/src/views/system/role.vue +++ b/src/views/system/role.vue @@ -129,7 +129,7 @@ import { Component, Vue } from 'vue-property-decorator' import { getRoles, saveRole, deleteRole } from '@/api/roles' import TagInput from '@/components/TagInput/index.vue' -interface IRole { +export interface IRole { key: string name: string comment: string