From 1e25ae4065a31159571db569ae79c09994cff5b4 Mon Sep 17 00:00:00 2001 From: Wxw-Gu Date: Wed, 26 Aug 2026 11:23:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E5=8F=91=E9=80=81?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/禁用更新.png | Bin 0 -> 120727 bytes src/main/index.ts | 4 +- .../services/personal-wechat-send-service.ts | 6 +- src/main/wcdb4-client.ts | 5 + .../chat/PersonalWechatChatComposer.tsx | 411 +++++++++ .../chat/PersonalWechatSendDialog.tsx | 831 +++++------------- .../chat/PersonalWechatSetupGuide.tsx | 306 +++++++ ...PersonalWechatSupportedVersionsContent.tsx | 46 + .../settings/pages/TextToSpeechPage.tsx | 46 +- src/renderer/src/styles/chat.scss | 509 +++++++++++ .../src/styles/settings-text-to-speech.scss | 29 + .../personal-wechat-send-dialog.test.tsx | 338 +++---- tests/component/report-features.test.tsx | 2 +- tests/e2e/app.spec.ts | 9 +- tests/e2e/visual.spec.ts | 8 +- tests/unit/wcdb-close.test.ts | 19 + 16 files changed, 1746 insertions(+), 823 deletions(-) create mode 100644 public/禁用更新.png create mode 100644 src/renderer/src/components/chat/PersonalWechatChatComposer.tsx create mode 100644 src/renderer/src/components/chat/PersonalWechatSetupGuide.tsx create mode 100644 src/renderer/src/components/chat/PersonalWechatSupportedVersionsContent.tsx diff --git a/public/禁用更新.png b/public/禁用更新.png new file mode 100644 index 0000000000000000000000000000000000000000..d6b46214b1a811bbeaedb7759be07864f93fd728 GIT binary patch literal 120727 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

