tpa_web_component
Version:
TPA Web Components Library
100 lines (90 loc) • 3.65 kB
JavaScript
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'])
}
})
})
}