• 前置条件
  • 介绍
  • 仪表盘配置
  • 页面编写
  • 配置路由
  • 初始化仪表盘

    前置条件

    在开发新页面之前,要确保已经在本地创建了新的模块。详见 开发新模块。同时,需要保证你的choerodon-front-boot 依赖在0.7.2版本之上。

    介绍

    本章讲述了如何使用Choerodon 开发新的Dashboard,并且如何将Dashboard注册到平台。包含如下内容:

    • 仪表盘配置
    • 页面编写
    • 配置路由
    • 初始化仪表盘

    仪表盘配置

    在模块内部创建dashboard文件夹,路径为choerodon-front-demo/demo/src/app/demo/config/dashboard目录结构为:

    1. ├── language
    2. | ├── en.yml
    3. | └── zh.yml
    4. |
    5. └── dashboard.yml
    language仪表盘中英文配置文件夹
    en.yml英文code
    zh.yml中文code
    dashboard.yml仪表盘配置项

    dashboard.yml文件内容看起来是这样的:

    1. dashboard:
    2. - code: "Guide" ## code
    3. icon: APItest ## 图标
    4. title: "快速入门" ## 显示的title
    5. description: "新手指引" ## 描述
    6. level: site ## 层级,包含site/organization/project
    7. sort: 1 ## 默认顺序
    8. - code: "Document"
    9. icon: description
    10. title: "文档"
    11. description: "文档"
    12. level: site
    13. sort: 2
    14. - code: "Announcement"
    15. icon: import_contacts
    16. title: "公告"
    17. description: "公告"
    18. level: site
    19. sort: 3

    其中Dashboard 的名称由language 中的配置决定。

    1. ## zh.yml
    2. "Guide": "快速入门"
    3. "Document": "文档"
    4. "Announcement": "公告"
    1. ## en.yml
    2. "Guide": "Guide"
    3. "Document": "Document"
    4. "Announcement": "Announcement"

    页面编写

    仪表盘的页面的编写与普通页面一致。在choerodon-front-demo/demo/src/app/demo/dashboard 创建对应code 对应的文件夹。每个文件夹中包含index.jsindex.scss

    1. // index.js
    2. import React, { Component } from 'react';
    3. import { DashBoardNavBar } from 'choerodon-front-boot';
    4. import './index.scss';
    5. export default class Document extends Component {
    6. render() {
    7. return (
    8. <div className="c7n-iam-dashboard-document">
    9. <ul>
    10. <li>
    11. <a target="choerodon" href="#">这是第一行</a>
    12. </li>
    13. </ul>
    14. <DashBoardNavBar>
    15. <a target="choerodon" href="http://choerodon.io/zh/docs/">这是底部链接</a>
    16. </DashBoardNavBar>
    17. </div>
    18. );
    19. }
    20. }

    配置路由

    修改config.js 文件。

    1. // config.js
    2. const config = {
    3. local: true, //是否为本地开发
    4. clientId: 'localhost', // 必须填入响应的客户端(本地开发)
    5. titlename: 'Demo', //项目页面的title名称
    6. // favicon: 'favicon.ico', //项目页面的icon图片名称
    7. theme: {
    8. 'primary-color': '#3F51B5',
    9. },
    10. cookieServer: '', // 子域名token共享
    11. server: 'http://localhost:8080', // 后端接口服务器地址
    12. port: 9090, // 端口
    13. dashboard: {
    14. demo: 'src/app/demo/dashboard/*' // 路径为相对package.json 文件的路径
    15. }
    16. };

    初始化仪表盘

    前端配置好仪表盘之后,需要将仪表盘数据初始化到数据库中。

    在服务的根目录下。打开git-bash。输入如下命令:

    1. $ python ./demo/node_modules/choerodon-front-boot/structure/dashboard.py -o yml -m demo

    该命令会在根目录下生成一个dashboard.yml

    然后再执行:

    1. $ python ./demo/node_modules/choerodon-front-boot/structure/dashboard.py -o sql -i ip -p port -u user -s pwd

    dashboard.yml 数据初始化进数据库。

    需要注意的是,这两个步骤分别在.gitlab-ci.ymlcharts 中体现。