Authored by ccbikai

Merge branch 'feature/channel' into develop

... ... @@ -23,5 +23,16 @@ module.exports = {
channelModel.getResourcesData(req.query).then(result => {
return res.json(result);
}).catch(next);
},
sidebar(req, res, next) {
if (!req.xhr) {
return res.render('sidebar', {
module: 'channel',
page: 'sidebar'
});
}
channelModel.getSidebarData(req.query).then(result => {
return res.json(result);
}).catch(next);
}
};
... ...
... ... @@ -15,6 +15,14 @@ let channel = {
}).then(result => {
return resourcesProcess(result.data);
});
},
getSidebarData() {
return api.get('operations/api/v6/category/getCategory', {
parent_id: 1155
}, {
cache: true,
code: 200
}).then(global.yoho.camelCase);
}
};
... ...
... ... @@ -15,4 +15,6 @@ const router = expressRouter();
router.get('/', channel.index); // 首页
router.get('/resources', channel.resources); // 资源位接口
router.get('/sidebar', channel.sidebar); // 资源位接口
module.exports = router;
... ...
<div id="sidebar">
<sidebar></sidebar>
</div>
... ...
const Vue = require('yoho-vue');
const lazyload = require('yoho-vue-lazyload');
const sidebar = require('channel/sidebar.vue');
require('common/vue-filter');
Vue.use(lazyload);
new Vue({
el: '#sidebar',
components: {
sidebar
}
});
... ...
<template>
<div class="sidebar">
<template v-for="item in list">
<a class="item" href="{{item.sortUrl}}">
{{item.sortNameEn}}{{item.sortName}}
</a>
<template v-if="item.separativeSign === 'Y'">
<div class="sep">
<!-- 分割线 -->
</div>
</template>
</template>
</div>
</template>
<script>
// const tab = require('channel/tab.vue');
// const resources = require('component/resources/index.vue');
module.exports = {
data() {
return {
list: []
};
},
components: {
},
created() {
$.ajax({
url: '/sidebar'
}).then((res) => {
this.list = res.data;
});
}
};
</script>
<style>
@import "../../scss/common/color";
.sidebar {
width: 100%;
background: $white;
overflow-x: hidden;
.item {
position: relative;
display: block;
padding: 0 30px;
width: 100%;
height: 126px;
line-height: 126px;
font-size: 30px;
font-weight: bold;
&:after {
content: "";
position: absolute;
left: 30px;
bottom: -1px;
width: 100%;
height: 0;
border-top: 1px solid #eee;
}
&:last-child:after {
content: none;
}
}
.sep {
width: 100%;
height: 22px;
background: #f6f6f6;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
}
}
</style>
... ...