From a0311f57f3a828857e3188b26252ddcba5948317 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=B9=90?= <419641032@qq.com> Date: Mon, 17 Aug 2020 15:28:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B4=A7=E6=80=A5=E4=BF=AE=E5=A4=8D=E4=BA=86?= =?UTF-8?q?=E4=B8=80=E4=BA=9Bbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/.editorconfig | 14 - admin/README.es.md | 467 ++++---- admin/public/favicon.ico | Bin 67646 -> 4286 bytes admin/src/api/article.js | 6 +- admin/src/api/marketing.js | 3 +- admin/src/api/store.js | 12 + admin/src/api/systemSetting.js | 16 +- admin/src/api/systemadmin.js | 18 +- admin/src/components/BackToTop/index.vue | 111 -- admin/src/components/Category/edit.vue | 13 - admin/src/components/Category/list.vue | 2 - admin/src/components/DragSelect/index.vue | 61 - admin/src/components/Dropzone/index.vue | 297 ----- .../components/generator/config.js | 15 +- .../FormGenerator/index/RightPanel.vue | 8 +- admin/src/components/JsonEditor/index.vue | 72 -- admin/src/components/MDinput/index.vue | 360 ------ .../MarkdownEditor/default-options.js | 31 - admin/src/components/MarkdownEditor/index.vue | 118 -- admin/src/components/Upload/SingleImage.vue | 134 --- admin/src/components/Upload/SingleImage2.vue | 130 -- admin/src/components/Upload/SingleImage3.vue | 157 --- admin/src/components/Upload/uploadFile.vue | 1 - .../uploadPicture/forGenrator/index.vue | 1 - .../uploadPicture/uploadFrom/index.vue | 1 + admin/src/layout/components/Sidebar/Logo.vue | 134 ++- admin/src/layout/components/Sidebar/index.vue | 2 +- admin/src/router/index.js | 2 +- admin/src/settings.js | 2 +- admin/src/styles/styles.scss | 6 +- admin/src/utils/constants.js | 2 +- .../wxAccount/reply/follow/index.vue | 4 +- admin/src/views/content/article/edit.vue | 4 +- admin/src/views/content/article/list.vue | 8 +- admin/src/views/distribution/index.vue | 8 +- .../marketing/coupon/list/creatCoupon.vue | 6 +- .../views/marketing/coupon/record/index.vue | 42 +- .../views/marketing/integral/config/index.vue | 44 +- admin/src/views/order/index.vue | 30 +- admin/src/views/order/orderSend.vue | 4 +- .../sms/smsConfig/components/tableList.vue | 7 +- admin/src/views/sms/smsConfig/index.vue | 44 +- admin/src/views/sms/smsTemplate/index.vue | 30 +- admin/src/views/store/creatStore/index.vue | 1 + admin/src/views/store/creatStore/index2.vue | 1055 ----------------- admin/src/views/store/index.vue | 16 +- admin/src/views/store/storeComment/index.vue | 44 +- .../administratorAuthority/adminList/edit.vue | 9 +- .../adminList/index.vue | 20 +- .../identityManager/index.vue | 2 +- .../logistics/companyList/index.vue | 35 +- .../logistics/shippingTemplates/index.vue | 25 +- .../src/views/systemSetting/setting/index.vue | 18 +- admin/src/views/user/list/edit.vue | 10 +- admin/src/views/user/list/index.vue | 80 +- app/api/api.js | 2 +- app/api/order.js | 136 ++- app/api/public.js | 18 +- app/api/store.js | 8 +- app/components/payment/index.vue | 2 +- app/components/productWindow/index.vue | 3 +- app/components/tabNav.vue | 2 +- app/libs/wechat.js | 5 +- app/pages/columnGoods/HotNewGoods/index.vue | 2 +- app/pages/goods_details/index.vue | 10 +- app/pages/index/index.vue | 2 +- app/pages/index/index001.vue | 2 +- app/pages/order_details/index.vue | 2 +- app/pages/user/index.vue | 5 +- app/pages/users/goods_comment_con/index.vue | 2 +- app/pages/users/login/index.vue | 6 +- app/pages/users/order_confirm/index.vue | 21 +- app/pages/users/user_payment/index.vue | 42 +- app/pages/users/user_vip/index.vue | 4 +- .../main/java/com/common/CheckFrontToken.java | 21 +- .../main/java/com/constants/Constants.java | 2 +- .../interceptor/FrontTokenInterceptor.java | 9 +- crmeb/src/main/java/com/utils/CrmebUtil.java | 12 + .../article/controller/ArticleController.java | 9 +- .../service/impl/ArticleServiceImpl.java | 1 + .../com/zbkj/crmeb/article/vo/ArticleVo.java | 5 +- .../manager/TokenManagerImpl.java | 6 +- .../java/com/zbkj/crmeb/config/WebConfig.java | 4 +- .../ShippingTemplatesSearchRequest.java | 4 +- .../impl/ShippingTemplatesServiceImpl.java | 4 +- .../front/controller/UserController.java | 2 +- .../crmeb/front/request/LoginRequest.java | 6 +- .../front/response/UserCenterResponse.java | 12 + .../front/service/impl/IndexServiceImpl.java | 8 +- .../front/service/impl/OrderServiceImpl.java | 4 +- .../service/impl/ProductServiceImpl.java | 73 +- .../impl/StoreCouponUserServiceImpl.java | 4 +- .../controller/StoreProductController.java | 3 +- .../StoreProductReplyController.java | 1 + .../zbkj/crmeb/store/model/StoreProduct.java | 3 + .../request/StoreOrderSearchRequest.java | 2 +- .../request/StoreProductAttrValueRequest.java | 3 +- .../StoreProductReplySearchRequest.java | 3 + .../store/service/StoreProductService.java | 7 + .../service/impl/RetailShopServiceImpl.java | 12 +- .../service/impl/StoreOrderServiceImpl.java | 12 +- .../impl/StoreProductReplyServiceImpl.java | 27 +- .../service/impl/StoreProductServiceImpl.java | 41 +- .../crmeb/store/utilService/OrderUtils.java | 12 +- .../system/request/SystemAdminRequest.java | 1 + .../service/SystemUserLevelService.java | 4 +- .../service/impl/SystemAdminServiceImpl.java | 37 +- .../service/impl/SystemRoleServiceImpl.java | 5 +- .../impl/SystemUserLevelServiceImpl.java | 8 + .../upload/service/impl/AsyncServiceImpl.java | 14 +- .../upload/service/impl/CosServiceImpl.java | 2 +- .../upload/service/impl/OssServiceImpl.java | 3 +- .../upload/service/impl/QiNiuServiceImpl.java | 3 +- .../crmeb/user/controller/UserController.java | 10 +- .../request/RegisterThirdUserRequest.java | 4 +- .../UserOperateIntegralMoneyRequest.java | 6 - .../crmeb/user/request/UserSearchRequest.java | 6 +- .../zbkj/crmeb/user/service/UserService.java | 6 + .../user/service/impl/UserServiceImpl.java | 82 +- .../service/impl/UserSignServiceImpl.java | 4 +- .../impl/TemplateMessageServiceImpl.java | 4 + .../impl/WeChatMessageServiceImpl.java | 5 +- 122 files changed, 1235 insertions(+), 3297 deletions(-) delete mode 100644 admin/.editorconfig delete mode 100644 admin/src/components/BackToTop/index.vue delete mode 100644 admin/src/components/DragSelect/index.vue delete mode 100644 admin/src/components/Dropzone/index.vue delete mode 100644 admin/src/components/JsonEditor/index.vue delete mode 100644 admin/src/components/MDinput/index.vue delete mode 100644 admin/src/components/MarkdownEditor/default-options.js delete mode 100644 admin/src/components/MarkdownEditor/index.vue delete mode 100644 admin/src/components/Upload/SingleImage.vue delete mode 100644 admin/src/components/Upload/SingleImage2.vue delete mode 100644 admin/src/components/Upload/SingleImage3.vue delete mode 100644 admin/src/views/store/creatStore/index2.vue diff --git a/admin/.editorconfig b/admin/.editorconfig deleted file mode 100644 index 3454886e..00000000 --- a/admin/.editorconfig +++ /dev/null @@ -1,14 +0,0 @@ -# https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -[*.md] -insert_final_newline = false -trim_trailing_whitespace = false diff --git a/admin/README.es.md b/admin/README.es.md index 396556f5..addcbafe 100644 --- a/admin/README.es.md +++ b/admin/README.es.md @@ -1,217 +1,282 @@ -

