提交 fd4959a4 authored 作者: lihuihui's avatar lihuihui

update

上级 90a3b277
<template>
<div>
<template v-if="item.news">
<a
:target="item.news.data.uri !== '' ? '_blank' : '_self'"
:href="item.news.data.uri !== '' ? item.news.data.uri : `${item.news.path}/${item.news.data.id}`">
<slot />
</a>
</template>
<template v-else>
<nuxt-link
:to="item.path">
<slot />
</nuxt-link>
</template>
</div>
</template>
<script>
export default {
props: { item: { type: Object } }
}
</script>
<template>
<div class="news-item">
<nuxt-link :to="`/about/news/${item.id}`">
<img :src="item.photo_uri" class="news-item-pic" v-if="item.photo_uri" />
<img :src="item.mobile_terminal_img_uri" class="news-item-pic" v-if="item.mobile_terminal_img_uri" />
<div class="news-item-content">
<div class="news-item-content__date">{{ formatDate(item.created_time) }}</div>
<div class="news-item-content__date">{{ formatDate(item.created_at) }}</div>
<div class="news-item-content__title">{{ item.title }}</div>
<div class="news-item-content__text" v-if="item.summary">{{ item.summary }}</div>
<div class="news-item-content__text" v-if="item.abstract">{{ item.abstract }}</div>
</div>
</nuxt-link>
</div>
......@@ -16,8 +16,9 @@ export default {
props: { item: { type: Object } },
methods: {
formatDate(value) {
const date = new Date(value.replace(/\-/g, '/'))
return date.getFullYear() + '/' + date.getMonth() + 1 + '/' + date.getDate()
// const date = new Date(value.replace(/\-/g, '/'))
// return date.getFullYear() + '/' + date.getMonth() + 1 + '/' + date.getDate()
return value.slice(0, value.indexOf(' '))
}
}
}
......
......@@ -2,7 +2,14 @@
<van-swipe class="my-swipe" :autoplay="5000" indicator-color="white">
<template v-for="(item, index) in list">
<van-swipe-item :key="index">
<nuxt-link :to="`/about/news/${item.id}`"><img :src="item.photo_uri" class="banner-img" /></nuxt-link>
<template v-if="item.uri">
<a :href="item.uri" target="_blank">
<img :src="item.web_img_uri" class="banner-img" />
</a>
</template>
<template v-else>
<img :src="item.web_img_uri" class="banner-img" />
</template>
</van-swipe-item>
</template>
</van-swipe>
......@@ -16,8 +23,10 @@ export default {
}
},
async fetch() {
const params = { page: 1, per_page: 5, type: 69, project_id: 1013 }
this.list = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => res)
const params = { project_id: process.env.projectId, type_tag: 'ad_banner' }
this.list = await this.$axios.get('/api/cms/api/v1/advertisements', { params }).then(res => {
return res.data.data
})
}
}
</script>
......
......@@ -4,27 +4,29 @@
<template v-for="(item, index) in list">
<van-swipe-item :key="index">
<div class="case">
<nuxt-link :to="`/about/news/${item.id}?type=73`">
<img :src="item.photo_uri" class="case-pic" />
<new-link :item="{ news: { data: item, path: '/about/news' } }">
<img :src="item.web_img_uri" class="case-pic" />
<p class="case-title">{{ item.title }}</p>
</nuxt-link>
</new-link>
</div>
</van-swipe-item>
</template>
</van-swipe>
<!-- 、、阿萨德 -->
</card>
</template>
<script>
import Card from '@/components/Card'
import NewLink from '@/components/NewLink'
export default {
components: { Card },
components: { Card, NewLink },
data() {
return { list: [] }
},
async fetch() {
const params = { page: 1, per_page: 5, type: 73, project_id: 1013 }
this.list = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => res)
const params = { project_id: process.env.projectId, type_tag: 'service_case' }
this.list = await this.$axios.get('/api/cms/api/v1/articles', { params }).then(res => res.data.data)
}
}
</script>
......
<template>
<card title="公开课">
<template #header-aside><nuxt-link to="/about/news?type=72">查看更多+</nuxt-link></template>
<img src="/images/home_class_banner.png" class="class-banner" />
<template #header-aside><nuxt-link to="/about/news?type=article_publish_class">查看更多+</nuxt-link></template>
<new-link :item="{ news: { data: list.first, path: '/about/news' } }">
<img :src="list.first.web_img_uri" class="class-banner" />
</new-link>
<div class="list">
<div class="list-item" v-for="(item, index) in list" :key="index">
<nuxt-link :to="`/about/news/${item.id}?type=72`">
<div class="list-item" v-for="(item, index) in list.list" :key="index">
<new-link :item="{ news: { data: item, path: '/about/news' } }">
<div class="list-item-hd">
<h3 class="list-item__title">{{ item.title }}</h3>
</div>
<div class="list-item-bd">
<p class="list-item__content">{{ item.summary }}</p>
<p class="list-item__content">{{ item.abstract }}</p>
</div>
<div class="list-item-ft">
<span class="list-item__date">{{ formatDate(item.created_time) }}</span>
<span class="list-item__view">{{ item.count || 36023 }}</span>
<span class="list-item__date">{{ formatDate(item.created_at) }}</span>
<span class="list-item__view">{{ item.remarks || 36023 }}</span>
<span class="list-item__btn">免费学习</span>
</div>
</nuxt-link>
</new-link>
</div>
</div>
</card>
</template>
<script>
import NewLink from '@/components/NewLink'
import Card from '@/components/Card'
export default {
components: { Card },
components: { Card, NewLink },
data() {
return {
list: []
data: []
}
},
async fetch() {
const params = { page: 1, per_page: 2, type: 72, project_id: 1013 }
this.list = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => res)
const params = {
project_id: process.env.projectId, type_tag: 'article_publish_class', page: 1, limit: 4
}
await this.$axios.get('/api/cms/api/v1/articles', { params }).then(res => {
this.data = res.data.data || []
})
},
computed: {
list() {
const [first = {}, ...list] = this.data
return { first, list: list || [] }
}
},
methods: {
// 2020-01-22
formatDate(value) {
const date = new Date(value.replace(/\-/g, '/'))
return date.getFullYear() + '-' + date.getMonth() + 1 + '-' + date.getDate()
return value.slice(0, value.indexOf(' '))
}
}
}
......
<template>
<card title="项目公告">
<template #header-aside><nuxt-link to="/about/news?type=75">查看更多+</nuxt-link></template>
<template #header-aside><nuxt-link to="/about/news?type=article_news">查看更多+</nuxt-link></template>
<div class="future">
<div class="future-left">即将开始的<br />课程日期</div>
<div class="future-right">
......@@ -11,11 +11,11 @@
</div>
</div>
<div class="list">
<nuxt-link :to="`/about/news/${item.id}?type=75`" v-for="(item, index) in list" :key="index">
<nuxt-link :to="`/about/news/${item.id}`" v-for="(item, index) in list" :key="index">
<div class="list-item">
<div class="list-item__date">
<p class="t1">{{ formatMD(item.created_time) }}</p>
<p class="t2">{{ formatYY(item.created_time) }}</p>
<p class="t1">{{ formatMD(item.created_at) }}</p>
<p class="t2">{{ formatYY(item.created_at) }}</p>
</div>
<div class="list-item__title">{{ item.title }}</div>
</div>
......@@ -55,8 +55,8 @@ export default {
}
},
async fetch() {
const params = { page: 1, per_page: 2, type: 75, project_id: 1013 }
this.list = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => res)
const params = { project_id: process.env.projectId, type_tag: 'article_news', page: 1, limit: 3 }
this.list = await this.$axios.get('/api/cms/api/v1/articles', { params }).then(res => res.data.data)
}
}
</script>
......
<template>
<card title="校长寄语">
<template #header-aside><nuxt-link to="/about/news?type=70">查看更多+</nuxt-link></template>
<template #header-aside><nuxt-link to="/about/news?type=img_text_school">查看更多+</nuxt-link></template>
<van-swipe class="my-swipe" :autoplay="5000" :vertical="true" indicator-color="white">
<template v-for="(item, index) in list">
<van-swipe-item :key="index">
<nuxt-link :to="`/about/news/${item.id}?type=70`"><img :src="item.photo_uri" class="banner-img" /></nuxt-link>
<new-link :item="{ news: { data: item, path: '/about/news' } }">
<img :src="item.web_img_uri" class="banner-img" />
</new-link>
</van-swipe-item>
</template>
</van-swipe>
......@@ -13,14 +15,15 @@
<script>
import Card from '@/components/Card'
import NewLink from '@/components/NewLink'
export default {
components: { Card },
components: { Card, NewLink },
data() {
return { list: [] }
},
async fetch() {
const params = { page: 1, per_page: 5, type: 70, project_id: 1013 }
this.list = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => res)
const params = { project_id: process.env.projectId, type_tag: 'img_text_school' }
this.list = await this.$axios.get('/api/cms/api/v1/articles', { params }).then(res => res.data.data)
}
}
</script>
......
......@@ -4,10 +4,10 @@
<swiper ref="mySwiper" :options="swiperOptions" class="my-swiper">
<template v-for="(item, index) in list">
<swiper-slide :key="index">
<nuxt-link :to="`/alumnus/${item.id}?type=71`">
<img :src="item.photo_uri" class="banner-img" />
<new-link :item="{ news: { data: item, path: '/about/news' } }">
<img :src="item.web_img_uri" class="banner-img" />
<p class="banner-title">{{ item.title }}</p>
</nuxt-link>
</new-link>
</swiper-slide>
</template>
</swiper>
......@@ -15,9 +15,10 @@
</template>
<script>
import NewLink from '@/components/NewLink'
import Card from '@/components/Card'
export default {
components: { Card },
components: { Card, NewLink },
data() {
return {
swiperOptions: {
......@@ -32,8 +33,8 @@ export default {
}
},
async fetch() {
const params = { page: 1, per_page: 10, type: 71, project_id: 1013 }
this.list = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => res)
const params = { project_id: process.env.projectId, type_tag: 'article_alumni' }
this.list = await this.$axios.get('/api/cms/api/v1/articles', { params }).then(res => res.data.data )
}
}
</script>
......
......@@ -6,6 +6,10 @@ if (process.env.NODE_ENV === 'production') {
}
export default {
...config,
env: {
projectId: '6800242743894343680',
baseURL: 'https://project-api.ezijing.com'
},
axios: {
baseURL: 'https://project-api.ezijing.com'
},
......@@ -45,7 +49,7 @@ export default {
css: ['vant/lib/index.css', 'swiper/css/swiper.css', '@/assets/css/base.css'],
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
plugins: ['@/plugins/vant', { src: '@/plugins/swiper' }],
plugins: ['@/plugins/axios', '@/plugins/vant', { src: '@/plugins/swiper' }],
// Auto import components: https://go.nuxtjs.dev/config-components
components: true,
......
......@@ -3,7 +3,8 @@
<tab-nav active="3"></tab-nav>
<div class="main-content news-detail">
<div class="back" @click="back">&lt;返回</div>
<div class="date">{{ formatDate(data.created_time) }}</div>
<!-- <div class="date">{{ formatDate(data.created_at) }}</div> -->
<div class="date">{{ data.created_at }}</div>
<h1 class="title">{{ data.title }}</h1>
<div v-html="data.content"></div>
</div>
......@@ -31,14 +32,12 @@ export default {
return this.$route.params.id
}
},
async asyncData({ $axios, params, query }) {
async fetch() {
// 新闻详情
const data = await $axios.$get(`/api/zws/v1/cms/news/${params.id}`).then(res => res)
this.data = await this.$axios.get(`/api/cms/api/v1/article/${this.$route.params.id}/detail`).then(res => res.data)
// 相关推荐
const requestParams = { page: 1, per_page: 2, type: query.type || 74, project_id: 1013 }
const list = await $axios.$get('/api/zws/v1/cms/news', { params: requestParams }).then(res => res)
return { data, list }
const params = { project_id: process.env.projectId, type_tag: 'article_news', page:1, limit: 3 }
this.list = await this.$axios.get('/api/cms/api/v1/articles', { params }).then(res => res.data.data)
},
methods: {
formatDate(value) {
......
......@@ -19,10 +19,12 @@ export default {
list: []
}
},
async asyncData({ $axios, query }) {
const params = { page: 1, per_page: 100, type: query.type || 74, project_id: 1013 }
const list = await $axios.$get('/api/zws/v1/cms/news', { params }).then(res => res)
return { list }
async fetch() {
const params = {
project_id: process.env.projectId,
type_tag: this.$route.query.type || 'article_news'
}
this.list = await this.$axios.get('/api/cms/api/v1/articles', { params }).then(res => res.data.data)
}
}
</script>
......
export default function({ $axios, redirect }) {
$axios.onError(error => {
if (error.response.status === 500) {
redirect('/sorry')
}
})
import httpRequest from '@/utils/httpRequest'
export default function({ redirect }, inject) {
inject('axios', httpRequest)
}
......@@ -14,9 +14,33 @@ const httpRequest = axios.create({
// 请求拦截
httpRequest.interceptors.request.use(
function(config) {
if (config.headers['Content-Type'] === 'application/x-www-form-urlencoded') {
config.data = qs.stringify(config.data)
const defaultParams = {
timestamp: parseInt(Date.now() / 1000),
nonce: Math.random()
.toString(36)
.slice(-8)
}
// 接口请求参数
let params = config.params || config.data
// 排序
function alphabeticalSort(a, b) {
return a.localeCompare(b)
}
params = Object.assign({}, defaultParams, params)
const str = qs.stringify(Object.assign({}, params, { salt: 'n7xAav2tSjn9Ysnr' }), { sort: alphabeticalSort })
const strs = qs.parse(str)
Object.keys(strs).map(item => {
strs[item] = Array.isArray(strs[item]) ? JSON.stringify(strs[item]) : strs[item]
})
params.signature = 'UG7wBenexQhiuD2wpCwuxkU0jqcj006d'
if (config.method === 'post') {
config.data = params
} else {
config.params = params
}
// if (config.headers['Content-Type'] === 'application/x-www-form-urlencoded') {
// config.data = qs.stringify(config.data)
// }
if (config.headers['Content-Type'] === 'multipart/form-data') {
const form = new window.FormData()
for (const key in config.data) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论