UNPKG

@heimdallr-sdk/wx-route

Version:
2 lines (1 loc) 4.36 kB
!function(E,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(E="undefined"!=typeof globalThis?globalThis:E||self).HEIMDALLR_WX_ROUTE=e()}(this,(function(){"use strict";var E,e=((E=e||{}).NAME="@heimdallr-sdk",E),t=(E=>(E[E.FATAL=1]="FATAL",E[E.ERROR=2]="ERROR",E[E.WARN=3]="WARN",E[E.INFO=4]="INFO",E[E.DEBUG=5]="DEBUG",E))(t||{}),n=(E=>(E.SESSION_ID="HEIMDALLR_SDK_SESSION_ID",E.USER_ID="HEIMDALLR_SDK_USER_ID",E.APP="HEIMDALLR_SDK_APP_ID",E))(n||{}),O=(E=>(E.GET="GET",E.POST="POST",E.PUT="PUT",E.DELETE="DELETE",E))(O||{}),o=(E=>(E[E.LIFECYCLE=1]="LIFECYCLE",E[E.ERROR=2]="ERROR",E[E.PERFORMANCE=3]="PERFORMANCE",E[E.API=4]="API",E[E.DOM=5]="DOM",E[E.ROUTE=6]="ROUTE",E[E.CONSOLE=7]="CONSOLE",E[E.RECORD=8]="RECORD",E[E.VUE=9]="VUE",E[E.CUSTOMER=10]="CUSTOMER",E[E.EXTEND=11]="EXTEND",E))(o||{}),R=(E=>(E[E.BEACON=1]="BEACON",E[E.IMG=2]="IMG",E[E.GET=3]="GET",E[E.POST=4]="POST",E))(R||{}),r=(E=>(E.LOG="log",E.INFO="info",E.WARN="warn",E.ERROR="error",E.ASSERT="assert",E))(r||{}),i=(E=>(E[E.XHR=41]="XHR",E[E.FETCH=42]="FETCH",E))(i||{}),A=(E=>(E[E.HASH=61]="HASH",E[E.HISTORY=62]="HISTORY",E))(A||{}),T=(E=>(E.LOCAL="local",E.SESSION="session",E.COOKIE="cookie",E.GLOBAL="global",E))(T||{}),I=(E=>(E[E.LOAD=11]="LOAD",E[E.UNLOAD=12]="UNLOAD",E))(I||{}),C=(E=>(E[E.MOBILE=1]="MOBILE",E[E.PC=2]="PC",E))(C||{}),c=(E=>(E[E.BROWSER=1]="BROWSER",E[E.WECHAT=2]="WECHAT",E[E.NODE=3]="NODE",E))(c||{}),f=(E=>(E[E.ROUTE=11]="ROUTE",E[E.CLICK=12]="CLICK",E[E.CONSOLE=13]="CONSOLE",E[E.XHR=14]="XHR",E[E.FETCH=15]="FETCH",E[E.UNHANDLEDREJECTION=16]="UNHANDLEDREJECTION",E[E.RESOURCE=17]="RESOURCE",E[E.CODE_ERROR=18]="CODE_ERROR",E[E.CUSTOMER=19]="CUSTOMER",E[E.FRAMEWORK=20]="FRAMEWORK",E[E.LIFECYCLE=21]="LIFECYCLE",E[E.CRASH=22]="CRASH",E))(f||{}),a=(E=>(E[E.API=21]="API",E[E.ROUTE=22]="ROUTE",E[E.CLICK=23]="CLICK",E[E.ERROR=24]="ERROR",E[E.LIFECYCLE=25]="LIFECYCLE",E[E.CUSTOMER=26]="CUSTOMER",E))(a||{});const u=(E,e={})=>{const t=[];return Object.keys(e).forEach((E=>{t.push(`${E}=${e[E]}`)})),`${E}${-1!==E.indexOf("?")?"&":"?"}${t.join("&")}`};var l=(E=>(E.SWITCH_TAB="switchTab",E.RELAUNCH="reLaunch",E.REDIRECT_TO="redirectTo",E.NAVIGATE_TO="navigateTo",E.NAVIGATE_BACK="navigateBack",E.NAVIGATE_TO_MINI_PROGRAM="navigateToMiniProgram",E.NAVIGATE_BACK_MINI_PROGRAM="navigateBackMiniProgram",E.OPEN_EMBEDDED_MINI_PROGRAM="openEmbeddedMiniProgram",E.OPEN_PROFILE="openOfficialAccountProfile",E.OPEN_ARTICLE="openOfficialAccountArticle",E.ROUTE_FAIL="routeFail",E))(l||{});function N(){if("function"!=typeof getCurrentPages)return[];const E=getCurrentPages();return E.length?E:[{route:"App",options:{}}]}function s(){const E=N();if(!E.length)return"";const e=E.pop();return u(e.route,e.options)}var L=Object.defineProperty,_=Object.defineProperties,P=Object.getOwnPropertyDescriptors,S=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable,x=(E,e,t)=>e in E?L(E,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):E[e]=t,p=(E,e)=>{for(var t in e||(e={}))D.call(e,t)&&x(E,t,e[t]);if(S)for(var t of S(e))M.call(e,t)&&x(E,t,e[t]);return E},g=(E,e)=>_(E,P(e));return function(){return{name:"wxRoutePlugin",monitor(E){[l.SWITCH_TAB,l.RELAUNCH,l.REDIRECT_TO,l.NAVIGATE_TO,l.NAVIGATE_BACK,l.NAVIGATE_TO_MINI_PROGRAM,l.NAVIGATE_BACK_MINI_PROGRAM,l.OPEN_EMBEDDED_MINI_PROGRAM,l.OPEN_PROFILE,l.OPEN_ARTICLE].forEach((e=>{const t=wx[e];Object.defineProperty(wx,e,{writable:!0,enumerable:!0,configurable:!0,value:function(n){let O="";O=e===l.NAVIGATE_BACK?function(E=1){const e=N();if(!e.length)return"";const t=e[e.length-E];return u(t.route,t.options)}(null==n?void 0:n.delta):n.url;const o={from:s(),to:O,wt:e};if(E(o),"function"==typeof n.complete||"function"==typeof n.success||"function"==typeof n.fail){const e=n.fail,t=function(t){if(E(g(p({},o),{fail:!0,msg:t.errMsg})),"function"==typeof e)return e(t)};n.fail=t}return t.call(this,n)}})}))},transform(E){const e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(E=>{const e=16*Math.random()|0;return("x"===E?e:3&e|8).toString(16)})),{to:n,from:O,wt:R,msg:r}=E;return this.breadcrumb.unshift({lid:e,bt:a.ROUTE,l:r?t.WARN:t.INFO,msg:`from "${O}" to "${n}" by "${R}"`,t:this.getTime()}),delete E.wt,{lid:e,t:this.getTime(),e:o.ROUTE,dat:g(p({},E),{st:R||"unknown"})}}}}}));