feat: 权限系统单体应用改造完成

Former-commit-id: 8d5eaa698b
This commit is contained in:
horizons 2022-10-23 23:35:43 +08:00
parent cf24d080e5
commit 8746cd3b36
12 changed files with 90 additions and 90 deletions

27
src/api/auth.ts Normal file
View File

@ -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'
});
}

View File

@ -12,7 +12,7 @@ export function listDepartments(
queryParams?: DeptQueryParam
): AxiosPromise<DeptItem[]> {
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<Option[]> {
return request({
url: '/youlai-system/api/v1/dept/options',
url: '/api/v1/dept/options',
method: 'get'
});
}
@ -35,7 +35,7 @@ export function listDeptOptions(): AxiosPromise<Option[]> {
*/
export function getDeptForm(id: string): AxiosPromise<DeptFormData> {
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<DeptFormData> {
*/
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'
});
}

View File

@ -19,7 +19,7 @@ export function listDictTypePages(
queryParams: DictQueryParam
): AxiosPromise<DictPageResult> {
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<DictTypeFormData> {
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<DictTypeFormData> {
*/
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<Option[]> {
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<DictItemPageResult> {
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<DictItemFormData> {
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<DictItemFormData> {
*/
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'
});
}

View File

@ -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 }
});

View File

@ -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<MenuItem[]> {
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<Option[]> {
return request({
url: '/youlai-system/api/v1/menus/options',
url: '/api/v1/menus/options',
method: 'get'
});
}
@ -48,7 +48,7 @@ export function listMenuOptions(): AxiosPromise<Option[]> {
*/
export function listResources(): AxiosPromise<Resource[]> {
return request({
url: '/youlai-system/api/v1/menus/resources',
url: '/api/v1/menus/resources',
method: 'get'
});
}
@ -59,7 +59,7 @@ export function listResources(): AxiosPromise<Resource[]> {
*/
export function getMenuDetail(id: string): AxiosPromise<MenuFormData> {
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<MenuFormData> {
*/
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'
});
}

View File

@ -18,7 +18,7 @@ export function listRolePages(
queryParams?: RoleQueryParam
): AxiosPromise<RolePageResult> {
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<Option[]> {
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<RoleResource> {
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<any> {
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<RoleFormData> {
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<RoleFormData> {
*/
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'
});
}

View File

@ -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<UserInfo> {
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<UserPageResult> {
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<UserFormData> {
export function getUserFormData(userId: number): AxiosPromise<UserFormData> {
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<UserFormData> {
*/
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: {

View File

@ -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);
});
}); */
});
},
/**

View File

@ -26,7 +26,7 @@ const handleDictTypeClick = (row: any) => {
<template>
<div class="app-container">
<el-row :gutter="10">
<el-col :span="8" :xs="24">
<el-col :span="10" :xs="24">
<el-card class="box-card">
<template #header>
<svg-icon icon-class="dict" />
@ -36,7 +36,7 @@ const handleDictTypeClick = (row: any) => {
</el-card>
</el-col>
<el-col :span="16" :xs="24">
<el-col :span="14" :xs="24">
<el-card class="box-card">
<template #header>
<svg-icon icon-class="dict_item" />
@ -44,7 +44,7 @@ const handleDictTypeClick = (row: any) => {
<el-tag type="success" v-if="typeCode" size="small">{{
typeName
}}</el-tag>
<el-tag type="warning" v-else size="small">未选择字典</el-tag>
<el-tag type="danger" v-else size="small">未选择字典类型</el-tag>
</template>
<!-- 字典项组件 -->
<dict-item :typeName="typeName" :typeCode="typeCode" />

View File

@ -191,7 +191,7 @@ const handleResourceCheckChange = (
};
/**
* 分配资源(菜单+权限)弹窗
* 资源分配
*/
function openRoleResourceDialog(row: RoleItem) {
resourceDialogVisible.value = true;
@ -434,7 +434,7 @@ onMounted(() => {
<!--分配资源弹窗-->
<el-dialog
:title="'角色【' + checkedRole.name + '】资源分配'"
:title="'【' + checkedRole.name + '】资源分配'"
v-model="resourceDialogVisible"
width="800px"
>

View File

@ -18,7 +18,7 @@ import {
// API
import {
listUserPages,
getUserDetail,
getUserFormData,
deleteUsers,
addUser,
updateUser,
@ -292,7 +292,7 @@ async function handleUpdate(row: { [key: string]: any }) {
const userId = row.id || state.ids;
await loadDeptOptions();
await loadRoleOptions();
getUserDetail(userId).then(({ data }) => {
getUserFormData(userId).then(({ data }) => {
formData.value = data;
});
}

View File

@ -25,7 +25,7 @@ export default ({ mode }: ConfigEnv): UserConfig => {
open: true, // 运行自动打开浏览器
proxy: {
[env.VITE_APP_BASE_API]: {
target: 'http://localhost:9999',
target: 'http://localhost:8989',
changeOrigin: true,
rewrite: path =>
path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '')