init for deploy files

This commit is contained in:
2024-10-10 00:43:50 +08:00
parent b2acf93806
commit ef21829ffe
23 changed files with 1519 additions and 6 deletions

33
src/module/get-config.ts Normal file
View File

@@ -0,0 +1,33 @@
import os from 'os';
import path from 'path';
import fs from 'fs';
const envisionPath = path.join(os.homedir(), '.config', 'envision');
const configPath = path.join(os.homedir(), '.config', 'envision', 'config.json');
export const checkFileExists = (filePath: string) => {
try {
fs.accessSync(filePath, fs.constants.F_OK);
return true;
} catch (error) {
return false;
}
};
export const getConfig = () => {
if (!checkFileExists(envisionPath)) {
fs.mkdirSync(envisionPath, { recursive: true });
}
if (checkFileExists(configPath)) {
const config = fs.readFileSync(configPath, 'utf-8');
try {
return JSON.parse(config);
} catch (e) {
return {};
}
}
return {};
};
export const writeConfig = (config: Record<string, any>) => {
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
};

3
src/module/index.ts Normal file
View File

@@ -0,0 +1,3 @@
export * from './query.ts';
export * from './get-config.ts';

18
src/module/query.ts Normal file
View File

@@ -0,0 +1,18 @@
import { Query } from '@kevisual/query';
import { getConfig } from './get-config.ts';
const config = getConfig();
export const baseURL = config?.baseURL || 'https://envision.xiongxiao.me';
export const query = new Query({
url: `${baseURL}/api/router`,
});
query.beforeRequest = async (config) => {
if (config.headers) {
const token = await getConfig()?.token;
if (token) {
config.headers['Authorization'] = 'Bearer ' + token;
}
}
return config;
};