/**
* 复制文本
* @param {*} domTarget 要复制的目标dom
* @param {*} targetText 要copy到粘贴板的文本
*/
async copyText(domTarget, targetText = '') {
return new Promise((fulfill, reject) => {
let text = targetText;
// console.log('text:', text);
// 如果有传dom
if (domTarget) {
text = domTarget.value || domTarget.innerText;
domTarget.select();
try {
document.execCommand('copy');
fulfill(true);
} catch (e) {
console.log('该浏览器不支持copy');
fulfill(false);
}
} else {
// 如果没传dom
if (navigator.clipboard) {
// console.log('clipboard');
navigator.clipboard
.writeText(text)
.then(() => {
fulfill(true);
})
.catch(err => {
fulfill(false);
});
} else {
// console.log('exec', text);
// 创建一个临时文本域
const textDom = document.createElement('input');
textDom.style.position = 'fixed';
textDom.style.bottom = '0';
textDom.style.right = '0';
textDom.style.zIndex = '-222';
document.body.appendChild(textDom);
textDom.value = text;
textDom.select();
try {
document.execCommand('copy');
document.body.removeChild(textDom);
fulfill(true);
} catch (e) {
document.body.removeChild(textDom);
console.log('该浏览器不支持copy');
fulfill(false);
}
}
}
});
},
formatMoney(value, maxPoint = 2) {
maxPoint = Number(maxPoint) || 0;
return Number(value)
.toFixed(maxPoint)
.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
},