diff --git a/package.json b/package.json index 605f79d..08772c5 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "ethers": "^4.0.36", "etherscan-api": "^10.0.4", "express": "^4.17.1", + "formidable": "^1.2.1", "helmet": "^3.21.1", "js-sha3": "^0.8.0", "jsonwebtoken": "^8.5.1", diff --git a/src/modules/user/user.controller.js b/src/modules/user/user.controller.js index d1a5d21..07225a5 100644 --- a/src/modules/user/user.controller.js +++ b/src/modules/user/user.controller.js @@ -3,6 +3,7 @@ const Fund = require('../fund/fund.model'); const MsgCode = require('../msgCode/msgCode.controller'); const changePwd = require('../sign/sign.controller').changePasswd; const Crypto = require('../../utils/crypto'); +const { parseForm } = require('../../utils/form'); module.exports = { changePwd, @@ -142,5 +143,18 @@ module.exports = { code: 0, data: list }); + }, + async verify (req, res) { + const { userId } = res.locals.user; + const form = await parseForm(req, { + uploadDir: `./userImages/${userId}`, + maxFileSize: 20 * 1024 * 1024, // 限制文件体积最大20m + keepExtensions: true, + encoding: 'utf-8' + }); + console.log(form); + return res.json({ + code: 0 + }); } }; \ No newline at end of file diff --git a/src/modules/user/user.service.js b/src/modules/user/user.service.js index 963f2db..901f022 100644 --- a/src/modules/user/user.service.js +++ b/src/modules/user/user.service.js @@ -48,6 +48,11 @@ const services = [ method: 'GET', controller: controller.getGroupList }, + { + url: '/verify', + method: 'POST', + controller: controller.verify + }, ]; module.exports = services.map(service => { diff --git a/src/utils/form.js b/src/utils/form.js new file mode 100644 index 0000000..35e9e64 --- /dev/null +++ b/src/utils/form.js @@ -0,0 +1,15 @@ +const formidable = require('formidable'); + +module.exports = { + async parseForm (req, config) { + if (!req) return null; + const form = new formidable.IncomingForm(); + Object.assign(form, config); + return new Promise((resolve, reject) => { + form.parse(req, function (err, fields, data) { + if (err) return reject(err); + else return resolve({ fields, data }); + }); + }); + } +}; \ No newline at end of file