|
|
|
import Vue from 'vue'
|
|
|
|
import App from './App'
|
|
|
|
|
|
|
|
// import router from "./router";
|
|
|
|
import store from "./store";
|
|
|
|
import schema from "async-validator";
|
|
|
|
import dialog from "./utils/dialog";
|
|
|
|
import cookie from "@/utils/store/cookie";
|
|
|
|
import cuCustom from '@/components/colorui/components/cu-custom.vue'
|
|
|
|
// // import "@/assets/iconfont/iconfont";
|
|
|
|
// import "@/assets/iconfont/iconfont.css";
|
|
|
|
// // import "@/assets/js/media_750";
|
|
|
|
// // import "vue-ydui/dist/ydui.base.css";
|
|
|
|
// import "@/assets/css/base.less";
|
|
|
|
// import "@/assets/css/reset.less";
|
|
|
|
// import "@/assets/css/style.less";
|
|
|
|
|
|
|
|
// // 引入微信jssdk
|
|
|
|
// var jweixin = require('jweixin-module')
|
|
|
|
// jweixin.ready(function(){
|
|
|
|
// // TODO
|
|
|
|
// });
|
|
|
|
|
|
|
|
import {
|
|
|
|
parseRoute,
|
|
|
|
_router,
|
|
|
|
parseQuery
|
|
|
|
} from "@/utils";
|
|
|
|
import {
|
|
|
|
VUE_APP_RESOURCES_URL,
|
|
|
|
VUE_APP_API_URL
|
|
|
|
} from "@/config";
|
|
|
|
Vue.component('cu-custom', cuCustom);
|
|
|
|
Vue.config.productionTip = false;
|
|
|
|
Vue.config.devtools = process.env.NODE_ENV !== "production";
|
|
|
|
|
|
|
|
Vue.prototype.$validator = function (rule) {
|
|
|
|
return new schema(rule);
|
|
|
|
};
|
|
|
|
|
|
|
|
Vue.config.productionTip = false
|
|
|
|
App.mpType = 'app'
|
|
|
|
Vue.prototype.$store = store
|
|
|
|
|
|
|
|
const app = new Vue(App)
|
|
|
|
|
|
|
|
Vue.mixin({
|
|
|
|
onLoad() {
|
|
|
|
const {
|
|
|
|
$mp
|
|
|
|
} = this.$root
|
|
|
|
this._route = parseRoute($mp)
|
|
|
|
// this.$VUE_APP_RESOURCES_URL = VUE_APP_RESOURCES_URL;
|
|
|
|
this._data.$VUE_APP_RESOURCES_URL = VUE_APP_RESOURCES_URL;
|
|
|
|
},
|
|
|
|
onShow() {
|
|
|
|
_router.app = this
|
|
|
|
_router.currentRoute = this._route
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
Object.defineProperty(Vue.prototype, '$yrouter', {
|
|
|
|
get() {
|
|
|
|
return _router
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
Object.defineProperty(Vue.prototype, '$yroute', {
|
|
|
|
get() {
|
|
|
|
return this._route
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
Vue.prototype.$VUE_APP_RESOURCES_URL = VUE_APP_RESOURCES_URL
|
|
|
|
Vue.prototype.$VUE_APP_API_URL = VUE_APP_API_URL
|
|
|
|
Vue.component('cu-custom', cuCustom);
|
|
|
|
|
|
|
|
|
|
|
|
// #ifdef APP-PLUS
|
|
|
|
// App平台编译的代码
|
|
|
|
Vue.prototype.$deviceType = 'app'
|
|
|
|
store.commit('updateDevicetype', 'app')
|
|
|
|
Vue.prototype.$platform = uni.getSystemInfoSync().platform
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
// #ifdef MP-WEIXIN
|
|
|
|
// 微信小程序编译的代码
|
|
|
|
Vue.prototype.$deviceType = 'routine'
|
|
|
|
store.commit('updateDevicetype', 'routine')
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
// !!! ps 不建议在 template 中使用 $deviceType 去判断当前环境,很有可能出现 $deviceType 为 undefined 导致判断出错的问题,可以在 script 模块中正常使用
|
|
|
|
// 建议通过 store 去获取 $deviceType 可以保证 template 中取到的值有效
|
|
|
|
// import { mapState, mapMutations, mapActions } from 'vuex';
|
|
|
|
// computed: {
|
|
|
|
// ...mapState(['$deviceType'])
|
|
|
|
// },
|
|
|
|
|
|
|
|
|
|
|
|
// #ifdef H5
|
|
|
|
// H5编译的代码
|
|
|
|
|
|
|
|
import {
|
|
|
|
wechat,
|
|
|
|
clearAuthStatus,
|
|
|
|
oAuth,
|
|
|
|
auth,
|
|
|
|
toAuth,
|
|
|
|
pay,
|
|
|
|
openAddress,
|
|
|
|
openShareAll,
|
|
|
|
openShareAppMessage,
|
|
|
|
openShareTimeline,
|
|
|
|
wechatEvevt,
|
|
|
|
ready,
|
|
|
|
wxShowLocation,
|
|
|
|
} from '@/libs/wechat'
|
|
|
|
|
|
|
|
import { isWeixin } from '@/utils'
|
|
|
|
const CACHE_KEY = "clear_0.0.1";
|
|
|
|
|
|
|
|
if (!cookie.has(CACHE_KEY)) {
|
|
|
|
cookie.clearAll()
|
|
|
|
cookie.set(CACHE_KEY, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
var urlSpread = parseQuery()["spread"];
|
|
|
|
if (urlSpread) {
|
|
|
|
cookie.set("spread", urlSpread);
|
|
|
|
}
|
|
|
|
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function init() {
|
|
|
|
|
|
|
|
// #ifdef H5
|
|
|
|
// H5编译的代码
|
|
|
|
// 判断是否是微信浏览器
|
|
|
|
if (isWeixin()) {
|
|
|
|
Vue.prototype.$deviceType = 'weixin'
|
|
|
|
store.commit('updateDevicetype', 'weixin')
|
|
|
|
let wechatInit = await wechat()
|
|
|
|
console.log(wechatInit)
|
|
|
|
if (wechatInit) {
|
|
|
|
await oAuth()
|
|
|
|
app.$mount()
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
Vue.prototype.$deviceType = 'weixinh5'
|
|
|
|
store.commit('updateDevicetype', 'weixinh5')
|
|
|
|
app.$mount()
|
|
|
|
|
|
|
|
}
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
// #ifndef H5
|
|
|
|
app.$mount()
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
init()
|