UNPKG

tpa_web_component

Version:

TPA Web Components Library

100 lines (90 loc) 3.65 kB
import { getMarkVersion, updateMarkVersion } from "./callingAppApi"; import { requestHead } from "./request"; import { mimeToExtensionMap } from '../constants/mimeMap' export function getUid() { return Date.now().toString(36) + Math.random().toString(36).substr(2, 5); } export function getDeviceInfoFromStorage() { let deviceInfoStr = localStorage.getItem('deviceInfo'); try { return JSON.parse(deviceInfoStr) || {}; } catch (error) { return {}; } } export function selfGetStorage(key) { return new Promise((resolve, reject) => { getMarkVersion({ markKey: key }, (res) => { console.log('selfGetStorage', res) resolve(res.data.version) }) }) } export function selfSetStorage(key, value) { updateMarkVersion({ markKey: key, version: value }) } export function isUpVersion(version, compareVersion) { let currentVerNum = compareVersion .split('.') .map((item) => (item.length == 1 ? '0' + item : item)) .join('') / 1 let targetVerNum = version .split('.') .map((item) => (item.length == 1 ? '0' + item : item)) .join('') / 1 return currentVerNum < targetVerNum } export function isUpThisVer(ver) { const deviceInfo = getDeviceInfoFromStorage() let currentAppVersion = deviceInfo?.appVer || deviceInfo?.appVersion || '1.0.3'; let currentVerNum = currentAppVersion.split('.').map(item => item.length == 1 ? '0' + item : item).join('') / 1; let targetVerNum = ver.split('.').map(item => item.length == 1 ? '0' + item : item).join('') / 1; return currentVerNum > targetVerNum } export function isUpOrEqualThisVer(ver) { const deviceInfo = getDeviceInfoFromStorage() let currentAppVersion = deviceInfo?.appVer || deviceInfo?.appVersion || '1.0.3'; let currentVerNum = currentAppVersion.split('.').map(item => item.length == 1 ? '0' + item : item).join('') / 1; let targetVerNum = ver.split('.').map(item => item.length == 1 ? '0' + item : item).join('') / 1; return currentVerNum >= targetVerNum } export const addKeyFileNameWithSuffix = (list) => { //由于有的link数据path中没有后缀,所以需要有个补充后缀的操作; 分成 path上有后缀,targetFIleName没有,则把path上的后缀给到targetFileName,若 path没有后缀,targetFileName这个属性有值 const requests = []; const temp = []; list = list || []; list.forEach(item => { if (item.msgType != 'link') return; if (!isHasSuffix(item.msgContent)) { requests.push(new Promise((resolve, reject) => { requestHead(item.msgContent).then(resolve).catch(err => { resolve({ headers: { 'content-type': 'get_head_fail' } }) }) })) temp.push(item) } else { if (item.targetFileName && !isHasSuffix(item.targetFileName)) { //若有targetFileName这个属性且有值,并且没有后缀,则用获取到的后缀补充 item.targetFileName = item.targetFileName + getSuffixByStr(item.msgContent) } } }) return Promise.all(requests).then(dataList => { console.log('dataList:', dataList) dataList.forEach((item, index) => { temp[index].fileNameWithSuffix = getFileNameFromPath(temp[index].msgContent) + mimeToExtensionMap.get(item.headers['content-type']) if (temp[index].targetFileName && !isHasSuffix(temp[index].targetFileName)) { // 若有targetFileName这个属性且有值,并且没有后缀,则用获取到的后缀补充 temp[index].targetFileName = temp[index].targetFileName + mimeToExtensionMap.get(item.headers['content-type']) } }) }) }