Просмотр исходного кода

更改未设置cloud 也能显示 deploy

xy 7 лет назад
Родитель
Сommit
12edfffe56
1 измененных файлов с 92 добавлено и 67 удалено
  1. 92 67
      src/app/common/deploy/Deploy.jsx

+ 92 - 67
src/app/common/deploy/Deploy.jsx

@@ -62,39 +62,52 @@ class Deploy extends Component {
                                 // 如果没有 fc,根据 userID 查 cloudId
                                 request(graphqlUrl, SHOW_CLOUD, {user_id: this.props.userID}).then(
                                     __data => {
-                                        __data.cloud_by_props.forEach(cloud => {
-                                            switch (cloud.cloudName) {
-                                                case 'tencent':
-                                                    this.setState({
-                                                        tencentFC: false,
-                                                        tencentCloudID: cloud.id,
-                                                        defalutName: _data.schema_by_id.schemaName,
-                                                        show: true,
-                                                        kind: 'graphql'
-                                                    });
-                                                    break;
-                                                case 'aliyun':
-                                                    this.setState({
-                                                        aliyunFC: false,
-                                                        aliyunCloudID: cloud.id,
-                                                        defalutName: _data.schema_by_id.schemaName,
-                                                        show: true,
-                                                        kind: 'graphql'
-                                                    });
-                                                    break;
-                                                case 'amazon':
-                                                    this.setState({
-                                                        amazonFC: false,
-                                                        amazonCloudID: cloud.id,
-                                                        defalutName: _data.schema_by_id.schemaName,
-                                                        show: true,
-                                                        kind: 'graphql'
-                                                    });
-                                                    break;
-                                                default:
-                                                    break;
-                                            }
-                                        })
+                                        // 如果 user 未设置 cloudID
+                                        console.log(__data);
+                                        if(__data.cloud_by_props.length === 0) {
+                                            this.setState({
+                                                tencentFC: false,
+                                                aliyunFC: false,
+                                                amazonFC: false,
+                                                defalutName: _data.schema_by_id.schemaName,
+                                                show: true,
+                                                kind: 'graphql'
+                                            });
+                                        } else {
+                                            __data.cloud_by_props.forEach(cloud => {
+                                                switch (cloud.cloudName) {
+                                                    case 'tencent':
+                                                        this.setState({
+                                                            tencentFC: false,
+                                                            tencentCloudID: cloud.id,
+                                                            defalutName: _data.schema_by_id.schemaName,
+                                                            show: true,
+                                                            kind: 'graphql'
+                                                        });
+                                                        break;
+                                                    case 'aliyun':
+                                                        this.setState({
+                                                            aliyunFC: false,
+                                                            aliyunCloudID: cloud.id,
+                                                            defalutName: _data.schema_by_id.schemaName,
+                                                            show: true,
+                                                            kind: 'graphql'
+                                                        });
+                                                        break;
+                                                    case 'amazon':
+                                                        this.setState({
+                                                            amazonFC: false,
+                                                            amazonCloudID: cloud.id,
+                                                            defalutName: _data.schema_by_id.schemaName,
+                                                            show: true,
+                                                            kind: 'graphql'
+                                                        });
+                                                        break;
+                                                    default:
+                                                        break;
+                                                }
+                                            })
+                                        }
                                     }
                                 );
                             } else {
@@ -145,39 +158,51 @@ class Deploy extends Component {
                                 // 如果没有 fc,根据 userID 查 cloudId
                                 request(graphqlUrl, SHOW_CLOUD, {user_id: this.props.userID}).then(
                                     __data => {
-                                        __data.cloud_by_props.forEach(cloud => {
-                                            switch (cloud.cloudName) {
-                                                case 'tencent':
-                                                    this.setState({
-                                                        tencentFC: false,
-                                                        tencentCloudID: cloud.id,
-                                                        defalutName: _data.wxConfig_by_id.appName,
-                                                        show: true,
-                                                        kind: 'wx'
-                                                    });
-                                                    break;
-                                                case 'aliyun':
-                                                    this.setState({
-                                                        aliyunFC: false,
-                                                        aliyunCloudID: cloud.id,
-                                                        defalutName: _data.wxConfig_by_id.appName,
-                                                        show: true,
-                                                        kind: 'wx'
-                                                    });
-                                                    break;
-                                                case 'amazon':
-                                                    this.setState({
-                                                        amazonFC: false,
-                                                        amazonCloudID: cloud.id,
-                                                        defalutName: _data.wxConfig_by_id.appName,
-                                                        show: true,
-                                                        kind: 'wx'
-                                                    });
-                                                    break;
-                                                default:
-                                                    break;
-                                            }
-                                        })
+                                        // 如果 user 未设置 cloudID
+                                        if(__data.cloud_by_props.length === 0) {
+                                            this.setState({
+                                                tencentFC: false,
+                                                aliyunFC: false,
+                                                amazonFC: false,
+                                                defalutName: _data.wxConfig_by_id.appName,
+                                                show: true,
+                                                kind: 'wx'
+                                            });
+                                        } else {
+                                            __data.cloud_by_props.forEach(cloud => {
+                                                switch (cloud.cloudName) {
+                                                    case 'tencent':
+                                                        this.setState({
+                                                            tencentFC: false,
+                                                            tencentCloudID: cloud.id,
+                                                            defalutName: _data.wxConfig_by_id.appName,
+                                                            show: true,
+                                                            kind: 'wx'
+                                                        });
+                                                        break;
+                                                    case 'aliyun':
+                                                        this.setState({
+                                                            aliyunFC: false,
+                                                            aliyunCloudID: cloud.id,
+                                                            defalutName: _data.wxConfig_by_id.appName,
+                                                            show: true,
+                                                            kind: 'wx'
+                                                        });
+                                                        break;
+                                                    case 'amazon':
+                                                        this.setState({
+                                                            amazonFC: false,
+                                                            amazonCloudID: cloud.id,
+                                                            defalutName: _data.wxConfig_by_id.appName,
+                                                            show: true,
+                                                            kind: 'wx'
+                                                        });
+                                                        break;
+                                                    default:
+                                                        break;
+                                                }
+                                            })
+                                        }
                                     }
                                 );
                             } else {
@@ -244,7 +269,7 @@ class Deploy extends Component {
                             this.state.show ?
                                 contentListNoTitle[this.state.cloud]
                                 :
-                                "waiting, if long, checkout your internet or did u forget cloud id and secret config when login"
+                                "waiting"
                         }
                     </Card>
                 </div>