分享组件使说明文档


title: 分享组件-2.0.1
type: guide
date: 2017-04-20 17:00:00
order: 7


分享流程图

  • 暂缺, 后继补充

分享效果图

  • 暂缺, 后继补充

git目录

。。。

快速使用

一. 加载依赖库; 如果已有引入无需再次引入. 依赖库有:
zepto.js
aladdin.js (口袋3.0库文件, 在口袋3.0内分享里需要,如不投到放口袋可不引入)

注意:
1.share、aladdin、zepto有依赖关系。 依次顺序为zepto--->aladdin--->share
2.aladdin需要更新最新版

二. 加载分享组件; 分享组件最新版本地址:
直接引用:
测试: /app_com/share/2.0.0/js/share.js
生产: /app_com/share/2.0.0/js/share.js

umd版依赖zepto、aladdin、jWeixin、rymApp
jWeixin与rymApp下载

三. 初始化分享参数
页面加载完后调用window.shareMode.shareInit(options), options为对象, 具体参数请参考初始化参数说明

四. 订制特殊场景分享; 如与正常流程有差异,需与产品经理于翠翠对接。

初始化参数说明

初始化参数是一个对象,主要包含“自定义分享文案”、“业务统计系列参数”、“ucp微信授权参数”、“控制UI参数”、“其他参数”5部分
一、 自定义分享文案

{
  // 自定义分享4项, title, content, picture, url
  shareObj: {
    // 分享title 必传
    title: '分享测试title',
    // 分享简介 必传
    content: '分享测试content',
    // 分享缩略图 必传
    picture: '/brop-cmp/act/assets/share/img/paBankLogo.png'
  },
  // 分享url, 折分为3部分
  shareUrlObj: {
    // 分享url, 包含请求协议,域名,目录,文件名 必传
    url: location.origin + location.pathname,
    // 分享页面需求参数, 可以为空, 如果有值以"?"开头 umMode userType 破冰业务等逻辑字段,非公共,在此传递
    search: '',
    // 分享页面需求hash值 可以为空 如果有值以"#"开头
    hash: ''
  }
}

二、业务统计系列参数

{
  // 业绩统计8大项, 根据实际需求传值
  paramObj: {
    // 反显推荐人信息使用,根据实际需要传。反显优化级:登录态用户信息 > options入参 > url上rec_no值 > 口袋sessionStorage > 记忆功能(localStorage)
    rec_no: '',
    // 推荐人类型
    rec_type: '',
    // 外部媒体来源, 取来源(url)media_source的值
    media_source: '',
    // 渠道来源, 取来源(url)channel_source的值
    channel_source: '',
    // 获客渠道, 取来源(url)source的值
    source: '',
    // 获客路径, 取来源(url)outerSource的值
    outerSource: '',
    // 活动ID号, 取来源(url)activity_Id的值
    activity_Id: '',
    // 活动的订单流水号。空值,由mgm平台随机生成
    activity_FlowId: ''
  }
}

三、控制UI参数

{
  // UI展示与隐藏。 0-不展示 1-展示 必传
  sharChannelArr: {
    // 分享按钮 0-不展示 1-展示
    btn: "0",
    // 微信好友及朋友圈
    wx: "1",
    // QQ空间
    qqZone: "1",
    // 新浪微博
    sina: "1",
    // 二维码
    erweima: "1"
  }
}

四、ucp微信授权参数

{
  // 调用ucp需求参数,
  ucpParamObj: {
    // 公众号appId 必传
    appId: '',
    // 微应用号 必传
    weappNo: '',
    // 请求ucp接口地址 必传
    ucp_url: '',
    // 页面域名 必传
    backUrl: location.origin,
     // 必传
    openid: ''
  }
}

五、其他参数

{
  // 其他统计参数; 非必传, 有实际统计需求时使用
  otherObj: {
    // 意向客户
    intentCust: '',
    // 产品编码
    productCode: '',
    // 推广单位代码
    pubOrgCode: '',
    // 分享页面类型;1-产品页; 2-活动页; 3-资讯页; 4-名片; 5-直播
    sceneCode: '',
    // 推荐人姓名
    recName: ''
  },
  // 是否自定义样式 1-自定义; 默认为空
  customCSS: '1',
  // 埋点页面title 建议传值; 默认为document.title
  webtrendsTitle: '',
  // 运行环境, stg, prd 建议传值; 初始值为prd, 如域名中带stg强制修改为stg
  environment: 'stg',
  // 是否是口袋APP2.0  建议传值; 初始值为false,如ua中能取到'paebank_app_running_anchor'强制修改为true
  isKDAPP2: false,
  // 当前活动ID, 必传 产品经理包兴丽分配
  pactivityId: ''
}

全部参数示例

