diff --git a/src/api/auth.ts b/src/api/auth.ts new file mode 100644 index 00000000..f52d841f --- /dev/null +++ b/src/api/auth.ts @@ -0,0 +1,27 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { LoginFormData } from '@/types/api/user'; + +/** + * 登录 + */ +export function login(data: LoginFormData): AxiosPromise { + return request({ + url: '/api/v1/auth/login', + method: 'post', + params: data, + headers: { + Authorization: 'Basic dnVlMy1lbGVtZW50LWFkbWluOnNlY3JldA==' // 客户端信息Base64明文:vue3-element-admin:secret + } + }); +} + +/** + * 注销 + */ +export function logout() { + return request({ + url: '/api/v1/auth/logout', + method: 'delete' + }); +} diff --git a/src/api/dept.ts b/src/api/dept.ts index d047c0c3..0333789c 100644 --- a/src/api/dept.ts +++ b/src/api/dept.ts @@ -12,7 +12,7 @@ export function listDepartments( queryParams?: DeptQueryParam ): AxiosPromise { return request({ - url: '/youlai-system/api/v1/dept', + url: '/api/v1/dept', method: 'get', params: queryParams }); @@ -23,7 +23,7 @@ export function listDepartments( */ export function listDeptOptions(): AxiosPromise { return request({ - url: '/youlai-system/api/v1/dept/options', + url: '/api/v1/dept/options', method: 'get' }); } @@ -35,7 +35,7 @@ export function listDeptOptions(): AxiosPromise { */ export function getDeptForm(id: string): AxiosPromise { return request({ - url: '/youlai-system/api/v1/dept/' + id + '/form', + url: '/api/v1/dept/' + id + '/form', method: 'get' }); } @@ -47,7 +47,7 @@ export function getDeptForm(id: string): AxiosPromise { */ export function addDept(data: DeptFormData) { return request({ - url: '/youlai-system/api/v1/dept', + url: '/api/v1/dept', method: 'post', data: data }); @@ -61,7 +61,7 @@ export function addDept(data: DeptFormData) { */ export function updateDept(id: string, data: DeptFormData) { return request({ - url: '/youlai-system/api/v1/dept/' + id, + url: '/api/v1/dept/' + id, method: 'put', data: data }); @@ -74,7 +74,7 @@ export function updateDept(id: string, data: DeptFormData) { */ export function deleteDept(ids: string) { return request({ - url: '/youlai-system/api/v1/dept/' + ids, + url: '/api/v1/dept/' + ids, method: 'delete' }); } diff --git a/src/api/dict.ts b/src/api/dict.ts index 4dccbcf0..dbb999af 100644 --- a/src/api/dict.ts +++ b/src/api/dict.ts @@ -19,7 +19,7 @@ export function listDictTypePages( queryParams: DictQueryParam ): AxiosPromise { return request({ - url: '/youlai-system/api/v1/dict/types/pages', + url: '/api/v1/dict/types/pages', method: 'get', params: queryParams }); @@ -32,7 +32,7 @@ export function listDictTypePages( */ export function getDictTypeForm(id: number): AxiosPromise { return request({ - url: '/youlai-system/api/v1/dict/types/' + id + '/form', + url: '/api/v1/dict/types/' + id + '/form', method: 'get' }); } @@ -44,7 +44,7 @@ export function getDictTypeForm(id: number): AxiosPromise { */ export function addDictType(data: DictTypeFormData) { return request({ - url: '/youlai-system/api/v1/dict/types', + url: '/api/v1/dict/types', method: 'post', data: data }); @@ -58,7 +58,7 @@ export function addDictType(data: DictTypeFormData) { */ export function updateDictType(id: number, data: DictTypeFormData) { return request({ - url: '/youlai-system/api/v1/dict/types/' + id, + url: '/api/v1/dict/types/' + id, method: 'put', data: data }); @@ -69,7 +69,7 @@ export function updateDictType(id: number, data: DictTypeFormData) { */ export function deleteDictTypes(ids: string) { return request({ - url: '/youlai-system/api/v1/dict/types/' + ids, + url: '/api/v1/dict/types/' + ids, method: 'delete' }); } @@ -83,7 +83,7 @@ export function listDictItemsByTypeCode( typeCode: string ): AxiosPromise { return request({ - url: '/youlai-system/api/v1/dict/types/' + typeCode + '/items', + url: '/api/v1/dict/types/' + typeCode + '/items', method: 'get' }); } @@ -95,7 +95,7 @@ export function listDictItemPages( queryParams: DictItemQueryParam ): AxiosPromise { return request({ - url: '/youlai-system/api/v1/dict/items/pages', + url: '/api/v1/dict/items/pages', method: 'get', params: queryParams }); @@ -108,7 +108,7 @@ export function listDictItemPages( */ export function getDictItemData(id: number): AxiosPromise { return request({ - url: '/youlai-system/api/v1/dict/items/' + id + '/form', + url: '/api/v1/dict/items/' + id + '/form', method: 'get' }); } @@ -120,7 +120,7 @@ export function getDictItemData(id: number): AxiosPromise { */ export function saveDictItem(data: DictItemFormData) { return request({ - url: '/youlai-system/api/v1/dict/items', + url: '/api/v1/dict/items', method: 'post', data: data }); @@ -134,7 +134,7 @@ export function saveDictItem(data: DictItemFormData) { */ export function updateDictItem(id: number, data: DictItemFormData) { return request({ - url: '/youlai-system/api/v1/dict/items/' + id, + url: '/api/v1/dict/items/' + id, method: 'put', data: data }); @@ -147,7 +147,7 @@ export function updateDictItem(id: number, data: DictItemFormData) { */ export function deleteDictItems(ids: string) { return request({ - url: '/youlai-system/api/v1/dict/items/' + ids, + url: '/api/v1/dict/items/' + ids, method: 'delete' }); } diff --git a/src/api/file.ts b/src/api/file.ts index 4b9f9c81..36bd9a36 100644 --- a/src/api/file.ts +++ b/src/api/file.ts @@ -9,7 +9,7 @@ export function uploadFile(file: File) { const formData = new FormData(); formData.append('file', file); return request({ - url: '/youlai-system/api/v1/files', + url: '/api/v1/files', method: 'post', data: formData, headers: { @@ -25,7 +25,7 @@ export function uploadFile(file: File) { */ export function deleteFile(path?: string) { return request({ - url: '/youlai-system/api/v1/files', + url: '/api/v1/files', method: 'delete', params: { path: path } }); diff --git a/src/api/menu.ts b/src/api/menu.ts index bce180df..04eecaa8 100644 --- a/src/api/menu.ts +++ b/src/api/menu.ts @@ -13,7 +13,7 @@ import { AxiosPromise } from 'axios'; */ export function listRoutes() { return request({ - url: '/youlai-system/api/v1/menus/routes', + url: '/api/v1/menus/routes', method: 'get' }); } @@ -27,7 +27,7 @@ export function listMenus( queryParams: MenuQueryParam ): AxiosPromise { return request({ - url: '/youlai-system/api/v1/menus', + url: '/api/v1/menus', method: 'get', params: queryParams }); @@ -38,7 +38,7 @@ export function listMenus( */ export function listMenuOptions(): AxiosPromise { return request({ - url: '/youlai-system/api/v1/menus/options', + url: '/api/v1/menus/options', method: 'get' }); } @@ -48,7 +48,7 @@ export function listMenuOptions(): AxiosPromise { */ export function listResources(): AxiosPromise { return request({ - url: '/youlai-system/api/v1/menus/resources', + url: '/api/v1/menus/resources', method: 'get' }); } @@ -59,7 +59,7 @@ export function listResources(): AxiosPromise { */ export function getMenuDetail(id: string): AxiosPromise { return request({ - url: '/youlai-system/api/v1/menus/' + id, + url: '/api/v1/menus/' + id, method: 'get' }); } @@ -71,7 +71,7 @@ export function getMenuDetail(id: string): AxiosPromise { */ export function addMenu(data: MenuFormData) { return request({ - url: '/youlai-system/api/v1/menus', + url: '/api/v1/menus', method: 'post', data: data }); @@ -85,7 +85,7 @@ export function addMenu(data: MenuFormData) { */ export function updateMenu(id: string, data: MenuFormData) { return request({ - url: '/youlai-system/api/v1/menus/' + id, + url: '/api/v1/menus/' + id, method: 'put', data: data }); @@ -98,7 +98,7 @@ export function updateMenu(id: string, data: MenuFormData) { */ export function deleteMenus(ids: string) { return request({ - url: '/youlai-system/api/v1/menus/' + ids, + url: '/api/v1/menus/' + ids, method: 'delete' }); } diff --git a/src/api/role.ts b/src/api/role.ts index 4bc4a3b6..854e59d1 100644 --- a/src/api/role.ts +++ b/src/api/role.ts @@ -18,7 +18,7 @@ export function listRolePages( queryParams?: RoleQueryParam ): AxiosPromise { return request({ - url: '/youlai-system/api/v1/roles/pages', + url: '/api/v1/roles/pages', method: 'get', params: queryParams }); @@ -33,7 +33,7 @@ export function listRoleOptions( queryParams?: RoleQueryParam ): AxiosPromise { return request({ - url: '/youlai-system/api/v1/roles/options', + url: '/api/v1/roles/options', method: 'get', params: queryParams }); @@ -46,7 +46,7 @@ export function listRoleOptions( */ export function getRoleResources(roleId: string): AxiosPromise { return request({ - url: '/youlai-system/api/v1/roles/' + roleId + '/resources', + url: '/api/v1/roles/' + roleId + '/resources', method: 'get' }); } @@ -61,7 +61,7 @@ export function updateRoleResource( data: RoleResource ): AxiosPromise { return request({ - url: '/youlai-system/api/v1/roles/' + roleId + '/resources', + url: '/api/v1/roles/' + roleId + '/resources', method: 'put', data: data }); @@ -74,7 +74,7 @@ export function updateRoleResource( */ export function getRoleFormDetail(id: number): AxiosPromise { return request({ - url: '/youlai-system/api/v1/roles/' + id, + url: '/api/v1/roles/' + id, method: 'get' }); } @@ -86,7 +86,7 @@ export function getRoleFormDetail(id: number): AxiosPromise { */ export function addRole(data: RoleFormData) { return request({ - url: '/youlai-system/api/v1/roles', + url: '/api/v1/roles', method: 'post', data: data }); @@ -100,7 +100,7 @@ export function addRole(data: RoleFormData) { */ export function updateRole(id: number, data: RoleFormData) { return request({ - url: '/youlai-system/api/v1/roles/' + id, + url: '/api/v1/roles/' + id, method: 'put', data: data }); @@ -113,7 +113,7 @@ export function updateRole(id: number, data: RoleFormData) { */ export function deleteRoles(ids: string) { return request({ - url: '/youlai-system/api/v1/roles/' + ids, + url: '/api/v1/roles/' + ids, method: 'delete' }); } diff --git a/src/api/user.ts b/src/api/user.ts index adb5d78e..a71ed1fa 100644 --- a/src/api/user.ts +++ b/src/api/user.ts @@ -4,40 +4,15 @@ import { UserFormData, UserInfo, UserPageResult, - UserQueryParam, - LoginFormData + UserQueryParam } from '@/types/api/user'; -/** - * 登录 - */ -export function login(data: LoginFormData): AxiosPromise { - return request({ - url: '/youlai-auth/oauth2/token', - method: 'post', - params: data, - headers: { - Authorization: 'Basic dnVlMy1lbGVtZW50LWFkbWluOnNlY3JldA==' // 客户端信息Base64明文:vue3-element-admin:secret - } - }); -} - -/** - * 注销 - */ -export function logout() { - return request({ - url: '/youlai-auth/oauth/logout', - method: 'delete' - }); -} - /** * 登录成功后获取用户信息(昵称、头像、权限集合和角色集合) */ export function getUserInfo(): AxiosPromise { return request({ - url: '/youlai-system/api/v1/users/me', + url: '/api/v1/users/me', method: 'get' }); } @@ -51,7 +26,7 @@ export function listUserPages( queryParams: UserQueryParam ): AxiosPromise { return request({ - url: '/youlai-system/api/v1/users/pages', + url: '/api/v1/users/pages', method: 'get', params: queryParams }); @@ -62,9 +37,9 @@ export function listUserPages( * * @param userId */ -export function getUserDetail(userId: number): AxiosPromise { +export function getUserFormData(userId: number): AxiosPromise { return request({ - url: '/youlai-system/api/v1/users/' + userId, + url: '/api/v1/users/' + userId + '/form', method: 'get' }); } @@ -76,7 +51,7 @@ export function getUserDetail(userId: number): AxiosPromise { */ export function addUser(data: any) { return request({ - url: '/youlai-system/api/v1/users', + url: '/api/v1/users', method: 'post', data: data }); @@ -90,7 +65,7 @@ export function addUser(data: any) { */ export function updateUser(id: number, data: UserFormData) { return request({ - url: '/youlai-system/api/v1/users/' + id, + url: '/api/v1/users/' + id, method: 'put', data: data }); @@ -104,7 +79,7 @@ export function updateUser(id: number, data: UserFormData) { */ export function updateUserStatus(id: number, status: number) { return request({ - url: '/youlai-system/api/v1/users/' + id + '/status', + url: '/api/v1/users/' + id + '/status', method: 'patch', params: { status: status } }); @@ -118,7 +93,7 @@ export function updateUserStatus(id: number, status: number) { */ export function updateUserPassword(id: number, password: string) { return request({ - url: '/youlai-system/api/v1/users/' + id + '/password', + url: '/api/v1/users/' + id + '/password', method: 'patch', params: { password: password } }); @@ -131,7 +106,7 @@ export function updateUserPassword(id: number, password: string) { */ export function deleteUsers(ids: string) { return request({ - url: '/youlai-system/api/v1/users/' + ids, + url: '/api/v1/users/' + ids, method: 'delete' }); } @@ -143,7 +118,7 @@ export function deleteUsers(ids: string) { */ export function downloadTemplate() { return request({ - url: '/youlai-system/api/v1/users/template', + url: '/api/v1/users/template', method: 'get', responseType: 'arraybuffer' }); @@ -157,7 +132,7 @@ export function downloadTemplate() { */ export function exportUser(queryParams: UserQueryParam) { return request({ - url: '/youlai-system/api/v1/users/_export', + url: '/api/v1/users/_export', method: 'get', params: queryParams, responseType: 'arraybuffer' @@ -175,7 +150,7 @@ export function importUser(deptId: number, roleIds: string, file: File) { formData.append('deptId', deptId.toString()); formData.append('roleIds', roleIds); return request({ - url: '/youlai-system/api/v1/users/_import', + url: '/api/v1/users/_import', method: 'post', data: formData, headers: { diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index ecdc3ca6..87674c1d 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -3,7 +3,9 @@ import { LoginFormData } from '@/types/api/user'; import { UserState } from '@/types/store/user'; import { localStorage } from '@/utils/storage'; -import { getUserInfo, login, logout } from '@/api/user'; +import { login, logout } from '@/api/auth'; +import { getUserInfo } from '@/api/user'; + import { resetRouter } from '@/router'; const useUserStore = defineStore({ @@ -32,11 +34,10 @@ const useUserStore = defineStore({ }) .then(response => { console.log('response.data', response.data); - const { access_token, token_type } = response.data; - const accessToken = token_type + ' ' + access_token; + const accessToken = response.data; localStorage.set('token', accessToken); this.token = accessToken; - resolve(access_token); + resolve(accessToken); }) .catch(error => { reject(error); @@ -74,10 +75,7 @@ const useUserStore = defineStore({ * 注销 */ logout() { - localStorage.remove('token'); - this.RESET_STATE(); - - /* return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { logout() .then(() => { localStorage.remove('token'); @@ -88,7 +86,7 @@ const useUserStore = defineStore({ .catch(error => { reject(error); }); - }); */ + }); }, /** diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue index bea499f5..e6dfd200 100644 --- a/src/views/system/dict/index.vue +++ b/src/views/system/dict/index.vue @@ -26,7 +26,7 @@ const handleDictTypeClick = (row: any) => {