目标
下面我们演示如何在模块test-party
中新建一个Block区块
。将此区块
添加到文章内容当中,可以周期读取当前文章的评论数,并实时显示出来
1. 定义静态资源
模块a-markdown
提供了一个资源类型a-markdown:block
。我们需要在模块test-party
中定义一个静态资源
:
src/suite-vendor/test-party/modules/test-party/backend/src/config/static/resources.js
- 1module.exports = app => {
- 2 const moduleInfo = app.meta.mockUtil.parseInfoFromPackage(__dirname);
- 3 const resources = [
- 4 // menu
- 5 ...
- 6 // dashboard widget
- 7 ...
- 8 // markdown block
- 9 {
- 10 atomName: 'Article Comment Count',
- 11 atomStaticKey: 'blockArticleCommentCount',
- 12 atomRevision: 0,
- 13 atomCategoryId: 'a-markdown:block.Demonstration',
- 14 resourceType: 'a-markdown:block',
- 15 resourceConfig: JSON.stringify({
- 16 default: {
- 17 interval: 1000,
- 18 },
- 19 validator: {
- 20 module: moduleInfo.relativeName,
- 21 validator: 'blockArticleCommentCount',
- 22 },
- 23 }),
- 24 resourceRoles: 'root',
- 25 },
- 26 ];
- 27 return resources;
- 28};
名称 | 说明 |
---|---|
atomStaticKey | 系统自动添加模块名称前缀,生成test-party:blockArticleCommentCount |
atomCategoryId | 资源归属目录。资源类型全称a-markdown:block 作为一级目录 |
resourceType | 资源类型全称 |
resourceConfig | 资源配置信息 |
resourceRoles | 资源授权对象,这里是角色root ,意味着所有用户(包括匿名用户 )均可访问此资源 |
更多配置说明,参见静态资源
- resourceConfig
名称 | 说明 |
---|---|
default | 用户在添加区块时,可以显示一个Form表单,用于配置参数。default 是Form表单的缺省值 |
validator | Form表单对应的验证器 ,用于表单渲染 和数据验证 |
2. 国际化语言资源
静态资源
支持atomName
的国际化,只需添加相应的语言资源即可:
src/suite-vendor/test-party/modules/test-party/backend/src/config/locale/zh-cn.js
- 1module.exports = {
- 2 ...
- 3 'Article Comment Count': '文章评论数',
- 4};
3. 注册静态资源
前面定义好一组静态资源
,接下来就需要在模块的meta
文件中进行注册
src/suite-vendor/test-party/modules/test-party/backend/src/meta.js
- 1const staticResources = require('./config/static/resources.js')(app);
- 2base: {
- 3 statics: {
- 4 'a-base.resource': {
- 5 items: staticResources,
- 6 },
- 7 },
- 8},
名称 | 说明 |
---|---|
a-base.resource | 原子类型的全称。在这里,原子类型resource 是由模块a-base 提供的 |
items | 静态资源数组 |
评论: