代码拉取完成,页面将自动刷新
同步操作将从 广西几何线科技有限公司/知识付费,在线教育,线上课程,网校系统(uni-app) 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import Vue from 'vue'
import App from './App'
//表单验证
import $mGraceChecker from '@/utils/graceChecker';
import $mRoutesConfig from '@/config/routes.config.js';
import $mFormRule from '@/config/formRule.config.js';
import $mHelper from '@/utils/helper.js';
import $mRouter from '@/utils/router';
import {Config} from '@/config.js';
Vue.prototype.$mGraceChecker = $mGraceChecker;
Vue.prototype.$mFormRule = $mFormRule;
Vue.prototype.$mHelper = $mHelper;
Vue.prototype.$mRouter = $mRouter;
Vue.config.productionTip = false
Vue.prototype.getUrlParam = function(name) {
let reg = new RegExp('(^|&)'+ name + '=([^&]*)(&|$)')
let r = window.location.search.substr(1).match(reg)
if(r!=null){
return unescape(r[2])
}
return null
}
// 路由导航
$mRouter.beforeEach((navType, to) => {
if (to.route === undefined) {
throw '路由钩子函数中没有找到to对象,路由信息:' + JSON.stringify(to);
}
//判断是否登录到登录页面
if (to.route === $mRoutesConfig.login.path && store.getters.hasLogin) {
uni.reLaunch({
url: $mHelper.objParseUrlAndParam($mRoutesConfig.main.path)
});
return;
}
// 过滤需要权限的页面
if (to.route.requiresAuth) {
if (store.getters.hasLogin) {
// 已经登录
uni[navType]({
url: $mHelper.objParseUrlAndParam(to.route.path, to.query)
});
} else {
// 登录成功后的重定向地址和参数
let query = {
redirectUrl: to.route.path,
...to.query
};
// 没有登录 是否强制登录?
if (store.state.forcedLogin) {
uni.redirectTo({
url: $mHelper.objParseUrlAndParam($mRoutesConfig.login.path, query)
});
} else {
uni.navigateTo({
url: $mHelper.objParseUrlAndParam($mRoutesConfig.login.path, query)
});
}
}
} else {
uni[navType]({
url: $mHelper.objParseUrlAndParam(to.route, to.query)
});
}
});
/*
* obj 转 路由地址带参数
* 例子:{a:1,b:2} => /pages/index/index?a=1&b=2
*/
Vue.prototype.createUrl = function(path, obj) {
let url = path || '/';
let paramsStr = '';
if (obj instanceof Array) return url;
if (!(obj instanceof Object)) return url;
paramsStr = this.objParseParam(obj);
paramsStr && (url += '?');
url += paramsStr;
return url;
}
/*
* obj 转 params字符串参数
* 例子:{a:1,b:2} => a=1&b=2
*/
Vue.prototype.objParseParam = function(obj) {
let paramsStr = '';
if (obj instanceof Array) return paramsStr;
if (!(obj instanceof Object)) return paramsStr;
for (let key in obj) {
paramsStr += `${key}=${obj[key]}&`;
}
return paramsStr.substring(0, paramsStr.length - 1);
}
/*
* obj 转 params字符串参数
* 例子:{a:1,b:2} => a=1&b=2
*/
Vue.prototype.goto = function(url='',e='') {
if(Array.isArray(url)){
url = url[0];
}
if(!url){
url = e.currentTarget.dataset.url;
}
if (url.indexOf('/pages/user/user') !== -1
|| url.indexOf('/pages/product/list') !== -1
|| url.indexOf('/pages/index/index') !== -1){
uni.switchTab({
url:url
})
} else {
uni.navigateTo({
url:url
})
}
}
Vue.prototype.setStorageSync = function(key,value) {
uni.setStorageSync(Config.cacheFix+key,value);
}
Vue.prototype.getStorageSync = function(key) {
return uni.getStorageSync(Config.cacheFix+key);
}
Vue.prototype.removeStorageSync = function(key) {
return uni.removeStorageSync(Config.cacheFix+key);
}
/*
* 判断用户是否是vip
*/
Vue.prototype.isVip = function() {
var user = uni.getStorageSync(Config.cacheFix+'userInfo');
if(user){
//在这里判断是否是vip,仅做价格显示,实际购买时还是在后台最终判断是否是vip
var now = (new Date()).getTime()/1000;
if(user.is_vip && user.is_vip == 1 && now < user.vip_expire)
return true;
}
return false;
}
Vue.prototype.getDataSet = function(event, key) {
return event.currentTarget.dataset[key];
}
App.mpType = 'app'
const app = new Vue({
...App
})
app.$mount()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。