const takePic = async(num = 1) => { const res = await requestPermissions(readPic) if (res && res.success) { const [err, data] = await uni.chooseImage({ count: num, sizeType: ['original', 'compressed'] // 可以指定是原图还是压缩图,默认二者都有 }) if (!err) { const p = [] for (const index in data.tempFiles) { // 过滤超过100M的图片 if (data.tempFiles[index].size <= 1024 * 1024 * 100) { p.push(data.tempFilePaths[index]) } } // const p = data.tempFilePaths if (p) { return p } } } else { uni.showModal({ content: '需要存储权限,请授权~', success: function(res) { if (res.confirm) { reqAndPermissions(readPic) } } }) } return null }
// 申请权限 export const requestPermissions = (ps = ['android.permission.ACCESS_FINE_LOCATION']) => { // #ifdef APP-PLUS return new Promise((resolve, reject) => { if (uni.getSystemInfoSync().platform === 'android') { plus.android.requestPermissions(ps, e => { if (e.granted.length > 0) { resolve({ success: true }) } else { let deny = -1 deny = e.deniedPresent.length > 0 ? 1 : deny // 权限被临时拒绝 deny = e.deniedAlways.length > 0 ? 2 : deny // 权限被永久拒绝 resolve({ deny, success: false }) } }, error => { resolve({ error, success: false }) }) } else { resolve({ success: true }) } }) // #endif // #ifndef APP-PLUS // eslint-disable-next-line no-unreachable return new Promise((resolve, reject) => { resolve({ success: true }) }) // #endif }