xkeee
xkeee
  • 发布:2024-11-21 12:52
  • 更新:2024-11-21 12:53
  • 阅读:32

第三方SDK要求传入float,但是uts引入后变成了number,导致矛盾。

分类:uni-app x

问题:第三方SDK【要求传入float】,但是uts引入后变成了【number】,引发的错误:
sdk定义:腾讯云sdk官方定义是:setBeautyLevel(float beautyLevel)
uts错误:import引入后在uts里变成了:(method)TXBeautyManager.setBeautyLevel(param0: number)

以下2种写法,直接编译通不过,导致插件无法运行:
1:error: 类型不匹配: 推断类型是Number,但预期的是Float。
let level : number = 9;
bm.setBeautyLevel(level);

2:error: The integer literal does not conform to the expected type Float‌
let level2 : Float = 9;
bm.setBeautyLevel(level2);

下面写法【可以编译通过、也能运行】,但有明确【波浪线错误提示】:类型“Float”的参数不能赋给类型“number”的参数。
没办法,现在只能采用这个写法了
let level : number = 9;
bm.setBeautyLevel(level.toFloat());

请问:这是uts的bug吗? 或者,我应该怎么写这个代码,就既能通过编译,又不会出现错误警告?

2024-11-21 12:52 负责人:无 分享
已邀请:
DCloud_Android_DQQ

DCloud_Android_DQQ

let level : number = 9;
bm.setBeautyLevel(level.toFloat());

文档地址:
https://doc.dcloud.net.cn/uni-app-x/uts/data-type.html#kotlin

  • xkeee (作者)

    就如上面我说的,这个写法可以通过编译、也可以正常运行。

    但有个红色的【波浪线错误提示】:类型“Float”的参数不能赋给类型“number”的参数。


    这错误提示,会干扰日常的编码,总以他是真正的错误。有什么办法避免吗?或者官方会修复吗?

    2024-11-21 13:00

  • DCloud_Android_DQQ

    回复 xkeee: 先忽略ide提示 稍后会修复

    29 分钟前

要回复问题请先登录注册