<template>
	<view class="page">
		<navbar title="群组管理" bgColor="#5baaff" color="#fff" leftClick @leftClick="$utils.navigateBack" />
		
		<!-- 群组信息 -->
		<view class="group-info">
			<image :src="groupInfo.avatar || '/static/image/logo.jpg'" class="group-avatar" mode="aspectFill"></image>
			<view class="group-details">
				<view class="group-name">{{ groupInfo.name || '群组名称' }}</view>
				<view class="member-count">{{ groupInfo.memberCount || 0 }}人</view>
			</view>
		</view>
		
		<!-- 管理选项 -->
		<view class="manage-options">
			<view class="option-item" @click="editGroupInfo">
				<view class="option-left">
					<uv-icon name="edit-pen" size="40rpx" color="#5baaff"></uv-icon>
					<text>编辑群组信息</text>
				</view>
				<uv-icon name="arrow-right" size="30rpx" color="#ccc"></uv-icon>
			</view>
			
			<view class="option-item" @click="uploadQrCode">
				<view class="option-left">
					<uv-icon name="scan" size="40rpx" color="#5baaff"></uv-icon>
					<text>上传群聊二维码</text>
				</view>
				<uv-icon name="arrow-right" size="30rpx" color="#ccc"></uv-icon>
			</view>
			
			<view class="option-item" @click="manageMembers">
				<view class="option-left">
					<uv-icon name="account" size="40rpx" color="#5baaff"></uv-icon>
					<text>成员管理</text>
				</view>
				<uv-icon name="arrow-right" size="30rpx" color="#ccc"></uv-icon>
			</view>
			
			<view class="option-item" @click="editAnnouncement">
				<view class="option-left">
					<uv-icon name="volume" size="40rpx" color="#5baaff"></uv-icon>
					<text>群组公告</text>
				</view>
				<uv-icon name="arrow-right" size="30rpx" color="#ccc"></uv-icon>
			</view>
			
			<view class="option-item" @click="groupSettings">
				<view class="option-left">
					<uv-icon name="setting" size="40rpx" color="#5baaff"></uv-icon>
					<text>群组设置</text>
				</view>
				<uv-icon name="arrow-right" size="30rpx" color="#ccc"></uv-icon>
			</view>
		</view>
		
		<!-- 危险操作 -->
		<view class="danger-zone">
			<view class="danger-title">危险操作</view>
			<view class="danger-item" @click="transferGroup">
				<view class="danger-left">
					<uv-icon name="account" size="40rpx" color="#ff4757"></uv-icon>
					<text>转让群主</text>
				</view>
				<uv-icon name="arrow-right" size="30rpx" color="#ccc"></uv-icon>
			</view>
			
			<view class="danger-item" @click="dissolveGroup">
				<view class="danger-left">
					<uv-icon name="close" size="40rpx" color="#ff4757"></uv-icon>
					<text>解散群组</text>
				</view>
				<uv-icon name="arrow-right" size="30rpx" color="#ccc"></uv-icon>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				groupId: '',
				groupInfo: {
					id: 1,
					name: '江华同城交流群',
					avatar: '/static/image/logo.jpg',
					memberCount: 1280
				}
			}
		},
		onLoad(options) {
			if (options.id) {
				this.groupId = options.id
				this.getGroupInfo()
			}
		},
		methods: {
			// 获取群组信息
			getGroupInfo() {
				// 模拟群组信息
				const mockGroupInfo = {
					1: {
						id: 1,
						name: '江华同城交流群',
						avatar: '/static/image/logo.jpg',
						memberCount: 1280
					},
					2: {
						id: 2,
						name: '江华美食分享群',
						avatar: '/static/image/logo.jpg',
						memberCount: 856
					},
					3: {
						id: 3,
						name: '江华租房信息群',
						avatar: '/static/image/logo.jpg',
						memberCount: 2341
					},
					4: {
						id: 4,
						name: '江华求职招聘群',
						avatar: '/static/image/logo.jpg',
						memberCount: 1567
					},
					5: {
						id: 5,
						name: '江华旅游攻略群',
						avatar: '/static/image/logo.jpg',
						memberCount: 623
					},
					6: {
						id: 6,
						name: '江华学习交流群',
						avatar: '/static/image/logo.jpg',
						memberCount: 445
					},
					7: {
						id: 7,
						name: '江华二手交易群',
						avatar: '/static/image/logo.jpg',
						memberCount: 1890
					},
					8: {
						id: 8,
						name: '江华宠物交流群',
						avatar: '/static/image/logo.jpg',
						memberCount: 567
					},
					9: {
						id: 9,
						name: '江华汽车交流群',
						avatar: '/static/image/logo.jpg',
						memberCount: 892
					},
					10: {
						id: 10,
						name: '江华宝妈交流群',
						avatar: '/static/image/logo.jpg',
						memberCount: 1234
					},
					11: {
						id: 11,
						name: '江华IT技术交流群',
						avatar: '/static/image/logo.jpg',
						memberCount: 345
					},
					12: {
						id: 12,
						name: '江华健身运动群',
						avatar: '/static/image/logo.jpg',
						memberCount: 678
					},
					13: {
						id: 13,
						name: '江华摄影爱好者群',
						avatar: '/static/image/logo.jpg',
						memberCount: 456
					},
					14: {
						id: 14,
						name: '江华创业交流群',
						avatar: '/static/image/logo.jpg',
						memberCount: 789
					},
					15: {
						id: 15,
						name: '江华医疗健康群',
						avatar: '/static/image/logo.jpg',
						memberCount: 1123
					},
					16: {
						id: 16,
						name: '江华读书会',
						avatar: '/static/image/logo.jpg',
						memberCount: 234
					},
					17: {
						id: 17,
						name: '江华音乐爱好者群',
						avatar: '/static/image/logo.jpg',
						memberCount: 567
					},
					18: {
						id: 18,
						name: '江华电商交流群',
						avatar: '/static/image/logo.jpg',
						memberCount: 890
					},
					19: {
						id: 19,
						name: '江华园艺爱好者群',
						avatar: '/static/image/logo.jpg',
						memberCount: 345
					},
					20: {
						id: 20,
						name: '江华法律咨询群',
						avatar: '/static/image/logo.jpg',
						memberCount: 678
					}
				}
				
				setTimeout(() => {
					this.groupInfo = mockGroupInfo[this.groupId] || this.groupInfo
				}, 300)
			},
			
			// 编辑群组信息
			editGroupInfo() {
				this.$utils.navigateTo('/pages_order/group/editGroup?id=' + this.groupId)
			},
			
			// 上传群聊二维码
			uploadQrCode() {
				uni.chooseImage({
					count: 1,
					sizeType: ['original', 'compressed'],
					sourceType: ['album', 'camera'],
					success: (res) => {
						const tempFilePath = res.tempFilePaths[0]
						
						// 显示预览
						uni.previewImage({
							urls: [tempFilePath],
							success: () => {
								// 确认上传
								uni.showModal({
									title: '确认上传',
									content: '确定要上传这张二维码图片吗？',
									success: (modalRes) => {
										if (modalRes.confirm) {
											this.uploadQrCodeImage(tempFilePath)
										}
									}
								})
							}
						})
					},
					fail: (err) => {
						uni.showToast({
							title: '选择图片失败',
							icon: 'none'
						})
					}
				})
			},
			
			// 上传二维码图片
			uploadQrCodeImage(filePath) {
				uni.showLoading({
					title: '上传中...'
				})
				
				// 模拟上传过程
				setTimeout(() => {
					uni.hideLoading()
					uni.showToast({
						title: '上传成功',
						icon: 'success'
					})
					
					// 这里可以调用实际的上传API
					// uni.uploadFile({
					//     url: 'your-upload-api',
					//     filePath: filePath,
					//     name: 'qrcode',
					//     formData: {
					//         groupId: this.groupId
					//     },
					//     success: (uploadRes) => {
					//         // 处理上传成功
					//     }
					// })
				}, 2000)
			},
			
			// 成员管理
			manageMembers() {
				this.$utils.navigateTo('/pages_order/group/memberManage?id=' + this.groupId)
			},
			
			// 编辑公告
			editAnnouncement() {
				uni.showModal({
					title: '编辑群组公告',
					content: '请输入新的群组公告',
					editable: true,
					placeholderText: '请输入公告内容',
					success: (res) => {
						if (res.confirm && res.content) {
							this.updateAnnouncement(res.content)
						}
					}
				})
			},
			
			// 更新公告
			updateAnnouncement(content) {
				// 模拟更新公告
				setTimeout(() => {
					uni.showToast({
						title: '公告更新成功',
						icon: 'success'
					})
				}, 500)
			},
			
			// 群组设置
			groupSettings() {
				this.$utils.navigateTo('/pages_order/group/groupSettings?id=' + this.groupId)
			},
			
			// 转让群主
			transferGroup() {
				uni.showModal({
					title: '转让群主',
					content: '确定要转让群主身份吗？转让后将失去群主权限。',
					success: (res) => {
						if (res.confirm) {
							// 跳转到选择新群主页面
							this.$utils.navigateTo('/pages_order/group/transferGroup?id=' + this.groupId)
						}
					}
				})
			},
			
			// 解散群组
			dissolveGroup() {
				uni.showModal({
					title: '解散群组',
					content: '确定要解散该群组吗？解散后所有成员将被移出群组，且无法恢复。',
					success: (res) => {
						if (res.confirm) {
							// 模拟解散群组
							setTimeout(() => {
								uni.showToast({
									title: '群组已解散',
									icon: 'success'
								})
								setTimeout(() => {
									this.$utils.navigateBack()
								}, 1500)
							}, 500)
						}
					}
				})
			}
		}
	}
