Graphql.jsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import React, {Component} from 'react';
  2. import { Input, Alert} from 'antd';
  3. import GraphiQL from "graphiql";
  4. import fetch from "isomorphic-fetch";
  5. class Graphql extends Component {
  6. constructor() {
  7. super();
  8. this.state = {
  9. //api: 'http://service-ci2tk8iu-1254337200.ap-guangzhou.apigateway.myqcloud.com/release/graphql',
  10. // 便于开发调试,请删除并换成上面
  11. api: 'http://service-eucrnpse-1254337200.ap-guangzhou.apigateway.myqcloud.com/release/graphql'
  12. }
  13. };
  14. graphQLFetcher = (graphQLParams) => {
  15. // 已经存在的 magazine api, 设想: 用户生成 schema,返回 api 自动替换这里
  16. return fetch(this.state.api, {
  17. method: 'post',
  18. headers: {'Content-Type': 'application/json'},
  19. body: JSON.stringify(graphQLParams),
  20. }).then(response => response.json());
  21. };
  22. render() {
  23. return (
  24. <div>
  25. <Alert style={{marginTop: 10}} message="下面的 graphql api 对应的是是 online 的数据库"
  26. type="warning" banner closable/>
  27. <Input style={{marginTop: 10}} addonBefore="POST" defaultValue={this.state.api}
  28. onChange={(e) => {
  29. this.setState({api: e.target.value})
  30. }}/>
  31. <GraphiQL fetcher={this.graphQLFetcher}/>
  32. </div>
  33. )
  34. }
  35. }
  36. export default Graphql;