- -

+# CRMEB Admin +## 开发规范 +统一使用ES6 语法 +方法注释 +/* +* th => 表头 +* data => 数据 +* fileName => 文件名 +* fileType => 文件类型 +* sheetName => sheet页名 +*/ +export default function toExcel ({ th, data, fileName, fileType, sheetName }) +行注释 // -

- - vue - - - element-ui - - - Estado de Construcción - - - Licencia - - - Liberación Github - - - Gitter - - - Donación - -

+### 命名 -Español | [English](./README.md) | [简体中文](./README.zh-CN.md) | [日本語](./README.ja.md) +页面目录 文件夹命名格式骆驼式命名法,例如:用户列表 userList +例如:商品模块 +store 商品 + ├─ store 商品管理 + ├─index.vue 首页 + ├─ creatStore 新建商品 + ├─ index.vue + ├─ sort 商品分类 + ├─ index.vue + ├─storeAttr 商品规格 + ├─ index.vue + ├─storeComment 商品评论 + ├─ index.vue -## Introducción +页面命名、组建、文件夹 命名格式小驼峰命名法,例如:用户列表 userList -[vue-element-admin](https://panjiachen.github.io/vue-element-admin) es una interfáz de administración preparada para producción. Está basada en [vue](https://github.com/vuejs/vue) y usa [element-ui](https://github.com/ElemeFE/element) como conjunto de herramientas de interfáz de usuario. +类名函数命名 大驼峰式 例如:addUser +变量命名 小驼峰式 例如:user 或者 userInfo +常量 采用全大些下划线命名 例如:VUE_APP_API_URl -Vue Element Admin es una solución práctica basada en la nueva plataforma de desarrollo de vue, construida con soporte a i18 para el manejo de múltiples lenguajes, plantillas estándares para aplicaciones de negocio y un conjunto de asombrosas características. Esta herramienta ayuda a construir largas y complejas Aplicacones de una sola página (SPA). Creo que lo que necesites hacer, este proyecto te ayudará. +### 文件管理规范 +views 页面模块必须件文件夹区分 +api 接口一个模块一个文件 +组建 一个组建一个文件夹 +plugins 插件一个插件一个文件夹 +vuex 路由状态管理,一个模块在modules 中建一个文件夹 +router 一个模块一个模块在modules 中建一个文件夹 +style 样式尽量采用iView自带组建,common.less 系统通用样式不要轻易动 +自定义通用样式 style.less,每次添加必须加注释,页面独立样式在在页面内写,后缀less 格式 +组建样式 styles 中添加文件夹 composents 对应components 目录新建样式文件 +utils 自定义工具js 独立命名,一般不用新建文件夹 -- [Vista Prévia de la Aplicación](https://panjiachen.github.io/vue-element-admin) +## 模块命名 +~~~ +├─ login 登录 +├─ dashboard 首页 +├─ store 商品管理 +├─ order 系统订单管理 +├─ distribution 分销 +├─ user 用户管理 +├─ content 内容管理 +├─ appSetting 各个应用模块功能管理公众号、小程序、支付宝、百度小程序、今日头条小程序 +├─ marketing 营销管理 优惠劵 积分 +├─ sms 设置 短信设置 +├─ systemSetting 设置 管理员权限 系统设置 物流设置 +├─ maintain 维护 配置分类 组合数据 表单配置 +├─ error-page 错误页 -- [Documentación](https://panjiachen.github.io/vue-element-admin-site/) +~~~ +## 目录结构 +主要目录结构及说明: +~~~ +├── public # 静态资源 +│ ├── favicon.ico # favicon图标 +│ └── index.html # html 模板 +│ └── UEditor # 富文本编辑器插件 +├── src # 源代码 +│ ├── api # 所有请求 +│ │ └──user.js # 有关登录/用户的接口 +│ │ └──article.js # 有关内容的接口 +│ │ └──categoryApi.js # 有关分类的接口 +│ │ └──configApi.js # 有关配置分类的接口 -- [Canal de Gitter](https://gitter.im/vue-element-admin/discuss) -- [Para Donaciones](https://panjiachen.github.io/vue-element-admin-site/donate/) -- [Enlace de Wiki](https://github.com/PanJiaChen/vue-element-admin/wiki) +│ │ └──cms.js # 有关内容(文章管理、分类)的接口 +│ │ └──common.js # 表格删除、获取消息提醒的接口 +│ │ └──finance.js # 有关财务的接口 +│ │ └──index.js # 有关首页的接口 +│ │ └──marketing.js # 有关营销的接口 +│ │ └──order.js # 有关订单的接口 +│ │ └──product.js # 有关商品的接口 +│ │ └──setting.js # 有关设置的接口 +│ │ └──system.js # 有关维护(开发配置、安全维护)的接口 +│ │ └──systemAdmin.js # 有关管理员的接口(设置--管理权限--管理员列表) +│ │ └──systemMenus.js # 有关权限规则的接口(设置--管理权限--权限规则) +│ │ └──uploadPictures.js # 有关上传图片附件的接口 +│ │ └──user.js # 有关会员的接口 +│ ├── assets # 图片、svg 等静态资源 +│ ├── components # 公共组件 +│ │ └──cards # 统计 +│ │ └──copyright # 页面footer的底部声明 +│ │ └──customerInfo # 选择用户 +│ │ └──echarts # 统计图 +│ │ └──freightTemplate # 运费模板 +│ │ └──from # 生成表单 +│ │ └──goodsList # 商品列表 +│ │ └──iconFrom # 导航添加图标 +│ │ └──link # a连接 +│ │ └──mde # 多文本框 +│ │ └──modelSure # 确认模态框 +│ │ └──newsCategory # 图文管理页 +│ │ └──publicSearchFrom # 头部搜索(没用到) +│ │ └──quill # 编辑器(没用到) +│ │ └──referrerInfo # 推荐人信息 +│ │ └──searchFrom # 订单页的搜索 +│ │ └──sendCoupons # 发送优惠券 +│ │ └──systemStore # 添加提货点 +│ │ └──ueditorFrom # 编辑器组件(供参考,没用到,主要用安装组件--vue-ueditor-wrap) +│ │ └──uploadPictures # 上传图片 +│ │ └──uploadVideo # 上传视频(用于商品编辑器里面) +│ ├── i18n # 多语言 +│ ├── layouts # 布局 +│ │ └──header-breadcrumb # 头部面包屑样式 +│ │ └──header-collapse # 头部控制折叠面板的图标 +│ │ └──header-fullscreen # 头部控制是否全屏的图标 +│ │ └──header-i18n # 头部控制多语言 +│ │ └──header-log # 头部控制日志异常图标 +│ │ └──header-logo # 头部logo +│ │ └──header-notice # 头部提示消息 +│ │ └──header-reload # 头部控制刷新的图标 +│ │ └──header-search # 头部搜索 +│ │ └──header-setting # 设置页面风格 +│ │ └──header-user # 我的(个人中心、退出登录) +│ │ └──menu-head # +│ │ └──menu-side # 侧边导航栏 +│ │ └──tabs # 头部的横向导航标签 +│ │ └──mixins # 用于横向滚动获取title的一个js +│ ├── libs # 公共方法 +│ ├── menu # 菜单配置 +│ ├── mixins # 通用混合 +│ ├── mock # 数据模拟 +│ ├── pages # 所有页面 +│ │ └──account # 有关登录页 +│ │ └──login # 登录 +│ │ └──register # 注册 +│ │ └──agent # 分销 +│ │ └──agentManage # 分销员管理 +│ │ └──app # 应用 +│ │ └──routine # 小程序模板消息 +│ │ └──wechat # 公众号 +│ │ └──menus # 微信菜单 +│ │ └──newsCategory # 图文管理 +│ │ └──save # 图文添加 +│ │ └──reply # 自动回复 +│ │ └──follow # 微信关注回复/无效关键词回复 +│ │ └──keyword # 关键字回复 +│ │ └──user # 用户 +│ │ └──tag # 用户标签 +│ │ └──user # 微信用户 +│ │ └──message # 用户行为记录 +│ │ └──cms # 内容 +│ │ └──addArticle # 添加文章/编辑文章 +│ │ └──article # 文章管理 +│ │ └──articleCategory # 文章分类 +│ │ └──finance # 财务 +│ │ └──commission # 佣金记录 +│ │ └──financialRecords # 财务记录 +│ │ └──bill # 资金记录 +│ │ └──recharge # 充值记录 +│ │ └──userExtract # 提现申请 +│ │ └──index # 主页 +│ │ └──marketing # 营销 +│ │ └──storeBargain # 砍价商品 +│ │ └──storeCombination # 拼团管理 +│ │ └──combinaList # 拼团列表 +│ │ └──create # 添加拼团商品 +│ │ └──index # 拼团商品 +│ │ └──storeCoupon # 优惠券制作 +│ │ └──storeCouponIssue # 优惠券列表 +│ │ └──storeCouponUser # 会员领取记录 +│ │ └──storeSeckill # 秒杀管理 +│ │ └──index # 秒杀商品 +│ │ └──create # 添加秒杀商品 +│ │ └──userPoint # 积分日志 +│ │ └──notify # 短信设置 +│ │ └──smsConfig # 短信账户 +│ │ └──smsPay # 短信购买 +│ │ └──smsTemplateApply # 短信模板 +│ │ └──order # 订单管理 +│ │ └──product # 商品 +│ │ └──productAdd # 添加商品 +│ │ └──productAttr # 商品规格 +│ │ └──productClassify # 商品分类 +│ │ └──productList # 商品管理 +│ │ └──productReply # 商品评论管理 +│ │ └──setting # 设置 +│ │ └──cityDada # 城市数据 +│ │ └──clerkList # 核销员管理 +│ │ └──freight # 物流公司 +│ │ └──setSystem # 系统设置 +│ │ └──shippingTemplates # 运费模板 +│ │ └──storeList # 提货点列表 +│ │ └──storeService # 客服管理 +│ │ └──systemAdmin # 管理员列表 +│ │ └──systemMenus # 权限规则 +│ │ └──systemRole # 身份管理 +│ │ └──systemStore # 门店设置 +│ │ └──user # 个人中心 +│ │ └──verifyOrder # 核销订单 +│ │ └──system # 维护 +│ │ └──auth # 商业授权 +│ │ └──clear # 刷新缓存 +│ │ └──configTab # 配置 +│ │ └──index # 配置分类 +│ │ └──list # 配置列表 +│ │ └──error # 错误页 +│ │ └──403 # 403 +│ │ └──404 # 404 +│ │ └──500 # 500 +│ │ └──group # 组合数据 +│ │ └──maintain +│ │ └──systemCleardata # 清除数据 +│ │ └──systemDatabackup # 数据备份 +│ │ └──systemFile # 文件校验 +│ │ └──opendir # 文件管理 +│ │ └──systemLog # 系统日志 +│ │ └──user # 会员 +│ │ └──group # 会员分组 +│ │ └──label # 会员标签 +│ │ └──level # 会员等级 +│ │ └──list # 会员管理 +│ ├── plugins # 插件 +│ ├── router # 路由配置 +│ │ └──modules # 页面路由模块 +│ │ └──agent.js # 有关分销 +│ │ └──app.js # 有关应用(小程序、公众号) +│ │ └──cms.js # 有关内容(文章管理、文章分类) +│ │ └──echarts.js # 有关统计 +│ │ └──finance.js # 有关财务 +│ │ └──index.js # 有关主页 +│ │ └──marketing.js # 有关营销 +│ │ └──order.js # 有关订单 +│ │ └──product.js # 有关商品 +│ │ └──setting.js # 有关设置 +│ │ └──system.js # 有关维护 +│ │ └──user.js # 有关会员 +│ │ └──index.js # 路由的导出以及拦截处理 +│ │ └──routes.js # 路由的汇总 +│ ├── store # Vuex 状态管理 +│ ├── utils # js工具 +│ │ └──authLapse.js # 授权提示框 +│ │ └──modalForm.js # 表单模态框 +│ │ └──videoCloud.js # 上传云储存视频(七牛、腾讯、阿里) +│ │ └──validate.js # 将时间戳转化成时间; +│ │ └──public.js # 询问模态框; +│ ├── styles # 样式管理 +│ ├── setting.env.js # 开发配置文件 +│ ├── setting.js # 业务配置文件 +│ ├── main.js # 入口文件 加载组件 初始化等 +│ └── App.vue # 入口页面 +├── tests # 测试管理 +├── alias.config.js # 别名,仅用于配置 WebStorm 识别别名,无实际用处 +├── babel.config.js # babel 配置 +├── jest.config.js # jest 配置 +├── package.json # package.json +└── vue.config.js # Vue CLI 3 配置 +~~~ +## 开发打包项目 +~~~ +# 进入项目目录 +$ cd admin-iView -- [Canal de Gitee](https://panjiachen.gitee.io/vue-element-admin/) +# 安装依赖 +$ npm install -- Plantilla base recomendada para usar: [vue-admin-template](https://github.com/PanJiaChen/vue-admin-template) -- Aplicación de Escritorio: [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin) -- Plantilla de Typescript: [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template) (Créditos: [@Armour](https://github.com/Armour)) -- [awesome-project](https://github.com/PanJiaChen/vue-element-admin/issues/2312) +# 启动项目(本地开发环境) +$ npm run dev -**Después de la versión `v4.1.0+`, la rama por defecto master no tendrá soporte para i18n. Por favor use [i18n](https://github.com/PanJiaChen/vue-element-admin/tree/i18n), los cambios serán incluidos en la rama master** +# 打包项目 +$ npm run build +~~~ -**la versión actual es `v4.0+` construida con `vue-cli`. Si encuentra algún problema, por favor coloque un [issue](https://github.com/PanJiaChen/vue-element-admin/issues/new). Si desea usar la versión anterior, puede cambiar de rama a [tag/3.11.0](https://github.com/PanJiaChen/vue-element-admin/tree/tag/3.11.0), no relacionado con `vue-cli`** +## 配置 -**Este proyecto no está soportado para versiones muy viejas de navegadores (e.g. IE).** -## Preparación - -Necesita instalar [node](https://nodejs.org/) y [git](https://git-scm.com/) localmente. El proyecto es basado en [ES2015+](https://es6.ruanyifeng.com/), [vue](https://cn.vuejs.org/index.html), [vuex](https://vuex.vuejs.org/zh-cn/), [vue-router](https://router.vuejs.org/zh-cn/), [vue-cli](https://github.com/vuejs/vue-cli) , [axios](https://github.com/axios/axios) and [element-ui](https://github.com/ElemeFE/element), toda la solicitud de datos simulada se realiza a través de [Mock.js](https://github.com/nuysoft/Mock). -Entendiendo y aprendiendo esto pudiera ayudarle con su proyecto. - -

