😎优化短信发送相关接口服务

This commit is contained in:
zuohuaijun 2025-06-06 01:28:10 +08:00
parent a72a4095e9
commit 1a37ffb853
4 changed files with 76 additions and 46 deletions

View File

@ -28,9 +28,9 @@
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" /> <PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.1" Aliases="BouncyCastleV2" /> <PackageReference Include="BouncyCastle.Cryptography" Version="2.6.1" Aliases="BouncyCastleV2" />
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="9.0.6" /> <PackageReference Include="Elastic.Clients.Elasticsearch" Version="9.0.6" />
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.81" /> <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.82" />
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.81" /> <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.82" />
<PackageReference Include="Furion.Pure" Version="4.9.7.81" /> <PackageReference Include="Furion.Pure" Version="4.9.7.82" />
<PackageReference Include="Hardware.Info" Version="101.0.1.1" /> <PackageReference Include="Hardware.Info" Version="101.0.1.1" />
<PackageReference Include="Hashids.net" Version="1.7.0" /> <PackageReference Include="Hashids.net" Version="1.7.0" />
<PackageReference Include="IPTools.China" Version="1.6.0" /> <PackageReference Include="IPTools.China" Version="1.6.0" />

View File

@ -32,15 +32,16 @@ public class SysSmsService : IDynamicApiController, ITransient
/// 发送短信 📨 /// 发送短信 📨
/// </summary> /// </summary>
/// <param name="phoneNumber"></param> /// <param name="phoneNumber"></param>
/// <param name="templateId">短信模板id</param>
/// <returns></returns> /// <returns></returns>
[AllowAnonymous] [AllowAnonymous]
[DisplayName("发送短信")] [DisplayName("发送短信")]
public async Task SendSms([Required] string phoneNumber) public async Task SendSms([Required] string phoneNumber, string templateId = "0")
{ {
if (!string.IsNullOrWhiteSpace(_smsOptions.Aliyun.AccessKeyId) && !string.IsNullOrWhiteSpace(_smsOptions.Aliyun.AccessKeySecret)) if (!string.IsNullOrWhiteSpace(_smsOptions.Aliyun.AccessKeyId) && !string.IsNullOrWhiteSpace(_smsOptions.Aliyun.AccessKeySecret))
await AliyunSendSms(phoneNumber); await AliyunSendSms(phoneNumber, templateId);
else else
await TencentSendSms(phoneNumber); await TencentSendSms(phoneNumber, templateId);
} }
/// <summary> /// <summary>
@ -62,11 +63,12 @@ public class SysSmsService : IDynamicApiController, ITransient
/// <summary> /// <summary>
/// 阿里云发送短信 📨 /// 阿里云发送短信 📨
/// </summary> /// </summary>
/// <param name="phoneNumber"></param> /// <param name="phoneNumber">手机号</param>
/// <param name="templateId">短信模板id</param>
/// <returns></returns> /// <returns></returns>
[AllowAnonymous] [AllowAnonymous]
[DisplayName("阿里云发送短信")] [DisplayName("阿里云发送短信")]
public async Task AliyunSendSms([Required] string phoneNumber) public async Task AliyunSendSms([Required] string phoneNumber, string templateId = "0")
{ {
if (!phoneNumber.TryValidate(ValidationTypes.PhoneNumber).IsValid) throw Oops.Oh("请正确填写手机号码"); if (!phoneNumber.TryValidate(ValidationTypes.PhoneNumber).IsValid) throw Oops.Oh("请正确填写手机号码");
@ -80,7 +82,7 @@ public class SysSmsService : IDynamicApiController, ITransient
}; };
var client = CreateAliyunClient(); var client = CreateAliyunClient();
var template = _smsOptions.Aliyun.GetTemplate(); var template = _smsOptions.Aliyun.GetTemplate(templateId);
var sendSmsRequest = new SendSmsRequest var sendSmsRequest = new SendSmsRequest
{ {
PhoneNumbers = phoneNumber, // 待发送手机号, 多个以逗号分隔 PhoneNumbers = phoneNumber, // 待发送手机号, 多个以逗号分隔
@ -142,10 +144,11 @@ public class SysSmsService : IDynamicApiController, ITransient
/// 腾讯云发送短信 📨 /// 腾讯云发送短信 📨
/// </summary> /// </summary>
/// <param name="phoneNumber"></param> /// <param name="phoneNumber"></param>
/// <param name="templateId">短信模板id</param>
/// <returns></returns> /// <returns></returns>
[AllowAnonymous] [AllowAnonymous]
[DisplayName("腾讯云发送短信")] [DisplayName("腾讯云发送短信")]
public async Task TencentSendSms([Required] string phoneNumber) public async Task TencentSendSms([Required] string phoneNumber, string templateId = "0")
{ {
if (!phoneNumber.TryValidate(ValidationTypes.PhoneNumber).IsValid) throw Oops.Oh("请正确填写手机号码"); if (!phoneNumber.TryValidate(ValidationTypes.PhoneNumber).IsValid) throw Oops.Oh("请正确填写手机号码");
@ -155,7 +158,7 @@ public class SysSmsService : IDynamicApiController, ITransient
// 实例化要请求产品的client对象clientProfile是可选的 // 实例化要请求产品的client对象clientProfile是可选的
var client = new SmsClient(CreateTencentClient(), "ap-guangzhou", new ClientProfile() { HttpProfile = new HttpProfile() { Endpoint = ("sms.tencentcloudapi.com") } }); var client = new SmsClient(CreateTencentClient(), "ap-guangzhou", new ClientProfile() { HttpProfile = new HttpProfile() { Endpoint = ("sms.tencentcloudapi.com") } });
var template = _smsOptions.Tencentyun.GetTemplate(); var template = _smsOptions.Tencentyun.GetTemplate(templateId);
// 实例化一个请求对象,每个接口都会对应一个request对象 // 实例化一个请求对象,每个接口都会对应一个request对象
var req = new TencentCloud.Sms.V20190711.Models.SendSmsRequest var req = new TencentCloud.Sms.V20190711.Models.SendSmsRequest
{ {

View File

@ -26,7 +26,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="DocumentFormat.OpenXml" Version="3.3.0" /> <PackageReference Include="DocumentFormat.OpenXml" Version="3.3.0" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.14.0" /> <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.14.0" />
<PackageReference Include="Rezero.Api" Version="1.8.22" /> <PackageReference Include="Rezero.Api" Version="1.8.23" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -29,17 +29,23 @@ export const SysSmsApiAxiosParamCreator = function (configuration?: Configuratio
/** /**
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
*/ */
apiSysSmsAliyunSendSmsPhoneNumberPost: async (phoneNumber: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => { apiSysSmsAliyunSendSmsPhoneNumberTemplateIdPost: async (phoneNumber: string, templateId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
// verify required parameter 'phoneNumber' is not null or undefined // verify required parameter 'phoneNumber' is not null or undefined
if (phoneNumber === null || phoneNumber === undefined) { if (phoneNumber === null || phoneNumber === undefined) {
throw new RequiredError('phoneNumber','Required parameter phoneNumber was null or undefined when calling apiSysSmsAliyunSendSmsPhoneNumberPost.'); throw new RequiredError('phoneNumber','Required parameter phoneNumber was null or undefined when calling apiSysSmsAliyunSendSmsPhoneNumberTemplateIdPost.');
} }
const localVarPath = `/api/sysSms/aliyunSendSms/{phoneNumber}` // verify required parameter 'templateId' is not null or undefined
.replace(`{${"phoneNumber"}}`, encodeURIComponent(String(phoneNumber))); if (templateId === null || templateId === undefined) {
throw new RequiredError('templateId','Required parameter templateId was null or undefined when calling apiSysSmsAliyunSendSmsPhoneNumberTemplateIdPost.');
}
const localVarPath = `/api/sysSms/aliyunSendSms/{phoneNumber}/{templateId}`
.replace(`{${"phoneNumber"}}`, encodeURIComponent(String(phoneNumber)))
.replace(`{${"templateId"}}`, encodeURIComponent(String(templateId)));
// use dummy base URL string because the URL constructor only accepts absolute URLs. // use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, 'https://example.com'); const localVarUrlObj = new URL(localVarPath, 'https://example.com');
let baseOptions; let baseOptions;
@ -127,16 +133,22 @@ export const SysSmsApiAxiosParamCreator = function (configuration?: Configuratio
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
*/ */
apiSysSmsSendSmsPhoneNumberPost: async (phoneNumber: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => { apiSysSmsSendSmsPhoneNumberTemplateIdPost: async (phoneNumber: string, templateId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
// verify required parameter 'phoneNumber' is not null or undefined // verify required parameter 'phoneNumber' is not null or undefined
if (phoneNumber === null || phoneNumber === undefined) { if (phoneNumber === null || phoneNumber === undefined) {
throw new RequiredError('phoneNumber','Required parameter phoneNumber was null or undefined when calling apiSysSmsSendSmsPhoneNumberPost.'); throw new RequiredError('phoneNumber','Required parameter phoneNumber was null or undefined when calling apiSysSmsSendSmsPhoneNumberTemplateIdPost.');
} }
const localVarPath = `/api/sysSms/sendSms/{phoneNumber}` // verify required parameter 'templateId' is not null or undefined
.replace(`{${"phoneNumber"}}`, encodeURIComponent(String(phoneNumber))); if (templateId === null || templateId === undefined) {
throw new RequiredError('templateId','Required parameter templateId was null or undefined when calling apiSysSmsSendSmsPhoneNumberTemplateIdPost.');
}
const localVarPath = `/api/sysSms/sendSms/{phoneNumber}/{templateId}`
.replace(`{${"phoneNumber"}}`, encodeURIComponent(String(phoneNumber)))
.replace(`{${"templateId"}}`, encodeURIComponent(String(templateId)));
// use dummy base URL string because the URL constructor only accepts absolute URLs. // use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, 'https://example.com'); const localVarUrlObj = new URL(localVarPath, 'https://example.com');
let baseOptions; let baseOptions;
@ -176,16 +188,22 @@ export const SysSmsApiAxiosParamCreator = function (configuration?: Configuratio
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
*/ */
apiSysSmsTencentSendSmsPhoneNumberPost: async (phoneNumber: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => { apiSysSmsTencentSendSmsPhoneNumberTemplateIdPost: async (phoneNumber: string, templateId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
// verify required parameter 'phoneNumber' is not null or undefined // verify required parameter 'phoneNumber' is not null or undefined
if (phoneNumber === null || phoneNumber === undefined) { if (phoneNumber === null || phoneNumber === undefined) {
throw new RequiredError('phoneNumber','Required parameter phoneNumber was null or undefined when calling apiSysSmsTencentSendSmsPhoneNumberPost.'); throw new RequiredError('phoneNumber','Required parameter phoneNumber was null or undefined when calling apiSysSmsTencentSendSmsPhoneNumberTemplateIdPost.');
} }
const localVarPath = `/api/sysSms/tencentSendSms/{phoneNumber}` // verify required parameter 'templateId' is not null or undefined
.replace(`{${"phoneNumber"}}`, encodeURIComponent(String(phoneNumber))); if (templateId === null || templateId === undefined) {
throw new RequiredError('templateId','Required parameter templateId was null or undefined when calling apiSysSmsTencentSendSmsPhoneNumberTemplateIdPost.');
}
const localVarPath = `/api/sysSms/tencentSendSms/{phoneNumber}/{templateId}`
.replace(`{${"phoneNumber"}}`, encodeURIComponent(String(phoneNumber)))
.replace(`{${"templateId"}}`, encodeURIComponent(String(templateId)));
// use dummy base URL string because the URL constructor only accepts absolute URLs. // use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, 'https://example.com'); const localVarUrlObj = new URL(localVarPath, 'https://example.com');
let baseOptions; let baseOptions;
@ -281,12 +299,13 @@ export const SysSmsApiFp = function(configuration?: Configuration) {
/** /**
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
*/ */
async apiSysSmsAliyunSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> { async apiSysSmsAliyunSendSmsPhoneNumberTemplateIdPost(phoneNumber: string, templateId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
const localVarAxiosArgs = await SysSmsApiAxiosParamCreator(configuration).apiSysSmsAliyunSendSmsPhoneNumberPost(phoneNumber, options); const localVarAxiosArgs = await SysSmsApiAxiosParamCreator(configuration).apiSysSmsAliyunSendSmsPhoneNumberTemplateIdPost(phoneNumber, templateId, options);
return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url}; const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
return axios.request(axiosRequestArgs); return axios.request(axiosRequestArgs);
@ -310,11 +329,12 @@ export const SysSmsApiFp = function(configuration?: Configuration) {
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
*/ */
async apiSysSmsSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> { async apiSysSmsSendSmsPhoneNumberTemplateIdPost(phoneNumber: string, templateId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
const localVarAxiosArgs = await SysSmsApiAxiosParamCreator(configuration).apiSysSmsSendSmsPhoneNumberPost(phoneNumber, options); const localVarAxiosArgs = await SysSmsApiAxiosParamCreator(configuration).apiSysSmsSendSmsPhoneNumberTemplateIdPost(phoneNumber, templateId, options);
return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url}; const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
return axios.request(axiosRequestArgs); return axios.request(axiosRequestArgs);
@ -324,11 +344,12 @@ export const SysSmsApiFp = function(configuration?: Configuration) {
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
*/ */
async apiSysSmsTencentSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> { async apiSysSmsTencentSendSmsPhoneNumberTemplateIdPost(phoneNumber: string, templateId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
const localVarAxiosArgs = await SysSmsApiAxiosParamCreator(configuration).apiSysSmsTencentSendSmsPhoneNumberPost(phoneNumber, options); const localVarAxiosArgs = await SysSmsApiAxiosParamCreator(configuration).apiSysSmsTencentSendSmsPhoneNumberTemplateIdPost(phoneNumber, templateId, options);
return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url}; const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
return axios.request(axiosRequestArgs); return axios.request(axiosRequestArgs);
@ -360,12 +381,13 @@ export const SysSmsApiFactory = function (configuration?: Configuration, basePat
/** /**
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
*/ */
async apiSysSmsAliyunSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> { async apiSysSmsAliyunSendSmsPhoneNumberTemplateIdPost(phoneNumber: string, templateId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
return SysSmsApiFp(configuration).apiSysSmsAliyunSendSmsPhoneNumberPost(phoneNumber, options).then((request) => request(axios, basePath)); return SysSmsApiFp(configuration).apiSysSmsAliyunSendSmsPhoneNumberTemplateIdPost(phoneNumber, templateId, options).then((request) => request(axios, basePath));
}, },
/** /**
* *
@ -381,21 +403,23 @@ export const SysSmsApiFactory = function (configuration?: Configuration, basePat
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
*/ */
async apiSysSmsSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> { async apiSysSmsSendSmsPhoneNumberTemplateIdPost(phoneNumber: string, templateId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
return SysSmsApiFp(configuration).apiSysSmsSendSmsPhoneNumberPost(phoneNumber, options).then((request) => request(axios, basePath)); return SysSmsApiFp(configuration).apiSysSmsSendSmsPhoneNumberTemplateIdPost(phoneNumber, templateId, options).then((request) => request(axios, basePath));
}, },
/** /**
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
*/ */
async apiSysSmsTencentSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> { async apiSysSmsTencentSendSmsPhoneNumberTemplateIdPost(phoneNumber: string, templateId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
return SysSmsApiFp(configuration).apiSysSmsTencentSendSmsPhoneNumberPost(phoneNumber, options).then((request) => request(axios, basePath)); return SysSmsApiFp(configuration).apiSysSmsTencentSendSmsPhoneNumberTemplateIdPost(phoneNumber, templateId, options).then((request) => request(axios, basePath));
}, },
/** /**
* *
@ -420,13 +444,14 @@ export class SysSmsApi extends BaseAPI {
/** /**
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
* @memberof SysSmsApi * @memberof SysSmsApi
*/ */
public async apiSysSmsAliyunSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> { public async apiSysSmsAliyunSendSmsPhoneNumberTemplateIdPost(phoneNumber: string, templateId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
return SysSmsApiFp(this.configuration).apiSysSmsAliyunSendSmsPhoneNumberPost(phoneNumber, options).then((request) => request(this.axios, this.basePath)); return SysSmsApiFp(this.configuration).apiSysSmsAliyunSendSmsPhoneNumberTemplateIdPost(phoneNumber, templateId, options).then((request) => request(this.axios, this.basePath));
} }
/** /**
* *
@ -443,23 +468,25 @@ export class SysSmsApi extends BaseAPI {
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
* @memberof SysSmsApi * @memberof SysSmsApi
*/ */
public async apiSysSmsSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> { public async apiSysSmsSendSmsPhoneNumberTemplateIdPost(phoneNumber: string, templateId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
return SysSmsApiFp(this.configuration).apiSysSmsSendSmsPhoneNumberPost(phoneNumber, options).then((request) => request(this.axios, this.basePath)); return SysSmsApiFp(this.configuration).apiSysSmsSendSmsPhoneNumberTemplateIdPost(phoneNumber, templateId, options).then((request) => request(this.axios, this.basePath));
} }
/** /**
* *
* @summary 📨 * @summary 📨
* @param {string} phoneNumber * @param {string} phoneNumber
* @param {string} templateId id
* @param {*} [options] Override http request option. * @param {*} [options] Override http request option.
* @throws {RequiredError} * @throws {RequiredError}
* @memberof SysSmsApi * @memberof SysSmsApi
*/ */
public async apiSysSmsTencentSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> { public async apiSysSmsTencentSendSmsPhoneNumberTemplateIdPost(phoneNumber: string, templateId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
return SysSmsApiFp(this.configuration).apiSysSmsTencentSendSmsPhoneNumberPost(phoneNumber, options).then((request) => request(this.axios, this.basePath)); return SysSmsApiFp(this.configuration).apiSysSmsTencentSendSmsPhoneNumberTemplateIdPost(phoneNumber, templateId, options).then((request) => request(this.axios, this.basePath));
} }
/** /**
* *