c_user.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. const {handle} = require('../tools/handle_cjs');
  2. const log = require("../logger").logger("c_user","info");
  3. const d_user = require("../database/d_user");
  4. const codeMap = require("../map/rcodeMap");
  5. const dbField = require("../map/dbField");
  6. const {searchHandle} = require("../tools/searchSql");
  7. /**
  8. * 检测账号是否合法
  9. * @param err
  10. * @param res
  11. * @returns {[{eMsg: string, eCode: number},null]|*[]}
  12. * @private
  13. */
  14. function _checkAccount(err,res){
  15. let userData;
  16. if(err){
  17. log.warn(`[用户登录] 登陆失败 ${err.message}`);
  18. return [err,null];
  19. }
  20. if(!res.length){
  21. return [
  22. {
  23. eCode:codeMap.NotFound,
  24. eMsg:`账号或者密码错误`
  25. },null];
  26. }
  27. userData = res[0];
  28. if(userData.status === dbField.db_user.status.disable){
  29. log.info(`[账号检测] 账号已被禁用`);
  30. return [
  31. {
  32. eCode:codeMap.NotPermission,
  33. eMsg:`账号已被禁用`
  34. },null];
  35. }
  36. return [null,userData];
  37. }
  38. async function login(owner,passwd){
  39. let err,res,userData;
  40. [err,res] = await handle(d_user.login(owner,passwd));
  41. [err,userData] = _checkAccount(err,res);
  42. if(err){
  43. return [err,null];
  44. }
  45. log.info(`[用户登录] 登陆成功 ${userData.name}`)
  46. return [null,userData];
  47. }
  48. async function loadAccount(accountId,p, l){
  49. let err,res;
  50. let userData;
  51. let _params = {};
  52. p = p || 1;
  53. l = l || 10;
  54. // 判断账号是否存在
  55. [err,res] = await handle(d_user.checkAccount(accountId));
  56. [err,userData] = _checkAccount(err,res);
  57. if(err){
  58. return [err,null];
  59. }
  60. return await searchHandle(
  61. '加载账号失败',
  62. d_user.loadAccounts,
  63. _params,
  64. null,
  65. p,
  66. l);
  67. }
  68. module.exports = {
  69. login,
  70. loadAccount
  71. }