优化代码

pull/47/head
smallbun 2023-09-10 22:28:00 +08:00
parent c960cb8c84
commit be09062d44
3 changed files with 66 additions and 38 deletions

View File

@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
import { AppProtocolType } from '@/constant'; import { AppProtocolType } from '@/constant';
import { getApp } from '@/services/app'; import { getApp } from '../../service';
import { ProCard } from '@ant-design/pro-components'; import { ProCard } from '@ant-design/pro-components';
import { useAsyncEffect } from 'ahooks'; import { useAsyncEffect } from 'ahooks';
@ -25,7 +25,7 @@ import { useState } from 'react';
import FromConfig from './FromProtocolConfig'; import FromConfig from './FromProtocolConfig';
import JwtConfig from './JwtProtocolConfig'; import JwtConfig from './JwtProtocolConfig';
import OidcConfig from './OidcProtocolConfig'; import OidcConfig from './OidcProtocolConfig';
import { GetApp } from '../../data'; import { GetApp } from '../../data.d';
import { useIntl } from '@@/exports'; import { useIntl } from '@@/exports';
export default (props: { appId: string }) => { export default (props: { appId: string }) => {

View File

@ -128,8 +128,8 @@ export async function moveOrganization(
*/ */
export async function getUserList( export async function getUserList(
params: Record<string, any>, params: Record<string, any>,
sort?: Record<string, SortOrder>, sort: Record<string, SortOrder>,
filter?: Record<string, (string | number)[] | null>, filter: Record<string, (string | number)[] | null>,
): Promise<RequestData<AccountAPI.ListUser>> { ): Promise<RequestData<AccountAPI.ListUser>> {
return request<API.ApiResult<AccountAPI.ListUser>>('/api/v1/user/list', { return request<API.ApiResult<AccountAPI.ListUser>>('/api/v1/user/list', {
params: { ...params, ...sortParamConverter(sort), ...filterParamConverter(filter) }, params: { ...params, ...sortParamConverter(sort), ...filterParamConverter(filter) },
@ -170,8 +170,8 @@ export async function batchGetUser(ids: string[]): Promise<API.ApiResult<Account
*/ */
export async function getLoginAuditList( export async function getLoginAuditList(
params: Record<string, any>, params: Record<string, any>,
sort?: Record<string, SortOrder>, sort: Record<string, SortOrder>,
filter?: Record<string, (string | number)[] | null>, filter: Record<string, (string | number)[] | null>,
): Promise<RequestData<AccountAPI.UserLoginAuditList>> { ): Promise<RequestData<AccountAPI.UserLoginAuditList>> {
return request<API.ApiResult<AccountAPI.UserLoginAuditList>>('/api/v1/user/login_audit/list', { return request<API.ApiResult<AccountAPI.UserLoginAuditList>>('/api/v1/user/login_audit/list', {
method: 'GET', method: 'GET',
@ -353,8 +353,8 @@ export async function getUserListNotInGroup(
*/ */
export async function getUserGroupList( export async function getUserGroupList(
params: Record<string, any>, params: Record<string, any>,
sort?: Record<string, SortOrder>, sort: Record<string, SortOrder>,
filter?: Record<string, (string | number)[] | null>, filter: Record<string, (string | number)[] | null>,
): Promise<RequestData<AccountAPI.ListUserGroup>> { ): Promise<RequestData<AccountAPI.ListUserGroup>> {
return request<API.ApiResult<AccountAPI.ListUserGroup>>('/api/v1/user_group/list', { return request<API.ApiResult<AccountAPI.ListUserGroup>>('/api/v1/user_group/list', {
params: { ...params, ...sortParamConverter(sort), ...filterParamConverter(filter) }, params: { ...params, ...sortParamConverter(sort), ...filterParamConverter(filter) },
@ -433,8 +433,8 @@ export async function removeUserGroupMember(
*/ */
export async function getUserGroupMemberList( export async function getUserGroupMemberList(
params: Record<string, any>, params: Record<string, any>,
sort?: Record<string, SortOrder>, sort: Record<string, SortOrder>,
filter?: Record<string, (string | number)[] | null>, filter: Record<string, (string | number)[] | null>,
): Promise<RequestData<AccountAPI.ListUser>> { ): Promise<RequestData<AccountAPI.ListUser>> {
return request<API.ApiResult<AccountAPI.ListUser>>( return request<API.ApiResult<AccountAPI.ListUser>>(
`/api/v1/user_group/${params.id}/member_list`, `/api/v1/user_group/${params.id}/member_list`,

View File

@ -19,15 +19,14 @@ import { download, filterParamConverter, sortParamConverter } from '@/utils/util
import type { RequestData } from '@ant-design/pro-components'; import type { RequestData } from '@ant-design/pro-components';
import type { SortOrder } from 'antd/es/table/interface'; import type { SortOrder } from 'antd/es/table/interface';
import { request } from '@umijs/max'; import { request } from '@umijs/max';
import type { UploadFile } from 'antd/es/upload/interface';
/** /**
* *
*/ */
export async function getAppList( export async function getAppList(
params?: Record<string, any>, params: Record<string, any>,
sort?: Record<string, SortOrder>, sort: Record<string, SortOrder>,
filter?: Record<string, (string | number)[] | null>, filter: Record<string, (string | number)[] | null>,
): Promise<RequestData<AppAPI.AppList>> { ): Promise<RequestData<AppAPI.AppList>> {
return request<API.ApiResult<AppAPI.AppList>>('/api/v1/app/list', { return request<API.ApiResult<AppAPI.AppList>>('/api/v1/app/list', {
params: { ...params, ...sortParamConverter(sort), ...filterParamConverter(filter) }, params: { ...params, ...sortParamConverter(sort), ...filterParamConverter(filter) },
@ -192,32 +191,61 @@ export async function removeAppAccessPolicy(id: string): Promise<API.ApiResult<b
} }
/** /**
* parse Saml2 MetadataUrl *
*/ */
export async function parseSaml2MetadataUrl( export async function getAppGroupList(
metadataUrl: string, params: Record<string, any>,
): Promise<API.ApiResult<Record<string, any>>> { sort: Record<string, SortOrder>,
return request(`/api/v1/app/saml2/parse/metadata_url`, { filter: Record<string, (string | number)[] | null>,
method: 'POST', ): Promise<RequestData<AppAPI.AppGroupList>> {
params: { metadataUrl }, return request<API.ApiResult<AppAPI.AppGroupList>>('/api/v1/app/group/list', {
}).catch(({ response: { data } }) => { params: { ...params, ...sortParamConverter(sort), ...filterParamConverter(filter) },
return data; }).then((result: API.ApiResult<AppAPI.AppGroupList>) => {
const data: RequestData<AppAPI.AppGroupList> = {
data: result?.result?.list ? result?.result?.list : [],
success: result?.success,
total: result?.result?.pagination ? result?.result?.pagination.total : 0,
totalPages: result?.result?.pagination?.totalPages,
};
return Promise.resolve(data);
}); });
} }
/** export async function getAllAppGroupList(
* parse Saml2 MetadataFile params: Record<string, any>,
*/ sort: Record<string, SortOrder>,
export async function parseSaml2MetadataFile( filter: Record<string, (string | number)[] | null>,
file: UploadFile, ): Promise<RequestData<AppAPI.AppGroupList>> {
): Promise<API.ApiResult<Record<string, any>>> { let pageSize = 100,
return request(`/api/v1/app/saml2/parse/metadata_file`, { current = 1;
method: 'POST', // 存储所有数据的数组
data: { file: file.originFileObj }, let result: RequestData<AppAPI.AppGroupList> = {
headers: { data: [],
'content-type': 'multipart/form-data', success: false,
}, total: undefined,
}).catch(({ response: { data } }) => { };
return data;
}); while (true) {
// 调用分页接口
const { success, data, total } = await getAppGroupList(
{ current, pageSize, ...params },
sort,
filter,
);
if (success && data) {
// 如果当前页没有数据,表示已经加载完全部数据,退出循环
if (data?.length === 0) {
break;
}
result = { data: result.data?.concat(data), success: success, total: total };
// 增加当前页码
if (total && total <= pageSize * current) {
break;
} else {
current = current + 1;
}
}
}
return result;
} }