Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

杨树贤 / kefu_server

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Settings
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Find file
Normal viewHistoryPermalink
Switch branch/tag
  • kefu_server
  • ui
  • kefu_client
  • plugins
  • help.js
help.js 3.69 KB
keith's avatar
into client,admin public
f958b975
 
keith committed 5 years ago
1
var moment = require('moment');
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
2 3
import axios from "axios";
import * as qiniu from "qiniu-js";
keith's avatar
into client,admin public
f958b975
 
keith committed 5 years ago
4 5 6
// eslint-disable-next-line no-undef
var Helps = {};
Helps.install = function (Vue, options) {
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
7
    Vue.prototype.$myMethod = function () {
keith's avatar
into client,admin public
f958b975
 
keith committed 5 years ago
8 9 10
        console.log(options)
    }
    // 格式化日期
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
11
    Vue.prototype.$formatUnixDate = function (unix, format) {
keith's avatar
into client,admin public
f958b975
 
keith committed 5 years ago
12 13 14
        return moment(parseInt(unix + '000')).format(format)
    }
    // 格式化日期(相对日期)
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
15 16
    Vue.prototype.$formatFromNowDate = function (unix, format = "YYYY-MM-DD HH:mm") {
        if (moment().format("YYYYMMDD") == moment(parseInt(unix + '000')).format("YYYYMMDD")) {
keith's avatar
into client,admin public
f958b975
 
keith committed 5 years ago
17 18 19 20
            return "今天 " + moment(parseInt(unix + '000')).format("HH:mm")
        }
        return moment(parseInt(unix + '000')).format(format)
    }
chenxianqi's avatar
update code
e3a7f5bd
 
chenxianqi committed 5 years ago
21 22 23 24
    // 格式化日期(相对日期)
    Vue.prototype.$formatDate = function (unix, format = "YYYY-MM-DD HH:mm:ss") {
        return moment(parseInt(unix + '000')).format(format)
    }
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
25
    Vue.prototype.$robotNickname = function (id) {
keith's avatar
into client,admin public
f958b975
 
keith committed 5 years ago
26 27
        var nickname
        var robots = this.$store.getters.robots
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
28 29
        for (let i = 0; i < robots.length; i++) {
            if (robots[i].id == id) {
keith's avatar
into client,admin public
f958b975
 
keith committed 5 years ago
30 31 32 33 34 35
                nickname = robots[i].nickname
            }
        }
        return nickname
    }

chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
36
    // 上传文件
keith's avatar
update code
b5c1cfa1
 
keith committed 5 years ago
37
    Vue.prototype.$uploadFile = function ({ mode,secret, file, percent, success, fail }) {
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
38 39 40 41 42 43 44 45 46 47 48 49
        var qiniuObservable = null;
        const fileName = parseInt(Math.random() * 10000 * new Date().getTime()) + file.name.substr(file.name.lastIndexOf("."));
        // 系统内置
        if (mode == 1) {
            let fd = new FormData();
            fd.append("file", file);
            fd.append("file_name", fileName);
            axios
                .post("/public/upload", fd)
                .then(res => {
                    if (success) success(res.data.data);
                })
keith's avatar
update code
1142582d
 
keith committed 5 years ago
50 51
                .catch((e) => {
                    if (fail) fail(e);
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
52 53 54 55 56 57 58 59 60 61 62 63 64
                });
        }
        // 七牛云
        else if (mode == 2) {
            let options = {
                quality: 0.92,
                noCompressIfLarger: true,
                maxWidth: 1500
            };
            qiniu.compressImage(file, options).then(data => {
                const observable = qiniu.upload(
                    data.dist,
                    fileName,
keith's avatar
update code
b5c1cfa1
 
keith committed 5 years ago
65
                    secret,
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
                    {},
                    {
                        mimeType: null
                    }
                );
                qiniuObservable = observable.subscribe({
                    next: function (res) {
                        if (percent) percent(res)
                    },
                    error: function () {
                        // 失败后再次使用FormData上传
                        var formData = new FormData();
                        formData.append("fileType", "image");
                        formData.append("fileName", "file");
                        formData.append("key", fileName);
keith's avatar
update code
b5c1cfa1
 
keith committed 5 years ago
81
                        formData.append("token", secret);
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
82 83 84 85 86 87
                        formData.append("file", file);
                        axios
                            .post("https://upload.qiniup.com", formData)
                            .then(() => {
                                if (success) success(fileName);
                            })
keith's avatar
update code
1142582d
 
keith committed 5 years ago
88 89
                            .catch((e) => {
                                if (fail) fail(e);
chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
90 91 92 93 94 95 96 97 98 99 100
                            });
                    },
                    complete: function (res) {
                        if (success) success(res.key);
                    }
                });
            });
        }

        return qiniuObservable

keith's avatar
into client,admin public
f958b975
 
keith committed 5 years ago
101 102
    }

chenxianqi's avatar
update code
825ca73b
 
chenxianqi committed 5 years ago
103

keith's avatar
into client,admin public
f958b975
 
keith committed 5 years ago
104 105
}
export default Helps;