mirror of
https://github.com/kuaifan/dootask.git
synced 2026-04-04 19:50:09 +00:00
no message
This commit is contained in:
parent
c7ea7b057c
commit
4aa865a60f
33
electron/build.js
vendored
33
electron/build.js
vendored
@ -188,44 +188,44 @@ async function detectAndDownloadUpdater() {
|
|||||||
async function downloadAndExtractDrawio(drawioDestDir) {
|
async function downloadAndExtractDrawio(drawioDestDir) {
|
||||||
const tempDir = path.resolve(__dirname, ".temp");
|
const tempDir = path.resolve(__dirname, ".temp");
|
||||||
const tarFilePath = path.join(tempDir, "drawio-latest.tar.gz");
|
const tarFilePath = path.join(tempDir, "drawio-latest.tar.gz");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 创建临时目录
|
// 创建临时目录
|
||||||
if (!fs.existsSync(tempDir)) {
|
if (!fs.existsSync(tempDir)) {
|
||||||
fs.mkdirSync(tempDir, { recursive: true });
|
fs.mkdirSync(tempDir, { recursive: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
const spinner = ora('下载最新的Drawio文件...').start();
|
const spinner = ora('下载最新的Drawio文件...').start();
|
||||||
|
|
||||||
// 1. 下载tar.gz文件
|
// 1. 下载tar.gz文件
|
||||||
const response = await axios({
|
const response = await axios({
|
||||||
url: 'https://appstore.dootask.com/api/v1/download/drawio/latest',
|
url: 'https://appstore.dootask.com/api/v1/download/drawio/latest',
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
responseType: 'stream'
|
responseType: 'stream'
|
||||||
});
|
});
|
||||||
|
|
||||||
const writer = fs.createWriteStream(tarFilePath);
|
const writer = fs.createWriteStream(tarFilePath);
|
||||||
response.data.pipe(writer);
|
response.data.pipe(writer);
|
||||||
|
|
||||||
await new Promise((resolve, reject) => {
|
await new Promise((resolve, reject) => {
|
||||||
writer.on('finish', resolve);
|
writer.on('finish', resolve);
|
||||||
writer.on('error', reject);
|
writer.on('error', reject);
|
||||||
});
|
});
|
||||||
|
|
||||||
spinner.text = '解压Drawio文件...';
|
spinner.text = '解压Drawio文件...';
|
||||||
|
|
||||||
// 2. 解压tar.gz文件到临时目录
|
// 2. 解压tar.gz文件到临时目录
|
||||||
const extractDir = path.join(tempDir, "extracted");
|
const extractDir = path.join(tempDir, "extracted");
|
||||||
if (fs.existsSync(extractDir)) {
|
if (fs.existsSync(extractDir)) {
|
||||||
fse.removeSync(extractDir);
|
fse.removeSync(extractDir);
|
||||||
}
|
}
|
||||||
fs.mkdirSync(extractDir, { recursive: true });
|
fs.mkdirSync(extractDir, { recursive: true });
|
||||||
|
|
||||||
await tar.x({
|
await tar.x({
|
||||||
file: tarFilePath,
|
file: tarFilePath,
|
||||||
cwd: extractDir
|
cwd: extractDir
|
||||||
});
|
});
|
||||||
|
|
||||||
// 3. 查找符合版本号格式的文件夹
|
// 3. 查找符合版本号格式的文件夹
|
||||||
const files = fs.readdirSync(extractDir);
|
const files = fs.readdirSync(extractDir);
|
||||||
const versionRegex = /^v?\d+(\.\d+){1,2}$/;
|
const versionRegex = /^v?\d+(\.\d+){1,2}$/;
|
||||||
@ -233,27 +233,27 @@ async function downloadAndExtractDrawio(drawioDestDir) {
|
|||||||
const filePath = path.join(extractDir, file);
|
const filePath = path.join(extractDir, file);
|
||||||
return fs.lstatSync(filePath).isDirectory() && versionRegex.test(file);
|
return fs.lstatSync(filePath).isDirectory() && versionRegex.test(file);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!versionDir) {
|
if (!versionDir) {
|
||||||
throw new Error('未找到符合版本号格式的文件夹');
|
throw new Error('未找到符合版本号格式的文件夹');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4. 查找webapp文件夹
|
// 4. 查找webapp文件夹
|
||||||
const versionPath = path.join(extractDir, versionDir);
|
const versionPath = path.join(extractDir, versionDir);
|
||||||
const webappPath = path.join(versionPath, 'webapp');
|
const webappPath = path.join(versionPath, 'webapp');
|
||||||
|
|
||||||
if (!fs.existsSync(webappPath)) {
|
if (!fs.existsSync(webappPath)) {
|
||||||
throw new Error('未找到webapp文件夹');
|
throw new Error('未找到webapp文件夹');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 5. 复制webapp文件夹内容到目标目录
|
// 5. 复制webapp文件夹内容到目标目录
|
||||||
fse.copySync(webappPath, drawioDestDir);
|
fse.copySync(webappPath, drawioDestDir);
|
||||||
|
|
||||||
spinner.succeed('Drawio文件下载并解压完成');
|
spinner.succeed('Drawio文件下载并解压完成');
|
||||||
|
|
||||||
// 清理临时文件
|
// 清理临时文件
|
||||||
fse.removeSync(tempDir);
|
fse.removeSync(tempDir);
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.warn('下载Drawio失败,使用默认版本:', error.message);
|
console.warn('下载Drawio失败,使用默认版本:', error.message);
|
||||||
// 清理临时文件
|
// 清理临时文件
|
||||||
@ -559,6 +559,7 @@ async function startBuild(data) {
|
|||||||
origin: "./",
|
origin: "./",
|
||||||
homeUrl: utils.formatUrl(data.url),
|
homeUrl: utils.formatUrl(data.url),
|
||||||
apiUrl: utils.formatUrl(data.url) + "api/",
|
apiUrl: utils.formatUrl(data.url) + "api/",
|
||||||
|
routeMode: "hash",
|
||||||
}
|
}
|
||||||
// information
|
// information
|
||||||
if (data.id === 'app') {
|
if (data.id === 'app') {
|
||||||
|
|||||||
2
resources/assets/js/app.js
vendored
2
resources/assets/js/app.js
vendored
@ -77,7 +77,7 @@ VueRouter.prototype.push = function push(location) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 路由方式
|
// 路由方式
|
||||||
const routeMode = isSoftware && !/https?:/i.test(window.location.protocol) ? 'hash' : 'history';
|
const routeMode = (window && window.systemInfo && window.systemInfo.routeMode === 'hash') ? 'hash' : 'history';
|
||||||
const router = new VueRouter({mode: routeMode, routes});
|
const router = new VueRouter({mode: routeMode, routes});
|
||||||
|
|
||||||
// 进度条配置
|
// 进度条配置
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user