1***@qq.com
1***@qq.com
  • 发布:2021-11-15 16:49
  • 更新:2021-12-14 16:51
  • 阅读:1349

【报Bug】App端使用 uni.canvasGetImageData 报错 require is not defined

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.2.13

手机系统: Android

手机系统版本号: Android 10

手机厂商: vivo

手机机型: x50 pro+

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
复制代码<template>  
  <view class="container">  
    <button type="primary" @click="chooseImage">导入图片</button>  
    <canvas canvas-id="firstCanvas"  
      style="width: 100px; height: 100px;"></canvas>  
  </view>  
</template>  

<script setup>  
  // 导入图片  
  function chooseImage() {  
    const firstCanvas = uni.createCanvasContext('firstCanvas')  

    uni.chooseImage({  
      count: 1, //默认9  
      sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有  
      sourceType: ['album'], //从相册选择  
      success: res => {  
        let previewPicSrc = res.tempFilePaths[0]  
        firstCanvas.drawImage(previewPicSrc, 0, 0, 100,  
          100)  
        firstCanvas.draw(false, function() {  
          // 获取canvas数据  
          setTimeout(() => {  
            getImageData()  
          }, 0)  
        })  
      }  
    })  
  }  

  // 获取canvas数据  
  function getImageData() {  
    console.log('getImageData')  
    uni.canvasGetImageData({  
      canvasId: 'firstCanvas',  
      x: 0,  
      y: 0,  
      width: 100,  
      height: 100,  
      success: res => {  
        console.log('getImageData success', res)  
      },  
      fail: res => {  
        console.log('getImageData fail', res)  
      }  
    })  
  }  
</script>  

操作步骤:

使用直接报错

预期结果:

uni.canvasGetImageData 进入 success回调函数

实际结果:

uni.canvasGetImageData 进入 fail回调函数

bug描述:

App使用 uni.canvasGetImageData 报错 require is not defined

H5页面正常使用

如 manifest.json 使用vue2版本编译也不会有此问题

2021-11-15 16:49 负责人:DCloud_UNI_LXH 分享
已邀请:
DCloud_UNI_Anne

DCloud_UNI_Anne

这边排查下,感谢您的反馈!

DCloud_UNI_LXH

DCloud_UNI_LXH

alpha 3.3.1 已修复

  • 3***@qq.com

    并未完全修复。 3.3.11版


    var crypto = require('crypto');


    报错如下:


    reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught ReferenceError: require is not defined

    2022-03-14 10:05

  • DCloud_UNI_LXH

    回复 3***@qq.com: 发帖子细说。提供示例

    2022-03-14 10:42

该问题目前已经被锁定, 无法添加新回复

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容