release: bump version to 6.6.25+2606241

主要变更:
1. 新增桌面端托盘图标支持深色/浅色主题切换
2. 重构应用锁、动画配置、小组件导航服务职责
3. 修复Riverpod初始化断言、防重复点击、工作台模式残留选中态问题
4. 优化诗词服务、阅读进度、搜索结果空状态体验
5. 完善macOS打包配置与错误静默处理逻辑
6. 新增快速卡片多语言适配与动画退出队列管理
This commit is contained in:
Developer
2026-06-24 04:26:50 +08:00
parent f7520b17b2
commit 6119918185
148 changed files with 21190 additions and 6352 deletions

View File

@@ -17,7 +17,7 @@ import flutter_app_group_directory
import flutter_image_compress_macos
import flutter_inappwebview_macos
import flutter_local_notifications
import flutter_secure_storage_macos
import flutter_secure_storage_darwin
import flutter_tts
import flutter_webrtc
import gal
@@ -56,7 +56,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
FlutterImageCompressMacosPlugin.register(with: registry.registrar(forPlugin: "FlutterImageCompressMacosPlugin"))
InAppWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "InAppWebViewFlutterPlugin"))
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin"))
FlutterSecureStorageDarwinPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageDarwinPlugin"))
FlutterTtsPlugin.register(with: registry.registrar(forPlugin: "FlutterTtsPlugin"))
FlutterWebRTCPlugin.register(with: registry.registrar(forPlugin: "FlutterWebRTCPlugin"))
GalPlugin.register(with: registry.registrar(forPlugin: "GalPlugin"))

View File

@@ -549,7 +549,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_IDENTITY = "Apple Development";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
@@ -682,7 +682,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_IDENTITY = "Apple Development";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
@@ -732,8 +732,9 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
ARCHS = arm64;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = 5V9NVUU6K5;
INFOPLIST_FILE = Runner/Info.plist;

View File

@@ -22,6 +22,8 @@
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.lifestyle</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
@@ -30,6 +32,8 @@
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>闲言需要访问您的相册以选择和保存壁纸图片。</string>
<key>FLTEnableImpeller</key>
<true/>
<!-- URL Scheme — 供 xianyan:// 深度链接跳转 -->
@@ -56,6 +60,8 @@
<string>Font File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSItemContentTypes</key>
<array>
<string>public.truetype-ttf-font</string>
@@ -64,5 +70,8 @@
</array>
</dict>
</array>
<!-- 加密出口合规 — 声明不使用非豁免加密跳过App Store Connect合规问卷 -->
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
</dict>
</plist>

View File

@@ -1,9 +1,9 @@
/// ============================================================
/// APP macOS
/// : 2026-06-02
/// : 2026-06-19
/// : 2026-06-24
/// : apps.xy.xianyan/macos MethodChannel
/// : Touch Bar NSSharingService
/// : 退退
/// ============================================================
import Cocoa
@@ -14,7 +14,7 @@ class MainFlutterWindow: NSWindow, NSTouchBarDelegate {
// MARK: -
// ============================================================
/// Touch Bar
/// Touch Bar + 退
private var platformChannel: FlutterMethodChannel?
/// Touch Bar [{label: "", action: "bold"}, ...]
@@ -31,9 +31,56 @@ class MainFlutterWindow: NSWindow, NSTouchBarDelegate {
// Flutter MethodChannel MissingPluginException
registerPlatformChannel(controller: flutterViewController)
// 退退
// macOS 退
NotificationCenter.default.addObserver(
self,
selector: #selector(handleFullScreenExit(_:)),
name: NSWindow.didExitFullScreenNotification,
object: self
)
super.awakeFromNib()
}
deinit {
NotificationCenter.default.removeObserver(self)
}
// ============================================================
// MARK: - 退
// ============================================================
/// 退
///
/// Enter Full Screen
/// 绿退
///
/// macos_window_utils `setWindowBackgroundColorToClear()`
/// `isOpaque=false` + `backgroundColor=NSColor.clear` macOS
/// `isOpaque=true`, `backgroundColor=`
/// 退
/// `titlebarAppearsTransparent`
///
/// `NSWindow.didExitFullScreenNotification`
/// 退 `isOpaque=false` + `backgroundColor=clear` +
/// `titlebarAppearsTransparent=true` MethodChannel Dart
/// NSVisualEffectView
@objc private func handleFullScreenExit(_ notification: Notification) {
DispatchQueue.main.async { [weak self] in
guard let self = self else { return }
// NSVisualEffectView
self.isOpaque = false
self.backgroundColor = NSColor.clear
// Flutter
self.titlebarAppearsTransparent = true
//
self.contentView?.needsDisplay = true
// Dart NSVisualEffectView
self.platformChannel?.invokeMethod("onFullScreenExited", arguments: nil)
}
}
// ============================================================
// MARK: - MethodChannel
// ============================================================