短信发送(WEB)
  # FastWeb之短信发送
- 适用平台:WEB(桌面)
 
# 1. 说明
本范例通过对接阿里短信平台,填写对应的短信模板以进行短信发送的功能。可用于实现短信验证码等相关功能。在使用该范例前,需开通阿里云短信服务 (opens new window),获取AccessKeyId、AccessKeySecret。并根据阿里云短信服务文档 (opens new window)进行短信模板的建立。
该程序中的UgRFSmsSender需要配合TARS进行使用。
通过本范例学习,可以掌握UgRFSMSSender的使用方式。
# 2. 设计明细
  开启FastWeb设计器,分别加入下插图之控件。或者点击左上角的[导入]选择模板文件来打开对应模板。

  ①:TUgEdit组件,控件名称为UgEdit01。
  ②:TUgEdit组件,控件名称为UgEdit02。
  ③:TUgEdit组件,控件名称为UgEdit03。
  ④:TUgEdit组件,控件名称为UgEdit04。
  ⑤:TUgEdit组件,控件名称为UgEdit05。
  ⑥:TUgEdit组件,控件名称为UgEdit06。
  ⑦:TUgEdit组件,控件名称为UgImage01。
UgWebRunFrame属性设置
Height:设置页面高度=241。Width:设置页面宽度=643。
①UgEdit01属性设置
EmptyText:设置显示内容为空时显示的提示字符,设置为请从阿里云短信平台获取AccessKeyID。FieldLabel:设置编辑框显示的字段标签,设置为AccessKeyID。FieldLabelFont:设置字段标签显示的字体,设置其中的Style.fsBold属性为True。FieldLabelWidth:设置标签显示界面的宽度,设置为110。
②UgEdit02属性设置
EmptyText:设置显示内容为空时显示的提示字符,设置为请从阿里云短信平台获取AccessKeySecret。FieldLabel:设置编辑框显示的字段标签,设置为AccessKeySecret。FieldLabelFont:设置字段标签显示的字体,设置其中的Style.fsBold属性为True。FieldLabelWidth:设置标签显示界面的宽度,设置为110。
③UgEdit03属性设置
FieldLabel:设置编辑框显示的字段标签,设置为短信模板ID。FieldLabelFont:设置字段标签显示的字体,设置其中的Style.fsBold属性为True。FieldLabelWidth:设置标签显示界面的宽度,设置为110。Text:设置编辑框中的内容,此处需设置短信模板ID,可从阿里云短信控制平台中创建短信模板来进行获取。
④UgEdit04属性设置
FieldLabel:设置编辑框显示的字段标签,设置为短信签名。FieldLabelFont:设置字段标签显示的字体,设置其中的Style.fsBold属性为True。FieldLabelWidth:设置标签显示界面的宽度,设置为110。Text:设置编辑框中的内容,此处需设置短信签名,可从阿里云短信控制平台中创建短信签名来进行获取。
⑤UgEdit05属性设置
FieldLabel:设置编辑框显示的字段标签,设置为短信模板参数。FieldLabelFont:设置字段标签显示的字体,设置其中的Style.fsBold属性为True。FieldLabelWidth:设置标签显示界面的宽度,设置为110。Text:设置编辑框中的内容,此处需设置短信模板参数。如果使用的是验证码类型的短信,可设置的短信参数为{"code":"123456"},其中123456为需要发送的验证码。
⑥UgEdit06属性设置
EmptyText:设置显示内容为空时显示的提示字符,设置为如填写多个号码请用“;”分隔开。FieldLabel:设置编辑框显示的字段标签,设置为接收手机号码。FieldLabelFont:设置字段标签显示的字体,设置其中的Style.fsBold属性为True。FieldLabelWidth:设置标签显示界面的宽度,设置为110。
⑦UgImage01属性设置
Stretch:设置图片是否根据控件大小进行拉伸,设置为True。Picture:设置显示的图片。点击Picture属性右侧的[√],打开图像编辑器,点击[Load]按钮打开文件上传界面,点击右侧的[Browse...]打开图像浏览界面,选择图像后,点击[确定]按钮返回到文件上传界面,点击[Upload]将文件上传至编辑器中,待图片显示后,点击[Save]按钮即可。

# 3. 程序设计
  点击程序设计界面右下角的按钮,切换至单元选择界面,勾选需要使用的单元。该程式的程序需要引用pub_js_tarslink(JScript)或者pub_pas_tarslink(PasScript)单元。
# 3.1. 程序初始设置
程序启动时为控件指定连接设置。
//JScript
{
  UgRFSMSSender01.Connection = GetRFWeb;
}
 2
3
4
//PasScript
begin
  UgRFSMSSender01.Connection := GetRFWeb;
end.
 2
3
4
// Make sure to add code blocks to your code group
# 3.2. 事件设置
- ①UgImage01-OnClick事件
 
点击图片以执行发送短信申请的操作。
//JScript
function UgImage01OnClick(sender)
//点击执行短信发送
{
  if (UgEdit06.Text == "")
  {
    ShowMessage(UGMM.LT("请填写接收短信的手机号码。"));
    return;
  }
  //如果AccessKeyID 与 AccessKeySecret参数为空,则使用TARS中短信平台的预设值。
  UgRFSMSSender01.AccessKeyId = UgEdit01.Text;
  UgRFSMSSender01.AccessKeySecret = UgEdit02.Text;
  UgRFSMSSender01.TemplateCode = UgEdit03.Text;
  UgRFSMSSender01.SignName = UgEdit04.Text;
  UgRFSMSSender01.TemplateParam = UgEdit05.Text;
  UgRFSMSSender01.PhoneNumbers = UgEdit06.Text;
  if (UgRFSMSSender01.Execute)
    ShowMessage(UGMM.LT("短信下发成功!"));
}
 2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//PasScript
procedure UgImage01OnClick(sender: tobject);
//点击执行短信发送
begin
  if UgEdit06.Text = '' Then
  Begin
    ShowMessage(UGMM.LT('请填写接收短信的手机号码。'));
    Exit;
  End;
  //如果AccessKeyID 与 AccessKeySecret参数为空,则使用TARS中短信平台的预设值。
  UgRFSMSSender01.AccessKeyId := UgEdit01.Text;
  UgRFSMSSender01.AccessKeySecret := UgEdit02.Text;
  UgRFSMSSender01.TemplateCode := UgEdit03.Text;
  UgRFSMSSender01.SignName := UgEdit04.Text;
  UgRFSMSSender01.TemplateParam := UgEdit05.Text;
  UgRFSMSSender01.PhoneNumbers := UgEdit06.Text;
  if UgRFSMSSender01.Execute Then
    ShowMessage(UGMM.LT('短信下发成功!'));
end;
 2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Make sure to add code blocks to your code group
# 4. 运行结果
  使用鼠标在FastWeb菜单,点击[保存至数据库]按钮,将其保存至数据库,点击[调试运行]确认能够正常打开。
  在启动的程序中对应填写短信发送需要的参数,填写完成后,点击右侧的发送短信图标按钮执行短信发送,如接收到发送成功的提示则短信发送申请成功,短信会发送至指定手机号码处。