const axios = require('axios'); const crypto = require('crypto'); // 设置请求的参数 var appId = '436417AD26340B3ACAA495DC2588B4FB'; // 替换为实际的appId var appKey = 'be246fac538b42f8a2ec006e3940018c'; // 替换为实际的appKey /* 获取用户登录token */ async function getAccessToken() { try { // 获取当前时间戳(毫秒) const timeStamp = Date.now().toString(); // 进行SHA1-HMAC加密 const keyInfo = crypto.createHmac('sha1', appKey) .update(appId + appKey + timeStamp) .digest('hex'); // 设置请求的URL和参数 const url = 'https://bjt.baoan.edu.cn/api/apigateway/getAccessToken'; const params = { appId: appId, timeStamp: timeStamp, keyInfo: keyInfo }; // 发送POST请求并返回响应数据 const response = await axios.post(url, params); return response.data; } catch (error) { console.error('请求失败:', error); throw error; // 重新抛出错误以供外部调用处理 } } async function getAccessToken(ticket) { try { // https://bjt.baoan.edu.cn/api/user/openapi/user/verify-ticket-info?ticket=**&accessToken={{ACCESS_TOKEN}} // 设置接口的 URL 和 accessToken const apiUrl = 'https://bjt.baoan.edu.cn/api/user/openapi/user/verify-ticket-info'; const accessToken = await getAccessToken().tokenInfo.accessToken; // 请替换为实际的accessToken // 构造请求的 URL const url = `${apiUrl}?ticket=${ticket}&accessToken=${accessToken}`; // 发送 GET 请求 const response = await axios.get(url) return response.data; } catch (error) { console.error('请求失败:', error); throw error; // 重新抛出错误以供外部调用处理 } } /* // 使用示例 (async () => { try { const result = await getAccessToken(appId, appKey); console.log('响应数据:', result); } catch (error) { console.error('获取AccessToken失败:', error); } })(); */