4.8.5 test (#1825)

* update model logo

* perf: hide list clb api
This commit is contained in:
Archer
2024-06-24 09:29:54 +08:00
committed by GitHub
parent 24596a6e21
commit a9ab9ebe8e
10 changed files with 133 additions and 85 deletions

View File

@@ -1,8 +1,9 @@
{
"editor.formatOnSave": true,
"editor.mouseWheelZoom": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"prettier.prettierPath": "../node_modules/prettier",
"typescript.tsdk": "node_modules/typescript/lib",
"prettier.prettierPath": "",
"i18n-ally.localesPaths": [
"packages/web/i18n",
],

View File

@@ -148,6 +148,9 @@ llm模型全部合并
- /imgs/model/openai.svg - OpenAI GPT
- /imgs/model/qwen.svg - 通义千问
- /imgs/model/yi.svg - 零一万物
- /imgs/model/gemini.svg - gemini
- /imgs/model/deepseek.svg - deepseek
- /imgs/model/minimax.svg - minimax
-
## 特殊模型

View File

@@ -67,6 +67,14 @@ export const getNanoid = (size = 12) => {
/* Custom text to reg, need to replace special chats */
export const replaceRegChars = (text: string) => text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
export const getRegQueryStr = (text: string, flags = 'i') => {
const formatText = replaceRegChars(text);
const chars = formatText.split('');
const regexPattern = chars.join('.*');
return new RegExp(regexPattern, flags);
};
/* slice json str */
export const sliceJsonStr = (str: string) => {
str = str.replace(/(\\n|\\)/g, '').replace(/ /g, '');

View File

@@ -102,6 +102,7 @@ const MyMenu = ({
direction={'ltr'}
isLazy
lazyBehavior={'keepMounted'}
placement="bottom-start"
>
<Box
ref={ref}
@@ -141,7 +142,6 @@ const MyMenu = ({
</Box>
<MenuList
minW={isOpen ? `${width}px !important` : '80px'}
w={width ?? 'auto'}
maxW={'300px'}
p={'6px'}
border={'1px solid #fff'}

View File

@@ -0,0 +1,6 @@
<svg t="1719124967762" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1456"
width="200" height="200">
<path
d="M320.512 804.864C46.08 676.864 77.824 274.432 362.496 274.432c34.816 0 86.016-7.168 114.688-14.336 59.392-16.384 99.328-10.24 69.632 10.24-9.216 7.168-15.36 19.456-13.312 28.672 5.12 20.48 158.72 161.792 177.152 161.792 27.648 0 27.648-32.768 1.024-57.344-43.008-38.912-55.296-90.112-35.84-141.312l9.216-26.624 54.272 52.224c35.84 34.816 58.368 49.152 68.608 44.032 9.216-4.096 30.72-9.216 49.152-12.288 18.432-2.048 38.912-10.24 45.056-18.432 19.456-23.552 43.008-17.408 35.84 9.216-3.072 12.288-6.144 27.648-6.144 34.816 0 23.552-62.464 83.968-92.16 90.112-23.552 5.12-30.72 12.288-30.72 30.72 0 46.08-38.912 148.48-75.776 198.656l-37.888 51.2 36.864 15.36c56.32 23.552 40.96 41.984-37.888 43.008-43.008 1.024-75.776 7.168-92.16 18.432-68.608 45.056-198.656 50.176-281.6 12.288z m251.904-86.016c-24.576-27.648-66.56-79.872-93.184-117.76-69.632-98.304-158.72-150.528-256-150.528-37.888 0-38.912 1.024-38.912 34.816 0 94.208 99.328 240.64 175.104 257.024 38.912 9.216 59.392-7.168 39.936-29.696-7.168-9.216-10.24-23.552-6.144-31.744 5.12-14.336 9.216-14.336 38.912 1.024 18.432 9.216 50.176 29.696 69.632 45.056 35.84 27.648 58.368 37.888 96.256 39.936 14.336 1.024 9.216-10.24-25.6-48.128z m88.064-145.408c8.192-13.312-31.744-78.848-56.32-92.16-10.24-6.144-26.624-10.24-34.816-10.24-23.552 0-20.48 27.648 4.096 33.792 13.312 3.072 20.48 14.336 20.48 29.696 0 13.312 5.12 29.696 12.288 36.864 15.36 15.36 46.08 16.384 54.272 2.048z"
fill="#4D6BFE" p-id="1457"></path>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,9 @@
<svg t="1719125004089" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2490"
width="200" height="200">
<path
d="M415.185455 477.696v314.554182c-22.248727 106.496-170.449455 79.034182-171.101091 1.768727-0.698182-97.047273 0-193.396364 0-289.792V392.564364c0-13.963636-3.165091-24.994909-16.011637-33.792-24.994909-17.780364-54.923636 3.165091-55.575272 28.858181-1.396364 34.443636-0.698182 68.189091-1.396364 102.213819 0 26.810182 0 52.922182 0.698182 79.685818C153.320727 687.522909 3.397818 667.927273 0 570.228364v-81.733819c0-26.810182 54.923636-33.093818 52.224 6.981819-1.768727 19.828364-0.651636 40.308364-1.349818 59.904-0.651636 35.095273 55.621818 58.740364 68.887273 1.349818 0.698182-47.290182 0.698182-94.580364 0.698181-142.336 0-59.857455 17.780364-108.497455 84.247273-113.012364 28.811636-2.466909 47.941818 8.983273 66.373818 28.858182 6.981818 6.981818 23.645091 29.230545 24.343273 53.527273 0 22.341818 0.651636 44.590545 0.651636 67.118545 0 44.590545-0.651636 89.367273-0.651636 133.957818 0 28.858182 0.651636 57.437091 0.651636 85.597091 0 35.793455 0 72.052364-0.651636 107.845818-0.698182 46.592 58.740364 45.940364 68.235636-0.698181 0-54.923636 0.651636-109.195636 0.651637-164.119273 0-135.354182-0.651636-270.661818-0.651637-405.969455 0-13.963636-2.048-52.922182 5.818182-67.118545 41.425455-96.349091 167.330909-54.272 168.448 25.460364 2.466909 163.467636 0 328.750545 0.651637 492.63709 0 56.785455-48.407273 44.590545-51.10691 22.341819 0-170.496 0-341.643636 0.698182-511.860364-2.466909-42.775273-68.887273-36.910545-72.750545-6.283636-1.349818 35.141818-0.651636 70.935273-1.349818 106.030545v208.756364h0.698181l0.465455 0.232727z"
fill="#AE70FF" p-id="2491"></path>
<path
d="M609.745455 475.182545v231.005091V161.047273c21.643636-107.194182 169.797818-79.266909 170.449454-2.001455 0.698182 96.349091 0 193.396364 0.698182 289.745455 0 36.957091 0 74.100364-0.698182 111.010909 0 14.661818 3.816727 24.994909 16.663273 34.443636 24.343273 17.361455 54.272-3.118545 55.621818-29.230545 1.349818-33.792 0.651636-67.584 0.651636-102.260364V383.534545c18.478545-117.992727 168.029091-98.397091 171.147637-0.698181v296.075636c0 26.810182-54.272 33.140364-51.805091-6.981818 1.396364-20.48 0-254.603636 0.698182-275.130182 1.349818-34.443636-55.621818-58.786909-68.887273-0.698182v141.637818c0 60.602182-17.826909 108.544-84.898909 113.710546-63.301818 1.396364-88.715636-40.308364-90.763637-82.385455V282.856727c0-36.491636 0-72.052364 0.698182-107.845818 0.651636-46.592-58.786909-46.592-68.887272 0.698182v640.791273c0 13.963636 2.001455 52.922182-5.213091 67.118545-41.425455 96.349091-167.936 54.272-169.099637-25.460364v-75.86909c3.165091-51.106909 48.407273-38.958545 50.455273-17.361455v90.065455c2.466909 42.821818 68.887273 37.608727 72.052364 6.330181 1.349818-35.141818 1.349818-70.283636 1.349818-106.077091V475.229091H609.745455z"
fill="#AE70FF" p-id="2492"></path>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -12,6 +12,7 @@ import CollaboratorContextProvider, {
MemberManagerInputPropsType
} from '../../support/permission/MemberManager/context';
import MyTooltip from '@fastgpt/web/components/common/MyTooltip';
import { useSystemStore } from '@/web/common/system/useSystemStore';
const FolderSlideCard = ({
refreshDeps,
@@ -41,6 +42,7 @@ const FolderSlideCard = ({
managePer: MemberManagerInputPropsType;
}) => {
const { t } = useTranslation();
const { feConfigs } = useSystemStore();
const { ConfirmModal, openConfirm } = useConfirm({
type: 'delete',
@@ -109,69 +111,73 @@ const FolderSlideCard = ({
</>
)}
<MyDivider my={6} />
{feConfigs?.isPlus && (
<>
<MyDivider my={6} />
<Box>
<FormLabel>{t('support.permission.Permission')}</FormLabel>
<Box>
<FormLabel>{t('support.permission.Permission')}</FormLabel>
{managePer.permission.hasManagePer && (
<Box mt={5}>
<Box fontSize={'sm'} color={'myGray.500'}>
{t('permission.Default permission')}
{managePer.permission.hasManagePer && (
<Box mt={5}>
<Box fontSize={'sm'} color={'myGray.500'}>
{t('permission.Default permission')}
</Box>
<DefaultPermissionList
mt="1"
per={defaultPer.value}
defaultPer={defaultPer.defaultValue}
onChange={defaultPer.onChange}
/>
</Box>
)}
<Box mt={6}>
<CollaboratorContextProvider {...managePer} refreshDeps={refreshDeps}>
{({ MemberListCard, onOpenManageModal, onOpenAddMember }) => {
return (
<>
<Flex alignItems="center" justifyContent="space-between">
<Box fontSize={'sm'} color={'myGray.500'}>
{t('permission.Collaborator')}
</Box>
{managePer.permission.hasManagePer && (
<HStack spacing={3}>
<MyTooltip label={t('permission.Manage')}>
<MyIcon
w="1rem"
name="common/settingLight"
cursor={'pointer'}
_hover={{ color: 'primary.600' }}
onClick={onOpenManageModal}
/>
</MyTooltip>
<MyTooltip label={t('common.Add')}>
<MyIcon
w="1rem"
name="support/permission/collaborator"
cursor={'pointer'}
_hover={{ color: 'primary.600' }}
onClick={onOpenAddMember}
/>
</MyTooltip>
</HStack>
)}
</Flex>
<MemberListCard
mt={2}
tagStyle={{
type: 'borderSolid',
colorSchema: 'gray'
}}
/>
</>
);
}}
</CollaboratorContextProvider>
</Box>
<DefaultPermissionList
mt="1"
per={defaultPer.value}
defaultPer={defaultPer.defaultValue}
onChange={defaultPer.onChange}
/>
</Box>
)}
<Box mt={6}>
<CollaboratorContextProvider {...managePer} refreshDeps={refreshDeps}>
{({ MemberListCard, onOpenManageModal, onOpenAddMember }) => {
return (
<>
<Flex alignItems="center" justifyContent="space-between">
<Box fontSize={'sm'} color={'myGray.500'}>
{t('permission.Collaborator')}
</Box>
{managePer.permission.hasManagePer && (
<HStack spacing={3}>
<MyTooltip label={t('permission.Manage')}>
<MyIcon
w="1rem"
name="common/settingLight"
cursor={'pointer'}
_hover={{ color: 'primary.600' }}
onClick={onOpenManageModal}
/>
</MyTooltip>
<MyTooltip label={t('common.Add')}>
<MyIcon
w="1rem"
name="support/permission/collaborator"
cursor={'pointer'}
_hover={{ color: 'primary.600' }}
onClick={onOpenAddMember}
/>
</MyTooltip>
</HStack>
)}
</Flex>
<MemberListCard
mt={2}
tagStyle={{
type: 'borderSolid',
colorSchema: 'gray'
}}
/>
</>
);
}}
</CollaboratorContextProvider>
</Box>
</Box>
</>
)}
<ConfirmModal />
</Box>

View File

@@ -19,13 +19,12 @@ import { useMemo, useState } from 'react';
import PermissionSelect from './PermissionSelect';
import PermissionTags from './PermissionTags';
import { CollaboratorContext } from './context';
import { useQuery } from '@tanstack/react-query';
import { useUserStore } from '@/web/support/user/useUserStore';
import { getTeamMembers } from '@/web/support/user/team/api';
import MyBox from '@fastgpt/web/components/common/MyBox';
import { ChevronDownIcon } from '@chakra-ui/icons';
import Avatar from '@/components/Avatar';
import { useRequest } from '@fastgpt/web/hooks/useRequest';
import { useRequest, useRequest2 } from '@fastgpt/web/hooks/useRequest';
import { useTranslation } from 'next-i18next';
export type AddModalPropsType = {
@@ -39,15 +38,17 @@ function AddMemberModal({ onClose }: AddModalPropsType) {
const { permissionList, collaboratorList, onUpdateCollaborators, getPerLabelList } =
useContextSelector(CollaboratorContext, (v) => v);
const [searchText, setSearchText] = useState<string>('');
const {
data: members = [],
refetch: refetchMembers,
isLoading: loadingMembers
} = useQuery(['getMembers', userInfo?.team?.teamId], async () => {
if (!userInfo?.team?.teamId) return [];
const members = await getTeamMembers();
return members;
});
const { data: members = [], loading: loadingMembers } = useRequest2(
async () => {
if (!userInfo?.team?.teamId) return [];
const members = await getTeamMembers();
return members;
},
{
manual: false,
refreshDeps: [userInfo?.team?.teamId]
}
);
const filterMembers = useMemo(() => {
return members.filter((item) => {
// if (item.permission.isOwner) return false;

View File

@@ -6,13 +6,13 @@ import {
import { PermissionList } from '@fastgpt/global/support/permission/constant';
import { Permission } from '@fastgpt/global/support/permission/controller';
import { PermissionListType, PermissionValueType } from '@fastgpt/global/support/permission/type';
import { useQuery } from '@tanstack/react-query';
import { ReactNode, useCallback } from 'react';
import { createContext } from 'use-context-selector';
import dynamic from 'next/dynamic';
import MemberListCard, { MemberListCardProps } from './MemberListCard';
import { useRequest2 } from '@fastgpt/web/hooks/useRequest';
import { useSystemStore } from '@/web/common/system/useSystemStore';
const AddMemberModal = dynamic(() => import('./AddMemberModal'));
const ManageModal = dynamic(() => import('./ManageModal'));
@@ -71,14 +71,24 @@ const CollaboratorContextProvider = ({
}: MemberManagerInputPropsType & {
children: (props: ChildrenProps) => ReactNode;
}) => {
const { feConfigs } = useSystemStore();
const {
data: collaboratorList = [],
runAsync: refetchCollaboratorList,
loading: isFetchingCollaborator
} = useRequest2(onGetCollaboratorList, {
manual: false,
refreshDeps
});
} = useRequest2(
async () => {
if (feConfigs.isPlus) {
return onGetCollaboratorList();
}
return [];
},
{
manual: false,
refreshDeps
}
);
const onUpdateCollaboratorsThen = async (props: UpdateClbPermissionProps) => {
await onUpdateCollaborators(props);

View File

@@ -245,7 +245,6 @@ function List() {
}}
>
<MyMenu
width={120}
Button={
<Box w={'22px'} h={'22px'}>
<MyIcon
@@ -279,13 +278,7 @@ function List() {
label: t('Move'),
onClick: () => setMoveDataId(dataset._id)
},
{
icon: 'export',
label: t('Export'),
onClick: () => {
exportDataset(dataset);
}
},
...(dataset.permission.hasManagePer
? [
{
@@ -297,6 +290,17 @@ function List() {
: [])
]
},
{
children: [
{
icon: 'export',
label: t('Export'),
onClick: () => {
exportDataset(dataset);
}
}
]
},
...(dataset.permission.hasManagePer
? [
{