diff --git a/.gitignore b/.gitignore index d64f405..abeb34f 100644 --- a/.gitignore +++ b/.gitignore @@ -101,30 +101,6 @@ fabric.properties go.work .idea -web/.idea - -web/node_modules -web/.DS_Store -web/dist -web/dist-ssr -web/*.local -web/.eslintcache -web/report.html -web/vite.config.*.timestamp* - -web/yarn.lock -web/npm-debug.log* -web/.pnpm-error.log* -web/.pnpm-debug.log -web/tests/**/coverage/ -web/.vscode/ - -# Editor directories and files -web/*.suo -web/*.ntvs* -web/*.njsproj -web/*.sln -web/tsconfig.tsbuildinfo template/tmp/* logs/* diff --git a/go.mod b/go.mod index 760dbbc..56f019e 100644 --- a/go.mod +++ b/go.mod @@ -30,6 +30,7 @@ require ( github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/gabriel-vasile/mimetype v1.4.3 // indirect + github.com/gin-contrib/cors v1.7.2 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/glebarez/go-sqlite v1.21.2 // indirect github.com/go-kit/kit v0.12.0 // indirect diff --git a/go.sum b/go.sum index 72dbe6a..ffeecaa 100644 --- a/go.sum +++ b/go.sum @@ -210,6 +210,8 @@ github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uq github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/cors v1.7.2 h1:oLDHxdg8W/XDoN/8zamqk/Drgt4oVZDvaV0YmvVICQw= +github.com/gin-contrib/cors v1.7.2/go.mod h1:SUJVARKgQ40dmrzgXEVxj2m7Ig1v1qIboQkPDTQ9t2E= github.com/gin-contrib/pprof v1.5.0 h1:E/Oy7g+kNw94KfdCy3bZxQFtyDnAX2V7axRS7sNYVrU= github.com/gin-contrib/pprof v1.5.0/go.mod h1:GqFL6LerKoCQ/RSWnkYczkTJ+tOAUVN/8sbnEtaqOKs= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= diff --git a/http/api/client.go b/http/api/client.go index 9cd5794..abf94dd 100644 --- a/http/api/client.go +++ b/http/api/client.go @@ -84,22 +84,25 @@ func (ClientApi) List(c *gin.Context) { } for i, v := range data { - // 获取客户端链接信息 - peer, err := component.Wireguard().GetClientByPublicKey(v.Keys.PublicKey) - if err != nil { - continue - } - var ipAllocation string - for _, iaip := range peer.AllowedIPs { - ipAllocation += iaip.String() + "," - } - data[i].DataTraffic = &vo.DataTraffic{ - Online: time.Since(peer.LastHandshakeTime).Minutes() < 3, - ReceiveBytes: utils.FlowCalculation().Parse(peer.TransmitBytes), - TransmitBytes: utils.FlowCalculation().Parse(peer.ReceiveBytes), - ConnectEndpoint: ipAllocation, - LastHandAt: peer.LastHandshakeTime.Format("2006-01-02 15:04:05"), + if v.Keys != nil { + // 获取客户端链接信息 + peer, err := component.Wireguard().GetClientByPublicKey(v.Keys.PublicKey) + if err != nil { + continue + } + var ipAllocation string + for _, iaip := range peer.AllowedIPs { + ipAllocation += iaip.String() + "," + } + data[i].DataTraffic = &vo.DataTraffic{ + Online: time.Since(peer.LastHandshakeTime).Minutes() < 3, + ReceiveBytes: utils.FlowCalculation().Parse(peer.TransmitBytes), + TransmitBytes: utils.FlowCalculation().Parse(peer.ReceiveBytes), + ConnectEndpoint: ipAllocation, + LastHandAt: peer.LastHandshakeTime.Format("2006-01-02 15:04:05"), + } } + } response.R(c).Paginate(data, total, p.Current, p.Size) diff --git a/http/api/login.go b/http/api/login.go index 08b43b3..e3d9571 100644 --- a/http/api/login.go +++ b/http/api/login.go @@ -10,6 +10,7 @@ import ( "wireguard-ui/component" "wireguard-ui/http/param" "wireguard-ui/http/response" + "wireguard-ui/http/vo" "wireguard-ui/service" "wireguard-ui/utils" ) @@ -89,3 +90,22 @@ func (LoginApi) Login(c *gin.Context) { "expireAt": expireAt, }) } + +// Logout +// @description: 退出登陆 +// @receiver LoginApi +// @param c +func (LoginApi) Logout(c *gin.Context) { + loginUser, ok := c.Get("user") + if !ok { + response.R(c).AuthorizationFailed("未登陆") + return + } + + if err := component.JWT().Logout(loginUser.(*vo.User).Id); err != nil { + response.R(c).FailedWithError("退出登陆失败") + return + } + + response.R(c).OK() +} diff --git a/http/api/user.go b/http/api/user.go index 6cc3ff7..67f4f7e 100644 --- a/http/api/user.go +++ b/http/api/user.go @@ -4,7 +4,9 @@ import ( "encoding/base64" "errors" "fmt" + "gitee.ltd/lxh/logger/log" "github.com/gin-gonic/gin" + "strings" "wireguard-ui/global/constant" "wireguard-ui/http/param" "wireguard-ui/http/response" @@ -50,7 +52,7 @@ func (UserApi) SaveUser(c *gin.Context) { response.R(c).FailedWithError(errors.New("账号长度在2-20位")) return } - if len(p.Password) < 8 || len(p.Password) > 32 { + if (len(p.Password) < 8 || len(p.Password) > 32) && p.Password != "" { response.R(c).FailedWithError(errors.New("密码长度在8-32位")) return } @@ -67,6 +69,25 @@ func (UserApi) SaveUser(c *gin.Context) { } } + if strings.HasPrefix(p.Avatar, "data:image/png;base64,") { + avatar := strings.Replace(p.Avatar, "data:image/png;base64,", "", -1) + avatarByte, err := base64.StdEncoding.DecodeString(avatar) + if err != nil { + log.Errorf("反解析头像失败: %v", err.Error()) + response.R(c).FailedWithError("上传头像失败") + return + } + + file, err := utils.FileSystem().UploadFile(avatarByte, ".png") + if err != nil { + log.Errorf("上传头像失败: %v", err.Error()) + response.R(c).FailedWithError("上传头像失败") + return + } + + p.Avatar = file + } + userEnt := &model.User{ Base: model.Base{ Id: p.Id, diff --git a/http/middleware/authorization.go b/http/middleware/authorization.go index 346a28f..8b42a1a 100644 --- a/http/middleware/authorization.go +++ b/http/middleware/authorization.go @@ -63,6 +63,10 @@ func Authorization() gin.HandlerFunc { // 将用户信息放入上下文 c.Set("user", &user) + if c.Request.RequestURI == "/api/user/logout" { + c.Next() + } + // 生成一个新token secret := component.JWT().GenerateSecret(user.Password, uuid.NewString(), time.Now().Local().String()) tokenStr, _, err := component.JWT().GenerateToken(user.Id, secret, userClaims.ExpiresAt.Time, time.Now().Local()) diff --git a/http/param/login.go b/http/param/login.go index 7592a42..00bf9e8 100644 --- a/http/param/login.go +++ b/http/param/login.go @@ -6,5 +6,5 @@ type Login struct { Account string `json:"account" form:"account" label:"账号" binding:"required,min=2,max=20"` Password string `json:"password" form:"password" label:"密码" binding:"required,min=8,max=32"` CaptchaId string `json:"captchaId" form:"captchaId" label:"验证码ID" binding:"required"` - CaptchaCode string `json:"captchaCode" form:"captchaCode" label:"验证码" binding:"required,len=4"` + CaptchaCode string `json:"captchaCode" form:"captchaCode" label:"验证码" binding:"required,max=4"` } diff --git a/http/param/user.go b/http/param/user.go index e396b23..9dcf21c 100644 --- a/http/param/user.go +++ b/http/param/user.go @@ -7,7 +7,7 @@ import "wireguard-ui/global/constant" type SaveUser struct { Id string `json:"id" form:"id" label:"id" binding:"omitempty"` // id Account string `json:"account" form:"account" label:"账户号" binding:"required_without=Id"` // 账户号 - Password string `json:"password" form:"password" label:"密码" binding:"required_without=Id"` // 密码 + Password string `json:"password" form:"password" label:"密码" binding:"omitempty"` // 密码 Nickname string `json:"nickname" form:"nickname" label:"昵称" binding:"required,min=2"` // 昵称 Avatar string `json:"avatar" form:"avatar" label:"头像" binding:"omitempty"` // 头像 Contact string `json:"contact" form:"contact" label:"联系方式" binding:"omitempty"` // 联系方式 diff --git a/http/router/root.go b/http/router/root.go index 43a74c5..ca20716 100644 --- a/http/router/root.go +++ b/http/router/root.go @@ -19,6 +19,16 @@ func InitRouter() *gin.Engine { r.ForwardedByClientIP = true // 将请求打印至控制台 r.Use(gin.Logger()) + //r.Use(cors.New(cors.Config{ + // AllowOrigins: []string{"http://localhost:3100"}, + // AllowMethods: []string{"GET", "POST", "PUT", "PATCH", "DELETE"}, + // AllowHeaders: []string{"Origin"}, + // ExposeHeaders: []string{"Content-Length"}, + // AllowCredentials: true, + // AllowOriginFunc: func(origin string) bool { + // return true + // }, + //})) if config.Config.File.Type == "local" { r.Static("/assets", config.Config.File.Path) diff --git a/http/router/user.go b/http/router/user.go index bce2b3b..108dd08 100644 --- a/http/router/user.go +++ b/http/router/user.go @@ -20,5 +20,6 @@ func UserApi(r *gin.RouterGroup) { userApi.PUT("/change-password", api.User().ChangePassword) // 修改用户密码 userApi.PUT("/reset-password/:id", api.User().ResetPassword) // 重置用户密码 userApi.POST("/generate-avatar", api.User().GenerateAvatar) // 生成头像 + userApi.POST("/logout", api.Login().Logout) // 退出登陆 } } diff --git a/http/vo/user.go b/http/vo/user.go index 2b5c395..3e07a0e 100644 --- a/http/vo/user.go +++ b/http/vo/user.go @@ -1,17 +1,22 @@ package vo -import "wireguard-ui/global/constant" +import ( + "wireguard-ui/global/constant" + "wireguard-ui/model" +) // UserItem // @description: 用户列表的数据 type UserItem struct { - Id string `json:"id"` - Account string `json:"account"` - Nickname string `json:"nickname"` - Avatar string `json:"avatar"` - Contact string `json:"contact"` - IsAdmin constant.UserType `json:"isAdmin"` - Status constant.Status `json:"status"` + Id string `json:"id"` + Account string `json:"account"` + Nickname string `json:"nickname"` + Avatar string `json:"avatar"` + Contact string `json:"contact"` + IsAdmin constant.UserType `json:"isAdmin"` + Status constant.Status `json:"status"` + CreatedAt model.JsonTime `json:"createdAt"` + UpdatedAt model.JsonTime `json:"updatedAt"` } // User diff --git a/utils/flow_calculation.go b/utils/flow_calculation.go index 7292056..49a589d 100644 --- a/utils/flow_calculation.go +++ b/utils/flow_calculation.go @@ -1,7 +1,9 @@ package utils import ( + "fmt" "github.com/dustin/go-humanize" + "math" "math/big" ) @@ -20,3 +22,23 @@ func (flowCalculation) Parse(b int64) string { b2 := big.Int{} return humanize.BigBytes(b2.SetInt64(b)) } + +// PrettyByteSizeGB +// @description: +// @param b +// @return string +func PrettyByteSizeGB(b int) string { + bf := float64(b) + ks := []string{"", "Ki", "Mi", "Gi"} + for i, unit := range ks { + if math.Abs(bf) < 1024.0 { + return fmt.Sprintf("%3.1f%sB", bf, unit) + } + if i+1 >= len(ks) { + return fmt.Sprintf("%3.1f%sB", bf, unit) + } + bf /= 1024.0 + } + + return fmt.Sprintf("%.1fYiB", bf) +} diff --git a/web/.editorconfig b/web/.editorconfig deleted file mode 100644 index 68cc827..0000000 --- a/web/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = unset -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/web/.env.development b/web/.env.development deleted file mode 100644 index 318c4cb..0000000 --- a/web/.env.development +++ /dev/null @@ -1,12 +0,0 @@ -# 是否使用Hash路由 -VITE_USE_HASH = 'true' - -# 资源公共路径,需要以 /开头和结尾 -VITE_PUBLIC_PATH = '/' - -# Axios 基础路径 -# VITE_AXIOS_BASE_URL = '/api' # 用于代理 -VITE_AXIOS_BASE_URL = 'https://mock.apipark.cn/m1/3776410-0-default' # apifox云端mock - -# 代理配置-target -VITE_PROXY_TARGET = 'http://localhost:8085' diff --git a/web/.env.production b/web/.env.production deleted file mode 100644 index 1b309e4..0000000 --- a/web/.env.production +++ /dev/null @@ -1,10 +0,0 @@ -# 是否使用Hash路由 -VITE_USE_HASH = 'false' - -# 资源公共路径,需要以 /开头和结尾 -VITE_PUBLIC_PATH = '/' - -VITE_AXIOS_BASE_URL = '/api' # 用于代理 - -# 代理配置-target -VITE_PROXY_TARGET = 'http://localhost:8085' diff --git a/web/.eslint-global-variables.json b/web/.eslint-global-variables.json deleted file mode 100644 index 4f9c397..0000000 --- a/web/.eslint-global-variables.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "globals": { - "$loadingBar": true, - "$message": true, - "$dialog": true, - "$notification": true, - "$modal": true, - "defineOptions": true, - "EffectScope": true, - "computed": true, - "createApp": true, - "customRef": true, - "defineAsyncComponent": true, - "defineComponent": true, - "effectScope": true, - "getCurrentInstance": true, - "getCurrentScope": true, - "h": true, - "inject": true, - "isProxy": true, - "isReactive": true, - "isReadonly": true, - "isRef": true, - "markRaw": true, - "nextTick": true, - "onActivated": true, - "onBeforeMount": true, - "onBeforeUnmount": true, - "onBeforeUpdate": true, - "onDeactivated": true, - "onErrorCaptured": true, - "onMounted": true, - "onRenderTracked": true, - "onRenderTriggered": true, - "onScopeDispose": true, - "onServerPrefetch": true, - "onUnmounted": true, - "onUpdated": true, - "provide": true, - "reactive": true, - "readonly": true, - "ref": true, - "resolveComponent": true, - "shallowReactive": true, - "shallowReadonly": true, - "shallowRef": true, - "toRaw": true, - "toRef": true, - "toRefs": true, - "triggerRef": true, - "unref": true, - "useAttrs": true, - "useCssModule": true, - "useCssVars": true, - "useRoute": true, - "useRouter": true, - "useSlots": true, - "watch": true, - "watchEffect": true, - "watchPostEffect": true, - "watchSyncEffect": true - } -} diff --git a/web/.npmrc b/web/.npmrc deleted file mode 100644 index 5cee373..0000000 --- a/web/.npmrc +++ /dev/null @@ -1,3 +0,0 @@ -registry=https://registry.npmmirror.com -shamefully-hoist=true -strict-peer-dependencies=false diff --git a/web/LICENSE b/web/LICENSE deleted file mode 100644 index 888e80f..0000000 --- a/web/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 Ronnie Zhang(大脸怪) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/web/README.md b/web/README.md deleted file mode 100644 index 53c2ff5..0000000 --- a/web/README.md +++ /dev/null @@ -1,89 +0,0 @@ -

- - Vue Naive Admin Logo - -

-

- MIT License -

