Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
B
bjgee
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shangbj
bjgee
Commits
d0e24c83
Commit
d0e24c83
authored
Sep 01, 2018
by
shangbj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
fa4bf9b0
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
92 additions
and
1277 deletions
+92
-1277
news.js
api/routes/news.js
+53
-3
NewsScrollList.vue
components/NewsScrollList.vue
+3
-3
index.vue
pages/index.vue
+2
-2
_id.vue
pages/news/_id.vue
+18
-13
index.vue
pages/news/index.vue
+16
-16
news.js
store/news.js
+0
-1240
No files found.
api/routes/news.js
View file @
d0e24c83
...
...
@@ -2,14 +2,64 @@ const { Router } = require('express')
const
newsData
=
require
(
'./data/news'
);
const
router
=
Router
()
const
total
=
newsData
.
length
;
const
newsDetails
=
{};
newsData
.
forEach
((
item
)
=>
{
newsDetails
[
item
.
id
]
=
{
title
:
item
.
title
,
time
:
item
.
time
,
con
:
item
.
con
,
id
:
item
.
id
,
}
})
// const tetails
/* GET users listing. */
router
.
get
(
'/news'
,
function
(
req
,
res
,
next
)
{
const
newsList
=
req
.
query
.
type
===
'simplify'
?
newsData
.
map
((
item
)
=>
{
return
({
title
:
item
.
title
,
time
:
item
.
time
,
id
:
item
.
id
,
})
}):
newsData
;
if
(
req
.
query
.
pageSize
){
res
.
json
(
newsData
.
slice
(
0
,
req
.
query
.
page
))
if
(
req
.
query
.
pageIndex
){
res
.
json
({
total
,
data
:
newsList
.
slice
((
req
.
query
.
pageIndex
-
1
)
*
req
.
query
.
pageSize
,(
req
.
query
.
pageIndex
-
1
)
*
req
.
query
.
pageSize
+
parseInt
(
req
.
query
.
pageSize
)),
result
:
true
})
}
else
{
res
.
json
(
newsData
)
res
.
json
({
total
,
data
:
newsList
.
slice
(
0
,
req
.
query
.
pageSize
),
result
:
true
})
}
}
else
{
res
.
json
({
total
:
0
,
data
:[],
result
:
true
})
}
})
router
.
get
(
'/news/detail/:id'
,
function
(
req
,
res
,
next
)
{
const
id
=
parseInt
(
req
.
params
.
id
)
if
(
id
>=
0
&&
id
<
newsData
.
length
)
{
res
.
json
({
data
:
newsDetails
[
id
],
result
:
true
})
}
else
{
res
.
json
({
data
:
null
,
message
:
'该页面不存在'
,
result
:
false
})
}
})
module
.
exports
=
router
\ No newline at end of file
components/NewsScrollList.vue
View file @
d0e24c83
...
...
@@ -5,7 +5,7 @@
<no-ssr>
<vue-seamless-scroll
:data=
"newsData"
:class-option=
"optionTop"
class=
"product-seamless-warp"
>
<ul
class=
"item"
>
<li
v-for=
"
(item,index) in newsData"
v-if=
"index
<10
"
:key=
"item.id"
>
<li
v-for=
"
item in newsData
"
:key=
"item.id"
>
<nuxt-link
:to=
"'/news/' + item.id"
>
{{
item
.
title
}}
</nuxt-link>
...
...
@@ -20,8 +20,8 @@
<
script
>
export
default
{
async
asyncData
({
app
})
{
const
newsData
=
await
app
.
$axios
.
$get
(
'/api/news?page
Size=10
'
);
return
{
newsData
:
newsData
}
const
newsData
=
await
app
.
$axios
.
$get
(
'/api/news?page
Index=1&pageSize=20&type=simplify
'
);
return
{
newsData
:
newsData
.
data
||
[]
}
},
computed
:{
optionTop
(){
...
...
pages/index.vue
View file @
d0e24c83
...
...
@@ -103,9 +103,9 @@ import ContactUs from '~/components/ContactUs.vue'
export
default
{
async
asyncData
({
app
})
{
const
newsData
=
await
app
.
$axios
.
$get
(
'/api/news?pageSize=10'
);
const
newsData
=
await
app
.
$axios
.
$get
(
'/api/news?pageSize=10
&type=simplify
'
);
const
productData
=
await
app
.
$axios
.
$get
(
'/api/product'
);
return
{
newsData
:
newsData
,
productData
:[...
productData
.
ozonizer
.
data
,...
productData
.
disinfectant
.
data
,...
productData
.
equipment
.
data
]
}
return
{
newsData
:
newsData
.
data
||
[]
,
productData
:[...
productData
.
ozonizer
.
data
,...
productData
.
disinfectant
.
data
,...
productData
.
equipment
.
data
]
}
},
data
:
function
(){
return
{
...
...
pages/news/_id.vue
View file @
d0e24c83
<
template
>
<div
class=
"currently-wrap"
>
<div
class=
"currently-node"
>
新闻动态
</div>
<div
class=
"currently-title"
>
{{
title
}}
</div>
<div
class=
"currently-time"
>
发布时间:
{{
time
}}
</div>
<div
class=
"currently-text"
v-html=
"con"
></div>
<div
class=
"currently-title"
>
{{
details
.
title
}}
</div>
<div
class=
"currently-time"
>
发布时间:
{{
details
.
time
}}
</div>
<div
class=
"currently-text"
v-html=
"
details.
con"
></div>
</div>
</
template
>
<
script
>
export
default
{
asyncData
({
params
,
store
,
error
})
{
const
item
=
store
.
state
.
news
.
newsData
.
find
((
item
)
=>
String
(
item
.
id
)
===
params
.
id
)
if
(
!
item
)
{
// asyncData({ params, store, error }) {
// const item = store.state.news.newsData.find((item) => String(item.id) === params.id)
// if (!item) {
// return error({ message: '页面不存在', statusCode: 404 })
// }
// return item
// },
async
asyncData
({
app
,
params
,
error
})
{
const
details
=
await
app
.
$axios
.
$get
(
`/api/news/detail/
${
params
.
id
}
`
);
if
(
details
.
result
){
return
{
details
:
details
.
data
};
}
else
{
return
error
({
message
:
'页面不存在'
,
statusCode
:
404
})
}
return
item
},
head
()
{
return
{
}
}
}
</
script
>
...
...
pages/news/index.vue
View file @
d0e24c83
...
...
@@ -3,7 +3,7 @@
<div
class=
"currently-node"
>
新闻动态
</div>
<div
class=
"currently-list"
>
<ul>
<li
class=
"listItem"
v-for=
"(item, index) in newData
.slice(startPage,endPage)
"
:key=
"index"
>
<li
class=
"listItem"
v-for=
"(item, index) in newData"
:key=
"index"
>
<nuxt-link
:to=
"'/news/' + item.id"
class=
"itemTitle"
>
{{
item
.
title
}}
</nuxt-link>
<span
class=
"contentTime"
>
{{
item
.
time
}}
</span>
</li>
...
...
@@ -15,32 +15,32 @@
layout=
"prev, pager, next"
prev-text=
"上一页"
next-text=
"下一页"
:page-size=
"pageSize"
:page-size=
'20'
@
current-change=
"handleCurrentChange"
:total=
"
newData.length
"
>
:total=
"
total
"
>
</el-pagination>
</div>
</
template
>
<
script
>
export
default
{
async
asyncData
({
app
})
{
const
newData
=
await
app
.
$axios
.
$get
(
'/api/news?pageIndex=1&pageSize=20&type=simplify'
);
return
{
newData
:
newData
.
data
||
[]
,
total
:
newData
.
total
}
},
data
(){
return
{
newData
:
this
.
$store
.
state
.
news
.
newsData
,
pageSize
:
20
,
currentPage
:
1
,
}
},
computed
:{
startPage
(){
return
this
.
pageSize
*
(
this
.
currentPage
-
1
);
},
endPage
(){
return
this
.
startPage
+
this
.
pageSize
;
}
},
methods
:{
handleCurrentChange
(
val
){
this
.
currentPage
=
val
handleCurrentChange
(
page
){
this
.
$axios
.
$get
(
`/api/news?pageIndex=
${
page
}
&pageSize=20&type=simplify`
).
then
(
res
=>
{
if
(
res
.
result
)
{
this
.
newData
=
res
.
data
;
}
else
{
this
.
newData
=
[];
}
});
}
}
}
...
...
store/news.js
deleted
100644 → 0
View file @
fa4bf9b0
This source diff could not be displayed because it is too large. You can
view the blob
instead.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment