uni App 支付宝小程序分享当前页面代码(页面路由有一个参数或者多个参数)

封装获取当前页面的路由信息方法 util.js
页面只有一个参数:

export function getCurrentPath() {
	let currentRoutes = getCurrentPages(); // 获取当前打开过的页面路由数组
	let currentRoute = currentRoutes[currentRoutes.length - 1].route //获取当前页面路由
	let currentParam = currentRoutes[currentRoutes.length - 1].options; //获取路由参数
	// 拼接参数
	let param = ''
	for (let key in currentParam) {
		param += '?' + key + '=' + currentParam[key]
	}
	return currentRoute + param
}

页面有一个或者一个以上的参数:

export function getCurrentPath() {
	let currentRoutes = getCurrentPages(); // 获取当前打开过的页面路由数组
	let currentRoute = currentRoutes[currentRoutes.length - 1].route //获取当前页面路由
	let currentParam = currentRoutes[currentRoutes.length - 1].options; //获取路由参数
	// 拼接参数
	if(	Object.keys(currentParam).length == 1){
		let param = ''
		for (let key in currentParam) 
		{
			param += '?' + key + '=' + currentParam[key]
		}
		return currentRoute + param
	}else{
		let param = ''
		for (let key in currentParam) 
		{
			param +=  key + '=' + currentParam[key] + '&' 
		}
		param = param.slice(0,param.length-1);
		return currentRoute + '?' + param
	}
	
}

在需要的页面引入调用即可

import { queryParams,getCurrentPath } from "../../../common/utils";
 onShareAppMessage(res) {
    //发送给朋友
    return {
      title: this.scenicBaseInfo.introduction,
      imageUrl: this.scenicBaseInfo.bigThumbnailUrl,
      path: getCurrentPath(),
      success(res) {
        uni.showToast({
          title: '分享成功'
        });
      },
      fail(res) {
        uni.showToast({
          title: '分享失败',
          icon: 'none'
        });
      }
    };
  },

版权声明:本文为qq_39224105原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。