- -## 简介 - -Vue Naive Admin 是一款极简风格的后台管理模板,包含前后端解决方案,前端使用 Vite + Vue3 + Pinia + Unocss,后端使用 Nestjs + TypeOrm + MySql,简单易用,赏心悦目,历经十几次重构和细节打磨,诚意满满!! - -## 设计理念 - -Vue Naive Admin 2022年2月开始开源,从 1.0 到现在的 2.0,一直秉持着`简单即正义`的理念,旨在帮助中小企业、在校大学生及个人开发者快速上手开发后台管理项目,为了降低使用者的学习成本,没有使用看似主流的 TypeScript(前端),这也使得 Vue Naive Admin 成为了市面上少有的 `使用 JavaScript 的 Vue3 后台管理模板`,而且还算优秀,得到了大量朋友的认可和喜爱。 - -## 特性 - -- 🆒 使用 **Vue3** 主流最新技术栈: `Vite + Vue3 + Pinia` -- 🍇 使用 **原子CSS**框架: `Unocss`,优雅、轻量、易用 -- 🍍 集成 `Pinia` 状态管理,支持状态持久化 -- 🤹 使用主流的 `iconify + unocss` 图标方案,支持自定义图标,支持动态渲染 -- 🎨 使用 Naive UI,`极致简洁的代码风格和清爽的页面设计`,审美在线,主题轻松定制 -- 👏 先进且易于理解的文件结构设计,多个模块之间**零耦合**,单个业务模块删除不影响其他模块 -- 🚀 `扁平化路由`设计,每一个组件都可以是一个页面,告别多级路由 `KeepAlive` 难实现问题 -- 🍒 `基于权限动态生成路由`,无需额外定义路由,`403和404页面可区分`,而不是无权限也跳404 -- 🔐 基于Redis集成 `无感刷新`,用户登录态可控,安全与体验缺一不可 -- ✨ 基于 Naive UI 封装 `message` 全局工具方法,支持批量提醒,支持跨页面单例模式 -- ⚡️ 基于 Naive UI 封装常用的业务组件,包含`Page` 组件、`CRUD` 表格组件及 `Modal`组件等,简单易用,减少大量重复性工作 - -## 极致的性能 - -![](https://docs.isme.top/Public/Uploads/2023-11-18/6558568b2b476.png) -![](https://docs.isme.top/Public/Uploads/2023-11-18/655853caa9ce8.png) - -## 2.0 和 1.0 区别 - -- 2.0 是基于 1.0 风格从 0 到 1 重新设计的,所以 2.0 看似跟 1.0 很像,但其实代码机构差别还挺大的。 -- 1.0 只提供前端,后端使用 Mock 模拟的,而 2.0 是全栈版,提供真实的后端接口。 -- 2.0 虽然版本高于 1.0,但复杂度却远低于 1.0,虽然 1.0 也很简单。 -- 2.0 的灵活度远高于 1.0,只要你愿意,你可以为每个页面单独定制一个 layout - -[体验1.0 | template.isme.top](https://template.isme.top) - -[体验2.0 | admin.isme.top](https://admin.isme.top) - -## Nestjs 后端 - -Vue Naive Admin 提供一套后端代码,技术栈使用 Nestjs + TypeOrm + MySql,内置 JWT、RABC及模板所需的一些基础接口。 - -- 源码-github: [isme-nest-serve | github](https://github.com/zclzone/isme-nest-serve) -- 源码-gitee: [isme-nest-serve | gitee](https://gitee.com/isme-admin/isme-nest-serve) - -## 文档 - -- 项目文档: [docs | vue-naive-admin](https://docs.isme.top/web/#/624306705/188522224) -- 接口文档: [apidoc | isme-nest-serve](https://apifox.com/apidoc/shared-ff4a4d32-c0d1-4caf-b0ee-6abc130f734a) - -> 注:有个比较常见的问题,就是如何添加菜单和修改菜单,由于项目是由后端控制菜单资源的,所以需要对接后端后在资源管理功能对菜单进行增删改,然后在角色管理功能给对应角色进行授权。具体如何对接后端,请参考 [项目文档](https://docs.isme.top/web/#/624306705/188522224)。当然,可能有些菜单你不想通过权限控制,那么你可以在 `/src/settings.js` 文件添加 basePermissions,只需对齐菜单资源的结构即可,结构可以参照 [接口文档](https://apifox.com/apidoc/shared-ff4a4d32-c0d1-4caf-b0ee-6abc130f734a/api-134536978)。 - -## 使用这个模板开始你的项目 - -[使用这个模板创建Github仓库](https://github.com/zclzone/vue-naive-admin/generate). - -或者使用 `degit` 克隆此仓库,这样将没有任何历史提交记录: - -```cmd -npx degit zclzone/vue-naive-admin -``` - -## 版权说明 - -本项目使用 `MIT协议`,默认授权给任何人,被授权人可免费地无限制的使用、复制、修改、合并、发布、发行、再许可、售卖本软件拷贝、并有权向被供应人授予同等的权利,但必须满足以下条件: - -- 复制、修改和发行本项目代码需包含原作者的版权及许可信息,包括但不限于文件头注释、协议等 - -简单来说,作者只想保留版权,没有任何其他限制。 - -## 其他已对接本项目的后端项目 - -- [isme-java-serve](https://github.com/DHBin/isme-java-serve): 一个轻量级的Java后端服务,基于SpringBoot、MybatisPlus、SaToken、MapStruct等实现,已对接 Vue Naive Admin 2.0。 -- [naive-admin-go](https://github.com/ituserxxx/naive-admin-go): 一个 Go 后端服务,基于 gin、gorm、mysql、jwt和session,已对接 Vue Naive Admin 2.0。 - -## 入群交流 - -添加微信,拉你进群 - -![](https://static.isme.top/image/coder_wx.jpg) diff --git a/web/build/index.js b/web/build/index.js deleted file mode 100644 index 985ced8..0000000 --- a/web/build/index.js +++ /dev/null @@ -1,39 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:48:02 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import path from 'node:path' -import { globSync } from 'glob' -import dynamicIcons from '../src/assets/icons/dynamic-icons' - -/** - * @usage 生成icons, 用于 unocss safelist,以支持页面动态渲染自定义图标 - */ -export function getIcons() { - const feFiles = globSync('src/assets/icons/feather/*.svg', { nodir: true, strict: true }) - const meFiles = globSync('src/assets/icons/isme/*.svg', { nodir: true, strict: true }) - const feIcons = feFiles.map((filePath) => { - const fileName = path.basename(filePath) // 获取文件名,包括后缀 - const fileNameWithoutExt = path.parse(fileName).name // 获取去除后缀的文件名 - return `i-fe:${fileNameWithoutExt}` - }) - const meIcons = meFiles.map((filePath) => { - const fileName = path.basename(filePath) // 获取文件名,包括后缀 - const fileNameWithoutExt = path.parse(fileName).name // 获取去除后缀的文件名 - return `i-me:${fileNameWithoutExt}` - }) - - return [...dynamicIcons, ...feIcons, ...meIcons] -} - -/** - * @usage 生成.vue文件路径列表,用于添加菜单时可下拉选择对应的.vue文件路径,防止手动输入报错 - */ -export function getPagePathes() { - const files = globSync('src/views/**/*.vue') - return files.map(item => `/${path.normalize(item).replace(/\\/g, '/')}`) -} diff --git a/web/build/plugin-isme/icons.js b/web/build/plugin-isme/icons.js deleted file mode 100644 index 4da9779..0000000 --- a/web/build/plugin-isme/icons.js +++ /dev/null @@ -1,25 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:48:11 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { getIcons } from '..' - -const PLUGIN_ICONS_ID = 'isme:icons' -export function pluginIcons() { - return { - name: 'isme:icons', - resolveId(id) { - if (id === PLUGIN_ICONS_ID) - return `\0${PLUGIN_ICONS_ID}` - }, - load(id) { - if (id === `\0${PLUGIN_ICONS_ID}`) { - return `export default ${JSON.stringify(getIcons())}` - } - }, - } -} diff --git a/web/build/plugin-isme/index.js b/web/build/plugin-isme/index.js deleted file mode 100644 index 326b960..0000000 --- a/web/build/plugin-isme/index.js +++ /dev/null @@ -1,10 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:48:17 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -export { pluginPagePathes } from './page-pathes' -export { pluginIcons } from './icons' diff --git a/web/build/plugin-isme/page-pathes.js b/web/build/plugin-isme/page-pathes.js deleted file mode 100644 index a29d8e2..0000000 --- a/web/build/plugin-isme/page-pathes.js +++ /dev/null @@ -1,25 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:37:43 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { getPagePathes } from '..' - -const PLUGIN_PAGE_PATHES_ID = 'isme:page-pathes' -export function pluginPagePathes() { - return { - name: 'isme:page-pathes', - resolveId(id) { - if (id === PLUGIN_PAGE_PATHES_ID) - return `\0${PLUGIN_PAGE_PATHES_ID}` - }, - load(id) { - if (id === `\0${PLUGIN_PAGE_PATHES_ID}`) { - return `export default ${JSON.stringify(getPagePathes())}` - } - }, - } -} diff --git a/web/eslint.config.js b/web/eslint.config.js deleted file mode 100644 index b15d4e5..0000000 --- a/web/eslint.config.js +++ /dev/null @@ -1,34 +0,0 @@ -import antfu from '@antfu/eslint-config' - -export default antfu({ - unocss: true, - formatters: true, - stylistic: true, - rules: { - 'n/prefer-global/process': 'off', - 'no-undef': 'error', - 'no-fallthrough': 'off', - 'vue/block-order': 'off', - '@typescript-eslint/no-this-alias': 'off', - 'prefer-promise-reject-errors': 'off', - }, - languageOptions: { - globals: { - h: 'readonly', - unref: 'readonly', - provide: 'readonly', - inject: 'readonly', - markRaw: 'readonly', - defineAsyncComponent: 'readonly', - nextTick: 'readonly', - useRoute: 'readonly', - useRouter: 'readonly', - Message: 'readonly', - $loadingBar: 'readonly', - $message: 'readonly', - $dialog: 'readonly', - $notification: 'readonly', - $modal: 'readonly', - }, - }, -}) diff --git a/web/index.html b/web/index.html deleted file mode 100644 index ce02b2d..0000000 --- a/web/index.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - %VITE_TITLE% - - - -
-
-
- - - - - -
-
-
- - - diff --git a/web/jsconfig.json b/web/jsconfig.json deleted file mode 100644 index 270b986..0000000 --- a/web/jsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "baseUrl": "./", - "moduleResolution": "node", - "paths": { - "@/*": ["src/*"], - "~/*": ["./*"] - }, - "jsx": "preserve", - "allowJs": true - }, - "exclude": ["node_modules", "dist"] -} diff --git a/web/package.json b/web/package.json deleted file mode 100644 index fd9d2dc..0000000 --- a/web/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "vue-naive-admin", - "type": "module", - "version": "2.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "lint:fix": "eslint --fix", - "postinstall": "npx simple-git-hooks", - "up": "taze major -I" - }, - "dependencies": { - "@arco-design/color": "^0.4.0", - "@vueuse/core": "^10.11.0", - "axios": "^1.7.2", - "dayjs": "^1.11.11", - "echarts": "^5.5.1", - "lodash-es": "^4.17.21", - "naive-ui": "^2.38.2", - "pinia": "^2.1.7", - "pinia-plugin-persistedstate": "^3.2.1", - "vue": "^3.4.31", - "vue-echarts": "^6.7.3", - "vue-router": "^4.4.0", - "xlsx": "^0.18.5" - }, - "devDependencies": { - "@antfu/eslint-config": "^2.21.2", - "@iconify/json": "^2.2.223", - "@iconify/utils": "^2.1.25", - "@unocss/eslint-config": "^0.61.0", - "@unocss/eslint-plugin": "^0.61.0", - "@unocss/preset-rem-to-px": "^0.61.0", - "@vitejs/plugin-vue": "^5.0.5", - "eslint": "^9.6.0", - "eslint-plugin-format": "^0.1.2", - "esno": "^4.7.0", - "fs-extra": "^11.2.0", - "glob": "^10.4.2", - "lint-staged": "^15.2.7", - "rollup-plugin-visualizer": "^5.12.0", - "sass": "^1.77.6", - "simple-git-hooks": "^2.11.1", - "taze": "^0.13.9", - "unocss": "^0.61.0", - "unplugin-auto-import": "^0.17.6", - "unplugin-vue-components": "^0.27.2", - "vite": "^5.3.2", - "vite-plugin-router-warn": "^1.0.0", - "vite-plugin-vue-devtools": "^7.3.5" - }, - "simple-git-hooks": { - "pre-commit": "pnpm lint-staged" - }, - "lint-staged": { - "*": "eslint --fix" - } -} diff --git a/web/public/favicon.png b/web/public/favicon.png deleted file mode 100644 index 929c58a..0000000 Binary files a/web/public/favicon.png and /dev/null differ diff --git a/web/src/App.vue b/web/src/App.vue deleted file mode 100644 index ccad917..0000000 --- a/web/src/App.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - diff --git a/web/src/api/index.js b/web/src/api/index.js deleted file mode 100644 index 23cbe93..0000000 --- a/web/src/api/index.js +++ /dev/null @@ -1,24 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:50:38 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { request } from '@/utils' - -export default { - // 获取用户信息 - getUser: () => request.get('/user/detail'), - // 刷新token - refreshToken: () => request.get('/auth/refresh/token'), - // 登出 - logout: () => request.post('/auth/logout', {}, { needTip: false }), - // 切换当前角色 - switchCurrentRole: role => request.post(`/auth/current-role/switch/${role}`), - // 获取角色权限 - getRolePermissions: () => request.get('/role/permissions/tree'), - // 验证菜单路径 - validateMenuPath: path => request.get(`/permission/menu/validate?path=${path}`), -} diff --git a/web/src/assets/icons/dynamic-icons.js b/web/src/assets/icons/dynamic-icons.js deleted file mode 100644 index 5326f66..0000000 --- a/web/src/assets/icons/dynamic-icons.js +++ /dev/null @@ -1,10 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:50:49 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -// 需要动态渲染的iconify图标,以i-开头 -export default ['i-simple-icons:juejin'] diff --git a/web/src/assets/icons/feather/activity.svg b/web/src/assets/icons/feather/activity.svg deleted file mode 100644 index 669a57a..0000000 --- a/web/src/assets/icons/feather/activity.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/airplay.svg b/web/src/assets/icons/feather/airplay.svg deleted file mode 100644 index 7ce7302..0000000 --- a/web/src/assets/icons/feather/airplay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/alert-circle.svg b/web/src/assets/icons/feather/alert-circle.svg deleted file mode 100644 index 8d02b7d..0000000 --- a/web/src/assets/icons/feather/alert-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/alert-octagon.svg b/web/src/assets/icons/feather/alert-octagon.svg deleted file mode 100644 index de9b03f..0000000 --- a/web/src/assets/icons/feather/alert-octagon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/alert-triangle.svg b/web/src/assets/icons/feather/alert-triangle.svg deleted file mode 100644 index 6dcb096..0000000 --- a/web/src/assets/icons/feather/alert-triangle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/align-center.svg b/web/src/assets/icons/feather/align-center.svg deleted file mode 100644 index 5b8842e..0000000 --- a/web/src/assets/icons/feather/align-center.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/align-justify.svg b/web/src/assets/icons/feather/align-justify.svg deleted file mode 100644 index 0539876..0000000 --- a/web/src/assets/icons/feather/align-justify.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/align-left.svg b/web/src/assets/icons/feather/align-left.svg deleted file mode 100644 index 9ac852a..0000000 --- a/web/src/assets/icons/feather/align-left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/align-right.svg b/web/src/assets/icons/feather/align-right.svg deleted file mode 100644 index ef139ff..0000000 --- a/web/src/assets/icons/feather/align-right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/anchor.svg b/web/src/assets/icons/feather/anchor.svg deleted file mode 100644 index e01627a..0000000 --- a/web/src/assets/icons/feather/anchor.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/aperture.svg b/web/src/assets/icons/feather/aperture.svg deleted file mode 100644 index 9936e86..0000000 --- a/web/src/assets/icons/feather/aperture.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/archive.svg b/web/src/assets/icons/feather/archive.svg deleted file mode 100644 index 428882c..0000000 --- a/web/src/assets/icons/feather/archive.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-down-circle.svg b/web/src/assets/icons/feather/arrow-down-circle.svg deleted file mode 100644 index 3238091..0000000 --- a/web/src/assets/icons/feather/arrow-down-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-down-left.svg b/web/src/assets/icons/feather/arrow-down-left.svg deleted file mode 100644 index 7248358..0000000 --- a/web/src/assets/icons/feather/arrow-down-left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-down-right.svg b/web/src/assets/icons/feather/arrow-down-right.svg deleted file mode 100644 index 81d9822..0000000 --- a/web/src/assets/icons/feather/arrow-down-right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-down.svg b/web/src/assets/icons/feather/arrow-down.svg deleted file mode 100644 index 4f84f62..0000000 --- a/web/src/assets/icons/feather/arrow-down.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-left-circle.svg b/web/src/assets/icons/feather/arrow-left-circle.svg deleted file mode 100644 index 3b19ff8..0000000 --- a/web/src/assets/icons/feather/arrow-left-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-left.svg b/web/src/assets/icons/feather/arrow-left.svg deleted file mode 100644 index a5058fc..0000000 --- a/web/src/assets/icons/feather/arrow-left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-right-circle.svg b/web/src/assets/icons/feather/arrow-right-circle.svg deleted file mode 100644 index ff01dd5..0000000 --- a/web/src/assets/icons/feather/arrow-right-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-right.svg b/web/src/assets/icons/feather/arrow-right.svg deleted file mode 100644 index 939b57c..0000000 --- a/web/src/assets/icons/feather/arrow-right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-up-circle.svg b/web/src/assets/icons/feather/arrow-up-circle.svg deleted file mode 100644 index 044a75d..0000000 --- a/web/src/assets/icons/feather/arrow-up-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-up-left.svg b/web/src/assets/icons/feather/arrow-up-left.svg deleted file mode 100644 index cea55e8..0000000 --- a/web/src/assets/icons/feather/arrow-up-left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-up-right.svg b/web/src/assets/icons/feather/arrow-up-right.svg deleted file mode 100644 index 95678e0..0000000 --- a/web/src/assets/icons/feather/arrow-up-right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/arrow-up.svg b/web/src/assets/icons/feather/arrow-up.svg deleted file mode 100644 index 16b13ab..0000000 --- a/web/src/assets/icons/feather/arrow-up.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/at-sign.svg b/web/src/assets/icons/feather/at-sign.svg deleted file mode 100644 index 5a5e5d0..0000000 --- a/web/src/assets/icons/feather/at-sign.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/award.svg b/web/src/assets/icons/feather/award.svg deleted file mode 100644 index be70d5a..0000000 --- a/web/src/assets/icons/feather/award.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/bar-chart-2.svg b/web/src/assets/icons/feather/bar-chart-2.svg deleted file mode 100644 index 864167a..0000000 --- a/web/src/assets/icons/feather/bar-chart-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/bar-chart.svg b/web/src/assets/icons/feather/bar-chart.svg deleted file mode 100644 index 074d7c1..0000000 --- a/web/src/assets/icons/feather/bar-chart.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/battery-charging.svg b/web/src/assets/icons/feather/battery-charging.svg deleted file mode 100644 index 644cb59..0000000 --- a/web/src/assets/icons/feather/battery-charging.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/battery.svg b/web/src/assets/icons/feather/battery.svg deleted file mode 100644 index 7fe8771..0000000 --- a/web/src/assets/icons/feather/battery.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/bell-off.svg b/web/src/assets/icons/feather/bell-off.svg deleted file mode 100644 index 4b07c84..0000000 --- a/web/src/assets/icons/feather/bell-off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/bell.svg b/web/src/assets/icons/feather/bell.svg deleted file mode 100644 index bba561c..0000000 --- a/web/src/assets/icons/feather/bell.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/bluetooth.svg b/web/src/assets/icons/feather/bluetooth.svg deleted file mode 100644 index cebed7b..0000000 --- a/web/src/assets/icons/feather/bluetooth.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/bold.svg b/web/src/assets/icons/feather/bold.svg deleted file mode 100644 index d1a4efd..0000000 --- a/web/src/assets/icons/feather/bold.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/book-open.svg b/web/src/assets/icons/feather/book-open.svg deleted file mode 100644 index 5e0ca0a..0000000 --- a/web/src/assets/icons/feather/book-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/book.svg b/web/src/assets/icons/feather/book.svg deleted file mode 100644 index 12ffcbc..0000000 --- a/web/src/assets/icons/feather/book.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/bookmark.svg b/web/src/assets/icons/feather/bookmark.svg deleted file mode 100644 index 2239cc5..0000000 --- a/web/src/assets/icons/feather/bookmark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/box.svg b/web/src/assets/icons/feather/box.svg deleted file mode 100644 index d89be30..0000000 --- a/web/src/assets/icons/feather/box.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/briefcase.svg b/web/src/assets/icons/feather/briefcase.svg deleted file mode 100644 index e3af050..0000000 --- a/web/src/assets/icons/feather/briefcase.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/calendar.svg b/web/src/assets/icons/feather/calendar.svg deleted file mode 100644 index 6c7fd87..0000000 --- a/web/src/assets/icons/feather/calendar.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/camera-off.svg b/web/src/assets/icons/feather/camera-off.svg deleted file mode 100644 index daa3e25..0000000 --- a/web/src/assets/icons/feather/camera-off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/camera.svg b/web/src/assets/icons/feather/camera.svg deleted file mode 100644 index 0e7f060..0000000 --- a/web/src/assets/icons/feather/camera.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/cast.svg b/web/src/assets/icons/feather/cast.svg deleted file mode 100644 index 63c954d..0000000 --- a/web/src/assets/icons/feather/cast.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/check-circle.svg b/web/src/assets/icons/feather/check-circle.svg deleted file mode 100644 index f2f4fd1..0000000 --- a/web/src/assets/icons/feather/check-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/check-square.svg b/web/src/assets/icons/feather/check-square.svg deleted file mode 100644 index 72ab7a8..0000000 --- a/web/src/assets/icons/feather/check-square.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/check.svg b/web/src/assets/icons/feather/check.svg deleted file mode 100644 index 1c20989..0000000 --- a/web/src/assets/icons/feather/check.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/chevron-down.svg b/web/src/assets/icons/feather/chevron-down.svg deleted file mode 100644 index 278c6a3..0000000 --- a/web/src/assets/icons/feather/chevron-down.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/chevron-left.svg b/web/src/assets/icons/feather/chevron-left.svg deleted file mode 100644 index 747d46d..0000000 --- a/web/src/assets/icons/feather/chevron-left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/chevron-right.svg b/web/src/assets/icons/feather/chevron-right.svg deleted file mode 100644 index 258de41..0000000 --- a/web/src/assets/icons/feather/chevron-right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/chevron-up.svg b/web/src/assets/icons/feather/chevron-up.svg deleted file mode 100644 index 4eb5ecc..0000000 --- a/web/src/assets/icons/feather/chevron-up.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/chevrons-down.svg b/web/src/assets/icons/feather/chevrons-down.svg deleted file mode 100644 index e67ef2f..0000000 --- a/web/src/assets/icons/feather/chevrons-down.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/chevrons-left.svg b/web/src/assets/icons/feather/chevrons-left.svg deleted file mode 100644 index c32e398..0000000 --- a/web/src/assets/icons/feather/chevrons-left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/chevrons-right.svg b/web/src/assets/icons/feather/chevrons-right.svg deleted file mode 100644 index f506814..0000000 --- a/web/src/assets/icons/feather/chevrons-right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/chevrons-up.svg b/web/src/assets/icons/feather/chevrons-up.svg deleted file mode 100644 index 0eaf518..0000000 --- a/web/src/assets/icons/feather/chevrons-up.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/chrome.svg b/web/src/assets/icons/feather/chrome.svg deleted file mode 100644 index 9189815..0000000 --- a/web/src/assets/icons/feather/chrome.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/circle.svg b/web/src/assets/icons/feather/circle.svg deleted file mode 100644 index b009088..0000000 --- a/web/src/assets/icons/feather/circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/clipboard.svg b/web/src/assets/icons/feather/clipboard.svg deleted file mode 100644 index ccee454..0000000 --- a/web/src/assets/icons/feather/clipboard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/clock.svg b/web/src/assets/icons/feather/clock.svg deleted file mode 100644 index ea3f5e5..0000000 --- a/web/src/assets/icons/feather/clock.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/cloud-drizzle.svg b/web/src/assets/icons/feather/cloud-drizzle.svg deleted file mode 100644 index 13af6bb..0000000 --- a/web/src/assets/icons/feather/cloud-drizzle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/cloud-lightning.svg b/web/src/assets/icons/feather/cloud-lightning.svg deleted file mode 100644 index 32d154c..0000000 --- a/web/src/assets/icons/feather/cloud-lightning.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/cloud-off.svg b/web/src/assets/icons/feather/cloud-off.svg deleted file mode 100644 index 1e1e7d6..0000000 --- a/web/src/assets/icons/feather/cloud-off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/cloud-rain.svg b/web/src/assets/icons/feather/cloud-rain.svg deleted file mode 100644 index 3e0b85b..0000000 --- a/web/src/assets/icons/feather/cloud-rain.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/cloud-snow.svg b/web/src/assets/icons/feather/cloud-snow.svg deleted file mode 100644 index e4eb820..0000000 --- a/web/src/assets/icons/feather/cloud-snow.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/cloud.svg b/web/src/assets/icons/feather/cloud.svg deleted file mode 100644 index 0ee0c63..0000000 --- a/web/src/assets/icons/feather/cloud.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/code.svg b/web/src/assets/icons/feather/code.svg deleted file mode 100644 index c4954b5..0000000 --- a/web/src/assets/icons/feather/code.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/codepen.svg b/web/src/assets/icons/feather/codepen.svg deleted file mode 100644 index ab2a815..0000000 --- a/web/src/assets/icons/feather/codepen.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/codesandbox.svg b/web/src/assets/icons/feather/codesandbox.svg deleted file mode 100644 index 49848f5..0000000 --- a/web/src/assets/icons/feather/codesandbox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/coffee.svg b/web/src/assets/icons/feather/coffee.svg deleted file mode 100644 index 32905e5..0000000 --- a/web/src/assets/icons/feather/coffee.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/columns.svg b/web/src/assets/icons/feather/columns.svg deleted file mode 100644 index d264b55..0000000 --- a/web/src/assets/icons/feather/columns.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/command.svg b/web/src/assets/icons/feather/command.svg deleted file mode 100644 index 93f554c..0000000 --- a/web/src/assets/icons/feather/command.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/compass.svg b/web/src/assets/icons/feather/compass.svg deleted file mode 100644 index 3296260..0000000 --- a/web/src/assets/icons/feather/compass.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/copy.svg b/web/src/assets/icons/feather/copy.svg deleted file mode 100644 index 4e0b09f..0000000 --- a/web/src/assets/icons/feather/copy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/corner-down-left.svg b/web/src/assets/icons/feather/corner-down-left.svg deleted file mode 100644 index 9fffb3e..0000000 --- a/web/src/assets/icons/feather/corner-down-left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/corner-down-right.svg b/web/src/assets/icons/feather/corner-down-right.svg deleted file mode 100644 index b27d408..0000000 --- a/web/src/assets/icons/feather/corner-down-right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/corner-left-down.svg b/web/src/assets/icons/feather/corner-left-down.svg deleted file mode 100644 index 24b8375..0000000 --- a/web/src/assets/icons/feather/corner-left-down.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/corner-left-up.svg b/web/src/assets/icons/feather/corner-left-up.svg deleted file mode 100644 index e54527c..0000000 --- a/web/src/assets/icons/feather/corner-left-up.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/corner-right-down.svg b/web/src/assets/icons/feather/corner-right-down.svg deleted file mode 100644 index a49e6d6..0000000 --- a/web/src/assets/icons/feather/corner-right-down.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/corner-right-up.svg b/web/src/assets/icons/feather/corner-right-up.svg deleted file mode 100644 index a5c5dce..0000000 --- a/web/src/assets/icons/feather/corner-right-up.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/corner-up-left.svg b/web/src/assets/icons/feather/corner-up-left.svg deleted file mode 100644 index 0a1ffd6..0000000 --- a/web/src/assets/icons/feather/corner-up-left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/corner-up-right.svg b/web/src/assets/icons/feather/corner-up-right.svg deleted file mode 100644 index 0b8f961..0000000 --- a/web/src/assets/icons/feather/corner-up-right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/cpu.svg b/web/src/assets/icons/feather/cpu.svg deleted file mode 100644 index 2ed16ef..0000000 --- a/web/src/assets/icons/feather/cpu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/credit-card.svg b/web/src/assets/icons/feather/credit-card.svg deleted file mode 100644 index 1b7fd02..0000000 --- a/web/src/assets/icons/feather/credit-card.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/crop.svg b/web/src/assets/icons/feather/crop.svg deleted file mode 100644 index ffbfd04..0000000 --- a/web/src/assets/icons/feather/crop.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/crosshair.svg b/web/src/assets/icons/feather/crosshair.svg deleted file mode 100644 index ba39401..0000000 --- a/web/src/assets/icons/feather/crosshair.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/database.svg b/web/src/assets/icons/feather/database.svg deleted file mode 100644 index c296fbc..0000000 --- a/web/src/assets/icons/feather/database.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/delete.svg b/web/src/assets/icons/feather/delete.svg deleted file mode 100644 index 8c6074b..0000000 --- a/web/src/assets/icons/feather/delete.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/disc.svg b/web/src/assets/icons/feather/disc.svg deleted file mode 100644 index 2595b44..0000000 --- a/web/src/assets/icons/feather/disc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/divide.svg b/web/src/assets/icons/feather/divide.svg deleted file mode 100644 index 3cbff3a..0000000 --- a/web/src/assets/icons/feather/divide.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/dollar-sign.svg b/web/src/assets/icons/feather/dollar-sign.svg deleted file mode 100644 index 1a124d2..0000000 --- a/web/src/assets/icons/feather/dollar-sign.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/download-cloud.svg b/web/src/assets/icons/feather/download-cloud.svg deleted file mode 100644 index f3126fc..0000000 --- a/web/src/assets/icons/feather/download-cloud.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/download.svg b/web/src/assets/icons/feather/download.svg deleted file mode 100644 index 76767a9..0000000 --- a/web/src/assets/icons/feather/download.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/dribbble.svg b/web/src/assets/icons/feather/dribbble.svg deleted file mode 100644 index bb8577d..0000000 --- a/web/src/assets/icons/feather/dribbble.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/droplet.svg b/web/src/assets/icons/feather/droplet.svg deleted file mode 100644 index ca09301..0000000 --- a/web/src/assets/icons/feather/droplet.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/edit-2.svg b/web/src/assets/icons/feather/edit-2.svg deleted file mode 100644 index 06830c9..0000000 --- a/web/src/assets/icons/feather/edit-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/edit-3.svg b/web/src/assets/icons/feather/edit-3.svg deleted file mode 100644 index d728efc..0000000 --- a/web/src/assets/icons/feather/edit-3.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/edit.svg b/web/src/assets/icons/feather/edit.svg deleted file mode 100644 index ec7b4ca..0000000 --- a/web/src/assets/icons/feather/edit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/external-link.svg b/web/src/assets/icons/feather/external-link.svg deleted file mode 100644 index 6236df3..0000000 --- a/web/src/assets/icons/feather/external-link.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/eye-off.svg b/web/src/assets/icons/feather/eye-off.svg deleted file mode 100644 index 77c54cb..0000000 --- a/web/src/assets/icons/feather/eye-off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/eye.svg b/web/src/assets/icons/feather/eye.svg deleted file mode 100644 index 9cde243..0000000 --- a/web/src/assets/icons/feather/eye.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/facebook.svg b/web/src/assets/icons/feather/facebook.svg deleted file mode 100644 index 2570f56..0000000 --- a/web/src/assets/icons/feather/facebook.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/fast-forward.svg b/web/src/assets/icons/feather/fast-forward.svg deleted file mode 100644 index fa39877..0000000 --- a/web/src/assets/icons/feather/fast-forward.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/feather.svg b/web/src/assets/icons/feather/feather.svg deleted file mode 100644 index ac3b868..0000000 --- a/web/src/assets/icons/feather/feather.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/figma.svg b/web/src/assets/icons/feather/figma.svg deleted file mode 100644 index 66fd217..0000000 --- a/web/src/assets/icons/feather/figma.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/file-minus.svg b/web/src/assets/icons/feather/file-minus.svg deleted file mode 100644 index 345756e..0000000 --- a/web/src/assets/icons/feather/file-minus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/file-plus.svg b/web/src/assets/icons/feather/file-plus.svg deleted file mode 100644 index eed1200..0000000 --- a/web/src/assets/icons/feather/file-plus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/file-text.svg b/web/src/assets/icons/feather/file-text.svg deleted file mode 100644 index 4197ddd..0000000 --- a/web/src/assets/icons/feather/file-text.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/file.svg b/web/src/assets/icons/feather/file.svg deleted file mode 100644 index 378519a..0000000 --- a/web/src/assets/icons/feather/file.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/film.svg b/web/src/assets/icons/feather/film.svg deleted file mode 100644 index ac46360..0000000 --- a/web/src/assets/icons/feather/film.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/filter.svg b/web/src/assets/icons/feather/filter.svg deleted file mode 100644 index 38a47e0..0000000 --- a/web/src/assets/icons/feather/filter.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/flag.svg b/web/src/assets/icons/feather/flag.svg deleted file mode 100644 index 037737c..0000000 --- a/web/src/assets/icons/feather/flag.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/folder-minus.svg b/web/src/assets/icons/feather/folder-minus.svg deleted file mode 100644 index d5b7af6..0000000 --- a/web/src/assets/icons/feather/folder-minus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/folder-plus.svg b/web/src/assets/icons/feather/folder-plus.svg deleted file mode 100644 index 898f2fc..0000000 --- a/web/src/assets/icons/feather/folder-plus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/folder.svg b/web/src/assets/icons/feather/folder.svg deleted file mode 100644 index 134458b..0000000 --- a/web/src/assets/icons/feather/folder.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/framer.svg b/web/src/assets/icons/feather/framer.svg deleted file mode 100644 index 3e66347..0000000 --- a/web/src/assets/icons/feather/framer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/frown.svg b/web/src/assets/icons/feather/frown.svg deleted file mode 100644 index f312254..0000000 --- a/web/src/assets/icons/feather/frown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/gift.svg b/web/src/assets/icons/feather/gift.svg deleted file mode 100644 index d2c14bd..0000000 --- a/web/src/assets/icons/feather/gift.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/git-branch.svg b/web/src/assets/icons/feather/git-branch.svg deleted file mode 100644 index 4400372..0000000 --- a/web/src/assets/icons/feather/git-branch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/git-commit.svg b/web/src/assets/icons/feather/git-commit.svg deleted file mode 100644 index e959d72..0000000 --- a/web/src/assets/icons/feather/git-commit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/git-merge.svg b/web/src/assets/icons/feather/git-merge.svg deleted file mode 100644 index c65fffd..0000000 --- a/web/src/assets/icons/feather/git-merge.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/git-pull-request.svg b/web/src/assets/icons/feather/git-pull-request.svg deleted file mode 100644 index fc80bdf..0000000 --- a/web/src/assets/icons/feather/git-pull-request.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/github.svg b/web/src/assets/icons/feather/github.svg deleted file mode 100644 index ff0af48..0000000 --- a/web/src/assets/icons/feather/github.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/gitlab.svg b/web/src/assets/icons/feather/gitlab.svg deleted file mode 100644 index 85d54a1..0000000 --- a/web/src/assets/icons/feather/gitlab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/globe.svg b/web/src/assets/icons/feather/globe.svg deleted file mode 100644 index 0a0586d..0000000 --- a/web/src/assets/icons/feather/globe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/grid.svg b/web/src/assets/icons/feather/grid.svg deleted file mode 100644 index 8ef2e9d..0000000 --- a/web/src/assets/icons/feather/grid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/hard-drive.svg b/web/src/assets/icons/feather/hard-drive.svg deleted file mode 100644 index 8e90fa1..0000000 --- a/web/src/assets/icons/feather/hard-drive.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/hash.svg b/web/src/assets/icons/feather/hash.svg deleted file mode 100644 index c9c8d41..0000000 --- a/web/src/assets/icons/feather/hash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/headphones.svg b/web/src/assets/icons/feather/headphones.svg deleted file mode 100644 index fd8915b..0000000 --- a/web/src/assets/icons/feather/headphones.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/heart.svg b/web/src/assets/icons/feather/heart.svg deleted file mode 100644 index a083b7e..0000000 --- a/web/src/assets/icons/feather/heart.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/help-circle.svg b/web/src/assets/icons/feather/help-circle.svg deleted file mode 100644 index 51fddd8..0000000 --- a/web/src/assets/icons/feather/help-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/hexagon.svg b/web/src/assets/icons/feather/hexagon.svg deleted file mode 100644 index eae7f25..0000000 --- a/web/src/assets/icons/feather/hexagon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/home.svg b/web/src/assets/icons/feather/home.svg deleted file mode 100644 index 7bb31b2..0000000 --- a/web/src/assets/icons/feather/home.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/image.svg b/web/src/assets/icons/feather/image.svg deleted file mode 100644 index a7d84b9..0000000 --- a/web/src/assets/icons/feather/image.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/inbox.svg b/web/src/assets/icons/feather/inbox.svg deleted file mode 100644 index 03a13b4..0000000 --- a/web/src/assets/icons/feather/inbox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/info.svg b/web/src/assets/icons/feather/info.svg deleted file mode 100644 index a09fa5f..0000000 --- a/web/src/assets/icons/feather/info.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/instagram.svg b/web/src/assets/icons/feather/instagram.svg deleted file mode 100644 index 9fdb8e3..0000000 --- a/web/src/assets/icons/feather/instagram.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/italic.svg b/web/src/assets/icons/feather/italic.svg deleted file mode 100644 index a123d37..0000000 --- a/web/src/assets/icons/feather/italic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/key.svg b/web/src/assets/icons/feather/key.svg deleted file mode 100644 index e778e74..0000000 --- a/web/src/assets/icons/feather/key.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/layers.svg b/web/src/assets/icons/feather/layers.svg deleted file mode 100644 index ea788c2..0000000 --- a/web/src/assets/icons/feather/layers.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/layout.svg b/web/src/assets/icons/feather/layout.svg deleted file mode 100644 index 28743d9..0000000 --- a/web/src/assets/icons/feather/layout.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/life-buoy.svg b/web/src/assets/icons/feather/life-buoy.svg deleted file mode 100644 index 54c2bd7..0000000 --- a/web/src/assets/icons/feather/life-buoy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/link-2.svg b/web/src/assets/icons/feather/link-2.svg deleted file mode 100644 index 8cc7f6d..0000000 --- a/web/src/assets/icons/feather/link-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/link.svg b/web/src/assets/icons/feather/link.svg deleted file mode 100644 index c89dd41..0000000 --- a/web/src/assets/icons/feather/link.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/linkedin.svg b/web/src/assets/icons/feather/linkedin.svg deleted file mode 100644 index 3953109..0000000 --- a/web/src/assets/icons/feather/linkedin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/list.svg b/web/src/assets/icons/feather/list.svg deleted file mode 100644 index 5ce38ea..0000000 --- a/web/src/assets/icons/feather/list.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/loader.svg b/web/src/assets/icons/feather/loader.svg deleted file mode 100644 index e1a70c1..0000000 --- a/web/src/assets/icons/feather/loader.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/lock.svg b/web/src/assets/icons/feather/lock.svg deleted file mode 100644 index de09d9d..0000000 --- a/web/src/assets/icons/feather/lock.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/log-in.svg b/web/src/assets/icons/feather/log-in.svg deleted file mode 100644 index ba0da59..0000000 --- a/web/src/assets/icons/feather/log-in.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/log-out.svg b/web/src/assets/icons/feather/log-out.svg deleted file mode 100644 index c9002c9..0000000 --- a/web/src/assets/icons/feather/log-out.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/mail.svg b/web/src/assets/icons/feather/mail.svg deleted file mode 100644 index 2af169e..0000000 --- a/web/src/assets/icons/feather/mail.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/map-pin.svg b/web/src/assets/icons/feather/map-pin.svg deleted file mode 100644 index d5548e9..0000000 --- a/web/src/assets/icons/feather/map-pin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/map.svg b/web/src/assets/icons/feather/map.svg deleted file mode 100644 index ecebd7b..0000000 --- a/web/src/assets/icons/feather/map.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/maximize-2.svg b/web/src/assets/icons/feather/maximize-2.svg deleted file mode 100644 index e41fc0b..0000000 --- a/web/src/assets/icons/feather/maximize-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/maximize.svg b/web/src/assets/icons/feather/maximize.svg deleted file mode 100644 index fc30518..0000000 --- a/web/src/assets/icons/feather/maximize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/meh.svg b/web/src/assets/icons/feather/meh.svg deleted file mode 100644 index 6f57fff..0000000 --- a/web/src/assets/icons/feather/meh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/menu.svg b/web/src/assets/icons/feather/menu.svg deleted file mode 100644 index e8a84a9..0000000 --- a/web/src/assets/icons/feather/menu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/message-circle.svg b/web/src/assets/icons/feather/message-circle.svg deleted file mode 100644 index 4b21b32..0000000 --- a/web/src/assets/icons/feather/message-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/message-square.svg b/web/src/assets/icons/feather/message-square.svg deleted file mode 100644 index 6a2e4e5..0000000 --- a/web/src/assets/icons/feather/message-square.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/mic-off.svg b/web/src/assets/icons/feather/mic-off.svg deleted file mode 100644 index 0786219..0000000 --- a/web/src/assets/icons/feather/mic-off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/mic.svg b/web/src/assets/icons/feather/mic.svg deleted file mode 100644 index dc5f780..0000000 --- a/web/src/assets/icons/feather/mic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/minimize-2.svg b/web/src/assets/icons/feather/minimize-2.svg deleted file mode 100644 index a720fa6..0000000 --- a/web/src/assets/icons/feather/minimize-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/minimize.svg b/web/src/assets/icons/feather/minimize.svg deleted file mode 100644 index 46d6119..0000000 --- a/web/src/assets/icons/feather/minimize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/minus-circle.svg b/web/src/assets/icons/feather/minus-circle.svg deleted file mode 100644 index 80c0de1..0000000 --- a/web/src/assets/icons/feather/minus-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/minus-square.svg b/web/src/assets/icons/feather/minus-square.svg deleted file mode 100644 index 4862832..0000000 --- a/web/src/assets/icons/feather/minus-square.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/minus.svg b/web/src/assets/icons/feather/minus.svg deleted file mode 100644 index 93cc734..0000000 --- a/web/src/assets/icons/feather/minus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/monitor.svg b/web/src/assets/icons/feather/monitor.svg deleted file mode 100644 index 6c3556d..0000000 --- a/web/src/assets/icons/feather/monitor.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/moon.svg b/web/src/assets/icons/feather/moon.svg deleted file mode 100644 index dbf7c6c..0000000 --- a/web/src/assets/icons/feather/moon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/more-horizontal.svg b/web/src/assets/icons/feather/more-horizontal.svg deleted file mode 100644 index dc6a855..0000000 --- a/web/src/assets/icons/feather/more-horizontal.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/more-vertical.svg b/web/src/assets/icons/feather/more-vertical.svg deleted file mode 100644 index cba6958..0000000 --- a/web/src/assets/icons/feather/more-vertical.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/mouse-pointer.svg b/web/src/assets/icons/feather/mouse-pointer.svg deleted file mode 100644 index f5af559..0000000 --- a/web/src/assets/icons/feather/mouse-pointer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/move.svg b/web/src/assets/icons/feather/move.svg deleted file mode 100644 index 4e251b5..0000000 --- a/web/src/assets/icons/feather/move.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/music.svg b/web/src/assets/icons/feather/music.svg deleted file mode 100644 index 7bee2f7..0000000 --- a/web/src/assets/icons/feather/music.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/navigation-2.svg b/web/src/assets/icons/feather/navigation-2.svg deleted file mode 100644 index ae31db9..0000000 --- a/web/src/assets/icons/feather/navigation-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/navigation.svg b/web/src/assets/icons/feather/navigation.svg deleted file mode 100644 index f600a41..0000000 --- a/web/src/assets/icons/feather/navigation.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/octagon.svg b/web/src/assets/icons/feather/octagon.svg deleted file mode 100644 index 124c548..0000000 --- a/web/src/assets/icons/feather/octagon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/package.svg b/web/src/assets/icons/feather/package.svg deleted file mode 100644 index f1e09ee..0000000 --- a/web/src/assets/icons/feather/package.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/paperclip.svg b/web/src/assets/icons/feather/paperclip.svg deleted file mode 100644 index b1f69b7..0000000 --- a/web/src/assets/icons/feather/paperclip.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/pause-circle.svg b/web/src/assets/icons/feather/pause-circle.svg deleted file mode 100644 index f6b1a8d..0000000 --- a/web/src/assets/icons/feather/pause-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/pause.svg b/web/src/assets/icons/feather/pause.svg deleted file mode 100644 index 4e78038..0000000 --- a/web/src/assets/icons/feather/pause.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/pen-tool.svg b/web/src/assets/icons/feather/pen-tool.svg deleted file mode 100644 index 0d26fa1..0000000 --- a/web/src/assets/icons/feather/pen-tool.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/percent.svg b/web/src/assets/icons/feather/percent.svg deleted file mode 100644 index 2cb9719..0000000 --- a/web/src/assets/icons/feather/percent.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/phone-call.svg b/web/src/assets/icons/feather/phone-call.svg deleted file mode 100644 index 8b86660..0000000 --- a/web/src/assets/icons/feather/phone-call.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/phone-forwarded.svg b/web/src/assets/icons/feather/phone-forwarded.svg deleted file mode 100644 index aa21bef..0000000 --- a/web/src/assets/icons/feather/phone-forwarded.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/phone-incoming.svg b/web/src/assets/icons/feather/phone-incoming.svg deleted file mode 100644 index b2d523a..0000000 --- a/web/src/assets/icons/feather/phone-incoming.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/phone-missed.svg b/web/src/assets/icons/feather/phone-missed.svg deleted file mode 100644 index 4950f09..0000000 --- a/web/src/assets/icons/feather/phone-missed.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/phone-off.svg b/web/src/assets/icons/feather/phone-off.svg deleted file mode 100644 index 4d00fb3..0000000 --- a/web/src/assets/icons/feather/phone-off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/phone-outgoing.svg b/web/src/assets/icons/feather/phone-outgoing.svg deleted file mode 100644 index fea27a3..0000000 --- a/web/src/assets/icons/feather/phone-outgoing.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/phone.svg b/web/src/assets/icons/feather/phone.svg deleted file mode 100644 index 2a35154..0000000 --- a/web/src/assets/icons/feather/phone.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/pie-chart.svg b/web/src/assets/icons/feather/pie-chart.svg deleted file mode 100644 index b5bbe67..0000000 --- a/web/src/assets/icons/feather/pie-chart.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/play-circle.svg b/web/src/assets/icons/feather/play-circle.svg deleted file mode 100644 index 8766dc7..0000000 --- a/web/src/assets/icons/feather/play-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/play.svg b/web/src/assets/icons/feather/play.svg deleted file mode 100644 index fd76e30..0000000 --- a/web/src/assets/icons/feather/play.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/plus-circle.svg b/web/src/assets/icons/feather/plus-circle.svg deleted file mode 100644 index 4291ff0..0000000 --- a/web/src/assets/icons/feather/plus-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/plus-square.svg b/web/src/assets/icons/feather/plus-square.svg deleted file mode 100644 index c380e24..0000000 --- a/web/src/assets/icons/feather/plus-square.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/plus.svg b/web/src/assets/icons/feather/plus.svg deleted file mode 100644 index 703c5b7..0000000 --- a/web/src/assets/icons/feather/plus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/pocket.svg b/web/src/assets/icons/feather/pocket.svg deleted file mode 100644 index a3b2561..0000000 --- a/web/src/assets/icons/feather/pocket.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/power.svg b/web/src/assets/icons/feather/power.svg deleted file mode 100644 index 598308f..0000000 --- a/web/src/assets/icons/feather/power.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/printer.svg b/web/src/assets/icons/feather/printer.svg deleted file mode 100644 index 8a9a7ac..0000000 --- a/web/src/assets/icons/feather/printer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/radio.svg b/web/src/assets/icons/feather/radio.svg deleted file mode 100644 index 5abfcd1..0000000 --- a/web/src/assets/icons/feather/radio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/refresh-ccw.svg b/web/src/assets/icons/feather/refresh-ccw.svg deleted file mode 100644 index 10cff0e..0000000 --- a/web/src/assets/icons/feather/refresh-ccw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/refresh-cw.svg b/web/src/assets/icons/feather/refresh-cw.svg deleted file mode 100644 index 06c358d..0000000 --- a/web/src/assets/icons/feather/refresh-cw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/repeat.svg b/web/src/assets/icons/feather/repeat.svg deleted file mode 100644 index c7657b0..0000000 --- a/web/src/assets/icons/feather/repeat.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/rewind.svg b/web/src/assets/icons/feather/rewind.svg deleted file mode 100644 index 7b0fa3d..0000000 --- a/web/src/assets/icons/feather/rewind.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/rotate-ccw.svg b/web/src/assets/icons/feather/rotate-ccw.svg deleted file mode 100644 index ade5dc4..0000000 --- a/web/src/assets/icons/feather/rotate-ccw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/rotate-cw.svg b/web/src/assets/icons/feather/rotate-cw.svg deleted file mode 100644 index 83dca35..0000000 --- a/web/src/assets/icons/feather/rotate-cw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/rss.svg b/web/src/assets/icons/feather/rss.svg deleted file mode 100644 index c9a1368..0000000 --- a/web/src/assets/icons/feather/rss.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/save.svg b/web/src/assets/icons/feather/save.svg deleted file mode 100644 index 46c7299..0000000 --- a/web/src/assets/icons/feather/save.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/scissors.svg b/web/src/assets/icons/feather/scissors.svg deleted file mode 100644 index fd0647f..0000000 --- a/web/src/assets/icons/feather/scissors.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/search.svg b/web/src/assets/icons/feather/search.svg deleted file mode 100644 index 8710306..0000000 --- a/web/src/assets/icons/feather/search.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/send.svg b/web/src/assets/icons/feather/send.svg deleted file mode 100644 index 42ef2a2..0000000 --- a/web/src/assets/icons/feather/send.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/server.svg b/web/src/assets/icons/feather/server.svg deleted file mode 100644 index 54ce094..0000000 --- a/web/src/assets/icons/feather/server.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/settings.svg b/web/src/assets/icons/feather/settings.svg deleted file mode 100644 index 19c2726..0000000 --- a/web/src/assets/icons/feather/settings.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/share-2.svg b/web/src/assets/icons/feather/share-2.svg deleted file mode 100644 index 09b1c7b..0000000 --- a/web/src/assets/icons/feather/share-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/share.svg b/web/src/assets/icons/feather/share.svg deleted file mode 100644 index df38c14..0000000 --- a/web/src/assets/icons/feather/share.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/shield-off.svg b/web/src/assets/icons/feather/shield-off.svg deleted file mode 100644 index 18692dd..0000000 --- a/web/src/assets/icons/feather/shield-off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/shield.svg b/web/src/assets/icons/feather/shield.svg deleted file mode 100644 index c7c4841..0000000 --- a/web/src/assets/icons/feather/shield.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/shopping-bag.svg b/web/src/assets/icons/feather/shopping-bag.svg deleted file mode 100644 index eaa39e8..0000000 --- a/web/src/assets/icons/feather/shopping-bag.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/shopping-cart.svg b/web/src/assets/icons/feather/shopping-cart.svg deleted file mode 100644 index 17a40bf..0000000 --- a/web/src/assets/icons/feather/shopping-cart.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/shuffle.svg b/web/src/assets/icons/feather/shuffle.svg deleted file mode 100644 index 8cfb5db..0000000 --- a/web/src/assets/icons/feather/shuffle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/sidebar.svg b/web/src/assets/icons/feather/sidebar.svg deleted file mode 100644 index 8ba817e..0000000 --- a/web/src/assets/icons/feather/sidebar.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/skip-back.svg b/web/src/assets/icons/feather/skip-back.svg deleted file mode 100644 index 88d024e..0000000 --- a/web/src/assets/icons/feather/skip-back.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/skip-forward.svg b/web/src/assets/icons/feather/skip-forward.svg deleted file mode 100644 index f3fdac3..0000000 --- a/web/src/assets/icons/feather/skip-forward.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/slack.svg b/web/src/assets/icons/feather/slack.svg deleted file mode 100644 index 5d97346..0000000 --- a/web/src/assets/icons/feather/slack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/slash.svg b/web/src/assets/icons/feather/slash.svg deleted file mode 100644 index f4131b8..0000000 --- a/web/src/assets/icons/feather/slash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/sliders.svg b/web/src/assets/icons/feather/sliders.svg deleted file mode 100644 index 19c9385..0000000 --- a/web/src/assets/icons/feather/sliders.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/smartphone.svg b/web/src/assets/icons/feather/smartphone.svg deleted file mode 100644 index 0171a95..0000000 --- a/web/src/assets/icons/feather/smartphone.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/smile.svg b/web/src/assets/icons/feather/smile.svg deleted file mode 100644 index 24dc8a2..0000000 --- a/web/src/assets/icons/feather/smile.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/speaker.svg b/web/src/assets/icons/feather/speaker.svg deleted file mode 100644 index 75d5ff9..0000000 --- a/web/src/assets/icons/feather/speaker.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/square.svg b/web/src/assets/icons/feather/square.svg deleted file mode 100644 index 6eabc77..0000000 --- a/web/src/assets/icons/feather/square.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/star.svg b/web/src/assets/icons/feather/star.svg deleted file mode 100644 index bcdc31a..0000000 --- a/web/src/assets/icons/feather/star.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/stop-circle.svg b/web/src/assets/icons/feather/stop-circle.svg deleted file mode 100644 index c10d9d4..0000000 --- a/web/src/assets/icons/feather/stop-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/sun.svg b/web/src/assets/icons/feather/sun.svg deleted file mode 100644 index 7f51b94..0000000 --- a/web/src/assets/icons/feather/sun.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/sunrise.svg b/web/src/assets/icons/feather/sunrise.svg deleted file mode 100644 index eff4b1e..0000000 --- a/web/src/assets/icons/feather/sunrise.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/sunset.svg b/web/src/assets/icons/feather/sunset.svg deleted file mode 100644 index a5a2221..0000000 --- a/web/src/assets/icons/feather/sunset.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/table.svg b/web/src/assets/icons/feather/table.svg deleted file mode 100644 index 679bd57..0000000 --- a/web/src/assets/icons/feather/table.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/tablet.svg b/web/src/assets/icons/feather/tablet.svg deleted file mode 100644 index 9c80b40..0000000 --- a/web/src/assets/icons/feather/tablet.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/tag.svg b/web/src/assets/icons/feather/tag.svg deleted file mode 100644 index 7219b15..0000000 --- a/web/src/assets/icons/feather/tag.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/target.svg b/web/src/assets/icons/feather/target.svg deleted file mode 100644 index be84b17..0000000 --- a/web/src/assets/icons/feather/target.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/terminal.svg b/web/src/assets/icons/feather/terminal.svg deleted file mode 100644 index af459c0..0000000 --- a/web/src/assets/icons/feather/terminal.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/thermometer.svg b/web/src/assets/icons/feather/thermometer.svg deleted file mode 100644 index 33142cc..0000000 --- a/web/src/assets/icons/feather/thermometer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/thumbs-down.svg b/web/src/assets/icons/feather/thumbs-down.svg deleted file mode 100644 index 3e7bcd6..0000000 --- a/web/src/assets/icons/feather/thumbs-down.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/thumbs-up.svg b/web/src/assets/icons/feather/thumbs-up.svg deleted file mode 100644 index 226c44d..0000000 --- a/web/src/assets/icons/feather/thumbs-up.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/toggle-left.svg b/web/src/assets/icons/feather/toggle-left.svg deleted file mode 100644 index 240be29..0000000 --- a/web/src/assets/icons/feather/toggle-left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/toggle-right.svg b/web/src/assets/icons/feather/toggle-right.svg deleted file mode 100644 index fc6e81c..0000000 --- a/web/src/assets/icons/feather/toggle-right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/tool.svg b/web/src/assets/icons/feather/tool.svg deleted file mode 100644 index f3cbf3d..0000000 --- a/web/src/assets/icons/feather/tool.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/trash-2.svg b/web/src/assets/icons/feather/trash-2.svg deleted file mode 100644 index f24d55b..0000000 --- a/web/src/assets/icons/feather/trash-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/trash.svg b/web/src/assets/icons/feather/trash.svg deleted file mode 100644 index 55650bd..0000000 --- a/web/src/assets/icons/feather/trash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/trello.svg b/web/src/assets/icons/feather/trello.svg deleted file mode 100644 index b2f599b..0000000 --- a/web/src/assets/icons/feather/trello.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/trending-down.svg b/web/src/assets/icons/feather/trending-down.svg deleted file mode 100644 index a9d4cfa..0000000 --- a/web/src/assets/icons/feather/trending-down.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/trending-up.svg b/web/src/assets/icons/feather/trending-up.svg deleted file mode 100644 index 52026a4..0000000 --- a/web/src/assets/icons/feather/trending-up.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/triangle.svg b/web/src/assets/icons/feather/triangle.svg deleted file mode 100644 index 274b652..0000000 --- a/web/src/assets/icons/feather/triangle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/truck.svg b/web/src/assets/icons/feather/truck.svg deleted file mode 100644 index 3389837..0000000 --- a/web/src/assets/icons/feather/truck.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/tv.svg b/web/src/assets/icons/feather/tv.svg deleted file mode 100644 index 955bbff..0000000 --- a/web/src/assets/icons/feather/tv.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/twitch.svg b/web/src/assets/icons/feather/twitch.svg deleted file mode 100644 index 1706249..0000000 --- a/web/src/assets/icons/feather/twitch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/twitter.svg b/web/src/assets/icons/feather/twitter.svg deleted file mode 100644 index f8886ec..0000000 --- a/web/src/assets/icons/feather/twitter.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/type.svg b/web/src/assets/icons/feather/type.svg deleted file mode 100644 index c6b2de3..0000000 --- a/web/src/assets/icons/feather/type.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/umbrella.svg b/web/src/assets/icons/feather/umbrella.svg deleted file mode 100644 index dc77c0c..0000000 --- a/web/src/assets/icons/feather/umbrella.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/underline.svg b/web/src/assets/icons/feather/underline.svg deleted file mode 100644 index 044945d..0000000 --- a/web/src/assets/icons/feather/underline.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/unlock.svg b/web/src/assets/icons/feather/unlock.svg deleted file mode 100644 index 01dc359..0000000 --- a/web/src/assets/icons/feather/unlock.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/upload-cloud.svg b/web/src/assets/icons/feather/upload-cloud.svg deleted file mode 100644 index a1db297..0000000 --- a/web/src/assets/icons/feather/upload-cloud.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/upload.svg b/web/src/assets/icons/feather/upload.svg deleted file mode 100644 index 91eaff7..0000000 --- a/web/src/assets/icons/feather/upload.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/user-check.svg b/web/src/assets/icons/feather/user-check.svg deleted file mode 100644 index 42f91b2..0000000 --- a/web/src/assets/icons/feather/user-check.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/user-minus.svg b/web/src/assets/icons/feather/user-minus.svg deleted file mode 100644 index 44b75f5..0000000 --- a/web/src/assets/icons/feather/user-minus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/user-plus.svg b/web/src/assets/icons/feather/user-plus.svg deleted file mode 100644 index 21460f6..0000000 --- a/web/src/assets/icons/feather/user-plus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/user-x.svg b/web/src/assets/icons/feather/user-x.svg deleted file mode 100644 index 0c41a48..0000000 --- a/web/src/assets/icons/feather/user-x.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/user.svg b/web/src/assets/icons/feather/user.svg deleted file mode 100644 index 7bb5f29..0000000 --- a/web/src/assets/icons/feather/user.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/users.svg b/web/src/assets/icons/feather/users.svg deleted file mode 100644 index aacf6b0..0000000 --- a/web/src/assets/icons/feather/users.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/video-off.svg b/web/src/assets/icons/feather/video-off.svg deleted file mode 100644 index 08ec697..0000000 --- a/web/src/assets/icons/feather/video-off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/video.svg b/web/src/assets/icons/feather/video.svg deleted file mode 100644 index 8ff156a..0000000 --- a/web/src/assets/icons/feather/video.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/voicemail.svg b/web/src/assets/icons/feather/voicemail.svg deleted file mode 100644 index 5d78a8e..0000000 --- a/web/src/assets/icons/feather/voicemail.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/volume-1.svg b/web/src/assets/icons/feather/volume-1.svg deleted file mode 100644 index 150e875..0000000 --- a/web/src/assets/icons/feather/volume-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/volume-2.svg b/web/src/assets/icons/feather/volume-2.svg deleted file mode 100644 index 03d521c..0000000 --- a/web/src/assets/icons/feather/volume-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/volume-x.svg b/web/src/assets/icons/feather/volume-x.svg deleted file mode 100644 index be44240..0000000 --- a/web/src/assets/icons/feather/volume-x.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/volume.svg b/web/src/assets/icons/feather/volume.svg deleted file mode 100644 index 53bfe15..0000000 --- a/web/src/assets/icons/feather/volume.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/watch.svg b/web/src/assets/icons/feather/watch.svg deleted file mode 100644 index a1099da..0000000 --- a/web/src/assets/icons/feather/watch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/wifi-off.svg b/web/src/assets/icons/feather/wifi-off.svg deleted file mode 100644 index 35eae43..0000000 --- a/web/src/assets/icons/feather/wifi-off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/wifi.svg b/web/src/assets/icons/feather/wifi.svg deleted file mode 100644 index 748c285..0000000 --- a/web/src/assets/icons/feather/wifi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/wind.svg b/web/src/assets/icons/feather/wind.svg deleted file mode 100644 index 82b3646..0000000 --- a/web/src/assets/icons/feather/wind.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/x-circle.svg b/web/src/assets/icons/feather/x-circle.svg deleted file mode 100644 index 94aad5e..0000000 --- a/web/src/assets/icons/feather/x-circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/x-octagon.svg b/web/src/assets/icons/feather/x-octagon.svg deleted file mode 100644 index 8543198..0000000 --- a/web/src/assets/icons/feather/x-octagon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/x-square.svg b/web/src/assets/icons/feather/x-square.svg deleted file mode 100644 index 7677c38..0000000 --- a/web/src/assets/icons/feather/x-square.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/x.svg b/web/src/assets/icons/feather/x.svg deleted file mode 100644 index 7d5875c..0000000 --- a/web/src/assets/icons/feather/x.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/youtube.svg b/web/src/assets/icons/feather/youtube.svg deleted file mode 100644 index c482438..0000000 --- a/web/src/assets/icons/feather/youtube.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/zap-off.svg b/web/src/assets/icons/feather/zap-off.svg deleted file mode 100644 index c636f8b..0000000 --- a/web/src/assets/icons/feather/zap-off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/zap.svg b/web/src/assets/icons/feather/zap.svg deleted file mode 100644 index 8fdafa9..0000000 --- a/web/src/assets/icons/feather/zap.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/zoom-in.svg b/web/src/assets/icons/feather/zoom-in.svg deleted file mode 100644 index da4572d..0000000 --- a/web/src/assets/icons/feather/zoom-in.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/feather/zoom-out.svg b/web/src/assets/icons/feather/zoom-out.svg deleted file mode 100644 index fd678d7..0000000 --- a/web/src/assets/icons/feather/zoom-out.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/assets/icons/isme/apifox.svg b/web/src/assets/icons/isme/apifox.svg deleted file mode 100644 index 009cdf5..0000000 --- a/web/src/assets/icons/isme/apifox.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/web/src/assets/icons/isme/awesome.svg b/web/src/assets/icons/isme/awesome.svg deleted file mode 100644 index cfaab8b..0000000 --- a/web/src/assets/icons/isme/awesome.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/web/src/assets/icons/isme/dialog.svg b/web/src/assets/icons/isme/dialog.svg deleted file mode 100644 index 809330d..0000000 --- a/web/src/assets/icons/isme/dialog.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/web/src/assets/icons/isme/docs.svg b/web/src/assets/icons/isme/docs.svg deleted file mode 100644 index 907ac11..0000000 --- a/web/src/assets/icons/isme/docs.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/web/src/assets/icons/isme/gitee.svg b/web/src/assets/icons/isme/gitee.svg deleted file mode 100644 index 5896c65..0000000 --- a/web/src/assets/icons/isme/gitee.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/web/src/assets/icons/isme/naiveui.svg b/web/src/assets/icons/isme/naiveui.svg deleted file mode 100644 index c236f7f..0000000 --- a/web/src/assets/icons/isme/naiveui.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - diff --git a/web/src/assets/images/404.webp b/web/src/assets/images/404.webp deleted file mode 100644 index 3482bf9..0000000 Binary files a/web/src/assets/images/404.webp and /dev/null differ diff --git a/web/src/assets/images/isme.png b/web/src/assets/images/isme.png deleted file mode 100644 index 6a2acca..0000000 Binary files a/web/src/assets/images/isme.png and /dev/null differ diff --git a/web/src/assets/images/login_banner.webp b/web/src/assets/images/login_banner.webp deleted file mode 100644 index 2bc7cad..0000000 Binary files a/web/src/assets/images/login_banner.webp and /dev/null differ diff --git a/web/src/assets/images/login_bg.webp b/web/src/assets/images/login_bg.webp deleted file mode 100644 index 2a9df19..0000000 Binary files a/web/src/assets/images/login_bg.webp and /dev/null differ diff --git a/web/src/assets/images/logo.png b/web/src/assets/images/logo.png deleted file mode 100644 index 187ff0b..0000000 Binary files a/web/src/assets/images/logo.png and /dev/null differ diff --git a/web/src/components/common/AppCard.vue b/web/src/components/common/AppCard.vue deleted file mode 100644 index 358cf4c..0000000 --- a/web/src/components/common/AppCard.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - - - diff --git a/web/src/components/common/AppPage.vue b/web/src/components/common/AppPage.vue deleted file mode 100644 index 31881b8..0000000 --- a/web/src/components/common/AppPage.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - - - diff --git a/web/src/components/common/CommonPage.vue b/web/src/components/common/CommonPage.vue deleted file mode 100644 index 1e3c423..0000000 --- a/web/src/components/common/CommonPage.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - - - diff --git a/web/src/components/common/LayoutSetting.vue b/web/src/components/common/LayoutSetting.vue deleted file mode 100644 index 137493b..0000000 --- a/web/src/components/common/LayoutSetting.vue +++ /dev/null @@ -1,102 +0,0 @@ - - - - - diff --git a/web/src/components/common/TheFooter.vue b/web/src/components/common/TheFooter.vue deleted file mode 100644 index e2cf27e..0000000 --- a/web/src/components/common/TheFooter.vue +++ /dev/null @@ -1,24 +0,0 @@ - - - diff --git a/web/src/components/common/TheLogo.vue b/web/src/components/common/TheLogo.vue deleted file mode 100644 index e5a8420..0000000 --- a/web/src/components/common/TheLogo.vue +++ /dev/null @@ -1,12 +0,0 @@ - - diff --git a/web/src/components/common/ThemeSetting.vue b/web/src/components/common/ThemeSetting.vue deleted file mode 100644 index 55c5cd1..0000000 --- a/web/src/components/common/ThemeSetting.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/web/src/components/common/ToggleTheme.vue b/web/src/components/common/ToggleTheme.vue deleted file mode 100644 index ca97e19..0000000 --- a/web/src/components/common/ToggleTheme.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - diff --git a/web/src/components/common/index.js b/web/src/components/common/index.js deleted file mode 100644 index 14e66b2..0000000 --- a/web/src/components/common/index.js +++ /dev/null @@ -1,6 +0,0 @@ -export { default as AppCard } from './AppCard.vue' -export { default as TheFooter } from './TheFooter.vue' -export { default as AppPage } from './AppPage.vue' -export { default as CommonPage } from './CommonPage.vue' -export { default as LayoutSetting } from './LayoutSetting.vue' -export { default as ToggleTheme } from './ToggleTheme.vue' diff --git a/web/src/components/index.js b/web/src/components/index.js deleted file mode 100644 index 8621d75..0000000 --- a/web/src/components/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export * from './common' -export * from './me' diff --git a/web/src/components/me/crud/QueryItem.vue b/web/src/components/me/crud/QueryItem.vue deleted file mode 100644 index 01ba98f..0000000 --- a/web/src/components/me/crud/QueryItem.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - diff --git a/web/src/components/me/crud/index.vue b/web/src/components/me/crud/index.vue deleted file mode 100644 index ae2e60a..0000000 --- a/web/src/components/me/crud/index.vue +++ /dev/null @@ -1,204 +0,0 @@ - - - - - diff --git a/web/src/components/me/index.js b/web/src/components/me/index.js deleted file mode 100644 index 795b613..0000000 --- a/web/src/components/me/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export { default as MeModal } from './modal/index.vue' -export { default as MeCrud } from './crud/index.vue' -export { default as MeQueryItem } from './crud/QueryItem.vue' diff --git a/web/src/components/me/modal/index.vue b/web/src/components/me/modal/index.vue deleted file mode 100644 index 40b2585..0000000 --- a/web/src/components/me/modal/index.vue +++ /dev/null @@ -1,191 +0,0 @@ - - - - - diff --git a/web/src/components/me/modal/utils.js b/web/src/components/me/modal/utils.js deleted file mode 100644 index dcba865..0000000 --- a/web/src/components/me/modal/utils.js +++ /dev/null @@ -1,72 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2024/01/13 17:41:26 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -// 获取元素的CSS样式 -function getCss(element, key) { - return element.currentStyle - ? element.currentStyle[key] - : window.getComputedStyle(element, null)[key] -} - -// 初始化拖拽 -export function initDrag(bar, box) { - if (!bar || !box) - return - const params = { - left: 0, - top: 0, - currentX: 0, - currentY: 0, - flag: false, - } - - if (getCss(box, 'left') !== 'auto') { - params.left = getCss(box, 'left') - } - if (getCss(box, 'top') !== 'auto') { - params.top = getCss(box, 'top') - } - - // 设置触发拖动元素的鼠标样式为移动图标 - bar.style.cursor = 'move' - // 鼠标按下事件处理函数 - bar.onmousedown = function (e) { - params.flag = true // 设置拖拽标志为true - e.preventDefault() // 阻止默认事件 - params.currentX = e.clientX // 鼠标当前位置的X坐标 - params.currentY = e.clientY // 鼠标当前位置的Y坐标 - } - document.onmouseup = function () { - params.flag = false // 设置拖拽标志为false - if (getCss(box, 'left') !== 'auto') { - params.left = getCss(box, 'left') - } - if (getCss(box, 'top') !== 'auto') { - params.top = getCss(box, 'top') - } - } - document.onmousemove = function (e) { - if (e.target !== bar && !params.flag) - return - - e.preventDefault() // 阻止默认事件 - // 如果拖拽标志为true - if (params.flag) { - const nowX = e.clientX // 鼠标当前位置的X坐标 - const nowY = e.clientY // 鼠标当前位置的Y坐标 - const disX = nowX - params.currentX // 鼠标移动的X距离 - const disY = nowY - params.currentY // 鼠标移动的Y距离 - - const left = Number.parseInt(params.left) + disX // 盒子元素的新left值 - const top = Number.parseInt(params.top) + disY // 盒子元素的新top值 - - box.style.left = `${left}px` - box.style.top = `${top}px` - } - } -} diff --git a/web/src/composables/index.js b/web/src/composables/index.js deleted file mode 100644 index 2e9b5a1..0000000 --- a/web/src/composables/index.js +++ /dev/null @@ -1,4 +0,0 @@ -export * from './useCrud' -export * from './useForm' -export * from './useModal' -export * from './useAliveData' diff --git a/web/src/composables/useAliveData.js b/web/src/composables/useAliveData.js deleted file mode 100644 index bcc2f06..0000000 --- a/web/src/composables/useAliveData.js +++ /dev/null @@ -1,30 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:22:28 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -const lastDataMap = new Map() -export function useAliveData(initData = {}, key) { - key = key ?? useRoute().name - const lastData = lastDataMap.get(key) - const aliveData = ref(lastData || { ...initData }) - - watch( - aliveData, - (v) => { - lastDataMap.set(key, v) - }, - { deep: true }, - ) - - return { - aliveData, - reset() { - aliveData.value = { ...initData } - lastDataMap.delete(key) - }, - } -} diff --git a/web/src/composables/useCrud.js b/web/src/composables/useCrud.js deleted file mode 100644 index d3c4425..0000000 --- a/web/src/composables/useCrud.js +++ /dev/null @@ -1,127 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/12 09:03:00 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { useForm, useModal } from '.' - -const ACTIONS = { - view: '查看', - edit: '编辑', - add: '新增', -} - -export function useCrud({ name, initForm = {}, doCreate, doDelete, doUpdate, refresh }) { - const modalAction = ref('') - const [modalRef, okLoading] = useModal() - const [modalFormRef, modalForm, validation] = useForm(initForm) - - /** 新增 */ - function handleAdd(row = {}, title) { - handleOpen({ action: 'add', title, row: { ...initForm, ...row } }) - } - - /** 修改 */ - function handleEdit(row, title) { - handleOpen({ action: 'edit', title, row }) - } - - /** 查看 */ - function handleView(row, title) { - handleOpen({ action: 'view', title, row }) - } - - /** 打开modal */ - function handleOpen(options = {}) { - const { action, row, title, onOk } = options - modalAction.value = action - modalForm.value = { ...row } - modalRef.value?.open({ - ...options, - async onOk() { - if (typeof onOk === 'function') { - return await onOk() - } - else { - return await handleSave() - } - }, - title: title ?? (ACTIONS[modalAction.value] || '') + name, - }) - } - - /** 保存 */ - async function handleSave(action) { - if (!action && !['edit', 'add'].includes(modalAction.value)) { - return false - } - await validation() - const actions = { - add: { - api: () => doCreate(modalForm.value), - cb: () => $message.success('新增成功'), - }, - edit: { - api: () => doUpdate(modalForm.value), - cb: () => $message.success('保存成功'), - }, - } - - action = action || actions[modalAction.value] - - try { - okLoading.value = true - const data = await action.api() - action.cb() - okLoading.value = false - data && refresh(data) - } - catch (error) { - okLoading.value = false - return false - } - } - - /** 删除 */ - function handleDelete(id, confirmOptions) { - if (!id && id !== 0) - return - const d = $dialog.warning({ - content: '确定删除?', - title: '提示', - positiveText: '确定', - negativeText: '取消', - async onPositiveClick() { - try { - d.loading = true - const data = await doDelete(id) - $message.success('删除成功') - d.loading = false - refresh(data, true) - } - catch (error) { - d.loading = false - } - }, - ...confirmOptions, - }) - } - - return { - modalRef, - modalFormRef, - modalAction, - modalForm, - okLoading, - validation, - handleAdd, - handleDelete, - handleEdit, - handleView, - handleOpen, - handleSave, - } -} diff --git a/web/src/composables/useForm.js b/web/src/composables/useForm.js deleted file mode 100644 index 69f9d50..0000000 --- a/web/src/composables/useForm.js +++ /dev/null @@ -1,23 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:22:43 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -export function useForm(initFormData = {}) { - const formRef = ref(null) - const formModel = ref({ ...initFormData }) - const rules = { - required: { - required: true, - message: '此为必填项', - trigger: ['blur', 'change'], - }, - } - const validation = () => { - return formRef.value?.validate() - } - return [formRef, formModel, validation, rules] -} diff --git a/web/src/composables/useModal.js b/web/src/composables/useModal.js deleted file mode 100644 index dc08216..0000000 --- a/web/src/composables/useModal.js +++ /dev/null @@ -1,20 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:22:49 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -export function useModal() { - const modalRef = ref(null) - const okLoading = computed({ - get() { - return modalRef.value?.okLoading - }, - set(v) { - modalRef.value.okLoading = v - }, - }) - return [modalRef, okLoading] -} diff --git a/web/src/directives/index.js b/web/src/directives/index.js deleted file mode 100644 index f27a036..0000000 --- a/web/src/directives/index.js +++ /dev/null @@ -1,23 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:23:01 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { router } from '@/router' - -const permission = { - mounted(el, binding) { - const currentRoute = unref(router.currentRoute) - const btns = currentRoute.meta?.btns?.map(item => item.code) || [] - if (!btns.includes(binding.value)) { - el.remove() - } - }, -} - -export function setupDirectives(app) { - app.directive('permission', permission) -} diff --git a/web/src/layouts/components/BreadCrumb.vue b/web/src/layouts/components/BreadCrumb.vue deleted file mode 100644 index dadc9ad..0000000 --- a/web/src/layouts/components/BreadCrumb.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - - - diff --git a/web/src/layouts/components/Fullscreen.vue b/web/src/layouts/components/Fullscreen.vue deleted file mode 100644 index 7ccc3d4..0000000 --- a/web/src/layouts/components/Fullscreen.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - diff --git a/web/src/layouts/components/MenuCollapse.vue b/web/src/layouts/components/MenuCollapse.vue deleted file mode 100644 index 1ec6d30..0000000 --- a/web/src/layouts/components/MenuCollapse.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - - - diff --git a/web/src/layouts/components/RoleSelect.vue b/web/src/layouts/components/RoleSelect.vue deleted file mode 100644 index b839df4..0000000 --- a/web/src/layouts/components/RoleSelect.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - - - diff --git a/web/src/layouts/components/SideLogo.vue b/web/src/layouts/components/SideLogo.vue deleted file mode 100644 index a9cfba0..0000000 --- a/web/src/layouts/components/SideLogo.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - - - diff --git a/web/src/layouts/components/SideMenu.vue b/web/src/layouts/components/SideMenu.vue deleted file mode 100644 index a369658..0000000 --- a/web/src/layouts/components/SideMenu.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - diff --git a/web/src/layouts/components/UserAvatar.vue b/web/src/layouts/components/UserAvatar.vue deleted file mode 100644 index 84bf105..0000000 --- a/web/src/layouts/components/UserAvatar.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/web/src/layouts/components/index.js b/web/src/layouts/components/index.js deleted file mode 100644 index a9d0280..0000000 --- a/web/src/layouts/components/index.js +++ /dev/null @@ -1,8 +0,0 @@ -export { default as RoleSelect } from './RoleSelect.vue' -export { default as UserAvatar } from './UserAvatar.vue' -export { default as MenuCollapse } from './MenuCollapse.vue' -export { default as BreadCrumb } from './BreadCrumb.vue' -export { default as AppTab } from './tab/index.vue' -export { default as SideLogo } from './SideLogo.vue' -export { default as SideMenu } from './SideMenu.vue' -export { default as Fullscreen } from './Fullscreen.vue' diff --git a/web/src/layouts/components/tab/ContextMenu.vue b/web/src/layouts/components/tab/ContextMenu.vue deleted file mode 100644 index ceaaae9..0000000 --- a/web/src/layouts/components/tab/ContextMenu.vue +++ /dev/null @@ -1,125 +0,0 @@ - - - - - diff --git a/web/src/layouts/components/tab/index.vue b/web/src/layouts/components/tab/index.vue deleted file mode 100644 index 0936732..0000000 --- a/web/src/layouts/components/tab/index.vue +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - diff --git a/web/src/layouts/empty/index.vue b/web/src/layouts/empty/index.vue deleted file mode 100644 index 31d7e98..0000000 --- a/web/src/layouts/empty/index.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/web/src/layouts/full/header/index.vue b/web/src/layouts/full/header/index.vue deleted file mode 100644 index 45850d7..0000000 --- a/web/src/layouts/full/header/index.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - - - diff --git a/web/src/layouts/full/index.vue b/web/src/layouts/full/index.vue deleted file mode 100644 index 24d8d86..0000000 --- a/web/src/layouts/full/index.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - diff --git a/web/src/layouts/full/sidebar/index.vue b/web/src/layouts/full/sidebar/index.vue deleted file mode 100644 index 030938e..0000000 --- a/web/src/layouts/full/sidebar/index.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - - - diff --git a/web/src/layouts/normal/header/index.vue b/web/src/layouts/normal/header/index.vue deleted file mode 100644 index 9590e8f..0000000 --- a/web/src/layouts/normal/header/index.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - - - diff --git a/web/src/layouts/normal/index.vue b/web/src/layouts/normal/index.vue deleted file mode 100644 index 12fb6de..0000000 --- a/web/src/layouts/normal/index.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - diff --git a/web/src/layouts/normal/sidebar/index.vue b/web/src/layouts/normal/sidebar/index.vue deleted file mode 100644 index f6b71fb..0000000 --- a/web/src/layouts/normal/sidebar/index.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - - - diff --git a/web/src/layouts/simple/index.vue b/web/src/layouts/simple/index.vue deleted file mode 100644 index ef192dd..0000000 --- a/web/src/layouts/simple/index.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - diff --git a/web/src/layouts/simple/sidebar/index.vue b/web/src/layouts/simple/sidebar/index.vue deleted file mode 100644 index 27a7e6f..0000000 --- a/web/src/layouts/simple/sidebar/index.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/web/src/main.js b/web/src/main.js deleted file mode 100644 index ce2e92f..0000000 --- a/web/src/main.js +++ /dev/null @@ -1,31 +0,0 @@ -/********************************** - * @Description: 入口文件 - * @FilePath: main.js - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:41:32 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import '@/styles/reset.css' -import '@/styles/global.scss' -import 'uno.css' - -import { createApp } from 'vue' -import App from './App.vue' -import { setupRouter } from './router' -import { setupStore } from './store' -import { setupNaiveDiscreteApi } from './utils' -import { setupDirectives } from './directives' - -async function bootstrap() { - const app = createApp(App) - setupStore(app) - setupDirectives(app) - await setupRouter(app) - app.mount('#app') - setupNaiveDiscreteApi() -} - -bootstrap() diff --git a/web/src/router/basic-routes.js b/web/src/router/basic-routes.js deleted file mode 100644 index e8321ab..0000000 --- a/web/src/router/basic-routes.js +++ /dev/null @@ -1,40 +0,0 @@ -export const basicRoutes = [ - { - name: 'Login', - path: '/login', - component: () => import('@/views/login/index.vue'), - meta: { - title: '登录页', - layout: 'empty', - }, - }, - - { - name: 'Home', - path: '/', - component: () => import('@/views/home/index.vue'), - meta: { - title: '首页', - }, - }, - - { - name: '404', - path: '/404', - component: () => import('@/views/error-page/404.vue'), - meta: { - title: '页面飞走了', - layout: 'empty', - }, - }, - - { - name: '403', - path: '/403', - component: () => import('@/views/error-page/403.vue'), - meta: { - title: '没有权限', - layout: 'empty', - }, - }, -] diff --git a/web/src/router/guards/index.js b/web/src/router/guards/index.js deleted file mode 100644 index 35f274b..0000000 --- a/web/src/router/guards/index.js +++ /dev/null @@ -1,19 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:24:46 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { createPageLoadingGuard } from './page-loading-guard' -import { createPageTitleGuard } from './page-title-guard' -import { createPermissionGuard } from './permission-guard' -import { createTabGuard } from './tab-guard' - -export function setupRouterGuards(router) { - createPageLoadingGuard(router) - createPermissionGuard(router) - createPageTitleGuard(router) - createTabGuard(router) -} diff --git a/web/src/router/guards/page-loading-guard.js b/web/src/router/guards/page-loading-guard.js deleted file mode 100644 index ba145fa..0000000 --- a/web/src/router/guards/page-loading-guard.js +++ /dev/null @@ -1,23 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:24:53 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -export function createPageLoadingGuard(router) { - router.beforeEach(() => { - $loadingBar.start() - }) - - router.afterEach(() => { - setTimeout(() => { - $loadingBar.finish() - }, 200) - }) - - router.onError(() => { - $loadingBar.error() - }) -} diff --git a/web/src/router/guards/page-title-guard.js b/web/src/router/guards/page-title-guard.js deleted file mode 100644 index 96042f6..0000000 --- a/web/src/router/guards/page-title-guard.js +++ /dev/null @@ -1,21 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:25:00 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -const baseTitle = import.meta.env.VITE_TITLE - -export function createPageTitleGuard(router) { - router.afterEach((to) => { - const pageTitle = to.meta?.title - if (pageTitle) { - document.title = `${pageTitle} | ${baseTitle}` - } - else { - document.title = baseTitle - } - }) -} diff --git a/web/src/router/guards/permission-guard.js b/web/src/router/guards/permission-guard.js deleted file mode 100644 index b317a08..0000000 --- a/web/src/router/guards/permission-guard.js +++ /dev/null @@ -1,56 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:25:07 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { useAuthStore, usePermissionStore, useUserStore } from '@/store' -import api from '@/api' -import { getPermissions, getUserInfo } from '@/store/helper' - -const WHITE_LIST = ['/login', '/404'] -export function createPermissionGuard(router) { - router.beforeEach(async (to) => { - const authStore = useAuthStore() - const token = authStore.accessToken - - /** 没有token */ - if (!token) { - if (WHITE_LIST.includes(to.path)) - return true - return { path: 'login', query: { ...to.query, redirect: to.path } } - } - - // 有token的情况 - if (to.path === '/login') - return { path: '/' } - if (WHITE_LIST.includes(to.path)) - return true - - const userStore = useUserStore() - const permissionStore = usePermissionStore() - if (!userStore.userInfo) { - const [user, permissions] = await Promise.all([getUserInfo(), getPermissions()]) - userStore.setUser(user) - permissionStore.setPermissions(permissions) - const routeComponents = import.meta.glob('@/views/**/*.vue') - permissionStore.accessRoutes.forEach((route) => { - route.component = routeComponents[route.component] || undefined - !router.hasRoute(route.name) && router.addRoute(route) - }) - return { ...to, replace: true } - } - - const routes = router.getRoutes() - if (routes.find(route => route.name === to.name)) - return true - - // 判断是无权限还是404 - const { data: hasMenu } = await api.validateMenuPath(to.path) - return hasMenu - ? { name: '403', query: { path: to.fullPath }, state: { from: 'permission-guard' } } - : { name: '404', query: { path: to.fullPath } } - }) -} diff --git a/web/src/router/guards/tab-guard.js b/web/src/router/guards/tab-guard.js deleted file mode 100644 index e74b652..0000000 --- a/web/src/router/guards/tab-guard.js +++ /dev/null @@ -1,24 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:25:17 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { useTabStore } from '@/store' - -export const EXCLUDE_TAB = ['/404', '/403', '/login'] - -export function createTabGuard(router) { - router.afterEach((to) => { - if (EXCLUDE_TAB.includes(to.path)) - return - const tabStore = useTabStore() - const { name, fullPath: path } = to - const title = to.meta?.title - const icon = to.meta?.icon - const keepAlive = to.meta?.keepAlive - tabStore.addTab({ name, path, title, icon, keepAlive }) - }) -} diff --git a/web/src/router/index.js b/web/src/router/index.js deleted file mode 100644 index 994157b..0000000 --- a/web/src/router/index.js +++ /dev/null @@ -1,25 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:25:23 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router' -import { setupRouterGuards } from './guards' -import { basicRoutes } from './basic-routes' - -export const router = createRouter({ - history: - import.meta.env.VITE_USE_HASH === 'true' - ? createWebHashHistory(import.meta.env.VITE_PUBLIC_PATH || '/') - : createWebHistory(import.meta.env.VITE_PUBLIC_PATH || '/'), - routes: basicRoutes, - scrollBehavior: () => ({ left: 0, top: 0 }), -}) - -export async function setupRouter(app) { - app.use(router) - setupRouterGuards(router) -} diff --git a/web/src/settings.js b/web/src/settings.js deleted file mode 100644 index b337449..0000000 --- a/web/src/settings.js +++ /dev/null @@ -1,77 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/13 20:54:36 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -export const defaultLayout = 'normal' - -export const defaultPrimaryColor = '#316C72' - -// 控制 LayoutSetting 组件是否可见 -export const layoutSettingVisible = true - -export const naiveThemeOverrides = { - common: { - primaryColor: '#316C72FF', - primaryColorHover: '#316C72E3', - primaryColorPressed: '#2B4C59FF', - primaryColorSuppl: '#316C72E3', - }, -} - -export const basePermissions = [ - { - code: 'ExternalLink', - name: '外链(可内嵌打开)', - type: 'MENU', - icon: 'i-fe:external-link', - order: 98, - enable: true, - show: true, - children: [ - { - code: 'ShowDocs', - name: '项目文档', - type: 'MENU', - path: 'https://docs.isme.top/web/#/624306705/188522224', - icon: 'i-me:docs', - order: 1, - enable: true, - show: true, - }, - { - code: 'ApiFoxDocs', - name: '接口文档', - type: 'MENU', - path: 'https://apifox.com/apidoc/shared-ff4a4d32-c0d1-4caf-b0ee-6abc130f734a', - icon: 'i-me:apifox', - order: 2, - enable: true, - show: true, - }, - { - code: 'NaiveUI', - name: 'Naive UI', - type: 'MENU', - path: 'https://www.naiveui.com/zh-CN/os-theme', - icon: 'i-me:naiveui', - order: 3, - enable: true, - show: true, - }, - { - code: 'MyBlog', - name: '博客-掘金', - type: 'MENU', - path: 'https://juejin.cn/user/1961184475483255/posts', - icon: 'i-simple-icons:juejin', - order: 4, - enable: true, - show: true, - }, - ], - }, -] diff --git a/web/src/store/helper.js b/web/src/store/helper.js deleted file mode 100644 index dd8fd26..0000000 --- a/web/src/store/helper.js +++ /dev/null @@ -1,30 +0,0 @@ -import { basePermissions } from '@/settings' -import api from '@/api' - -export async function getUserInfo() { - const res = await api.getUser() - const { id, username, profile, roles, currentRole } = res.data || {} - return { - id, - username, - avatar: profile?.avatar, - nickName: profile?.nickName, - gender: profile?.gender, - address: profile?.address, - email: profile?.email, - roles, - currentRole, - } -} - -export async function getPermissions() { - let asyncPermissions = [] - try { - const res = await api.getRolePermissions() - asyncPermissions = res?.data || [] - } - catch (error) { - console.error(error) - } - return basePermissions.concat(asyncPermissions) -} diff --git a/web/src/store/index.js b/web/src/store/index.js deleted file mode 100644 index a193337..0000000 --- a/web/src/store/index.js +++ /dev/null @@ -1,18 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:26:15 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { createPinia } from 'pinia' -import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' - -export function setupStore(app) { - const pinia = createPinia() - pinia.use(piniaPluginPersistedstate) - app.use(pinia) -} - -export * from './modules' diff --git a/web/src/store/modules/app.js b/web/src/store/modules/app.js deleted file mode 100644 index d16aca3..0000000 --- a/web/src/store/modules/app.js +++ /dev/null @@ -1,56 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:25:31 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { defineStore } from 'pinia' -import { useDark } from '@vueuse/core' -import { generate, getRgbStr } from '@arco-design/color' -import { defaultLayout, defaultPrimaryColor, naiveThemeOverrides } from '@/settings' - -export const useAppStore = defineStore('app', { - state: () => ({ - collapsed: false, - isDark: useDark(), - layout: defaultLayout, - primaryColor: defaultPrimaryColor, - naiveThemeOverrides, - }), - actions: { - switchCollapsed() { - this.collapsed = !this.collapsed - }, - setCollapsed(b) { - this.collapsed = b - }, - toggleDark() { - this.isDark = !this.isDark - }, - setLayout(v) { - this.layout = v - }, - setPrimaryColor(color) { - this.primaryColor = color - }, - setThemeColor(color = this.primaryColor, isDark = this.isDark) { - const colors = generate(color, { - list: true, - dark: isDark, - }) - document.body.style.setProperty('--primary-color', getRgbStr(colors[5])) - this.naiveThemeOverrides.common = Object.assign(this.naiveThemeOverrides.common || {}, { - primaryColor: colors[5], - primaryColorHover: colors[4], - primaryColorSuppl: colors[4], - primaryColorPressed: colors[6], - }) - }, - }, - persist: { - paths: ['collapsed', 'layout', 'primaryColor', 'naiveThemeOverrides'], - storage: sessionStorage, - }, -}) diff --git a/web/src/store/modules/auth.js b/web/src/store/modules/auth.js deleted file mode 100644 index aea8f0e..0000000 --- a/web/src/store/modules/auth.js +++ /dev/null @@ -1,59 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:25:39 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { defineStore } from 'pinia' -import { usePermissionStore, useRouterStore, useTabStore, useUserStore } from '@/store' - -export const useAuthStore = defineStore('auth', { - state: () => ({ - accessToken: undefined, - }), - actions: { - setToken({ accessToken }) { - this.accessToken = accessToken - }, - resetToken() { - this.$reset() - }, - toLogin() { - const { router, route } = useRouterStore() - router.replace({ - path: '/login', - query: route.query, - }) - }, - async switchCurrentRole(data) { - this.resetLoginState() - await nextTick() - this.setToken(data) - }, - resetLoginState() { - const { resetUser } = useUserStore() - const { resetRouter } = useRouterStore() - const { resetPermission, accessRoutes } = usePermissionStore() - const { resetTabs } = useTabStore() - // 重置路由 - resetRouter(accessRoutes) - // 重置用户 - resetUser() - // 重置权限 - resetPermission() - // 重置Tabs - resetTabs() - // 重置token - this.resetToken() - }, - async logout() { - this.resetLoginState() - this.toLogin() - }, - }, - persist: { - key: 'vue-naivue-admin_auth', - }, -}) diff --git a/web/src/store/modules/index.js b/web/src/store/modules/index.js deleted file mode 100644 index 9672b79..0000000 --- a/web/src/store/modules/index.js +++ /dev/null @@ -1,6 +0,0 @@ -export * from './app' -export * from './auth' -export * from './permission' -export * from './tab' -export * from './user' -export * from './router' diff --git a/web/src/store/modules/permission.js b/web/src/store/modules/permission.js deleted file mode 100644 index b61a039..0000000 --- a/web/src/store/modules/permission.js +++ /dev/null @@ -1,82 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:25:47 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { hyphenate } from '@vueuse/core' -import { defineStore } from 'pinia' -import { isExternal } from '@/utils' - -export const usePermissionStore = defineStore('permission', { - state: () => ({ - accessRoutes: [], - permissions: [], - menus: [], - }), - actions: { - setPermissions(permissions) { - this.permissions = permissions - this.menus = this.permissions - .filter(item => item.type === 'MENU') - .map(item => this.getMenuItem(item)) - .filter(item => !!item) - .sort((a, b) => a.order - b.order) - }, - getMenuItem(item, parent) { - const route = this.generateRoute(item, item.show ? null : parent?.key) - if (item.enable && route.path && !route.path.startsWith('http')) - this.accessRoutes.push(route) - if (!item.show) - return null - const menuItem = { - label: route.meta.title, - key: route.name, - path: route.path, - originPath: route.meta.originPath, - icon: () => h('i', { class: `${route.meta.icon} text-16` }), - order: item.order ?? 0, - } - const children = item.children?.filter(item => item.type === 'MENU') || [] - if (children.length) { - menuItem.children = children - .map(child => this.getMenuItem(child, menuItem)) - .filter(item => !!item) - .sort((a, b) => a.order - b.order) - if (!menuItem.children.length) - delete menuItem.children - } - return menuItem - }, - generateRoute(item, parentKey) { - let originPath - if (isExternal(item.path)) { - originPath = item.path - item.component = '/src/views/iframe/index.vue' - item.path = `/iframe/${hyphenate(item.code)}` - } - return { - name: item.code, - path: item.path, - redirect: item.redirect, - component: item.component, - meta: { - originPath, - icon: `${item.icon}?mask`, - title: item.name, - layout: item.layout, - keepAlive: !!item.keepAlive, - parentKey, - btns: item.children - ?.filter(item => item.type === 'BUTTON') - .map(item => ({ code: item.code, name: item.name })), - }, - } - }, - resetPermission() { - this.$reset() - }, - }, -}) diff --git a/web/src/store/modules/router.js b/web/src/store/modules/router.js deleted file mode 100644 index 51a5b59..0000000 --- a/web/src/store/modules/router.js +++ /dev/null @@ -1,26 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2024/01/06 17:18:40 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { defineStore } from 'pinia' - -export const useRouterStore = defineStore('router', () => { - const router = useRouter() - const route = useRoute() - - function resetRouter(accessRoutes) { - accessRoutes.forEach((item) => { - router.hasRoute(item.name) && router.removeRoute(item.name) - }) - } - - return { - router, - route, - resetRouter, - } -}) diff --git a/web/src/store/modules/tab.js b/web/src/store/modules/tab.js deleted file mode 100644 index 12c5e46..0000000 --- a/web/src/store/modules/tab.js +++ /dev/null @@ -1,94 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:25:52 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { defineStore } from 'pinia' -import { useRouterStore } from './router' - -export const useTabStore = defineStore('tab', { - state: () => ({ - tabs: [], - activeTab: '', - reloading: false, - }), - getters: { - activeIndex() { - return this.tabs.findIndex(item => item.path === this.activeTab) - }, - }, - actions: { - async setActiveTab(path) { - await nextTick() // tab栏dom更新完再设置激活,让tab栏定位到新增的tab上生效 - this.activeTab = path - }, - setTabs(tabs) { - this.tabs = tabs - }, - addTab(tab = {}) { - const findIndex = this.tabs.findIndex(item => item.path === tab.path) - if (findIndex !== -1) { - this.tabs.splice(findIndex, 1, tab) - } - else { - this.setTabs([...this.tabs, tab]) - } - this.setActiveTab(tab.path) - }, - async reloadTab(path, keepAlive) { - const findItem = this.tabs.find(item => item.path === path) - if (!findItem) - return - // 更新key可让keepAlive失效 - if (keepAlive) - findItem.keepAlive = false - $loadingBar.start() - this.reloading = true - await nextTick() - this.reloading = false - findItem.keepAlive = !!keepAlive - setTimeout(() => { - document.documentElement.scrollTo({ left: 0, top: 0 }) - $loadingBar.finish() - }, 100) - }, - async removeTab(path) { - this.setTabs(this.tabs.filter(tab => tab.path !== path)) - if (path === this.activeTab) { - useRouterStore().router?.push(this.tabs[this.tabs.length - 1].path) - } - }, - removeOther(curPath = this.activeTab) { - this.setTabs(this.tabs.filter(tab => tab.path === curPath)) - if (curPath !== this.activeTab) { - useRouterStore().router?.push(this.tabs[this.tabs.length - 1].path) - } - }, - removeLeft(curPath) { - const curIndex = this.tabs.findIndex(item => item.path === curPath) - const filterTabs = this.tabs.filter((item, index) => index >= curIndex) - this.setTabs(filterTabs) - if (!filterTabs.find(item => item.path === this.activeTab)) { - useRouterStore().router?.push(filterTabs[filterTabs.length - 1].path) - } - }, - removeRight(curPath) { - const curIndex = this.tabs.findIndex(item => item.path === curPath) - const filterTabs = this.tabs.filter((item, index) => index <= curIndex) - this.setTabs(filterTabs) - if (!filterTabs.find(item => item.path === this.activeTab.value)) { - useRouterStore().router?.push(filterTabs[filterTabs.length - 1].path) - } - }, - resetTabs() { - this.$reset() - }, - }, - persist: { - paths: ['tabs'], - storage: sessionStorage, - }, -}) diff --git a/web/src/store/modules/user.js b/web/src/store/modules/user.js deleted file mode 100644 index c434737..0000000 --- a/web/src/store/modules/user.js +++ /dev/null @@ -1,43 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:25:59 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { defineStore } from 'pinia' - -export const useUserStore = defineStore('user', { - state: () => ({ - userInfo: null, - }), - getters: { - userId() { - return this.userInfo?.id - }, - username() { - return this.userInfo?.username - }, - nickName() { - return this.userInfo?.nickName - }, - avatar() { - return this.userInfo?.avatar - }, - currentRole() { - return this.userInfo?.currentRole || {} - }, - roles() { - return this.userInfo?.roles || [] - }, - }, - actions: { - setUser(user) { - this.userInfo = user - }, - resetUser() { - this.$reset() - }, - }, -}) diff --git a/web/src/styles/global.scss b/web/src/styles/global.scss deleted file mode 100644 index 857043c..0000000 --- a/web/src/styles/global.scss +++ /dev/null @@ -1,91 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:26:28 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -html, -body { - width: 100%; - height: 100%; - overflow: hidden; -} - -#app { - width: 100%; - height: 100%; -} - -/* transition fade-slide */ -.fade-slide-leave-active, -.fade-slide-enter-active { - transition: all 0.3s; -} - -.fade-slide-enter-from { - opacity: 0; - transform: translateX(-30px); -} - -.fade-slide-leave-to { - opacity: 0; - transform: translateX(30px); -} - -/* 自定义滚动条样式 */ -.cus-scroll { - overflow: auto; - &::-webkit-scrollbar { - width: 8px; - height: 8px; - } -} -.cus-scroll-x { - overflow-x: auto; - &::-webkit-scrollbar { - width: 0; - height: 8px; - } -} -.cus-scroll-y { - overflow-y: auto; - &::-webkit-scrollbar { - width: 8px; - height: 0; - } -} -.cus-scroll, -.cus-scroll-x, -.cus-scroll-y { - &::-webkit-scrollbar-thumb { - background-color: transparent; - border-radius: 4px; - } - &:hover { - &::-webkit-scrollbar-thumb { - background: #bfbfbf; - } - &::-webkit-scrollbar-thumb:hover { - background: rgb(var(--primary-color)); - } - } -} - -/* 切换主题的动画效果 */ -::view-transition-old(root), -::view-transition-new(root) { - animation: none; - mix-blend-mode: normal; -} - -::view-transition-old(root), -.dark::view-transition-new(root) { - z-index: 1; -} - -::view-transition-new(root), -.dark::view-transition-old(root) { - z-index: 9999; -} diff --git a/web/src/styles/reset.css b/web/src/styles/reset.css deleted file mode 100644 index 71447a2..0000000 --- a/web/src/styles/reset.css +++ /dev/null @@ -1,49 +0,0 @@ -/********************************** - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/05 21:26:38 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -html { - box-sizing: border-box; -} - -*, -::before, -::after { - margin: 0; - padding: 0; - box-sizing: inherit; -} - -a { - text-decoration: none; - color: inherit; -} - -a:hover, -a:link, -a:visited, -a:active { - text-decoration: none; -} - -ol, -ul { - list-style: none; -} - -input, -textarea { - outline: none; - border: none; - resize: none; -} - -img, -video { - max-width: 100%; - height: auto; -} diff --git a/web/src/utils/common.js b/web/src/utils/common.js deleted file mode 100644 index eccf9e9..0000000 --- a/web/src/utils/common.js +++ /dev/null @@ -1,106 +0,0 @@ -/********************************** - * @FilePath: common.js - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:45:46 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import dayjs from 'dayjs' - -/** - * @param {(object | string | number)} time - * @param {string} format - * @returns {string | null} 格式化后的时间字符串 - * - */ -export function formatDateTime(time = undefined, format = 'YYYY-MM-DD HH:mm:ss') { - return dayjs(time).format(format) -} - -export function formatDate(date = undefined, format = 'YYYY-MM-DD') { - return formatDateTime(date, format) -} - -/** - * @param {Function} fn - * @param {number} wait - * @returns {Function} 节流函数 - * - */ -export function throttle(fn, wait) { - let context, args - let previous = 0 - - return function (...argArr) { - const now = +new Date() - context = this - args = argArr - if (now - previous > wait) { - fn.apply(context, args) - previous = now - } - } -} - -/** - * @param {Function} method - * @param {number} wait - * @param {boolean} immediate - * @return {*} 防抖函数 - */ -export function debounce(method, wait, immediate) { - let timeout - return function (...args) { - const context = this - if (timeout) { - clearTimeout(timeout) - } - // 立即执行需要两个条件,一是immediate为true,二是timeout未被赋值或被置为null - if (immediate) { - /** - * 如果定时器不存在,则立即执行,并设置一个定时器,wait毫秒后将定时器置为null - * 这样确保立即执行后wait毫秒内不会被再次触发 - */ - const callNow = !timeout - timeout = setTimeout(() => { - timeout = null - }, wait) - if (callNow) { - method.apply(context, args) - } - } - else { - // 如果immediate为false,则函数wait毫秒后执行 - timeout = setTimeout(() => { - /** - * args是一个类数组对象,所以使用fn.apply - * 也可写作method.call(context, ...args) - */ - method.apply(context, args) - }, wait) - } - } -} - -/** - * @param {number} time 毫秒数 - * @returns 睡一会儿,让子弹暂停一下 - */ -export function sleep(time) { - return new Promise(resolve => setTimeout(resolve, time)) -} - -/** - * @param {HTMLElement} el - * @param {Function} cb - * @return {ResizeObserver} - */ -export function useResize(el, cb) { - const observer = new ResizeObserver((entries) => { - cb(entries[0].contentRect) - }) - observer.observe(el) - return observer -} diff --git a/web/src/utils/http/helpers.js b/web/src/utils/http/helpers.js deleted file mode 100644 index b7de8bb..0000000 --- a/web/src/utils/http/helpers.js +++ /dev/null @@ -1,67 +0,0 @@ -/********************************** - * @FilePath: helpers.js - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:46:22 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { useAuthStore } from '@/store' - -let isConfirming = false -export function resolveResError(code, message, needTip = true) { - switch (code) { - case 401: - if (isConfirming || !needTip) - return - isConfirming = true - $dialog.confirm({ - title: '提示', - type: 'info', - content: '登录已过期,是否重新登录?', - confirm() { - useAuthStore().logout() - window.$message?.success('已退出登录') - isConfirming = false - }, - cancel() { - isConfirming = false - }, - }) - return false - case 11007: - case 11008: - if (isConfirming || !needTip) - return - isConfirming = true - $dialog.confirm({ - title: '提示', - type: 'info', - content: `${message},是否重新登录?`, - confirm() { - useAuthStore().logout() - window.$message?.success('已退出登录') - isConfirming = false - }, - cancel() { - isConfirming = false - }, - }) - return false - case 403: - message = '请求被拒绝' - break - case 404: - message = '请求资源或接口不存在' - break - case 500: - message = '服务器发生异常' - break - default: - message = message ?? `【${code}】: 未知异常!` - break - } - needTip && window.$message?.error(message) - return message -} diff --git a/web/src/utils/http/index.js b/web/src/utils/http/index.js deleted file mode 100644 index b0d5ca0..0000000 --- a/web/src/utils/http/index.js +++ /dev/null @@ -1,30 +0,0 @@ -/********************************** - * @FilePath: index.js - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:46:28 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import axios from 'axios' -import { setupInterceptors } from './interceptors' - -export function createAxios(options = {}) { - const defaultOptions = { - baseURL: import.meta.env.VITE_AXIOS_BASE_URL, - timeout: 12000, - } - const service = axios.create({ - ...defaultOptions, - ...options, - }) - setupInterceptors(service) - return service -} - -export const request = createAxios() - -export const mockRequest = createAxios({ - baseURL: '/mock-api', -}) diff --git a/web/src/utils/http/interceptors.js b/web/src/utils/http/interceptors.js deleted file mode 100644 index d048d3d..0000000 --- a/web/src/utils/http/interceptors.js +++ /dev/null @@ -1,70 +0,0 @@ -/********************************** - * @FilePath: interceptors.js - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:46:40 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { resolveResError } from './helpers' -import { useAuthStore } from '@/store' - -export function setupInterceptors(axiosInstance) { - function reqResolve(config) { - // 处理不需要token的请求 - if (config.needToken === false) { - return config - } - - const { accessToken } = useAuthStore() - if (accessToken) { - // token: Bearer + xxx - config.headers.Authorization = `Bearer ${accessToken}` - } - - return config - } - - function reqReject(error) { - return Promise.reject(error) - } - - const SUCCESS_CODES = [0, 200] - function resResolve(response) { - const { data, status, config, statusText, headers } = response - if (headers['content-type']?.includes('json')) { - if (SUCCESS_CODES.includes(data?.code)) { - return Promise.resolve(data) - } - const code = data?.code ?? status - - const needTip = config?.needTip !== false - - // 根据code处理对应的操作,并返回处理后的message - const message = resolveResError(code, data?.message ?? statusText, needTip) - - return Promise.reject({ code, message, error: data ?? response }) - } - return Promise.resolve(data ?? response) - } - - async function resReject(error) { - if (!error || !error.response) { - const code = error?.code - /** 根据code处理对应的操作,并返回处理后的message */ - const message = resolveResError(code, error.message) - return Promise.reject({ code, message, error }) - } - - const { data, status, config } = error.response - const code = data?.code ?? status - - const needTip = config?.needTip !== false - const message = resolveResError(code, data?.message ?? error.message, needTip) - return Promise.reject({ code, message, error: error.response?.data || error.response }) - } - - axiosInstance.interceptors.request.use(reqResolve, reqReject) - axiosInstance.interceptors.response.use(resResolve, resReject) -} diff --git a/web/src/utils/index.js b/web/src/utils/index.js deleted file mode 100644 index a18642a..0000000 --- a/web/src/utils/index.js +++ /dev/null @@ -1,14 +0,0 @@ -/********************************** - * @FilePath: index.js - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:45:53 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -export * from './common' -export * from './http' -export * from './is' -export * from './naiveTools' -export * from './storage' diff --git a/web/src/utils/is.js b/web/src/utils/is.js deleted file mode 100644 index 6b9a814..0000000 --- a/web/src/utils/is.js +++ /dev/null @@ -1,127 +0,0 @@ -/********************************** - * @FilePath: is.js - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:45:32 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -const toString = Object.prototype.toString - -export function is(val, type) { - return toString.call(val) === `[object ${type}]` -} - -export function isDef(val) { - return typeof val !== 'undefined' -} - -export function isUndef(val) { - return typeof val === 'undefined' -} - -export function isNull(val) { - return val === null -} - -export function isWhitespace(val) { - return val === '' -} - -export function isObject(val) { - return !isNull(val) && is(val, 'Object') -} - -export function isArray(val) { - return val && Array.isArray(val) -} - -export function isString(val) { - return is(val, 'String') -} - -export function isNumber(val) { - return is(val, 'Number') -} - -export function isBoolean(val) { - return is(val, 'Boolean') -} - -export function isDate(val) { - return is(val, 'Date') -} - -export function isRegExp(val) { - return is(val, 'RegExp') -} - -export function isFunction(val) { - return typeof val === 'function' -} - -export function isPromise(val) { - return is(val, 'Promise') && isObject(val) && isFunction(val.then) && isFunction(val.catch) -} - -export function isElement(val) { - return isObject(val) && !!val.tagName -} - -export function isWindow(val) { - return typeof window !== 'undefined' && isDef(window) && is(val, 'Window') -} - -export function isNullOrUndef(val) { - return isNull(val) || isUndef(val) -} - -export function isNullOrWhitespace(val) { - return isNullOrUndef(val) || isWhitespace(val) -} - -/** 空数组 | 空字符串 | 空对象 | 空Map | 空Set */ -export function isEmpty(val) { - if (isArray(val) || isString(val)) { - return val.length === 0 - } - - if (val instanceof Map || val instanceof Set) { - return val.size === 0 - } - - if (isObject(val)) { - return Object.keys(val).length === 0 - } - - return false -} - -/** - * 类似mysql的IFNULL函数 - * - * @param {number | boolean | string} val - * @param {number | boolean | string} def - * @returns 第一个参数为null | undefined | '' 则返回第二个参数作为备用值,否则返回第一个参数 - */ -export function ifNull(val, def = '') { - return isNullOrWhitespace(val) ? def : val -} - -export function isUrl(path) { - const reg = /^https?:\/\/[-\w+&@#/%?=~|!:,.;]+[-\w+&@#/%=~|]$/ - return reg.test(path) -} - -/** - * @param {string} path - * @returns {boolean} 是否是外部链接 - */ -export function isExternal(path) { - return /^https?:|mailto:|tel:/.test(path) -} - -export const isServer = typeof window === 'undefined' - -export const isClient = !isServer diff --git a/web/src/utils/naiveTools.js b/web/src/utils/naiveTools.js deleted file mode 100644 index 20efe5e..0000000 --- a/web/src/utils/naiveTools.js +++ /dev/null @@ -1,121 +0,0 @@ -/********************************** - * @FilePath: naiveTools.js - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:45:20 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import * as NaiveUI from 'naive-ui' -import { isNullOrUndef } from '@/utils' -import { useAppStore } from '@/store' - -export function setupMessage(NMessage) { - class Message { - static instance - constructor() { - // 单例模式 - if (Message.instance) - return Message.instance - Message.instance = this - this.message = {} - this.removeTimer = {} - } - - removeMessage(key, duration = 5000) { - this.removeTimer[key] && clearTimeout(this.removeTimer[key]) - this.removeTimer[key] = setTimeout(() => { - this.message[key]?.destroy() - }, duration) - } - - destroy(key, duration = 200) { - setTimeout(() => { - this.message[key]?.destroy() - }, duration) - } - - showMessage(type, content, option = {}) { - if (Array.isArray(content)) { - return content.forEach(msg => NMessage[type](msg, option)) - } - - if (!option.key) { - return NMessage[type](content, option) - } - - const currentMessage = this.message[option.key] - if (currentMessage) { - currentMessage.type = type - currentMessage.content = content - } - else { - this.message[option.key] = NMessage[type](content, { - ...option, - duration: 0, - onAfterLeave: () => { - delete this.message[option.key] - }, - }) - } - this.removeMessage(option.key, option.duration) - } - - loading(content, option) { - this.showMessage('loading', content, option) - } - - success(content, option) { - this.showMessage('success', content, option) - } - - error(content, option) { - this.showMessage('error', content, option) - } - - info(content, option) { - this.showMessage('info', content, option) - } - - warning(content, option) { - this.showMessage('warning', content, option) - } - } - - return new Message() -} - -export function setupDialog(NDialog) { - NDialog.confirm = function (option = {}) { - const showIcon = !isNullOrUndef(option.title) - return NDialog[option.type || 'warning']({ - showIcon, - positiveText: '确定', - negativeText: '取消', - onPositiveClick: option.confirm, - onNegativeClick: option.cancel, - onMaskClick: option.cancel, - ...option, - }) - } - - return NDialog -} - -export function setupNaiveDiscreteApi() { - const appStore = useAppStore() - const configProviderProps = computed(() => ({ - theme: appStore.isDark ? NaiveUI.darkTheme : undefined, - themeOverrides: useAppStore().naiveThemeOverrides, - })) - const { message, dialog, notification, loadingBar } = NaiveUI.createDiscreteApi( - ['message', 'dialog', 'notification', 'loadingBar'], - { configProviderProps }, - ) - - window.$loadingBar = loadingBar - window.$notification = notification - window.$message = setupMessage(message) - window.$dialog = setupDialog(dialog) -} diff --git a/web/src/utils/storage/index.js b/web/src/utils/storage/index.js deleted file mode 100644 index f173867..0000000 --- a/web/src/utils/storage/index.js +++ /dev/null @@ -1,30 +0,0 @@ -/********************************** - * @FilePath: index.js - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:46:07 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { createStorage } from './storage' - -const prefixKey = 'vue-naive-admin_' - -export const createLocalStorage = function (option = {}) { - return createStorage({ - prefixKey: option.prefixKey || '', - storage: localStorage, - }) -} - -export const createSessionStorage = function (option = {}) { - return createStorage({ - prefixKey: option.prefixKey || '', - storage: sessionStorage, - }) -} - -export const lStorage = createLocalStorage({ prefixKey }) - -export const sStorage = createSessionStorage({ prefixKey }) diff --git a/web/src/utils/storage/storage.js b/web/src/utils/storage/storage.js deleted file mode 100644 index 6741e07..0000000 --- a/web/src/utils/storage/storage.js +++ /dev/null @@ -1,66 +0,0 @@ -/********************************** - * @FilePath: storage.js - * @Author: Ronnie Zhang - * @LastEditor: Ronnie Zhang - * @LastEditTime: 2023/12/04 22:46:13 - * @Email: zclzone@outlook.com - * Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top - **********************************/ - -import { isNullOrUndef } from '@/utils' - -class Storage { - constructor(option) { - this.storage = option.storage - this.prefixKey = option.prefixKey - } - - getKey(key) { - return `${this.prefixKey}${key}`.toLowerCase() - } - - set(key, value, expire) { - const stringData = JSON.stringify({ - value, - time: Date.now(), - expire: !isNullOrUndef(expire) ? new Date().getTime() + expire * 1000 : null, - }) - this.storage.setItem(this.getKey(key), stringData) - } - - get(key) { - const { value } = this.getItem(key, {}) - return value - } - - getItem(key, def = null) { - const val = this.storage.getItem(this.getKey(key)) - if (!val) - return def - try { - const data = JSON.parse(val) - const { value, time, expire } = data - if (isNullOrUndef(expire) || expire > new Date().getTime()) { - return { value, time } - } - this.remove(key) - return def - } - catch (error) { - this.remove(key) - return def - } - } - - remove(key) { - this.storage.removeItem(this.getKey(key)) - } - - clear() { - this.storage.clear() - } -} - -export function createStorage({ prefixKey = '', storage = sessionStorage }) { - return new Storage({ prefixKey, storage }) -} diff --git a/web/src/views/base/index.vue b/web/src/views/base/index.vue deleted file mode 100644 index d768f38..0000000 --- a/web/src/views/base/index.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - - - diff --git a/web/src/views/base/keep-alive.vue b/web/src/views/base/keep-alive.vue deleted file mode 100644 index b268b7b..0000000 --- a/web/src/views/base/keep-alive.vue +++ /dev/null @@ -1,26 +0,0 @@ - - - - - diff --git a/web/src/views/base/test-modal.vue b/web/src/views/base/test-modal.vue deleted file mode 100644 index 2013550..0000000 --- a/web/src/views/base/test-modal.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - - diff --git a/web/src/views/base/unocss-icon.vue b/web/src/views/base/unocss-icon.vue deleted file mode 100644 index 8960d8d..0000000 --- a/web/src/views/base/unocss-icon.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/web/src/views/base/unocss.vue b/web/src/views/base/unocss.vue deleted file mode 100644 index 980d2f3..0000000 --- a/web/src/views/base/unocss.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - diff --git a/web/src/views/demo/upload/index.vue b/web/src/views/demo/upload/index.vue deleted file mode 100644 index 9145dd7..0000000 --- a/web/src/views/demo/upload/index.vue +++ /dev/null @@ -1,97 +0,0 @@ - - - - - diff --git a/web/src/views/error-page/403.vue b/web/src/views/error-page/403.vue deleted file mode 100644 index 880c3de..0000000 --- a/web/src/views/error-page/403.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/web/src/views/error-page/404.vue b/web/src/views/error-page/404.vue deleted file mode 100644 index 322aeeb..0000000 --- a/web/src/views/error-page/404.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - - - diff --git a/web/src/views/home/index.vue b/web/src/views/home/index.vue deleted file mode 100644 index 3b5211d..0000000 --- a/web/src/views/home/index.vue +++ /dev/null @@ -1,289 +0,0 @@ - - - - - diff --git a/web/src/views/iframe/index.vue b/web/src/views/iframe/index.vue deleted file mode 100644 index 8768865..0000000 --- a/web/src/views/iframe/index.vue +++ /dev/null @@ -1,9 +0,0 @@ -