锦水居民端小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

283 lines
7.3 KiB

import { $wuxActionSheet } from '../../../../dist/index'
import { getAssociationDetail, modifyAvatar, disbandAssociation, withdrawGroup, getAssociationMember } from '../../utils/api'
const config = require('../../../../utils/config')
const app = getApp()
Page({
data: {
groupAvatar: '../../images/ic_tianjiatouxiang@2x.png',
userInfo: {
id: '',
groupName: '',
groupAvatar: '',
groupCategory: '1',
nickname: '',
totalNum: '',
topicNum: '',
changeToIssueNum: '',
lordFlag: ''
},
groupId: '',
noticeVerifyVisible: false,
dialogVisible: false,
checkPenddingNum: 0
},
onShow () {
this.getCheckMemberNum()
},
onLoad (options) {
this.setData({
groupId: options.groupId
})
this.getAssociationDetail()
},
onHide () {
},
// 跳转到 群介绍
navigateToIntroduce () {
wx.navigateTo({
url: `/subpages/association/pages/joinassociation/joinassociation?type=change&id=${this.data.userInfo.id}`
})
},
// 跳转到 群成员
navigateToMember () {
wx.navigateTo({
url: `/subpages/association/pages/associationMember/associationMember?id=${this.data.userInfo.id}&groupCategory=${this.data.userInfo.groupCategory}`
})
},
// 跳转到 邀请好友
navigateToInvitation () {
wx.navigateTo({
url: `/subpages/association/pages/inviteFriend/inviteFriend?id=${this.data.userInfo.id}`
})
},
// 跳转到 入群审核
navigateToVerify () {
wx.navigateTo({
url: `/subpages/association/pages/incomingVerify/incomingVerify?id=${this.data.userInfo.id}`
})
},
// 选择图片
chooseImage () {
if (app.globalData.groupInfo.lordFlag === '0') {
return false
}
const that = this
$wuxActionSheet().showSheet({
buttons: [{
text: '拍照'
},
{
text: '从相册中获取'
},
],
className: 'dialog-class',
buttonClicked(index, item) {
if (index === 0) {
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['camera'],
success (res) {
wx.uploadFile({
url: config.BASEURL() + 'group/topic/upload',
filePath: res.tempFilePaths[0],
name: 'file',
header: {
'Content-Type': 'multipart/form-data'
},
success (fileres) {
const data = JSON.parse(fileres.data)
if (data.code === 0 && data.msg === 'success') {
that.modifyAvatar(data.data)
} else {
wx.showToast({
title: '上传图片失败,请重试',
icon: 'none',
duration: 2000
})
}
},
fail (err) {
console.log(err)
wx.showToast({
title: '上传图片失败,请重试',
icon: 'none',
duration: 2000
})
}
})
}
})
} else if (index === 1) {
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album'],
success (res) {
wx.uploadFile({
url: config.BASEURL() + 'group/topic/upload',
filePath: res.tempFilePaths[0],
name: 'file',
header: {
'Content-Type': 'multipart/form-data'
},
success (fileres) {
const data = JSON.parse(fileres.data)
if (data.code === 0 && data.msg === 'success') {
that.modifyAvatar(data.data)
} else {
wx.showToast({
title: '上传图片失败,请重试',
icon: 'none',
duration: 2000
})
}
},
fail (err) {
console.log(err)
wx.showToast({
title: '上传图片失败,请重试',
icon: 'none',
duration: 2000
})
}
})
}
})
}
return true
},
cancelText: '取消',
cancel() {},
destructiveButtonClicked() {},
})
},
// 获取群详情
getAssociationDetail() {
getAssociationDetail(this.data.groupId).then(res => {
console.log('群详情', res)
const userInfo = {}
for (const key in res.data) {
userInfo[key] = res.data[key]
}
app.globalData.groupInfo = {
groupAvatar: res.data.groupAvatar,
groupLeader: res.data.nickname,
groupName: res.data.groupName,
groupId: res.data.id,
lordFlag: res.data.lordFlag
}
this.setData({
userInfo
})
}).catch(err => {
console.log(err)
})
},
// 修改群头像
modifyAvatar(groupAvatar) {
const para = {
id: this.data.userInfo.id,
groupAvatar
}
wx.showLoading({
title: '加载中',
})
modifyAvatar(para).then(res => {
wx.hideLoading()
console.log('修改群头像', res)
wx.showToast({
title: '修改群头像成功',
icon: 'none',
duration: 2000
})
const userInfo = Object.assign(this.data.userInfo, { groupAvatar })
this.setData({
userInfo
})
}).catch(err => {
console.log(err)
})
},
// 解散群
disbandAssociation () {
this.setData({
noticeVerifyVisible: !this.data.noticeVerifyVisible
})
},
// 解散群弹框确定
confirm (e) {
const para = {
id: this.data.userInfo.id,
processingOpinions: e.detail.value
}
wx.showLoading({
title: '加载中',
})
disbandAssociation(para).then(res => {
wx.hideLoading()
console.log('解散群',res)
wx.showToast({
title: '解散群成功',
icon: 'none',
duration: 2000
})
wx.navigateBack({
delta: 2
})
}).catch(err => {
console.log(err)
})
},
// 解散群弹框取消
cancel () {
console.log('取消')
},
// 退群
withdrawGroup () {
this.setData({
dialogVisible: !this.data.dialogVisible
})
},
// 退群确认弹框
confirmDialog () {
wx.showLoading({
title: '加载中',
})
withdrawGroup(this.data.userInfo.id).then(res => {
console.log('退群', res)
wx.hideLoading()
wx.showToast({
title: '退群成功',
icon: 'none',
duration: 2000
})
wx.navigateTo({
url: '/pages/association/association'
})
}).catch(err => {
console.log(err)
})
},
// 获取 待审核人数
getCheckMemberNum () {
const para = {
groupId: this.data.groupId,
state: 0
}
getAssociationMember(para).then(res => {
console.log('待审核群成员人数', res)
this.setData({
checkPenddingNum: res.data.length
})
}).catch(err => {
this.setData({
checkPenddingNum: 0
})
console.log(err)
})
}
})