GetInfo.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. const GetToken = require('./GetToken');
  2. const axios = require('axios');
  3. const path = require('path');
  4. const Logger = require('../../lib/Logger');
  5. const logger = new Logger(path.join(__dirname, '../../logs/WXWork.log'), 'INFO');
  6. async function getUserID(code) {
  7. const token = await GetToken();
  8. if (!token)
  9. return { success: false, msg: '获取企微token失败!请联系管理员' };
  10. let response = await axios.get(`https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo?access_token=${token}&code=${code}`);
  11. if (!response || response.data.errcode !== 0 || !response.data.userid) {
  12. logger.error(`获取企微用户信息失败!原因:${response.data.errmsg}`)
  13. return { success: false, msg: '获取企微用户信息失败!请联系管理员' };
  14. }
  15. return { success: true, userid: response.data.userid };
  16. }
  17. async function getUserInfo(userid) {
  18. const token = await GetToken();
  19. if (!token)
  20. return { success: false, msg: '获取企微token失败!请联系管理员' };
  21. let response = await axios.get(`https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=${token}&userid=${userid}`);
  22. if (!response || response.data.errcode !== 0 || !response.data.name) {
  23. logger.error(`获取企微用户信息失败!原因:${response.data.errmsg}`)
  24. return { success: false, msg: '获取企微用户信息失败!请联系管理员' };
  25. }
  26. let name = response.data.name;
  27. let avatar = response.data.avatar ? response.data.avatar : '';
  28. return { success: true, name, avatar }
  29. }
  30. module.exports = {
  31. getUserID,
  32. getUserInfo
  33. }