diff --git a/README.md b/README.md
index f126795..67b9df0 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,17 @@
-# Sun-Panel
-一个NAS导航面板、Homepage、浏览器首页。
+
+
Sun-Panel
+
+
一个NAS导航面板、Homepage、浏览器首页。
+
-## 特点
+
+
+
+## 😎 特点
- 局域网内外网链接切换
- 简洁
@@ -11,20 +20,19 @@
- 无需连接外部数据库
- 丰富图标自由搭配(文字图标+svg图标+内置三方图标库)
- 支持网页内置小窗口打开(部分网站屏蔽此功能)
+- 占用资源小
+## 🫓 后面想做的事
-
-## 后面想做的事
-
-随心开发
+先画个饼
- [ ] 图标排序
- [ ] 服务器监控
- [ ] docker管理器
- [ ] 计划任务
-## 预览截图
-
+## 🖼️ 预览截图
+



@@ -33,7 +41,30 @@


-## 使用教程
+## 🍜 使用教程
+
+### 默认账号密码
+账号:admin@sun.cc
+
+密码:12345678
+
+### 命令参数
+|参数|说明|
+|---|---|
+|-h|查看命令说明|
+|-config|生成配置文件(conf/conf.ini)|
+|-password-reset|重置第一个用户的密码|
+
+执行示例
+```sh
+./sun-panel -password-reset
+```
+输出
+```
+密码已经重置成功,以下是账号信息
+用户名 xxx@qq.com
+密码 12345678
+```
### docker 运行
diff --git a/service/api/api_v1/panel/itemIcon.go b/service/api/api_v1/panel/itemIcon.go
index 4587bb9..67aafbb 100644
--- a/service/api/api_v1/panel/itemIcon.go
+++ b/service/api/api_v1/panel/itemIcon.go
@@ -98,3 +98,20 @@ func (a *ItemIcon) GetListByGroupId(c *gin.Context) {
apiReturn.SuccessListData(c, itemIcons, 0)
}
+
+func (a *ItemIcon) Deletes(c *gin.Context) {
+ req := commonApiStructs.RequestDeleteIds[uint]{}
+
+ if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
+ apiReturn.ErrorParamFomat(c, err.Error())
+ return
+ }
+
+ userInfo, _ := base.GetCurrentUserInfo(c)
+ if err := global.Db.Debug().Delete(&models.ItemIcon{}, "id in ? AND user_id=?", req.Ids, userInfo.ID).Error; err != nil {
+ apiReturn.ErrorDatabase(c, err.Error())
+ return
+ }
+
+ apiReturn.Success(c)
+}
diff --git a/service/router/panel/itemIcon.go b/service/router/panel/itemIcon.go
index 11dc69d..3f49c27 100644
--- a/service/router/panel/itemIcon.go
+++ b/service/router/panel/itemIcon.go
@@ -13,6 +13,6 @@ func InitItemIcon(router *gin.RouterGroup) {
{
r.POST("/panel/itemIcon/edit", itemIcon.Edit)
r.POST("/panel/itemIcon/getListByGroupId", itemIcon.GetListByGroupId)
-
+ r.POST("/panel/itemIcon/deletes", itemIcon.Deletes)
}
}
diff --git a/src/api/panel/itemIcon.ts b/src/api/panel/itemIcon.ts
index e4e785e..b822100 100644
--- a/src/api/panel/itemIcon.ts
+++ b/src/api/panel/itemIcon.ts
@@ -1,13 +1,5 @@
import { post } from '@/utils/request'
-// // 获取绘图的列表
-// export function getMyDrawList(req: Common.ListRequest) {
-// return post({
-// url: '/aiDraw/getMyDrawList',
-// data: req,
-// })
-// }
-
export function edit(req: Panel.ItemInfo) {
return post({
url: '/panel/itemIcon/edit',
@@ -28,9 +20,9 @@ export function getListByGroupId() {
})
}
-export function getSystemList(data: Common.ListRequest) {
+export function deletes(ids: number[]) {
return post({
- url: '/aiApplet/getSystemList',
- data,
+ url: '/panel/itemIcon/deletes',
+ data: { ids },
})
}
diff --git a/src/views/components/UserInfoFooter/index.vue b/src/views/components/UserInfoFooter/index.vue
index 924e634..28e27bf 100644
--- a/src/views/components/UserInfoFooter/index.vue
+++ b/src/views/components/UserInfoFooter/index.vue
@@ -12,6 +12,8 @@ const show = ref(false)
+ Gitee
+ Github
diff --git a/src/views/home/components/EditItem/IconEditor.vue b/src/views/home/components/EditItem/IconEditor.vue
index c35044b..16b8ad3 100644
--- a/src/views/home/components/EditItem/IconEditor.vue
+++ b/src/views/home/components/EditItem/IconEditor.vue
@@ -118,7 +118,7 @@ const handleUploadFinish = ({
-import { NButton, NButtonGroup, NDropdown, NEllipsis, NGrid, NGridItem, NModal, NSkeleton, NSpin, useMessage } from 'naive-ui'
+import { NButton, NButtonGroup, NDropdown, NEllipsis, NGrid, NGridItem, NModal, NSkeleton, NSpin, useDialog, useMessage } from 'naive-ui'
import { nextTick, onMounted, ref } from 'vue'
import { EditItem, Setting } from './components'
import { Clock } from '@/components/deskModule'
import { ItemIcon, SvgIcon } from '@/components/common'
-import { getListByGroupId } from '@/api/panel/itemIcon'
+import { deletes, getListByGroupId } from '@/api/panel/itemIcon'
import { getInfo } from '@/api/system/user'
import { usePanelState, useUserStore } from '@/store'
import { PanelStateNetworkModeEnum } from '@/enum'
import { setTitle } from '@/utils/cmn'
const ms = useMessage()
+const dialog = useDialog()
const panelState = usePanelState()
const userStore = useUserStore()
@@ -39,6 +40,10 @@ const dropdownMenuOptions = [
label: '编辑',
key: 'edit',
},
+ {
+ label: '删除',
+ key: 'delete',
+ },
]
const items = ref()
@@ -100,7 +105,24 @@ function handleSelect(key: string | number) {
editItemInfoData.value = { ...currentRightSelectItem.value } as Panel.ItemInfo
editItemInfoShow.value = true
break
- case 'del':
+ case 'delete':
+ dialog.warning({
+ title: '警告',
+ content: `你确定要删除图标 ${currentRightSelectItem.value?.title} ?`,
+ positiveText: '确定',
+ negativeText: '取消',
+ onPositiveClick: () => {
+ deletes([currentRightSelectItem.value?.id as number]).then(({ code, msg }) => {
+ if (code === 0) {
+ ms.success('已删除')
+ getList()
+ }
+ else {
+ ms.error(`删除失败:${msg}`)
+ }
+ })
+ },
+ })
break
default: