稻壳dotcoo
稻壳dotcoo
  • 发布:2023-01-13 20:52
  • 更新:2023-01-18 14:33
  • 阅读:293

【报Bug】HBuilderX 3.6.17.20230112版本, wx 被替换为 common_vendor.wx$1 导致代码错误.

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 22H2

HBuilderX类型: 正式

HBuilderX版本号: 3.6.17

第三方开发者工具版本号: 1.06.2301040

基础库版本号: 2.29.0

项目创建方式: HBuilderX

示例代码:
  • uniapp 代码
// #ifdef MP-WEIXIN  
Math.objAsync(wx);  
// #endif

操作步骤:

运行或发布 -> 小程序即可

预期结果:
  • HBuilderX 3.6.15 生成代码
Math.objAsync(wx);

实际结果:
  • HBuilderX 3.6.17 生成代码
Math.objAsync(common_vendor.wx$1);

bug描述:

3.6.17 版本代码中的 wx 被替换为了 common_vendor.wx$1, wx 是个 object, common_vendor.wx$1 是个 Proxy. 会导致代码运行错误.

我的这行代码是在 // #ifdef MP-WEIXIN// #endif 之间包括着的也被替换了.

2023-01-13 20:52 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_WZF

DCloud_UNI_WZF

3.6.18 已修复

DCloud_UNI_WZF

DCloud_UNI_WZF

objAsync 是自定义方法?

  • 稻壳dotcoo (作者)

    是的. 主要是参数wx被替换了.

    2023-01-13 22:13

  • DCloud_UNI_WZF

    回复 d***@163.com: 是的,由于开发需求,uniapp对wx进行了代理,还请兼容下参数类型,造成不便,还请理解,谢谢

    2023-01-13 22:17

  • 稻壳dotcoo (作者)

    回复 DCloud_UNI_WZF: 那我如何获取wx呢? 我这行代码只在微信小程序里边运行.

    2023-01-13 22:20

  • 稻壳dotcoo (作者)

    回复 DCloud_UNI_WZF: 比如 wx.previewMedia api 在 uniapp 里边根本没有, 如果我想调用怎么来实现? 另外我的 wx 在条件编译里边了, 如果替换了, 我这些针对特定平台的代码就无效了, 条件编译相当于成了摆设.

    2023-01-13 22:26

  • 稻壳dotcoo (作者)

    回复 DCloud_UNI_WZF: 稍等

    2023-01-13 22:35

DCloud_UNI_WZF

DCloud_UNI_WZF

uniapp中写wx,wx上面的属性和方法依然可以正常获取到,如您这边运行报错(非wx数据类型错误),方便提供下测试工程吗?

稻壳dotcoo

稻壳dotcoo (作者) - 稻壳dotcoo

示例在附件里边, 希望有什么方式可以获取原始的wx.

  • DCloud_UNI_WZF

    问题已确认,后续会优化,感谢反馈,已加分

    2023-01-14 15:42

要回复问题请先登录注册