UNPKG

miniapp-web-jsapi

Version:

JSAPI/View adapter for miniprogram running on the web

91 lines 3.09 kB
import { isLocalhost, parseQueryParams } from "./utils/web-utils"; import { defaultNavigateToAppUrlBuilder } from "./jsapi/navigate"; import entries from "../utils/entries"; export var cssPrefix = 'alipay-mwj'; export var getPrefixCls = function getPrefixCls(name) { return "".concat(cssPrefix, "-").concat(name); }; var _polyfillOptions; export function initWebPolyfill(options) { _polyfillOptions = options; } export function getWebPolyfillOptions() { return _polyfillOptions; } var __queryParams; export function getWebQueryParams() { var getInternal = function getInternal() { var queryParams = {}; // parse query strings var search = window.location.search; var params = parseQueryParams(search); entries(params).forEach(function (entry) { var key = entry[0]; var value = entry[1]; var lowerCaseKey = key.toLowerCase(); if (lowerCaseKey === 'query') { try { queryParams.query = parseQueryParams(value); } catch (e) { console.warn('parse query error: ', e); } } else if (lowerCaseKey === 'referrerinfo') { queryParams.referrerInfo = parseQueryParams(value); } else { queryParams[key] = value; } }); // parse hash var hash = window.location.hash; if (hash) { var index = hash.indexOf('?'); queryParams.hashPath = index > 0 ? hash.substring(1, index) : hash.substring(1); queryParams.hashQuery = parseQueryParams(hash); } return queryParams; }; if (!__queryParams) { __queryParams = getInternal(); } return __queryParams; } export var EnvironmentEnums; (function (EnvironmentEnums) { EnvironmentEnums["STABLE"] = "STABLE"; EnvironmentEnums["TEST"] = "TEST"; EnvironmentEnums["PRE"] = "PRE"; EnvironmentEnums["PROD"] = "PROD"; })(EnvironmentEnums || (EnvironmentEnums = {})); var __environment; export function getEnvironment() { var getInternal = function getInternal() { var host = window.location.host; if (isLocalhost(host)) { // dev / stable return EnvironmentEnums.STABLE; } if (host.endsWith('.test.alipay.net') || host === 'oss-local-test.marmot-cloud.com') { // sit return EnvironmentEnums.TEST; } else if (host.endsWith('.alipay.net') || host === 'oss-local-dev.marmot-cloud.com') { // dev / stable return EnvironmentEnums.STABLE; } else if (host.endsWith('.pre.ac.alipay.com')) { // pre return EnvironmentEnums.PRE; } else { // prod return EnvironmentEnums.PROD; } }; if (!__environment) { __environment = getInternal(); } return __environment; } export function buildNavigateUrl(options) { var _polyfillOptions$navi; var polyfillOptions = getWebPolyfillOptions(); var buildUrl = (polyfillOptions === null || polyfillOptions === void 0 ? void 0 : (_polyfillOptions$navi = polyfillOptions.navigateOptions) === null || _polyfillOptions$navi === void 0 ? void 0 : _polyfillOptions$navi.buildNavigateToAppUrl) || defaultNavigateToAppUrlBuilder; return buildUrl(options); }