perf: plan tip (#2513)

This commit is contained in:
Archer 2024-08-26 10:43:52 +08:00 committed by GitHub
parent c1d08c0ccc
commit 22a0f6bcfa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 43 additions and 22 deletions

View File

@ -28,11 +28,13 @@ export enum SubModeEnum {
export const subModeMap = { export const subModeMap = {
[SubModeEnum.month]: { [SubModeEnum.month]: {
label: 'support.wallet.subscription.mode.Month', label: 'support.wallet.subscription.mode.Month',
durationMonth: 1 durationMonth: 1,
payMonth: 1
}, },
[SubModeEnum.year]: { [SubModeEnum.year]: {
label: 'support.wallet.subscription.mode.Year', label: 'support.wallet.subscription.mode.Year',
durationMonth: 12 durationMonth: 12,
payMonth: 10
} }
}; };

View File

@ -1,8 +1,11 @@
{ {
"bill": { "bill": {
"buy_plan": "Buy a package",
"buy_standard_plan_success": "Package purchased successfully", "buy_standard_plan_success": "Package purchased successfully",
"not_need_invoice": "Balance payment, unable to issue invoice", "not_need_invoice": "Balance payment, unable to issue invoice",
"renew_plan": "Renewal package" "renew_plan": "Renewal package",
"standard_valid_tip": "Package usage rules: The system gives priority to using more advanced packages, and the original unused packages will take effect later.",
"valid_time": "Effective time"
}, },
"bind_inform_account_error": "Abnormal binding notification account", "bind_inform_account_error": "Abnormal binding notification account",
"bind_inform_account_success": "Binding notification account successful", "bind_inform_account_success": "Binding notification account successful",

View File

@ -1,19 +1,22 @@
{ {
"bill": { "bill": {
"not_need_invoice": "余额支付,无法开票",
"conversion": "兑换",
"use_balance": "使用余额",
"price": "价格",
"tokens": "积分",
"token_expire_1year": "积分有效期一年",
"balance": "余额", "balance": "余额",
"you_can_convert": "您可兑换", "buy_plan": "购买套餐",
"use_balance_hint": "由于系统升级,原“自动续费从余额扣款”模式取消,余额充值入口关闭。您的余额可用于购买积分",
"contact_customer_service": "联系客服",
"convert_success": "兑换成功",
"convert_error": "兑换失败",
"buy_standard_plan_success": "购买套餐成功", "buy_standard_plan_success": "购买套餐成功",
"renew_plan": "续费套餐" "contact_customer_service": "联系客服",
"conversion": "兑换",
"convert_error": "兑换失败",
"convert_success": "兑换成功",
"not_need_invoice": "余额支付,无法开票",
"price": "价格",
"renew_plan": "续费套餐",
"standard_valid_tip": "套餐使用规则:系统优先使用更高级的套餐,原未用完的套餐将延后生效",
"token_expire_1year": "积分有效期一年",
"tokens": "积分",
"use_balance": "使用余额",
"use_balance_hint": "由于系统升级,原“自动续费从余额扣款”模式取消,余额充值入口关闭。您的余额可用于购买积分",
"valid_time": "生效时间",
"you_can_convert": "您可兑换"
}, },
"bind_inform_account_error": "绑定通知账号异常", "bind_inform_account_error": "绑定通知账号异常",
"bind_inform_account_success": "绑定通知账号成功", "bind_inform_account_success": "绑定通知账号成功",

View File

@ -9,7 +9,9 @@ import {
Th, Th,
Td, Td,
TableContainer, TableContainer,
ModalCloseButton ModalCloseButton,
HStack,
Box
} from '@chakra-ui/react'; } from '@chakra-ui/react';
import MyModal from '@fastgpt/web/components/common/MyModal'; import MyModal from '@fastgpt/web/components/common/MyModal';
import { useTranslation } from 'next-i18next'; import { useTranslation } from 'next-i18next';
@ -45,7 +47,7 @@ const StandDetailModal = ({ onClose }: { onClose: () => void }) => {
<Th>{t('common:support.standard.type')}</Th> <Th>{t('common:support.standard.type')}</Th>
<Th>{t('common:support.standard.storage')}</Th> <Th>{t('common:support.standard.storage')}</Th>
<Th>{t('common:support.standard.AI Bonus Points')}</Th> <Th>{t('common:support.standard.AI Bonus Points')}</Th>
<Th>{t('common:support.standard.Start Time')}</Th> <Th>{t('user:bill.valid_time')}</Th>
<Th>{t('common:support.standard.Expired Time')}</Th> <Th>{t('common:support.standard.Expired Time')}</Th>
</Tr> </Tr>
</Thead> </Thead>
@ -98,6 +100,10 @@ const StandDetailModal = ({ onClose }: { onClose: () => void }) => {
</Table> </Table>
<Loading loading={isLoading} fixed={false} /> <Loading loading={isLoading} fixed={false} />
</TableContainer> </TableContainer>
<HStack mt={4} color={'primary.600'}>
<MyIcon name={'infoRounded'} w={'1rem'} />
<Box fontSize={'sm'}>{t('user:bill.standard_valid_tip')}</Box>
</HStack>
</ModalBody> </ModalBody>
<ModalFooter></ModalFooter> <ModalFooter></ModalFooter>
</MyModal> </MyModal>

View File

@ -190,7 +190,7 @@ const Standard = ({
}) })
} }
> >
{t('common:support.wallet.subscription.Buy now')} {t('user:bill.buy_plan')}
</Button> </Button>
); );
})()} })()}

View File

@ -33,8 +33,11 @@ app.get('/', (req, res) => {
svgPaths.forEach((filePath) => { svgPaths.forEach((filePath) => {
const name = filePath.split('.')[0]; const name = filePath.split('.')[0];
const icon = fs.readFileSync(`${svgDir}/${filePath}`, 'utf8');
iconHtml += `<div class="item" id="${name}" onclick="onclickCopy('${name}')"> iconHtml += `<div class="item" id="${name}" onclick="onclickCopy('${name}')">
<img src="/icons/${filePath}" width="30" height="30" /> ${icon}
<div>${name}</div> <div>${name}</div>
</div>`; </div>`;
}); });
@ -48,7 +51,7 @@ app.get('/', (req, res) => {
.grid { .grid {
display: grid; display: grid;
grid-gap: 10px; grid-gap: 10px;
grid-template-columns: repeat(6, 1fr); grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
padding: 10px; padding: 10px;
background-color: #F0F1F6; background-color: #F0F1F6;
} }
@ -65,9 +68,13 @@ app.get('/', (req, res) => {
.item:hover{ .item:hover{
background-color: rgba(17, 24, 36, 0.1); background-color: rgba(17, 24, 36, 0.1);
} }
img { svg {
margin-bottom: 5px; width: 30px;
height: 30px;
margin: auto;
fill: #999;
} }
</style> </style>
<body> <body>
<div class="grid"> <div class="grid">