|
@@ -2,8 +2,7 @@ const API = require("../../lib/API")
|
|
|
const db = require("../../plugin/DataBase/db")
|
|
|
const AccessControl = require("../../lib/AccessControl")
|
|
|
const { BaseStdResponse } = require("../../BaseStdResponse")
|
|
|
-const axios = require("axios")
|
|
|
-const { core_url } = require('../../config.json')
|
|
|
+const simpleGit = require('simple-git')
|
|
|
|
|
|
class GetRepoList extends API {
|
|
|
constructor() {
|
|
@@ -49,15 +48,21 @@ class GetRepoList extends API {
|
|
|
data: []
|
|
|
})
|
|
|
|
|
|
- const status_url = core_url + '/git/status'
|
|
|
-
|
|
|
try {
|
|
|
- // 并行执行所有请求
|
|
|
- const statusPromises = rows.map(item =>
|
|
|
- axios.post(status_url, { uuid, repo_url: item.url, repo_id: item.id })
|
|
|
- .then(res => ({ ...item, status: res.data }))
|
|
|
- .catch(() => ({ ...item, status: null }))
|
|
|
- )
|
|
|
+ const git = simpleGit()
|
|
|
+
|
|
|
+ const statusPromises = rows.map(async item => {
|
|
|
+ await git.cwd(item.path)
|
|
|
+
|
|
|
+ const status = await git.status()
|
|
|
+
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ status: {
|
|
|
+ current: status.current
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
|
|
|
const items = await Promise.all(statusPromises)
|
|
|
|
|
@@ -66,11 +71,13 @@ class GetRepoList extends API {
|
|
|
data: items
|
|
|
})
|
|
|
} catch (error) {
|
|
|
+ console.error('获取仓库状态失败:', error)
|
|
|
res.json({
|
|
|
...BaseStdResponse.ERR,
|
|
|
message: '获取仓库状态失败'
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|