| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- function getCurrentTimeLabel() {
- const now = new Date()
- const hours = String(now.getHours()).padStart(2, '0')
- const minutes = String(now.getMinutes()).padStart(2, '0')
- return `${hours}:${minutes}`
- }
- function createBaseMessage(payload = {}) {
- return {
- direction: payload.direction || 'right',
- department: payload.department || '家长',
- name: payload.name || '我',
- time: payload.time || getCurrentTimeLabel(),
- ...payload
- }
- }
- export function createTextMessage(payload = {}) {
- return createBaseMessage({
- type: 'text',
- content: payload.content || '',
- needReceipt: Boolean(payload.needReceipt),
- receiptStatus: payload.receiptStatus || 'unread',
- showReceiptToggle: payload.showReceiptToggle ?? false,
- ...payload
- })
- }
- export function createVoiceMessage(payload = {}) {
- return createBaseMessage({
- type: 'voice',
- duration: payload.duration || '00',
- isRecording: Boolean(payload.isRecording),
- voicePreview: payload.voicePreview || '',
- voiceText: payload.voiceText || '',
- needReceipt: Boolean(payload.needReceipt),
- receiptStatus: payload.receiptStatus || 'unread',
- ...payload
- })
- }
- export function createImageMessage(payload = {}) {
- return createBaseMessage({
- type: 'image',
- imageUrl: payload.imageUrl || '/static/logo.png',
- ...payload
- })
- }
- export function createFileMessage(payload = {}) {
- return createBaseMessage({
- type: 'file',
- fileName: payload.fileName || '未命名文件',
- fileUrl: payload.fileUrl || '',
- ...payload
- })
- }
- export function createVideoMessage(payload = {}) {
- return createBaseMessage({
- type: 'video',
- coverUrl: payload.coverUrl || '/static/logo.png',
- videoUrl: payload.videoUrl || '',
- duration: payload.duration || '',
- ...payload
- })
- }
- export function collectImageUrls(messages = []) {
- return messages
- .filter((item) => item.type === 'image' && item.imageUrl)
- .map((item) => item.imageUrl)
- }
- export function getInitialParentMessages() {
- return [
- createTextMessage({
- direction: 'left',
- department: '一年级A班',
- name: '张三',
- time: '15:25',
- content: '你好啊',
- needReceipt: true,
- receiptStatus: 'unread'
- }),
- createBaseMessage({
- type: 'call',
- direction: 'left',
- department: '一年级A班',
- name: '张三',
- time: '15:26',
- duration: '00:25'
- }),
- createBaseMessage({
- type: 'call',
- direction: 'right',
- department: '家长',
- name: '李四',
- time: '15:30',
- duration: '00:25'
- }),
- createVoiceMessage({
- direction: 'left',
- department: '一年级A班',
- name: '张珊',
- time: '15:23',
- duration: '24',
- voicePreview: '这段音频前面的字',
- voiceText: '这是转写这段音频的所有内容,但转成文字的功能暂时不够,设计图先有,转成文字后,"确认阅读"跟着。',
- needReceipt: true,
- receiptStatus: 'unread'
- }),
- createVoiceMessage({
- direction: 'right',
- department: '家长',
- name: '李四',
- time: '18:28',
- duration: '15',
- voicePreview: '这是我发的语音',
- voiceText: '这是我发的语音消息的完整转写内容。',
- needReceipt: true,
- receiptStatus: 'read',
- showReceiptToggle: false
- }),
- createVoiceMessage({
- direction: 'left',
- department: '一年级A班',
- name: '张三',
- time: '17:25',
- duration: '16',
- isRecording: true,
- voicePreview: '正在录音中'
- }),
- createTextMessage({
- direction: 'right',
- department: '家长',
- name: '王五',
- time: '19:30',
- content: '这是我刚发的消息',
- showReceiptToggle: true
- }),
- createTextMessage({
- direction: 'right',
- department: '家长',
- name: '李四',
- time: '19:25',
- content: '这是我之前发的消息,已经勾选了带回执',
- needReceipt: true,
- receiptStatus: 'read',
- showReceiptToggle: false
- }),
- createImageMessage({
- direction: 'left',
- department: '一年级A班',
- name: '班主任',
- time: '19:40',
- imageUrl: '/static/logo.png'
- }),
- createImageMessage({
- direction: 'right',
- department: '家长',
- name: '李四',
- time: '19:40',
- imageUrl: '/static/images/deviceunlogin.png'
- }),
- createFileMessage({
- direction: 'right',
- department: '家长',
- name: '李四',
- time: '19:41',
- fileName: '归档.zip',
- fileUrl: 'https://www.iconfont.cn/api/project/download.zip?spm=a313x.manage_type_myprojects.i1.d7543c303.6a0d3a81LqAtP4&pid=5081296&ctoken=null'
- }),
- createVideoMessage({
- direction: 'left',
- department: '一年级A班',
- name: '班主任',
- time: '19:42',
- coverUrl: '/static/images/deviceunlogin.png',
- videoUrl: 'https://v2.cri.cn/c89e53c6-0bc7-45ca-ac11-a385002d7d11/cb5a6d96-d0c4-4fd0-a895-b6135667d84a/video/2df23555-d075-4988-9d06-0f3564517974.mp4'
- })
- ]
- }
|