From 24e17b34343b6d4059ea499e4265a77d493a3047 Mon Sep 17 00:00:00 2001 From: Rodger-Wang <1367893453@qq.com> Date: Fri, 4 Sep 2026 01:37:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E6=8B=A2=E7=A7=AF=E5=8E=8B=E6=94=B9?= =?UTF-8?q?=E5=8A=A8=EF=BC=9A=E6=81=92=E7=8E=84=20OTA=E3=80=81=E5=8F=91?= =?UTF-8?q?=E7=89=88=E9=85=8D=E7=BD=AE=E6=8B=86=E8=A1=A8=E3=80=81=E5=AE=9E?= =?UTF-8?q?=E5=90=8D=E8=AE=A4=E8=AF=81=E3=80=81=E8=8A=AF=E7=89=87=E5=8E=82?= =?UTF-8?q?=E5=95=86/=E4=BB=A3=E5=B7=A5=E5=8E=82=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 把工作区里积压的多轮改动一次性入库。主要几块: 客户端 - 恒玄 OTA 打通:新增 local_plugins/bes_ota_manager(自包含 BES SDK, Android Java + iOS ObjC,SPP OTA 2.0),路由切到 BesOtaUpgradeView / BesOtaUpgradeController,配套下载服务;杰理那套文件保留但已不挂路由。 - 通话翻译新增阿里 3.5 档(alibaba35_language_config.dart, qwen3.5-livetranslate-flash-realtime + 实时声音复刻)。 - 实名认证接入、游客登录改走服务端 api_sgin 的 Tourists 分支、 功能闸门由 GuestGuard 改为 IdVerifyGuard。 - 41 个语种文案同步(OTA 新增 28 个 key 等)。 - 默认主题改为浅色,不跟随系统。 服务端 - 发版类配置拆表:app_release(版本控制 / 游客显隐,一应用一行)与 channel_app(渠道级下载地址 / 上架状态 / 支付渠道)分家, 新增 comm/apprelease.go 与 console/api_apprelease.go。 - 授权码字符串整体移除:删除 utils/license 包,新增 utils/devcode (MAC 规范化与 PID 反解),配套迁移 SQL 在 docs/migrations/。 - console 新增芯片厂商、代工厂、用户管理接口与对应 admin 页面。 - 身份证实名核验(sys/idverify)与第三方服务的服务端专用类别。 其它 - .gitignore 补挡 apps/services/lego/sys/gin/log-*.log:gin 子系统跑起来 会按时间戳滚动生成日志(多为 0 字节),与 apps/services/comm/log 同一 性质,不进版本管理。已跟踪的 log-2026-08-20 那个仍在库里,未动。 Co-Authored-By: Claude Opus 5 (1M context) --- .gitignore | 4 + apps/admin/app/pages/appversion.vue | 254 +++++ apps/admin/app/pages/channels.vue | 158 +-- apps/admin/app/pages/chipvendor.vue | 297 ++++++ apps/admin/app/pages/dealers.vue | 184 ++-- apps/admin/app/pages/device.vue | 476 +++++---- apps/admin/app/pages/guestaccess.vue | 244 +++++ apps/admin/app/pages/oemfactory.vue | 322 +++++++ apps/admin/app/pages/product.vue | 360 ++++--- apps/admin/app/pages/provider.vue | 52 +- apps/admin/app/pages/settlements.vue | 87 +- apps/admin/app/pages/users.vue | 524 ++++++++-- apps/admin/app/utils/chipvendors.ts | 86 +- apps/admin/app/utils/menus.ts | 26 +- apps/client/BES_CONNECT_FIX_PLAN.md | 395 ++++++++ apps/client/CLIENT_AUDIT.md | 286 ++++++ apps/client/assets/images/app_icon.png | Bin 0 -> 167954 bytes .../assets/images/devices/earphone_icon.png | Bin 0 -> 25963 bytes apps/client/ios/Podfile.lock | 6 + .../ios/Runner.xcodeproj/project.pbxproj | 16 +- apps/client/lib/core/theme/theme_service.dart | 12 +- .../lib/core/translations/language/ar_sa.dart | 56 ++ .../lib/core/translations/language/bg_bg.dart | 56 ++ .../lib/core/translations/language/cs_cz.dart | 56 ++ .../lib/core/translations/language/da_dk.dart | 56 ++ .../lib/core/translations/language/de_de.dart | 57 +- .../lib/core/translations/language/el_gr.dart | 56 ++ .../lib/core/translations/language/en_us.dart | 62 +- .../lib/core/translations/language/es_es.dart | 57 +- .../lib/core/translations/language/et_ee.dart | 56 ++ .../lib/core/translations/language/fa_ir.dart | 56 ++ .../lib/core/translations/language/fi_fi.dart | 56 ++ .../lib/core/translations/language/fr_fr.dart | 57 +- .../lib/core/translations/language/hi_in.dart | 56 ++ .../lib/core/translations/language/hr_hr.dart | 56 ++ .../lib/core/translations/language/hu_hu.dart | 56 ++ .../lib/core/translations/language/id_id.dart | 56 ++ .../lib/core/translations/language/is_is.dart | 56 ++ .../lib/core/translations/language/it_it.dart | 56 ++ .../lib/core/translations/language/ja_jp.dart | 57 +- .../lib/core/translations/language/ko_kr.dart | 57 +- .../lib/core/translations/language/lt_lt.dart | 56 ++ .../lib/core/translations/language/lv_lv.dart | 56 ++ .../lib/core/translations/language/ms_my.dart | 56 ++ .../lib/core/translations/language/nb_no.dart | 56 ++ .../lib/core/translations/language/nl_nl.dart | 56 ++ .../lib/core/translations/language/pl_pl.dart | 56 ++ .../lib/core/translations/language/pt_pt.dart | 57 +- .../lib/core/translations/language/ro_ro.dart | 56 ++ .../lib/core/translations/language/ru_ru.dart | 57 +- .../lib/core/translations/language/sk_sk.dart | 56 ++ .../lib/core/translations/language/sl_si.dart | 56 ++ .../lib/core/translations/language/sr_rs.dart | 56 ++ .../lib/core/translations/language/sv_se.dart | 56 ++ .../lib/core/translations/language/th_th.dart | 56 ++ .../lib/core/translations/language/tl_ph.dart | 56 ++ .../lib/core/translations/language/tr_tr.dart | 56 ++ .../lib/core/translations/language/uk_ua.dart | 56 ++ .../lib/core/translations/language/vi_vn.dart | 56 ++ .../lib/core/translations/language/zh_cn.dart | 59 +- .../lib/core/translations/language/zh_hk.dart | 57 +- .../lib/core/translations/language/zh_tw.dart | 57 +- .../lib/core/utils/id_verify_guard.dart | 18 + apps/client/lib/data/models/appconfig.dart | 33 +- .../lib/data/models/appconfig_model.dart | 10 + .../lib/data/models/appconfig_model.g.dart | 2 + .../lib/data/models/channel_app_model.dart | 25 +- .../lib/data/models/channel_app_model.g.dart | 8 +- .../lib/data/models/device_category.dart | 10 +- .../lib/data/services/account_service.dart | 5 + .../data/services/bes_bluetooth_service.dart | 415 +++++++- .../lib/data/services/id_verify_service.dart | 30 +- .../alibaba35_language_config.dart | 73 ++ .../alibaba_language_config.dart | 134 ++- .../lib/data/services/language_manager.dart | 133 ++- .../lib/data/services/speech_factory.dart | 10 +- .../speech_impl/azure_ast_service.dart | 41 +- .../data/services/version_update_service.dart | 257 ++--- .../agent/controllers/agent_controller.dart | 4 +- .../views/call_recording_view.dart | 167 +++- .../modules/devices/views/bes_scan_view.dart | 160 +++- .../home/controllers/home_controller.dart | 17 +- .../lib/modules/login/views/login_view.dart | 22 +- .../main_tab/views/tabs/device_tab.dart | 130 ++- .../main_tab/views/widgets/module_card.dart | 70 +- .../controllers/my_devices_controller.dart | 55 +- .../my_devices/views/my_devices_view.dart | 58 +- .../bindings/ota_upgrade_binding.dart | 6 +- .../controllers/bes_ota_download_service.dart | 153 +++ .../bes_ota_upgrade_controller.dart | 495 ++++++++++ .../controllers/ota_core_contropller.dart | 98 +- .../controllers/ota_upgrade_controller.dart | 36 +- .../views/bes_ota_upgrade_view.dart | 443 +++++++++ .../ota_upgrade/views/ota_upgrade_view.dart | 25 +- .../controllers/profile_controller.dart | 11 + .../modules/settings/views/settings_view.dart | 32 +- .../speech_test/views/speech_test_view.dart | 4 +- .../lib/modules/splash/views/splash_view.dart | 21 +- apps/client/lib/routes/app_pages.dart | 6 +- .../azure_speech/AzureSpeechPlugin.kt | 23 +- .../azure_speech/AzureSpeechPlugin.swift | 20 +- .../local_plugins/bes_ota_manager/LICENSE | 1 + .../bes_ota_manager/android/build.gradle | 78 ++ .../bes_ota_manager/android/settings.gradle | 1 + .../android/src/main/AndroidManifest.xml | 9 + .../java/com/bes/bessdk/BesSdkConstants.java | 73 ++ .../com/bes/bessdk/connect/BTService.java | 39 + .../com/bes/bessdk/connect/BleConnector.java | 429 +++++++++ .../com/bes/bessdk/connect/SppConnector.java | 261 +++++ .../com/bes/bessdk/scan/BesScanManager.java | 260 +++++ .../java/com/bes/bessdk/scan/BtHeleper.java | 21 + .../com/bes/bessdk/scan/BtPermission.java | 74 ++ .../bes/bessdk/service/BesOTAConstants.java | 83 ++ .../com/bes/bessdk/service/BesOtaCMD.java | 887 +++++++++++++++++ .../com/bes/bessdk/service/BesOtaService.java | 902 ++++++++++++++++++ .../service/base/BesBaseConnectListener.java | 7 + .../bessdk/service/base/BesBaseService.java | 222 +++++ .../bessdk/service/base/BesServiceConfig.java | 91 ++ .../service/base/BesServiceListener.java | 11 + .../bessdk/service/base/TOTAConnectCMD.java | 171 ++++ .../java/com/bes/bessdk/utils/ArrayUtil.java | 334 +++++++ .../java/com/bes/bessdk/utils/CmdInfo.java | 66 ++ .../com/bes/bessdk/utils/ProfileUtils.java | 120 +++ .../java/com/bes/bessdk/utils/SPHelper.java | 61 ++ .../bessdk/utils/SendMessageCommunitor.java | 8 + .../java/com/bes/bessdk/utils/sha/Sha256.java | 24 + .../java/com/bes/bessdk/utils/sha/aes.java | 107 +++ .../com/bes/bessdk/utils/sha/besFunc.java | 57 ++ .../com/bes/sdk/connect/DeviceConnector.java | 78 ++ .../java/com/bes/sdk/device/HmDevice.java | 374 ++++++++ .../com/bes/sdk/message/A2DPConnection.java | 51 + .../sdk/message/A2DPConnectionMessage.java | 25 + .../java/com/bes/sdk/message/AncSettings.java | 97 ++ .../com/bes/sdk/message/AncStatusMessage.java | 27 + .../java/com/bes/sdk/message/BaseMessage.java | 65 ++ .../java/com/bes/sdk/message/BatteryInfo.java | 118 +++ .../bes/sdk/message/DeviceInfoMessage.java | 28 + .../java/com/bes/sdk/message/EQPayload.java | 192 ++++ .../java/com/bes/sdk/message/EQSettings.java | 70 ++ .../com/bes/sdk/message/EQStatusMessage.java | 20 + .../java/com/bes/sdk/message/GestureInfo.java | 153 +++ .../com/bes/sdk/message/GestureMessage.java | 24 + .../java/com/bes/sdk/message/InEarInfo.java | 49 + .../java/com/bes/sdk/message/MyBudsInfo.java | 102 ++ .../com/bes/sdk/message/MyBudsMessage.java | 24 + .../java/com/bes/sdk/message/OTAInfo.java | 48 + .../com/bes/sdk/message/OTAInfoMessage.java | 25 + .../java/com/bes/sdk/message/SealingInfo.java | 50 + .../com/bes/sdk/message/SmartSwitchInfo.java | 104 ++ .../main/java/com/bes/sdk/ota/OTADfuInfo.java | 36 + .../main/java/com/bes/sdk/ota/OTATask.java | 127 +++ .../java/com/bes/sdk/ota/RemoteOTAConfig.java | 155 +++ .../com/bes/sdk/scan/BleBroadCastParser.java | 9 + .../java/com/bes/sdk/scan/ScanFilter.java | 14 + .../java/com/bes/sdk/scan/ScanManager.java | 82 ++ .../java/com/bes/sdk/utils/AudioChannel.java | 51 + .../com/bes/sdk/utils/DeviceProtocol.java | 31 + .../java/com/bes/sdk/utils/DeviceRole.java | 72 ++ .../java/com/bes/sdk/utils/MessageID.java | 53 + .../java/com/bes/sdk/utils/OTAChannel.java | 26 + .../java/com/bes/sdk/utils/OTAStatus.java | 27 + .../java/com/bes/sdk/utils/StatusCode.java | 26 + .../besall/allbase/common/utils/LogUtils.java | 34 + .../bes_ota_manager/BesOtaManagerPlugin.kt | 385 ++++++++ .../ios/Classes/BesOtaManagerPlugin.h | 21 + .../ios/Classes/BesOtaManagerPlugin.m | 412 ++++++++ .../ios/Classes/bessdk/BesSdkConstants.h | 61 ++ .../Classes/bessdk/connect/BesBTConnector.h | 42 + .../Classes/bessdk/connect/BesBTConnector.m | 341 +++++++ .../bessdk/service/Base/BesBaseService.h | 52 + .../bessdk/service/Base/BesBaseService.m | 172 ++++ .../bessdk/service/Base/BesServiceConfig.h | 33 + .../bessdk/service/Base/BesServiceConfig.m | 12 + .../ios/Classes/bessdk/service/Base/BesUUID.h | 21 + .../ios/Classes/bessdk/service/Base/BesUUID.m | 53 + .../bessdk/service/Base/TOTAConnectCMD.h | 24 + .../bessdk/service/Base/TOTAConnectCMD.m | 178 ++++ .../Classes/bessdk/service/Base/sha/BesFunc.h | 19 + .../Classes/bessdk/service/Base/sha/BesFunc.m | 80 ++ .../Classes/bessdk/service/Base/sha/Sha256.h | 18 + .../Classes/bessdk/service/Base/sha/Sha256.m | 19 + .../ios/Classes/bessdk/service/Base/sha/aes.h | 19 + .../ios/Classes/bessdk/service/Base/sha/aes.m | 56 ++ .../bessdk/service/TotaDemo/BesOtaSetting.h | 40 + .../bessdk/service/TotaDemo/BesOtaSetting.m | 183 ++++ .../bessdk/service/TotaDemo/BesTotaDemoCMD.h | 38 + .../bessdk/service/TotaDemo/BesTotaDemoCMD.m | 677 +++++++++++++ .../service/TotaDemo/BesTotaDemoConstants.h | 99 ++ .../service/TotaDemo/BesTotaDemoConstants.m | 12 + .../service/TotaDemo/BesTotaDemoService.h | 40 + .../service/TotaDemo/BesTotaDemoService.m | 613 ++++++++++++ .../tools/category/NSData+XCYCoreTransfor.h | 15 + .../tools/category/NSData+XCYCoreTransfor.m | 23 + .../category/NSString+XCYCoreOperation.h | 28 + .../category/NSString+XCYCoreOperation.m | 64 ++ .../ios/Classes/bessdk/utils/ArrayUtil.h | 33 + .../ios/Classes/bessdk/utils/ArrayUtil.m | 140 +++ .../ios/Classes/bessdk/utils/FileUtils.h | 24 + .../ios/Classes/bessdk/utils/FileUtils.m | 80 ++ .../ios/bes_ota_manager.podspec | 43 + .../bes_ota_manager/lib/bes_ota_manager.dart | 109 +++ .../lib/bes_ota_manager_method_channel.dart | 78 ++ .../bes_ota_manager_platform_interface.dart | 51 + .../bes_ota_manager/pubspec.yaml | 27 + .../bluetooth_manager/BluetoothManager.kt | 42 +- apps/client/pubspec.lock | 23 + apps/client/pubspec.yaml | 7 + apps/proto/api/api_msg.proto | 25 +- apps/proto/db.proto | 84 +- apps/services/comm/apprelease.go | 129 +++ apps/services/comm/apprelease_test.go | 131 +++ apps/services/comm/appscope.go | 16 +- apps/services/comm/channelapp.go | 79 +- apps/services/comm/channelapp_test.go | 87 +- apps/services/comm/nats.go | 11 +- apps/services/lego/sys/log/log.log | 2 +- apps/services/modules/analyze/options.go | 5 +- .../api/api_batchresetlicensestatus.go | 36 +- .../modules/api/api_createauthcodes.go | 97 +- .../modules/api/api_resetlicensestatus.go | 2 +- .../services/modules/api/api_updateproduct.go | 2 +- apps/services/modules/api/model_test.go | 14 +- .../modules/console/api_apprelease.go | 156 +++ apps/services/modules/console/api_channel.go | 80 +- .../modules/console/api_channelapp.go | 34 +- .../modules/console/api_chipvendor.go | 163 ++++ apps/services/modules/console/api_config.go | 10 +- .../modules/console/api_oemfactory.go | 136 +++ .../modules/console/api_settlement.go | 131 ++- .../modules/console/api_svctemplate.go | 6 +- .../services/modules/console/api_sysconfig.go | 33 +- apps/services/modules/console/api_upload.go | 31 +- apps/services/modules/console/api_user.go | 231 +++++ .../modules/console/model_chipvendor.go | 140 +++ .../modules/console/model_oemfactory.go | 65 ++ apps/services/modules/console/model_stat.go | 8 +- apps/services/modules/console/scope.go | 8 +- apps/services/modules/console/server.go | 41 +- apps/services/modules/console/stat.go | 9 +- .../user/api_binddevice_identity_test.go | 123 +++ .../modules/user/api_getchannelapp.go | 32 +- apps/services/modules/user/module_test.go | 128 ++- apps/services/pb/api_msg.pb.go | 181 ++-- apps/services/pb/db.pb.go | 263 +++-- .../services/console/conf/console.yaml | 2 +- apps/services/utils/devcode/devcode.go | 35 + apps/services/utils/devcode/devcode_test.go | 42 + apps/services/utils/license/README.md | 208 ---- apps/services/utils/license/license.go | 143 --- apps/services/utils/license/license_test.go | 172 ---- apps/services/utils/mac/mac.go | 8 +- deploy/app/confs/gateway.yaml.example | 4 + deploy/app/env/env.example | 8 +- .../2026-08-08-channel-dimension.sql | 3 + .../2026-09-02-drop-license-string.sql | 90 ++ 255 files changed, 21833 insertions(+), 2345 deletions(-) create mode 100644 apps/admin/app/pages/appversion.vue create mode 100644 apps/admin/app/pages/chipvendor.vue create mode 100644 apps/admin/app/pages/guestaccess.vue create mode 100644 apps/admin/app/pages/oemfactory.vue create mode 100644 apps/client/BES_CONNECT_FIX_PLAN.md create mode 100644 apps/client/CLIENT_AUDIT.md create mode 100644 apps/client/assets/images/app_icon.png create mode 100644 apps/client/assets/images/devices/earphone_icon.png create mode 100644 apps/client/lib/data/services/language_configs/alibaba35_language_config.dart create mode 100644 apps/client/lib/modules/ota_upgrade/controllers/bes_ota_download_service.dart create mode 100644 apps/client/lib/modules/ota_upgrade/controllers/bes_ota_upgrade_controller.dart create mode 100644 apps/client/lib/modules/ota_upgrade/views/bes_ota_upgrade_view.dart create mode 100644 apps/client/local_plugins/bes_ota_manager/LICENSE create mode 100644 apps/client/local_plugins/bes_ota_manager/android/build.gradle create mode 100644 apps/client/local_plugins/bes_ota_manager/android/settings.gradle create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/AndroidManifest.xml create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/BesSdkConstants.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/connect/BTService.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/connect/BleConnector.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/connect/SppConnector.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/scan/BesScanManager.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/scan/BtHeleper.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/scan/BtPermission.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/service/BesOTAConstants.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/service/BesOtaCMD.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/service/BesOtaService.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/service/base/BesBaseConnectListener.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/service/base/BesBaseService.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/service/base/BesServiceConfig.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/service/base/BesServiceListener.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/service/base/TOTAConnectCMD.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/utils/ArrayUtil.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/utils/CmdInfo.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/utils/ProfileUtils.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/utils/SPHelper.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/utils/SendMessageCommunitor.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/utils/sha/Sha256.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/utils/sha/aes.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/bessdk/utils/sha/besFunc.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/connect/DeviceConnector.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/device/HmDevice.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/A2DPConnection.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/A2DPConnectionMessage.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/AncSettings.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/AncStatusMessage.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/BaseMessage.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/BatteryInfo.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/DeviceInfoMessage.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/EQPayload.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/EQSettings.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/EQStatusMessage.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/GestureInfo.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/GestureMessage.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/InEarInfo.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/MyBudsInfo.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/MyBudsMessage.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/OTAInfo.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/OTAInfoMessage.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/SealingInfo.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/message/SmartSwitchInfo.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/ota/OTADfuInfo.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/ota/OTATask.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/ota/RemoteOTAConfig.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/scan/BleBroadCastParser.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/scan/ScanFilter.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/scan/ScanManager.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/utils/AudioChannel.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/utils/DeviceProtocol.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/utils/DeviceRole.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/utils/MessageID.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/utils/OTAChannel.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/utils/OTAStatus.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/bes/sdk/utils/StatusCode.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/java/com/besall/allbase/common/utils/LogUtils.java create mode 100644 apps/client/local_plugins/bes_ota_manager/android/src/main/kotlin/com/example/bes_ota_manager/BesOtaManagerPlugin.kt create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/BesOtaManagerPlugin.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/BesOtaManagerPlugin.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/BesSdkConstants.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/connect/BesBTConnector.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/connect/BesBTConnector.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/BesBaseService.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/BesBaseService.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/BesServiceConfig.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/BesServiceConfig.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/BesUUID.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/BesUUID.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/TOTAConnectCMD.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/TOTAConnectCMD.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/sha/BesFunc.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/sha/BesFunc.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/sha/Sha256.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/sha/Sha256.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/sha/aes.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/Base/sha/aes.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/TotaDemo/BesOtaSetting.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/TotaDemo/BesOtaSetting.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/TotaDemo/BesTotaDemoCMD.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/TotaDemo/BesTotaDemoCMD.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/TotaDemo/BesTotaDemoConstants.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/TotaDemo/BesTotaDemoConstants.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/TotaDemo/BesTotaDemoService.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/service/TotaDemo/BesTotaDemoService.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/tools/category/NSData+XCYCoreTransfor.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/tools/category/NSData+XCYCoreTransfor.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/tools/category/NSString+XCYCoreOperation.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/tools/category/NSString+XCYCoreOperation.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/utils/ArrayUtil.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/utils/ArrayUtil.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/utils/FileUtils.h create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/Classes/bessdk/utils/FileUtils.m create mode 100644 apps/client/local_plugins/bes_ota_manager/ios/bes_ota_manager.podspec create mode 100644 apps/client/local_plugins/bes_ota_manager/lib/bes_ota_manager.dart create mode 100644 apps/client/local_plugins/bes_ota_manager/lib/bes_ota_manager_method_channel.dart create mode 100644 apps/client/local_plugins/bes_ota_manager/lib/bes_ota_manager_platform_interface.dart create mode 100644 apps/client/local_plugins/bes_ota_manager/pubspec.yaml create mode 100644 apps/services/comm/apprelease.go create mode 100644 apps/services/comm/apprelease_test.go create mode 100644 apps/services/modules/console/api_apprelease.go create mode 100644 apps/services/modules/console/api_chipvendor.go create mode 100644 apps/services/modules/console/api_oemfactory.go create mode 100644 apps/services/modules/console/api_user.go create mode 100644 apps/services/modules/console/model_chipvendor.go create mode 100644 apps/services/modules/console/model_oemfactory.go create mode 100644 apps/services/modules/user/api_binddevice_identity_test.go create mode 100644 apps/services/utils/devcode/devcode.go create mode 100644 apps/services/utils/devcode/devcode_test.go delete mode 100644 apps/services/utils/license/README.md delete mode 100644 apps/services/utils/license/license.go delete mode 100644 apps/services/utils/license/license_test.go create mode 100644 docs/migrations/2026-09-02-drop-license-string.sql diff --git a/.gitignore b/.gitignore index fffe2006..0e03f346 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,7 @@ node_modules/ # 误入库的运行日志:lego 未配置日志路径时会在工作目录写 ./log, # 本地跑一次服务或 go test 就被覆写一次,制造无意义 diff。 apps/services/comm/log + +# gin 子系统的运行日志:本地跑服务时按时间戳滚动生成(多为 0 字节), +# 与 apps/services/comm/log 同一性质,不进版本管理。 +apps/services/lego/sys/gin/log-*.log diff --git a/apps/admin/app/pages/appversion.vue b/apps/admin/app/pages/appversion.vue new file mode 100644 index 00000000..0752c276 --- /dev/null +++ b/apps/admin/app/pages/appversion.vue @@ -0,0 +1,254 @@ +