12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- export const blobToJson = (blob) => {
- return new Promise((resolve, reject) => {
- const reader = new FileReader()
- reader.onload = function (event) {
- const jsonString = event.target.result
- const jsonObject = JSON.parse(jsonString)
- resolve(jsonObject)
- }
- reader.onerror = function (error) {
- reject(error)
- }
- reader.readAsText(blob)
- })
- }
- // 判断是图片还是视频
- export const checkIsImage = (url) => {
- var link = new URL(url)
- var path = link.pathname
- var extension = path.split('.').pop().toLowerCase()
- var imageExtensions = ['jpg', 'jpeg', 'gif', 'png']
- var videoExtensions = ['mp4', 'wmv', 'avi', 'mov']
- // 图片
- if (imageExtensions.includes(extension)) {
- return true
- }
- // 视频
- if (videoExtensions.includes(extension)) {
- return false
- }
- return null
- }
- // 预览文件
- import { Base64 } from 'js-base64'
- export const previewFile = (url) => {
- const baseUrl = import.meta.env.VITE_PREVIEW_URL
- window.open(`${baseUrl}/onlinePreview?url=${encodeURIComponent(Base64.encode(url))}`)
- }
- export const generateUUID = () => {
- var d = new Date().getTime()
- if (window.performance && typeof window.performance.now === "function") {
- d += performance.now(); //use high-precision timer if available
- }
- var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
- var r = (d + Math.random() * 16) % 16 | 0
- d = Math.floor(d / 16)
- return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16)
- })
- return uuid.replace(/-/g, "")
- }
|