Skip to main content

开发参考

前端SDK参考

一、安装指南

PC端

推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用。

npm i cloudcc-ccdk -S

在项目入口文件中引入CCDK

import "cloudcc-ccdk/lib/ccdk.min.js"

App小程序端

image-20241008183201815

二、CCLoad

加载线上JS工具,有些JS可能在服务器中

loadJs(src):Promise

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 使用js方法加载远程js v0.4.3
let p = $CCDK.CCLoad.loadJs(
      "https://cdn.bootcdn.net/ajax/libs/echarts/6.0.0/echarts.common.js"
  );
参数 说明 类型 可选值 默认值
src js 远程地址 string

createLoadJsComponent()

  • 平台差异说明'
PC H5 小程序 APP
× × ×
  • 创建js加载组件 v0.4.3
// 第一步:引入对象,调用方法
$CCDK.CCLoad.createLoadJsComponent();
// 第二步:使用引入脚本标签
<cc-load-script src="js上线地址"></cc-load-script>
参数 说明 类型 可选值 默认值
src js 远程地址 string

三、CCHttp

简单的网络请求工具

get

get(url, data, responseType,config):Promise
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • get请求 v0.0.1
let data = {'name':'zhangsan'}
let token = $CCDK.CCHttp.get(url,data)
.then((res)=>{console.log('res',res)})
.catch((error)=>{console.log('error',error)})
参数 说明 类型 可选值 默认值
url 接口请求地址 string ''
data 请求参数 object {}
responseType 响应类型 string ''
config 配置参数 object config

post

post(url, data, responseType,config):Promise
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • post请求 v0.0.1
let data = {'name':'zhangsan'}
let token = $CCDK.CCHttp.post(url,data)
.then((res)=>{console.log('res',res)})
.catch((error)=>{console.log('error',error)})
参数 说明 类型 可选值 默认值
url 接口请求地址 string ''
data 请求参数 object {}
responseType 响应类型 string ''
config 配置参数 object config

put

put(url, data):Promise
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • put请求 v0.0.1
let data = {'name':'zhangsan'}
let token = $CCDK.CCHttp.put(url,data)
.then((res)=>{console.log('res',res)})
.catch((error)=>{console.log('error',error)})
参数 说明 类型 可选值 默认值
url 接口请求地址 string
data 请求参数 object {}

patch

patch(url, data):Promise
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • patch请求 v0.0.1
let data = {'name':'zhangsan'}
let token = $CCDK.CCHttp.patch(url,data)
.then((res)=>{console.log('res',res)})
.catch((error)=>{console.log('error',error)})
参数 说明 类型 可选值 默认值
url 接口请求地址 string
data 请求参数 object {}

postParams

postParams(url, data):Promise
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • postParams请求 v0.0.1
let data = {'name':'zhangsan'}
let token = $CCDK.CCHttp.postParams(url,data)
.then((res)=>{console.log('res',res)})
.catch((error)=>{console.log('error',error)})
参数 说明 类型 可选值 默认值
url 接口请求地址 string
data 请求参数 object {}

四、CCCommon

访问CloudCC CRM自定义类(接口)工具

post

post(className, methodName, params,config):Promise
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 请求自定义类 v0.6.9
// 自定义类名
let className = "test"
// 类中的方法名
let methodName = "func1"
// 方法入参
let params = [ 
      {
        "argType": "java.lang.String",
        "argValue": "hello",
      },
      {
        "argType": "java.lang.String",
        "argValue": "world",
      }]
let config = {
  // 60秒超时
  timeout:60000
}
// 发起请求
$CCDK.CCCommon.post(className,methodName,params,config)
// 接受返回体
.then((res)=>{let data = res.data;console.log(data)})
// 异常处理
.catch((error)=>{console.log(error)})
参数 说明 类型 可选值 默认值
className 类名 string ''
methodName 方法名 string ''
params 参数集合 array []
config 配置参数 object config

五、CCToken 令牌

操作当前用户登录的令牌信息

getToken

getToken():string
  • 平台差异说明
PC H5 小程序 APP
×
  • 获取当前用户的令牌 v0.0.1
let token = $CCDK.CCToken.getToken()

setToken

setToken(toke):void
  • 平台差异说明
PC H5 小程序 APP
×
  • 设置当前用户的令牌 v0.0.1
let token = 'a2k3jlskdf'
$CCDK.CCToken.setToken(token)
参数 说明 类型 可选值 默认值
token 新令牌 string

clearToken

clearToken():void
  • 平台差异说明
PC H5 小程序 APP
×
  • 清除当前用户的令牌 v0.0.1
$CCDK.CCToken.clearToken()

六、CCUser 用户

操作当前登录的用户信息

getUserInfo

getUserInfo(keyName):object
  • 平台差异说明
PC H5 小程序 APP
×
  • 获取当前登录的用户信息 v0.0.1
let userInfo = $CCDK.CCUser.getUserInfo(keyName)
参数 说明 类型 可选值 默认值
keyName 指定存储的 key string cc_user_info

setUserInfo

setUserInfo(userInfo,domain,keyName):void
  • 平台差异说明
PC H5 小程序 APP
×
  • 设置当前登录的用户信息 v0.0.1
let userInfo = {}
$CCDK.CCUser.setUserInfo(userInfo)
参数 说明 类型 可选值 默认值
userInfo 用户详细信息 object - {}
domain 域名 string - 当前所在域名
keyName 指定存储的 key string - cc_user_info

七、CCDetail 对象详情

getDetail

getDetail(apiname,detailId):object
  • 平台差异说明
PC H5 小程序 APP
× × ×

在详情页,获取当前访问的对象的详细信息 v0.9.8

在非详情页下,如果不指定详情页id,会返回最后一次打开的详情页数据
// 在当前查看的详情页中,获取指定字段内容
let objectDetail = $CCDK.CCDetail.getDetail()

