| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- 'use strict';
 
- /**
 
-  * 签名相关控制器
 
-  *
 
-  * @author EllisRan
 
-  * @date 2019/8/14
 
-  * @version
 
-  */
 
- const moment = require('moment');
 
- const path = require('path');
 
- const sendToWormhole = require('stream-wormhole');
 
- const fs = require('fs');
 
- module.exports = app => {
 
-     class SignController extends app.BaseController {
 
-         /**
 
-          * 电子签名页面
 
-          *
 
-          * @param {Object} ctx - egg全局变量
 
-          * @return {void}
 
-          */
 
-         async index(ctx) {
 
-             const renderData = {
 
-                 error: false,
 
-             };
 
-             try {
 
-                 const userinfo = await ctx.service.projectAccount.getDataById(ctx.query.user_id);
 
-                 if (userinfo && userinfo.session_token && userinfo.session_token === ctx.query.app_token) {
 
-                     renderData.id = userinfo.id;
 
-                     renderData.name = userinfo.name;
 
-                     // renderData.role = userinfo.role;
 
-                 } else {
 
-                     throw '参数有误, 无法访问本页.';
 
-                 }
 
-             } catch (error) {
 
-                 console.log(error);
 
-                 renderData.error = true;
 
-             }
 
-             await ctx.render('sign/info.ejs', renderData);
 
-         }
 
-         /**
 
-          * 保存签名
 
-          *
 
-          * @param {Object} ctx - egg全局变量
 
-          * @return {void}
 
-          */
 
-         async save(ctx) {
 
-             try {
 
-                 const stream = await ctx.getFileStream({ requireFile: false });
 
-                 const create_time = Date.parse(new Date()) / 1000;
 
-                 const dirName = 'app/public/upload/sign/';
 
-                 const fileName = moment().format('YYYYMMDD') + '_sign_' + create_time + '.png';
 
-                 await ctx.helper.saveStreamFile(stream, path.join(this.app.baseDir, dirName, fileName));
 
-                 await sendToWormhole(stream);
 
-                 const result = await ctx.service.projectAccount.update({ sign_path: fileName }, { id: stream.fields.id });
 
-                 if (result) {
 
-                     ctx.body = { err: 0, msg: '' };
 
-                 } else {
 
-                     throw '添加数据库失败';
 
-                 }
 
-             } catch (err) {
 
-                 this.log(err);
 
-                 ctx.body = { err: 1, msg: err.toString() };
 
-             }
 
-         }
 
-     }
 
-     return SignController;
 
- };
 
 
  |