@bi-nova/ui-taro 1.2.2 → 1.2.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/dist/ad/index.d.mts +1 -1
- package/dist/ad/index.d.ts +1 -1
- package/dist/ad/index.js +1 -1
- package/dist/ad/index.mjs +1 -1
- package/dist/ad/splash/index.scss +2 -2
- package/package.json +1 -1
package/dist/ad/index.d.mts
CHANGED
package/dist/ad/index.d.ts
CHANGED
package/dist/ad/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var lt=Object.create;var ye=Object.defineProperty,ut=Object.defineProperties,ct=Object.getOwnPropertyDescriptor,dt=Object.getOwnPropertyDescriptors,pt=Object.getOwnPropertyNames,Fe=Object.getOwnPropertySymbols,mt=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable;var $e=(e,t,n)=>t in e?ye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,g=(e,t)=>{for(var n in t||(t={}))je.call(t,n)&&$e(e,n,t[n]);if(Fe)for(var n of Fe(t))ft.call(t,n)&&$e(e,n,t[n]);return e},Y=(e,t)=>ut(e,dt(t));var gt=(e,t)=>{for(var n in t)ye(e,n,{get:t[n],enumerable:!0})},He=(e,t,n,f)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of pt(t))!je.call(e,l)&&l!==n&&ye(e,l,{get:()=>t[l],enumerable:!(f=ct(t,l))||f.enumerable});return e};var Ge=(e,t,n)=>(n=e!=null?lt(mt(e)):{},He(t||!e||!e.__esModule?ye(n,"default",{value:e,enumerable:!0}):n,e)),ht=e=>He(ye({},"__esModule",{value:!0}),e);var St={};gt(St,{BiBannerAd:()=>Ee,BiDisplayAd:()=>et,BiSplashAd:()=>Pe});module.exports=ht(St);var jt=require("./banner/index.scss"),Ht=require("./splash/index.scss");var j=require("react"),L=require("@tarojs/components");var At=Ge(require("@tarojs/components")),De;function we(){if(De!==void 0)return De;try{let e=At;De=(e==null?void 0:e.AdCustom)||null}catch(e){De=null}return De}var de=Ge(require("@tarojs/taro"));function Ie(){return typeof wx!="undefined"?wx:null}function re(e,t){let n=e==null?void 0:e.detail;return n&&typeof n=="object"?g(g({},t),n):e&&typeof e=="object"?g(g({},t),e):g({},t)}function Ye(e){return e&&(e.image||e.video)||""}function qe(e,t=""){return e&&(e.poster||e.image||t)||""}function Je(e,t=""){return e?e.video?!1:e.image?!0:/\.(jpg|jpeg|png|gif|bmp|webp|svg|ico)$/i.test(String(t).trim()):!0}function Ke(e){if(!e)return 2;let t=Number(e.adSpec||e.spec||0);if(t===1||t===2)return t;let n=Number(e.videoWidth||e.width||0),f=Number(e.videoHeight||e.height||0);return n>0&&f>0?n>f?1:2:e.video?1:2}function Ne(e){return e&&(e.badgeText||e.adLabel)||"\u5E7F\u544A"}function ze(e,t=5){let n=e==null?void 0:e.jumpSeconds,f=n!=null?n:t;return Math.min(99,Math.max(0,Number(f)||0))}function Ce(e){var n;let t=(n=e==null?void 0:e.loadTimeout)!=null?n:e==null?void 0:e.timeout;return Math.max(1e3,Number(t)||5e3)}function Bt(e){return e?e.appId||e.miniProgramAppId||e.jumpAppId?"miniProgram":e.path||e.pagePath||e.jumpPath||e.targetUrl?"internal":e.url||e.webUrl||e.h5Url?"web":"none":"none"}function yt(e){return e&&(e.appId||e.miniProgramAppId||e.jumpAppId)||""}function Dt(e){return e&&(e.path||e.pagePath||e.jumpPath||e.targetUrl)||""}function Ct(e){return e&&(e.url||e.webUrl||e.h5Url)||""}function xe(e){let{customAd:t,actionDetail:n,onOpenWebview:f,onError:l,miniProgramErrorCode:p,navigateErrorCode:R,miniProgramUnsupportedErrorCode:q}=e;if(!t)return;let O=Bt(t),N=yt(t),J=Dt(t),K=Ct(t);if(O==="miniProgram"&&N){let P=Ie();if(!P||typeof P.navigateToMiniProgram!="function"){l==null||l(Y(g({},n),{errCode:q||p,errMsg:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u8DF3\u8F6C\u5230\u5176\u4ED6\u5C0F\u7A0B\u5E8F"}));return}P.navigateToMiniProgram({appId:N,path:J||"",fail:V=>{l==null||l(Y(g({},n),{errCode:p,errMsg:(V==null?void 0:V.errMsg)||"\u8DF3\u8F6C\u5230\u5176\u4ED6\u5C0F\u7A0B\u5E8F\u5931\u8D25"}))}});return}if(O==="internal"&&J){de.navigateTo({url:J,fail:P=>{l==null||l(Y(g({},n),{errCode:R,errMsg:(P==null?void 0:P.errMsg)||"\u9875\u9762\u8DF3\u8F6C\u5931\u8D25"}))}});return}O==="web"&&K&&(f==null||f(Y(g({},n),{url:K})))}function Xe(){let e=Ie(),t=e&&typeof e.getMenuButtonBoundingClientRect=="function"?e.getMenuButtonBoundingClientRect():{},n=e&&typeof e.getWindowInfo=="function"?e.getWindowInfo():typeof de.getSystemInfoSync=="function"?de.getSystemInfoSync():{},f=n.windowHeight===n.screenHeight,l=16,p=16,R=16,q=32,O=f&&t.top?t.top:l,N=f&&t.height?t.height:q;return{top:`${O}px`,width:"156rpx",height:`${N}px`,lineHeight:`${N}px`,borderRadius:`${Math.round(N/2)}px`,left:f?`${R}px`:void 0,right:f?void 0:`${p}px`}}function Qe(){var l;let e=typeof de.getSystemInfoSync=="function"?de.getSystemInfoSync():{},t=Math.max(0,Number(e.screenHeight||0)-Number(((l=e.safeArea)==null?void 0:l.bottom)||e.windowHeight||0)),n=t>0?t+42:84,f=t>0?t+88:130;return{contentStyle:{bottom:`${n}rpx`},badgeStyle:{bottom:`${f}rpx`}}}var $=require("react/jsx-runtime"),Ee=({unitId:e="",customAd:t,adIntervals:n=30,className:f,onLoad:l,onError:p,onClose:R,onAction:q,onOpenWebview:O})=>{let N=(0,j.useMemo)(()=>we(),[]),J=!!(e&&N),K=(0,j.useRef)(null),P=(0,j.useRef)(!1),V=(0,j.useRef)(!1),[ee,_]=(0,j.useState)(!1),D=t||null,T=(0,j.useMemo)(()=>`bi-banner-ad${f?` ${f}`:""}`,[f]),w=u=>({provider:u,type:"banner"}),k=(0,j.useCallback)(()=>{K.current&&(clearTimeout(K.current),K.current=null)},[]),v=(0,j.useCallback)((u,C)=>{V.current||(V.current=!0,k(),_(!0),p==null||p(g(g({},re(u,w("custom"))),C)))},[k,p]);(0,j.useEffect)(()=>{if(k(),P.current=!1,V.current=!1,_(!1),!(J||!(D!=null&&D.image)))return K.current=setTimeout(()=>{v(void 0,{errCode:"BI_BANNER_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"Banner \u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})},Ce(D)),()=>{k()}},[k,D,J,v]),(0,j.useEffect)(()=>{!e||N||p==null||p(Y(g({},w("wechat")),{errCode:"BI_BANNER_NATIVE_AD_UNSUPPORTED",errMsg:"\u5F53\u524D\u7AEF\u4E0D\u652F\u6301\u5FAE\u4FE1\u539F\u751F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7EC4\u4EF6"}))},[N,p,e]);let M=u=>{l==null||l(re(u,w("wechat")))},ie=u=>{p==null||p(re(u,w("wechat")))},x=u=>{R==null||R(re(u,w("wechat")))},te=()=>{P.current||V.current||(k(),P.current=!0,l==null||l(w("custom")))},m=u=>{v(u,{errCode:"BI_BANNER_CUSTOM_MEDIA_LOAD_FAIL",errMsg:"Banner \u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u5931\u8D25"})},z=u=>{var X;(X=u==null?void 0:u.stopPropagation)==null||X.call(u);let C=w("custom");q==null||q(C),xe({customAd:D,actionDetail:C,onOpenWebview:H=>{O==null||O(H)},onError:H=>{p==null||p(H)},miniProgramErrorCode:"BI_BANNER_NAVIGATE_MINI_PROGRAM_FAIL",navigateErrorCode:"BI_BANNER_NAVIGATE_FAIL"})},y=u=>{var C;(C=u==null?void 0:u.stopPropagation)==null||C.call(u),R==null||R(w("custom"))};return J&&N?(0,$.jsx)(N,{className:T,unitId:e,adIntervals:n,onLoad:M,onError:ie,onClose:x}):!D||!D.image||ee?null:(0,$.jsxs)(L.View,{className:T,children:[(0,$.jsxs)(L.View,{className:"bi-banner-ad__surface",onClick:z,children:[(0,$.jsxs)(L.View,{className:"bi-banner-ad__media",children:[(0,$.jsx)(L.Text,{className:"bi-banner-ad__badge bi-banner-ad__badge--overlay",children:Ne(D)}),(0,$.jsx)(L.Image,{className:"bi-banner-ad__image",src:D.image||"",mode:"aspectFill",onLoad:te,onError:m})]}),(0,$.jsxs)(L.View,{className:"bi-banner-ad__content",children:[(0,$.jsx)(L.View,{className:"bi-banner-ad__body",children:D.title?(0,$.jsx)(L.Text,{className:"bi-banner-ad__title",children:D.title}):null}),(0,$.jsxs)(L.View,{className:"bi-banner-ad__footer",children:[D.description?(0,$.jsx)(L.Text,{className:"bi-banner-ad__description",children:D.description}):null,(0,$.jsx)(L.Button,{className:"bi-banner-ad__button",onClick:z,children:D.buttonText||"\u7ACB\u5373\u67E5\u770B"})]})]})]}),(0,$.jsx)(L.Button,{className:"bi-banner-ad__close",onClick:y,children:"\xD7"})]})};var a=require("react"),B=require("@tarojs/components");var h=require("react/jsx-runtime"),Pe=({unitId:e="",customAd:t,show:n=!0,zIndex:f=999,pictureInPicture:l=!1,checkNativeSplash:p=!0,jumpSeconds:R=5,className:q,onLoad:O,onError:N,onClose:J,onAction:K,onHide:P,onOpenWebview:V})=>{let ee=(0,a.useMemo)(()=>we(),[]),_=!!(e&&ee),[D,T]=(0,a.useState)(!1),[w,k]=(0,a.useState)(_),[v,M]=(0,a.useState)(!1),[ie,x]=(0,a.useState)(0),[te,m]=(0,a.useState)(!1),[z,y]=(0,a.useState)(!1),u=(0,a.useRef)(null),C=(0,a.useRef)(null),X=(0,a.useRef)(null),H=(0,a.useRef)(null),le=(0,a.useRef)(null),se=(0,a.useRef)(0),ne=(0,a.useRef)(!1),b=(0,a.useRef)(!1),W=(0,a.useRef)(O),A=(0,a.useRef)(N),F=(0,a.useRef)(J),ue=(0,a.useRef)(K),pe=(0,a.useRef)(P),me=(0,a.useRef)(V),c=t||null,ae=(0,a.useMemo)(()=>Ye(c),[c]),Se=(0,a.useMemo)(()=>qe(c,ae),[c,ae]),oe=!!ae,he=(0,a.useMemo)(()=>Je(c,ae),[c,ae]),Me=(0,a.useMemo)(()=>Ke(c),[c]),ve=(0,a.useMemo)(()=>Ne(c),[c]),U=(0,a.useMemo)(()=>ze(c,R),[c,R]),be=(0,a.useMemo)(()=>Xe(),[]),{contentStyle:_e,badgeStyle:Te}=(0,a.useMemo)(()=>Qe(),[]),Re=(0,a.useMemo)(()=>{let o=["bi-splash-ad"];return v&&o.push("bi-splash-ad--pip"),z&&o.push("bi-splash-ad--pip-animating"),q&&o.push(q),o.join(" ")},[q,z,v]);(0,a.useEffect)(()=>{W.current=O,A.current=N,F.current=J,ue.current=K,pe.current=P,me.current=V},[K,J,N,P,O,V]);let Z=o=>({provider:o,type:"splash"});(0,a.useEffect)(()=>{var o;!n||!e||ee||(o=A.current)==null||o.call(A,Y(g({},Z("wechat")),{errCode:"BI_SPLASH_NATIVE_AD_UNSUPPORTED",errMsg:"\u5F53\u524D\u7AEF\u4E0D\u652F\u6301\u5FAE\u4FE1\u539F\u751F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7EC4\u4EF6"}))},[ee,n,e]);let I=(0,a.useCallback)(()=>{u.current&&(clearInterval(u.current),u.current=null),C.current&&(clearTimeout(C.current),C.current=null)},[]),fe=(0,a.useCallback)(()=>{X.current&&(clearTimeout(X.current),X.current=null)},[]),r=(0,a.useCallback)(()=>{H.current&&(clearTimeout(H.current),H.current=null)},[]),i=(0,a.useCallback)(()=>{le.current&&(clearTimeout(le.current),le.current=null)},[]),s=(0,a.useCallback)(()=>{I(),fe(),r(),i()},[I,fe,i,r]),Q=(0,a.useCallback)(o=>{var d;s(),T(!1),M(!1),x(0),m(!1),b.current=!1,y(!1),(d=F.current)==null||d.call(F,o)},[s]),ce=(0,a.useCallback)(()=>{let o=w?"wechat":"custom";if(l){I(),fe(),i(),y(!0),le.current=setTimeout(()=>{var d;le.current=null,M(!0),y(!1),(d=pe.current)==null||d.call(pe,Z(o))},280);return}Q({type:"splash",provider:o})},[I,fe,i,Q,w,l]),E=(0,a.useCallback)(()=>{if(I(),U<=0){ce();return}x(U),u.current=setInterval(()=>{x(o=>o<=1?(I(),C.current=setTimeout(()=>{C.current=null,ce()},0),0):o-1)},1e3)},[I,U,ce]),Oe=(0,a.useCallback)(o=>{!n||!_||!o||v||E()},[_,n,v,E]),Ae=(0,a.useCallback)(()=>{let o=!!(!ne.current&&(_||oe));s(),k(_),T(o),M(!1),x(U),m(!1),b.current=!1,y(!1),Oe(o),o&&!_&&oe&&(X.current=setTimeout(()=>{var d;b.current||(s(),T(!1),M(!1),x(0),m(!1),b.current=!1,y(!1),(d=A.current)==null||d.call(A,Y(g({},Z("custom")),{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})))},Ce(c)))},[_,s,U,oe,c,Oe]),ke=(0,a.useCallback)(()=>{if(!n)return;if(!p){ne.current=!1,Ae();return}if(ne.current){T(!1);return}let o=Ie();if(!o||typeof o.getShowSplashAdStatus!="function"||se.current>=3){Ae();return}o.getShowSplashAdStatus({success:d=>{var G;if((d==null?void 0:d.code)===-1){se.current+=1,r(),H.current=setTimeout(()=>{H.current=null,ke()},300);return}if((d==null?void 0:d.code)===1){s(),T(!1),ne.current=!0,(G=W.current)==null||G.call(W,{provider:"wechat",type:"splash",nativeSplash:!0});return}Ae()},fail:()=>{Ae()}})},[_,p,s,r,oe,Ae,n]);(0,a.useEffect)(()=>{if(!n){s(),T(!1),k(_),M(!1),x(0),m(!1),b.current=!1,y(!1),ne.current=!1;return}if(se.current=0,!p)ne.current=!1;else if(ne.current)return s(),k(_),T(!1),M(!1),x(0),m(!1),b.current=!1,y(!1),()=>{s()};return s(),k(_),T(!1),M(!1),x(U),m(!1),b.current=!1,y(!1),ke(),()=>{s()}},[_,p,ke,s,U,n]);let tt=o=>{var d;E(),(d=W.current)==null||d.call(W,re(o,Z("wechat")))},nt=o=>{var d;if(w){if(s(),oe){k(!1),T(!0),M(!1),x(U),m(!1),b.current=!1,y(!1),X.current=setTimeout(()=>{var G;b.current||(s(),T(!1),M(!1),x(0),m(!1),b.current=!1,y(!1),(G=A.current)==null||G.call(A,Y(g({},Z("custom")),{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})))},Ce(c));return}T(!1),M(!1),x(0),m(!1),b.current=!1,y(!1),(d=F.current)==null||d.call(F,{provider:"wechat",type:"splash",reason:"wechatAdLoadFail",error:o})}},rt=o=>{var ge;let d=o&&typeof o.detail=="object"?o.detail:{},G=Y(g({},re(o,Z("wechat"))),{errCode:"BI_SPLASH_WECHAT_AD_LOAD_FAIL",errMsg:String(d.errMsg||"\u5FAE\u4FE1\u5F00\u5C4F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25"),rawErrCode:d.errCode,rawErrMsg:d.errMsg});(ge=A.current)==null||ge.call(A,G),nt(G)},it=o=>{Q(re(o,Z("wechat")))},Ve=()=>{var o;b.current||(fe(),b.current=!0,m(!0),E(),(o=W.current)==null||o.call(W,Z("custom")))},st=(o,d)=>{var G;s(),T(!1),M(!1),x(0),m(!1),b.current=!1,y(!1),(G=A.current)==null||G.call(A,g(g({},re(o,Z("custom"))),d))},We=o=>{st(o,{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_FAIL",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u5931\u8D25"})},at=()=>{var G;let o=w?"wechat":"custom",d=Z(o);(G=ue.current)==null||G.call(ue,d),o==="custom"&&xe({customAd:c,actionDetail:d,onOpenWebview:ge=>{var Be;(Be=me.current)==null||Be.call(me,ge)},onError:ge=>{var Be;(Be=A.current)==null||Be.call(A,ge)},miniProgramErrorCode:"BI_SPLASH_NAVIGATE_MINI_PROGRAM_FAIL",navigateErrorCode:"BI_SPLASH_NAVIGATE_FAIL"})},ot=()=>{Q({type:"splash",provider:w?"wechat":"custom"})},Ue=w?ee:null;return!D||!!!Ue&&!oe?null:(0,h.jsxs)(B.View,{className:Re,style:{zIndex:f},children:[Ue?(0,h.jsx)(B.View,{className:"bi-splash-ad__popup",children:(0,h.jsx)(B.View,{className:`bi-splash-ad__media-wrapper${v?" bi-splash-ad__media-wrapper--pip":""}`,children:(0,h.jsx)(Ue,{className:"bi-splash-ad__wechat-unit",unitId:e,onLoad:tt,onError:rt,onClose:it})})}):(0,h.jsx)(B.View,{className:"bi-splash-ad__popup",children:(0,h.jsxs)(B.View,{className:"bi-splash-ad__media-shell",onClick:at,children:[he?(0,h.jsx)(B.Image,{className:"bi-splash-ad__media bi-splash-ad__media--background",src:ae,mode:"aspectFill",onLoad:Ve,onError:We}):(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(B.Image,{className:"bi-splash-ad__media bi-splash-ad__media--background",src:Se,mode:"aspectFill"}),(0,h.jsx)(B.Video,{className:`bi-splash-ad__video${Me===1?" bi-splash-ad__video--landscape":""}`,src:ae,poster:Se,autoplay:!0,muted:(c==null?void 0:c.muted)!==!1,loop:!0,objectFit:"cover",showCenterPlayBtn:!1,showPlayBtn:!1,controls:!1,onLoadedMetaData:Ve,onError:We})]}),v?(0,h.jsx)(B.View,{className:"bi-splash-ad__pip-mask"}):null,v?null:(0,h.jsx)(B.View,{className:"bi-splash-ad__badge",style:Te,children:ve}),c&&(c.title||!v&&(c.description||c.buttonText))?(0,h.jsxs)(B.View,{className:"bi-splash-ad__content",style:_e,children:[c.title?(0,h.jsx)(B.Text,{className:"bi-splash-ad__title",children:c.title}):null,!v&&c.description?(0,h.jsx)(B.Text,{className:"bi-splash-ad__description",children:c.description}):null,!v&&c.buttonText?(0,h.jsx)(B.Button,{className:"bi-splash-ad__action",children:c.buttonText}):null]}):null]})}),v?(0,h.jsx)(B.View,{className:"bi-splash-ad__pip-close",onClick:ot,children:(0,h.jsx)(B.View,{className:"bi-splash-ad__pip-close-text",children:"\u5173\u95ED"})}):null,v?null:(0,h.jsxs)(B.View,{className:"bi-splash-ad__skip",style:be,onClick:ce,children:[(0,h.jsxs)(B.Text,{children:[ie,"s"]}),(0,h.jsx)(B.View,{className:"bi-splash-ad__skip-divider"}),(0,h.jsx)(B.Text,{className:"bi-splash-ad__skip-text",children:"\u8DF3\u8FC7"})]})]})};var S=require("react");var Le=require("react/jsx-runtime"),Ze=["banner","splash"],et=({adId:e="",unitId:t,type:n="banner",customAd:f,adOptions:l=null,sdkKey:p="biNova",autoLoad:R=!0,adIntervals:q=30,show:O=!0,zIndex:N=999,pictureInPicture:J=!1,checkNativeSplash:K=!0,jumpSeconds:P=5,className:V,onLoad:ee,onError:_,onClose:D,onAction:T,onHide:w,onOpenWebview:k,onConfigLoad:v,onConfigError:M})=>{let ie=(0,S.useRef)(0),x=(0,S.useRef)(""),te=(0,S.useRef)(ee),m=(0,S.useRef)(_),z=(0,S.useRef)(D),y=(0,S.useRef)(T),u=(0,S.useRef)(w),C=(0,S.useRef)(k),X=(0,S.useRef)(v),H=(0,S.useRef)(M),[le,se]=(0,S.useState)(!1),[ne,b]=(0,S.useState)(!1),[W,A]=(0,S.useState)(null);(0,S.useEffect)(()=>{te.current=ee,m.current=_,z.current=D,y.current=T,u.current=w,C.current=k,X.current=v,H.current=M},[T,D,M,v,_,w,ee,k]);let F=(0,S.useMemo)(()=>Ze.includes(n)?n:"banner",[n]),ue=()=>!!(R&&e),pe=()=>{var Q;let r=globalThis.getApp,i=typeof r=="function"?r():null;if(!i)return null;let s=i;return s[p]||((Q=s.globalData)==null?void 0:Q[p])||null},me=()=>{var r;try{if(typeof wx!="undefined"&&typeof wx.getAccountInfoSync=="function"){let i=wx.getAccountInfoSync();return((r=i==null?void 0:i.miniProgram)==null?void 0:r.appId)||""}}catch(i){return""}return""},c=()=>{ie.current+=1,x.current="",se(!1),b(!1),A(null)},ae=()=>{let r=l&&typeof l=="object"?l:{},i=me();return Y(g({},r),{adId:e,placementId:r.placementId||e,appId:r.appId||i,type:F})},Se=r=>{try{return JSON.stringify(r||{})}catch(i){return`${String(r.appId||"")}_${String(r.placementId||"")}`}},oe=r=>{let i=(r==null?void 0:r.unitId)||"",s=(r==null?void 0:r.customAd)||(r==null?void 0:r.custom)||null,Q=typeof(r==null?void 0:r.show)=="boolean"?r.show:!!(i||s);return{unitId:i,customAd:s,show:Q}},he=r=>{var i,s;(i=H.current)==null||i.call(H,r),(s=m.current)==null||s.call(m,r)},Me=async()=>{var ce;if(!ue())return;let r=ae(),i=Se(r);if(x.current===i&&(le||ne))return;let s=pe();if(!(s!=null&&s.ads)||typeof s.ads.getDisplayAdConfig!="function"){c(),he({type:F,adId:e,errCode:"DISPLAY_AD_SDK_NOT_READY",errMsg:"\u672A\u83B7\u53D6\u5230\u53EF\u7528\u7684\u5E7F\u544A\u670D\u52A1 SDK\uFF0C\u8BF7\u5148\u6CE8\u5165\u5168\u5C40 biNova \u5B9E\u4F8B"});return}let Q=ie.current+1;ie.current=Q,x.current=i,se(!0),b(!1),A(null);try{let E=await s.ads.getDisplayAdConfig(r);if(Q!==ie.current)return;if(!E||E.code!==0||!E.data){se(!1),b(!0),A(null),he({type:F,adId:e,errCode:"DISPLAY_AD_REMOTE_CONFIG_FAIL",errMsg:(E==null?void 0:E.message)||"\u83B7\u53D6\u5C55\u793A\u5E7F\u544A\u914D\u7F6E\u5931\u8D25",rawResult:E||null});return}se(!1),b(!0),A(E.data),(ce=X.current)==null||ce.call(X,{type:F,adId:e,requestOptions:r,data:E.data})}catch(E){if(Q!==ie.current)return;se(!1),b(!0),A(null),he({type:F,adId:e,errCode:"DISPLAY_AD_REMOTE_CONFIG_EXCEPTION",errMsg:E instanceof Error?E.message:"\u83B7\u53D6\u5C55\u793A\u5E7F\u544A\u914D\u7F6E\u5F02\u5E38",error:E})}};(0,S.useEffect)(()=>{var r;Ze.includes(n)||(r=m.current)==null||r.call(m,{type:"banner",errCode:"UNSUPPORTED_DISPLAY_AD_TYPE",errMsg:`\u4E0D\u652F\u6301\u7684\u5C55\u793A\u5E7F\u544A\u7C7B\u578B\uFF1A${n}\uFF0C\u8BF7\u4F7F\u7528 "banner" \u6216 "splash"`})},[n]),(0,S.useEffect)(()=>{if(!e){c();return}Me()},[e,l,R,F,p]);let ve=ue(),U=ve?oe(W):null,be=U?U.unitId:t||"",_e=U?U.customAd:f||null,Te=!!(O&&(!ve||!e||ne&&(U!=null&&U.show))),Re=!!K,Z=e||(W==null?void 0:W.adId)||"",I=r=>g({adId:Z},r);return F==="splash"?(0,Le.jsx)(Pe,g({},{unitId:be,customAd:_e,show:Te,zIndex:N,pictureInPicture:J,checkNativeSplash:Re,jumpSeconds:P,className:V,onLoad:i=>{var s;(s=te.current)==null||s.call(te,I(i))},onError:i=>{var s;(s=m.current)==null||s.call(m,I(i))},onClose:i=>{var s;(s=z.current)==null||s.call(z,I(i))},onAction:i=>{var s;(s=y.current)==null||s.call(y,I(i))},onHide:i=>{var s;(s=u.current)==null||s.call(u,I(i))},onOpenWebview:i=>{var s;(s=C.current)==null||s.call(C,I(i))}})):Te?(0,Le.jsx)(Ee,g({},{unitId:be,customAd:_e,adIntervals:q,className:V,onLoad:r=>{var i;(i=te.current)==null||i.call(te,I(r))},onError:r=>{var i;(i=m.current)==null||i.call(m,I(r))},onClose:r=>{var i;(i=z.current)==null||i.call(z,I(r))},onAction:r=>{var i;(i=y.current)==null||i.call(y,I(r))},onOpenWebview:r=>{var i;(i=C.current)==null||i.call(C,I(r))}})):null};0&&(module.exports={BiBannerAd,BiDisplayAd,BiSplashAd});
|
|
1
|
+
"use strict";var lt=Object.create;var ye=Object.defineProperty,ut=Object.defineProperties,ct=Object.getOwnPropertyDescriptor,dt=Object.getOwnPropertyDescriptors,pt=Object.getOwnPropertyNames,Fe=Object.getOwnPropertySymbols,mt=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable;var $e=(e,t,n)=>t in e?ye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,y=(e,t)=>{for(var n in t||(t={}))je.call(t,n)&&$e(e,n,t[n]);if(Fe)for(var n of Fe(t))gt.call(t,n)&&$e(e,n,t[n]);return e},G=(e,t)=>ut(e,dt(t));var ft=(e,t)=>{for(var n in t)ye(e,n,{get:t[n],enumerable:!0})},He=(e,t,n,B)=>{if(t&&typeof t=="object"||typeof t=="function")for(let u of pt(t))!je.call(e,u)&&u!==n&&ye(e,u,{get:()=>t[u],enumerable:!(B=ct(t,u))||B.enumerable});return e};var Ge=(e,t,n)=>(n=e!=null?lt(mt(e)):{},He(t||!e||!e.__esModule?ye(n,"default",{value:e,enumerable:!0}):n,e)),ht=e=>He(ye({},"__esModule",{value:!0}),e);var St={};ft(St,{BiBannerAd:()=>xe,BiDisplayAd:()=>et,BiSplashAd:()=>Pe});module.exports=ht(St);var jt=require("./banner/index.scss"),Ht=require("./splash/index.scss");var T=require("react"),U=require("@tarojs/components");var At=Ge(require("@tarojs/components")),De;function we(){if(De!==void 0)return De;try{let e=At;De=(e==null?void 0:e.AdCustom)||null}catch(e){De=null}return De}var de=Ge(require("@tarojs/taro"));function Ee(){return typeof wx!="undefined"?wx:null}function se(e,t){let n=e==null?void 0:e.detail;return n&&typeof n=="object"?y(y({},t),n):e&&typeof e=="object"?y(y({},t),e):y({},t)}function Ye(e){return e&&(e.image||e.video)||""}function qe(e,t=""){return e&&(e.poster||e.image||t)||""}function Je(e,t=""){return e?e.video?!1:e.image?!0:/\.(jpg|jpeg|png|gif|bmp|webp|svg|ico)$/i.test(String(t).trim()):!0}function Ke(e){if(!e)return 2;let t=Number(e.adSpec||e.spec||0);if(t===1||t===2)return t;let n=Number(e.videoWidth||e.width||0),B=Number(e.videoHeight||e.height||0);return n>0&&B>0?n>B?1:2:e.video?1:2}function Ie(e){return e&&(e.badgeText||e.adLabel)||"\u5E7F\u544A"}function ze(e,t=5){let n=e==null?void 0:e.jumpSeconds,B=n!=null?n:t;return Math.min(99,Math.max(0,Number(B)||0))}function Ce(e){var n;let t=(n=e==null?void 0:e.loadTimeout)!=null?n:e==null?void 0:e.timeout;return Math.max(1e3,Number(t)||5e3)}function Bt(e){return e?e.appId||e.miniProgramAppId||e.jumpAppId?"miniProgram":e.path||e.pagePath||e.jumpPath||e.targetUrl?"internal":e.url||e.webUrl||e.h5Url?"web":"none":"none"}function yt(e){return e&&(e.appId||e.miniProgramAppId||e.jumpAppId)||""}function Dt(e){return e&&(e.path||e.pagePath||e.jumpPath||e.targetUrl)||""}function Ct(e){return e&&(e.url||e.webUrl||e.h5Url)||""}function Ne(e){let{customAd:t,actionDetail:n,onOpenWebview:B,onError:u,miniProgramErrorCode:M,navigateErrorCode:Y,miniProgramUnsupportedErrorCode:q}=e;if(!t)return;let O=Bt(t),N=yt(t),J=Dt(t),K=Ct(t);if(O==="miniProgram"&&N){let R=Ee();if(!R||typeof R.navigateToMiniProgram!="function"){u==null||u(G(y({},n),{errCode:q||M,errMsg:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u8DF3\u8F6C\u5230\u5176\u4ED6\u5C0F\u7A0B\u5E8F"}));return}R.navigateToMiniProgram({appId:N,path:J||"",fail:W=>{u==null||u(G(y({},n),{errCode:M,errMsg:(W==null?void 0:W.errMsg)||"\u8DF3\u8F6C\u5230\u5176\u4ED6\u5C0F\u7A0B\u5E8F\u5931\u8D25"}))}});return}if(O==="internal"&&J){de.navigateTo({url:J,fail:R=>{u==null||u(G(y({},n),{errCode:Y,errMsg:(R==null?void 0:R.errMsg)||"\u9875\u9762\u8DF3\u8F6C\u5931\u8D25"}))}});return}O==="web"&&K&&(B==null||B(G(y({},n),{url:K})))}function Xe(){let e=Ee(),t=e&&typeof e.getMenuButtonBoundingClientRect=="function"?e.getMenuButtonBoundingClientRect():{},n=e&&typeof e.getWindowInfo=="function"?e.getWindowInfo():typeof de.getSystemInfoSync=="function"?de.getSystemInfoSync():{},B=n.windowHeight===n.screenHeight,u=16,M=16,Y=16,q=32,O=B&&t.top?t.top:u,N=B&&t.height?t.height:q;return{top:`${O}px`,width:"156rpx",height:`${N}px`,lineHeight:`${N}px`,borderRadius:`${Math.round(N/2)}px`,left:B?`${Y}px`:void 0,right:B?void 0:`${M}px`}}function Qe(){var u;let e=typeof de.getSystemInfoSync=="function"?de.getSystemInfoSync():{},t=Math.max(0,Number(e.screenHeight||0)-Number(((u=e.safeArea)==null?void 0:u.bottom)||e.windowHeight||0)),n=t>0?t+42:84,B=t>0?t+88:130;return{contentStyle:{bottom:`${n}rpx`},badgeStyle:{bottom:`${B}rpx`}}}var j=require("react/jsx-runtime"),xe=({unitId:e="",customAd:t,adIntervals:n=30,className:B,onLoad:u,onError:M,onClose:Y,onAction:q,onOpenWebview:O})=>{let N=(0,T.useMemo)(()=>we(),[]),J=!!(e&&N),K=(0,T.useRef)(null),R=(0,T.useRef)(!1),W=(0,T.useRef)(!1),k=(0,T.useRef)(u),p=(0,T.useRef)(M),z=(0,T.useRef)(Y),b=(0,T.useRef)(q),V=(0,T.useRef)(O),[ne,E]=(0,T.useState)(!1),d=t||null,ie=(0,T.useMemo)(()=>`bi-banner-ad${B?` ${B}`:""}`,[B]);(0,T.useEffect)(()=>{k.current=u,p.current=M,z.current=Y,b.current=q,V.current=O},[q,Y,M,u,O]);let C=l=>({provider:l,type:"banner"}),F=(0,T.useCallback)(()=>{K.current&&(clearTimeout(K.current),K.current=null)},[]),g=(0,T.useCallback)((l,A)=>{var f;W.current||(W.current=!0,F(),E(!0),(f=p.current)==null||f.call(p,y(y({},se(l,C("custom"))),A)))},[F]);(0,T.useEffect)(()=>{if(F(),R.current=!1,W.current=!1,E(!1),!(J||!(d!=null&&d.image)))return K.current=setTimeout(()=>{g(void 0,{errCode:"BI_BANNER_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"Banner \u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})},Ce(d)),()=>{F()}},[F,d,J,g]),(0,T.useEffect)(()=>{var l;!e||N||(l=p.current)==null||l.call(p,G(y({},C("wechat")),{errCode:"BI_BANNER_NATIVE_AD_UNSUPPORTED",errMsg:"\u5F53\u524D\u7AEF\u4E0D\u652F\u6301\u5FAE\u4FE1\u539F\u751F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7EC4\u4EF6"}))},[N,e]);let Z=l=>{var A;(A=k.current)==null||A.call(k,se(l,C("wechat")))},v=l=>{var A;(A=p.current)==null||A.call(p,se(l,C("wechat")))},re=l=>{var A;(A=z.current)==null||A.call(z,se(l,C("wechat")))},$=()=>{var l;R.current||W.current||(F(),R.current=!0,(l=k.current)==null||l.call(k,C("custom")))},ee=l=>{g(l,{errCode:"BI_BANNER_CUSTOM_MEDIA_LOAD_FAIL",errMsg:"Banner \u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u5931\u8D25"})},X=l=>{var f,x;(f=l==null?void 0:l.stopPropagation)==null||f.call(l);let A=C("custom");(x=b.current)==null||x.call(b,A),Ne({customAd:d,actionDetail:A,onOpenWebview:h=>{var _;(_=V.current)==null||_.call(V,h)},onError:h=>{var _;(_=p.current)==null||_.call(p,h)},miniProgramErrorCode:"BI_BANNER_NAVIGATE_MINI_PROGRAM_FAIL",navigateErrorCode:"BI_BANNER_NAVIGATE_FAIL"})},ae=l=>{var A,f;(A=l==null?void 0:l.stopPropagation)==null||A.call(l),(f=z.current)==null||f.call(z,C("custom"))};return J&&N?(0,j.jsx)(N,{className:ie,unitId:e,adIntervals:n,onLoad:Z,onError:v,onClose:re}):!d||!d.image||ne?null:(0,j.jsxs)(U.View,{className:ie,children:[(0,j.jsxs)(U.View,{className:"bi-banner-ad__surface",onClick:X,children:[(0,j.jsxs)(U.View,{className:"bi-banner-ad__media",children:[(0,j.jsx)(U.Text,{className:"bi-banner-ad__badge bi-banner-ad__badge--overlay",children:Ie(d)}),(0,j.jsx)(U.Image,{className:"bi-banner-ad__image",src:d.image||"",mode:"aspectFill",onLoad:$,onError:ee})]}),(0,j.jsxs)(U.View,{className:"bi-banner-ad__content",children:[(0,j.jsx)(U.View,{className:"bi-banner-ad__body",children:d.title?(0,j.jsx)(U.Text,{className:"bi-banner-ad__title",children:d.title}):null}),(0,j.jsxs)(U.View,{className:"bi-banner-ad__footer",children:[d.description?(0,j.jsx)(U.Text,{className:"bi-banner-ad__description",children:d.description}):null,(0,j.jsx)(U.Button,{className:"bi-banner-ad__button",onClick:X,children:d.buttonText||"\u7ACB\u5373\u67E5\u770B"})]})]})]}),(0,j.jsx)(U.Button,{className:"bi-banner-ad__close",onClick:ae,children:"\xD7"})]})};var a=require("react"),S=require("@tarojs/components");var D=require("react/jsx-runtime"),Pe=({unitId:e="",customAd:t,show:n=!0,zIndex:B=999,pictureInPicture:u=!1,checkNativeSplash:M=!0,jumpSeconds:Y=5,className:q,onLoad:O,onError:N,onClose:J,onAction:K,onHide:R,onOpenWebview:W})=>{let k=(0,a.useMemo)(()=>we(),[]),p=!!(e&&k),[z,b]=(0,a.useState)(!1),[V,ne]=(0,a.useState)(p),[E,d]=(0,a.useState)(!1),[ie,C]=(0,a.useState)(0),[F,g]=(0,a.useState)(!1),[Z,v]=(0,a.useState)(!1),re=(0,a.useRef)(null),$=(0,a.useRef)(null),ee=(0,a.useRef)(null),X=(0,a.useRef)(null),ae=(0,a.useRef)(null),l=(0,a.useRef)(0),A=(0,a.useRef)(!1),f=(0,a.useRef)(!1),x=(0,a.useRef)(O),h=(0,a.useRef)(N),_=(0,a.useRef)(J),ue=(0,a.useRef)(K),pe=(0,a.useRef)(R),me=(0,a.useRef)(W),c=t||null,oe=(0,a.useMemo)(()=>Ye(c),[c]),Se=(0,a.useMemo)(()=>qe(c,oe),[c,oe]),le=!!oe,he=(0,a.useMemo)(()=>Je(c,oe),[c,oe]),Me=(0,a.useMemo)(()=>Ke(c),[c]),ve=(0,a.useMemo)(()=>Ie(c),[c]),L=(0,a.useMemo)(()=>ze(c,Y),[c,Y]),be=(0,a.useMemo)(()=>Xe(),[]),{contentStyle:_e,badgeStyle:Te}=(0,a.useMemo)(()=>Qe(),[]),Re=(0,a.useMemo)(()=>{let o=["bi-splash-ad"];return E&&o.push("bi-splash-ad--pip"),Z&&o.push("bi-splash-ad--pip-animating"),q&&o.push(q),o.join(" ")},[q,Z,E]);(0,a.useEffect)(()=>{x.current=O,h.current=N,_.current=J,ue.current=K,pe.current=R,me.current=W},[K,J,N,R,O,W]);let te=o=>({provider:o,type:"splash"});(0,a.useEffect)(()=>{var o;!n||!e||k||(o=h.current)==null||o.call(h,G(y({},te("wechat")),{errCode:"BI_SPLASH_NATIVE_AD_UNSUPPORTED",errMsg:"\u5F53\u524D\u7AEF\u4E0D\u652F\u6301\u5FAE\u4FE1\u539F\u751F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7EC4\u4EF6"}))},[k,n,e]);let I=(0,a.useCallback)(()=>{re.current&&(clearInterval(re.current),re.current=null),$.current&&(clearTimeout($.current),$.current=null)},[]),ge=(0,a.useCallback)(()=>{ee.current&&(clearTimeout(ee.current),ee.current=null)},[]),r=(0,a.useCallback)(()=>{X.current&&(clearTimeout(X.current),X.current=null)},[]),i=(0,a.useCallback)(()=>{ae.current&&(clearTimeout(ae.current),ae.current=null)},[]),s=(0,a.useCallback)(()=>{I(),ge(),r(),i()},[I,ge,i,r]),Q=(0,a.useCallback)(o=>{var m;s(),b(!1),d(!1),C(0),g(!1),f.current=!1,v(!1),(m=_.current)==null||m.call(_,o)},[s]),ce=(0,a.useCallback)(()=>{let o=V?"wechat":"custom";if(u){I(),ge(),i(),v(!0),ae.current=setTimeout(()=>{var m;ae.current=null,d(!0),v(!1),(m=pe.current)==null||m.call(pe,te(o))},280);return}Q({type:"splash",provider:o})},[I,ge,i,Q,V,u]),P=(0,a.useCallback)(()=>{if(I(),L<=0){ce();return}C(L),re.current=setInterval(()=>{C(o=>o<=1?(I(),$.current=setTimeout(()=>{$.current=null,ce()},0),0):o-1)},1e3)},[I,L,ce]),Oe=(0,a.useCallback)(o=>{!n||!p||!o||E||P()},[p,n,E,P]),Ae=(0,a.useCallback)(()=>{let o=!!(!A.current&&(p||le));s(),ne(p),b(o),d(!1),C(L),g(!1),f.current=!1,v(!1),Oe(o),o&&!p&&le&&(ee.current=setTimeout(()=>{var m;f.current||(s(),b(!1),d(!1),C(0),g(!1),f.current=!1,v(!1),(m=h.current)==null||m.call(h,G(y({},te("custom")),{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})))},Ce(c)))},[p,s,L,le,c,Oe]),ke=(0,a.useCallback)(()=>{if(!n)return;if(!M){A.current=!1,Ae();return}if(A.current){b(!1);return}let o=Ee();if(!o||typeof o.getShowSplashAdStatus!="function"||l.current>=3){Ae();return}o.getShowSplashAdStatus({success:m=>{var H;if((m==null?void 0:m.code)===-1){l.current+=1,r(),X.current=setTimeout(()=>{X.current=null,ke()},300);return}if((m==null?void 0:m.code)===1){s(),b(!1),A.current=!0,(H=x.current)==null||H.call(x,{provider:"wechat",type:"splash",nativeSplash:!0});return}Ae()},fail:()=>{Ae()}})},[p,M,s,r,le,Ae,n]);(0,a.useEffect)(()=>{if(!n){s(),b(!1),ne(p),d(!1),C(0),g(!1),f.current=!1,v(!1),A.current=!1;return}if(l.current=0,!M)A.current=!1;else if(A.current)return s(),ne(p),b(!1),d(!1),C(0),g(!1),f.current=!1,v(!1),()=>{s()};return s(),ne(p),b(!1),d(!1),C(L),g(!1),f.current=!1,v(!1),ke(),()=>{s()}},[p,M,ke,s,L,n]);let tt=o=>{var m;P(),(m=x.current)==null||m.call(x,se(o,te("wechat")))},nt=o=>{var m;if(V){if(s(),le){ne(!1),b(!0),d(!1),C(L),g(!1),f.current=!1,v(!1),ee.current=setTimeout(()=>{var H;f.current||(s(),b(!1),d(!1),C(0),g(!1),f.current=!1,v(!1),(H=h.current)==null||H.call(h,G(y({},te("custom")),{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})))},Ce(c));return}b(!1),d(!1),C(0),g(!1),f.current=!1,v(!1),(m=_.current)==null||m.call(_,{provider:"wechat",type:"splash",reason:"wechatAdLoadFail",error:o})}},rt=o=>{var fe;let m=o&&typeof o.detail=="object"?o.detail:{},H=G(y({},se(o,te("wechat"))),{errCode:"BI_SPLASH_WECHAT_AD_LOAD_FAIL",errMsg:String(m.errMsg||"\u5FAE\u4FE1\u5F00\u5C4F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25"),rawErrCode:m.errCode,rawErrMsg:m.errMsg});(fe=h.current)==null||fe.call(h,H),nt(H)},it=o=>{Q(se(o,te("wechat")))},We=()=>{var o;f.current||(ge(),f.current=!0,g(!0),P(),(o=x.current)==null||o.call(x,te("custom")))},st=(o,m)=>{var H;s(),b(!1),d(!1),C(0),g(!1),f.current=!1,v(!1),(H=h.current)==null||H.call(h,y(y({},se(o,te("custom"))),m))},Ve=o=>{st(o,{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_FAIL",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u5931\u8D25"})},at=()=>{var H;let o=V?"wechat":"custom",m=te(o);(H=ue.current)==null||H.call(ue,m),o==="custom"&&Ne({customAd:c,actionDetail:m,onOpenWebview:fe=>{var Be;(Be=me.current)==null||Be.call(me,fe)},onError:fe=>{var Be;(Be=h.current)==null||Be.call(h,fe)},miniProgramErrorCode:"BI_SPLASH_NAVIGATE_MINI_PROGRAM_FAIL",navigateErrorCode:"BI_SPLASH_NAVIGATE_FAIL"})},ot=()=>{Q({type:"splash",provider:V?"wechat":"custom"})},Le=V?k:null;return!z||!!!Le&&!le?null:(0,D.jsxs)(S.View,{className:Re,style:{zIndex:B},children:[Le?(0,D.jsx)(S.View,{className:"bi-splash-ad__popup",children:(0,D.jsx)(S.View,{className:`bi-splash-ad__media-wrapper${E?" bi-splash-ad__media-wrapper--pip":""}`,children:(0,D.jsx)(Le,{className:"bi-splash-ad__wechat-unit",unitId:e,onLoad:tt,onError:rt,onClose:it})})}):(0,D.jsx)(S.View,{className:"bi-splash-ad__popup",children:(0,D.jsxs)(S.View,{className:"bi-splash-ad__media-shell",onClick:at,children:[he?(0,D.jsx)(S.Image,{className:"bi-splash-ad__media bi-splash-ad__media--background",src:oe,mode:"aspectFill",onLoad:We,onError:Ve}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(S.Image,{className:"bi-splash-ad__media bi-splash-ad__media--background",src:Se,mode:"aspectFill"}),(0,D.jsx)(S.Video,{className:`bi-splash-ad__video${Me===1?" bi-splash-ad__video--landscape":""}`,src:oe,poster:Se,autoplay:!0,muted:(c==null?void 0:c.muted)!==!1,loop:!0,objectFit:"cover",showCenterPlayBtn:!1,showPlayBtn:!1,controls:!1,onLoadedMetaData:We,onError:Ve})]}),E?(0,D.jsx)(S.View,{className:"bi-splash-ad__pip-mask"}):null,E?null:(0,D.jsx)(S.View,{className:"bi-splash-ad__badge",style:Te,children:ve}),c&&(c.title||!E&&(c.description||c.buttonText))?(0,D.jsxs)(S.View,{className:"bi-splash-ad__content",style:_e,children:[c.title?(0,D.jsx)(S.Text,{className:"bi-splash-ad__title",children:c.title}):null,!E&&c.description?(0,D.jsx)(S.Text,{className:"bi-splash-ad__description",children:c.description}):null,!E&&c.buttonText?(0,D.jsx)(S.Button,{className:"bi-splash-ad__action",children:c.buttonText}):null]}):null]})}),E?(0,D.jsx)(S.View,{className:"bi-splash-ad__pip-close",onClick:ot,children:(0,D.jsx)(S.View,{className:"bi-splash-ad__pip-close-text",children:"\u5173\u95ED"})}):null,E?null:(0,D.jsxs)(S.View,{className:"bi-splash-ad__skip",style:be,onClick:ce,children:[(0,D.jsxs)(S.Text,{children:[ie,"s"]}),(0,D.jsx)(S.View,{className:"bi-splash-ad__skip-divider"}),(0,D.jsx)(S.Text,{className:"bi-splash-ad__skip-text",children:"\u8DF3\u8FC7"})]})]})};var w=require("react");var Ue=require("react/jsx-runtime"),Ze=["banner","splash"],et=({adId:e="",unitId:t,type:n="banner",customAd:B,adOptions:u=null,sdkKey:M="biNova",autoLoad:Y=!0,adIntervals:q=30,show:O=!0,zIndex:N=999,pictureInPicture:J=!1,checkNativeSplash:K=!0,jumpSeconds:R=5,className:W,onLoad:k,onError:p,onClose:z,onAction:b,onHide:V,onOpenWebview:ne,onConfigLoad:E,onConfigError:d})=>{let ie=(0,w.useRef)(0),C=(0,w.useRef)(""),F=(0,w.useRef)(k),g=(0,w.useRef)(p),Z=(0,w.useRef)(z),v=(0,w.useRef)(b),re=(0,w.useRef)(V),$=(0,w.useRef)(ne),ee=(0,w.useRef)(E),X=(0,w.useRef)(d),[ae,l]=(0,w.useState)(!1),[A,f]=(0,w.useState)(!1),[x,h]=(0,w.useState)(null);(0,w.useEffect)(()=>{F.current=k,g.current=p,Z.current=z,v.current=b,re.current=V,$.current=ne,ee.current=E,X.current=d},[b,z,d,E,p,V,k,ne]);let _=(0,w.useMemo)(()=>Ze.includes(n)?n:"banner",[n]),ue=()=>!!(Y&&e),pe=()=>{var Q;let r=globalThis.getApp,i=typeof r=="function"?r():null;if(!i)return null;let s=i;return s[M]||((Q=s.globalData)==null?void 0:Q[M])||null},me=()=>{var r;try{if(typeof wx!="undefined"&&typeof wx.getAccountInfoSync=="function"){let i=wx.getAccountInfoSync();return((r=i==null?void 0:i.miniProgram)==null?void 0:r.appId)||""}}catch(i){return""}return""},c=()=>{ie.current+=1,C.current="",l(!1),f(!1),h(null)},oe=()=>{let r=u&&typeof u=="object"?u:{},i=me();return G(y({},r),{adId:e,placementId:r.placementId||e,appId:r.appId||i,type:_})},Se=r=>{try{return JSON.stringify(r||{})}catch(i){return`${String(r.appId||"")}_${String(r.placementId||"")}`}},le=r=>{let i=(r==null?void 0:r.unitId)||"",s=(r==null?void 0:r.customAd)||(r==null?void 0:r.custom)||null,Q=typeof(r==null?void 0:r.show)=="boolean"?r.show:!!(i||s);return{unitId:i,customAd:s,show:Q}},he=r=>{var i,s;(i=X.current)==null||i.call(X,r),(s=g.current)==null||s.call(g,r)},Me=async()=>{var ce;if(!ue())return;let r=oe(),i=Se(r);if(C.current===i&&(ae||A))return;let s=pe();if(!(s!=null&&s.ads)||typeof s.ads.getDisplayAdConfig!="function"){c(),he({type:_,adId:e,errCode:"DISPLAY_AD_SDK_NOT_READY",errMsg:"\u672A\u83B7\u53D6\u5230\u53EF\u7528\u7684\u5E7F\u544A\u670D\u52A1 SDK\uFF0C\u8BF7\u5148\u6CE8\u5165\u5168\u5C40 biNova \u5B9E\u4F8B"});return}let Q=ie.current+1;ie.current=Q,C.current=i,l(!0),f(!1),h(null);try{let P=await s.ads.getDisplayAdConfig(r);if(Q!==ie.current)return;if(!P||P.code!==0||!P.data){l(!1),f(!0),h(null),he({type:_,adId:e,errCode:"DISPLAY_AD_REMOTE_CONFIG_FAIL",errMsg:(P==null?void 0:P.message)||"\u83B7\u53D6\u5C55\u793A\u5E7F\u544A\u914D\u7F6E\u5931\u8D25",rawResult:P||null});return}l(!1),f(!0),h(P.data),(ce=ee.current)==null||ce.call(ee,{type:_,adId:e,requestOptions:r,data:P.data})}catch(P){if(Q!==ie.current)return;l(!1),f(!0),h(null),he({type:_,adId:e,errCode:"DISPLAY_AD_REMOTE_CONFIG_EXCEPTION",errMsg:P instanceof Error?P.message:"\u83B7\u53D6\u5C55\u793A\u5E7F\u544A\u914D\u7F6E\u5F02\u5E38",error:P})}};(0,w.useEffect)(()=>{var r;Ze.includes(n)||(r=g.current)==null||r.call(g,{type:"banner",errCode:"UNSUPPORTED_DISPLAY_AD_TYPE",errMsg:`\u4E0D\u652F\u6301\u7684\u5C55\u793A\u5E7F\u544A\u7C7B\u578B\uFF1A${n}\uFF0C\u8BF7\u4F7F\u7528 "banner" \u6216 "splash"`})},[n]),(0,w.useEffect)(()=>{if(!e){c();return}Me()},[e,u,Y,_,M]);let ve=ue(),L=ve?le(x):null,be=L?L.unitId:t||"",_e=L?L.customAd:B||null,Te=!!(O&&(!ve||!e||A&&(L!=null&&L.show))),Re=!!K,te=e||(x==null?void 0:x.adId)||"",I=r=>y({adId:te},r);return _==="splash"?(0,Ue.jsx)(Pe,y({},{unitId:be,customAd:_e,show:Te,zIndex:N,pictureInPicture:J,checkNativeSplash:Re,jumpSeconds:R,className:W,onLoad:i=>{var s;(s=F.current)==null||s.call(F,I(i))},onError:i=>{var s;(s=g.current)==null||s.call(g,I(i))},onClose:i=>{var s;(s=Z.current)==null||s.call(Z,I(i))},onAction:i=>{var s;(s=v.current)==null||s.call(v,I(i))},onHide:i=>{var s;(s=re.current)==null||s.call(re,I(i))},onOpenWebview:i=>{var s;(s=$.current)==null||s.call($,I(i))}})):Te?(0,Ue.jsx)(xe,y({},{unitId:be,customAd:_e,adIntervals:q,className:W,onLoad:r=>{var i;(i=F.current)==null||i.call(F,I(r))},onError:r=>{var i;(i=g.current)==null||i.call(g,I(r))},onClose:r=>{var i;(i=Z.current)==null||i.call(Z,I(r))},onAction:r=>{var i;(i=v.current)==null||i.call(v,I(r))},onOpenWebview:r=>{var i;(i=$.current)==null||i.call($,I(r))}})):null};0&&(module.exports={BiBannerAd,BiDisplayAd,BiSplashAd});
|
package/dist/ad/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var Bt=Object.defineProperty,yt=Object.defineProperties;var Dt=Object.getOwnPropertyDescriptors;var Ke=Object.getOwnPropertySymbols;var Ct=Object.prototype.hasOwnProperty,St=Object.prototype.propertyIsEnumerable;var ze=(e,i,n)=>i in e?Bt(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n,m=(e,i)=>{for(var n in i||(i={}))Ct.call(i,n)&&ze(e,n,i[n]);if(Ke)for(var n of Ke(i))St.call(i,n)&&ze(e,n,i[n]);return e},W=(e,i)=>yt(e,Dt(i));import"./banner/index.scss";import"./splash/index.scss";import{useCallback as it,useEffect as st,useMemo as at,useRef as Ve,useState as It}from"react";import{View as he,Image as Nt,Button as ot,Text as We}from"@tarojs/components";import*as vt from"@tarojs/components";var Se;function xe(){if(Se!==void 0)return Se;try{let e=vt;Se=(e==null?void 0:e.AdCustom)||null}catch(e){Se=null}return Se}import*as de from"@tarojs/taro";function Ee(){return typeof wx!="undefined"?wx:null}function ee(e,i){let n=e==null?void 0:e.detail;return n&&typeof n=="object"?m(m({},i),n):e&&typeof e=="object"?m(m({},i),e):m({},i)}function Xe(e){return e&&(e.image||e.video)||""}function Qe(e,i=""){return e&&(e.poster||e.image||i)||""}function Ze(e,i=""){return e?e.video?!1:e.image?!0:/\.(jpg|jpeg|png|gif|bmp|webp|svg|ico)$/i.test(String(i).trim()):!0}function et(e){if(!e)return 2;let i=Number(e.adSpec||e.spec||0);if(i===1||i===2)return i;let n=Number(e.videoWidth||e.width||0),g=Number(e.videoHeight||e.height||0);return n>0&&g>0?n>g?1:2:e.video?1:2}function Pe(e){return e&&(e.badgeText||e.adLabel)||"\u5E7F\u544A"}function tt(e,i=5){let n=e==null?void 0:e.jumpSeconds,g=n!=null?n:i;return Math.min(99,Math.max(0,Number(g)||0))}function ve(e){var n;let i=(n=e==null?void 0:e.loadTimeout)!=null?n:e==null?void 0:e.timeout;return Math.max(1e3,Number(i)||5e3)}function bt(e){return e?e.appId||e.miniProgramAppId||e.jumpAppId?"miniProgram":e.path||e.pagePath||e.jumpPath||e.targetUrl?"internal":e.url||e.webUrl||e.h5Url?"web":"none":"none"}function _t(e){return e&&(e.appId||e.miniProgramAppId||e.jumpAppId)||""}function Tt(e){return e&&(e.path||e.pagePath||e.jumpPath||e.targetUrl)||""}function wt(e){return e&&(e.url||e.webUrl||e.h5Url)||""}function Me(e){let{customAd:i,actionDetail:n,onOpenWebview:g,onError:c,miniProgramErrorCode:d,navigateErrorCode:x,miniProgramUnsupportedErrorCode:$}=e;if(!i)return;let R=bt(i),_=_t(i),j=Tt(i),H=wt(i);if(R==="miniProgram"&&_){let I=Ee();if(!I||typeof I.navigateToMiniProgram!="function"){c==null||c(W(m({},n),{errCode:$||d,errMsg:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u8DF3\u8F6C\u5230\u5176\u4ED6\u5C0F\u7A0B\u5E8F"}));return}I.navigateToMiniProgram({appId:_,path:j||"",fail:k=>{c==null||c(W(m({},n),{errCode:d,errMsg:(k==null?void 0:k.errMsg)||"\u8DF3\u8F6C\u5230\u5176\u4ED6\u5C0F\u7A0B\u5E8F\u5931\u8D25"}))}});return}if(R==="internal"&&j){de.navigateTo({url:j,fail:I=>{c==null||c(W(m({},n),{errCode:x,errMsg:(I==null?void 0:I.errMsg)||"\u9875\u9762\u8DF3\u8F6C\u5931\u8D25"}))}});return}R==="web"&&H&&(g==null||g(W(m({},n),{url:H})))}function nt(){let e=Ee(),i=e&&typeof e.getMenuButtonBoundingClientRect=="function"?e.getMenuButtonBoundingClientRect():{},n=e&&typeof e.getWindowInfo=="function"?e.getWindowInfo():typeof de.getSystemInfoSync=="function"?de.getSystemInfoSync():{},g=n.windowHeight===n.screenHeight,c=16,d=16,x=16,$=32,R=g&&i.top?i.top:c,_=g&&i.height?i.height:$;return{top:`${R}px`,width:"156rpx",height:`${_}px`,lineHeight:`${_}px`,borderRadius:`${Math.round(_/2)}px`,left:g?`${x}px`:void 0,right:g?void 0:`${d}px`}}function rt(){var c;let e=typeof de.getSystemInfoSync=="function"?de.getSystemInfoSync():{},i=Math.max(0,Number(e.screenHeight||0)-Number(((c=e.safeArea)==null?void 0:c.bottom)||e.windowHeight||0)),n=i>0?i+42:84,g=i>0?i+88:130;return{contentStyle:{bottom:`${n}rpx`},badgeStyle:{bottom:`${g}rpx`}}}import{jsx as oe,jsxs as be}from"react/jsx-runtime";var Fe=({unitId:e="",customAd:i,adIntervals:n=30,className:g,onLoad:c,onError:d,onClose:x,onAction:$,onOpenWebview:R})=>{let _=at(()=>xe(),[]),j=!!(e&&_),H=Ve(null),I=Ve(!1),k=Ve(!1),[X,C]=It(!1),A=i||null,S=at(()=>`bi-banner-ad${g?` ${g}`:""}`,[g]),v=o=>({provider:o,type:"banner"}),E=it(()=>{H.current&&(clearTimeout(H.current),H.current=null)},[]),y=it((o,B)=>{k.current||(k.current=!0,E(),C(!0),d==null||d(m(m({},ee(o,v("custom"))),B)))},[E,d]);st(()=>{if(E(),I.current=!1,k.current=!1,C(!1),!(j||!(A!=null&&A.image)))return H.current=setTimeout(()=>{y(void 0,{errCode:"BI_BANNER_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"Banner \u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})},ve(A)),()=>{E()}},[E,A,j,y]),st(()=>{!e||_||d==null||d(W(m({},v("wechat")),{errCode:"BI_BANNER_NATIVE_AD_UNSUPPORTED",errMsg:"\u5F53\u524D\u7AEF\u4E0D\u652F\u6301\u5FAE\u4FE1\u539F\u751F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7EC4\u4EF6"}))},[_,d,e]);let N=o=>{c==null||c(ee(o,v("wechat")))},re=o=>{d==null||d(ee(o,v("wechat")))},T=o=>{x==null||x(ee(o,v("wechat")))},Q=()=>{I.current||k.current||(E(),I.current=!0,c==null||c(v("custom")))},p=o=>{y(o,{errCode:"BI_BANNER_CUSTOM_MEDIA_LOAD_FAIL",errMsg:"Banner \u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u5931\u8D25"})},G=o=>{var Y;(Y=o==null?void 0:o.stopPropagation)==null||Y.call(o);let B=v("custom");$==null||$(B),Me({customAd:A,actionDetail:B,onOpenWebview:O=>{R==null||R(O)},onError:O=>{d==null||d(O)},miniProgramErrorCode:"BI_BANNER_NAVIGATE_MINI_PROGRAM_FAIL",navigateErrorCode:"BI_BANNER_NAVIGATE_FAIL"})},h=o=>{var B;(B=o==null?void 0:o.stopPropagation)==null||B.call(o),x==null||x(v("custom"))};return j&&_?oe(_,{className:S,unitId:e,adIntervals:n,onLoad:N,onError:re,onClose:T}):!A||!A.image||X?null:be(he,{className:S,children:[be(he,{className:"bi-banner-ad__surface",onClick:G,children:[be(he,{className:"bi-banner-ad__media",children:[oe(We,{className:"bi-banner-ad__badge bi-banner-ad__badge--overlay",children:Pe(A)}),oe(Nt,{className:"bi-banner-ad__image",src:A.image||"",mode:"aspectFill",onLoad:Q,onError:p})]}),be(he,{className:"bi-banner-ad__content",children:[oe(he,{className:"bi-banner-ad__body",children:A.title?oe(We,{className:"bi-banner-ad__title",children:A.title}):null}),be(he,{className:"bi-banner-ad__footer",children:[A.description?oe(We,{className:"bi-banner-ad__description",children:A.description}):null,oe(ot,{className:"bi-banner-ad__button",onClick:G,children:A.buttonText||"\u7ACB\u5373\u67E5\u770B"})]})]})]}),oe(ot,{className:"bi-banner-ad__close",onClick:h,children:"\xD7"})]})};import{useCallback as z,useEffect as $e,useMemo as te,useRef as F,useState as Ae}from"react";import{View as K,Image as lt,Video as xt,Button as Et,Text as Re}from"@tarojs/components";import{Fragment as Pt,jsx as M,jsxs as Be}from"react/jsx-runtime";var je=({unitId:e="",customAd:i,show:n=!0,zIndex:g=999,pictureInPicture:c=!1,checkNativeSplash:d=!0,jumpSeconds:x=5,className:$,onLoad:R,onError:_,onClose:j,onAction:H,onHide:I,onOpenWebview:k})=>{let X=te(()=>xe(),[]),C=!!(e&&X),[A,S]=Ae(!1),[v,E]=Ae(C),[y,N]=Ae(!1),[re,T]=Ae(0),[Q,p]=Ae(!1),[G,h]=Ae(!1),o=F(null),B=F(null),Y=F(null),O=F(null),le=F(null),ie=F(0),Z=F(!1),D=F(!1),U=F(R),f=F(_),L=F(j),ue=F(H),pe=F(I),me=F(k),l=i||null,se=te(()=>Xe(l),[l]),_e=te(()=>Qe(l,se),[l,se]),ae=!!se,ye=te(()=>Ze(l,se),[l,se]),ke=te(()=>et(l),[l]),Te=te(()=>Pe(l),[l]),P=te(()=>tt(l,x),[l,x]),we=te(()=>nt(),[]),{contentStyle:Ie,badgeStyle:Ne}=te(()=>rt(),[]),Ue=te(()=>{let a=["bi-splash-ad"];return y&&a.push("bi-splash-ad--pip"),G&&a.push("bi-splash-ad--pip-animating"),$&&a.push($),a.join(" ")},[$,G,y]);$e(()=>{U.current=R,f.current=_,L.current=j,ue.current=H,pe.current=I,me.current=k},[H,j,_,I,R,k]);let J=a=>({provider:a,type:"splash"});$e(()=>{var a;!n||!e||X||(a=f.current)==null||a.call(f,W(m({},J("wechat")),{errCode:"BI_SPLASH_NATIVE_AD_UNSUPPORTED",errMsg:"\u5F53\u524D\u7AEF\u4E0D\u652F\u6301\u5FAE\u4FE1\u539F\u751F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7EC4\u4EF6"}))},[X,n,e]);let b=z(()=>{o.current&&(clearInterval(o.current),o.current=null),B.current&&(clearTimeout(B.current),B.current=null)},[]),fe=z(()=>{Y.current&&(clearTimeout(Y.current),Y.current=null)},[]),t=z(()=>{O.current&&(clearTimeout(O.current),O.current=null)},[]),r=z(()=>{le.current&&(clearTimeout(le.current),le.current=null)},[]),s=z(()=>{b(),fe(),t(),r()},[b,fe,r,t]),q=z(a=>{var u;s(),S(!1),N(!1),T(0),p(!1),D.current=!1,h(!1),(u=L.current)==null||u.call(L,a)},[s]),ce=z(()=>{let a=v?"wechat":"custom";if(c){b(),fe(),r(),h(!0),le.current=setTimeout(()=>{var u;le.current=null,N(!0),h(!1),(u=pe.current)==null||u.call(pe,J(a))},280);return}q({type:"splash",provider:a})},[b,fe,r,q,v,c]),w=z(()=>{if(b(),P<=0){ce();return}T(P),o.current=setInterval(()=>{T(a=>a<=1?(b(),B.current=setTimeout(()=>{B.current=null,ce()},0),0):a-1)},1e3)},[b,P,ce]),Ye=z(a=>{!n||!C||!a||y||w()},[C,n,y,w]),De=z(()=>{let a=!!(!Z.current&&(C||ae));s(),E(C),S(a),N(!1),T(P),p(!1),D.current=!1,h(!1),Ye(a),a&&!C&&ae&&(Y.current=setTimeout(()=>{var u;D.current||(s(),S(!1),N(!1),T(0),p(!1),D.current=!1,h(!1),(u=f.current)==null||u.call(f,W(m({},J("custom")),{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})))},ve(l)))},[C,s,P,ae,l,Ye]),Le=z(()=>{if(!n)return;if(!d){Z.current=!1,De();return}if(Z.current){S(!1);return}let a=Ee();if(!a||typeof a.getShowSplashAdStatus!="function"||ie.current>=3){De();return}a.getShowSplashAdStatus({success:u=>{var V;if((u==null?void 0:u.code)===-1){ie.current+=1,t(),O.current=setTimeout(()=>{O.current=null,Le()},300);return}if((u==null?void 0:u.code)===1){s(),S(!1),Z.current=!0,(V=U.current)==null||V.call(U,{provider:"wechat",type:"splash",nativeSplash:!0});return}De()},fail:()=>{De()}})},[C,d,s,t,ae,De,n]);$e(()=>{if(!n){s(),S(!1),E(C),N(!1),T(0),p(!1),D.current=!1,h(!1),Z.current=!1;return}if(ie.current=0,!d)Z.current=!1;else if(Z.current)return s(),E(C),S(!1),N(!1),T(0),p(!1),D.current=!1,h(!1),()=>{s()};return s(),E(C),S(!1),N(!1),T(P),p(!1),D.current=!1,h(!1),Le(),()=>{s()}},[C,d,Le,s,P,n]);let dt=a=>{var u;w(),(u=U.current)==null||u.call(U,ee(a,J("wechat")))},pt=a=>{var u;if(v){if(s(),ae){E(!1),S(!0),N(!1),T(P),p(!1),D.current=!1,h(!1),Y.current=setTimeout(()=>{var V;D.current||(s(),S(!1),N(!1),T(0),p(!1),D.current=!1,h(!1),(V=f.current)==null||V.call(f,W(m({},J("custom")),{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})))},ve(l));return}S(!1),N(!1),T(0),p(!1),D.current=!1,h(!1),(u=L.current)==null||u.call(L,{provider:"wechat",type:"splash",reason:"wechatAdLoadFail",error:a})}},mt=a=>{var ge;let u=a&&typeof a.detail=="object"?a.detail:{},V=W(m({},ee(a,J("wechat"))),{errCode:"BI_SPLASH_WECHAT_AD_LOAD_FAIL",errMsg:String(u.errMsg||"\u5FAE\u4FE1\u5F00\u5C4F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25"),rawErrCode:u.errCode,rawErrMsg:u.errMsg});(ge=f.current)==null||ge.call(f,V),pt(V)},ft=a=>{q(ee(a,J("wechat")))},qe=()=>{var a;D.current||(fe(),D.current=!0,p(!0),w(),(a=U.current)==null||a.call(U,J("custom")))},gt=(a,u)=>{var V;s(),S(!1),N(!1),T(0),p(!1),D.current=!1,h(!1),(V=f.current)==null||V.call(f,m(m({},ee(a,J("custom"))),u))},Je=a=>{gt(a,{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_FAIL",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u5931\u8D25"})},ht=()=>{var V;let a=v?"wechat":"custom",u=J(a);(V=ue.current)==null||V.call(ue,u),a==="custom"&&Me({customAd:l,actionDetail:u,onOpenWebview:ge=>{var Ce;(Ce=me.current)==null||Ce.call(me,ge)},onError:ge=>{var Ce;(Ce=f.current)==null||Ce.call(f,ge)},miniProgramErrorCode:"BI_SPLASH_NAVIGATE_MINI_PROGRAM_FAIL",navigateErrorCode:"BI_SPLASH_NAVIGATE_FAIL"})},At=()=>{q({type:"splash",provider:v?"wechat":"custom"})},Oe=v?X:null;return!A||!!!Oe&&!ae?null:Be(K,{className:Ue,style:{zIndex:g},children:[Oe?M(K,{className:"bi-splash-ad__popup",children:M(K,{className:`bi-splash-ad__media-wrapper${y?" bi-splash-ad__media-wrapper--pip":""}`,children:M(Oe,{className:"bi-splash-ad__wechat-unit",unitId:e,onLoad:dt,onError:mt,onClose:ft})})}):M(K,{className:"bi-splash-ad__popup",children:Be(K,{className:"bi-splash-ad__media-shell",onClick:ht,children:[ye?M(lt,{className:"bi-splash-ad__media bi-splash-ad__media--background",src:se,mode:"aspectFill",onLoad:qe,onError:Je}):Be(Pt,{children:[M(lt,{className:"bi-splash-ad__media bi-splash-ad__media--background",src:_e,mode:"aspectFill"}),M(xt,{className:`bi-splash-ad__video${ke===1?" bi-splash-ad__video--landscape":""}`,src:se,poster:_e,autoplay:!0,muted:(l==null?void 0:l.muted)!==!1,loop:!0,objectFit:"cover",showCenterPlayBtn:!1,showPlayBtn:!1,controls:!1,onLoadedMetaData:qe,onError:Je})]}),y?M(K,{className:"bi-splash-ad__pip-mask"}):null,y?null:M(K,{className:"bi-splash-ad__badge",style:Ne,children:Te}),l&&(l.title||!y&&(l.description||l.buttonText))?Be(K,{className:"bi-splash-ad__content",style:Ie,children:[l.title?M(Re,{className:"bi-splash-ad__title",children:l.title}):null,!y&&l.description?M(Re,{className:"bi-splash-ad__description",children:l.description}):null,!y&&l.buttonText?M(Et,{className:"bi-splash-ad__action",children:l.buttonText}):null]}):null]})}),y?M(K,{className:"bi-splash-ad__pip-close",onClick:At,children:M(K,{className:"bi-splash-ad__pip-close-text",children:"\u5173\u95ED"})}):null,y?null:Be(K,{className:"bi-splash-ad__skip",style:we,onClick:ce,children:[Be(Re,{children:[re,"s"]}),M(K,{className:"bi-splash-ad__skip-divider"}),M(Re,{className:"bi-splash-ad__skip-text",children:"\u8DF3\u8FC7"})]})]})};import{useEffect as He,useMemo as Mt,useRef as ne,useState as Ge}from"react";import{jsx as ct}from"react/jsx-runtime";var ut=["banner","splash"],Rt=({adId:e="",unitId:i,type:n="banner",customAd:g,adOptions:c=null,sdkKey:d="biNova",autoLoad:x=!0,adIntervals:$=30,show:R=!0,zIndex:_=999,pictureInPicture:j=!1,checkNativeSplash:H=!0,jumpSeconds:I=5,className:k,onLoad:X,onError:C,onClose:A,onAction:S,onHide:v,onOpenWebview:E,onConfigLoad:y,onConfigError:N})=>{let re=ne(0),T=ne(""),Q=ne(X),p=ne(C),G=ne(A),h=ne(S),o=ne(v),B=ne(E),Y=ne(y),O=ne(N),[le,ie]=Ge(!1),[Z,D]=Ge(!1),[U,f]=Ge(null);He(()=>{Q.current=X,p.current=C,G.current=A,h.current=S,o.current=v,B.current=E,Y.current=y,O.current=N},[S,A,N,y,C,v,X,E]);let L=Mt(()=>ut.includes(n)?n:"banner",[n]),ue=()=>!!(x&&e),pe=()=>{var q;let t=globalThis.getApp,r=typeof t=="function"?t():null;if(!r)return null;let s=r;return s[d]||((q=s.globalData)==null?void 0:q[d])||null},me=()=>{var t;try{if(typeof wx!="undefined"&&typeof wx.getAccountInfoSync=="function"){let r=wx.getAccountInfoSync();return((t=r==null?void 0:r.miniProgram)==null?void 0:t.appId)||""}}catch(r){return""}return""},l=()=>{re.current+=1,T.current="",ie(!1),D(!1),f(null)},se=()=>{let t=c&&typeof c=="object"?c:{},r=me();return W(m({},t),{adId:e,placementId:t.placementId||e,appId:t.appId||r,type:L})},_e=t=>{try{return JSON.stringify(t||{})}catch(r){return`${String(t.appId||"")}_${String(t.placementId||"")}`}},ae=t=>{let r=(t==null?void 0:t.unitId)||"",s=(t==null?void 0:t.customAd)||(t==null?void 0:t.custom)||null,q=typeof(t==null?void 0:t.show)=="boolean"?t.show:!!(r||s);return{unitId:r,customAd:s,show:q}},ye=t=>{var r,s;(r=O.current)==null||r.call(O,t),(s=p.current)==null||s.call(p,t)},ke=async()=>{var ce;if(!ue())return;let t=se(),r=_e(t);if(T.current===r&&(le||Z))return;let s=pe();if(!(s!=null&&s.ads)||typeof s.ads.getDisplayAdConfig!="function"){l(),ye({type:L,adId:e,errCode:"DISPLAY_AD_SDK_NOT_READY",errMsg:"\u672A\u83B7\u53D6\u5230\u53EF\u7528\u7684\u5E7F\u544A\u670D\u52A1 SDK\uFF0C\u8BF7\u5148\u6CE8\u5165\u5168\u5C40 biNova \u5B9E\u4F8B"});return}let q=re.current+1;re.current=q,T.current=r,ie(!0),D(!1),f(null);try{let w=await s.ads.getDisplayAdConfig(t);if(q!==re.current)return;if(!w||w.code!==0||!w.data){ie(!1),D(!0),f(null),ye({type:L,adId:e,errCode:"DISPLAY_AD_REMOTE_CONFIG_FAIL",errMsg:(w==null?void 0:w.message)||"\u83B7\u53D6\u5C55\u793A\u5E7F\u544A\u914D\u7F6E\u5931\u8D25",rawResult:w||null});return}ie(!1),D(!0),f(w.data),(ce=Y.current)==null||ce.call(Y,{type:L,adId:e,requestOptions:t,data:w.data})}catch(w){if(q!==re.current)return;ie(!1),D(!0),f(null),ye({type:L,adId:e,errCode:"DISPLAY_AD_REMOTE_CONFIG_EXCEPTION",errMsg:w instanceof Error?w.message:"\u83B7\u53D6\u5C55\u793A\u5E7F\u544A\u914D\u7F6E\u5F02\u5E38",error:w})}};He(()=>{var t;ut.includes(n)||(t=p.current)==null||t.call(p,{type:"banner",errCode:"UNSUPPORTED_DISPLAY_AD_TYPE",errMsg:`\u4E0D\u652F\u6301\u7684\u5C55\u793A\u5E7F\u544A\u7C7B\u578B\uFF1A${n}\uFF0C\u8BF7\u4F7F\u7528 "banner" \u6216 "splash"`})},[n]),He(()=>{if(!e){l();return}ke()},[e,c,x,L,d]);let Te=ue(),P=Te?ae(U):null,we=P?P.unitId:i||"",Ie=P?P.customAd:g||null,Ne=!!(R&&(!Te||!e||Z&&(P!=null&&P.show))),Ue=!!H,J=e||(U==null?void 0:U.adId)||"",b=t=>m({adId:J},t);return L==="splash"?ct(je,m({},{unitId:we,customAd:Ie,show:Ne,zIndex:_,pictureInPicture:j,checkNativeSplash:Ue,jumpSeconds:I,className:k,onLoad:r=>{var s;(s=Q.current)==null||s.call(Q,b(r))},onError:r=>{var s;(s=p.current)==null||s.call(p,b(r))},onClose:r=>{var s;(s=G.current)==null||s.call(G,b(r))},onAction:r=>{var s;(s=h.current)==null||s.call(h,b(r))},onHide:r=>{var s;(s=o.current)==null||s.call(o,b(r))},onOpenWebview:r=>{var s;(s=B.current)==null||s.call(B,b(r))}})):Ne?ct(Fe,m({},{unitId:we,customAd:Ie,adIntervals:$,className:k,onLoad:t=>{var r;(r=Q.current)==null||r.call(Q,b(t))},onError:t=>{var r;(r=p.current)==null||r.call(p,b(t))},onClose:t=>{var r;(r=G.current)==null||r.call(G,b(t))},onAction:t=>{var r;(r=h.current)==null||r.call(h,b(t))},onOpenWebview:t=>{var r;(r=B.current)==null||r.call(B,b(t))}})):null};export{Fe as BiBannerAd,Rt as BiDisplayAd,je as BiSplashAd};
|
|
1
|
+
var Bt=Object.defineProperty,yt=Object.defineProperties;var Dt=Object.getOwnPropertyDescriptors;var ze=Object.getOwnPropertySymbols;var Ct=Object.prototype.hasOwnProperty,St=Object.prototype.propertyIsEnumerable;var Xe=(e,i,n)=>i in e?Bt(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n,A=(e,i)=>{for(var n in i||(i={}))Ct.call(i,n)&&Xe(e,n,i[n]);if(ze)for(var n of ze(i))St.call(i,n)&&Xe(e,n,i[n]);return e},W=(e,i)=>yt(e,Dt(i));import"./banner/index.scss";import"./splash/index.scss";import{useCallback as st,useEffect as Ve,useMemo as at,useRef as le,useState as Et}from"react";import{View as Ae,Image as It,Button as ot,Text as Fe}from"@tarojs/components";import*as vt from"@tarojs/components";var ve;function xe(){if(ve!==void 0)return ve;try{let e=vt;ve=(e==null?void 0:e.AdCustom)||null}catch(e){ve=null}return ve}import*as pe from"@tarojs/taro";function Pe(){return typeof wx!="undefined"?wx:null}function ne(e,i){let n=e==null?void 0:e.detail;return n&&typeof n=="object"?A(A({},i),n):e&&typeof e=="object"?A(A({},i),e):A({},i)}function Qe(e){return e&&(e.image||e.video)||""}function Ze(e,i=""){return e&&(e.poster||e.image||i)||""}function et(e,i=""){return e?e.video?!1:e.image?!0:/\.(jpg|jpeg|png|gif|bmp|webp|svg|ico)$/i.test(String(i).trim()):!0}function tt(e){if(!e)return 2;let i=Number(e.adSpec||e.spec||0);if(i===1||i===2)return i;let n=Number(e.videoWidth||e.width||0),y=Number(e.videoHeight||e.height||0);return n>0&&y>0?n>y?1:2:e.video?1:2}function Me(e){return e&&(e.badgeText||e.adLabel)||"\u5E7F\u544A"}function nt(e,i=5){let n=e==null?void 0:e.jumpSeconds,y=n!=null?n:i;return Math.min(99,Math.max(0,Number(y)||0))}function be(e){var n;let i=(n=e==null?void 0:e.loadTimeout)!=null?n:e==null?void 0:e.timeout;return Math.max(1e3,Number(i)||5e3)}function bt(e){return e?e.appId||e.miniProgramAppId||e.jumpAppId?"miniProgram":e.path||e.pagePath||e.jumpPath||e.targetUrl?"internal":e.url||e.webUrl||e.h5Url?"web":"none":"none"}function _t(e){return e&&(e.appId||e.miniProgramAppId||e.jumpAppId)||""}function Tt(e){return e&&(e.path||e.pagePath||e.jumpPath||e.targetUrl)||""}function wt(e){return e&&(e.url||e.webUrl||e.h5Url)||""}function Re(e){let{customAd:i,actionDetail:n,onOpenWebview:y,onError:h,miniProgramErrorCode:E,navigateErrorCode:F,miniProgramUnsupportedErrorCode:$}=e;if(!i)return;let M=bt(i),_=_t(i),j=Tt(i),H=wt(i);if(M==="miniProgram"&&_){let I=Pe();if(!I||typeof I.navigateToMiniProgram!="function"){h==null||h(W(A({},n),{errCode:$||E,errMsg:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u8DF3\u8F6C\u5230\u5176\u4ED6\u5C0F\u7A0B\u5E8F"}));return}I.navigateToMiniProgram({appId:_,path:j||"",fail:R=>{h==null||h(W(A({},n),{errCode:E,errMsg:(R==null?void 0:R.errMsg)||"\u8DF3\u8F6C\u5230\u5176\u4ED6\u5C0F\u7A0B\u5E8F\u5931\u8D25"}))}});return}if(M==="internal"&&j){pe.navigateTo({url:j,fail:I=>{h==null||h(W(A({},n),{errCode:F,errMsg:(I==null?void 0:I.errMsg)||"\u9875\u9762\u8DF3\u8F6C\u5931\u8D25"}))}});return}M==="web"&&H&&(y==null||y(W(A({},n),{url:H})))}function rt(){let e=Pe(),i=e&&typeof e.getMenuButtonBoundingClientRect=="function"?e.getMenuButtonBoundingClientRect():{},n=e&&typeof e.getWindowInfo=="function"?e.getWindowInfo():typeof pe.getSystemInfoSync=="function"?pe.getSystemInfoSync():{},y=n.windowHeight===n.screenHeight,h=16,E=16,F=16,$=32,M=y&&i.top?i.top:h,_=y&&i.height?i.height:$;return{top:`${M}px`,width:"156rpx",height:`${_}px`,lineHeight:`${_}px`,borderRadius:`${Math.round(_/2)}px`,left:y?`${F}px`:void 0,right:y?void 0:`${E}px`}}function it(){var h;let e=typeof pe.getSystemInfoSync=="function"?pe.getSystemInfoSync():{},i=Math.max(0,Number(e.screenHeight||0)-Number(((h=e.safeArea)==null?void 0:h.bottom)||e.windowHeight||0)),n=i>0?i+42:84,y=i>0?i+88:130;return{contentStyle:{bottom:`${n}rpx`},badgeStyle:{bottom:`${y}rpx`}}}import{jsx as ue,jsxs as _e}from"react/jsx-runtime";var $e=({unitId:e="",customAd:i,adIntervals:n=30,className:y,onLoad:h,onError:E,onClose:F,onAction:$,onOpenWebview:M})=>{let _=at(()=>xe(),[]),j=!!(e&&_),H=le(null),I=le(!1),R=le(!1),N=le(h),c=le(E),G=le(F),C=le($),k=le(M),[Q,v]=Et(!1),u=i||null,te=at(()=>`bi-banner-ad${y?` ${y}`:""}`,[y]);Ve(()=>{N.current=h,c.current=E,G.current=F,C.current=$,k.current=M},[$,F,E,h,M]);let B=o=>({provider:o,type:"banner"}),L=st(()=>{H.current&&(clearTimeout(H.current),H.current=null)},[]),p=st((o,f)=>{var m;R.current||(R.current=!0,L(),v(!0),(m=c.current)==null||m.call(c,A(A({},ne(o,B("custom"))),f)))},[L]);Ve(()=>{if(L(),I.current=!1,R.current=!1,v(!1),!(j||!(u!=null&&u.image)))return H.current=setTimeout(()=>{p(void 0,{errCode:"BI_BANNER_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"Banner \u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})},be(u)),()=>{L()}},[L,u,j,p]),Ve(()=>{var o;!e||_||(o=c.current)==null||o.call(c,W(A({},B("wechat")),{errCode:"BI_BANNER_NATIVE_AD_UNSUPPORTED",errMsg:"\u5F53\u524D\u7AEF\u4E0D\u652F\u6301\u5FAE\u4FE1\u539F\u751F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7EC4\u4EF6"}))},[_,e]);let J=o=>{var f;(f=N.current)==null||f.call(N,ne(o,B("wechat")))},D=o=>{var f;(f=c.current)==null||f.call(c,ne(o,B("wechat")))},Z=o=>{var f;(f=G.current)==null||f.call(G,ne(o,B("wechat")))},U=()=>{var o;I.current||R.current||(L(),I.current=!0,(o=N.current)==null||o.call(N,B("custom")))},K=o=>{p(o,{errCode:"BI_BANNER_CUSTOM_MEDIA_LOAD_FAIL",errMsg:"Banner \u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u5931\u8D25"})},Y=o=>{var m,T;(m=o==null?void 0:o.stopPropagation)==null||m.call(o);let f=B("custom");(T=C.current)==null||T.call(C,f),Re({customAd:u,actionDetail:f,onOpenWebview:g=>{var S;(S=k.current)==null||S.call(k,g)},onError:g=>{var S;(S=c.current)==null||S.call(c,g)},miniProgramErrorCode:"BI_BANNER_NAVIGATE_MINI_PROGRAM_FAIL",navigateErrorCode:"BI_BANNER_NAVIGATE_FAIL"})},se=o=>{var f,m;(f=o==null?void 0:o.stopPropagation)==null||f.call(o),(m=G.current)==null||m.call(G,B("custom"))};return j&&_?ue(_,{className:te,unitId:e,adIntervals:n,onLoad:J,onError:D,onClose:Z}):!u||!u.image||Q?null:_e(Ae,{className:te,children:[_e(Ae,{className:"bi-banner-ad__surface",onClick:Y,children:[_e(Ae,{className:"bi-banner-ad__media",children:[ue(Fe,{className:"bi-banner-ad__badge bi-banner-ad__badge--overlay",children:Me(u)}),ue(It,{className:"bi-banner-ad__image",src:u.image||"",mode:"aspectFill",onLoad:U,onError:K})]}),_e(Ae,{className:"bi-banner-ad__content",children:[ue(Ae,{className:"bi-banner-ad__body",children:u.title?ue(Fe,{className:"bi-banner-ad__title",children:u.title}):null}),_e(Ae,{className:"bi-banner-ad__footer",children:[u.description?ue(Fe,{className:"bi-banner-ad__description",children:u.description}):null,ue(ot,{className:"bi-banner-ad__button",onClick:Y,children:u.buttonText||"\u7ACB\u5373\u67E5\u770B"})]})]})]}),ue(ot,{className:"bi-banner-ad__close",onClick:se,children:"\xD7"})]})};import{useCallback as ee,useEffect as je,useMemo as re,useRef as V,useState as Be}from"react";import{View as X,Image as lt,Video as Nt,Button as xt,Text as ke}from"@tarojs/components";import{Fragment as Pt,jsx as P,jsxs as ye}from"react/jsx-runtime";var He=({unitId:e="",customAd:i,show:n=!0,zIndex:y=999,pictureInPicture:h=!1,checkNativeSplash:E=!0,jumpSeconds:F=5,className:$,onLoad:M,onError:_,onClose:j,onAction:H,onHide:I,onOpenWebview:R})=>{let N=re(()=>xe(),[]),c=!!(e&&N),[G,C]=Be(!1),[k,Q]=Be(c),[v,u]=Be(!1),[te,B]=Be(0),[L,p]=Be(!1),[J,D]=Be(!1),Z=V(null),U=V(null),K=V(null),Y=V(null),se=V(null),o=V(0),f=V(!1),m=V(!1),T=V(M),g=V(_),S=V(j),ce=V(H),me=V(I),ge=V(R),l=i||null,ae=re(()=>Qe(l),[l]),Te=re(()=>Ze(l,ae),[l,ae]),oe=!!ae,De=re(()=>et(l,ae),[l,ae]),Le=re(()=>tt(l),[l]),we=re(()=>Me(l),[l]),x=re(()=>nt(l,F),[l,F]),Ee=re(()=>rt(),[]),{contentStyle:Ie,badgeStyle:Ne}=re(()=>it(),[]),Ue=re(()=>{let a=["bi-splash-ad"];return v&&a.push("bi-splash-ad--pip"),J&&a.push("bi-splash-ad--pip-animating"),$&&a.push($),a.join(" ")},[$,J,v]);je(()=>{T.current=M,g.current=_,S.current=j,ce.current=H,me.current=I,ge.current=R},[H,j,_,I,M,R]);let z=a=>({provider:a,type:"splash"});je(()=>{var a;!n||!e||N||(a=g.current)==null||a.call(g,W(A({},z("wechat")),{errCode:"BI_SPLASH_NATIVE_AD_UNSUPPORTED",errMsg:"\u5F53\u524D\u7AEF\u4E0D\u652F\u6301\u5FAE\u4FE1\u539F\u751F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7EC4\u4EF6"}))},[N,n,e]);let b=ee(()=>{Z.current&&(clearInterval(Z.current),Z.current=null),U.current&&(clearTimeout(U.current),U.current=null)},[]),fe=ee(()=>{K.current&&(clearTimeout(K.current),K.current=null)},[]),t=ee(()=>{Y.current&&(clearTimeout(Y.current),Y.current=null)},[]),r=ee(()=>{se.current&&(clearTimeout(se.current),se.current=null)},[]),s=ee(()=>{b(),fe(),t(),r()},[b,fe,r,t]),q=ee(a=>{var d;s(),C(!1),u(!1),B(0),p(!1),m.current=!1,D(!1),(d=S.current)==null||d.call(S,a)},[s]),de=ee(()=>{let a=k?"wechat":"custom";if(h){b(),fe(),r(),D(!0),se.current=setTimeout(()=>{var d;se.current=null,u(!0),D(!1),(d=me.current)==null||d.call(me,z(a))},280);return}q({type:"splash",provider:a})},[b,fe,r,q,k,h]),w=ee(()=>{if(b(),x<=0){de();return}B(x),Z.current=setInterval(()=>{B(a=>a<=1?(b(),U.current=setTimeout(()=>{U.current=null,de()},0),0):a-1)},1e3)},[b,x,de]),qe=ee(a=>{!n||!c||!a||v||w()},[c,n,v,w]),Ce=ee(()=>{let a=!!(!f.current&&(c||oe));s(),Q(c),C(a),u(!1),B(x),p(!1),m.current=!1,D(!1),qe(a),a&&!c&&oe&&(K.current=setTimeout(()=>{var d;m.current||(s(),C(!1),u(!1),B(0),p(!1),m.current=!1,D(!1),(d=g.current)==null||d.call(g,W(A({},z("custom")),{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})))},be(l)))},[c,s,x,oe,l,qe]),Oe=ee(()=>{if(!n)return;if(!E){f.current=!1,Ce();return}if(f.current){C(!1);return}let a=Pe();if(!a||typeof a.getShowSplashAdStatus!="function"||o.current>=3){Ce();return}a.getShowSplashAdStatus({success:d=>{var O;if((d==null?void 0:d.code)===-1){o.current+=1,t(),Y.current=setTimeout(()=>{Y.current=null,Oe()},300);return}if((d==null?void 0:d.code)===1){s(),C(!1),f.current=!0,(O=T.current)==null||O.call(T,{provider:"wechat",type:"splash",nativeSplash:!0});return}Ce()},fail:()=>{Ce()}})},[c,E,s,t,oe,Ce,n]);je(()=>{if(!n){s(),C(!1),Q(c),u(!1),B(0),p(!1),m.current=!1,D(!1),f.current=!1;return}if(o.current=0,!E)f.current=!1;else if(f.current)return s(),Q(c),C(!1),u(!1),B(0),p(!1),m.current=!1,D(!1),()=>{s()};return s(),Q(c),C(!1),u(!1),B(x),p(!1),m.current=!1,D(!1),Oe(),()=>{s()}},[c,E,Oe,s,x,n]);let dt=a=>{var d;w(),(d=T.current)==null||d.call(T,ne(a,z("wechat")))},pt=a=>{var d;if(k){if(s(),oe){Q(!1),C(!0),u(!1),B(x),p(!1),m.current=!1,D(!1),K.current=setTimeout(()=>{var O;m.current||(s(),C(!1),u(!1),B(0),p(!1),m.current=!1,D(!1),(O=g.current)==null||O.call(g,W(A({},z("custom")),{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_TIMEOUT",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u8D85\u65F6"})))},be(l));return}C(!1),u(!1),B(0),p(!1),m.current=!1,D(!1),(d=S.current)==null||d.call(S,{provider:"wechat",type:"splash",reason:"wechatAdLoadFail",error:a})}},mt=a=>{var he;let d=a&&typeof a.detail=="object"?a.detail:{},O=W(A({},ne(a,z("wechat"))),{errCode:"BI_SPLASH_WECHAT_AD_LOAD_FAIL",errMsg:String(d.errMsg||"\u5FAE\u4FE1\u5F00\u5C4F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25"),rawErrCode:d.errCode,rawErrMsg:d.errMsg});(he=g.current)==null||he.call(g,O),pt(O)},gt=a=>{q(ne(a,z("wechat")))},Je=()=>{var a;m.current||(fe(),m.current=!0,p(!0),w(),(a=T.current)==null||a.call(T,z("custom")))},ft=(a,d)=>{var O;s(),C(!1),u(!1),B(0),p(!1),m.current=!1,D(!1),(O=g.current)==null||O.call(g,A(A({},ne(a,z("custom"))),d))},Ke=a=>{ft(a,{errCode:"BI_SPLASH_CUSTOM_MEDIA_LOAD_FAIL",errMsg:"\u5F00\u5C4F\u81EA\u5B9A\u4E49\u5E7F\u544A\u7D20\u6750\u52A0\u8F7D\u5931\u8D25"})},ht=()=>{var O;let a=k?"wechat":"custom",d=z(a);(O=ce.current)==null||O.call(ce,d),a==="custom"&&Re({customAd:l,actionDetail:d,onOpenWebview:he=>{var Se;(Se=ge.current)==null||Se.call(ge,he)},onError:he=>{var Se;(Se=g.current)==null||Se.call(g,he)},miniProgramErrorCode:"BI_SPLASH_NAVIGATE_MINI_PROGRAM_FAIL",navigateErrorCode:"BI_SPLASH_NAVIGATE_FAIL"})},At=()=>{q({type:"splash",provider:k?"wechat":"custom"})},We=k?N:null;return!G||!!!We&&!oe?null:ye(X,{className:Ue,style:{zIndex:y},children:[We?P(X,{className:"bi-splash-ad__popup",children:P(X,{className:`bi-splash-ad__media-wrapper${v?" bi-splash-ad__media-wrapper--pip":""}`,children:P(We,{className:"bi-splash-ad__wechat-unit",unitId:e,onLoad:dt,onError:mt,onClose:gt})})}):P(X,{className:"bi-splash-ad__popup",children:ye(X,{className:"bi-splash-ad__media-shell",onClick:ht,children:[De?P(lt,{className:"bi-splash-ad__media bi-splash-ad__media--background",src:ae,mode:"aspectFill",onLoad:Je,onError:Ke}):ye(Pt,{children:[P(lt,{className:"bi-splash-ad__media bi-splash-ad__media--background",src:Te,mode:"aspectFill"}),P(Nt,{className:`bi-splash-ad__video${Le===1?" bi-splash-ad__video--landscape":""}`,src:ae,poster:Te,autoplay:!0,muted:(l==null?void 0:l.muted)!==!1,loop:!0,objectFit:"cover",showCenterPlayBtn:!1,showPlayBtn:!1,controls:!1,onLoadedMetaData:Je,onError:Ke})]}),v?P(X,{className:"bi-splash-ad__pip-mask"}):null,v?null:P(X,{className:"bi-splash-ad__badge",style:Ne,children:we}),l&&(l.title||!v&&(l.description||l.buttonText))?ye(X,{className:"bi-splash-ad__content",style:Ie,children:[l.title?P(ke,{className:"bi-splash-ad__title",children:l.title}):null,!v&&l.description?P(ke,{className:"bi-splash-ad__description",children:l.description}):null,!v&&l.buttonText?P(xt,{className:"bi-splash-ad__action",children:l.buttonText}):null]}):null]})}),v?P(X,{className:"bi-splash-ad__pip-close",onClick:At,children:P(X,{className:"bi-splash-ad__pip-close-text",children:"\u5173\u95ED"})}):null,v?null:ye(X,{className:"bi-splash-ad__skip",style:Ee,onClick:de,children:[ye(ke,{children:[te,"s"]}),P(X,{className:"bi-splash-ad__skip-divider"}),P(ke,{className:"bi-splash-ad__skip-text",children:"\u8DF3\u8FC7"})]})]})};import{useEffect as Ge,useMemo as Mt,useRef as ie,useState as Ye}from"react";import{jsx as ct}from"react/jsx-runtime";var ut=["banner","splash"],Rt=({adId:e="",unitId:i,type:n="banner",customAd:y,adOptions:h=null,sdkKey:E="biNova",autoLoad:F=!0,adIntervals:$=30,show:M=!0,zIndex:_=999,pictureInPicture:j=!1,checkNativeSplash:H=!0,jumpSeconds:I=5,className:R,onLoad:N,onError:c,onClose:G,onAction:C,onHide:k,onOpenWebview:Q,onConfigLoad:v,onConfigError:u})=>{let te=ie(0),B=ie(""),L=ie(N),p=ie(c),J=ie(G),D=ie(C),Z=ie(k),U=ie(Q),K=ie(v),Y=ie(u),[se,o]=Ye(!1),[f,m]=Ye(!1),[T,g]=Ye(null);Ge(()=>{L.current=N,p.current=c,J.current=G,D.current=C,Z.current=k,U.current=Q,K.current=v,Y.current=u},[C,G,u,v,c,k,N,Q]);let S=Mt(()=>ut.includes(n)?n:"banner",[n]),ce=()=>!!(F&&e),me=()=>{var q;let t=globalThis.getApp,r=typeof t=="function"?t():null;if(!r)return null;let s=r;return s[E]||((q=s.globalData)==null?void 0:q[E])||null},ge=()=>{var t;try{if(typeof wx!="undefined"&&typeof wx.getAccountInfoSync=="function"){let r=wx.getAccountInfoSync();return((t=r==null?void 0:r.miniProgram)==null?void 0:t.appId)||""}}catch(r){return""}return""},l=()=>{te.current+=1,B.current="",o(!1),m(!1),g(null)},ae=()=>{let t=h&&typeof h=="object"?h:{},r=ge();return W(A({},t),{adId:e,placementId:t.placementId||e,appId:t.appId||r,type:S})},Te=t=>{try{return JSON.stringify(t||{})}catch(r){return`${String(t.appId||"")}_${String(t.placementId||"")}`}},oe=t=>{let r=(t==null?void 0:t.unitId)||"",s=(t==null?void 0:t.customAd)||(t==null?void 0:t.custom)||null,q=typeof(t==null?void 0:t.show)=="boolean"?t.show:!!(r||s);return{unitId:r,customAd:s,show:q}},De=t=>{var r,s;(r=Y.current)==null||r.call(Y,t),(s=p.current)==null||s.call(p,t)},Le=async()=>{var de;if(!ce())return;let t=ae(),r=Te(t);if(B.current===r&&(se||f))return;let s=me();if(!(s!=null&&s.ads)||typeof s.ads.getDisplayAdConfig!="function"){l(),De({type:S,adId:e,errCode:"DISPLAY_AD_SDK_NOT_READY",errMsg:"\u672A\u83B7\u53D6\u5230\u53EF\u7528\u7684\u5E7F\u544A\u670D\u52A1 SDK\uFF0C\u8BF7\u5148\u6CE8\u5165\u5168\u5C40 biNova \u5B9E\u4F8B"});return}let q=te.current+1;te.current=q,B.current=r,o(!0),m(!1),g(null);try{let w=await s.ads.getDisplayAdConfig(t);if(q!==te.current)return;if(!w||w.code!==0||!w.data){o(!1),m(!0),g(null),De({type:S,adId:e,errCode:"DISPLAY_AD_REMOTE_CONFIG_FAIL",errMsg:(w==null?void 0:w.message)||"\u83B7\u53D6\u5C55\u793A\u5E7F\u544A\u914D\u7F6E\u5931\u8D25",rawResult:w||null});return}o(!1),m(!0),g(w.data),(de=K.current)==null||de.call(K,{type:S,adId:e,requestOptions:t,data:w.data})}catch(w){if(q!==te.current)return;o(!1),m(!0),g(null),De({type:S,adId:e,errCode:"DISPLAY_AD_REMOTE_CONFIG_EXCEPTION",errMsg:w instanceof Error?w.message:"\u83B7\u53D6\u5C55\u793A\u5E7F\u544A\u914D\u7F6E\u5F02\u5E38",error:w})}};Ge(()=>{var t;ut.includes(n)||(t=p.current)==null||t.call(p,{type:"banner",errCode:"UNSUPPORTED_DISPLAY_AD_TYPE",errMsg:`\u4E0D\u652F\u6301\u7684\u5C55\u793A\u5E7F\u544A\u7C7B\u578B\uFF1A${n}\uFF0C\u8BF7\u4F7F\u7528 "banner" \u6216 "splash"`})},[n]),Ge(()=>{if(!e){l();return}Le()},[e,h,F,S,E]);let we=ce(),x=we?oe(T):null,Ee=x?x.unitId:i||"",Ie=x?x.customAd:y||null,Ne=!!(M&&(!we||!e||f&&(x!=null&&x.show))),Ue=!!H,z=e||(T==null?void 0:T.adId)||"",b=t=>A({adId:z},t);return S==="splash"?ct(He,A({},{unitId:Ee,customAd:Ie,show:Ne,zIndex:_,pictureInPicture:j,checkNativeSplash:Ue,jumpSeconds:I,className:R,onLoad:r=>{var s;(s=L.current)==null||s.call(L,b(r))},onError:r=>{var s;(s=p.current)==null||s.call(p,b(r))},onClose:r=>{var s;(s=J.current)==null||s.call(J,b(r))},onAction:r=>{var s;(s=D.current)==null||s.call(D,b(r))},onHide:r=>{var s;(s=Z.current)==null||s.call(Z,b(r))},onOpenWebview:r=>{var s;(s=U.current)==null||s.call(U,b(r))}})):Ne?ct($e,A({},{unitId:Ee,customAd:Ie,adIntervals:$,className:R,onLoad:t=>{var r;(r=L.current)==null||r.call(L,b(t))},onError:t=>{var r;(r=p.current)==null||r.call(p,b(t))},onClose:t=>{var r;(r=J.current)==null||r.call(J,b(t))},onAction:t=>{var r;(r=D.current)==null||r.call(D,b(t))},onOpenWebview:t=>{var r;(r=U.current)==null||r.call(U,b(t))}})):null};export{$e as BiBannerAd,Rt as BiDisplayAd,He as BiSplashAd};
|