// 在当前查看的详情页中,通过指定字段apiname,获取指定字段内容
let objectDetail = $CCDK.CCDetail.getDetail('name')
let value = objectDetail.value

// 指定详情页获取详细信息
const detailId = '00820231CFCBA29H8YmN'
let objectDetail = $CCDK.CCDetail.getDetail(null,detailId)
参数 说明 类型 可选值 默认值
apiname 指定字段的apiname string
detailId 指定获取已经打开的详情页数据 string

setDetail

setDetail(detail):void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 设置对象详细信息 v0.9.8
$CCDK.CCDetail.setDetail(detail)
参数 说明 类型 可选值 默认值
detail 类型 object {}

detail

参数 说明 类型 可选值 默认值
id 详情记录 id string
detail 记录详细信息 Array

getDetailId

getDetailId():string
  • 平台差异说明
PC H5 小程序 APP
×
  • 获取详情页ID,获得是最新的 v0.9.8
let detailId = $CCDK.CCDetail.getDetailId()
返回值 说明 类型 可选值 默认值
最后一次访问的标准详情页id 类型 string

setDetailId

setDetailId(id):void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 设置详情页ID v0.9.8
$CCDK.CCDetail.setDetailId(id)
参数 说明 类型 可选值 默认值
id 类型 string

refreshRelatedList

refreshRelatedList(ids):void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 刷新详情页相关列表 v0.9.8
let ids = "asdf234,234asdf"
$CCDK.CCDetail.refreshRelatedList(ids)
参数 说明 类型 可选值 默认值
ids 相关列表的 id 集合,传空刷新全部列表,
刷新多个使用逗号分隔。查询方法:文档链接
string

getRelatedSelected

getRelatedSelected(recordId,detailId):object
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 获取相关列表选中的数据id v0.9.30
  • ccdk相关列表id清空时机:
    • 沉浸式详情页相关列表:tab切换、分页或者刷新列表数据时清空
    • 相关列表查看更多:关闭相关列表或者数据刷新时清空
$CCDK.CCDetail.getRelatedSelected(recordId,detailId)
参数 说明 类型 可选值 默认值
recordId 相关列表 id string
detailId 详情页 id string

八、CCList 对象列表页(视图页)

getSelected

getSelected():object
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 在列表视图页,获取当前选中的数据id集合 v0.9.8
let ids = $CCDK.CCList.getSelected()
返回值 说明 类型 可选值 默认值
ids 返回值中的 ids 属性表示选中的 id 集合:{ids:[]} object

getViewId

getViewId():string
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 在列表视图页,获取当前选中视图id v0.9.22
let viewId = $CCDK.CCList.getViewId()
返回值 说明 类型 可选值 默认值
viewId 返回值为当前选中视图 id string

getViewInfo

getViewInfo():object
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 在列表视图页,获取当前视图信息 v0.9.22
let viewInfo = $CCDK.CCList.getViewInfo()
返回值 说明 类型 可选值 默认值
ids 表示选中的 id 集合 array []
viewId 表示当前选中的视图 id string ''
prefix 表示当前对象的 prefix string ''
objid 表示当前对象的 objid string ''
objectApi 表示当前对象的 objectApi string ''

九、CCPage 页面

openListPage

openListPage():打开视图页

openListPage(obj):string

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 打开标准视图页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。v1.0.0
let pageId = $CCDK.CCPage.openListPage
            (
              {
                menuId:'aaa-223',
                prefix:'001',
                viewId:'ace1111',
                layoutType:'list'
              }
            )
  • obj
参数 说明 类型 可选值 默认值
menuId 菜单id string
prefix 对象前缀 string
viewId 视图id string
layoutType 布局类型 string list / Kanban / splitscreen list

openDetailPage

openDetailPage():打开详情页

openDetailPage(obj, id, options):string

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 打开标准详情页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。v1.0.0
let pageId = $CCDK.CCPage.openDetailPage
              (
                {
                  oprateType:'DETAIL',
                  objectName:'客户',
                  objId:'account',
                  objectApi:'Account',
                  prefix:'001',
                },
                  '00120227805836AlIEL4',
                {  
                  openPlace:'menu2',
                  openMode:'_self'
                }
              )
  • obj
参数 说明 类型 可选值 默认值
oprateType 页面类型(DETAIL) string
recordId 记录类型id string
objId 对象id string
objectApi 唯一表示 string
prefix 对象前缀 string
objectName 对象名称 string
  • id
参数 说明 类型 可选值 默认值
id 记录id string
  • options
参数 说明 类型 可选值 默认值
pageId 页面id,如果id相同,
那么不会创建新页面,
而是打开同一个页面
string 默认不填写 --
openPlace 打开位置 string tab/menu1/menu2 menu1
openMode 打开方式 string _self/_blank _self
menu1PageId 一级菜单id,会在此一级
菜单中生成二级菜单
(现支持openDetailPage以blank方式打开二级菜单)
string 默认不填写 --
isShowMenu 是否显示菜单 boolean 当openPlace是menu1/menu2
不传默认true; 是tab不传默认false
--
isShowTitleBox 是否展示头部区域 boolean true/false true
isShowRoi 是否展示ROI boolean true/false true
isShowKeyInfo 是否展示关键信息 boolean true/false true
isShowProcess 是否展示进程 boolean true/false true
isShowRelationList 是否展示相关列表 boolean true/false true
isShowDetail 是否展示详细信息 boolean true/false true
isShowRelationDetail 是否展示相关列表详情 boolean true/false true
isShowActivity 是否展示活动(不展示活动时,切换布局按钮也会一并隐藏) boolean true/false true

openCreatePage()

openCreatePage(obj, options):string

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 打开标准新建页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。v0.2.1
    以下为apiname为khmc的查找字段和apiname为khdh的文本字段设置默认值
