# 代码编写规范
## 方法、事件、函数的定义
### 页面的创建
所有页面的创建, 组件需要继承 `PageComponent`, 如果该页面要按钮提交操作则需继承 `SubmitPageComponent`
### 组件、页面内方法事件的定义
1. 普通方法的定义
~~~ js
import React from 'react';
import { EventHelper } from '@/common/Utils';
// PageComponent 组件默认实现了 render ,并对外提供了 renderContent 以替代 React.Component 的 render ,该组件内置了 页面初始化的加载中提示和网络异常时的提示
class Components extends PageComponent {
@EventHelper.exec()
doSomething() {
// 一段普通的执行函数,例如:数据初始化
}
renderContent () {
// 这里显示呈现的内容
return
}
}
~~~
2. 具备 按钮提交操作 的页面,提交方法的定义
~~~ js
class Components extends SubmitPageComponent<FormComponentProps, AppState> {
updateLock2Submit () {
super.updateLock2Submit()
// 提交请求锁的监听, 当window.lockSubmit为true时为加锁,为false时解锁
this.setState({submitting: window.lockSubmit});
}
componentDidMount () {
super.componentDidMount()
... // 执行其他方法
}
@EventHelper.execSubmit()
async execSubmit(err, values) {
// 提交事件,err为本地校验没通过,返回false表示不显示提示报错信息
if (err) {
return false
} else {
let reslut = await MiddlegroundService.saveTenant(values)
reslut && sessionStorage.setItem("userTenantId",reslut.id);
return true
}
}
@EventHelper.exec()
async handleSubmit(e) {
// 提交按钮点击事件
e.preventDefault();
this.props.form.validateFieldsAndScroll(this.execSubmit.bind(this));
};
}
~~~
### 服务内的方法事件的定义
~~~ js
class Service {
static async methodName (...) {
return {
/* 返回的结果 */
};
}
}
~~~
方法的返回值必须是 `Promise<T>` 类型
- 介绍
- 开发规范
- SAAS部署说明
- 移动端部署说明
- SAAS后台使用说明
- 代码编写规范
- 框架开发规范
- 移动端Web开发注意事项
- 后端平台使用文档
- 平台环境搭建
- 控件创建说明
- 平台控件使用说明
- Flex Flex布局控件
- comboTree 组合树控件
- 应用列表
- Middleground 源钉云中台前端
- IndexCustomize 钉钉工作台主页定制
- ContractManagement 合同管理
- 组件使用文档
- General
- YdyIcon 图标
- Navigation
- YdySiderMenu 侧面菜单
- YdyTabBar 标签栏
- Data Entry
- YdyForm 表单
- YdyDatePicker 时间选择器
- YdyPicker 单项选择器
- YdyImagePicker 图片选择器
- Data Display
- YdyScrollView 滚动视图
- YdyListView 列表视图
- Feedback
- YdyFallbackView 异常视图
- Other
- YdyHeader 页头
- YdyMainLayout 主布局
- 公共服务使用文档
- DingTalk 钉钉移动端API
- Service 核心服务
- HttpService http服务
- 问题反馈与汇总
- Bug修复汇总
- 问题汇总
- IIS搭建