封装的分享方法

 function share(o,isDebug = false ) {
//路径
let url = o.url || getCurrentPages()[getCurrentPages().length - 1].route; //当前路径所带参数
let urlParams = getCurrentPages()[getCurrentPages().length - 1].options; isDebug&&console.log(`当前路径所带参数:${JSON.stringify(urlParams)}`) //传进来的参数
let params = o.params || {}; isDebug&&console.log(`传进来的参数:${JSON.stringify(params)}`) //当前路径所带参数 合并 传进来的参数
let mergeParams = Object.assign(urlParams, params); isDebug&&console.log(`合并后的参数:${JSON.stringify(mergeParams)}`) //最终参数 (根据是否合并(isMerge)决定最终路径上传递的参数)
let resultParam = o.isMerge === true ? mergeParams : params; //url与最终参数的结合路径
let path = (() => {
let len = Object.keys(resultParam).length;
if (len) {
let res = ""
for (let k in resultParam) {
res += `&${k}=${resultParam[k]}`
}
return url + '?' + res.substring(1)
} else {
return url
}
})() isDebug&&console.log(`
----分享信息确认---- 是否跳转其他页面:${!!o.url ? o.url : !!o.url} 是否设置分享显示的图片:${!!o.imgUrl ? o.imgUrl : !!o.imgUrl} 是否合并了参数:${!!o.isMerge} 分享的最终路径:${path}
`) return o.imgUrl ? { title: o.title, path, imageUrl: o.imgUrl } : { title: o.title, path }
}

参数说明:share方法接收两个参数,第一个参数是一个对象,第二个参数是一个布尔值,默认是 false,表示不开启 debug,控制台不打印你分享的数据信息

第一个参数是一个对象表示你传入的分享参数,包含以下:

  1. title :分享的标题
  2. url:分享跳转的链接地址
  3. imgUrl:分享的图片路径
  4. params:分享路径需要参数的参数  (对象类型)
  5. isMerge:是否合并(当前路径的参数和传入的参数)默认 false 不合并

第二个参数是一个布尔值,表示是否开启控制台 打印分享数据信息,默认是 false 不打印,开发时建议设置为true,便于调式

个人总结,难免疏于BUG,请留言。

最新文章

  1. MongoDB学习笔记一
  2. java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)可能出现的原因
  3. Jmeter学习(三十三)调试工具Debug Sampler
  4. kickstart+ftp+tftp+dhcp+PXE
  5. Java三大主流框架概述
  6. IOS 非常流畅的滑动tableView
  7. AndroidStudio创建新项目报错
  8. java中的传值与传引用
  9. 基于RequireJS和JQuery的模块化编程——常见问题解析
  10. java内部类的使用
  11. iOS Button按钮 热区的放大
  12. Struts2的crud
  13. php array相关函数个人小结
  14. 更改DataTable列名方法
  15. 查询某库所有表的rows &查看当前sql的注册信息
  16. Flux是一个Facebook团队的前端开发架构
  17. 主成分分析法PCA原理
  18. delphi中退出是弹出让你确定的几种确定对话框怎么写?
  19. windows下自动删除过期文件的脚本
  20. @RestController 与 @Controller @RequestMapping("/") 区别很大

热门文章

  1. 防范永恒之蓝勒索病毒-XP、Win10文件共享怎样设置
  2. 倍增(在线)求LCA
  3. BZOJ 1579 [Usaco2009 Feb]Revamping Trails 道路升级
  4. centos7的变化(转)
  5. git 命令行(三)-删除文件
  6. VS2010-MFC(对话框:为对话框添加控件)
  7. Eclipse反编译插件jd-eclipse安装指南
  8. gdal在redhat4.4下安装
  9. NYOJ--860 又见01背包(01背包)
  10. C#端一个不错的订单号生成规则