xiongzhu 2 anni fa
parent
commit
984203231b
5 ha cambiato i file con 2919 aggiunte e 10 eliminazioni
  1. 2866 0
      src/aliyun/afs.ts
  2. 39 6
      src/aliyun/aliyun.service.ts
  3. 9 0
      src/sms/dto/sms.dto.ts
  4. 1 1
      src/sms/sms.controller.ts
  5. 4 3
      src/sms/sms.service.ts

+ 2866 - 0
src/aliyun/afs.ts

@@ -0,0 +1,2866 @@
+// This file is auto-generated, don't edit it
+/**
+ *
+ */
+import Util, * as $Util from '@alicloud/tea-util'
+import OpenApi, * as $OpenApi from '@alicloud/openapi-client'
+import EndpointUtil from '@alicloud/endpoint-util'
+import * as $tea from '@alicloud/tea-typescript'
+
+export class AnalyzeNvcRequest extends $tea.Model {
+    sourceIp?: string
+    scoreJsonStr?: string
+    data?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            scoreJsonStr: 'ScoreJsonStr',
+            data: 'Data'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            scoreJsonStr: 'string',
+            data: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class AnalyzeNvcResponseBody extends $tea.Model {
+    requestId?: string
+    bizCode?: string
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            bizCode: 'BizCode'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            bizCode: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class AnalyzeNvcResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: AnalyzeNvcResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: AnalyzeNvcResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class AuthenticateSigRequest extends $tea.Model {
+    sourceIp?: string
+    sessionId?: string
+    appKey?: string
+    sig?: string
+    token?: string
+    scene?: string
+    remoteIp?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            sessionId: 'SessionId',
+            appKey: 'AppKey',
+            sig: 'Sig',
+            token: 'Token',
+            scene: 'Scene',
+            remoteIp: 'RemoteIp'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            sessionId: 'string',
+            appKey: 'string',
+            sig: 'string',
+            token: 'string',
+            scene: 'string',
+            remoteIp: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class AuthenticateSigResponseBody extends $tea.Model {
+    msg?: string
+    requestId?: string
+    riskLevel?: string
+    code?: number
+    detail?: string
+    static names(): { [key: string]: string } {
+        return {
+            msg: 'Msg',
+            requestId: 'RequestId',
+            riskLevel: 'RiskLevel',
+            code: 'Code',
+            detail: 'Detail'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            msg: 'string',
+            requestId: 'string',
+            riskLevel: 'string',
+            code: 'number',
+            detail: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class AuthenticateSigResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: AuthenticateSigResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: AuthenticateSigResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class ConfigurationStyleRequest extends $tea.Model {
+    sourceIp?: string
+    applyType?: string
+    scene?: string
+    configurationMethod?: string
+    refExtId?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            applyType: 'ApplyType',
+            scene: 'Scene',
+            configurationMethod: 'ConfigurationMethod',
+            refExtId: 'RefExtId'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            applyType: 'string',
+            scene: 'string',
+            configurationMethod: 'string',
+            refExtId: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class ConfigurationStyleResponseBody extends $tea.Model {
+    codeData?: ConfigurationStyleResponseBodyCodeData
+    requestId?: string
+    bizCode?: string
+    static names(): { [key: string]: string } {
+        return {
+            codeData: 'CodeData',
+            requestId: 'RequestId',
+            bizCode: 'BizCode'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            codeData: ConfigurationStyleResponseBodyCodeData,
+            requestId: 'string',
+            bizCode: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class ConfigurationStyleResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: ConfigurationStyleResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: ConfigurationStyleResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class CreateConfigurationRequest extends $tea.Model {
+    sourceIp?: string
+    configurationName?: string
+    applyType?: string
+    scene?: string
+    maxPV?: string
+    configurationMethod?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            configurationName: 'ConfigurationName',
+            applyType: 'ApplyType',
+            scene: 'Scene',
+            maxPV: 'MaxPV',
+            configurationMethod: 'ConfigurationMethod'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            configurationName: 'string',
+            applyType: 'string',
+            scene: 'string',
+            maxPV: 'string',
+            configurationMethod: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class CreateConfigurationResponseBody extends $tea.Model {
+    refExtId?: string
+    requestId?: string
+    bizCode?: string
+    static names(): { [key: string]: string } {
+        return {
+            refExtId: 'RefExtId',
+            requestId: 'RequestId',
+            bizCode: 'BizCode'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            refExtId: 'string',
+            requestId: 'string',
+            bizCode: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class CreateConfigurationResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: CreateConfigurationResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: CreateConfigurationResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsConfigNameRequest extends $tea.Model {
+    sourceIp?: string
+    productName?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            productName: 'ProductName'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            productName: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsConfigNameResponseBody extends $tea.Model {
+    requestId?: string
+    configNames?: DescribeAfsConfigNameResponseBodyConfigNames[]
+    bizCode?: string
+    hasData?: boolean
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            configNames: 'ConfigNames',
+            bizCode: 'BizCode',
+            hasData: 'HasData'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            configNames: { type: 'array', itemType: DescribeAfsConfigNameResponseBodyConfigNames },
+            bizCode: 'string',
+            hasData: 'boolean'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsConfigNameResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeAfsConfigNameResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeAfsConfigNameResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsOneConfDataRequest extends $tea.Model {
+    sourceIp?: string
+    appKey?: string
+    scene?: string
+    productName?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            appKey: 'AppKey',
+            scene: 'Scene',
+            productName: 'ProductName'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            appKey: 'string',
+            scene: 'string',
+            productName: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsOneConfDataResponseBody extends $tea.Model {
+    requestId?: string
+    icOneConfDatas?: DescribeAfsOneConfDataResponseBodyIcOneConfDatas[]
+    ncOneConfDatas?: DescribeAfsOneConfDataResponseBodyNcOneConfDatas[]
+    nvcOneConfDatas?: DescribeAfsOneConfDataResponseBodyNvcOneConfDatas[]
+    bizCode?: string
+    hasData?: boolean
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            icOneConfDatas: 'IcOneConfDatas',
+            ncOneConfDatas: 'NcOneConfDatas',
+            nvcOneConfDatas: 'NvcOneConfDatas',
+            bizCode: 'BizCode',
+            hasData: 'HasData'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            icOneConfDatas: { type: 'array', itemType: DescribeAfsOneConfDataResponseBodyIcOneConfDatas },
+            ncOneConfDatas: { type: 'array', itemType: DescribeAfsOneConfDataResponseBodyNcOneConfDatas },
+            nvcOneConfDatas: { type: 'array', itemType: DescribeAfsOneConfDataResponseBodyNvcOneConfDatas },
+            bizCode: 'string',
+            hasData: 'boolean'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsOneConfDataResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeAfsOneConfDataResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeAfsOneConfDataResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataRequest extends $tea.Model {
+    sourceIp?: string
+    productName?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            productName: 'ProductName'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            productName: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponseBody extends $tea.Model {
+    requestId?: string
+    icTotalConfSigDatas?: DescribeAfsTotalConfDataResponseBodyIcTotalConfSigDatas[]
+    nvcTotalConfSecVerifyDatas?: DescribeAfsTotalConfDataResponseBodyNvcTotalConfSecVerifyDatas[]
+    icTotalConfVerifyDatas?: DescribeAfsTotalConfDataResponseBodyIcTotalConfVerifyDatas[]
+    nvcTotalConfVerifyDatas?: DescribeAfsTotalConfDataResponseBodyNvcTotalConfVerifyDatas[]
+    icTotalConfSecVerifyDatas?: DescribeAfsTotalConfDataResponseBodyIcTotalConfSecVerifyDatas[]
+    ncTotalConfBlockDatas?: DescribeAfsTotalConfDataResponseBodyNcTotalConfBlockDatas[]
+    icTotalConfBlockDatas?: DescribeAfsTotalConfDataResponseBodyIcTotalConfBlockDatas[]
+    ncTotalConfSigDatas?: DescribeAfsTotalConfDataResponseBodyNcTotalConfSigDatas[]
+    bizCode?: string
+    hasData?: boolean
+    ncTotalConfVerifyDatas?: DescribeAfsTotalConfDataResponseBodyNcTotalConfVerifyDatas[]
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            icTotalConfSigDatas: 'IcTotalConfSigDatas',
+            nvcTotalConfSecVerifyDatas: 'NvcTotalConfSecVerifyDatas',
+            icTotalConfVerifyDatas: 'IcTotalConfVerifyDatas',
+            nvcTotalConfVerifyDatas: 'NvcTotalConfVerifyDatas',
+            icTotalConfSecVerifyDatas: 'IcTotalConfSecVerifyDatas',
+            ncTotalConfBlockDatas: 'NcTotalConfBlockDatas',
+            icTotalConfBlockDatas: 'IcTotalConfBlockDatas',
+            ncTotalConfSigDatas: 'NcTotalConfSigDatas',
+            bizCode: 'BizCode',
+            hasData: 'HasData',
+            ncTotalConfVerifyDatas: 'NcTotalConfVerifyDatas'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            icTotalConfSigDatas: { type: 'array', itemType: DescribeAfsTotalConfDataResponseBodyIcTotalConfSigDatas },
+            nvcTotalConfSecVerifyDatas: {
+                type: 'array',
+                itemType: DescribeAfsTotalConfDataResponseBodyNvcTotalConfSecVerifyDatas
+            },
+            icTotalConfVerifyDatas: {
+                type: 'array',
+                itemType: DescribeAfsTotalConfDataResponseBodyIcTotalConfVerifyDatas
+            },
+            nvcTotalConfVerifyDatas: {
+                type: 'array',
+                itemType: DescribeAfsTotalConfDataResponseBodyNvcTotalConfVerifyDatas
+            },
+            icTotalConfSecVerifyDatas: {
+                type: 'array',
+                itemType: DescribeAfsTotalConfDataResponseBodyIcTotalConfSecVerifyDatas
+            },
+            ncTotalConfBlockDatas: {
+                type: 'array',
+                itemType: DescribeAfsTotalConfDataResponseBodyNcTotalConfBlockDatas
+            },
+            icTotalConfBlockDatas: {
+                type: 'array',
+                itemType: DescribeAfsTotalConfDataResponseBodyIcTotalConfBlockDatas
+            },
+            ncTotalConfSigDatas: { type: 'array', itemType: DescribeAfsTotalConfDataResponseBodyNcTotalConfSigDatas },
+            bizCode: 'string',
+            hasData: 'boolean',
+            ncTotalConfVerifyDatas: {
+                type: 'array',
+                itemType: DescribeAfsTotalConfDataResponseBodyNcTotalConfVerifyDatas
+            }
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeAfsTotalConfDataResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeAfsTotalConfDataResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsVerifySigDataRequest extends $tea.Model {
+    sourceIp?: string
+    appKey?: string
+    scene?: string
+    productName?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            appKey: 'AppKey',
+            scene: 'Scene',
+            productName: 'ProductName'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            appKey: 'string',
+            scene: 'string',
+            productName: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsVerifySigDataResponseBody extends $tea.Model {
+    nvcCodeDatas?: DescribeAfsVerifySigDataResponseBodyNvcCodeDatas[]
+    nvcSecDatas?: DescribeAfsVerifySigDataResponseBodyNvcSecDatas[]
+    icVerifyDatas?: DescribeAfsVerifySigDataResponseBodyIcVerifyDatas[]
+    requestId?: string
+    ncVerifyDatas?: DescribeAfsVerifySigDataResponseBodyNcVerifyDatas[]
+    nvcVerifyDatas?: DescribeAfsVerifySigDataResponseBodyNvcVerifyDatas[]
+    icSecVerifyDatas?: DescribeAfsVerifySigDataResponseBodyIcSecVerifyDatas[]
+    ncSigDatas?: DescribeAfsVerifySigDataResponseBodyNcSigDatas[]
+    bizCode?: string
+    hasData?: boolean
+    static names(): { [key: string]: string } {
+        return {
+            nvcCodeDatas: 'NvcCodeDatas',
+            nvcSecDatas: 'NvcSecDatas',
+            icVerifyDatas: 'IcVerifyDatas',
+            requestId: 'RequestId',
+            ncVerifyDatas: 'NcVerifyDatas',
+            nvcVerifyDatas: 'NvcVerifyDatas',
+            icSecVerifyDatas: 'IcSecVerifyDatas',
+            ncSigDatas: 'NcSigDatas',
+            bizCode: 'BizCode',
+            hasData: 'HasData'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            nvcCodeDatas: { type: 'array', itemType: DescribeAfsVerifySigDataResponseBodyNvcCodeDatas },
+            nvcSecDatas: { type: 'array', itemType: DescribeAfsVerifySigDataResponseBodyNvcSecDatas },
+            icVerifyDatas: { type: 'array', itemType: DescribeAfsVerifySigDataResponseBodyIcVerifyDatas },
+            requestId: 'string',
+            ncVerifyDatas: { type: 'array', itemType: DescribeAfsVerifySigDataResponseBodyNcVerifyDatas },
+            nvcVerifyDatas: { type: 'array', itemType: DescribeAfsVerifySigDataResponseBodyNvcVerifyDatas },
+            icSecVerifyDatas: { type: 'array', itemType: DescribeAfsVerifySigDataResponseBodyIcSecVerifyDatas },
+            ncSigDatas: { type: 'array', itemType: DescribeAfsVerifySigDataResponseBodyNcSigDatas },
+            bizCode: 'string',
+            hasData: 'boolean'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsVerifySigDataResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeAfsVerifySigDataResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeAfsVerifySigDataResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaDayRequest extends $tea.Model {
+    sourceIp?: string
+    configName?: string
+    type?: string
+    time?: string
+    refExtId?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            configName: 'ConfigName',
+            type: 'Type',
+            time: 'Time',
+            refExtId: 'RefExtId'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            configName: 'string',
+            type: 'string',
+            time: 'string',
+            refExtId: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaDayResponseBody extends $tea.Model {
+    captchaDay?: DescribeCaptchaDayResponseBodyCaptchaDay
+    requestId?: string
+    bizCode?: string
+    hasData?: boolean
+    static names(): { [key: string]: string } {
+        return {
+            captchaDay: 'CaptchaDay',
+            requestId: 'RequestId',
+            bizCode: 'BizCode',
+            hasData: 'HasData'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            captchaDay: DescribeCaptchaDayResponseBodyCaptchaDay,
+            requestId: 'string',
+            bizCode: 'string',
+            hasData: 'boolean'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaDayResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeCaptchaDayResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeCaptchaDayResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaIpCityRequest extends $tea.Model {
+    sourceIp?: string
+    configName?: string
+    type?: string
+    time?: string
+    refExtId?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            configName: 'ConfigName',
+            type: 'Type',
+            time: 'Time',
+            refExtId: 'RefExtId'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            configName: 'string',
+            type: 'string',
+            time: 'string',
+            refExtId: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaIpCityResponseBody extends $tea.Model {
+    captchaIps?: DescribeCaptchaIpCityResponseBodyCaptchaIps[]
+    captchaCities?: DescribeCaptchaIpCityResponseBodyCaptchaCities[]
+    requestId?: string
+    bizCode?: string
+    hasData?: boolean
+    static names(): { [key: string]: string } {
+        return {
+            captchaIps: 'CaptchaIps',
+            captchaCities: 'CaptchaCities',
+            requestId: 'RequestId',
+            bizCode: 'BizCode',
+            hasData: 'HasData'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            captchaIps: { type: 'array', itemType: DescribeCaptchaIpCityResponseBodyCaptchaIps },
+            captchaCities: { type: 'array', itemType: DescribeCaptchaIpCityResponseBodyCaptchaCities },
+            requestId: 'string',
+            bizCode: 'string',
+            hasData: 'boolean'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaIpCityResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeCaptchaIpCityResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeCaptchaIpCityResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaMinRequest extends $tea.Model {
+    sourceIp?: string
+    configName?: string
+    type?: string
+    time?: string
+    refExtId?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            configName: 'ConfigName',
+            type: 'Type',
+            time: 'Time',
+            refExtId: 'RefExtId'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            configName: 'string',
+            type: 'string',
+            time: 'string',
+            refExtId: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaMinResponseBody extends $tea.Model {
+    requestId?: string
+    captchaMins?: DescribeCaptchaMinResponseBodyCaptchaMins[]
+    bizCode?: string
+    hasData?: boolean
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            captchaMins: 'CaptchaMins',
+            bizCode: 'BizCode',
+            hasData: 'HasData'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            captchaMins: { type: 'array', itemType: DescribeCaptchaMinResponseBodyCaptchaMins },
+            bizCode: 'string',
+            hasData: 'boolean'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaMinResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeCaptchaMinResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeCaptchaMinResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaOrderRequest extends $tea.Model {
+    sourceIp?: string
+    lang?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            lang: 'Lang'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            lang: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaOrderResponseBody extends $tea.Model {
+    requestId?: string
+    bizCode?: string
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            bizCode: 'BizCode'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            bizCode: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaOrderResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeCaptchaOrderResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeCaptchaOrderResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaRiskRequest extends $tea.Model {
+    sourceIp?: string
+    configName?: string
+    time?: string
+    refExtId?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            configName: 'ConfigName',
+            time: 'Time',
+            refExtId: 'RefExtId'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            configName: 'string',
+            time: 'string',
+            refExtId: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaRiskResponseBody extends $tea.Model {
+    requestId?: string
+    numOfLastMonth?: number
+    riskLevel?: string
+    numOfThisMonth?: number
+    bizCode?: string
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            numOfLastMonth: 'NumOfLastMonth',
+            riskLevel: 'RiskLevel',
+            numOfThisMonth: 'NumOfThisMonth',
+            bizCode: 'BizCode'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            numOfLastMonth: 'number',
+            riskLevel: 'string',
+            numOfThisMonth: 'number',
+            bizCode: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaRiskResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeCaptchaRiskResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeCaptchaRiskResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeConfigNameRequest extends $tea.Model {
+    sourceIp?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeConfigNameResponseBody extends $tea.Model {
+    requestId?: string
+    configNames?: DescribeConfigNameResponseBodyConfigNames[]
+    hasConfig?: boolean
+    bizCode?: string
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            configNames: 'ConfigNames',
+            hasConfig: 'HasConfig',
+            bizCode: 'BizCode'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            configNames: { type: 'array', itemType: DescribeConfigNameResponseBodyConfigNames },
+            hasConfig: 'boolean',
+            bizCode: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeConfigNameResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeConfigNameResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeConfigNameResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeEarlyWarningRequest extends $tea.Model {
+    sourceIp?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeEarlyWarningResponseBody extends $tea.Model {
+    requestId?: string
+    hasWarning?: boolean
+    earlyWarnings?: DescribeEarlyWarningResponseBodyEarlyWarnings[]
+    bizCode?: string
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            hasWarning: 'HasWarning',
+            earlyWarnings: 'EarlyWarnings',
+            bizCode: 'BizCode'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            hasWarning: 'boolean',
+            earlyWarnings: { type: 'array', itemType: DescribeEarlyWarningResponseBodyEarlyWarnings },
+            bizCode: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeEarlyWarningResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeEarlyWarningResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeEarlyWarningResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeOrderInfoRequest extends $tea.Model {
+    sourceIp?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeOrderInfoResponseBody extends $tea.Model {
+    orderLevel?: string
+    requestId?: string
+    num?: string
+    endDate?: string
+    bizCode?: string
+    beginDate?: string
+    static names(): { [key: string]: string } {
+        return {
+            orderLevel: 'OrderLevel',
+            requestId: 'RequestId',
+            num: 'Num',
+            endDate: 'EndDate',
+            bizCode: 'BizCode',
+            beginDate: 'BeginDate'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            orderLevel: 'string',
+            requestId: 'string',
+            num: 'string',
+            endDate: 'string',
+            bizCode: 'string',
+            beginDate: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeOrderInfoResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribeOrderInfoResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribeOrderInfoResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribePersonMachineListRequest extends $tea.Model {
+    sourceIp?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribePersonMachineListResponseBody extends $tea.Model {
+    personMachineRes?: DescribePersonMachineListResponseBodyPersonMachineRes
+    requestId?: string
+    bizCode?: string
+    static names(): { [key: string]: string } {
+        return {
+            personMachineRes: 'PersonMachineRes',
+            requestId: 'RequestId',
+            bizCode: 'BizCode'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            personMachineRes: DescribePersonMachineListResponseBodyPersonMachineRes,
+            requestId: 'string',
+            bizCode: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribePersonMachineListResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: DescribePersonMachineListResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: DescribePersonMachineListResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class SetEarlyWarningRequest extends $tea.Model {
+    sourceIp?: string
+    warnOpen?: boolean
+    channel?: string
+    frequency?: string
+    timeOpen?: boolean
+    timeBegin?: string
+    timeEnd?: string
+    title?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            warnOpen: 'WarnOpen',
+            channel: 'Channel',
+            frequency: 'Frequency',
+            timeOpen: 'TimeOpen',
+            timeBegin: 'TimeBegin',
+            timeEnd: 'TimeEnd',
+            title: 'Title'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            warnOpen: 'boolean',
+            channel: 'string',
+            frequency: 'string',
+            timeOpen: 'boolean',
+            timeBegin: 'string',
+            timeEnd: 'string',
+            title: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class SetEarlyWarningResponseBody extends $tea.Model {
+    requestId?: string
+    bizCode?: string
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            bizCode: 'BizCode'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            bizCode: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class SetEarlyWarningResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: SetEarlyWarningResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: SetEarlyWarningResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class UpdateConfigNameRequest extends $tea.Model {
+    sourceIp?: string
+    lang?: string
+    refExtId?: string
+    configName?: string
+    static names(): { [key: string]: string } {
+        return {
+            sourceIp: 'SourceIp',
+            lang: 'Lang',
+            refExtId: 'RefExtId',
+            configName: 'ConfigName'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            sourceIp: 'string',
+            lang: 'string',
+            refExtId: 'string',
+            configName: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class UpdateConfigNameResponseBody extends $tea.Model {
+    requestId?: string
+    bizCode?: string
+    static names(): { [key: string]: string } {
+        return {
+            requestId: 'RequestId',
+            bizCode: 'BizCode'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            requestId: 'string',
+            bizCode: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class UpdateConfigNameResponse extends $tea.Model {
+    headers: { [key: string]: string }
+    body: UpdateConfigNameResponseBody
+    static names(): { [key: string]: string } {
+        return {
+            headers: 'headers',
+            body: 'body'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            headers: { type: 'map', keyType: 'string', valueType: 'string' },
+            body: UpdateConfigNameResponseBody
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class ConfigurationStyleResponseBodyCodeData extends $tea.Model {
+    nodeJs?: string
+    javaUrl?: string
+    python?: string
+    java?: string
+    nodeJsUrl?: string
+    pythonUrl?: string
+    html?: string
+    phpUrl?: string
+    netUrl?: string
+    php?: string
+    net?: string
+    static names(): { [key: string]: string } {
+        return {
+            nodeJs: 'NodeJs',
+            javaUrl: 'JavaUrl',
+            python: 'Python',
+            java: 'Java',
+            nodeJsUrl: 'NodeJsUrl',
+            pythonUrl: 'PythonUrl',
+            html: 'Html',
+            phpUrl: 'PhpUrl',
+            netUrl: 'NetUrl',
+            php: 'Php',
+            net: 'Net'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            nodeJs: 'string',
+            javaUrl: 'string',
+            python: 'string',
+            java: 'string',
+            nodeJsUrl: 'string',
+            pythonUrl: 'string',
+            html: 'string',
+            phpUrl: 'string',
+            netUrl: 'string',
+            php: 'string',
+            net: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsConfigNameResponseBodyConfigNames extends $tea.Model {
+    configName?: string
+    appKey?: string
+    refExtId?: string
+    aliUid?: string
+    scene?: string
+    static names(): { [key: string]: string } {
+        return {
+            configName: 'ConfigName',
+            appKey: 'AppKey',
+            refExtId: 'RefExtId',
+            aliUid: 'AliUid',
+            scene: 'Scene'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            configName: 'string',
+            appKey: 'string',
+            refExtId: 'string',
+            aliUid: 'string',
+            scene: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsOneConfDataResponseBodyIcOneConfDatas extends $tea.Model {
+    icSigCnt?: number
+    icBlockCnt?: number
+    tableDate?: string
+    icVerifyCnt?: number
+    icSecVerifyCnt?: number
+    icInitCnt?: number
+    icNoActionCnt?: number
+    static names(): { [key: string]: string } {
+        return {
+            icSigCnt: 'IcSigCnt',
+            icBlockCnt: 'IcBlockCnt',
+            tableDate: 'TableDate',
+            icVerifyCnt: 'IcVerifyCnt',
+            icSecVerifyCnt: 'IcSecVerifyCnt',
+            icInitCnt: 'IcInitCnt',
+            icNoActionCnt: 'IcNoActionCnt'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            icSigCnt: 'number',
+            icBlockCnt: 'number',
+            tableDate: 'string',
+            icVerifyCnt: 'number',
+            icSecVerifyCnt: 'number',
+            icInitCnt: 'number',
+            icNoActionCnt: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsOneConfDataResponseBodyNcOneConfDatas extends $tea.Model {
+    tableDate?: string
+    ncSigCnt?: number
+    ncVerifyCnt?: number
+    ncNoActionCnt?: number
+    ncVerifyBlockCnt?: number
+    ncInitCnt?: number
+    ncSigBlockCnt?: number
+    static names(): { [key: string]: string } {
+        return {
+            tableDate: 'TableDate',
+            ncSigCnt: 'NcSigCnt',
+            ncVerifyCnt: 'NcVerifyCnt',
+            ncNoActionCnt: 'NcNoActionCnt',
+            ncVerifyBlockCnt: 'NcVerifyBlockCnt',
+            ncInitCnt: 'NcInitCnt',
+            ncSigBlockCnt: 'NcSigBlockCnt'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            tableDate: 'string',
+            ncSigCnt: 'number',
+            ncVerifyCnt: 'number',
+            ncNoActionCnt: 'number',
+            ncVerifyBlockCnt: 'number',
+            ncInitCnt: 'number',
+            ncSigBlockCnt: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsOneConfDataResponseBodyNvcOneConfDatas extends $tea.Model {
+    nvcNoActionCnt?: number
+    nvcSecVerifyCnt?: number
+    tableDate?: string
+    nvcVerifyCnt?: number
+    nvcBlockCnt?: number
+    nvcInitCnt?: number
+    static names(): { [key: string]: string } {
+        return {
+            nvcNoActionCnt: 'NvcNoActionCnt',
+            nvcSecVerifyCnt: 'NvcSecVerifyCnt',
+            tableDate: 'TableDate',
+            nvcVerifyCnt: 'NvcVerifyCnt',
+            nvcBlockCnt: 'NvcBlockCnt',
+            nvcInitCnt: 'NvcInitCnt'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            nvcNoActionCnt: 'number',
+            nvcSecVerifyCnt: 'number',
+            tableDate: 'string',
+            nvcVerifyCnt: 'number',
+            nvcBlockCnt: 'number',
+            nvcInitCnt: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponseBodyIcTotalConfSigDatas extends $tea.Model {
+    time?: string
+    value?: number
+    category?: string
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            value: 'Value',
+            category: 'Category'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            value: 'number',
+            category: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponseBodyNvcTotalConfSecVerifyDatas extends $tea.Model {
+    time?: string
+    value?: number
+    category?: string
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            value: 'Value',
+            category: 'Category'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            value: 'number',
+            category: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponseBodyIcTotalConfVerifyDatas extends $tea.Model {
+    time?: string
+    value?: number
+    category?: string
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            value: 'Value',
+            category: 'Category'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            value: 'number',
+            category: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponseBodyNvcTotalConfVerifyDatas extends $tea.Model {
+    time?: string
+    value?: number
+    category?: string
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            value: 'Value',
+            category: 'Category'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            value: 'number',
+            category: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponseBodyIcTotalConfSecVerifyDatas extends $tea.Model {
+    time?: string
+    value?: number
+    category?: string
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            value: 'Value',
+            category: 'Category'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            value: 'number',
+            category: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponseBodyNcTotalConfBlockDatas extends $tea.Model {
+    time?: string
+    value?: number
+    category?: string
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            value: 'Value',
+            category: 'Category'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            value: 'number',
+            category: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponseBodyIcTotalConfBlockDatas extends $tea.Model {
+    time?: string
+    value?: number
+    category?: string
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            value: 'Value',
+            category: 'Category'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            value: 'number',
+            category: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponseBodyNcTotalConfSigDatas extends $tea.Model {
+    time?: string
+    value?: number
+    category?: string
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            value: 'Value',
+            category: 'Category'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            value: 'number',
+            category: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsTotalConfDataResponseBodyNcTotalConfVerifyDatas extends $tea.Model {
+    time?: string
+    value?: number
+    category?: string
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            value: 'Value',
+            category: 'Category'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            value: 'number',
+            category: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsVerifySigDataResponseBodyNvcCodeDatas extends $tea.Model {
+    time?: string
+    nvcCode400?: number
+    nvcCode200?: number
+    nvcCode800?: number
+    nvcCode600?: number
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            nvcCode400: 'NvcCode400',
+            nvcCode200: 'NvcCode200',
+            nvcCode800: 'NvcCode800',
+            nvcCode600: 'NvcCode600'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            nvcCode400: 'number',
+            nvcCode200: 'number',
+            nvcCode800: 'number',
+            nvcCode600: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsVerifySigDataResponseBodyNvcSecDatas extends $tea.Model {
+    time?: string
+    nvcSecBlock?: number
+    nvcSecPass?: number
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            nvcSecBlock: 'NvcSecBlock',
+            nvcSecPass: 'NvcSecPass'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            nvcSecBlock: 'number',
+            nvcSecPass: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsVerifySigDataResponseBodyIcVerifyDatas extends $tea.Model {
+    icSigCnt?: number
+    time?: string
+    icBlockCnt?: number
+    icSecVerifyCnt?: number
+    icVerifyCnt?: number
+    static names(): { [key: string]: string } {
+        return {
+            icSigCnt: 'IcSigCnt',
+            time: 'Time',
+            icBlockCnt: 'IcBlockCnt',
+            icSecVerifyCnt: 'IcSecVerifyCnt',
+            icVerifyCnt: 'IcVerifyCnt'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            icSigCnt: 'number',
+            time: 'string',
+            icBlockCnt: 'number',
+            icSecVerifyCnt: 'number',
+            icVerifyCnt: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsVerifySigDataResponseBodyNcVerifyDatas extends $tea.Model {
+    time?: string
+    ncVerifyPass?: number
+    ncVerifyBlock?: number
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            ncVerifyPass: 'NcVerifyPass',
+            ncVerifyBlock: 'NcVerifyBlock'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            ncVerifyPass: 'number',
+            ncVerifyBlock: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsVerifySigDataResponseBodyNvcVerifyDatas extends $tea.Model {
+    time?: string
+    nvcSecVerifyCnt?: number
+    nvcVerifyCnt?: number
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            nvcSecVerifyCnt: 'NvcSecVerifyCnt',
+            nvcVerifyCnt: 'NvcVerifyCnt'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            nvcSecVerifyCnt: 'number',
+            nvcVerifyCnt: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsVerifySigDataResponseBodyIcSecVerifyDatas extends $tea.Model {
+    icSecBlock?: number
+    time?: string
+    icSecPass?: number
+    static names(): { [key: string]: string } {
+        return {
+            icSecBlock: 'IcSecBlock',
+            time: 'Time',
+            icSecPass: 'IcSecPass'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            icSecBlock: 'number',
+            time: 'string',
+            icSecPass: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeAfsVerifySigDataResponseBodyNcSigDatas extends $tea.Model {
+    time?: string
+    ncSigBlock?: number
+    ncSigPass?: number
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            ncSigBlock: 'NcSigBlock',
+            ncSigPass: 'NcSigPass'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            ncSigBlock: 'number',
+            ncSigPass: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaDayResponseBodyCaptchaDay extends $tea.Model {
+    checkTested?: number
+    direcetStrategyInterception?: number
+    maliciousFlow?: number
+    pass?: number
+    legalSign?: number
+    uncheckTested?: number
+    askForVerify?: number
+    init?: number
+    twiceVerify?: number
+    static names(): { [key: string]: string } {
+        return {
+            checkTested: 'CheckTested',
+            direcetStrategyInterception: 'DirecetStrategyInterception',
+            maliciousFlow: 'MaliciousFlow',
+            pass: 'Pass',
+            legalSign: 'LegalSign',
+            uncheckTested: 'UncheckTested',
+            askForVerify: 'AskForVerify',
+            init: 'Init',
+            twiceVerify: 'TwiceVerify'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            checkTested: 'number',
+            direcetStrategyInterception: 'number',
+            maliciousFlow: 'number',
+            pass: 'number',
+            legalSign: 'number',
+            uncheckTested: 'number',
+            askForVerify: 'number',
+            init: 'number',
+            twiceVerify: 'number'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaIpCityResponseBodyCaptchaIps extends $tea.Model {
+    value?: number
+    ip?: string
+    static names(): { [key: string]: string } {
+        return {
+            value: 'Value',
+            ip: 'Ip'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            value: 'number',
+            ip: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaIpCityResponseBodyCaptchaCities extends $tea.Model {
+    pv?: number
+    lng?: string
+    lat?: string
+    location?: string
+    static names(): { [key: string]: string } {
+        return {
+            pv: 'Pv',
+            lng: 'Lng',
+            lat: 'Lat',
+            location: 'Location'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            pv: 'number',
+            lng: 'string',
+            lat: 'string',
+            location: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeCaptchaMinResponseBodyCaptchaMins extends $tea.Model {
+    time?: string
+    pass?: string
+    interception?: string
+    static names(): { [key: string]: string } {
+        return {
+            time: 'Time',
+            pass: 'Pass',
+            interception: 'Interception'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            time: 'string',
+            pass: 'string',
+            interception: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeConfigNameResponseBodyConfigNames extends $tea.Model {
+    configName?: string
+    refExtId?: string
+    aliUid?: string
+    static names(): { [key: string]: string } {
+        return {
+            configName: 'ConfigName',
+            refExtId: 'RefExtId',
+            aliUid: 'AliUid'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            configName: 'string',
+            refExtId: 'string',
+            aliUid: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribeEarlyWarningResponseBodyEarlyWarnings extends $tea.Model {
+    frequency?: string
+    timeBegin?: string
+    timeEnd?: string
+    channel?: string
+    warnOpen?: boolean
+    title?: string
+    content?: string
+    timeOpen?: boolean
+    static names(): { [key: string]: string } {
+        return {
+            frequency: 'Frequency',
+            timeBegin: 'TimeBegin',
+            timeEnd: 'TimeEnd',
+            channel: 'Channel',
+            warnOpen: 'WarnOpen',
+            title: 'Title',
+            content: 'Content',
+            timeOpen: 'TimeOpen'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            frequency: 'string',
+            timeBegin: 'string',
+            timeEnd: 'string',
+            channel: 'string',
+            warnOpen: 'boolean',
+            title: 'string',
+            content: 'string',
+            timeOpen: 'boolean'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribePersonMachineListResponseBodyPersonMachineResPersonMachines extends $tea.Model {
+    configurationName?: string
+    configurationMethod?: string
+    extId?: string
+    applyType?: string
+    lastUpdate?: string
+    scene?: string
+    sceneOriginal?: string
+    appkey?: string
+    static names(): { [key: string]: string } {
+        return {
+            configurationName: 'ConfigurationName',
+            configurationMethod: 'ConfigurationMethod',
+            extId: 'ExtId',
+            applyType: 'ApplyType',
+            lastUpdate: 'LastUpdate',
+            scene: 'Scene',
+            sceneOriginal: 'SceneOriginal',
+            appkey: 'Appkey'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            configurationName: 'string',
+            configurationMethod: 'string',
+            extId: 'string',
+            applyType: 'string',
+            lastUpdate: 'string',
+            scene: 'string',
+            sceneOriginal: 'string',
+            appkey: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class DescribePersonMachineListResponseBodyPersonMachineRes extends $tea.Model {
+    personMachines?: DescribePersonMachineListResponseBodyPersonMachineResPersonMachines[]
+    hasConfiguration?: string
+    static names(): { [key: string]: string } {
+        return {
+            personMachines: 'PersonMachines',
+            hasConfiguration: 'HasConfiguration'
+        }
+    }
+
+    static types(): { [key: string]: any } {
+        return {
+            personMachines: {
+                type: 'array',
+                itemType: DescribePersonMachineListResponseBodyPersonMachineResPersonMachines
+            },
+            hasConfiguration: 'string'
+        }
+    }
+
+    constructor(map?: { [key: string]: any }) {
+        super(map)
+    }
+}
+
+export class AfsClient extends OpenApi {
+    constructor(config: $OpenApi.Config) {
+        super(config)
+        this._endpointRule = 'regional'
+        this._endpointMap = {
+            'ap-northeast-1': 'afs.aliyuncs.com',
+            'ap-northeast-2-pop': 'afs.aliyuncs.com',
+            'ap-south-1': 'afs.aliyuncs.com',
+            'ap-southeast-1': 'afs.aliyuncs.com',
+            'ap-southeast-2': 'afs.aliyuncs.com',
+            'ap-southeast-3': 'afs.aliyuncs.com',
+            'ap-southeast-5': 'afs.aliyuncs.com',
+            'cn-beijing': 'afs.aliyuncs.com',
+            'cn-beijing-finance-1': 'afs.aliyuncs.com',
+            'cn-beijing-finance-pop': 'afs.aliyuncs.com',
+            'cn-beijing-gov-1': 'afs.aliyuncs.com',
+            'cn-beijing-nu16-b01': 'afs.aliyuncs.com',
+            'cn-chengdu': 'afs.aliyuncs.com',
+            'cn-edge-1': 'afs.aliyuncs.com',
+            'cn-fujian': 'afs.aliyuncs.com',
+            'cn-haidian-cm12-c01': 'afs.aliyuncs.com',
+            'cn-hangzhou-bj-b01': 'afs.aliyuncs.com',
+            'cn-hangzhou-finance': 'afs.aliyuncs.com',
+            'cn-hangzhou-internal-prod-1': 'afs.aliyuncs.com',
+            'cn-hangzhou-internal-test-1': 'afs.aliyuncs.com',
+            'cn-hangzhou-internal-test-2': 'afs.aliyuncs.com',
+            'cn-hangzhou-internal-test-3': 'afs.aliyuncs.com',
+            'cn-hangzhou-test-306': 'afs.aliyuncs.com',
+            'cn-hongkong': 'afs.aliyuncs.com',
+            'cn-hongkong-finance-pop': 'afs.aliyuncs.com',
+            'cn-huhehaote': 'afs.aliyuncs.com',
+            'cn-north-2-gov-1': 'afs.aliyuncs.com',
+            'cn-qingdao': 'afs.aliyuncs.com',
+            'cn-qingdao-nebula': 'afs.aliyuncs.com',
+            'cn-shanghai': 'afs.aliyuncs.com',
+            'cn-shanghai-et15-b01': 'afs.aliyuncs.com',
+            'cn-shanghai-et2-b01': 'afs.aliyuncs.com',
+            'cn-shanghai-finance-1': 'afs.aliyuncs.com',
+            'cn-shanghai-inner': 'afs.aliyuncs.com',
+            'cn-shanghai-internal-test-1': 'afs.aliyuncs.com',
+            'cn-shenzhen': 'afs.aliyuncs.com',
+            'cn-shenzhen-finance-1': 'afs.aliyuncs.com',
+            'cn-shenzhen-inner': 'afs.aliyuncs.com',
+            'cn-shenzhen-st4-d01': 'afs.aliyuncs.com',
+            'cn-shenzhen-su18-b01': 'afs.aliyuncs.com',
+            'cn-wuhan': 'afs.aliyuncs.com',
+            'cn-yushanfang': 'afs.aliyuncs.com',
+            'cn-zhangbei-na61-b01': 'afs.aliyuncs.com',
+            'cn-zhangjiakou': 'afs.aliyuncs.com',
+            'cn-zhangjiakou-na62-a01': 'afs.aliyuncs.com',
+            'cn-zhengzhou-nebula-1': 'afs.aliyuncs.com',
+            'eu-central-1': 'afs.aliyuncs.com',
+            'eu-west-1': 'afs.aliyuncs.com',
+            'eu-west-1-oxs': 'afs.aliyuncs.com',
+            'me-east-1': 'afs.aliyuncs.com',
+            'rus-west-1-pop': 'afs.aliyuncs.com',
+            'us-east-1': 'afs.aliyuncs.com',
+            'us-west-1': 'afs.aliyuncs.com'
+        }
+        this.checkConfig(config)
+        this._endpoint = this.getEndpoint(
+            'afs',
+            this._regionId,
+            this._endpointRule,
+            this._network,
+            this._suffix,
+            this._endpointMap,
+            this._endpoint
+        )
+    }
+
+    getEndpoint(
+        productId: string,
+        regionId: string,
+        endpointRule: string,
+        network: string,
+        suffix: string,
+        endpointMap: { [key: string]: string },
+        endpoint: string
+    ): string {
+        if (!Util.empty(endpoint)) {
+            return endpoint
+        }
+
+        if (!Util.isUnset(endpointMap) && !Util.empty(endpointMap[regionId])) {
+            return endpointMap[regionId]
+        }
+
+        return EndpointUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix)
+    }
+
+    async analyzeNvcWithOptions(
+        request: AnalyzeNvcRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<AnalyzeNvcResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<AnalyzeNvcResponse>(
+            await this.doRPCRequest('AnalyzeNvc', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new AnalyzeNvcResponse({})
+        )
+    }
+
+    async analyzeNvc(request: AnalyzeNvcRequest): Promise<AnalyzeNvcResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.analyzeNvcWithOptions(request, runtime)
+    }
+
+    async authenticateSigWithOptions(
+        request: AuthenticateSigRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<AuthenticateSigResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<AuthenticateSigResponse>(
+            await this.doRPCRequest('AuthenticateSig', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new AuthenticateSigResponse({})
+        )
+    }
+
+    async authenticateSig(request: AuthenticateSigRequest): Promise<AuthenticateSigResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.authenticateSigWithOptions(request, runtime)
+    }
+
+    async configurationStyleWithOptions(
+        request: ConfigurationStyleRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<ConfigurationStyleResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<ConfigurationStyleResponse>(
+            await this.doRPCRequest('ConfigurationStyle', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new ConfigurationStyleResponse({})
+        )
+    }
+
+    async configurationStyle(request: ConfigurationStyleRequest): Promise<ConfigurationStyleResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.configurationStyleWithOptions(request, runtime)
+    }
+
+    async createConfigurationWithOptions(
+        request: CreateConfigurationRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<CreateConfigurationResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<CreateConfigurationResponse>(
+            await this.doRPCRequest('CreateConfiguration', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new CreateConfigurationResponse({})
+        )
+    }
+
+    async createConfiguration(request: CreateConfigurationRequest): Promise<CreateConfigurationResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.createConfigurationWithOptions(request, runtime)
+    }
+
+    async describeAfsConfigNameWithOptions(
+        request: DescribeAfsConfigNameRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeAfsConfigNameResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeAfsConfigNameResponse>(
+            await this.doRPCRequest('DescribeAfsConfigName', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new DescribeAfsConfigNameResponse({})
+        )
+    }
+
+    async describeAfsConfigName(request: DescribeAfsConfigNameRequest): Promise<DescribeAfsConfigNameResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeAfsConfigNameWithOptions(request, runtime)
+    }
+
+    async describeAfsOneConfDataWithOptions(
+        request: DescribeAfsOneConfDataRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeAfsOneConfDataResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeAfsOneConfDataResponse>(
+            await this.doRPCRequest(
+                'DescribeAfsOneConfData',
+                '2018-01-12',
+                'HTTPS',
+                'POST',
+                'AK',
+                'json',
+                req,
+                runtime
+            ),
+            new DescribeAfsOneConfDataResponse({})
+        )
+    }
+
+    async describeAfsOneConfData(request: DescribeAfsOneConfDataRequest): Promise<DescribeAfsOneConfDataResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeAfsOneConfDataWithOptions(request, runtime)
+    }
+
+    async describeAfsTotalConfDataWithOptions(
+        request: DescribeAfsTotalConfDataRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeAfsTotalConfDataResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeAfsTotalConfDataResponse>(
+            await this.doRPCRequest(
+                'DescribeAfsTotalConfData',
+                '2018-01-12',
+                'HTTPS',
+                'POST',
+                'AK',
+                'json',
+                req,
+                runtime
+            ),
+            new DescribeAfsTotalConfDataResponse({})
+        )
+    }
+
+    async describeAfsTotalConfData(
+        request: DescribeAfsTotalConfDataRequest
+    ): Promise<DescribeAfsTotalConfDataResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeAfsTotalConfDataWithOptions(request, runtime)
+    }
+
+    async describeAfsVerifySigDataWithOptions(
+        request: DescribeAfsVerifySigDataRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeAfsVerifySigDataResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeAfsVerifySigDataResponse>(
+            await this.doRPCRequest(
+                'DescribeAfsVerifySigData',
+                '2018-01-12',
+                'HTTPS',
+                'POST',
+                'AK',
+                'json',
+                req,
+                runtime
+            ),
+            new DescribeAfsVerifySigDataResponse({})
+        )
+    }
+
+    async describeAfsVerifySigData(
+        request: DescribeAfsVerifySigDataRequest
+    ): Promise<DescribeAfsVerifySigDataResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeAfsVerifySigDataWithOptions(request, runtime)
+    }
+
+    async describeCaptchaDayWithOptions(
+        request: DescribeCaptchaDayRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeCaptchaDayResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeCaptchaDayResponse>(
+            await this.doRPCRequest('DescribeCaptchaDay', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new DescribeCaptchaDayResponse({})
+        )
+    }
+
+    async describeCaptchaDay(request: DescribeCaptchaDayRequest): Promise<DescribeCaptchaDayResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeCaptchaDayWithOptions(request, runtime)
+    }
+
+    async describeCaptchaIpCityWithOptions(
+        request: DescribeCaptchaIpCityRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeCaptchaIpCityResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeCaptchaIpCityResponse>(
+            await this.doRPCRequest('DescribeCaptchaIpCity', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new DescribeCaptchaIpCityResponse({})
+        )
+    }
+
+    async describeCaptchaIpCity(request: DescribeCaptchaIpCityRequest): Promise<DescribeCaptchaIpCityResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeCaptchaIpCityWithOptions(request, runtime)
+    }
+
+    async describeCaptchaMinWithOptions(
+        request: DescribeCaptchaMinRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeCaptchaMinResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeCaptchaMinResponse>(
+            await this.doRPCRequest('DescribeCaptchaMin', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new DescribeCaptchaMinResponse({})
+        )
+    }
+
+    async describeCaptchaMin(request: DescribeCaptchaMinRequest): Promise<DescribeCaptchaMinResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeCaptchaMinWithOptions(request, runtime)
+    }
+
+    async describeCaptchaOrderWithOptions(
+        request: DescribeCaptchaOrderRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeCaptchaOrderResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeCaptchaOrderResponse>(
+            await this.doRPCRequest('DescribeCaptchaOrder', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new DescribeCaptchaOrderResponse({})
+        )
+    }
+
+    async describeCaptchaOrder(request: DescribeCaptchaOrderRequest): Promise<DescribeCaptchaOrderResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeCaptchaOrderWithOptions(request, runtime)
+    }
+
+    async describeCaptchaRiskWithOptions(
+        request: DescribeCaptchaRiskRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeCaptchaRiskResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeCaptchaRiskResponse>(
+            await this.doRPCRequest('DescribeCaptchaRisk', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new DescribeCaptchaRiskResponse({})
+        )
+    }
+
+    async describeCaptchaRisk(request: DescribeCaptchaRiskRequest): Promise<DescribeCaptchaRiskResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeCaptchaRiskWithOptions(request, runtime)
+    }
+
+    async describeConfigNameWithOptions(
+        request: DescribeConfigNameRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeConfigNameResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeConfigNameResponse>(
+            await this.doRPCRequest('DescribeConfigName', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new DescribeConfigNameResponse({})
+        )
+    }
+
+    async describeConfigName(request: DescribeConfigNameRequest): Promise<DescribeConfigNameResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeConfigNameWithOptions(request, runtime)
+    }
+
+    async describeEarlyWarningWithOptions(
+        request: DescribeEarlyWarningRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeEarlyWarningResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeEarlyWarningResponse>(
+            await this.doRPCRequest('DescribeEarlyWarning', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new DescribeEarlyWarningResponse({})
+        )
+    }
+
+    async describeEarlyWarning(request: DescribeEarlyWarningRequest): Promise<DescribeEarlyWarningResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeEarlyWarningWithOptions(request, runtime)
+    }
+
+    async describeOrderInfoWithOptions(
+        request: DescribeOrderInfoRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribeOrderInfoResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribeOrderInfoResponse>(
+            await this.doRPCRequest('DescribeOrderInfo', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new DescribeOrderInfoResponse({})
+        )
+    }
+
+    async describeOrderInfo(request: DescribeOrderInfoRequest): Promise<DescribeOrderInfoResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describeOrderInfoWithOptions(request, runtime)
+    }
+
+    async describePersonMachineListWithOptions(
+        request: DescribePersonMachineListRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<DescribePersonMachineListResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<DescribePersonMachineListResponse>(
+            await this.doRPCRequest(
+                'DescribePersonMachineList',
+                '2018-01-12',
+                'HTTPS',
+                'POST',
+                'AK',
+                'json',
+                req,
+                runtime
+            ),
+            new DescribePersonMachineListResponse({})
+        )
+    }
+
+    async describePersonMachineList(
+        request: DescribePersonMachineListRequest
+    ): Promise<DescribePersonMachineListResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.describePersonMachineListWithOptions(request, runtime)
+    }
+
+    async setEarlyWarningWithOptions(
+        request: SetEarlyWarningRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<SetEarlyWarningResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<SetEarlyWarningResponse>(
+            await this.doRPCRequest('SetEarlyWarning', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new SetEarlyWarningResponse({})
+        )
+    }
+
+    async setEarlyWarning(request: SetEarlyWarningRequest): Promise<SetEarlyWarningResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.setEarlyWarningWithOptions(request, runtime)
+    }
+
+    async updateConfigNameWithOptions(
+        request: UpdateConfigNameRequest,
+        runtime: $Util.RuntimeOptions
+    ): Promise<UpdateConfigNameResponse> {
+        Util.validateModel(request)
+        let req = new $OpenApi.OpenApiRequest({
+            body: Util.toMap(request)
+        })
+        return $tea.cast<UpdateConfigNameResponse>(
+            await this.doRPCRequest('UpdateConfigName', '2018-01-12', 'HTTPS', 'POST', 'AK', 'json', req, runtime),
+            new UpdateConfigNameResponse({})
+        )
+    }
+
+    async updateConfigName(request: UpdateConfigNameRequest): Promise<UpdateConfigNameResponse> {
+        let runtime = new $Util.RuntimeOptions({})
+        return await this.updateConfigNameWithOptions(request, runtime)
+    }
+}

+ 39 - 6
src/aliyun/aliyun.service.ts

@@ -1,4 +1,5 @@
-import { Inject, Injectable, InternalServerErrorException, Logger } from '@nestjs/common'
+import { SendCodeDto } from './../sms/dto/sms.dto'
+import { Inject, Injectable, InternalServerErrorException, Logger, NotAcceptableException } from '@nestjs/common'
 import aliyunConfig from './config/aliyun.config'
 import { ConfigType } from '@nestjs/config'
 import Dysmsapi20170525, * as $Dysmsapi20170525 from '@alicloud/dysmsapi20170525'
@@ -9,7 +10,7 @@ import { SendSmsResponse } from '@alicloud/dysmsapi20170525'
 import * as randomstring from 'randomstring'
 import * as OSS from 'ali-oss'
 import { buffer } from 'stream/consumers'
-import * as fs from 'fs'
+import { AfsClient, AuthenticateSigRequest, AuthenticateSigResponse } from './afs'
 
 @Injectable()
 export class AliyunService {
@@ -18,8 +19,9 @@ export class AliyunService {
         private readonly aliyunConfiguration: ConfigType<typeof aliyunConfig>
     ) {}
 
-    public async sendCode(phone: string) {
-        if (!/^1[3-9]\d{9}$/.test(phone)) {
+    public async sendCode(data: SendCodeDto) {
+        await this.authSig(data.sessionId, data.sig, data.token)
+        if (!/^1[3-9]\d{9}$/.test(data.phone)) {
             throw new InternalServerErrorException('手机号码格式不正确')
         }
         let config = new $OpenApi.Config({
@@ -30,7 +32,7 @@ export class AliyunService {
         let client = new Dysmsapi20170525(config)
         const code = randomstring.generate({ length: 4, charset: 'numeric' })
         let sendSmsRequest = new $Dysmsapi20170525.SendSmsRequest({
-            phoneNumbers: phone,
+            phoneNumbers: data.phone,
             signName: this.aliyunConfiguration.smsSign,
             templateCode: this.aliyunConfiguration.smsTemplateCode,
             templateParam: JSON.stringify({ code })
@@ -39,7 +41,7 @@ export class AliyunService {
             const res: SendSmsResponse = await client.sendSmsWithOptions(sendSmsRequest, new $Util.RuntimeOptions({}))
             Logger.log(JSON.stringify(res, null, 4))
             if (res.statusCode === 200 && res.body.code == 'OK') {
-                return { phone, code }
+                return { phone: data.phone, code }
             } else {
                 throw new InternalServerErrorException(res.body.message)
             }
@@ -69,4 +71,35 @@ export class AliyunService {
             throw new InternalServerErrorException(e.message)
         }
     }
+
+    public async authSig(sessionId: string, sig: string, token: string) {
+        var client = new AfsClient({
+            accessKeyId: this.aliyunConfiguration.accessKeyId,
+            accessKeySecret: this.aliyunConfiguration.accessKeySecret,
+            endpoint: 'afs.aliyuncs.com',
+            regionId: 'cn-shenzhen',
+            toMap: null
+        })
+        // AuthenticateSigRequest
+        var data = new AuthenticateSigRequest({
+            scene: 'nc_activity_h5',
+            sessionId: sessionId,
+            sig: sig,
+            appKey: 'FFFF0N0000000000A8BD',
+            token: token,
+            remoteIp: '192.168.0.11'
+        })
+        try {
+            const res: AuthenticateSigResponse = await client.authenticateSig(data)
+            if (res.body.code === 100) {
+                return
+            } else {
+                Logger.error(res.body.msg)
+                throw new NotAcceptableException('验证失败')
+            }
+        } catch (e) {
+            Logger.error(e)
+            throw new InternalServerErrorException(e.message)
+        }
+    }
 }

+ 9 - 0
src/sms/dto/sms.dto.ts

@@ -4,6 +4,15 @@ export class SendCodeDto {
     @IsString()
     @MaxLength(30)
     readonly phone: string
+
+    @IsString()
+    readonly sessionId: string
+
+    @IsString()
+    readonly sig: string
+
+    @IsString()
+    readonly token: string
 }
 
 export class VerifyCodeDto {

+ 1 - 1
src/sms/sms.controller.ts

@@ -12,7 +12,7 @@ export class SmsController {
     @Public()
     @Post('/sendVerify')
     public async sendVerify(@Body() body: SendCodeDto) {
-        return await this.smsService.sendVerify(body.phone)
+        return await this.smsService.sendVerify(body)
     }
 
     @Public()

+ 4 - 3
src/sms/sms.service.ts

@@ -3,6 +3,7 @@ import { InjectRepository } from '@nestjs/typeorm'
 import { AliyunService } from 'src/aliyun/aliyun.service'
 import { SmsRecord } from './entities/sms.entity'
 import { Repository } from 'typeorm'
+import { SendCodeDto } from './dto/sms.dto'
 
 @Injectable()
 export class SmsService {
@@ -12,10 +13,10 @@ export class SmsService {
         private readonly smsRecordRepo: Repository<SmsRecord>
     ) {}
 
-    public async sendVerify(phone: string) {
-        let res = await this.aliyunService.sendCode(phone)
+    public async sendVerify(data: SendCodeDto) {
+        let res = await this.aliyunService.sendCode(data)
         const smsRecord = new SmsRecord()
-        smsRecord.phone = phone
+        smsRecord.phone = data.phone
         smsRecord.code = res.code
         smsRecord.expireAt = new Date(Date.now() + 5 * 60 * 1000)
         await this.smsRecordRepo.save(smsRecord)