修复:解决google play的图片和视频权限要求

This commit is contained in:
2025-12-05 13:41:01 +08:00
parent f34bae22e4
commit abb7a81b98
16 changed files with 1179 additions and 195 deletions

View File

@@ -1,5 +1,6 @@
import { isArray, isDef, isFunction } from '../common/util'
import type { ChooseFile, ChooseFileOption, UploadFileItem, UploadMethod, UploadStatusType } from '../wd-upload/types'
import { chooseSystemMedia } from "@/uni_modules/uni-chooseSystemImage"
export const UPLOAD_STATUS: Record<string, UploadStatusType> = {
PENDING: 'pending',
@@ -244,15 +245,26 @@ export function useUpload(): UseUploadReturn {
fail: reject
})
// #endif
// #ifndef MP-WEIXIN
uni.chooseImage({
// #ifdef H5
uni.chooseImage({
count: multiple ? maxCount : 1,
sizeType,
sourceType,
extension,
success: (res) => resolve(formatImage(res)),
fail: reject
})
// #endif
// #ifdef APP-PLUS
chooseSystemMedia({
count: multiple ? maxCount : 1,
sizeType,
sourceType,
// #ifdef H5
extension,
// #endif
success: (res) => resolve(formatImage(res)),
mediaType: ['image'],
success: (res) => {
const tempFiles = res.filePaths.map((item: any) => ({
path: item
}))
resolve(formatImage({ tempFiles }))
},
fail: reject
})
// #endif
@@ -269,19 +281,30 @@ export function useUpload(): UseUploadReturn {
fail: reject
})
// #endif
// #ifndef MP-WEIXIN
// #ifdef H5
uni.chooseVideo({
sourceType,
compressed,
maxDuration,
camera,
// #ifdef H5
extension,
// #endif
success: (res) => resolve(formatVideo(res)),
fail: reject
})
// #endif
// #ifdef APP-PLUS
chooseSystemMedia({
count: multiple ? maxCount : 1,
mediaType: ['video'],
success: (res) => {
const tempFiles = res.filePaths.map((item: any) => ({
path: item
}))
resolve(formatImage({ tempFiles }))
},
fail: reject
})
// #endif
break
// #ifdef MP-WEIXIN
case 'media':
@@ -324,7 +347,6 @@ export function useUpload(): UseUploadReturn {
fail: reject
})
// #endif
break
default:
// #ifdef MP-WEIXIN
@@ -338,14 +360,20 @@ export function useUpload(): UseUploadReturn {
fail: reject
})
// #endif
// #ifndef MP-WEIXIN
// #ifdef H5
uni.chooseImage({
count: multiple ? maxCount : 1,
sizeType,
sourceType,
// #ifdef H5
extension,
// #endif
success: (res) => resolve(formatImage(res)),
fail: reject
})
// #endif
// #ifdef APP-PLUS
chooseSystemMedia({
count: multiple ? maxCount : 1,
mediaType: ['image'],
success: (res) => resolve(formatImage(res)),
fail: reject
})