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()

getOpenApiToken

  • 平台差异说明
PC H5 小程序 APP
√ × × ×
  • 获取openApiTokenv0.9.63
let clientId = 'YMGCtOj5UjSOlnepfGqrF5AyI'; 
let secretKey = '51811ecd-9cba-49a4-838a-298fc96fea89';
let token = $CCDK.CCToken.getOpenApiToken(clientId, secretKey,);
token.then(res=>{console.log(res)})
参数 说明 类型 可选值 默认值
clientId 客户端id,在设置-安全性控制-链接的应用程序中获取 string — —
secretKey 密钥,在设置-安全性控制-链接的应用程序中获取 string — —

六、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,通过浏览器控制台,Dom元素查找查看 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的文本字段设置默认值
 window.ccBus.$on(`save${creaeteDataId}`,(res) => {
      // 保存接口成功后的回调,res为保存接口返回内容
    })
let pageId = $CCDK.CCPage.openCreatePage
            (
              {
                objectName:'客户',
                objId:'account',
                objectApi:'Account',
                prefix:'001',
                creaeteDataId:'唯一标识字符串',
                defaultData:
                [
                  {
                    // 字段唯一标识:值
                    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 — —
defaultData 初始化的数据,数据字段(apiname)
必须保持与该对象下的字段(apiname)
一致,否则无法回显
array — —
creaeteDataId 请保证creaeteDataId的唯一性,
新建页面的唯一标识,
保存后会通过$Bus.$emit调用
save${creaeteDataId} 回调函数,
用于处理保存后的逻辑,
参数是接口返回的数据
string — —
isTableEdit 是否为相关列表,设置为true,保存后不会跳转详情页 boolean true/false false

defaultData
该对象支持所有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

openCopyPage()

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

  • 平台差异说明
PC H5 小程序 APP
√ × × ×
    • 打开复制页,并返回打开页面的唯一标识,可以用于关闭和刷新使用
    • v0.9.66
let pageId = $CCDK.CCPage.openCopyPage
              (
                {
                  objectName:'报价单',
                  objId:'201100000006130OosPK',
                  objectApi:'quote',
                  prefix:'011',
                },
                '011202659761C59G8DZ2',
                {
                  openPlace:'dialog',
                  openMode:'_blank'
                }
              )

参数信息参考openEditPage

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',
                  defaultData:
                  [
                    {
                      // 字段唯一标识:值
                      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 — —
defaultData 初始化的数据,数据字段(apiname)
必须保持与该对象下的字段(apiname)一致,
否则无法回显
array — —
  • defaultData
    该对象支持所有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
--
zIndex 控制dialog层级 number 当openPlace是dialog时生效 --

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:'',
    // 非必传,指定字段是选项列表类型,数据更改后,会自动执行该字段参与的字段依赖规则
    fieldType:'L',
    // 字段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
    需结合客户端脚本,获取表单字段详细信息
  • 选项列表类型字段实时返回下拉项数据,属性名为: selectOptions
// 新建、编辑页面中的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,
    // 可以获取指定从记录relatedId,指定从记录时,返回值为指定从记录信息对象
  relatedId:'',
}
$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 — —

批量新增

ccdk版本:v0.9.67

// 根据formId关闭批量新增、新建、编辑、复制弹窗
$CCDK.CCUtils.formUtils({utilsName:'closeForm',formId:'需要关闭的弹窗的formId,不传formId,默认关闭当前打开的dialog'})

// 获取批量新增信息,表头数据、对象信息、记录类型、formId
$CCDK.CCUtils.formUtils({utilsName:'getInfo',formId:$CCDK.CCUtils.getFormId()})

// 获取批量新增录入数据
$CCDK.CCUtils.formUtils({utilsName:'get',formId:$CCDK.CCUtils.getFormId()})

// 更改批量新增录入数据, updateType: 更改类型('all': 更改所有行;数字索引: 更改指定行索引;'lastLine' 或越界: 仅更改最后一行),默认 'all')
$CCDK.CCUtils.formUtils({utilsName:'set',formId:$CCDK.CCUtils.getFormId(),updateType: 'all',
  list: [{
    value:'',  // 字段值
    valueName:'',  // 查找字段的label,查找字段赋值需要传
    fieldKey:'',  // 字段apiname
  }]})

预览文件

预览文件必须是上传到系统中的文件。未部署文件预览服务,默认下载文件。

  • 平台差异说明
PC H5 小程序 APP
√ × × ×
// id:已经上传到系统中文件的id
let option = {
        showData:{"id": "fil20264ACFCD40N70tV",name:'预览文件名',fileType:'文件类型'},
        configButtm: ["download"]  
      }

window.$CCDK.CCBus.$emit('globalBus',{openPlace:'filePreview',option})

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 或抛出的错误信息排查。

二十二、系统标准功能调用

添加文件

可用于上传文件、获取现有文件id

window.$CCDK.CCBus.$emit('globalBus', {
  openPlace: 'fileUpload',
  option: {
    originNum: 100,           // 单次最多选中文件数
  },
  events: {
    addSubmit: (checkedFileList) => {
        console.log(checkedFileList,'checkedFileList')
      // 确认添加回调,返回值为选中的文件数据,其中id为文件id,数据示例如下
      // [
      //  {
      //     "fileContentId": "1784701778744zfxPezaP",
      //     "name": "17846179986851",
      //     "id": "fil2026500B9533vOVG4",
      //     "filesize": 160691,
      //     "type": "jpg",
      //   }
      // ]
    },
    close: (isSubmit) => {
        console.log(isSubmit,'isSubmit')
      // isSubmit 为 true 表示添加成功后关闭,可以根据该字段判断是否刷新
    },
  },
})

使用搜索弹窗

const changeSelect = (row)=>{
  // 选中数据后的回调,多选是数组类型,单选是对象,此时row.data是选中的这条数据
}
const close = ()=>{
  // 弹窗关闭触发
}
// 当前查找字段开启查找筛选时,用于传递筛选条件值(不需要筛选条件可以不传)
const setFieldReltaion = (filterFieldIds, done){
  // 搜索的字段如果开启了查找筛选,setFieldReltaion方法用于返回筛选条件
  // filterFieldIds: 筛选条件对应的字段的id
  // done:类型是函数,将筛选条件作为参数执行
  let filterValue = []
  let providedValues = []
  // 编辑记录时,第一项是编辑记录的id,如果不是编辑,第一项是空字符串
      filterValue.push(id || '');
      for (let reltaion in filterFieldIds) {
        const {fieldid,rightLookupField} = filterFieldIds[reltaion];
        if(rightLookupField){
          // 从记录设置主记录设置主记录字段作为筛选条件,具体的mainFieldValue值根据实际场景获取值
           const mainFieldValue = "undefined";
          // mainFieldValue值根据实际场景获取,val是字符串类型,如果获取的值是数组,需要转成字符串,使用;为分隔符,默认"undefined"
          // todo:根据实际场景更改mainFieldValue
           providedValues.push({
            fieldid,
            rightLookupField,
            value: mainFieldValue
          })
        }else{
          // 设置的筛选条件字段是当前对象的字段值
          // val值根据实际场景获取,val是字符串类型,如果获取的值是数组,需要转成字符串,使用;为分隔符,默认"undefined"
          let val = "undefined"
          // todo:根据实际场景更改val
          filterValue.push(val);
        }
      }
  done(filterValue,providedValues)
}
// dialog所需参数,不更改可以不传
const dialogOption = {
  // dialog的标题
  title: '查找弹窗',
  // dialog的宽度
  width: '90%',
  // Dialog CSS 中的 margin-top 值
  top: '5%',
  'append-to-body': true,
}
// 组件所需参数
const option = {
  // 查找字段对应的记录id,非必填
        detailId:id,
  // 弹窗的高度,可以写死500
        dialogBodyHeight:"500",
  // 字段id,必传
        fieldId:fieldId,
  // 是否多选,true时,可以多选数据返回
        checked:false,
        searchValueText:'',
  // 是否显示新建按钮,false时,不展示新建按钮(不走系统权限),如果允许新建按钮,需要将查找字段查找的对象信息传进来
  quickcreated: true,
  // 查找对象的objId
  relevantObjid:'',
  // 查找对象的objectApi
  relevantObjapi:'',
  // 查找对象的prefix
  relevantPrefix: '',
      }
// 组件所需回调函数,没有则不需要传
const events = {close:close,setFieldReltaion:setFieldReltaion,changeSelect:changeSelect}
// 通过事件总线打开搜索弹窗
window.$CCDK.CCBus.$emit('globalBus',{openPlace:'dialog',viewType:'2',option,events,dialogOption})

打开批量新增

// dialog所需参数,不更改可以不传
      const dialogOption = {
        // dialog的标题
        title: '',
        // dialog的宽度
        width: '90%',
        // Dialog CSS 中的 margin-top 值
        top: '10%',
      }
      const option = {
        // 对象prefix
        prefix: '',
        // 对象objectApi
        objectApi: '',
        // 主记录id(在某个主记录数据下新建时传,例如在相关列表中的批量新增)
        recordId: '',
        // 相关列表对应主记录的查找字段id(相关列表批量新增时传)
        relationFieldId: '',
        // 相关列表新建标识(相关列表批量新增时传)
        relatedListFlag:false,
      }
      const events = {
        refresh: ()=>{
          // 保存之后的回调函数,可以用于刷新数据
        },
      }
      window.$CCDK.CCBus.$emit('globalBus',{openPlace:'dialog',viewType:'3',option,events,dialogOption})

天眼查

// 组件所需参数
      const option = {
        // 天眼查是否开启实时查询,false
        realtimequery:false,
        // 天眼查是否展示高级功能,false
        isEnableAdvancedFeatures: false,
        // 初始化回填的内容
        busName:''
      }
// 选择企业回调数据
const setTianyanValuees = (data)=>{
  // 当回填客户名时,data是字符串类型
  // 当回填全部数据,data是数组类型,每一项是回填的字段信息
}
      // 组件所需回调函数,可以用于选中后回填数据,没有则不需要传
      const events = {setTianyanValuees:setTianyanValuees}
      // 通过事件总线打开文件预览
      window.$CCDK.CCBus.$emit('globalBus',{openPlace:'tianyancha',option,events,})