Files
PC-202306242200\Administrator f529129c93 first commit
2026-03-31 10:53:43 +08:00

108 lines
2.6 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import {
getOssUploadParams
} from "@/api/api.js"
//预览图片
export const lookImg = (e) => {
uni.previewImage({
urls: e
});
}
//拨打电话
export const call = (e) => uni.makePhoneCall({
phoneNumber: e
});
// 剪贴板
export const copy = (e) => uni.setClipboardData({
data: e,
success: function() {
console.log('success');
}
});;
//获取超链接参数
export const urlQuery = (e) => {
let search = e
search = search.split('?')[1];
const pairs = search ? search.split('&') : [];
const query = {};
for (let i = 0; i < pairs.length; ++i) {
const [key, value] = pairs[i].split('=');
query[key] = query[key] || decodeURIComponent(value);
}
return query
};
export const uploadFiles = (urls) => {
return new Promise(async (resolve, reject) => {
let res = await getOssUploadParams()
const fd = {
policy: res.policy,
OSSAccessKeyId: res.accessId,
success_action_status: 200,
signature: res.signature,
key: res.dir + Date.now() + Math.floor(100000 + Math.random() *
900000) + '.' +
urls.substring(urls.lastIndexOf(".") + 1),
};
uni.uploadFile({
url: res.host, // Example, not a real endpoint
filePath: urls,
header: {
"content-type": 'multipart/form-data'
},
name: 'file',
formData: fd,
success: (_res) => {
resolve(res.host + '/' + fd.key);
},
fail: (err) => {
console.log(err);
reject(err);
}
});
console.log();
});
}
export function getUrlParam(url, paramName) {
// 正则表达式模式用于匹配URL中的参数部分。正则表达式的含义是匹配不包含 ?、&、= 的字符作为参数名,之后是等号和不包含 & 的字符作为参数值
let pattern = /([^?&=]+)=([^&]+)/g;
let params = {};
// match用于存储正则匹配的结果
let match;
// while 循环和正则表达式 exec 方法来迭代匹配URL中的参数
while ((match = pattern.exec(url)) !== null) {
// 在字符串url中循环匹配pattern并对每个匹配项进行解码操作将解码后的键和值分别存储在key和value变量中
let key = decodeURIComponent(match[1]);
let value = decodeURIComponent(match[2]);
if (params[key]) {
if (Array.isArray(params[key])) {
params[key].push(value);
} else {
params[key] = [params[key], value];
}
} else {
// 参数名在 params 对象中不存在,将该参数名和对应的值添加到 params 对象中
params[key] = value;
}
}
if (!paramName) {
// 没有传入参数名称, 返回含有所有参数的对象params
return params;
} else {
if (params[paramName]) {
return params[paramName];
} else {
return '';
}
}
}