阿里大于---------学习笔记

12 篇文章 0 订阅

互联网上有许多公司提供短信接口服务,诸如网易云信、阿里大于等等。我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置、开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短信费用是计数缴纳的,作为个人开发者,我使用的服务业务产生的费用为0.045¥/条(10万条以下)。

  现在要实现一个例会短信群发通知的功能,所有被通知对象信息均存于Mysql中,应用架构采用asp.net MVC 。首先准备好获取的API各项(以下各项服务参数都需要在大于官网上申请),

申请好自己的短信签名与短信模板,根据服务商的要求需要这些参数:

 

复制代码
 1 ITopClient client = new DefaultTopClient(url, appkey, secret);
 2 AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
 3 req.Extend = "" ;//可空,返回状态
 4 req.SmsType = "normal" ;//不可更改
 5 req.SmsFreeSignName = "" ;//申请的短信签名,不可填写与申请的不一
 6 req.SmsParam = "" ;//短信模板中的变量如:{name}
 7 req.RecNum = "13000000000" ;//手机号码
 8 req.SmsTemplateCode = "" ;//短信模板的编号,不可出错
 9 AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);
10 Console.WriteLine(rsp.Body);
复制代码

 

具体开发中,需要注意到的是这一段代码是官方提供的样品,在写短信发送函方法时,将它粘贴再进行开发即可。其中模板变量的配对尤其关键
req.SmsParam =   ""  ;//短信模板中的变量如:{name}
在这种情况下,对字符串拼接要有基本功,由于是类json化的,所以
 req.SmsParam ="{number:'" + Password + "'}";//去掉双引号则是{number:‘Password’}
 
说完细节之后,开始在本机上的项目里引用编译好的dll,该dll文件可在阿里大于官网https://www.alidayu.com/center/application/sdk下载zip压缩包,解压即可得到生成好的dll.之后写一个可以发送短信的void方法,
 
复制代码
 1 public void SmsSendForFindPassword(string phonenum,string Password)
 2         {
 3             string url = "https://eco.taobao.com/router/rest";
 4             string appkey = "********";
 5             string secret = "**********************";            
 6             ITopClient client = new DefaultTopClient(url, appkey, secret);
 7             AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
 8             req.Extend = "";
 9             req.SmsType = "normal";//默认normal不可改动
10             req.SmsFreeSignName = "院红会网宣";//短信签名必填
11             req.SmsParam = "{number:'" + Password + "'}";//模板内参数必填
12             req.RecNum = phonenum;//手机号码必填
13             req.SmsTemplateCode = "SMS_******";//不可改动
14             AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);
15         }
复制代码
  • 这个方法是我为管理员找回密码开发的,其中需要注意一下,传入参数phonenum,Password,在传入前从数据库中调出,不得为空。
  • ITopClient client = new DefaultTopClient(url, appkey, secret);这其中的url在官方中给出了两个,我倾向于https,这样数据传输更安全。具体选择请参考阿里大于官网文档。
  • AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);//这个对象实例化后,才是api发送方法调用的最后一步,在这之前,每一项都要正确,出错可以使用Console.WriteLine(rsp.Body);//显示出错误信息

  对于如何实现的群发功能,写一个SendSmsForMeetingTime(string name, string time, string phonenum, string department, string minister)方法函数,我使用了List<Model>,将数据库中的多条数据读入List中,使用foreach(var item in list),在每一次遍历中调用一次SendSmsForMeetingTime;当遍历完成之时,每一个通知对象的信息传入方法参数中,方法执行完后之后,便实现了调用。

  在这里说明一下接口调用,短信经过的流程。用户客户端/用户服务器——>阿里大于服务器——>移动/电信/联通运营商服务器——>对象可接受短信服务终端。实际上,阿里大于也是调用的运营商的接口,只是阿里大于将接口封装到便宜开发,而我们开发者在这基础上能完成第三方接口开发,这些开发也仅限制于服务商封装了哪些接口,开发者无法调用服务商未封装的接口。

  以上便是我在实际项目中调用API的实例经验,项目也经历了用户的使用检验,目前未出状况,这也说明了阿里大于在短信接口服务这块,信息传达的效率还是业内良心。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于thinkphp5扩展的阿里大鱼短信接口。 使用方式: 1:将压缩包解压到项目根目录下simplewind文件夹下的extend文件夹中。 2:在use think\config文 件中加入配置 'wechat' =>array( /**********阿里大鱼配置************/ 'all_appkey' => '',//阿里大鱼Appkey 'all_secret' => '',//阿里大鱼Secret 'domain' => 'dysmsapi.aliyuncs.com',//阿里大鱼产品域名 'product' => 'Dysmsapi',////产品名称:云通信流量服务API产品,开发者无需替换 'region' => 'cn-hangzhou',//暂时不支持多Region 'end'=>'cn-hangzhou',// 服务结点 ), 3:在公共函数文件头部中加入 use aliyun\api_demo; 然后添加以下的阿里云调用方法: /**********************************发送短信--阿里大鱼********************/ /** * @param $autograph //签名 * @param $model //短信模板 * @param $phone //短信接收号码 * @param array $array //短信模板内容 * @param $water //流水号 * @return api_demo\stdClass|string */ function sk_aldayuCode($autograph,$model,$phone,$array=array(),$water){ if(!$autograph || !$model || !$phone || empty($array) || !$water){ return "参数不齐全:".$autograph."|".$model."|".$phone."|".$water; } $response = api_demo\SmsDemo::sendSms($autograph,$model,$phone,$array,$water); if(!$response->Message || $response->Message != 'OK'){ $msg['Message'] = $response->Message; return json_encode($msg,JSON_UNESCAPED_UNICODE); }else{ $msg['code'] = $array; $msg['Message'] = "OK"; return json_encode($msg,JSON_UNESCAPED_UNICODE); } } /**********************************发送短信--阿里大鱼********************/ 4:在须要调用短信发送的类中直接调用上方的函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值