中扬CRM客户关系管理系统
LSH
2024-03-27 92459e3e326488acae77e068c37eb4b96eae5ebf
src/main/webapp/static/js/common.js
@@ -54,6 +54,23 @@
    return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s;
}
// 时间 ==>> 字符串
function dateToStr2(date) {
    var time = new Date(date);
    var y = time.getFullYear();
    var M = time.getMonth() + 1;
    M = M < 10 ? ("0" + M) : M;
    var d = time.getDate();
    d = d < 10 ? ("0" + d) : d;
    var h = time.getHours();
    h = h < 10 ? ("0" + h) : h;
    var m = time.getMinutes();
    m = m < 10 ? ("0" + m) : m;
    var s = time.getSeconds();
    s = s < 10 ? ("0" + s) : s;
    return y + "" + "" + M + "" + d + "" + h + "" + "" + m + "" + s;
}
// 字符串 ===>> 时间
function strToDate(str) {
    var t = Date.parse(str);
@@ -224,3 +241,107 @@
var planByMore;
var priQuoteByMore;
var reimburseOnlineByMore;
function getQueryVariable(variable)
{
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i=0;i<vars.length;i++) {
        var pair = vars[i].split("=");
        if(pair[0] == variable){return pair[1];}
    }
    return(false);
}
var businessTripByMore;
var priOnlineByMore;
var priSalesByMore;
var priQuoteBudgetByMore;
var contractByMore;
function getOssClient() {
    // const client = new OSS({
    //     // yourRegion填写Bucket所在地域。以华东1(杭州)为例,yourRegion填写为oss-cn-hangzhou。
    //     region: "",
    //     // 从STS服务获取的临时访问密钥(AccessKey ID和AccessKey Secret)。
    //     accessKeyId: "",
    //     accessKeySecret: "",
    //     // 从STS服务获取的安全令牌(SecurityToken)。
    //     // stsToken: "yourSecurityToken",
    //     // 填写Bucket名称。
    //     bucket: "",
    // });
    let data
    $.ajax({
        url: baseUrl + "/open/getOssClient",
        headers: {'token': localStorage.getItem('token')},
        data: {},
        method: 'POST',
        async: false,
        success: function (res) {
            if (res.code === 200){
                data = res.data;
            }
        }
    });
    return new OSS(data);
}
//上传文件至OSS
async function putObject(file, uploadProgress) {
    var client = getOssClient()
    if (client == null) {
        return false;
    }
    var filename = dateToStr2(new Date()) + "_" + file.name
    // // 填写Object完整路径。Object完整路径中不能包含Bucket名称。
    // // 您可以通过自定义文件名(例如exampleobject.txt)或文件完整路径(例如exampledir/exampleobject.txt)的形式实现将数据上传到当前Bucket或Bucket中的指定目录。
    // // data对象可以自定义为file对象、Blob数据或者OSS Buffer。
    // const options = {
    //     meta: {temp: "demo"},
    //     mime: "json",
    //     headers: {"Content-Type": "text/plain"},
    // };
    //
    // return await client.put(filename, file, options);
    const options = {
        // 获取分片上传进度、断点和返回值。
        progress: (p, cpt, res) => {
            // console.log(p);
            uploadProgress(p)//回调上传进度
        },
        // 设置并发上传的分片数量。
        parallel: 4,
        // 设置分片大小。默认值为1 MB,最小值为100 KB。
        partSize: 1024 * 1024,
        // headers,
        // 自定义元数据,通过HeadObject接口可以获取Object的元数据。
        meta: {year: 2020, people: "test"},
        mime: "text/plain",
    };
    return await client.multipartUpload(filename, file, {...options});
}
//获取OSS文件URL
function getObjectUrl(filepath) {
    var client = getOssClient()
    if (client == null) {
        return null;
    }
    const domain = filepath.match(/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/im)[0] + "/";//域名部分
    // 配置响应头实现通过URL访问时自动下载文件,并设置下载后的文件名。
    const filename = filepath.split(domain)[1];
    const response = {
        "content-disposition": `attachment; filename=${encodeURIComponent(
            filename
        )}`,
    };
    // 填写Object完整路径。Object完整路径中不能包含Bucket名称。
    const url = client.signatureUrl(filename,{response});
    return url;
}