💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 代码编写规范 ## 方法、事件、函数的定义 ### 页面的创建 所有页面的创建, 组件需要继承 `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>` 类型