package com.xhly.websocket.utils

import com.xhly.corelib.eventbus.UIEvent
import com.xhly.corelib.utils.GsonUtils
import com.xhly.corelib.utils.LogShow
import com.xhly.websocket.bean.WebSocketData

object SocketPushUtils {
    fun dealPushMessage(content: String) {
        try {
            //没用泛型是因为如果带有泛型的类型，可能会遇到解析异常的问题。需要使用TypeToken
            var socketData = GsonUtils.parseJsonWithGson(content, WebSocketData::class.java)
            LogShow("数据$content")
            socketData.code.let { code ->
                when (code) {
                    1001 -> {
                        //连接后回发 body{userid,username,usertype(1管理员，2学生)}
                    }

                    1002 -> {
                        //获取在线用户列表
                    }

                    1003 -> {
                        //返回在线用户列表 body{userlist(userid,username)}
                    }

                    2001 -> {
                        //发送消息 body{userid,username,msg}
                        UIEvent("2001").post()
                    }

                    2002 -> {
                        //限制使用
                    }

                    2003 -> {
                        //解除限制

                    }

                    2004 -> {
                        //更新策略
                    }

                    2005 -> {
                        //重启设备
                    }

                    2006 -> {
                        //恢复出厂
                    }
                    666->{
                        //消息确认回发mid 消息id
                    }
                    999->{
                        //错误消息 body msg(错误消息)
                    }
                    else -> {
                        //Log.d("message解析", socketData .message!!)
                    }
                }
            }
        } catch (e: Exception) {
            LogShow("解析问题$e")
        }
    }
}