zoukankan      html  css  js  c++  java
  • 微信小程序 原生框架 (分享方法封装)

    封装的分享方法

     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,请留言。

  • 相关阅读:
    二SERVLET(2)
    一SERVLET (1)
    eclipse 恢复SVN无法还原的文件 svn使用了还原,但本地的没有提交找回没提交代码的方法
    oracle dual 表
    sql 自增字段的控制 hibernate注解的写法
    sql 集合运算
    join
    group by having where order by
    数据库oracle 驱动版本
    JFreeChart的使用
  • 原文地址:https://www.cnblogs.com/studyshufei/p/12096888.html
Copyright © 2011-2022 走看看