@ 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 literal 0 HcmV?d00001 diff --git a/src/main/index.ts b/src/main/index.ts index 433b860..cb0266b 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1800,7 +1800,7 @@ app.whenReady().then(async () => { ipcMain.handle('wechat-personal:selectImage', async (event) => { const window = BrowserWindow.fromWebContents(event.sender) const result = await dialog.showOpenDialog(window!, { - title: '选择要通过个人微信测试发送的图片', + title: '选择要通过个人微信发送的图片', properties: ['openFile'], filters: [ { name: '图片', extensions: ['png', 'jpg', 'jpeg', 'gif', 'webp'] }, @@ -1817,7 +1817,7 @@ app.whenReady().then(async () => { ipcMain.handle('wechat-personal:selectVoice', async (event) => { const window = BrowserWindow.fromWebContents(event.sender) const result = await dialog.showOpenDialog(window!, { - title: '选择要通过个人微信测试发送的语音', + title: '选择要通过个人微信发送的语音', properties: ['openFile'], filters: [ { name: '语音', extensions: ['silk', 'mp3', 'wav', 'm4a', 'aac', 'ogg', 'flac'] }, diff --git a/src/main/services/personal-wechat-send-service.ts b/src/main/services/personal-wechat-send-service.ts index 1ee2138..fc7244e 100644 --- a/src/main/services/personal-wechat-send-service.ts +++ b/src/main/services/personal-wechat-send-service.ts @@ -500,7 +500,7 @@ export class PersonalWechatSendService { } if (text.length > 2_000) { const status = await this.getStatus() - return { success: false, status, error: '测试消息不能超过 2000 个字符' } + return { success: false, status, error: '消息不能超过 2000 个字符' } } request = { ...request, to, text } } else { @@ -520,7 +520,7 @@ export class PersonalWechatSendService { return { success: false, status, - error: `测试${request.type === 'voice' ? '语音' : '图片'}必须小于 20 MB` + error: `${request.type === 'voice' ? '语音' : '图片'}必须小于 20 MB` } } fileBase64 = ( @@ -725,7 +725,7 @@ export class PersonalWechatSendService { status: { ...base, state: 'unsupported_platform', - message: '个人微信测试发送当前仅支持 Apple Silicon Mac' + message: '个人微信发送当前仅支持 Apple Silicon Mac' } } } diff --git a/src/main/wcdb4-client.ts b/src/main/wcdb4-client.ts index 5a3c641..189b3e7 100644 --- a/src/main/wcdb4-client.ts +++ b/src/main/wcdb4-client.ts @@ -979,6 +979,11 @@ export class Wcdb4Client { this.cachedSessions = null this.cachedChatTables = null this.sessionsInFlight = null + // Session rows can change their folded/muted flags independently of the + // contact list. Invalidate the status snapshot together with sessions so + // the next hydrated contact load reads the current WeChat state. + this.sessionStatusCache.clear() + this.sessionStatusesUpdatedAt = 0 this.sessionDisplayNamesHydrated = false } diff --git a/src/renderer/src/components/chat/PersonalWechatChatComposer.tsx b/src/renderer/src/components/chat/PersonalWechatChatComposer.tsx new file mode 100644 index 0000000..7449460 --- /dev/null +++ b/src/renderer/src/components/chat/PersonalWechatChatComposer.tsx @@ -0,0 +1,411 @@ +import { useCallback, useEffect, useRef, useState } from 'react' +import type { + PersonalWechatSendRequest, + PersonalWechatSenderStatus +} from '../../../../shared/personal-wechat' +import type { TextToSpeechSettings, TextToSpeechVoice } from '../../../../shared/text-to-speech' +import { Button, SegmentedControl, SegmentedControlItem, Textarea } from '../ui' + +export type PersonalWechatComposerMode = 'text' | 'image' | 'voice' +type VoiceSource = 'generated' | 'file' +type SelectedLocalFile = { path: string; name: string } +type GeneratedVoice = { filePath: string; audioDataUrl: string } + +export type ChatMessage = { + id: string + type: PersonalWechatComposerMode | 'system' + text?: string + fileName?: string + outgoing: boolean +} + +interface PersonalWechatChatComposerProps { + status: PersonalWechatSenderStatus + targetId: string + isGroupChat: boolean + initialMode?: PersonalWechatComposerMode + initialImage?: SelectedLocalFile | null + onOpenTextToSpeechSettings?: () => void + onCancel: () => void + onSend: ( + request: PersonalWechatSendRequest, + displayText: string + ) => Promise<{ success: boolean; error?: string }> + onMessage: (message: ChatMessage) => void + busy: boolean +} + +function formatAudioTime(value: number): string { + if (!Number.isFinite(value) || value < 0) return '0:00' + const seconds = Math.floor(value) + return `${Math.floor(seconds / 60)}:${String(seconds % 60).padStart(2, '0')}` +} + +export function PersonalWechatChatComposer({ + status, + targetId, + isGroupChat, + initialMode = 'text', + initialImage = null, + onOpenTextToSpeechSettings, + onCancel, + onSend, + onMessage, + busy +}: PersonalWechatChatComposerProps): React.ReactElement { + const [mode, setMode] = useState(initialMode) + const [text, setText] = useState('') + const [image, setImage] = useState(initialImage) + const [voice, setVoice] = useState(null) + const [voiceSource, setVoiceSource] = useState('generated') + const [voiceText, setVoiceText] = useState('') + const [ttsSettings, setTtsSettings] = useState(null) + const [ttsVoices, setTtsVoices] = useState([]) + const [generatedVoice, setGeneratedVoice] = useState(null) + const [isGenerating, setIsGenerating] = useState(false) + const [isPreviewPlaying, setIsPreviewPlaying] = useState(false) + const [previewCurrentTime, setPreviewCurrentTime] = useState(0) + const [previewDuration, setPreviewDuration] = useState(0) + const [feedback, setFeedback] = useState<{ success: boolean; message: string } | null>(null) + const generatedVoiceRef = useRef(null) + const generatedAudioRef = useRef(null) + const selectedTypeReady = + mode === 'text' + ? status.canSendText + : mode === 'image' + ? status.canSendImage + : status.canSendVoice + const isBusy = busy || isGenerating + const selectedTtsVoice = ttsVoices.find((item) => item.id === ttsSettings?.selectedVoiceId) + + useEffect(() => { + let active = true + void window.api + .getTextToSpeechSettings() + .then(async (response) => { + if (!active) return + setTtsSettings(response.settings) + if (!response.settings.hasApiKey) return + const voicesResponse = await window.api.listTextToSpeechVoices({ + pageNumber: 1, + pageSize: 24 + }) + if (active && voicesResponse.success) setTtsVoices(voicesResponse.items) + }) + .catch(() => undefined) + return () => { + active = false + } + }, []) + + const clearGeneratedVoice = useCallback((): void => { + const current = generatedVoiceRef.current + generatedVoiceRef.current = null + generatedAudioRef.current?.pause() + setGeneratedVoice(null) + setIsPreviewPlaying(false) + setPreviewCurrentTime(0) + setPreviewDuration(0) + if (current?.filePath) + void window.api.removeGeneratedTextToSpeechAudio(current.filePath).catch(() => undefined) + }, []) + + useEffect(() => () => clearGeneratedVoice(), [clearGeneratedVoice]) + + const selectImage = async (): Promise => { + if (isBusy) return + const selection = await window.api.selectPersonalWechatImage() + if (!selection.canceled && selection.path) { + setImage({ + path: selection.path, + name: selection.name || selection.path.split(/[\\/]/).pop() || '图片' + }) + setFeedback(null) + } + } + + const selectVoice = async (): Promise => { + if (isBusy) return + const selection = await window.api.selectPersonalWechatVoice() + if (!selection.canceled && selection.path) { + setVoice({ + path: selection.path, + name: selection.name || selection.path.split(/[\\/]/).pop() || '语音' + }) + setFeedback(null) + } + } + + const send = async ( + request: PersonalWechatSendRequest, + displayText: string + ): Promise => { + if (isBusy || !selectedTypeReady) return false + setFeedback(null) + const result = await onSend(request, displayText) + setFeedback({ + success: result.success, + message: result.success ? '已发送' : result.error || '发送失败' + }) + if (result.success) + onMessage({ + id: `${Date.now()}-${Math.random()}`, + type: request.type, + text: request.type === 'text' ? request.text : displayText, + fileName: request.type === 'text' ? undefined : displayText, + outgoing: true + }) + return result.success + } + + const generateVoice = async (): Promise => { + if (isBusy || !ttsSettings?.hasApiKey || !ttsSettings.selectedVoiceId || !voiceText.trim()) + return + clearGeneratedVoice() + setIsGenerating(true) + setFeedback(null) + try { + const generated = await window.api.synthesizeTextToSpeech({ + text: voiceText.trim(), + referenceId: ttsSettings.selectedVoiceId + }) + if (!generated.success || !generated.filePath || !generated.audioDataUrl) { + setFeedback({ success: false, message: generated.error || '语音生成失败' }) + return + } + const nextVoice = { filePath: generated.filePath, audioDataUrl: generated.audioDataUrl } + generatedVoiceRef.current = nextVoice + setGeneratedVoice(nextVoice) + } catch (error) { + setFeedback({ + success: false, + message: error instanceof Error ? error.message : String(error) + }) + } finally { + setIsGenerating(false) + } + } + + const sendCurrent = async (): Promise => { + if (mode === 'text') { + const value = text.trim() + if (value) + await send({ type: 'text', to: targetId, text: value, isGroup: isGroupChat }, value) + } else if (mode === 'image' && image) { + await send( + { type: 'image', to: targetId, filePath: image.path, isGroup: isGroupChat }, + image.name + ) + } else if (mode === 'voice' && voiceSource === 'file' && voice) { + await send( + { type: 'voice', to: targetId, filePath: voice.path, isGroup: isGroupChat }, + voice.name + ) + } + } + + const sendGenerated = async (): Promise => { + if (!generatedVoiceRef.current) return + const result = await send( + { + type: 'voice', + to: targetId, + filePath: generatedVoiceRef.current.filePath, + isGroup: isGroupChat + }, + voiceText.trim() || '语音消息' + ) + if (result) clearGeneratedVoice() + } + + const canSend = Boolean( + selectedTypeReady && + !isBusy && + ((mode === 'text' && text.trim()) || + (mode === 'image' && image) || + (mode === 'voice' && + ((voiceSource === 'file' && voice) || (voiceSource === 'generated' && generatedVoice)))) + ) + const generatedReady = Boolean( + ttsSettings?.hasApiKey && ttsSettings.selectedVoiceId && voiceText.trim() + ) + const previewProgress = previewDuration > 0 ? (previewCurrentTime / previewDuration) * 100 : 0 + + return ( +
+ { + clearGeneratedVoice() + setMode(value as PersonalWechatComposerMode) + setFeedback(null) + }} + disabled={isBusy} + > + 文字 + 图片 + 语音 + + + {mode === 'text' && ( +
+