前端Uniapp 做的登录app,调用api,发送登录验证码短信服务,可以申请免费100条:
先建立单独发送类,nuget包安装AlibabaCloud.SDK.Dysmsapi20170525:
public class SendSms
{
public static AlibabaCloud.SDK.Dysmsapi20170525.Client CreateClient(string accessKeyId, string accessKeySecret)
{
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
{
// 必填,您的 AccessKey ID
AccessKeyId = accessKeyId,
// 必填,您的 AccessKey Secret
AccessKeySecret = accessKeySecret,
};
// Endpoint 请参考 https://api.aliyun.com/product/Dysmsapi
config.Endpoint = "dysmsapi.aliyuncs.com";
return new AlibabaCloud.SDK.Dysmsapi20170525.Client(config);
}
}
Api中调用发送类:
[HttpPost]
public async Task<IActionResult> getCodeAliyun(JsonObject obj)
{
//调用aliyun短信服务 //前端处理空号码
//在系统环境变量中配置 ALIBABA_CLOUD_ACCESS_KEY_ID
// ALIBABA_CLOUD_ACCESS_KEY_SECRET 都是在阿里云平台创建账号时保存下来
AlibabaCloud.SDK.Dysmsapi20170525.Client client = SendSms.CreateClient(Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"), Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
//AlibabaCloud.OpenApiClient.Models.Params params_ = SendSms.CreateApiInfo();
Random ra = new Random();
int code = ra.Next(1000, 9999);
codeEdit = code;
AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsRequest sendSmsRequest = new AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsRequest
{
//前端发送的号码
PhoneNumbers = obj["data"].ToString(),
//申请的模板名称
SignName = "阿里云短信测试",
// 分配的模板代码
TemplateCode= "SMS_154950909",
//随机生成的验证码
TemplateParam= "{\"code\":\"" + code + "\"}"
};
try
{
//返回的body中的code=OK表示成功
var res = client.SendSmsWithOptions(sendSmsRequest, new AlibabaCloud.TeaUtil.Models.RuntimeOptions());
}
catch (TeaException error)
{
// 如有需要,请打印 error
AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
}
catch (Exception _error)
{
TeaException error = new TeaException(new Dictionary<string, object>
{
{ "message", _error.Message }
});
// 如有需要,请打印 error
AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
}
return new JsonResult("");
}
https://free.aliyun.com?userCode=ehefigz2