<template>
	<view class="page">
		<view class="list-footer">
			<view class="searchOut">
				<uni-search-bar ref="searchBar" placeholder="搜索" bgColor="#F7F7F7" :show="false" @confirm="search"
					@input="search">
				</uni-search-bar>
			</view>
		</view>
        <scroll-view scroll-y="true" class="chat-list" :style="{'height': maxheight}" @scrolltolower="getDate">
        	<view v-for="(row,index) in list" class="chat-item">
        		<view class="u-img">
        			<image
        				:src="row.sender.avatar"
        				:lazy-load="true" style="border-radius: 10px;" :data-id="index" @error="imageError"
        				class="u-logo"></image>
        		</view>
        		<view class="u-content">
        			<view class="chat-time">
        				<view class="">
        					<!-- {{row.msg.user_info.uid == 0 ? '系统': (row.msg.user_info.show_name || row.msg.user_info.name || '')}} -->
                            {{row.sender.nickname}}
        				</view>
        				<view class="">
        					<!-- {{ timestampFormat(row.msg.time + '') }} -->
                            {{timestampToTime(row.addtime)}}
        				</view>
        			</view>
        			<view class="chat-content">
                        <!-- <image v-if="row.type == 'image'" :src="row.content1" mode="widthFix" style="max-width: 80%;"></image>
                        <view v-if="row.type == 'video'" class="" v-html="row.content">
                            
                        </view> -->
        				<rich-text  :nodes="row.content"
        					space="true" />
                      <!--  <view v-if="row.type == 'text'" class="">
                            {{row.content}}
                        </view> -->
        			</view>
        		</view>
        	</view>
        </scroll-view>
	</view>
</template>

<script>
    import http from "../../library/http.js"
	export default {
		
		data() {
			return {
                user: uni.getStorageSync('userInfo'),
				// emojiList: emoj_data.emoji_list,
				maxheight: '',
				list: [],
				group_id: '',
				chat_msg: '',
                page: 1,
                limit: 30,
                loadingType: 'more',
                isgroup: 0,
			};
		},
		computed: {
			staticPhoto() {
				return _data.staticPhoto();
			},
		},
		onLoad(opt) {
			this.group_id = opt.group_id
            this.isgroup = opt.isgroup
			this.getDate('reload')
		},
		onShow() {
			let _this = this;
		},
		onReady(res) {
			var that = this;
			uni.getSystemInfo({
				success: resu => {
					const query = uni.createSelectorQuery();
					query.select('.chat-list').boundingClientRect();
					query.exec(function(res) {
						that.maxheight = resu.windowHeight - res[0].top + 'px';
                        console.log(that.maxheight);
					});
				},
				fail: res => {}
			});
		},
		methods: {
            timestampToTime(timestamp) {
                var date = new Date(timestamp * 1000); //时间戳为10位需*1000，时间戳为13位的话不需乘1000
                var Y = date.getFullYear();
                var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
                var D = date.getDate();
                var h = date.getHours();
                var m = date.getMinutes();
                var s = date.getSeconds();
                if (D < 10) D = '0' + D;
                if (h < 10) h = '0' + h;
                if (m < 10) m = '0' + m;
                if (s < 10) s = '0' + s;
                return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s;
            },
			imageError(e) {
				let index = e.currentTarget.dataset.id;
				this.list[index].msg.user_info.face = "/default_photo_path.png";
			},
			getDate(type) {
				let that = this
                if(type == 'reload') {
                    that.list = []
                    that.page = 1
                    that.loadingType = 'more'
                }
                if(that.loadingType == 'loading' || that.loadingType == 'noMore') {
                    return 
                }
                that.loadingType = 'loading'
				 http.setWait(false).get('group.php?act=search_msg',{
                     id: that.group_id,
                     page: that.page,
                     limit: that.limit,
                     key: that.chat_msg,
                     isgroup: that.isgroup,
                     userid: that.user.id
                 }).then(res => {
                    if(res.data && res.data.length > 0) {
                        let data = [];
                        res.data.forEach(item => {
                            if(item.type != 'time') {
                                data.push(item)
                            }
                        })
                        that.list = that.list.concat(data.reverse())
                        that.page++
                        that.loadingType = 'more'
                    }else {
                        that.loadingType = 'noMore'
                    }
                     
                     
                     console.log(that.list);
                 })
			},
			search(chat_msg) {
				let that = this
				that.chat_msg = chat_msg.trim();
				this.getDate('reload')
                console.log(that.chat_msg,'that.chat_msg');
			},
		}

	}
</script>

<style scoped lang="scss">
    page {
        height: auto;
        min-height: 100%;
    }
	.chat-list {
		background-color: #fff;
	}
	.u-logo {
		width: 75rpx !important;
		height: 75rpx !important;
		flex-shrink: 0;
	}
	.chat-item {
		display: flex;
		.u-img {
			// padding: 30rpx;
			width: 135rpx;
			height: 135rpx;
			flex-shrink: 0;
			display: flex;
			justify-content: center;
			align-items: center;
		}
		.u-content {
			flex-grow: 1;
			border-bottom: 1px solid #ededed;
			padding-right: 30rpx;
			padding-left: 15rpx;
			.chat-time {
				display: flex;
				justify-content: space-between;
				padding: 10rpx 0rpx;
			}
			.chat-content {
				padding: 10rpx 0rpx;
			}
		}
	}
</style>