refactor: migrate to Tencent Cloud backend

这个提交包含在:
Guoguo
2026-04-28 22:56:47 +08:00
父节点 267c75718b
当前提交 444c91c0b0
修改 102 个文件,包含 17927 行新增1997 行删除
+25
查看文件
@@ -0,0 +1,25 @@
function escapeCSV(val) {
if (val == null) return ''
var s = String(val)
if (s.indexOf(',') > -1 || s.indexOf('"') > -1 || s.indexOf('\n') > -1) {
return '"' + s.replace(/"/g, '""') + '"'
}
return s
}
function exportCSV(filename, headers, rows) {
var lines = [headers.map(escapeCSV).join(',')]
for (var i = 0; i < rows.length; i++) {
lines.push(rows[i].map(escapeCSV).join(','))
}
var csv = '\uFEFF' + lines.join('\n')
var blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' })
var url = URL.createObjectURL(blob)
var a = document.createElement('a')
a.href = url
a.download = filename
a.click()
URL.revokeObjectURL(url)
}
export { exportCSV }
+11 -3
查看文件
@@ -1,5 +1,7 @@
const BASE_URL = 'https://api.lightmask.com'
const USE_MOCK = true
import env from '../config/env'
const BASE_URL = env.API_BASE
const USE_MOCK = false
const MOCK_DATA = {
'/api/v1/admin/devices/AABBCCDDEEFF0011': {
@@ -67,6 +69,12 @@ const MOCK_DATA = {
}
function getMockData(url, data) {
if (url.includes('/api/v1/admin/login')) {
if (data && data.username === 'admin' && data.password === 'admin123') {
return { token: 'mock_token_admin', admin_id: 'admin_001', username: 'admin', real_name: '管理员', role: 'admin' }
}
throw { code: 1001, message: '用户名或密码错误' }
}
if (url.startsWith('/api/v1/admin/users/') && !url.includes('users?')) {
const id = url.split('/').pop()
return MOCK_DATA['/api/v1/admin/users/u1'] || { _id: id, nickname: '未知用户' }
@@ -92,8 +100,8 @@ function request(options) {
method: options.method || 'GET',
data: options.data || {},
header: {
'Authorization': token ? 'Bearer ' + token : '',
'Content-Type': 'application/json',
'Authorization': token ? 'Bearer ' + token : '',
...options.header
},
success(res) {