package com.heyu.api.config;


import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;



@Configuration
public class AlibabaClientConfig {

    @Bean
    public com.aliyun.ocr20191230.Client createocr20191230Client(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                                 @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(alibaba_cloud_access_key_id)
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(alibaba_cloud_access_key_secret);
        // Endpoint 请参考 https://api.aliyun.com/product/ocr
        config.endpoint = "ocr.cn-shanghai.aliyuncs.com";
        return new com.aliyun.ocr20191230.Client(config);
    }

    @Bean
    public com.aliyun.imageaudit20191230.Client createimageaudit20191230Client(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                                               @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(alibaba_cloud_access_key_id)
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(alibaba_cloud_access_key_secret);
        // Endpoint 请参考 https://api.aliyun.com/product/ocr
        config.endpoint = "ocr.cn-shanghai.aliyuncs.com";
        return new com.aliyun.imageaudit20191230.Client(config);
    }

    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     *
     * @return Client
     * @throws Exception
     */
    @Bean
    public com.aliyun.goodstech20191230.Client createGoodstechClient(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                                     @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(alibaba_cloud_access_key_id)
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(alibaba_cloud_access_key_secret);
        // Endpoint 请参考 https://api.aliyun.com/product/goodstech
        config.endpoint = "goodstech.cn-shanghai.aliyuncs.com";
        return new com.aliyun.goodstech20191230.Client(config);
    }

    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     *
     * @return Client
     * @throws Exception
     */
    @Bean
    public com.aliyun.facebody20191230.Client createFacebodyClient(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                                   @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(alibaba_cloud_access_key_id)
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(alibaba_cloud_access_key_secret);
        // Endpoint 请参考 https://api.aliyun.com/product/facebody
        config.endpoint = "facebody.cn-shanghai.aliyuncs.com";
        return new com.aliyun.facebody20191230.Client(config);
    }

    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     *
     * @return Client
     * @throws Exception
     */
    @Bean
    public com.aliyun.facebody20200910.Client createFacebody910Client(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                                      @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(alibaba_cloud_access_key_id)
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(alibaba_cloud_access_key_secret);
        // Endpoint 请参考 https://api.aliyun.com/product/facebody
        config.endpoint = "facebody.cn-shanghai.aliyuncs.com";
        return new com.aliyun.facebody20200910.Client(config);
    }





    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     * @return Client
     *
     * @throws Exception
     */
    @Bean
    public com.aliyun.viapi20230117.Client  createViapi20230117Client(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                                      @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(alibaba_cloud_access_key_id)
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(alibaba_cloud_access_key_secret);
        // Endpoint 请参考 https://api.aliyun.com/product/viapi
        config.endpoint = "viapi.cn-shanghai.aliyuncs.com";
        return new com.aliyun.viapi20230117.Client(config);
    }


    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     *
     * @return Client
     * @throws Exception
     */
    @Bean
    public com.aliyun.imagerecog20190930.Client createImagerecog20190930Client(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                                               @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        // Endpoint 请参考 https://api.aliyun.com/product/imagerecog
        config.endpoint = "imagerecog.cn-shanghai.aliyuncs.com";
        return new com.aliyun.imagerecog20190930.Client(config);
    }

    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     *
     * @return Client
     * @throws Exception
     */
    @Bean
    public com.aliyun.imageenhan20190930.Client createImageenhan20190930Client(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                                               @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(alibaba_cloud_access_key_id)
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(alibaba_cloud_access_key_secret);
        // Endpoint 请参考 https://api.aliyun.com/product/imageenhan
        config.endpoint = "imageenhan.cn-shanghai.aliyuncs.com";
        return new com.aliyun.imageenhan20190930.Client(config);
    }

    // https://help.aliyun.com/zh/viapi/getting-started/the-file-url-processing?spm=api-workbench.api_explorer.0.0.299c48a9g9JG9t#dda54b61095t3


    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     *
     * @return Client
     * @throws Exception
     */
    @Bean
    public com.aliyun.imageseg20191230.Client createClient(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                           @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(alibaba_cloud_access_key_id)
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(alibaba_cloud_access_key_secret);
        // Endpoint 请参考 https://api.aliyun.com/product/imageseg
        config.endpoint = "imageseg.cn-shanghai.aliyuncs.com";
        return new com.aliyun.imageseg20191230.Client(config);
    }

    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     *
     * @return Client
     * @throws Exception
     */
    @Bean
    public com.aliyun.objectdet20191230.Client createObjectdet20191230Client(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                                             @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(alibaba_cloud_access_key_id)
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(alibaba_cloud_access_key_secret);
        // Endpoint 请参考 https://api.aliyun.com/product/objectdet
        config.endpoint = "objectdet.cn-shanghai.aliyuncs.com";
        return new com.aliyun.objectdet20191230.Client(config);
    }

    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     *
     * @return Client
     * @throws Exception
     */
    @Bean
    public com.aliyun.cloudauth20190307.Client createCloudauth20190307Client(@Value("${aliyun.alibaba_cloud_access_key_id}") String alibaba_cloud_access_key_id,
                                                                             @Value("${aliyun.alibaba_cloud_access_key_secret}") String alibaba_cloud_access_key_secret) throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(alibaba_cloud_access_key_id)
                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(alibaba_cloud_access_key_secret);
        // Endpoint 请参考 https://api.aliyun.com/product/objectdet
        config.endpoint = "cloudauth.aliyuncs.com";
        return new com.aliyun.cloudauth20190307.Client(config);
    }



}
