diff --git a/models/topic.js b/models/topic.js
index ec2fa9e..b53fd93 100644
--- a/models/topic.js
+++ b/models/topic.js
@@ -1,19 +1,94 @@
import {HTTP, Method} from '../utils/http.js'
+const TopicBaseUrl = {
+ topic_list_url:'/api/group/page',
+ topic_goldenList_url:'/api/comment/goldenList',
+ topic_detail_url:'/api/group/queryById/',
+ topic_detailComment_url:'/api/comment/page',
+ topic_collect:'/api/group/collectGroup/',
+ topic_commentPraise_url: '/api/comment/addSupport/',
+ // topic_commentUnPraise_url: '/api/comment/deleteComment/{id}',
+}
+
class TopicModel extends HTTP {
constructor () {
super()
}
- // 首页列表
- getTopicList = (success) => {
+ // 议题列表
+ getTopicList(page, success) {
+ let params = {
+ url: TopicBaseUrl.topic_list_url,
+ method: Method.POST,
+ data: {
+ page: page,
+ pageSize: 10,
+ },
+ success: success
+ }
+ this.request(params)
+ }
+
+ getTopicDetail(id, success){
+ let params = {
+ url: TopicBaseUrl.topic_detail_url+`${id}`,
+ method: Method.POST,
+ success: success
+ }
+ this.request(params)
+ }
+
+ getTopicDetailComment(id, page,success) {
+ let params = {
+ url: TopicBaseUrl.topic_detailComment_url,
+ method: Method.POST,
+ data:{
+ groupId:id,
+ page: page,
+ pageSize: 10,
+ },
+ success: success
+ }
+ this.request(params)
+ }
+
+ topicCollect(id,success){
+ let params = {
+ url: TopicBaseUrl.topic_collect + `${id}`,
+ method: Method.POST,
+ success: success
+ }
+ this.request(params)
+ }
+
+ topicCommentPraise(id,success){
let params = {
- url: '/fqsb/group/list',
- sucess: success,
- method: Method.GET
+ url: TopicBaseUrl.topic_commentPraise_url + `${id}`,
+ method: Method.POST,
+ success: success
}
this.request(params)
+
}
+
+ goldenList(page, success) {
+ let params = {
+ url: TopicBaseUrl.topic_goldenList_url,
+ method: Method.POST,
+ data: {
+ type:1,
+ page: page,
+ pageSize: 10,
+ },
+ success: success
+ }
+ this.request(params)
+ }
+
+
+
}
+
+
export {TopicModel}
diff --git a/pages/topics/goodIdea/cell/index.wxml b/pages/topics/goodIdea/cell/index.wxml
index 154e1f3..426de48 100644
--- a/pages/topics/goodIdea/cell/index.wxml
+++ b/pages/topics/goodIdea/cell/index.wxml
@@ -19,7 +19,7 @@
- 评论内容
+ {{itemData.comment}}
{{itemData.detail.title}}
diff --git a/pages/topics/goodIdea/index.js b/pages/topics/goodIdea/index.js
index a5cbfe4..fa94499 100644
--- a/pages/topics/goodIdea/index.js
+++ b/pages/topics/goodIdea/index.js
@@ -4,7 +4,10 @@ Component({
* 组件的属性列表
*/
properties: {
-
+ list: {
+ type: Array,
+ value: []
+ }
},
/**
diff --git a/pages/topics/goodIdea/index.wxml b/pages/topics/goodIdea/index.wxml
index 4a7a164..4c9e515 100644
--- a/pages/topics/goodIdea/index.wxml
+++ b/pages/topics/goodIdea/index.wxml
@@ -1,6 +1,6 @@
-
+
|
diff --git a/pages/topics/index.js b/pages/topics/index.js
index 5616eeb..f6e776d 100644
--- a/pages/topics/index.js
+++ b/pages/topics/index.js
@@ -1,4 +1,10 @@
// pages/topics/index.js
+import dayjs from '../../utils/dayjs/index.js'
+import relativeTime from '../../utils/dayjs/relativeTime.js'
+dayjs.extend(relativeTime);
+import { TopicModel } from '../../models/topic.js'
+let topicModel = new TopicModel()
+
Page({
/**
@@ -6,16 +12,114 @@ Page({
*/
data: {
headerTitles: ['互动区', '金点子', '留言箱'],
- selectedTitle: 0
+ segmentIndex: 0,
+ currPage: 1,
+ topicList: [],
+ goodIdeaList:[]
},
/**
* 生命周期函数--监听页面加载
*/
- onLoad: function (options) {
-
+ onLoad: function () {
+ this.fetchTopicList();
+ },
+ fetchTopicList(){
+ let page = this.data.currPage
+ topicModel.getTopicList(page,res=>{
+ console.log('议题列表')
+ console.log(res)
+
+ const datas = res.result.list
+ let tempDatas = []
+ datas.forEach(item => {
+ tempDatas.push({
+ topicId: item.id,
+ title: item.title,
+ userName: item.author,
+ commentNum: item.commentNum,
+ topicImg:item.image,
+ time: item.createTime,
+ })
+ })
+ if (page == 1) {
+ this.setData({
+ topicList: tempDatas
+ })
+ } else {
+ if (tempDatas.length > 0) {
+ const list = [...this.data.topicList, ...tempDatas]
+ this.setData({
+ topicList: list
+ })
+ } else {
+ const page = this.data.currPage - 1
+ this.setData({
+ currPage: page
+ })
+ wx.showToast({
+ title: '已加载全部',
+ icon: 'none'
+ })
+ }
+ }
+ console.log(this.data.topicList)
+ wx.stopPullDownRefresh()
+ })
},
+ fetchGoodIdeaList(){
+ let page = this.data.currPage
+ topicModel.goldenList(page, res => {
+ console.log('金点子列表')
+ console.log(res)
+
+ const datas = res.result.list
+ let tempDatas = []
+ datas.forEach(item => {
+ tempDatas.push({
+ id: item.id,
+ userIcon:item.image,
+ groupId: item.groupId,
+ userName: item.username,
+ time: item.createTime,
+ comment: item.comment,
+ praiseNum: item.supportNum,
+ detail:{
+ userIcon: item.groupAvator,
+ userName: item.author,
+ commentNum: item.commentNum,
+ title: item.title,
+ text:item.content,
+
+ }
+ })
+ })
+ if (page == 1) {
+ this.setData({
+ goodIdeaList: tempDatas
+ })
+ } else {
+ if (tempDatas.length > 0) {
+ const list = [...this.data.goodIdeaList, ...tempDatas]
+ this.setData({
+ goodIdeaList: list
+ })
+ } else {
+ const page = this.data.currPage - 1
+ this.setData({
+ currPage: page
+ })
+ wx.showToast({
+ title: '已加载全部',
+ icon: 'none'
+ })
+ }
+ }
+ console.log(this.data.goodIdeaList)
+ wx.stopPullDownRefresh()
+ })
+ },
/**
* 生命周期函数--监听页面初次渲染完成
*/
@@ -47,14 +151,31 @@ Page({
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
-
+ this.setData({
+ currPage: 1,
+ })
+ switch (this.data.segmentIndex) {
+ case 0:
+ return this.fetchTopicList()
+ case 1:
+ return this.fetchGoodIdeaList()
+ }
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
-
+ const page = this.data.currPage + 1
+ this.setData({
+ currPage: page
+ })
+ switch (this.data.segmentIndex) {
+ case 0:
+ return this.fetchTopicList()
+ case 1:
+ return this.fetchGoodIdeaList()
+ }
},
/**
@@ -66,9 +187,19 @@ Page({
// 定义点击标题的事件处理函数,将选中标题的id赋值给selectedTitle
tapSegment: function (e) {
+ console.log(e)
+ this.setData({
+ currPage:1
+ })
const item = e.detail;
this.setData({
- selectedTitle: item.index
+ segmentIndex: item.index
});
+ switch(item.index){
+ case 0:
+ return this.fetchTopicList()
+ case 1:
+ return this.fetchGoodIdeaList()
+ }
}
})
\ No newline at end of file
diff --git a/pages/topics/index.json b/pages/topics/index.json
index 372e0d0..64d42ad 100644
--- a/pages/topics/index.json
+++ b/pages/topics/index.json
@@ -1,4 +1,5 @@
{
+ "enablePullDownRefresh": true,
"usingComponents": {
"e-segment":"/components/segment/index",
"message": "./message/index",
diff --git a/pages/topics/index.wxml b/pages/topics/index.wxml
index bcd070e..62bf97a 100644
--- a/pages/topics/index.wxml
+++ b/pages/topics/index.wxml
@@ -1,7 +1,7 @@
-
-
-
+
+
+
diff --git a/pages/topics/interactive/cell/index.js b/pages/topics/interactive/cell/index.js
index e1c62a5..11df272 100644
--- a/pages/topics/interactive/cell/index.js
+++ b/pages/topics/interactive/cell/index.js
@@ -1,27 +1,24 @@
// pages/topics/common/interactive/common/imageCell/index.js
+
Component({
/**
* 组件的属性列表
*/
properties: {
- articleId: String,
+ topicId: String,
title: String,
- articleImg:String,
+ topicImg:String,
userIcon:String,
userName:String,
time: String,
- commentNum: String,
- showTop: {
- type: Boolean,
- value: false,
- }
+ commentNum: Number
},
/**
* 组件的初始数据
*/
data: {
-
+
},
/**
@@ -29,7 +26,7 @@ Component({
*/
methods: {
onTap() {
- this.triggerEvent('clickListItem', { articleId: this.properties.articleId })
+ this.triggerEvent('clickListItem', { topicId: this.properties.topicId })
}
}
})
diff --git a/pages/topics/interactive/cell/index.wxml b/pages/topics/interactive/cell/index.wxml
index 4eba1d0..39e2700 100644
--- a/pages/topics/interactive/cell/index.wxml
+++ b/pages/topics/interactive/cell/index.wxml
@@ -23,7 +23,7 @@
-
-
+
+
diff --git a/pages/topics/interactive/cell/index.wxss b/pages/topics/interactive/cell/index.wxss
index 98035e1..62efd5d 100644
--- a/pages/topics/interactive/cell/index.wxss
+++ b/pages/topics/interactive/cell/index.wxss
@@ -61,6 +61,7 @@
width: 30%;
height: 70px;
border-radius: 5px;
+ background-color: #EEEEEE;
}
image{
width: 100%;
diff --git a/pages/topics/interactive/index.js b/pages/topics/interactive/index.js
index 5df8e77..00b76b1 100644
--- a/pages/topics/interactive/index.js
+++ b/pages/topics/interactive/index.js
@@ -4,42 +4,17 @@ Component({
* 组件的属性列表
*/
properties: {
-
+ list:{
+ type:Array,
+ value:[]
+ }
},
/**
* 组件的初始数据
*/
data: {
- list: [
- {
- articleId: '1',
- title: "市北区举行国际航运贸易金融创新中心核心区产业建设",
- articleImg: "asdsad",
- userIcon: "",
- userName: "用户名",
- time: "刚刚",
- commentNum: "33",
- },
- {
- articleId: "2",
- title: "《大众日报》市北区举行国际航运贸易金融创新中心核心区产业建设",
- articleImg: "",
- userIcon: "",
- userName: "用户名",
- time: "1分钟前",
- commentNum: "33",
- },
- {
- articleId: "3",
- title: "青岛医疗人工智能科技创新中心落户市北",
- articleImg: "asdsadad",
- userIcon: "",
- userName: "用户名",
- time: "1分钟前",
- commentNum: "33",
- }
- ]
+
},
/**
@@ -52,11 +27,9 @@ Component({
})
},
clickListItem(e) {
- const articleId = e.detail.articleId;
- console.log(articleId);
-
+ const topicId = e.detail.topicId;
wx.navigateTo({
- url: `/pages/topics/interactive/topicArticle/index?id=${articleId}`,
+ url: `/pages/topics/interactive/topicArticle/index?topicId=${topicId}`,
})
}
}
diff --git a/pages/topics/interactive/index.wxml b/pages/topics/interactive/index.wxml
index 09a121b..7eed0c1 100644
--- a/pages/topics/interactive/index.wxml
+++ b/pages/topics/interactive/index.wxml
@@ -1,14 +1,13 @@
-
+
|
diff --git a/pages/topics/interactive/topicArticle/index.js b/pages/topics/interactive/topicArticle/index.js
index b6c31b5..4604a1f 100644
--- a/pages/topics/interactive/topicArticle/index.js
+++ b/pages/topics/interactive/topicArticle/index.js
@@ -1,4 +1,11 @@
// pages/topics/interactive/article/index.js
+import dayjs from '../../../../utils/dayjs/index.js'
+import relativeTime from '../../../../utils/dayjs/relativeTime.js'
+dayjs.extend(relativeTime);
+import { TopicModel } from '../../../../models/topic.js'
+let topicModel = new TopicModel()
+
+
Page({
/**
@@ -39,14 +46,25 @@ Page({
unStar: '/images/common/star.png',
star: '/images/common/star_light.png',
- isStar:true
+ isStar:true,
+ topicId:String,
+ currPage: 1,
+ commentList: [],
+ unPraise: '/images/common/zan.png',
+ praise: '/images/common/star_light.png',
+ commentId:String
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
-
+ console.log(options.topicId)
+ this.setData({
+ topicId: options.topicId
+ })
+ this.fetchDetail()
+ this.fetchDetailComment()
},
/**
@@ -88,7 +106,11 @@ Page({
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
-
+ const page = this.data.currPage + 1
+ this.setData({
+ currPage: page
+ })
+ this.fetchDetailComment()
},
/**
@@ -96,14 +118,125 @@ Page({
*/
onShareAppMessage: function () {
+ },
+ fetchDetail(){
+ let topicId = this.data.topicId
+ topicModel.getTopicDetail(topicId,res => {
+ console.log('议题详情')
+ console.log(res)
+ let data = res.result
+ this.setData({
+ title:data.title,
+ time: data.createTime,
+ userInfo:{
+ icon: data.groupAvator,
+ name:data.author,
+ company: data.company,
+ position: data.position,
+ },
+ detail:data.content,
+ imgArr: data.images.split(";").slice(0, -1)
+ })
+ console.log(this.data.imgArr)
+ })
+ },
+ fetchDetailComment(){
+ let topicId = this.data.topicId
+ let page = this.data.currPage
+ topicModel.getTopicDetailComment(topicId,page,res => {
+ console.log('议题评论')
+ console.log(res)
+
+ const datas = res.result.list
+ let tempDatas = []
+ datas.forEach(item => {
+ tempDatas.push({
+ isPraise: false,
+ id:item.id,
+ userIcon: item.commentAvator,
+ userName: item.username,
+ detail: item.comment,
+ time: item.createTime,
+ praiseNum: item.supportNum
+ })
+ })
+ if (page == 1) {
+ this.setData({
+ commentList: tempDatas
+ })
+ } else {
+ if (tempDatas.length > 0) {
+ const list = [...this.data.commentList, ...tempDatas]
+ this.setData({
+ commentList: list
+ })
+ } else {
+ const page = this.data.currPage - 1
+ this.setData({
+ currPage: page
+ })
+ wx.showToast({
+ title: '已加载全部',
+ icon: 'none'
+ })
+ }
+ }
+ console.log(this.data.commentList)
+ wx.stopPullDownRefresh()
+ })
+ },
+ fetchTopicCollect(){
+ let topicId = this.data.topicId
+ topicModel.topicCollect(topicId,res =>{
+ console.log('收藏')
+ console.log(res)
+ if(res.code === 200){
+ wx.showToast({
+ title: '收藏成功',
+ icon: 'none'
+ })
+ }
+ })
+ },
+ fetchTopicCommentPraise(){
+ let commentId = this.data.commnetId
+ topicModel.topicCommentPraise(commentId,res =>{
+ console.log(res)
+ if (res.code === 200) {
+ wx.showToast({
+ title: '点赞',
+ icon: 'none'
+ })
+ }
+ })
},
onClickCollect() {
this.setData({
isStar: !this.data.isStar
})
+ this.fetchTopicCollect()
// 收藏功能
},
+ onClickPraise(e){
+ console.log(e)
+ const sIndex = e.currentTarget.dataset.index
+ var selectItem = e.currentTarget.dataset.item
+ const commentList = this.data.commentList
+ const tempList = []
+ commentList.forEach( (item,index)=>{
+ if (sIndex === index){
+ item.isPraise = !item.isPraise
+ }
+ tempList.push(item)
+ })
+ this.setData({
+ commentList:tempList,
+ commentId: selectItem.id
+ })
+ this.fetchTopicCommentPraise()
+ // 评论点赞
+ },
previewImg: function (e) {
console.log(e.currentTarget.dataset.index);
var index = e.currentTarget.dataset.index;
diff --git a/pages/topics/interactive/topicArticle/index.json b/pages/topics/interactive/topicArticle/index.json
index 8835af0..3e483f1 100644
--- a/pages/topics/interactive/topicArticle/index.json
+++ b/pages/topics/interactive/topicArticle/index.json
@@ -1,3 +1,6 @@
{
+ "enablePullDownRefresh": false,
+
+ "navigationBarTitleText":"议题",
"usingComponents": {}
}
\ No newline at end of file
diff --git a/pages/topics/interactive/topicArticle/index.wxml b/pages/topics/interactive/topicArticle/index.wxml
index 2ccfe49..8b40463 100644
--- a/pages/topics/interactive/topicArticle/index.wxml
+++ b/pages/topics/interactive/topicArticle/index.wxml
@@ -14,7 +14,7 @@
-
+
@@ -31,7 +31,7 @@
{{detail}}
-
+
@@ -41,7 +41,7 @@
-