var options = {
  // 自定义分享4项, title, content, picture, url
  shareObj: {
    // 分享title 必传
    title: '分享测试title',
    // 分享简介 必传
    content: '分享测试content',
    // 分享缩略图 必传
    picture: '/brop-cmp/act/assets/share/img/paBankLogo.png'
  },
  // 分享url, 折分为3部分
  shareUrlObj: {
    // 分享url, 包含请求协议,域名,目录,文件名 必传
    url: location.origin + location.pathname,
    // 分享页面需求参数, 可以为空, 如果有值以"?"开头 umMode userType 破冰业务等逻辑字段,非公共,在此传递
    search: '',
    // 分享页面需求hash值 可以为空 如果有值以"#"开头
    hash: ''
  },
  // 业绩统计8大项, 根据实际需求传值
  paramObj: {
    // 反显推荐人信息使用,根据实际需要传。反显优化级:登录态用户信息 > options入参 > url上rec_no值 > 口袋sessionStorage > 记忆功能(localStorage)
    rec_no: '',
    // 推荐人类型
    rec_type: '',
    // 外部媒体来源, 取来源(url)media_source的值
    media_source: '',
    // 渠道来源, 取来源(url)channel_source的值
    channel_source: '',
    // 获客渠道, 取来源(url)source的值
    source: '',
    // 获客路径, 取来源(url)outerSource的值
    outerSource: '',
    // 活动ID号, 取来源(url)activity_Id的值
    activity_Id: '',
    // 活动的订单流水号。空值,由mgm平台随机生成
    activity_FlowId: ''
  },
  // 调用ucp需求参数
  ucpParamObj: {
    // 公众号appId 必传
    appId: '',
    // 微应用号 必传
    weappNo: '',
    // 请求ucp接口地址 必传
    ucp_url: '',
    // 页面域名 必传
    backUrl: location.origin,
     // 必传
    openid: ''
  },
  // 调用ucp需求参数, ucp系统提供 必传
  ucpParamObj: {
    //  公众号appId 必传
    appId: '',
    // 微应用号 必传
    weappNo: '',
    //  请求ucp接口地址 必传
    ucp_url: '',
    // 页面域名
    backUrl: location.origin,
     // 必传
    openid: ''
  },
  // 其他统计参数; 非必传, 有实际统计需求时使用
  otherObj: {
    // 意向客户
    intentCust: '',
    // 产品编码
    productCode: '',
    // 推广单位代码
    pubOrgCode: '',
    // 分享页面类型;1-产品页; 2-活动页; 3-资讯页; 4-名片; 5-直播
    sceneCode: '',
    // 推荐人姓名
    recName: ''
  },
  // 是否自定义样式 1-自定义; 默认为空
  customCSS: '1',
  // 埋点页面title 建议传值; 默认为document.title
  webtrendsTitle: '',
  // 运行环境, stg, prd 建议传值; 初始值为prd, 如域名中带stg强制修改为stg
  environment: 'stg',
  // 是否是口袋APP2.0  建议传值; 初始值为false,如ua中能取到'paebank_app_running_anchor'强制修改为true
  isKDAPP2: false,
  // 当前活动ID, 必传 产品经理包兴丽分配
  pactivityId: ''
}

使用案例

请参考:
/bank/test/share/shareDemo.html

使用建议

一、 使用分享组件加一下中间层
因为分享组件需适配各特性团队不同需求,造成初始参数过多,不易理解维护。
但同一个项目调用分享组件的入参应该是一致的。因此,建议各特性团队对使用分享组件做一次封装,减少各页面调用分享组件的入参。
参考demo: bank/test/act/demo.shtml
中间层代码:activity-public.js(请自行维护更新,分享组件不维护activity-public.js)

二、 参数的传进行公共封装调用
由于8个业绩统计参数字段即有驼峰又有下划线,命名不规范,并需要在所有页面传递。故建议对此功能做统一处理
功能分两部分:

  1. 跳转到其他页面。建议封装统一跳转页面函数,统一处理业绩统计参数。
  2. 提交给后台。对请求进行统一封,增加公共业绩统计参数,字段名与数据平台sdc保持一致;参数值优先取url,没值后取cookie

常见问题

1、 3.0场景,使3.0测试包配置运行环境不是stg,造成获取不到登录态,分享流程中断
2、 环境跨域问题。需要获取登录态的场景要能正常访问到rsb 域名,登录态要与统一认证中心打通
3、 直接使用微信右上角分享将统计不到业务
4、 分享url长度超过255个字符造成任意门、微博分享失败
5、 分享文案触发微信诱导分享规则造成分享展示不正常
诱导分享请参考: http://blog.sina.com.cn/s/blog_a0d71a9d0102wkok.html


你可能感兴趣的:(分享组件使说明文档)