l***@163.com
l***@163.com
  • 发布:2022-09-25 17:59
  • 更新:2022-10-18 14:30
  • 阅读:609

【报Bug】Vue版本选择3,发布QQ小程序:uni.createCanvasContext,如果有第2个参数this就会报错,导致不能使用。

分类:uni-app

产品分类: uniapp/小程序/QQ

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.6.4

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

基础库版本号: 1.56.0

项目创建方式: HBuilderX

示例代码:

const ctx = uni.createCanvasContext( this.canvasId, this);

操作步骤:

Vue版本选择3,发布QQ小程序,访问上面代码的页面。

预期结果:

正常绘画。
uni.canvasToTempFilePath(object, component);提供第2个参数时,QQ小程序能正常将画布内容保存成文件。

实际结果:

报错:
VM7:261 appServiceSDKScriptError
Cannot convert object to primitive value; at qq.createCanvasContext
TypeError: Cannot convert object to primitive value
at String.concat ()
at te (QLogic.js:1)
at Object.Ni (QLogic.js:1)
at Object.Aa [as createCanvasContext] (QLogic.js:1)
at Object. (QLogic.js:1)
at Object. (QLogic.js:1)
at Function. (QLogic.js:1)
at Proxy. (QLogic.js:1)
at Proxy.onReady (canvas.js? [sm]:1)
at ho (vendor.js? [sm]:1)
console.error @ VM7:261

bug描述:

Vue3,QQ小程序,在组件中使用代码:
uni.createCanvasContext( this.canvasId, this);
此行代码运行时报错:
VM7:261 appServiceSDKScriptError
Cannot convert object to primitive value; at qq.createCanvasContext
TypeError: Cannot convert object to primitive value
at String.concat ()
at te (QLogic.js:1)
at Object.Ni (QLogic.js:1)
at Object.Aa [as createCanvasContext] (QLogic.js:1)
at Object. (QLogic.js:1)
at Object. (QLogic.js:1)
at Function. (QLogic.js:1)
at Proxy. (QLogic.js:1)
at Proxy.onReady (canvas.js? [sm]:1)
at ho (vendor.js? [sm]:1)
console.error @ VM7:261

使用uni.createCanvasContext( this.canvasId);,不提供第2个参数正常,但在组件中必须要提供第2个参数为this。
由于uni.createCanvasContext( this.canvasId);不成功,无法验证uni.canvasToTempFilePath(object, component);提供第2个参数时,QQ小程序是否正常。

2022-09-25 17:59 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

问题已确认,感谢反馈,已加分

DCloud_UNI_WZF

DCloud_UNI_WZF

暂时可通过将 this 替换为 this.$scope 绕过该问题

DCloud_UNI_WZF

DCloud_UNI_WZF

HBuilderX 3.6.7 已修复

  • 星海扬帆

    https://ask.dcloud.net.cn/question/181323

    请帮看看我这个问题,网上各种方式都用了,无效,感谢

    2023-11-10 13:52

要回复问题请先登录注册