2023-04-17 16:14:18 +08:00

855 lines
19 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// pages/user/user.js
var app = getApp()
var config = {};
var miucms = require('../../utils/miucms.js');
// 发布的状态码不要删除
// status 状态 1正常,0未发布,2关闭,-3被投诉下架,-1用户删除,-2论坛删帖,-4待审,-5到期自动下架
var WxParse = require('../../wxParse/wxParse.js');
Page({
/**
* 页面的初始数据
*/
data: {
loding: true,
showTOTOP: false,
fav_list: [],
fav_page: {
next_page: 1
},
publish_list: [],
publish_page: {
next_page: 1
},
user: {},
tab: 'fav',
fav_count: 0,
publish_count: 0,
loading: false,
status: 0,
q: '',
orderby: {
title: 'orderby',
value: "new",
name: '按最新消息排序',
show: false,
list: {
"new": '按最新消息排序',
"impression": '按印象排序'
}
},
message_page: {
next_page: 1
},
message_list: [],
impression: {},
impression_obj: {
show: false,
index: 1,
impression: 0,
uniqid: ''
},
del_obj: {
show: false,
index: 1,
uniqid: ''
},
chage_status_obj: {
show: false,
uniqid: '',
token: '',
index: 0
},
options: {},
isAuthorization: 0,
raisePopupState: false,
screen_data: {
windowHeight: 0,
totalTopHeight: 0,
statusBarHeight: 0,
titleBarHeight: 0,
},
raisePopupMessage: "", // 顶上去升起弹出框的文本
initState: false,
triggerRules: 0, // 触发规则状态 0 是未触发 1 是触发规则 1 2 是触发规则2
},
launchAppError(e) {
console.log(e.detail.errMsg)
},
onPageScroll(e) {
if (e.scrollTop > 1000 && !this.data.showTOTOP) {
this.setData({
showTOTOP: true
})
} else if (e.scrollTop < 1000 && this.data.showTOTOP) {
this.setData({
showTOTOP: false
})
}
},
/**
* 生命周期函数--监听页面加载
*/
timer: null,
onLoad: function (options) {
let that = this
this.setData({
q: options.q ? options.q : '',
tab: options.tab ? options.tab : 'fav',
options: options || {},
screen_data: app.globalData.screen_data,
})
this.get_config();
this.getNoticeNumber()
},
// 获取系统通知数量
getNoticeNumber() {
if (app.globalData.unreadMessagesState) return
miucms.count().then(res => {
this.setData({
unreadMessages: res.data.count
})
}).catch(() => {})
},
// 如果用户已经同意授权。则开始获取数据
islogin() {
wx.showLoading({
title: '加载中',
})
this.setData({
initState: true
})
this.get_config();
},
get_config: function () {
var that = this;
if (app.globalData.config.lists) {
config = app.globalData.config;
this.setData({
// user: app.globalData.user,
status: app.globalData.status,
bottomLift: app.globalData.screen_data.bottomLift
})
this.initData()
// this['get_' + this.data.tab]()
} else {
setTimeout(function () {
that.get_config()
}, 200)
}
},
initData() {
miucms.request(`${app.globalData.baseURL}/tenement/my`).then(res => {
if (res.code == 401) {
this.setData({
isAuthorization: 1,
loding: false,
})
return false
}
if (res.code == 200) {
let data = res.data
if (this.data.tab == 'fav' && data.count.fav != 0) {
this['get_' + this.data.tab]()
} else if (this.data.tab == 'publish' && data.count.post != 0) {
this['get_' + this.data.tab]()
} else {
wx.hideLoading()
}
this.setData({
landlordcertification: data.landlordcertification,
user: data.user,
initState: true,
loding: false
})
} else {
wx.hideLoading()
wx.showModal({
title: '提示',
content: res.message
})
}
}, err => {
wx.hideLoading()
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
first_in: true,
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
let tab = this.data.tab;
if (!app.globalData.config.lists) {
wx.stopPullDownRefresh();
return false
}
if (tab == 'fav') {
this.setData({
fav_page: {
next_page: 1
},
fav_list: []
})
} else if (tab == 'message') {
this.setData({
message_page: {
next_page: 1
},
message_list: [],
})
} else if (tab == 'publish') {
this.setData({
publish_page: {
next_page: 1
},
publish_list: []
})
}
this['get_' + this.data.tab]();
wx.stopPullDownRefresh();
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if (!app.globalData.config.lists) {
return false
}
if (this.data.tab == 'fav') {
this.get_fav()
} else if (this.data.tab == 'publish') {
this.get_publish()
} else {
this.get_message();
}
},
change_tab: function (e) {
this.setData({
tab: e.currentTarget.dataset.tab,
})
if (this.data[this.data.tab + '_list'].length == 0 && this.data[this.data.tab + '_page'].next_page == 1 && app.globalData.config.lists) {
// 首次点击tab加载数据
this['get_' + this.data.tab]()
}
},
// 收藏列表
get_fav: function () {
var that = this;
if (!app.globalData.config.lists) {
return false
}
if (that.data.fav_page.next_page == 0) {
return false
}
this.setData({
loading: true
})
var sendData = Object.assign({}, this.data.options, {
session: wx.getStorageSync('session'),
page: that.data.fav_page.next_page,
q: that.data.q
})
// miucms.request(app.globalData.config.collection.init, {
miucms.request(`${app.globalData.baseURL}/tenement/my/favList`, {
page: that.data.fav_page.next_page,
}).then(data => {
wx.hideLoading()
if (data.code == 401) {
that.setData({
loding: false,
isAuthorization: 1,
})
return false
}
if (data.code == 200) {
data = data.data
that.data.fav_list = that.data.fav_list.concat(data.data)
if (that.data.fav_list.length >= data.count) {
this.data.fav_page.next_page = 0
} else {
this.data.fav_page.next_page += 1
}
that.setData({
fav_list: that.data.fav_list,
// fav_page: data.page,
fav_page: this.data.fav_page,
fav_count: data.count,
loading: false,
})
} else {
wx.showModal({
title: '提示',
content: data.message,
})
}
}).catch(res => {})
},
// 发布列表
get_publish: function () {
if (!app.globalData.config.lists) {
return false
}
var that = this;
if (that.data.publish_page.next_page == 0) {
return false
}
this.setData({
loading: true
})
// miucms.request(app.globalData.config.post.init, {
miucms.request(`${app.globalData.baseURL}/tenement/my/releaseList`, {
page: this.data.publish_page.next_page
}).then(data => {
wx.hideLoading()
if (data.code == 401) {
that.setData({
isAuthorization: 1,
loding: false,
})
return false
}
if (!data.extraparam) {
data = data.data
that.data.publish_list = that.data.publish_list.concat(data.data);
if (that.data.publish_list.length != 0 && that.data.publish_list.length == data.count) {
this.data.publish_page.next_page = 0;
} else {
this.data.publish_page.next_page += 1;
}
// if (data.data.length == 0) {
// this.data.publish_page.next_page = 0;
// } else {
// this.data.publish_page.next_page += 1;
// }
that.setData({
publish_list: that.data.publish_list,
publish_page: that.data.publish_page,
publish_count: data.count,
loading: false,
})
} else {
wx.showModal({
title: '提示',
content: data.message,
})
}
}).catch(res => {
wx.showModal({
title: '提示',
content: res,
})
})
},
add_to_fav: function (e) {
let that = this;
let uniqid = e.currentTarget.dataset.uniqid;
let token = e.currentTarget.dataset.token;
let index = e.currentTarget.dataset.index;
miucms.request(app.globalData.config.collection.operation, {
token: token,
uniqid: uniqid
}).then(data => {
that.data.fav_list.splice(index, 1);
that.setData({
fav_count: data.data.user_count,
fav_list: that.data.fav_list
})
wx.showToast({
title: data.message,
})
}).catch(res => {})
},
// 删除帖子
del_item: function (e) {
let uniqid = e.currentTarget.dataset.uniqid;
let token = e.currentTarget.dataset.token;
let index = e.currentTarget.dataset.index;
let that = this;
wx.showModal({
title: '提示',
content: '确定删除吗?',
success: function (res) {
if (res.confirm === true) {
wx.showLoading({
title: '正在提交...',
})
miucms.request(app.globalData.config.post.delete, {
token: token,
uniqid: uniqid
}).then(data => {
wx.hideLoading()
if (data.extraparam.mode == 'right') {
// 成功
that.data.publish_list.splice(index, 1);
that.data.publish_count--;
that.setData({
publish_list: that.data.publish_list,
publish_count: that.data.publish_count
})
wx.showToast({
title: data.message,
})
} else {
wx.showModal({
title: '提示',
content: data.message,
})
}
}).catch(res => {
wx.hideLoading()
})
}
}
})
},
bindcontact: function (re) {
},
show_select: function (e) {
var title = e.currentTarget.dataset.title;
this.data.orderby.show = true;
this.setData({
orderby: this.data.orderby
})
},
select_value: function (e) {
var that = this;
let change = true;
let title = e.currentTarget.dataset.title;
let value = e.currentTarget.dataset.value;
let name = e.currentTarget.dataset.name;
if (that.data[title].value == value) {
change = false
} else {
that.data[title].value = value;
that.data[title].name = name;
}
that.data[title].show = false;
this.setData({
orderby: this.data.orderby
})
if (change) {
this.clear_data()
}
},
clear_data: function () {
this.setData({
message_page: {
next_page: 1
},
message_list: []
})
this.get_message()
},
// 留言列表
get_message: function () {
var that = this;
if (!app.globalData.config.lists) {
return false
}
if (that.data.message_page.next_page == 0) {
return false
}
this.setData({
loading: true
})
var sendData = Object.assign({}, this.data.options, {
session: wx.getStorageSync('session'),
page: that.data.message_page.next_page,
order: that.data.orderby.value,
q: that.data.q
})
miucms.request(app.globalData.config.message.lists, sendData, ).then(data => {
wx.hideLoading()
if (!data.extraparam) {
that.data.message_list = that.data.message_list.concat(data.data);
// that.data.user.newpm = data.newpm;
that.setData({
message_list: that.data.message_list,
message_page: data.page,
impression: data.impression,
user: that.data.user,
loading: false
})
app.globalData.user.newpm = data.newpm;
} else {
wx.showModal({
title: '提示',
content: data.message,
})
}
}).catch(res => {})
},
show_more_item: function (e) {
let that = this;
let index = e.currentTarget.dataset.index;
let show = that.data.message_list[index]['show_more'] ? false : true;
that.data.message_list[index]['show_more'] = show;
that.setData({
message_list: that.data.message_list
})
},
// 设置印象
set_impression: function (e) {
let that = this;
that.data.impression_obj.index = e.currentTarget.dataset.i;
that.data.impression_obj.impression = e.currentTarget.dataset.impression;
that.data.impression_obj.uniqid = e.currentTarget.dataset.uniqid;
that.data.impression_obj.show = true;
that.data.del_obj.index = e.currentTarget.dataset.i;
that.data.del_obj.uniqid = e.currentTarget.dataset.uniqid;
that.data.del_obj.token = e.currentTarget.dataset.token;
that.setData({
impression_obj: that.data.impression_obj,
del_obj: that.data.del_obj
})
},
check_item: function (e) {
var that = this;
var impression = e.currentTarget.dataset.impression;
that.data.impression_obj.impression = impression;
that.setData({
impression_obj: that.data.impression_obj
})
wx.showLoading({
title: '数据提交中',
})
miucms.request(app.globalData.config.message.setimpression, {
uniqid: that.data.impression_obj.uniqid,
impression: that.data.impression_obj.impression
}).then(data => {
if (data.extraparam.mode == 'right') {
that.data.impression_obj.show = false;
that.data.message_list[that.data.impression_obj.index]['impression'] = impression;
that.setData({
impression_obj: that.data.impression_obj,
message_list: that.data.message_list
})
}
}).catch(res => {})
},
close_alert: function (e) {
let that = this;
that.data.impression_obj.show = false;
that.data.del_obj.show = false;
that.data.orderby.show = false;
this.data.chage_status_obj.show = false;
that.setData({
impression_obj: that.data.impression_obj,
del_obj: that.data.del_obj,
orderby: that.data.orderby,
chage_status_obj: that.data.chage_status_obj
})
},
del_contacts_item: function (e) {
let that = this;
that.data.del_obj.index = e.currentTarget.dataset.i;
that.data.del_obj.uniqid = e.currentTarget.dataset.uniqid;
that.data.del_obj.token = e.currentTarget.dataset.token;
that.data.del_obj.show = true;
that.setData({
del_obj: that.data.del_obj
})
},
del_contacts: function (e) {
let that = this;
wx.showLoading({
title: '数据提交中',
})
miucms.request(app.globalData.config.message.delete, {
uniqid: that.data.del_obj.uniqid,
token: that.data.del_obj.token
}).then(data => {
if (data.extraparam.mode == 'right') {
that.data.del_obj.show = false;
that.data.impression_obj.show = false;
that.data.message_list.splice([that.data.del_obj.index], 1);
that.setData({
del_obj: that.data.del_obj,
impression_obj: that.data.impression_obj,
message_list: that.data.message_list
})
wx.showToast({
title: data.message,
})
} else {
wx.showModal({
title: '提示',
content: data.message,
})
}
}).catch(res => {})
},
send_form_id: function (e) {
return false;
miucms.request(app.globalData.config.FormidInsert, {
formid: e.detail.formId
}).then(data => {}).catch(res => {})
},
wxParseTagATap: function (e) {
var url = e.currentTarget.dataset.src;
wx.navigateTo({
url: url,
})
},
change_item_status: function (e) {
let uniqid = e.currentTarget.dataset.uniqid;
let token = e.currentTarget.dataset.token;
let index = e.currentTarget.dataset.index;
let status = e.currentTarget.dataset.status;
this.setData({
chage_status_obj: {
show: true,
uniqid: uniqid,
token: token,
index: index,
status: status
}
})
},
change_status: function () {
var that = this;
wx.showLoading({
title: '提交中',
})
miucms.request(app.globalData.config.post.status, {
token: that.data.chage_status_obj.token,
uniqid: that.data.chage_status_obj.uniqid,
status: that.data.chage_status_obj.status == 1 ? 2 : 1
}).then(data => {
// if (data.extraparam.mode == 'right') {
if (data.code == 200) {
// 成功
that.data.publish_list[that.data.chage_status_obj.index].status = data.data.status;
that.data.chage_status_obj.show = false;
that.setData({
publish_list: that.data.publish_list,
chage_status_obj: that.data.chage_status_obj
})
wx.showToast({
title: data.message,
})
} else {
wx.hideLoading()
if (data.data && data.data.message) {
// 触发规则是 不需要wx.showModal 但是 接口有data.message ,所以排除掉
} else {
wx.showModal({
title: '提示',
content: data.message
})
}
if (data.data && data.data.rule) {
this.setData({
triggerRules: data.data.rule,
appealtoken: data.data.appealtoken
})
}
this.close_alert()
}
}).catch(res => {})
},
// 已租出提示
have_rent_info: function () {
wx.showModal({
title: '提示',
content: '该房源信息已出租或已失效',
})
},
// 点击顶上去
bindtopUp(e) {
let token = e.currentTarget.dataset.token
let index = e.currentTarget.dataset.index
let isding = e.currentTarget.dataset.isding
if (isding == 1) {
this.setData({
raisePopupMessage: "今天已顶过啦,明天再来吧!",
raisePopupState: true,
isdingState: 1
})
setTimeout(() => {
this.setData({
raisePopupState: false,
})
setTimeout(() => {
this.setData({
isdingState: 0
})
}, 500)
}, 1500)
return
}
miucms.request(app.globalData.baseURL + "/tenement/post/ding", {
token
}).then(res => {
if (res.code == 200) {
if (isding == 0) {
this.data.publish_list[index].isding = 1
} else {
this.data.publish_list[index].isding = 0
}
this.setData({
raisePopupMessage: res.message,
raisePopupState: true,
publish_list: this.data.publish_list
})
setTimeout(() => {
this.setData({
raisePopupState: false
})
}, 1500)
return
}
this.setData({
raisePopupMessage: res.message,
raisePopupState: true,
isdingState: 1
})
setTimeout(() => {
this.setData({
raisePopupState: false,
})
setTimeout(() => {
this.setData({
isdingState: 0
})
}, 500)
}, 1500)
})
},
// 撤销审核
cancelAudit(e) {
let that = this
let {
token,
index
} = e.currentTarget.dataset
wx.showModal({
title: '提示',
content: '确认撤销审核?',
success(res) {
if (res.confirm) {
miucms.request(app.globalData.baseURL + '/tenement/appeal/revoke', {
token
}).then(res => {
if (res.code == 200) {
that.data.publish_list[index].status = 0
that.setData({
publish_list: that.data.publish_list
})
wx.showToast({
title: res.message,
})
} else if (res.code == 201) {
wx.showModal({
title: '提示',
content: res.message
})
}
})
}
}
})
},
unreadMessagesalter(e) {
if (this.data.isAuthorization == 1) {
wx.showModal({
title: '提示',
content: "权限受限,请先授权"
})
return
}
wx.navigateTo({
url: '/pages/messageCenter/messageCenter',
success: () => {
if (this.data.unreadMessages > 0) {
this.setData({
unreadMessages: 0
})
}
app.globalData.unreadMessages = 0
}
})
},
// 跳转我要申述
goAppeal() {
wx.navigateTo({
url: '/pages/appeal/appeal?appealtoken=' + this.data.appealtoken,
})
},
// 点击关闭
triggerRulesClose() {
this.setData({
triggerRules: 0
})
},
// 上架触发规则2 弹窗点击下架房源
goUser() {
this.triggerRulesClose()
},
// 上架触发规则3 点击右上角叉叉
WechatIDClose() {
this.triggerRulesClose()
},
// 上架触发规则3中的图片预览
methodPreview() {
wx.previewImage({
urls: ["https://oss.gter.net/attachment/Zvt57TuJSUvkyhw-xG7Y2l-T_pIqc3nqqsgFptxhXa6RWi26P-BuTQdCF7eV7tkb8MVYZjQ0Mjk~"],
current: "https://oss.gter.net/attachment/Zvt57TuJSUvkyhw-xG7Y2l-T_pIqc3nqqsgFptxhXa6RWi26P-BuTQdCF7eV7tkb8MVYZjQ0Mjk~"
})
},
// 授权成功后需要处理的事件
authorizationSuccess() {
this.setData({
initState: false
})
},
// 跳转到认证 介绍
goApprove() {
let url = this.data.landlordcertification
wx.navigateTo({
url: `/pages/webViewwebweb/index?url=${url}`,
})
}
})