- 电子药箱: 药品库存管理 + 手动录入 + 今日用药打卡 - 药品百科: 搜索 + 分类筛选 + 20种药品静态数据 - 惠教中心: 4条药品使用指南课程 - 我的: 家庭成员信息管理 - 自定义TabBar + navigation-bar组件 - SVG药品分类插图
1 line
7.0 KiB
JavaScript
1 line
7.0 KiB
JavaScript
"use strict";var _constant=require("../../utils/constant"),_jump=require("../../utils/jump"),_productCardUtils=require("../../utils/product-card-utils");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)}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,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 r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var MESSAGE_TYPE={BUY:1,ORDER:2},normalizeType=function(e){return Number(e||0)},isSwitchOpen=function(e){return 1===e||!0===e||"1"===e||"true"===e},unwrapOrderMessage=function(e){return(null==e?void 0:e.Message)||e},getOrderMessageKey=function(e){var t=unwrapOrderMessage(e)||{};return[normalizeType(t.MsgType),t.ProductId||"",t.UserName||"",t.SendTime||"",t.Count||""].join("_")},findProductFromProductInfo=function(e){var t,r,n,i,s,o=(null==e?void 0:e.Product)||e;return o?_objectSpread(_objectSpread({},o),{},{UAInfos:(null==e?void 0:e.UAInfos)||(null==o?void 0:o.UAInfos)||[],DirectUrls:(null==e?void 0:e.DirectUrls)||(null==o?void 0:o.DirectUrls)||[],EnableUA:null!==(t=null==e?void 0:e.EnableUA)&&void 0!==t?t:null==o?void 0:o.EnableUA,EnableMiniApp:null!==(r=null==e?void 0:e.EnableMiniApp)&&void 0!==r?r:null==o?void 0:o.EnableMiniApp,EnableFloating:null!==(n=null==e?void 0:e.EnableFloating)&&void 0!==n?n:null==o?void 0:o.EnableFloating,MiniAppId:null!==(i=null==e?void 0:e.MiniAppId)&&void 0!==i?i:null==o?void 0:o.MiniAppId,MiniAppDirectUrl:null!==(s=null==e?void 0:e.MiniAppDirectUrl)&&void 0!==s?s:null==o?void 0:o.MiniAppDirectUrl}):null},findProduct=function(e,t){var r=Object.values(e||{}),n=[];r.forEach(function(e){((null==e?void 0:e.Product)||[]).forEach(function(t){n.push(_objectSpread(_objectSpread({},t),{},{UAInfos:(null==e?void 0:e.UAInfos)||[]}))})});var i=String(t||"");if(i){var s=n.find(function(e){return String(e.Id||e.ProductId||"")===i});if(s)return s}return null},buildMessageText=function(e,t,r){var n=e.UserName||"观众",i=Number(e.Count||1),s=Number(t.Index||0)+1;return e.Text||e.Content?e.Text||e.Content:r===MESSAGE_TYPE.BUY?i>1?"".concat(n,"等").concat(i,"人正在买").concat(s,"号商品"):"".concat(n,"正在买").concat(s,"号商品"):i>1?"".concat(n,"等").concat(i,"人已下单").concat(s,"号商品"):"".concat(n,"已下单").concat(s,"号商品")},buildMessage=function(e,t){var r;if(!e)return null;var n=unwrapOrderMessage(e),i=(null==t?void 0:t.CommentConfig)||{},s=normalizeType(n.MsgType),o=findProductFromProductInfo(n.ProductInfo||e.ProductInfo)||findProduct(null==t||null===(r=t.Menus)||void 0===r?void 0:r.ProductV2,n.ProductId);return[MESSAGE_TYPE.BUY,MESSAGE_TYPE.ORDER].includes(s)&&o&&0!==Number(o.EnableStatus)&&1!==Number(o.OutOfStock)?1===Number(o.PriceHidden)||!isSwitchOpen(o.IsOrderMsgEnable)||s===MESSAGE_TYPE.BUY&&!isSwitchOpen(i.IsViewInPurchaseEnable)||s===MESSAGE_TYPE.ORDER&&!isSwitchOpen(i.IsViewOrderEnable)?null:_objectSpread(_objectSpread({},n),{},{product:o,type:s,tagText:s===MESSAGE_TYPE.BUY?"正在买":"已下单",title:o.Title||"商品消息",text:buildMessageText(n,o,s),image:o.IntroduceImage||o.RedirectImage||""}):null};Component({properties:{sdkInstance:{type:Object,value:null}},data:{visible:!1,message:null},observers:{sdkInstance:function(e){var t=this;e&&(this.sdkInstance=e,this.store=e.store,"function"==typeof this.unsub&&this.unsub(),this.unsub=null,this.unsub=this.store.get({"chat.orderMsg":function(e){t.handleOrderMessage(e)},liveInfo:function(e){t.syncVisibleMessage(e||{})}}))}},lifetimes:{attached:function(){this.handledMessageKeys={},this.currentOrderMsg=null,this.currentOrderMsgKey=""},detached:function(){"function"==typeof this.unsub&&this.unsub(),this.unsub=null,this.clearHideTimer()}},methods:{handleOrderMessage:function(e){var t,r;if(e){var n,i,s=getOrderMessageKey(e);this.handledMessageKeys[s]?null===(n=this.store)||void 0===n||null===(i=n.set)||void 0===i||i.call(n,"chat.orderMsg",null):(this.handledMessageKeys[s]=!0,this.syncMessage(e,this.store.get("liveInfo")||{},s),null===(t=this.store)||void 0===t||null===(r=t.set)||void 0===r||r.call(t,"chat.orderMsg",null))}},syncVisibleMessage:function(e){var t,r;if(this.data.visible&&this.currentOrderMsg){var n=buildMessage(this.currentOrderMsg,e);if(!n)return this.clearHideTimer(),this.currentOrderMsg=null,this.currentOrderMsgKey="",void this.setData({visible:!1,message:null});(null===(t=this.data.message)||void 0===t?void 0:t.text)===n.text&&(null===(r=this.data.message)||void 0===r?void 0:r.title)===n.title||this.setData({message:n})}},syncMessage:function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=buildMessage(e,t);if(this.clearHideTimer(),!i)return this.data.visible&&this.setData({visible:!1,message:null}),this.currentOrderMsg=null,void(this.currentOrderMsgKey="");this.currentOrderMsg=e,this.currentOrderMsgKey=n,this.setData({visible:!0,message:i}),this.hideTimer=setTimeout(function(){r.setData({visible:!1,message:null}),r.currentOrderMsg=null,r.currentOrderMsgKey=""},5e3)},clearHideTimer:function(){this.hideTimer&&(clearTimeout(this.hideTimer),this.hideTimer=null)},handleTap:function(){var e,t,r,n,i=this.data.message||{},s=i.product;if(s){var o=s.RedirectUrl;null===(e=this.sdkInstance)||void 0===e||e.reportLogger("mini_sdk_order_message_click",_objectSpread(_objectSpread({},s),{},{message:i})),null===(t=this.sdkInstance)||void 0===t||t.emitEvent(_constant.EVENTS.PUBLIC.card.click,_objectSpread(_objectSpread({},s||{}),{},{cardIndex:s.Index,text:s.Title,url:o,UAInfos:s.UAInfos||[]})),null===(r=this.sdkInstance)||void 0===r||r.reportLogger("mini_sdk_product_card_click",_objectSpread({},s)),(0,_productCardUtils.reportProductMessage)(this.sdkInstance,s.Id),null===(n=this.sdkInstance)||void 0===n||n.reportBusiness("view_ad",{AdType:4,AdId:s.Id,AdTitle:s.Title,AdContent:s.RedirectImage,AdLink:o}),(0,_jump.navigateToConfiguredWebview)(this.sdkInstance,_jump.JUMP_FEATURES.CARD,o),this.clearHideTimer(),this.currentOrderMsg=null,this.currentOrderMsgKey="",this.setData({visible:!1,message:null})}}}}); |