Form/src/App.js

69 lines
1.7 KiB
JavaScript

import React, { Component } from "react";
import axios from "axios";
import config from "./config.json";
import { Result } from "antd";
import EVAfooter from "./EVAfooter";
import EVAForm from "./EVAForm";
class App extends Component {
constructor(props) {
super(props);
this.state = {
router: "",
devurl: config.devurl,
formname: "EVA",
error: false,
info: "",
};
}
getforminfo() {
axios
.get(`${this.state.devurl}/api/forminfo/${this.state.router}/`)
.then((res) => {
if (res.data.code === 200) {
this.setState({ formname: res.data.data.formname });
this.setState({ info: res.data.data.info });
// console.log(this.state.info);
document.title = this.state.formname;
} else {
throw "network error when getting forminfo";
}
})
.catch((err) => {
console.log(err);
this.setState({ error: true });
});
}
componentDidMount() {
this.setState({ router: window.location.pathname });
this.getforminfo();
}
render() {
return (
<>
{this.state.error ? (
<Result
status="500"
title="Error"
subTitle="很抱歉,页面出现错误,请联系管理员"
extra={"EVA TECH"}
/>
) : (
<>
<center>
<div className="App">
<h1>My React App!</h1>
<p>Welcome :)</p>
<p>{this.state.router}</p>
</div>
</center>
<EVAForm key={this.state.info} info={this.state.info} />
<EVAfooter />
</>
)}
</>
);
}
}
export default App;