UNPKG

@tnwx/commons

Version:

TTNWX 微信系开发脚手架之公共模块

664 lines 35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const InWxVerifyDispatchEvent_1 = require("./entity/msg/in/event/InWxVerifyDispatchEvent"); const InTaskEvent_1 = require("./entity/msg/in/event/InTaskEvent"); const InSpeechRecognitionResults_1 = require("./entity/msg/in/InSpeechRecognitionResults"); const InImageMsg_1 = require("./entity/msg/in/InImageMsg"); const InTextMsg_1 = require("./entity/msg/in/InTextMsg"); const InNotDefinedMsg_1 = require("./entity/msg/in/InNotDefinedMsg"); const InVideoMsg_1 = require("./entity/msg/in/InVideoMsg"); const InShortVideoMsg_1 = require("./entity/msg/in/InShortVideoMsg"); const InLocationMsg_1 = require("./entity/msg/in/InLocationMsg"); const InLinkMsg_1 = require("./entity/msg/in/InLinkMsg"); const InVoiceMsg_1 = require("./entity/msg/in/InVoiceMsg"); const InFollowEvent_1 = require("./entity/msg/in/event/InFollowEvent"); const InQrCodeEvent_1 = require("./entity/msg/in/event/InQrCodeEvent"); const InLocationEvent_1 = require("./entity/msg/in/event/InLocationEvent"); const InNotDefinedEvent_1 = require("./entity/msg/in/event/InNotDefinedEvent"); const InMenuEvent_1 = require("./entity/msg/in/event/InMenuEvent"); const ScanCodeInfo_1 = require("./entity/msg/in/event/ScanCodeInfo"); const InTemplateMsgEvent_1 = require("./entity/msg/in/event/InTemplateMsgEvent"); const InMassEvent_1 = require("./entity/msg/in/event/InMassEvent"); const InCustomEvent_1 = require("./entity/msg/in/event/InCustomEvent"); const InVerifySuccessEvent_1 = require("./entity/msg/in/event/InVerifySuccessEvent"); const InVerifyFailEvent_1 = require("./entity/msg/in/event/InVerifyFailEvent"); const InPoiCheckNotifyEvent_1 = require("./entity/msg/in/event/InPoiCheckNotifyEvent"); const InWifiEvent_1 = require("./entity/msg/in/event/InWifiEvent"); const InCardPassCheckEvent_1 = require("./entity/msg/in/card/InCardPassCheckEvent"); const InUpdateMemberCardEvent_1 = require("./entity/msg/in/card/InUpdateMemberCardEvent"); const InUserPayFromCardEvent_1 = require("./entity/msg/in/card/InUserPayFromCardEvent"); const InMerChantOrderEvent_1 = require("./entity/msg/in/card/InMerChantOrderEvent"); const InCardPayOrderEvent_1 = require("./entity/msg/in/card/InCardPayOrderEvent"); const InCardSkuRemindEvent_1 = require("./entity/msg/in/card/InCardSkuRemindEvent"); const InUserConsumeCardEvent_1 = require("./entity/msg/in/card/InUserConsumeCardEvent"); const InUserGetCardEvent_1 = require("./entity/msg/in/card/InUserGetCardEvent"); const InUserGiftingCardEvent_1 = require("./entity/msg/in/card/InUserGiftingCardEvent"); const InUserCardEvent_1 = require("./entity/msg/in/card/InUserCardEvent"); const InShakearoundUserShakeEvent_1 = require("./entity/msg/in/event/InShakearoundUserShakeEvent"); const InEnterAgentEvent_1 = require("./entity/msg/in/event/InEnterAgentEvent"); const InBatchJobResultEvent_1 = require("./entity/msg/in/event/InBatchJobResultEvent"); const InUpdateTagEvent_1 = require("./entity/msg/in/event/InUpdateTagEvent"); const InUpdatePartyEvent_1 = require("./entity/msg/in/event/InUpdatePartyEvent"); const InUpdateUserEvent_1 = require("./entity/msg/in/event/InUpdateUserEvent"); const InSuiteTicket_1 = require("./entity/msg/in/InSuiteTicket"); const InAuthEvent_1 = require("./entity/msg/in/InAuthEvent"); const InBatchJobResult_1 = require("./entity/msg/in/InBatchJobResult"); const InExternalContact_1 = require("./entity/msg/in/InExternalContact"); const InExternalContactEvent_1 = require("./entity/msg/in/event/InExternalContactEvent"); const InRegisterCorp_1 = require("./entity/msg/in/InRegisterCorp"); const InComponentVerifyTicket_1 = require("./entity/msg/in/InComponentVerifyTicket"); const InAuthMpEvent_1 = require("./entity/msg/in/InAuthMpEvent"); const InCardMerchantCheckResultEvent_1 = require("./entity/msg/in/card/InCardMerchantCheckResultEvent"); class InMsgParser { static parse(obj) { return this.doParse(obj); } static doParse(obj) { if ('text' === obj.MsgType) return this.parseInTextMsg(obj); if ('image' === obj.MsgType) return this.parseInImageMsg(obj); if ('video' === obj.MsgType) return this.parseInVideoMsg(obj); if ('shortvideo' === obj.MsgType) return this.parseInShortVideoMsg(obj); if ('location' === obj.MsgType) return this.parseInLocationMsg(obj); if ('link' === obj.MsgType) return this.parseInLinkMsg(obj); if ('voice' === obj.MsgType) return this.parseInVoiceMsgAndInSpeechRecognitionResults(obj); if ('event' === obj.MsgType) return this.parseInEvent(obj); if (InSuiteTicket_1.InSuiteTicket.INFO_TYPE === obj.InfoType) return this.parseInSuiteTicket(obj); if (InComponentVerifyTicket_1.InComponentVerifyTicket.INFO_TYPE === obj.InfoType) return this.paseInComponentVerifyTicket(obj); if (InBatchJobResult_1.InBatchJobResult.INFO_TYPE === obj.InfoType) return this.parseInBatchJobResult(obj); if (InAuthEvent_1.InAuthEvent.CREATE_AUTH === obj.InfoType || InAuthEvent_1.InAuthEvent.CHANGE_AUTH === obj.InfoType || InAuthEvent_1.InAuthEvent.CANCEL_AUTH === obj.InfoType) return this.InAuthEvent(obj); if (InAuthMpEvent_1.InAuthMpEvent.CREATE_AUTH === obj.InfoType || InAuthMpEvent_1.InAuthMpEvent.CHANGE_AUTH === obj.InfoType || InAuthMpEvent_1.InAuthMpEvent.CANCEL_AUTH === obj.InfoType) return this.InAuthMpEvent(obj); if (InExternalContact_1.InExternalContact.INFO_TYPE === obj.InfoType) return this.parseInExternalContact(obj); if (InRegisterCorp_1.InRegisterCorp.INFO_TYPE === obj.InfoType) return this.parseInRegisterCorp(obj); console.debug(`无法识别的消息类型 ${obj.MsgType}\n微信公众号开发文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html\n企业微信号开发文档:https://work.weixin.qq.com/api/doc`); return new InNotDefinedMsg_1.InNotDefinedMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType); } static parseInTextMsg(obj) { let msg = new InTextMsg_1.InTextMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType); msg.setContent = obj.Content; msg.setMsgId = obj.MsgId; msg.setAgentId = obj.AgentID; return msg; } static parseInImageMsg(obj) { let msg = new InImageMsg_1.InImageMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType); msg.setPicUrl = obj.PicUrl; msg.setMediaId = obj.MediaId; msg.setMsgId = obj.MsgId; msg.setAgentId = obj.AgentID; return msg; } static parseInVideoMsg(obj) { let msg = new InVideoMsg_1.InVideoMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType); msg.setThumbMediaId = obj.ThumbMediaId; msg.setMediaId = obj.MediaId; msg.setMsgId = obj.MsgId; msg.setAgentId = obj.AgentID; return msg; } static parseInShortVideoMsg(obj) { let msg = new InShortVideoMsg_1.InShortVideoMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType); msg.setThumbMediaId = obj.ThumbMediaId; msg.setMediaId = obj.MediaId; msg.setMsgId = obj.MsgId; msg.setAgentId = obj.AgentID; return msg; } static parseInLocationMsg(obj) { let msg = new InLocationMsg_1.InLocationMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType); msg.setLocation_X = obj.Location_X; msg.setLocation_Y = obj.Location_Y; msg.setScale = obj.Scale; msg.setLabel = obj.Label; msg.setMsgId = obj.MsgId; msg.setAgentId = obj.AgentID; return msg; } static parseInLinkMsg(obj) { let msg = new InLinkMsg_1.InLinkMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType); msg.setTitle = obj.Title; msg.setDescription = obj.Description; msg.setUrl = obj.Url; msg.setMsgId = obj.MsgId; msg.setAgentId = obj.AgentID; return msg; } static parseInVoiceMsgAndInSpeechRecognitionResults(obj) { let recognition = obj.Recognition; let mediaId = obj.MediaId; let format = obj.Format; let msgId = obj.MsgId; let agentId = obj.AgentID; if (recognition) { let msg = new InVoiceMsg_1.InVoiceMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType); msg.setMediaId = mediaId; msg.setFormat = format; msg.setMsgId = msgId; msg.setAgentId = agentId; return msg; } else { let msg = new InSpeechRecognitionResults_1.InSpeechRecognitionResults(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType); msg.setMediaId = mediaId; msg.setFormat = format; msg.setMsgId = msgId; msg.setAgentId = agentId; msg.setRecognition = recognition; return msg; } } static parseInEvent(obj) { let event = obj.Event; let eventKey = obj.EventKey; let agentId = obj.AgentID; let menuId = obj.MenuId; if ('unsubscribe' == event) { let e = new InFollowEvent_1.InFollowEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setAgentId = agentId; return e; } let ticket = obj.Ticket; // 用户未关注时,进行关注后的事件推送 if ('subscribe' == event && eventKey && eventKey.startsWith('qrscene_')) { let e = new InQrCodeEvent_1.InQrCodeEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setTicket = ticket; return e; } // 用户已关注时的事件推送 if ('SCAN' == event) { let e = new InQrCodeEvent_1.InQrCodeEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setTicket = ticket; return e; } if (InFollowEvent_1.InFollowEvent.EVENT_INFOLLOW_SUBSCRIBE == event) { let e = new InFollowEvent_1.InFollowEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setAgentId = agentId; return e; } // 进入应用 if (InEnterAgentEvent_1.InEnterAgentEvent.EVENT == event) { let e = new InEnterAgentEvent_1.InEnterAgentEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setAgentId = agentId; return e; } // 上报地理位置事件 if (InLocationEvent_1.InLocationEvent.EVENT == event) { let e = new InLocationEvent_1.InLocationEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setLatitude = obj.Latitude; e.setLongitude = obj.Longitude; e.setPrecision = obj.Precision; e.setAgentId = agentId; return e; } // 自定义菜单事件之一 1:点击菜单拉取消息时的事件推送 if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_CLICK == event.toUpperCase()) { let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setAgentId = agentId; return e; } // 自定义菜单事件之二 2:点击菜单跳转链接时的事件推送 if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_VIEW == event.toUpperCase()) { let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setAgentId = agentId; e.setMenuId = menuId; return e; } // 扫码推事件 和 扫码推事件且弹出“消息接收中”提示框 if ('scancode_push' == event || 'scancode_waitmsg' == event) { let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setAgentId = agentId; let scanType = obj.ScanCodeInfo.ScanType; let scanResult = obj.ScanCodeInfo.ScanResult; e.setScanCodeInfo = new ScanCodeInfo_1.ScanCodeInfo(scanType, scanResult); return e; } // 5. pic_sysphoto:弹出系统拍照发图,这个后台其实收不到该菜单的消息, // 点击它后,调用的是手机里面的照相机功能,而照相以后再发过来时,就收到的是一个图片消息了 if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_PIC_SYSPHOTO == event) { let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setAgentId = agentId; return e; } // pic_photo_or_album:弹出拍照或者相册发图 if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_PIC_PHOTO_OR_ALBUM == event) { let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setAgentId = agentId; return e; } // pic_weixin:弹出微信相册发图器 if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_PIC_WEIXIN == event) { let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setAgentId = agentId; return e; } // location_select:弹出地理位置选择器 if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_LOCATION_SELECT == event) { let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setAgentId = agentId; return e; } // media_id:下发消息(除文本消息) if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_MEDIA_ID == event) { let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; return e; } // view_limited:跳转图文消息URL if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_VIEW_LIMITED == event) { let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; return e; } // view_miniprogram:点击菜单跳转小程序的事件推送 if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_VIEW_MINIPROGRAM == event) { let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setMenuId = menuId; return e; } // wx_verify_dispatch if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_VIEW_MINIPROGRAM == event) { let e = new InWxVerifyDispatchEvent_1.InWxVerifyDispatchEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setProvider = obj.Provider; e.setContact = obj.Contact; e.setDispatchTime = obj.DispatchTime; return e; } // 模板消息是否送达成功通知事件 if (InTemplateMsgEvent_1.InTemplateMsgEvent.EVENT == event) { let e = new InTemplateMsgEvent_1.InTemplateMsgEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setMsgId = obj.MsgID; e.setStatus = obj.Status; return e; } // 群发任务结束时是否送达成功通知事件 if (InMassEvent_1.InMassEvent.EVENT == event) { let e = new InMassEvent_1.InMassEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setMsgId = obj.MsgID; e.setStatus = obj.Status; e.setTotalCount = obj.TotalCount; e.setFilterCount = obj.FilterCount; e.setSentCount = obj.SentCount; e.setErrorCount = obj.ErrorCount; return e; } // 多客服接入会话事件 if (InCustomEvent_1.InCustomEvent.EVENT_INCUSTOM_KF_CREATE_SESSION == event) { let e = new InCustomEvent_1.InCustomEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setKfAccount = obj.KfAccount; return e; } // 多客服关闭会话事件 if (InCustomEvent_1.InCustomEvent.EVENT_INCUSTOM_KF_CLOSE_SESSION == event) { let e = new InCustomEvent_1.InCustomEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setKfAccount = obj.KfAccount; return e; } // 多客服转接会话事件 if (InCustomEvent_1.InCustomEvent.EVENT_INCUSTOM_KF_SWITCH_SESSION == event) { let e = new InCustomEvent_1.InCustomEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setKfAccount = obj.KfAccount; e.setToKfAccount == obj.ToKfAccount; return e; } // 微信摇一摇事件 if ('ShakearoundUserShake' == event) { let e = new InShakearoundUserShakeEvent_1.InShakearoundUserShakeEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEvent = event; e.setUuid = obj.ChosenBeacon.Uuid; e.setMajor = obj.ChosenBeacon.Major; e.setMinor = obj.ChosenBeacon.Minor; e.setDistance = obj.ChosenBeacon.Distance; e.setAroundBeaconList = obj.AroundBeacons; return e; } // 资质认证成功 || 名称认证成功 || 年审通知 || 认证过期失效通知 if ('qualification_verify_success' == event || 'naming_verify_success' == event || 'annual_renew' == event || 'verify_expired' == event) { let e = new InVerifySuccessEvent_1.InVerifySuccessEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setExpiredTime == obj.expiredTime; return e; } // 资质认证失败 || 名称认证失败 if ('qualification_verify_fail' == event || 'naming_verify_fail' == event) { let e = new InVerifyFailEvent_1.InVerifyFailEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setFailTime = obj.failTime; e.setFailReason = obj.failReason; return e; } // 门店在审核事件消息 , update by unas at 2016-1-29,add event param if (InPoiCheckNotifyEvent_1.InPoiCheckNotifyEvent.EVENT == event) { let e = new InPoiCheckNotifyEvent_1.InPoiCheckNotifyEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setUniqId = obj.UniqId; e.setPoiId = obj.PoiId; e.setResult = obj.Result; e.setMsg = obj.Msg; return e; } // wifi 连网后下发消息 if (InWifiEvent_1.InWifiEvent.EVENT == event) { let e = new InWifiEvent_1.InWifiEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setConnectTime = obj.ConnectTime; e.setExpireTime = obj.ExpireTime; e.setVendorId = obj.VendorId; e.setDeviceNo = obj.DeviceNo; e.setShopId = obj.ShopId; return e; } if (InUserCardEvent_1.InUserCardEvent.EVENT_USER_VIEW == event) { let e = new InUserCardEvent_1.InUserCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setUserCardCode = obj.UserCardCode; return e; } if (InUserCardEvent_1.InUserCardEvent.EVENT_MEMBERCARD == event) { let e = new InUserCardEvent_1.InUserCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setUserCardCode = obj.UserCardCode; return e; } if (InUpdateMemberCardEvent_1.InUpdateMemberCardEvent.EVENT == event) { let e = new InUpdateMemberCardEvent_1.InUpdateMemberCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setUserCardCode = obj.UserCardCode; e.setModifyBonus = obj.ModifyBonus; e.setModifyBalance = obj.ModifyBalance; return e; } if (InUserPayFromCardEvent_1.InUserPayFromCardEvent.EVENT == event) { let e = new InUserPayFromCardEvent_1.InUserPayFromCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setUserCardCode = obj.UserCardCode; e.setLocationId = obj.LocationId; e.setTransId = obj.TransId; e.setFee = obj.Fee; e.setOriginalFee = obj.OriginalFee; return e; } // 微信小店支付消息 if (InMerChantOrderEvent_1.InMerChantOrderEvent.EVENT == event) { let e = new InMerChantOrderEvent_1.InMerChantOrderEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setOrderId = obj.OrderId; e.setOrderStatus = obj.OrderStatus; e.setProductId = obj.ProductId; e.setSkuInfo = obj.SkuInfo; return e; } // 审核通过事件推送 if (InCardPassCheckEvent_1.InCardPassCheckEvent.EVENT_PASS == event) { let e = new InCardPassCheckEvent_1.InCardPassCheckEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setRefuseReason = obj.RefuseReason; return e; } // 审核未通过事件推送 if (InCardPassCheckEvent_1.InCardPassCheckEvent.EVENT_NOT_PASS == event) { let e = new InCardPassCheckEvent_1.InCardPassCheckEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setRefuseReason = obj.RefuseReason; return e; } // 券点流水详情事件 if (InCardPayOrderEvent_1.InCardPayOrderEvent.EVENT == event) { let e = new InCardPayOrderEvent_1.InCardPayOrderEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setOrderId = obj.OrderId; e.setStatus = obj.Status; e.setCreateOrderTime = obj.CreateOrderTime; e.setPayFinishTime = obj.PayFinishTime; e.setDesc = obj.Desc; e.setFreeCoinCount = obj.FreeCoinCount; e.setPayCoinCount = obj.PayCoinCount; e.setRefundFreeCoinCount = obj.RefundFreeCoinCount; e.setRefundPayCoinCount = obj.RefundPayCoinCount; e.setOrderType = obj.OrderType; e.setOrderType = obj.OrderType; e.setMemo = obj.Memo; e.setReceiptInfo = obj.ReceiptInfo; return e; } // 库存报警事件 if (InCardSkuRemindEvent_1.InCardSkuRemindEvent.EVENT == event) { let e = new InCardSkuRemindEvent_1.InCardSkuRemindEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setDetail = obj.Detail; return e; } // 卡券核销事件推送 if (InUserConsumeCardEvent_1.InUserConsumeCardEvent.EVENT == event) { let e = new InUserConsumeCardEvent_1.InUserConsumeCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setUserCardCode = obj.UserCardCode; e.setConsumeSource = obj.ConsumeSource; e.setLocationName = obj.LocationName; e.setStaffOpenId = obj.StaffOpenId; e.setVerifyCode = obj.VerifyCode; e.setRemarkAmount = obj.RemarkAmount; e.setOuterStr = obj.OuterStr; return e; } // 卡券删除事件推送 if (InUserCardEvent_1.InUserCardEvent.EVENT_USER_DEL == event) { let e = new InUserCardEvent_1.InUserCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setUserCardCode = obj.UserCardCode; return e; } // 从卡券进入公众号会话事件推送 if (InUserCardEvent_1.InUserCardEvent.EVENT_USER_ENTER == event) { let e = new InUserCardEvent_1.InUserCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setUserCardCode = obj.UserCardCode; return e; } // 卡券领取事件推送 if (InUserGetCardEvent_1.InUserGetCardEvent.EVENT == event) { let e = new InUserGetCardEvent_1.InUserGetCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setIsGiveByFriend = obj.IsGiveByFriend; e.setUserCardCode = obj.UserCardCode; e.setFriendUserName = obj.FriendUserName; e.setOuterId = obj.OuterId; e.setOldUserCardCode = obj.OldUserCardCode; e.setOuterStr = obj.OuterStr; e.setIsRestoreMemberCard = obj.IsRestoreMemberCard; e.setIsRecommendByFriend = obj.IsRecommendByFriend; return e; } // 卡券转赠事件推送 if (InUserGiftingCardEvent_1.InUserGiftingCardEvent.EVENT == event) { let e = new InUserGiftingCardEvent_1.InUserGiftingCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setCardId = obj.CardId; e.setUserCardCode = obj.UserCardCode; e.setIsReturnBack = obj.IsReturnBack; e.setFriendUserName = obj.FriendUserName; e.setIsChatRoom = obj.IsChatRoom; return e; } // 任务卡片事件推送 if (InTaskEvent_1.InTaskEvent.EVENT == event) { let e = new InTaskEvent_1.InTaskEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setEventKey = eventKey; e.setTaskId = obj.TaskId; e.setAgentId = obj.AgentId; return e; } // 子商户审核事件推送 if (InCardMerchantCheckResultEvent_1.InCardMerchantCheckResultEvent.EVENT == event) { let e = new InCardMerchantCheckResultEvent_1.InCardMerchantCheckResultEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setMerchantId = obj.MerchantId; e.setIsPass = obj.IsPass; e.setReason = obj.Reason; return e; } // 异步任务完成通知 if (InBatchJobResultEvent_1.InBatchJobResultEvent.EVENT == event) { let e = new InBatchJobResultEvent_1.InBatchJobResultEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); let batchJob = obj.BatchJob; e.setEventCode = batchJob.ErrCode; e.setEventMsg = batchJob.ErrMsg; e.setJobId = batchJob.JobId; e.setJobType = batchJob.JobType; return e; } // 标签/成员/部门变更事件 if (InUpdateUserEvent_1.InUpdateUserEvent.EVENT == event) { let changeType = obj.ChangeType; if (InUpdateTagEvent_1.InUpdateTagEvent.CHANGE_TYPE == changeType) { let e = new InUpdateTagEvent_1.InUpdateTagEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setTagId = obj.TagId; e.setAddUserItems = obj.AddUserItems; e.setDelUserItems = obj.DelUserItems; e.setAddPartyItems = obj.AddPartyItems; e.setDelPartyItems = obj.DelPartyItems; return e; } else if (InUpdatePartyEvent_1.InUpdatePartyEvent.CREATE_PARTY == changeType) { let e = new InUpdatePartyEvent_1.InUpdatePartyEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setChangeType = changeType; e.setId = obj.Id; e.setName = obj.Name; e.setParentId = obj.ParentId; e.setOrder = obj.Order; return e; } else if (InUpdatePartyEvent_1.InUpdatePartyEvent.UPDATE_PARTY == changeType) { let e = new InUpdatePartyEvent_1.InUpdatePartyEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setChangeType = changeType; e.setId = obj.Id; e.setName = obj.Name; e.setParentId = obj.ParentId; return e; } else if (InUpdatePartyEvent_1.InUpdatePartyEvent.DELETE_PARTY == changeType) { let e = new InUpdatePartyEvent_1.InUpdatePartyEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setChangeType = changeType; e.setId = obj.Id; return e; } else if (InUpdateUserEvent_1.InUpdateUserEvent.CREATE_USER == changeType) { let e = new InUpdateUserEvent_1.InUpdateUserEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setChangeType = changeType; e.setUserId = obj.UserID; e.setName = obj.Name; e.setDepartment = obj.Department; e.setIsLeaderInDept = obj.IsLeaderInDept; e.setPosition = obj.Position; e.setMobile = obj.Mobile; e.setGender = obj.Gender; e.setEmail = obj.Email; e.setStatus = obj.Status; e.setAvatar = obj.Avatar; e.setAlias = obj.Alias; e.setTelephone = obj.Telephone; e.setAlias = obj.Alias; e.setAddress = obj.Address; e.setExtAttr = obj.ExtAttr; return e; } else if (InUpdateUserEvent_1.InUpdateUserEvent.UPDATE_USER == changeType) { let e = new InUpdateUserEvent_1.InUpdateUserEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setChangeType = changeType; e.setUserId = obj.UserID; e.setNewUserId = obj.NewUserID; e.setName = obj.Name; e.setDepartment = obj.Department; e.setIsLeaderInDept = obj.IsLeaderInDept; e.setPosition = obj.Position; e.setMobile = obj.Mobile; e.setGender = obj.Gender; e.setEmail = obj.Email; e.setStatus = obj.Status; e.setAvatar = obj.Avatar; e.setAlias = obj.Alias; e.setTelephone = obj.Telephone; e.setAlias = obj.Alias; e.setAddress = obj.Address; e.setExtAttr = obj.ExtAttr; return e; } else if (InUpdateUserEvent_1.InUpdateUserEvent.DELETE_USER == changeType) { let e = new InUpdateUserEvent_1.InUpdateUserEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.setChangeType = changeType; e.setUserId = obj.UserID; return e; } } // 企业客户事件 if (InExternalContactEvent_1.InExternalContactEvent.EVENT == event) { let e = new InExternalContactEvent_1.InExternalContactEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); e.changeType = obj.ChangeType; e.userId = obj.UserID; e.externalUserId = obj.ExternalUserID; e.setState = obj.State; e.welcomeCode = obj.WelcomeCode; return e; } console.error(`无法识别的事件类型 ${event},请前往 https://gitee.com/javen205/TNWX/issues 提 issues`); return new InNotDefinedEvent_1.InNotDefinedEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event); } // 推送 suite_ticket static parseInSuiteTicket(obj) { return new InSuiteTicket_1.InSuiteTicket(obj.SuiteId, obj.InfoType, obj.TimeStamp, obj.SuiteTicket); } // 推送 component_verify_ticket static paseInComponentVerifyTicket(obj) { return new InComponentVerifyTicket_1.InComponentVerifyTicket(obj.AppId, obj.InfoType, obj.CreateTime, obj.ComponentVerifyTicket); } // 企业微信开放平台授权通知事件 static InAuthEvent(obj) { let infoType = obj.InfoType; if (InAuthEvent_1.InAuthEvent.CREATE_AUTH === infoType) return new InAuthEvent_1.InAuthEvent(obj.SuiteId, obj.InfoType, obj.TimeStamp, obj.AuthCode); if (InAuthEvent_1.InAuthEvent.CHANGE_AUTH === infoType || InAuthEvent_1.InAuthEvent.CANCEL_AUTH === infoType) return new InAuthEvent_1.InAuthEvent(obj.SuiteId, obj.InfoType, obj.TimeStamp, undefined, obj.AuthCorpId); } // 微信开放平台授权通知事件 static InAuthMpEvent(obj) { let infoType = obj.InfoType; if (InAuthMpEvent_1.InAuthMpEvent.CANCEL_AUTH === infoType) return new InAuthMpEvent_1.InAuthMpEvent(obj.AppId, obj.InfoType, obj.CreateTime, obj.AuthorizerAppid); if (InAuthMpEvent_1.InAuthMpEvent.CHANGE_AUTH === infoType || InAuthMpEvent_1.InAuthMpEvent.CREATE_AUTH === infoType) return new InAuthMpEvent_1.InAuthMpEvent(obj.AppId, obj.InfoType, obj.CreateTime, obj.AuthorizerAppid, obj.AuthorizationCode, obj.AuthorizationCodeExpiredTime, obj.PreAuthCode); } // 异步任务回调通知 static parseInBatchJobResult(obj) { let batchJob = obj.BatchJob; return new InBatchJobResult_1.InBatchJobResult(obj.ServiceCorpId, obj.InfoType, obj.TimeStamp, obj.AuthCorpId, batchJob.JobId, batchJob.JobType); } // 外部联系人事件 static parseInExternalContact(obj) { return new InExternalContact_1.InExternalContact(obj.SuiteId, obj.AuthCorpId, obj.InfoType, obj.TimeStamp, obj.ChangeType, obj.UserID, obj.ExternalUserID, obj.WelcomeCode); } // 注册完成回调事件 static parseInRegisterCorp(obj) { let contactSync = obj.ContactSync; return new InRegisterCorp_1.InRegisterCorp(obj.ServiceCorpId, obj.InfoType, obj.TimeStamp, obj.RegisterCode, obj.AuthCorpId, contactSync.AccessToken, contactSync.ExpiresIn, obj.AuthUserInfo.UserId, obj.State, obj.TemplateId); } } exports.InMsgParser = InMsgParser; //# sourceMappingURL=InMsgParser.js.map