- -

- -## Patrocinantes - -Se un patrocinante y pon tu logo en nuestro README on GitHub con un enlace directo a tu sitio web. [[Se un Patrocinante]](https://www.patreon.com/panjiachen) - -

Plantilla de Dashboard de administración hecha con Vue, React y Angular.

- -## Características - -``` -- Iniciar / Cerrar Sesión - -- Permisos de Authentication - - Página de Permisos - - Directivas de permisos - - Página de configuración de permisos - - Autenticación por dos pasos - -- Construcción Multi-entorno - - dev sit stage producción - -- Características Globales - - I18n - - Temas dinámicos - - Dynamic sidebar (soporte a rutas multi-nivel) - - Barra de rutas dinámica - - Tags-view (Tab page Support right-click operation) - - Svg Sprite - - Datos de simulación con Mock - - Pantalla completa - - Responsive Sidebar - -- Editor - - Editor de Texto Enriquecido - - Editor Markdown - - Editor JSON - -- Excel - - Exportación a Excel - - Carga de Excel - - Visualización de Excel - - Exportación como zip - -- Tabla - - Tabla Dinámica - - Tabla con Arrastrar y Soltar - - Tabla de edición en línea - -- Páginas de Error - - 401 - - 404 - -- Componentes - - Carga de Avatar - - Botón para subir al inicio - - Arrastrar y Soltar (Diaglogo) - - Arrastrar y Soltar (Seleccionar) - - Arrastrar y Soltar (Kanban) - - Arrastrar y Soltar (Lista) - - Panel de división - - Componente para soltar archivos - - Adhesión de objetos - - Contador hasta - -- Ejemplo Avanzado -- Registro de Errores -- Tablero de indicadores -- Página de Guías -- ECharts (Gráficos) -- Portapapeles -- Convertidor de Markdown a html -``` - -## Iniciando - -```bash -# clone el proyecto -git clone https://github.com/PanJiaChen/vue-element-admin.git - -# vaya al directorio clonado -cd vue-element-admin - -# instale las dependencias -npm install - -# corra el proyecto como desarrollador -npm run dev -``` - -Automáticamente se abrirá el siguiente enlace en su navegador http://localhost:9527 - -## Construcción - -```bash -# Construcción para entornos de prueba -npm run build:stage - -# Construcción para entornos de producción -npm run build:prod -``` - -## Avanzado - -```bash -# Vista previa con efectos de entorno -npm run preview - -# Vista previa con efectos + análisis de recursos estáticos -npm run preview -- --report - -# Chequeo de formato de código -npm run lint - -# Chequeo de formato de código y auto-corrección -npm run lint -- --fix -``` - -Vaya a [Documentación](https://panjiachen.github.io/vue-element-admin-site/guide/essentials/deploy.html) para mayor información - -## Registro de Cambios - -Los cambios detallados por cada liberación se encuentran en [notas de liberación](https://github.com/PanJiaChen/vue-element-admin/releases). - -## Demostración en línea - -[Vista Prévia de la Aplicación](https://panjiachen.github.io/vue-element-admin) - -## Donación - -Si este proyecto es de mucha ayuda para ti, puedes comprarle al autor un vaso de jugo :tropical_drink: - -![Donar](https://wpimg.wallstcn.com/bd273f0d-83a0-4ef2-92e1-9ac8ed3746b9.png) - -[dona por Paypal](https://www.paypal.me/panfree23) - -[Comprame un Café](https://www.buymeacoffee.com/Pan) - -## Navegadores Soportados - -Navegadores modernos e Internet Explorer 10+. - -| [IE / Edge](https://godban.github.io/browsers-support-badges/)
IE / Edge | [Firefox](https://godban.github.io/browsers-support-badges/)
Firefox | [Chrome](https://godban.github.io/browsers-support-badges/)
Chrome | [Safari](https://godban.github.io/browsers-support-badges/)
Safari | -| --------- | --------- | --------- | --------- | -| IE10, IE11, Edge| últimas 2 versiones| últimas 2 versiones| últimas 2 versiones - -## Licencia - -[MIT](https://github.com/PanJiaChen/vue-element-admin/blob/master/LICENSE) - -Copyright (c) 2017-presente PanJiaChen diff --git a/admin/public/favicon.ico b/admin/public/favicon.ico index 34b63ac63a87ee3ea8e7a0f3f5b5406c437e2112..54183254468ec87208af17f09ce324dad8ccc885 100644 GIT binary patch literal 4286 zcmeI0OGuPa6vyv0Q)7-c<0EyPvN1Izh!#aeFM2^iQAAnvFsW!=gb)-#P|%_xLVD7s z=pF5fs9g85cC~P))GkX%%ND}v{%+o{Z|>)eV@Pd0a{SJm^FROpxz}&*$EQ*u{gX~B zeyh6)r7DzCjoNieE!R%oT4_uv+;5fDGupKGXz%?;j#e8p=<7Z0f>))|lA1nK^u*d# zhL@BlB{id7dxNM@G^1v)I!6r*ShpWexY4kBerw8?gZ-Oa_Pf4u0Ov26B!{hF4pANqbNxp?Vnpia)7KVV&hGaN0> zlFkoGSGaQZO)UQa^m^GX}6YPiYb5D=_ z82IT@d!MO+8P4Ejf6&Nw{_$)oEJ{dOMN)dcd>xMFuX1p~3Agk7v(I~PrlfiPDp|N_ z$*}u8+5z~xz{T3(_N|>bpwE2OLo>un%H_n#Q_|VlnIStkI4JGy?XqtD2IIu!{6-JG zaG(vRv-V;2?R?cWbrLO%o8Hp$N?Eabtu(jnla@XEW!{2CCU5U|uH>kJ0ZR{gIN-9p z&NZ-pf8EYo6rZZOA{mickJ4WV#U@as2j%J=?$ zZ@Y=f*?Nxky8DoqesWr^6vs;?GO0iwJ$~Zpx&bvXVCnJCpC!&qze4XL`+NDyHCHn5 z84Or@vS|AAdFdC#;!<1JDExkV8GHdR{E@G+xBKFVXj-Y?(pt8 zV!wfQ zCKbwrNP!$VdQ7^yx@BNsz&J5EYG6ij{-Ei-e~vT@yu}I5VkIdZ&zU>lI59bDqt(`Z qyaVU|{+&wq>b>nPh$VVM6AO(KldHu4JX3SU-uw4){yp%Y4DDYUxm?Qt literal 67646 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 X;@D+E7Ad=S_FbjlW&KY_+xPzm3MBT? diff --git a/admin/src/api/article.js b/admin/src/api/article.js index 4bd370bf..bffdb675 100644 --- a/admin/src/api/article.js +++ b/admin/src/api/article.js @@ -90,7 +90,7 @@ export function AddArticle(pram) { return request({ url: '/admin/article/save', method: 'post', - params: data + data: data }) } @@ -101,7 +101,6 @@ export function AddArticle(pram) { */ export function UpdateArticle(pram) { const data = { - id: pram.id, author: pram.author, cid: pram.cid, content: pram.content, @@ -118,6 +117,7 @@ export function UpdateArticle(pram) { return request({ url: '/admin/article/update', method: 'post', - params: data + params: { id: pram.id }, + data: data }) } diff --git a/admin/src/api/marketing.js b/admin/src/api/marketing.js index 058ba8fb..bd0d308e 100644 --- a/admin/src/api/marketing.js +++ b/admin/src/api/marketing.js @@ -77,10 +77,11 @@ export function couponUserListApi(params) { * 积分日志 列表 * @param pram */ -export function integralListApi(data) { +export function integralListApi(params, data) { return request({ url: '/admin/user/bill/list', method: 'post', + params, data }) } diff --git a/admin/src/api/store.js b/admin/src/api/store.js index 7dada2b3..2f55b4b3 100644 --- a/admin/src/api/store.js +++ b/admin/src/api/store.js @@ -241,3 +241,15 @@ export function importProductApi(params) { params }) } + +/** + * 恢复 + * @param pram + */ +export function restoreApi(params) { + return request({ + url: `/admin/store/product/importProduct`, + method: 'post', + params + }) +} diff --git a/admin/src/api/systemSetting.js b/admin/src/api/systemSetting.js index 14677340..a58aa600 100644 --- a/admin/src/api/systemSetting.js +++ b/admin/src/api/systemSetting.js @@ -50,7 +50,7 @@ export function fileFileApi(data, params) { */ export function fileImageApi(data, params) { return request({ - url: '/admin/wechat/media/upload', + url: '/admin/upload/image', method: 'POST', params, data @@ -91,3 +91,17 @@ export function attachmentMoveApi(data) { data }) } + + +/** + * 微信上传图片 + * @param data + */ +export function wechatUploadApi(data, params) { + return request({ + url: `/admin/wechat/media/upload`, + method: 'post', + data, + params + }) +} diff --git a/admin/src/api/systemadmin.js b/admin/src/api/systemadmin.js index 75cc6856..d1affcfe 100644 --- a/admin/src/api/systemadmin.js +++ b/admin/src/api/systemadmin.js @@ -29,25 +29,11 @@ export function adminInfo(pram) { }) } -export function adminList(pram) { - const data = { - account: pram.account, - addTime: pram.addTime, - isDel: pram.isDel, - lastIp: pram.lastIp, - lastTime: pram.lastTime, - level: pram.level, - loginCount: pram.loginCount, - page: pram.page, - limit: pram.limit, - realName: pram.realName, - roles: pram.roles, - status: pram.status - } +export function adminList(params) { return request({ url: '/admin/system/admin/list', method: 'GET', - params: data + params }) } diff --git a/admin/src/components/BackToTop/index.vue b/admin/src/components/BackToTop/index.vue deleted file mode 100644 index 36522f4a..00000000 --- a/admin/src/components/BackToTop/index.vue +++ /dev/null @@ -1,111 +0,0 @@ - - - - - diff --git a/admin/src/components/Category/edit.vue b/admin/src/components/Category/edit.vue index 9a3ae8de..4b66c43e 100644 --- a/admin/src/components/Category/edit.vue +++ b/admin/src/components/Category/edit.vue @@ -1,7 +1,6 @@ diff --git a/admin/src/components/Category/list.vue b/admin/src/components/Category/list.vue index 1d6c89e1..b48e59ad 100644 --- a/admin/src/components/Category/list.vue +++ b/admin/src/components/Category/list.vue @@ -16,7 +16,6 @@
- {{biztype}} @@ -87,7 +86,6 @@ - {{biztype}} - - - - diff --git a/admin/src/components/Dropzone/index.vue b/admin/src/components/Dropzone/index.vue deleted file mode 100644 index bad9eb90..00000000 --- a/admin/src/components/Dropzone/index.vue +++ /dev/null @@ -1,297 +0,0 @@ - - - - - diff --git a/admin/src/components/FormGenerator/components/generator/config.js b/admin/src/components/FormGenerator/components/generator/config.js index 070436af..e6cae19a 100644 --- a/admin/src/components/FormGenerator/components/generator/config.js +++ b/admin/src/components/FormGenerator/components/generator/config.js @@ -498,6 +498,7 @@ export const selectComponents = [ __slot__: { 'list-type': true }, + accept: '', // headers: { 'Authori-zation': getToken() }, // data: { model: 'product', pid: 0 }, // action: SettingMer.apiBaseURL + 'admin/upload/image?model=product&pid=0', @@ -520,22 +521,22 @@ export const selectComponents = [ required: true, span: 24, showTip: false, - buttonText: '点击上传', + buttonText: '', regList: [], changeTag: true, - fileSize: 2, - sizeUnit: 'MB', + // fileSize: 2, + // sizeUnit: 'MB', document: 'https://element.eleme.cn/#/zh-CN/component/upload' }, __slot__: { 'list-type': true }, - action: 'https://jsonplaceholder.typicode.com/posts/', + // action: 'https://jsonplaceholder.typicode.com/posts/', disabled: true, - accept: '', + accept: 'image', name: 'file', - 'auto-upload': true, - 'list-type': 'text', + // 'auto-upload': true, + // 'list-type': 'text', multiple: false }, { diff --git a/admin/src/components/FormGenerator/index/RightPanel.vue b/admin/src/components/FormGenerator/index/RightPanel.vue index c9b46070..a53fcb28 100644 --- a/admin/src/components/FormGenerator/index/RightPanel.vue +++ b/admin/src/components/FormGenerator/index/RightPanel.vue @@ -219,14 +219,16 @@ - + + 图片 + + - @@ -619,6 +621,7 @@ import { inputComponents, selectComponents, layoutComponents } from '@/components/FormGenerator/components/generator/config' import { saveFormConf } from '../utils/db' +import Templates from "../../../views/appSetting/wxAccount/wxTemplate/index"; const dateTimeFormat = { date: 'yyyy-MM-dd', @@ -633,6 +636,7 @@ const dateTimeFormat = { export default { components: { + Templates, TreeNodeDialog, IconsDialog }, diff --git a/admin/src/components/JsonEditor/index.vue b/admin/src/components/JsonEditor/index.vue deleted file mode 100644 index 07b282e4..00000000 --- a/admin/src/components/JsonEditor/index.vue +++ /dev/null @@ -1,72 +0,0 @@ -