no message

This commit is contained in:
1147192855@qq.com 2024-07-18 10:11:31 +08:00
parent bb2d3e4740
commit d27da83658
14 changed files with 134 additions and 3 deletions

View File

@ -0,0 +1,19 @@
output: dist/
releases:
- name: prod
jobs:
- name: macos-zip
package:
platform: macos
target: zip
build_args:
dart-define:
APP_ENV: dev
# 查看完整文档https://distributor.leanflutter.org/configuration/makers/exe
- name: windows-exe
package:
platform: windows
target: exe
build_args:
dart-define:
APP_ENV: dev

View File

@ -0,0 +1,36 @@
-----BEGIN DSA PRIVATE KEY-----
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
-----END DSA PRIVATE KEY-----

View File

@ -0,0 +1,36 @@
-----BEGIN PUBLIC KEY-----
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
xqzNyz8my0P48jVXui+9PFlCdm21gcugzJQL
-----END PUBLIC KEY-----

View File

@ -141,5 +141,5 @@ abstract class RetrofitClient {
// APP
@GET("/api/infra/AppVersion/Get")
Future<AppVersion?> getLastAppVersion(@Query('appName') String appName, @Query('ftuType') int ftuType); // ftuType 1 2IOS
Future<AppVersion?> getLastAppVersion(@Query('appName') String appName, @Query('ftuType') int ftuType); // ftuType 1 2IOS 3windows
}

View File

@ -5,7 +5,7 @@ import 'package:event_bus/event_bus.dart';
import 'package:making_school_asignment_app/common/utils/event_bus_utils.dart';
mixin EventBusMixin<T> {
StreamSubscription? _subscription;
late final StreamSubscription? _subscription;
static final EventBusUtils _exampleUtil = EventBusUtils();
static final EventBus _eBus = _exampleUtil.getEventBus();

View File

@ -14,6 +14,7 @@
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-01-12 15:08:43
*/
import 'package:auto_updater/auto_updater.dart';
import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart';
import 'package:get/get.dart';
import 'package:making_school_asignment_app/common/utils/app_upgrade/DownloadApk.dart';
@ -202,6 +203,10 @@ class DownloadButton extends StatelessWidget {
} catch (e) {
print('进来更新报错$e');
}
} else if (deviceInfo == 'windows' && updateAppEvent.equipment == Equipment.windows) {
await autoUpdater.setFeedURL(updateAppEvent.link);
await autoUpdater.checkForUpdates();
await autoUpdater.setScheduledCheckInterval(0);
}
}),
child: quickText(!logic.loadingApk.value ? '立即体验' : '正在下载...', size: 16.sp, color: Colors.white, fontWeight: FontWeight.w500),

View File

@ -80,4 +80,4 @@ class UpdateAppEvent {
}
//
enum Equipment { other, android, ios }
enum Equipment { other, android, ios, windows }

View File

@ -33,6 +33,9 @@ class UpgradeLogic extends GetxController with RequestToolMixin {
} else if (Platform.isIOS) {
deviceInfo = "ios";
deviceType = 2;
} else if (Platform.isWindows) {
deviceInfo = "windows";
deviceType = 3;
} else {
return;
}

View File

@ -439,6 +439,8 @@ class QuestionImageView extends HookWidget with EventBusMixin<BottomOperationBar
return -1;
}
int activePointers = 0;
@override
Widget build(BuildContext context) {
final scrollControllerQuestion = useScrollController(); //
@ -551,6 +553,7 @@ class QuestionImageView extends HookWidget with EventBusMixin<BottomOperationBar
//
return () {
activePointers = 0;
listenVal.cancel();
imageStream?.removeListener(imageStreamListener.value);
};
@ -577,16 +580,26 @@ class QuestionImageView extends HookWidget with EventBusMixin<BottomOperationBar
boxShadow: [BoxShadow(color: Colors.grey.withOpacity(0.2), offset: Offset(-6.r, 1.r), blurRadius: 10.r, spreadRadius: 8.r)]),
child: Listener(
behavior: HitTestBehavior.opaque,
onPointerDown: (PointerDownEvent event) {
//
//
activePointers++;
},
onPointerUp: (PointerUpEvent details) {
//
// activePointers--;
// globalPosition = null;
activePointers--;
var imageScale = sateData.imageScale.value;
if (imageScale == null || !annotationState.pen.value) return;
vnHandWritings.value.add(null); // 线
sateData.handwritings = vnHandWritings.value; //
},
onPointerMove: (PointerMoveEvent event) {
if (activePointers != 1) return;
var imageScale = sateData.imageScale.value;
if (imageScale == null || !annotationState.pen.value) return;
Offset localPosition = event.localPosition;

View File

@ -5,6 +5,7 @@
import FlutterMacOS
import Foundation
import auto_updater_macos
import connectivity_plus
import package_info_plus
import path_provider_foundation
@ -12,6 +13,7 @@ import sqflite
import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AutoUpdaterMacosPlugin.register(with: registry.registrar(forPlugin: "AutoUpdaterMacosPlugin"))
ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin"))
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))

View File

@ -90,7 +90,10 @@ dependencies:
flutter_echart: ^2.0.0
url_launcher: ^6.1.11
app_installer: ^1.1.0
auto_updater: ^0.2.0
permission_handler: ^11.0.1
flutter_distributor: ^0.4.5
dev_dependencies:
flutter_test:

View File

@ -6,11 +6,14 @@
#include "generated_plugin_registrant.h"
#include <auto_updater_windows/auto_updater_windows_plugin_c_api.h>
#include <connectivity_plus/connectivity_plus_windows_plugin.h>
#include <permission_handler_windows/permission_handler_windows_plugin.h>
#include <url_launcher_windows/url_launcher_windows.h>
void RegisterPlugins(flutter::PluginRegistry* registry) {
AutoUpdaterWindowsPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("AutoUpdaterWindowsPluginCApi"));
ConnectivityPlusWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin"));
PermissionHandlerWindowsPluginRegisterWithRegistrar(

View File

@ -3,6 +3,7 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
auto_updater_windows
connectivity_plus
permission_handler_windows
url_launcher_windows

View File

@ -119,3 +119,13 @@ END
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
...
+/////////////////////////////////////////////////////////////////////////////
+//
+// WinSparkle
+//
+// And verify signature using DSA public key:
+DSAPub DSAPEM "../../dsa_pub.pem"