</script>

<style scoped lang="scss">
.page {
	background-color: #f5f5f5;
	min-height: 100vh;
	
	.group-info {
		background-color: #fff;
		padding: 30rpx;
		margin-bottom: 20rpx;
		display: flex;
		align-items: center;
		
		.group-avatar {
			width: 100rpx;
			height: 100rpx;
			border-radius: 20rpx;
			margin-right: 20rpx;
		}
		
		.group-details {
			flex: 1;
			
			.group-name {
				font-size: 32rpx;
				font-weight: bold;
				color: #333;
				margin-bottom: 8rpx;
			}
			
			.member-count {
				font-size: 24rpx;
				color: #999;
			}
		}
	}
	
	.manage-options, .danger-zone {
		background-color: #fff;
		margin-bottom: 20rpx;
		
		.option-item, .danger-item {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 30rpx;
			border-bottom: 1rpx solid #f0f0f0;
			
			&:last-child {
				border-bottom: none;
			}
			
			.option-left, .danger-left {
				display: flex;
				align-items: center;
				
				text {
					margin-left: 20rpx;
					font-size: 28rpx;
					color: #333;
				}
			}
		}
	}
	
	.danger-zone {
		.danger-title {
			padding: 20rpx 30rpx;
			font-size: 28rpx;
			color: #ff4757;
			font-weight: bold;
			border-bottom: 1rpx solid #f0f0f0;
		}
		
		.danger-item {
			.danger-left {
				text {
					color: #ff4757;
				}
			}
		}
	}
}
</style>