获取微信小程序的方法如下文章来源:https://www.toymoban.com/news/detail-557683.html
function _extends() {
_extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
/**
* 解析url中的params
* @param urlStr 携带params的url
* @returns
*/
var getUrlStructure = function (urlStr) {
var url;
if (typeof urlStr === 'undefined') {
url = decodeURI(location.search); // 获取url中"?"符后的字符串
} else {
url = "?" + urlStr.split('?')[1];
}
var theRequest = {};
if (url.indexOf('?') !== -1) {
var str = url.substr(1);
var strs = str.split('&');
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split('=')[0]] = decodeURI(strs[i].split('=')[1]);
}
}
return theRequest;
};
/**
* 根据当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
* 获取小程序下的页面路由
* @returns
*/
var getCurrentPageUrl = function () {
var pages = getCurrentPages();
var currentPage = pages[pages.length - 1];
var url = currentPage.route;
var options = currentPage.options;
return {
url: url,
options: options
};
};
/**
* 获取 URL 所有参数
*
* @return {*}
*/
var getUrlParams = function (src) {
if (isWeChatMiniProgram) { //微信小程序
var _getCurrentPageUrl2 = getCurrentPageUrl(),
params = _getCurrentPageUrl2.options;
var routerParams = params; // 扫瞄二维码进入参数被包在了q里面- 普通二维码
// 扫瞄二维码进入参数被包在了scene里面- 后端生成的图片二维码
var query = '';
if (params && params.q) {
query = decodeURIComponent(params.q);
} else if (params && params.scene) {
query = decodeURIComponent(params.scene);
}
if (query) {
// query参数系列化
var res = query.replace(/(.*\?)/, '').split('&').reduce(function (obj, item) {
var _item$split = item.split('='),
key = _item$split[0],
value = _item$split[1];
var _obj = _extends({}, obj);
_obj[key] = value;
return _obj;
}, {});
routerParams = _extends({}, params, res);
}
return routerParams;
} else {
return getUrlStructure(src);
}
};
/**
* 获取 URL 指定参数值
*
* @param {string} key 参数 key 名
* @return {*}
*/
var getUrlParam = function (key, src) {
return getUrlParams(src)[key];
};
var getSearchParams = {
getUrlParam: getUrlParam,
getUrlParams: getUrlParams
};
export default getSearchParams;
具体使用文章来源地址https://www.toymoban.com/news/detail-557683.html
const { getUrlParams } = getSearchParams;
const { yourID } = getUrlParams() as any || undefined;
console.log(yourID);
到了这里,关于获取微信小程序路由参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!