export default { "title": "CCDK使用手册", "description": "此文档描述了关于CCDK的使用说明,可以在自定义组件,客户端脚本,自定义脚本菜单,自定义脚本按钮中使用。当用户询问关于自定义组件开发的时候,可以使用此文档内容回答。", "content": ` --------CCDK文档开始-------- CCDK简介:CCDK是一个CloudCC CRM 前端API框架,封装了很多简单实用的API,可以在自定义组件,客户端脚本中使用。CCDK已经注入到全局,直接使用$CCDK访问API即可使用。 ## CCApplication 应用 访问应用信息 * ### getApplicaton():object #### 获取当前访问的应用对象 v0.2.1 js let app = $CCDK.CCApplication.getApplicaton() #### app返回题参数 | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | id | 应用程序id | string | — | — | | name | 应用程序名称 | string | — | — | | navigationStyle | 控制台样式,'0'控制台样式,'1'标准样式 | string | — | — | * ### setApplicaton(detail) #### 存储应用对象 v0.2.1 js let detail = {} $CCDK.CCApplication.setApplication(detail) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | detail | 类型 | object | — | — | * ### open(appId)(开发中) #### 存储应用对象 js $CCDK.CCApplication.open(appId) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | appId | 应用唯一标识 | string | — | — |## CCBus 事件总线 事件发布订阅管理工具 * ### $emit(event, ...args) #### 发布信息 v0.0.1 js $CCDK.CCBus.$emit('myevent') | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | event | 事件名称,唯一标识 | string | — | — | | args | 请求参数 | any | — | — | * ### $on(event, callback) #### 订阅事件 v0.0.1 js $CCDK.CCBus.$on('myevent',()=>{ console.error('hello CloudCC') }) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | event | 事件名称,唯一标识 | string | — | — | | callback | 回调方法 | function | — | — | * ### $off(event) #### 取消订阅 v0.0.1 js $CCDK.CCBus.$off('myevent') | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | event | 事件名称,唯一标识 | string | — | — | ## CCCall 拨打电话 调用拨打电话功能 * ### init(id, callClient):object #### 初始化电话功能 v0.0.1 js let callClient = { // 点击平台手机号,右侧电话图标会,回调此方法 call:(options)=>{ // 获取要外呼的电话号码,进行业务处理 let number = options.number } } let client = $CCDK.CCCall.init("abc",callClient) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | id | 电话服务商唯一标识,从CloudCC后台设置获取:沟通渠道——》电话 | string | — | — | | callClient | 电话服务商对象,需要服务商手动初始化, | object | — | — | #### callClient | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | call | 必须实现的方法,用于平台和电话条通信 | function | — | — | * ### call(id, options):object #### 平台通过此方法,与电话条通信,拨打电话 v0.0.1 js let client = $CCDK.CCCall.call(id,options) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | id | 电话服务商唯一标识,从CloudCC后台获取,不填写时,使用默认服务商 | string | — | '' | | options | 拨打电话的配置信息 | object | — | — | #### options | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | number | 电话号码 | string | — | — | * ### openCallPanel(id, options):object #### 调用话务服务,打开电话面板 v0.0.1 js let client = $CCDK.CCCall.openCallPanel(id,options) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | id | 电话服务商唯一标识,从CloudCC后台获取,不填写时,试用默认服务商 | string | — | — | | options | 拨打电话的配置信息 | object | — | — | #### options | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | number | 电话号码 | string | — | — | ## CCCommon 自定义接口交互 与自定义接口交互 * ### post(className, methodName, params):object #### 请求自定义类 v0.6.9 js let className = "test" let methodName = "func1" let params = [ { "argType": "java.lang.String", "argValue": "hello", }, { "argType": "java.lang.String", "argValue": "world", }] $CCDK.CCCommon.post(className,methodName,params) .then((res)=>{let data = res.data;console.error(data)}) .catch((error)=>{console.error(error)}) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | className | 类名 | string | — | — | | methodName | 方法名 | string | — | — | | params | 参数集合 | array | — | — | | config | 配置参数 | object | — | {} | ## CCCrypto 加密 对敏感数据进行加密 * ### encrypt(data:object, key:string, iv:number)():string #### 加密数据 v0.0.1 js let encrypt = $CCDK.CCCrypto.encrypt({'name':'zhangsan'},"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",1) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | data | 待加密的数据 | object | — | — | | key | 密钥 | string | — | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | | iv | 偏移量 | number | — | 1 | * ### decrypt(data:string, key:string, iv:number):object #### 解密数据 v0.0.1 js 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 | ## CCDetail 对象详情 对象详情页的一些操作 * ### getDetail(apiname,detailId):object #### 在详情页,获取当前访问的对象的详细信息 v0.9.8 在非详情页下,如果不指定详情页id,会返回最后一次打开的详情页数据 js // 在当前查看的详情页中,获取指定字段内容 let objectDetail = $CCDK.CCDetail.getDetail() // 在当前查看的详情页中,通过指定字段apiname,获取指定字段内容 let objectDetail = $CCDK.CCDetail.getDetail('name') // 指定详情页获取详细信息 const detailId = '00820231CFCBA29H8YmN' let objectDetail = $CCDK.CCDetail.getDetail(null,detailId) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | apiname | 查找字段的apiname,如果传字段apiname将返回指定字段信息,不传该参数默认返回全部字段信息和当前记录id | string | — | — | | detailId | 指定获取已经打开的详情页数据 | string | — | — | * ### setDetail(detail) #### 设置对象详细信息 v0.9.8 js $CCDK.CCDetail.setDetail(detail) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | detail | 类型 | object | — | — | ##### detail | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | id | 详情记录id | string | — | — | | detail | 记录详细信息 | Array | — | — | * ### setDetailId(id) #### 设置详情页ID v0.9.8 js $CCDK.CCDetail.setDetailId(id) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | id | 类型 | string | — | — | * ### getDetailId() #### 获取详情页ID,获得是最新的 v0.9.8 js let detailId = $CCDK.CCDetail.getDetailId() | 返回值 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | 最后一次访问的标准详情页id | 类型 | string | — | — | * ### refreshRelatedList(ids) #### 刷新详情页相关列表 v0.9.8 js let ids = "asdf234,234asdf" $CCDK.CCDetail.refreshRelatedList(ids) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | ids | 相关列表的id集合,传空刷新全部列表,刷新多个使用逗号分隔,查询方法:https://cloudccone.feishu.cn/wiki/DVYGwgpj3iLFjmkvmA9c3Y0ynSc| string | — | — | * ### getRelatedSelected(recordId,detailId) #### 获取相关列表选中的数据id v0.9.30 ccdk相关列表id清空时机: 1. 沉浸式详情页相关列表:tab切换、分页或者刷新列表数据时清空 2. 相关列表查看更多:关闭相关列表或者数据刷新时清空 js $CCDK.CCDetail.getRelatedSelected(recordId,detailId) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | recordId | 相关列表id,获取详情页中指定相关列表的选中数据,返回值类型为数组,不传时,默认获取详情页所有相关列表的选中数据,返回值类型为对象,key为相关列表id,值为选中数据数组| string | — | — | | detailId | 详情页id,获取指定详情页的相关列表选中数据,不传时,默认获取当前详情页的相关列表选中数据。 若未找到,默认返回null,使用需判断返回值是否存在| string | — | — |## CCList 对象列表 对象列表页一些操作 * ### getSelected() #### 在列表视图页,获取当前选中的数据id集合 v0.9.8 js let ids = $CCDK.CCList.getSelected() | 返回值 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | ids | 返回值中的ids属性表示选中的id集合:{ids:[]} | object | — | — | * ### getViewId() #### 在列表视图页,获取当前选中视图id v0.9.22 js let viewId = $CCDK.CCList.getViewId() | 返回值 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | viewId | 返回值为当前选中视图id | string | — | — | * ### getViewInfo() #### 在列表视图页,获取当前视图信息 v0.9.22 js let viewInfo = $CCDK.CCList.getViewInfo() | 返回值 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | ids | 表示选中的id集合 | string | — | — | | viewId | 表示当前选中的视图id | string | — | — | | prefix | 表示当前对象的prefix | string | — | — | | objid | 表示当前对象的objid | string | — | — | | objectApi | 表示当前对象的objectApi | string | — | — |## CCLoad 下载JS 用于下载远程JS功能 * ### loadJs(src):Promise #### 使用js方法加载远程js v0.4.3 js let p = $CCDK.CCLoad.loadJs( "http://shining-bucket01.oss-cn-hangzhou.aliyuncs.com/staticResource/org08f84e9c0566eaf0c/202212/16708233902069649.js?Expires=4824423390&OSSAccessKeyId=LTAI5tN2tp8bwdNMQk4HL63H&Signature=LbVWqugBF4ldtWZumJD6AEf6yHc%3D" ); | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | src | js远程地址 | string | — | — | * ### createLoadJsComponent() #### 创建js加载组件 v0.4.3 js // 第一步:引入对象,调用方法 $CCDK.CCLoad.createLoadJsComponent(); // 第二步:使用引入脚本标签 | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | src | js远程地址 | string | — | — | ## CCLog 日志上报工具 通过此工具可以上报info和error信息到开发者平台,进而了解组件的运行状态 * ### function reportInfoLog(logInfo) #### 上报网络请求信息 v0.6.0 js let logInfo = { "infoType": "debug", "serviceName": "my app", "infoMessage":"描述信息" } window.$CCDK.CCLog.reportInfoLog(logInfo) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | logInfo | 日志描写 | object | — | {} | #### logInfo | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | infoType | 日志类型 | string | info,debug | — | | serviceName | 服务名称 | string | — | — | | infoMessage | 日志描述信息 | string | — | "" | | remark | 备注信息 | string | — | "" | * ### function reportErrorLog(logInfo,response) #### 上报网络异常请求信息 v0.6.0 js let logInfo = { "serviceName": "my app", "errorMessage":"描述信息", "printStackTraceInfo":"printStackTraceInfo描述信息" } window.$CCDK.CCLog.reportErrorLog(logInfo) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | logInfo | 日志描写 | object | — | {} | — #### logInfo | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | serviceName | 服务名称 | string | — | 项目名称 | | errorMessage | 日志描述信息 | string | — | "" | | printStackTraceInfo | 堆栈信息 | string | — | "" | | requestUrl | 请求地址 | string | — | "" | | remark | 备注信息 | string | — | "" |## CCMenu 菜单(内部使用) 服务工作台菜单管理 * ### function addMenu1(options) #### 添加一级菜单,返回菜单的唯一标识,用于关闭使用 v0.2.1 js let options = {name: "aaa",routerName:"",params:{}} $CCDK.CCMenu.addMenu1(options) #### options | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | name | 菜单的名称 | string | — | — | | routerName | 菜单对应页面的路由 | string | — | — | | params | 页面需要的参数 | object | — | — | * ### function addMenu2(options) #### 在当前一级菜单打开二级菜单,返回菜单的唯一标识,用于关闭使用 v0.2.1 js let options = {name: "aaa",routerName:"",params:{}} $CCDK.CCMenu.addMenu2(options) #### options | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | name | 菜单的名称 | string | — | — | | routerName | 菜单对应页面的路由 | string | — | — | | params | 页面需要的参数 | object | — | — | * ### function deleteMenu1(options) #### 关闭一级菜单,返回删除菜单的id v0.2.1 js let options = {id:'asdfasdf'} $CCDK.CCMenu.deleteMenu1(options) #### options | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | id | 菜单的唯一标识,不填时将关闭当前一级菜单 | string | — | — | * ### function deleteMenu2(options) #### 关闭二级菜单,返回删除菜单的id v0.2.1 js let options = {id:'asdfasdf'} $CCDK.CCMenu.deleteMenu2(options) #### options | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | id | 菜单的唯一标识,不填时将关闭当前二级菜单 | string | — | — | * ### function refreshMenu1(options)(开发中) #### 刷新一级菜单 v0.2.1 js let options = {id:'asdfasdf'} $CCDK.CCMenu.refreshMenu1(options) #### options | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | id | 菜单的唯一标识,不填时将刷新当前一级菜单 | string | — | — | * ### function refreshMenu2(options)(开发中) #### 刷新二级菜单 v0.2.1 js let options = {id:'asdfasdf'} $CCDK.CCMenu.refreshMenu2(options) #### options | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | id | 菜单的唯一标识,不填时将刷新当前二级菜单 | string | — | — |## CCMessage 消息提示 消息提示工具 * ### showMessage(text, type, duration,showClose, center) #### 消息提示框 v0.0.1 js $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(text, title, options, confirm, reject) #### 消息确认框 v0.0.1 js $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(options) #### 消息提示框 v0.0.1 js $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 |## CCPage 页面 通过此api可以对标准新建页/标准编辑页/标准视图页/标准详情页/自定义页面,进行打开,关闭,刷新操作。 * ### openListPage(obj:object):string #### 打开标准视图页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。v1.0.0 js 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(obj:object, id:string, options:object):string #### 打开标准详情页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。v1.0.0 js 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(obj:object, options:object):string #### 打开标准新建页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。v0.2.1 以下为apiname为khmc的查找字段和apiname为khdh的文本字段设置默认值 js 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 | — | — | #### defalutData 该对象支持所有getDetail接口返回的字段属性,除apiname:value外,其他都非必填 | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | 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(obj:object,id:string,options:object):string #### 打开标准编辑页,并返回打开页面的唯一标识,可以用于关闭和刷新使用。 v0.2.1 js 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: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(obj:object, options:object):string #### 打开自定义页面,并返回打开页面的唯一标识,可以用于关闭和刷新使用。 #### 一级菜单示例: js let obj = { pageApi: "sayhello", } let options = { openPlace: 'menu1', openMode: '_blank', title: '菜单标题', // 是否展示菜单关闭按钮 isShowClose:true, // 菜单操作项 不传默认为以下4项 tabAction: [ // 一级菜单可选操作项 { name: "刷新选项卡", id: "refresh", }, { name: "固定选项卡", id: "fixed", }, { name: "自定义选项卡", id: "custom", }, { name: "关闭选项卡", id: "close", }, ] } let pageId = $CCDK.CCPage.openCustomPage(obj,options) #### 二级菜单示例: js let obj = { pageApi: "sayhello", } let options = { openPlace: 'menu2', openMode: '_blank', title: '菜单标题', // 是否展示菜单关闭按钮 isShowClose:true, // 菜单操作项 不传默认为以下4项 tabAction: [ // 二级菜单可选操作项 { name: "刷新选项卡", id: "refresh", }, { name: "自定义选项卡", id: "custom", }, { name: "设置为工作区选项卡", id: "setToLevel1", }, { name: "关闭选项卡", id: "close", }, ] } 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(pageId:string,options:object)(开发中) #### 通过页面Id,重新打开页面 js let options = { refresh: false, } $CCDK.CCPage.reOpenPage(pageId,options) #### pageId | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | pageId | 页面唯一标识 | string | — | — | #### options | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | refresh | 是否刷新页面 | boolean | true/false | false | * ### searchPage(pageId:string) #### 查询页面v0.3.9 js let obj = $CCDK.CCPage.searchPage(pageId) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | pageId | 页面id,通过id查找是否存在此页面,若存在返回一个对象 | string | — | '' | * ### getCurrentPage() #### 获取当前页面菜单数据 v0.4.9 js let obj = $CCDK.CCPage.getCurrentPage() * ### close(pageId:string) #### 关闭页面 v0.3.3 js $CCDK.CCPage.close(pageId='') | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | pageId | 页面id,通过页面id关闭指定页面,如果为空,那么关闭最新打开的页面 | string | — | '' | * ### close(refresh:Boolean) #### 关闭小程序 | 参数 | 说明 | 类型 | | ------- | -------------------- | ------- | | refresh | 是否刷新Native详情页 | Boolean | * ### refresh() #### 刷新当前选中的一级菜单或者二级菜单页面 v0.5.1 js window.$CCDK.CCPage.refresh() ## CCSide 侧边工具栏 用于操作侧边工具栏 * ### init(options) #### 初始化侧边栏 v0.4.7 js let options = { width:"300px", pageApi:"dht" } $CCDK.CCSide.init(options); | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | options | 初始化数据 | object | — | — | #### options | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | width | 侧边栏的宽度,支持px,%,vw单位 | string | — | — | | pageApi | 自定义页面api | string | — | — | * ### open() #### 打开侧边栏 v0.4.7 js $CCDK.CCSide.open(); * ### close() #### 关闭侧边栏 v0.4.7 js $CCDK.CCSide.close(); ## CCToken 令牌 操作当前登录的令牌信息 * ### getToken():string #### 获取当前用户的令牌 v0.0.1 js let token = $CCDK.CCToken.getToken() * ### setToken(toke) #### 设置当前用户的令牌 v0.0.1 js let token = 'a2k3jlskdf' $CCDK.CCToken.setToken(token) | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | | token | 新令牌 | string | — | — | * ### clearToken() #### 清除当前用户的令牌 v0.0.1 js $CCDK.CCToken.clearToken() ## CCUser 用户 操作当前登录的用户信息 * ### getUserInfo():object #### 获取当前登录的用户信息 v0.0.1 js let userInfo = $CCDK.CCUser.getUserInfo() ## CCUtils 工具 一些常用的方法 * ### getDomain():string #### 获得一级域名,比如:xx.com、xx.cn、xx.com.cn、xx.net.cn、xx.org.cn v0.0.1 js let domain = $CCDK.CCUtils.getDomain() * ### getCurrentPageType():string #### 获得当前页类型,暂时支持视图页和详情页 v0.9.22 js let pageType = $CCDK.CCUtils.getCurrentPageType() | 返回值 | 说明 | 类型 | |---------- |-------------- |---------- | | | "view": 视图页 "detail":详情页 | string | * ### setFormFieldValue():void #### 为表单字段值设置默认值 v0.9.37 js // 新建、编辑页面中的onLoad、onChange客户端脚本中,参数obj中存在表单formId const formId = obj.formId; const option = { formId:formId, list: [{ // 字段值 value:'', // 查找字段的label,查找字段赋值需要传 valueName:'', // 字段apiname fieldKey:'', }], } $CCDK.CCUtils.setFormFieldValue(option) option值为对象,参数说明: | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | formId | 表单id,客户端脚本obj对象中可以获取到| string | — | — | | list | 赋值字段信息 | array | — | — | #### ccdk获取指定表单字段采集值 v0.9.38 需结合客户端脚本,获取formId js // 新建、编辑页面中的onLoad、onChange客户端脚本中,参数obj中存在表单formId const formId = obj.formId; const option = { formId:formId, list: [{ // 字段apiname fieldKey:'', }], } $CCDK.CCUtils.getFormFieldValue(option) option值为对象,参数说明: | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | formId | 表单id,客户端脚本obj参数中可以获取到,同一表单场景下,同时打开多个表单时,用于定位表单 | string | — | — | | view | 对应场景,默认是新建、编辑,默认情况无需传 | string | ccForm | ccForm | | list | 指定获取某些字段值,fieldKey是字段apiname,非必传参数,参数不传时,默认返回表单主记录所有数据 | array | — | — | --------CCDK文档结束-------- ` };