chen пре 5 година
родитељ
комит
71bbbcb4f1
4 измењених фајлова са 40 додато и 55 уклоњено
  1. 6 0
      app/controller/phoneMessage.js
  2. 1 0
      app/router.js
  3. 27 35
      app/service/phoneMessage.js
  4. 6 20
      app/util/aliMessage.js

+ 6 - 0
app/controller/phoneMessage.js

@@ -12,13 +12,19 @@ class PhoneMessageController extends Controller {
     this.service = this.ctx.service.phoneMessage;
   }
 
+  // 验证码
   async sendMessage() {
     const res = await this.service.sendMessage(this.ctx.request.body);
     this.ctx.ok({ data: res });
 
   }
 
+  // OCR
+  async getMessage() {
+    const res = await this.service.getMessage(this.ctx.request.body);
+    this.ctx.ok(res);
 
+  }
 }
 
 module.exports = CrudController(PhoneMessageController, meta);

+ 1 - 0
app/router.js

@@ -252,5 +252,6 @@ module.exports = app => {
   router.post('intelligentFollow', '/api/financial/intelligentFollow/getFinishList', controller.intelligentFollow.getFinishList);// 已完成列表
   // 验证码
   router.post('phoneMessage', '/api/financial/phoneMessage/sendMessage', controller.phoneMessage.sendMessage);
+  router.post('phoneMessage', '/api/financial/phoneMessage/getMessage', controller.phoneMessage.getMessage);
 
 };

+ 27 - 35
app/service/phoneMessage.js

@@ -6,7 +6,6 @@ const { ObjectId } = require('mongoose').Types;
 const { CrudService } = require('naf-framework-mongoose/lib/service');
 const { BusinessError, ErrorCode } = require('naf-core').Error;
 
-// const Core = require('@alicloud/pop-core');
 const sms = require('../util/aliMessage.js');
 
 class PhoneMessageService extends CrudService {
@@ -27,41 +26,34 @@ class PhoneMessageService extends CrudService {
       // });
     }
   }
-  // 校验用户提交的验证码
-  async verify(phone, code) {
-    const isCodeRight = sms.verify(phone, code); // 返回true/false
-    return isCodeRight;
-  }
 
-  // async send(phone) {
-  //   let res = '';
-  //   const client = new Core({
-  //     accessKeyId: '<accessKeyId>',
-  //     accessKeySecret: '<accessSecret>',
-  //     endpoint: 'https://dysmsapi.aliyuncs.com',
-  //     apiVersion: '2017-05-25',
-  //   });
-  //
-  //   const params = {
-  //     RegionId: 'cn-hangzhou',
-  //     PhoneNumbers: phone,
-  //     SignName: '短信签名',
-  //     TemplateCode: '模板code',
-  //     TemplateParam: '模板变量', // 短信模板变量对应的实际值,JSON格式。
-  //   };
-  //
-  //   const requestOption = {
-  //     method: 'POST',
-  //   };
-  //
-  //   client.request('SendSms', params, requestOption).then(result => {
-  //     console.log(JSON.stringify(result));
-  //     res = result;
-  //   }, ex => {
-  //     console.log(ex);
-  //     res = ex;
-  //   });
-  // }
+  async getMessage(data) {
+    const url = 'https://dm-58.data.aliyun.com/rest/160601/ocr/ocr_business_license.json';
+    const AppCode = '4638ef02c8e248e1b12d55b1170e4feb';
+    if (data.img) {
+
+      const bodys = { image: data.img };
+
+      const res = await this.ctx.curl(url, {
+        method: 'POST',
+        headers: { Authorization: 'APPCODE ' + AppCode },
+        contentType: 'application/json; charset=UTF-8',
+        data: JSON.stringify(bodys),
+        dataType: 'json',
+      });
+      // console.log('OCR返回结果========', res);
+      if (res.status == 200) {
+        return res.data;
+      } else if (res.status == 403) {
+        return '没有购买,或者购买次数用尽,或者URL错误';
+      } else if (res.status == 413) {
+        return '图片太大,超过1.5M';
+      }
+      return 'OCR 调用失败';
+
+    }
+    return '图片获取失败';
+  }
 
 
 }

+ 6 - 20
app/util/aliMessage.js

@@ -20,7 +20,7 @@ const client = new Core({
 
 // 保存手机号和验证码的对应关系
 // phone_code_list = {'18855551234':['1024']}
-const phone_code_list = {};
+// const phone_code_list = {};
 
 /**
  * sms.send(手机号) 发送短信验证码
@@ -40,41 +40,27 @@ exports.send = function(phone) {
       }, {
         method: 'POST',
       }).then(result => {
+        console.log('res', result)
         if (result.Message && result.Message == 'OK' && result.Code && result.Code == 'OK') { // 短信发送成功
           // 保存验证码
           result.number = code;
-          // if (phone_code_list[phone]) {
-          //   phone_code_list[phone].push(code);
-          // } else {
-          //   phone_code_list[phone] = [ code ];
-          // }
-          // // 三分钟后删除验证码
-          // setTimeout(() => {
-          //   _.pull(phone_code_list[phone], code);
-          //   if (phone_code_list[phone] && phone_code_list[phone].length == 0) {
-          //     delete phone_code_list[phone];
-          //   }
-          // }, 3 * 60 * 1000);
           resolve(result);
         } else {
+          console.log('error', result)
           reject(result);
         }
       }, ex => {
+        console.log('ex', ex)
         reject(ex);
       });
     } catch (error) {
+      console.log('catch  error', error)
+
       reject(error);
     }
   });
 };
 
-/**
- * sms.verify(手机号,验证码) 校验验证码是否正确
- **/
-exports.verify = function(phone, code) {
-  return (phone_code_list[phone].indexOf(code) > -1);
-};
-
 exports.randomCode = function(length) {
   const chars = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ];
   let result = '';