Commit 23c88bfa by 孙亚楠

dd

parent 71ec7965
......@@ -113,7 +113,14 @@ class ActionAPI extends APIBase {
case "invoicecontent":
opResult = await this.invoicecontentSve.apiGetById(action_body);
break;
// 阿里短信服务
case "sendSms": //发送短信
opResult = await this.aliSmsSve.sendSms(action_body);
break;
case "querySendDetails": //查询发送记录
opResult = await this.aliSmsSve.querySendDetails(action_body);
break;
default:
opResult = system.getResult(null, "action_type参数错误");
......
const system = require("../../../system");
const ServiceBase = require("../../sve.base")
const settings = require("../../../../config/settings")
const Core = require('@alicloud/pop-core');
class AliSmsService extends ServiceBase {
constructor() {
super("common", ServiceBase.getDaoName(BusinessscopeService));
let aliSmsConfig = settings.aliSmsConfig();
this.client = new Core({
accessKeyId: aliSmsConfig.accessKeyId,
accessKeySecret: aliSmsConfig.accessKeySecret,
endpoint: aliSmsConfig.endpoint,
apiVersion: aliSmsConfig.apiVersion
});
}
/**
* 发送短信
* @param {*} params
*/
async sendSms(params) {
let key = this.trim(params.templateName);
let loginTemplateConfig = settings[key];
if (!loginTemplateConfig) {
return system.getResult(-1, `参数错误 模板不存在`);
}
if(!params.phoneNumbers){
return system.getResult(null,`参数错误 手机号不能为空`);
}
if(!params.hasOwnProperty("templateParam")){
return system.getResult(null,`参数错误 模板参数不能为空`);
}
let data = {
"RegionId": "cn-hangzhou",
"PhoneNumbers":params.phoneNumbers,
"TemplateCode":loginTemplateConfig.code,
"TemplateParam": this.trim(params.templateParam)
}
try {
let res = await this.client.request('SendSms', data, {
method: 'POST'
});
return system.getResult(res);
} catch (error) {
console.log(error);
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
/**
* 查询发送记录
* @param {*} params
*/
async querySendDetails(params) {
if(!params.phoneNumbers){
return system.getResult(null,`参数错误 手机号不能为空`);
}
if(!params.sendDate){
return system.getResult(null,`参数错误 日期不能为空`);
}
let data = {
"RegionId": "cn-hangzhou",
"PhoneNumbers":params.phoneNumbers,
"SendDate": this.trim(params.sendDate),
"PageSize": Number(this.trim(params.pageSize) || 10),
"CurrentPage": Number(this.trim(params.currentPage) || 1),
}
try {
let res = await this.client.request('QuerySendDetails', data, {
method: 'POST'
});
return system.getResult(res);
} catch (error) {
console.log(error);
return system.getResult(null,`系统错误 错误信息 ${error}`);
}
}
}
module.exports = AliSmsService;
\ No newline at end of file
......@@ -95,6 +95,29 @@ var settings = {
},
};
}
},
//阿里短信配置
aliSmsConfig:function(){
return {
accessKeyId: 'LTAIurdHMmfgXJjr',
accessKeySecret: 'OBP8jxN5ZTgZnEIFgXHkvBB0QEN4E2',
endpoint: 'https://dysmsapi.aliyuncs.com',
apiVersion: '2017-05-25',
template:{
loginTemplate:{
order:"125944682",
code:"SMS_181196624"
},
authenticationTemplate:{
order:"125949710",
code:"SMS_181201598"
},
smsTemplate:{
order:"125939639",
code:"SMS_181191611"
}
}
}
}
};
module.exports = settings;
\ No newline at end of file
<a name="menu">目录</a>
1. [单条发送短信]](#sendSms)
1. [单条发送短信]](#sendSms)
## **<a name="sendSms"> 单条发送短信</a>**
[返回到目录](#menu)
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
``` javascript
{
"action_process": "test",
"action_type": "sendSms",
"action_body": {
"templateName": "loginTemplate", // 模板类型 loginTemplate(登陆) authenticationTemplate(验证) smsTemplate(短信通知)
"phoneNumbers": "18833836395", // 手机号
"templateParam": "", // 模板参数
}
}
```
#### 返回结果
```javascript
```
## **<a name="querySendDetails"> 查询发送记录</a>**
[返回到目录](#menu)
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
``` javascript
{
"action_process": "test",
"action_type": "querySendDetails",
"action_body": {
"phoneNumbers": "18833836395", // 手机号
"sendDate": "20191111", // 发送日期格式 20191111
"pageSize":10, //每页条数 默认10条
"currentPage":1 //当前页数 默认第一页
}
}
```
#### 返回结果
```javascript
{
"TotalCount": 0,
"Message": "OK",
"RequestId": "1BCB6065-1062-42FF-86C2-B084BE8A7BD4",
"SmsSendDetailDTOs": {
"SmsSendDetailDTO": []
},
"Code": "OK"
}
```
......@@ -4,6 +4,33 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@alicloud/pop-core": {
"version": "1.7.9",
"resolved": "https://registry.npmjs.org/@alicloud/pop-core/-/pop-core-1.7.9.tgz",
"integrity": "sha512-WKeil0O51ee1EbCcYt65vPYo6eWcDn7dfmXlCMb/GbNDq0MvVheQVS/uAeeUipRXt8jGMc58FXeQxXfsFqlRZg==",
"requires": {
"debug": "^3.1.0",
"httpx": "^2.1.2",
"json-bigint": "^0.2.3",
"kitx": "^1.2.1",
"xml2js": "^0.4.17"
},
"dependencies": {
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"requires": {
"ms": "^2.1.1"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"@types/geojson": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-1.0.6.tgz",
......@@ -499,6 +526,11 @@
"callsite": "1.0.0"
}
},
"bignumber.js": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz",
"integrity": "sha512-eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA=="
},
"blob": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
......@@ -3259,6 +3291,35 @@
}
}
},
"httpx": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/httpx/-/httpx-2.2.2.tgz",
"integrity": "sha512-bTFdgbDaGV7TupPazemnnInUrwioWMM9shgetMdac3QfuKMNgEoxqpOR0njqVqX3GF93kszkoCWbChiWW0evNA==",
"requires": {
"@types/node": "^12.0.2",
"debug": "^4.1.1"
},
"dependencies": {
"@types/node": {
"version": "12.12.22",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.22.tgz",
"integrity": "sha512-r5i93jqbPWGXYXxianGATOxTelkp6ih/U0WVnvaqAvTqM+0U6J3kw6Xk6uq/dWNRkEVw/0SLcO5ORXbVNz4FMQ=="
},
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"requires": {
"ms": "^2.1.1"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"humanize-ms": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
......@@ -3383,8 +3444,7 @@
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"is-builtin-module": {
"version": "1.0.0",
......@@ -3681,6 +3741,14 @@
"dev": true,
"optional": true
},
"json-bigint": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.2.3.tgz",
"integrity": "sha1-EY1/b/HThlnxn5TPc+ZKdaP5iKg=",
"requires": {
"bignumber.js": "^4.0.0"
}
},
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
......@@ -3744,6 +3812,11 @@
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
"dev": true
},
"kitx": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/kitx/-/kitx-1.3.0.tgz",
"integrity": "sha512-fhBqFlXd0GkKTB+8ayLfpzPUw+LHxZlPAukPNBD1Om7JMeInT+/PxCAf1yLagvD+VKoyWhXtJR68xQkX/a0wOQ=="
},
"lcid": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
......@@ -4166,6 +4239,16 @@
"resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz",
"integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg=="
},
"md5": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
"integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=",
"requires": {
"charenc": "~0.0.1",
"crypt": "~0.0.1",
"is-buffer": "~1.1.1"
}
},
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
......
......@@ -9,6 +9,7 @@
"author": "jy",
"license": "ISC",
"dependencies": {
"@alicloud/pop-core": "^1.7.9",
"MD5": "^1.3.0",
"after": "^0.8.2",
"ali-oss": "^4.12.2",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment