|
|
@@ -27,7 +27,7 @@
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
import { computed, PropType } from 'vue'
|
|
|
-import { Image, Icon, Loading, showFailToast } from 'vant'
|
|
|
+import { Image, Icon, Loading, showFailToast, showDialog } from 'vant'
|
|
|
import { UploadFile } from './types'
|
|
|
import h5plus from '@/utils/h5plus'
|
|
|
|
|
|
@@ -101,10 +101,30 @@ const checkImagesPermission = () => {
|
|
|
} else {
|
|
|
h5plus.requestPermission({
|
|
|
permissions,
|
|
|
- errorMessage: '相册权限未授权',
|
|
|
- refuseMessage: '访问相册被拒绝',
|
|
|
- onSuccess: () => resolve(),
|
|
|
- onError: (error) => reject(error)
|
|
|
+ onSuccess: () => {
|
|
|
+ resolve()
|
|
|
+ },
|
|
|
+ onError: (error) => {
|
|
|
+ showDialog({
|
|
|
+ message: '需要相册权限才能正常使用该功能,是否前往设置页面开启权限?',
|
|
|
+ showCancelButton: true,
|
|
|
+ cancelButtonText: '否',
|
|
|
+ confirmButtonText: '是'
|
|
|
+ }).then(() => {
|
|
|
+ const main = plus.android.runtimeMainActivity()
|
|
|
+ const Intent = plus.android.importClass('android.content.Intent')
|
|
|
+ const Settings = plus.android.importClass('android.provider.Settings')
|
|
|
+ const Uri = plus.android.importClass('android.net.Uri')
|
|
|
+
|
|
|
+ const intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
|
|
|
+ const uri = Uri.fromParts('package', main.getPackageName(), null)
|
|
|
+ intent.setData(uri)
|
|
|
+
|
|
|
+ main.startActivity(intent)
|
|
|
+ }).finally(() => {
|
|
|
+ reject(error)
|
|
|
+ })
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
@@ -112,7 +132,6 @@ const checkImagesPermission = () => {
|
|
|
resolve()
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
}
|
|
|
|
|
|
// https://www.html5plus.org/doc/zh_cn/gallery.html#plus.gallery.pick
|
|
|
@@ -154,8 +173,6 @@ const chooseFile = (index = -1) => {
|
|
|
filter: props.fileType
|
|
|
})
|
|
|
})
|
|
|
- }).catch((error) => {
|
|
|
- showFailToast(error)
|
|
|
})
|
|
|
}
|
|
|
|