let pageId = $CCDK.CCPage.openCreatePage
            (
              {
                objectName:'客户',
                objId:'account',
                objectApi:'Account',
                prefix:'001',
                defalutData:
                [
                  {
                    // 字段唯一标识:值
                    khmc:'0013423dsdsds',
                    data: [{id: '0013423dsdsds', value: '客户名称'}]
                  },
                  {
                    khdh: '15383943854'
                  }
                ]
              },
              {
                openPlace:'dialog',
                openMode:'_blank'
              }
            )
  • obj
参数 说明 类型 可选值 默认值
recordId 记录类型id,指定记录类型编辑 string
objId 对象id string
objectApi 唯一表示 string
prefix 对象前缀 string
objectName 对象名称,新建弹窗标题 string
defalutData 初始化的数据,数据字段(apiname)
必须保持与该对象下的字段(apiname)
一致,否则无法回显
array
creaeteDataId 请保证creaeteDataId的唯一性,
新建页面的唯一标识,
保存后会通过$Bus.$emit调用
save${dataId} 回调函数,
用于处理保存后的逻辑,
参数是接口返回的数据
string
isTableEdit 是否为相关列表,设置为true,保存后不会跳转详情页 boolean true/false false

defalutData
该对象支持所有getDetail接口返回的字段属性

