diff --git a/android/app/build.gradle b/android/app/build.gradle index 3c949b6..58e0ba3 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -36,7 +36,8 @@ if (flutterVersionName == null) { } android { - namespace = "com.taihe.vbvs_app" + // namespace = "com.taihe.vbvs_app" + namespace = "com.taihe.mianhuatang" // compileSdk = flutter.compileSdkVersion compileSdk = localProperties.getProperty('flutter.compileSdkVersion').toInteger() @@ -55,7 +56,8 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.taihe.vbvs_app" + // applicationId "com.taihe.vbvs_app" + applicationId "com.taihe.mianhuatang" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. // minSdk = flutter.minSdkVersion diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 12e1dc6..d81786d 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } android { - namespace = "com.taihe.vbvs_app" + namespace = "com.taihe.mianhuatang" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion @@ -21,7 +21,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId = "com.taihe.vbvs_app" + applicationId = "com.taihe.mianhuatang" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 6960768..78e2b41 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -48,7 +48,7 @@ android:enableOnBackInvokedCallback="true" > { // 删除已有的同 mac 项 instantData.removeWhere((element) => element['mac'] == mac); // 添加新的数据 - instantData.add(newData); + instantData.add(newData); } } } catch (e) { diff --git a/lib/pages/mh_page/user/page/mht_login_page.dart b/lib/pages/mh_page/user/page/mht_login_page.dart index 87764cf..0820e5b 100644 --- a/lib/pages/mh_page/user/page/mht_login_page.dart +++ b/lib/pages/mh_page/user/page/mht_login_page.dart @@ -961,8 +961,10 @@ class MHTLoginPage extends GetView { ), ), ), + ); }), + Obx(() { return Visibility( visible: controller.model.loginStyle == 2 @@ -1219,6 +1221,7 @@ class MHTLoginPage extends GetView { ), ), ), + ); }), Padding( diff --git a/lib/pages/mh_page/user/page/register_page.dart b/lib/pages/mh_page/user/page/register_page.dart index a14589a..b015d20 100644 --- a/lib/pages/mh_page/user/page/register_page.dart +++ b/lib/pages/mh_page/user/page/register_page.dart @@ -1,6 +1,7 @@ import 'package:ef/ef.dart'; import 'package:flutter/material.dart'; import 'package:vbvs_app/common/color/appConstants.dart'; +import 'package:vbvs_app/common/color/appFontsize.dart'; import 'package:vbvs_app/common/util/CommonVariables.dart'; import 'package:vbvs_app/common/util/FitTool.dart'; import 'package:vbvs_app/common/util/MyUtils.dart'; @@ -93,7 +94,7 @@ class RegisterPage extends GetView { 0, 184.rpx, 0, 0), child: Container( width: double.infinity, - height: bodysize!.maxHeight * 0.06, + height: 46, decoration: BoxDecoration( color: Color(0xFFF3F5F6), borderRadius: BorderRadius.circular(12), @@ -103,7 +104,7 @@ class RegisterPage extends GetView { ), child: Padding( padding: EdgeInsetsDirectional.fromSTEB( - 35.rpx, 0, 35.rpx, 0), + 10, 0, 35.rpx, 0), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: @@ -148,293 +149,664 @@ class RegisterPage extends GetView { ), ), ), - Align( - alignment: AlignmentDirectional(-1, 0), - child: Padding( - padding: EdgeInsetsDirectional.fromSTEB( - 0, 32.rpx, 0, 0), - child: Container( - width: double.infinity, - height: bodysize!.maxHeight * 0.06, - decoration: BoxDecoration( - color: Color(0xFFF3F5F6), - borderRadius: BorderRadius.circular(12), - ), - constraints: BoxConstraints( - minHeight: 92.rpx, - ), - child: Padding( - padding: EdgeInsetsDirectional.fromSTEB( - 35.rpx, 0, 35.rpx, 0), - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Expanded( - child: Container( - child: Align( - alignment: - AlignmentDirectional( - -1, 0), - child: Obx(() => - TextFormField( - onChanged: (value) { - controller.model - .register_pd = - value; - }, - obscureText: controller - .model.pdshow!, - decoration: - InputDecoration( - isDense: true, - hintText: '请输入密码'.tr, - hintStyle: TextStyle( - fontFamily: - 'Readex Pro', - color: Color( - 0xFF929699), - fontSize: 26.rpx, - ), - border: - InputBorder.none, - suffixIcon: - IconButton( - icon: Icon( - controller.model - .pdshow! - ? Icons - .visibility_off - : Icons - .visibility, - color: Color( - 0xFF333333), - size: 16, - ), - onPressed: () { - controller.model - .pdshow = - !controller - .model - .pdshow!; - controller - .updateAll(); - }, - ), - ), - style: TextStyle( - fontFamily: - 'Readex Pro', - fontSize: 26.rpx, - color: Colors.black, - ), - )), - ), - ), - ), - ], - ), - ), - ), - ), - ), -// 确认密码输入框 - Align( - alignment: AlignmentDirectional(-1, 0), - child: Padding( - padding: EdgeInsetsDirectional.fromSTEB( - 0, 32.rpx, 0, 0), - child: Container( - width: double.infinity, - height: bodysize!.maxHeight * 0.06, - decoration: BoxDecoration( - color: Color(0xFFF3F5F6), - borderRadius: BorderRadius.circular(12), - ), - constraints: BoxConstraints( - minHeight: 92.rpx, - ), - child: Padding( - padding: EdgeInsetsDirectional.fromSTEB( - 35.rpx, 0, 35.rpx, 0), - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Expanded( - child: Container( - child: Align( - alignment: - AlignmentDirectional( - -1, 0), - child: Obx(() => - TextFormField( - onChanged: (value) { - controller.model - .register_confirm_pd = - value; - }, - obscureText: controller - .model.cpdshow!, - decoration: - InputDecoration( - isDense: true, - hintText: - '请输入确认密码'.tr, - hintStyle: TextStyle( - fontFamily: - 'Readex Pro', - color: Color( - 0xFF929699), - fontSize: 26.rpx, - ), - border: - InputBorder.none, - suffixIcon: - IconButton( - icon: Icon( - controller.model - .pdshow! - ? Icons - .visibility_off - : Icons - .visibility, - color: Color( - 0xFF333333), - size: 16, - ), - onPressed: () { - controller.model - .cpdshow = - !controller - .model - .cpdshow!; - controller - .updateAll(); - }, - ), - ), - style: TextStyle( - fontFamily: - 'Readex Pro', - fontSize: 26.rpx, - color: Colors.black, - ), - )), - ), - ), + Padding( + padding: EdgeInsetsDirectional.fromSTEB( + 0.rpx, 17, 0.rpx, 0), + child: Container( + width: bodysize!.maxWidth, + height: 46, + decoration: BoxDecoration(), + child: Stack( + children: [ + Align( + alignment: AlignmentDirectional(0, 0), + child: Container( + width: MediaQuery.sizeOf(context) + .width, + height: 46, + decoration: BoxDecoration( + color: Color(0xFFF3F5F6), + borderRadius: + BorderRadius.circular(12), ), - ], - ), - ), - ), - ), - ), - -// 验证码输入框 - Align( - alignment: AlignmentDirectional(-1, 0), - child: Padding( - padding: EdgeInsetsDirectional.fromSTEB( - 0, 32.rpx, 0, 0), - child: Container( - width: double.infinity, - height: bodysize!.maxHeight * 0.06, - decoration: BoxDecoration( - color: Color(0xFFF3F5F6), - borderRadius: BorderRadius.circular(12), - ), - constraints: BoxConstraints( - minHeight: 92.rpx, - ), - child: Padding( - padding: EdgeInsetsDirectional.fromSTEB( - 35.rpx, 0, 35.rpx, 0), - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Expanded( - child: Container( - child: Align( - alignment: - AlignmentDirectional( - -1, 0), - child: TextFormField( + child: Align( + alignment: + AlignmentDirectional(0, 0), + child: Obx(() { + return TextFormField( + obscureText: controller + .model.pdshow!, onChanged: (value) { controller.model - .register_code = - value; + .register_pd = value; }, + initialValue: controller + .model.register_pd, decoration: InputDecoration( - isDense: true, - hintText: '请输入验证码', + labelStyle: TextStyle( + fontFamily: + 'Readex Pro', + fontSize: AppFontsize + .normal_text_size, + letterSpacing: 0, + ), + hintText: '请输入密码', hintStyle: TextStyle( fontFamily: 'Readex Pro', color: Color(0xFF929699), - fontSize: 26.rpx, + fontSize: AppFontsize + .normal_text_size, + letterSpacing: 0, + ), + enabledBorder: + InputBorder.none, + focusedBorder: + InputBorder.none, + errorBorder: + InputBorder.none, + focusedErrorBorder: + InputBorder.none, + contentPadding: + EdgeInsetsDirectional + .fromSTEB( + 10, 12, 0, 0), + suffixIcon: IconButton( + icon: Icon( + // 根据 pdshow 控制图标 + controller + .model.pdshow! + ? Icons + .visibility_off + : Icons + .visibility, + color: + Color(0xFF333333), + size: 16, + ), + onPressed: () { + // 切换 pdshow 状态 + controller.model + .pdshow = + !controller.model + .pdshow!; + controller + .updateAll(); + }, ), - border: InputBorder.none, ), style: TextStyle( fontFamily: 'Readex Pro', - fontSize: 26.rpx, - color: Colors.black, + fontSize: AppFontsize + .normal_text_size, + letterSpacing: 0, ), - ), - ), - ), - ), - Container( - width: 1.rpx, - height: 38.rpx, - color: Color(0xFF929699), - ), - Obx(() { - final countdownController = Get - .find(); - return InkWell( - onTap: () async { - if (countdownController - .countdown.value != - 0) return; - String msg = await controller - .getCode(context); - if (msg.isEmpty) { - countdownController - .startCountdown( - AppConstants - .code_time); - } - }, - child: Text( - countdownController.countdown - .value == - 0 - ? '获取验证码'.tr - : '${countdownController.countdown.value}秒' - .tr, - style: TextStyle( - fontFamily: 'Readex Pro', - color: Color(0xFF333333), - fontSize: 20.rpx, - ), - ), - ); - }), - ], + ); + })), + ), ), - ), + ], ), ), ), + + // Align( + // alignment: AlignmentDirectional(-1, 0), + // child: Padding( + // padding: EdgeInsetsDirectional.fromSTEB( + // 0, 32.rpx, 0, 0), + // child: Container( + // width: double.infinity, + // height: bodysize!.maxHeight * 0.06, + // decoration: BoxDecoration( + // color: Color(0xFFF3F5F6), + // borderRadius: BorderRadius.circular(12), + // ), + // constraints: BoxConstraints( + // minHeight: 92.rpx, + // ), + // child: Padding( + // padding: EdgeInsetsDirectional.fromSTEB( + // 35.rpx, 0, 35.rpx, 0), + // child: Row( + // mainAxisSize: MainAxisSize.max, + // mainAxisAlignment: + // MainAxisAlignment.spaceBetween, + // children: [ + // Expanded( + // child: Container( + // child: Align( + // alignment: + // AlignmentDirectional( + // -1, 0), + // child: Obx(() => + // TextFormField( + // onChanged: (value) { + // controller.model + // .register_pd = + // value; + // }, + // obscureText: controller + // .model.pdshow!, + // decoration: + // InputDecoration( + // isDense: true, + // hintText: '请输入密码'.tr, + // hintStyle: TextStyle( + // fontFamily: + // 'Readex Pro', + // color: Color( + // 0xFF929699), + // fontSize: 26.rpx, + // ), + // border: + // InputBorder.none, + // suffixIcon: + // IconButton( + // icon: Icon( + // controller.model + // .pdshow! + // ? Icons + // .visibility_off + // : Icons + // .visibility, + // color: Color( + // 0xFF333333), + // size: 16, + // ), + // onPressed: () { + // controller.model + // .pdshow = + // !controller + // .model + // .pdshow!; + // controller + // .updateAll(); + // }, + // ), + // ), + // style: TextStyle( + // fontFamily: + // 'Readex Pro', + // fontSize: 26.rpx, + // color: Colors.black, + // ), + // )), + // ), + // ), + // ), + // ], + // ), + // ), + // ), + // ), + // ), + + Padding( + padding: EdgeInsetsDirectional.fromSTEB( + 0.rpx, 17, 0.rpx, 0), + child: Container( + width: bodysize!.maxWidth, + height: 46, + decoration: BoxDecoration(), + child: Stack( + children: [ + Align( + alignment: AlignmentDirectional(0, 0), + child: Container( + width: MediaQuery.sizeOf(context) + .width, + height: 46, + decoration: BoxDecoration( + color: Color(0xFFF3F5F6), + borderRadius: + BorderRadius.circular(12), + ), + child: Align( + alignment: + AlignmentDirectional(0, 0), + child: Obx(() { + return TextFormField( + obscureText: controller + .model.cpdshow!, + onChanged: (value) { + controller.model + .register_confirm_pd = + value; + }, + initialValue: controller + .model + .register_confirm_pd, + decoration: InputDecoration( + labelStyle: TextStyle( + fontFamily: + 'Readex Pro', + fontSize: AppFontsize + .normal_text_size, + letterSpacing: 0, + ), + hintText: '请确认密码', + hintStyle: TextStyle( + fontFamily: + 'Readex Pro', + color: + Color(0xFF929699), + fontSize: AppFontsize + .normal_text_size, + letterSpacing: 0, + ), + enabledBorder: + InputBorder.none, + focusedBorder: + InputBorder.none, + errorBorder: + InputBorder.none, + focusedErrorBorder: + InputBorder.none, + contentPadding: + EdgeInsetsDirectional + .fromSTEB( + 10, 12, 0, 0), + suffixIcon: IconButton( + icon: Icon( + // 根据 pdshow 控制图标 + controller + .model.cpdshow! + ? Icons + .visibility_off + : Icons + .visibility, + color: + Color(0xFF333333), + size: 16, + ), + onPressed: () { + // 切换 pdshow 状态 + controller.model + .cpdshow = + !controller.model + .cpdshow!; + controller + .updateAll(); + }, + ), + ), + style: TextStyle( + fontFamily: 'Readex Pro', + fontSize: AppFontsize + .normal_text_size, + letterSpacing: 0, + ), + ); + })), + ), + ), + ], + ), + ), + ), + + // Align( + // alignment: AlignmentDirectional(-1, 0), + // child: Padding( + // padding: EdgeInsetsDirectional.fromSTEB( + // 0, 32.rpx, 0, 0), + // child: Container( + // width: double.infinity, + // height: bodysize!.maxHeight * 0.06, + // decoration: BoxDecoration( + // color: Color(0xFFF3F5F6), + // borderRadius: BorderRadius.circular(12), + // ), + // constraints: BoxConstraints( + // minHeight: 92.rpx, + // ), + // child: Padding( + // padding: EdgeInsetsDirectional.fromSTEB( + // 35.rpx, 0, 35.rpx, 0), + // child: Row( + // mainAxisSize: MainAxisSize.max, + // mainAxisAlignment: + // MainAxisAlignment.spaceBetween, + // children: [ + // Expanded( + // child: Container( + // child: Align( + // alignment: + // AlignmentDirectional( + // -1, 0), + // child: Obx(() => + // TextFormField( + // onChanged: (value) { + // controller.model + // .register_confirm_pd = + // value; + // }, + // obscureText: controller + // .model.cpdshow!, + // decoration: + // InputDecoration( + // isDense: true, + // hintText: + // '请输入确认密码'.tr, + // hintStyle: TextStyle( + // fontFamily: + // 'Readex Pro', + // color: Color( + // 0xFF929699), + // fontSize: 26.rpx, + // ), + // border: + // InputBorder.none, + // suffixIcon: + // IconButton( + // icon: Icon( + // controller.model + // .pdshow! + // ? Icons + // .visibility_off + // : Icons + // .visibility, + // color: Color( + // 0xFF333333), + // size: 16, + // ), + // onPressed: () { + // controller.model + // .cpdshow = + // !controller + // .model + // .cpdshow!; + // controller + // .updateAll(); + // }, + // ), + // ), + // style: TextStyle( + // fontFamily: + // 'Readex Pro', + // fontSize: 26.rpx, + // color: Colors.black, + // ), + // )), + // ), + // ), + // ), + // ], + // ), + // ), + // ), + // ), + // ), + + // Align( + // alignment: AlignmentDirectional(-1, 0), + // child: Padding( + // padding: EdgeInsetsDirectional.fromSTEB( + // 0, 32.rpx, 0, 0), + // child: Container( + // width: double.infinity, + // height: bodysize!.maxHeight * 0.06, + // decoration: BoxDecoration( + // color: Color(0xFFF3F5F6), + // borderRadius: BorderRadius.circular(12), + // ), + // constraints: BoxConstraints( + // minHeight: 92.rpx, + // ), + // child: Padding( + // padding: EdgeInsetsDirectional.fromSTEB( + // 10, 0, 35.rpx, 0), + // child: Row( + // mainAxisSize: MainAxisSize.max, + // mainAxisAlignment: + // MainAxisAlignment.spaceBetween, + // children: [ + // Expanded( + // child: Container( + // child: Align( + // alignment: + // AlignmentDirectional( + // -1, 0), + // child: TextFormField( + // onChanged: (value) { + // controller.model + // .register_code = + // value; + // }, + // decoration: InputDecoration( + // isDense: true, + // hintText: '请输入验证码', + // hintStyle: TextStyle( + // fontFamily: + // 'Readex Pro', + // color: + // Color(0xFF929699), + // fontSize: 26.rpx, + // ), + // border: InputBorder.none, + // ), + // style: TextStyle( + // fontFamily: 'Readex Pro', + // fontSize: 26.rpx, + // color: Colors.black, + // ), + // ), + // ), + // ), + // ), + // Container( + // width: 1.rpx, + // height: 38.rpx, + // color: Color(0xFF929699), + // ), + // Obx(() { + // final countdownController = Get + // .find(); + // return InkWell( + // onTap: () async { + // if (countdownController + // .countdown.value != + // 0) return; + // String msg = await controller + // .getCode(context); + // if (msg.isEmpty) { + // countdownController + // .startCountdown( + // AppConstants + // .code_time); + // } + // }, + // child: Text( + // countdownController.countdown + // .value == + // 0 + // ? '获取验证码'.tr + // : '${countdownController.countdown.value}秒' + // .tr, + // style: TextStyle( + // fontFamily: 'Readex Pro', + // color: Color(0xFF333333), + // fontSize: 20.rpx, + // ), + // ), + // ); + // }), + // ], + // ), + // ), + // ), + // ), + // ), + // 其他部分保持不变... + + Padding( + padding: EdgeInsetsDirectional.fromSTEB( + 0.rpx, 17, 0.rpx, 0), + child: Container( + width: bodysize!.maxWidth, + height: 46, + decoration: BoxDecoration(), + child: Stack( + children: [ + Align( + alignment: AlignmentDirectional(0, 0), + child: Container( + width: MediaQuery.sizeOf(context) + .width, + height: 46, + decoration: BoxDecoration( + color: Color(0xFFF3F5F6), + borderRadius: + BorderRadius.circular(12), + ), + child: Align( + alignment: + AlignmentDirectional(0, 0), + child: TextFormField( + // focusNode: _focusNode4, + onChanged: (value) { + controller.model + .register_code = value; + }, + obscureText: false, + decoration: InputDecoration( + labelStyle: TextStyle( + fontFamily: 'Readex Pro', + fontSize: AppFontsize + .normal_text_size, + letterSpacing: 0, + ), + hintText: '请输入验证码', + hintStyle: TextStyle( + fontFamily: 'Readex Pro', + color: Color(0xFF929699), + fontSize: AppFontsize + .normal_text_size, + letterSpacing: 0, + ), + enabledBorder: + InputBorder.none, + focusedBorder: + InputBorder.none, + errorBorder: InputBorder.none, + focusedErrorBorder: + InputBorder.none, + contentPadding: + EdgeInsetsDirectional + .fromSTEB( + 10, 0, 0, 5), + ), + style: TextStyle( + fontFamily: 'Readex Pro', + fontSize: AppFontsize + .normal_text_size, + letterSpacing: 0, + ), + ), + ), + ), + ), + Align( + alignment: + AlignmentDirectional(0.2, 0.1), + child: Container( + width: 1.rpx, + height: 38.rpx, + decoration: BoxDecoration( + color: stringToColor("#929699"), + ), + ), + ), + Align( + alignment: + AlignmentDirectional(0.9, 0), + child: Container( + width: MediaQuery.sizeOf(context) + .width * + 0.157, + height: MediaQuery.sizeOf(context) + .height * + 0.014, + constraints: BoxConstraints( + minWidth: 118, + minHeight: 30, + ), + decoration: BoxDecoration(), + child: Align( + alignment: + AlignmentDirectional(0, 0), + child: Obx(() { + final CountdownController + countdownController = + Get.find< + CountdownController>(); + return InkWell( + onTap: () async { + if (countdownController + .countdown.value != + 0) { + return; + } + if (CommonVariables + .isNetWorkOn == + false) { + TopSlideNotification.show( + context, + text: + "网络未连接,请开启设备网络后重试" + .tr, + textColor: + themeController + .currentColor + .sc9); + return; + } + String msg = + await controller + .getCode(context); + if (msg.isNotEmpty) { + return; + } + countdownController + .countdown + .value == + 0 + ? countdownController + .startCountdown( + AppConstants + .code_time) + : null; + }, + child: Text( + countdownController + .countdown + .value == + 0 + ? '获取验证码' + : '${countdownController.countdown.value}' + + '秒'.tr, + style: TextStyle( + fontFamily: 'Readex Pro', + color: Color(0xFF333333), + fontSize: AppFontsize + .normal_text_size, + letterSpacing: 0, + ), + ), + ); + }), + ), + ), + ), + ], + ), + ), + ), + Padding( padding: EdgeInsetsDirectional.fromSTEB( 0, 19, 0, 0), @@ -577,10 +949,12 @@ class RegisterPage extends GetView { 0, 0), child: InkWell( onTap: () { - showCustomConfirmOfWebViewDialog( - context, - "用户协议", - "/#/pages/agreement/agreement?type=2&hideHead=true"); + // showCustomConfirmOfWebViewDialog( + // context, + // "用户协议", + // "/#/pages/agreement/agreement?type=2&hideHead=true"); + Get.toNamed( + "/userAgreementPage"); }, child: Text( '《用户协议》'.tr, @@ -617,10 +991,12 @@ class RegisterPage extends GetView { 0, 0), child: InkWell( onTap: () { - showCustomConfirmOfWebViewDialog( - context, - "隐私协议", - "/#/pages/agreement/agreement?type=1&hideHead=true"); + // showCustomConfirmOfWebViewDialog( + // context, + // "隐私协议", + // "/#/pages/agreement/agreement?type=1&hideHead=true"); + Get.toNamed( + "/privacyPolicyPage"); }, child: Text( '《隐私协议》'.tr, diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc index fde4d49..96ac45d 100644 --- a/windows/runner/Runner.rc +++ b/windows/runner/Runner.rc @@ -90,12 +90,12 @@ BEGIN BLOCK "040904e4" BEGIN VALUE "CompanyName", "com.example" "\0" - VALUE "FileDescription", "vbvs_app" "\0" + VALUE "FileDescription", "com.taihe.mianhuatang" "\0" VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "vbvs_app" "\0" + VALUE "InternalName", "com.taihe.mianhuatang" "\0" VALUE "LegalCopyright", "Copyright (C) 2025 com.example. All rights reserved." "\0" - VALUE "OriginalFilename", "vbvs_app.exe" "\0" - VALUE "ProductName", "vbvs_app" "\0" + VALUE "OriginalFilename", "com.taihe.mianhuatang.exe" "\0" + VALUE "ProductName", "com.taihe.mianhuatang" "\0" VALUE "ProductVersion", VERSION_AS_STRING "\0" END END