package api import ( "omc/core" "omc/core/manage" "omc/core/utils" "github.com/aceld/zinx/ziface" "github.com/aceld/zinx/zlog" "github.com/aceld/zinx/znet" ) var ReqCMCALoginSeqMsgID uint32 = 12 var ReqCMCALoginSeqMsgType uint32 = 13 var ReqCMCALoginSeqMsgName string = "ackCMCALoginSeq" // reqCMCALoginSeq CMCA认证方式登录随机码 type ReqCMCALoginSeq struct { znet.BaseRouter } // reqCMCALoginAlarm;user=omc;key=base64Key;cert=cer;type=msg" func (s *ReqCMCALoginSeq) Handle(request ziface.IRequest) { // 获取当前请求的通道 m := manage.GetManager(request.GetConnection().GetName()) if m == nil { zlog.Ins().ErrorF("server internal error") request.GetConnection().SendMsg(ReqCMCALoginSeqMsgType, core.ResultError(ReqCMCALoginSeqMsgName, "server internal error", "")) return } uid, err := request.GetConnection().GetProperty("UID") if err != nil { zlog.Ins().ErrorF("GetProperty UID error %s", err) request.GetConnection().Stop() return } // seqNo 32位长度 0-9A-Z seqNo := utils.SeqNo(32) m.SetSeqNo(uid.(string), seqNo) // 发送随机码去sha256加密 msgData := map[string]string{ "seqNo": seqNo, } request.GetConnection().SendMsg(ReqCMCALoginSeqMsgType, core.Result(ReqCMCALoginSeqMsgName, msgData)) }