first commit

This commit is contained in:
annnj-company
2026-04-17 18:29:53 +08:00
parent e49fa5a215
commit 130c1026c4
5615 changed files with 1639145 additions and 0 deletions

122
pgapp/utils/common.js Normal file
View File

@@ -0,0 +1,122 @@
/**
* 显示消息提示框
* @param content { icon:'none/loading/sucess/fail/exception/', title:'(您要显示的文字消息)'} 提示的标题
*/
export function toast(content) {
uni.showToast({
icon:'none',
title: content
})
}
/**
* 显示模态弹窗
* @param content 提示的标题
*/
export function showConfirm(content) {
return new Promise((resolve, reject) => {
uni.showModal({
title: '提示',
content: content,
cancelText: '取消',
confirmText: '确定',
success: function(res) {
resolve(res)
}
})
})
}
/**
* 解密
* @param {*} hexString
* @returns
*/
export function decrypto( hexString ) {
return JSON.parse( Buffer.from(hexString, 'hex').toString('binary') )
}
/**
* 加密
* @param {*} jsonString
* @returns
*/
export function encrypto (jsonString) {
return Buffer.from(JSON.stringify(jsonString), 'binary').toString('hex')
}
/**
* 参数处理
* @param params 参数
*/
export function tansParams(params) {
let result = ''
for (const propName of Object.keys(params)) {
const value = params[propName]
var part = encodeURIComponent(propName) + "="
if (value !== null && value !== "" && typeof (value) !== "undefined") {
if (typeof value === 'object') {
for (const key of Object.keys(value)) {
if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {
let params = propName + '[' + key + ']'
var subPart = encodeURIComponent(params) + "="
result += subPart + encodeURIComponent(value[key]) + "&"
}
}
} else {
result += part + encodeURIComponent(value) + "&"
}
}
}
return result
}
/**
* 复制粘贴板
* @param {String} text 需要复制的dom元素
*/
export const copyFn = (text) => {
// 处理 Vue 组件实例(如果 ref 绑定在组件上)
if (text && text.$el && text.$el instanceof Node) {
text = text.$el;
}
// 严格验证节点类型
if (!(text instanceof Node) || typeof text.nodeType !== 'number') {
uni.showToast({ title: '复制失败:无效内容', icon: 'none' });
return;
}
let range, selection;
try {
if (document.body.createTextRange) {
range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if (window.getSelection) {
selection = window.getSelection();
range = document.createRange();
// 再次验证节点有效性
if (text.isConnected) {
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
} else {
throw new Error('节点已从DOM中移除');
}
} else {
throw new Error('浏览器不支持复制操作');
}
const success = document.execCommand('Copy');
uni.showToast({ title: success ? '复制成功' : '复制失败', icon: 'none' });
} catch (e) {
uni.showToast({ title: `复制失败:${e.message}`, icon: 'none' });
console.error('复制错误:', e);
} finally {
// 清除选中状态避免iOS等设备上的视觉残留
if (selection && range) {
setTimeout(() => selection.removeAllRanges(), 100);
}
}
}