@polyv/product-ui 1.9.0-rc-20251225.2 → 1.9.0
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/address-edit.cjs.js +1 -1
- package/address-edit.es.js +2 -2
- package/address-edit.umd.js +1 -1
- package/address-item.cjs.js +1 -1
- package/address-item.es.js +2 -2
- package/address-item.umd.js +1 -1
- package/address-list.cjs.js +1 -1
- package/address-list.es.js +2 -2
- package/address-list.umd.js +2 -2
- package/big-card-popup.cjs.js +1 -1
- package/big-card-popup.es.js +2 -2
- package/big-card-popup.umd.js +1 -1
- package/index.cjs.js +1 -1
- package/index.es.js +2 -2
- package/index.umd.js +1 -1
- package/mobile-product-pendant.cjs.js +1 -1
- package/mobile-product-pendant.es.js +2 -2
- package/mobile-product-pendant.umd.js +1 -1
- package/order-confirm.cjs.js +1 -1
- package/order-confirm.es.js +2 -2
- package/order-confirm.umd.js +1 -1
- package/order-detail.cjs.js +1 -1
- package/order-detail.es.js +2 -2
- package/order-detail.umd.js +1 -1
- package/order-item.cjs.js +1 -1
- package/order-item.es.js +2 -2
- package/order-item.umd.js +1 -1
- package/order-list-popup.cjs.js +1 -1
- package/order-list-popup.es.js +2 -2
- package/order-list-popup.umd.js +1 -1
- package/order-list.cjs.js +1 -1
- package/order-list.es.js +2 -2
- package/order-list.umd.js +1 -1
- package/order-popup.cjs.js +1 -1
- package/order-popup.es.js +2 -2
- package/order-popup.umd.js +1 -1
- package/package.json +1 -1
- package/pc-product-pendant.cjs.js +1 -1
- package/pc-product-pendant.es.js +2 -2
- package/pc-product-pendant.umd.js +1 -1
- package/product-button.cjs.js +1 -1
- package/product-button.es.js +2 -2
- package/product-button.umd.js +1 -1
- package/product-detail-popup.cjs.js +1 -1
- package/product-detail-popup.es.js +2 -2
- package/product-detail-popup.umd.js +1 -1
- package/product-detail.cjs.js +1 -1
- package/product-detail.es.js +2 -2
- package/product-detail.umd.js +1 -1
- package/product-iframe-link-popup.cjs.js +1 -1
- package/product-iframe-link-popup.es.js +2 -2
- package/product-iframe-link-popup.umd.js +1 -1
- package/product-item.cjs.js +1 -1
- package/product-item.es.js +2 -2
- package/product-item.umd.js +1 -1
- package/product-list-popup.cjs.js +1 -1
- package/product-list-popup.es.js +2 -2
- package/product-list-popup.umd.js +1 -1
- package/product-list.cjs.js +1 -1
- package/product-list.es.js +2 -2
- package/product-list.umd.js +1 -1
- package/small-card.cjs.js +1 -1
- package/small-card.es.js +2 -2
- package/small-card.umd.js +1 -1
package/product-button.umd.js
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
7
7
|
* Released under the MIT License.
|
|
8
8
|
*/
|
|
9
|
-
function J(e){return"[object Object]"===Object.prototype.toString.call(e)}function G(){return G=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},G.apply(this,arguments)}function X(e,t){if(null==e)return{};var i,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)t.indexOf(i=o[n])>=0||(r[i]=e[i]);return r}const Y={silent:!1,logLevel:"warn"},ee=["validator"],te=Object.prototype,ie=te.toString,ne=te.hasOwnProperty,re=/^\s*function (\w+)/;function oe(e){var t;const i=null!==(t=null==e?void 0:e.type)&&void 0!==t?t:e;if(i){const e=i.toString().match(re);return e?e[1]:""}return""}const ae=function(e){var t,i;return!1!==J(e)&&(void 0===(t=e.constructor)||!1!==J(i=t.prototype)&&!1!==i.hasOwnProperty("isPrototypeOf"))},se=e=>e;let de=se;if("production"!=={}.NODE_ENV){const e="undefined"!=typeof console;de=e?function(e,t=Y.logLevel){!1===Y.silent&&console[t](`[VueTypes warn]: ${e}`)}:se}const ce=(e,t)=>ne.call(e,t),le=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},ue=Array.isArray||function(e){return"[object Array]"===ie.call(e)},pe=e=>"[object Function]"===ie.call(e),me=(e,t)=>ae(e)&&ce(e,"_vueTypes_name")&&(!t||e._vueTypes_name===t),fe=e=>ae(e)&&(ce(e,"type")||["_vueTypes_name","validator","default","required"].some(t=>ce(e,t)));function he(e,t){return Object.defineProperty(e.bind(t),"__original",{value:e})}function ye(e,t,i=!1){let n,r=!0,o="";n=ae(e)?e:{type:e};const a=me(n)?n._vueTypes_name+" - ":"";if(fe(n)&&null!==n.type){if(void 0===n.type||!0===n.type)return r;if(!n.required&&null==t)return r;ue(n.type)?(r=n.type.some(e=>!0===ye(e,t,!0)),o=n.type.map(e=>oe(e)).join(" or ")):(o=oe(n),r="Array"===o?ue(t):"Object"===o?ae(t):"String"===o||"Number"===o||"Boolean"===o||"Function"===o?function(e){if(null==e)return"";const t=e.constructor.toString().match(re);return t?t[1].replace(/^Async/,""):""}(t)===o:t instanceof n.type)}if(!r){const e=`${a}value "${t}" should be of type "${o}"`;return!1===i?(de(e),!1):e}if(ce(n,"validator")&&pe(n.validator)){const e=de,o=[];if(de=e=>{o.push(e)},r=n.validator(t),de=e,!r){const e=(o.length>1?"* ":"")+o.join("\n* ");return o.length=0,!1===i?(de(e),r):e}}return r}function ge(e,t){const i=Object.defineProperties(t,{_vueTypes_name:{value:e,writable:!0},isRequired:{get(){return this.required=!0,this}},def:{value(e){return void 0===e?this.type===Boolean||Array.isArray(this.type)&&this.type.includes(Boolean)?void(this.default=void 0):(ce(this,"default")&&delete this.default,this):pe(e)||!0===ye(this,e,!0)?(this.default=ue(e)?()=>[...e]:ae(e)?()=>Object.assign({},e):e,this):(de(`${this._vueTypes_name} - invalid default value: "${e}"`),this)}}}),{validator:n}=i;return pe(n)&&(i.validator=he(n,i)),i}function be(e,t){const i=ge(e,t);return Object.defineProperty(i,"validate",{value(e){return pe(this.validator)&&de(`${this._vueTypes_name} - calling .validate() will overwrite the current custom validator function. Validator info:\n${JSON.stringify(this)}`),this.validator=he(e,this),this}})}function ve(e,t,i){const n=function(e){const t={};return Object.getOwnPropertyNames(e).forEach(i=>{t[i]=Object.getOwnPropertyDescriptor(e,i)}),Object.defineProperties({},t)}(t);if(n._vueTypes_name=e,!ae(i))return n;const{validator:r}=i,o=X(i,ee);if(pe(r)){let{validator:e}=n;e&&(e=null!==(s=(a=e).__original)&&void 0!==s?s:a),n.validator=he(e?function(t){return e.call(this,t)&&r.call(this,t)}:r,n)}var a,s;return Object.assign(n,o)}function we(e){return e.replace(/^(?!\s*$)/gm," ")}const xe=()=>be("any",{}),Pe=()=>be("function",{type:Function}),Te=()=>be("boolean",{type:Boolean}),Oe=()=>be("string",{type:String}),ke=()=>be("number",{type:Number}),Ee=()=>be("array",{type:Array}),_e=()=>be("object",{type:Object});function Ae(e,t="custom validation failed"){if("function"!=typeof e)throw new TypeError("[VueTypes error]: You must provide a function as argument");return ge(e.name||"<<anonymous function>>",{type:null,validator(i){const n=e(i);return n||de(`${this._vueTypes_name} - ${t}`),n}})}function Ce(e){if(!ue(e))throw new TypeError("[VueTypes error]: You must provide an array as argument.");const t=`oneOf - value should be one of "${e.map(e=>"symbol"==typeof e?e.toString():e).join('", "')}".`,i={validator(i){const n=-1!==e.indexOf(i);return n||de(t),n}};if(-1===e.indexOf(null)){const t=e.reduce((e,t)=>{if(null!=t){const i=t.constructor;-1===e.indexOf(i)&&e.push(i)}return e},[]);t.length>0&&(i.type=t)}return ge("oneOf",i)}function Se(e){if(!ue(e))throw new TypeError("[VueTypes error]: You must provide an array as argument");let t=!1,i=!1,n=[];for(let o=0;o<e.length;o+=1){const r=e[o];if(fe(r)){if(pe(r.validator)&&(t=!0),me(r,"oneOf")&&r.type){n=n.concat(r.type);continue}if(me(r,"nullable")){i=!0;continue}if(!0===r.type||!r.type){de('oneOfType - invalid usage of "true" and "null" as types.');continue}n=n.concat(r.type)}else n.push(r)}n=n.filter((e,t)=>n.indexOf(e)===t);const r=!1===i&&n.length>0?n:null;return ge("oneOfType",t?{type:r,validator(t){const i=[],n=e.some(e=>{const n=ye(e,t,!0);return"string"==typeof n&&i.push(n),!0===n});return n||de(`oneOfType - provided value does not match any of the ${i.length} passed-in validators:\n${we(i.join("\n"))}`),n}}:{type:r})}function je(e){return ge("arrayOf",{type:Array,validator(t){let i="";const n=t.every(t=>(i=ye(e,t,!0),!0===i));return n||de(`arrayOf - value validation error:\n${we(i)}`),n}})}function We(e){return ge("instanceOf",{type:e})}function Be(e){return ge("objectOf",{type:Object,validator(t){let i="";const n=Object.keys(t).every(n=>(i=ye(e,t[n],!0),!0===i));return n||de(`objectOf - value validation error:\n${we(i)}`),n}})}function Le(e){const t=Object.keys(e),i=t.filter(t=>{var i;return!(null===(i=e[t])||void 0===i||!i.required)}),n=ge("shape",{type:Object,validator(n){if(!ae(n))return!1;const r=Object.keys(n);if(i.length>0&&i.some(e=>-1===r.indexOf(e))){const e=i.filter(e=>-1===r.indexOf(e));return de(1===e.length?`shape - required property "${e[0]}" is not defined.`:`shape - required properties "${e.join('", "')}" are not defined.`),!1}return r.every(i=>{if(-1===t.indexOf(i))return!0===this._vueTypes_isLoose||(de(`shape - shape definition does not include a "${i}" property. Allowed keys: "${t.join('", "')}".`),!1);const r=ye(e[i],n[i],!0);return"string"==typeof r&&de(`shape - "${i}" property validation error:\n ${we(r)}`),!0===r})}});return Object.defineProperty(n,"_vueTypes_isLoose",{writable:!0,value:!1}),Object.defineProperty(n,"loose",{get(){return this._vueTypes_isLoose=!0,this}}),n}const Me=["name","validate","getter"],Re=(()=>{var e;return(e=class{static get any(){return xe()}static get func(){return Pe().def(this.defaults.func)}static get bool(){return void 0===this.defaults.bool?Te():Te().def(this.defaults.bool)}static get string(){return Oe().def(this.defaults.string)}static get number(){return ke().def(this.defaults.number)}static get array(){return Ee().def(this.defaults.array)}static get object(){return _e().def(this.defaults.object)}static get integer(){return ge("integer",{type:Number,validator(e){const t=le(e);return!1===t&&de(`integer - "${e}" is not an integer`),t}}).def(this.defaults.integer)}static get symbol(){return ge("symbol",{validator(e){const t="symbol"==typeof e;return!1===t&&de(`symbol - invalid value "${e}"`),t}})}static get nullable(){return Object.defineProperty({type:null,validator(e){const t=null===e;return!1===t&&de("nullable - value should be null"),t}},"_vueTypes_name",{value:"nullable"})}static extend(e){if(de("VueTypes.extend is deprecated. Use the ES6+ method instead. See https://dwightjack.github.io/vue-types/advanced/extending-vue-types.html#extending-namespaced-validators-in-es6 for details."),ue(e))return e.forEach(e=>this.extend(e)),this;const{name:t,validate:i=!1,getter:n=!1}=e,r=X(e,Me);if(ce(this,t))throw new TypeError(`[VueTypes error]: Type "${t}" already defined`);const{type:o}=r;if(me(o))return delete r.type,Object.defineProperty(this,t,n?{get:()=>ve(t,o,r)}:{value(...e){const i=ve(t,o,r);return i.validator&&(i.validator=i.validator.bind(i,...e)),i}});let a;return a=n?{get(){const e=Object.assign({},r);return i?be(t,e):ge(t,e)},enumerable:!0}:{value(...e){const n=Object.assign({},r);let o;return o=i?be(t,n):ge(t,n),n.validator&&(o.validator=n.validator.bind(o,...e)),o},enumerable:!0},Object.defineProperty(this,t,a)}}).defaults={},e.sensibleDefaults=void 0,e.config=Y,e.custom=Ae,e.oneOf=Ce,e.instanceOf=We,e.oneOfType=Se,e.arrayOf=je,e.objectOf=Be,e.shape=Le,e.utils={validate:(e,t)=>!0===ye(t,e,!0),toType:(e,t,i=!1)=>i?be(e,t):ge(e,t)},e})();!function(e={func:()=>{},bool:!0,string:"",number:0,array:()=>[],object:()=>({}),integer:0}){var t;(t=class extends Re{static get sensibleDefaults(){return G({},this.defaults)}static set sensibleDefaults(t){this.defaults=!1!==t?G({},!0!==t?t:e):{}}}).defaults=G({},e)}();class De{static get string(){return Oe().def("")}static get looseString(){return Oe()}static get number(){return ke().def(0)}static get looseNumber(){return ke()}static get bool(){return Te().def(!0)}static get looseBool(){return Se([]).def(void 0)}static get looseElement(){return Se([]).def(void 0)}}c(De,"objectType",_e),c(De,"array",()=>Ee().def([])),c(De,"object",_e),c(De,"func",Pe),c(De,"oneOf",Ce),c(De,"oneOfType",Se),c(De,"enum",Oe),c(De,"any",xe);const $e=navigator.userAgent.toLowerCase(),Ne=L();Ne.os.isAndroid,Ne.os.isIOS;const Ie=Ne.client.version,Fe=Ne.client.isWx,qe=Ne.client.isWxWork,He=(Fe||qe)&&/miniprogramenv/.test($e);const ze=function(){const e=navigator.userAgent;return!!/mobile|android/i.test(e)||!/\b(Windows\sNT|Macintosh|x86(_(32|64))?|amd64|i[1-6]86)\b/.test(e)&&"onorientationchange"in window}();ze&&function(){const e=navigator.userAgent;!!/(?:iPad|PlayBook)/.test(e)||(Ne.os.isAndroid&&!/(?:Mobile)/.test(e)||/(?:Tablet)/.test(e))}();const Ze=(()=>ze||He)(),Ve="openProductIframeLinkPopup";var Qe=Array.isArray,Ue="object"==typeof global&&global&&global.Object===Object&&global,Ke="object"==typeof self&&self&&self.Object===Object&&self,Je=Ue||Ke||Function("return this")(),Ge=Je.Symbol,Xe=Object.prototype,Ye=Xe.hasOwnProperty,et=Xe.toString,tt=Ge?Ge.toStringTag:void 0;var it=Object.prototype.toString;var nt=Ge?Ge.toStringTag:void 0;function rt(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":nt&&nt in Object(e)?function(e){var t=Ye.call(e,tt),i=e[tt];try{e[tt]=void 0;var n=!0}catch(o){}var r=et.call(e);return n&&(t?e[tt]=i:delete e[tt]),r}(e):function(e){return it.call(e)}(e)}function ot(e){return"symbol"==typeof e||function(e){return null!=e&&"object"==typeof e}(e)&&"[object Symbol]"==rt(e)}var at=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,st=/^\w*$/;function dt(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ct(e){if(!dt(e))return!1;var t=rt(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var lt,ut=Je["__core-js_shared__"],pt=(lt=/[^.]+$/.exec(ut&&ut.keys&&ut.keys.IE_PROTO||""))?"Symbol(src)_1."+lt:"";var mt=Function.prototype.toString;var ft=/^\[object .+?Constructor\]$/,ht=Function.prototype,yt=Object.prototype,gt=ht.toString,bt=yt.hasOwnProperty,vt=RegExp("^"+gt.call(bt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function wt(e){return!(!dt(e)||(t=e,pt&&pt in t))&&(ct(e)?vt:ft).test(function(e){if(null!=e){try{return mt.call(e)}catch(t){}try{return e+""}catch(t){}}return""}(e));var t}function xt(e,t){var i=function(e,t){return null==e?void 0:e[t]}(e,t);return wt(i)?i:void 0}var Pt=xt(Object,"create");var Tt=Object.prototype.hasOwnProperty;var Ot=Object.prototype.hasOwnProperty;function kt(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function Et(e,t){return e===t||e!=e&&t!=t}function _t(e,t){for(var i=e.length;i--;)if(Et(e[i][0],t))return i;return-1}kt.prototype.clear=function(){this.__data__=Pt?Pt(null):{},this.size=0},kt.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},kt.prototype.get=function(e){var t=this.__data__;if(Pt){var i=t[e];return"__lodash_hash_undefined__"===i?void 0:i}return Tt.call(t,e)?t[e]:void 0},kt.prototype.has=function(e){var t=this.__data__;return Pt?void 0!==t[e]:Ot.call(t,e)},kt.prototype.set=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=Pt&&void 0===t?"__lodash_hash_undefined__":t,this};var At=Array.prototype.splice;function Ct(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}Ct.prototype.clear=function(){this.__data__=[],this.size=0},Ct.prototype.delete=function(e){var t=this.__data__,i=_t(t,e);return!(i<0)&&(i==t.length-1?t.pop():At.call(t,i,1),--this.size,!0)},Ct.prototype.get=function(e){var t=this.__data__,i=_t(t,e);return i<0?void 0:t[i][1]},Ct.prototype.has=function(e){return _t(this.__data__,e)>-1},Ct.prototype.set=function(e,t){var i=this.__data__,n=_t(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this};var St=xt(Je,"Map");function jt(e,t){var i,n,r=e.__data__;return("string"==(n=typeof(i=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==i:null===i)?r["string"==typeof t?"string":"hash"]:r.map}function Wt(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}Wt.prototype.clear=function(){this.size=0,this.__data__={hash:new kt,map:new(St||Ct),string:new kt}},Wt.prototype.delete=function(e){var t=jt(this,e).delete(e);return this.size-=t?1:0,t},Wt.prototype.get=function(e){return jt(this,e).get(e)},Wt.prototype.has=function(e){return jt(this,e).has(e)},Wt.prototype.set=function(e,t){var i=jt(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this};function Bt(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var i=function(){var n=arguments,r=t?t.apply(this,n):n[0],o=i.cache;if(o.has(r))return o.get(r);var a=e.apply(this,n);return i.cache=o.set(r,a)||o,a};return i.cache=new(Bt.Cache||Wt),i}Bt.Cache=Wt;var Lt,Mt,Rt,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$t=/\\(\\)?/g,Nt=(Lt=function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Dt,function(e,i,n,r){t.push(n?r.replace($t,"$1"):i||e)}),t},Mt=Bt(Lt,function(e){return 500===Rt.size&&Rt.clear(),e}),Rt=Mt.cache,Mt);var It=Ge?Ge.prototype:void 0,Ft=It?It.toString:void 0;function qt(e){if("string"==typeof e)return e;if(Qe(e))return function(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i<n;)r[i]=t(e[i],i,e);return r}(e,qt)+"";if(ot(e))return Ft?Ft.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Ht(e,t){return Qe(e)?e:function(e,t){if(Qe(e))return!1;var i=typeof e;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=e&&!ot(e))||st.test(e)||!at.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:Nt(function(e){return null==e?"":qt(e)}(e))}function zt(e){if("string"==typeof e||ot(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Zt(e,t,i){var n=null==e?void 0:function(e,t){for(var i=0,n=(t=Ht(t,e)).length;null!=e&&i<n;)e=e[zt(t[i++])];return i&&i==n?e:void 0}(e,t);return void 0===n?i:n}const Vt={"common.confirm":"确认","common.cancel":"取消","common.delete":"删除","common.edit":"修改","common.submitSuccess":"提交成功","product.button.normal":"去购买","product.button.finance":"立即了解","product.button.position":"投递简历","product.all":"全部","product.searchPlaceholder":"输入名称搜索","product.explaining":"讲解中","product.watchExplain":"看讲解","product.notExplained":"待讲解","product.detail.title":"商品详情","product.detail.video":"视频","product.detail.image":"图片","product.detail.job":"职位详情","product.price.free":"免费","product.empty":"暂无内容","product.price.hidden":"待开价","product.order":"订单","product.num":"数量","product.disableBuy":"暂不支持购买","product.allProduct":"全部","product.stock.soldOut":"已抢光","product.position.detail":"职位详情",order:{title:"订单中心",chooseAddress:"请添加收货地址",add:"去添加",phone:"手机号码:",phonePlaceholder:"请输入手机号码",submitOrder:"提交订单",addAddress:"添加地址",applyRefund:"申请退款",refundTips:"退款金额 ",confirmRefund:"退款",refundFailed:"退款失败",failed:"发起失败",list:{all:"全部",waitPay:"待支付",waitDelivery:"待发货",delivering:"待收货",finish:"已完成",close:"已取消",refunding:"退款中",refunded:"已退款",total:"合计",waitPayBtnText:"立即支付",waitDeliveryBtnText:"查看详情",deliveringBtnText:"确认收货",finishBtnText:"查看详情",closeBtnText:"查看详情",emptyText:"暂无订单"},detail:{orderNo:"订单号",createTime:"下单时间",payTime:"支付时间",deliveryTime:"发货时间",finishTime:"完成时间",actualPay:"实付",payNow:"立即支付",confirmReceipt:"确认收货",expired:"已失效",payAutoCancel:" 后自动取消",cancelReason:"取消原因",payTimeOut:"超时未支付",refundTips:"退款金额原路返回",qrCodeTips:"长按识别或截图保存,联系客服",qrCodeExpiredTips:"二维码已失效,暂时无法联系客服",paymentMethod:"支付方式",wechat:"微信",alipay:"支付宝"},confirmOrder:"确认订单",shippingAddress:"收货地址",noAddressTips:"请填写收货地址",paySuccess:"支付成功",cancelPay:"取消支付",payFailed:"支付失败",createOrderFailed:"无法创建订单,请稍后重试",wechatPayTips:"请在微信中打开本页进行支付",confirmReceiptTips:"请确认已经收到包裹",confirmedReceipt:"已确认收货"},addressEdit:{name:"联系人",namePlaceholder:"请填写联系人姓名",choiceAddress:"选择地区",addressPlaceholder:"请选择地区",phone:"手机号码",phonePlaceholder:"请填写手机号码",phoneError:"请输入正确的手机号",addressDetail:"详细地址",addressDetailPlaceholder:"请填写详细地址",error:"请完善信息",submit:"保存",deleteConfirm:"确定要删除该地址吗?",addAddress:"添加地址",editAddress:"修改地址",deleteAddress:"删除地址",addSuccess:"保存成功",addError:"保存失败",editSuccess:"修改成功",editError:"修改失败"},bigCard:{title:"商品推荐"}},Qt={"common.confirm":"確認","common.cancel":"取消","common.delete":"刪除","common.edit":"修改","common.submitSuccess":"提交成功","product.button.normal":"去購買","product.button.finance":"立即瞭解","product.button.position":"投遞簡歷","product.all":"全部","product.searchPlaceholder":"輸入名稱搜索","product.explaining":"講解中","product.watchExplain":"看講解","product.notExplained":"待講解","product.detail.title":"商品詳情","product.detail.video":"視頻","product.detail.image":"圖片","product.detail.job":"職位詳情","product.price.free":"免費","product.empty":"暫無內容","product.price.hidden":"待開價","product.order":"訂單","product.num":"數量","product.disableBuy":"暫不支持購買","product.allProduct":"全部","product.stock.soldOut":"已搶光","product.position.detail":"職位詳情",order:{title:"訂單中心",chooseAddress:"請添加收貨地址",add:"去添加",phone:"手機號碼:",phonePlaceholder:"請輸入手機號碼",submitOrder:"提交訂單",addAddress:"添加地址",applyRefund:"申請退款",refundTips:"退款金額 ",confirmRefund:"退款",refundFailed:"退款失敗",failed:"发起失敗",list:{all:"全部",waitPay:"待支付",waitDelivery:"待發貨",delivering:"待收貨",finish:"已完成",close:"已取消",refunding:"退款中",refunded:"已退款",total:"合計",waitPayBtnText:"立即支付",waitDeliveryBtnText:"查看詳情",deliveringBtnText:"確認收貨",finishBtnText:"查看詳情",closeBtnText:"查看詳情",emptyText:"暫無訂單"},detail:{orderNo:"訂單號",createTime:"下單時間",payTime:"支付時間",deliveryTime:"發貨時間",finishTime:"完成時間",actualPay:"實付",payNow:"立即支付",confirmReceipt:"確認收貨",expired:"已失效",payAutoCancel:" 後自動取消",cancelReason:"取消原因",payTimeOut:"超時未支付",refundTips:"退款金額原路返回",qrCodeTips:"長按識別或截圖保存,聯繫客服",qrCodeExpiredTips:"二維碼已失效,暫時無法聯繫客服",paymentMethod:"支付方式",wechat:"微信",alipay:"支付寶"},confirmOrder:"確認訂單",shippingAddress:"收貨地址",noAddressTips:"請填寫收貨地址",paySuccess:"支付成功",payFailed:"支付失敗",cancelPay:"取消支付",createOrderFailed:"無法創建訂單,請稍後重試",wechatPayTips:"請在微信中打開本頁進行支付",confirmReceiptTips:"請確認已經收到包裹",confirmedReceipt:"已確認收貨"},addressEdit:{name:"聯絡人",namePlaceholder:"請填寫聯絡人",choiceAddress:"選擇地區",addressPlaceholder:"請選擇地區",phone:"手機號碼",phonePlaceholder:"請填寫手機號碼",phoneError:"請輸入正確的手機號",addressDetail:"詳細地址",addressDetailPlaceholder:"請填寫詳細地址",error:"請完善信息",submit:"保存",deleteConfirm:"確定要刪除該地址嗎?",deleteAddress:"刪除地址",addAddress:"添加地址",editAddress:"修改地址",addSuccess:"保存成功",addError:"保存失敗",editSuccess:"修改成功",editError:"修改失敗"},bigCard:{title:"商品推薦"}},Ut={"common.confirm":"Confirm","common.cancel":"Cancel","common.delete":"Delete","common.edit":"Edit","common.submitSuccess":"Submit Success","product.button.normal":"Buy Now","product.button.finance":"Learn More","product.button.position":"Submit Resume","product.all":"All","product.searchPlaceholder":"Enter a name to search","product.explaining":"Explaining","product.watchExplain":"Watch Now","product.notExplained":"Pending","product.detail.title":"Product Details","product.detail.video":"Video","product.detail.image":"Image","product.detail.job":"Job Details","product.price.free":"Free","product.empty":"No Content","product.price.hidden":"Pending Price","product.order":"Order","product.num":"Quantity","product.disableBuy":"Purchase not supported","product.allProduct":"All","product.stock.soldOut":"Sold Out","product.position.detail":"Job Details",order:{title:"Order Center",chooseAddress:"Add Shipping Address",add:"Add Shipping Address",phone:"Phone:",phonePlaceholder:"Enter Phone",submitOrder:"Submit",addAddress:"Add Address",applyRefund:"Apply Refund",refundTips:"Refund Amount ",confirmRefund:"Refund",refundFailed:"Refund Failed",failed:"Failed",list:{all:"All",waitPay:"Wait Payment",waitDelivery:"Wait Delivery",delivering:"Delivering",finish:"Finished",close:"Closed",refunding:"Refunding",refunded:"Refunded",total:"Total",waitPayBtnText:"Pay Now",waitDeliveryBtnText:"View Details",deliveringBtnText:"Confirm Receipt",finishBtnText:"View Details",closeBtnText:"View Details",emptyText:"No Order History"},detail:{orderNo:"Order Number",createTime:"Order Time",payTime:"Payment Time",deliveryTime:"Delivery Time",finishTime:"Completion Time",actualPay:"Total Amount",payNow:"Pay Now",confirmReceipt:"Confirm Receipt",expired:"Expired",payAutoCancel:"Cancel",cancelReason:"Cancel Reason",payTimeOut:"Pay Time Out",refundTips:"Refund amount returned to the original path",qrCodeTips:"Long press to scan or save screenshot for support",qrCodeExpiredTips:"QR code expired, support unavailable",paymentMethod:"Payment Method",wechat:"Wechat",alipay:"Alipay"},confirmOrder:"Confirm Order",shippingAddress:"Shipping Address",noAddressTips:"Please fill in the shipping address",paySuccess:"Payment Success",cancelPay:"Cancel Payment",payFailed:"Payment Failed",createOrderFailed:"Failed to create order, please try again later",wechatPayTips:"Please open this page in WeChat to pay",confirmReceiptTips:"Have you received the package?",confirmedReceipt:"Confirmed Receipt"},addressEdit:{name:"Name",namePlaceholder:"Enter Name",choiceAddress:"Select Area",addressPlaceholder:"Select Area",phone:"Phone",phonePlaceholder:"Enter Phone",phoneError:"Please enter a valid phone number",addressDetail:"Address Detail",addressDetailPlaceholder:"Enter Address Detail",error:"Please fill in all required fields",submit:"Save",deleteConfirm:"Delete this address?",deleteAddress:"Yes",addAddress:"Add Address",editAddress:"Edit Address",addSuccess:"Save Success",addError:"Save Failed",editSuccess:"Edit Success",editError:"Edit Failed"},bigCard:{title:"Top Picks"}},Kt={"common.confirm":"確認","common.cancel":"キャンセル","common.delete":"削除","common.edit":"編集","common.submitSuccess":"提出成功","product.button.normal":"購入する","product.button.finance":"今すぐ詳細を見る","product.button.position":"履歴書を送信","product.all":"すべて","product.searchPlaceholder":"名前を入力して検索","product.explaining":"解説中","product.watchExplain":"解説を見る","product.notExplained":"解説なし","product.detail.title":"商品詳細","product.detail.video":"ビデオ","product.detail.image":"画像","product.detail.job":"職務詳細","product.price.free":"無料","product.empty":"内容なし","product.price.hidden":"価格非公開","product.order":"注文","product.num":"数量","product.disableBuy":"購入不可","product.allProduct":"すべて","product.stock.soldOut":"売り切れ","product.position.detail":"職務詳細",order:{title:"注文中心",chooseAddress:"配送先を追加",add:"配送先を追加",phone:"電話番号:",phonePlaceholder:"電話番号を入力",submitOrder:"注文を提出",addAddress:"配送先を追加",applyRefund:"退款申請",refundTips:"退款金額 ",confirmRefund:"退款",refundFailed:"退款失敗",failed:"失敗",list:{all:"全て",waitPay:"支払い待ち",waitDelivery:"発送待ち",delivering:"配送中",finish:"完了",close:"キャンセル",refunding:"退款中",refunded:"退款完了",total:"合計",waitPayBtnText:"支払い",waitDeliveryBtnText:"詳細を見る",deliveringBtnText:"確認受け取り",finishBtnText:"詳細を見る",closeBtnText:"詳細を見る",emptyText:"注文履歴がありません"},detail:{orderNo:"注文番号",createTime:"注文日時",payTime:"支払い日時",deliveryTime:"発送日時",finishTime:"完了日時",actualPay:"実払い",payNow:"支払い",confirmReceipt:"確認受け取り",expired:"失効",payAutoCancel:" 後自動キャンセル",cancelReason:"キャンセル理由",payTimeOut:"超時未支払い",refundTips:"退款金額原路返回",qrCodeTips:"長押し識別またはスクリーンショット保存、サポートにお問い合わせください",qrCodeExpiredTips:"QRコードは失効しました。暫時的にサポートに連絡できません",paymentMethod:"支払い方法",wechat:"ウェブアプリ",alipay:"アリペイ"},confirmOrder:"注文を確認",shippingAddress:"配送先",noAddressTips:"配送先を入力してください",paySuccess:"支払い成功",cancelPay:"支払いをキャンセル",payFailed:"支払い失敗",createOrderFailed:"注文の作成に失敗しました。後で再試行してください。",wechatPayTips:"WeChatでこのページを開いて支払いしてください",confirmReceiptTips:"パッケージを確認しましたか?",confirmedReceipt:"確認受け取り完了"},addressEdit:{name:"連絡先",namePlaceholder:"連絡先を入力",choiceAddress:"地域を選択",addressPlaceholder:"地域を選択",phone:"電話番号",phonePlaceholder:"電話番号を入力",phoneError:"正しい電話番号を入力してください",addressDetail:"詳細住所",addressDetailPlaceholder:"詳細住所を入力",error:"情報を入力してください",submit:"保存",deleteConfirm:"この住所を削除しますか?",deleteAddress:"住所を削除",addAddress:"住所を追加",editAddress:"住所を編集",addSuccess:"保存成功",addError:"保存失敗",editSuccess:"編集成功",editError:"編集失敗"},bigCard:{title:"商品推薦"}},Jt={"common.confirm":"확인","common.cancel":"취소","common.delete":"삭제","common.edit":"수정","common.submitSuccess":"제출 성공","product.button.normal":"구매하기","product.button.finance":"지금 알아보기","product.button.position":"이력서 제출","product.all":"모든","product.searchPlaceholder":"이름을 입력하고 검색","product.explaining":"설명중","product.watchExplain":"설명 보기","product.notExplained":"설명 없음","product.detail.title":"상품 상세","product.detail.video":"비디오","product.detail.image":"이미지","product.detail.job":"직무 상세","product.price.free":"무료","product.empty":"내용 없음","product.price.hidden":"가격 미공개","product.order":"주문","product.num":"수량","product.disableBuy":"구매 불가","product.allProduct":"전부","product.stock.soldOut":"품절","product.position.detail":"직무 상세",order:{title:"주문 센터",chooseAddress:"주문 주소 추가",add:"주문 주소 추가",phone:"전화번호:",phonePlaceholder:"전화번호 입력",submitOrder:"주문 제출",addAddress:"주문 주소 추가",applyRefund:"환불 신청",refundTips:"환불 금액 ",confirmRefund:"환불",refundFailed:"환불 실패",failed:"실패",list:{all:"전체",waitPay:"결제 대기",waitDelivery:"배송 대기",delivering:"배송 중",finish:"완료",close:"취소",refunding:"환불 중",refunded:"환불 완료",total:"총 금액",waitPayBtnText:"결제하기",waitDeliveryBtnText:"상세 보기",deliveringBtnText:"확인 받기",finishBtnText:"상세 보기",closeBtnText:"상세 보기",emptyText:"주문 내역이 없습니다."},detail:{orderNo:"주문번호",createTime:"주문일시",payTime:"결제일시",deliveryTime:"배송일시",finishTime:"완료일시",actualPay:"총 금액",payNow:"결제하기",confirmReceipt:"확인 받기",expired:"만료",payAutoCancel:" 후 자동 취소",cancelReason:"취소 사유",payTimeOut:"결제 시간 초과",refundTips:"환불 금액 원래 경로로 반환",qrCodeTips:"장치 인식 또는 스크린샷 저장 후 문의",qrCodeExpiredTips:"이미 만료되었습니다. 잠시 후 다시 시도해주세요.",paymentMethod:"결제 방법",wechat:"웹앱",alipay:"알리페이"},confirmOrder:"주문 확인",shippingAddress:"배송 주소",noAddressTips:"배송 주소를 입력해주세요",paySuccess:"결제 성공",cancelPay:"결제 취소",payFailed:"결제 실패",createOrderFailed:"주문 생성에 실패했습니다. 나중에 다시 시도해주세요.",wechatPayTips:"카카오톡에서 이 페이지를 열어 결제해주세요",confirmReceiptTips:"패키지를 확인하셨습니까?",confirmedReceipt:"확인 받기 완료"},addressEdit:{name:"연락처",namePlaceholder:"연락처 입력",choiceAddress:"지역 선택",addressPlaceholder:"지역 선택",phone:"전화번호",phonePlaceholder:"전화번호 입력",phoneError:"올바른 전화번호를 입력해주세요",addressDetail:"상세 주소",addressDetailPlaceholder:"상세 주소 입력",error:"정보를 입력해주세요.",submit:"저장",deleteConfirm:"주소를 삭제하시겠습니까?",deleteAddress:"주소 삭제",addAddress:"주소 추가",editAddress:"주소 수정",addSuccess:"저장 성공",addError:"저장 실패",editSuccess:"수정 성공",editError:"수정 실패"},bigCard:{title:"상품 추천"}},Gt={"common.confirm":"Подтвердить","common.cancel":"Отмена","common.delete":"Удалить","common.edit":"Изменить","common.submitSuccess":"Успешно отправлено","product.button.normal":"Купить","product.button.finance":"Узнать подробнее","product.button.position":"Подать резюме","product.all":"Все","product.searchPlaceholder":"Введите имя для поиска","product.explaining":"В процессе объяснения","product.watchExplain":"Посмотреть объяснение","product.notExplained":"Ожидает объяснения","product.detail.title":"Детали товара","product.detail.video":"Видео","product.detail.image":"Изображение","product.detail.job":"Детали вакансии","product.price.free":"Бесплатно","product.empty":"Пока нет содержимого","product.price.hidden":"Цена уточняется","product.order":"Заказ","product.num":"Количество","product.disableBuy":"Покупка временно недоступна","product.allProduct":"Все","product.stock.soldOut":"Распродано","product.position.detail":"Детали вакансии",order:{title:"Центр заказов",chooseAddress:"Пожалуйста, добавьте адрес доставки",add:"Добавить",phone:"Номер телефона:",phonePlaceholder:"Пожалуйста, введите номер телефона",submitOrder:"Отправить заказ",addAddress:"Добавить адрес",applyRefund:"Заявить о возврате",refundTips:"Сумма возврата ",confirmRefund:"Возврат",refundFailed:"Возврат не удался",failed:"Не удалось инициировать",list:{all:"Все",waitPay:"Ожидает оплаты",waitDelivery:"Ожидает отправки",delivering:"Ожидает получения",finish:"Завершено",close:"Отменено",refunding:"В процессе возврата",refunded:"Возвращено",total:"Итого",waitPayBtnText:"Оплатить сейчас",waitDeliveryBtnText:"Посмотреть детали",deliveringBtnText:"Подтвердить получение",finishBtnText:"Посмотреть детали",closeBtnText:"Посмотреть детали",emptyText:"Пока нет заказов"},detail:{orderNo:"Номер заказа",createTime:"Время создания заказа",payTime:"Время оплаты",deliveryTime:"Время отправки",finishTime:"Время завершения",actualPay:"Фактически оплачено",payNow:"Оплатить сейчас",confirmReceipt:"Подтвердить получение",expired:"Истек срок действия",payAutoCancel:" автоматическая отмена",cancelReason:"Причина отмены",payTimeOut:"Время оплаты истекло",refundTips:"Сумма возврата вернется тем же способом",qrCodeTips:"Долго нажмите для распознавания или сохраните скриншот, свяжитесь с сервисом",qrCodeExpiredTips:"QR-код истек, временно невозможно связаться с сервисом",paymentMethod:"Способ оплаты",wechat:"Веб-приложение",alipay:"АлиПай"},confirmOrder:"Подтвердить заказ",shippingAddress:"Адрес доставки",noAddressTips:"Пожалуйста, заполните адрес доставки",paySuccess:"Оплата успешна",cancelPay:"Отменить оплату",payFailed:"Оплата не удалась",createOrderFailed:"Не удается создать заказ, попробуйте позже",wechatPayTips:"Пожалуйста, откройте эту страницу в WeChat для оплаты",confirmReceiptTips:"Пожалуйста, подтвердите, что посылка получена",confirmedReceipt:"Получение подтверждено"},addressEdit:{name:"Контактное лицо",namePlaceholder:"Пожалуйста, введите имя контактного лица",choiceAddress:"Выберите регион",addressPlaceholder:"Пожалуйста, выберите регион",phone:"Номер телефона",phonePlaceholder:"Пожалуйста, введите номер телефона",phoneError:"Пожалуйста, введите правильный номер телефона",addressDetail:"Подробный адрес",addressDetailPlaceholder:"Пожалуйста, заполните подробный адрес",error:"Пожалуйста, дополните информацию",submit:"Сохранить",deleteConfirm:"Вы уверены, что хотите удалить этот адрес?",addAddress:"Добавить адрес",editAddress:"Изменить адрес",deleteAddress:"Удалить адрес",addSuccess:"Успешно сохранено",addError:"Не удалось сохранить",editSuccess:"Успешно изменено",editError:"Не удалось изменить"},bigCard:{title:"Товары"}},Xt={[U.ZH_CN]:Vt,[U.ZH_TW]:Qt,[U.English]:Ut,[U.Japanese]:Kt,[U.Korean]:Jt,[U.Russian]:Gt};function Yt(e){return{ProductType:e.ProductType,ProductLinkType:e.ProductLinkType,ProductLinkJumpWay:e.ProductLinkJumpWay,ProductBuyType:e.ProductBuyType,ProductStatus:e.ProductStatus,ProductPriceType:e.ProductPriceType,ProductExplainStatus:e.ProductExplainStatus,ProductMediaType:e.ProductMediaType,ProductDeliveryType:e.ProductDeliveryType,ProductEvents:e.ProductEvents,ProductPushRule:e.ProductPushRule}}const ei=Symbol("PRODUCT_PROVIDE_KEY"),ti=t=>{const{product:i}=t;let n,r;if(t.entranceProps){const e=Yt(t.entranceProps.productTarget);n=e.ProductType,r=e.ProductBuyType}else{const t=(()=>{const t=e.inject(ei),i=t.getProductTarget();return d({productTarget:i,productConfig:t.productConfig},Yt(i))})();n=t.ProductType,r=t.ProductBuyType}const o=e.computed(()=>{let t;return t="function"==typeof i?i():e.unref(i),function(e){if(!n||!r||!e)return{enabled:!1,stock:0};if(e.productType===n.Normal){if(e.buyType===r.Link&&e.forceShowSoldOut)return{enabled:!0,stock:0};if(e.buyType===r.DirectBuy&&(null==e?void 0:e.stockEnabled))return{enabled:!0,stock:e.stock}}return{enabled:!1,stock:0}}(t)}),a=e.computed(()=>o.value.enabled&&o.value.stock<=0);return{stock:o,isSoldOut:a}},ii=['"',"'","&","<",">"," "],ni=[""","'","&","<",">"," "],ri=Object.create(null),oi=Object.create(null);ii.forEach((e,t)=>{ri[e]=ni[t],oi[ni[t]]=e});const ai=new RegExp("["+ii.join("")+"]","g");const si=(t={})=>{const{injectData:i}=K(),n=Ie.gte("7.0.12"),r=e.ref(!1),o=e.computed(()=>Fe&&n&&Ze);function a(){return l(this,null,function*(){var e;if(!Fe||!i.getWeixinSdk)return!1;const t=yield i.getWeixinSdk();return!!(null==(e=null==t?void 0:t.miniProgram)?void 0:e.getEnv)&&new Promise(e=>{var i;null==(i=t.miniProgram)||i.getEnv(t=>{e(!0===(null==t?void 0:t.miniprogram))})})})}e.onMounted(()=>{!function(){l(this,null,function*(){const e=yield a();r.value=e})}()});const s=e.ref(),d=e.computed(()=>{var e;return null==(e=t.getButtonOptions)?void 0:e.call(t)});function c(){if(!s.value||!o.value)return;const e=d.value;if(!e)return;const{wxMiniprogramOriginalId:i,wxMiniprogramLink:n,classKey:r}=e,a=s.value,c=a.clientWidth,l=a.clientHeight,u="wx-open-launch-weapp-"+function(e){if(!(e|=0)||e<0)throw new Error('"length" must be a number greater than 0');let t="";do{t+=Math.random().toString(36).substr(2)}while(t.length<e);return t=t.substr(0,e),t}(8),p=`\n <wx-open-launch-weapp\n id="${u}"\n username="${m=i,null==m?m:String(m).replace(ai,e=>ri[e])}"\n path="${n}"\n >\n <script type="text/wxtag-template">\n <style>.plv-iar-${r}-wx-buy-btn {width: ${c}px;height: ${l}px;}</style>\n <div class="plv-iar-${r}-wx-buy-btn"></div>\n <\/script>\n </wx-open-launch-weapp>\n `;var m;a.innerHTML=p,setTimeout(()=>{const e=document.querySelector(`#${u}`);null==e||e.addEventListener("launch",()=>{t.launchCallback&&t.launchCallback()}),null==e||e.addEventListener("error",e=>{const t=e;console.error("Launch error",t.detail)})},10)}return e.watch(()=>[s.value,o.value,d.value],()=>{setTimeout(()=>{c()},500)},{immediate:!0}),{isHighWeixinVersion:n,isWxMiniProgramWebview:r,supportWxOpenLaunchWeapp:o,supportWxMiniProgramNavigateTo:a,toWxMiniProgram:function(e){return l(this,null,function*(){var t;if(!Fe||!i.getWeixinSdk)return;const n=yield i.getWeixinSdk();null==(t=null==n?void 0:n.miniProgram)||t.navigateTo({url:e.startsWith("/")?e:`/${e}`})})},weixinBtnRef:s,createWxMiniProgramButton:c}},di=t=>{const{props:i,emit:n}=t,{isSoldOut:r}=ti({product:()=>i.productData}),{getEmitter:o,injectData:a}=K(),{$t:s}=(()=>{const{injectData:t}=K(),i={zh_CN:U.ZH_CN,zh_TW:U.ZH_TW,en:U.English,ja:U.Japanese,ko:U.Korean,ru:U.Russian},n=e.computed(()=>{const e=t.globalLang||U.ZH_CN;return"string"==typeof e&&i[e]?i[e]:e}),r=e.computed(()=>{const e=n.value;return Xt[e]||(console.warn(`Language data not found for: ${e}, falling back to zh_CN`),Xt[U.ZH_CN])}),o=e.computed(()=>{const e=n.value;return e===U.ZH_CN||e===U.ZH_TW});function a(e,t,i){return i.replace(new RegExp("\\{"+e+"}","g"),t)}return{currentLang:n,isZhCN:o,$t:function(e,t={}){let i=Zt(r.value,e);if(void 0===i||"string"!=typeof i)return console.warn(`Translation key not found: ${e}, current lang: ${n.value}`),e;if(t){const e=Object.keys(t);for(const n of e)i=a(n,t[n].toString(),i)}return i}}})(),c=e.computed(()=>i.productConfig),{isWxMiniProgramWebview:u,supportWxOpenLaunchWeapp:p,weixinBtnRef:m,toWxMiniProgram:f,supportWxMiniProgramNavigateTo:h}=si({getButtonOptions:()=>{const e=i.productData;return{wxMiniprogramOriginalId:e.wxMiniprogramOriginalId,wxMiniprogramLink:_(e.wxMiniprogramLink),classKey:"product"}},launchCallback:()=>S()}),{trackEvent:g}=(e=>{const{injectData:t}=K();return{trackEvent:function(i){t.trackEventCallback?t.trackEventCallback(i):e.trackEvent(i)}}})(i.productTarget.interactionCore),{ProductBuyType:b,ProductType:v,ProductLinkType:w}=Yt(i.productTarget),x=e.computed(()=>i.productData.productType===v.Normal&&i.productData.buyType===b.DirectBuy),P=e.computed(()=>{var e;return null!=(e=c.value.isPreviewMode)&&e}),T=e.computed(()=>{const e=i.productData;if(i.disabled)return!0;if(c.value.customProductDisabled){return!!c.value.customProductDisabled(e)}return!P.value&&(!!r.value||(e.productType===v.Normal&&!e.priceVisible&&e.realPrice>0||!x.value&&(e.linkType===w.Normal?!e.link:e.linkType===w.MultiPlatform&&O.value)))}),O=e.computed(()=>{const{link:e,pcLink:t,mobileLink:n,wxMiniprogramLink:r,mobileAppLink:o}=i.productData;return!k.value&&((!u.value||!r)&&(Ze?!n&&!o:!!Ze||!t&&!e))}),k=e.computed(()=>"function"!=typeof c.value.customClickButtonHandler&&(!x.value&&(!u.value&&(p.value&&!!i.productData.wxMiniprogramOriginalId)))),E=e.computed(()=>{let e=s("product.button.normal");switch(i.productData.productType){case v.Normal:e=s("product.button.normal");break;case v.Finance:e=s("product.button.finance");break;case v.Position:e=s("product.button.position")}return i.productData.buttonText||e});function _(e,t={}){let i=d({},t);if(c.value.getLinkParams){const t=c.value.getLinkParams(e);i=Object.assign({},i,t)}return y(e,i)}function A(e){var t;const i=(null==(t=a.isPlvWebview)?void 0:t.call(a))||!1;console.info("商品库是否处于 webview 环境:",i),i?window.location.href=e:window.open(e,"_blank","noopener=yes")}function C(e,t){switch(console.info("我进入到 openLink 了"),t){case F.NewWindow:A(e);break;case F.CurrentWindow:window.location.href=e;break;case F.PopUp:o().emit(Ve,e);break;default:A(e)}}function S(){return l(this,null,function*(){const e=i.productData,t=yield i.productTarget.getCurrentPushingProduct();g({event_id:"product_click_button",event_type:"click",spec_attrs:{buyType:e.productType===v.Normal?e.buyType:"",deliveryType:e.productType===v.Normal?e.deliveryType:"",name:e.name,productId:e.productId,productType:e.productType,productPushRule:(null==t?void 0:t.pushRule)||""}}),i.productTarget.sendProductClickEvent({productId:e.productId,name:e.name,productType:e.productType})})}return{isButtonDisabled:T,isWeixinButton:k,isPreviewMode:P,buttonText:E,weixinBtnRef:m,formatProductLink:_,onClickLinkBtn:function(){return l(this,null,function*(){const e=i.productData;if(i.beforeClickInterrupt&&ct(i.beforeClickInterrupt)){if(yield i.beforeClickInterrupt())return}if(S(),c.value.customClickButtonHandler)return void c.value.customClickButtonHandler(e);if(x.value)return void n("direct-buy",i.productData);const t=function(){const e=i.productData;console.info("我拿到了原始数据",e);const t={jumpWay:e.jumpWay,link:e.link,pcLink:e.pcLink,mobileAppLink:e.mobileAppLink,androidLink:e.androidLink,iosLink:e.iosLink,harmonyLink:e.harmonyLink,wxMiniprogramOriginalId:e.wxMiniprogramOriginalId,wxMiniprogramAppId:e.wxMiniprogramAppId,wxMiniprogramLink:e.wxMiniprogramLink};return e.linkType===w.Normal&&(console.info("进入到通用链接适配"),t.pcLink="",t.mobileAppLink="",t.androidLink="",t.iosLink="",t.harmonyLink="",t.wxMiniprogramOriginalId="",t.wxMiniprogramAppId="",t.wxMiniprogramLink=""),e.linkType!==w.MultiPlatform||e.link||(console.info("进入到多平台链接适配"),t.link=e.mobileLink),console.info("最后的数据",t),t}();Z({linkData:t,usePlvWebviewBridge:a.usePlvWebviewBridge||!1,getLinkParams:c.value.getLinkParams,openLink:C,isPlvWebview:a.isPlvWebview,isMobile:a.isMobile,getPlvWebviewBridge:a.getPlvWebviewBridge,getPlvWebviewSmallWindowSize:a.getPlvWebviewSmallWindowSize,isWxMiniProgramEnv:h,toWxMiniProgram:f})})}}},ci=e.defineComponent({__name:"product-button",props:((e,t)=>i(e,n(t)))(d({},{productTarget:De.object().isRequired,productConfig:De.object().def({})}),{beforeClickInterrupt:De.func(),productData:De.object().isRequired,disabled:De.bool.def(!1)}),emits:{"direct-buy":()=>!0},setup(e,{emit:t}){const i=e,{isButtonDisabled:n,buttonText:r,isWeixinButton:o,isPreviewMode:a,weixinBtnRef:s,onClickLinkBtn:d}=di({props:i,emit:t});return{__sfc:!0,props:i,emit:t,isButtonDisabled:n,buttonText:r,isWeixinButton:o,isPreviewMode:a,weixinBtnRef:s,onClickLinkBtn:d}}});function li(e,t,i,n,r,o,a,s){var d="function"==typeof e?e.options:e;return t&&(d.render=t,d.staticRenderFns=i,d._compiled=!0),{exports:e,options:d}}var ui=function(){var e=this,t=e._self._c,i=e._self._setupProxy;return t("div",{staticClass:"plv-product-button",class:{"is-disabled":i.isButtonDisabled}},[t("div",{staticClass:"plv-product-button__render"},[e._t("default",null,{buttonText:i.buttonText,disabled:i.isButtonDisabled})],2),i.isButtonDisabled||i.isPreviewMode?e._e():[i.isWeixinButton?t("div",{key:"weixin-btn",ref:"weixinBtnRef",staticClass:"plv-product-button__inner plv-product-button__inner--wx"}):t("div",{key:"link-btn",staticClass:"plv-product-button__inner plv-product-button__inner--link",on:{click:function(e){return e.stopPropagation(),i.onClickLinkBtn.apply(null,arguments)}}})]],2)};return li(ci,ui,[]).exports}),console.log("%c@polyv/product-ui","background:#409EFF;padding: 2px 6px;border-radius: 3px;color: #fff","[component: product-button]","[version: 1.9.0-rc-20251225.2]","[buildTime: 2025-12-25 11:09:05]");
|
|
9
|
+
function J(e){return"[object Object]"===Object.prototype.toString.call(e)}function G(){return G=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},G.apply(this,arguments)}function X(e,t){if(null==e)return{};var i,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)t.indexOf(i=o[n])>=0||(r[i]=e[i]);return r}const Y={silent:!1,logLevel:"warn"},ee=["validator"],te=Object.prototype,ie=te.toString,ne=te.hasOwnProperty,re=/^\s*function (\w+)/;function oe(e){var t;const i=null!==(t=null==e?void 0:e.type)&&void 0!==t?t:e;if(i){const e=i.toString().match(re);return e?e[1]:""}return""}const ae=function(e){var t,i;return!1!==J(e)&&(void 0===(t=e.constructor)||!1!==J(i=t.prototype)&&!1!==i.hasOwnProperty("isPrototypeOf"))},se=e=>e;let de=se;if("production"!=={}.NODE_ENV){const e="undefined"!=typeof console;de=e?function(e,t=Y.logLevel){!1===Y.silent&&console[t](`[VueTypes warn]: ${e}`)}:se}const ce=(e,t)=>ne.call(e,t),le=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},ue=Array.isArray||function(e){return"[object Array]"===ie.call(e)},pe=e=>"[object Function]"===ie.call(e),me=(e,t)=>ae(e)&&ce(e,"_vueTypes_name")&&(!t||e._vueTypes_name===t),fe=e=>ae(e)&&(ce(e,"type")||["_vueTypes_name","validator","default","required"].some(t=>ce(e,t)));function he(e,t){return Object.defineProperty(e.bind(t),"__original",{value:e})}function ye(e,t,i=!1){let n,r=!0,o="";n=ae(e)?e:{type:e};const a=me(n)?n._vueTypes_name+" - ":"";if(fe(n)&&null!==n.type){if(void 0===n.type||!0===n.type)return r;if(!n.required&&null==t)return r;ue(n.type)?(r=n.type.some(e=>!0===ye(e,t,!0)),o=n.type.map(e=>oe(e)).join(" or ")):(o=oe(n),r="Array"===o?ue(t):"Object"===o?ae(t):"String"===o||"Number"===o||"Boolean"===o||"Function"===o?function(e){if(null==e)return"";const t=e.constructor.toString().match(re);return t?t[1].replace(/^Async/,""):""}(t)===o:t instanceof n.type)}if(!r){const e=`${a}value "${t}" should be of type "${o}"`;return!1===i?(de(e),!1):e}if(ce(n,"validator")&&pe(n.validator)){const e=de,o=[];if(de=e=>{o.push(e)},r=n.validator(t),de=e,!r){const e=(o.length>1?"* ":"")+o.join("\n* ");return o.length=0,!1===i?(de(e),r):e}}return r}function ge(e,t){const i=Object.defineProperties(t,{_vueTypes_name:{value:e,writable:!0},isRequired:{get(){return this.required=!0,this}},def:{value(e){return void 0===e?this.type===Boolean||Array.isArray(this.type)&&this.type.includes(Boolean)?void(this.default=void 0):(ce(this,"default")&&delete this.default,this):pe(e)||!0===ye(this,e,!0)?(this.default=ue(e)?()=>[...e]:ae(e)?()=>Object.assign({},e):e,this):(de(`${this._vueTypes_name} - invalid default value: "${e}"`),this)}}}),{validator:n}=i;return pe(n)&&(i.validator=he(n,i)),i}function be(e,t){const i=ge(e,t);return Object.defineProperty(i,"validate",{value(e){return pe(this.validator)&&de(`${this._vueTypes_name} - calling .validate() will overwrite the current custom validator function. Validator info:\n${JSON.stringify(this)}`),this.validator=he(e,this),this}})}function ve(e,t,i){const n=function(e){const t={};return Object.getOwnPropertyNames(e).forEach(i=>{t[i]=Object.getOwnPropertyDescriptor(e,i)}),Object.defineProperties({},t)}(t);if(n._vueTypes_name=e,!ae(i))return n;const{validator:r}=i,o=X(i,ee);if(pe(r)){let{validator:e}=n;e&&(e=null!==(s=(a=e).__original)&&void 0!==s?s:a),n.validator=he(e?function(t){return e.call(this,t)&&r.call(this,t)}:r,n)}var a,s;return Object.assign(n,o)}function we(e){return e.replace(/^(?!\s*$)/gm," ")}const xe=()=>be("any",{}),Pe=()=>be("function",{type:Function}),Te=()=>be("boolean",{type:Boolean}),Oe=()=>be("string",{type:String}),ke=()=>be("number",{type:Number}),Ee=()=>be("array",{type:Array}),_e=()=>be("object",{type:Object});function Ae(e,t="custom validation failed"){if("function"!=typeof e)throw new TypeError("[VueTypes error]: You must provide a function as argument");return ge(e.name||"<<anonymous function>>",{type:null,validator(i){const n=e(i);return n||de(`${this._vueTypes_name} - ${t}`),n}})}function Ce(e){if(!ue(e))throw new TypeError("[VueTypes error]: You must provide an array as argument.");const t=`oneOf - value should be one of "${e.map(e=>"symbol"==typeof e?e.toString():e).join('", "')}".`,i={validator(i){const n=-1!==e.indexOf(i);return n||de(t),n}};if(-1===e.indexOf(null)){const t=e.reduce((e,t)=>{if(null!=t){const i=t.constructor;-1===e.indexOf(i)&&e.push(i)}return e},[]);t.length>0&&(i.type=t)}return ge("oneOf",i)}function Se(e){if(!ue(e))throw new TypeError("[VueTypes error]: You must provide an array as argument");let t=!1,i=!1,n=[];for(let o=0;o<e.length;o+=1){const r=e[o];if(fe(r)){if(pe(r.validator)&&(t=!0),me(r,"oneOf")&&r.type){n=n.concat(r.type);continue}if(me(r,"nullable")){i=!0;continue}if(!0===r.type||!r.type){de('oneOfType - invalid usage of "true" and "null" as types.');continue}n=n.concat(r.type)}else n.push(r)}n=n.filter((e,t)=>n.indexOf(e)===t);const r=!1===i&&n.length>0?n:null;return ge("oneOfType",t?{type:r,validator(t){const i=[],n=e.some(e=>{const n=ye(e,t,!0);return"string"==typeof n&&i.push(n),!0===n});return n||de(`oneOfType - provided value does not match any of the ${i.length} passed-in validators:\n${we(i.join("\n"))}`),n}}:{type:r})}function je(e){return ge("arrayOf",{type:Array,validator(t){let i="";const n=t.every(t=>(i=ye(e,t,!0),!0===i));return n||de(`arrayOf - value validation error:\n${we(i)}`),n}})}function We(e){return ge("instanceOf",{type:e})}function Be(e){return ge("objectOf",{type:Object,validator(t){let i="";const n=Object.keys(t).every(n=>(i=ye(e,t[n],!0),!0===i));return n||de(`objectOf - value validation error:\n${we(i)}`),n}})}function Le(e){const t=Object.keys(e),i=t.filter(t=>{var i;return!(null===(i=e[t])||void 0===i||!i.required)}),n=ge("shape",{type:Object,validator(n){if(!ae(n))return!1;const r=Object.keys(n);if(i.length>0&&i.some(e=>-1===r.indexOf(e))){const e=i.filter(e=>-1===r.indexOf(e));return de(1===e.length?`shape - required property "${e[0]}" is not defined.`:`shape - required properties "${e.join('", "')}" are not defined.`),!1}return r.every(i=>{if(-1===t.indexOf(i))return!0===this._vueTypes_isLoose||(de(`shape - shape definition does not include a "${i}" property. Allowed keys: "${t.join('", "')}".`),!1);const r=ye(e[i],n[i],!0);return"string"==typeof r&&de(`shape - "${i}" property validation error:\n ${we(r)}`),!0===r})}});return Object.defineProperty(n,"_vueTypes_isLoose",{writable:!0,value:!1}),Object.defineProperty(n,"loose",{get(){return this._vueTypes_isLoose=!0,this}}),n}const Me=["name","validate","getter"],Re=(()=>{var e;return(e=class{static get any(){return xe()}static get func(){return Pe().def(this.defaults.func)}static get bool(){return void 0===this.defaults.bool?Te():Te().def(this.defaults.bool)}static get string(){return Oe().def(this.defaults.string)}static get number(){return ke().def(this.defaults.number)}static get array(){return Ee().def(this.defaults.array)}static get object(){return _e().def(this.defaults.object)}static get integer(){return ge("integer",{type:Number,validator(e){const t=le(e);return!1===t&&de(`integer - "${e}" is not an integer`),t}}).def(this.defaults.integer)}static get symbol(){return ge("symbol",{validator(e){const t="symbol"==typeof e;return!1===t&&de(`symbol - invalid value "${e}"`),t}})}static get nullable(){return Object.defineProperty({type:null,validator(e){const t=null===e;return!1===t&&de("nullable - value should be null"),t}},"_vueTypes_name",{value:"nullable"})}static extend(e){if(de("VueTypes.extend is deprecated. Use the ES6+ method instead. See https://dwightjack.github.io/vue-types/advanced/extending-vue-types.html#extending-namespaced-validators-in-es6 for details."),ue(e))return e.forEach(e=>this.extend(e)),this;const{name:t,validate:i=!1,getter:n=!1}=e,r=X(e,Me);if(ce(this,t))throw new TypeError(`[VueTypes error]: Type "${t}" already defined`);const{type:o}=r;if(me(o))return delete r.type,Object.defineProperty(this,t,n?{get:()=>ve(t,o,r)}:{value(...e){const i=ve(t,o,r);return i.validator&&(i.validator=i.validator.bind(i,...e)),i}});let a;return a=n?{get(){const e=Object.assign({},r);return i?be(t,e):ge(t,e)},enumerable:!0}:{value(...e){const n=Object.assign({},r);let o;return o=i?be(t,n):ge(t,n),n.validator&&(o.validator=n.validator.bind(o,...e)),o},enumerable:!0},Object.defineProperty(this,t,a)}}).defaults={},e.sensibleDefaults=void 0,e.config=Y,e.custom=Ae,e.oneOf=Ce,e.instanceOf=We,e.oneOfType=Se,e.arrayOf=je,e.objectOf=Be,e.shape=Le,e.utils={validate:(e,t)=>!0===ye(t,e,!0),toType:(e,t,i=!1)=>i?be(e,t):ge(e,t)},e})();!function(e={func:()=>{},bool:!0,string:"",number:0,array:()=>[],object:()=>({}),integer:0}){var t;(t=class extends Re{static get sensibleDefaults(){return G({},this.defaults)}static set sensibleDefaults(t){this.defaults=!1!==t?G({},!0!==t?t:e):{}}}).defaults=G({},e)}();class De{static get string(){return Oe().def("")}static get looseString(){return Oe()}static get number(){return ke().def(0)}static get looseNumber(){return ke()}static get bool(){return Te().def(!0)}static get looseBool(){return Se([]).def(void 0)}static get looseElement(){return Se([]).def(void 0)}}c(De,"objectType",_e),c(De,"array",()=>Ee().def([])),c(De,"object",_e),c(De,"func",Pe),c(De,"oneOf",Ce),c(De,"oneOfType",Se),c(De,"enum",Oe),c(De,"any",xe);const $e=navigator.userAgent.toLowerCase(),Ne=L();Ne.os.isAndroid,Ne.os.isIOS;const Ie=Ne.client.version,Fe=Ne.client.isWx,qe=Ne.client.isWxWork,He=(Fe||qe)&&/miniprogramenv/.test($e);const ze=function(){const e=navigator.userAgent;return!!/mobile|android/i.test(e)||!/\b(Windows\sNT|Macintosh|x86(_(32|64))?|amd64|i[1-6]86)\b/.test(e)&&"onorientationchange"in window}();ze&&function(){const e=navigator.userAgent;!!/(?:iPad|PlayBook)/.test(e)||(Ne.os.isAndroid&&!/(?:Mobile)/.test(e)||/(?:Tablet)/.test(e))}();const Ze=(()=>ze||He)(),Ve="openProductIframeLinkPopup";var Qe=Array.isArray,Ue="object"==typeof global&&global&&global.Object===Object&&global,Ke="object"==typeof self&&self&&self.Object===Object&&self,Je=Ue||Ke||Function("return this")(),Ge=Je.Symbol,Xe=Object.prototype,Ye=Xe.hasOwnProperty,et=Xe.toString,tt=Ge?Ge.toStringTag:void 0;var it=Object.prototype.toString;var nt=Ge?Ge.toStringTag:void 0;function rt(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":nt&&nt in Object(e)?function(e){var t=Ye.call(e,tt),i=e[tt];try{e[tt]=void 0;var n=!0}catch(o){}var r=et.call(e);return n&&(t?e[tt]=i:delete e[tt]),r}(e):function(e){return it.call(e)}(e)}function ot(e){return"symbol"==typeof e||function(e){return null!=e&&"object"==typeof e}(e)&&"[object Symbol]"==rt(e)}var at=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,st=/^\w*$/;function dt(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ct(e){if(!dt(e))return!1;var t=rt(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var lt,ut=Je["__core-js_shared__"],pt=(lt=/[^.]+$/.exec(ut&&ut.keys&&ut.keys.IE_PROTO||""))?"Symbol(src)_1."+lt:"";var mt=Function.prototype.toString;var ft=/^\[object .+?Constructor\]$/,ht=Function.prototype,yt=Object.prototype,gt=ht.toString,bt=yt.hasOwnProperty,vt=RegExp("^"+gt.call(bt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function wt(e){return!(!dt(e)||(t=e,pt&&pt in t))&&(ct(e)?vt:ft).test(function(e){if(null!=e){try{return mt.call(e)}catch(t){}try{return e+""}catch(t){}}return""}(e));var t}function xt(e,t){var i=function(e,t){return null==e?void 0:e[t]}(e,t);return wt(i)?i:void 0}var Pt=xt(Object,"create");var Tt=Object.prototype.hasOwnProperty;var Ot=Object.prototype.hasOwnProperty;function kt(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function Et(e,t){return e===t||e!=e&&t!=t}function _t(e,t){for(var i=e.length;i--;)if(Et(e[i][0],t))return i;return-1}kt.prototype.clear=function(){this.__data__=Pt?Pt(null):{},this.size=0},kt.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},kt.prototype.get=function(e){var t=this.__data__;if(Pt){var i=t[e];return"__lodash_hash_undefined__"===i?void 0:i}return Tt.call(t,e)?t[e]:void 0},kt.prototype.has=function(e){var t=this.__data__;return Pt?void 0!==t[e]:Ot.call(t,e)},kt.prototype.set=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=Pt&&void 0===t?"__lodash_hash_undefined__":t,this};var At=Array.prototype.splice;function Ct(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}Ct.prototype.clear=function(){this.__data__=[],this.size=0},Ct.prototype.delete=function(e){var t=this.__data__,i=_t(t,e);return!(i<0)&&(i==t.length-1?t.pop():At.call(t,i,1),--this.size,!0)},Ct.prototype.get=function(e){var t=this.__data__,i=_t(t,e);return i<0?void 0:t[i][1]},Ct.prototype.has=function(e){return _t(this.__data__,e)>-1},Ct.prototype.set=function(e,t){var i=this.__data__,n=_t(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this};var St=xt(Je,"Map");function jt(e,t){var i,n,r=e.__data__;return("string"==(n=typeof(i=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==i:null===i)?r["string"==typeof t?"string":"hash"]:r.map}function Wt(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}Wt.prototype.clear=function(){this.size=0,this.__data__={hash:new kt,map:new(St||Ct),string:new kt}},Wt.prototype.delete=function(e){var t=jt(this,e).delete(e);return this.size-=t?1:0,t},Wt.prototype.get=function(e){return jt(this,e).get(e)},Wt.prototype.has=function(e){return jt(this,e).has(e)},Wt.prototype.set=function(e,t){var i=jt(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this};function Bt(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var i=function(){var n=arguments,r=t?t.apply(this,n):n[0],o=i.cache;if(o.has(r))return o.get(r);var a=e.apply(this,n);return i.cache=o.set(r,a)||o,a};return i.cache=new(Bt.Cache||Wt),i}Bt.Cache=Wt;var Lt,Mt,Rt,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$t=/\\(\\)?/g,Nt=(Lt=function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Dt,function(e,i,n,r){t.push(n?r.replace($t,"$1"):i||e)}),t},Mt=Bt(Lt,function(e){return 500===Rt.size&&Rt.clear(),e}),Rt=Mt.cache,Mt);var It=Ge?Ge.prototype:void 0,Ft=It?It.toString:void 0;function qt(e){if("string"==typeof e)return e;if(Qe(e))return function(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i<n;)r[i]=t(e[i],i,e);return r}(e,qt)+"";if(ot(e))return Ft?Ft.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Ht(e,t){return Qe(e)?e:function(e,t){if(Qe(e))return!1;var i=typeof e;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=e&&!ot(e))||st.test(e)||!at.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:Nt(function(e){return null==e?"":qt(e)}(e))}function zt(e){if("string"==typeof e||ot(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Zt(e,t,i){var n=null==e?void 0:function(e,t){for(var i=0,n=(t=Ht(t,e)).length;null!=e&&i<n;)e=e[zt(t[i++])];return i&&i==n?e:void 0}(e,t);return void 0===n?i:n}const Vt={"common.confirm":"确认","common.cancel":"取消","common.delete":"删除","common.edit":"修改","common.submitSuccess":"提交成功","product.button.normal":"去购买","product.button.finance":"立即了解","product.button.position":"投递简历","product.all":"全部","product.searchPlaceholder":"输入名称搜索","product.explaining":"讲解中","product.watchExplain":"看讲解","product.notExplained":"待讲解","product.detail.title":"商品详情","product.detail.video":"视频","product.detail.image":"图片","product.detail.job":"职位详情","product.price.free":"免费","product.empty":"暂无内容","product.price.hidden":"待开价","product.order":"订单","product.num":"数量","product.disableBuy":"暂不支持购买","product.allProduct":"全部","product.stock.soldOut":"已抢光","product.position.detail":"职位详情",order:{title:"订单中心",chooseAddress:"请添加收货地址",add:"去添加",phone:"手机号码:",phonePlaceholder:"请输入手机号码",submitOrder:"提交订单",addAddress:"添加地址",applyRefund:"申请退款",refundTips:"退款金额 ",confirmRefund:"退款",refundFailed:"退款失败",failed:"发起失败",list:{all:"全部",waitPay:"待支付",waitDelivery:"待发货",delivering:"待收货",finish:"已完成",close:"已取消",refunding:"退款中",refunded:"已退款",total:"合计",waitPayBtnText:"立即支付",waitDeliveryBtnText:"查看详情",deliveringBtnText:"确认收货",finishBtnText:"查看详情",closeBtnText:"查看详情",emptyText:"暂无订单"},detail:{orderNo:"订单号",createTime:"下单时间",payTime:"支付时间",deliveryTime:"发货时间",finishTime:"完成时间",actualPay:"实付",payNow:"立即支付",confirmReceipt:"确认收货",expired:"已失效",payAutoCancel:" 后自动取消",cancelReason:"取消原因",payTimeOut:"超时未支付",refundTips:"退款金额原路返回",qrCodeTips:"长按识别或截图保存,联系客服",qrCodeExpiredTips:"二维码已失效,暂时无法联系客服",paymentMethod:"支付方式",wechat:"微信",alipay:"支付宝"},confirmOrder:"确认订单",shippingAddress:"收货地址",noAddressTips:"请填写收货地址",paySuccess:"支付成功",cancelPay:"取消支付",payFailed:"支付失败",createOrderFailed:"无法创建订单,请稍后重试",wechatPayTips:"请在微信中打开本页进行支付",confirmReceiptTips:"请确认已经收到包裹",confirmedReceipt:"已确认收货"},addressEdit:{name:"联系人",namePlaceholder:"请填写联系人姓名",choiceAddress:"选择地区",addressPlaceholder:"请选择地区",phone:"手机号码",phonePlaceholder:"请填写手机号码",phoneError:"请输入正确的手机号",addressDetail:"详细地址",addressDetailPlaceholder:"请填写详细地址",error:"请完善信息",submit:"保存",deleteConfirm:"确定要删除该地址吗?",addAddress:"添加地址",editAddress:"修改地址",deleteAddress:"删除地址",addSuccess:"保存成功",addError:"保存失败",editSuccess:"修改成功",editError:"修改失败"},bigCard:{title:"商品推荐"}},Qt={"common.confirm":"確認","common.cancel":"取消","common.delete":"刪除","common.edit":"修改","common.submitSuccess":"提交成功","product.button.normal":"去購買","product.button.finance":"立即瞭解","product.button.position":"投遞簡歷","product.all":"全部","product.searchPlaceholder":"輸入名稱搜索","product.explaining":"講解中","product.watchExplain":"看講解","product.notExplained":"待講解","product.detail.title":"商品詳情","product.detail.video":"視頻","product.detail.image":"圖片","product.detail.job":"職位詳情","product.price.free":"免費","product.empty":"暫無內容","product.price.hidden":"待開價","product.order":"訂單","product.num":"數量","product.disableBuy":"暫不支持購買","product.allProduct":"全部","product.stock.soldOut":"已搶光","product.position.detail":"職位詳情",order:{title:"訂單中心",chooseAddress:"請添加收貨地址",add:"去添加",phone:"手機號碼:",phonePlaceholder:"請輸入手機號碼",submitOrder:"提交訂單",addAddress:"添加地址",applyRefund:"申請退款",refundTips:"退款金額 ",confirmRefund:"退款",refundFailed:"退款失敗",failed:"发起失敗",list:{all:"全部",waitPay:"待支付",waitDelivery:"待發貨",delivering:"待收貨",finish:"已完成",close:"已取消",refunding:"退款中",refunded:"已退款",total:"合計",waitPayBtnText:"立即支付",waitDeliveryBtnText:"查看詳情",deliveringBtnText:"確認收貨",finishBtnText:"查看詳情",closeBtnText:"查看詳情",emptyText:"暫無訂單"},detail:{orderNo:"訂單號",createTime:"下單時間",payTime:"支付時間",deliveryTime:"發貨時間",finishTime:"完成時間",actualPay:"實付",payNow:"立即支付",confirmReceipt:"確認收貨",expired:"已失效",payAutoCancel:" 後自動取消",cancelReason:"取消原因",payTimeOut:"超時未支付",refundTips:"退款金額原路返回",qrCodeTips:"長按識別或截圖保存,聯繫客服",qrCodeExpiredTips:"二維碼已失效,暫時無法聯繫客服",paymentMethod:"支付方式",wechat:"微信",alipay:"支付寶"},confirmOrder:"確認訂單",shippingAddress:"收貨地址",noAddressTips:"請填寫收貨地址",paySuccess:"支付成功",payFailed:"支付失敗",cancelPay:"取消支付",createOrderFailed:"無法創建訂單,請稍後重試",wechatPayTips:"請在微信中打開本頁進行支付",confirmReceiptTips:"請確認已經收到包裹",confirmedReceipt:"已確認收貨"},addressEdit:{name:"聯絡人",namePlaceholder:"請填寫聯絡人",choiceAddress:"選擇地區",addressPlaceholder:"請選擇地區",phone:"手機號碼",phonePlaceholder:"請填寫手機號碼",phoneError:"請輸入正確的手機號",addressDetail:"詳細地址",addressDetailPlaceholder:"請填寫詳細地址",error:"請完善信息",submit:"保存",deleteConfirm:"確定要刪除該地址嗎?",deleteAddress:"刪除地址",addAddress:"添加地址",editAddress:"修改地址",addSuccess:"保存成功",addError:"保存失敗",editSuccess:"修改成功",editError:"修改失敗"},bigCard:{title:"商品推薦"}},Ut={"common.confirm":"Confirm","common.cancel":"Cancel","common.delete":"Delete","common.edit":"Edit","common.submitSuccess":"Submit Success","product.button.normal":"Buy Now","product.button.finance":"Learn More","product.button.position":"Submit Resume","product.all":"All","product.searchPlaceholder":"Enter a name to search","product.explaining":"Explaining","product.watchExplain":"Watch Now","product.notExplained":"Pending","product.detail.title":"Product Details","product.detail.video":"Video","product.detail.image":"Image","product.detail.job":"Job Details","product.price.free":"Free","product.empty":"No Content","product.price.hidden":"Pending Price","product.order":"Order","product.num":"Quantity","product.disableBuy":"Purchase not supported","product.allProduct":"All","product.stock.soldOut":"Sold Out","product.position.detail":"Job Details",order:{title:"Order Center",chooseAddress:"Add Shipping Address",add:"Add Shipping Address",phone:"Phone:",phonePlaceholder:"Enter Phone",submitOrder:"Submit",addAddress:"Add Address",applyRefund:"Apply Refund",refundTips:"Refund Amount ",confirmRefund:"Refund",refundFailed:"Refund Failed",failed:"Failed",list:{all:"All",waitPay:"Wait Payment",waitDelivery:"Wait Delivery",delivering:"Delivering",finish:"Finished",close:"Closed",refunding:"Refunding",refunded:"Refunded",total:"Total",waitPayBtnText:"Pay Now",waitDeliveryBtnText:"View Details",deliveringBtnText:"Confirm Receipt",finishBtnText:"View Details",closeBtnText:"View Details",emptyText:"No Order History"},detail:{orderNo:"Order Number",createTime:"Order Time",payTime:"Payment Time",deliveryTime:"Delivery Time",finishTime:"Completion Time",actualPay:"Total Amount",payNow:"Pay Now",confirmReceipt:"Confirm Receipt",expired:"Expired",payAutoCancel:"Cancel",cancelReason:"Cancel Reason",payTimeOut:"Pay Time Out",refundTips:"Refund amount returned to the original path",qrCodeTips:"Long press to scan or save screenshot for support",qrCodeExpiredTips:"QR code expired, support unavailable",paymentMethod:"Payment Method",wechat:"Wechat",alipay:"Alipay"},confirmOrder:"Confirm Order",shippingAddress:"Shipping Address",noAddressTips:"Please fill in the shipping address",paySuccess:"Payment Success",cancelPay:"Cancel Payment",payFailed:"Payment Failed",createOrderFailed:"Failed to create order, please try again later",wechatPayTips:"Please open this page in WeChat to pay",confirmReceiptTips:"Have you received the package?",confirmedReceipt:"Confirmed Receipt"},addressEdit:{name:"Name",namePlaceholder:"Enter Name",choiceAddress:"Select Area",addressPlaceholder:"Select Area",phone:"Phone",phonePlaceholder:"Enter Phone",phoneError:"Please enter a valid phone number",addressDetail:"Address Detail",addressDetailPlaceholder:"Enter Address Detail",error:"Please fill in all required fields",submit:"Save",deleteConfirm:"Delete this address?",deleteAddress:"Yes",addAddress:"Add Address",editAddress:"Edit Address",addSuccess:"Save Success",addError:"Save Failed",editSuccess:"Edit Success",editError:"Edit Failed"},bigCard:{title:"Top Picks"}},Kt={"common.confirm":"確認","common.cancel":"キャンセル","common.delete":"削除","common.edit":"編集","common.submitSuccess":"提出成功","product.button.normal":"購入する","product.button.finance":"今すぐ詳細を見る","product.button.position":"履歴書を送信","product.all":"すべて","product.searchPlaceholder":"名前を入力して検索","product.explaining":"解説中","product.watchExplain":"解説を見る","product.notExplained":"解説なし","product.detail.title":"商品詳細","product.detail.video":"ビデオ","product.detail.image":"画像","product.detail.job":"職務詳細","product.price.free":"無料","product.empty":"内容なし","product.price.hidden":"価格非公開","product.order":"注文","product.num":"数量","product.disableBuy":"購入不可","product.allProduct":"すべて","product.stock.soldOut":"売り切れ","product.position.detail":"職務詳細",order:{title:"注文中心",chooseAddress:"配送先を追加",add:"配送先を追加",phone:"電話番号:",phonePlaceholder:"電話番号を入力",submitOrder:"注文を提出",addAddress:"配送先を追加",applyRefund:"退款申請",refundTips:"退款金額 ",confirmRefund:"退款",refundFailed:"退款失敗",failed:"失敗",list:{all:"全て",waitPay:"支払い待ち",waitDelivery:"発送待ち",delivering:"配送中",finish:"完了",close:"キャンセル",refunding:"退款中",refunded:"退款完了",total:"合計",waitPayBtnText:"支払い",waitDeliveryBtnText:"詳細を見る",deliveringBtnText:"確認受け取り",finishBtnText:"詳細を見る",closeBtnText:"詳細を見る",emptyText:"注文履歴がありません"},detail:{orderNo:"注文番号",createTime:"注文日時",payTime:"支払い日時",deliveryTime:"発送日時",finishTime:"完了日時",actualPay:"実払い",payNow:"支払い",confirmReceipt:"確認受け取り",expired:"失効",payAutoCancel:" 後自動キャンセル",cancelReason:"キャンセル理由",payTimeOut:"超時未支払い",refundTips:"退款金額原路返回",qrCodeTips:"長押し識別またはスクリーンショット保存、サポートにお問い合わせください",qrCodeExpiredTips:"QRコードは失効しました。暫時的にサポートに連絡できません",paymentMethod:"支払い方法",wechat:"ウェブアプリ",alipay:"アリペイ"},confirmOrder:"注文を確認",shippingAddress:"配送先",noAddressTips:"配送先を入力してください",paySuccess:"支払い成功",cancelPay:"支払いをキャンセル",payFailed:"支払い失敗",createOrderFailed:"注文の作成に失敗しました。後で再試行してください。",wechatPayTips:"WeChatでこのページを開いて支払いしてください",confirmReceiptTips:"パッケージを確認しましたか?",confirmedReceipt:"確認受け取り完了"},addressEdit:{name:"連絡先",namePlaceholder:"連絡先を入力",choiceAddress:"地域を選択",addressPlaceholder:"地域を選択",phone:"電話番号",phonePlaceholder:"電話番号を入力",phoneError:"正しい電話番号を入力してください",addressDetail:"詳細住所",addressDetailPlaceholder:"詳細住所を入力",error:"情報を入力してください",submit:"保存",deleteConfirm:"この住所を削除しますか?",deleteAddress:"住所を削除",addAddress:"住所を追加",editAddress:"住所を編集",addSuccess:"保存成功",addError:"保存失敗",editSuccess:"編集成功",editError:"編集失敗"},bigCard:{title:"商品推薦"}},Jt={"common.confirm":"확인","common.cancel":"취소","common.delete":"삭제","common.edit":"수정","common.submitSuccess":"제출 성공","product.button.normal":"구매하기","product.button.finance":"지금 알아보기","product.button.position":"이력서 제출","product.all":"모든","product.searchPlaceholder":"이름을 입력하고 검색","product.explaining":"설명중","product.watchExplain":"설명 보기","product.notExplained":"설명 없음","product.detail.title":"상품 상세","product.detail.video":"비디오","product.detail.image":"이미지","product.detail.job":"직무 상세","product.price.free":"무료","product.empty":"내용 없음","product.price.hidden":"가격 미공개","product.order":"주문","product.num":"수량","product.disableBuy":"구매 불가","product.allProduct":"전부","product.stock.soldOut":"품절","product.position.detail":"직무 상세",order:{title:"주문 센터",chooseAddress:"주문 주소 추가",add:"주문 주소 추가",phone:"전화번호:",phonePlaceholder:"전화번호 입력",submitOrder:"주문 제출",addAddress:"주문 주소 추가",applyRefund:"환불 신청",refundTips:"환불 금액 ",confirmRefund:"환불",refundFailed:"환불 실패",failed:"실패",list:{all:"전체",waitPay:"결제 대기",waitDelivery:"배송 대기",delivering:"배송 중",finish:"완료",close:"취소",refunding:"환불 중",refunded:"환불 완료",total:"총 금액",waitPayBtnText:"결제하기",waitDeliveryBtnText:"상세 보기",deliveringBtnText:"확인 받기",finishBtnText:"상세 보기",closeBtnText:"상세 보기",emptyText:"주문 내역이 없습니다."},detail:{orderNo:"주문번호",createTime:"주문일시",payTime:"결제일시",deliveryTime:"배송일시",finishTime:"완료일시",actualPay:"총 금액",payNow:"결제하기",confirmReceipt:"확인 받기",expired:"만료",payAutoCancel:" 후 자동 취소",cancelReason:"취소 사유",payTimeOut:"결제 시간 초과",refundTips:"환불 금액 원래 경로로 반환",qrCodeTips:"장치 인식 또는 스크린샷 저장 후 문의",qrCodeExpiredTips:"이미 만료되었습니다. 잠시 후 다시 시도해주세요.",paymentMethod:"결제 방법",wechat:"웹앱",alipay:"알리페이"},confirmOrder:"주문 확인",shippingAddress:"배송 주소",noAddressTips:"배송 주소를 입력해주세요",paySuccess:"결제 성공",cancelPay:"결제 취소",payFailed:"결제 실패",createOrderFailed:"주문 생성에 실패했습니다. 나중에 다시 시도해주세요.",wechatPayTips:"카카오톡에서 이 페이지를 열어 결제해주세요",confirmReceiptTips:"패키지를 확인하셨습니까?",confirmedReceipt:"확인 받기 완료"},addressEdit:{name:"연락처",namePlaceholder:"연락처 입력",choiceAddress:"지역 선택",addressPlaceholder:"지역 선택",phone:"전화번호",phonePlaceholder:"전화번호 입력",phoneError:"올바른 전화번호를 입력해주세요",addressDetail:"상세 주소",addressDetailPlaceholder:"상세 주소 입력",error:"정보를 입력해주세요.",submit:"저장",deleteConfirm:"주소를 삭제하시겠습니까?",deleteAddress:"주소 삭제",addAddress:"주소 추가",editAddress:"주소 수정",addSuccess:"저장 성공",addError:"저장 실패",editSuccess:"수정 성공",editError:"수정 실패"},bigCard:{title:"상품 추천"}},Gt={"common.confirm":"Подтвердить","common.cancel":"Отмена","common.delete":"Удалить","common.edit":"Изменить","common.submitSuccess":"Успешно отправлено","product.button.normal":"Купить","product.button.finance":"Узнать подробнее","product.button.position":"Подать резюме","product.all":"Все","product.searchPlaceholder":"Введите имя для поиска","product.explaining":"В процессе объяснения","product.watchExplain":"Посмотреть объяснение","product.notExplained":"Ожидает объяснения","product.detail.title":"Детали товара","product.detail.video":"Видео","product.detail.image":"Изображение","product.detail.job":"Детали вакансии","product.price.free":"Бесплатно","product.empty":"Пока нет содержимого","product.price.hidden":"Цена уточняется","product.order":"Заказ","product.num":"Количество","product.disableBuy":"Покупка временно недоступна","product.allProduct":"Все","product.stock.soldOut":"Распродано","product.position.detail":"Детали вакансии",order:{title:"Центр заказов",chooseAddress:"Пожалуйста, добавьте адрес доставки",add:"Добавить",phone:"Номер телефона:",phonePlaceholder:"Пожалуйста, введите номер телефона",submitOrder:"Отправить заказ",addAddress:"Добавить адрес",applyRefund:"Заявить о возврате",refundTips:"Сумма возврата ",confirmRefund:"Возврат",refundFailed:"Возврат не удался",failed:"Не удалось инициировать",list:{all:"Все",waitPay:"Ожидает оплаты",waitDelivery:"Ожидает отправки",delivering:"Ожидает получения",finish:"Завершено",close:"Отменено",refunding:"В процессе возврата",refunded:"Возвращено",total:"Итого",waitPayBtnText:"Оплатить сейчас",waitDeliveryBtnText:"Посмотреть детали",deliveringBtnText:"Подтвердить получение",finishBtnText:"Посмотреть детали",closeBtnText:"Посмотреть детали",emptyText:"Пока нет заказов"},detail:{orderNo:"Номер заказа",createTime:"Время создания заказа",payTime:"Время оплаты",deliveryTime:"Время отправки",finishTime:"Время завершения",actualPay:"Фактически оплачено",payNow:"Оплатить сейчас",confirmReceipt:"Подтвердить получение",expired:"Истек срок действия",payAutoCancel:" автоматическая отмена",cancelReason:"Причина отмены",payTimeOut:"Время оплаты истекло",refundTips:"Сумма возврата вернется тем же способом",qrCodeTips:"Долго нажмите для распознавания или сохраните скриншот, свяжитесь с сервисом",qrCodeExpiredTips:"QR-код истек, временно невозможно связаться с сервисом",paymentMethod:"Способ оплаты",wechat:"Веб-приложение",alipay:"АлиПай"},confirmOrder:"Подтвердить заказ",shippingAddress:"Адрес доставки",noAddressTips:"Пожалуйста, заполните адрес доставки",paySuccess:"Оплата успешна",cancelPay:"Отменить оплату",payFailed:"Оплата не удалась",createOrderFailed:"Не удается создать заказ, попробуйте позже",wechatPayTips:"Пожалуйста, откройте эту страницу в WeChat для оплаты",confirmReceiptTips:"Пожалуйста, подтвердите, что посылка получена",confirmedReceipt:"Получение подтверждено"},addressEdit:{name:"Контактное лицо",namePlaceholder:"Пожалуйста, введите имя контактного лица",choiceAddress:"Выберите регион",addressPlaceholder:"Пожалуйста, выберите регион",phone:"Номер телефона",phonePlaceholder:"Пожалуйста, введите номер телефона",phoneError:"Пожалуйста, введите правильный номер телефона",addressDetail:"Подробный адрес",addressDetailPlaceholder:"Пожалуйста, заполните подробный адрес",error:"Пожалуйста, дополните информацию",submit:"Сохранить",deleteConfirm:"Вы уверены, что хотите удалить этот адрес?",addAddress:"Добавить адрес",editAddress:"Изменить адрес",deleteAddress:"Удалить адрес",addSuccess:"Успешно сохранено",addError:"Не удалось сохранить",editSuccess:"Успешно изменено",editError:"Не удалось изменить"},bigCard:{title:"Товары"}},Xt={[U.ZH_CN]:Vt,[U.ZH_TW]:Qt,[U.English]:Ut,[U.Japanese]:Kt,[U.Korean]:Jt,[U.Russian]:Gt};function Yt(e){return{ProductType:e.ProductType,ProductLinkType:e.ProductLinkType,ProductLinkJumpWay:e.ProductLinkJumpWay,ProductBuyType:e.ProductBuyType,ProductStatus:e.ProductStatus,ProductPriceType:e.ProductPriceType,ProductExplainStatus:e.ProductExplainStatus,ProductMediaType:e.ProductMediaType,ProductDeliveryType:e.ProductDeliveryType,ProductEvents:e.ProductEvents,ProductPushRule:e.ProductPushRule}}const ei=Symbol("PRODUCT_PROVIDE_KEY"),ti=t=>{const{product:i}=t;let n,r;if(t.entranceProps){const e=Yt(t.entranceProps.productTarget);n=e.ProductType,r=e.ProductBuyType}else{const t=(()=>{const t=e.inject(ei),i=t.getProductTarget();return d({productTarget:i,productConfig:t.productConfig},Yt(i))})();n=t.ProductType,r=t.ProductBuyType}const o=e.computed(()=>{let t;return t="function"==typeof i?i():e.unref(i),function(e){if(!n||!r||!e)return{enabled:!1,stock:0};if(e.productType===n.Normal){if(e.buyType===r.Link&&e.forceShowSoldOut)return{enabled:!0,stock:0};if(e.buyType===r.DirectBuy&&(null==e?void 0:e.stockEnabled))return{enabled:!0,stock:e.stock}}return{enabled:!1,stock:0}}(t)}),a=e.computed(()=>o.value.enabled&&o.value.stock<=0);return{stock:o,isSoldOut:a}},ii=['"',"'","&","<",">"," "],ni=[""","'","&","<",">"," "],ri=Object.create(null),oi=Object.create(null);ii.forEach((e,t)=>{ri[e]=ni[t],oi[ni[t]]=e});const ai=new RegExp("["+ii.join("")+"]","g");const si=(t={})=>{const{injectData:i}=K(),n=Ie.gte("7.0.12"),r=e.ref(!1),o=e.computed(()=>Fe&&n&&Ze);function a(){return l(this,null,function*(){var e;if(!Fe||!i.getWeixinSdk)return!1;const t=yield i.getWeixinSdk();return!!(null==(e=null==t?void 0:t.miniProgram)?void 0:e.getEnv)&&new Promise(e=>{var i;null==(i=t.miniProgram)||i.getEnv(t=>{e(!0===(null==t?void 0:t.miniprogram))})})})}e.onMounted(()=>{!function(){l(this,null,function*(){const e=yield a();r.value=e})}()});const s=e.ref(),d=e.computed(()=>{var e;return null==(e=t.getButtonOptions)?void 0:e.call(t)});function c(){if(!s.value||!o.value)return;const e=d.value;if(!e)return;const{wxMiniprogramOriginalId:i,wxMiniprogramLink:n,classKey:r}=e,a=s.value,c=a.clientWidth,l=a.clientHeight,u="wx-open-launch-weapp-"+function(e){if(!(e|=0)||e<0)throw new Error('"length" must be a number greater than 0');let t="";do{t+=Math.random().toString(36).substr(2)}while(t.length<e);return t=t.substr(0,e),t}(8),p=`\n <wx-open-launch-weapp\n id="${u}"\n username="${m=i,null==m?m:String(m).replace(ai,e=>ri[e])}"\n path="${n}"\n >\n <script type="text/wxtag-template">\n <style>.plv-iar-${r}-wx-buy-btn {width: ${c}px;height: ${l}px;}</style>\n <div class="plv-iar-${r}-wx-buy-btn"></div>\n <\/script>\n </wx-open-launch-weapp>\n `;var m;a.innerHTML=p,setTimeout(()=>{const e=document.querySelector(`#${u}`);null==e||e.addEventListener("launch",()=>{t.launchCallback&&t.launchCallback()}),null==e||e.addEventListener("error",e=>{const t=e;console.error("Launch error",t.detail)})},10)}return e.watch(()=>[s.value,o.value,d.value],()=>{setTimeout(()=>{c()},500)},{immediate:!0}),{isHighWeixinVersion:n,isWxMiniProgramWebview:r,supportWxOpenLaunchWeapp:o,supportWxMiniProgramNavigateTo:a,toWxMiniProgram:function(e){return l(this,null,function*(){var t;if(!Fe||!i.getWeixinSdk)return;const n=yield i.getWeixinSdk();null==(t=null==n?void 0:n.miniProgram)||t.navigateTo({url:e.startsWith("/")?e:`/${e}`})})},weixinBtnRef:s,createWxMiniProgramButton:c}},di=t=>{const{props:i,emit:n}=t,{isSoldOut:r}=ti({product:()=>i.productData}),{getEmitter:o,injectData:a}=K(),{$t:s}=(()=>{const{injectData:t}=K(),i={zh_CN:U.ZH_CN,zh_TW:U.ZH_TW,en:U.English,ja:U.Japanese,ko:U.Korean,ru:U.Russian},n=e.computed(()=>{const e=t.globalLang||U.ZH_CN;return"string"==typeof e&&i[e]?i[e]:e}),r=e.computed(()=>{const e=n.value;return Xt[e]||(console.warn(`Language data not found for: ${e}, falling back to zh_CN`),Xt[U.ZH_CN])}),o=e.computed(()=>{const e=n.value;return e===U.ZH_CN||e===U.ZH_TW});function a(e,t,i){return i.replace(new RegExp("\\{"+e+"}","g"),t)}return{currentLang:n,isZhCN:o,$t:function(e,t={}){let i=Zt(r.value,e);if(void 0===i||"string"!=typeof i)return console.warn(`Translation key not found: ${e}, current lang: ${n.value}`),e;if(t){const e=Object.keys(t);for(const n of e)i=a(n,t[n].toString(),i)}return i}}})(),c=e.computed(()=>i.productConfig),{isWxMiniProgramWebview:u,supportWxOpenLaunchWeapp:p,weixinBtnRef:m,toWxMiniProgram:f,supportWxMiniProgramNavigateTo:h}=si({getButtonOptions:()=>{const e=i.productData;return{wxMiniprogramOriginalId:e.wxMiniprogramOriginalId,wxMiniprogramLink:_(e.wxMiniprogramLink),classKey:"product"}},launchCallback:()=>S()}),{trackEvent:g}=(e=>{const{injectData:t}=K();return{trackEvent:function(i){t.trackEventCallback?t.trackEventCallback(i):e.trackEvent(i)}}})(i.productTarget.interactionCore),{ProductBuyType:b,ProductType:v,ProductLinkType:w}=Yt(i.productTarget),x=e.computed(()=>i.productData.productType===v.Normal&&i.productData.buyType===b.DirectBuy),P=e.computed(()=>{var e;return null!=(e=c.value.isPreviewMode)&&e}),T=e.computed(()=>{const e=i.productData;if(i.disabled)return!0;if(c.value.customProductDisabled){return!!c.value.customProductDisabled(e)}return!P.value&&(!!r.value||(e.productType===v.Normal&&!e.priceVisible&&e.realPrice>0||!x.value&&(e.linkType===w.Normal?!e.link:e.linkType===w.MultiPlatform&&O.value)))}),O=e.computed(()=>{const{link:e,pcLink:t,mobileLink:n,wxMiniprogramLink:r,mobileAppLink:o}=i.productData;return!k.value&&((!u.value||!r)&&(Ze?!n&&!o:!!Ze||!t&&!e))}),k=e.computed(()=>"function"!=typeof c.value.customClickButtonHandler&&(!x.value&&(!u.value&&(p.value&&!!i.productData.wxMiniprogramOriginalId)))),E=e.computed(()=>{let e=s("product.button.normal");switch(i.productData.productType){case v.Normal:e=s("product.button.normal");break;case v.Finance:e=s("product.button.finance");break;case v.Position:e=s("product.button.position")}return i.productData.buttonText||e});function _(e,t={}){let i=d({},t);if(c.value.getLinkParams){const t=c.value.getLinkParams(e);i=Object.assign({},i,t)}return y(e,i)}function A(e){var t;const i=(null==(t=a.isPlvWebview)?void 0:t.call(a))||!1;console.info("商品库是否处于 webview 环境:",i),i?window.location.href=e:window.open(e,"_blank","noopener=yes")}function C(e,t){switch(console.info("我进入到 openLink 了"),t){case F.NewWindow:A(e);break;case F.CurrentWindow:window.location.href=e;break;case F.PopUp:o().emit(Ve,e);break;default:A(e)}}function S(){return l(this,null,function*(){const e=i.productData,t=yield i.productTarget.getCurrentPushingProduct();g({event_id:"product_click_button",event_type:"click",spec_attrs:{buyType:e.productType===v.Normal?e.buyType:"",deliveryType:e.productType===v.Normal?e.deliveryType:"",name:e.name,productId:e.productId,productType:e.productType,productPushRule:(null==t?void 0:t.pushRule)||""}}),i.productTarget.sendProductClickEvent({productId:e.productId,name:e.name,productType:e.productType})})}return{isButtonDisabled:T,isWeixinButton:k,isPreviewMode:P,buttonText:E,weixinBtnRef:m,formatProductLink:_,onClickLinkBtn:function(){return l(this,null,function*(){const e=i.productData;if(i.beforeClickInterrupt&&ct(i.beforeClickInterrupt)){if(yield i.beforeClickInterrupt())return}if(S(),c.value.customClickButtonHandler)return void c.value.customClickButtonHandler(e);if(x.value)return void n("direct-buy",i.productData);const t=function(){const e=i.productData;console.info("我拿到了原始数据",e);const t={jumpWay:e.jumpWay,link:e.link,pcLink:e.pcLink,mobileAppLink:e.mobileAppLink,androidLink:e.androidLink,iosLink:e.iosLink,harmonyLink:e.harmonyLink,wxMiniprogramOriginalId:e.wxMiniprogramOriginalId,wxMiniprogramAppId:e.wxMiniprogramAppId,wxMiniprogramLink:e.wxMiniprogramLink};return e.linkType===w.Normal&&(console.info("进入到通用链接适配"),t.pcLink="",t.mobileAppLink="",t.androidLink="",t.iosLink="",t.harmonyLink="",t.wxMiniprogramOriginalId="",t.wxMiniprogramAppId="",t.wxMiniprogramLink=""),e.linkType!==w.MultiPlatform||e.link||(console.info("进入到多平台链接适配"),t.link=e.mobileLink),console.info("最后的数据",t),t}();Z({linkData:t,usePlvWebviewBridge:a.usePlvWebviewBridge||!1,getLinkParams:c.value.getLinkParams,openLink:C,isPlvWebview:a.isPlvWebview,isMobile:a.isMobile,getPlvWebviewBridge:a.getPlvWebviewBridge,getPlvWebviewSmallWindowSize:a.getPlvWebviewSmallWindowSize,isWxMiniProgramEnv:h,toWxMiniProgram:f})})}}},ci=e.defineComponent({__name:"product-button",props:((e,t)=>i(e,n(t)))(d({},{productTarget:De.object().isRequired,productConfig:De.object().def({})}),{beforeClickInterrupt:De.func(),productData:De.object().isRequired,disabled:De.bool.def(!1)}),emits:{"direct-buy":()=>!0},setup(e,{emit:t}){const i=e,{isButtonDisabled:n,buttonText:r,isWeixinButton:o,isPreviewMode:a,weixinBtnRef:s,onClickLinkBtn:d}=di({props:i,emit:t});return{__sfc:!0,props:i,emit:t,isButtonDisabled:n,buttonText:r,isWeixinButton:o,isPreviewMode:a,weixinBtnRef:s,onClickLinkBtn:d}}});function li(e,t,i,n,r,o,a,s){var d="function"==typeof e?e.options:e;return t&&(d.render=t,d.staticRenderFns=i,d._compiled=!0),{exports:e,options:d}}var ui=function(){var e=this,t=e._self._c,i=e._self._setupProxy;return t("div",{staticClass:"plv-product-button",class:{"is-disabled":i.isButtonDisabled}},[t("div",{staticClass:"plv-product-button__render"},[e._t("default",null,{buttonText:i.buttonText,disabled:i.isButtonDisabled})],2),i.isButtonDisabled||i.isPreviewMode?e._e():[i.isWeixinButton?t("div",{key:"weixin-btn",ref:"weixinBtnRef",staticClass:"plv-product-button__inner plv-product-button__inner--wx"}):t("div",{key:"link-btn",staticClass:"plv-product-button__inner plv-product-button__inner--link",on:{click:function(e){return e.stopPropagation(),i.onClickLinkBtn.apply(null,arguments)}}})]],2)};return li(ci,ui,[]).exports}),console.log("%c@polyv/product-ui","background:#409EFF;padding: 2px 6px;border-radius: 3px;color: #fff","[component: product-button]","[version: 1.9.0]","[buildTime: 2025-12-26 02:16:22]");
|