thinkraz-api-sdk
Version:
橡芮科技API开发包
173 lines (164 loc) • 5.3 kB
JavaScript
const Promise = require('bluebird');
const baseClass = require('../lib/baseClass');
module.exports = class Sms extends baseClass {
/**
* @description 发送短信
* @param {int} templateId
* @param {int} signId
* @param {string} phoneNumber
* @param {Array} params
*/
sendMessage(templateId, signId, phoneNumber, params) {
return new Promise((resolve, reject) => {
this.request().post(`${this.getPath()}/sendSms`, {
template: templateId,
sign: signId,
mobile: phoneNumber,
params: params
}).then(result => {
resolve(result);
}).catch(err => {
reject(err);
});
});
}
/**
* @description 发送验证码短信
* @param {int} templateId
* @param {int} signId
* @param {string} phoneNumber
* @param {Array} params
* @param {string} code
* @param {string} operationToken
* @param {int} ttl
*/
sendVerifyMessage(templateId, signId, phoneNumber, params, code, operationToken, ttl) {
return new Promise((resolve, reject) => {
this.request().post(`${this.getPath()}/sendVerifySms`, {
template: templateId,
sign: signId,
mobile: phoneNumber,
params: params,
code: code,
ttl: ttl,
operationToken: operationToken
}).then(result => {
resolve(result);
}).catch(err => {
reject(err);
});
});
}
/**
* @description 验证短信验证码
* @param {string} phoneNumber
* @param {string} code
*/
verfiyCode(phoneNumber, code) {
return new Promise((resolve, reject) => {
this.request().post(`${this.getPath()}/verifySmsCode`, {
mobile: phoneNumber,
code: code
}).then(result => {
resolve(result);
}).catch(err => {
reject(err);
});
});
}
/**
* @description 申请短信模板
* @param {string} title
* @param {string} text
* 模板示例:{1}为您的登录验证码,请于{2}分钟内填写。如非本人操作,请忽略本短信。 (其中{数字}为可自定义的内容,须从1开始连续编号,如{1}、{2}等)
*/
createTemplate(title, text) {
return new Promise((resolve, reject) => {
this.request().post(`${this.getPath()}/templates`, {
title: title,
remark: '申请新模板',
text: text,
type: 0
}).then(result => {
resolve(result);
}).catch(err => {
reject(err);
});
});
}
/**
* @description 修改短信模板
* @param {int} templateId
* @param {string} title
* @param {string} text
*/
modifyTemplate(templateId, title, text) {
return new Promise((resolve, reject) => {
this.request().put(`${this.getPath()}/templates`, {
id: templateId,
title: title,
text: text,
remark: '申请修改模版',
type: 0
}).then(result => {
resolve(result);
}).catch(err => {
reject(err);
});
});
}
/**
* @description 查询指定短信模板
* @param {int} templateId
*/
getTemplate(templateId) {
return new Promise((resolve, reject) => {
this.request().get(`${this.getPath()}/templates/${templateId}`).then(template => {
resolve(template);
}).catch(err => {
reject(err);
});
});
}
/**
* @description 删除指定短信模板
* @param {int} templateId
*/
removeTemplate(templateId) {
return new Promise((resolve, reject) => {
this.request().del(`${this.getPath()}/templates/${templateId}`).then(template => {
resolve(template);
}).catch(err => {
reject(err);
});
});
}
/**
* @description 获取短信模板
*/
fetchTemplates() {
return new Promise((resolve, reject) => {
this.request().get(`${this.getPath()}/templates`).then(templates => {
resolve(templates);
}).catch(err => {
reject(err);
});
});
}
/**
* @description 创建短信签名
* @param {string} signContext
*/
createSign(signContext) {
return new Promise((resolve, reject) => {
this.request().post(`${this.getPath()}/sign`, {
text: signContext,
remark: '创建短信签名'
}).then(result => {
resolve(result);
}).catch(err => {
reject(err);
});
});
}
};