198 lines
5.4 KiB
JavaScript
198 lines
5.4 KiB
JavaScript
|
|
import Vue from 'vue'
|
|||
|
|
import store from './store'
|
|||
|
|
import App from './App'
|
|||
|
|
import apis from '@/common/vmeitime-http/'
|
|||
|
|
import Json from './Json' //测试用数据
|
|||
|
|
import Vant from 'vant';
|
|||
|
|
import 'vant/lib/index.less';
|
|||
|
|
import $ from '@/jquery-2.2.4.min.js';
|
|||
|
|
import {
|
|||
|
|
devEnv,
|
|||
|
|
} from '@/common/util.js';
|
|||
|
|
Vue.prototype.$imgUrl = '@static/loadingMf.gif'
|
|||
|
|
Vue.use(Vant);
|
|||
|
|
import btn from '@/common/buttonPermission.js'
|
|||
|
|
Vue.directive('btn', btn)
|
|||
|
|
let timeout = null
|
|||
|
|
let debounce = function(fn, wait) {
|
|||
|
|
if (timeout !== null) clearTimeout(timeout)
|
|||
|
|
timeout = setTimeout(fn, wait)
|
|||
|
|
}
|
|||
|
|
Vue.prototype.debounce = debounce
|
|||
|
|
Vue.prototype.$ = $;
|
|||
|
|
let roleList = uni.getStorageSync('roles') || ''
|
|||
|
|
Vue.prototype.roleList = roleList
|
|||
|
|
Vue.prototype.parseTime = function parseTime(time, pattern) {
|
|||
|
|
if (arguments.length === 0 || !time) {
|
|||
|
|
return null
|
|||
|
|
}
|
|||
|
|
const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
|
|||
|
|
let date
|
|||
|
|
if (typeof time === 'object') {
|
|||
|
|
date = time
|
|||
|
|
} else {
|
|||
|
|
if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
|
|||
|
|
time = parseInt(time)
|
|||
|
|
} else if (typeof time === 'string') {
|
|||
|
|
time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.\d{3}/gm), '');
|
|||
|
|
}
|
|||
|
|
if ((typeof time === 'number') && (time.toString().length === 10)) {
|
|||
|
|
time = time * 1000
|
|||
|
|
}
|
|||
|
|
date = new Date(time)
|
|||
|
|
}
|
|||
|
|
const formatObj = {
|
|||
|
|
y: date.getFullYear(),
|
|||
|
|
m: date.getMonth() + 1,
|
|||
|
|
d: date.getDate(),
|
|||
|
|
h: date.getHours(),
|
|||
|
|
i: date.getMinutes(),
|
|||
|
|
s: date.getSeconds(),
|
|||
|
|
a: date.getDay()
|
|||
|
|
}
|
|||
|
|
const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
|
|||
|
|
let value = formatObj[key]
|
|||
|
|
// Note: getDay() returns 0 on Sunday
|
|||
|
|
if (key === 'a') {
|
|||
|
|
return ['日', '一', '二', '三', '四', '五', '六'][value]
|
|||
|
|
}
|
|||
|
|
if (result.length > 0 && value < 10) {
|
|||
|
|
value = '0' + value
|
|||
|
|
}
|
|||
|
|
return value || 0
|
|||
|
|
})
|
|||
|
|
return time_str
|
|||
|
|
}
|
|||
|
|
/**
|
|||
|
|
* 因工具函数属于公司资产, 所以直接在Vue实例挂载几个常用的函数
|
|||
|
|
* 所有测试用数据均存放于根目录json.js
|
|||
|
|
*
|
|||
|
|
* css部分使用了App.vue下的全局样式和iconfont图标,有需要图标库的可以留言。
|
|||
|
|
* 示例使用了uni.scss下的变量, 除变量外已尽量移除特有语法,可直接替换为其它预处理器使用
|
|||
|
|
*/
|
|||
|
|
// #ifdef H5
|
|||
|
|
// 提交前需要注释 本地调试使用
|
|||
|
|
let vconShow = uni.getStorageSync('1003080_vconShow') == null ? '0' : uni.getStorageSync('1003080_vconShow');
|
|||
|
|
if (vconShow != 0) {
|
|||
|
|
const vconsole = require('vconsole')
|
|||
|
|
Vue.prototype.$vconsole = new vconsole() // 使用vconsole
|
|||
|
|
}
|
|||
|
|
// #endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
// if (/(Android)/i.test(navigator.userAgent)) {
|
|||
|
|
// Vue.prototype.wxSdk=jWeixin;
|
|||
|
|
// }
|
|||
|
|
// if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
|
|||
|
|
// Vue.prototype.wxSdk=wx;
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
|
|||
|
|
const msg = (title, duration = 2500, mask = false, icon = 'none') => {
|
|||
|
|
//统一提示方便全局修改
|
|||
|
|
if (Boolean(title) === false) {
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
uni.showToast({
|
|||
|
|
title,
|
|||
|
|
duration,
|
|||
|
|
mask,
|
|||
|
|
icon
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
const json = type => {
|
|||
|
|
//模拟异步请求数据
|
|||
|
|
return new Promise(resolve => {
|
|||
|
|
setTimeout(() => {
|
|||
|
|
resolve(Json[type]);
|
|||
|
|
}, 500)
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
const prePage = () => {
|
|||
|
|
let pages = getCurrentPages();
|
|||
|
|
let prePage = pages[pages.length - 2];
|
|||
|
|
// #ifdef H5
|
|||
|
|
return prePage;
|
|||
|
|
// #endif
|
|||
|
|
return prePage.$vm;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
const formatter = (value) => {
|
|||
|
|
if (/\D/.test(value)) return `${value}`;
|
|||
|
|
if (value >= 10000) return `${(value / 10000).toFixed(2)}万`;
|
|||
|
|
return `${value}`;
|
|||
|
|
}
|
|||
|
|
Vue.prototype.replaceImgUrls = (url) => {
|
|||
|
|
let replacedUrl = ''
|
|||
|
|
if (!devEnv) {
|
|||
|
|
const originalUrl = url.replace('webImageDir', 'appImageDir');
|
|||
|
|
const newIpAddress = '127.0.0.1';
|
|||
|
|
const newPort = uni.getStorageSync("ZHHQ_HLJ_PORT");
|
|||
|
|
replacedUrl = originalUrl.replace(/\/\/([\d]+\.[\d]+\.[\d]+\.[\d]+):(\d+)/,
|
|||
|
|
`//${newIpAddress}:${newPort}`);
|
|||
|
|
} else {
|
|||
|
|
replacedUrl = url
|
|||
|
|
}
|
|||
|
|
return replacedUrl
|
|||
|
|
}
|
|||
|
|
const serviceUrl = "http://localhost:8080/";
|
|||
|
|
|
|||
|
|
Vue.config.productionTip = false
|
|||
|
|
Vue.prototype.$fire = new Vue();
|
|||
|
|
Vue.prototype.$store = store;
|
|||
|
|
Vue.prototype.$api = {
|
|||
|
|
msg,
|
|||
|
|
json,
|
|||
|
|
prePage,
|
|||
|
|
formatter,
|
|||
|
|
serviceUrl
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
App.mpType = 'app'
|
|||
|
|
Vue.prototype.$apis = apis
|
|||
|
|
// 开发模式
|
|||
|
|
Vue.prototype.ISDEV = false
|
|||
|
|
|
|||
|
|
/* let jweixin = require('ts-jwsdk') ;
|
|||
|
|
Vue.prototype.$wx = jweixin; */
|
|||
|
|
|
|||
|
|
const app = new Vue({
|
|||
|
|
...App
|
|||
|
|
})
|
|||
|
|
app.$mount()
|
|||
|
|
|
|||
|
|
//记录选择图片备份
|
|||
|
|
// wx.chooseImage({
|
|||
|
|
// count: 3, // 默认9
|
|||
|
|
// sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
|||
|
|
// sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
|
|||
|
|
// quality: 0.7, //压缩质量,范围0~1,数值越小,质量越低,压缩率越高(仅对jpg有效)
|
|||
|
|
// success: function (res) {
|
|||
|
|
// let localIds = res.localIds; // 返回选定照片的本地ID列表
|
|||
|
|
// if(typeof localIds=='string'){
|
|||
|
|
// wxSdk.getLocalImgData({
|
|||
|
|
// localId: localIds, // 图片的localID
|
|||
|
|
// success: function (res) {
|
|||
|
|
// var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
|
|||
|
|
// if(_this.imgs.length<3){
|
|||
|
|
// _this.imgs.push(localData);
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
// });
|
|||
|
|
// }else{
|
|||
|
|
// for(var i=0;i<localIds.length;i++){
|
|||
|
|
// wxSdk.getLocalImgData({
|
|||
|
|
// localId: localIds[i], // 图片的localID
|
|||
|
|
// success: function (res) {
|
|||
|
|
// var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
|
|||
|
|
// if(_this.imgs.length<3){
|
|||
|
|
// _this.imgs.push(localData);
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
// });
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
// }
|
|||
|
|
// });
|