企業(yè)微信選擇圖片JS-SKD

  1. 開發(fā)功能
    點(diǎn)擊選擇圖片,然后可以單選可進(jìn)行多選,使用企業(yè)微信SDK開發(fā)
  2. 代碼
data () {
  return : {
    file: null
  }
}
created () {
    wx.config({
    beta: true, // 必須這么寫,否則wx.invoke調(diào)用形式的jsapi會(huì)有問題
   debug: process.env.NODE_ENV === 'development',
   url: 'https://local.gokuaidian.com/wxTest',
   // 必填,公眾號(hào)的唯一標(biāo)識(shí)
    appId: 'wx7a7473dc74ee337',
    // 必填,生成簽名的時(shí)間戳
    timestamp: '1645522276608',
    // 必填,生成簽名的隨機(jī)串
    nonceStr: '4eb1e981-b661-4d77-886b-414c9bccdfcf',
   // 必填,簽名
    signature: '99c9dc29faf8956342df4ffb625c94d2155cd3b2',
  // 必填,需要使用的JS接口列表
    jsApiList: ['chooseImage', 'getLocalImgData']
   })
  },
methods: {
chooseImage () {
    const _this = this
     wx.ready(function () {
          wx.chooseImage({
            count: _this.num - _this.dataUrl.length, // 默認(rèn)9
            sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有
            sourceType: ['album', 'camera'], // 可以指定來源是相冊(cè)還是相機(jī),默認(rèn)二者都有
            defaultCameraMode: 'batch', // 表示進(jìn)入拍照界面的默認(rèn)模式,目前有normal與batch兩種選擇,normal表示普通單拍模式,batch表示連拍模式,不傳該參數(shù)則為normal模式。從3.0.26版本開始支持front和batch_front兩種值,其中front表示默認(rèn)為前置攝像頭單拍模式,batch_front表示默認(rèn)為前置攝像頭連拍模式。(注:用戶進(jìn)入拍照界面仍然可自由切換兩種模式)
            isSaveToAlbum: 1, // 整型值,0表示拍照時(shí)不保存到系統(tǒng)相冊(cè),1表示自動(dòng)保存,默認(rèn)值是1
            success: function (res) {
              _this.localIds = res.localIds // 返回選定照片的本地ID列表
              if (utils.UA().os.name === 'iOS') { //判斷是否為IOS,
             // Ios需要通過getLocalImgData把localIds轉(zhuǎn)為Base64
                _this.localIds.forEach(localId => {
                   wx.getLocalImgData({
                     localId: localId, // 圖片的localID
                    success: function (res) {
                        _this.dataUrl.push(res.localData) // localData是圖片的base64數(shù)據(jù),可以用img標(biāo)簽顯示
                      // 如果服務(wù)端要求file二進(jìn)制流,這里是baseData64的,可以我們轉(zhuǎn)成file二進(jìn)制流
                       _this.file = _this.dataURLtoBlob(res.localData)
                    }
                  })
                })
              } else {
                  // 安卓可以直接用localIds
               _this.dataUrl = _this.dataUrl.concat(_this.localIds)
               }
            }
         })
       })
     this.$emit('inputChangeCb', _this.file)
},
function dataURLtoBlob(baseurl) {
    let arr = baseurl.split(','),
        mime = arr[0].match(/:(.*?);/)[1],
        bstr = atob(arr[1]),
        n = bstr.length,
        u8arr = new Uint8Array(n);
    while (n--) {
        u8arr[n] = bstr.charCodeAt(n);
    }
    return new Blob([u8arr], {
        type: mime
    });
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容