<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>
		<view class="text-area">
			<text class="title">{{title}}</text>
		</view>
	</view>
</template>

<script>
	import {
		recive
	} from '../../src/libs/Broadcast.js';
	import {
		unregisterReceiver
	} from '../../src/libs/Broadcast.js';

	export default {
		data() {
			return {
				title: 'Hello'
			}
		},
		onShow: function() {
			const self = this; // 保存this的引用
			recive(function(res) {
				console.log("Success:"+res.data); 
				self.getEquipmentInfo(res.data); 
			}, function(err) {
				console.log("Error:", JSON.stringify(err)); // 正确打印错误信息
			});
		},
		onUnload: function() {
			unregisterReceiver()
		},
		methods: {
			getEquipmentInfo(encodedString) {
				
				// 去除末尾的逗号和"..."（如果有的话）
				encodedString = encodedString.replace(/,\s*\.\.\.$/, '');
				console.log("1:"+encodedString); 
				// 分割字符串并转换为字节数组
				let byteStrings = encodedString.split(',');
				let byteArray = [];
				for (let byteString of byteStrings) {
				    byteArray.push(parseInt(byteString, 10)); // 将字符串转换为十进制整数
				}
				console.log("2:"+encodedString); 
				// 将字节数组转换为UTF-8字符串
				// 注意：这里使用了一个简单的循环来构建字符串，因为String.fromCharCode.apply可能在大数据上性能不佳
				let originalString = '';
				for (let i = 0; i < byteArray.length; i++) {
				    // 对于每个字节，使用fromCharCode转换为对应的字符
				    // 注意：这里假设你的字节数组已经是正确的UTF-8编码，并且不需要额外的处理来组合多字节字符
				    originalString += String.fromCharCode(byteArray[i]);
				}
				console.log("3:"+originalString); 
				this.title = originalString;
				console.log("4:"+this.title); 
			},
		}
	}
</script>

<style>
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.logo {
		height: 200rpx;
		width: 200rpx;
		margin-top: 200rpx;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 50rpx;
	}

	.text-area {
		display: flex;
		justify-content: center;
	}

	.title {
		font-size: 36rpx;
		color: #8f8f94;
	}
</style>