Merge pull request #1713 from seefs001/feature/channel_remark
feat: add channel remark #1710
This commit is contained in:
@@ -47,6 +47,7 @@ type Channel struct {
|
|||||||
Setting *string `json:"setting" gorm:"type:text"` // 渠道额外设置
|
Setting *string `json:"setting" gorm:"type:text"` // 渠道额外设置
|
||||||
ParamOverride *string `json:"param_override" gorm:"type:text"`
|
ParamOverride *string `json:"param_override" gorm:"type:text"`
|
||||||
HeaderOverride *string `json:"header_override" gorm:"type:text"`
|
HeaderOverride *string `json:"header_override" gorm:"type:text"`
|
||||||
|
Remark string `json:"remark,omitempty" gorm:"type:varchar(255)" validate:"max=255"`
|
||||||
// add after v0.8.5
|
// add after v0.8.5
|
||||||
ChannelInfo ChannelInfo `json:"channel_info" gorm:"type:json"`
|
ChannelInfo ChannelInfo `json:"channel_info" gorm:"type:json"`
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,8 @@ import {
|
|||||||
renderQuota,
|
renderQuota,
|
||||||
getChannelIcon,
|
getChannelIcon,
|
||||||
renderQuotaWithAmount,
|
renderQuotaWithAmount,
|
||||||
|
showSuccess,
|
||||||
|
showError,
|
||||||
} from '../../../helpers';
|
} from '../../../helpers';
|
||||||
import { CHANNEL_OPTIONS } from '../../../constants';
|
import { CHANNEL_OPTIONS } from '../../../constants';
|
||||||
import { IconTreeTriangleDown, IconMore } from '@douyinfe/semi-icons';
|
import { IconTreeTriangleDown, IconMore } from '@douyinfe/semi-icons';
|
||||||
@@ -216,6 +218,39 @@ export const getChannelsColumns = ({
|
|||||||
key: COLUMN_KEYS.NAME,
|
key: COLUMN_KEYS.NAME,
|
||||||
title: t('名称'),
|
title: t('名称'),
|
||||||
dataIndex: 'name',
|
dataIndex: 'name',
|
||||||
|
render: (text, record, index) => {
|
||||||
|
if (record.remark && record.remark.trim() !== '') {
|
||||||
|
return (
|
||||||
|
<Tooltip
|
||||||
|
content={
|
||||||
|
<div className='flex flex-col gap-2 max-w-xs'>
|
||||||
|
<div className='text-sm'>{record.remark}</div>
|
||||||
|
<Button
|
||||||
|
size='small'
|
||||||
|
type='primary'
|
||||||
|
theme='outline'
|
||||||
|
onClick={(e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
navigator.clipboard.writeText(record.remark).then(() => {
|
||||||
|
showSuccess(t('复制成功'));
|
||||||
|
}).catch(() => {
|
||||||
|
showError(t('复制失败'));
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{t('复制')}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
trigger='hover'
|
||||||
|
position='topLeft'
|
||||||
|
>
|
||||||
|
<span>{text}</span>
|
||||||
|
</Tooltip>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return text;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: COLUMN_KEYS.GROUP,
|
key: COLUMN_KEYS.GROUP,
|
||||||
|
|||||||
@@ -1993,6 +1993,14 @@ const EditChannelModal = (props) => {
|
|||||||
showClear
|
showClear
|
||||||
onChange={(value) => handleInputChange('tag', value)}
|
onChange={(value) => handleInputChange('tag', value)}
|
||||||
/>
|
/>
|
||||||
|
<Form.TextArea
|
||||||
|
field='remark'
|
||||||
|
label={t('备注')}
|
||||||
|
placeholder={t('请输入备注(仅管理员可见)')}
|
||||||
|
maxLength={255}
|
||||||
|
showClear
|
||||||
|
onChange={(value) => handleInputChange('remark', value)}
|
||||||
|
/>
|
||||||
|
|
||||||
<Row gutter={12}>
|
<Row gutter={12}>
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
|
|||||||
Reference in New Issue
Block a user