Compare commits

...

1 Commits

Author SHA1 Message Date
wangjia 4c75f328c7 chore: release v1.0.34
Deploy / build-linux-web (push) Successful in 46s
Deploy / build-windows (push) Successful in 1m47s
Deploy / build-macos (push) Successful in 1m22s
Deploy / build-android (push) Successful in 59s
Deploy / build-ios (push) Successful in 6s
Deploy / release-deploy (push) Successful in 1m47s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 01:28:01 +08:00
3 changed files with 31 additions and 7 deletions
+8
View File
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.34] - 2026-06-12
### 修复
- 修复 macOS 客户端打印时应用卡死、只能强制退出的问题
### 改进
- 「关于我们」中「打开文档」「更新日志」等链接指向新域名 jiu.51yanmei.com
## [1.0.33] - 2026-06-12
### 改进
+4 -4
View File
@@ -1,10 +1,10 @@
{
"provider": "岩美技术有限公司",
"website": "https://jiu.yanmei.com",
"website": "https://jiu.51yanmei.com",
"email": "yammy2023@163.com",
"phone": "",
"wechat": "",
"terms_url": "https://jiu.yanmei.com/terms/",
"privacy_url": "https://jiu.yanmei.com/privacy/",
"docs_url": "https://jiu.yanmei.com/docs/"
"terms_url": "https://jiu.51yanmei.com/terms/",
"privacy_url": "https://jiu.51yanmei.com/privacy/",
"docs_url": "https://jiu.51yanmei.com/docs/"
}
+19 -3
View File
@@ -1,3 +1,5 @@
import 'dart:io' show Platform;
import 'package:flutter/foundation.dart' show kIsWeb;
import 'package:flutter/services.dart';
import '../errors/error_reporter.dart';
import 'package:pdf/pdf.dart';
@@ -198,8 +200,14 @@ Future<void> printProductLabelImpl({
),
));
// 预生成 PDF 字节,避免 macOS NSPrintPanel 打开后再调 doc.save() 导致主线程卡住。
final bytes = await doc.save();
if (!kIsWeb && Platform.isMacOS) {
// 让当前帧完成,再打开 macOS 原生打印面板,防止 sheet 动画与 Flutter 渲染死锁。
await Future<void>.delayed(Duration.zero);
}
await Printing.layoutPdf(
name: '标签_${_fileTs()}', onLayout: (_) async => doc.save());
name: '标签_${_fileTs()}', onLayout: (_) async => bytes);
} catch (e, st) {
reportError(e, st);
throw Exception('打印失败,请检查打印机连接和驱动是否正常。\n详情:$e');
@@ -439,8 +447,12 @@ Future<void> printStockInOrderImpl(StockInOrder order) async {
),
],
));
final bytes = await doc.save();
if (!kIsWeb && Platform.isMacOS) {
await Future<void>.delayed(Duration.zero);
}
await Printing.layoutPdf(
name: '入库单_${_fileTs()}', onLayout: (_) async => doc.save());
name: '入库单_${_fileTs()}', onLayout: (_) async => bytes);
} catch (e, st) {
reportError(e, st);
throw Exception('打印失败,请检查打印机连接和驱动是否正常。\n详情:$e');
@@ -495,8 +507,12 @@ Future<void> printStockOutOrderImpl(StockOutOrder order) async {
],
));
try {
final bytes = await doc.save();
if (!kIsWeb && Platform.isMacOS) {
await Future<void>.delayed(Duration.zero);
}
await Printing.layoutPdf(
name: '出库单_${_fileTs()}', onLayout: (_) async => doc.save());
name: '出库单_${_fileTs()}', onLayout: (_) async => bytes);
} catch (e, st) {
reportError(e, st);
throw Exception('打印失败,请检查打印机连接和驱动是否正常。\n详情:$e');