uni-app 官方插件 uni-wifi 运行到Android App 基座报错 x Union Type is not supported

uni-app 官方插件 uni-wifi 运行到Android App 基座报错 x Union Type is not supported

示例代码:

  • 下载的代码:npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project
  • 运行的代码:
    uni.startWifi({
    success() {
    console.log('success');
    },
    fail() {
    console.log('fail');
    }
    })
    

操作步骤:

  • 运行到手机模拟器 android app 基座

预期结果:

  • 可以正常运行

实际结果:

  • x Union Type is not supported.
项目信息 描述
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本号 Windows 10 企业版 LTSC
HBuilderX类型 正式
HBuilderX版本号 3.99
手机系统 Android
手机系统版本号 Android 14
手机厂商 小米
手机机型 Redmi K60
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

img

bug描述:

11:01:40.299 x Union Type is not supported. 11:01:40.299 at uni_modules/uni-wifi/utssdk/interface.uts:101:1 11:01:40.301 100 | /* 11:01:40.302 101 | export type WifiErrorCode = 12000 |12001 | 12002 | 12005 | 12007 | 12010 | 12013; 11:01:40.303 : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11:01:40.305 101 | 11:01:40.305 ---- 11:01:40.306 x Expected '{', got ';' 11:01:40.307 at uni_modules/uni-wifi/utssdk/interface.uts:101:1 11:01:40.308 100 | */ 11:01:40.309 101 | export type WifiErrorCode = 12000 |12001 | 12002 | 12005 | 12007 | 12010 | 12013; 11:01:40.309 : ^ 11:01:40.310 101 | 11:01:40.310 ---- 11:01:40.311 Caused by: 11:01:40.312 Syntax Error 11:01:40.314 Error: 11:01:40.314 x Union Type is not supported. 11:01:40.315 at uni_modules/uni-wifi/utssdk/interface.uts:101:1 11:01:40.315 100 | */ 11:01:40.316 101 | export type WifiErrorCode = 12000 |12001 | 12002 | 12005 | 12007 | 12010 | 12013; 11:01:40.318 : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11:01:40.318 101 | 11:01:40.319 ---- 11:01:40.320 x Expected '{', got ';' 11:01:40.320 at uni_modules/uni-wifi/utssdk/interface.uts:101:1 11:01:40.323 100 | /* 11:01:40.323 101 | export type WifiErrorCode = 12000 |12001 | 12002 | 12005 | 12007 | 12010 | 12013; 11:01:40.324 : ^ 11:01:40.325 101 | 11:01:40.326---- 11:01:40.327 Caused by: 11:01:40.327 Syntax Error 11:01:41.961 [plugin:uni:uts] Cannot create property ‘code’ on string ‘load_transformed failed 11:01:41.961 Caused by: 11:01:41.962 0: Bundler.load() failed 11:01:41.962 1: Bundler.loader.load(C:\Users\Administrator\Desktop\test\drong-screen-web\src\uni_modules\uni-wifi\utssdk\interface.uts) failed 11:01:41.964 2: 11:01:41.964 x Union Type is not supported. 11:01:41.965 at uni_modules/uni-wifi/utssdk/interface.uts:99:1 11:01:41.965 98 | /* - 12010 系统其他错误 11:01:41.967 99 | /* - 12013 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 11:01:41.967 100 | / 11:01:41.968 101 | export type WifiErrorCode = 12000 |12001 | 12002 | 12005 | 12007 | 12010 | 12013; 11:01:41.968 : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11:01:41.969 102 | 11:01:41.970 103 | export interface WifiFail extends IUniError{ 11:01:41.971 104 | errCode: WifiErrorCode 11:01:41.972 ---- 11:01:41.973 x Expected ‘{’, got ‘;’ 11:01:41.973 at uni_modules/uni-wifi/utssdk/interface.uts:99:1 11:01:41.975 98 | / - 12010 系统其他错误 11:01:41.976 99 | /* - 12013 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 11:01:41.976 100 | / 11:01:41.977 101 | export type WifiErrorCode = 12000 |12001 | 12002 | 12005 | 12007 | 12010 | 12013; 11:01:41.977 : ^ 11:01:41.979 102 | 11:01:41.979 103 | export interface WifiFail extends IUniError{ 11:01:41.980 104 | errCode: WifiErrorCode 11:01:41.980 11:01:41.982 3: Syntax Error 11:01:41.982 Error: load_transformed failed 11:01:41.983 Caused by: 11:01:41.983 0: Bundler.load() failed 11:01:41.984 1: Bundler.loader.load(C:\Users\Administrator\Desktop\test\drong-screen-web\src\uni_modules\uni-wifi\utssdk\interface.uts) failed 11:01:41.984 2: 11:01:41.986 x Union Type is not supported. 11:01:41.987 at uni_modules/uni-wifi/utssdk/interface.uts:99:1 11:01:41.987 98 | / - 12010 系统其他错误 11:01:41.988 99 | /* - 12013 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 11:01:41.988 100 | */ 11:01:41.989 101 | export type WifiErrorCode = 12000 |12001 | 12002 | 12005 | 12007 | 12010 | 12013; 11:01:41.990 : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11:01:41.991 102 | 11:01:41.992 103 | export interface WifiFail extends IUniError{ 11:01:41.992 104 | errCode: WifiErrorCode 11:01:41.994 ---- 11:01:41.994 x Expected '{', got ';' 11:01:41.995 at uni_modules/uni-wifi/utssdk/interface.uts:99:1 11:01:41.995 98 | /* - 12010 系统其他错误 11:01:41.996 99 | /* - 12013 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 11:01:41.996 100 | */ 11:01:41.998 101 | export type WifiErrorCode = 12000 |12001 | 12002 | 12005 | 12007 | 12010 | 12013; 11:01:41.999 : ^ 11:01:41.999 102 | 11:01:42.000 103 | export interface WifiFail extends IUniError{ 11:01:42.001 104 | errCode: WifiErrorCode 11:01:42.002---- 11:01:42.002 3: Syntax Error’ 11:01:42.003 at uni_modules/uni-wifi:1:0


更多关于uni-app 官方插件 uni-wifi 运行到Android App 基座报错 x Union Type is not supported的实战教程也可以访问 https://www.itying.com/category-93-b0.html

9 回复

使用 CLI 创建的嘛。 使用HBuilder X 创建项目是否有问题

更多关于uni-app 官方插件 uni-wifi 运行到Android App 基座报错 x Union Type is not supported的实战教程也可以访问 https://www.itying.com/category-93-b0.html


使用 Hbuilder X 创建的项目可以

dcloud的相关依赖包不是最新的。

都是最新的

刚下载下来的,并且又执行了一下update也还是不可以

{ “name”: “uni-preset-vue”, “version”: “0.0.0”, “scripts”: { “dev:app”: “uni -p app”, “dev:app-android”: “uni -p app-android”, “dev:app-ios”: “uni -p app-ios”, “dev:custom”: “uni -p”, “dev:h5”: “uni”, “dev:h5:ssr”: “uni --ssr”, “dev:mp-alipay”: “uni -p mp-alipay”, “dev:mp-baidu”: “uni -p mp-baidu”, “dev:mp-jd”: “uni -p mp-jd”, “dev:mp-kuaishou”: “uni -p mp-kuaishou”, “dev:mp-lark”: “uni -p mp-lark”, “dev:mp-qq”: “uni -p mp-qq”, “dev:mp-toutiao”: “uni -p mp-toutiao”, “dev:mp-weixin”: “uni -p mp-weixin”, “dev:quickapp-webview”: “uni -p quickapp-webview”, “dev:quickapp-webview-huawei”: “uni -p quickapp-webview-huawei”, “dev:quickapp-webview-union”: “uni -p quickapp-webview-union”, “build:app”: “uni build -p app”, “build:app-android”: “uni build -p app-android”, “build:app-ios”: “uni build -p app-ios”, “build:custom”: “uni build -p”, “build:h5”: “uni build”, “build:h5:ssr”: “uni build --ssr”, “build:mp-alipay”: “uni build -p mp-alipay”, “build:mp-baidu”: “uni build -p mp-baidu”, “build:mp-jd”: “uni build -p mp-jd”, “build:mp-kuaishou”: “uni build -p mp-kuaishou”, “build:mp-lark”: “uni build -p mp-lark”, “build:mp-qq”: “uni build -p mp-qq”, “build:mp-toutiao”: “uni build -p mp-toutiao”, “build:mp-weixin”: “uni build -p mp-weixin”, “build:quickapp-webview”: “uni build -p quickapp-webview”, “build:quickapp-webview-huawei”: “uni build -p quickapp-webview-huawei”, “build:quickapp-webview-union”: “uni build -p quickapp-webview-union”, “type-check”: “vue-tsc --noEmit” }, “dependencies”: { “@dcloudio/uni-app”: “3.0.0-3081220230817001”, “@dcloudio/uni-app-plus”: “3.0.0-3081220230817001”, “@dcloudio/uni-components”: “3.0.0-3081220230817001”, “@dcloudio/uni-h5”: “3.0.0-3081220230817001”, “@dcloudio/uni-mp-alipay”: “3.0.0-3081220230817001”, “@dcloudio/uni-mp-baidu”: “3.0.0-3081220230817001”, “@dcloudio/uni-mp-jd”: “3.0.0-3081220230817001”, “@dcloudio/uni-mp-kuaishou”: “3.0.0-3081220230817001”, “@dcloudio/uni-mp-lark”: “3.0.0-3081220230817001”, “@dcloudio/uni-mp-qq”: “3.0.0-3081220230817001”, “@dcloudio/uni-mp-toutiao”: “3.0.0-3081220230817001”, “@dcloudio/uni-mp-weixin”: “3.0.0-3081220230817001”, “@dcloudio/uni-quickapp-webview”: “3.0.0-3081220230817001”, “vue”: “^3.2.45”, “vue-i18n”: “^9.1.9” }, “devDependencies”: { “@dcloudio/types”: “^3.3.2”, “@dcloudio/uni-automator”: “3.0.0-3081220230817001”, “@dcloudio/uni-cli-shared”: “3.0.0-3081220230817001”, “@dcloudio/uni-stacktracey”: “3.0.0-3081220230817001”, “@dcloudio/uni-uts-v1”: “^3.0.0-3081220230817001”, “@dcloudio/vite-plugin-uni”: “3.0.0-3081220230817001”, “@vue/runtime-core”: “^3.2.45”, “@vue/tsconfig”: “^0.1.3”, “typescript”: “^4.9.4”, “vite”: “4.1.4”, “vue-tsc”: “^1.0.24” } }

抱歉是我之前的操作方式不对,按您说的换了最新的依赖包就解决了 @dcloudio/uni-uts-v1@3.0.0-alpha-4000020231227002

请问官方是否是尝试过 npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project 下载最新的包并且使用 uni-wifi 看是否可行

在使用 uni-app 官方插件 uni-wifi 时,如果运行到 Android App 基座时遇到报错 x Union Type is not supported,这通常是由于 TypeScript 或 JavaScript 的某些语法或特性在当前环境中不被支持所导致的。

可能的原因和解决方案:

  1. TypeScript 版本问题

    • 如果你在项目中使用的是 TypeScript,可能是由于 TypeScript 版本过高或过低,导致某些语法特性不被支持。
    • 解决方案:尝试降低或升级 TypeScript 版本,确保使用的版本与 uni-app 和 uni-wifi 插件兼容。
  2. JavaScript 语法兼容性问题

    • 某些 JavaScript 语法(如联合类型 Union Type)可能在当前的 JavaScript 引擎中不被支持。
    • 解决方案:检查代码中是否使用了不被支持的语法,尝试使用更兼容的语法替代。
  3. uni-app 或插件版本问题

    • 可能是 uni-app 或 uni-wifi 插件的版本问题,导致某些功能无法正常运行。
    • 解决方案:尝试更新 uni-app 和 uni-wifi 插件到最新版本,或者回退到已知稳定的版本。
  4. Android 基座问题

    • 可能是 Android 基座的环境配置有问题,导致某些功能无法正常运行。
    • 解决方案:尝试重新安装 Android 基座,或者检查 Android 基座的环境配置。
  5. 代码问题

    • 检查代码中是否有使用联合类型 Union Type 的地方,尝试将其替换为其他兼容的语法。
    • 解决方案:例如,将 let x: string | number; 替换为 let x: any; 或者使用其他方式处理。

具体步骤:

  1. 检查 TypeScript 版本

    npm list typescript
    

    如果版本过高或过低,可以尝试安装指定版本:

    npm install typescript@4.4.4 --save-dev
    
  2. 更新 uni-app 和插件

    npm update uni-app
    npm update uni-wifi
    
  3. 重新安装 Android 基座

    • 在 HBuilderX 中,选择 运行 -> 运行到手机或模拟器 -> 重新安装基座
  4. 修改代码

    • 检查代码中是否有使用联合类型的地方,尝试替换为其他兼容的语法。

示例代码修改:

假设你有一段代码使用了联合类型:

let x: string | number;
x = "hello";
x = 123;

可以尝试修改为:

let x: any;
x = "hello";
x = 123;
回到顶部