配置项
核心框架已经针对下面的所有属性提供了默认值,此配置文件与IDM的index.html页面在同级目录,该配置文件的配置信息主要用于覆盖IDM提供的默认值,如果以下默认值不适合自己可添加属性进行覆盖,配置文件名是setting.js,配置文件结构如下:
window.$$IDMSetting = {
    //框架的版本
    version: "1.0.0",
    //IDM的文件夹名称
    webRoot: {
        idm:"idm",
        ...
    }
    ...
}
version
- 值类型: - string- 框架的版本号 - WARNING - 请不要私自修改,如果配置文件内没有该属性则不需要添加,也不建议单独设置来覆盖框架的默认版本 
webRoot
框架的路径基本信息归类
idm
- 值类型: - string
- 默认值: - idm- IDM的文件夹名称 
default
- 值类型: - string
- 默认值: - /DreamWeb/- 框架的所属项目的根目录名称,比如你的应用程序名称为 - projectName,这里应该填写- /projectName/,如果没有应用程序名称(例如:http://?.com/能直接访问首页),这里应该直接为- /
htmlDir
- 值类型: - string
- 默认值: - ./- 页面的前置路径,可相对或绝对(示例: - ./或- ../idm/或- /projectName/idm/)- TIP - 示例中的 - idm为- webRoot.idm配置的名称,保持一致即可
assetsDir
- 值类型: - string
- 默认值: - ./static/- 打包编译的静态资源文件,相对于当前的页面路径 
moduleDir
- 值类型: - string
- 默认值: - ./idm_modules/- 开发的组件相对IDM框架所在项目的目录 
platformNo
- 值类型: - string
- 默认值: - p1000- 如果你的项目工程模式为产品(平台)->项目(二次开发)模式,则此处代表的是平台的编号,此项相当于一个产品的基本编号,所有IDM核心框架源码编译后的代码都应该放到这个编号下面,如无编号可留空 - WARNING - DreamWeb的默认为- p1000,项目组请勿修改,否则造成程序无法访问
projectNo
- 值类型: - string
- 默认值: - p1000- 如果你的项目工程模式为产品(平台)->项目(二次开发)模式,则此处代表的是项目的编号,此项相当于一个项目的扩展编号,所有上传的文件和配置产生的文件都会保存在此编号的文件夹下面,如果与 - platformNo相同的编号则默认为都是平台的,也就是项目组配置的和自定义开发的组件都是存放在- platformNo的编号文件夹中。如果工程就是项目,则此处可留空或与- platformNo相同即可- WARNING - DreamWeb的默认为- p1000,项目组根据项目编号自行修改
moduleAbsoluteDir
- 值类型: - string
- 默认值: - /{projectNo}/idm/idm_modules/- 组件的存放路径,相对于程序根目录的绝对的路径 - TIP - {projectNo}会自动使用- projectNo属性设置的值进行替换
pageSchema
页面结构的存储设置信息归类,主要针对页面设置数据的保存方式以及存储路径等。
saveType
- 值类型: - string|- 'disk'|- 'database'
- 默认值: - database- 页面配置的Schema结构数据保存方式,支持磁盘存储JSON格式 - disk和数据库存储- database- TIP - 请根据自己项目环境进行选择合理的存储方式,如果选择磁盘存储第一次始终是要请求一次接口的。 
jsonDir
- 值类型: - string
- 默认值: - /{projectNo}/idm/idm_pageschema/{pageid}/{version}.json- 页面配置的Schema结构数据存储方式为 - disk的时候磁盘存储JSON页面配置文件的相对路径地址。- TIP - 以下格式会自动替换对应的实际值,请参考以下注释: - {projectNo}:配置文件中配置的 projectNo 的值- {pageid}:页面配置的页面ID- {version}:页面保存的时候填写的版本号
api
框架用到的api后端接口,如果需要框架正常使用或启用全部功能需要完成下面对应的后端接口开发,并返回指定格式的mockdata数据。mockdata数据格式参考:mockdata
以下属性如果为空则会使用 mockurl 属性下面配置的对应mockdata数据地址。
TIP
以下属性配置的接口地址会经过IDM提供的核心方法IDM.url.getWebPath进行地址转换,更多用法请参考: 标准API
componentMarketUrl
开发工具的左侧组件市场数据接口地址,带分组结构格式的
- 值类型: - string
- 默认值: - /ctrl/idm/api/fetchComponentMarketData
- 请求方式: - GET
- 请求参数: - 无 - TIP - 返回的数据结构请参考:ComponentMarketData 
pageVersionListUrl
开发工具的页面版本数据接口地址,主要用于工具的左侧顶部版本号列表
- 值类型: - string
- 默认值: - /ctrl/idm/api/fetchPageVersionList
- 请求方式: - GET
- 请求参数: - 参数 - 说明 - pageid - 当前配置的页面id - TIP - 返回的数据结构请参考:PageVersionListData 
pageSettingDataUrl
用于获取当前打开的页面配置的数据结构的接口地址
- 值类型: - string
- 默认值: - /ctrl/idm/api/fetchPageSettingData
- 请求方式: - GET
- 请求参数: - 参数 - 说明 - pageid - 当前配置的页面id - version - 页面版本号(如果版本号为空则需要返回最新的版本号的数据,不管saveType为disk还是database都是如此) - savetype - 当前配置的存储方式,参考 saveType - TIP - 返回的数据结构请参考:pageSettingDataData 
customModuleSettingDataUrl
用于获取当前打开的布局组件或业务组件配置的数据结构的接口地址
- 值类型: - string
- 默认值: - /ctrl/idm/api/fetchCustomModuleSettingData
- 请求方式: - GET
- 请求参数: - 参数 - 说明 - pageid - 当前配置的页面id - schemaType - 0:布局组件,1:业务组件 - TIP - 返回的数据结构请参考:customModuleSettingDataData 
savePageSettingUrl
用于保存页面配置全部信息的接口地址
- 值类型: - string
- 默认值: - /ctrl/idm/api/savePageSchema
- 请求方式: - POST
- 请求参数: - 参数 - 说明 - pageid - 当前配置的页面id - pageSettingData - 页面结构数据json字符串,保存到数据库或json文件即可 - version - 当次保存的版本号 - author - 作者 - remark - 备注 - isUse - 是否将此版本设为使用版本,1代表使用,0代表不使用 - traceList - 历史记录操作数据,格式:[{actionType:动作类型、pageid:页面ID、pageVersion:页面版本、opDate:操作日期、opTime:操作时间、opContent:操作记录内容对象}] - projectNo - 项目编号 
- 返回结构: - 只需要code返回值为 200 代表成功,否则为失败。 - { "code": "200", "type": "success", "message": "操作成功", "metadata": null, "token": "", "data": null }- TIP - 根据自己环境选择保存方式,建议同时保存数据库和磁盘两种方式。 
saveCustomModuleUrl
用于保存自定义组件(业务组件)配置接口地址
- 值类型: - string
- 默认值: - /ctrl/idm/api/saveCustomModule
- 请求方式: - POST
- 请求参数: - 参数 - 说明 - pageid - 当前配置的页面id - title - 填写的页面标题 - previewImgJson - 预览的图片JSON - moduleType - 组件类型:0:布局组件,1:业务组件 - moduleIconfont - 组件图标class,使用iconfont,参考:字体图标 - moduleContainerCount - 布局组件的容器数量 - pageSettingData - 组件结构数据json字符串,保存到数据库即可 - author - 作者 - remark - 备注 - traceList - 历史记录操作数据,格式:[{actionType:动作类型、pageid:页面ID、pageVersion:页面版本、opDate:操作日期、opTime:操作时间、opContent:操作记录内容对象}] - projectNo - 项目编号 
- 返回结构: - 只需要code返回值为 200 代表成功,否则为失败。 - { "code": "200", "type": "success", "message": "操作成功", "metadata": null, "token": "", "data": null }
uploadFileServerUrl
用于上传图片、文件的接口地址(主要用于框架、公共上传方法)
- 值类型: - string
- 默认值: - /ctrl/idm/api/fileupload
- 请求方式: - POST
- 请求类型: - Content-Type: multipart/form-data
- 请求参数: - 参数 - 说明 - type - 上传的类型值,这个由框架内决定性,例如图片上传属性控件的值为 - dev_uploadimage_ctrl- file - 上传的文件 - ...webRoot - webRoot 属性下面的所有子属性都会传递到后端,可以利用此处配置合理的存储文件 
- 返回结构: - 需要返回以下格式数据 - { "code": "200", "type": "success", "message": "操作成功", "metadata": null, "token": "", "data": { "fileName":"文件名称.png", "filePath": "/upload/idmfiles/f22081da-9410-40bc-afa0-6b3106c45c1c.png", "fileSize":"2188888", "imageWidth":"图片的宽度,如果上传的文件为图片的情况下", "imageHeight":"图片的高度,如果上传的文件为图片的情况下" } }
developTraceListUrl
开发工具的获取操作痕迹的列表记录接口地址
- 值类型: - string
- 默认值: - /ctrl/idm/api/fetchDevelopTraceListInfo
- 请求方式: - GET
- 请求参数: - 参数 - 说明 - pageid - 当前配置的页面id - startIndex - 分页的开始索引 - pageNumber - 每页显示大小 
- 返回结构: - 需要返回以下格式数据 - { "code": "200", "type": "success", "message": "操作成功", "metadata": null, "token": "", "data": { "id":"数据ID,没有实际意义,只有有删除功能才有意义", "actionType": "动作类型数字", "pageId":"页面ID", "pageVersion":"页面版本", "opDate":"操作日期", "opTime":"操作时间", "opContent":"操作实际内容" } }- TIP - 动作类型数字:1-15分别代表以下含义: - 添加组件、- 移动组件、- 删除组件、- 修改组件属性、- 切换组件版本、- 修改页面标题、- 保存页面、- 修改页面尺寸、- 修改页面配置、- 复制组件、- 剪切组件、- 创建辅助线、- 删除辅助线、- 清除全部辅助线、- 移动辅助线
applicationInfoUrl
获取应用信息的默认接口地址,页面属性会使用此配置,但页面属性能更改接口地址,所以此处只作为页面属性的默认接口地址,此处建议返回应用的一些基本信息,IDM框架会取出存放至全局变量中提供所有组件使用。
- 值类型: - string
- 默认值: - /ctrl/idm/api/fetchApplicationInfo
- 请求方式: - GET
- 返回结构: - 需要返回以下格式数据 - { "code": "200", "type": "success", "message": "操作成功", "metadata": null, "token": "", "data": { } }- TIP - 应用信息的数据放置在data下即可 
userInfoUrl
获取当前登录用户信息的默认接口地址,页面属性会使用此配置,但页面属性能更改接口地址,所以此处只作为页面属性的默认接口地址,此处建议返回当前登录用户的基本信息,IDM框架会取出存放至全局变量中提供所有组件使用。
- 值类型: - string
- 默认值: - /ctrl/idm/api/fetchUserInfo
- 请求方式: - GET
- 返回结构: - 需要返回以下格式数据 - { "code": "200", "type": "success", "message": "操作成功", "metadata": null, "token": "", "data": { } }- TIP - 当前登录用户信息的数据放置在data下即可 
saveUserCustomizationUrl
用于用户对页面个性化定制的保存的接口地址,比如用户可以调整页面布局进行个性化排序等等。
- 值类型: - string
- 默认值: - /ctrl/idm/api/saveUserCustomization
- 请求方式: - POST
- 请求参数: - 参数 - 说明 - urlData - url地址中的全部参数地址 - pageid - 页面ID - version - 页面版本号 - customData - 个性化定制的数据,结构为对象,对象下包含数组层级的 
- 返回结构: - 需要返回以下格式数据 - { "code": "200", "type": "success", "message": "操作成功", "metadata": null, "token": "", "data": null }- TIP - 页面个性化功能IDM已内置,如果想要自行实现布局组件可以直接调用此接口进行对数据结构存储即可。 
userCustomizationUrl
用于获取用户对页面个性化定制的接口地址,比如用户已经对页面进行个性化定制排序后的结果等等。
- 值类型: - string
- 默认值: - /ctrl/idm/api/fetchUserCustomization
- 请求方式: - GET
- 请求参数: - 参数 - 说明 - urlData - url地址中的全部参数地址 - pageid - 页面ID - version - 页面版本号 
- 返回结构: - 需要返回以下格式数据 - { "code": "200", "type": "success", "message": "操作成功", "metadata": null, "token": "", "data": { "id":"定制化ID", "idmId":"页面ID", "pageId":"页面ID", "pageVersion":"页面版本号", "customData":"此处为用户个性化定制后的数据,为保存的时候传的customData", "userId":"用户ID" } }- TIP - 如果需要自定义开发定制化页面,可以通过此接口获取当前用户已保存的结构 
saveFormsMetaDataUrl
表单提交元数据的URl地址
- 值类型: - string
- 默认值: - /ctrl/idm/api/saveFormsMetaData
- 请求方式: - POST
- 请求类型: - Content-Type: application/json;charset=UTF-8- 此处建议使用json格式提交数据,方便后端获取解析,当然也可以在组件开发内使用 - multipart/form-data方式提交数据
- 请求参数: - 参数 - 说明 - pageId - 当前配置的页面id - urlData - 页面url地址携带的所有参数,使用 - IDM.url.queryObject()获取得到的结果- moduleData - 所有已经校验通过的组件返回结果,数组形式,里面的格式由组件内自行决定 - TIP - 返回的数据结构不固定,可以自行解析处理返回的结果 
allCodepackageUrl
获取文档管理的左上角代码包切换数据接口地址
- 值类型: - string
- 默认值: - /ctrl/idm/console/fetchAllCodePackageList
- 请求方式: - GET
- 请求参数: - 无 - TIP - 返回的数据结构请参考:AllCodePackageListData 
dynamicAttributeListUrl
获取文档管理的左上角代码包切换数据接口地址
- 值类型: - string
- 默认值: - /ctrl/idm/console/fetchMarketModuleAttrUserSetData
- 请求方式: - GET
- 请求参数: - { "urlData": JSON.stringify({ marketModuleId: this.moduleObject.comId, pageId: IDM.broadcast ? IDM.broadcast.pageModule.id : "", packageid: this.moduleObject.packageid, }) }
- 返回结构: - 需要返回以下格式数据 - { "code": "200", "type": "success", "message": "操作成功", "metadata": null, "token": "", "data": [{ "id":"主键ID", "attrCode":"标识key", "attrData":"用户设置的数据", ... }] }
mockurl
mockdata地址,只有对应的api地址为空的时候才会使用这里的静态数据。mockdata数据格式参考:mockdata
TIP
以下属性配置的mockdata会经过IDM提供的核心方法IDM.url.getWebPath进行地址转换,更多用法请参考: 标准API
componentMarketUrl
- 值类型: - string
- 默认值: - $/mockdata/ComponentMarketData.json- TIP - 数据结构请参考:ComponentMarketData 
pageVersionListUrl
- 值类型: - string
- 默认值: - $/mockdata/PageVersionListData.json- TIP - 数据结构请参考:PageVersionListData 
pageSettingDataUrl
- 值类型: - string
- 默认值: - $/mockdata/pageSettingDataData.json- TIP - 数据结构请参考:pageSettingDataData 
customModuleSettingDataUrl
- 值类型: - string
- 默认值: - $/mockdata/customModuleSettingDataData.json- TIP - 数据结构请参考:customModuleSettingDataData 
allCodepackageUrl
- 值类型: - string
- 默认值: - $/mockdata/AllCodePackageListData.json- TIP - 数据结构请参考:AllCodePackageListData 
develop
主要用来对开发工具的功能进行配置的属性归类
schoolsUrl
- 值类型: - string
- 默认值: - http://school.yunit.cn- 开发工具功能菜单中的IDM学院地址,可以是相对路径,也可以是绝对路径 - TIP - 地址会经过IDM提供的核心方法 - IDM.url.getWebPath进行地址转换,更多用法请参考: 标准API
devComponentUrl
- 值类型: - string
- 默认值: - http://idm.yunit.cn- 开发工具功能菜单中的组件开发地址,可以是相对路径,也可以是绝对路径 - TIP - 地址会经过IDM提供的核心方法 - IDM.url.getWebPath进行地址转换,更多用法请参考: 标准API
helpDocumentUrl
- 值类型: - string
- 默认值: - http://www.yunit.cn/help- 开发工具功能菜单中的帮助文档地址,可以是相对路径,也可以是绝对路径 - TIP - 地址会经过IDM提供的核心方法 - IDM.url.getWebPath进行地址转换,更多用法请参考: 标准API
documentManageUrl
- 值类型: - string
- 默认值: - ./index.html#/document- 开发工具功能菜单中的文档管理地址,可以是相对路径,也可以是绝对路径 - TIP - 地址会经过IDM提供的核心方法 - IDM.url.getWebPath进行地址转换,更多用法请参考: 标准API
dragAreaSizeList
- 值类型: - array
- 默认值: - [ { key: '3', width: 1366, height: 768, showText: '1366*768', type: 3 }, { key: '4', width: 1920, height: 1080, showText: '1920*1080', type: 3 }, { key: '5', width: 375, height: 667, showText: 'iphone6/7/8', type: 3 }, { key: '6', width: 414, height: 736, showText: 'iphone6/7/8 Plus', type: 3 }, { key: '7', width: 768, height: 1024, showText: 'iPad(768*1024)', type: 3 }, { key: '8', width: 1024, height: 768, showText: 'iPad(1024*768)', type: 3 } ]- 拖拽区域的大小列表配置,主要用于顶部工具栏中间部分的下拉选项配置。以下是各个属性的解释: - { key: '从3开始,保证不重复即可', width: '拖拽区域的实际宽度(px)', height: '拖拽区域的实际高度(px)', showText: '要显示的文本', type: '类型值,-1:线条,3:系统内置的尺寸' }
dragAreaSizeDefaultKey
- 值类型: - string
- 默认值: - 1- 拖拽区域大小默认值key,此默认key会被url中传入的 dragSizeKey 参数覆盖。 
componentMarketListDefaultType
- 值类型: - string|- 'grid'|- 'list'
- 默认值: - grid- 开发工具中的组件市场的列表默认显示类型,目前有两种显示类型, - list代表为默认显示列表类型,- grid代表为默认显示网格类型,虽然此处设置了默认显示,但是在开发工具中可以进行切换显示
document
主要用来对文档管理的功能进行配置的属性归类
codepackageDocumentPath
- 值类型: - string
- 默认值: - static/doc/- 代码包内的文档相对路径,此文档主要用于介绍代码包的,文档文件名称固定为 - index.md,比如代码包打包后存放的地址为:- idm/idm_modules/basic/1.0.0/,而此代码包的文档- index.md文件在- idm/idm_modules/basic/1.0.0/static/doc/目录下面,则此处就应该填写- static/doc/。
moduleDocumentPath
- 值类型: - string
- 默认值: - static/doc/components/- 代码包内的组件的文档相对路径,此处的文档主要用于介绍代码包内每个组件的,一个组件对应一个文档,文档文件名称固定为 - 组件的类名.md,比如代码包打包后存放的地址为:- idm/idm_modules/basic/1.0.0/,而此代码包内的组件的文档文件在- idm/idm_modules/basic/1.0.0/static/doc/components/目录下面,则此处就应该填写- static/doc/components/,例如按钮的文档名称为:- IButton.md- TIP - 路径中的各个文件夹名含义参考 codepackageDocumentPath 的提示 
saveMarkDownFileUrl
用于根据上述的属性配置保存md文件到上述配置的对应目录中
- 值类型: - string
- 默认值: - /ctrl/idm/api/saveDocumentMdFile
- 请求方式: - POST
- 请求参数: - 参数 - 说明 - mdPath - md对应要生成的文件地址 - type - code代表代码包的路径,module代表组件的文档路径 - moduleClassName - 组件的类名 - mdContent - md文档的内容 
- 返回结构: - 只需要code返回值为 200 代表成功,否则为失败。 - { "code": "200", "type": "success", "message": "操作成功", "metadata": null, "token": "", "data": null }
applications
主要用来对整个框架的功能进行配置的属性归类
defaultLoginPageUrl
- 值类型: - string
- 默认值: - /ctrl/login- 页面设置统一的默认登录页地址,此处为页面属性 登录页地址 的默认地址,不会是页面设置的最终登录页地址。 
themeNamePrefix
- 值类型: - string
- 默认值: - idm-theme-- 主题class名称的前缀,所有的组件主题可以依据此属性来写不同主题的样式。 - TIP - 详细请参考:主题皮肤 
moduleControlCenterSettingUrl
- 值类型: - string
- 默认值: - ~/index.html#/preview/idm_control_setting_panel_001- 组件控制中心的默认设置url,此处为页面属性 控制地址的默认地址,不会是页面设置的最终控制中心页地址。 - TIP - 更详细的控制中心解释请参考:组件开发的 控制中心 
useProjectNoSetting
- 值类型: - boolean
- 默认值:true - 应用程序是否启用项目编号模式的配置,也就是平台代码与组件代码分离的方式,默认为true - WARNING - 中途修改转换可能会造成程序读取异常,请在初始化的时候配置好 
moduleAttrFolderName
- 值类型: - string
- 默认值: - attributes- 组件包内的组件属性文件的存储所在的文件夹名称,具体可参考组件的 高级开发-组件属性 
fontFamilyList
- 值类型: - array
- 默认值: - [ { value:"arial, helvetica, 'microsoft yahei'", label:"Arial, Helvetica, 微软雅黑" }, { value:"arial, helvetica, simhei", label:"Arial, Helvetica, 黑体" }, { value:"'comic sans ms', 'microsoft yahei'", label:"Comic Sans MS, 微软雅黑" }, { value:"'comic sans ms', simhei", label:"Comic Sans MS, 黑体" }, { value:"impact, 'microsoft yahei'", label:"Impact, 微软雅黑" }, { value:"impact, simhei", label:"Impact, 黑体" }, { value:"'lucida sans unicode', 'microsoft yahei'", label:"Lucida Sans Unicode, 微软雅黑" }, { value:"'lucida sans unicode', simhei", label:"Lucida Sans Unicode, 黑体" } ]- 组件属性控件 font 控件中的字体列表, - value代表实际应用的值,- label代表下拉选项显示的值
