Files
ruo-shan-cloud-pharmacy/miniprogram/package-live/volc-mini-sdk/utils/socketEvent.js
T
陈誉午 994b267f5c feat: 电子药箱小程序 - 4Tab药品管理
- 电子药箱: 药品库存管理 + 手动录入 + 今日用药打卡
- 药品百科: 搜索 + 分类筛选 + 20种药品静态数据
- 惠教中心: 4条药品使用指南课程
- 我的: 家庭成员信息管理
- 自定义TabBar + navigation-bar组件
- SVG药品分类插图
2026-07-29 11:20:52 +08:00

1 line
9.3 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.bindSocketEvents=void 0;var _socket=require("./socket"),_notification=require("./notification");function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==_typeof(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}var MSG_TYPE={Data:"Data",HotData:"HotData",TopData:"TopData",DeleteData:"DeleteData",DeleteImageTextIds:"DeleteImageTextIds",ImageTexts:"ImageTexts",ImageFileDownloadInfo:"ImageFileDownloadInfo",GiftRewardData:"GiftRewardData",HotGiftRewardData:"HotGiftRewardData",UnTopData:"UnTopData"},normalizePollingPayload=function(e){if(!e)return null;if(Array.isArray(e)){var t=e[0];if(t&&t.SendMsg)try{return JSON.parse(t.SendMsg)}catch(e){return null}return null}return Array.isArray(e.MsgList)?e:null},normalizeSocketPayloadObject=function(e){if(!e)return{};if("string"==typeof e)try{return JSON.parse(e)}catch(e){return{}}if(Array.isArray(e)){var t=e[0];if(null!=t&&t.SendMsg)try{return JSON.parse(t.SendMsg)}catch(e){return{}}return t||{}}return e},unwrapSocketPayload=function(e){var t=normalizeSocketPayloadObject(e);return t&&("object"!==_typeof(t)||Array.isArray(t)||Object.keys(t).length)?t:null},getProductsFromHotSellPayload=function(e){var t=unwrapSocketPayload(e),n=(null==t?void 0:t.Product)||(null==t?void 0:t.Products)||(null==t?void 0:t.ProductV2)||t;return Array.isArray(n)?n:[]},updateProductHotSellMessage=function(e,t){var n,o,a,i=getProductsFromHotSellPayload(e);if(i.length){var r=t.store,c=r.get("liveInfo")||{},l=(null==c||null===(n=c.Menus)||void 0===n?void 0:n.ProductV2)||{},u=!1,s={};if(Object.keys(l).forEach(function(e){var t=l[e]||{},n=Array.isArray(t.Product)?t.Product.map(function(e){var t=i.find(function(t){return String(t.Id||t.ProductId)===String(e.Id||e.ProductId)});return t?(u=!0,_objectSpread(_objectSpread({},e),{},{ReminderType:t.ReminderType,HotSale:t.HotSale,Stock:t.Stock})):e}):t.Product;s[e]=_objectSpread(_objectSpread({},t),{},{Product:n})}),u){var d=_objectSpread(_objectSpread({},c),{},{Menus:_objectSpread(_objectSpread({},c.Menus||{}),{},{ProductV2:s})});r.set("liveInfo",d);var f,_,S=null===(o=t.EVENTS)||void 0===o||null===(a=o.card)||void 0===a?void 0:a.configChange;S&&(null===(f=t.emitEvent)||void 0===f||f.call(t,S,{menus:null===(_=d.Menus)||void 0===_?void 0:_.Menus,product:s}))}}},normalizeNotificationMessage=function(e,t){var n;if(null==e||!e.SendMsg)return null;var o=null;try{o=JSON.parse(e.SendMsg)}catch(e){return null}var a=(null===(n=o.Common)||void 0===n?void 0:n.MsgId)||o.ID||o.ContentID||o.RedPacketID||"notification-".concat(e.SendType,"-").concat(e.SendTime||Date.now(),"-").concat(t);return _objectSpread(_objectSpread({},o),{},{__type:Number(e.SendType),__id:a,ID:o.ID||o.ContentID||o.RedPacketID||a,SendTime:e.SendTime,Priority:(0,_notification.getNotificationPriority)(e.SendType)})},normalizeDynamicEmojiMessage=function(e,t){var n=String((null==e?void 0:e.SendMsg)||"").trim();return n?{__type:_notification.NOTIFICATION_SEND_TYPE.DYNAMIC_EMOJI,__id:"dynamic-emoji-".concat(e.SendTime||Date.now(),"-").concat(t,"-").concat(n),SendTime:e.SendTime,token:n}:null},pushNotificationQueue=function(e,t,n,o){if(n.length){var a=e.get(t)||[],i=e.get({"notification.queueCommentArea":"notification.idShowedCommentArea","notification.queueAnnouncementArea":"notification.idShowedAnnouncementArea","notification.queueDynamicEmojiArea":"notification.idShowedDynamicEmojiArea"}[t])||[],r=a.map(function(e){return null==e?void 0:e[o]}).concat(i).filter(Boolean),c=n.filter(function(e){var t=null==e?void 0:e[o];return!t||!r.some(function(e){return String(e)===String(t)})});if(c.length){var l=a.concat(c).slice().sort(function(e,t){return(t.Priority||0)-(e.Priority||0)});e.set(t,l)}}},handleNotificationMessage=function(e,t){var n,o,a,i=Array.isArray(e)?e:[];if(i.length){var r=t.store;null==t||null===(n=t.reportTea)||void 0===n||n.call(t,"mini_sdk_system_notification_receive",{interactionEffectOpen:null===(o=t.store)||void 0===o||null===(a=o.get)||void 0===a?void 0:a.call(o,"notification.isNotificationOpen"),messageList:i});var c=r.get("liveInfo.MessageSwitch")||{},l=i.filter(function(e){return(0,_notification.isNotificationSendTypeEnabled)(c,null==e?void 0:e.SendType)}),u=new Set,s=l.filter(function(e){return Number(null==e?void 0:e.SendType)===_notification.NOTIFICATION_SEND_TYPE.ENTRY}).filter(function(e){var t="".concat(e.SendType,"-").concat(e.SendMsg);return!u.has(t)&&(u.add(t),!0)}),d=l.map(normalizeNotificationMessage).filter(Boolean),f=l.filter(function(e){return Number(null==e?void 0:e.SendType)===_notification.NOTIFICATION_SEND_TYPE.DYNAMIC_EMOJI}).map(normalizeDynamicEmojiMessage).filter(Boolean),_=s.map(normalizeNotificationMessage).filter(Boolean),S=d.filter(function(e){return e.__type===_notification.NOTIFICATION_SEND_TYPE.GIFT}),p=_.concat(S),m=d.filter(function(e){return e.__type===_notification.NOTIFICATION_SEND_TYPE.LOTTERY||e.__type===_notification.NOTIFICATION_SEND_TYPE.LUCKMONEY||e.__type===_notification.NOTIFICATION_SEND_TYPE.CUSTOM});pushNotificationQueue(r,"notification.queueCommentArea",p,"__id"),pushNotificationQueue(r,"notification.queueAnnouncementArea",m,"ID"),pushNotificationQueue(r,"notification.queueDynamicEmojiArea",f,"__id")}},handlePollingMessage=function(e,t){var n=normalizePollingPayload(e);if(n&&Array.isArray(n.MsgList)&&n.MsgList.length){var o=t.store,a=o.get("chat.wsUpdateTime")||0,i=n.MsgList[0].UpdateTime||0;if(!(a>i)){var r={Data:[],DeleteData:null,DeleteImageTextIds:[],GiftRewardData:null,HotGiftRewardData:null,HotData:null,ImageFileDownloadInfo:[],ImageTexts:[],UnTopData:!1};n.MsgList.forEach(function(e){switch(i=e.UpdateTime,e.MsgType){case MSG_TYPE.Data:r.Data=e.Data||[];break;case MSG_TYPE.DeleteData:r.DeleteData=e.Data;break;case MSG_TYPE.HotData:r.HotData=e.Data||[];break;case MSG_TYPE.TopData:r.TopData=e.Data||[];break;case MSG_TYPE.UnTopData:r.TopData=[],r.UnTopData=!0;break;case MSG_TYPE.ImageTexts:r.ImageTexts=e.Data||[];break;case MSG_TYPE.ImageFileDownloadInfo:r.ImageFileDownloadInfo=e.Data||[];break;case MSG_TYPE.GiftRewardData:r.GiftRewardData=e.Data;break;case MSG_TYPE.HotGiftRewardData:r.HotGiftRewardData=e.Data;break;case MSG_TYPE.DeleteImageTextIds:r.DeleteImageTextIds=e.Data||[]}}),o.set("chat.wsUpdateTime",i),t.updateComment(r),t.updateImageText(r)}}},bindSocketEvents=function(e,t){e&&t&&(t.forcePollingChatData||e.on(_socket.WsMethod.POLLING_MESSAGE,function(e){handlePollingMessage(e,t)}),e.on(_socket.WsMethod.COUPON_STATUS_CHANGE,function(e){t.handleCouponStatusChange(e)}),e.on(_socket.WsMethod.NOTIFICATION_MESSAGE,function(e){handleNotificationMessage(e,t)}),e.on(_socket.WsMethod.ORDER_STATUS_CHANGE,function(e){var n=unwrapSocketPayload(e);n&&t.store.set("chat.orderMsg",n)}),e.on(_socket.WsMethod.CARD_HOT_SELL_MSG_CHANGE,function(e){updateProductHotSellMessage(e,t)}),e.on(_socket.WsMethod.ACTIVITY_BONUS_TASK_FINISHED,function(e){var n;null===(n=t.handleLiveBonusTaskFinished)||void 0===n||n.call(t,normalizeSocketPayloadObject(e))}),e.on(_socket.WsMethod.ACTIVITY_BONUS_TASK_AUTO_RECEIVE,function(e){var n;null===(n=t.handleLiveBonusAutoReceive)||void 0===n||n.call(t,normalizeSocketPayloadObject(e))}),e.on(_socket.WsMethod.EMOJI_UPDATE,function(){var e;null===(e=t.getEmojiList)||void 0===e||e.call(t).catch(function(e){console.error("getEmojiList on socket update failed",e)})}),e.on(_socket.WsMethod.imageTextUpdate,function(e){}),e.on(_socket.WsMethod.imageTextRedPocketUpdate,function(e){t.handleImageTextLuckmoneyUpdate(e)}),e.on(_socket.WsMethod.PLAYER_UPDATE_LINE,function(e){t._getBasicActivityData({requestPayload:{NeedPull:1}})}),e.on(_socket.WsMethod.AUDIENCE_LEVEL_INFO,function(e){var n=e||{},o=n.UserId,a=n.LatestLevelId,i=n.LatestNickName,r=n.ExternalUserId;if(o&&null!=a){var c=t.store,l=c.get("userInfo")||{};if(String(l.userId||"")===String(o)){var u=String(a),s=_objectSpread(_objectSpread(_objectSpread({},l),{},{levelId:u},i?{username:i}:{}),r?{externalUserId:r}:{});(String(l.levelId||"")!==String(s.levelId||"")||String(l.username||"")!==String(s.username||"")||String(l.externalUserId||"")!==String(s.externalUserId||""))&&c.set("userInfo",s)}}}))};exports.bindSocketEvents=bindSocketEvents;