import Vue from 'vue';
import App from './App';
import uView from 'uview-ui';
Vue.use(uView);
import { myRequest } from './util/api.js';
Vue.prototype.$myRequest = myRequest;

Vue.config.productionTip = false;

App.mpType = 'app';

import config from './util/neutral.js';
Vue.prototype.$isneutral = config.isneutral;
Vue.prototype.$imageURL = config.imageURL;// 线上图片服务器路径常量

import { QueryPermission } from './util/QueryPermission.js';

Vue.prototype.$QueryPermission = QueryPermission;
// 自定义卡片
import customCard from './components/customCard/customCard.vue';
Vue.component('customCard', customCard);
Vue.filter('timeFormat', function (time,fmt = 'yyyy-MM-dd hh:mm:ss') {
  function fun(a) {
    return String(a).length == 1 ? '0' + a : a;
  }
  let $this = new Date(time*1000);
  let o = {
    'M+': $this.getMonth() + 1,
    'd+': $this.getDate(),
    'h+': $this.getHours(),
    'm+': $this.getMinutes(),
    's+': $this.getSeconds(),
    'q+': Math.floor(($this.getMonth() + 3) / 3),
    S: $this.getMilliseconds(),
  };
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(
      RegExp.$1,
      ($this.getFullYear() + '').substr(4 - RegExp.$1.length)
    );
  }
  for (var k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) {
      fmt = fmt.replace(
        RegExp.$1,
        RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)
      );
    }
  }
  return fmt;
});

Vue.prototype.formatTime = function (thistime, fmt = 'yyyy-MM-dd hh:mm:ss') {
  let $this = new Date(thistime);
  let o = {
    'M+': $this.getMonth() + 1,
    'd+': $this.getDate(),
    'h+': $this.getHours(),
    'm+': $this.getMinutes(),
    's+': $this.getSeconds(),
    'q+': Math.floor(($this.getMonth() + 3) / 3),
    S: $this.getMilliseconds(),
  };
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(
      RegExp.$1,
      ($this.getFullYear() + '').substr(4 - RegExp.$1.length)
    );
  }
  for (var k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) {
      fmt = fmt.replace(
        RegExp.$1,
        RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)
      );
    }
  }
  return fmt;
};

const app = new Vue({
  ...App,
});
app.$mount();
