Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
project-www-h5
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
project-www-h5
Commits
fd4959a4
提交
fd4959a4
authored
5月 25, 2021
作者:
lihuihui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
90a3b277
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
143 行增加
和
65 行删除
+143
-65
NewLink.vue
components/NewLink.vue
+23
-0
NewsItem.vue
components/about/NewsItem.vue
+6
-5
Banner.vue
components/home/Banner.vue
+12
-3
Case.vue
components/home/Case.vue
+8
-6
Class.vue
components/home/Class.vue
+26
-14
Post.vue
components/home/Post.vue
+6
-6
Publish.vue
components/home/Publish.vue
+8
-5
Story.vue
components/home/Story.vue
+7
-6
nuxt.config.js
nuxt.config.js
+5
-1
_id.vue
pages/about/news/_id.vue
+6
-7
index.vue
pages/about/news/index.vue
+6
-4
axios.js
plugins/axios.js
+4
-6
httpRequest.js
utils/httpRequest.js
+26
-2
没有找到文件。
components/NewLink.vue
0 → 100644
浏览文件 @
fd4959a4
<
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
>
components/about/NewsItem.vue
浏览文件 @
fd4959a4
<
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
(
' '
))
}
}
}
...
...
components/home/Banner.vue
浏览文件 @
fd4959a4
...
...
@@ -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
>
...
...
components/home/Case.vue
浏览文件 @
fd4959a4
...
...
@@ -4,27 +4,29 @@
<template
v-for=
"(item, index) in list"
>
<van-swipe-item
:key=
"index"
>
<div
class=
"case"
>
<n
uxt-link
:to=
"`/about/news/$
{item.id}?type=73`
">
<img
:src=
"item.
photo
_uri"
class=
"case-pic"
/>
<n
ew-link
:item=
"
{ news: { data: item, path: '/about/news' } }
">
<img
:src=
"item.
web_img
_uri"
class=
"case-pic"
/>
<p
class=
"case-title"
>
{{
item
.
title
}}
</p>
</n
uxt
-link>
</n
ew
-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
=
{
p
age
:
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
=
{
p
roject_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
>
...
...
components/home/Class.vue
浏览文件 @
fd4959a4
<
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"
>
<n
uxt-link
:to=
"`/about/news/${item.id}?type=72`
"
>
<div
class=
"list-item"
v-for=
"(item, index) in list
.list
"
:key=
"index"
>
<n
ew-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>
</n
uxt
-link>
</n
ew
-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
(
' '
))
}
}
}
...
...
components/home/Post.vue
浏览文件 @
fd4959a4
<
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
=
{
p
age
:
1
,
per_page
:
2
,
type
:
75
,
project_id
:
101
3
}
this
.
list
=
await
this
.
$axios
.
$get
(
'/api/zws/v1/cms/news'
,
{
params
}).
then
(
res
=>
res
)
const
params
=
{
p
roject_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
>
...
...
components/home/Publish.vue
浏览文件 @
fd4959a4
<
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
=
{
p
age
:
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
=
{
p
roject_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
>
...
...
components/home/Story.vue
浏览文件 @
fd4959a4
...
...
@@ -4,10 +4,10 @@
<swiper
ref=
"mySwiper"
:options=
"swiperOptions"
class=
"my-swiper"
>
<template
v-for=
"(item, index) in list"
>
<swiper-slide
:key=
"index"
>
<n
uxt-link
:to=
"`/alumnus/$
{item.id}?type=71`
">
<img
:src=
"item.
photo
_uri"
class=
"banner-img"
/>
<n
ew-link
:item=
"
{ news: { data: item, path: '/about/news' } }
">
<img
:src=
"item.
web_img
_uri"
class=
"banner-img"
/>
<p
class=
"banner-title"
>
{{
item
.
title
}}
</p>
</n
uxt
-link>
</n
ew
-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
=
{
p
age
:
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
=
{
p
roject_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
>
...
...
nuxt.config.js
浏览文件 @
fd4959a4
...
...
@@ -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
,
...
...
pages/about/news/_id.vue
浏览文件 @
fd4959a4
...
...
@@ -3,7 +3,8 @@
<tab-nav
active=
"3"
></tab-nav>
<div
class=
"main-content news-detail"
>
<div
class=
"back"
@
click=
"back"
>
<
返回
</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
)
{
...
...
pages/about/news/index.vue
浏览文件 @
fd4959a4
...
...
@@ -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
>
...
...
plugins/axios.js
浏览文件 @
fd4959a4
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
)
}
utils/httpRequest.js
浏览文件 @
fd4959a4
...
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论