@polyv/product-sdk 1.0.0-rc-20250612.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.js +1 -0
- package/index.es.d.ts +1520 -0
- package/index.es.js +1201 -0
- package/index.umd.js +1 -0
- package/package.json +25 -0
package/index.cjs.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=Object.defineProperty,t=(t,r,i)=>((t,r,i)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[r]=i)(t,"symbol"!=typeof r?r+"":r,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var r=(e=>(e.GetProductTagList="/live/v4/watch/channel/product/tag/list",e.GetProductListByShowId="/live/v3/sdk/watch/interactive/product/list-by-showId",e.GetProductListByTag="/live/v4/watch/channel/product/list",e.GetProductDataById="/live/v3/sdk/watch/interactive/product/get-by-product-id",e.GetOrderList="/live/v4/watch/channel/viewer/product/order/list",e.GetOrderDetail="/live/v4/watch/channel/viewer/product/order/get-detail",e.ConfirmOrder="/live/v4/watch/channel/viewer/product/order/finish",e.CreateOrder="/live/v4/watch/channel/product/order/create",e.PayOrder="/live/v4/watch/channel/product/order/pay",e.ApplyOrderRefund="/live/v4/watch/channel/product/order/refund",e.GetOrderPaymentProviders="/live/v4/watch/channel/product/order/payment-providers/get",e.GetAddressList="/live/v4/watch/channel/viewer/address/list",e.GetDefaultAddress="/live/v4/watch/channel/viewer/address/get-default",e.AddAddress="/live/v4/watch/channel/viewer/address/save",e.UpdateAddress="/live/v4/watch/channel/viewer/address/update",e.DeleteAddress="/live/v4/watch/channel/viewer/address/delete",e))(r||{});function i(e){if("boolean"!=typeof e)throw new Error("The value argument must be a boolean type");return e?"Y":"N"}function a(e,t){let r=String(e).toUpperCase();if("Y"!==r&&"N"!==r){if(null==t)throw new Error('The value argument must be "Y" or "N"');r=String(t).toUpperCase()}return"Y"===r}var o=(e=>(e.Normal="normal",e.Finance="finance",e.Position="position",e))(o||{}),n=(e=>(e[e.Normal=10]="Normal",e[e.MultiPlatform=11]="MultiPlatform",e[e.Native=12]="Native",e))(n||{}),s=(e=>(e.PopUp="POP_UP",e.NewWindow="NEW_WINDOW",e.CurrentWindow="CURRENT_WINDOW",e))(s||{}),c=(e=>(e[e.OnSale=1]="OnSale",e[e.OffSale=0]="OffSale",e))(c||{}),d=(e=>(e.Image="image",e.MaterialVideo="material-video",e))(d||{}),u=(e=>(e.NotExplained="notExplained",e.Explaining="explaining",e.Explained="explained",e))(u||{}),p=(e=>(e.Live="live",e.Playback="recordFile",e))(p||{}),l=(e=>(e.DirectBuy="inner",e.Link="link",e))(l||{}),h=(e=>(e.Amount="AMOUNT",e.Custom="CUSTOM",e))(h||{}),y=(e=>(e.Express="express",e.Virtual="virtual",e))(y||{}),m=(e=>(e.WxWorkCode="wxWorkCode",e.Custom="custom",e))(m||{}),P=(e=>(e.None="none",e.Custom="custom",e.External="external",e.Direct="direct",e.EnterpriseWeChat="enterpriseWeChat",e))(P||{});function v(e){let t=[];try{t=JSON.parse(e).filter((e=>!!e))}catch(r){console.error("parseFeature error",r)}return t}function f(e){const t={productId:e.productId,cover:e.cover,coverList:[e.cover],videoList:[],mediaList:[],name:e.name,description:e.productDesc,detail:e.productDetail,status:e.status,displayNumber:e.showId,buttonText:e.btnShow,featureTags:v(e.features)},r={linkType:e.linkType,jumpWay:s.NewWindow,link:e.link,pcLink:e.pcLink,mobileLink:e.mobileLink,mobileAppLink:e.mobileAppLink,androidLink:e.androidLink,iosLink:e.iosLink,otherLink:e.otherLink,wxMiniprogramOriginalId:e.wxMiniprogramOriginalId,wxMiniprogramAppId:e.wxMiniprogramAppId,wxMiniprogramLink:e.wxMiniprogramLink};if(e.ext)try{const i=JSON.parse(e.ext);t.coverList=i.coverList||[e.cover],t.videoList=(i.videoList||[]).map((e=>e.videoId)),r.jumpWay=i.jumpWay;const a=[];t.videoList.forEach((e=>{a.push({type:d.MaterialVideo,materialId:e})})),t.coverList.forEach((e=>{a.push({type:d.Image,url:e})})),t.mediaList=a}catch(c){console.error("filterInternlData error",c)}const i={explainStatus:e.explainStatus,explainType:e.explainType};let n;switch(e.productType){case o.Normal:n={...t,...r,...i,productType:o.Normal,priceType:e.priceType,buyType:e.buyType,realPrice:e.realPrice,originPrice:e.price,customPrice:e.customPrice,priceVisible:a(e.openPriceEnable,"Y"),deliveryType:e.deliveryType,customerServiceContact:e.customerServiceContact,customerServiceType:e.customerServiceType,stockEnabled:a(e.stockEnabled,"N"),stock:e.stock};break;case o.Finance:n={...t,...r,...i,productType:o.Finance,yield:e.yield};break;case o.Position:{t.description="",t.detail=e.productDesc;let a="";try{a=JSON.parse(e.params).treatment}catch(c){console.error(c)}n={...t,...r,...i,productType:o.Position,treatment:a};break}}if(!n)throw new Error("generate data fail");return n}class g{constructor(){this.__eventStore={}}__addOnEvent(e,t,r,i){if(!t||!r)return;let a=this.__eventStore[t];a||(a=[]),a.push({type:e,handler:r,callbackHandler:r.bind(i)}),this.__eventStore[t]=a}on(e,t,r=this){this.__addOnEvent("normal",e,t,r)}once(e,t,r=this){this.__addOnEvent("once",e,t,r)}off(e,t){let r=this.__eventStore[e];r&&(r=r.filter((e=>e.handler!==t)),this.__eventStore[e]=r)}emit(e,t){const r=this.__eventStore[e];r&&r.forEach((r=>{const{type:i,handler:a,callbackHandler:o}=r;"function"==typeof o&&o(t),"once"===i&&this.off(e,a)}))}destroy(){this.__eventStore={}}}const C=Object.prototype.hasOwnProperty;function w(e,t){return C.call(e,t)}function S(e,t,r,i){null==r&&(r=""),""===r&&i.ignoreEmpty||("function"==typeof i.encode&&(t=i.encode(t),r=-1!==["boolean","string","number"].indexOf(typeof r)?i.encode(String(r)):""),e.push(t+"="+r))}function T(e,t,r,i){r.forEach((r=>{S(e,t,r,i)}))}function E(e,t){const r=function(e,...t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(let r=0;r<t.length;r++){const i=t[r];if(null!=i)for(const t in i)"__proto__"!==t&&w(i,t)&&(e[t]=i[t])}return e}({encode:encodeURIComponent},t),i=[];let a,o;for(a in e)w(e,a)&&(o=e[a],Array.isArray(o)?T(i,a,o,r):S(i,a,o,r));return i.join("&")}function x(e,t,r){if(e=String(e),null==t)return e;if(!(t="string"==typeof t?t.replace(/^[?&]/,""):E(t,r)))return e;const i=function(e){const t={leftContext:""};let r=e.indexOf("#");return-1!==r&&(t.hash=e.slice(r+1),e=e.slice(0,r)),r=e.indexOf("?"),-1!==r&&(t.search=e.slice(r+1),e=e.slice(0,r)),t.leftContext=e,t}(e);let a=i.search||"";return a&&"&"!==a.slice(-1)&&(a+="&"),a+=t,i.search=a,function(e){let t=e.leftContext;return null!=e.search&&(t+="?"+e.search),null!=e.hash&&(t+="#"+e.hash),t}(i)}var b=(e=>(e.OnSaleProduct="OnSaleProduct",e.OffSaleProduct="OffSaleProduct",e.AddProduct="AddProduct",e.DeleteProduct="DeleteProduct",e.ChangeProduct="ChangeProduct",e.MoveProduct="MoveProduct",e.ChangeProductRank="ChangeProductRank",e.ProductSoldOut="ProductSoldOut",e.PushProduct="PushProduct",e.CancelPushProduct="CancelPushProduct",e.ProductListEnabled="ProductListEnabled",e.RefreshProductList="RefreshProductList",e.ProductClick="ProductClick",e.ProductClickTimes="ProductClickTimes",e))(b||{});const k="product";var A=(e=>(e.Wechat="WECHAT",e.Alipay="ALIPAY",e))(A||{}),I=(e=>(e.WaitPay="wait_pay",e.WaitDelivery="wait_delivery",e.Delivering="delivering",e.Finish="finish",e.Close="close",e.Refunding="refunding",e.Refunded="refunded",e))(I||{}),L=(e=>(e.WaitPay="wait_pay",e.Payed="payed",e.Free="free",e))(L||{}),O=(e=>(e.Success="SUCCESS",e.Fail="FAIL",e.Processing="PROCESSING",e))(O||{}),_=(e=>(e.Unknown="unknown",e))(_||{}),N=(e=>(e.Unknown="unknown",e))(N||{});function R(e){return{customerServiceContact:e.customerServiceContact,customerServiceType:e.customerServiceType,deliveryType:e.deliveryType,cover:e.productCover,name:e.productName,productId:e.productId,productSnapshotId:e.productSnapshotId,quantity:e.quantity,realPrice:e.amount,totalAmount:e.totalAmount}}function D(e){return e?{id:"",address:e.address,area:e.area,mobile:e.mobile,name:e.name}:{id:"",address:"",area:"",mobile:"",name:""}}function W(e){const t={amount:e.amount,channelId:e.channelId,products:e.products.map(R),orderNo:e.orderNo,expressInfo:D()};switch(e.status){case I.WaitPay:return{...t,status:I.WaitPay,expiredAt:e.expireTime};case I.Close:return{...t,status:I.Close,expiredAt:e.expireTime};default:return{...t,status:e.status}}}function U(e){return{type:e.type,aliPayLink:e.codeUrl,orderNo:e.payId,payStatus:e.payStatus,wxAppId:e.appId,nonceStr:e.nonceStr,package:e.prepayId,paySign:e.paySign,signType:e.signType,timeStamp:Number(e.timeStamp),payProvider:e.payProvider}}function M(e){return e?{id:e.id,address:e.address,area:e.area,mobile:e.mobile,name:e.name}:{id:"",address:"",area:"",mobile:"",name:""}}var G=(e=>(e.BigCard="bigCard",e.SmallCard="smallCard",e))(G||{});exports.Address=class{constructor(e,t){this.iarCore=e,this.config=t}async getAddressList(e={}){const{pageNumber:t=1,pageSize:i=10}=e,a=await this.iarCore.polyvApi.get(r.GetAddressList,{pageNumber:t,pageSize:i});return{...a,contents:a.contents.map(M)}}async getDefaultAddress(){return M(await this.iarCore.polyvApi.get(r.GetDefaultAddress,{}))}async addAddress(e){return M(await this.iarCore.polyvApi.post(r.AddAddress,e))}async updateAddress(e){return await this.iarCore.polyvApi.post(r.UpdateAddress,e)}async deleteAddress(e){return await this.iarCore.polyvApi.post(r.DeleteAddress,{id:e})}},exports.AuthType=P,exports.CreateOrderFailReason=_,exports.Order=class{constructor(e,r){t(this,"OrderStatus",I),t(this,"PayStatus",L),t(this,"PaymentProvider",A),t(this,"ProductBuyType",l),t(this,"ProductType",o),t(this,"ProductDeliveryType",y),t(this,"RefundStatus",O),t(this,"CreateOrderFailReason",_),t(this,"OrderRefundFailReason",N),this.iarCore=e,this.config=r}async getOrderList(e={}){const{pageNumber:t=1,pageSize:i=10,orderStatus:a}=e,o=await this.iarCore.polyvApi.get(r.GetOrderList,{pageNumber:t,pageSize:i,orderStatus:a});return{pageNumber:o.pageNumber,pageSize:o.pageSize,totalItems:o.totalItems,totalPages:o.totalPages,contents:o.contents.map(W)}}async getOrderDetail(e){return function(e){const t=D(e.addressExt),r={amount:e.amount,channelId:null,products:e.products.map(R),orderNo:e.orderNo,createAt:e.createTime,transactionId:e.transactionId,expressEnabled:a(e.expressEnabled,"N"),expressInfo:t};switch(e.status){case I.WaitPay:return{...r,status:I.WaitPay,expiredAt:e.expireTime};case I.WaitDelivery:return{...r,status:I.WaitDelivery,payAt:e.payTime};case I.Delivering:return{...r,status:I.Delivering,payAt:e.payTime,deliveryAt:e.deliveryTime};case I.Finish:return{...r,status:I.Finish,payAt:e.payTime,deliveryAt:e.deliveryTime,finishAt:e.finishTime};case I.Close:return{...r,status:I.Close,expiredAt:e.expireTime};case I.Refunding:return{...r,status:I.Refunding,payAt:e.payTime,refundAt:e.refundTime,deliveryAt:e.deliveryTime};case I.Refunded:return{...r,status:I.Refunded,payAt:e.payTime,refundAt:e.refundTime,deliveryAt:e.deliveryTime,expiredAt:e.expireTime};default:return console.error(`Unknown order status:${e.status}`),{...r,status:e.status}}}(await this.iarCore.polyvApi.get(r.GetOrderDetail,{orderNo:e.orderNo,syncPayStatus:i(e.syncPayStatus)}))}async createOrder(e){try{return{success:!0,...U(await this.iarCore.polyvApi.post(r.CreateOrder,e))}}catch(t){return{success:!1,failReason:_.Unknown,failMessage:t instanceof Error?t.message:void 0}}}async confirmOrder(e){return this.iarCore.polyvApi.post(x(r.ConfirmOrder,{orderNo:e}),{})}async applyOrderRefund(e){try{return{success:!0,...await this.iarCore.polyvApi.post(r.ApplyOrderRefund,{orderNo:e})}}catch(t){return{success:!1,failReason:N.Unknown,failMessage:t instanceof Error?t.message:void 0}}}},exports.OrderRefundFailReason=N,exports.OrderStatus=I,exports.PayStatus=L,exports.Payment=class{constructor(e,r){t(this,"PaymentProvider",A),t(this,"__payProviderCache"),this.iarCore=e,this.config=r}async getPayOrderParams(e){return U(await this.iarCore.polyvApi.get(r.PayOrder,e))}async getPayProviders(){if(this.__payProviderCache)return this.__payProviderCache;const e=this.iarCore.polyvApi.get(r.GetOrderPaymentProviders,{}).catch((e=>{throw this.__payProviderCache=void 0,e}));return this.__payProviderCache=e,await e}},exports.PaymentProvider=A,exports.Product=class{constructor(e,r){t(this,"ProductType",o),t(this,"ProductLinkType",n),t(this,"ProductLinkJumpWay",s),t(this,"ProductBuyType",l),t(this,"ProductStatus",c),t(this,"ProductEvents",b),t(this,"ProductPriceType",h),t(this,"ProductExplainStatus",u),t(this,"ProductMediaType",d),t(this,"ProductDeliveryType",y),t(this,"ProductServiceType",m),t(this,"eventEmitter",new g),t(this,"__handleProductMessage",(e=>{switch(Number(e.status)){case 1:this.eventEmitter.emit(b.OnSaleProduct,{productData:f(e.content)}),this.eventEmitter.emit(b.RefreshProductList,{});break;case 2:this.eventEmitter.emit(b.OffSaleProduct,{productData:f(e.content)}),this.eventEmitter.emit(b.RefreshProductList,{});break;case 3:this.eventEmitter.emit(b.DeleteProduct,{productId:e.content.productId}),this.eventEmitter.emit(b.RefreshProductList,{});break;case 4:this.eventEmitter.emit(b.AddProduct,{productData:f(e.content)}),this.eventEmitter.emit(b.RefreshProductList,{});break;case 5:this.eventEmitter.emit(b.ChangeProduct,{productData:f(e.content)}),this.eventEmitter.emit(b.RefreshProductList,{});break;case 6:case 7:{const t=e.content,r=[f(t[0]),f(t[1])];this.eventEmitter.emit(b.MoveProduct,{targetProducts:r}),this.eventEmitter.emit(b.RefreshProductList,{});break}case 15:this.eventEmitter.emit(b.ChangeProductRank,{productData:f(e.content)}),this.eventEmitter.emit(b.RefreshProductList,{});break;case 9:{const t=e.content;this.eventEmitter.emit(b.PushProduct,{productData:f(t),pushRule:t.productPushRule}),this.eventEmitter.emit(b.RefreshProductList,{});break}case 10:{const t=e.content;this.eventEmitter.emit(b.ProductListEnabled,{enabled:"Y"===t.enabled}),this.eventEmitter.emit(b.RefreshProductList,{});break}case 11:this.eventEmitter.emit(b.CancelPushProduct,{productId:e.content.productId}),this.eventEmitter.emit(b.RefreshProductList,{})}})),t(this,"__handleRefreshProductList",(()=>{this.eventEmitter.emit(b.RefreshProductList,{})})),t(this,"__handleProductClickEvent",(e=>{this.eventEmitter.emit(b.ProductClick,{productId:e.productId,name:e.positionName,productType:e.type})})),t(this,"__handleProductClickTimes",(e=>{this.eventEmitter.emit(b.ProductClickTimes,{productId:e.productId,name:e.positionName,productType:e.type,times:e.times})})),this.iarCore=e,this.config=r,e.addSocketHandles(k,{PRODUCT_MESSAGE:this.__handleProductMessage}),e.addSocketHandles(k,{REFRESH_PRODUCT_LIST:this.__handleRefreshProductList,PRODUCT_CLICK:this.__handleProductClickEvent,PRODUCT_CLICK_TIMES:this.__handleProductClickTimes},"product")}async getProductTagList(e={}){const t=e.pageNumber??1,i=e.pageSize??10;return this.iarCore.polyvApi.get(r.GetProductTagList,{pageNumber:t,pageSize:i})}async getProductList(e={}){const{count:t=10}=e;let i,a=[],o=0;if(e.keyword||e.tagId){const{page:i=1}=e,n=await this.iarCore.polyvApi.get(r.GetProductListByTag,{keyword:e.keyword,tagId:e.tagId,pageNumber:i,pageSize:t});a=n.contents,o=n.totalItems}else{const n=await this.iarCore.polyvApi.get(r.GetProductListByShowId,{count:t,showId:e.displayNumber},{useAESDecrypt:!0});a=n.content,i=n.toppingProduct,o=n.total}return{contents:a.map((e=>f(e))),toppingProduct:i?f(i):void 0,total:o}}async getProductData(e){var t;const i=f(await this.iarCore.polyvApi.get(r.GetProductDataById,{productId:e},{useAESDecrypt:!0}));if(null==(t=i.detail)?void 0:t.endsWith(".json")){const e=await this.iarCore.otherApi.get(i.detail,{});i.detail=e.productDetail}return i}async sendProductClickEvent(e){const t=await this.iarCore.getUserInfo(),r=await this.iarCore.getChannelInfo();this.iarCore.emitSocket({EVENT:"PRODUCT_CLICK",data:{productId:e.productId,type:e.productType,nickName:t.nick,positionName:e.name},roomId:r.channelId},"product")}closeProductPush(){this.eventEmitter.emit(b.CancelPushProduct,{})}async getProductExplainEnabled(){const e=await this.config.getProductConfig();return(null==e?void 0:e.productExplainEnabled)??!1}async getOutLinkProductRedirectEnabled(){const e=await this.config.getProductConfig();return(null==e?void 0:e.outLinkProductRedirectEnabled)??!1}async generateProductExplainPageUrl(e){const t=this.iarCore.getDomainInfo(),r={channelId:(await this.iarCore.getChannelInfo()).channelId,...e||{}};return x(`${t.watchPageDomain}/landing/product/explain`,r)}async getProductPayOrderEnabled(){const e=await this.config.getProductConfig();return!!e&&e.productPayOrderEnabled}async getCurrentPushingProduct(){const e=await this.config.getProductConfig();if(e)return e.channelProductPushingStatusVO}async getSupportToDirectBuy(){if(!(await this.getProductPayOrderEnabled()))return!1;const e=await this.iarCore.getUserInfo();if(!e.unionId)return!1;const t=e.authType;if(!t||t===P.None)return!0;return![P.Custom,P.External,P.Direct,P.EnterpriseWeChat].includes(t)}},exports.ProductBuyType=l,exports.ProductDeliveryType=y,exports.ProductEvents=b,exports.ProductExplainStatus=u,exports.ProductExplainType=p,exports.ProductLinkJumpWay=s,exports.ProductLinkType=n,exports.ProductMediaType=d,exports.ProductPriceType=h,exports.ProductPushRule=G,exports.ProductServiceType=m,exports.ProductStatus=c,exports.ProductType=o,exports.RefundStatus=O,console.log("%c@polyv/product-sdk","background:#67C23A;padding: 2px 6px;border-radius: 3px;color: #fff","[version: 1.0.0-rc-20250612.3]","[buildTime: 2025-06-12 02:28:30]");
|