|
|
|
// pages/topics/index.js
|
|
|
|
import dayjs from '../../utils/dayjs/index.js'
|
|
|
|
import relativeTime from '../../utils/dayjs/relativeTime.js'
|
|
|
|
import {
|
|
|
|
TopicModel
|
|
|
|
} from '../../models/topic.js'
|
|
|
|
import {
|
|
|
|
store
|
|
|
|
} from '../../utils/store.js'
|
|
|
|
import {
|
|
|
|
UserModel
|
|
|
|
} from '../../models/user.js'
|
|
|
|
let userModel = new UserModel()
|
|
|
|
const app = getApp()
|
|
|
|
dayjs.extend(relativeTime)
|
|
|
|
let topicModel = new TopicModel()
|
|
|
|
Page({
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 页面的初始数据
|
|
|
|
*/
|
|
|
|
data: {
|
|
|
|
segmentIndex: 0,
|
|
|
|
//留言互动的列表
|
|
|
|
topicList: [],
|
|
|
|
goodIdeaList: [],
|
|
|
|
//赋能中心的列表
|
|
|
|
centerList: [],
|
|
|
|
typeList: [],
|
|
|
|
page: 1,
|
|
|
|
next: true,
|
|
|
|
tab: "",
|
|
|
|
active: "1",
|
|
|
|
loan: {},
|
|
|
|
apartment: [],
|
|
|
|
nodes: '',
|
|
|
|
rentNode: '',
|
|
|
|
height: app.globalData.windowHeight - 44,
|
|
|
|
flag: 0,
|
|
|
|
//来活动
|
|
|
|
activityList: []
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面加载
|
|
|
|
*/
|
|
|
|
|
|
|
|
onLoad: function () {
|
|
|
|
this.setData({
|
|
|
|
flag: app.globalData.flag
|
|
|
|
})
|
|
|
|
wx.showShareMenu({
|
|
|
|
withShareTicket: true,
|
|
|
|
menus: ['shareAppMessage']
|
|
|
|
});
|
|
|
|
},
|
|
|
|
// onShareAppMessage: function (res) {
|
|
|
|
// return {
|
|
|
|
// title: '市北人才赋能平台',
|
|
|
|
// path: 'pages/home/index'
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
// onShareTimeline: function (res) {
|
|
|
|
// return {
|
|
|
|
// title: '市北人才赋能平台',
|
|
|
|
// success: function (res) {
|
|
|
|
// // 转发成功
|
|
|
|
// },
|
|
|
|
// fail: function (res) {
|
|
|
|
// // 转发失败
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
//进入页面判断是否绑定微信号,如果绑定手机号根据segmentIndex的数值fetch留言互动和赋能中心的资源,否则退回注册页面或者首页
|
|
|
|
onShow: function () {
|
|
|
|
//文章关联链接跳转 显示 报需求 还是来活动 tab
|
|
|
|
let curTab = app.globalData.currentTab
|
|
|
|
if (curTab) {
|
|
|
|
// console.log("currentTab:" + curTab)
|
|
|
|
this.setData({
|
|
|
|
active: curTab,
|
|
|
|
tab: curTab
|
|
|
|
})
|
|
|
|
}
|
|
|
|
if (store.hasBindUserInfo()) {
|
|
|
|
console.log('已经绑定微信')
|
|
|
|
if (store.hasPhone()) {
|
|
|
|
console.log('已经绑定手机号码')
|
|
|
|
this.setData({
|
|
|
|
topicList: [],
|
|
|
|
goodIdeaList: [],
|
|
|
|
centerList: [],
|
|
|
|
activityList: [],
|
|
|
|
page: 1,
|
|
|
|
next: true,
|
|
|
|
})
|
|
|
|
if (!this.data.tab) {
|
|
|
|
this.setData({
|
|
|
|
tab: '1'
|
|
|
|
})
|
|
|
|
}
|
|
|
|
return this.getData(this.data.tab);
|
|
|
|
} else {
|
|
|
|
console.log('未绑定手机号码')
|
|
|
|
if (app.globalData.navigate.mobile) {
|
|
|
|
var params = {
|
|
|
|
phone: app.globalData.navigate.mobile,
|
|
|
|
nickName: app.globalData.navigate.nickname,
|
|
|
|
avatarUrl: app.globalData.navigate.faceImg
|
|
|
|
}
|
|
|
|
userModel.navigateUser(params, res => {
|
|
|
|
store.saveUserInfo({
|
|
|
|
nickName: params.nickName,
|
|
|
|
avatarUrl: params.avatarUrl,
|
|
|
|
phone: params.phone
|
|
|
|
})
|
|
|
|
wx.reLaunch({
|
|
|
|
url: '/pages/topics/index',
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
wx.showModal({
|
|
|
|
title: '温馨提示',
|
|
|
|
content: '是否前往验证手机号码?',
|
|
|
|
success(res) {
|
|
|
|
if (res.confirm) {
|
|
|
|
wx.redirectTo({
|
|
|
|
url: '/pages/weChatAuth/index?type=2',
|
|
|
|
})
|
|
|
|
} else if (res.cancel) {
|
|
|
|
wx.switchTab({
|
|
|
|
url: '/pages/home/index',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
console.log('未绑定微信')
|
|
|
|
|
|
|
|
if (app.globalData.navigate.mobile) {
|
|
|
|
var params = {
|
|
|
|
phone: app.globalData.navigate.mobile,
|
|
|
|
nickName: app.globalData.navigate.nickname,
|
|
|
|
avatarUrl: app.globalData.navigate.faceImg
|
|
|
|
}
|
|
|
|
userModel.navigateUser(params, res => {
|
|
|
|
store.saveUserInfo({
|
|
|
|
nickName: params.nickName,
|
|
|
|
avatarUrl: params.avatarUrl,
|
|
|
|
phone: params.phone
|
|
|
|
})
|
|
|
|
wx.reLaunch({
|
|
|
|
url: '/pages/topics/index',
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
wx.showModal({
|
|
|
|
title: '温馨提示',
|
|
|
|
content: '是否前往绑定微信?',
|
|
|
|
success(res) {
|
|
|
|
if (res.confirm) {
|
|
|
|
wx.redirectTo({
|
|
|
|
url: '/pages/weChatAuth/index?tabType=funeng',
|
|
|
|
})
|
|
|
|
} else if (res.cancel) {
|
|
|
|
wx.switchTab({
|
|
|
|
url: '/pages/home/index',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
},
|
|
|
|
changeTabs: function (e) {
|
|
|
|
console.log('点击tab--',e)
|
|
|
|
var tab = e.detail.name;
|
|
|
|
this.setData({
|
|
|
|
page: 1,
|
|
|
|
next: true,
|
|
|
|
tab: tab,
|
|
|
|
active: tab,
|
|
|
|
topicList: [],
|
|
|
|
centerList: [],
|
|
|
|
activityList: [],
|
|
|
|
})
|
|
|
|
this.getData(tab);
|
|
|
|
|
|
|
|
},
|
|
|
|
getData: function (tab) {
|
|
|
|
console.log('tab--',tab)
|
|
|
|
switch (tab) {
|
|
|
|
case "3":
|
|
|
|
return this.fetchCenterList()
|
|
|
|
case "5":
|
|
|
|
return this.fetchActivityList();
|
|
|
|
default:
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
//留言互动
|
|
|
|
//fetch留言互动的资源
|
|
|
|
fetchTopicList() {
|
|
|
|
var th = this;
|
|
|
|
var page = th.data.page;
|
|
|
|
var list = th.data.topicList;
|
|
|
|
topicModel.getTopicList(page, res => {
|
|
|
|
console.log('议题列表')
|
|
|
|
console.log(res)
|
|
|
|
if (res.result.list.length == 0 && page == 1) {
|
|
|
|
wx.showToast({
|
|
|
|
title: '暂无数据',
|
|
|
|
icon: 'none'
|
|
|
|
})
|
|
|
|
}
|
|
|
|
const datas = res.result.list
|
|
|
|
let tempDatas = []
|
|
|
|
datas.forEach((item, index) => {
|
|
|
|
tempDatas.push({
|
|
|
|
topicId: item.id,
|
|
|
|
userIcon: item.groupAvator || '',
|
|
|
|
title: item.title,
|
|
|
|
// userIcon: item.groupAvator,
|
|
|
|
userName: item.author,
|
|
|
|
commentNum: item.commentNum,
|
|
|
|
topicImg: item.image,
|
|
|
|
time: item.createTime,
|
|
|
|
dataIndex: index + ((page - 1) * 10),
|
|
|
|
isTouchMove: false,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
if (tempDatas.length > 0) {
|
|
|
|
list = list.concat(tempDatas);
|
|
|
|
th.setData({
|
|
|
|
topicList: list,
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
th.setData({
|
|
|
|
next: false,
|
|
|
|
page: page - 1
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
},
|
|
|
|
//赋能中心
|
|
|
|
fetchCenterList() {
|
|
|
|
// let page = this.data.currPage;
|
|
|
|
console.log('fetchCenterList赋能中心')
|
|
|
|
var th = this;
|
|
|
|
var page = th.data.page;
|
|
|
|
var list = th.data.centerList;
|
|
|
|
if (th.data.typeList.length == 0) {
|
|
|
|
topicModel.getResourceTypeList(res => {
|
|
|
|
this.setData({
|
|
|
|
typeList: res.result
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
topicModel.getResourceList('', page, res => {
|
|
|
|
if (res.result.records.length > 0) {
|
|
|
|
list = list.concat(res.result.records);
|
|
|
|
th.setData({
|
|
|
|
centerList: list,
|
|
|
|
nodes: res.result.agreement
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
th.setData({
|
|
|
|
next: false,
|
|
|
|
page: page - 1
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
fetchLoan: function () {
|
|
|
|
topicModel.getResourceDetail('aba954f98c489bddf137f6f9f83d6c89', res => {
|
|
|
|
console.log('找贷款-->', res)
|
|
|
|
this.setData({
|
|
|
|
loan: res.result,
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
},
|
|
|
|
fetchRent: function () {
|
|
|
|
if (this.data.apartment.length == 0) {
|
|
|
|
topicModel.getApartment(res => {
|
|
|
|
this.setData({
|
|
|
|
apartment: res.result.list,
|
|
|
|
rentNode: res.result.agreement
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
/**
|
|
|
|
* 页面上拉触底事件的处理函数
|
|
|
|
*/
|
|
|
|
onReachBottom: function () {
|
|
|
|
console.log('---触底了---')
|
|
|
|
var next = this.data.next;
|
|
|
|
var tab = this.data.tab;
|
|
|
|
var page = this.data.page;
|
|
|
|
if (!next) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
this.setData({
|
|
|
|
page: page + 1
|
|
|
|
})
|
|
|
|
switch (tab) {
|
|
|
|
case "3":
|
|
|
|
this.fetchCenterList()
|
|
|
|
return;
|
|
|
|
case "5":
|
|
|
|
return this.fetchActivityList();
|
|
|
|
default:
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
deleteTopic(e) {
|
|
|
|
// console.log(e.detail.id)
|
|
|
|
let that = this
|
|
|
|
topicModel.deleteGroup(e.detail.id, res => {
|
|
|
|
console.log(res)
|
|
|
|
if (res.code === 200) {
|
|
|
|
wx.showToast({
|
|
|
|
title: '删除成功',
|
|
|
|
icon: 'none',
|
|
|
|
success() {
|
|
|
|
that.setData({
|
|
|
|
currPage: 1,
|
|
|
|
})
|
|
|
|
switch (that.data.segmentIndex) {
|
|
|
|
case 0:
|
|
|
|
return that.fetchTopicList()
|
|
|
|
case 1:
|
|
|
|
return that.fetchCenterList()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
deleteTopicComment(e) {
|
|
|
|
let that = this
|
|
|
|
topicModel.deleteComment(e.detail.id, res => {
|
|
|
|
if (res.code === 200) {
|
|
|
|
wx.showToast({
|
|
|
|
title: '删除成功',
|
|
|
|
icon: 'none',
|
|
|
|
success() {
|
|
|
|
that.setData({
|
|
|
|
currPage: 1,
|
|
|
|
})
|
|
|
|
switch (that.data.segmentIndex) {
|
|
|
|
case 0:
|
|
|
|
return that.fetchTopicList()
|
|
|
|
case 3:
|
|
|
|
return that.fetchCenterList()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
tapGoodIdeaPraise(e) {
|
|
|
|
this.fetchGoodIdeaPraise(e.detail.commentId)
|
|
|
|
},
|
|
|
|
|
|
|
|
fetchGoodIdeaPraise(id) {
|
|
|
|
wx.showLoading()
|
|
|
|
topicModel.topicCommentPraise(id, res => {
|
|
|
|
if (res.code === 200) {
|
|
|
|
wx.hideLoading()
|
|
|
|
this.onPullDownRefresh()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
//活动
|
|
|
|
fetchActivityList() {
|
|
|
|
var th = this;
|
|
|
|
var page = th.data.page;
|
|
|
|
var list = th.data.activityList;
|
|
|
|
let source = ''
|
|
|
|
topicModel.getActivityList(source, page, res => {
|
|
|
|
console.log('活动列表---')
|
|
|
|
console.log(res)
|
|
|
|
if (res.result.records.length == 0 && page == 1) {
|
|
|
|
wx.showToast({
|
|
|
|
title: '暂无数据',
|
|
|
|
icon: 'none'
|
|
|
|
})
|
|
|
|
}
|
|
|
|
const datas = res.result.records
|
|
|
|
let tempDatas = []
|
|
|
|
datas.forEach((item, index) => {
|
|
|
|
tempDatas.push({
|
|
|
|
activityId: item.id,
|
|
|
|
title: item.title,
|
|
|
|
activityImg: item.titlePic,
|
|
|
|
time: item.createTime,
|
|
|
|
commentNum: item.commentNum,
|
|
|
|
dataIndex: index + ((page - 1) * 10),
|
|
|
|
isTouchMove: false,
|
|
|
|
readed: item.isRead == 0 ? false : true
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
if (tempDatas.length > 0) {
|
|
|
|
list = list.concat(tempDatas);
|
|
|
|
th.setData({
|
|
|
|
activityList: list,
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
th.setData({
|
|
|
|
next: false,
|
|
|
|
page: page - 1
|
|
|
|
})
|
|
|
|
}
|
|
|
|
console.log('活动列表封装--->',th.data.activityList)
|
|
|
|
})
|
|
|
|
},
|
|
|
|
changeActivityStatus:function(e){
|
|
|
|
console.log("我是被子组件触发的",e);
|
|
|
|
const {
|
|
|
|
id,
|
|
|
|
index
|
|
|
|
} = e.detail
|
|
|
|
this.setData({
|
|
|
|
[`activityList[${index}].readed`]: true
|
|
|
|
})
|
|
|
|
console.log(this.data.activityList)
|
|
|
|
}
|
|
|
|
})
|