- 開發(fā)功能
點擊選擇圖片,然后可以單選可進行多選肚吏,使用企業(yè)微信SDK開發(fā)
- 代碼
data () {
return : {
file: null
}
}
created () {
wx.config({
beta: true, // 必須這么寫,否則wx.invoke調(diào)用形式的jsapi會有問題
debug: process.env.NODE_ENV === 'development',
url: 'https://local.gokuaidian.com/wxTest',
// 必填他去,公眾號的唯一標識
appId: 'wx7a7473dc74ee337',
// 必填,生成簽名的時間戳
timestamp: '1645522276608',
// 必填闻伶,生成簽名的隨機串
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, // 默認9
sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有
sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機裸扶,默認二者都有
defaultCameraMode: 'batch', // 表示進入拍照界面的默認模式框都,目前有normal與batch兩種選擇,normal表示普通單拍模式呵晨,batch表示連拍模式魏保,不傳該參數(shù)則為normal模式。從3.0.26版本開始支持front和batch_front兩種值摸屠,其中front表示默認為前置攝像頭單拍模式谓罗,batch_front表示默認為前置攝像頭連拍模式。(注:用戶進入拍照界面仍然可自由切換兩種模式)
isSaveToAlbum: 1, // 整型值季二,0表示拍照時不保存到系統(tǒng)相冊檩咱,1表示自動保存,默認值是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標簽顯示
// 如果服務端要求file二進制流,這里是baseData64的桑嘶,可以我們轉(zhuǎn)成file二進制流
_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)容合作請聯(lián)系作者