| | |
| | | CARD: 2, |
| | | FILE: 3, |
| | | NEWS: 4, |
| | | IMAGE: 5, |
| | | VIDEO: 6, |
| | | MARKDOWN: 7, |
| | | MULTI_NEWS: 8, |
| | | } as const; |
| | | |
| | | export const NOTICE_TYPE_OPTIONS = [ |
| | | { label: '纯文本通知', value: NOTICE_TYPE.TEXT }, |
| | | { label: '图文卡片(填报/链接)', value: NOTICE_TYPE.CARD }, |
| | | { label: '文件通知(上传文件推送)', value: NOTICE_TYPE.FILE }, |
| | | { label: '图片通知(上传图片推送)', value: NOTICE_TYPE.IMAGE }, |
| | | { label: '视频通知(上传视频推送)', value: NOTICE_TYPE.VIDEO }, |
| | | { label: 'Markdown 通知(富文本排版)', value: NOTICE_TYPE.MARKDOWN }, |
| | | { label: '多图文消息(多条链接图文)', value: NOTICE_TYPE.MULTI_NEWS }, |
| | | { label: '图文消息(标题+摘要+封面)', value: NOTICE_TYPE.NEWS }, |
| | | ]; |
| | | |
| | |
| | | placeholder: '纯文本通知必填;其它模板可作为补充说明', |
| | | disabled: readonly, |
| | | }, |
| | | help: '纯文本通知推送时超过 600 字会自动截断,建议把关键信息放前面', |
| | | help: '纯文本推送超过 600 字会自动截断;Markdown 模板支持 # 标题、**加粗**、- 列表、> 引用,正文需控制在 2048 字节内', |
| | | formItemClass: 'col-span-2', |
| | | }, |
| | | { |
| | |
| | | formItemClass: 'col-span-2', |
| | | }, |
| | | { |
| | | fieldName: 'fileBlobId', |
| | | label: '通知文件', |
| | | // 图片通知:推送时逐张发送图片消息,最多 9 张 |
| | | fieldName: 'imageBlobIds', |
| | | label: '推送图片', |
| | | component: 'ImageUpload', |
| | | componentProps: { |
| | | valueKey: 'id', |
| | | resultField: 'id', |
| | | maxNumber: 9, |
| | | multiple: true, |
| | | disabled: readonly, |
| | | }, |
| | | dependencies: { |
| | | triggerFields: ['noticeType'], |
| | | show: (values) => values.noticeType === NOTICE_TYPE.IMAGE, |
| | | }, |
| | | help: '推送时逐张发送图片消息,单张不超过 10MB,最多 9 张;推送后附「查看全部图片」卡片,成员可在页面内放大查看', |
| | | formItemClass: 'col-span-2', |
| | | }, |
| | | { |
| | | // 附件通知:推送时逐个发文件消息,接收人可直接下载 |
| | | fieldName: 'fileBlobIds', |
| | | label: '推送附件', |
| | | component: 'FileUpload', |
| | | componentProps: { |
| | | valueKey: 'id', |
| | | maxNumber: 1, |
| | | multiple: false, |
| | | maxNumber: 5, |
| | | multiple: true, |
| | | showDescription: !readonly, |
| | | disabled: readonly, |
| | | }, |
| | |
| | | triggerFields: ['noticeType'], |
| | | show: (values) => values.noticeType === NOTICE_TYPE.FILE, |
| | | }, |
| | | help: '企业微信文件消息上限 20MB', |
| | | help: '推送时逐个发送文件消息,单个不超过 20MB,最多 5 个;推送后附「查看全部附件」卡片', |
| | | formItemClass: 'col-span-2', |
| | | }, |
| | | { |
| | | // 视频通知:上传 1 个视频,推送时发送视频消息 |
| | | fieldName: 'videoBlobIds', |
| | | label: '推送视频', |
| | | component: 'FileUpload', |
| | | componentProps: { |
| | | valueKey: 'id', |
| | | maxNumber: 1, |
| | | multiple: false, |
| | | accept: ['mp4', 'mov', 'm4v'], |
| | | showDescription: !readonly, |
| | | disabled: readonly, |
| | | }, |
| | | dependencies: { |
| | | triggerFields: ['noticeType'], |
| | | show: (values) => values.noticeType === NOTICE_TYPE.VIDEO, |
| | | }, |
| | | help: '推送时发送视频消息,建议使用 mp4,单个不超过 10MB;推送后附「查看通知详情」卡片,成员可全屏播放', |
| | | formItemClass: 'col-span-2', |
| | | }, |
| | | { |