一、安装指南 PC端 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用。
npm i cloudcc-ccdk -S
在项目入口文件中引入CCDK
import "cloudcc-ccdk/lib/ccdk.min.js"
App小程序端 二、CCLoad 加载线上JS工具,有些JS可能在服务器中
loadJs(src):Promise
let p = $CCDK.CCLoad.loadJs(
"https://cdn.bootcdn.net/ajax/libs/echarts/6.0.0/echarts.common.js"
);
参数
说明
类型
可选值
默认值
src
js 远程地址
string
—
—
createLoadJsComponent()
// 第一步:引入对象,调用方法
$CCDK.CCLoad.createLoadJsComponent();
// 第二步:使用引入脚本标签
<cc-load-script src="js上线地址"></cc-load-script>
参数
说明
类型
可选值
默认值
src
js 远程地址
string
—
—
三、CCHttp 简单的网络请求工具
get get(url, data, responseType,config):Promise
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
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
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
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
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
// 自定义类名
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
let token = $CCDK.CCToken.getToken()
setToken setToken(toke):void
let token = 'a2k3jlskdf'
$CCDK.CCToken.setToken(token)
参数
说明
类型
可选值
默认值
token
新令牌
string
—
—
clearToken clearToken():void
$CCDK.CCToken.clearToken()
六、CCUser 用户 操作当前登录的用户信息
getUserInfo getUserInfo(keyName):object
let userInfo = $CCDK.CCUser.getUserInfo(keyName)
参数
说明
类型
可选值
默认值
keyName
指定存储的 key
string
—
cc_user_info
setUserInfo setUserInfo(userInfo,domain,keyName):void
let userInfo = {}
$CCDK.CCUser.setUserInfo(userInfo)
参数
说明
类型
可选值
默认值
userInfo
用户详细信息
object
-
{}
domain
域名
string
-
当前所在域名
keyName
指定存储的 key
string
-
cc_user_info
七、CCDetail 对象详情 getDetail getDetail(apiname,detailId):object
在详情页,获取当前访问的对象的详细信息 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
$CCDK.CCDetail.setDetail(detail)
参数
说明
类型
可选值
默认值
detail
类型
object
—
{}
detail
参数
说明
类型
可选值
默认值
id
详情记录 id
string
—
—
detail
记录详细信息
Array
—
—
getDetailId getDetailId():string
let detailId = $CCDK.CCDetail.getDetailId()
返回值
说明
类型
可选值
默认值
最后一次访问的标准详情页id
类型
string
—
—
setDetailId setDetailId(id):void
$CCDK.CCDetail.setDetailId(id)
参数
说明
类型
可选值
默认值
id
类型
string
—
—
let ids = "asdf234,234asdf"
$CCDK.CCDetail.refreshRelatedList(ids)
参数
说明
类型
可选值
默认值
ids
相关列表的 id 集合,传空刷新全部列表, 刷新多个使用逗号分隔。查询方法:文档链接
string
—
—
获取相关列表选中的数据id v0.9.30 ccdk相关列表id清空时机:沉浸式详情页相关列表:tab切换、分页或者刷新列表数据时清空 相关列表查看更多:关闭相关列表或者数据刷新时清空 $CCDK.CCDetail.getRelatedSelected(recordId,detailId)
参数
说明
类型
可选值
默认值
recordId
相关列表 id
string
—
—
detailId
详情页 id
string
—
—
八、CCList 对象列表页(视图页) getSelected getSelected():object
在列表视图页,获取当前选中的数据id集合 v0.9.8 let ids = $CCDK.CCList.getSelected()
返回值
说明
类型
可选值
默认值
ids
返回值中的 ids 属性表示选中的 id 集合:{ids:[]}
object
—
—
getViewId getViewId():string
在列表视图页,获取当前选中视图id v0.9.22 let viewId = $CCDK.CCList.getViewId()
返回值
说明
类型
可选值
默认值
viewId
返回值为当前选中视图 id
string
—
—
getViewInfo getViewInfo():object
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
打开标准视图页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。v1.0.0 let pageId = $CCDK.CCPage.openListPage
(
{
menuId:'aaa-223',
prefix:'001',
viewId:'ace1111',
layoutType:'list'
}
)
参数
说明
类型
可选值
默认值
menuId
菜单id
string
—
—
prefix
对象前缀
string
—
—
viewId
视图id
string
—
—
layoutType
布局类型
string
list / Kanban / splitscreen
list
openDetailPage openDetailPage():打开详情页 openDetailPage(obj, id, options):string
打开标准详情页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。v1.0.0 let pageId = $CCDK.CCPage.openDetailPage
(
{
oprateType:'DETAIL',
objectName:'客户',
objId:'account',
objectApi:'Account',
prefix:'001',
},
'00120227805836AlIEL4',
{
openPlace:'menu2',
openMode:'_self'
}
)
参数
说明
类型
可选值
默认值
oprateType
页面类型(DETAIL)
string
—
—
recordId
记录类型id
string
—
—
objId
对象id
string
—
—
objectApi
唯一表示
string
—
—
prefix
对象前缀
string
—
—
objectName
对象名称
string
—
—
参数
说明
类型
可选值
默认值
id
记录id
string
—
—
参数
说明
类型
可选值
默认值
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
打开标准新建页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。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'
}
)
参数
说明
类型
可选值
默认值
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
—
—
参数
说明
类型
可选值
默认值
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
打开标准编辑页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。 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,记录保存后会通过 $Bus.$emit 调用 save${id} 回调函数,用于处理保存后的逻辑, 参数是接口返回的数据
string
—
—
参数
说明
类型
可选值
默认值
pageId
页面 id,如果 id 相同, 则不会创建新页面, 而是打开同一个页面
string
默认不填写
--
openPlace
打开位置
string
dialog/tab/floatDialog/ menu1/menu2
dialog
openMode
打开方式(仅支持新打开弹窗)
string
_self/_blank
_blank
openCustomPage() openCustomPage(obj:object, options:object):string
打开自定义页面,并返回打开页面的唯一标识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)
let options =
{
refresh: false,
}
$CCDK.CCPage.reOpenPage(pageId,options)
pageId
参数
说明
类型
可选值
默认值
pageId
页面唯一标识
string
—
—
options
参数
说明
类型
可选值
默认值
refresh
是否刷新页面
boolean
true/false
false
searchPage searchPage(pageId:string)
let obj = $CCDK.CCPage.searchPage(pageId)
参数
说明
类型
可选值
默认值
pageId
页面id,通过id查找是否存在此页面, 若存在返回一个对象
string
—
''
getCurrentPage()
let obj = $CCDK.CCPage.getCurrentPage()
close close(pageId:string)
$CCDK.CCPage.close(pageId='')
参数
说明
类型
可选值
默认值
pageId
页面id,通过页面id关闭指定页面, 如果为空,那么关闭最新打开的页面
string
—
''
close close(refresh:Boolean)
参数
说明
类型
refresh
是否刷新Native详情页
Boolean
refresh()
刷新当前选中的一级菜单或者二级菜单页面 v0.5.1 window.$CCDK.CCPage.refresh()
十、CCBus 事件总线 $emit $emit(event, ...args):void
$CCDK.CCBus.$emit('myevent')
参数
说明
类型
可选值
默认值
event
事件名称,唯一标识
string
—
—
args
请求参数
any
—
—
$on $on(event, callback):void
$CCDK.CCBus.$on('myevent',()=>{
console.log('hello CloudCC')
})
参数
说明
类型
可选值
默认值
event
事件名称,唯一标识
string
—
—
callback
回调方法
function
—
—
$off $off(event):void
$CCDK.CCBus.$off('myevent')
参数
说明
类型
可选值
默认值
event
事件名称,唯一标识
string
—
—
十一、CCCrypto 加密 encrypt encrypt(data:object, key:string, iv:number):string
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
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
获得一级域名,比如:xx.com、xx.cn、xx.com.cn、xx.net.cn、xx.org.cn v0.0.1 let domain = $CCDK.CCUtils.getDomain()
getCurrentPageType getCurrentPageType():string
获得当前页类型,暂时支持视图页和详情页 v0.9.22 pageType:"view": 视图页 "detail":详情页 let pageType = $CCDK.CCUtils.getCurrentPageType()
在新建、编辑页面获取formId,默认获取最后一次打开的formId v0.9.61 // 返回值:String,最后一次打开的表单formId
$CCDK.CCUtils.getFormId()
// 获取所有打开表单的formId集合,返回类型:Arry
$CCDK.CCUtils.getFormId({type:'all'})
// 注意:最后一次打开的表单不一定是当前展示的表单,对于通过一二级菜单菜单打开的表单,切换菜单时,当前展示的表单不是最后一次打开的表单
参数
说明
类型
可选值
默认值
type
获取表单id类型,当为all时,获取formId数组,索引顺序为表单打开的顺序
string
all
—
在新建/编辑页对主对象表单字段值设置默认值 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
—
—
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
—
—
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
—
—
ccdk获取指定新建/编辑表单从记录详细信息 v0.9.51 需结合客户端脚本,获取从记录详细信息 // 新建、编辑页面中的addLine客户端脚本中,参数obj中存在表单formId、relatedId
const {formId} = obj;
const option = {
formId:formId
}
$CCDK.CCUtils.getRelatedInfo(option)
option值为对象,参数说明:
参数
说明
类型
可选值
默认值
formId
表单 id,客户端脚本 obj 参数中可以获取到;
string
—
—
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
—
—
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
// 只传标题
$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
// 只传标题
$CCDK.CCUtils.blinkTitle()
// 标题 + 间隔
$CCDK.CCUtils.blinkTitle({
message: '你有一条新消息',
interval: 800
})参数说明:
参数
说明
类型
可选值
默认值
message
消息标题
string
—
新消息
interval
闪烁间隔
number
—
1000
十三、CCSide 侧边工具栏 init init(options):void
let options = {
width:"300px",
pageApi:"dht"
}
$CCDK.CCSide.init(options);
参数
说明
类型
可选值
默认值
options
初始化数据
object
—
—
参数
说明
类型
可选值
默认值
width
侧边栏的宽度,支持 px、%、vw 单位
string
—
—
pageApi
自定义页面 api
string
—
—
open open():void
$CCDK.CCSide.open();
close close()
$CCDK.CCSide.close();
十四、CCApplication 应用 访问应用信息
getApplicaton getApplicaton():object
let app = $CCDK.CCApplication.getApplicaton()
参数
说明
类型
可选值
默认值
id
应用程序 id
string
—
—
name
应用程序名称
string
—
—
navigationStyle
控制台样式,'0' 控制台样式,'1' 标准样式
string
—
—
open open(appId)(开发中)
$CCDK.CCApplication.open(appId)
参数
说明
类型
可选值
默认值
appId
应用唯一标识
string
—
—
十五、CCCall 拨打电话 init init(id, callClient):object
let callClient = {
// 点击平台手机号,右侧电话图标会,回调此方法
call:(options)=>{
// 获取要外呼的电话号码,进行业务处理
let number = options.number
}
}
let client = $CCDK.CCCall.init("abc",callClient)
参数
说明
类型
可选值
默认值
id
电话服务商唯一标识,从 CloudCC 后台设置获取:沟通渠道 → 电话
string
—
—
callClient
电话服务商对象,需要服务商手动初始化
object
—
—
参数
说明
类型
可选值
默认值
call
必须实现的方法,用于平台和电话条通信
function
—
—
call call(id, options):object
平台通过此方法,与电话条通信,拨打电话 v0.0.1 let client = $CCDK.CCCall.call(id,options)
参数
说明
类型
可选值
默认值
id
电话服务商唯一标识,从 CloudCC 后台获取,不填写时,使用默认服务商
string
—
''
options
拨打电话的配置信息
object
—
—
参数
说明
类型
可选值
默认值
number
电话号码
string
—
—
openCallPanel openCallPanel(id, options):object
let client = $CCDK.CCCall.openCallPanel(id,options)
参数
说明
类型
可选值
默认值
id
电话服务商唯一标识,从 CloudCC 后台获取,不填写时,试用默认服务商
string
—
—
options
拨打电话的配置信息
object
—
—
参数
说明
类型
可选值
默认值
number
电话号码
string
—
—
十六、CCRenderer 渲染器 openDebug openDebug():void 打开调试
平台差异说明
<script>
// Write here
window.$CCDK?.CCRender?.openDebug();
export default {
...something code
},
</script>
十七、CCMessage 消息提示 showMessage showMessage(text, type, duration,showClose, center):void
$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
$CCDK.CCMessage.showConfirm('Hello CloudCC','MyConfirm',{},()=>{alert("a")},()=>{alert("b")})
参数
说明
类型
可选值
默认值
text
MessageBox 消息正文内容
string / VNode
—
—
title
MessageBox 标题
string
—
—
options
其他配置参数
options
—
—
confirm
确认回调方法
function
—
—
reject
取消回调方法
function
—
—
参数
说明
类型
可选值
默认值
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)
$CCDK.CCMessage.showNotification({
title: '提示',
message: '这是一条不会自动关闭的消息',
duration: 0
})
参数
说明
类型
可选值
默认值
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
// 添加中文
$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
$CCDK.CCI18n.setLocale($CCDK.CCI18n.LocalEnum.ZH);// 显示中文
$CCDK.CCI18n.setLocale($CCDK.CCI18n.LocalEnum.EN); //显示英文
LocalEnum: enum
名称
使用
说明
ZH
$CCDK.CCI18n.LocalEnum.ZH
中文
EN
$CCDK.CCI18n.LocalEnum.EN
英文
t t(key: string):void
$CCDK.CCI18n.t("hello")
computed: {
labelTest() {
return window.$CCDK.CCI18n.t("test");
},
},
十九、CCLog 日志上报工具 reportInfoLog reportInfoLog(logInfo):void 平台差异说明
let logInfo = {
"infoType": "debug",
"serviceName": "my app",
"infoMessage":"描述信息"
}
window.$CCDK.CCLog.reportInfoLog(logInfo)
参数
说明
类型
可选值
默认值
infoType
日志类型
string
info, debug
—
serviceName
服务名称
string
—
—
infoMessage
日志描述信息
string
—
""
remark
备注信息
string
—
""
reportErrorLog reportErrorLog(logInfo,response):void 平台差异说明
let logInfo = {
"serviceName": "my app",
"errorMessage":"描述信息",
"printStackTraceInfo":"printStackTraceInfo描述信息"
}
window.$CCDK.CCLog.reportErrorLog(logInfo)
参数
说明
类型
可选值
默认值
serviceName
服务名称
string
—
项目名称
errorMessage
日志描述信息
string
—
""
printStackTraceInfo
堆栈信息
string
—
""
requestUrl
请求地址
string
—
""
remark
备注信息
string
—
""
二十、CCLoading 加载框 开启Loading let loadingInstance = Vue.prototype.$loading(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 或抛出的错误信息排查。