动态路由配置

Former-commit-id: a97b01955c6ca2f66606b7f8131df58ccd4d04c2
TangShanKaiPing
wanggang 6 years ago
parent 34d57f63c6
commit 8d380b9189

@ -1,35 +1,23 @@
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0,viewport-fit=cover">
<link rel="stylesheet" href="lib/weui/weui.min.css">
<link rel="stylesheet" href="css/app.css">
<title>物联网中心</title>
</head>
<body>
<div class="weui-toptips weui-toptips_warn js_tooltips">错误提示</div>
<div id="app" class="container">
<router-view class="view"></router-view>
</div>
<div id="loadingToast">
<div class="weui-mask_transparent"></div>
<div class="weui-toast">
<i class="weui-loading weui-icon_toast"></i>
<p class="weui-toast__content">加载中</p>
<div class="page js_show">
<div class="page__bd" style="height: 100%;">
<div class="weui-tab">
<div class="weui-tab__panel">
<router-link to="/">首页</router-link>
</div>
<div class="weui-tabbar">
<a href="javascript:;" class="weui-tabbar__item weui-bar__item_on">
<i class="weui-icon-success weui-icon_msg weui-tabbar__icon"></i>
<p class="weui-tabbar__label">产品</p>
</a>
<a href="javascript:;" class="weui-tabbar__item">
<i class="weui-icon-success weui-icon_msg weui-tabbar__icon"></i>
<p class="weui-tabbar__label">节点</p>
</a>
<a href="javascript:;" class="weui-tabbar__item">
<i class="weui-icon-success weui-icon_msg weui-tabbar__icon"></i>
<p class="weui-tabbar__label">我的</p>
</a>
</div>
</div>
</div>
<script src="lib/weui.js/weui.min.js"></script>
<script src="lib/jquery/jquery.min.js"></script>
<script src="lib/axios/axios.min.js"></script>
<script src="lib/vue/vue.min.js"></script>
<script src="lib/vue-router/vue-router.min.js"></script>
<script src="pages/home.html.js"></script>
<script src="pages/config.html.js"></script>
<script src="pages/products.html.js"></script>
<script src="pages/device.html.js"></script>
<script src="pages/node.html.js"></script>
<script src="pages/device.html.js"></script>
<script src="js/app.js"></script>
</body>
</html>
</div>

@ -0,0 +1,21 @@
function IoTCenter_index() {
return Vue.component('IoTCenter_index', function (resolve, reject) {
axios.get("/IoTCenter/index.html").then(function (response) {
resolve({
template: response.data,
data() {
return {
name: 'home'
};
},
mounted: function () {
$('.weui-tabbar__item').on('click', function () {
$(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
});
},
methods: {
}
})
});
});
}

@ -1,23 +0,0 @@
<div class="page js_show">
<div class="page__bd" style="height: 100%;">
<div class="weui-tab">
<div class="weui-tab__panel">
<a href="/">首页</a>
</div>
<div class="weui-tabbar">
<a href="javascript:;" class="weui-tabbar__item weui-bar__item_on">
<i class="weui-icon-success weui-icon_msg weui-tabbar__icon"></i>
<p class="weui-tabbar__label">产品</p>
</a>
<a href="javascript:;" class="weui-tabbar__item">
<i class="weui-icon-success weui-icon_msg weui-tabbar__icon"></i>
<p class="weui-tabbar__label">节点</p>
</a>
<a href="javascript:;" class="weui-tabbar__item">
<i class="weui-icon-success weui-icon_msg weui-tabbar__icon"></i>
<p class="weui-tabbar__label">我的</p>
</a>
</div>
</div>
</div>
</div>

@ -1,19 +0,0 @@
var home = Vue.component('home', function (resolve, reject) {
axios.get("/pages/home.html").then(function (response) {
resolve({
template: response.data,
data() {
return {
name: 'home'
};
},
mounted: function () {
$('.weui-tabbar__item').on('click', function () {
$(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
});
},
methods: {
}
})
});
});

@ -19,13 +19,12 @@
<p class="weui-toast__content">加载中</p>
</div>
</div>
<script src="lib/weui.js/weui.min.js"></script>
<script src="lib/jquery/jquery.min.js"></script>
<script src="lib/axios/axios.min.js"></script>
<script src="lib/weui.js/weui.min.js"></script>
<script src="lib/vue/vue.min.js"></script>
<script src="lib/vue-router/vue-router.min.js"></script>
<script src="pages/home.html.js"></script>
<script src="pages/login.html.js"></script>
<!---->
<script src="UserCenter/Account/HasLogin"></script>
<script src="js/app.js"></script>
</body>

@ -1,11 +1,44 @@
const routes = [
{ path: '/', component: home },
{ path: '/login', component: login },
]
//{ path: '/', component: home },
//{ path: '/login', component: login },
//{path:'*'}
];
var routeList=routes.concat();
const router = new VueRouter({
routes
})
});
router.beforeEach((to,from,next)=>{
var route;
for(var i=0;i<routeList.length;i++)
{
if(routeList[i].path==to.path)
{
route=routeList[i];
}
}
if(!route)
{
var path = to.path==='/'?'/pages/home':to.path;
var url = path + '.js';
var method = path.replace(/\//g,'_').substr(1) + "()";
$.getScript(url,function(){
var route ={
path:to.path,
component:eval(method)
};
router.addRoutes([route]);
routeList.push(route);
router.push(to.path);
});
}
else{
next();
}
});
const app = new Vue({
router,
@ -13,10 +46,10 @@ const app = new Vue({
},
mounted: function () {
$('#loadingToast').fadeOut(100);
if (!hasLogin) {
//if (!hasLogin) {
//Vue.nextTick(function(){
//router.go('/login');
//});
}
//}
}
}).$mount('#app');

File diff suppressed because one or more lines are too long

@ -2,7 +2,7 @@
<div class="page__bd" style="height: 100%;">
<div class="weui-tab">
<div class="weui-tab__panel">
<a href="/IoTCenter/index.html">物联网中心</a>
<router-link to="/IoTCenter/index">物联网中心</router-link>
</div>
<div class="weui-tabbar">
<a href="javascript:;" class="weui-tabbar__item">

@ -1,19 +0,0 @@
var home = Vue.component('home', function (resolve, reject) {
axios.get("/pages/home.html").then(function (response) {
resolve({
template: response.data,
data() {
return {
name: 'home'
};
},
mounted: function () {
$('.weui-tabbar__item').on('click', function () {
$(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
});
},
methods: {
}
})
});
});

@ -0,0 +1,22 @@
function pages_home()
{
return Vue.component('home', function (resolve, reject) {
axios.get("/pages/home.html").then(function (response) {
resolve({
template: response.data,
data() {
return {
name: 'home'
};
},
mounted: function () {
$('.weui-tabbar__item').on('click', function () {
$(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
});
},
methods: {
}
})
});
});
}

@ -31,7 +31,7 @@
"tree-multiselect": "2.6.1",
"urijs": "1.19.2",
"vue": "2.6.10",
"vue-router": "2.7.0",
"vue-router": "3.1.3",
"metro4": "4.3.3",
"toastr": "2.1.4",
"weui": "2.1.3",

Loading…
Cancel
Save