customer.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. 'use strict';
  2. /**
  3. * 用户管理业务类
  4. *
  5. * @author Mai
  6. * @date 2018/4/19
  7. * @version
  8. */
  9. // 加密类
  10. const crypto = require('crypto');
  11. module.exports = app => {
  12. class Customer extends app.BaseService {
  13. async validLogin (data) {
  14. let result = false;
  15. // 验证本地用户
  16. if (data.account === 'admin') {
  17. result = data.password === 'admin';
  18. } else {
  19. result = false;
  20. }
  21. if (result) {
  22. // 成功后写入session
  23. const currentTime = new Date().getTime();
  24. const sessionToken = crypto.createHmac('sha1', currentTime + '').update(data.account)
  25. .digest().toString('base64');
  26. const userSession = {
  27. username: data.account,
  28. loginTime: currentTime,
  29. sessionToken,
  30. };
  31. this.ctx.session.userSession = userSession;
  32. }
  33. return result;
  34. }
  35. }
  36. return Customer;
  37. }