baoantoken.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. const axios = require('axios');
  2. const crypto = require('crypto');
  3. // 设置请求的参数
  4. var appId = '436417AD26340B3ACAA495DC2588B4FB'; // 替换为实际的appId
  5. var appKey = 'be246fac538b42f8a2ec006e3940018c'; // 替换为实际的appKey
  6. /*
  7. 获取用户登录token
  8. */
  9. async function getAccessToken() {
  10. try {
  11. // 获取当前时间戳(毫秒)
  12. const timeStamp = Date.now().toString();
  13. // 进行SHA1-HMAC加密
  14. const keyInfo = crypto.createHmac('sha1', appKey)
  15. .update(appId + appKey + timeStamp)
  16. .digest('hex');
  17. // 设置请求的URL和参数
  18. const url = 'https://bjt.baoan.edu.cn/api/apigateway/getAccessToken';
  19. const params = {
  20. appId: appId,
  21. timeStamp: timeStamp,
  22. keyInfo: keyInfo
  23. };
  24. // 发送POST请求并返回响应数据
  25. const response = await axios.post(url, params);
  26. return response.data;
  27. } catch (error) {
  28. console.error('请求失败:', error);
  29. throw error; // 重新抛出错误以供外部调用处理
  30. }
  31. }
  32. async function getToken(ticket, res) {
  33. try {
  34. // https://bjt.baoan.edu.cn/api/user/openapi/user/verify-ticket-info?ticket=**&accessToken={{ACCESS_TOKEN}}
  35. // 设置接口的 URL 和 accessToken
  36. const apiUrl = 'https://bjt.baoan.edu.cn/api/user/openapi/user/verify-ticket-info';
  37. const data = await getAccessToken(); // 请替换为实际的accessToken
  38. const accessToken = data.tokenInfo.accessToken
  39. // 构造请求的 URL
  40. const url = `${apiUrl}?ticket=${ticket}&accessToken=${accessToken}`;
  41. // 发送 GET 请求
  42. const response = await axios.get(url)
  43. // return response.data;
  44. res.status(200).json({ data: response.data });
  45. } catch (error) {
  46. console.error('请求失败:', error);
  47. res.status(500).json({ data: {}, error: error });
  48. throw error; // 重新抛出错误以供外部调用处理
  49. }
  50. }
  51. module.exports = { getToken };
  52. /*
  53. // 使用示例
  54. (async () => {
  55. try {
  56. const result = await getAccessToken(appId, appKey);
  57. console.log('响应数据:', result);
  58. } catch (error) {
  59. console.error('获取AccessToken失败:', error);
  60. }
  61. })();
  62. */