0.0.7 • Published 1 year ago

convertlab-cpm-sdk-for-wx v0.0.7

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

cpm-consent for 微信小程序

CPM 用户同意授权 Dialog 组件 、授权详情中心 Center 组件 SDK。

引入

原生组件使用

  • 点击下载 SDK,将该项目复制到 components 小程序组件目录下
  • 在需要引入的page对应 json 中,配置组件
"usingComponents": {
    "dialog": "/components/convertlab-cpm-sdk-for-wx/components/dialog",
    "center": "/components/convertlab-cpm-sdk-for-wx/components/center"
  }

npm 使用

  • npm 安装组件
npm install --save convertlab-cpm-sdk-for-wx
  • 进入小程序开发工具 工具 -> 构建npm,点击构建

使用

Dialog 组件

  • json 文件中引入组件
"usingComponents": {
    "dialog": "/components/convertlab-cpm-sdk-for-wx/components/dialog",
  }

引入地址根据实际引入路径为主,组件路径注意是在:sdk 目录/components/dialog 下

  • wxml 文件中引入组件

Dialog 组件wxml文件引入

  <dialog id="cl_dialog"  bindconfirm="onDialogConfirm" bindrefuse ="onDialogRefuse" bindopenurl="onOpenUrl"></center>

注意组件使用需要设置 id,在后面控制器中需要传入该 id

  • js引入组件控制器
// 引入控制器,控制器位于SDK根路径/dialog.js
const Dialog = require("../../components/consents/dialog.js");

// 在需要显示的地方创建对应的控制

onLoad: function(options) {
  // Dialog 组件使用方式
  ...
       // 初始化组件控制器
       const dialog = Dialog(this, // 传入 Page 上下文对象
              '#cl_dialog', // css选择器,需要指定Page wxml中需要绑定的 dialog 组件
              {
                  tenantId: 1, // [必须] 租户id, 可在cpm后台中c查看当前租户信息
                  identityId: '微信小程序用户openid', // [必须]用户身份标识openId,该信息需要用户自身获得用户授权信息
                  appId: '微信小程序id', // [可选]初始化appId,如未提供控制器将尝试使用wxid
                  baseUrl: 'https://cpm-api.convertlab.com', // [可选]如果需要指定私服链接,可覆盖改参数,默认 cpm-api.convertlab.com
              }
      )
  ...
      // 显示组件
      dialog.show(this, //[可选] 传入 Page 上下文对象,可再次对目标控件进行选择定位,如果未提供,则默认使用构造时传入的Page上下文
       {
            onConfirm() {
               // 弹框选择确认,如返回值为true,则阻止弹框关闭
            },
            onRefuse() {
              // 弹框选择拒绝,如返回值为true,则阻止弹框关闭
            }
        });
      // 关闭组件
      dialog.close()
}

Center 组件

  • json 文件中引入组件
"usingComponents": {
    "center": "/components/convertlab-cpm-sdk-for-wx/components/center",
  }

引入地址根据实际引入路径为主,组件路径注意是在:sdk 目录/components/center 下

  • Center 组件wxml文件引入
 <center id="cl_center"  bindconfirm="onCenteronfirm" bindopenurl="onCenterOpenUrl"></center>

注意组件使用需要设置 id,在后面控制器中需要传入该 id

  • js引入组件控制器
// 引入控制,控制器位于SDK根路径/center.js
const Center = require("../../components/consents/center.js");

// 在需要显示的地方创建对应的控制

onLoad: function(options) {
  // Center 组件使用方式
  ...
       // 初始化组件控制器
       const center = Center(this, // 传入 Page 上下文对象
                '#cl_center',// css选择器,需要指定Page wxml中需要绑定的 Center 组件
                {
                 tenantId: 1, // [必须] 租户id, 可在cpm后台中查看当前租户信息
                  identityId: '微信小程序用户openid', // [必须]用户身份标识openId,该信息需要用户自身获得用户授权信息
                  appId: '微信小程序id', // [可选]初始化appId,如未提供控制器将尝试使用wxid
                  baseUrl: 'https://cpm-api.convertlab.com', // [可选]如果需要指定私服链接,可覆盖改参数,默认 cpm-api.convertlab.com
                }
      )
  ...
      // 显示组件
      center.show(this,  //[可选] 传入 Page 上下文对象,可再次对目标控件进行选择定位,如果未提供,则要求在构造时进行选择器绑定过
            {
            onConfirm(cosents) {
               // 发生保存时响应,cosents 返回保存信息, 如返回值为true,则阻止中心关闭
            }

        });
       // 关闭组件
      center.close()
}

API 说明

Dialog

事件

事件说明
confirm确认事件
refuse拒绝事件
load组件配置加载完成
openurl如果展示组件中存在超链接请求,需要用户实现事件响应,否则将无法打开

例子:

 <dialog id="cl_dialog"  bindconfirm="onDialogConfirm"
 bindrefuse="onDialogRefuse" bindload="onDialogLoad" bindopenurl="onDialogOpenUrl" ></center>

控件属性

属性名说明
closeOnClickModal模态模式控制,默认为 true,设置点击弹框外阴影是否关闭弹框

例子: 模态弹框,不允许弹框未响应按钮前关闭

 <dialog id="cl_dialog"  closeOnClickModal="{{false}}" ></center>

控制器初始化属性

控制获取时需要绑定对应控制组件以及上下文 | 事件 | 说明 | | --- | --- | | tenantId |必须属性,当前租户信息,可以从 cpm 后台中获取| | identityId |必须属性,当前用户微信 openid,用于识别用户身份信息| | appId | 可选,默认会读取当前小程序微信 id| | baseUrl |可选,默认 https://cpm-api.convertlab.com,如果为私部环境则需要设置,目前url需要咨询相关人员| | onConfirm |可选,同 confirm 事件,确定按钮发生响应触发| | onRefuse |可选,同 refuse 事件,拒绝按钮发生响应触发| | onLoad |可选,同 load 事件,组件完成配置初始时回调|

控制器方法

方法说明
show显示组件
close关闭组件
setData设置属性

Center

事件

事件说明
confirm确认事件
load组件配置加载完成
openurl如果展示组件中存在超链接请求,需要用户实现事件响应,否则将无法打开

例子:

 <center id="cl_center"  bindconfirm="onCenterConfirm"  bindload="onCenterLoad" bindopenurl="onCenterOpenUrl" ></center>

控制器初始化属性

控制获取时需要绑定对应控制组件以及上下文 | 事件 | 说明 | | --- | --- | | tenantId |必须属性,当前租户信息,可以从 cpm 后台中获取| | identityId |必须属性,当前用户微信 openid,用于识别用户身份信息| | appId | 可选,默认会读取当前小程序微信 id | | baseUrl |可选,默认 https://cpm-api.convertlab.com,如果为私部环境则需要设置,目前url需要咨询相关人员| | onConfirm| 可选,同 confirm 事件,保存按钮响应时回调 | | onLoad |可选,同 load 事件,组件完成配置初始时回调|

控制器方法

方法说明
show显示组件
close关闭组件
setData设置属性

QA

  • 用户 openid 获取是否是必须? 用户身份标识是 sdk 必须的信息,如果没有该标识 SDK 将无法稳定记录用户授权状态。