参数 说明 类型 可选值 默认值
apiname:value 字段 apiname 以及对应的值 string
fieldType 字段类型 string
data 查找、主详字段用于回显 value
的下拉列表,查找、主详字段回显时必填
(例子:[{id: "0012022813A22F1p7OhJ", value: "cascascf"}]
Array
label 查找和主详字段需要显示的 label string
expressionType 公式字段返回值类型 string
  • options
参数 说明 类型 可选值 默认值
pageId 页面 id,如果 id 相同,
则不会创建新页面,
而是打开同一个页面
string 默认不填写 --
openPlace 打开位置 string dialog/tab/floatDialog/menu1/menu2 dialog
openMode 打开方式(仅支持新打开弹窗) string _self/_blank _blank

openEditPage()

openEditPage(obj:object,id:string,options:object):string

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 打开标准编辑页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。 v0.2.1
let pageId = $CCDK.CCPage.openEditPage
              (
                {
                  objectName:'客户',
                  objId:'account',
                  objectApi:'Account',
                  prefix:'001',
                  defalutData:
                  [
                    {
                      // 字段唯一标识:值
                      khmc:'0013423dsdsds',
                      data: [{id: '0013423dsdsds', value: '客户名称'}]
                    },
                    {
                      khdh: '15383943854'
                    }
                  ]
                },
                '00120227805836AlIEL4',
                {
                  openPlace:'dialog',
                  openMode:'_blank'
                }
              )

obj

参数 说明 类型 可选值 默认值
recordId 记录类型 id,指定记录类型编辑 string
objId 对象 id string
objectApi 唯一表示 string
prefix 对象前缀 string
objectName 对象名称,新建弹窗标题 string
defalutData 初始化的数据,数据字段(apiname)
必须保持与该对象下的字段(apiname)一致,
否则无法回显
array
  • defalutData
    该对象支持所有getDetail接口返回的字段属性
参数 说明 类型 可选值 默认值
apiname:value 字段 apiname 以及对应的值 string
fieldType 字段类型 string
data 查找、主详字段用于回显 value
的下拉列表,查找、主详字段回显时必填
(例子:[{id: "0012022813A22F1p7OhJ", value: "cascascf"}]
Array
label 查找和主详字段需要显示的 label string
expressionType 公式字段返回值类型 string
  • id
参数 说明 类型 可选值 默认值
id 编辑记录 id,记录保存后会通过
$Bus.$emit 调用 save${id}
回调函数,用于处理保存后的逻辑,
参数是接口返回的数据
string
  • options
参数 说明 类型 可选值 默认值
pageId 页面 id,如果 id 相同,
则不会创建新页面,
而是打开同一个页面
string 默认不填写 --
openPlace 打开位置 string dialog/tab/floatDialog/
menu1/menu2
dialog
openMode 打开方式(仅支持新打开弹窗) string _self/_blank _blank

openCustomPage()

openCustomPage(obj:object, options:object):string

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 打开自定义页面,并返回打开页面的唯一标识id,可以用于关闭和刷新使用。
  • 使用dialog打开自定义页面:
let obj = 
      {
        pageApi: "sayhello",
        data:{}
      }
let options = 
      {
        openPlace: 'dialog',
        openMode:'_blank',
        title: '菜单标题',
        height:'70vh',
        width:'70vw'
      }
let pageId = $CCDK.CCPage.openCustomPage(obj,options)

obj

参数 说明 类型 可选值 默认值
pageApi 自定义页面标识 string
data 初始化的数据(表单数据可用,
其他类型请使用 localStorage)。
格式:{apiname: value}
object

data

参数 说明 类型 可选值 默认值
key:value key 为表单字段 apiname,
value 为该字段设置的值
string

options

参数 说明 类型 可选值 默认值
pageId 页面id,如果id相同,
那么不会创建新页面,
而是打开同一个页面
string 默认不填写 --
openPlace 打开位置 string dialog/tab/floatDialog/
menu1/menu2
tab
openMode 打开方式 string _self/_blank _blank
title dialog标题或者菜单名字 string
isIframe 打开一级菜单的自定义
页面渲染的是iframe,
需要缓存时设置此属性
boolean true/false false
isShowClose 是否展示菜单关闭按钮 boolean true/false true
tabAction 一二级菜单下拉操作项 array 见示例 见示例
width 宽度,支持px,%,vw单位 string
height 高度,支持px,vh单位 string
left 距离屏幕左边大小 string
top 距离屏幕顶部大小 string
right 距离屏幕右侧大小 string
bottom 距离屏幕底部大小 string
isShowMenu 是否显示菜单 boolean 当openPlace是menu1/
menu2不传默认true;
是tab不传默认false
--

reOpenPage()

reOpenPage(pageId:string,options:object)

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 通过页面Id,重新打开页面
let options = 
      {
        refresh: false,
      }
$CCDK.CCPage.reOpenPage(pageId,options)

pageId

参数 说明 类型 可选值 默认值
pageId 页面唯一标识 string

options

参数 说明 类型 可选值 默认值
refresh 是否刷新页面 boolean true/false false

searchPage

searchPage(pageId:string)
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 查询页面v0.3.9
let obj = $CCDK.CCPage.searchPage(pageId)
参数 说明 类型 可选值 默认值
pageId 页面id,通过id查找是否存在此页面,
若存在返回一个对象
string ''

getCurrentPage()

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 获取当前页面菜单数据 v0.4.9
let obj = $CCDK.CCPage.getCurrentPage()

close

close(pageId:string)
  • 平台差异说明 (在pc中使用此api)
PC H5 小程序 APP
× × ×
  • 关闭页面 v0.3.3
$CCDK.CCPage.close(pageId='')
参数 说明 类型 可选值 默认值
pageId 页面id,通过页面id关闭指定页面,
如果为空,那么关闭最新打开的页面
string ''

close

close(refresh:Boolean)
  • 平台差异说明 (在wgt中使用此api)
PC H5 小程序 APP
× × ×
  • 关闭小程序
参数 说明 类型
refresh 是否刷新Native详情页 Boolean

refresh()

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 刷新当前选中的一级菜单或者二级菜单页面 v0.5.1
window.$CCDK.CCPage.refresh()

十、CCBus 事件总线

$emit

$emit(event, ...args):void
  • 平台差异说明
PC H5 小程序 APP
×
  • 发布事件 v0.0.1
$CCDK.CCBus.$emit('myevent')
参数 说明 类型 可选值 默认值
event 事件名称,唯一标识 string
args 请求参数 any

$on

$on(event, callback):void
  • 平台差异说明
PC H5 小程序 APP
×
  • 订阅事件 v0.0.1
$CCDK.CCBus.$on('myevent',()=>{
    console.log('hello CloudCC')
})
参数 说明 类型 可选值 默认值
event 事件名称,唯一标识 string
callback 回调方法 function

$off

$off(event):void
  • 平台差异说明
PC H5 小程序 APP
×
  • 取消订阅 v0.0.1
$CCDK.CCBus.$off('myevent')
参数 说明 类型 可选值 默认值
event 事件名称,唯一标识 string

十一、CCCrypto 加密

encrypt

encrypt(data:object, key:string, iv:number):string
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 加密数据 v0.0.1
let encrypt = $CCDK.CCCrypto.encrypt({'name':'zhangsan'},"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",1)
参数 说明 类型 可选值 默认值
data 待加密的数据 object
key 密钥 string AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
iv 偏移量 number 1

decrypt

decrypt(data:string, key:string, iv:number):object
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 解密数据 v0.0.1
let data = 'rgTxYdmUGNelPbfoChXe5eTQqNDPxTNv57V62x6Be9kXceAqcpq/uNeaZnH0EcexNKqep6u8v6YApDkv9K9J0YrhLRgKiEGT/N0RKqdpPZH7bwFP6x0zGV3iE3Rij/5Vc1YwcAMoboA7aTAq0skmQK7rdgD73JpEY9umN3pM13xHAvHjY5Mym8PpT+KIL7m6O3z+aDcKzATn7Y7jiQOMjJynGZhgvKjE0M1ztyGPkmDcEBU8NBeyCBrSiy+EsB2rxkQGmwihm/itcUsl7QE/bseSPz4v1GuWek110hUfCd6a0Le1AsrnbNdpZ84fcEAJFhQW1sekqolzUrh2e0ncgSqmggW75COSsxmdtArsifzn7P1jxgPBVoA8EXk+1HCHStI7iJms2AaiYV7c/KnTHV2l3jPRIawV+Z0C5zvlcsE/pP3TfJmTkQQHncqE2bmwiwxu4h/T/STNX01bu+1bFE3ooIFwsDRd2K6cAfmkmeDCa17DWJdJwS/uM2hYHPz3Mhsds0wbMW0jsniLOeqzV99E80hfXBKMkR3cVpLmXKM/moj5xxoFzIDgJi0DVgZXDnG6V5I5GwKLOjPF5h50KkzkJoOlqT5IJObdqtvfq2WFoLTWBaVwTjBgwai7HQ5w2DZ9b6MheiTMuvgC6lB/lGcG90chInaWa7rhym7l/b+6wts7eGFA07+WT86kNQMzhAMdinizXIwABK2T5ZkXoeooXlkQM8MEGK0Y25g+gXIX2icfviSrZ8MKJvtqyXZKhyHxjHfrQtpgcirylG+dvjE+Dw4Nem+wt5Pigc0HolkKHgIPVqnpUCyG2qIZD/8jihllHt9FV7scGczICLbQ71rHIw5L5nGLCW5uG2ylYB8hEA+F+bIxaqylIRdrsrTt/pI5Y3eE5qJ3F6e0Pls8Kb34iMT/ICG2gks6x7g2EuxsDe9L+Ixd2d6BF8XYiBN1wjXQ+nlsiSA+Vd5GYt5ROJGU5Ls6aGoOHQBaDd6EHTtKS9Vl2CpaUcGXU9bKQEqRPPr7oHH2JHqFGSPL68FrRjDK6MkcR/BqfwsmWkHcW6qyRPVlW7rtqu3AhSe17PSS+uKqtkqgvc1dAjythYC1lRW5Rlbgz93qjtC/9yoarBCJusaIDFjefRgiGKxvixkkar07Zpw4untdhp0ToU60SD3wGnmA1VaOBGM3NRGtb06l0PO049gACVsXLqn8IrKL+eWgYGobwOgXyBGyDyobwLL6NkYrC63aLLoPZN08yozgPS/Zw4kTFtTac1/RmFCf1JyxcKClB3fS2Pc7TOCRkPIXcys1oeYDTb280iIbV2eeaRxaQTW/3yHNOJWiQC+G2uQkIgnQ45tDfj60c6hPOJjwNdmb1yXYEUoN/xBbDxBxAUTzclp54kZZJjdk8SapIWaNrloSHtlG7LoDXUK3QgKgQL2vfvl9X5FPA31MOGxD8LIhq2XYzJLtBoy5W09QAwlNvKRzA1gJRsLcXLQFozwm0Tjz0FGZvBqpeQJ1k8zzIhXmsbUNn0sRXuFY/+F2XMrJCOlVl3Oz0E+Pl032t1omRtdH0AOvv3DNbv5Tb5R4QoGs0Bm5cJREAlurvp0G9mYvRiUMngGvwQn5IW4Jyx7ok6AQCyKgxDB1AIYKbcsVyQvWnbFC2aPFIEOwo5O8iyX3xeaV89YPlIj5Tuw3RvgHT77+ahKVMghUi65N8XmQ242g0Pm9a21ob7gpDlQG'
let result = $CCDK.CCCrypto.decrypt(data)
参数 说明 类型 可选值 默认值
data 待解密的数据 object
key 密钥 string AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
iv 偏移量 number 1

十二、CCUtils 工具

getDomain

getDomain():string
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 获得一级域名,比如:xx.com、xx.cn、xx.com.cn、xx.net.cn、xx.org.cn v0.0.1
let domain = $CCDK.CCUtils.getDomain()

getCurrentPageType

getCurrentPageType():string
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 获得当前页类型,暂时支持视图页和详情页 v0.9.22
  • pageType:"view": 视图页 "detail":详情页
let pageType = $CCDK.CCUtils.getCurrentPageType()

getFormId

getFormId():string
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 在新建、编辑页面获取formId,默认获取最后一次打开的formId v0.9.61
// 返回值:String,最后一次打开的表单formId
    $CCDK.CCUtils.getFormId() 
   // 获取所有打开表单的formId集合,返回类型:Arry
   $CCDK.CCUtils.getFormId({type:'all'})
   // 注意:最后一次打开的表单不一定是当前展示的表单,对于通过一二级菜单菜单打开的表单,切换菜单时,当前展示的表单不是最后一次打开的表单
参数 说明 类型 可选值 默认值
type 获取表单id类型,当为all时,获取formId数组,索引顺序为表单打开的顺序 string all

setFormFieldValue

setFormFieldValue():void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 在新建/编辑页对主对象表单字段值设置默认值 v0.9.37
// 新建、编辑页面中的onLoad、onChange客户端脚本中,参数obj中存在表单formId
const formId = obj.formId;
const option = {
  formId:formId,
  list: [{
    // 字段值
    value:'',
    // 查找字段的label,查找字段赋值需要传
    valueName:'',
    // 字段apiname
    fieldKey:'',
  },{
    // 字段值
    value:'',
    // 查找字段的label,查找字段赋值需要传
    valueName:'',
    // 字段apiname
    fieldKey:'',
  }],
}
$CCDK.CCUtils.setFormFieldValue(option)

option值为对象,参数说明:

参数 说明 类型 可选值 默认值
formId 表单 id,客户端脚本 obj 对象中可以获取到 string
list 赋值字段信息 array

getFormFieldValue

getFormFieldValue():string
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • ccdk获取指定表单字段采集值 v0.9.38
    需结合客户端脚本,获取表单字段值
// 新建、编辑页面中的onLoad、onChange客户端脚本中,参数obj中存在表单formId
const formId = obj.formId;
const option = {
  formId:formId,
  list: [{
    // 字段apiname
    fieldKey:'',
  },{
    // 字段apiname
    fieldKey:'',
  }],
}
$CCDK.CCUtils.getFormFieldValue(option)

option值为对象,参数说明:

参数 说明 类型 可选值 默认值
formId 表单 id,客户端脚本 obj 参数中可以获取到 string
list 指定获取某些字段值,fieldKey 是字段 apiname array

getFormFieldInfo

getFormFieldInfo(option):object
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • ccdk获取指定表单字段详细信息采集值 v0.9.49
    需结合客户端脚本,获取表单字段详细信息
// 新建、编辑页面中的onLoad、onChange客户端脚本中,参数obj中存在表单formId
const formId = obj.formId;
const option = {
  formId:formId,
  list: [{
    // 字段apiname
    fieldKey:'',
  }],
}
$CCDK.CCUtils.getFormFieldInfo(option)

option值为对象,参数说明:

参数 说明 类型 可选值 默认值
formId 表单 id,客户端脚本 obj 参数中可以获取到; string
list 指定获取某些字段值,fieldKey 是字段 apiname array

getRelatedInfo

getRelatedInfo():object
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • ccdk获取指定新建/编辑表单从记录详细信息 v0.9.51
    需结合客户端脚本,获取从记录详细信息
// 新建、编辑页面中的addLine客户端脚本中,参数obj中存在表单formId、relatedId
const {formId} = obj;
const option = {
  formId:formId
}
$CCDK.CCUtils.getRelatedInfo(option)

option值为对象,参数说明:

参数 说明 类型 可选值 默认值
formId 表单 id,客户端脚本 obj 参数中可以获取到; string

getRelatedValue

getRelatedValue():string
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • ccdk获取指定表单从记录数据采集值 v0.9.51
    需结合客户端脚本,获取指定从记录数据
// 新建、编辑页面中的addLine客户端脚本中,参数obj中存在表单formId、relatedId
const {formId,relatedId} = obj;
const option = {
  formId:formId,
  relatedId: relatedId
}
$CCDK.CCUtils.getRelatedValue(option)

option值为对象,参数说明:

参数 说明 类型 可选值 默认值
formId 表单 id,客户端脚本 obj 参数中可以获取到; string
relatedId 从记录 id,addline 类型客户端脚本 obj
参数中可以获取到,用于定位从记录
string

setRelatedValue

setRelatedValue():void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • ccdk设置指定表单从记录数据值 v0.9.51
    需结合客户端脚本,设置指定从记录数据
// 新建、编辑页面中的addLine客户端脚本中,参数obj中存在表单formId、relatedId
const {formId,relatedId} = obj;
const option = {
  formId:formId,
  relatedId: relatedId,
  updateType: 'all',
  list: [{
    value:'',  // 字段值
    valueName:'',  // 查找字段的label,查找字段赋值需要传
    fieldKey:'',  // 字段apiname
  }]
}
$CCDK.CCUtils.setRelatedValue(option)

option值为对象,参数说明:

参数 说明 类型 可选值 默认值
formId 表单 id,客户端脚本 obj
参数中可以获取到;同一表单场景下,
同时打开多个表单时,用于定位表单
string
relatedId 从记录 id,addline 类型客户端
脚本 obj参数中可以获取到,
用于定位从记录
string
updateType 确定更改从记录数据的索引,
指定索引超出数据最大索引,
按 'lastLine' 处理;
'all': 更改当前从记录所有数据;
'lastLine': 仅更改最后一行数据
string、number 'all','lastLine',index 'lastLine'
list 需要修改的字段,参考 setFormFieldValue 中 list 说明 array

notify

notify():void

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • ccdk通知浏览器发送通知 v0.9.62
// 只传标题
$CCDK.CCUtils.notify({ title: '提示' })

// 标题 + 正文
$CCDK.CCUtils.notify({
  title: '新消息',
  body: '您有一条待办需要处理'
})

// 标题 + 正文 + 图标
$CCDK.CCUtils.notify({
  title: '系统通知',
  body: '任务已完成',
  icon: 'https://example.com/logo.png'
})

$CCDK.CCUtils.notify({
  title: '系统通知',
  body: '任务已完成',
  icon: '/favicon.ico'
})

参数说明:

参数 说明 类型 可选值 默认值
title 消息标题 string "通知"
body 消息正文 string
icon 通知里显示的小图标的地址 string '/favicon. ico'

blinkTitle

blinkTitle():void

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • ccdk通知浏览器标签闪烁 v0.9.62
// 只传标题
$CCDK.CCUtils.blinkTitle()

// 标题 + 间隔
$CCDK.CCUtils.blinkTitle({
  message: '你有一条新消息',
  interval: 800
})

参数说明:

参数 说明 类型 可选值 默认值
message 消息标题 string 新消息
interval 闪烁间隔 number 1000

十三、CCSide 侧边工具栏

init

init(options):void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 初始化侧边栏 v0.4.7
let options = {
  width:"300px",
  pageApi:"dht"
}
$CCDK.CCSide.init(options);
参数 说明 类型 可选值 默认值
options 初始化数据 object
  • options
参数 说明 类型 可选值 默认值
width 侧边栏的宽度,支持 px、%、vw 单位 string
pageApi 自定义页面 api string

open

open():void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 打开侧边栏 v0.4.7
$CCDK.CCSide.open();

close

close()
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 关闭侧边栏 v0.4.7
$CCDK.CCSide.close();

十四、CCApplication 应用

访问应用信息

getApplicaton

getApplicaton():object
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 获取当前访问的应用对象 v0.2.1
let app = $CCDK.CCApplication.getApplicaton()
  • app
参数 说明 类型 可选值 默认值
id 应用程序 id string
name 应用程序名称 string
navigationStyle 控制台样式,'0' 控制台样式,'1' 标准样式 string

open

open(appId)(开发中)
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 存储应用对象
$CCDK.CCApplication.open(appId)
参数 说明 类型 可选值 默认值
appId 应用唯一标识 string

十五、CCCall 拨打电话

init

init(id, callClient):object
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 初始化电话功能 v0.0.1
let callClient = {
    // 点击平台手机号,右侧电话图标会,回调此方法
    call:(options)=>{
        // 获取要外呼的电话号码,进行业务处理
        let number = options.number
    }
}
let client = $CCDK.CCCall.init("abc",callClient)
参数 说明 类型 可选值 默认值
id 电话服务商唯一标识,从 CloudCC
后台设置获取:沟通渠道 → 电话
string
callClient 电话服务商对象,需要服务商手动初始化 object
  • callClient
参数 说明 类型 可选值 默认值
call 必须实现的方法,用于平台和电话条通信 function

call

call(id, options):object
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 平台通过此方法,与电话条通信,拨打电话 v0.0.1
let client = $CCDK.CCCall.call(id,options)
参数 说明 类型 可选值 默认值
id 电话服务商唯一标识,从 CloudCC
后台获取,不填写时,使用默认服务商
string ''
options 拨打电话的配置信息 object
  • options
参数 说明 类型 可选值 默认值
number 电话号码 string

openCallPanel

openCallPanel(id, options):object
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 调用话务服务,打开电话面板 v0.0.1
let client = $CCDK.CCCall.openCallPanel(id,options)
参数 说明 类型 可选值 默认值
id 电话服务商唯一标识,从 CloudCC
后台获取,不填写时,试用默认服务商
string
options 拨打电话的配置信息 object
  • options
参数 说明 类型 可选值 默认值
number 电话号码 string

十六、CCRenderer 渲染器

openDebug

openDebug():void

打开调试

平台差异说明

PC H5 小程序 APP
× × ×
<script>
// Write here
window.$CCDK?.CCRender?.openDebug();
export default {
  	...something code
  },
</script> 

十七、CCMessage 消息提示

showMessage

showMessage(text, type, duration,showClose, center):void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 消息提示框 v0.0.1
$CCDK.CCMessage.showMessage('Hello CloudCC')
参数 说明 类型 可选值 默认值
text 提示消息 string
type 消息类型 string success / warning / info / error info
duration 显示时间,毫秒。
设为 0 则不会自动关闭
number 3000
showClose 是否显示关闭按钮 boolean false
center 文字是否居中 boolean false

showConfirm

showConfirm(text, title, options, confirm, reject):void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 消息确认框 v0.0.1
$CCDK.CCMessage.showConfirm('Hello CloudCC','MyConfirm',{},()=>{alert("a")},()=>{alert("b")})
参数 说明 类型 可选值 默认值
text MessageBox 消息正文内容 string / VNode
title MessageBox 标题 string
options 其他配置参数 options
confirm 确认回调方法 function
reject 取消回调方法 function
  • options
参数 说明 类型 可选值 默认值
type 消息类型,用于显示图标 string success / info / warning / error
showClose MessageBox 是否显示右上角关闭按钮 boolean true
lockScroll 是否在 MessageBox 出现时将 body 滚动锁定 boolean true
showCancelButton 是否显示取消按钮 boolean false(以 confirm 和 prompt 方式调用时为 true)
showConfirmButton 是否显示确定按钮 boolean true
cancelButtonText 取消按钮的文本内容 string 取消
confirmButtonText 确定按钮的文本内容 string 确定
closeOnClickModal 是否可通过点击遮罩关闭 MessageBox boolean true(以 alert 方式调用时为 false)
center 是否居中布局 boolean false
roundButton 是否使用圆角按钮 boolean false

showNotification

showNotification(options)
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • 消息提示框 v0.0.1
$CCDK.CCMessage.showNotification({
          title: '提示',
          message: '这是一条不会自动关闭的消息',
          duration: 0
        })
  • options
参数 说明 类型 可选值 默认值
title 标题 string
message 说明文字 string / Vue.VNode
dangerouslyUseHTMLString 是否将 message 属性作为 HTML 片段处理 boolean false
type 主题样式,如果不在可选值内将被忽略 string success / warning / info / error
iconClass 自定义图标的类名。若设置了 type,则 iconClass 会被覆盖 string
customClass 自定义类名 string
duration 显示时间, 毫秒。设为 0 则不会自动关闭 number 4500
position 自定义弹出位置 string top-right / top-left / bottom-right / bottom-left top-right
showClose 是否显示关闭按钮 boolean true
onClose 关闭时的回调函数 function
onClick 点击 Notification 时的回调函数 function
offset 偏移的距离,在同一时刻,所有的 Notification 实例应当具有一个相同的偏移量 number 0

十八、CCI18n 多语言

addMessages

addMessages(langType: enum,message: object): void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • addMessages添加词条
// 添加中文
  $CCDK.CCI18n.addMessages($CCDK.CCI18n.LocalEnum.ZH, {
      hello: "你好",
      test: "测试",
      test2: "测试2",
    });
// 添加英文
 $CCDK.CCI18n.addMessages($CCDK.CCI18n.LocalEnum.EN, {
      hello: "hello-en",
      test: "test-en",
      test2: "test2-en",
    });

setLocale

setLocale(langType: enum):void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • setLocale设置语种
$CCDK.CCI18n.setLocale($CCDK.CCI18n.LocalEnum.ZH);// 显示中文
  
$CCDK.CCI18n.setLocale($CCDK.CCI18n.LocalEnum.EN); //显示英文

LocalEnum: enum

  • 平台差异说明
PC H5 小程序 APP
× × ×
  • LocalEnum使用枚举值
名称 使用 说明
ZH $CCDK.CCI18n.LocalEnum.ZH 中文
EN $CCDK.CCI18n.LocalEnum.EN 英文

t

t(key: string):void
  • 平台差异说明
PC H5 小程序 APP
× × ×
  • t使用词条
  • 在dom中
$CCDK.CCI18n.t("hello")
  • 在js中
 computed: {
    labelTest() {
      return window.$CCDK.CCI18n.t("test");
    },
  },

十九、CCLog 日志上报工具

reportInfoLog

reportInfoLog(logInfo):void

平台差异说明

PC H5 小程序 APP
× × ×
  • 上报info日志 v0.6.0
  let logInfo = {
      "infoType": "debug",
      "serviceName": "my app",
      "infoMessage":"描述信息"
  }
  window.$CCDK.CCLog.reportInfoLog(logInfo)
  • logInfo
参数 说明 类型 可选值 默认值
infoType 日志类型 string info, debug
serviceName 服务名称 string
infoMessage 日志描述信息 string ""
remark 备注信息 string ""

reportErrorLog

reportErrorLog(logInfo,response):void

平台差异说明

PC H5 小程序 APP
× × ×
  • 上报网络异常请求信息 v0.6.0
  let logInfo = {
      "serviceName": "my app",
      "errorMessage":"描述信息",
      "printStackTraceInfo":"printStackTraceInfo描述信息"
  }
  window.$CCDK.CCLog.reportErrorLog(logInfo)
  • logInfo
参数 说明 类型 可选值 默认值
serviceName 服务名称 string 项目名称
errorMessage 日志描述信息 string ""
printStackTraceInfo 堆栈信息 string ""
requestUrl 请求地址 string ""
remark 备注信息 string ""

二十、CCLoading 加载框

开启Loading

let loadingInstance = Vue.prototype.$loading(option)
  • option配置
参数 说明 类型 可选值 默认值
target Loading 需要覆盖的 DOM 节点。
可传入 DOM 对象或字符串,
若为字符串,则使用
document.querySelector 获取对应节点
object/string document.body
body v-loading 指令中的 body 修饰符 boolean false
fullscreen v-loading 指令中的 fullscreen 修饰符 boolean true
lock v-loading 指令中的 lock 修饰符 boolean false
text 显示在加载图标下方的加载文案 string
spinner 自定义加载图标类名 string
background 遮罩背景色 string
customClass Loading 的自定义类名 string

关闭Loading

loadingInstance.close();

二十一、CCOpenAPI

调用方式

在 Vue 或全局上下文中通过 CCDK 调用:

window.$CCDK.CCOpenAPI.cquery(clientId, secretKey, objectApiName, expressions, fields, isAddDelete, options)

通用入参说明(各查询方法前两参均为 clientId、secretKey)

参数 说明 类型 可选值 默认值
clientId 客户端 ID string
secretKey 客户端密钥 string
options.baseUrl 接口基础地址,不传则使用 window.Glod['ccex-apitsf'] string
options.timeout 单次请求超时时间(毫秒) number 60000

普通查询 cquery

2.3.1 普通查询服务:按条件查询对象记录。

const res = await window.$CCDK.CCOpenAPI.cquery(
  clientId,
  secretKey,
  'Contact',
  "name='13213'",
  'name,createdate,createbyid',
  'false',
  {}
)
// res.result 为 true 时,res.data 为记录数组

cquery 参数配置

参数 说明 类型 可选值 默认值
clientId 客户端 ID string
secretKey 客户端密钥 string
objectApiName 对象 API 名称,如 Contact、Account string
expressions 查询条件,如 name='13213' string
fields 返回字段,多个用英文逗号分隔 string ''
isAddDelete 是否包含已删除数据,true/false string 'false'
options 可选配置(baseUrl、timeout) object {}

带权限的普通查询 cqueryWithRoleRight

2.3.2 带权限的普通查询服务:在普通查询基础上按当前用户权限过滤。

const res = await window.$CCDK.CCOpenAPI.cqueryWithRoleRight(
  clientId,
  secretKey,
  'Contact',
  "name!=''",
  'false',
  {}
)

cqueryWithRoleRight 参数配置

参数 说明 类型 可选值 默认值
clientId 客户端 ID string
secretKey 客户端密钥 string
objectApiName 对象 API 名称 string
expressions 查询条件 string
isAddDelete 是否包含已删除数据 string 'false'
options 可选配置 object {}

分页查询 pageQuery

2.3.3 分页查询服务:按页获取对象记录。

const res = await window.$CCDK.CCOpenAPI.pageQuery(
  clientId,
  secretKey,
  'Contact',
  "name!=''",
  'id,name',
  1,
  10,
  {}
)
// res.data 为当前页数据,res.totalCount、res.pageCount、res.hasNext 等为分页信息

pageQuery 参数配置

参数 说明 类型 可选值 默认值
clientId 客户端 ID string
secretKey 客户端密钥 string
objectApiName 对象 API 名称 string
expressions 查询条件 string
fields 返回字段,可不填 string ''
pageNUM 当前页数(从 1 开始) number
pageSize 每页条数 number
options 可选配置 object {}

带权限的分页查询 pageQueryWithRoleRight

2.3.4 带权限的分页查询服务:分页且按当前用户权限过滤。

const res = await window.$CCDK.CCOpenAPI.pageQueryWithRoleRight(
  clientId,
  secretKey,
  'Contact',
  "name!=''",
  1,
  10,
  { fields: 'id,name' }
)

pageQueryWithRoleRight 参数配置

参数 说明 类型 可选值 默认值
clientId 客户端 ID string
secretKey 客户端密钥 string
objectApiName 对象 API 名称 string
expressions 查询条件 string
pageNUM 当前页数 number
pageSize 每页条数 number
options 可选配置,可含 fields object {}

获取对象查询权限 getQueryPermisson

2.3.5 获取对象查询权限:查询指定对象的查看权限及 shareSql。

const res = await window.$CCDK.CCOpenAPI.getQueryPermisson(
  clientId,
  secretKey,
  'Account,Opportunity',
  {}
)
// res.data 含 apiName、query、shareSql 等

getQueryPermisson 参数配置

参数 说明 类型 可选值 默认值
clientId 客户端 ID string
secretKey 客户端密钥 string
objectApiName 对象 API 名称,多个以英文逗号分隔 string
options 可选配置 object {}

自定义 SQL 查询 cqlQueryWithLogInfo

2.3.6 自定义 SQL 查询(含配置权限控制):执行自定义 SQL,受权限配置控制。

const res = await window.$CCDK.CCOpenAPI.cqlQueryWithLogInfo(
  clientId,
  secretKey,
  'Account',
  "select id,name from Account where id='001xxxx'",
  {}
)

cqlQueryWithLogInfo 参数配置

参数 说明 类型 可选值 默认值
clientId 客户端 ID string
secretKey 客户端密钥 string
objectApiName 对象 API 名称 string
expressions 查询 SQL string
options 可选配置 object {}

静态查询 cqlQueryWithStatic

2.3.7 静态查询接口:支持游标式分页,通过上次返回的 nextRecordQueryId 获取下一页。

// 首次查询
const res = await window.$CCDK.CCOpenAPI.cqlQueryWithStatic(
  clientId,
  secretKey,
  'Account',
  'select id,name from Account where name!=\'\'',
  undefined,
  {}
)
// 下一页:将 res.nextRecordQueryId 传入
const next = await window.$CCDK.CCOpenAPI.cqlQueryWithStatic(
  clientId,
  secretKey,
  'Account',
  'select id,name from Account where name!=\'\'',
  res.nextRecordQueryId,
  {}
)

cqlQueryWithStatic 参数配置

参数 说明 类型 可选值 默认值
clientId 客户端 ID string
secretKey 客户端密钥 string
objectApiName 对象 API 名称 string
expressions 查询 SQL string
nextRecordQueryId 上一页返回的查询 ID,首次不传 string
options 可选配置 object {}

返回结构说明

各查询方法均返回 Promise,resolve 结果为统一结构:

参数 说明 类型
result 是否成功 boolean
returnInfo 返回信息/错误说明 string
returnCode 返回编码,如 "1" 表示成功 string
data 业务数据(列表或对象等) 见各接口文档

分页接口还会包含:pageNUM、pageSize、totalCount、pageCount、hasPre、hasNext 等。
若请求失败或接口返回 result 为 false,请根据 returnInfo、returnCode 或抛出的错误信息排查。