@@ -14,7 +14,6 @@
:list="list"
:current-form-id="dataSource.type === 'NEW_FORM' ? dataSource.id : dataSource.relatedId"
:value="field.configure[property]"
- :has-created-form="hasCreatedForm"
:disabled="isReuseForm"
@change="$emit('change', property, $event)" />
@@ -72,49 +71,55 @@
]
}
},
+ computed: {
+ // 表单容器数据源是否为复用数据表
+ isReuseForm () {
+ return this.dataSource.type === 'USE_FORM'
+ }
+ },
watch: {
field (val) {
+ this.setGroups(val)
+ }
+ },
+ beforeCreate () {
+ Object.keys(setters).forEach(key => {
+ const setter = setters[key]
+ this.$options.components[key] = setter.component
+ })
+ },
+ created () {
+ if (this.field?.id) {
+ this.setGroups(this.field)
+ }
+ },
+ methods: {
+ setGroups (val) {
this.groups.forEach(group => {
group.open = true
group.children = []
})
const list = materials.find(item => item.type === val.type)?.properties || []
list.forEach(item => {
- if(basicProperties.includes(item)) {
+ if (basicProperties.includes(item)) {
this.groups[0].children.push(item)
} else {
this.groups[1].children.push(item)
}
})
}
- },
- computed: {
- // 表单容器是否已经生成数据表
- hasCreatedForm () {
- return !!this.dataSource.id
- },
- // 表单容器数据源是否为复用数据表
- isReuseForm () {
- return this.dataSource.type === 'USE_FORM'
- }
- },
- beforeCreate () {
- Object.keys(setters).forEach(key => {
- const setter = setters[key]
- this.$options.components[key] = setter.component
- })
- },
- methods: {}
+ }
}
diff --git a/lib/client/src/form-engine/setter/setters.js b/lib/client/src/form-engine/setter/setters.js
index 5a566cca6..7715a978c 100644
--- a/lib/client/src/form-engine/setter/setters.js
+++ b/lib/client/src/form-engine/setter/setters.js
@@ -2,6 +2,7 @@ import { uuid, getFieldDefaultVal } from '../utils/index'
import autoCountingConfig from './components/auto-counting-config'
import computedConfig from './components/computed-config'
import dataSource from './components/data-source'
+import dateDimension from './components/date-dimension'
import dividerConfig from './components/divider-config'
import hidden from './components/hidden'
import key from './components/key'
@@ -114,6 +115,11 @@ const setters = {
}
})
},
+ // 日期组件选择的时间维度
+ dateDimension: {
+ component: dateDimension,
+ default: () => 'date'
+ },
tableConfig: {
component: tableConfig,
default: () => ([
diff --git a/lib/client/src/form-engine/utils/condition-parser.js b/lib/client/src/form-engine/utils/condition-parser.js
index 796aa641e..8e7ebdbed 100644
--- a/lib/client/src/form-engine/utils/condition-parser.js
+++ b/lib/client/src/form-engine/utils/condition-parser.js
@@ -1,31 +1,36 @@
import { isEqual } from 'lodash'
import dayjs from 'dayjs'
-/**
- * 是否满足条件
- * @param {Object} condition 条件配置
- * @param {Object} formValue 整个表单的value
- */
-const getResult = (condition, formValue) => {
- const { key, logic, value } = condition
- const fieldVal = (key in formValue) ? formValue[key] : ''
+
+export const getLogicalComparisonResult = (logic, crtVal, targetVal) => {
switch (logic) {
case '==':
- return isEqual(value, fieldVal)
+ return isEqual(crtVal, targetVal)
case '>=':
- return fieldVal >= value
+ return crtVal >= targetVal
case '<=':
- return fieldVal <= value
+ return crtVal <= targetVal
case '>':
- return fieldVal > value
+ return crtVal > targetVal
case '<':
- return fieldVal < value
+ return crtVal < targetVal
case 'in':
- return fieldVal.includes(value)
+ return crtVal.includes(targetVal)
default:
return false
}
}
+/**
+ * 是否满足条件
+ * @param {Object} condition 条件配置
+ * @param {Object} formValue 整个表单的value
+ */
+const getResult = (condition, formValue) => {
+ const { key, logic, value } = condition
+ const fieldVal = (key in formValue) ? formValue[key] : ''
+ return getLogicalComparisonResult(logic, fieldVal, value)
+}
+
export const isConditionsMet = (config, formValue) => {
const { logic = 'and', conditions = [] } = config
diff --git a/lib/client/src/form-engine/utils/data-source.js b/lib/client/src/form-engine/utils/data-source.js
index 2c815b3ad..b969ae190 100644
--- a/lib/client/src/form-engine/utils/data-source.js
+++ b/lib/client/src/form-engine/utils/data-source.js
@@ -39,10 +39,10 @@ export async function transDataSourceValue (dataSource, formValue, instance) {
} else if (type === 'WORKSHEET') {
try {
const list = []
- const { fieldKey, logic, conditions, tableName } = config
+ const { fieldKey, fieldLabel, logic, conditions, tableName } = config
if (tableName && fieldKey) {
const params = {
- field: fieldKey,
+ fields: fieldLabel ? [fieldKey, fieldLabel] : [fieldKey],
group: fieldKey,
conditions: {
connector: logic.toLowerCase(),
@@ -53,13 +53,16 @@ export async function transDataSourceValue (dataSource, formValue, instance) {
})
}
}
- const resp = await instance.$http.post(`/nocode/filterTableData/conditions/tableName/${tableName}`, params)
- resp.data.forEach((item) => {
- const val = item[fieldKey]
- if (val !== undefined) {
- list.push({ id: val, label: val })
- }
- })
+ // bk-lesscode-render未内置$http方法,导致画布内字段无法调用请求
+ if (instance.$http) {
+ const resp = await instance.$http.post(`/nocode/filterTableData/conditions/tableName/${tableName}`, params)
+ resp.data.forEach((item) => {
+ const val = item[fieldKey]
+ if (val !== undefined) {
+ list.push({ id: val, label: fieldLabel ? item[fieldLabel] : val })
+ }
+ })
+ }
}
return list
} catch (e) {
diff --git a/lib/client/src/form-engine/utils/index.js b/lib/client/src/form-engine/utils/index.js
index 25254df8d..3b1f760d6 100644
--- a/lib/client/src/form-engine/utils/index.js
+++ b/lib/client/src/form-engine/utils/index.js
@@ -41,30 +41,36 @@ export function uuid (len = 5, radix = 16) {
return uuid.join('')
}
-export function getFieldDefaultVal (type) {
+// 获取字段value数字类型
+export function getFieldValType (type) {
switch (type) {
- case 'description':
- case 'input':
- case 'textarea':
- case 'date':
- case 'datetime':
- case 'select':
- case 'radio':
- case 'link':
- case 'rich-text':
- return ''
-
case 'int':
case 'rate':
- return 0
+ return 'number'
case 'checkbox':
case 'multiple-select':
case 'member':
case 'members':
case 'table':
- return []
+ return 'array'
+ default:
+ return 'string'
+ }
+}
+
+// 获取字段默认值
+export function getFieldDefaultVal (type) {
+ const valType = getFieldValType(type)
+
+ switch (valType) {
+ case 'string':
+ return ''
+ case 'number':
+ return 0
+ case 'array':
+ return []
default:
return ''
}
diff --git a/lib/client/src/images/banner-en.png b/lib/client/src/images/banner-en.png
new file mode 100644
index 000000000..775a493ea
Binary files /dev/null and b/lib/client/src/images/banner-en.png differ
diff --git a/lib/client/src/images/frame.png b/lib/client/src/images/frame.png
new file mode 100644
index 000000000..f9bab601a
Binary files /dev/null and b/lib/client/src/images/frame.png differ
diff --git a/lib/client/src/images/help/api-01.png b/lib/client/src/images/help/api-01.png
new file mode 100644
index 000000000..804480bc1
Binary files /dev/null and b/lib/client/src/images/help/api-01.png differ
diff --git a/lib/client/src/images/help/api-02.png b/lib/client/src/images/help/api-02.png
new file mode 100644
index 000000000..735ae159d
Binary files /dev/null and b/lib/client/src/images/help/api-02.png differ
diff --git a/lib/client/src/images/help/api-03.png b/lib/client/src/images/help/api-03.png
new file mode 100644
index 000000000..90b25c16d
Binary files /dev/null and b/lib/client/src/images/help/api-03.png differ
diff --git a/lib/client/src/images/help/canvas-comp.png b/lib/client/src/images/help/canvas-comp.png
new file mode 100644
index 000000000..555fe0777
Binary files /dev/null and b/lib/client/src/images/help/canvas-comp.png differ
diff --git a/lib/client/src/images/help/canvas-drag.png b/lib/client/src/images/help/canvas-drag.png
new file mode 100644
index 000000000..8ce5df7ef
Binary files /dev/null and b/lib/client/src/images/help/canvas-drag.png differ
diff --git a/lib/client/src/images/help/canvas-icon.png b/lib/client/src/images/help/canvas-icon.png
new file mode 100644
index 000000000..e274bf25b
Binary files /dev/null and b/lib/client/src/images/help/canvas-icon.png differ
diff --git a/lib/client/src/images/help/canvas-pagefunc.png b/lib/client/src/images/help/canvas-pagefunc.png
new file mode 100644
index 000000000..f755346c4
Binary files /dev/null and b/lib/client/src/images/help/canvas-pagefunc.png differ
diff --git a/lib/client/src/images/help/canvas-pagesetting.png b/lib/client/src/images/help/canvas-pagesetting.png
new file mode 100644
index 000000000..9c642ca89
Binary files /dev/null and b/lib/client/src/images/help/canvas-pagesetting.png differ
diff --git a/lib/client/src/images/help/component-create.png b/lib/client/src/images/help/component-create.png
index 7128d8f56..f4df45a8d 100644
Binary files a/lib/client/src/images/help/component-create.png and b/lib/client/src/images/help/component-create.png differ
diff --git a/lib/client/src/images/help/component-operation.png b/lib/client/src/images/help/component-operation.png
deleted file mode 100644
index 7ffd5195d..000000000
Binary files a/lib/client/src/images/help/component-operation.png and /dev/null differ
diff --git a/lib/client/src/images/help/component-upload.png b/lib/client/src/images/help/component-upload.png
index 79ce84cf3..bb6b3bcde 100644
Binary files a/lib/client/src/images/help/component-upload.png and b/lib/client/src/images/help/component-upload.png differ
diff --git a/lib/client/src/images/help/component-use.png b/lib/client/src/images/help/component-use.png
index 9860a8dbb..2a0c432ea 100644
Binary files a/lib/client/src/images/help/component-use.png and b/lib/client/src/images/help/component-use.png differ
diff --git a/lib/client/src/images/help/container-block1.png b/lib/client/src/images/help/container-block1.png
new file mode 100644
index 000000000..7bf815914
Binary files /dev/null and b/lib/client/src/images/help/container-block1.png differ
diff --git a/lib/client/src/images/help/container-block2.png b/lib/client/src/images/help/container-block2.png
new file mode 100644
index 000000000..6e3542c60
Binary files /dev/null and b/lib/client/src/images/help/container-block2.png differ
diff --git a/lib/client/src/images/help/container-block3.png b/lib/client/src/images/help/container-block3.png
new file mode 100644
index 000000000..7a1a62b3f
Binary files /dev/null and b/lib/client/src/images/help/container-block3.png differ
diff --git a/lib/client/src/images/help/container-freelayout.png b/lib/client/src/images/help/container-freelayout.png
new file mode 100644
index 000000000..a7b3214df
Binary files /dev/null and b/lib/client/src/images/help/container-freelayout.png differ
diff --git a/lib/client/src/images/help/container-grid.png b/lib/client/src/images/help/container-grid.png
new file mode 100644
index 000000000..106306e1e
Binary files /dev/null and b/lib/client/src/images/help/container-grid.png differ
diff --git a/lib/client/src/images/help/container-total.png b/lib/client/src/images/help/container-total.png
new file mode 100644
index 000000000..7f6502a10
Binary files /dev/null and b/lib/client/src/images/help/container-total.png differ
diff --git a/lib/client/src/images/help/create-page.png b/lib/client/src/images/help/create-page.png
index 405e2ec82..d0a0bcb93 100644
Binary files a/lib/client/src/images/help/create-page.png and b/lib/client/src/images/help/create-page.png differ
diff --git a/lib/client/src/images/help/create-proj.png b/lib/client/src/images/help/create-proj.png
index a46792a5d..a3a9ec08a 100644
Binary files a/lib/client/src/images/help/create-proj.png and b/lib/client/src/images/help/create-proj.png differ
diff --git a/lib/client/src/images/help/data-manage-01.png b/lib/client/src/images/help/data-manage-01.png
new file mode 100644
index 000000000..eee7fa16b
Binary files /dev/null and b/lib/client/src/images/help/data-manage-01.png differ
diff --git a/lib/client/src/images/help/data-manage-02.png b/lib/client/src/images/help/data-manage-02.png
new file mode 100644
index 000000000..3ab02daa4
Binary files /dev/null and b/lib/client/src/images/help/data-manage-02.png differ
diff --git a/lib/client/src/images/help/data-manage-03.png b/lib/client/src/images/help/data-manage-03.png
new file mode 100644
index 000000000..79c85463a
Binary files /dev/null and b/lib/client/src/images/help/data-manage-03.png differ
diff --git a/lib/client/src/images/help/data-manage-04.png b/lib/client/src/images/help/data-manage-04.png
new file mode 100644
index 000000000..8f9230926
Binary files /dev/null and b/lib/client/src/images/help/data-manage-04.png differ
diff --git a/lib/client/src/images/help/data-manage-05.png b/lib/client/src/images/help/data-manage-05.png
new file mode 100644
index 000000000..941d3e50d
Binary files /dev/null and b/lib/client/src/images/help/data-manage-05.png differ
diff --git a/lib/client/src/images/help/data-manage-06.png b/lib/client/src/images/help/data-manage-06.png
new file mode 100644
index 000000000..295996d0d
Binary files /dev/null and b/lib/client/src/images/help/data-manage-06.png differ
diff --git a/lib/client/src/images/help/data-manage-07.png b/lib/client/src/images/help/data-manage-07.png
new file mode 100644
index 000000000..e6d38fa00
Binary files /dev/null and b/lib/client/src/images/help/data-manage-07.png differ
diff --git a/lib/client/src/images/help/data-manage-08.png b/lib/client/src/images/help/data-manage-08.png
new file mode 100644
index 000000000..ec8103e48
Binary files /dev/null and b/lib/client/src/images/help/data-manage-08.png differ
diff --git a/lib/client/src/images/help/data-manage-09.png b/lib/client/src/images/help/data-manage-09.png
new file mode 100644
index 000000000..faceb12af
Binary files /dev/null and b/lib/client/src/images/help/data-manage-09.png differ
diff --git a/lib/client/src/images/help/data-manage-10.png b/lib/client/src/images/help/data-manage-10.png
new file mode 100644
index 000000000..a4bd84f0f
Binary files /dev/null and b/lib/client/src/images/help/data-manage-10.png differ
diff --git a/lib/client/src/images/help/data-manage-11.png b/lib/client/src/images/help/data-manage-11.png
new file mode 100644
index 000000000..1625cf258
Binary files /dev/null and b/lib/client/src/images/help/data-manage-11.png differ
diff --git a/lib/client/src/images/help/data-operation-01.png b/lib/client/src/images/help/data-operation-01.png
new file mode 100644
index 000000000..cf23af7f7
Binary files /dev/null and b/lib/client/src/images/help/data-operation-01.png differ
diff --git a/lib/client/src/images/help/data-operation-02.png b/lib/client/src/images/help/data-operation-02.png
new file mode 100644
index 000000000..f50eb8f2e
Binary files /dev/null and b/lib/client/src/images/help/data-operation-02.png differ
diff --git a/lib/client/src/images/help/data-operation-03.png b/lib/client/src/images/help/data-operation-03.png
new file mode 100644
index 000000000..aad4c1787
Binary files /dev/null and b/lib/client/src/images/help/data-operation-03.png differ
diff --git a/lib/client/src/images/help/data-operation-04.png b/lib/client/src/images/help/data-operation-04.png
new file mode 100644
index 000000000..09d58abea
Binary files /dev/null and b/lib/client/src/images/help/data-operation-04.png differ
diff --git a/lib/client/src/images/help/data-operation-05.png b/lib/client/src/images/help/data-operation-05.png
new file mode 100644
index 000000000..1f5994f4e
Binary files /dev/null and b/lib/client/src/images/help/data-operation-05.png differ
diff --git a/lib/client/src/images/help/data-operation-06.png b/lib/client/src/images/help/data-operation-06.png
new file mode 100644
index 000000000..a753faa63
Binary files /dev/null and b/lib/client/src/images/help/data-operation-06.png differ
diff --git a/lib/client/src/images/help/data-operation-07.png b/lib/client/src/images/help/data-operation-07.png
new file mode 100644
index 000000000..fdc9108e8
Binary files /dev/null and b/lib/client/src/images/help/data-operation-07.png differ
diff --git a/lib/client/src/images/help/filemanage-delorcopy.png b/lib/client/src/images/help/filemanage-delorcopy.png
new file mode 100644
index 000000000..59318b87c
Binary files /dev/null and b/lib/client/src/images/help/filemanage-delorcopy.png differ
diff --git a/lib/client/src/images/help/filemanage-pick.png b/lib/client/src/images/help/filemanage-pick.png
new file mode 100644
index 000000000..5a3b10c46
Binary files /dev/null and b/lib/client/src/images/help/filemanage-pick.png differ
diff --git a/lib/client/src/images/help/filemanage-pickdoc.png b/lib/client/src/images/help/filemanage-pickdoc.png
new file mode 100644
index 000000000..28bb5d3c3
Binary files /dev/null and b/lib/client/src/images/help/filemanage-pickdoc.png differ
diff --git a/lib/client/src/images/help/filemanage-pickuse.png b/lib/client/src/images/help/filemanage-pickuse.png
new file mode 100644
index 000000000..220ea3ed1
Binary files /dev/null and b/lib/client/src/images/help/filemanage-pickuse.png differ
diff --git a/lib/client/src/images/help/filemanage-upload.png b/lib/client/src/images/help/filemanage-upload.png
new file mode 100644
index 000000000..3cf3a5708
Binary files /dev/null and b/lib/client/src/images/help/filemanage-upload.png differ
diff --git a/lib/client/src/images/help/form-data-container-01.png b/lib/client/src/images/help/form-data-container-01.png
new file mode 100644
index 000000000..e8213fcfc
Binary files /dev/null and b/lib/client/src/images/help/form-data-container-01.png differ
diff --git a/lib/client/src/images/help/form-data-container-02.png b/lib/client/src/images/help/form-data-container-02.png
new file mode 100644
index 000000000..0bdc52019
Binary files /dev/null and b/lib/client/src/images/help/form-data-container-02.png differ
diff --git a/lib/client/src/images/help/form-data-container-03-2.png b/lib/client/src/images/help/form-data-container-03-2.png
new file mode 100644
index 000000000..a294e9699
Binary files /dev/null and b/lib/client/src/images/help/form-data-container-03-2.png differ
diff --git a/lib/client/src/images/help/form-data-container-03.png b/lib/client/src/images/help/form-data-container-03.png
new file mode 100644
index 000000000..a946f50ff
Binary files /dev/null and b/lib/client/src/images/help/form-data-container-03.png differ
diff --git a/lib/client/src/images/help/form-data-container-04.png b/lib/client/src/images/help/form-data-container-04.png
new file mode 100644
index 000000000..02c0eeb2b
Binary files /dev/null and b/lib/client/src/images/help/form-data-container-04.png differ
diff --git a/lib/client/src/images/help/form-data-container-05.png b/lib/client/src/images/help/form-data-container-05.png
new file mode 100644
index 000000000..928131326
Binary files /dev/null and b/lib/client/src/images/help/form-data-container-05.png differ
diff --git a/lib/client/src/images/help/form-data-container-06.png b/lib/client/src/images/help/form-data-container-06.png
new file mode 100644
index 000000000..db1a87de4
Binary files /dev/null and b/lib/client/src/images/help/form-data-container-06.png differ
diff --git a/lib/client/src/images/help/form-data-container-07.png b/lib/client/src/images/help/form-data-container-07.png
new file mode 100644
index 000000000..e01fee752
Binary files /dev/null and b/lib/client/src/images/help/form-data-container-07.png differ
diff --git a/lib/client/src/images/help/form-data-container-08.png b/lib/client/src/images/help/form-data-container-08.png
new file mode 100644
index 000000000..939f35386
Binary files /dev/null and b/lib/client/src/images/help/form-data-container-08.png differ
diff --git a/lib/client/src/images/help/form-data-container-09.png b/lib/client/src/images/help/form-data-container-09.png
new file mode 100644
index 000000000..498f78b9f
Binary files /dev/null and b/lib/client/src/images/help/form-data-container-09.png differ
diff --git a/lib/client/src/images/help/free-layout1.png b/lib/client/src/images/help/free-layout1.png
deleted file mode 100644
index 60fc5fc2a..000000000
Binary files a/lib/client/src/images/help/free-layout1.png and /dev/null differ
diff --git a/lib/client/src/images/help/free-layout2.png b/lib/client/src/images/help/free-layout2.png
deleted file mode 100644
index 21e702583..000000000
Binary files a/lib/client/src/images/help/free-layout2.png and /dev/null differ
diff --git a/lib/client/src/images/help/free-layout3.png b/lib/client/src/images/help/free-layout3.png
deleted file mode 100644
index 3cd5bf720..000000000
Binary files a/lib/client/src/images/help/free-layout3.png and /dev/null differ
diff --git a/lib/client/src/images/help/free-layout4.png b/lib/client/src/images/help/free-layout4.png
deleted file mode 100644
index 904498e1e..000000000
Binary files a/lib/client/src/images/help/free-layout4.png and /dev/null differ
diff --git a/lib/client/src/images/help/free-layout5.png b/lib/client/src/images/help/free-layout5.png
deleted file mode 100644
index cf324544f..000000000
Binary files a/lib/client/src/images/help/free-layout5.png and /dev/null differ
diff --git a/lib/client/src/images/help/function-using-01.png b/lib/client/src/images/help/function-using-01.png
new file mode 100644
index 000000000..3f22eb24b
Binary files /dev/null and b/lib/client/src/images/help/function-using-01.png differ
diff --git a/lib/client/src/images/help/function-using-02.png b/lib/client/src/images/help/function-using-02.png
new file mode 100644
index 000000000..90df47cd0
Binary files /dev/null and b/lib/client/src/images/help/function-using-02.png differ
diff --git a/lib/client/src/images/help/function-using-03.png b/lib/client/src/images/help/function-using-03.png
new file mode 100644
index 000000000..2d368691b
Binary files /dev/null and b/lib/client/src/images/help/function-using-03.png differ
diff --git a/lib/client/src/images/help/function-using-04.png b/lib/client/src/images/help/function-using-04.png
new file mode 100644
index 000000000..9848ec0d7
Binary files /dev/null and b/lib/client/src/images/help/function-using-04.png differ
diff --git a/lib/client/src/images/help/function-using-05.png b/lib/client/src/images/help/function-using-05.png
new file mode 100644
index 000000000..901f06d52
Binary files /dev/null and b/lib/client/src/images/help/function-using-05.png differ
diff --git a/lib/client/src/images/help/function-using-06.png b/lib/client/src/images/help/function-using-06.png
new file mode 100644
index 000000000..e64acbe24
Binary files /dev/null and b/lib/client/src/images/help/function-using-06.png differ
diff --git a/lib/client/src/images/help/grid1.png b/lib/client/src/images/help/grid1.png
deleted file mode 100644
index 9870a5f24..000000000
Binary files a/lib/client/src/images/help/grid1.png and /dev/null differ
diff --git a/lib/client/src/images/help/grid2.png b/lib/client/src/images/help/grid2.png
deleted file mode 100644
index fdb5260be..000000000
Binary files a/lib/client/src/images/help/grid2.png and /dev/null differ
diff --git a/lib/client/src/images/help/grid3.png b/lib/client/src/images/help/grid3.png
deleted file mode 100644
index ebdaf2617..000000000
Binary files a/lib/client/src/images/help/grid3.png and /dev/null differ
diff --git a/lib/client/src/images/help/interactive-2.png b/lib/client/src/images/help/interactive-2.png
index 890fa2bf6..1bcf14a43 100644
Binary files a/lib/client/src/images/help/interactive-2.png and b/lib/client/src/images/help/interactive-2.png differ
diff --git a/lib/client/src/images/help/layout-add1.png b/lib/client/src/images/help/layout-add1.png
new file mode 100644
index 000000000..ac70c2d5b
Binary files /dev/null and b/lib/client/src/images/help/layout-add1.png differ
diff --git a/lib/client/src/images/help/layout-add2.png b/lib/client/src/images/help/layout-add2.png
new file mode 100644
index 000000000..4cd13f1f3
Binary files /dev/null and b/lib/client/src/images/help/layout-add2.png differ
diff --git a/lib/client/src/images/help/layout-change.png b/lib/client/src/images/help/layout-change.png
new file mode 100644
index 000000000..c9000fd31
Binary files /dev/null and b/lib/client/src/images/help/layout-change.png differ
diff --git a/lib/client/src/images/help/layout-guide-1.png b/lib/client/src/images/help/layout-guide-1.png
deleted file mode 100644
index 6352921e5..000000000
Binary files a/lib/client/src/images/help/layout-guide-1.png and /dev/null differ
diff --git a/lib/client/src/images/help/layout-guide-2.png b/lib/client/src/images/help/layout-guide-2.png
deleted file mode 100644
index 815b2df5d..000000000
Binary files a/lib/client/src/images/help/layout-guide-2.png and /dev/null differ
diff --git a/lib/client/src/images/help/layout-guide-3.png b/lib/client/src/images/help/layout-guide-3.png
deleted file mode 100644
index 73c0077d0..000000000
Binary files a/lib/client/src/images/help/layout-guide-3.png and /dev/null differ
diff --git a/lib/client/src/images/help/layout-guide-4.png b/lib/client/src/images/help/layout-guide-4.png
deleted file mode 100644
index 3491ac515..000000000
Binary files a/lib/client/src/images/help/layout-guide-4.png and /dev/null differ
diff --git a/lib/client/src/images/help/layout-guide-5.png b/lib/client/src/images/help/layout-guide-5.png
deleted file mode 100644
index c74524721..000000000
Binary files a/lib/client/src/images/help/layout-guide-5.png and /dev/null differ
diff --git a/lib/client/src/images/help/layout-guide-6.png b/lib/client/src/images/help/layout-guide-6.png
deleted file mode 100644
index 36f037e6e..000000000
Binary files a/lib/client/src/images/help/layout-guide-6.png and /dev/null differ
diff --git a/lib/client/src/images/help/layout-modify-con.png b/lib/client/src/images/help/layout-modify-con.png
new file mode 100644
index 000000000..73475fb45
Binary files /dev/null and b/lib/client/src/images/help/layout-modify-con.png differ
diff --git a/lib/client/src/images/help/layout-use.png b/lib/client/src/images/help/layout-use.png
new file mode 100644
index 000000000..65db25ff6
Binary files /dev/null and b/lib/client/src/images/help/layout-use.png differ
diff --git a/lib/client/src/images/help/media/16401439584175/16401452054006.jpg b/lib/client/src/images/help/media/16401439584175/16401452054006.jpg
deleted file mode 100644
index 2d1322dd2..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16401452054006.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16401453082449.jpg b/lib/client/src/images/help/media/16401439584175/16401453082449.jpg
deleted file mode 100644
index d5df076a1..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16401453082449.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16401666141194.jpg b/lib/client/src/images/help/media/16401439584175/16401666141194.jpg
deleted file mode 100644
index 008106ed8..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16401666141194.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16401794072272.jpg b/lib/client/src/images/help/media/16401439584175/16401794072272.jpg
deleted file mode 100644
index ad00d855a..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16401794072272.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402313226232.jpg b/lib/client/src/images/help/media/16401439584175/16402313226232.jpg
deleted file mode 100644
index df2c37c4b..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402313226232.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402313944732.jpg b/lib/client/src/images/help/media/16401439584175/16402313944732.jpg
deleted file mode 100644
index dc12da97c..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402313944732.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402318209481.jpg b/lib/client/src/images/help/media/16401439584175/16402318209481.jpg
deleted file mode 100644
index 17c7dc271..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402318209481.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402319733847.jpg b/lib/client/src/images/help/media/16401439584175/16402319733847.jpg
deleted file mode 100644
index 1bd9ad656..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402319733847.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402324820488.jpg b/lib/client/src/images/help/media/16401439584175/16402324820488.jpg
deleted file mode 100644
index ad3402e1b..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402324820488.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402422464889.jpg b/lib/client/src/images/help/media/16401439584175/16402422464889.jpg
deleted file mode 100644
index ed5a62aa7..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402422464889.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402424263421.jpg b/lib/client/src/images/help/media/16401439584175/16402424263421.jpg
deleted file mode 100644
index b22ea4985..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402424263421.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402427172765.jpg b/lib/client/src/images/help/media/16401439584175/16402427172765.jpg
deleted file mode 100644
index fecfc1aa4..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402427172765.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402437827740.jpg b/lib/client/src/images/help/media/16401439584175/16402437827740.jpg
deleted file mode 100644
index ee6bad16c..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402437827740.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402439483252.jpg b/lib/client/src/images/help/media/16401439584175/16402439483252.jpg
deleted file mode 100644
index 97c6c548c..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402439483252.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402440240005.jpg b/lib/client/src/images/help/media/16401439584175/16402440240005.jpg
deleted file mode 100644
index 68833c851..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402440240005.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402443583719.jpg b/lib/client/src/images/help/media/16401439584175/16402443583719.jpg
deleted file mode 100644
index 4d21b269d..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402443583719.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402444971314.jpg b/lib/client/src/images/help/media/16401439584175/16402444971314.jpg
deleted file mode 100644
index 867e2755e..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402444971314.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402453752516.jpg b/lib/client/src/images/help/media/16401439584175/16402453752516.jpg
deleted file mode 100644
index 94d2f3701..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402453752516.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402463119866.jpg b/lib/client/src/images/help/media/16401439584175/16402463119866.jpg
deleted file mode 100644
index 277087f77..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402463119866.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402465033968.jpg b/lib/client/src/images/help/media/16401439584175/16402465033968.jpg
deleted file mode 100644
index 91723f09e..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402465033968.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402474081082.jpg b/lib/client/src/images/help/media/16401439584175/16402474081082.jpg
deleted file mode 100644
index 99354d3db..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402474081082.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402476677991.jpg b/lib/client/src/images/help/media/16401439584175/16402476677991.jpg
deleted file mode 100644
index 480485742..000000000
Binary files a/lib/client/src/images/help/media/16401439584175/16402476677991.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439633109/16402482037363.jpg b/lib/client/src/images/help/media/16401439633109/16402482037363.jpg
deleted file mode 100644
index 571b414e7..000000000
Binary files a/lib/client/src/images/help/media/16401439633109/16402482037363.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439633109/16402483764730.jpg b/lib/client/src/images/help/media/16401439633109/16402483764730.jpg
deleted file mode 100644
index eb08321f0..000000000
Binary files a/lib/client/src/images/help/media/16401439633109/16402483764730.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439633109/16402486714369.jpg b/lib/client/src/images/help/media/16401439633109/16402486714369.jpg
deleted file mode 100644
index a6d95f754..000000000
Binary files a/lib/client/src/images/help/media/16401439633109/16402486714369.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439633109/16402490797956.jpg b/lib/client/src/images/help/media/16401439633109/16402490797956.jpg
deleted file mode 100644
index 7c3e4c4eb..000000000
Binary files a/lib/client/src/images/help/media/16401439633109/16402490797956.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439633109/16402491127394.jpg b/lib/client/src/images/help/media/16401439633109/16402491127394.jpg
deleted file mode 100644
index 720fb11bc..000000000
Binary files a/lib/client/src/images/help/media/16401439633109/16402491127394.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439633109/16402494734135.jpg b/lib/client/src/images/help/media/16401439633109/16402494734135.jpg
deleted file mode 100644
index 1acf5bfa5..000000000
Binary files a/lib/client/src/images/help/media/16401439633109/16402494734135.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439633109/16402495559475.jpg b/lib/client/src/images/help/media/16401439633109/16402495559475.jpg
deleted file mode 100644
index 3b9310818..000000000
Binary files a/lib/client/src/images/help/media/16401439633109/16402495559475.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439633109/16402497311340.jpg b/lib/client/src/images/help/media/16401439633109/16402497311340.jpg
deleted file mode 100644
index 264a761ce..000000000
Binary files a/lib/client/src/images/help/media/16401439633109/16402497311340.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439633109/16402497665091.jpg b/lib/client/src/images/help/media/16401439633109/16402497665091.jpg
deleted file mode 100644
index 862f0d382..000000000
Binary files a/lib/client/src/images/help/media/16401439633109/16402497665091.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/16401439633109/16402500179604.jpg b/lib/client/src/images/help/media/16401439633109/16402500179604.jpg
deleted file mode 100644
index e39aaaff3..000000000
Binary files a/lib/client/src/images/help/media/16401439633109/16402500179604.jpg and /dev/null differ
diff --git a/lib/client/src/images/help/media/17168668712027/17168724549240.jpg b/lib/client/src/images/help/media/17168668712027/17168724549240.jpg
new file mode 100644
index 000000000..76b6cba31
Binary files /dev/null and b/lib/client/src/images/help/media/17168668712027/17168724549240.jpg differ
diff --git a/lib/client/src/images/help/media/17168668712027/17168724794286.jpg b/lib/client/src/images/help/media/17168668712027/17168724794286.jpg
new file mode 100644
index 000000000..550e85f2b
Binary files /dev/null and b/lib/client/src/images/help/media/17168668712027/17168724794286.jpg differ
diff --git a/lib/client/src/images/help/media/17168668712027/17168725201892.jpg b/lib/client/src/images/help/media/17168668712027/17168725201892.jpg
new file mode 100644
index 000000000..f77efd527
Binary files /dev/null and b/lib/client/src/images/help/media/17168668712027/17168725201892.jpg differ
diff --git a/lib/client/src/images/help/media/17168668712027/17168725346892.jpg b/lib/client/src/images/help/media/17168668712027/17168725346892.jpg
new file mode 100644
index 000000000..3bb77559b
Binary files /dev/null and b/lib/client/src/images/help/media/17168668712027/17168725346892.jpg differ
diff --git a/lib/client/src/images/help/media/17168668712027/17168725520542.jpg b/lib/client/src/images/help/media/17168668712027/17168725520542.jpg
new file mode 100644
index 000000000..4faff75c8
Binary files /dev/null and b/lib/client/src/images/help/media/17168668712027/17168725520542.jpg differ
diff --git a/lib/client/src/images/help/media/17168668712027/17168725738364.jpg b/lib/client/src/images/help/media/17168668712027/17168725738364.jpg
new file mode 100644
index 000000000..95cfcb6fa
Binary files /dev/null and b/lib/client/src/images/help/media/17168668712027/17168725738364.jpg differ
diff --git a/lib/client/src/images/help/media/17168668712027/17168725867105.jpg b/lib/client/src/images/help/media/17168668712027/17168725867105.jpg
new file mode 100644
index 000000000..49626702b
Binary files /dev/null and b/lib/client/src/images/help/media/17168668712027/17168725867105.jpg differ
diff --git a/lib/client/src/images/help/media/17168668712027/17168726001070.jpg b/lib/client/src/images/help/media/17168668712027/17168726001070.jpg
new file mode 100644
index 000000000..96036c744
Binary files /dev/null and b/lib/client/src/images/help/media/17168668712027/17168726001070.jpg differ
diff --git a/lib/client/src/images/help/media/17168668712027/17168727190183.jpg b/lib/client/src/images/help/media/17168668712027/17168727190183.jpg
new file mode 100644
index 000000000..893344206
Binary files /dev/null and b/lib/client/src/images/help/media/17168668712027/17168727190183.jpg differ
diff --git a/lib/client/src/images/help/method-01.png b/lib/client/src/images/help/method-01.png
new file mode 100644
index 000000000..afc28bfc4
Binary files /dev/null and b/lib/client/src/images/help/method-01.png differ
diff --git a/lib/client/src/images/help/mobile-1.png b/lib/client/src/images/help/mobile-1.png
new file mode 100644
index 000000000..b32f01ef2
Binary files /dev/null and b/lib/client/src/images/help/mobile-1.png differ
diff --git a/lib/client/src/images/help/mobile-2.png b/lib/client/src/images/help/mobile-2.png
new file mode 100644
index 000000000..6f8fcf50f
Binary files /dev/null and b/lib/client/src/images/help/mobile-2.png differ
diff --git a/lib/client/src/images/help/mobile-3.png b/lib/client/src/images/help/mobile-3.png
new file mode 100644
index 000000000..5ecd409b5
Binary files /dev/null and b/lib/client/src/images/help/mobile-3.png differ
diff --git a/lib/client/src/images/help/mobile-4.png b/lib/client/src/images/help/mobile-4.png
new file mode 100644
index 000000000..0e8fe6ae5
Binary files /dev/null and b/lib/client/src/images/help/mobile-4.png differ
diff --git a/lib/client/src/images/help/mobile-5.png b/lib/client/src/images/help/mobile-5.png
new file mode 100644
index 000000000..79ba4ff83
Binary files /dev/null and b/lib/client/src/images/help/mobile-5.png differ
diff --git a/lib/client/src/images/help/mobile-6.png b/lib/client/src/images/help/mobile-6.png
new file mode 100644
index 000000000..d0f0701b5
Binary files /dev/null and b/lib/client/src/images/help/mobile-6.png differ
diff --git a/lib/client/src/images/help/mobile-7.png b/lib/client/src/images/help/mobile-7.png
new file mode 100644
index 000000000..ce671262b
Binary files /dev/null and b/lib/client/src/images/help/mobile-7.png differ
diff --git a/lib/client/src/images/help/mobile-8.png b/lib/client/src/images/help/mobile-8.png
new file mode 100644
index 000000000..c697f3323
Binary files /dev/null and b/lib/client/src/images/help/mobile-8.png differ
diff --git a/lib/client/src/images/help/page-manage-1.png b/lib/client/src/images/help/page-manage-1.png
new file mode 100644
index 000000000..67b810cf7
Binary files /dev/null and b/lib/client/src/images/help/page-manage-1.png differ
diff --git a/lib/client/src/images/help/page-manage-2.png b/lib/client/src/images/help/page-manage-2.png
new file mode 100644
index 000000000..fbece055e
Binary files /dev/null and b/lib/client/src/images/help/page-manage-2.png differ
diff --git a/lib/client/src/images/help/page1.png b/lib/client/src/images/help/page1.png
index ab25f019a..62353c1c7 100644
Binary files a/lib/client/src/images/help/page1.png and b/lib/client/src/images/help/page1.png differ
diff --git a/lib/client/src/images/help/page2.png b/lib/client/src/images/help/page2.png
index e2991ca7c..aec423770 100644
Binary files a/lib/client/src/images/help/page2.png and b/lib/client/src/images/help/page2.png differ
diff --git a/lib/client/src/images/help/page8.png b/lib/client/src/images/help/page8.png
index eba253988..60351c5f7 100644
Binary files a/lib/client/src/images/help/page8.png and b/lib/client/src/images/help/page8.png differ
diff --git a/lib/client/src/images/help/pagetemplate-from1.png b/lib/client/src/images/help/pagetemplate-from1.png
new file mode 100644
index 000000000..0c2a21baf
Binary files /dev/null and b/lib/client/src/images/help/pagetemplate-from1.png differ
diff --git a/lib/client/src/images/help/pagetemplate-from2.png b/lib/client/src/images/help/pagetemplate-from2.png
new file mode 100644
index 000000000..bdc29ba92
Binary files /dev/null and b/lib/client/src/images/help/pagetemplate-from2.png differ
diff --git a/lib/client/src/images/help/pagetemplate-from3.png b/lib/client/src/images/help/pagetemplate-from3.png
new file mode 100644
index 000000000..f77efd527
Binary files /dev/null and b/lib/client/src/images/help/pagetemplate-from3.png differ
diff --git a/lib/client/src/images/help/pagetemplate-import.png b/lib/client/src/images/help/pagetemplate-import.png
new file mode 100644
index 000000000..4d1c149a1
Binary files /dev/null and b/lib/client/src/images/help/pagetemplate-import.png differ
diff --git a/lib/client/src/images/help/pagetemplate-use-canvas.png b/lib/client/src/images/help/pagetemplate-use-canvas.png
new file mode 100644
index 000000000..a7ef4fe91
Binary files /dev/null and b/lib/client/src/images/help/pagetemplate-use-canvas.png differ
diff --git a/lib/client/src/images/help/pagetemplate-use-create1.png b/lib/client/src/images/help/pagetemplate-use-create1.png
new file mode 100644
index 000000000..d31bab5b4
Binary files /dev/null and b/lib/client/src/images/help/pagetemplate-use-create1.png differ
diff --git a/lib/client/src/images/help/pagetemplate-use-create2.png b/lib/client/src/images/help/pagetemplate-use-create2.png
new file mode 100644
index 000000000..7ba438f9a
Binary files /dev/null and b/lib/client/src/images/help/pagetemplate-use-create2.png differ
diff --git a/lib/client/src/images/help/media/16401439584175/16402443583719.png b/lib/client/src/images/help/project-template.png
similarity index 100%
rename from lib/client/src/images/help/media/16401439584175/16402443583719.png
rename to lib/client/src/images/help/project-template.png
diff --git a/lib/client/src/images/help/release-data.png b/lib/client/src/images/help/release-data.png
new file mode 100644
index 000000000..91178fdfa
Binary files /dev/null and b/lib/client/src/images/help/release-data.png differ
diff --git a/lib/client/src/images/help/release-log.png b/lib/client/src/images/help/release-log.png
new file mode 100644
index 000000000..1d5479dba
Binary files /dev/null and b/lib/client/src/images/help/release-log.png differ
diff --git a/lib/client/src/images/help/release-paas.png b/lib/client/src/images/help/release-paas.png
new file mode 100644
index 000000000..f37f20711
Binary files /dev/null and b/lib/client/src/images/help/release-paas.png differ
diff --git a/lib/client/src/images/help/release-result.png b/lib/client/src/images/help/release-result.png
new file mode 100644
index 000000000..53b2bb376
Binary files /dev/null and b/lib/client/src/images/help/release-result.png differ
diff --git a/lib/client/src/images/help/routemanage-addsubroute.png b/lib/client/src/images/help/routemanage-addsubroute.png
new file mode 100644
index 000000000..10ab792b4
Binary files /dev/null and b/lib/client/src/images/help/routemanage-addsubroute.png differ
diff --git a/lib/client/src/images/help/routemanage-bindroute.png b/lib/client/src/images/help/routemanage-bindroute.png
new file mode 100644
index 000000000..ecb6bdeb3
Binary files /dev/null and b/lib/client/src/images/help/routemanage-bindroute.png differ
diff --git a/lib/client/src/images/help/routemanage-createpage.png b/lib/client/src/images/help/routemanage-createpage.png
new file mode 100644
index 000000000..c0990585a
Binary files /dev/null and b/lib/client/src/images/help/routemanage-createpage.png differ
diff --git a/lib/client/src/images/help/routemanage-entry.png b/lib/client/src/images/help/routemanage-entry.png
new file mode 100644
index 000000000..da07c9130
Binary files /dev/null and b/lib/client/src/images/help/routemanage-entry.png differ
diff --git a/lib/client/src/images/help/routemanage-layoutroute.png b/lib/client/src/images/help/routemanage-layoutroute.png
new file mode 100644
index 000000000..284d03eb1
Binary files /dev/null and b/lib/client/src/images/help/routemanage-layoutroute.png differ
diff --git a/lib/client/src/images/help/routemanage-modifyroute.png b/lib/client/src/images/help/routemanage-modifyroute.png
new file mode 100644
index 000000000..506679336
Binary files /dev/null and b/lib/client/src/images/help/routemanage-modifyroute.png differ
diff --git a/lib/client/src/images/help/routemanage-modifyroute2.png b/lib/client/src/images/help/routemanage-modifyroute2.png
new file mode 100644
index 000000000..0328eb790
Binary files /dev/null and b/lib/client/src/images/help/routemanage-modifyroute2.png differ
diff --git a/lib/client/src/images/help/routemanage-rebindroute.png b/lib/client/src/images/help/routemanage-rebindroute.png
new file mode 100644
index 000000000..25d75122d
Binary files /dev/null and b/lib/client/src/images/help/routemanage-rebindroute.png differ
diff --git a/lib/client/src/images/help/variable-using-01.png b/lib/client/src/images/help/variable-using-01.png
new file mode 100644
index 000000000..37d247ee6
Binary files /dev/null and b/lib/client/src/images/help/variable-using-01.png differ
diff --git a/lib/client/src/images/help/variable-using-02.png b/lib/client/src/images/help/variable-using-02.png
new file mode 100644
index 000000000..ef23a19fb
Binary files /dev/null and b/lib/client/src/images/help/variable-using-02.png differ
diff --git a/lib/client/src/images/help/variable-using-03.png b/lib/client/src/images/help/variable-using-03.png
new file mode 100644
index 000000000..634d75387
Binary files /dev/null and b/lib/client/src/images/help/variable-using-03.png differ
diff --git a/lib/client/src/images/help/variable-using-04.png b/lib/client/src/images/help/variable-using-04.png
new file mode 100644
index 000000000..2a10100b5
Binary files /dev/null and b/lib/client/src/images/help/variable-using-04.png differ
diff --git a/lib/client/src/images/help/variable-using-05.png b/lib/client/src/images/help/variable-using-05.png
new file mode 100644
index 000000000..dd654cc87
Binary files /dev/null and b/lib/client/src/images/help/variable-using-05.png differ
diff --git a/lib/client/src/images/help/variable-using-06.png b/lib/client/src/images/help/variable-using-06.png
new file mode 100644
index 000000000..c5bd8a29a
Binary files /dev/null and b/lib/client/src/images/help/variable-using-06.png differ
diff --git a/lib/client/src/images/help/variable-using-07.png b/lib/client/src/images/help/variable-using-07.png
new file mode 100644
index 000000000..76e07c692
Binary files /dev/null and b/lib/client/src/images/help/variable-using-07.png differ
diff --git a/lib/client/src/images/help/variable-using-08.png b/lib/client/src/images/help/variable-using-08.png
new file mode 100644
index 000000000..03f195970
Binary files /dev/null and b/lib/client/src/images/help/variable-using-08.png differ
diff --git a/lib/client/src/images/help/variable-using-09.png b/lib/client/src/images/help/variable-using-09.png
new file mode 100644
index 000000000..ff85c4b69
Binary files /dev/null and b/lib/client/src/images/help/variable-using-09.png differ
diff --git a/lib/client/src/images/help/variable-using-10.png b/lib/client/src/images/help/variable-using-10.png
new file mode 100644
index 000000000..ba077b4dc
Binary files /dev/null and b/lib/client/src/images/help/variable-using-10.png differ
diff --git a/lib/client/src/images/help/version-archiving.png b/lib/client/src/images/help/version-archiving.png
new file mode 100644
index 000000000..a86ae1ee8
Binary files /dev/null and b/lib/client/src/images/help/version-archiving.png differ
diff --git a/lib/client/src/images/help/version-create.png b/lib/client/src/images/help/version-create.png
new file mode 100644
index 000000000..ab87780e4
Binary files /dev/null and b/lib/client/src/images/help/version-create.png differ
diff --git a/lib/client/src/images/help/version-cur.png b/lib/client/src/images/help/version-cur.png
new file mode 100644
index 000000000..b5cf22cd4
Binary files /dev/null and b/lib/client/src/images/help/version-cur.png differ
diff --git a/lib/client/src/images/help/version-entry.png b/lib/client/src/images/help/version-entry.png
new file mode 100644
index 000000000..91d44042b
Binary files /dev/null and b/lib/client/src/images/help/version-entry.png differ
diff --git a/lib/client/src/images/help/version-list.png b/lib/client/src/images/help/version-list.png
new file mode 100644
index 000000000..b5e72a2de
Binary files /dev/null and b/lib/client/src/images/help/version-list.png differ
diff --git a/lib/client/src/images/help/version-release.png b/lib/client/src/images/help/version-release.png
new file mode 100644
index 000000000..19ba4901c
Binary files /dev/null and b/lib/client/src/images/help/version-release.png differ
diff --git a/lib/client/src/images/help/version-releasever.png b/lib/client/src/images/help/version-releasever.png
new file mode 100644
index 000000000..4fdf95e39
Binary files /dev/null and b/lib/client/src/images/help/version-releasever.png differ
diff --git a/lib/client/src/images/notify-type-icons/mail.svg b/lib/client/src/images/notify-type-icons/mail.svg
new file mode 100644
index 000000000..1c5ad4faa
--- /dev/null
+++ b/lib/client/src/images/notify-type-icons/mail.svg
@@ -0,0 +1,25 @@
+
+
+
diff --git a/lib/client/src/images/notify-type-icons/rtx.svg b/lib/client/src/images/notify-type-icons/rtx.svg
new file mode 100644
index 000000000..a227b1e70
--- /dev/null
+++ b/lib/client/src/images/notify-type-icons/rtx.svg
@@ -0,0 +1,37 @@
+
+
+
diff --git a/lib/client/src/images/notify-type-icons/sms.svg b/lib/client/src/images/notify-type-icons/sms.svg
new file mode 100644
index 000000000..2c5d4f051
--- /dev/null
+++ b/lib/client/src/images/notify-type-icons/sms.svg
@@ -0,0 +1,23 @@
+
+
+
diff --git a/lib/client/src/images/notify-type-icons/voice.svg b/lib/client/src/images/notify-type-icons/voice.svg
new file mode 100644
index 000000000..53308ef5e
--- /dev/null
+++ b/lib/client/src/images/notify-type-icons/voice.svg
@@ -0,0 +1,32 @@
+
+
+
diff --git a/lib/client/src/images/notify-type-icons/weixin.svg b/lib/client/src/images/notify-type-icons/weixin.svg
new file mode 100644
index 000000000..dc0adaf41
--- /dev/null
+++ b/lib/client/src/images/notify-type-icons/weixin.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/lib/client/src/images/svg/drag.svg b/lib/client/src/images/svg/drag.svg
new file mode 100644
index 000000000..0a1647833
--- /dev/null
+++ b/lib/client/src/images/svg/drag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/lib/client/src/images/svg/right-down.svg b/lib/client/src/images/svg/right-down.svg
new file mode 100644
index 000000000..2aff84a17
--- /dev/null
+++ b/lib/client/src/images/svg/right-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/lib/client/src/images/svg/right-up.svg b/lib/client/src/images/svg/right-up.svg
new file mode 100644
index 000000000..2fcfdf899
--- /dev/null
+++ b/lib/client/src/images/svg/right-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/lib/client/src/images/svg/stretch.svg b/lib/client/src/images/svg/stretch.svg
new file mode 100644
index 000000000..f3168fe9d
--- /dev/null
+++ b/lib/client/src/images/svg/stretch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/lib/client/src/images/svg/up-down-extend.svg b/lib/client/src/images/svg/up-down-extend.svg
new file mode 100644
index 000000000..d6ff9c024
--- /dev/null
+++ b/lib/client/src/images/svg/up-down-extend.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/lib/client/src/locales/i18n.js b/lib/client/src/locales/i18n.js
index 6b3388df6..79e61a118 100644
--- a/lib/client/src/locales/i18n.js
+++ b/lib/client/src/locales/i18n.js
@@ -1,6 +1,7 @@
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import jsCookie from 'js-cookie'
+import { jsonp } from 'vue-jsonp'
import { locale, lang } from 'bk-magic-vue'
import enJson from './lang/en.json'
import zhCNJson from './lang/zh-cn.json'
@@ -38,4 +39,42 @@ const i18n = new VueI18n(i18nConfig)
locale.i18n((key, value) => i18n.t(key, value))
window.i18n = i18n
+export function getCurLang () {
+ const coookieLang = jsCookie.get('blueking_language')
+ return coookieLang || 'zh-cn'
+}
+export function changeLang (lang) {
+ // 写到用户管理
+ const url = `${window.BK_COMPONENT_API_URL}/api/c/compapi/v2/usermanage/fe_update_user_language`
+ console.log(url, 'component api url')
+ jsonp(url, {
+ language: lang
+ }).then(res => {
+ console.log(url, 'changelangres:', res)
+ })
+ const domainList = location.hostname.split('.')
+ // 本项目开发环境因为需要配置了 host 域名比联调环境多 1 级
+ if (process.env.NODE_ENV === 'development') {
+ domainList.splice(0, 1)
+ }
+ // 删除已有cookie
+ for (let i = 0; i < domainList.length - 1; i++) {
+ jsCookie.remove('blueking_language', {
+ domain: domainList.slice(i).join('.')
+ })
+ }
+ // 优先使用环境变量中的bk_domain
+ let domain = window.BKPAAS_BK_DOMAIN
+ if (!domain) {
+ domain = domainList.length > 2 ? domainList.slice(1).join('.') : domainList.join('.')
+ }
+ console.log(domain, 'bk_domain:', window.BKPAAS_BK_DOMAIN)
+ jsCookie.set('blueking_language', lang, {
+ expires: 366,
+ // 和平台保持一致,cookie 种在上级域名
+ domain
+ })
+ window.location.reload()
+}
+
export default i18n
diff --git a/lib/client/src/locales/lang/en.json b/lib/client/src/locales/lang/en.json
index 65eddc6b4..c5922abc8 100644
--- a/lib/client/src/locales/lang/en.json
+++ b/lib/client/src/locales/lang/en.json
@@ -1,5 +1,5 @@
{
- "运维开发平台 | 腾讯蓝鲸智云": "LessCode | BlueKing",
+ "运维开发平台 | 蓝鲸智云": "LessCode | Tencent BlueKing",
"Markdown页": "Markdown",
"Network Error,网络不可用,有可能是跨域原因引起": "Network Error, the network is unavailable, it may be caused by Cross-Domain reasons.",
"Sorry,您的权限不足": "Sorry, you have insufficient permissions!",
@@ -249,13 +249,18 @@
"确认删除?": "confirm deletion?",
"请选择配置表单": "Select configuration form",
"页面:{0}": "Page: {0}",
- "预览表单内容": "Preview form content",
+ "预览表单": "Preview",
+ "编辑表单": "Edit",
+ "删除表单": "Delete",
"复用": "Reuse",
- "复用已有表单:运行时节点数据会存入被复用的表中,不支持增加和修改字段属性": "Reuse of existing forms: Node data will be stored in the table to be reused at runtime, adding and modifying field properties is not supported.",
+ "复用已有表单:系统将复用已有表单进行后续操作,不会创建新表单,不支持对复用表单进行编辑": "Reuse of existing forms: The system will reuse existing forms for subsequent operations and will not create new forms. Editing of reused forms is not supported.",
"已有表单": "Existing Form",
"已选表单包含流程不支持的字段控件【描述文本】或【分割线】类型": "The selected form contains a field control [Description Text] or [Separation Line] type that is not supported by the flow.",
"引用": "Quote",
- "引用已有表单:引用已有表单快速建表,运行时节点数据不会存入被引用的表中,字段属性可自定义": "Reference the existing form: refer to the existing form to quickly create a table, the node data will not be stored in the referenced table at runtime, and the field attributes can be customized.",
+ "引用已有表单:引用已有表单快速创建新表单,可对新表单进行编辑": "Reference the existing form: Quickly create a new form by referencing an existing form; the new form can be edited.",
+ "流程模板不存在": "flow template does not exist.",
+ "流程节点不存在": "flow node does not exist.",
+ "流程边不存在": "flow edge does not exist.",
"表单配置": "Form Configuration",
"表单预览": "Form Preview",
"当前流程节点中已绑定表单不可复用": "The bound form in the current flow node cannot be reused",
@@ -338,6 +343,7 @@
"请选择创建时间": "Select a creation time",
"请选择状态": "Select a status",
"全屏": "Full-screen",
+ "退出全屏": "Exit Full-screen",
"不包含": "Does not contain",
"不等于": "Not equal to",
"分割线": "Divider",
@@ -536,7 +542,7 @@
"新建空白页面": "Create a new blank page",
"新建路由": "New Routing",
"新建页面成功": "Created a new page successfully",
- "未设置": "Not Set",
+ "相对定位: HTML元素相对于其原本位置进行定位,但不会脱离文档流, 可以结合 top、right、bottom 和 left 属性对元素位置进行调整。": "Relative positioning: HTML elements are positioned relative to their original position, but do not deviate from the document flow. They can be combined with top Adjust the position of elements using the right, bottom, and left attributes.",
"未选择模板": "No template selected",
"form_本页面添加到导航菜单": "Add this page to the navigation menu",
"模板名称": "Template Name",
@@ -737,6 +743,7 @@
"张图": "Pictures",
"form_控制上传范围": "Control upload scope",
"form_控制选择范围": "Control selection range",
+ "form_日期选择维度": "Date dimension",
"数据表": "Data Sheet",
"数据表为必填项": "Data sheet is required",
"整行": "Whole Line",
@@ -779,7 +786,7 @@
"form_数据源配置": "Data source configuration",
"条件配置项不能为空": "Condition configuration item cannot be empty",
"没有找到": "Could not find it",
- "流程表单暂不支持布局类型控件": "Flow forms do not currently support layout type controls",
+ "流程表单暂不支持该类型控件": "This type of control is not yet supported in process forms.",
"组件名称": "Component Name",
"table_组件名称": "Component name",
"form_组件名称": "Component name",
@@ -803,11 +810,21 @@
"form_操作类型": "Operation type",
"支持上传图片大小 {0}M 以内,文件大小 {1}M 以内的素材,格式支持 jpg,png,gif,svg,zip,doc,pdf,excel 等": "It supports uploading materials with image size within {0}M and file size within {1}M. The format supports jpg, png, gif, svg, zip, doc, pdf, excel, etc.",
"文件管理": "Files",
+ "应用开发流程": "APP Development Process",
+ "通过可视化编排组件及配置组件属性样式等, 便捷的拖拽出所需的页面, 支持PC端和移动端页面开发": "By visualizing and arranging components, as well as configuring component properties and styles, drag-and-drop is supported to easily create the required pages for both PC and mobile development.",
+ "通过路由管理可以设置每个页面的访问链接及跳转关系": "Through route management, one can set access links and navigation relationships for each page.",
+ "通过JS函数可以丰富页面的交互、实现复杂的逻辑计算、也可以通过远程函数调用API获取动态数据": "Using JS functions to enhance page interactivity, implement complex logical calculations, and make remote API calls to retrieve dynamic data",
+ "通过变量管理可以设置应用级变量跟页面级别变量、实现数据的动态变化": "Variable management allows for setting application-level and page-level variables to achieve dynamic data changes",
+ "包含导航布局、自定义组件、文件、页面模板、API等应用资源的管理": "Includes management of application resources such as navigation layout, custom components, files, page templates, and APIs",
+ "将拖拽出来的应用快速便捷部署到蓝鲸开发者中心": "Quick and easy deploy APP to the Blueking Developer Center",
+ "在线对数据表结构及表数据进行增删改查,支持接入第三方db": "Online CRUD operations for data table structures and data, with support for integrating third-party databases.",
+ "在线查询数据表数据、同时支持便捷组装出的数据查询语句": "Online data table data querying, while also supporting the convenient assembly of data query statements.",
"前端模块开发": "Saas Frontend",
"后台模块开发": "Saas Backend",
+ "其它": "Others",
"模块开发": "Modules",
- "页面开发": "Pages",
"JS函数开发": "JS Functions",
+ "js函数开发": "JS Functions",
"添加模块": "Create module",
"尚未创建模块,": "There is no module yet,",
"模块创建成功": "Module created successfully",
@@ -888,10 +905,10 @@
"产品介绍": "Home",
"产品文档": "Documentation",
"应用开发": "APPs",
- "abbr_应用开发": "APP Development",
- "开源社区": "GitHub",
- "版本日志": "Release note",
- "form_版本日志": "Release note",
+ "abbr_前端模块开发": "Frontend Module Development",
+ "开源社区": "Open Source",
+ "版本日志": "Release Notes",
+ "form_版本日志": "Release notes",
"蓝鲸运维开发平台": "BlueKing LessCode",
"资源市场": "Resource Market",
"运营数据": "Statistics",
@@ -1019,7 +1036,7 @@
"请选择数据表字段": "Select a data table field",
"选择函数": "Select Function",
"H5容器页面配置": "H5 container page configuration",
- "列宽度配置": "Column width configuration",
+ "列宽度占比配置": "Column width ratio configuration",
"则这三列的宽度分别为整行宽度的1/4,1/2,1/4": "Then the width of these three columns is 1/4, 1/2, 1/4 of the width of the entire row respectively",
"如总共有3列,值分别为1,2,1": "If there are 3 columns in total, the values are 1, 2, 1",
"此地址会将数据提交到lesscode创建的数据表,{0}为选择的表名称,若需提交到其它接口请作相应修改": "This address will submit the data to the data table created by LessCode, {0} is the name of the selected table, if you need to submit to other interfaces, please modify accordingly.",
@@ -1189,6 +1206,7 @@
"当属性【data】是【函数】,且属性【pagination】是【远程分页】时,需要用户在【sort-change】事件中处理排序逻辑。其它情况系统会自动处理": "When the attribute [data] is [function], and the attribute [pagination] is [remote paging], the user needs to process the sorting logic in the [sort-change] event. \nIn other cases, the system will automatically handle.",
"该列对应的字段名": "The field name corresponding to the column",
"style_最小宽度": "min-width",
+ "style_显示": "display",
"右对齐": "Align to the Right",
"左对齐": "Align to the Left",
"style_左对齐": "left",
@@ -1229,6 +1247,7 @@
"倾斜体": "Oblique Body",
"和 normal 一样,连续的空白符会被合并。文本内的换行无效": "Like normal, consecutive whitespace characters are merged. \nInvalid newline within text",
"form_垂直对齐": "vertical-align",
+ "行内元素的基线相对于该元素所在行的基线的垂直对齐": "Vertical alignment of the baseline of an element within a row with respect to the baseline of the row where the element is located",
"如何展示溢出文本": "How to display overflow text",
"字体": "Font",
"form_字体样式": "font-style",
@@ -1278,9 +1297,9 @@
"页面样式配置": "Page Style Setting",
"可以设置字体的显示偏好设置,如不设置,则默认使用系统默认字体": "You can set font family of the page, if not set, the system default font will be used by default",
"字体预设": "Page Font",
- "使用正常的布局行为,即元素在文档常规流中当前的布局位置。此时 top, right, bottom, left 和 z-index 属性无效": "Use normal layout behavior, i.e. the element's current layout position in the normal flow of the document. \nThe top, right, bottom, left and z-index properties are invalid at this time.",
- "元素会被移出正常文档流,并不为元素预留空间,而是通过指定元素相对于屏幕视口(viewport)的位置来指定元素位置": "The element will be moved out of the normal document flow, and no space is reserved for the element, but the position of the element is specified by specifying the position of the element relative to the screen viewport (viewport).",
- "元素会被移出正常文档流,并不为元素预留空间,通过指定元素相对于最近的非 static 定位祖先元素的偏移,来确定元素位置": "The element will be moved out of the normal document flow, and no space is reserved for the element. The element position is determined by specifying the offset of the element relative to the nearest non-static positioned ancestor element.",
+ "静态定位:HTML元素的默认值,即没有定位,循正常的文档流对象。静态定位的元素不会受到 top,bottom,left,right设置影响。": "Static positioning: The default value of HTML elements, that is, without positioning, following the normal document flow object. Elements that are statically positioned will not be affected by the top, The bottom, left, and right settings have an impact.",
+ "固定位置:HTML 元素的位置相对于浏览器窗口是固定位置,即使窗口是滚动的它也不会移动。": "Fixed position: The position of HTML elements is fixed relative to the browser window, and even if the window is scrolling, it will not move.",
+ "绝对定位:HTML元素会被移出正常文档流,并不为元素预留空间,通过指定元素相对于最近的非 static 定位祖先元素的移,来确定元素位置。": "Absolute positioning: HTML elements will be moved out of the normal document flow without leaving any space for them. The position of the element is determined by specifying its relative movement to the nearest non-static positioning ancestor element.",
"定位": "Position",
"tab选项配置:": "Tab option configuration:",
"尺寸": "Size",
@@ -1307,7 +1326,7 @@
"添加路由参数": "Add routing parameters",
"清空侧边导航": "Clear side navigation",
"点击切换路由模式": "Click to switch routing mode",
- "点击切换链接模式": "Click to switch link mode",
+ "点击切换第三方链接模式": "Click to switch third party link mode",
"白色": "White",
"科技蓝": "Tech blue",
"紫色": "Purple",
@@ -1316,8 +1335,8 @@
"绿色": "Green",
"蓝色": "Blue",
"请输入导航名称": "Enter a navigation name",
- "请输入链接": "Enter link",
- "请选中路由": "Select routing",
+ "请输入链接,如https://xxx": "Enter link, for example 'https://xxx'",
+ "请选择导航点击跳转路由": "Please select naviagtion and click skip route",
"路由": "Routing",
"输入 icon 的名字": "Enter the name of the icon",
"青色": "Blue",
@@ -1349,6 +1368,7 @@
"发布部署": "Release",
"变量管理": "Variables",
"导航布局管理": "Navigation Layouts",
+ "画布布局容器": "Containers In Canvas",
"应用数据": "APP Data",
"应用权限模型": "APP Permission Model",
"应用管理权限": "APP Management Permissions",
@@ -1366,8 +1386,8 @@
"自定义组件数据": "Custom Component Data",
"自定义组件管理": "Custom Comps",
"账号管理": "Account Management",
- "路由配置": "Routing Configs",
- "table_路由配置": "Routing configuration",
+ "路由链接配置": "Routing link Configs",
+ "table_路由链接配置": "Routing link configuration",
"页面列表": "Pages",
"页面模板管理": "Page Templates",
"今天": "Today",
@@ -1436,7 +1456,7 @@
"编辑,如仍需操作请联系其退出,如仅需查看页面最新状态,请直接": "Edit, if you still need to operate, please contact it to exit, if you only need to check the latest status of the page, please directly",
"编辑,如需获取操作,可点击": "Edit, if you need to get the operation, you can click",
"编辑,您暂无编辑权限,如需操作请联系其退出编辑,如仅需查看页面最新状态,请直接": "Editing, you do not have editing rights at the moment. If you need to operate, please contact him to quit editing. If you only need to check the latest status of the page, please directly",
- "腾讯蓝鲸 版权所有": "Tencent BlueKing Copyright",
+ "蓝鲸 版权所有": "BlueKing Copyright",
"获取权限": "Get Permission",
"蓝鲸 MagicBox": "BlueKing MagicBox",
"表单类": "Form",
@@ -1616,6 +1636,7 @@
"点击页面名称可以快速切换页面,新建页面,以及复制已有的页面": "Click the page name to quickly switch pages, create new pages, and copy existing pages.",
"画布操作指引": "Canvas Operation Guide",
"画布编辑区": "Canvas Editing Area",
+ "画布编辑": "Canvas Editing",
"确定删除?": "Confirm delete?",
"组件库和图标": "Component Libraries and Icons",
"组件树": "Component Tree",
@@ -1821,6 +1842,7 @@
"支持 XLSX,SQL 文件格式,": "Supports XLSX, SQL file formats,",
"支持 {0} 文件格式,": "Supports {0} file formats,",
"表名": "Table Name",
+ "数据表表名": "Table Name",
"form_表名": "Table name",
"table_表名": "Table name",
"表名不能重复": "Table name cannot be repeated",
@@ -1874,7 +1896,7 @@
"更新 {0} 表的数据。注意:传入的数据一定要包含 id 字段": "Update data for {0} table. \nNote: The incoming data must contain the ID field",
"查看请求参数": "View Request Parameters",
"查看返回数据": "View Return Data",
- "注:可以将请求地址复制到函数中使用,具体使用方式可以参考函数示例": "Note: You can copy the request address to the function and use it. For specific usage, please refer to the function example.",
+ "注:可以将请求地址复制到函数中使用,也可以在新建远程函数的时候选择数据表操作API": "Note: You can copy the request address to be used in the function, or you can select the Data Table Operations API when creating a new remote function",
"状态码,-1表示接口异常": "Status code, -1 means the interface is abnormal",
"table_请求方法": "Request method",
"如果导入 sql 文件,仅支持解析插入数据的语法": "If the SQL file is imported, only the syntax for parsing the inserted data is supported",
@@ -2006,6 +2028,7 @@
"复合型导航布局": "Composite Navigation",
"移动端空白布局": "Mobile Blank Navigation",
"移动端底部导航": "Mobile Bottom Navigation",
+ "移动端侧边导航": "Mobile Side Navigation",
"立即创建": "Create Now",
"路由: {0}": "Routing: {0}",
"下载源码": "Download Source Code",
@@ -2152,7 +2175,7 @@
"根路由请直接在父级绑定": "Please bind the root routing directly at the parent level",
"添加子路由": "Add sub-routing",
"禁止循环跳转": "Prohibition of loop jump",
- "绑定页面跳转路由": "Binding page or redirect routing",
+ "绑定页面或跳转路由": "Binding page or redirect routing",
"请输入路由名称,回车结束": "Enter the routing name, press Enter to end",
"需由数字、字母、下划线、中划线(-)、冒号(:)或反斜杠(/)组成": "Must consist of numbers, letters, underscores, dashes (-), colons (:) or backslashes (/)",
"公开模板": "Public Template",
@@ -2317,6 +2340,8 @@
"按函数": "By function",
"按应用名/ID搜索": "Search by APP name/ID",
"按时间新增应用个数": "Add the number of APP by time dimension",
+ "应用来源": "Created from",
+ "开发者中心": "BlueKing Developer Cente",
"table_页面总数": "Total number of pages",
"table_应用数": "Number of APP",
"应用模板": "APP Template",
@@ -2389,7 +2414,6 @@
"自定义组件名称": "Custom component name",
"二次开发指引": "Secondary Development Guidelines",
"交互函数": "Interaction Function",
- "交互式组件使用指引": "Guidelines for Using Interactive Components",
"产品使用文档": "Documentation",
"产品简介": "Product Introduction",
"函数使用指引": "Function Usage Guidelines",
@@ -2403,7 +2427,7 @@
"自定义组件开发指引": "Custom Component Development Guidelines",
"自由布局": "Free Layout",
"课程实战文档和视频": "Course practice documents and videos",
- "页面布局": "Page Layout",
+ "页面开发": "Page Development",
"页面模板使用指引": "Guidelines for Using Page Templates",
"页面画布": "Page Canvas",
"主题": "Theme",
@@ -2572,7 +2596,7 @@
"弹框显示状态变化时调用该事件函数,暂无事件回调参数": "The event function is called when the status of the popup box changes, and there is no event callback parameter",
"弹框消失的动画结束后调用该事件函数,暂无事件回调参数": "The event function is called after the animation of the pop-up box disappearing, and there is no event callback parameter for now",
"是否显示 footer": "Whether to show footer",
- "是否显示弹框,支持v-model双向绑定": "Whether to display the pop-up box, support v-model two-way binding",
+ "是否显示弹框,支持v-model双向绑定,v-model优先级更高": "Whether to display the pop-up box, support v-model two-way binding",
"点击取消按钮时调用该事件函数,主动调用关闭才会触发,通过改变双向绑定的值关闭弹框时不会触发,暂无事件回调参数": "This event function is called when the cancel button is clicked. It will only be triggered when the active call is closed. It will not be triggered when the pop-up box is closed by changing the value of the two-way binding. There is no event callback parameter.",
"点击确定按钮时调用该事件函数,暂无事件回调参数": "This event function is invoked when the OK button is clicked, and there is no event callback parameter yet",
"差异间隔多少行不隐藏": "How many lines between differences won't be hidden",
@@ -2584,6 +2608,7 @@
"异常提示": "Exception",
"异常类型": "Exception Type",
"表单容器": "Form Container",
+ "表单编辑容器": "Form Container",
"数据管理容器": "Data Container",
"表单编辑器": "Form Editor",
"容器": "Container",
@@ -2860,6 +2885,7 @@
"搜索选择数据": "Search selection data",
"条件选择列表": "Conditional selection list",
"是否可以清空": "Whether it can be cleared",
+ "sql语句已做base64加密处理": "The sql field has been encrypted",
"列表name指定的key值,默认为name,若需要改为其他key值,在这里传入即可": "List name specifies the key value. The default is name. If you want to change it to a different key value, you can pass it in here",
"列表id指定的key值,默认为id,若需要改为其他key值,在这里传入即可": "List id specifies the key value. The default value is id. If you want to change to a different key value, you can pass it in here",
"是否显示控制器,只在 type = 'number'时有效": "Whether to display the controller is valid only when type = 'number'",
@@ -3617,6 +3643,7 @@
"开发": "Develop",
"带搜索树组件": "With search tree component",
"tree数据": "Tree Data",
+ "API管理": "API Manage",
"复选节点发生变化时触发,回调参数为id/[id], checked, TreeData": "Triggered when the checked node changes, the callback parameters are ID/[ID], checked, TreeData",
"展开/折叠节点时触发,回调参数为操作节点 TreeNode": "Triggered when a node is expanded/collapsed, the callback parameter is the operation node TreeNode",
"选中的节点发生变化时触发,回调参数为当前点击节点TreeNode": "Triggered when the selected node changes, the callback parameter is the currently clicked node TreeNode",
@@ -3743,7 +3770,7 @@
"系统日期之后": "After the system date",
"系统时间之前": "Before system time",
"系统时间之后": "After system time",
- "腾讯QQ号": "Tencent QQ account",
+ "QQ号": "QQ account",
"身份证": "ID Card",
"邮箱": "Mail",
"非正数(0,负数,负浮点数)": "Non-positive (0, negative, negative float)",
@@ -3892,7 +3919,7 @@
"生产": "Production",
"返回部署页": "Return to deployment page",
"{0}不能为空": "{0} can not be empty",
- "小鲸(BK-GPT)": "Small Whale (BK-GPT)",
+ "小鲸(BK-GPT)": "AI Assistant (BK-GPT)",
"发送": "Send",
"内容正在执行中,请执行完成后再输入": "The content is being executed, please enter after execution",
"可以使用 ${函数参数} 获取函数参数值": "You can use ${function parameter} to get the value of a function parameter.",
@@ -3905,11 +3932,15 @@
"组件【{0}】的【{1}】【事件】没有设置具体事件行为": "Component [{0}]'s [{1}] [event] does not have a specific event behavior set",
"组件【{0}】的【{1}】【事件】的事件行为,没有设置具体的值": "The event behavior of the component [{0}]'s [{1}] [event], with no specific value set",
"组件【{0}】的【{1}】【事件】没有设置具体函数": "Component [{0}]'s [{1}] [event] does not set a specific function",
+ "组件【{0}】的【{1}】【事件】没有设置具体操作流程配置": "The [{1}] event of component [{0}] does not have a specific operation process configured.",
+ "组件【{0}】的【{1}】【事件】操作流程配置,没有选择具体流程": "The operation process configuration for the [{1}] event of component [{0}] does not have a specific process selected.",
+ "组件【{0}】的【{1}】【事件】操作流程配置,没有选择具体操作行为": "The operation process configuration for the [{1}] event of component [{0}] does not have a specific action selected.",
+ "执行流程": "Execute Flow",
"事件行为": "Event behavior",
"可根据生成效果继续编辑,行为将按顺序执行": "You can continue editing based on the generated effects, and the behaviors will be executed sequentially",
"添加事件行为": "Adding Event Behavior",
"跳转": "Jump",
- "请描述当该事件被触发时,期望达成的效果。示例:\n1. 修改组件 button-xxx 的高度为 50px,宽度为 80px\n2. 执行函数 getData,参数为1,20\n3. 跳转至 home 页面: ": "Describe the desired effect when this event is triggered. Example: \n1. change the height of the component button-xxx to 50px and the width to 80px \n2. execute the function getData with parameters 1, 20 \n3. jump to the home page",
+ "请描述当该事件被触发时,期望达成的效果。示例:\n1. 修改组件 button-xxx 的高度为 50px,宽度为 80px\n2. 执行函数 getData,参数为1,20\n3. 跳转至 home 页面": "Describe the desired effect when this event is triggered. Example: \n1. change the height of the component button-xxx to 50px and the width to 80px \n2. execute the function getData with parameters 1, 20 \n3. jump to the home page",
"生成事件行为": "Generating Event Behavior",
"使用了不存在的函数": "Used a non-existent function",
"没有找到 componentId 为{0}的组件,生成组件事件行为失败": "Failed to generate component event behavior if componentId is {0}.",
@@ -3930,7 +3961,56 @@
"生成失败,请优化你的提示词": "Failed to generate, please optimize your cue word",
"灰度中,暂未全量开放": "In gray scale, not yet fully open",
"布尔值": "Boolean",
- "您可以键入 “/” 查看更多Prompt": "You can type “/” to see more prompts",
- "小鲸": "Little Whale",
- "AI开发助手小鲸": "AI Development Assistant Little Whale"
-}
+ "1. 您可以键入“/”查看更多Prompt 2. 您可以输入“{”唤起组件ID列表等进行选择": "1. You can type “/” to see more Prompts 2. You can type “{” to evoke a list of component IDs, etc. to choose from",
+ "小鲸": "AI Assistant",
+ "AI开发助手小鲸": "AI Assistant",
+ "状态设置": "Status Setting",
+ "当满足": "is satisfied when",
+ "则显示": "failing agreement",
+ "状态列": "status bar",
+ "属性英文名:{0}": "Prop name: {0}",
+ "类型:{0}": "Type: {0}",
+ "使用说明:{0}": "Description: {0}",
+ "移动端页面": "Mobile Page",
+ "表单和数据管理容器": "Form Container And Data Container",
+ "画布中函数使用": "Function Usage In The Canvas",
+ "画布中变量使用": "Variable Usage In The Canvas",
+ "交互式组件使用": "Interactive Components Usage",
+ "表格查询案例": "Table Query Example",
+ "其他文档": "Other Document",
+ "文档详情": "Document Detail",
+ "请搜索文档名称": "Please search for document name",
+ "查看文档": "Viewing Document",
+ "可以尝试 调整关键词或": "Try adjusting keywords or",
+ "内置数据库": "Built-in database",
+ "第三方数据库": "Third-party databases",
+ "请输入数据库名": "Please enter the database name",
+ "新增数据库": "New databases",
+ "数据库名": "Database name",
+ "域名": "Domain name",
+ "端口": "Port",
+ "密码": "Password",
+ "编辑数据库": "Edit Database",
+ "创建应用": "Create App",
+ "更新应用": "Update App",
+ "更新页面": "Update Page",
+ "删除页面": "Delete Page",
+ "下载页面源码": "Download Page Code",
+ "创建自定义组件": "Create Component",
+ "下架自定义组件": "Offline Component",
+ "上架自定义组件": "Online Component",
+ "添加自定义组件分类": "Create Comp Category",
+ "更新自定义组件分类": "Update Comp Category",
+ "删除自定义组件分类": "Delete Comp Category",
+ "升级使用中的自定义组件": "Upgrade Using Component",
+ "创建函数": "Create Function",
+ "更新函数": "Update Function",
+ "删除函数": "Delete Function",
+ "添加函数分类": "Create Function Category",
+ "更新函数分类": "Update Function Category",
+ "删除函数分类": "Delete Function Category",
+ "离开修改的内容将会丢失": "Leaving modifications will be lost",
+ "请输入表名,不填则使用默认表名": "Please enter the table name, if not filled, use the default table name",
+ "表名保存后无法修改,请谨慎填写": "The table name cannot be modified after saving, please be careful when filling in",
+ "数据表表名保存后不可再次修改": "The table name cannot be modified after saving"
+}
\ No newline at end of file
diff --git a/lib/client/src/locales/lang/zh-cn.json b/lib/client/src/locales/lang/zh-cn.json
index 50b3cb05f..d60a61dcd 100644
--- a/lib/client/src/locales/lang/zh-cn.json
+++ b/lib/client/src/locales/lang/zh-cn.json
@@ -1,5 +1,5 @@
{
- "运维开发平台 | 腾讯蓝鲸智云": "运维开发平台 | 腾讯蓝鲸智云",
+ "运维开发平台 | 蓝鲸智云": "运维开发平台 | 蓝鲸智云",
"{0} 无法访问": "{0} 无法访问",
"系统错误": "系统错误",
"Network Error,网络不可用,有可能是跨域原因引起": "Network Error,网络不可用,有可能是跨域原因引起",
@@ -254,19 +254,24 @@
"请选择配置表单": "请选择配置表单",
"关联数据表:": "关联数据表:",
"流程提单页:": "流程提单页:",
- "预览表单内容": "预览表单内容",
+ "预览表单": "预览表单",
+ "编辑表单": "编辑表单",
+ "删除表单": "删除表单",
"表单预览": "表单预览",
"当前流程节点中已绑定表单不可复用": "当前流程节点中已绑定表单不可复用",
"请输入表单名称": "请输入表单名称",
"已选表单包含流程不支持的字段控件【描述文本】或【分割线】类型": "已选表单包含流程不支持的字段控件【描述文本】或【分割线】类型",
"请选择表单": "请选择表单",
- "复用已有表单:运行时节点数据会存入被复用的表中,不支持增加和修改字段属性": "复用已有表单:运行时节点数据会存入被复用的表中,不支持增加和修改字段属性",
- "引用已有表单:引用已有表单快速建表,运行时节点数据不会存入被引用的表中,字段属性可自定义": "引用已有表单:引用已有表单快速建表,运行时节点数据不会存入被引用的表中,字段属性可自定义",
+ "复用已有表单:系统将复用已有表单进行后续操作,不会创建新表单,不支持对复用表单进行编辑": "复用已有表单:系统将复用已有表单进行后续操作,不会创建新表单,不支持对复用表单进行编辑",
+ "引用已有表单:引用已有表单快速创建新表单,可对新表单进行编辑": "引用已有表单:引用已有表单快速创建新表单,可对新表单进行编辑",
"请选择已有表单": "请选择已有表单",
"引用": "引用",
"复用": "复用",
"已有表单": "已有表单",
"表单配置": "表单配置",
+ "流程模板不存在": "流程模板不存在",
+ "流程节点不存在": "流程节点不存在",
+ "流程边不存在": "流程边不存在",
"form_转单人": "转单人",
"form_是否可转单": "是否可转单",
"form_提前结束条件": "提前结束条件",
@@ -343,6 +348,7 @@
"请选择创建时间": "请选择创建时间",
"请输入创建人": "请输入创建人",
"全屏": "全屏",
+ "退出全屏": "退出全屏",
"不包含": "不包含",
"包含": "包含",
"小于等于": "小于等于",
@@ -567,7 +573,7 @@
"路由修改成功": "路由修改成功",
"修改一级路由的同时会变更页面模板,已绑定页面或跳转的路由不能再次选择": "修改一级路由的同时会变更页面模板,已绑定页面或跳转的路由不能再次选择",
"新建路由": "新建路由",
- "未设置": "未设置",
+ "相对定位: HTML元素相对于其原本位置进行定位,但不会脱离文档流, 可以结合 top、right、bottom 和 left 属性对元素位置进行调整。": "相对定位: HTML元素相对于其原本位置进行定位,但不会脱离文档流, 可以结合 top、right、bottom 和 left 属性对元素位置进行调整。",
"修改路由": "修改路由",
"清空筛选条件": "清空筛选条件",
"可以尝试 调整关键词 或": "可以尝试 调整关键词 或",
@@ -755,6 +761,7 @@
"张图": "张图",
"至少上传": "至少上传",
"form_控制上传范围": "控制上传范围",
+ "form_日期选择维度": "日期选择维度",
"隐藏": "隐藏",
"字段可编辑且非隐藏": "字段可编辑且非隐藏",
"字段已设置默认值": "字段已设置默认值",
@@ -804,11 +811,21 @@
"个文件": "个文件",
"共": "共",
"文件管理": "文件管理",
+ "应用开发流程": "应用开发流程",
+ "通过可视化编排组件及配置组件属性样式等, 便捷的拖拽出所需的页面, 支持PC端和移动端页面开发": "通过可视化编排组件及配置组件属性样式等, 便捷的拖拽出所需的页面, 支持PC端和移动端页面开发",
+ "通过路由管理可以设置每个页面的访问链接及跳转关系": "通过路由管理可以设置每个页面的访问链接及跳转关系",
+ "通过JS函数可以丰富页面的交互、实现复杂的逻辑计算、也可以通过远程函数调用API获取动态数据": "通过JS函数可以丰富页面的交互、实现复杂的逻辑计算、也可以通过远程函数调用API获取动态数据",
+ "通过变量管理可以设置应用级变量跟页面级别变量、实现数据的动态变化": "通过变量管理可以设置应用级变量跟页面级别变量、实现数据的动态变化",
+ "包含导航布局、自定义组件、文件、页面模板、API等应用资源的管理": "包含导航布局、自定义组件、文件、页面模板、API等应用资源的管理",
+ "将拖拽出来的应用快速便捷部署到蓝鲸开发者中心": "将拖拽出来的应用快速便捷部署到蓝鲸开发者中心",
+ "在线对数据表结构及表数据进行增删改查,支持接入第三方db": "在线对数据表结构及表数据进行增删改查,支持接入第三方db",
+ "在线查询数据表数据、同时支持便捷组装出的数据查询语句": "在线查询数据表数据、同时支持便捷组装出的数据查询语句",
"前端模块开发": "前端模块开发",
"后台模块开发": "后台模块开发",
"模块开发": "模块开发",
"页面开发": "页面开发",
"JS函数开发": "JS函数开发",
+ "js函数开发": "js函数开发",
"添加模块": "添加模块",
"尚未创建模块,": "尚未创建模块,",
"模块创建成功": "模块创建成功",
@@ -899,7 +916,7 @@
"运营数据": "运营数据",
"资源市场": "资源市场",
"应用开发": "应用开发",
- "abbr_应用开发": "应用开发",
+ "abbr_前端模块开发": "前端模块开发",
"产品介绍": "产品介绍",
"退出登录": "退出登录",
"开源社区": "开源社区",
@@ -1037,7 +1054,7 @@
"此地址会将数据提交到lesscode创建的数据表,{0}为选择的表名称,若需提交到其它接口请作相应修改": "此地址会将数据提交到lesscode创建的数据表,{0}为选择的表名称,若需提交到其它接口请作相应修改",
"继续添加表单项": "继续添加表单项",
"表单内容配置": "表单内容配置",
- "列宽度配置": "列宽度配置",
+ "列宽度占比配置": "列宽度占比配置",
"每一列栅格宽度占比为": "每一列栅格宽度占比为",
"该列配置值占总列配置值的百分比": "该列配置值占总列配置值的百分比",
"如总共有3列,值分别为1,2,1": "如总共有3列,值分别为1,2,1",
@@ -1185,6 +1202,7 @@
"自定义样式": "自定义样式",
"form_自定义样式": "自定义样式",
"form_垂直对齐": "垂直对齐",
+ "行内元素的基线相对于该元素所在行的基线的垂直对齐": "行内元素的基线相对于该元素所在行的基线的垂直对齐",
"继承父元素该属性": "继承父元素该属性",
"连续的空白符会被合并。在遇到换行符或者 br 元素时会换行,且可以自动换行": "连续的空白符会被合并。在遇到换行符或者 br 元素时会换行,且可以自动换行",
"连续的空白符会被保留。在遇到换行符或者 br 元素时会换行,且可以自动换行": "连续的空白符会被保留。在遇到换行符或者 br 元素时会换行,且可以自动换行",
@@ -1244,9 +1262,9 @@
"可以设置字体的显示偏好设置,如不设置,则默认使用系统默认字体": "可以设置字体的显示偏好设置,如不设置,则默认使用系统默认字体",
"字体预设": "字体预设",
"提示框的内容容器的最大高度": "提示框的内容容器的最大高度",
- "使用正常的布局行为,即元素在文档常规流中当前的布局位置。此时 top, right, bottom, left 和 z-index 属性无效": "使用正常的布局行为,即元素在文档常规流中当前的布局位置。此时 top, right, bottom, left 和 z-index 属性无效",
- "元素会被移出正常文档流,并不为元素预留空间,而是通过指定元素相对于屏幕视口(viewport)的位置来指定元素位置": "元素会被移出正常文档流,并不为元素预留空间,而是通过指定元素相对于屏幕视口(viewport)的位置来指定元素位置",
- "元素会被移出正常文档流,并不为元素预留空间,通过指定元素相对于最近的非 static 定位祖先元素的偏移,来确定元素位置": "元素会被移出正常文档流,并不为元素预留空间,通过指定元素相对于最近的非 static 定位祖先元素的偏移,来确定元素位置",
+ "静态定位:HTML元素的默认值,即没有定位,循正常的文档流对象。静态定位的元素不会受到 top,bottom,left,right设置影响。": "静态定位:HTML元素的默认值,即没有定位,循正常的文档流对象。静态定位的元素不会受到 top,bottom,left,right设置影响。",
+ "固定位置:HTML 元素的位置相对于浏览器窗口是固定位置,即使窗口是滚动的它也不会移动。": "固定位置:HTML 元素的位置相对于浏览器窗口是固定位置,即使窗口是滚动的它也不会移动。",
+ "绝对定位:HTML元素会被移出正常文档流,并不为元素预留空间,通过指定元素相对于最近的非 static 定位祖先元素的移,来确定元素位置。": "绝对定位:HTML元素会被移出正常文档流,并不为元素预留空间,通过指定元素相对于最近的非 static 定位祖先元素的移,来确定元素位置。",
"定位": "定位",
"最大高度": "最大高度",
"最小高度": "最小高度",
@@ -1260,6 +1278,7 @@
"条件选择列表": "条件选择列表",
"尺寸": "尺寸",
"是否可以清空": "是否可以清空",
+ "sql语句已做base64加密处理": "sql语句已做base64加密处理",
"tab选项配置:": "tab选项配置:",
"是否可编辑": "是否可编辑",
"搜索选择数据": "搜索选择数据",
@@ -1273,13 +1292,13 @@
"开启侧边导航": "开启侧边导航",
"添加侧边导航": "添加侧边导航",
"输入 icon 的名字": "输入 icon 的名字",
- "请输入链接": "请输入链接",
+ "请输入链接,如https://xxx": "请输入链接,如https://xxx",
"添加路由参数": "添加路由参数",
- "请选中路由": "请选中路由",
+ "请选择导航点击跳转路由": "请选择导航点击跳转路由",
"请输入导航名称": "请输入导航名称",
"未设置路由": "未设置路由",
"删除路由参数": "删除路由参数",
- "点击切换链接模式": "点击切换链接模式",
+ "点击切换第三方链接模式": "点击切换第三方链接模式",
"点击切换路由模式": "点击切换路由模式",
"路由": "路由",
"模板导航不能为空": "模板导航不能为空",
@@ -1323,10 +1342,11 @@
"成员管理": "成员管理",
"版本管理": "版本管理",
"路由配置": "路由配置",
- "table_路由配置": "路由配置",
+ "table_路由链接配置": "路由链接配置",
"发布部署": "发布部署",
"流程管理": "流程管理",
"导航布局管理": "导航布局管理",
+ "画布布局容器": "画布布局容器",
"API 管理": "API 管理",
"变量管理": "变量管理",
"页面模板管理": "页面模板管理",
@@ -1406,7 +1426,7 @@
"应用搭建更简单": "应用搭建更简单",
"产品特性": "产品特性",
"帮助文档": "帮助文档",
- "腾讯蓝鲸 版权所有": "腾讯蓝鲸 版权所有",
+ "蓝鲸 版权所有": "蓝鲸 版权所有",
"编辑,如仍需操作请联系其退出,如仅需查看页面最新状态,请直接": "编辑,如仍需操作请联系其退出,如仅需查看页面最新状态,请直接",
"由于您长时间未操作,页面编辑权已被释放;当前页面正在被": "由于您长时间未操作,页面编辑权已被释放;当前页面正在被",
"如仅需查看页面最新状态,请直接": "如仅需查看页面最新状态,请直接",
@@ -1518,6 +1538,7 @@
"组件配置": "组件配置",
"可在画布自由拖动组件、图标等进行页面布局,选中组件或布局后可右键对选中项进行复制粘贴等快捷操作": "可在画布自由拖动组件、图标等进行页面布局,选中组件或布局后可右键对选中项进行复制粘贴等快捷操作",
"画布编辑区": "画布编辑区",
+ "画布编辑": "画布编辑",
"以全局组件树的形式,快速切换查看页面的所有组件": "以全局组件树的形式,快速切换查看页面的所有组件",
"组件树": "组件树",
"从基础组件、自定义业务组件、图标库中拖拽组件或图标到画布区域进行页面编排组装": "从基础组件、自定义业务组件、图标库中拖拽组件或图标到画布区域进行页面编排组装",
@@ -1728,6 +1749,7 @@
"table_存储引擎": "存储引擎",
"开头和结尾需是小写字母,中间可以是小写字母、连字符和下划线。长度为2-64": "开头和结尾需是小写字母,中间可以是小写字母、连字符和下划线。长度为2-64",
"表名": "表名",
+ "数据表表名": "数据表表名",
"table_表名": "表名",
"form_表名": "表名",
"table_主键": "主键",
@@ -1777,7 +1799,7 @@
"使用 where 条件更新 {0} 表的数据。注意:匹配到 where 条件的数据都会执行更新": "使用 where 条件更新 {0} 表的数据。注意:匹配到 where 条件的数据都会执行更新",
"query 参数,数字类型,表示分页的页码。不传表示获取所有数据": "query 参数,数字类型,表示分页的页码。不传表示获取所有数据",
"{0}的值": "{0}的值",
- "注:可以将请求地址复制到函数中使用,具体使用方式可以参考函数示例": "注:可以将请求地址复制到函数中使用,具体使用方式可以参考函数示例",
+ "注:可以将请求地址复制到函数中使用,也可以在新建远程函数的时候选择数据表操作API": "注:可以将请求地址复制到函数中使用,也可以在新建远程函数的时候选择数据表操作API",
"描述": "描述",
"查看返回数据": "查看返回数据",
"查看请求参数": "查看请求参数",
@@ -1911,6 +1933,7 @@
"复合型导航布局": "复合型导航布局",
"移动端空白布局": "移动端空白布局",
"移动端底部导航": "移动端底部导航",
+ "移动端侧边导航": "移动端侧边导航",
"布局缩略预览": "布局缩略预览",
"导航布局已被使用,不可删除": "导航布局已被使用,不可删除",
"关联的表单数据管理页": "关联的表单数据管理页",
@@ -2057,7 +2080,7 @@
"删除路由后,绑定到此路由的页面则无法访问,指向此路由的跳转路由也将失效": "删除路由后,绑定到此路由的页面则无法访问,指向此路由的跳转路由也将失效",
"添加子路由": "添加子路由",
"请输入路由名称,回车结束": "请输入路由名称,回车结束",
- "绑定页面跳转路由": "绑定页面跳转路由",
+ "绑定页面或跳转路由": "绑定页面或跳转路由",
"需由数字、字母、下划线、中划线(-)、冒号(:)或反斜杠(/)组成": "需由数字、字母、下划线、中划线(-)、冒号(:)或反斜杠(/)组成",
"根路由请直接在父级绑定": "根路由请直接在父级绑定",
"删除模板分类成功": "删除模板分类成功",
@@ -2220,6 +2243,8 @@
"创建者": "创建者",
"table_应用名": "应用名",
"按应用名/ID搜索": "按应用名/ID搜索",
+ "应用来源": "应用来源",
+ "开发者中心": "开发者中心",
"table_页面总数": "页面总数",
"table_应用总数": "应用总数",
"按时间新增应用个数": "按时间新增应用个数",
@@ -3081,6 +3106,7 @@
"值需要是数组,且每个元素需要含有title字段": "值需要是数组,且每个元素需要含有title字段",
"是否应用简洁风格": "是否应用简洁风格",
"style_最小宽度": "最小宽度",
+ "style_显示": "显示",
"居中对齐": "居中对齐",
"style_居中对齐": "居中对齐",
"style_左对齐": "左对齐",
@@ -3732,7 +3758,7 @@
"系统日期": "系统日期",
"系统日期之前": "系统日期之前",
"系统日期之后": "系统日期之后",
- "腾讯QQ号": "腾讯QQ号",
+ "QQ号": "QQ号",
"IP地址": "IP地址",
"身份证": "身份证",
"内地手机号码": "内地手机号码",
@@ -3844,14 +3870,14 @@
"存在未保存的自定义组件,关闭后不会保存更改": "存在未保存的自定义组件,关闭后不会保存更改",
"请输入关键词搜索": "请输入关键词搜索",
"人员选择": "人员选择",
- "支持INSERT、UPDATE、DELETE三种操作,时间类型的值需要转成0时区,":"支持INSERT、UPDATE、DELETE三种操作,时间类型的值需要转成0时区,",
- "由 {0} 上传":"由 {0} 上传",
- "复制{n}":"复制{n}",
- "下载{n}":"下载{n}",
- "{n}配置":"{n}配置",
- "abbr_发布部署":"发布部署",
- "abbr_部署历史":"部署历史",
- "请输入组件名称搜索":"请输入组件名称搜索",
+ "支持INSERT、UPDATE、DELETE三种操作,时间类型的值需要转成0时区,": "支持INSERT、UPDATE、DELETE三种操作,时间类型的值需要转成0时区,",
+ "由 {0} 上传": "由 {0} 上传",
+ "复制{n}": "复制{n}",
+ "下载{n}": "下载{n}",
+ "{n}配置": "{n}配置",
+ "abbr_发布部署": "发布部署",
+ "abbr_部署历史": "部署历史",
+ "请输入组件名称搜索": "请输入组件名称搜索",
"确认离开当前页?": "确认离开当前页?",
"离开将会导致未保存信息丢失": "离开将会导致未保存信息丢失",
"表单保存成功,表单配置关联数据表变更成功": "表单保存成功,表单配置关联数据表变更成功",
@@ -3891,12 +3917,12 @@
"正在": "正在",
"版本": "版本",
"{0}不能为空": "{0}不能为空",
- "存在未保存的版本,关闭后不会保存更改":"存在未保存的版本,关闭后不会保存更改",
+ "存在未保存的版本,关闭后不会保存更改": "存在未保存的版本,关闭后不会保存更改",
"小鲸(BK-GPT)": "小鲸(BK-GPT)",
"发送": "发送",
"内容正在执行中,请执行完成后再输入": "内容正在执行中,请执行完成后再输入",
"可以使用 ${函数参数} 获取函数参数值": "可以使用 ${函数参数} 获取函数参数值",
- "{0}部署执行日志":"{0}部署执行日志",
+ "{0}部署执行日志": "{0}部署执行日志",
"中": "中",
"请输入属性名称": "请输入属性名称",
"移动端侧边导航配置": "移动端侧边导航配置",
@@ -3905,6 +3931,10 @@
"组件【{0}】的【{1}】【事件】没有设置具体事件行为": "组件【{0}】的【{1}】【事件】没有设置具体事件行为",
"组件【{0}】的【{1}】【事件】的事件行为,没有设置具体的值": "组件【{0}】的【{1}】【事件】的事件行为,没有设置具体的值",
"组件【{0}】的【{1}】【事件】没有设置具体函数": "组件【{0}】的【{1}】【事件】没有设置具体函数",
+ "组件【{0}】的【{1}】【事件】没有设置具体操作流程配置": "组件【{0}】的【{1}】【事件】没有设置具体操作流程配置",
+ "组件【{0}】的【{1}】【事件】操作流程配置,没有选择具体流程": "组件【{0}】的【{1}】【事件】操作流程配置,没有选择具体流程",
+ "组件【{0}】的【{1}】【事件】操作流程配置,没有选择具体操作行为": "组件【{0}】的【{1}】【事件】操作流程配置,没有选择具体操作行为",
+ "执行流程": "执行流程",
"事件行为": "事件行为",
"可根据生成效果继续编辑,行为将按顺序执行": "可根据生成效果继续编辑,行为将按顺序执行",
"添加事件行为": "添加事件行为",
@@ -3930,7 +3960,56 @@
"生成失败,请优化你的提示词": "生成失败,请优化你的提示词",
"灰度中,暂未全量开放": "灰度中,暂未全量开放",
"布尔值": "布尔值",
- "您可以键入 “/” 查看更多Prompt": "您可以键入 “/” 查看更多Prompt",
+ "1. 您可以键入“/”查看更多Prompt 2. 您可以输入“{”唤起组件ID列表等进行选择": "1. 您可以键入“/”查看更多Prompt 2. 您可以输入“{”唤起组件ID列表等进行选择",
"小鲸": "小鲸",
- "AI开发助手小鲸": "AI开发助手小鲸"
-}
+ "AI开发助手小鲸": "AI开发助手小鲸",
+ "状态设置": "状态设置",
+ "当满足": "当满足",
+ "则显示": "则显示",
+ "状态列": "状态列",
+ "属性英文名:{0}": "属性英文名:{0}",
+ "类型:{0}": "类型:{0}",
+ "使用说明:{0}": "使用说明:{0}",
+ "移动端页面": "移动端页面",
+ "表单和数据管理容器": "表单和数据管理容器",
+ "画布中函数使用": "画布中函数使用",
+ "画布中变量使用": "画布中变量使用",
+ "交互式组件使用": "交互式组件使用",
+ "表格查询案例": "表格查询案例",
+ "其他文档": "其他文档",
+ "文档详情": "文档详情",
+ "请搜索文档名称": "请搜索文档名称",
+ "查看文档": "查看文档",
+ "可以尝试 调整关键词或": "可以尝试 调整关键词 或 ",
+ "内置数据库": "内置数据库",
+ "第三方数据库": "第三方数据库",
+ "请输入数据库名": "请输入数据库名",
+ "新增数据库": "新增数据库",
+ "数据库名": "数据库名",
+ "域名": "域名",
+ "端口": "端口",
+ "密码": "密码",
+ "编辑数据库": "编辑数据库",
+ "创建应用": "创建应用",
+ "更新应用": "更新应用",
+ "更新页面": "更新页面",
+ "删除页面": "删除页面",
+ "下载页面源码": "下载页面源码",
+ "创建自定义组件": "创建自定义组件",
+ "下架自定义组件": "下架自定义组件",
+ "上架自定义组件": "上架自定义组件",
+ "添加自定义组件分类": "添加自定义组件分类",
+ "更新自定义组件分类": "更新自定义组件分类",
+ "删除自定义组件分类": "删除自定义组件分类",
+ "升级使用中的自定义组件": "升级使用中的自定义组件",
+ "创建函数": "创建函数",
+ "更新函数": "更新函数",
+ "删除函数": "删除函数",
+ "添加函数分类": "添加函数分类",
+ "更新函数分类": "更新函数分类",
+ "删除函数分类": "删除函数分类",
+ "离开修改的内容将会丢失": "离开修改的内容将会丢失",
+ "请输入表名,不填则使用默认表名": "请输入表名,不填则使用默认表名",
+ "表名保存后无法修改,请谨慎填写": "表名保存后无法修改,请谨慎填写",
+ "数据表表名保存后不可再次修改": "数据表表名保存后不可再次修改"
+}
\ No newline at end of file
diff --git a/lib/client/src/locales/version-log/en.json b/lib/client/src/locales/version-log/en.json
index ef30e7b06..887247b0b 100644
--- a/lib/client/src/locales/version-log/en.json
+++ b/lib/client/src/locales/version-log/en.json
@@ -419,8 +419,65 @@
"应用: vue2应用表单类型页面以表单容器组件形式整合到自定义页面": "APP: Vue2 APP form type pages integrated into custom pages as form container components",
"应用: vue2应用数据管理类型页面以数据管理容器组件形式整合到自定义页面": "APP: Vue2 APP data management type pages integrated into custom pages as data management container components",
"画布: vue3应用支持表单容器跟数据管理容器组件": "Canvas: Vue3 APP supports form container and data management container components",
- "画布: AI小鲸支持页面需求描述 拆解任务 完成多个组件布局生成": "Canvas: AI Little Whale supports page requirement description, task breakdown, and completion of multiple component layouts",
+ "画布: AI小鲸支持页面需求描述 拆解任务 完成多个组件布局生成": "Canvas: AI Assistant supports page requirement description, task breakdown, and completion of multiple component layouts",
"发布部署: 新建的应用部署后为开发者中心云原生类型类用,发布部署模块适配云原生类型应用": "Release Deployment: After deployment, the newly created APP will be used in the Developer Center for cloud-native type APPs. The release deployment module is compatible with cloud-native type APPs",
"画布: 修复echart图表无法自适应屏幕宽高变化问题": "Canvas: Fixed the issue of echart charts not adapting to changes in screen width and height",
- "移动端: 修复vant样式冲突问题": "Mobile: Fixed the issue of style conflicts with Vant"
+ "移动端: 修复vant样式冲突问题": "Mobile: Fixed the issue of style conflicts with Vant",
+ "应用: 应用内左侧导航调整": "APP: Adjust left side navigation within the APP",
+ "应用: 对接消息通知中心": "APP: Integrate with Blueking message notification center",
+ "应用: 发布部署数据同步到homepage": "APP: Deploy data synchronization to homepage”",
+ "数据源: 支持接入第三方数据库": "Data Source: Support integration with third-party databases",
+ "数据源: sql语句在api层面加密传输": "Data Source: Encrypt SQL statements for transmission at the API level”",
+ "移动端: h5容器swipper组件升级": "Mobile: Upgrade H5 container swiper component",
+ "画布: table支持设置状态列": "Canvas: Table supports setting status columns",
+ "应用: 预览页跟画布编辑页自定义组件加载速度优化": "APP: Optimized loading speed of custom components in preview and canvas editing pages",
+ "应用: ajax请求401时调整为弹出小窗登录": "APP: Adjusted to pop up a small window for login when receiving a 401 error in AJAX requests",
+ "应用: 创建页面失败自动定位到错误位置": "APP: Automatically navigate to the error location when creating a page fails",
+ "数据源: 兼容ENUM类型": "Data Source: Compatible with ENUM types",
+ "API: object跟array类型参数可绑定变量": "API: Object and array type parameters can be bound to variables",
+ "应用: 修复权限校验问题": "APP: Fixed permission verification issue",
+ "应用: package.json部分依赖升级": "APP: Upgraded some dependencies in package.json",
+ "画布: 修复vue3中table偶现无法删除": "Canvas: Fixed occasional inability to delete tables in Vue 3",
+ "画布: 修复table组件无法渲染问题": "Canvas: Fixed issue with table component not rendering",
+ "画布: 修复页面JSON内函数payload中format不存在的问题": "Canvas: Fixed issue with non-existent 'format' in function payload within page JSON",
+ "画布: 修复表单容器内radio事件不生效问题": "Canvas: Fixed issue with radio events not working within form containers",
+ "平台: 文档中心内容重新梳理补充": "Platform: Rework and supplement the content of the documentation center",
+ "平台: 导航栏增加“帮助文档”入口, 弹窗查看文档": "Platform: Add 'Help Documentation' entry in the navigation bar, display document in pop-up",
+ "画布: 组件属性名增加展示中文displayName": "Canvas: Add Chinese display name to component property names",
+ "画布: vue2、vue3增加折叠面板collapse基础组件": "Canvas: Add collapsible panel (collapse) basic component for Vue2 and Vue3",
+ "画布: vue2、vue3增加可编辑description自定义组件": "Canvas: Add editable description custom component for Vue2 and Vue3",
+ "画布: vue3增加带分组列表展示自定义组件": "Canvas: Add custom component with grouped list display for Vue3",
+ "画布: 导航logo支持设置点击跳转页面": "Canvas: Navigation logo supports setting click-to-navigate page",
+ "画布: 复合导航侧边支持拖拽区域": "Canvas: Compound navigation sidebar supports drag-and-drop area",
+ "画布: bkcharts 图表标题提供 左/中/右对齐 选项,图例提供可置于 上/下 的选项": "Canvas: bkcharts chart title provides options to align left/center/right, legend provides options to position top/bottom",
+ "表单&数据管理: 字段联动规则支持配置多种逻辑运算": "Form & Data Management: Field linkage rules support configuring multiple logical operations",
+ "表单&数据管理: 下拉字段支持数据源key、value配置": "Form & Data Management: Dropdown fields support key-value configuration for data sources",
+ "表单&数据管理: 日期组件支持年、月、日、时间类型": "Form & Data Management: Date component supports year, month, day, and time types",
+ "表单&数据管理: 数据管理容器增加列跳转": "Form & Data Management: Data management container adds column jump",
+ "数据源: sql语句使用base64加密": "Data Source: Encrypt SQL statements using base64",
+ "数据源: 数据管理支持全局过滤、全局排序": "Data Source: Data management supports global filtering and sorting",
+ "画布: 修复vue3部分组件样式异常、图标渲染异常": "Canvas: Fix style anomalies and icon rendering issues in some Vue3 components",
+ "画布: 修复空白导航布局下, 页面高度不为100%问题": "Canvas: Fix issue where page height is not 100% under blank navigation layout",
+ "表单&数据管理: 修复表单事件源码配置跟预览不一致": "Form & Data Management: Fix inconsistency between form event source code configuration and preview",
+ "表单&数据管理: 修复列重复问题": "Form & Data Management: Fix column duplication issue",
+ "平台: 平台名称/footer/header区域等信息支持全局配置": "Platform: Platform name/footer/header area and other information support global configuration",
+ "表单&数据管理: 表单容器字段默认值支持变量": "Form & Data Management: Default values for form container fields support variables",
+ "画布: 英文模式下,组件属性不展示简易名称displayName": "Canvas: In English mode, component properties do not display the simple name displayName",
+ "画布: vue3应用bkui组件库,组件属性补充对齐组件库本身": "Canvas: In vue3 APP bkui component library, component properties are supplemented to align with the component library itself",
+ "数据源: 离开数据管理页面时,给出二次提示": "Data Source: Provide a secondary prompt when leaving the data management page",
+ "画布: 修复表单容器组件确认、取消按钮无法隐藏问题": "Canvas: Fix the issue where confirm and cancel buttons of form container components cannot be hidden",
+ "画布: 修复vue3tab组件无法切换tab的问题": "Canvas: Fix the issue where vue3 tab component cannot switch tabs",
+ "画布: 修复vue3导航的内置padding预览时与画布样式配置不一致问题": "Canvas: Fix the inconsistency issue between the built-in padding preview of vue3 navigation and canvas style configuration",
+ "函数: 修复编辑函数需要检验变量时,变量非最新的问题": "Function: Fix the issue where the variable is not the latest when editing functions that need to check the variable",
+ "数据源: 修复预览时需要区分本地数据源跟第三方数据源的问题": "Data Source: Fix the issue that needs to distinguish between local data sources and third-party data sources during preview",
+ "数据源: 修复数据源api默认page不为1的问题": "Data Source: Fix the issue that the default page of the data source API is not 1",
+ "模板市场: 添加页面模板到应用时,disabled页面模板所属的应用本身": "Template Market: When adding page templates to the APP, disable the page template belonging to the APP itself",
+ "流程: 流程模块重构、对接新的流程引擎": "Flow: Refactor flow module and integrate new flow engine",
+ "画布: 组件属性进行分组": "Canvas: Group component properties",
+ "画布: 补充组件缺少的属性": "Canvas: Add missing properties in the component library",
+ "画布: 组件事件增加简易中文描述": "Canvas: Add simple Chinese descriptions for component events",
+ "画布: vue2组件升级到最新版本": "Canvas: Upgrade Vue2 components to the latest version",
+ "画布: echarts图表提供简易配置": "Canvas: Provide simple configuration for ECharts charts",
+ "平台: 源码工程里面的vue升级到2.7.x版本": "Platform: Upgrade Vue in the source project to version 2.7.x",
+ "画布: 兼容当组件的数据中,含有连字符跟驼峰格式的的相同属性": "Canvas: Compatible with components where the data contains the same properties in both hyphenated and camel case formats"
}
\ No newline at end of file
diff --git a/lib/client/src/locales/version-log/zh-cn.json b/lib/client/src/locales/version-log/zh-cn.json
index 072a9a6a1..b3573e504 100644
--- a/lib/client/src/locales/version-log/zh-cn.json
+++ b/lib/client/src/locales/version-log/zh-cn.json
@@ -422,5 +422,54 @@
"画布: AI小鲸支持页面需求描述 拆解任务 完成多个组件布局生成": "画布: AI小鲸支持页面需求描述 拆解任务 完成多个组件布局生成",
"发布部署: 新建的应用部署后为开发者中心云原生类型类用,发布部署模块适配云原生类型应用": "发布部署: 新建的应用部署后为开发者中心云原生类型类用,发布部署模块适配云原生类型应用",
"画布: 修复echart图表无法自适应屏幕宽高变化问题": "画布: 修复echart图表无法自适应屏幕宽高变化问题",
- "移动端: 修复vant样式冲突问题": "移动端: 修复vant样式冲突问题"
+ "移动端: 修复vant样式冲突问题": "移动端: 修复vant样式冲突问题",
+ "应用: 应用内左侧导航调整": "应用: 应用内左侧导航调整",
+ "应用: 对接消息通知中心": "应用: 对接消息通知中心",
+ "应用: 发布部署数据同步到homepage": "应用: 发布部署数据同步到homepage",
+ "数据源: 支持接入第三方数据库": "数据源: 支持接入第三方数据库",
+ "数据源: sql语句在api层面加密传输": "数据源: sql语句在api层面加密传输",
+ "移动端: h5容器swipper组件升级": "移动端: h5容器swipper组件升级",
+ "画布: table支持设置状态列": "画布: table支持设置状态列",
+ "应用: 预览页跟画布编辑页自定义组件加载速度优化": "应用: 预览页跟画布编辑页自定义组件加载速度优化",
+ "应用: ajax请求401时调整为弹出小窗登录": "应用: ajax请求401时调整为弹出小窗登录",
+ "应用: 创建页面失败自动定位到错误位置": "应用: 创建页面失败自动定位到错误位置",
+ "数据源: 兼容ENUM类型": "数据源: 兼容ENUM类型",
+ "API: object跟array类型参数可绑定变量": "API: object跟array类型参数可绑定变量",
+ "应用: 修复权限校验问题": "应用: 修复权限校验问题",
+ "应用: package.json部分依赖升级": "应用: package.json部分依赖升级",
+ "画布: 修复vue3中table偶现无法删除": "画布: 修复vue3中table偶现无法删除",
+ "画布: 修复table组件无法渲染问题": "画布: 修复table组件无法渲染问题",
+ "画布: 修复页面JSON内函数payload中format不存在的问题": "画布: 修复页面JSON内函数payload中format不存在的问题",
+ "画布: 修复表单容器内radio事件不生效问题": "画布: 修复表单容器内radio事件不生效问题",
+ "平台: 文档中心内容重新梳理补充": "平台: 文档中心内容重新梳理补充",
+ "平台: 导航栏增加“帮助文档”入口, 弹窗查看文档": "平台: 导航栏增加“帮助文档”入口, 弹窗查看文档",
+ "画布: 组件属性名增加展示中文displayName": "画布: 组件属性名增加展示中文displayName",
+ "画布: vue2、vue3增加折叠面板collapse基础组件": "画布: vue2、vue3增加折叠面板collapse基础组件",
+ "画布: vue2、vue3增加可编辑description自定义组件": "画布: vue2、vue3增加可编辑description自定义组件",
+ "画布: vue3增加带分组列表展示自定义组件": "画布: vue3增加带分组列表展示自定义组件",
+ "画布: 导航logo支持设置点击跳转页面": "画布: 导航logo支持设置点击跳转页面",
+ "画布: 复合导航侧边支持拖拽区域": "画布: 复合导航侧边支持拖拽区域",
+ "画布: bkcharts 图表标题提供 左/中/右对齐 选项,图例提供可置于 上/下 的选项": "画布: bkcharts 图表标题提供 左/中/右对齐 选项,图例提供可置于 上/下 的选项",
+ "表单&数据管理: 字段联动规则支持配置多种逻辑运算": "表单&数据管理: 字段联动规则支持配置多种逻辑运算",
+ "表单&数据管理: 下拉字段支持数据源key、value配置": "表单&数据管理: 下拉字段支持数据源key、value配置",
+ "表单&数据管理: 日期组件支持年、月、日、时间类型": "表单&数据管理: 日期组件支持年、月、日、时间类型",
+ "表单&数据管理: 数据管理容器增加列跳转": "表单&数据管理: 数据管理容器增加列跳转",
+ "数据源: sql语句使用base64加密": "数据源: sql语句使用base64加密",
+ "数据源: 数据管理支持全局过滤、全局排序": "数据源: 数据管理支持全局过滤、全局排序",
+ "画布: 修复vue3部分组件样式异常、图标渲染异常": "画布: 修复vue3部分组件样式异常、图标渲染异常",
+ "画布: 修复空白导航布局下, 页面高度不为100%问题": "画布: 修复空白导航布局下, 页面高度不为100%问题",
+ "表单&数据管理: 修复表单事件源码配置跟预览不一致": "表单&数据管理: 修复表单事件源码配置跟预览不一致",
+ "表单&数据管理: 修复列重复问题": "表单&数据管理: 修复列重复问题",
+ "平台: 平台名称/footer/header区域等信息支持全局配置": "平台: 平台名称/footer/header区域等信息支持全局配置",
+ "表单&数据管理: 表单容器字段默认值支持变量": "表单&数据管理: 表单容器字段默认值支持变量",
+ "画布: 英文模式下,组件属性不展示简易名称displayName": "画布: 英文模式下,组件属性不展示简易名称displayName",
+ "画布: vue3应用bkui组件库,组件属性补充对齐组件库本身": "画布: vue3应用bkui组件库,组件属性补充对齐组件库本身",
+ "数据源: 离开数据管理页面时,给出二次提示": "数据源: 离开数据管理页面时,给出二次提示",
+ "画布: 修复表单容器组件确认、取消按钮无法隐藏问题": "画布: 修复表单容器组件确认、取消按钮无法隐藏问题",
+ "画布: 修复vue3tab组件无法切换tab的问题": "画布: 修复vue3tab组件无法切换tab的问题",
+ "画布: 修复vue3导航的内置padding预览时与画布样式配置不一致问题": "画布: 修复vue3导航的内置padding预览时与画布样式配置不一致问题",
+ "函数: 修复编辑函数需要检验变量时,变量非最新的问题": "函数: 修复编辑函数需要检验变量时,变量非最新的问题",
+ "数据源: 修复预览时需要区分本地数据源跟第三方数据源的问题": "数据源: 修复预览时需要区分本地数据源跟第三方数据源的问题",
+ "数据源: 修复数据源api默认page不为1的问题": "数据源: 修复数据源api默认page不为1的问题",
+ "模板市场: 添加页面模板到应用时,disabled页面模板所属的应用本身": "模板市场: 添加页面模板到应用时,disabled页面模板所属的应用本身"
}
diff --git a/lib/client/src/main.js b/lib/client/src/main.js
index 1ae50da01..59d304b27 100644
--- a/lib/client/src/main.js
+++ b/lib/client/src/main.js
@@ -12,7 +12,6 @@
import Vue from 'vue'
import VueDraggable from 'vuedraggable'
import mavonEditor from 'mavon-editor'
-import VueCompositionAPI from '@vue/composition-api'
import 'mavon-editor/dist/css/index.css'
import '@/common/bkui-vue-complex'
import '@/common/bkmagic'
@@ -56,7 +55,6 @@ Vue.prototype.$td = targetData
Vue.prototype.$IAM_ACTION = IAM_ACTION
Vue.use(mavonEditor)
-Vue.use(VueCompositionAPI)
Vue.component('VueDraggable', VueDraggable)
Vue.component('app-exception', Exception)
@@ -119,9 +117,4 @@ auth.requestCurrentUser().then(user => {
document.write(content)
})
-router.beforeEach((to, from, next) => {
- document.title = window.i18n.t('运维开发平台 | 腾讯蓝鲸智云')
- next()
-})
-
export default Vue
diff --git a/lib/client/src/preview/component.js b/lib/client/src/preview/component.js
index 44f315cf5..6e6a5b5e8 100644
--- a/lib/client/src/preview/component.js
+++ b/lib/client/src/preview/component.js
@@ -9,7 +9,7 @@
* specific language governing permissions and limitations under the License.
*/
import Vue from 'vue'
-import { registerComponent, install, vue3Resource } from 'bk-lesscode-render'
+import { registerComponent, install, vue3Resource, bkuiResource } from 'bk-lesscode-render'
// 注入组件库
import '@/common/bkui-vue-complex'
import '@/common/fully-import'
@@ -25,6 +25,7 @@ import bkCharts from '@/components/render/pc/widget/bk-charts/bk-charts'
import chart from '@/components/render/pc/widget/chart/chart'
import WidgetFormContainer from '@/form-engine/renderer/index'
import WidgetDataManageContainer from '@/components/render/pc/widget/data-manage-container/form-data-manage/preview'
+import WidgetFlowManageContainer from '@/components/render/pc/widget/flow-manage-container/preview'
import processForm from '@/components/flow-form-comp/process-form'
import dataManage from '@/components/flow-form-comp/data-manage'
import BkLuckyCanvas from '@/components/render/pc/widget/bk-lucky-canvas'
@@ -32,7 +33,7 @@ import mavonEditor from 'mavon-editor'
const importVant2 = () => import('@/common/vant')
-const loadCustomComponents = (projectId, versionId, framework) => {
+const loadCustomComponents = (projectId, versionId, framework, platform) => {
return new Promise((resolve, reject) => {
// 注入自定义组件
window.previewCustomCompontensPlugin = []
@@ -42,11 +43,18 @@ const loadCustomComponents = (projectId, versionId, framework) => {
framework === 'vue2' && importVant2() // 为防止Vant2和Vant3的样式冲突,vue2时引入Vant2,否则使用lesscode-render中的Vant3
+ let allCompsFlag = 1
+ // 如果是在列表页预览、不需要加载其它自定义组件
+ const parentPathName = window.parent?.location?.pathname
+ if (parentPathName.endsWith('pages')) {
+ allCompsFlag = 0
+ }
+
const script = document.createElement('script')
- script.src = `/${parseInt(projectId)}/component/preview-register.js?v=${versionId || ''}`
+ script.src = `/${parseInt(projectId)}/component/preview-register.js?allCompsFlag=${allCompsFlag}&platform=${platform}&framework=${framework}&v=${versionId || ''}`
script.onload = () => {
window.previewCustomCompontensPlugin.forEach(callback => {
- const [config, source] = callback(framework === 'vue2' ? Vue : vue3Resource)
+ const [config, source] = callback(framework === 'vue2' ? Vue : vue3Resource, vue3Resource, bkuiResource)
new Promise((resolve) => source(resolve)).then((component) => {
registerComponent(config.type, component)
})
@@ -70,19 +78,23 @@ const registerSysComponents = () => {
registerComponent('processForm', processForm)
registerComponent('dataManage', dataManage)
registerComponent('bk-charts', bkCharts)
+ // 兼容旧echarts配置
registerComponent('chart', chart)
+ // 新echarts配置
+ registerComponent('echarts', chart)
registerComponent('widget-van-picker', widgetVanPicker)
registerComponent('widget-form-container', WidgetFormContainer)
registerComponent('widget-data-manage-container', WidgetDataManageContainer)
+ registerComponent('widget-flow-manage-container', WidgetFlowManageContainer)
registerComponent('bk-lucky-canvas', BkLuckyCanvas)
install(mavonEditor)
resolve()
})
}
-export const registerComponents = (projectId, versionId, framework) => {
+export const registerComponents = (projectId, versionId, framework, platform) => {
return Promise.all([
- loadCustomComponents(projectId, versionId, framework),
+ loadCustomComponents(projectId, versionId, framework, platform),
registerSysComponents()
])
}
diff --git a/lib/client/src/preview/index.js b/lib/client/src/preview/index.js
index ada8c1f32..c89005efd 100644
--- a/lib/client/src/preview/index.js
+++ b/lib/client/src/preview/index.js
@@ -8,8 +8,6 @@
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
-import Vue from 'vue'
-import VueCompositionAPI from '@vue/composition-api'
import pureAxios from '@/api/pureAxios.js'
import {
init as handleInit,
@@ -29,6 +27,8 @@ import {
registerComponents as handleRegisterComponents
} from './component'
import '@vant/touch-emulator' // PC端模拟移动端事件 用于预览
+// 切换语种
+import { getCurLang, changeLang } from '@/locales/i18n.js'
// 设置 未发布请勿分享 的国际化
const previewTipDom = document.getElementById('preview-tip')
@@ -36,7 +36,7 @@ if (previewTipDom) {
previewTipDom.innerHTML = window.i18n.t('未发布
请勿分享')
previewTipDom.setAttribute('style', 'display: block')
}
-document.title = window.i18n.t('运维开发平台 | 腾讯蓝鲸智云')
+document.title = window.i18n.t('运维开发平台 | 蓝鲸智云')
// 解析 url 参数
const location = window.location
@@ -47,8 +47,6 @@ const [, projectId, , versionId = null, , platform] = projectIdReg.exec(location
const query = location.search.match(/pageId=(\d+)/)
const pageId = query?.length > 1 ? query[1] : ''
-Vue.use(VueCompositionAPI)
-
pureAxios
.get('/projectCode/previewCode', {
params: {
@@ -64,10 +62,12 @@ pureAxios
handleUnauth(data)
} else {
handleInit(data.framework)
- await handleRegisterComponents(projectId, versionId, data.framework)
+ await handleRegisterComponents(projectId, versionId, data.framework, (platform || 'PC'))
handleStyle(data.framework)
handleRender(data, projectId, versionId, platform)
addGlobalProperty('$http', pureAxios)
+ addGlobalProperty('$getCurLang', getCurLang)
+ addGlobalProperty('$changeLang', changeLang)
}
})
.catch(handleError)
diff --git a/lib/client/src/preview/store.js b/lib/client/src/preview/store.js
index b656c0c66..c73d2f1c0 100644
--- a/lib/client/src/preview/store.js
+++ b/lib/client/src/preview/store.js
@@ -79,6 +79,12 @@ function getStore (variable, globalData) {
return pureAxios.post('/data/getApiData', postData, { globalError: false }).then(response => {
return response
})
+ },
+ // 创建流程任务
+ createAndExecuteTask ({ state }, flowId) {
+ return pureAxios.post(`/flow/tpl/${flowId}/createAndExecuteTask`).then(response => {
+ return response
+ })
}
}
},
diff --git a/lib/client/src/router/index.js b/lib/client/src/router/index.js
index 7102b82a0..0145d5600 100644
--- a/lib/client/src/router/index.js
+++ b/lib/client/src/router/index.js
@@ -68,21 +68,6 @@ const HealthPage = () => import(/* webpackChunkName: 'health' */'@/views/system/
// 文档
const MainHelpEntry = () => import(/* webpackChunkName: 'help' */'@/views/help')
-const Custom = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/custom.md')
-const Grid = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/grid.md')
-const LayoutGuide = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/layout.md')
-const Intro = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/intro.md')
-const Start = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/start.md')
-const Develop = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/develop.md')
-const TableSearch = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/case-table-search.md')
-const Method = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/method.md')
-const Variable = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/variable.md')
-const Directive = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/directive.md')
-const FreeLayoutDoc = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/free-layout.md')
-const TemplateProject = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/template-project.md')
-const TemplatePage = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/template-page.md')
-const Interactive = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/interactive.md')
-const Courses = () => import(/* webpackChunkName: 'help' */'@/views/help/docs/courses.md')
// 数据源管理
const DataSourceHome = () => import(/* webpackChunkName: 'DataSource' */'@/views/project/data-source-manage/data-table/index.vue')
@@ -102,37 +87,19 @@ const OperationStatsFunc = () => import(/* webpackChunkName: 'operation-stats' *
const OperationStatsComp = () => import(/* webpackChunkName: 'operation-stats' */'@/views/system/operation/stats/comp/index.vue')
// 流程管理
-const FlowManage = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/index.vue')
-const FlowList = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/list/flow-list.vue')
-const FlowArchivedList = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/list/archived-list.vue')
-const FlowEdit = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/edit/index.vue')
-const FlowConfig = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/edit/flow-config.vue')
-const FlowAdvancedConfig = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/edit/advanced-config.vue')
-const CreateTicketPageEdit = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/create-ticket-page-edit/index.vue')
+const FlowManage = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage-old/index.vue')
+const FlowList = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage-old/list/flow-list.vue')
+const FlowArchivedList = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage-old/list/archived-list.vue')
+const FlowEdit = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage-old/edit/index.vue')
+const FlowConfig = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage-old/edit/flow-config.vue')
+const FlowAdvancedConfig = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage-old/edit/advanced-config.vue')
+const CreateTicketPageEdit = () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage-old/create-ticket-page-edit/index.vue')
const routes = [
{
- path: '/help',
+ path: '/help/:docName?',
name: 'help',
- component: MainHelpEntry,
- children: [
- { path: 'custom', name: 'custom', component: Custom },
- { path: 'grid', name: 'grid', component: Grid },
- { path: 'grid', name: '', component: Grid },
- { path: 'layout', name: 'layout-guide', component: LayoutGuide },
- { path: 'intro', name: 'intro', component: Intro, alias: '' },
- { path: 'start', name: 'start', component: Start },
- { path: 'develop', name: 'develop', component: Develop },
- { path: 'case-table-search', name: 'table-search', component: TableSearch },
- { path: 'method', name: 'method', component: Method },
- { path: 'variable', name: 'variable', component: Variable },
- { path: 'directive', name: 'directive', component: Directive },
- { path: 'template-project', name: 'template-project', component: TemplateProject },
- { path: 'template-page', name: 'template-page', component: TemplatePage },
- { path: 'free-layout', name: 'freeLayout', component: FreeLayoutDoc },
- { path: 'interactive', name: 'interactive', component: Interactive },
- { path: 'courses', name: 'courses', component: Courses }
- ]
+ component: MainHelpEntry
},
{
path: '/checkHealth',
@@ -371,7 +338,7 @@ const routes = [
}
},
{
- path: 'flow',
+ path: 'flow-old',
component: FlowManage,
redirect: { name: 'flowList' },
meta: {
@@ -416,6 +383,46 @@ const routes = [
}
]
},
+ {
+ path: 'flow',
+ component: () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/index.vue'),
+ redirect: { name: 'flowTplList' },
+ meta: {
+ title: '流程管理'
+ },
+ children: [
+ {
+ path: '',
+ name: 'flowTplList',
+ component: () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/tpl-list/index.vue')
+ },
+ {
+ path: 'archived',
+ name: 'flowTplArchivedList',
+ component: () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/tpl-list/archived-list.vue')
+ },
+ {
+ path: ':tplId', // 流程模板编辑页
+ name: 'flowTplEdit',
+ component: () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/tpl-edit/index.vue'),
+ redirect: { name: 'flowTplCanvas' },
+ children: [
+ // 流程模板画布编辑
+ {
+ path: '',
+ name: 'flowTplCanvas',
+ component: () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/tpl-edit/canvas/index.vue')
+ },
+ // 流程模板配置
+ {
+ path: 'config',
+ name: 'flowTplConfig',
+ component: () => import(/* webpackChunkName: 'flow' */'@/views/project/flow-manage/tpl-edit/config/index.vue')
+ }
+ ]
+ }
+ ]
+ },
{
path: 'release',
name: 'release',
@@ -429,7 +436,7 @@ const routes = [
name: 'routes',
component: RouterManage,
meta: {
- title: '路由配置'
+ title: '路由链接配置'
}
},
{
diff --git a/lib/client/src/store/index.js b/lib/client/src/store/index.js
index 6dbd1d693..0f688b9e8 100644
--- a/lib/client/src/store/index.js
+++ b/lib/client/src/store/index.js
@@ -21,19 +21,19 @@ import functions from './modules/functions'
import variable from './modules/variable'
import route from './modules/route'
import pageTemplate from './modules/page-template'
-import projectCode from './modules/project-code'
import release from './modules/release'
import saasBackend from './modules/saas-backend'
import resourceLock from './modules/resource-lock'
import layout from './modules/layout'
import member from './modules/member'
import form from './modules/nocode/form'
-import flow from './modules/nocode/flow'
+import flow from './modules/flow'
import logs from './modules/logs'
import iconManage from './modules/icon-manage'
import functionMarket from './modules/function-market'
import projectVersion from './modules/project-version'
import dataSource from './modules/data-source'
+import platformConfig from './modules/platform-config'
import api from './modules/api'
import iam from './modules/iam'
import ai from './modules/ai'
@@ -65,7 +65,6 @@ export const storeConfig = {
variable,
route,
pageTemplate,
- projectCode,
release,
saasBackend,
resourceLock,
@@ -78,6 +77,7 @@ export const storeConfig = {
functionMarket,
projectVersion,
dataSource,
+ platformConfig,
api,
nocode,
file,
@@ -237,8 +237,19 @@ export const storeConfig = {
} catch (error) {
targetData = []
}
+ const topMenuList = curTemplateData.topMenuList
+ // 如果是复合导航, 需要把侧边导航拖拽区域的数据保存到topmenu中
+ if (curTemplateData.layoutType === 'complex') {
+ const lcSideCustomConMap = LC.getSideNavCustomConsMap()
+ topMenuList.forEach(menu => {
+ if (lcSideCustomConMap[menu.id]) {
+ menu.sideCustomCon = lcSideCustomConMap[menu.id] || {}
+ }
+ })
+ }
curTemplateData = {
...curTemplateData,
+ topMenuList,
customMenuCon: LC.getNavCustomCon()?.renderSlots?.default || []
}
const funcGroups = JSON.parse(circleJSON(state.functions.funcGroups || []))
diff --git a/lib/client/src/store/modules/data-source.js b/lib/client/src/store/modules/data-source.js
index ddb2a0772..547d6e9f3 100644
--- a/lib/client/src/store/modules/data-source.js
+++ b/lib/client/src/store/modules/data-source.js
@@ -10,6 +10,9 @@
*/
import http from '@/api'
+import {
+ encodeBase64
+} from 'shared/util'
const perfix = 'data-source'
export default {
@@ -66,6 +69,8 @@ export default {
})
},
modifyOnlineDb (_, data) {
+ // sql 处理
+ data.sql = encodeBase64(data.sql)
return http.put(`${perfix}/modifyOnlineDb`, data, { globalError: false }).then(response => {
const data = response.data || []
return data
diff --git a/lib/client/src/store/modules/flow/index.js b/lib/client/src/store/modules/flow/index.js
new file mode 100644
index 000000000..7db3e1a0b
--- /dev/null
+++ b/lib/client/src/store/modules/flow/index.js
@@ -0,0 +1,10 @@
+import tpl from './tpl.js'
+import task from './task.js'
+
+export default {
+ namespaced: true,
+ modules: {
+ tpl,
+ task
+ }
+}
diff --git a/lib/client/src/store/modules/flow/task.js b/lib/client/src/store/modules/flow/task.js
new file mode 100644
index 000000000..3a49db527
--- /dev/null
+++ b/lib/client/src/store/modules/flow/task.js
@@ -0,0 +1,50 @@
+/**
+ * Tencent is pleased to support the open source community by making 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
+ * Copyright (C) 2017-2024 THL A29 Limited, a Tencent company. All rights reserved.
+ * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://opensource.org/licenses/MIT
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+import http from '@/api'
+
+const prefix = '/flow'
+
+export default {
+ namespaced: true,
+ state: {},
+ mutations: {},
+ getters: {},
+ actions: {
+ // 通过流程模板id获取任务列表
+ getTaskListByTpl ({ state }, { id, query }) {
+ return http.get(`${prefix}/tpl/${id}/task/list`, { params: query }).then(response => response.data)
+ },
+ // 创建流程任务
+ createAndExecuteTask ({ state }, id) {
+ return http.post(`/flow/tpl/${id}/createAndExecuteTask`).then(response => {
+ return response
+ })
+ },
+ // 任务详情
+ getTaskDetail ({ state }, id) {
+ return http.get(`/flow/task/${id}/detail`).then(response => {
+ return response
+ })
+ },
+ // 任务执行各节点状态
+ getTaskStatusDetail ({ state }, id) {
+ return http.get(`/flow/task/${id}/states`).then(response => {
+ return response
+ })
+ },
+ // 人工节点提交表单数据
+ submitExecuteManualNode ({ state }, { id, nodeId, data }) {
+ return http.post(`/flow/task/${id}/manual_node/${nodeId}/submit/`, data).then(response => {
+ return response
+ })
+ }
+ }
+}
diff --git a/lib/client/src/store/modules/flow/tpl.js b/lib/client/src/store/modules/flow/tpl.js
new file mode 100644
index 000000000..4a7e1f378
--- /dev/null
+++ b/lib/client/src/store/modules/flow/tpl.js
@@ -0,0 +1,66 @@
+/**
+ * Tencent is pleased to support the open source community by making 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
+ * Copyright (C) 2017-2019 THL A29 Limited, a Tencent company. All rights reserved.
+ * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://opensource.org/licenses/MIT
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+import http from '@/api'
+
+const prefix = '/flow'
+
+export default {
+ namespaced: true,
+ state: {},
+ mutations: {},
+ getters: {},
+ actions: {
+ // 获取项目下流程列表
+ getTplList ({ state }, params) {
+ return http.get(`${prefix}/tpl`, { params }).then(response => response.data)
+ },
+ // 创建流程
+ createFlowTpl ({ state }, params) {
+ return http.post(`${prefix}/tpl`, params).then(response => response.data)
+ },
+ // 编辑流程信息
+ updateFlowTpl ({ state }, params) {
+ return http.put(`${prefix}/tpl/${params.id}`, params).then(response => response.data)
+ },
+ // 获取流程详情
+ getTplDetail ({ state }, id) {
+ return http.get(`${prefix}/tpl/${id}`).then(response => response.data)
+ },
+ // 归档/恢复
+ archiveFlowTpl ({ state }, params) {
+ return http.put(`${prefix}/archive`, params).then(response => response.data)
+ },
+ // 部署流程
+ updateDeployStatus ({ state }, { id, deployed }) {
+ return http.post(`${prefix}/tpl/${id}/updateDeployStatus`, { deployed }).then(response => response.data)
+ },
+ // 新增节点
+ createNode ({ state }, { id, data }) {
+ return http.post(`${prefix}/tpl/${id}/node`, { data }).then(response => response.data)
+ },
+ // 更新节点
+ updateNode ({ state }, { id, data }) {
+ return http.put(`${prefix}/tpl/${id}/node/${data.id}`, { data }).then(response => response.data)
+ },
+ // 删除节点
+ deleteNode ({ state }, { id, nodeId }) {
+ return http.delete(`${prefix}/tpl/${id}/node/${nodeId}`).then(response => response.data)
+ },
+ // 新增边
+ createEdge ({ state }, { id, data }) {
+ return http.post(`${prefix}/tpl/${id}/edge`, { data }).then(response => response.data)
+ },
+ // 批量删除边
+ deleteEdge ({ state }, { id, edgeId }) {
+ return http.delete(`${prefix}/tpl/${id}/edge/${edgeId}`).then(response => response.data)
+ }
+ }
+}
diff --git a/lib/client/src/store/modules/layout.js b/lib/client/src/store/modules/layout.js
index 2c4d7be6d..11f6440e5 100644
--- a/lib/client/src/store/modules/layout.js
+++ b/lib/client/src/store/modules/layout.js
@@ -51,7 +51,7 @@ export default {
})
},
getPageLayout ({ commit }, { pageId }) {
- return http.get(`/layout/page?id=${pageId}`).then(response => {
+ return http.get(`/layout/page?pageId=${pageId}`).then(response => {
const data = response.data
commit('setPageLayout', data)
return data
diff --git a/lib/client/src/store/modules/logs.js b/lib/client/src/store/modules/logs.js
index 0259a971c..8a6d26db4 100644
--- a/lib/client/src/store/modules/logs.js
+++ b/lib/client/src/store/modules/logs.js
@@ -55,8 +55,8 @@ export default {
mutations: {
},
actions: {
- getList ({ commit }, { projectId, config }) {
- return http.get(`/logs/list/${projectId}`, config).then(response => {
+ getList ({ commit }, { config }) {
+ return http.get('/logs/list', config).then(response => {
const data = response.data || ''
return data
})
diff --git a/lib/client/src/store/modules/nocode/flow.js b/lib/client/src/store/modules/nocode/flow.js
index 3795bbde0..3984a75e9 100644
--- a/lib/client/src/store/modules/nocode/flow.js
+++ b/lib/client/src/store/modules/nocode/flow.js
@@ -9,7 +9,7 @@
* specific language governing permissions and limitations under the License.
*/
import http from '@/api'
-import { transWebhookToNodeType, transNodeTypeToWebhook } from '@/views/project/flow-manage/node-utils.js'
+import { transWebhookToNodeType, transNodeTypeToWebhook } from '@/views/project/flow-manage-old/node-utils.js'
const prefix = '/nocode'
diff --git a/lib/client/src/store/modules/page-template.js b/lib/client/src/store/modules/page-template.js
index 6254e8f0a..6da807398 100644
--- a/lib/client/src/store/modules/page-template.js
+++ b/lib/client/src/store/modules/page-template.js
@@ -72,7 +72,7 @@ export default {
})
},
delete ({ commit }, { templateId }) {
- return http.delete(`/pageTemplate/delete?templateId=${templateId}`).then(response => {
+ return http.delete(`/pageTemplate/delete?id=${templateId}`).then(response => {
const data = response.data || ''
return data
})
diff --git a/lib/client/src/store/modules/page.js b/lib/client/src/store/modules/page.js
index 7bde02289..8f21ab403 100644
--- a/lib/client/src/store/modules/page.js
+++ b/lib/client/src/store/modules/page.js
@@ -105,12 +105,14 @@ export default {
})
},
update ({ commit }, { data = {} }) {
+ data.pageId = data?.pageData?.id
return http.put('/page/update', data).then(response => {
const data = response.data || ''
return data
})
},
copy ({ commit }, { data = {} }) {
+ data.pageId = data?.pageData?.id
return http.post('/page/copy', data).then(response => {
const data = response.data || ''
return data
diff --git a/lib/client/src/store/modules/platform-config.js b/lib/client/src/store/modules/platform-config.js
new file mode 100644
index 000000000..cdaa7eeda
--- /dev/null
+++ b/lib/client/src/store/modules/platform-config.js
@@ -0,0 +1,67 @@
+/**
+ * Tencent is pleased to support the open source community by making 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
+ * Copyright (C) 2017-2019 THL A29 Limited, a Tencent company. All rights reserved.
+ * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://opensource.org/licenses/MIT
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+export default {
+ namespaced: true,
+ state: {
+ defaultConfig: {
+ name: '运维开发平台', // 网页title
+ nameEn: 'LessCode',
+ productName: '蓝鲸运维开发平台', // 站点的名称,通常显示在页面左上角
+ productNameEn: 'BK LessCode',
+ brandName: '蓝鲸智云',
+ brandNameEn: 'Tencent BlueKing',
+ appLogo: '/static/images/logo.png', // 站点logo
+ favicon: '/static/images/favion.png', // 站点favicon
+ version: ''
+ },
+ platformConfig: {
+ bkAppCode: '', // appcode
+ name: '', // 站点的名称,通常显示在页面左上角,也会出现在网页title中
+ nameEn: '', // 站点的名称-英文
+ appLogo: '', // 站点logo
+ favicon: '', // 站点favicon
+ helperText: '',
+ helperTextEn: '',
+ helperLink: '',
+ brandImg: '',
+ brandImgEn: '',
+ brandName: '', // 品牌名,会用于拼接在站点名称后面显示在网页title中
+ favIcon: '',
+ brandNameEn: '', // 品牌名-英文
+ footerInfo: '', // 页脚的内容,仅支持 a 的 markdown 内容格式
+ footerInfoEn: '', // 页脚的内容-英文
+ footerCopyright: '', // 版本信息,包含 version 变量,展示在页脚内容下方
+
+ footerInfoHTML: '',
+ footerInfoHTMLEn: '',
+ footerCopyrightContent: '',
+
+ // 需要国际化的字段,根据当前语言cookie自动匹配,页面中应该优先使用这里的字段
+ i18n: {
+ name: '',
+ helperText: '...',
+ brandImg: '...',
+ brandName: '...',
+ footerInfoHTML: '...'
+ }
+ }
+ },
+ getters: {
+ defaultConfig: state => state.defaultConfig,
+ platformConfig: state => state.platformConfig
+ },
+ mutations: {
+ update (state, value) {
+ Object.assign(state.platformConfig, value)
+ }
+ }
+}
diff --git a/lib/client/src/store/modules/project.js b/lib/client/src/store/modules/project.js
index 663a7d00b..b3f387ccd 100644
--- a/lib/client/src/store/modules/project.js
+++ b/lib/client/src/store/modules/project.js
@@ -78,7 +78,7 @@ export default {
})
},
detail ({ commit }, { projectId }) {
- return http.get(`/project/detail?projectId=${projectId}`).then(response => {
+ return http.get(`/project/detail?id=${projectId}`).then(response => {
const data = response.data || ''
return data
})
diff --git a/lib/client/src/store/modules/render.js b/lib/client/src/store/modules/render.js
deleted file mode 100644
index 7db032f3b..000000000
--- a/lib/client/src/store/modules/render.js
+++ /dev/null
@@ -1,171 +0,0 @@
-/**
- * Tencent is pleased to support the open source community by making 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
- * Copyright (C) 2017-2019 THL A29 Limited, a Tencent company. All rights reserved.
- * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://opensource.org/licenses/MIT
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- */
-
-import Store from '@/store'
-
-export default {
- namespaced: true,
- state: {
- projectId: '',
- pageId: '',
- projectDetail: {},
- projectRoute: {},
- projectRouteGroup: {},
- projectLayoutList: [],
- projectPageList: [],
- projectFuntionGroup: [],
- pageDetail: {},
- pageLayout: {},
- pageVariableList: [],
- pageSetting: {},
- pageRoute: {},
- customComponentNameMap: {},
- curTemplateData: {}
- },
- mutations: {
- setProjectId (state, projectId) {
- state.projectId = projectId
- },
- setPageId (state, pageId) {
- state.pageId = pageId
- },
- setProjectDetail (state, projectDetail) {
- state.projectDetail = Object.freeze(projectDetail)
- },
- setProjectRoute (state, projectRoute) {
- state.projectRoute = Object.freeze(projectRoute)
- },
- setProjectRouteGroup (state, projectRouteGroup) {
- state.projectRouteGroup = Object.freeze(projectRouteGroup)
- },
- setProjectLayoutList (state, projectLayoutList) {
- state.projectLayoutList = Object.freeze(projectLayoutList)
- },
- setPageVariableList (state, pageVariableList) {
- state.pageVariableList = Object.freeze(pageVariableList)
- },
- setProjectFunctionGroup (state, projectFuntionGroup) {
- state.projectFuntionGroup = Object.freeze(projectFuntionGroup)
- },
- setPageDetail (state, pageDetail) {
- state.pageDetail = Object.freeze(pageDetail)
- },
- setProjectPageList (state, projectPageList) {
- state.projectPageList = Object.freeze(projectPageList)
- },
- setPageRoute (state, pageRoute) {
- state.pageRoute = Object.freeze(pageRoute)
- },
- setPageLayout (state, pageLayout) {
- state.pageLayout = Object.freeze(pageLayout)
- },
- setCustomComponentNameMap (state, customComponentNameMap) {
- state.customComponentNameMap = Object.freeze(customComponentNameMap)
- },
- setcurTemplateData (state, curTemplateData) {
- state.curTemplateData = Object.freeze(curTemplateData)
- }
- },
- actions: {
- // 应用详情
- getProjectDetail ({ commit, state }) {
- return Store.dispatch('project/detail', {
- projectId: state.projectId
- }).then(data => {
- commit('setProjectDetail', data)
- })
- },
- // 应用完整路由配置
- getProjectRouteGroup ({ commit, state }) {
- return Store.dispatch('project/detail', {
- projectId: state.projectId
- }).then(data => {
- commit('setProjectRouteGroup', data)
- })
- },
- // 应用下的完整函数数据
- getProjectFuntionGroup ({ commit, state }) {
- return Store.dispatch('functions/getAllGroupAndFunction', state.projectId)
- .then(data => {
- commit('setProjectFunctionGroup', data)
- })
- },
- // 应用下的完整布局列表
- getProjectLayoutList ({ commit, state }) {
- return Store.dispatch('layout/getList', {
- projectId: state.projectId
- }, { root: true })
- .then(data => {
- commit('setProjectLayoutList', data.map(item => ({
- ...item,
- defaultName: item.showName || item.defaultName
- })))
- })
- },
- // 应用下的所有页面
- getProjectPageList ({ commit, state }) {
- return Store.dispatch('page/getList', {
- projectId: state.projectId
- }).then(data => {
- commit('setProjectPageList', data)
- })
- },
- // 页面详情
- getPageDetail ({ commit, state }) {
- return Store.dispatch('page/detail', {
- pageId: state.pageId
- }).then(data => {
- commit('setPageDetail', data)
- })
- },
- // 当前页面路由配置
- getPageRoute ({ commit, state }) {
- return Store.dispatch('route/getProjectPageRoute', {
- projectId: state.projectId
- }).then(data => {
- commit('setProjectRoute', data)
- })
- },
- // 当前页面路由配置
- getPageLayout ({ commit, state }) {
- return Store.dispatch('layout/getPageLayout', {
- pageId: state.pageId
- }).then(data => {
- commit('setPageLayout', data)
- })
- },
-
- // 自定义组件name
- getCustomComponentNameMap ({ commit }) {
- return Store.dispatch('components/componentNameMap')
- .then(data => {
- commit('setCustomComponentNameMap', data)
- })
- },
-
- // 页面变量
- getPageVariableList ({ commit, state }) {
- return Store.dispatch('variable/getAllVariable', {
- projectId: state.projectId,
- pageCode: state.pageDetail.pageCode,
- effectiveRange: 0
- }).then(data => {
- commit('setPageVariableList', data)
- })
- },
- // 页面编辑状态
- getPageLockStatus ({ state }) {
- return Store.dispatch('page/pageLockStatus', {
- pageId: state.pageId
- })
- }
- }
-}
diff --git a/lib/client/src/store/modules/resource-lock.js b/lib/client/src/store/modules/resource-lock.js
index 4a55a9f8c..df76eea29 100644
--- a/lib/client/src/store/modules/resource-lock.js
+++ b/lib/client/src/store/modules/resource-lock.js
@@ -10,23 +10,23 @@ export default {
},
actions: {
getLockStatus ({ rootGetters }, params) {
- return http.post(`/projects/${rootGetters['projectId']}/resourceLock/lockStatus`, params).then(response => {
+ return http.post('/resourceLock/lockStatus', params).then(response => {
const data = response.data || ''
return data
})
},
updateLockInfo ({ rootGetters }, params) {
- return http.put(`/projects/${rootGetters['projectId']}/resourceLock/updateLockInfo`, params).then(response => {
+ return http.put('/resourceLock/updateLockInfo', params).then(response => {
return response.data || ''
})
},
occupy ({ rootGetters }, params) {
- return http.post(`/projects/${rootGetters['projectId']}/resourceLock/occupy`, params).then(response => {
+ return http.post('/resourceLock/occupy', params).then(response => {
return response.data || ''
})
},
release ({ rootGetters }, params) {
- return http.post(`/projects/${rootGetters['projectId']}/resourceLock/release`, params).then(response => {
+ return http.post('/resourceLock/release', params).then(response => {
return response.data || ''
})
}
diff --git a/lib/client/src/store/modules/route.js b/lib/client/src/store/modules/route.js
index 403f5cc17..00891ecdf 100644
--- a/lib/client/src/store/modules/route.js
+++ b/lib/client/src/store/modules/route.js
@@ -43,14 +43,14 @@ export default {
})
},
find ({ commit }, { pageId, config }) {
- return http.get(`/route/page/${pageId}`, config).then(response => {
+ return http.get(`/route/get-page-route/${pageId}`, config).then(response => {
const data = response.data || ''
return data
})
},
save ({ commit }, { data, config }) {
const pageId = (!data.pageId || data.pageId === -1) ? '' : data.pageId
- return http.put(`/route/page/${pageId}`, data, config).then(response => {
+ return http.put(`/route/save-page-route/${pageId}`, data, config).then(response => {
const data = response.data || ''
return data
})
@@ -62,7 +62,7 @@ export default {
})
},
updatePageRoute ({ commit }, { data, config }) {
- return http.post(`/route/page-route/${data.pageId}`, data, config).then(response => {
+ return http.post(`/route/update-page-route/${data.pageId}`, data, config).then(response => {
const data = response.data || ''
return data
})
@@ -74,7 +74,7 @@ export default {
})
},
bind ({ commit }, { data, config }) {
- return http.post('/route/bind', data, config).then(response => {
+ return http.post('/route/bind-page-route', data, config).then(response => {
const data = response.data || ''
return data
})
diff --git a/lib/client/src/store/modules/saas-backend.js b/lib/client/src/store/modules/saas-backend.js
index 713657da3..acc5ba351 100644
--- a/lib/client/src/store/modules/saas-backend.js
+++ b/lib/client/src/store/modules/saas-backend.js
@@ -9,6 +9,7 @@ export default {
currentNode: {},
needUpdate: false,
isExecuting: false,
+ isCanvasLocked: false,
saasBuilderList: [],
schemaApiList: []
},
@@ -34,67 +35,67 @@ export default {
})
},
checkSaasPerm ({ rootGetters }, params) {
- return http.post(`/projects/${rootGetters['projectId']}/saas-backend/checkSaasPerm`, params).then(response => {
+ return http.post('/saas-backend/checkSaasPerm', params).then(response => {
const data = response.data
return data
})
},
getModuleList ({ rootGetters }, projectId) {
- return http.get(`/projects/${rootGetters['projectId']}/saas-backend/getModuleList?projectId=${projectId}`).then(response => {
+ return http.get('/saas-backend/getModuleList').then(response => {
const data = response.data
return data
})
},
createModule ({ rootGetters }, params) {
- return http.post(`/projects/${rootGetters['projectId']}/saas-backend/createModule`, params).then(response => {
+ return http.post('/saas-backend/createModule', params).then(response => {
const data = response.data
return data
})
},
getStoryList ({ rootGetters }, moduleId) {
- return http.get(`/projects/${rootGetters['projectId']}/saas-module-story/getStoryList?&moduleId=${moduleId}`).then(response => {
+ return http.get(`/saas-module-story/getStoryList?&moduleId=${moduleId}`).then(response => {
const data = response.data
return data
})
},
createModuleStory ({ rootGetters }, params) {
- return http.post(`/projects/${rootGetters['projectId']}/saas-module-story/createStory`, params).then(response => {
+ return http.post('/saas-module-story/createStory', params).then(response => {
const data = response.data
return data
})
},
patchModuleStory ({ rootGetters }, params) {
- return http.post(`/projects/${rootGetters['projectId']}/saas-module-story/patchStory`, params).then(response => {
+ return http.post('/saas-module-story/patchStory', params).then(response => {
const data = response.data
return data
})
},
execModuleStory ({ rootGetters }, params) {
- return http.post(`/projects/${rootGetters['projectId']}/saas-module-story/execStory`, params).then(response => {
+ return http.post('/saas-module-story/execStory', params).then(response => {
const data = response.data
return data
})
},
updateModuleStory ({ rootGetters }, params) {
- return http.put(`/projects/${rootGetters['projectId']}/saas-module-story/updateStory`, params).then(response => {
+ return http.put('/saas-module-story/updateStory', params).then(response => {
const data = response.data
return data
})
},
getSaasBuilderDetail ({ rootGetters }, uuid) {
- return http.get(`/projects/${rootGetters['projectId']}/saas-module-story/getBuilderDetail?uuid=${uuid}`).then(response => {
+ return http.get(`/saas-module-story/getBuilderDetail?uuid=${uuid}`).then(response => {
const data = response.data
return data
})
},
getSaasApiDoc ({ rootGetters }, params) {
- return http.get(`/projects/${rootGetters['projectId']}/saas-module-story/getBuilderApiDoc?appName=${params.appName}`).then(response => {
+ return http.get(`/saas-module-story/getBuilderApiDoc?schemaUrl=${params.schemaUrl}`).then(response => {
const data = response.data
return data
})
},
updateSchemaApiList ({ rootGetters, commit }, params) {
- return http.get(`/projects/${rootGetters['projectId']}/saas-module-story/getBuilderApiDoc?appName=${params.appName}&type=API_DETAIL`).then(response => {
+ return http.get(`/saas-module-story/getBuilderApiDoc?schemaUrl=${params.schemaUrl}&type=API_DETAIL`).then(response => {
const data = response.data
commit('setStateProperty', {
key: 'schemaApiList',
diff --git a/lib/client/src/store/modules/vue-code.js b/lib/client/src/store/modules/vue-code.js
index 2a06f24e2..2d08c5373 100644
--- a/lib/client/src/store/modules/vue-code.js
+++ b/lib/client/src/store/modules/vue-code.js
@@ -25,12 +25,6 @@ export default {
getters: {
},
actions: {
- saveVueFile ({ state }, { code }) {
- return http.post('/vueCode/saveAsFile', { code }).then(response => {
- const data = response.data || ''
- return data
- })
- },
formatCode ({ state }, { code }) {
return http.post('/vueCode/formatCode', { code }).then(response => {
const data = response.data || {}
diff --git a/lib/client/src/views/edit-nocode/components/header-operate/save.vue b/lib/client/src/views/edit-nocode/components/header-operate/save.vue
index 8f9fd8cd7..f02a2bbb1 100644
--- a/lib/client/src/views/edit-nocode/components/header-operate/save.vue
+++ b/lib/client/src/views/edit-nocode/components/header-operate/save.vue
@@ -3,7 +3,8 @@
v-bk-tooltips="{
disabled: !tips,
content: tips,
- placement: 'bottom'
+ placement: 'bottom',
+ allowHTML: false
}">
-
-### 初次拖入组件到自由布局中,默认放置在自由布局的左上角
-
-
-
-
-
-### 自由布局里的组件可以随意的拖动,拖动的过程中,组件和组件之间会有黄色辅助线,同时会有 3px 的吸附效果,帮助你方便的对齐组件
-
-
-
-
-
-### 自由布局与栅格布局的关系
-
-可视化的画布支持三种类型,栅格布局、自由布局和普通组件,他们之间关系是
-
-- 自由布局中只能放入普通组件,不能放入栅格布局和自由布局
-- 自由布局里的普通组件不能拖入到栅格布局中,也不能拖到另外的自由布局中
-- 栅格布局中可以放入栅格布局、自由布局和普通组件
-- 栅格布局里的普通组件可以拖入到另外的自由布局以及另外的栅格布局中
-- 栅格布局里的栅格布局和自由布局不能拖入到另外的自由布局以及另外的栅格布局中
diff --git a/lib/client/src/views/help/docs/grid.md b/lib/client/src/views/help/docs/grid.md
deleted file mode 100644
index 25b5168ee..000000000
--- a/lib/client/src/views/help/docs/grid.md
+++ /dev/null
@@ -1,17 +0,0 @@
-## 布局 - 栅格布局
-
-:::info
-可视化布局支持栅格布局和自由布局,这里介绍栅格布局
-:::
-
-### 栅格布局有单格、两格、三格、四格组件可快速拖动生成页面布局
-
-
-
-### 每个栅格组件都可以增加列数,最多 12 列。我们建议在拖拽布局时采用 12 等分或 24 等分的原则进行规划
-
-
-
-### 你也可以通过修改尺寸、外边距等样式来实现更加灵活的布局
-
-
diff --git a/lib/client/src/views/help/docs/layout.md b/lib/client/src/views/help/docs/layout.md
deleted file mode 100644
index e02ec31eb..000000000
--- a/lib/client/src/views/help/docs/layout.md
+++ /dev/null
@@ -1,64 +0,0 @@
-## 导航布局使用指引
-
-### 1. 概念
-
-导航布局是用来将具有相同布局(导航)的页面收纳在一起的方式,这样页面间就可以复用同一个布局,同时布局的路由也将成为页面的共同父路由。
-
-### 2. 添加导航布局
-
-:::info 共2种方式添加一个布局到应用
-系统目前共提供了 5 种布局,分别是“空白布局”、“侧边导航布局”、“横向型导航布局”、“复合型导航布局”、“移动端底部导航布局”。
-:::
-
-#### 2.1 在新建应用时添加
-
-
-
-- 其中,“空白布局”为系统默认布局,自动勾选且不能取消。
-- 如果添加时未选择其它导航布局,可创建应用后,到“导航布局管理”功能页中添加。
-
-
-#### 2.2 在导航布局管理中添加
-
-
-
-- 进入“导航布局管理”页面,新建导航布局
-:::tip
-路由:最终所属布局的页面访问路由为“布局路由/页面路由”
-:::
-
-
-
-- 新建成功后,可看到应用中所有的导航布局。
-
-### 3. 应用导航布局
-
-:::info 完成导航布局添加后,在添加页面时即可应用添加的导航布局到页面
-多个页面使用同一个布局,则可达到复用布局的效果。布局配置在所有页面间生效,同时页面拥有共同的父路由即布局的路由。
-:::
-
-
-
-- 新建页面时选择导航布局,可选择的模板为应用中所添加的所有模板。
-
-### 4. 配置导航布局
-
-:::info 页面应用了模板后,进入到页面编辑页,在画布中可看见模板内容,同时可以对提供的配置项进行设置
-如使用的空白布局则无模板内容可见,画布中可视的即为页面内容。目前可提供的配置包括:站点名称、Logo和导航。
-:::
-
-
-
-- 示例图中使用的是“侧边导航布局”,正在对布局导航进入设置。其中,中间区域为页面内容编辑区。
-
-### 5. 更多
-
-#### 5.1 修改页面导航布局
-
-- 进入页面编辑页在“页面配置”中进行修改
-
-#### 5.2 修改导航布局实例名称和ID
-
-- 进入“导航布局管理”页找到需要修改的模板
-
-
diff --git a/lib/client/src/views/help/docs/method.md b/lib/client/src/views/help/docs/method.md
deleted file mode 100644
index cb967b0d9..000000000
--- a/lib/client/src/views/help/docs/method.md
+++ /dev/null
@@ -1,120 +0,0 @@
-## 函数使用指引
----
-蓝鲸运维开发平台中:可以由用户自行编写函数,并在页面中使用函数。通过使用函数,可以完成以下需求:
-* 编写空白函数:使用 js 语法编写代码,可以发起 ajax 请求,获取接口数据,然后进行功能逻辑处理
-* 编写远程函数:通过后台转发的形式,发起 ajax 请求,转发的请求可以通过配置的方式来携带更多的数据
-* 函数配合组件事件:在组件事件触发的时候,执行相应的函数,来完成相关应用功能
-* 函数配合页面生命周期:在页面管理 tab 下,配置生命周期用到的函数,在函数中进行相关功能逻辑处理
-* 函数配合指令:组件的指令配置页面,可以配置属性的指令变量名,然后在函数中,使用或者修改属性值
-* 函数绑定组件数据源:在组件的部分属性中,可以通过绑定远程数据源来设置初始化数据
-* 函数中调用函数,调用其他组件:编写函数时,可以通过编辑器自动补全功能使用函数,也可以通过 js 调用组件库组件
-
-### 函数管理入口
----
-#### 函数管理页面路径:
-应用开发(选择应用)-> 资源管理 -> 函数管理
-#### 函数管理页使用:
-* 搜索和选择函数分类。函数分类主要用于将应用中的函数进行归类,方便后续查找和管理函数
-* 可以通过拖拽的方式对函数分类排序,方便管理函数
-* 可以新增、搜索、修改、删除和复制函数,管理当前应用下的所有函数
-
-### 函数管理弹窗
----
-#### 函数管理弹窗打开方式:
-应用页面 -> 画布编辑 -> 函数管理弹窗
-#### 函数管理弹窗使用:
-* 可以对函数进行删除、新增和复制操作
-* 编辑相关函数内容
-
-### 函数类型介绍
----
-蓝鲸运维开发平台目前提供了空白函数和远程函数两种函数类型,以便应用开发使用。后续将会添加更多的函数类型,敬请期待
-#### 空白函数:
-* 空白函数:函数内容完全由用户编写,用于页面组件属性配置和事件绑定
-* 函数用于页面组件属性时:函数必须有返回值,该返回值将会赋值给组件属性
-* 函数用于组件或页面事件时:函数将在事件触发时执行
-* 可以使用 “lesscode.变量标识” 唤起自动补全功能,必须通过编辑器自动补全功能选择对应变量,来获取或者修改变量值
-* 可以使用 “lesscode.函数名称” 唤起自动补全功能,必须通过编辑器自动补全功能选择对应函数,来调用应用中的其它函数
-* 调用其他远程函数示例如下:lesscode[\'${func:getApiData}\']().then((res) => do(res))
-* 函数用于组件属性时,函数体代码示例如下:
-```bash
-return Promise.all([
- this.$http.get('接口地址'),
- this.$http.post('接口地址', { value: 2 })
-]).then(([getDataRes, postDataRes]) => {
- return [...getDataRes.data, ...postDataRes.data]
-})
-```
-
-#### 远程函数:
-* 远程函数:系统将会根据参数组成 Ajax 请求,由用户在这里编写 Ajax 回调函数,函数用于页面组件属性配置和事件绑定
-* 远程函数是异步函数,函数返回 promise。可以使用 then 回调在远程函数异步执行完执行下一个函数
-* 调用其他远程函数示例如下:lesscode[\'${func:getApiData}\']().then((res) => do(res))
-* 函数用于页面组件属性时:函数必须有返回值,该返回值将会赋值给组件属性
-* 函数用于组件或页面事件时:函数将在事件触发时发起 Ajax 请求,并执行该回调函数
-* 可以使用 “lesscode.变量标识” 唤起自动补全功能,必须通过编辑器自动补全功能选择对应变量,来获取或者修改变量值
-* 可以使用 “lesscode.函数名称” 唤起自动补全功能,必须通过编辑器自动补全功能选择对应函数,来调用应用中的其它函数
-* 例如 Api 返回数据使用参数 res 接收,则代码示例如下:return res.data
-* 远程函数请求API可选择应用数据表操作API、蓝鲸网关API及自建API,注意若请求`蓝鲸网关API`,需自行`申请网关API权限`并`勾选蓝鲸应用认证`
-
-### 函数配合组件事件
----
-:::info
-在函数管理页或者函数管理弹窗编写好函数后,在应用页面编辑页面,鼠标单击选择相应的组件,在右侧的配置面板,选择`事件`tab,然后就可以通过下拉框来配置相应的回调函数了,注意函数的入参和组件的事件参数一致,具体可以查看[MagicBox组件库文档](https://magicbox.bk.tencent.com/static_api/v3/components_vue/2.0/example/index.html#/)
-:::
-
-
-
-### 函数配合页面生命周期
----
-:::info
-在函数管理页或者函数管理弹窗编写好函数后,在应用页面编辑页面,顶部选择`页面配置`,即可通过生命周期配置,来选择回调函数
-:::
-
-
-
-### 函数配合指令
----
-:::info
-组件的指令配置页面,可以配置属性的指令变量名,然后在函数中,可以使用或者修改属性值。选中组件后,可以在右侧配置面板进行属性编辑,切换到指令tab,可以对部分属性进行指令key的配置,系统会为该属性生成变量名。然后在函数编辑面板中,使用`lesscode`这样的字符串,引出编辑器自动补全功能,然后选择相应的属性指令,即可在函数中获取或者修改相应的属性值
-:::
-
-
-
-
-
-### 函数绑定组件数据源
----
-:::info
-在组件的部分属性中,可以通过绑定远程数据源来设置初始化数据。选中组件后,可以在右侧配置面板进行属性编辑,找到类型为remote的属性,切换到remote tab,然后通过下拉框选择函数来绑定远程数据源。也可以点击获取数据按钮,来实时看到获取数据源后的组件效果
-:::
-
-
-
-### 函数中调用函数,调用其他组件
----
-:::info
-函数中调用函数,调用其他组件:编写函数时,使用`lesscode`这样的字符串,引出编辑器自动补全功能,然后选择函数,即可在函数中使用函数。也可以使用 js 直接使用组件库中的组件,比如弹窗组件,组件具体配置可查看[MagicBox组件库文档](https://magicbox.bk.tencent.com/static_api/v3/components_vue/2.0/example/index.html#/)
-:::
-```bash
-this.$bkInfo({
- title: 'Dialog',
- subTitle: '调用 Dialog',
-})
-
-this.$bkMessage({
- message: '调用 Message',
- delay: 0,
- theme: 'error',
- offsetY: 80,
- ellipsisLine: 2
-})
-
-this.$bkNotify({
- title: 'Notify',
- message: '调用 Notify',
- limitLine: 3,
- offsetY: 80
-})
-```
-
diff --git a/lib/client/src/views/help/docs/template-page.md b/lib/client/src/views/help/docs/template-page.md
deleted file mode 100644
index 386bb258c..000000000
--- a/lib/client/src/views/help/docs/template-page.md
+++ /dev/null
@@ -1,71 +0,0 @@
-## 页面模板的使用指引
-蓝鲸运维开发平台提供了两种不同粒度的模板,应用级模板和页面模板,页面模板是较应用级是更低粒度的模板,可以灵活的在应用各个页面当中使用。
-
-
-### 如何使用页面模板
-
-### 第一种:通过模板市场添加至应用当中
-1.进入模板市场,选择合适的模板,点击“添加至应用”
-
-2.添加完成后,就可以在应用画布,查看模板库并拖拽至画布使用了
-
-
-
- ![](../../../images/help/media/16401439633109/16402483764730.jpg){width="80%"}
-
-
-
-### 第二种:通过画布的模板市场添加
-
-在画布的模板市场也可以快捷的添加页面模板,有黑色遮照部分代表未添加至应用的页面模板,点击“添加到应用”,即可在应用中快捷使用。
-
-
-
-![](../../../images/help/media/16401439633109/16402486714369.jpg){width="80%"}
-
-### 存储模板
-
- 在页面的排版过程中,也可以将画布中页面内容存为页面模板,实现局部内容的快速复用。
-
-
- 1.选中对应的模块,点击“存为模板”
-
-
-
- ![](../../../images/help/media/16401439633109/16402490797956.jpg){width="80%"}
-
-
-2.填写要存入的模板分类
-
-
-
-![](../../../images/help/media/16401439633109/16402491127394.jpg){width="80%"}
-
-
-
-3.还可以在画布中直接将某个页面的内容存为页面模板(不包含导航内容),可以嵌入进任何形式排版的页面
-
-
-
-![](../../../images/help/media/16401439633109/16402500179604.jpg){width="80%"}
-
-
-
-### 如何管理模板?
-
-对于从市场中添加的模板和自定义的模板,我们提供了专门的模板管理功能,用户可以自定义分类管理,以及对模板进行编辑、删除,导出等管理。
-
-
-1.进入应用模板库管理,可以导入新的模板(支持JSON 格式)、修改分类名称、模板的属性等等
-
-
-
-![](../../../images/help/media/16401439633109/16402494734135.jpg){width="80%"}
-![](../../../images/help/media/16401439633109/16402495559475.jpg){width="80%"}
-
-
-2.修改后的效果会同步至画布中的模板
-
-
-
-![](../../../images/help/media/16401439633109/16402497665091.jpg){width="80%"}
diff --git a/lib/client/src/views/help/docs/template-project.md b/lib/client/src/views/help/docs/template-project.md
deleted file mode 100644
index 86dfe311d..000000000
--- a/lib/client/src/views/help/docs/template-project.md
+++ /dev/null
@@ -1,23 +0,0 @@
-## 应用模板的使用指引
-蓝鲸运维开发平台提供官网类、后台管理类、公告类等应用级模板,包含应用完整功能,如:函数,变量,数据库等,可直接基于应用模板创建新应用,无需从 0 到 1 进行组装,只需要将模板对应内容进行修改即可快速完成应用的开发。
-
-### 如何使用应用模板
-使用应用模板有两种方式:
-
-
-1. 通过应用模板市场创建新应用
-
- 进入资源市场-》模板市场,选择合适的应用模板,然后点击“创建为新应用”,或者直接下载应用模板源码并在本地进行二次开发
-
-2. 在新建应用时,选择通过模板创建
-
- 1.创建应用时选择从模板创建
-
-
- ![](../../../images/help/media/16401439584175/16402443583719.png){width="80%"}
-
-
-
- 2.应用创建成功后,就可以看到应用模板包含的所有页面并对页面内容进行修改
-
-
diff --git a/lib/client/src/views/help/docs/variable.md b/lib/client/src/views/help/docs/variable.md
deleted file mode 100644
index 5db0fceb5..000000000
--- a/lib/client/src/views/help/docs/variable.md
+++ /dev/null
@@ -1,77 +0,0 @@
-## 变量使用指引
----
-蓝鲸运维开发平台中:可以由用户创建应用变量,并在页面开发中使用变量。通过使用变量,可以完成以下需求:
-* 给组件属性动态赋值:将变量与属性绑定,后续可以通过函数操作变量来获取或者修改变量的值,来影响组件的属性
-* 给组件指令动态赋值:目前平台提供了 VUE 语法中的指令,将变量与指令绑定,可以通过函数操作变量来控制指令的表现,具体指令的表现可以参考[VUE指令文档](https://cn.vuejs.org/v2/api/#%E6%8C%87%E4%BB%A4)
-* 应用全局变量:可以在应用定义全局变量,所有页面可以共享使用这个变量的值
-* 变量分环境赋初始值:一个变量可以分别配置在预览环境、预发布环境和生产环境的初始值
-* 函数参数使用变量:远程函数的【请求地址】和【请求参数】可以使用变量来组装和动态获取值
-
-### 应用全局变量管理
----
-#### 应用全局变量管理页面路径:
-应用开发(选择应用) -> 资源管理 -> 变量管理
-#### 应用全局变量使用说明:
-* 可以在应用变量管理页面对全局变量进行增删改查操作
-* 已经使用的变量可查询引用位置,不允许删除
-* 全局变量的变量标识在应用内全局唯一
-* 修改全局变量的默认值,所有页面中引用该变量的组件属性或指令的默认值将会被修改
-
-### 应用页面变量管理
----
-#### 应用页面变量管理页面路径:
-应用页面画布 -> 页面变量
-#### 应用页面变量使用说明
-* 应用页面变量展示了本页面可用的变量详情(包含了全局变量和本页的页面变量)
-* 只能操作页面变量,全局变量需要到全局变量管理页进行操作
-* 已经使用的变量不允许删除
-* 可以对本页面的页面变量进行增删改查操作
-
-### 变量初始类型介绍
----
-蓝鲸运维开发平台目前提供了七种变量初始化类型,以便应用开发使用,该类型只做为初始化的类型,可以在函数中对变量进行修改。
-* 普通数据类型(String,Number,Boolean,Array,Object):即 JS 数据类型,在绑定给属性的时候,会基于数据类型进行过滤
-* 图片地址:用户可以上传一张图,然后该图片可以在画布中绑定到可以使用图片的属性上
-* 计算变量:可以根据多个变量或者函数进行组合,最后返回一个值,该变量可以应用到所有的属性和指令上。计算变量具体用法可以参考[VUE计算属性文档](https://cn.vuejs.org/v2/guide/computed.html#%E8%AE%A1%E7%AE%97%E5%B1%9E%E6%80%A7)
-
-### 变量与属性绑定
----
-:::info
-在应用页面画布中,选择相应的组件,在组件的配置面板 -> 选择`属性` -> 选择要绑定变量的属性 -> 属性值类型切换为变量,即可选择变量。也可以切换成值或表达式,表达式可以直接写变量标识来使用变量,编写最终是JS的表达式
-:::
-
-
-
-### 变量与指令绑定
----
-:::info
-在应用页面画布中,选择相应的组件,在组件的配置面板 -> 选择`指令` -> 选择要绑定变量的指令 -> 选择变量即可
-:::
-
-
-
-### 变量与函数绑定
----
-:::info
-远程函数的【请求地址】 和 【请求参数】可以使用变量:如图所示,可以使用`{变量标识}`在请求地址中使用变量
-:::
-
-
-
-### 函数中操作变量
----
-:::info
-在函数中,可以使用 `lesscode.变量标识` 关键字唤起快捷输入,必须通过编辑器自动补全功能选择对应变量,来获取或者修改变量值,下面举例说明:
-:::
-
-
-#### 如上图所示:页面中添加一个输入框组件和一个基础按钮组件,并给输入框组件的`v-model`指令绑定一个变量
-
-
-#### 如上图所示:新增一个函数,函数里面可以通过 `lesscode.变量标识`关键字唤起快捷输入,根据提示可以找到想修改的变量,选择对应的变量后,就可以对变量进行操作了
-
-
-#### 如上图所示:函数编写的时候,我们先弹出输入框的值,然后修改输入框的值为`Hello Lesscode`
-
-
-#### 如上图所示:最后在基础按钮组件的`click`事件中,绑定刚刚写的函数。然后可以在预览中进行查看效果了
diff --git a/lib/client/src/views/help/index.vue b/lib/client/src/views/help/index.vue
index 76ff268c2..ebb214c3a 100644
--- a/lib/client/src/views/help/index.vue
+++ b/lib/client/src/views/help/index.vue
@@ -10,247 +10,34 @@
-->
-
-
-
+
-
-
diff --git a/lib/client/src/views/home/index.vue b/lib/client/src/views/home/index.vue
index 95d5c8acc..ba3b351ae 100644
--- a/lib/client/src/views/home/index.vue
+++ b/lib/client/src/views/home/index.vue
@@ -3,7 +3,7 @@
-
+
{{ $t('应用模板') }}
{{ $t('帮助文档') }}
@@ -94,18 +94,8 @@
{{item.name}}
-
-
- {{ $t('QQ交谈') }}
-
-
- Copyright © 2012 Tencent BlueKing. All Rights Reserved. {{$t('腾讯蓝鲸 版权所有')}}
+
+ {{footerCopyrightContent}}