flinfo/dc-App/unpackage/cache/app-android/uts/uni_modules/lime-file-utils/index.kt.map
2025-03-01 10:26:49 +08:00

1 line
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["uni_modules/lime-file-utils/utssdk/app-android/index.uts","uni_modules/lime-file-utils/utssdk/interface.uts"],"sourcesContent":["import Base64 from \"android.util.Base64\";\r\nimport MimeTypeMap from \"android.webkit.MimeTypeMap\";\r\nimport ByteArrayOutputStream from 'java.io.ByteArrayOutputStream';\r\n\r\nimport File from \"java.io.File\";\r\nimport FileInputStream from \"java.io.FileInputStream\";\r\nimport FileOutputStream from \"java.io.FileOutputStream\";\r\nimport InputStream from 'java.io.InputStream';\r\n\r\n// import IOException from \"java.io.IOException\";\r\nimport { ProcessFileOptions, NullableString } from '../interface'\r\ntype NullByteArray = ByteArray | null\r\n\r\nfunction inputStreamToArray(inputStream : InputStream) : NullByteArray {\r\n\ttry {\r\n\t\tlet bos : ByteArrayOutputStream = new ByteArrayOutputStream()\r\n\t\tlet bytes : ByteArray = new ByteArray(1024)\r\n\r\n\t\tdo {\r\n\t\t\tlet length = inputStream.read(bytes)\r\n\t\t\tif (length != -1) {\r\n\t\t\t\tbos.write(bytes, 0, length)\r\n\t\t\t} else {\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t} while (true)\r\n\t\tbos.close()\r\n\t\treturn bos.toByteArray()\r\n\t} catch (e : Throwable) {\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nfunction getMimeType(filePath : string) : NullableString {\r\n\tconst extension = MimeTypeMap.getFileExtensionFromUrl(filePath);\r\n\tif (extension == null) return null\r\n\treturn MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);\r\n}\r\n\r\nexport function getResourcePath(path : string) : string | null {\r\n\tlet uri = path\r\n\tif (uri.startsWith(\"http\") || uri.startsWith(\"<svg\") || uri.startsWith(\"data:image/\")) {\r\n\t\treturn uri\r\n\t}\r\n\tif (uri.startsWith(\"file://\")) {\r\n\t\turi = uri.substring(\"file://\".length)\r\n\t} else if (uri.startsWith(\"unifile://\")) {\r\n\t\turi = UTSAndroid.convert2AbsFullPath(uri)\r\n\t} else {\r\n\t\turi = UTSAndroid.convert2AbsFullPath(uri)\r\n\t\tif (uri.startsWith(\"/android_asset/\")) {\r\n\t\t\ttry {\r\n\t\t\t\tconst context = UTSAndroid.getUniActivity()!;\r\n\t\t\t\tconst inputStream = context.getResources()!.getAssets().open(path.replace('/android_asset/', ''))\r\n\t\t\t\tinputStream.close();\r\n\t\t\t\treturn uri\r\n\t\t\t} catch (e) {\r\n\t\t\t\treturn null\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tconst file = new File(uri)\r\n\tif (file.exists()) {\r\n\t\treturn uri\r\n\t}\r\n\treturn null\r\n}\r\n\r\nexport function fileToBase64(filePath : string) : NullableString {\r\n\ttry {\r\n\t\tconst context = UTSAndroid.getUniActivity()!;\r\n\t\tlet path = filePath;\r\n\t\tlet imageBytes : NullByteArray = null\r\n\r\n\t\tif (path.startsWith(\"file://\")) {\r\n\t\t\tpath = path.replace(\"file://\", \"\")\r\n\t\t} else {\r\n\t\t\t// if(!path.startsWith(\"/storage\") && !path.startsWith(\"/android_asset/\"))\r\n\t\t\t// path = UTSAndroid.getResourcePath(path)\r\n\t\t\tpath = UTSAndroid.convert2AbsFullPath(path)\r\n\t\t}\r\n\r\n\t\tif (path.startsWith(\"/android_asset/\")) {\r\n\t\t\timageBytes = inputStreamToArray(context.getResources()!.getAssets().open(path.replace('/android_asset/', '')))\r\n\t\t} else {\r\n\t\t\tconst file = new File(path)\r\n\t\t\tif (file.exists()) {\r\n\t\t\t\tlet fis : FileInputStream = new FileInputStream(file);\r\n\t\t\t\timageBytes = inputStreamToArray(fis);\r\n\t\t\t\tfis.close();\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (imageBytes == null) return null\r\n\t\treturn Base64.encodeToString(imageBytes, Base64.DEFAULT)\r\n\t} catch (e) {\r\n\t\treturn null\r\n\t}\r\n}\r\nexport function fileToDataURL(filePath : string) : NullableString {\r\n\tconst base64 = fileToBase64(filePath)\r\n\tconst mimeType = getMimeType(filePath);\r\n\tif (base64 == null || mimeType == null) return null;\r\n\treturn \"data:\" + mimeType + \";base64,\" + base64;\r\n}\r\n\r\n\r\nfunction getFileExtensionFromDataURL(dataURL : string) : string {\r\n\tconst commaIndex = dataURL.indexOf(\",\");\r\n\tconst mimeType = dataURL.substring(0, commaIndex).replace(\"data:\", \"\").replace(\";base64\", \"\");\r\n\tconst mimeTypeParts = mimeType.split(\"/\");\r\n\treturn mimeTypeParts[1];\r\n}\r\nfunction dataURLToBytes(dataURL : string) : ByteArray {\r\n\tconst commaIndex = dataURL.indexOf(\",\");\r\n\tconst base64 = dataURL.substring(commaIndex + 1);\r\n\treturn Base64.decode(base64, Base64.DEFAULT);\r\n}\r\n\r\nexport function dataURLToFile(dataURL : string, filename : NullableString = null) : NullableString {\r\n\ttry {\r\n\t\tconst bytes = dataURLToBytes(dataURL);\r\n\t\tconst name = filename ?? `${Date.now()}.${getFileExtensionFromDataURL(dataURL)}`;\r\n\t\tconst cacheDir = UTSAndroid.getAppCachePath()!;\r\n\t\tconst destFile = new File(cacheDir, name);\r\n\t\tconst path = new File(cacheDir); \r\n\t\tif(!path.exists()){\r\n\t\t\tpath.mkdir(); \r\n\t\t}\r\n\t\tconst fos = new FileOutputStream(destFile)\r\n\t\tfos.write(bytes);\r\n\t\tfos.close();\r\n\t\treturn `${cacheDir}${name}`\r\n\t} catch (e) {\r\n\t\tconsole.error('dataURLToFile::', e)\r\n\t\treturn null\r\n\t}\r\n}\r\n\r\n\r\n// function requestSystemPermission(fun:()=> void) {\r\n// \tlet permissionNeed = [\"android.permission.WRITE_EXTERNAL_STORAGE\"]\r\n// \tUTSAndroid.requestSystemPermission(UTSAndroid.getUniActivity()!, permissionNeed, function (allRight : boolean, _ : string[]) {\r\n// \t\tif (allRight) {\r\n// \t\t\t// 权限请求成功\r\n// \t\t\tconsole.log(`allRight`, allRight)\r\n// \t\t\tfun()\r\n// \t\t} else {\r\n// \t\t\t//用户拒绝了部分权限\r\n// \t\t}\r\n// \t}, function (_ : boolean, _ : string[]) {\r\n// \t\t//用户拒绝了部分权限\r\n// \t})\r\n// }\r\n\r\n\r\nexport function processFile(options : ProcessFileOptions) {\r\n\r\n\tif (options.type == 'toBase64') {\r\n\t\tconst res = fileToBase64(options.path)\r\n\t\tconst err = 'fileToBase64: 解析失败'\r\n\t\tif (res != null) {\r\n\t\t\toptions.success?.(res)\r\n\t\t\toptions.complete?.(res)\r\n\t\t} else {\r\n\t\t\toptions.complete?.(err)\r\n\t\t\toptions.fail?.(err)\r\n\t\t}\r\n\t} else if (options.type == 'toDataURL') {\r\n\t\tconst res = fileToDataURL(options.path)\r\n\t\tconst err = 'fileToDataURL: 解析失败'\r\n\t\tif (res != null) {\r\n\t\t\toptions.success?.(res)\r\n\t\t\toptions.complete?.(res)\r\n\t\t} else {\r\n\t\t\toptions.complete?.(err)\r\n\t\t\toptions.fail?.(err)\r\n\t\t}\r\n\t} else if (options.type == 'toFile') {\r\n\t\tconst res = dataURLToFile(options.path, options.filename)\r\n\t\tconst err = 'dataURLToFile: 解析失败'\r\n\t\tif (res != null) {\r\n\t\t\toptions.success?.(res)\r\n\t\t\toptions.complete?.(res)\r\n\t\t} else {\r\n\t\t\toptions.complete?.(err)\r\n\t\t\toptions.fail?.(err)\r\n\t\t}\r\n\t}\r\n}","// @ts-nocheck\r\nexport type NullableString = string | null\r\nexport type ConversionType = 'toBase64' | 'toDataURL' | 'toFile'\r\nexport type ProcessFileOptions = {\r\n type : ConversionType\r\n path: string\r\n filename?: string\r\n success ?: (res : string) => void\r\n fail ?: (res : any) => void\r\n complete ?: (res : any) => void\r\n}\r\n\r\n\r\n\r\n/**\r\n * 错误码\r\n * 根据uni错误码规范要求建议错误码以90开头以下是错误码示例\r\n * - 9010001 错误信息1\r\n * - 9010002 错误信息2\r\n */\r\nexport type ProcessFileErrorCode = 9010001 | 9010002;\r\n/**\r\n * myApi 的错误回调参数\r\n */\r\nexport interface ProcessFileFail extends IUniError {\r\n errCode : ProcessFileErrorCode\r\n};\r\n"],"names":[],"mappings":"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"}