mcy_new #1
|
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">
|
||||
<channel>
|
||||
<title>auto_updater_example</title>
|
||||
<description>Most recent updates to auto_updater_example</description>
|
||||
<language>en</language>
|
||||
<!-- <item>
|
||||
<title>Version 1.1.0</title>
|
||||
#发行说明-读取html方式(2选1)
|
||||
<sparkle:releaseNotesLink>
|
||||
https://your_domain/your_path/release_notes.html
|
||||
</sparkle:releaseNotesLink>
|
||||
#发行说明-写死方式(2选1)
|
||||
<description>
|
||||
<![CDATA[
|
||||
<ul>
|
||||
<li>1、新增XX功能</li>
|
||||
<li>2、新增XX功能</li>
|
||||
</ul>
|
||||
]]>
|
||||
</description>
|
||||
<pubDate>Sun, 16 Feb 2022 12:00:00 +0800</pubDate>
|
||||
#你更新程序的地址
|
||||
<enclosure url="http://wwww.xxx.com/1.1.0+2/auto_updater_example-1.1.0+2-macos.zip"
|
||||
sparkle:edSignature="pbdyPt92pnPkzLfQ7BhS9hbjcV9/ndkzSIlWjFQIUMcaCNbAFO2fzl0tISMNJApG2POTkZY0/kJQ2yZYOSVgAA=="
|
||||
sparkle:version="1.1.0"
|
||||
sparkle:os="macos"
|
||||
length="13400992"
|
||||
type="application/octet-stream" />
|
||||
</item> -->
|
||||
<item>
|
||||
<title>Version 1.0.0</title>
|
||||
#发行说明-读取html方式(2选1)
|
||||
<!-- <sparkle:releaseNotesLink>
|
||||
https://your_domain/your_path/release_notes.html
|
||||
</sparkle:releaseNotesLink> -->
|
||||
#发行说明-写死方式(2选1)
|
||||
<description>
|
||||
<![CDATA[
|
||||
<ul>
|
||||
<li>1、新增XX功能</li>
|
||||
<li>2、新增XX功能</li>
|
||||
</ul>
|
||||
]]>
|
||||
</description>
|
||||
<pubDate>Sun, 16 Feb 2022 12:00:00 +0800</pubDate>
|
||||
#你更新程序的地址
|
||||
<enclosure url="https://dpc-job-oss.23544.com/infra-app/making_school_asignment_app/1.0.0/3/making_school_asignment_app-1.0.0+1-windows-setup.exe"
|
||||
sparkle:dsaSignature="MEUCICOob1N5PNhjRDWh2gHHOuJayep41hP+BMyF26BoYjQLAiEA2dG22KMc2HCQTUyWe1pxWmCJqVmdNQU+Mmfvojg0K2M="
|
||||
sparkle:version="1.0.0+1"
|
||||
sparkle:os="windows"
|
||||
length="0"
|
||||
type="application/octet-stream" />
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
-----BEGIN DSA PRIVATE KEY-----
|
||||
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
|
||||
-----END DSA PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MIIGRzCCBDkGByqGSM44BAEwggQsAoICAQDFh0SQxQ5ATMvE+ZhMGomtCuKDZUV9
|
||||
SASC0+vyexiSRVAL+jV0uC31kK0vCDidNuPIy44syt6t/UOWLMtKH6hVeUhE7dSx
|
||||
z/XQUusLxrMghTYFLxg8q3iT7eH80JjlN0p8KAbzbQDdwNzJuwNb+tOTf/OOW2xn
|
||||
dLyZpY/avohNS/BVJnnyO6+tarjnkI9Mw6/GGxHd34sHANCk2+7SmDhCJjajDr7v
|
||||
1ieJOALn1WG5937U+voZiHAf8IMG1kgyCh5qJESPUXNDtPM0lSdQ+RSmeHInOB/Z
|
||||
IjHwCMN/0yggkaqX2+ZVAJ7u7Vv3k8XvDtZcWclfrWC/PrWytoFUtLaGbi2bKRJ8
|
||||
Az5yywy1jAfBfhEzYJw8RgRWvxZB0y4Ed2kthFjMr4FxFd44+39n2+0yTRn84G7L
|
||||
lKcPeOV1tUu6kUB5g3oVRPBS9Wpe80XV+0LyRg0nFgGN2aFQzY6CEzfC9p3w6lUU
|
||||
3GAdCXY7pQwOWThelxzttvUxm+QLVdmGu37hcAKERrYg5adYJDEvD8xYwlSPv/JW
|
||||
qDshxA6HW8Cuv7C9rPkfyRCVq83ZfY+CVIvtc83DIhQVXDvHsHD9sYC6K5ey10zN
|
||||
ZIAGH7H/y8oLJ3xtucMucnfqAV4CioFo5mxdHLJubgMzBIvmM08O3GeIT6//0bsg
|
||||
5diTiQfoH7v5LwIhAP76c8ROt9EfNetfr8aCPi+eMVzO0C4OUVEdUo6R9xFZAoIC
|
||||
AFdQxNz0GBf9cBEFL4gLTGk7e38EC+oxqG/Ug0lSIDG8JgmjXaYJk0LC8us1YMBt
|
||||
deVwpU9Syv8c6CRE6I2lgbpesjX67f+/NY+nhuGvryD9+QsyYM/xdBzByGZxOY7S
|
||||
61KER969E1IIDWlF6WxPd2RGtYPiyDiHhw1UPeqrW5SuboX10ZhqHClQJEV1lFEP
|
||||
ylcFMH458qMe4XjHTPqCH8ioOsdwOkBgmM4ZT0LdmhwfqW2S27xGFczDWHv3t0k7
|
||||
QXbgIBzgq3I6peGy9O6WRSAku1BCDDMXxV2rGZHJBXEIIoNaZm5YWb7M7xABCySq
|
||||
fvbrXD9tZTSKX0xPlTttHgXs+QfdpuvLS3sWzP6AtiLFvzKdEwYBu1/pOaOa2aiA
|
||||
sc7nXc3/P0TYiL1ngd1KSticyQtP6WIo+XT0g7BN5WW+C0C1DC9W1fCBogltwJLJ
|
||||
lvISZ3cCXI78QS2BW1WvjVRiyfsyOWtXvl9s0RLApjpCMHnj9vjVM8csGszGYzeZ
|
||||
Qa+6OqM3M3NORybqV5eKLhVVqmDVs4F5Lj/8854u8HHdY4340tz1H5kd+3/+PpUF
|
||||
dyN215HJA5/qGy/aA+E/WnCUWBLOOPtnuR2RT2xxJzawfpjvKIn2f95VIe8yLD+W
|
||||
yV87T2iCSqug3AeeAWkIS+xpxFmGXbf0DtjnwDx7Ygk9A4ICBgACggIBAId26Jh0
|
||||
jlCiYAUSvLv+s5lyU51oI7XVl63dUeEBnlE/MaaZsMBOdI4VH05fSuLaHjjIzviw
|
||||
ZEhd/qW7P82PdD02Rc4oLb2QhekOKk47qU8VXLOmJWMPRZqEbyNV0x+GSuw7K8DK
|
||||
o13uD+HAgoqbfOLK+ZgFEwy/6utvhr2qJtk/yPCY4AzxhDv2MZJC5DDHlx9h/iFn
|
||||
7xduJK2Bw1Qnfgd43TKeXCTD2m1amqScwx9WWdSHG/HAmfLrhHlfxtjTb4HvJgLt
|
||||
rNZJ7anJ7AapDk8vaUe+0n5RpV+b+I4mt57EvN1JiSzAUg+J/xbkPSQvyMLoTUfw
|
||||
zCF8ryLitlMnz79S5qf/iLcXww2i3/saaqr83SwjABEStG+kCTJl5NSO488+Uqjk
|
||||
f2Dsmyfr60ecD2ePRJfvfqipeTRM/3nJo5xGJQCi1njrk256VUpuimW5HMCnQxqn
|
||||
2h3V852V08i5ix/U20ldMsWzVuqgFRAe46cZcFEUODvoRqE/XeepEDzTeSso19is
|
||||
9n9ZxKjW9tlI0LgfWCbXA//ezx34amXjaxSrdDFaxKpPWRQm5eiGwhq8OmWMAvGM
|
||||
xiodjfg/82q0Wn2ZqYBLeqaKuGbahL6rDIdidj69yQgeFbuhivcI6iENvQesDCVi
|
||||
xqzNyz8my0P48jVXui+9PFlCdm21gcugzJQL
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ class AppVersion extends Object {
|
|||
int ftuType;
|
||||
|
||||
@JsonKey(name: 'downloadUrl')
|
||||
String downloadUrl;
|
||||
String? downloadUrl;
|
||||
|
||||
@JsonKey(name: 'description')
|
||||
String? description;
|
||||
|
|
@ -44,7 +44,7 @@ class AppVersion extends Object {
|
|||
this.downloadUrl,
|
||||
this.description,
|
||||
) {
|
||||
downloadUrl = RequestConfig.imgUrl + downloadUrl;
|
||||
if (downloadUrl != null) downloadUrl = RequestConfig.imgUrl + downloadUrl!;
|
||||
}
|
||||
|
||||
factory AppVersion.fromJson(Map<String, dynamic> srcJson) => _$AppVersionFromJson(srcJson);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
@ -168,15 +169,19 @@ class DownloadButton extends StatelessWidget {
|
|||
final count = logic.downloadRatio.value;
|
||||
if (count > 0) return Container();
|
||||
var primaryColor = Theme.of(context).primaryColor;
|
||||
|
||||
if (updateAppEvent.equipment == Equipment.windows) {
|
||||
return SizedBox(
|
||||
child: quickText('若没有弹出更新弹框,可关闭APP重新打开执行更新...', size: 16.sp),
|
||||
);
|
||||
}
|
||||
|
||||
return Container(
|
||||
height: 38.h,
|
||||
width: 245.w,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular(42.h)),
|
||||
gradient: LinearGradient(colors: [
|
||||
primaryColor,
|
||||
primaryColor.withOpacity(0.7),
|
||||
]),
|
||||
gradient: LinearGradient(colors: [primaryColor, primaryColor.withOpacity(0.7)]),
|
||||
),
|
||||
child: MaterialButton(
|
||||
onPressed: () => easyThrottle('DownloadButton_App_Upgrade', duration: const Duration(milliseconds: 1000), () async {
|
||||
|
|
@ -203,6 +208,11 @@ class DownloadButton extends StatelessWidget {
|
|||
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),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -80,4 +80,4 @@ class UpdateAppEvent {
|
|||
}
|
||||
|
||||
// 设备枚举
|
||||
enum Equipment { other, android, ios }
|
||||
enum Equipment { other, android, ios, windows }
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -48,7 +51,7 @@ class UpgradeLogic extends GetxController with RequestToolMixin {
|
|||
// String buildNumber = packageInfo.buildNumber; //小版本号
|
||||
|
||||
Map json = {
|
||||
'downloadPath': result.downloadUrl,
|
||||
'downloadPath': Platform.isWindows ? '' : result.downloadUrl,
|
||||
'version': result.version,
|
||||
'systemType': deviceType,
|
||||
'description': result.description ?? 'APP新版本更新'
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import 'dart:io';
|
||||
import 'package:auto_updater/auto_updater.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
|
|
@ -12,6 +14,7 @@ import 'package:making_school_asignment_app/routes/app_pages.dart';
|
|||
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
|
||||
import 'common/config/request_config.dart';
|
||||
import 'common/utils/app_upgrade/upgradeLogic.dart';
|
||||
import 'package:flutter_native_splash/flutter_native_splash.dart';
|
||||
|
||||
|
|
@ -27,6 +30,15 @@ void main() async {
|
|||
Get.put<UserStore>(UserStore().init());
|
||||
Get.put(UpgradeLogic());
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
// Windows
|
||||
if (Platform.isWindows) {
|
||||
String feedURL = '${RequestConfig.imgUrl}infra-app/making_school_asignment_app/3/appcast.xml';
|
||||
await autoUpdater.setFeedURL(feedURL);
|
||||
await autoUpdater.checkForUpdates();
|
||||
await autoUpdater.setScheduledCheckInterval(3600);
|
||||
}
|
||||
|
||||
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
|
||||
statusBarColor: Colors.transparent, //状态栏背景颜色
|
||||
statusBarIconBrightness: Brightness.dark // dark:一般显示黑色 light:一般显示白色
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import 'package:making_school_asignment_app/page/work_page/work_view.dart';
|
|||
import 'package:making_school_asignment_app/routes/app_pages.dart';
|
||||
|
||||
class StartPage extends StatefulWidget {
|
||||
const StartPage({Key? key}) : super(key: key);
|
||||
const StartPage({super.key});
|
||||
|
||||
@override
|
||||
State<StartPage> createState() => _StartPageState();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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"))
|
||||
|
|
|
|||
|
|
@ -90,7 +90,9 @@ dependencies:
|
|||
flutter_echart: ^2.0.0
|
||||
url_launcher: ^6.1.11
|
||||
app_installer: ^1.1.0
|
||||
auto_updater: ^0.2.1
|
||||
permission_handler: ^11.0.1
|
||||
flutter_distributor: ^0.4.5
|
||||
flutter_native_splash: 2.2.9
|
||||
|
||||
dev_dependencies:
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#
|
||||
|
||||
list(APPEND FLUTTER_PLUGIN_LIST
|
||||
auto_updater_windows
|
||||
connectivity_plus
|
||||
permission_handler_windows
|
||||
url_launcher_windows
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
# The value of AppId uniquely identifies this application.
|
||||
# Do not use the same AppId value in installers for other applications.
|
||||
app_id: 9EBCC58D-39D5-4A4A-92B6-966DFFD6CA22
|
||||
publisher: LeanFlutter
|
||||
publisher_url: https://github.com/leanflutter/flutter_distributor
|
||||
display_name: 点智学
|
||||
create_desktop_icon: true
|
||||
# See: https://jrsoftware.org/ishelp/index.php?topic=setup_defaultdirname
|
||||
# install_dir_name: "D:\\HELLO-WORLD"
|
||||
locales:
|
||||
- en
|
||||
- zh
|
||||
|
|
@ -119,3 +119,11 @@ END
|
|||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// WinSparkle
|
||||
//
|
||||
|
||||
// And verify signature using DSA public key:
|
||||
DSAPub DSAPEM "./../../dsa_pub.pem"
|
||||
|
|
|
|||
Loading…
Reference in New Issue