diff --git a/.vscode/settings.json b/.vscode/settings.json index 6ac6df8..5e90bd1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,7 +5,7 @@ "editor.quickSuggestions": { "strings": true }, - "workbench.colorTheme": "One Monokai", + "workbench.colorTheme": "Default Dark Modern", "editor.tabSize": 2, "editor.detectIndentation": false, "emmet.triggerExpansionOnTab": true, diff --git a/README.md b/README.md index 98b0af5..e69de29 100644 --- a/README.md +++ b/README.md @@ -1,287 +0,0 @@ -
- -简体中文 | [English](./README.en.md) - -
-

vue-admin-better

-

瑞雪兆丰年,红梅报新春,愿您新的一年平安喜乐,万事顺意,所得皆所愿!

-
- -[![stars](https://img.shields.io/github/stars/zxwk1998/vue-admin-better?style=flat-square&logo=GitHub)](https://github.com/zxwk1998/vue-admin-better) -[![star](https://gitee.com/chu1204505056/vue-admin-better/badge/star.svg?theme=gray)](https://gitee.com/chu1204505056/vue-admin-better) -[![license](https://img.shields.io/github/license/zxwk1998/vue-admin-better?style=flat-square)](https://en.wikipedia.org/wiki/MIT_License) - ---- - - - -## 🎉 特性 - -- 💪 40+高质量单页 -- 💅 RBAC 模型 + JWT 权限控制 -- 🌍 10 万+ 项目实际应用 -- 👏 良好的类型定义 -- 🥳 开源版本支持免费商用 -- 🚀 跨平台 PC、手机端、平板 -- 📦️ 后端路由动态渲染 - -## 🌐 付费版演示地址 - -- [🚀 Vue Admin Pro 演示地址(vue2.x + element-ui 2.x 付费版本,支持 PC、平板、手机)](https://vuejs-core.cn/admin-pro/) - -- [🚀 Vue Admin Plus 演示地址(vue3.x + element-plus 2.x 付费版本,支持 PC、平板、手机)](https://vuejs-core.cn/admin-plus/) - -- [🚀 Vue Shop Vite 演示地址(vue3.x + vite 5.x + element-plus 2.x 付费版本,支持 PC、平板、手机)](https://vuejs-core.cn/shop-vite/) - -- [📌 Vue Admin Pro 及 Vue Admin Plus 购买地址](https://vuejs-core.cn/authorization/) - -- [📌 Vue Shop Vite 购买地址](https://vuejs-core.cn/authorization/shop-vite.html) - - - -## 🌐 免费版演示地址 - -- [🎉 Vue Admin Better (vue2.x + element-ui 免费商用,支持 PC、平板、手机)](https://vuejs-core.cn/vue-admin-better) - - - - - -- [⚡️ Vue Admin Arco (vue3.x + vite5.x + arco2.x 免费商用,支持 PC)](https://vuejs-core.cn/vue-admin-arco/) - -## 🌐 仓库地址 - -- [🌐 vue2.x github 仓库地址](https://github.com/zxwk1998/vue-admin-better/) - -- [🌐 vue3.x github 仓库地址](https://github.com/zxwk1998/vue-admin-arco/) - -- [🌐 vue2.x 码云仓库地址](https://gitee.com/chu1204505056/vue-admin-better/) - -- [🌐 vue3.x 码云仓库地址](https://gitee.com/chu1204505056/vue-admin-arco/) - -## 🍻 前端讨论 QQ 群 - -- 请我们喝杯咖啡,打赏后联系 QQ 783963206 邀请您进入讨论群(由于用户数较多,如果您打赏后未通过好友请求,可以尝试多加几次),不管您请还是不请,您都可以享受到开源的代码,感谢您的支持和信任,群内提供 - vue-admin-better 基础版本、开发工具自动配置教程及项目开发文档。 - - - - - - - -
- - - - - -
- -## 📦️ 桌面应用程序 - -- [Admin Pro](https://gitee.com/chu1204505056/microsoft-store/raw/master/AdminPlus.zip) -- [Admin Plus](https://gitee.com/chu1204505056/microsoft-store/raw/master/AdminPlus.zip) - - - -## 🌱 vue3.x arco-design [点击切换仓库](https://github.com/zxwk1998/vue-admin-arco) - -```bash -# 克隆项目 -git clonehttps://github.com/zxwk1998/vue-admin-arco.git -# 安装依赖 -npm i --registry=http://mirrors.cloud.tencent.com/npm/ -# 本地开发 启动项目 -npm run dev -``` - -## 🌱vue2.x master 分支(element-ui)[点击切换分支](https://github.com/zxwk1998/vue-admin-better/tree/master) - -```bash -# 克隆项目 -git clone -b master https://github.com/zxwk1998/vue-admin-better.git -# 安装依赖 -npm i --registry=http://mirrors.cloud.tencent.com/npm/ -# 本地开发 启动项目 -npm run serve -``` - -## 🔊 友情链接 - -- [OPSLI 基于 vue-admin-better 开源版的最佳实践](https://github.com/hiparker/opsli-boot) - -- [uView uni-app 生态最优秀的 UI 框架](https://github.com/YanxinNet/uView/) - -- [form-generator Element 表单设计代码生成器](https://github.com/JakHuang/form-generator/) - -- [wangEditor 国产最强开源富文本编辑](https://github.com/wangeditor-team/wangEditor) - -## 🙈 赞助 - -- 如果您觉得 vue admin better 帮到了您 ,如果情况允许,您可以选择赞助以下项目 - - - - - - - - - - - -## 👷 框架杰出贡献者 - - - - - - - - - - - - - - - - - - - - - - - -## 📌 优势及注意事项 - -``` -对比其他开源 admin 框架有如下优势: -1. 支持前端控制路由权限 intelligence、后端控制路由权限 all 模式 -2. 已知开源 vue admin 框架中首家支持 mock 自动生成自动导出功能 -3. 提供 50 余项全局精细化配置 -4. 支持 scss 自动排序,eslint 自动修复 -5. axios 精细化封装,支持多数据源、多成功 code 数组,支持 application/json;charset=UTF-8、application/x-www-form-urlencoded;charset=UTF-8 多种传参方式 -6. 支持登录RSA加密 -7. 支持打包自动生成7Z压缩包 -8. 支持errorlog错误拦截 -9. 支持多主题、多布局切换 - -使用注意事项: -1. 项目默认使用lf换行符而非crlf换行符,新建文件时请注意选择文件换行符 -2. 项目默认使用的最严格的eslint校验规范(plugin:vue/recommended),使用之前建议配置开发工具实现自动修复(建议使用vscode开发) -3. 项目使用的是要求最宽泛的MIT开源协议,保留MIT开源协议即可免费商用 - -``` - -## 💚 适合人群 - -- 正在以及想使用 element-ui/element-plus 开发,前端开发经验 1 年+。 -- 熟悉 Vue.js 技术栈,使用它开发过几个实际项目。 -- 对原理技术感兴趣,想进阶和提升的同学。 - -## 🎨 Star - -[![Stargazers for vue-admin-better](https://reporoster.com/stars/zxwk1998/vue-admin-better)](https://github.com/zxwk1998/vue-admin-better/stargazers) - -## ✨ Fork - -[![Forkers repo roster for vue-admin-better](https://reporoster.com/forks/zxwk1998/vue-admin-better)](https://github.com/zxwk1998/vue-admin-better/network/members) - -## 🎉 功能地图 - -![img](https://gcore.jsdelivr.net/gh/zxwk1998/image/vip/flow.drawio.png) - -## 🗃️ 效果图 - -以下是截取的是 pro 版的效果图展示: - - - - - - - - - - - - - - -
- - - -
- - - -
- - - -
- -以下是截取的是 shop 版的效果图展示: - - - - - - - - - - - - - - -
- - - -
- - - -
- - - -
- -## 📄 商用注意事项 - -开源版本可免费用于商业用途,如果方便就留个 Star 吧 - - - -
diff --git a/layouts/index.js b/layouts/index.js index 90ad68c..2080ca0 100644 --- a/layouts/index.js +++ b/layouts/index.js @@ -1,5 +1,5 @@ module.exports = { - webpackBarName: '', + webpackBarName: '管理后台', webpackBanner: '', donationConsole() { const chalk = require('chalk') diff --git a/public/favicon.ico b/public/favicon.ico index 7c31c49..5ed4d7e 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/src/api/banner.js b/src/api/banner.js new file mode 100644 index 0000000..ae62f2a --- /dev/null +++ b/src/api/banner.js @@ -0,0 +1,47 @@ +import request from '@/utils/request' + +export function getList(data) { + return request({ + url: '/management/api/banner/list', + method: 'get', + params: data, + }) +} + +export function doAdd(data) { + return request({ + url: '/management/api/banner', + method: 'post', + data, + }) +} + +export function doEdit(id, data) { + return request({ + url: `/management/api/banner/${id}`, + method: 'put', + data, + }) +} + +export function doDelete(data) { + return request({ + url: '/management/api/banner/delete', + method: 'put', + data, + }) +} + +export function doMoveUp(id) { + return request({ + url: `/management/api/banner/moveUp/${id}`, + method: 'patch', + }) +} + +export function doMoveDown(id) { + return request({ + url: `/management/api/banner/moveDown/${id}`, + method: 'patch', + }) +} diff --git a/src/api/miniAnli.js b/src/api/miniAnli.js new file mode 100644 index 0000000..c61fbad --- /dev/null +++ b/src/api/miniAnli.js @@ -0,0 +1,40 @@ +import request from '@/utils/request' + +export function getList(data) { + return request({ + url: '/management/api/article/list', + method: 'get', + params: data, + }) +} + +export function doAdd(data) { + return request({ + url: '/management/api/article', + method: 'post', + data, + }) +} + +export function doDelete(data) { + return request({ + url: '/management/api/article/delete', + method: 'put', + data, + }) +} + +export function getArticle(id) { + return request({ + url: `/management/api/article/${id}`, + method: 'get', + }) +} + +export function doEdit(id, data) { + return request({ + url: `/management/api/article/${id}`, + method: 'put', + data, + }) +} diff --git a/src/api/miniAnliCategory.js b/src/api/miniAnliCategory.js index 1f28240..864f6de 100644 --- a/src/api/miniAnliCategory.js +++ b/src/api/miniAnliCategory.js @@ -2,7 +2,7 @@ import request from '@/utils/request' export function getList(data) { return request({ - url: '/management/api/role/list', + url: '/management/api/article/category/list', method: 'get', params: data, }) @@ -10,7 +10,7 @@ export function getList(data) { export function doAdd(data) { return request({ - url: '/management/api/role', + url: '/management/api/article/category', method: 'post', data, }) @@ -18,7 +18,7 @@ export function doAdd(data) { export function doEdit(id, data) { return request({ - url: `/management/api/role/${id}`, + url: `/management/api/article/category/${id}`, method: 'put', data, }) @@ -26,7 +26,7 @@ export function doEdit(id, data) { export function doDelete(data) { return request({ - url: '/management/api/role/delete', + url: '/management/api/article/category/delete', method: 'put', data, }) diff --git a/src/api/miniMember.js b/src/api/miniMember.js new file mode 100644 index 0000000..8f941f8 --- /dev/null +++ b/src/api/miniMember.js @@ -0,0 +1,47 @@ +import request from '@/utils/request' + +export function getList(data) { + return request({ + url: '/management/api/member/list', + method: 'get', + params: data, + }) +} + +export function doAdd(data) { + return request({ + url: '/management/api/member', + method: 'post', + data, + }) +} + +export function doEdit(id, data) { + return request({ + url: `/management/api/member/${id}`, + method: 'put', + data, + }) +} + +export function doDelete(data) { + return request({ + url: '/management/api/member/delete', + method: 'put', + data, + }) +} + +export function doMoveUp(id) { + return request({ + url: `/management/api/member/moveUp/${id}`, + method: 'patch', + }) +} + +export function doMoveDown(id) { + return request({ + url: `/management/api/member/moveDown/${id}`, + method: 'patch', + }) +} diff --git a/src/assets/comparison/left.jpg b/src/assets/comparison/left.jpg deleted file mode 100644 index f5133cf..0000000 Binary files a/src/assets/comparison/left.jpg and /dev/null differ diff --git a/src/assets/comparison/right.jpg b/src/assets/comparison/right.jpg deleted file mode 100644 index 625a53f..0000000 Binary files a/src/assets/comparison/right.jpg and /dev/null differ diff --git a/src/assets/ewm.png b/src/assets/ewm.png deleted file mode 100644 index a97a6ad..0000000 Binary files a/src/assets/ewm.png and /dev/null differ diff --git a/src/assets/pro.png b/src/assets/pro.png deleted file mode 100644 index 09bcef5..0000000 Binary files a/src/assets/pro.png and /dev/null differ diff --git a/src/assets/qr_logo/lqr_logo.png b/src/assets/qr_logo/lqr_logo.png deleted file mode 100644 index f81db46..0000000 Binary files a/src/assets/qr_logo/lqr_logo.png and /dev/null differ diff --git a/src/assets/zfb_100.jpg b/src/assets/zfb_100.jpg deleted file mode 100644 index 530857c..0000000 Binary files a/src/assets/zfb_100.jpg and /dev/null differ diff --git a/src/assets/zfb_699.jpg b/src/assets/zfb_699.jpg deleted file mode 100644 index 4760e7c..0000000 Binary files a/src/assets/zfb_699.jpg and /dev/null differ diff --git a/src/assets/zfb_799.jpg b/src/assets/zfb_799.jpg deleted file mode 100644 index ff10604..0000000 Binary files a/src/assets/zfb_799.jpg and /dev/null differ diff --git a/src/assets/zfb_kf.jpg b/src/assets/zfb_kf.jpg deleted file mode 100644 index a850a5e..0000000 Binary files a/src/assets/zfb_kf.jpg and /dev/null differ diff --git a/src/components/SingleUpload/index.vue b/src/components/SingleUpload/index.vue index fc34b9a..de4f1b2 100644 --- a/src/components/SingleUpload/index.vue +++ b/src/components/SingleUpload/index.vue @@ -29,6 +29,10 @@ type: String, required: true, }, + picUrl: { + type: String, + default: '', + }, }, data() { return { diff --git a/src/layouts/components/VabAvatar/index.vue b/src/layouts/components/VabAvatar/index.vue index 73141fc..5796ce6 100644 --- a/src/layouts/components/VabAvatar/index.vue +++ b/src/layouts/components/VabAvatar/index.vue @@ -10,11 +10,6 @@ - github地址 - 码云地址 - pro付费版地址 - plus付费版地址 - shop-vite付费版地址 退出登录 diff --git a/src/layouts/components/VabThemeBar/index.vue b/src/layouts/components/VabThemeBar/index.vue index ead8233..6960fd8 100644 --- a/src/layouts/components/VabThemeBar/index.vue +++ b/src/layouts/components/VabThemeBar/index.vue @@ -1,7 +1,7 @@ @@ -37,6 +30,8 @@ import { quillEditor } from 'vue-quill-editor' import 'quill/dist/quill.snow.css' import SingleUpload from '@/components/SingleUpload' + import { getList as getCategoryList } from '@/api/miniAnliCategory' + import { getArticle, doAdd, doEdit } from '@/api/miniAnli' export default { name: 'CxshMiniArticle', @@ -44,22 +39,20 @@ data() { return { form: { - username: '', - password: '', - nickname: '', - permissions: '', - appId: '', - avatar: '', + title: '', + categoryId: '', + desc: '', + coverUrl: '', + content: '', }, - permissionList: [], - applicationList: [], + categoryList: [], rules: { - username: [{ required: true, trigger: 'blur', message: '请输入用户名' }], - password: [{ required: true, trigger: 'blur', message: '请输入密码' }], - permissions: [{ required: true, trigger: 'blur', message: '请选择权限' }], - appId: [{ required: true, trigger: 'blur', message: '请选择应用' }], + title: [{ required: true, trigger: 'blur', message: '请输入标题' }], + categoryId: [{ required: true, trigger: 'blur', message: '请选择分类' }], + coverUrl: [{ required: true, trigger: 'blur', message: '请上传封面' }], + content: [{ required: true, trigger: 'blur', message: '请输入内容' }], }, - content: '', + articleId: '', editorOptions: { theme: 'snow', }, @@ -67,15 +60,45 @@ }, created() { this.fetchData() + this.articleId = this.$route.query.id + if (this.articleId) { + this.fetchArticle() + } }, methods: { handlePublish() { - console.log(11111, this.content) - console.log('发布') + if (this.articleId) { + this.$refs['form'].validate(async (valid) => { + if (valid) { + await doEdit(this.articleId, this.form) + this.$baseMessage('编辑成功', 'success') + this.$router.push(`/cxshMini/anli/list`) + } else { + return false + } + }) + } else { + this.$refs['form'].validate(async (valid) => { + if (valid) { + await doAdd(this.form) + this.$baseMessage('发布成功', 'success') + this.$router.push(`/cxshMini/anli/list`) + } else { + return false + } + }) + } }, - async fetchData() {}, - handleUploadSuccess(res) { - this.form.avatar = res.data.url + async fetchData() { + const { data } = await getCategoryList(this.queryForm) + this.categoryList = data.list + }, + handleUploadSuccess(url) { + this.form.coverUrl = url + }, + async fetchArticle() { + const { data } = await getArticle(this.articleId) + this.form = data }, }, } diff --git a/src/views/cxshMini/anli/category/components/CxshMiniAnliCategoryEdit.vue b/src/views/cxshMini/anli/category/components/CxshMiniAnliCategoryEdit.vue index db21683..5a6b78a 100644 --- a/src/views/cxshMini/anli/category/components/CxshMiniAnliCategoryEdit.vue +++ b/src/views/cxshMini/anli/category/components/CxshMiniAnliCategoryEdit.vue @@ -17,7 +17,7 @@ diff --git a/src/views/cxshMini/lianxi/member/components/AppManagementEdit.vue b/src/views/cxshMini/home/banner/components/BannerEdit.vue similarity index 62% rename from src/views/cxshMini/lianxi/member/components/AppManagementEdit.vue rename to src/views/cxshMini/home/banner/components/BannerEdit.vue index d3f8a67..d5e9f7e 100644 --- a/src/views/cxshMini/lianxi/member/components/AppManagementEdit.vue +++ b/src/views/cxshMini/home/banner/components/BannerEdit.vue @@ -1,23 +1,14 @@ diff --git a/src/views/cxshMini/home/banner/components/AppManagementEdit.vue b/src/views/cxshMini/lianxi/member/components/AppMemberEdit.vue similarity index 70% rename from src/views/cxshMini/home/banner/components/AppManagementEdit.vue rename to src/views/cxshMini/lianxi/member/components/AppMemberEdit.vue index d3f8a67..940ddac 100644 --- a/src/views/cxshMini/home/banner/components/AppManagementEdit.vue +++ b/src/views/cxshMini/lianxi/member/components/AppMemberEdit.vue @@ -1,26 +1,23 @@ diff --git a/src/views/index/index.vue b/src/views/index/index.vue index 3861bd9..5057561 100644 --- a/src/views/index/index.vue +++ b/src/views/index/index.vue @@ -1,6 +1,6 @@