miniapp-web-jsapi
Version:
JSAPI/View adapter for miniprogram running on the web
91 lines • 3.09 kB
JavaScript
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);
}