收藏
回答

企业微信 调用媒体文件上传的jssdk 报错

问题类型 API/组件名称 终端类型 微信版本 基础库版本
Bug jssdk chooseImage 微信安卓客户端 3.0.36 weixin-js-sdk@1.6.0

我作为服务商建立了一个网页应用,并通过扫码安装的方式安装到了其他不同的企业,在应用调用jssdk上传图片时发现问题

问题1

设置config及agentConfig时抛出异常

this.$wechat.agentConfig() //t.$wechat.agentConfig is not a function


但是该异常貌似并不影响chooseImage的接口调用,在使用时发现部分设备或企业甚至个人能正常使用,这涉及到了问题2

问题2

在调用chooseImage接口唤起相机或相册时候,有的企业可以唤起,有的企业会抛出异常;而在同一企业下的不同人,有的人正常,有的人异常;甚至在同一企业,同一企业微信账号下,设备不同,一个正常一个异常

this.$wechat.chooseImage({
            count: 1, 
            sizeType: ['original'], 
            sourceType: ['album', 'camera'], 
            fail: function (res) { alert(JSON.stringify(res)); //异常位置
}


安卓异常抛出

ios异常抛出

两个截图应用是在生产环境和测试环境的截图,可以忽略域名和json格式的区别,我只是把错误贴出来

开发框架 vue 2.5.2

测试企业corpid: wwab722508004c055e

应用suiteid: wwfd6fab0a3f06a833


该问题已经于2020-12-12通过企业微信客服提交,至今已两日未回复,故在此寻求帮助。因为涉及到生产环境,有大量用户使用异常,希望能在此获得帮助

1

回答关注问题邀请回答
收藏

2 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2020-12-15

    你好,agentconfig调用没有此功能需要确认下引入js方式是否是通过script标签在线引入的,如果是在非企业微信客户端调用需要同时引入 jwxwork ,即 这两个问题都是要同时引入,chooseimage选择图片是不需要在agentconfig执行完成才调用,所以也能调用成功

    第二个问题是安卓端这个报错看起来就是域名不匹配,是否是有在授权企业授权第三方应用安装后才新增的可信域名,或者是在微信客户端使用的应用

    2020-12-15
    有用
    回复 3
    • 赵晨雨
      赵晨雨
      2020-12-15
      问题一 agentConfig已经去掉了,chooseImage貌似不需要这个
      问题二 域名的问题已经确认过了,应用也提交审核重新上线了。并且有的企业可以唤起,有的企业会抛出异常;而在同一企业下的不同人,有的人正常,有的人异常;甚至在同一企业,同一企业微信账号下,设备不同,一个正常一个异常。这个是我始终无法定位问题的原因,如果是域名配置的问题会有这种现象吗
      2020-12-15
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2020-12-15回复赵晨雨
      同一个账号 不同设备,一个正常一个异常,这个可以给下具体的案例看看
      2020-12-15
      回复
    • 赵晨雨
      赵晨雨
      2020-12-15回复企业微信运营专员-千夜
      我把样例贴在下面了,同账号不同设备是我和同事互换手机测试的,可以复现。ios端不可以,安卓端就可以
      2020-12-15
      回复
  • 赵晨雨
    赵晨雨
    2020-12-15

    1. Sdk版本 weixin-js-sdk@1.6.0 (1.4.0和1.2.0版本都不行)

    2. 开发框架 vue 2.5.2

    3. 企业corpid: 

    4. 企业agentid: 1000002

    5. 应用suiteid: 

    6. 样例1:redmi k30 ultra 安卓版本:10;企业微信版本:3.0.36(13907)

    open_userid: wofUpxDwAAxDsNK5i-NBudtgnMqPkHrA

    7. 样例2:小米10 安卓版本:10;企业微信版本:3.0.36(13907)

    open_userid: wofUpxDwAA116FImKEAqFQ4mQQuoZZsQ

    8. 样例3:Ios版本:ios:14.2.1;企业微信版本:3.0.37(55131)

    open_userid: wofUpxDwAAGZCjFaeHhf_LUrlZt4Wj6Q

    9. corpid和suiteid未贴出


    调用

    this.$wechat.chooseImage({
                count: 1, // 默认9
                sizeType: ['original'], // 可以指定是原图还是压缩图,默认二者都有
                sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
                fail: function (res) { alert(JSON.stringify(res)); //异常位置
    }
    


    样例1 正常唤起相机,附上config

    appId: ""
    beta: true
    debug: false
    jsApiList: Array[6]
    0: "chooseImage"
    1: "previewImage"
    2: "uploadImage"
    3: "downloadImage"
    4: "chooseWXPay"
    5: "getLocalImgData"
    nonceStr: "m4STdaevWEUR8wzB"
    signature: "7b25fec65a25f5ec9646ff2dd8e23a1288cf3c71"
    timestamp: 1607752312
    


    样例2 异常,附上报错信息config

    appId: ""
    beta: true
    debug: false
    jsApiList: Array[6]
    0: "chooseImage"
    1: "imagePreview"
    2: "uploadImage"
    3: "downloadImage"
    4: "getBrandWCPayRequest"
    5: "getLocalImgData"
    nonceStr: "U0fWtWXdZyRK9eoM"
    signature: "b6ab882db18ff6b764a650b6930c936a98aa4efe"
    timestamp: 1607751775
    

    样例3 异常,附上报错信息config

    appId: ""
    beta: true
    debug: false
    jsApiList: Array[6]
    0: "chooseImage"
    1: "imagePreview"
    2: "uploadImage"
    3: "downloadImage"
    4: "getBrandWCPayRequest"
    5: "getLocalImgData"
    nonceStr: "mg1soAdtfNBaQ1Rp"
    signature: "a6d680c9eecc0b12be10e0cd535c06cc525899c6"
    timestamp: 1607752696
    

    appId隐去了,因为不知道是否可以暴露

    截图中的域名可以忽略,安卓的样例是测试环境的截图,现象是一样的

    该问题于12月12日提交至企业微信客服,但至今一直没有明确答复

    需要进一步确认的话可以提供其他信息

    2020-12-15
    有用
    回复 6
    查看更多(1)
登录 后发表内容
问题标签