Download platform/lib/api.js from Shaurya2020/365lotus-platform: direct link, hf CLI and curl.
- Browser
- Download file 860 Bytes
-
https://huggingface.co/Shaurya2020/365lotus-platform/resolve/main/platform/lib/api.js
- Command line
-
hf download hf://Shaurya2020/365lotus-platform/platform/lib/api.js
-
curl -L -o api.js https://huggingface.co/Shaurya2020/365lotus-platform/resolve/main/platform/lib/api.js
860 Bytes
| // Axios wrapper: JWT bearer + AES envelope (auto encrypt/decrypt). | |
| import axios from 'axios'; | |
| import { encrypt, decrypt, aesEnabled } from './aes.js'; | |
| const api = axios.create({ baseURL: '', timeout: 15000 }); | |
| api.interceptors.request.use(cfg => { | |
| const t = localStorage.getItem(cfg.baseURL?.includes('/admin') ? 'admin_token' : 'player_token'); | |
| if (t) cfg.headers.Authorization = `Bearer ${t}`; | |
| if (cfg.data && aesEnabled) cfg.data = encrypt(cfg.data); | |
| return cfg; | |
| }); | |
| api.interceptors.response.use(res => { | |
| if (aesEnabled && res.data) res.data = decrypt(res.data); | |
| return res; | |
| }, err => { | |
| if (err.response?.status === 401) { | |
| localStorage.removeItem('admin_token'); | |
| localStorage.removeItem('player_token'); | |
| if (typeof window !== 'undefined') window.location.href = '/'; | |
| } | |
| return Promise.reject(err); | |
| }); | |
| export default api; | |