mirror of
https://github.com/labring/FastGPT.git
synced 2025-08-03 13:38:00 +00:00

* perf: insert mongo dataset data session * perf: dataset data index * remove delay * rename bill schema * rename bill record * perf: bill table * perf: prompt * perf: sub plan * change the usage count * feat: usage bill * publish usages * doc * 新增团队聊天功能 (#20) * perf: doc * feat 添加标签部分 feat 信息团队标签配置 feat 新增团队同步管理 feat team分享页面 feat 完成team分享页面 feat 实现模糊搜索 style 格式化 fix 修复迷糊匹配 style 样式修改 fix 团队标签功能修复 * fix 修复鉴权功能 * merge 合并代码 * fix 修复引用错误 * fix 修复pr问题 * fix 修复ts格式问题 --------- Co-authored-by: archer <545436317@qq.com> Co-authored-by: liuxingwan <liuxingwan.lxw@alibaba-inc.com> * update extra plan * fix: ts * format * perf: bill field * feat: standard plan * fix: ts * feat 个人账号页面修改 (#22) * feat 添加标签部分 feat 信息团队标签配置 feat 新增团队同步管理 feat team分享页面 feat 完成team分享页面 feat 实现模糊搜索 style 格式化 fix 修复迷糊匹配 style 样式修改 fix 团队标签功能修复 * fix 修复鉴权功能 * merge 合并代码 * fix 修复引用错误 * fix 修复pr问题 * fix 修复ts格式问题 * feat 修改个人账号页 --------- Co-authored-by: liuxingwan <liuxingwan.lxw@alibaba-inc.com> * fix chunk index; error page text * feat: dataset process Integral prediction * feat: stand plan field * feat: sub plan limit * perf: index * query extension * perf: share link push app name * perf: plan point unit * perf: get sub plan * perf: account page --------- Co-authored-by: yst <77910600+yu-and-liu@users.noreply.github.com> Co-authored-by: liuxingwan <liuxingwan.lxw@alibaba-inc.com>
123 lines
4.0 KiB
TypeScript
123 lines
4.0 KiB
TypeScript
import React from 'react';
|
|
import { Box, Flex, Grid } from '@chakra-ui/react';
|
|
import { useTranslation } from 'next-i18next';
|
|
|
|
import { useSystemStore } from '@/web/common/system/useSystemStore';
|
|
|
|
const Points = () => {
|
|
const { t } = useTranslation();
|
|
const { llmModelList, audioSpeechModelList, vectorModelList, whisperModel } = useSystemStore();
|
|
|
|
return (
|
|
<Flex
|
|
mt={['40px', '90px']}
|
|
flexDirection={'column'}
|
|
alignItems={'center'}
|
|
position={'relative'}
|
|
>
|
|
<Box id="point-card" fontWeight={'bold'} fontSize={['24px', '36px']}>
|
|
{t('support.wallet.subscription.Ai points')}
|
|
</Box>
|
|
<Grid gap={6} mt={['30px', '48px']} w={'100%'}>
|
|
<Box
|
|
display={['block', 'flex']}
|
|
borderRadius={'xl'}
|
|
borderWidth={'1px'}
|
|
borderColor={'myGray.150'}
|
|
bg={'rgba(255,255,255,0.9)'}
|
|
overflow={'hidden'}
|
|
>
|
|
<Box
|
|
flex={1}
|
|
borderRightWidth={'1px'}
|
|
borderRightColor={'myGray.150'}
|
|
py={4}
|
|
px={6}
|
|
fontSize={'lg'}
|
|
fontWeight={'bold'}
|
|
>
|
|
AI语言模型
|
|
</Box>
|
|
<Box flex={4} textAlign={'center'}>
|
|
{llmModelList?.map((item, i) => (
|
|
<Flex key={item.model} py={4} bg={i % 2 !== 0 ? 'myGray.50' : ''}>
|
|
<Box flex={'1 0 0'}>{item.name}</Box>
|
|
<Box flex={'1 0 0'}>{item.charsPointsPrice}积分 / 1000字符</Box>
|
|
</Flex>
|
|
))}
|
|
</Box>
|
|
</Box>
|
|
<Box
|
|
display={['block', 'flex']}
|
|
borderRadius={'xl'}
|
|
borderWidth={'1px'}
|
|
borderColor={'myGray.150'}
|
|
bg={'rgba(255,255,255,0.9)'}
|
|
overflow={'hidden'}
|
|
>
|
|
<Box flex={1} borderRightWidth={'1px'} borderRightColor={'myGray.150'} py={4} px={6}>
|
|
<Box fontSize={'lg'} fontWeight={'bold'}>
|
|
索引模型
|
|
</Box>
|
|
<Box fontSize={'sm'} mt={1} color={'myGray.500'}>
|
|
文档索引 & 对话索引
|
|
</Box>
|
|
</Box>
|
|
<Box flex={4} textAlign={'center'}>
|
|
{vectorModelList?.map((item, i) => (
|
|
<Flex key={item.model} py={4} bg={i % 2 !== 0 ? 'myGray.50' : ''}>
|
|
<Box flex={'1 0 0'}>{item.name}</Box>
|
|
<Box flex={'1 0 0'}>{item.charsPointsPrice}积分 / 1000字符</Box>
|
|
</Flex>
|
|
))}
|
|
</Box>
|
|
</Box>
|
|
<Box
|
|
display={['block', 'flex']}
|
|
borderRadius={'xl'}
|
|
borderWidth={'1px'}
|
|
borderColor={'myGray.150'}
|
|
bg={'rgba(255,255,255,0.9)'}
|
|
overflow={'hidden'}
|
|
>
|
|
<Box flex={1} borderRightWidth={'1px'} borderRightColor={'myGray.150'} py={4} px={6}>
|
|
<Box fontSize={'lg'} fontWeight={'bold'}>
|
|
语音播放
|
|
</Box>
|
|
</Box>
|
|
<Box flex={4} textAlign={'center'}>
|
|
{audioSpeechModelList?.map((item, i) => (
|
|
<Flex key={item.model} py={4} bg={i % 2 !== 0 ? 'myGray.50' : ''}>
|
|
<Box flex={'1 0 0'}>{item.name}</Box>
|
|
<Box flex={'1 0 0'}>{item.charsPointsPrice}积分 / 1000字符</Box>
|
|
</Flex>
|
|
))}
|
|
</Box>
|
|
</Box>
|
|
<Box
|
|
display={['block', 'flex']}
|
|
borderRadius={'xl'}
|
|
borderWidth={'1px'}
|
|
borderColor={'myGray.150'}
|
|
bg={'rgba(255,255,255,0.9)'}
|
|
overflow={'hidden'}
|
|
>
|
|
<Box flex={1} borderRightWidth={'1px'} borderRightColor={'myGray.150'} py={4} px={6}>
|
|
<Box fontSize={'lg'} fontWeight={'bold'}>
|
|
语音输入
|
|
</Box>
|
|
</Box>
|
|
<Box flex={4} textAlign={'center'} h={'100%'}>
|
|
<Flex py={4}>
|
|
<Box flex={'1 0 0'}>{whisperModel?.name}</Box>
|
|
<Box flex={'1 0 0'}>{whisperModel?.charsPointsPrice}积分 / 分钟</Box>
|
|
</Flex>
|
|
</Box>
|
|
</Box>
|
|
</Grid>
|
|
</Flex>
|
|
);
|
|
};
|
|
|
|
export default React.memo(Points);
|