Browse Source

add cors setting

master
godo 6 months ago
parent
commit
5ad12a3736
  1. 35
      README.md
  2. 34
      frontend/src/components/setting/SetSystem.vue
  3. 1
      frontend/src/system/config.ts
  4. 4
      godo/cmd/main.go
  5. 9
      godo/libs/dir.go

35
README.md

@ -13,22 +13,10 @@
</div>
## 🎉 V1.0.3更新日志
## 🎉 V1.0.4更新日志(未发布)
- 新增ai模型管理,可下载管理ollama模型(需要先安装ollama)
- 新增ai助手,可控制整个系统的prompt
- word新增ai优化/续写/纠错/翻译/总结,生成大纲,根据大纲一键创建文章
- markdown更换为更实用的cherry-markdown,支持draw.io绘图,支持导出为思维导图/pdf/长图/docx/md/html格式
- 修复截图/截屏路径
- 修复更换存储将路径后系统不重置的问题
- 新增文件密码箱(系统设置里),可根据不同文件进行加密存储
- 美化日程提醒弹窗
- 修复word格式问题以及导出名字不对
- markdown新增ai优化/续写/纠错/翻译/总结,生成大纲,根据大纲一键创建文章
- 更改文档存储方式,支持选择文件夹
- 内网聊天新增ai对话,可保存对话历史,可更换模型和prompt
- 新增可定义端口和访问路径,支持web端系统重启
- 新增每个文件可独立设置密码,支持不可逆加密文件(加密文件后不可更改密码)
- 新增远程状态下是否支持跨域
- 修复系统重启错误
## 🏭 第三阶段目标(十二月底发布)
1. **文档处理与Markdown智能升级**:(已完成)
@ -123,6 +111,23 @@ docker run -d -p 56780:56780 --name godoos godoos/godoos:latest
- 2024年11月15日,发布v1.0.2版本,企业版跟随发布。
- 2024年8月1日,发布v1.0.0版本,发布后,项目进入第二阶段。
## 🎉 V1.0.3更新日志
- 新增ai模型管理,可下载管理ollama模型(需要先安装ollama)
- 新增ai助手,可控制整个系统的prompt
- word新增ai优化/续写/纠错/翻译/总结,生成大纲,根据大纲一键创建文章
- markdown更换为更实用的cherry-markdown,支持draw.io绘图,支持导出为思维导图/pdf/长图/docx/md/html格式
- 修复截图/截屏路径
- 修复更换存储将路径后系统不重置的问题
- 新增文件密码箱(系统设置里),可根据不同文件进行加密存储
- 美化日程提醒弹窗
- 修复word格式问题以及导出名字不对
- markdown新增ai优化/续写/纠错/翻译/总结,生成大纲,根据大纲一键创建文章
- 更改文档存储方式,支持选择文件夹
- 内网聊天新增ai对话,可保存对话历史,可更换模型和prompt
- 新增可定义端口和访问路径,支持web端系统重启
- 新增每个文件可独立设置密码,支持不可逆加密文件(加密文件后不可更改密码)
### 🎉 v1.0.2更新日志
- 新增本地文件加密存储
- 新增企业端接口(聊天/工作流/文件分享/文件加密)

34
frontend/src/components/setting/SetSystem.vue

@ -38,6 +38,12 @@
<label>服务器地址</label>
<el-input v-model="config.storenet.url" placeholder="可访问的地址,例如http://192.168.1.6:56780 不要加斜杠" />
</div>
<div class="setting-item">
<label>允许跨域</label>
<el-switch v-model="config.storenet.isCors" active-text="允许" inactive-text="不允许"
style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949" active-value="1"
inactive-value="" />
</div>
</template>
<template v-if="config.storeType === 'webdav'">
<div class="setting-item">
@ -251,8 +257,32 @@ function submitOsInfo() {
});
return;
}
setSystemConfig(saveData);
RestartApp();
if (saveData.storenet.isCors === "") {
setSystemConfig(saveData);
RestartApp();
} else {
const postUrl = config.value.apiUrl + "/system/setting";
fetch(postUrl, {
method: "POST",
body: JSON.stringify([{
name: "isCors",
value: saveData.storenet.isCors,
}]),
})
.then((res) => res.json())
.then((res) => {
if (res.code === 0) {
setSystemConfig(saveData);
RestartApp();
} else {
Dialog.showMessageBox({
message: res.message,
type: "error",
});
}
});
}
}
if (saveData.storeType === "webdav") {
const urlRegex = /^(https?:\/\/)/;

1
frontend/src/system/config.ts

@ -134,6 +134,7 @@ export const getSystemConfig = (ifset = false) => {
url: '',
username: '',
password: '',
isCors: ''
};
}
if (!config.webdavClient) {

4
godo/cmd/main.go

@ -49,7 +49,9 @@ func OsStart() {
webdav.InitWebdav()
router := mux.NewRouter()
router.Use(recoverMiddleware)
router.Use(corsMiddleware())
if libs.GetIsCors() {
router.Use(corsMiddleware())
}
router.Use(loggingMiddleware{}.Middleware)
staticDir := libs.GetStaticDir()
router.PathPrefix("/static").Handler(http.StripPrefix("/static", http.FileServer(http.Dir(staticDir))))

9
godo/libs/dir.go

@ -198,6 +198,15 @@ func GetNetPath() string {
}
return "/" + pathStr
}
func GetIsCors() bool {
isCors := GetString("isCors")
if isCors == "" {
return false
} else {
return true
}
}
func GetCacheDir() string {
homeDir := GetDataDir()
cachePath := filepath.Join(homeDir, "cache")

Loading…
Cancel
Save