ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:19.52KB ,
资源ID:9521147      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9521147.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AntDesignPro开发手册.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

AntDesignPro开发手册.docx

1、AntDesignPro开发手册AntDesignPro开发手册修订历史记录日期版本说明作者1. 前言1.1目的让不熟悉Ant Design Pro 的开发人员快速掌握开发方式1.2概述Ant Design Pro是一个前端设计解决方案,由蚂蚁金服体验技术部出品/维护。核心技术组成: ES2015+ JavaScript语言的新标准 React 用于构建用户界面的 JAVASCRIPT 库 dva 是基于(redux(状态管理) + react-router(路由库) + redux-saga(异步中间件) 等)的一层轻量封装 g2 一套基于可视化编码的图形语法 antd React组件2.

2、开发环境2.1 Node.js 安装配置Node.js安装包及源码下载地址为:2.2安装方式cd my-projectnpm install ant-design-pro-cli -g #安装脚手架mkdir my-project cd my-projectpro new # 创建一个新项目2.3 目录结构 mock # 本地模拟数据 public # 公共资源 favicon.ico # 网站图标 src assets # 本地静态资源 common # 应用公用配置,如导航信息 components # 业务通用组件 e2e # 集成测试用例 layouts # 通用布局 models #

3、 数据交互 routes # 业务页面入口和常用模板 services # 后台接口服务 utils # 工具库 g2.js # 可视化图形配置 theme.js # 主题配置 index.ejs # HTML 入口模板 index.js # 应用入口 index.less # 全局样式 router.js # 路由入口 tests # 测试工具 README.md # 项目说明 package.json # 项目配置文件2.4 项目初始化npm installnpm startnpm run build该命令会生成 *.js、*.css、index.html 等静态文件3. 开发指导3.1开

4、发规范3.2 开发流程示意图3.3 开发实例3.3.1 新建一个菜单菜单配置文件src/common/menu.js,在menuData里添加菜单配置,数据格式为json格式,详细配置请参照下图3.3.2 新建一个路由配置路由配置文件src/common/router.js,在routerConfig里添加路由配置,数据格式为json格式,详细配置请参照下图3.3.3 新建一个路由页面页面元素文件 src/routes/HostOperation/HostMonitor.jsimport React, PureComponent, Fragment from react;import conn

5、ect from dva;import Row, Col, Card, Form, Input, Select, Icon, Button, Dropdown, Menu,InputNumber, DatePicker, Modal, message, Badge, Divider, Steps, Radio from antd;import StandardTable from ././components/StandardTable;import PageHeaderLayout from ././layouts/PageHeaderLayout;import styles from ./

6、HostMonitor.less;const FormItem = Form.Item;const getValue = obj = Object.keys(obj).map(key = objkey).join(,);/ 和hostMonitor建立连接,进行页面的数据交互connect( hostMonitor,loading ) = (hostMonitor,loading: loading.effectshostMonitor/getMonitorList)/ 创建form对象,固定写法Form.create()export default class HostMonitor exte

7、nds PureComponent state = modalVisible: false,updateModalVisible: false,expandForm: false,selectedRows: ,formValues: ,stepFormValues: ,;/ 渲染页面完成后执行componentDidMount() const dispatch = this.props;dispatch(type: hostMonitor/getMonitorList,);/表格表头定义columns = title: 触发器,dataIndex: description,title: 主机名

8、称,dataIndex: name,title: 主机IP,dataIndex: host_ip,title: 系统运行时间,dataIndex: t,title: 操作系统,dataIndex: host_group.os,title: 所属系统,dataIndex: host_group.system,title: 网络区域,dataIndex: host_,;/ 表格发生操作时执行函数handleStandardTableChange = (pagination, filtersArg, sorter) = const dispatch = this.props;const formVa

9、lues = this.state;const filters = Object.keys(filtersArg).reduce(obj, key) = const newObj = .obj ;newObjkey = getValue(filtersArgkey);return newObj;, );var params = currentPage: pagination.current,pageSize: pagination.pageSize,;if (sorter.field) params.sorter = $sorter.field_$sorter.order;dispatch(t

10、ype: hostMonitor/getMonitorList,payload: params,);/ 操作重置按钮时执行函数handleFormReset = () = const form, dispatch = this.props;form.resetFields();this.setState(formValues: ,);dispatch(type: hostMonitor/getMonitorList,payload: ,);/ 查询条件展开/收起toggleForm = () = this.setState(expandForm: !this.state.expandForm,

11、);/ 选择行handleSelectRows = (rows) = this.setState(selectedRows: rows,);/ 操作查询按钮handleSearch = (e) = e.preventDefault();const dispatch, form = this.props;form.validateFields(err, fieldsValue) = if (err) return;const values = .fieldsValue,updatedAt: fieldsValue.updatedAt & fieldsValue.updatedAt.valueOf

12、(),;this.setState(formValues: values,);dispatch(type: hostMonitor/getMonitorList,payload: values,););/显示/隐藏模态窗口 !flag:将flag强转为布尔类型handleModalVisible = (flag) = this.setState(modalVisible: !flag,);/显示/隐藏模态窗口handleUpdateModalVisible = (flag, record) = this.setState(updateModalVisible: !flag,stepFormVa

13、lues: record | ,);/ 查询条件表单renderSimpleForm() const getFieldDecorator = this.props.form;return (getFieldDecorator(hostIp)()查询重置);/选择默认的查询条件表单renderForm() return this.renderSimpleForm();/渲染页面render() const hostMonitor:data ,loading = this.props;const newdata = data?data:list: ,pagination: ,;const sele

14、ctedRows, modalVisible, updateModalVisible, stepFormValues = this.state;return (this.renderForm();3.3.4 新建一个数据模型srcmodelshostMonitor.jsimport getMonitorList from ./services/trans;export default / model命名空间,唯一的namespace: hostMonitor,/ 初始化状态数据state: data: list: ,pagination: ,/ 定义发送请求的功能方法effects: *get

15、MonitorList( payload , call, put ) const response = yield call(getMonitorList, payload);const resp = response?response:;yield put(type: queryList,payload: resp ? resp : ,);,/ 更新页面状态及数据reducers: queryList(state, action) return .state,;,;3.3.5 新建一个模拟请求数据返回srcservicestrans.jsimport stringify from qs;im

16、port request from ./utils/request;/* 获取主机列表数据* param * params */这里定义的方法是由model调用的export async function getMonitorList(params) console.error(getMonitorList.);console.error(params);return request(/trans/operation/monitor?$stringify(params), method: POST,body: params,);POST /trans/operation/monitor: (r

17、eq, res) = res.send(status: ok,data: getMonitorList);,export const getMonitorList = list: dataSource,pagination: total: dataSource.length,pageSize: 10,current: 1export default getMonitorList;3.3.6 新建一个真实请求数据返回srcservicestrans.jsimport stringify from qs;import request from ./utils/request;/* 获取主机列表数据

18、* param * params */这里定义的方法是由model调用的export async function getMonitorList(params) console.error(getMonitorList.);console.error(params);/ 这里的地址是一个真实地址,数据会返回modelreturn request(:3000/get_monitor_list, method: POST,body: params,);3.4 编码规范5.在线资源5.1官方文档:5.1.1 AngDesignPro 代码地址5.1.2 AngDesignPro 文档5.1.3 AngDesignPro 在线问题讨论5.1.4 AngDesign 在线文档5.2在线预览:6.需要完善的功能6.1 用户登录信息6.2 动态菜单和路由.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1