phoneMessage.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. 'use strict';
  2. const assert = require('assert');
  3. const _ = require('lodash');
  4. const { ObjectId } = require('mongoose').Types;
  5. const { CrudService } = require('naf-framework-mongoose/lib/service');
  6. const { BusinessError, ErrorCode } = require('naf-core').Error;
  7. const sms = require('../util/aliMessage.js');
  8. const smsUtil = require('../util/smsUtil.js');
  9. class PhoneMessageService extends CrudService {
  10. // 发送验证码
  11. async sendMessage(data) {
  12. if (data.phone) {
  13. const res = await sms.send(data.phone);
  14. return res;
  15. // sms.send(data.phone).then(result => {
  16. // console.log('短信发送成功');
  17. // console.log(result);
  18. // return result;
  19. // }, ex => {
  20. // console.log('短信发送失败');
  21. // console.log(ex);
  22. // return ex;
  23. // });
  24. }
  25. }
  26. // 发送短信提醒:PhoneNumbers, SignName, TemplateCode, TemplateParam
  27. async smsRemind(data) {
  28. if (data.PhoneNumbers) {
  29. const res = await smsUtil.smsAlert(data.PhoneNumbers, '惠金信用信息服务', data.TemplateCode, data.TemplateParam);
  30. return res;
  31. }
  32. return '手机号有误';
  33. }
  34. // OCR : img(base64)
  35. async getMessage(data) {
  36. const url = 'https://dm-58.data.aliyun.com/rest/160601/ocr/ocr_business_license.json';
  37. const AppCode = '4638ef02c8e248e1b12d55b1170e4feb';
  38. if (data.img) {
  39. const bodys = { image: data.img };
  40. const res = await this.ctx.curl(url, {
  41. method: 'POST',
  42. headers: { Authorization: 'APPCODE ' + AppCode },
  43. contentType: 'application/json; charset=UTF-8',
  44. data: JSON.stringify(bodys),
  45. dataType: 'json',
  46. });
  47. // console.log('OCR返回结果========', res);
  48. if (res.status == 200) {
  49. return res.data;
  50. } else if (res.status == 403) {
  51. return '没有购买,或者购买次数用尽,或者URL错误';
  52. } else if (res.status == 413) {
  53. return '图片太大,超过1.5M';
  54. }
  55. return 'OCR 调用失败';
  56. }
  57. return '图片获取失败';
  58. }
  59. }
  60. module.exports = PhoneMessageService;