diff --git a/README.md b/README.md index 0bad568..36a3cc0 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ -### 安装 +### 📚 安装 [![Windows][Windows-image]][Windows-url] [![MacOS][MacOS-image]][MacOS-url] @@ -41,7 +41,7 @@ -## 亮点 +## 💝 亮点 - ***无需联网使用,全开源*** - ***零配置,无需注册,下载即用*** - ***零污染,无插件依赖*** @@ -49,17 +49,17 @@ - ***可无限扩展,支持自定义应用*** - ***golang开发后端,低资源消耗和高性能*** -## 开发进程 +## 🚧 开发进程 - 2024年7月,发布v1.0.0版本,发布后,项目进入第二阶段。 -## 第二阶段目标 +## 🏭 第二阶段目标 - [x] 完善的应用商店体系 - [x] 完善开发文档 - [x] 支持远程存储 - [x] 完成企业客户端 -## 功能说明和预览 +## ⚡ 功能说明和预览 ### 一、系统桌面 - 精仿windows风格 @@ -159,7 +159,7 @@ pnpm build wails build # wails build -nsis -upx //you need install nsis and upx ``` -## 感谢 +## ❤️ 感谢 - [element-plus](http://element-plus.org/) - [vue3](https://v3.cn.vuejs.org/) - [wails](https://wails.io/) @@ -168,7 +168,7 @@ wails build - [mind-map](https://github.com/wanglin2/mind-map) - [canvas-editor](https://github.com/Hufe921/canvas-editor) -## 关联项目 +## 💕 关联项目 - [godooa](https://gitee.com/ruitao_admin/gdoa) - [gododb](https://gitee.com/ruitao_admin/gododb) @@ -182,3 +182,8 @@ wails build - 如用于商业活动或二次开发后发售,请购买相关版权 - 不提供私下维护工作,如有bug请 [issures](https://gitee.com/ruitao_admin/gododbs) 提交 - 请尊重作者的劳动成果 + +## 💌 支持作者 + +如果觉得不错,或者已经在使用了,希望你可以去 +Gitee 帮我点个 ⭐ Star,这将是对我极大的鼓励与支持。 \ No newline at end of file diff --git a/frontend/public/image/store/banner1.jpg b/frontend/public/image/store/banner1.jpg deleted file mode 100644 index 8b04d48..0000000 Binary files a/frontend/public/image/store/banner1.jpg and /dev/null differ diff --git a/frontend/public/image/store/banner2.jpg b/frontend/public/image/store/banner2.jpg deleted file mode 100644 index 89abedc..0000000 Binary files a/frontend/public/image/store/banner2.jpg and /dev/null differ diff --git a/frontend/public/image/store/banner3.jpg b/frontend/public/image/store/banner3.jpg deleted file mode 100644 index fc52cc2..0000000 Binary files a/frontend/public/image/store/banner3.jpg and /dev/null differ diff --git a/frontend/public/image/store/mysql.png b/frontend/public/image/store/mysql.png new file mode 100644 index 0000000..0804c78 Binary files /dev/null and b/frontend/public/image/store/mysql.png differ diff --git a/frontend/public/image/store/nginx.png b/frontend/public/image/store/nginx.png new file mode 100644 index 0000000..75b527d Binary files /dev/null and b/frontend/public/image/store/nginx.png differ diff --git a/frontend/public/image/store/notepad.ico b/frontend/public/image/store/notepad.ico new file mode 100644 index 0000000..e415be8 Binary files /dev/null and b/frontend/public/image/store/notepad.ico differ diff --git a/frontend/public/image/store/php.png b/frontend/public/image/store/php.png new file mode 100644 index 0000000..63a624f Binary files /dev/null and b/frontend/public/image/store/php.png differ diff --git a/frontend/public/image/store/phpmyadmin.png b/frontend/public/image/store/phpmyadmin.png new file mode 100644 index 0000000..63585a1 Binary files /dev/null and b/frontend/public/image/store/phpmyadmin.png differ diff --git a/frontend/public/image/store/redis.png b/frontend/public/image/store/redis.png new file mode 100644 index 0000000..f46fd38 Binary files /dev/null and b/frontend/public/image/store/redis.png differ diff --git a/frontend/src/assets/store.json b/frontend/src/assets/store.json index 1615ed5..2ab449e 100644 --- a/frontend/src/assets/store.json +++ b/frontend/src/assets/store.json @@ -1,36 +1,21 @@ [ { - "name": "在线工具", - "url": "https://tool.lu/", - "icon": "/image/store/tools.png" - }, - { - "name": "石墨文档", - "url": "https://shimo.im/desktop", - "icon": "/image/store/shimo.png" - }, - { - "name": "在线节拍器", - "url": "https://metronome.tooltool.net/?utm_source=xinquji", - "icon": "/image/store/jpq.png" - }, - { - "name": "查看月食", - "url": "https://nadc.china-vo.org/eclipse/", - "icon": "/image/store/yueshi.png" - }, - { - "name": "蒸 気 機", - "url": "https://magiconch.com/vaporwave/?from=home", - "icon": "/image/store/zqj.png" - }, - { - "name": "vtb 大数据", - "url": "https://vtbs.moe/", - "icon": "/image/store/vtb.png" - }, - { - "name": "更多应用", - "desc": "更多应用敬请期待,如果您有合适的应用,可以点击开始菜单,意见反馈取得联系" + "name": "mysql5.7", + "url": "https://gitee.com/ruitao_admin/godoos-mysql5.7/releases/download/mysql5.7/mysql-windows-5.7.7z", + "needDownload": true, + "needInstall": true, + "version": "5.7.37", + "icon": "https://img0.baidu.com/it/u=1087008535,3349487719&fm=253&fmt=auto&app=138&f=PNG?w=969&h=500", + "checkProgress": true, + "hasRestart": true, + "setting": [ + { + "path": "setting.html", + "lang":{ + "cn-zh": "设置", + "en": "Setting" + } + } + ] } ] \ No newline at end of file diff --git a/frontend/src/components/store/AppItem.vue b/frontend/src/components/store/AppItem.vue index c77c84e..1afd277 100644 --- a/frontend/src/components/store/AppItem.vue +++ b/frontend/src/components/store/AppItem.vue @@ -17,7 +17,7 @@
- +
diff --git a/frontend/src/components/store/Store.vue b/frontend/src/components/store/Store.vue index a7d4cd4..0dd2350 100644 --- a/frontend/src/components/store/Store.vue +++ b/frontend/src/components/store/Store.vue @@ -3,8 +3,8 @@ import { inject, onMounted, ref } from "vue"; import { System } from "@/system"; import {notifySuccess, notifyError} from "@/util/msg"; import { t } from "@/i18n"; -//import storeList from "@/assets/store.json"; -import { getSystemKey, setSystemKey } from "@/system/config"; +import storeInitList from "@/assets/store.json"; +import { getSystemKey, setSystemKey, parseJson } from "@/system/config"; const sys: any = inject("system"); const currentCateId = ref(0) const currentTitle = ref(t("store.hots")) @@ -14,6 +14,7 @@ const categoryIcon = ['HomeFilled', 'Odometer', 'Postcard', 'TrendCharts', 'Scho const isready = ref(false); const installed = getSystemKey("intstalledPlugins"); const apiUrl = getSystemKey("apiUrl"); + const installedList: any = ref(installed); const storeList: any = ref([]) onMounted(async() => { @@ -22,14 +23,16 @@ onMounted(async() => { }); async function getList(){ if(currentCate.value == 'add')return; - const storeUrl = apiUrl + '/system/storeList?cate=' + currentCate.value - fetch(storeUrl).then(res => { - res.json().then(data => { - storeList.value = data - }) - }).catch(() => { - notifyError(t("store.errorList")) - }) + storeList.value = storeInitList + // const apiUrl = getSystemKey("apiUrl"); + // const storeUrl = apiUrl + '/system/storeList?cate=' + currentCate.value + // fetch(storeUrl).then(res => { + // res.json().then(data => { + // storeList.value = data + // }) + // }).catch(() => { + // notifyError(t("store.errorList")) + // }) isready.value = true; } async function changeCate(index: number, item: string) { @@ -44,8 +47,14 @@ function setCache() { sys.refershAppList(); }, 1000); } -function install(item: any) { - //console.log(item) +async function install(item: any) { + + if(item.needDownload){ + await download(item) + } + if(item.needInstall){ + + } if(item.url){ sys.fs.writeFile( `${sys._options.userLocation}Desktop/${item.name}.url`, @@ -64,6 +73,35 @@ function uninstall(item: any) { delete installedList.value[installedList.value.indexOf(item.name)]; setCache(); } +async function download(item: any) { + //console.log(item) + const completion = await fetch(apiUrl + '/store/download?url=' + item.url) + if(!completion.ok){ + notifyError(t("store.downloadError")) + } + //console.log(completion) + const reader:any = completion.body?.getReader(); + if (!reader) { + notifyError(t("store.cantStream")); + } + while (true) { + const { done, value } = await reader?.read(); + if (done) { + break; + } + // console.log(value) + const json = await new TextDecoder().decode(value); + //console.log(json) + const res = parseJson(json) + console.log(res) + if(res){ + if(res.done) { + notifySuccess(t("store.downloadSuccess")) + break; + } + } + } +}