Tracy.Liu 发表于 2021-5-26 15:18:24

一看就会,超有用活字格技能:一百一十六,阿里云短信模板参数的拼接问题

本帖最后由 Tracy.Liu 于 2021-5-26 15:25 编辑

发送短信是大多数小伙伴的系统中都会涉及到的功能。
所以从最开始前端的“腾讯云短信发送”插件,到后来的服务端命令“阿里云发送短信”和“腾讯云服务端发送短信”,我们也一直在尝试集成更多的短信功能,以满足各类应用场景。



不过最近,有位小伙伴在使用“阿里云发送短信”插件的时候,发现了一个问题。
(如果还不了解这个插件的小伙伴,建议先看下阿里云短信插件的使用介绍,再回来接着看哦~)


大家知道发送短信的时候,会有一些需要动态变化的参数,比如同时给张三和李四发一条短信内容,那么短信内容应该分别是“尊敬的张三.....”或者“尊敬的李四.....”,这时这个姓名可以设置成一个模板参数,于是参数就可以写成“尊敬的${name}....”。这个参数的写法和使用方式具体阿里云官方文档中描述地也比较详细了,这里就不做深入说明啦~

当模板参数的值是一个可以从前端页面中获取的值,这个时候我们可以考虑直接在页面上把模板参数的Json字符串在页面上拼接好,然后当作服务端命令的参数引入,再选做模板参数的值,就像下面这样:



但是,当我们的这个参数值是在服务端命令中,通过计算得到的(如计算得到余额),该怎么办呢?
我们第一个会想到在参数这里拼字符串,但是由于阿里云对于模板参数要求必须是标准Json格式,参数的名称和值两侧都需要有双引号,这个就会出现引号配不了对儿的情况,毕竟服务端命令中这里使用单引号或者使用转义符号都是不行的。




这时,我们想到了一种比较机智的方法,那就是写一个web api接收模板参数名和参数的值,然后在web api中处理这些参数和值,拼成一个标准的json返回。然后在服务端命令中使用“发送http请求”命令,来传参和接收参数就可以啦~

经过编码和调试,短信已经可以正常发送啦~~

这里把dll文件传上来,并说明一下使用方式,需要的小伙伴直接下载使用就可以啦~
dll下载:
源文件:

使用方式:
1.下载dll,加载到工程中


2.在服务端命令中,发短信前先使用一个“发送http请求”命令,设置url(根据自己的IP或者域名去调整)。然后设置两个参数,一个参数是“keys”,一个参数为“values”


3.“keys”的值中输入所有模板参数的参数名,多个参数时,用半角逗号“,”隔开。如模板为"尊敬的${name},您的订单${product},本次消费${code},账户余额${co}"时,这里就写成
keys:

values:


4.把http返回的Json存到参数result中,阿里云短信中直接使用result作为参数就行啦~



--------------分割线--------------

这里重点说几个细节点,一定要注意呦~

[*]http请求命令的两个参数名称须为“keys”和“values”,不可修改。
[*]“keys”和“values”的值,必须使用半角逗号“,”拼接。





页: [1]
查看完整版本: 一看就会,超有用活字格技能:一百一十六,阿里云短信模板参数的拼接问题