uni-app 企业微信 uni.chooseImage 无法调用相册 无响应 无报错

uni-app 企业微信 uni.chooseImage 无法调用相册 无响应 无报错

开发环境 版本号 项目创建方式
Windows 19042.1052 HBuilderX

示例代码:

// 选择图片  
imgs: function () {  
  uni.chooseImage({  
    count: 9,  
    sizeType: ["compressed"],  
    success: (res) => {  
      var tempFiles = [];  
      tempFiles = res.tempFiles;  
      for (var i = 0; i < tempFiles.length; i++) {  
        // 最多能选择9张  
        if (_self.photos.length > 9) {  
          _self.$api.showModalWithCloseButton("最多只能上传9张图片");  
          return;  
        }  
        var data = {};  
        data.url = tempFiles[i].path;  
        data.id = "";  
        _self.photos.unshift(data);  
        _self.addPhotos.unshift(data);  
      }  
    },  
  });  
}

操作步骤:

ios企业微信 点击调用uni.chooseImage 无法调出相册

预期结果:

可以调出相册

实际结果:

目前点击无任何反应

bug描述:

uniapp开发h5,打包后应用到企业微信,微信公众号: 移动端环境: 苹果x 苹果xs ios14.0 BUG描述:点击上传照片 调用uni.chooseImage 微信公众号点击可以调用手机相册 , 企业微信点击无任何反应


更多关于uni-app 企业微信 uni.chooseImage 无法调用相册 无响应 无报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

有人吗.啊啊啊 救命啊

更多关于uni-app 企业微信 uni.chooseImage 无法调用相册 无响应 无报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


别用 uni.chooseImage 用企业微信的API

朋友,问题解决了吗?

用示例代码hello uni-app能出现你的问题吗?

在企业微信环境下,uni.chooseImage 无法调起相册通常是由于企业微信的JS-SDK权限限制导致的。企业微信内置浏览器对部分API的调用需要额外配置。

解决方案:

  1. 引入企业微信JS-SDK
import wx from 'weixin-js-sdk'
  1. 通过uni-app的条件编译判断运行环境
// #ifdef H5
if (navigator.userAgent.toLowerCase().indexOf('wxwork') !== -1) {
  // 企业微信环境需要额外配置
  this.initWxConfig()
}
// #endif
  1. 初始化企业微信配置
initWxConfig() {
  // 从后端获取配置参数
  const config = await this.getWxConfig()
  wx.config({
    debug: false,
    appId: config.appId,
    timestamp: config.timestamp,
    nonceStr: config.nonceStr,
    signature: config.signature,
    jsApiList: ['chooseImage'] // 必须声明需要使用的JSAPI
  })
  
  wx.ready(() => {
    // SDK准备就绪
  })
}
  1. 在企业微信环境中使用wx.chooseImage
imgs: function() {
  // #ifdef H5
  if (navigator.userAgent.toLowerCase().indexOf('wxwork') !== -1) {
    wx.chooseImage({
      count: 9,
      sizeType: ['compressed'],
      sourceType: ['album', 'camera'],
      success: (res) => {
        // 处理返回的图片
        const localIds = res.localIds
        // 后续处理...
      }
    })
    return
  }
  // #endif
  
  // 普通H5环境继续使用uni.chooseImage
  uni.chooseImage({
    count: 9,
    sizeType: ["compressed"],
    success: (res) => {
      // 原有处理逻辑
    }
  })
}
回到顶部