当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 微信小程序 原生框架 (分享方法封装)

微信小程序 原生框架 (分享方法封装)

2019年12月26日  | 移动技术网IT编程  | 我要评论

趣趣盒小游戏,我要自学网excel,送女友什么生日礼物

 

封装的分享方法

 

 1 function share(o,isdebug = false ) {
 2     //路径
 3     let url = o.url || getcurrentpages()[getcurrentpages().length - 1].route;
 4 
 5     //当前路径所带参数
 6     let urlparams = getcurrentpages()[getcurrentpages().length - 1].options;
 7 
 8     isdebug&&console.log(`当前路径所带参数:${json.stringify(urlparams)}`)
 9 
10     //传进来的参数
11     let params = o.params || {};
12 
13     isdebug&&console.log(`传进来的参数:${json.stringify(params)}`)
14 
15     //当前路径所带参数 合并 传进来的参数
16     let mergeparams = object.assign(urlparams, params);
17 
18     isdebug&&console.log(`合并后的参数:${json.stringify(mergeparams)}`)
19 
20     //最终参数 (根据是否合并(ismerge)决定最终路径上传递的参数)
21     let resultparam = o.ismerge === true ? mergeparams : params;
22 
23     //url与最终参数的结合路径
24     let path = (() => {
25       let len = object.keys(resultparam).length;
26       if (len) {
27         let res = ""
28         for (let k in resultparam) {
29           res += `&${k}=${resultparam[k]}`
30         }
31         return url + '?' + res.substring(1)
32       } else {
33         return url
34       }
35     })()
36 
37     isdebug&&console.log(`
38         ----分享信息确认----
39 
40     是否跳转其他页面:${!!o.url ? o.url : !!o.url}
41 
42     是否设置分享显示的图片:${!!o.imgurl ? o.imgurl : !!o.imgurl}
43 
44     是否合并了参数:${!!o.ismerge}
45 
46     分享的最终路径:${path}
47     `)
48 
49     return o.imgurl ? { title: o.title, path, imageurl: o.imgurl } : { title: o.title, path }
50   }

 

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

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

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

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

 

 

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网