lxm
c8c1a33e37
fix(share): 修复 iOS 思维导图截图在非可见 tab 无法执行的问题
- 针对 iOS WKWebView 通信在不可见 tab 会暂停的问题,切换到思维导图 tab 以确保 WebView 可见
- 优化截图操作,等待 WebView 加载完成后执行 JavaScript 截图
- 增加对 WebView 加载状态的判断和处理
- 保持其他平台和可见 tab 直接执行截图逻辑
- 统一了音频文件不存在时的错误提示显示逻辑
7 months ago
lxm
f6db7ad075
feat(meeting): 增加云端音频下载及导出分享支持
- 新增提示文案“正在从云端获取音频...”用于本地音频缺失时下载提示
- 在MeetingDetailsController中添加downloadAudioForShare方法,实现云端音频的异步下载并返回本地路径
- 在分享底部弹窗增加导出音频功能,优先使用本地文件,若缺失则尝试从云端下载
- 下载成功后自动更新本地文件路径并触发分享,失败则显示文件不存在提示
- 分享方法中增加本地文件有效性检查,提升分享流程的鲁棒性
- 优化日志输出格式,统一错误日志信息,便于排查问题
- 修改导出PDF等其他功能的错误日志格式,使日志信息更清晰明确
7 months ago
lxm
3cd246f07a
refactor(share): 优化分享底部弹窗代码结构与权限校验
- 新增思维导图操作类型常量类,提升代码可读性
- 提取转写与总结权限判定逻辑,简化权限判断
- 实现文件名非法字符过滤,避免文件创建异常
- 抽象思维导图保存与分享操作为统一方法,减少重复代码
- 统一分享和导出失败提示,增加详细日志记录
- 替换硬编码权限判断为封装属性
- 对导出文件命名应用安全文件名处理,防止路径错误
- 优化WebView截图异步处理逻辑,提升稳定性
7 months ago
lxm
c7a825f18d
feat(share): 优化分享功能并增加分享位置支持
- 新增获取分享弹出位置的方法,支持iOS iPad多层兜底定位
- 在调用分享接口时传入分享弹窗位置,提升iPad分享体验
- 分享入口catch异常,失败时显示带错误信息的提示
- PDF导出并分享功能增加异常处理,确保加载失败时仍正确关闭加载提示
- 升级share_plus依赖至12.0.1版本,兼容最新功能和修复问题
7 months ago
lxm
b4fb143418
feat(meeting): 添加会议分享底部弹窗及多语言支持
- 新增分享底部弹窗组件,实现分享链接、复制转写、复制总结、导出音频、导出转写、导出总结、保存思维导图和分享思维导图功能
- 分享功能包含权限控制,依据tasktype判断按钮是否可用
- 复制功能支持将转写文本和总结内容复制到剪贴板,支持Markdown转纯文本格式转换
- 导出支持导出转写TXT和总结TXT/PDF格式,PDF导出支持中文字体
- 录音播放器和会议模块新增多种错误提示文案,支持中英文、简繁体多语言
- 优化音频播放错误提示的国际化文本替换,统一调用国际化资源
- 修正部分UI组件中文字符串直接写死,改为使用国际化翻译键
- 提升底部弹窗样式和交互体验,支持深色/浅色主题自适应
- 会议详情页和各标签页使用国际化文本替代原硬编码字符串,兼容多语言环境
7 months ago
lxm
9b17332665
fix(meeting): 本地化部分按钮和提示文本
- 将保存成功提示文本替换为本地化关键字 'saveSuccess'.tr
- 替换 SpeechTab 中“重新生成”按钮文本为本地化 'regenerate'.tr
- 替换 SummaryTab 中两个按钮文本分别为本地化 'regenerate'.tr 和 'reSummarize'.tr
7 months ago
lxm
f3926bf4bb
fix(login): 优化会议模板初始化异常处理
- login模块中对获取会议模板的API调用添加try-catch捕获异常
- splash模块新增初始化会议模板方法,确保App配置后加载模板
- splash模块在登录成功后调用初始化会议模板方法
- 添加日志记录初始化会议模板失败的异常信息
- 引入SqfliteApi依赖以支持本地数据库操作
7 months ago
lxm
b41cddc87b
feat(i18n): 为模板模块添加多语言支持
将模板相关界面的硬编码字符串替换为国际化键,并在中英文翻译文件中添加对应的翻译条目。这包括模板列表、创建/编辑页面、详情页面中的按钮、标签和提示文本,以实现应用的多语言切换功能。
7 months ago
lxm
25c6763387
fix(settings): 修复设置页暗黑模式样式及音频时长验证
- 校验音频时长有效性,防止无效值导致格式化函数异常,异常时重置为0并打印警告
- 调整暗黑模式下设置页容器背景色、边框及阴影,提升视觉效果一致性
- 重构设置界面布局,移除BackdropFilter模糊效果,避免暗黑模式下渲染问题
- 优化语言、主题、用户反馈等设置项颜色及交互,完善暗黑模式支持
- 修复版本号文本颜色错乱,适配暗黑与明亮主题
- 调整更新检查按钮视觉样式,确保在不同主题下清晰可见
- 注释和调整部分测试及调试功能入口,清理无用代码,保持界面简洁
7 months ago
lxm
5b90db75da
style(meeting): 优化暗黑模式下多处文本与图标颜色适配
- 为AI底部弹窗中的Markdown文本添加暗黑模式样式支持
- 统一会议模块多个视图中文字与图标颜色,适配暗黑和亮色模式
- 调整会议个人中心页面背景和头像控件颜色以匹配暗黑模式
- 修正底部弹窗“继续提问”等按钮颜色支持深浅主题
- 更新多处底部弹窗内图标颜色为暗黑模式下最佳匹配色
- 优化发言者列表等文本样式中灰色文字的明暗对比度
- 会议首页上传图标根据主题切换蓝色深浅色调
- 调整成员弹窗背景颜色,支持深色模式下的视觉一致性
7 months ago
lxm
51b82f8305
feat(meeting): 支持思维导图暗色主题切换功能
- 使用 CSS 变量实现主题色动态切换,支持明暗两种模式
- 更新工具栏样式变量,保证样式在暗色模式下一致
- 移除默认暗色按钮,保留放大、缩小、适配窗口、递归展开功能
- 新增 window.updateTheme 方法供前端动态切换主题颜色
- 截图功能根据当前主题调整背景颜色,确保暗色截图正常
- 加载完成后自动应用当前主题,避免初始加载样式错乱
- MindMapController 新增 updateTheme 方法供外部调用切换主题
- MindMapTab 监听主题变化,及时通知控制器更新 WebView 显示
7 months ago
lxm
06803c6896
feat(theme): 支持暗色模式主题适配
- 在模板列表视图中增加暗色模式颜色支持
- 调整模板详情页面文本与背景颜色的暗色模式兼容
- 修正模板编辑页面输入框及按钮颜色以适配暗色模式
- 更新模板视图组件颜色,根据当前主题动态切换
- 按钮、标签、边框等UI元素颜色增强暗色和明色模式区分
- 移除暗色模式下不必要的阴影效果,提升视觉一致性
7 months ago
lxm
acd421121c
style(meeting): 统一暗黑模式适配及界面颜色优化
- 优化 MeetingUIUtils 组件中暗黑模式下背景色和卡片阴影颜色
- 在多处底部弹窗组件中添加暗黑模式判断,统一调整文字、背景、边框等颜色
- AI底部弹窗添加输入框内容监听,控制发送按钮颜色与可点击状态
- 编辑会议标题弹窗按钮色彩及边框根据暗黑模式进行切换
- 筛选抽屉组件使用 MeetingUIUtils 统一文本和背景颜色
- 生成会议弹窗内部多处颜色适配暗黑模式,按钮和选项视觉统一
- 成员底部弹窗界面调整为响应暗黑模式,文字和控件颜色分别适配
- 更多底部弹窗菜单项颜色随暗黑模式切换,禁用状态透明度保持一致
- 录音语言底部弹窗整体颜色调整,列表条目边界颜色支持暗黑模式
- 优化各类控件在暗黑/亮色模式下的切换逻辑,改善用户视觉体验
7 months ago
lxm
2af06a09d8
feat(meeting): 在分享底部弹窗中添加保存思维导图功能
为思维导图功能添加本地保存选项,新增对应的国际化文本键值。
在分享底部弹窗中增加“保存思维导图”按钮,与现有的“分享思维导图”功能并列。
移除未使用的版本更新服务导入以保持代码整洁。
8 months ago
lxm
8489086ec5
feat(payment): 添加支付功能多语言支持并优化支付控制器
- 为支付功能添加简体中文、繁体中文和英文的翻译字符串
- 重构支付控制器和商品基础控制器,使用翻译键替代硬编码文本
- 更新支付视图,使界面文本支持多语言切换
- 在.gitignore中添加.qoder目录忽略规则
8 months ago
lxm
fd15c47e16
feat(login): 添加设备型号采集并修正参数传递
- 新增_deviceModel变量用于存储设备型号信息
- 在Android平台获取androidInfo.model赋值_deviceModel
- 在iOS平台获取utsname.machine赋值_deviceModel
- 修正请求参数中phonemodel由_countryCode改为_deviceModel
- 添加相关日志输出设备型号信息便于调试
8 months ago
lxm
d9f84fe041
refactor(登录): 移除验证码视图并简化控制器状态管理
移除登录流程中的验证码输入页面,将登录简化为单一步骤。删除 LoginViewState 枚举及相关状态变量,清理不再使用的 UI 组件和方法,使代码结构更清晰。
8 months ago
liwei1dao
ddca55c945
feat(qq_music): 添加自动暂停音乐方法以简化暂停逻辑
新增 autopauseMusic 方法,该方法在 QQ 音乐插件、服务层和控制器中实现。它封装了检查播放状态并暂停的逻辑,替换了原先需要先同步播放信息再手动暂停的多步操作,使代码更简洁并减少潜在的错误。
8 months ago
lxm
3fff1dd2c8
feat(i18n): 为语音识别连接失败添加多语言错误提示
在翻译控制器中检测到特定错误信息(如“Xunfei connection failed”或“Socket is not connected”)时,将显示用户友好的本地化提示信息“asrConnectionFailed”,而不是原始技术错误信息。
为此在所有支持的语言文件(zh_cn、zh_hk、zh_tw、en_us等)中添加了对应的翻译条目。
8 months ago
lxm
c6e76c5d56
feat(meeting): 支持多语言会议模板筛选
添加语言字段至数据库表,根据用户设备语言自动筛选对应模板
8 months ago
lxm
0d90c92923
feat(android): 同步Flutter本地化字符串到原生前台服务通知
添加 NativeLocalizationSync 服务,用于将Flutter应用的本地化字符串同步到Android原生前台服务通知中。在应用启动、语言切换和应用生命周期恢复时自动同步,确保原生通知内容与当前应用语言保持一致。
主要修改:
1. 新增 native_localization_sync.dart 服务,通过MethodChannel将本地化字符串传递给Android原生
2. 在MainApp、SettingsController和AppLifecycleManager中添加同步调用
3. 更新所有Android前台服务(音频录制、BLE代理、QQ音乐、导航、音乐服务)以使用同步的本地化字符串
4. 添加中英文通知文本到翻译文件
5. 在MainActivity中实现原生端字符串接收和存储逻辑
8 months ago
lxm
3985fdb381
fix(音频播放): 修复会议详情页音频播放按钮无响应问题
添加播放器准备状态检查和错误处理机制,确保音频文件存在且播放器初始化成功后才允许播放。在UI层添加状态验证和异常捕获,提供用户友好的错误提示。同时为iOS平台配置音频会话,并增加详细日志记录便于调试。
8 months ago
lxm
78e165f8fe
fix: 修复任务类型监听器中文本列表更新顺序错误
当任务类型值在3到5之间时,应优先更新textList,再根据类型值更新其他字段。原逻辑在类型值>=5时更新personnel、summary等字段后,才在else if中处理类型值>=3的情况,导致textList更新被覆盖。
调整条件判断顺序,确保在类型值>=3时立即更新textList,然后当类型值>=5时再更新其他字段。
8 months ago
lxm
0e39764035
fix(meeting): 修复录音文件名生成与文件遍历问题
修复录音文件名中可能包含路径分隔符的问题,新增 sanitizeRecordingFileStem 方法处理本地化标题中的特殊字符
修复文件遍历时未递归查找子目录的问题,使用 recursive: true 参数
修复活动录音文件比较时未统一使用 basename 的问题,避免路径不匹配
8 months ago
lxm
62e9d22c22
feat(meeting): 为本地录音添加暂存标题功能
在保存录音时,不再直接重命名文件,而是将新标题暂存到存储中。当导入本地录音时,会优先使用暂存的标题作为显示名称,避免因文件重命名导致的导入失败问题。
8 months ago
lxm
5bb6930768
fix(azure_speech): 修正讯飞语音识别支持的语言代码
将支持的语言代码中的错误值"en-TW"更正为"zh-TW",以正确匹配台湾中文的语言标识。同时为语音识别入口添加登录和积分检查逻辑,并在相关方法上补充注释说明。
8 months ago
liwei1dao
5b2e356906
feat(translation): 增加QQ音乐播放暂停支持
在切换翻译模式时,暂停QQ音乐播放并在退出时恢复播放,避免音频冲突
8 months ago
lxm
ddda2b8ad0
fix: 为WebView和底部弹窗添加SafeArea避免刘海屏遮挡
为所有WebView页面和底部弹窗添加SafeArea包装,设置top: false以避免系统状态栏区域遮挡内容。同时调整底部按钮位置,考虑底部安全区域边距,确保在刘海屏设备上UI显示正常。
8 months ago
lxm
cd94daef52
fix: 在多个视图的Scaffold body中包裹SafeArea防止内容被状态栏遮挡
为多个视图的Scaffold body添加SafeArea包装,设置top: false以避免内容被系统状态栏遮挡,确保UI在不同设备上正确显示
8 months ago
lxm
0634fbed4f
feat: 更新语音打断功能文案并添加提示信息
将"语音打断"功能重命名为"单轮对话"以更准确描述其行为,并添加详细说明的提示工具。同时,将iOS代理服务的默认中断状态设为false以匹配新功能逻辑。
- 更新中英文翻译文件,修改"voice_interrupt"键名对应的显示文本
- 在主页视图的开关旁添加信息图标,点击显示功能使用说明
- 调整AgentServiceImpl中isInterrupt的默认值为false,确保与单轮对话模式一致
9 months ago
liwei1dao
e676882597
chore: 添加调试日志以跟踪语音对话流程
添加开发者前缀的打印语句,便于调试语音对话的开始、结束和设备通信流程
9 months ago
liwei1dao
9ee0b4fd70
feat(opus): 添加 iOS Opus 解码支持并优化音频录制管理
- 新增 jl_opus iOS 插件,提供 Opus 文件解码功能
- 在 ble_service 中添加 Opus 文件解码方法,支持通过 MethodChannel 调用
- 优化音频录制文件管理,添加延迟停止机制避免数据截断
- 修复 agent_service 中音乐播放状态恢复逻辑
- 调整 opus_test 控制器以支持跨平台解码调用
9 months ago
liwei1dao
20c35a3c7a
fix: 修复语音识别标点处理及MCP连接稳定性问题
修复语音识别在非push_to_talk模式下未移除首标点的问题,提升听写体验
优化MCP客户端连接管理,增加心跳检测和连接状态主动检查,避免假死连接
移除调试日志语句,避免生产环境日志污染
9 months ago
liwei1dao
3d280a834c
fix: 修复语音识别与TTS播放的音频会话冲突
修复iOS端音频会话冲突问题,避免语音识别时TTS仍在播放导致无声或异常。
- 注释掉AgentServiceImpl中初始化时设置识别模式和音频会话的代码,避免干扰
- 调整translation_controller中ASR服务启动逻辑,同时传译模式使用phone_call,面对面模式使用push_to_talk
- 修复AzureTtsHelper中播放状态管理,增加播放失败处理和状态重置
- 重新启用音频路由变化处理,当检测到音频会话切换到录音时立即停止TTS播放
- 添加调试日志便于问题追踪
9 months ago
liwei1dao
484b17a4e2
feat: 为语音服务添加模式参数支持
- 在 ASR 和 TTS 服务接口中添加模式参数,支持 normal、phone_call、push_to_talk 等模式
- 修改翻译控制器,根据当前翻译模式设置对应的 TTS 和 ASR 模式
- 重构 iOS 音频会话配置逻辑,优化不同模式下的音频路由和蓝牙设备处理
- 统一 TTS 模式设置方法名,将 setPhoneCallMode 重命名为 setTtsMode
9 months ago
lxm
6426d6200d
fix(登录): 修复社交登录和验证码登录的逻辑问题
同步登录类型判断逻辑到各登录相关方法
修改登录按钮调用方式以支持社交登录参数
更新版本号至1.0.21+72
9 months ago
lxm
0f5d401e58
fix(settings): 修正服务器地址显示使用错误的baseUrl属性
9 months ago
lxm
ddcc283c50
fix(上传): 改进文件上传的稳定性和WAV文件头校验,解决本地录音后即刻转写不完整的问题,录音文件完全稳定后才上传cos
添加文件大小稳定检测机制,防止上传不完整文件
增加WAV文件头校验,确保文件完整性
优化文件移动操作,优先使用rename提高效率
9 months ago
tanlongsheng
bf70737bc7
重构会议助手,使用服务端转写,添加文件大小
9 months ago
lxm
9d19ce292a
feat(会议记录): 添加本地导入通知并优化页面返回逻辑
在保存会议记录后添加_notifyMeetingLocalImport通知
修改返回逻辑,添加返回结果并删除控制器
9 months ago
lxm
afa4db9099
feat(播放器): 添加可扩展的播放器视图和悬浮窗功能
实现播放器视图的扩展/折叠功能,根据内容自动调整高度
为iOS悬浮窗添加类似的可扩展功能,优化用户体验
9 months ago
tanlongsheng
49465ef4c3
修改状态
9 months ago
lxm
dc7ed33640
feat(悬浮窗): 添加点击悬浮窗返回翻译页面功能
实现悬浮窗语言区域点击返回翻译页面功能,并记录上次翻译模式
- 在Android平台下记录当前翻译模式
- 点击悬浮窗语言区域时返回翻译页面并恢复上次模式
- 添加模式存储和读取功能
9 months ago
lxm
8a5a2647c3
feat(meeting): 优化悬浮窗权限请求逻辑
添加会话级别的权限请求状态管理,防止重复弹窗
增加权限请求冷却时间和对话框显示状态检查
添加设置跳转失败时的snackbar提示
9 months ago
lxm
f6e09dc170
fix(meeting): 修复录音计时器重置和防止重复导入录音的问题
重置计时器时同时重置毫秒显示
添加_isImportingLocalRecordings标志防止重复导入录音
移除导航栏底部弹窗中不必要的录音导入检查
9 months ago
lxm
1ec576e31d
fix(meeting): 修复导入本地录音时忽略正在录制文件和无效文件的问题
添加对正在录制文件的检查,避免导入冲突
跳过小于1KB的文件和无效音频文件
优化音频时长计算逻辑
9 months ago
lxm
5a041a0ed9
feat(会议): 添加本地录音导入触发功能
在会议录音保存时触发本地录音导入流程
添加MeetingTaskService中的localImportState状态和请求方法
在MeetingHomeController中监听状态变化并调用导入方法
9 months ago
lxm
3603313183
feat(录音): 增加录音保存和结束的错误处理及超时机制
添加录音保存和结束操作时的错误处理和超时机制,包括:
1. 增加超时和失败时的错误提示
2. 添加保存状态标志防止重复操作
3. 失败时恢复录音界面状态
4. 添加相关翻译文本
9 months ago
lxm
de1a4802d0
fix(meeting_record): 在关闭浮动条前检查并保存录音
防止在录音状态下直接关闭浮动条导致录音丢失
9 months ago
lxm
fef859e0d3
feat(ble): 实现BLE唤醒策略的集中管理
重构BLE唤醒功能的控制逻辑,将其从各页面迁移至AppLifecycleManager统一管理
添加路由检测和录音任务检测来自动更新唤醒策略
优化错误处理和日志记录
9 months ago