diff --git a/CatmDogd-Mall-Front-test/.editorconfig b/CatmDogd-Mall-Front-test/.editorconfig new file mode 100644 index 0000000..7034f9b --- /dev/null +++ b/CatmDogd-Mall-Front-test/.editorconfig @@ -0,0 +1,22 @@ +# 告诉EditorConfig插件,这是根文件,不用继续往上查找 +root = true + +# 匹配全部文件 +[*] +# 设置字符集 +charset = utf-8 +# 缩进风格,可选space、tab +indent_style = space +# 缩进的空格数 +indent_size = 2 +# 结尾换行符,可选lf、cr、crlf +end_of_line = lf +# 在文件结尾插入新行 +insert_final_newline = true +# 删除一行中的前后空格 +trim_trailing_whitespace = true + +# 匹配md结尾的文件 +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/CatmDogd-Mall-Front-test/.env.development b/CatmDogd-Mall-Front-test/.env.development new file mode 100644 index 0000000..3e7cad2 --- /dev/null +++ b/CatmDogd-Mall-Front-test/.env.development @@ -0,0 +1,12 @@ +# 页面标题 +VUE_APP_TITLE = 猫妈狗爸商城管理平台 + +# 开发环境配置 +ENV = 'development' + +# 若依管理系统/开发环境 https://api-test.catmdogd.com/test-api +VUE_APP_BASE_API = 'http://localhost:8081' + +# 路由懒加载 +VUE_CLI_BABEL_TRANSPILE_MODULES = true +VUE_APP_JUDGE_STAR = 0 diff --git a/CatmDogd-Mall-Front-test/.env.production b/CatmDogd-Mall-Front-test/.env.production new file mode 100644 index 0000000..fa884cb --- /dev/null +++ b/CatmDogd-Mall-Front-test/.env.production @@ -0,0 +1,9 @@ +# 页面标题 +VUE_APP_TITLE = 猫妈狗爸商城管理平台测试环境 + +# 生产环境配置 +ENV = 'production' + +# 若依管理系统/生产环境 +VUE_APP_BASE_API = '/test-api' +VUE_APP_JUDGE_STAR = 0 diff --git a/CatmDogd-Mall-Front-test/.env.staging b/CatmDogd-Mall-Front-test/.env.staging new file mode 100644 index 0000000..418a30a --- /dev/null +++ b/CatmDogd-Mall-Front-test/.env.staging @@ -0,0 +1,10 @@ +# 页面标题 +VUE_APP_TITLE = 猫妈狗爸商城管理平台测试环境 + +NODE_ENV = production + +# 测试环境配置 +ENV = 'staging' + +# 若依管理系统/测试环境 +VUE_APP_BASE_API = '/test-api' diff --git a/CatmDogd-Mall-Front-test/.eslintignore b/CatmDogd-Mall-Front-test/.eslintignore new file mode 100644 index 0000000..89be6f6 --- /dev/null +++ b/CatmDogd-Mall-Front-test/.eslintignore @@ -0,0 +1,10 @@ +# 忽略build目录下类型为js的文件的语法检查 +build/*.js +# 忽略src/assets目录下文件的语法检查 +src/assets +# 忽略public目录下文件的语法检查 +public +# 忽略当前目录下为js的文件的语法检查 +*.js +# 忽略当前目录下为vue的文件的语法检查 +*.vue \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/.eslintrc.js b/CatmDogd-Mall-Front-test/.eslintrc.js new file mode 100644 index 0000000..82bbdee --- /dev/null +++ b/CatmDogd-Mall-Front-test/.eslintrc.js @@ -0,0 +1,199 @@ +// ESlint 检查配置 +module.exports = { + root: true, + parserOptions: { + parser: 'babel-eslint', + sourceType: 'module' + }, + env: { + browser: true, + node: true, + es6: true, + }, + extends: ['plugin:vue/recommended', 'eslint:recommended'], + + // add your custom rules here + //it is base on https://github.com/vuejs/eslint-config-vue + rules: { + "vue/max-attributes-per-line": [2, { + "singleline": 10, + "multiline": { + "max": 1, + "allowFirstLine": false + } + }], + "vue/singleline-html-element-content-newline": "off", + "vue/multiline-html-element-content-newline":"off", + "vue/name-property-casing": ["error", "PascalCase"], + "vue/no-v-html": "off", + 'accessor-pairs': 2, + 'arrow-spacing': [2, { + 'before': true, + 'after': true + }], + 'block-spacing': [2, 'always'], + 'brace-style': [2, '1tbs', { + 'allowSingleLine': true + }], + 'camelcase': [0, { + 'properties': 'always' + }], + 'comma-dangle': [2, 'never'], + 'comma-spacing': [2, { + 'before': false, + 'after': true + }], + 'comma-style': [2, 'last'], + 'constructor-super': 2, + 'curly': [2, 'multi-line'], + 'dot-location': [2, 'property'], + 'eol-last': 2, + 'eqeqeq': ["error", "always", {"null": "ignore"}], + 'generator-star-spacing': [2, { + 'before': true, + 'after': true + }], + 'handle-callback-err': [2, '^(err|error)$'], + 'indent': [2, 2, { + 'SwitchCase': 1 + }], + 'jsx-quotes': [2, 'prefer-single'], + 'key-spacing': [2, { + 'beforeColon': false, + 'afterColon': true + }], + 'keyword-spacing': [2, { + 'before': true, + 'after': true + }], + 'new-cap': [2, { + 'newIsCap': true, + 'capIsNew': false + }], + 'new-parens': 2, + 'no-array-constructor': 2, + 'no-caller': 2, + 'no-console': 'off', + 'no-class-assign': 2, + 'no-cond-assign': 2, + 'no-const-assign': 2, + 'no-control-regex': 0, + 'no-delete-var': 2, + 'no-dupe-args': 2, + 'no-dupe-class-members': 2, + 'no-dupe-keys': 2, + 'no-duplicate-case': 2, + 'no-empty-character-class': 2, + 'no-empty-pattern': 2, + 'no-eval': 2, + 'no-ex-assign': 2, + 'no-extend-native': 2, + 'no-extra-bind': 2, + 'no-extra-boolean-cast': 2, + 'no-extra-parens': [2, 'functions'], + 'no-fallthrough': 2, + 'no-floating-decimal': 2, + 'no-func-assign': 2, + 'no-implied-eval': 2, + 'no-inner-declarations': [2, 'functions'], + 'no-invalid-regexp': 2, + 'no-irregular-whitespace': 2, + 'no-iterator': 2, + 'no-label-var': 2, + 'no-labels': [2, { + 'allowLoop': false, + 'allowSwitch': false + }], + 'no-lone-blocks': 2, + 'no-mixed-spaces-and-tabs': 2, + 'no-multi-spaces': 2, + 'no-multi-str': 2, + 'no-multiple-empty-lines': [2, { + 'max': 1 + }], + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-new-object': 2, + 'no-new-require': 2, + 'no-new-symbol': 2, + 'no-new-wrappers': 2, + 'no-obj-calls': 2, + 'no-octal': 2, + 'no-octal-escape': 2, + 'no-path-concat': 2, + 'no-proto': 2, + 'no-redeclare': 2, + 'no-regex-spaces': 2, + 'no-return-assign': [2, 'except-parens'], + 'no-self-assign': 2, + 'no-self-compare': 2, + 'no-sequences': 2, + 'no-shadow-restricted-names': 2, + 'no-spaced-func': 2, + 'no-sparse-arrays': 2, + 'no-this-before-super': 2, + 'no-throw-literal': 2, + 'no-trailing-spaces': 2, + 'no-undef': 2, + 'no-undef-init': 2, + 'no-unexpected-multiline': 2, + 'no-unmodified-loop-condition': 2, + 'no-unneeded-ternary': [2, { + 'defaultAssignment': false + }], + 'no-unreachable': 2, + 'no-unsafe-finally': 2, + 'no-unused-vars': [2, { + 'vars': 'all', + 'args': 'none' + }], + 'no-useless-call': 2, + 'no-useless-computed-key': 2, + 'no-useless-constructor': 2, + 'no-useless-escape': 0, + 'no-whitespace-before-property': 2, + 'no-with': 2, + 'one-var': [2, { + 'initialized': 'never' + }], + 'operator-linebreak': [2, 'after', { + 'overrides': { + '?': 'before', + ':': 'before' + } + }], + 'padded-blocks': [2, 'never'], + 'quotes': [2, 'single', { + 'avoidEscape': true, + 'allowTemplateLiterals': true + }], + 'semi': [2, 'never'], + 'semi-spacing': [2, { + 'before': false, + 'after': true + }], + 'space-before-blocks': [2, 'always'], + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [2, { + 'words': true, + 'nonwords': false + }], + 'spaced-comment': [2, 'always', { + 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + }], + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, + 'valid-typeof': 2, + 'wrap-iife': [2, 'any'], + 'yield-star-spacing': [2, 'both'], + 'yoda': [2, 'never'], + 'prefer-const': 2, + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'object-curly-spacing': [2, 'always', { + objectsInObjects: false + }], + 'array-bracket-spacing': [2, 'never'] + } +} diff --git a/CatmDogd-Mall-Front-test/.gitignore b/CatmDogd-Mall-Front-test/.gitignore new file mode 100644 index 0000000..78a752d --- /dev/null +++ b/CatmDogd-Mall-Front-test/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +**/*.log + +tests/**/coverage/ +tests/e2e/reports +selenium-debug.log + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.local + +package-lock.json +yarn.lock diff --git a/CatmDogd-Mall-Front-test/LICENSE b/CatmDogd-Mall-Front-test/LICENSE new file mode 100644 index 0000000..bf3fb3e --- /dev/null +++ b/CatmDogd-Mall-Front-test/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Zhaochencheng + +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. diff --git a/CatmDogd-Mall-Front-test/README.md b/CatmDogd-Mall-Front-test/README.md new file mode 100644 index 0000000..cd5065e --- /dev/null +++ b/CatmDogd-Mall-Front-test/README.md @@ -0,0 +1,71 @@ +## B站讲解视频 +https://www.bilibili.com/video/BV16N4y1d7MM + +## 开发 + +```bash +# 安装依赖 +npm install + +# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 +npm install --registry=https://registry.npmmirror.com + +# 启动服务 +npm run dev +``` + +## 发布 + +```bash +# 构建测试环境 +npm run build:stage + +# 构建生产环境 +npm run build:prod +``` +## 项目地址 +| | gitee | github | +|:---------:|:-------------------------------------------|:---------------------------------------------| +| service | https://gitee.com/zccbbg/RuoYi-Mall | https://github.com/zccbbg/ruoyi-mall | +| h5 uniapp | https://gitee.com/zccbbg/ruoyi-mall-uniapp | https://github.com/zccbbg/ruoyi-mall-uniapp | + +## 在线体验 +### 管理后台演示地址 +http://mall.ichengle.top +### 小程序和h5 + + + + +## CSDN若依技术专栏 +- 常见问题:https://blog.csdn.net/qq_27575627/category_12336113.html +- 后端技术:https://blog.csdn.net/qq_27575627/category_12331868.html +- 前端技术:https://blog.csdn.net/qq_27575627/category_12331867.html +- 运维:https://blog.csdn.net/qq_27575627/category_12332546.html + +## 若依mall简介 +若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。我们在此基础上开发了ruoyi-mall。希望能给做商城的朋友减轻工作量。 +* 前端采用Vue、Element UI(ant design 正在开发中)。 +* 后端采用Spring Boot、Spring Security、Redis & Jwt。 +* 权限认证使用Jwt,支持多终端认证系统。 +* 支持加载动态权限菜单,多方式轻松权限控制。 +* 高效率开发,使用代码生成器可以一键生成前后端代码。 + +## 若依mall功能 +1. 首页: +2. PMS商品管理: +3. UMS会员管理: +4. OMS订单管理: +5. SMS营销管理: +6. CMS内容管理: + +## 关于我们 +* 开发团队成立5年,我们前端开发、后端架构,有一颗热爱开源的心,致力于打造企业级的通用产品设计UI体系让项目 或者更直观,更高效、更简单,未来将持续关注UI交互,持续推出高质量的交互产品。 +* 这五年我主要做isv对接淘宝、拼多多、抖音、美团等平台的订单处理应用,日处理订单300w条,因为要熟悉业务也开过淘宝和拼多多店铺运营了一个网易严选的品牌。我们的公众号会陆续更新一些我一边撸代码一边做客服的经历。也会更新一些我的读书笔记以及编程、创业、生活中踩坑的文章。另外还会开放一些米哈游、博世、企查查、同程、阿里、京东、拼多多等大厂、中厂或外企的内推岗位! + +## 加群/技术支持 + +| 公众号 | +|:------------------------------------------:| +| | +扫公众号二维码,关注后回复:“支持”或者“加群” diff --git a/CatmDogd-Mall-Front-test/babel.config.js b/CatmDogd-Mall-Front-test/babel.config.js new file mode 100644 index 0000000..c8267b2 --- /dev/null +++ b/CatmDogd-Mall-Front-test/babel.config.js @@ -0,0 +1,13 @@ +module.exports = { + presets: [ + // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app + '@vue/cli-plugin-babel/preset' + ], + 'env': { + 'development': { + // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require(). + // This plugin can significantly increase the speed of hot updates, when you have a large number of pages. + 'plugins': ['dynamic-import-node'] + } + } +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/bin/build.bat b/CatmDogd-Mall-Front-test/bin/build.bat new file mode 100644 index 0000000..dda590d --- /dev/null +++ b/CatmDogd-Mall-Front-test/bin/build.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] Weḅdistļ +echo. + +%~d0 +cd %~dp0 + +cd .. +npm run build:prod + +pause \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/bin/package.bat b/CatmDogd-Mall-Front-test/bin/package.bat new file mode 100644 index 0000000..0e5bc0f --- /dev/null +++ b/CatmDogd-Mall-Front-test/bin/package.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] װWeḅnode_modulesļ +echo. + +%~d0 +cd %~dp0 + +cd .. +npm install --registry=https://registry.npmmirror.com + +pause \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/bin/run-web.bat b/CatmDogd-Mall-Front-test/bin/run-web.bat new file mode 100644 index 0000000..d30deae --- /dev/null +++ b/CatmDogd-Mall-Front-test/bin/run-web.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] ʹ Vue CLI Web ̡ +echo. + +%~d0 +cd %~dp0 + +cd .. +npm run dev + +pause \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/build/index.js b/CatmDogd-Mall-Front-test/build/index.js new file mode 100644 index 0000000..0c57de2 --- /dev/null +++ b/CatmDogd-Mall-Front-test/build/index.js @@ -0,0 +1,35 @@ +const { run } = require('runjs') +const chalk = require('chalk') +const config = require('../vue.config.js') +const rawArgv = process.argv.slice(2) +const args = rawArgv.join(' ') + +if (process.env.npm_config_preview || rawArgv.includes('--preview')) { + const report = rawArgv.includes('--report') + + run(`vue-cli-service build ${args}`) + + const port = 9526 + const publicPath = config.publicPath + + var connect = require('connect') + var serveStatic = require('serve-static') + const app = connect() + + app.use( + publicPath, + serveStatic('./dist', { + index: ['index.html', '/'] + }) + ) + + app.listen(port, function () { + console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`)) + if (report) { + console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`)) + } + + }) +} else { + run(`vue-cli-service build ${args}`) +} diff --git a/CatmDogd-Mall-Front-test/doc/datacall.jpg b/CatmDogd-Mall-Front-test/doc/datacall.jpg new file mode 100644 index 0000000..8a31a98 Binary files /dev/null and b/CatmDogd-Mall-Front-test/doc/datacall.jpg differ diff --git a/CatmDogd-Mall-Front-test/doc/h5演示.png b/CatmDogd-Mall-Front-test/doc/h5演示.png new file mode 100644 index 0000000..f4aa9c8 Binary files /dev/null and b/CatmDogd-Mall-Front-test/doc/h5演示.png differ diff --git a/CatmDogd-Mall-Front-test/doc/qqgroup.jpg b/CatmDogd-Mall-Front-test/doc/qqgroup.jpg new file mode 100644 index 0000000..a571c8b Binary files /dev/null and b/CatmDogd-Mall-Front-test/doc/qqgroup.jpg differ diff --git a/CatmDogd-Mall-Front-test/doc/小程序演示.jpg b/CatmDogd-Mall-Front-test/doc/小程序演示.jpg new file mode 100644 index 0000000..b503c9c Binary files /dev/null and b/CatmDogd-Mall-Front-test/doc/小程序演示.jpg differ diff --git a/CatmDogd-Mall-Front-test/doc/快递小程序.jpg b/CatmDogd-Mall-Front-test/doc/快递小程序.jpg new file mode 100644 index 0000000..1b16052 Binary files /dev/null and b/CatmDogd-Mall-Front-test/doc/快递小程序.jpg differ diff --git a/CatmDogd-Mall-Front-test/jsconfig.json b/CatmDogd-Mall-Front-test/jsconfig.json new file mode 100644 index 0000000..62ce365 --- /dev/null +++ b/CatmDogd-Mall-Front-test/jsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/operate.sql b/CatmDogd-Mall-Front-test/operate.sql new file mode 100644 index 0000000..d09e081 --- /dev/null +++ b/CatmDogd-Mall-Front-test/operate.sql @@ -0,0 +1,23 @@ +select * from oms_order where member_username = '用户0951'; + +SELECT * from oms_order where id in ('5643280142665728','5678349869418496','5691927813097472','5691927941580800'); +SELECT * from oms_order_item where order_id in ('5643280142665728','5678349869418496','5691927813097472','5691927941580800'); +SELECT * from oms_order_service where order_id in ('5643280142665728','5678349869418496','5691927813097472','5691927941580800'); +SELECT * from oms_wechat_payment_history where order_id in ('5643280142665728','5678349869418496','5691927813097472','5691927941580800'); + +delete from oms_order where id in ('5643280142665728','5678349869418496','5691927813097472','5691927941580800'); +delete from oms_order_item where order_id in ('5643280142665728','5678349869418496','5691927813097472','5691927941580800'); +delete from oms_order_service where order_id in ('5643280142665728','5678349869418496','5691927813097472','5691927941580800'); + +select * from oms_order where member_username = '用户4070'; + +delete from oms_order where id in ('5643216264595456','5643216273197056','5643219524683776','5643220870989824','5643220882245632','5643264262195200','5690007030106112'); +delete from oms_order_item where order_id in ('5643216264595456','5643216273197056','5643219524683776','5643220870989824','5643220882245632','5643264262195200','5690007030106112'); +delete from oms_order_service where order_id in ('5643216264595456','5643216273197056','5643219524683776','5643220870989824','5643220882245632','5643264262195200','5690007030106112'); + + +select * from oms_order where status = 4 and id != '5655640702076928'; + +delete from oms_order where id in (select * from oms_order where status = 4 and id != '5655640702076928'); +delete from oms_order_item where order_id in (select * from oms_order where status = 4 and id != '5655640702076928'); +delete from oms_order_service where order_id in (select * from oms_order where status = 4 and id != '5655640702076928'); \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/package.json b/CatmDogd-Mall-Front-test/package.json new file mode 100644 index 0000000..3eb4754 --- /dev/null +++ b/CatmDogd-Mall-Front-test/package.json @@ -0,0 +1,99 @@ +{ + "name": "ruoyi-ui-merge", + "version": "3.8.3", + "description": "猫妈狗爸商城管理测试环境", + "author": "若依", + "license": "MIT", + "scripts": { + "dev": "vue-cli-service serve", + "start": "vue-cli-service serve", + "build:prod": "vue-cli-service build", + "build:stage": "vue-cli-service build --mode staging", + "preview": "node build/index.js --preview", + "lint": "eslint --ext .js,.vue src" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "src/**/*.{js,vue}": [ + "eslint --fix", + "git add" + ] + }, + "keywords": [ + "vue", + "admin", + "dashboard", + "element-ui", + "boilerplate", + "admin-template", + "management-system" + ], + "repository": { + "type": "git", + "url": "https://gitee.com/y_project/RuoYi-Vue.git" + }, + "dependencies": { + "@riophae/vue-treeselect": "0.4.0", + "axios": "^0.24.0", + "clipboard": "2.0.8", + "core-js": "3.19.1", + "echarts": "4.9.0", + "v-charts": "^1.19.0", + "element-ui": "2.15.8", + "file-saver": "2.0.5", + "fuse.js": "6.4.3", + "highlight.js": "9.18.5", + "js-beautify": "1.13.0", + "js-cookie": "3.0.1", + "jsencrypt": "3.0.0-rc.1", + "kr-print-designer": "^1.1.8", + "moment": "^2.24.0", + "nprogress": "0.2.0", + "quill": "1.3.7", + "screenfull": "5.0.2", + "sortablejs": "1.10.2", + "vue": "2.6.12", + "vue-count-to": "1.0.13", + "vue-cropper": "0.5.5", + "vue-meta": "2.4.0", + "vue-router": "3.4.9", + "vuedraggable": "2.24.3", + "vuex": "3.6.0" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "4.4.6", + "@vue/cli-plugin-eslint": "4.4.6", + "@vue/cli-service": "4.4.6", + "babel-eslint": "10.1.0", + "babel-plugin-dynamic-import-node": "2.3.3", + "chalk": "4.1.0", + "compression-webpack-plugin": "5.0.2", + "connect": "3.6.6", + "eslint": "7.15.0", + "eslint-plugin-vue": "7.2.0", + "html-webpack-plugin": "^4.5.2", + "lint-staged": "10.5.3", + "pug": "^2.0.3", + "pug-plain-loader": "^1.0.0", + "runjs": "4.4.2", + "sass": "1.32.13", + "sass-loader": "10.1.1", + "script-ext-html-webpack-plugin": "2.1.5", + "stylus": "^0.54.5", + "stylus-loader": "^3.0.2", + "svg-sprite-loader": "5.1.1", + "vue-template-compiler": "2.6.12" + }, + "engines": { + "node": ">=8.9", + "npm": ">= 3.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions" + ] +} diff --git a/CatmDogd-Mall-Front-test/public/favicon.ico b/CatmDogd-Mall-Front-test/public/favicon.ico new file mode 100644 index 0000000..e263760 Binary files /dev/null and b/CatmDogd-Mall-Front-test/public/favicon.ico differ diff --git a/CatmDogd-Mall-Front-test/public/html/ie.html b/CatmDogd-Mall-Front-test/public/html/ie.html new file mode 100644 index 0000000..052ffcd --- /dev/null +++ b/CatmDogd-Mall-Front-test/public/html/ie.html @@ -0,0 +1,46 @@ + + + + + + 请升级您的浏览器 + + + + + + +

请升级您的浏览器,以便我们更好的为您提供服务!

+

您正在使用 Internet Explorer 的早期版本(IE11以下版本或使用该内核的浏览器)。这意味着在升级浏览器前,您将无法访问此网站。

+
+

请注意:微软公司对Windows XP 及 Internet Explorer 早期版本的支持已经结束

+

自 2016 年 1 月 12 日起,Microsoft 不再为 IE 11 以下版本提供相应支持和更新。没有关键的浏览器安全更新,您的电脑可能易受有害病毒、间谍软件和其他恶意软件的攻击,它们可以窃取或损害您的业务数据和信息。请参阅 微软对 Internet Explorer 早期版本的支持将于 2016 年 1 月 12 日结束的说明

+
+

您可以选择更先进的浏览器

+

推荐使用以下浏览器的最新版本。如果您的电脑已有以下浏览器的最新版本则直接使用该浏览器访问即可。

+ +
+ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/public/index.html b/CatmDogd-Mall-Front-test/public/index.html new file mode 100644 index 0000000..c061c4c --- /dev/null +++ b/CatmDogd-Mall-Front-test/public/index.html @@ -0,0 +1,210 @@ + + + + + + + + + + + <%= webpackConfig.name %> + + + + +
+
+
+
+
+
正在加载系统资源,请耐心等待
+
+
+ + diff --git a/CatmDogd-Mall-Front-test/public/robots.txt b/CatmDogd-Mall-Front-test/public/robots.txt new file mode 100644 index 0000000..77470cb --- /dev/null +++ b/CatmDogd-Mall-Front-test/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/App.vue b/CatmDogd-Mall-Front-test/src/App.vue new file mode 100644 index 0000000..59c1ee2 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/App.vue @@ -0,0 +1,22 @@ + + + + diff --git a/CatmDogd-Mall-Front-test/src/api/aws/systemStatistics.js b/CatmDogd-Mall-Front-test/src/api/aws/systemStatistics.js new file mode 100644 index 0000000..8a5832b --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/aws/systemStatistics.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询系统数据统计列表 +export function listAwsSystemStatistics(query, pageReq) { + return request({ + url: '/aws/systemStatistics/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询系统数据统计详细 +export function getAwsSystemStatistics(id) { + return request({ + url: '/aws/systemStatistics/' + id, + method: 'get' + }) +} + +// 新增系统数据统计 +export function addAwsSystemStatistics(data) { + return request({ + url: '/aws/systemStatistics', + method: 'post', + data: data + }) +} + +// 修改系统数据统计 +export function updateAwsSystemStatistics(data) { + return request({ + url: '/aws/systemStatistics', + method: 'put', + data: data + }) +} + +// 删除系统数据统计 +export function delAwsSystemStatistics(id) { + return request({ + url: '/aws/systemStatistics/' + id, + method: 'delete' + }) +} + +// 导出系统数据统计 +export function exportAwsSystemStatistics(query) { + return request({ + url: '/aws/systemStatistics/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/login.js b/CatmDogd-Mall-Front-test/src/api/login.js new file mode 100644 index 0000000..649f59c --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/login.js @@ -0,0 +1,59 @@ +import request from '@/utils/request' + +// 登录方法 +export function login(username, password, code, uuid) { + const data = { + username, + password, + code, + uuid + } + return request({ + url: '/login', + headers: { + isToken: false + }, + method: 'post', + data: data + }) +} + +// 注册方法 +export function register(data) { + return request({ + url: '/register', + headers: { + isToken: false + }, + method: 'post', + data: data + }) +} + +// 获取用户详细信息 +export function getInfo() { + return request({ + url: '/getInfo', + method: 'get' + }) +} + +// 退出方法 +export function logout() { + return request({ + url: '/logout', + method: 'post' + }) +} + +// 获取验证码 +export function getCodeImg() { + return request({ + url: '/captchaImage', + headers: { + isToken: false + }, + method: 'get', + timeout: 20000 + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/marketing/wechatMemberCoupon.js b/CatmDogd-Mall-Front-test/src/api/marketing/wechatMemberCoupon.js new file mode 100644 index 0000000..0a46438 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/marketing/wechatMemberCoupon.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询会员券发放记录列表 +export function listWechatMemberCoupon(query) { + return request({ + url: '/mall/wechatMemberCoupon/list', + method: 'get', + params: query + }) +} + +// 查询会员券发放记录详细 +export function getWechatMemberCoupon(id) { + return request({ + url: '/mall/wechatMemberCoupon/' + id, + method: 'get' + }) +} + +// 新增会员券发放记录 +export function addWechatMemberCoupon(data) { + return request({ + url: '/mall/wechatMemberCoupon', + method: 'post', + data: data + }) +} + +// 发放会员券 +export function sendCoupon(data) { + return request({ + url: '/mall/wechatMemberCoupon/send', + method: 'post', + data: data + }) +} + +// 修改会员券发放记录 +export function updateWechatMemberCoupon(data) { + return request({ + url: '/mall/wechatMemberCoupon', + method: 'put', + data: data + }) +} + +// 删除会员券发放记录 +export function delWechatMemberCoupon(id) { + return request({ + url: '/mall/wechatMemberCoupon/' + id, + method: 'delete' + }) +} + +// 导出会员券发放记录 +export function exportWechatMemberCoupon(query) { + return request({ + url: '/mall/wechatMemberCoupon/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/marketing/wechatStock.js b/CatmDogd-Mall-Front-test/src/api/marketing/wechatStock.js new file mode 100644 index 0000000..eecfcf6 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/marketing/wechatStock.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询微信商家券列表 +export function listWechatStock(query) { + return request({ + url: '/mall/wechatStock/list', + method: 'get', + params: query + }) +} + +// 查询微信商家券详细 +export function getWechatStock(id) { + return request({ + url: '/mall/wechatStock/' + id, + method: 'get' + }) +} + +// 新增微信商家券 +export function addWechatStock(data) { + return request({ + url: '/mall/wechatStock', + method: 'post', + data: data + }) +} + +// 修改微信商家券 +export function updateWechatStock(data) { + return request({ + url: '/mall/wechatStock', + method: 'put', + data: data + }) +} + +// 删除微信商家券 +export function delWechatStock(id) { + return request({ + url: '/mall/wechatStock/' + id, + method: 'delete' + }) +} + +// 导出微信商家券 +export function exportWechatStock(query) { + return request({ + url: '/mall/wechatStock/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/menu.js b/CatmDogd-Mall-Front-test/src/api/menu.js new file mode 100644 index 0000000..faef101 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/menu.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 获取路由 +export const getRouters = () => { + return request({ + url: '/getRouters', + method: 'get' + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/model/AppExaminationInstructions.js b/CatmDogd-Mall-Front-test/src/api/model/AppExaminationInstructions.js new file mode 100644 index 0000000..aefc988 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/model/AppExaminationInstructions.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询考核说明配置列表 +export function listAppExaminationInstructions(query) { + return request({ + url: '/model/AppExaminationInstructions/list', + method: 'get', + params: query + }) +} + +// 查询考核说明配置详细 +export function getAppExaminationInstructions(examinationInstructionsId) { + return request({ + url: '/model/AppExaminationInstructions/' + examinationInstructionsId, + method: 'get' + }) +} + +// 新增考核说明配置 +export function addAppExaminationInstructions(data) { + return request({ + url: '/model/AppExaminationInstructions', + method: 'post', + data: data + }) +} + +// 修改考核说明配置 +export function updateAppExaminationInstructions(data) { + return request({ + url: '/model/AppExaminationInstructions', + method: 'put', + data: data + }) +} + +// 删除考核说明配置 +export function delAppExaminationInstructions(examinationInstructionsId) { + return request({ + url: '/model/AppExaminationInstructions/' + examinationInstructionsId, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/model/AppInvite.js b/CatmDogd-Mall-Front-test/src/api/model/AppInvite.js new file mode 100644 index 0000000..c835b83 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/model/AppInvite.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询邀请海报配置列表 +export function listAppInvite(query) { + return request({ + url: '/model/AppInvite/list', + method: 'get', + params: query + }) +} + +// 查询邀请海报配置详细 +export function getAppInvite(id) { + return request({ + url: '/model/AppInvite/' + id, + method: 'get' + }) +} + +// 新增邀请海报配置 +export function addAppInvite(data) { + return request({ + url: '/model/AppInvite', + method: 'post', + data: data + }) +} + +// 修改邀请海报配置 +export function updateAppInvite(data) { + return request({ + url: '/model/AppInvite', + method: 'put', + data: data + }) +} + +// 删除邀请海报配置 +export function delAppInvite(id) { + return request({ + url: '/model/AppInvite/' + id, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/model/UserBindingConfig.js b/CatmDogd-Mall-Front-test/src/api/model/UserBindingConfig.js new file mode 100644 index 0000000..059920b --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/model/UserBindingConfig.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询合伙人绑定页面配置列表 +export function listUserBindingConfig(query) { + return request({ + url: '/model/UserBindingConfig/list', + method: 'get', + params: query + }) +} + +// 查询合伙人绑定页面配置详细 +export function getUserBindingConfig(id) { + return request({ + url: '/model/UserBindingConfig/' + id, + method: 'get' + }) +} + +// 新增合伙人绑定页面配置 +export function addUserBindingConfig(data) { + return request({ + url: '/model/UserBindingConfig', + method: 'post', + data: data + }) +} + +// 修改合伙人绑定页面配置 +export function updateUserBindingConfig(data) { + return request({ + url: '/model/UserBindingConfig', + method: 'put', + data: data + }) +} + +// 删除合伙人绑定页面配置 +export function delUserBindingConfig(id) { + return request({ + url: '/model/UserBindingConfig/' + id, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/model/banner.js b/CatmDogd-Mall-Front-test/src/api/model/banner.js new file mode 100644 index 0000000..cf83f14 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/model/banner.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询轮播图列表 +export function listBanner(query) { + return request({ + url: '/model/banner/list', + method: 'get', + params: query + }) +} + +// 查询轮播图详细 +export function getBanner(id) { + return request({ + url: '/model/banner/' + id, + method: 'get' + }) +} + +// 新增轮播图 +export function addBanner(data) { + return request({ + url: '/model/banner', + method: 'post', + data: data + }) +} + +// 修改轮播图 +export function updateBanner(data) { + return request({ + url: '/model/banner', + method: 'put', + data: data + }) +} + +// 删除轮播图 +export function delBanner(id) { + return request({ + url: '/model/banner/' + id, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/model/indexConfigIcon.js b/CatmDogd-Mall-Front-test/src/api/model/indexConfigIcon.js new file mode 100644 index 0000000..55fdadc --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/model/indexConfigIcon.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询工作台图标列表 +export function listIndexConfigIcon(query) { + return request({ + url: '/model/indexConfigIcon/list', + method: 'get', + params: query + }) +} + +// 查询工作台图标详细 +export function getIndexConfigIcon(id) { + return request({ + url: '/model/indexConfigIcon/' + id, + method: 'get' + }) +} + +// 新增工作台图标 +export function addIndexConfigIcon(data) { + return request({ + url: '/model/indexConfigIcon', + method: 'post', + data: data + }) +} + +// 修改工作台图标 +export function updateIndexConfigIcon(data) { + return request({ + url: '/model/indexConfigIcon', + method: 'put', + data: data + }) +} + +// 删除工作台图标 +export function delIndexConfigIcon(id) { + return request({ + url: '/model/indexConfigIcon/' + id, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/model/indexPartnerConfig.js b/CatmDogd-Mall-Front-test/src/api/model/indexPartnerConfig.js new file mode 100644 index 0000000..1441fe2 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/model/indexPartnerConfig.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询加入合伙人提示配置列表 +export function listIndexPartnerConfig(query) { + return request({ + url: '/model/indexPartnerConfig/list', + method: 'get', + params: query + }) +} + +// 查询加入合伙人提示配置详细 +export function getIndexPartnerConfig(partnerBackground) { + return request({ + url: '/model/indexPartnerConfig/' + partnerBackground, + method: 'get' + }) +} + +// 新增加入合伙人提示配置 +export function addIndexPartnerConfig(data) { + return request({ + url: '/model/indexPartnerConfig', + method: 'post', + data: data + }) +} + +// 修改加入合伙人提示配置 +export function updateIndexPartnerConfig(data) { + return request({ + url: '/model/indexPartnerConfig', + method: 'put', + data: data + }) +} + +// 删除加入合伙人提示配置 +export function delIndexPartnerConfig(partnerBackground) { + return request({ + url: '/model/indexPartnerConfig/' + partnerBackground, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/model/license.js b/CatmDogd-Mall-Front-test/src/api/model/license.js new file mode 100644 index 0000000..121be21 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/model/license.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询执照列表 +export function listLicense(query) { + return request({ + url: '/model/license/list', + method: 'get', + params: query + }) +} + +// 查询执照详细 +export function getLicense(licenseId) { + return request({ + url: '/model/license/' + licenseId, + method: 'get' + }) +} + +// 新增执照 +export function addLicense(data) { + return request({ + url: '/model/license', + method: 'post', + data: data + }) +} + +// 修改执照 +export function updateLicense(data) { + return request({ + url: '/model/license', + method: 'put', + data: data + }) +} + +// 删除执照 +export function delLicense(licenseId) { + return request({ + url: '/model/license/' + licenseId, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/model/petType.js b/CatmDogd-Mall-Front-test/src/api/model/petType.js new file mode 100644 index 0000000..5786f30 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/model/petType.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询宠物类型列表 +export function listPetType(query) { + return request({ + url: '/model/petType/list', + method: 'get', + params: query + }) +} + +// 查询宠物类型详细 +export function getPetType(petTypeId) { + return request({ + url: '/model/petType/' + petTypeId, + method: 'get' + }) +} + +// 新增宠物类型 +export function addPetType(data) { + return request({ + url: '/model/petType', + method: 'post', + data: data + }) +} + +// 修改宠物类型 +export function updatePetType(data) { + return request({ + url: '/model/petType', + method: 'put', + data: data + }) +} + +// 删除宠物类型 +export function delPetType(petTypeId) { + return request({ + url: '/model/petType/' + petTypeId, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/monitor/cache.js b/CatmDogd-Mall-Front-test/src/api/monitor/cache.js new file mode 100644 index 0000000..72c5f6a --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/monitor/cache.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +// 查询缓存详细 +export function getCache() { + return request({ + url: '/monitor/cache', + method: 'get' + }) +} + +// 查询缓存名称列表 +export function listCacheName() { + return request({ + url: '/monitor/cache/getNames', + method: 'get' + }) +} + +// 查询缓存键名列表 +export function listCacheKey(cacheName) { + return request({ + url: '/monitor/cache/getKeys/' + cacheName, + method: 'get' + }) +} + +// 查询缓存内容 +export function getCacheValue(cacheName, cacheKey) { + return request({ + url: '/monitor/cache/getValue/' + cacheName + '/' + cacheKey, + method: 'get' + }) +} + +// 清理指定名称缓存 +export function clearCacheName(cacheName) { + return request({ + url: '/monitor/cache/clearCacheName/' + cacheName, + method: 'delete' + }) +} + +// 清理指定键名缓存 +export function clearCacheKey(cacheKey) { + return request({ + url: '/monitor/cache/clearCacheKey/' + cacheKey, + method: 'delete' + }) +} + +// 清理全部缓存 +export function clearCacheAll() { + return request({ + url: '/monitor/cache/clearCacheAll', + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/monitor/job.js b/CatmDogd-Mall-Front-test/src/api/monitor/job.js new file mode 100644 index 0000000..3815569 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/monitor/job.js @@ -0,0 +1,71 @@ +import request from '@/utils/request' + +// 查询定时任务调度列表 +export function listJob(query) { + return request({ + url: '/monitor/job/list', + method: 'get', + params: query + }) +} + +// 查询定时任务调度详细 +export function getJob(jobId) { + return request({ + url: '/monitor/job/' + jobId, + method: 'get' + }) +} + +// 新增定时任务调度 +export function addJob(data) { + return request({ + url: '/monitor/job', + method: 'post', + data: data + }) +} + +// 修改定时任务调度 +export function updateJob(data) { + return request({ + url: '/monitor/job', + method: 'put', + data: data + }) +} + +// 删除定时任务调度 +export function delJob(jobId) { + return request({ + url: '/monitor/job/' + jobId, + method: 'delete' + }) +} + +// 任务状态修改 +export function changeJobStatus(jobId, status) { + const data = { + jobId, + status + } + return request({ + url: '/monitor/job/changeStatus', + method: 'put', + data: data + }) +} + + +// 定时任务立即执行一次 +export function runJob(jobId, jobGroup) { + const data = { + jobId, + jobGroup + } + return request({ + url: '/monitor/job/run', + method: 'put', + data: data + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/monitor/jobLog.js b/CatmDogd-Mall-Front-test/src/api/monitor/jobLog.js new file mode 100644 index 0000000..6e0be61 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/monitor/jobLog.js @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 查询调度日志列表 +export function listJobLog(query) { + return request({ + url: '/monitor/jobLog/list', + method: 'get', + params: query + }) +} + +// 删除调度日志 +export function delJobLog(jobLogId) { + return request({ + url: '/monitor/jobLog/' + jobLogId, + method: 'delete' + }) +} + +// 清空调度日志 +export function cleanJobLog() { + return request({ + url: '/monitor/jobLog/clean', + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/monitor/logininfor.js b/CatmDogd-Mall-Front-test/src/api/monitor/logininfor.js new file mode 100644 index 0000000..26a46eb --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/monitor/logininfor.js @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 查询登录日志列表 +export function list(query) { + return request({ + url: '/monitor/logininfor/list', + method: 'get', + params: query + }) +} + +// 删除登录日志 +export function delLogininfor(infoId) { + return request({ + url: '/monitor/logininfor/' + infoId, + method: 'delete' + }) +} + +// 清空登录日志 +export function cleanLogininfor() { + return request({ + url: '/monitor/logininfor/clean', + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/monitor/online.js b/CatmDogd-Mall-Front-test/src/api/monitor/online.js new file mode 100644 index 0000000..bd22137 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/monitor/online.js @@ -0,0 +1,18 @@ +import request from '@/utils/request' + +// 查询在线用户列表 +export function list(query) { + return request({ + url: '/monitor/online/list', + method: 'get', + params: query + }) +} + +// 强退用户 +export function forceLogout(tokenId) { + return request({ + url: '/monitor/online/' + tokenId, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/monitor/operlog.js b/CatmDogd-Mall-Front-test/src/api/monitor/operlog.js new file mode 100644 index 0000000..a04bca8 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/monitor/operlog.js @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 查询操作日志列表 +export function list(query) { + return request({ + url: '/monitor/operlog/list', + method: 'get', + params: query + }) +} + +// 删除操作日志 +export function delOperlog(operId) { + return request({ + url: '/monitor/operlog/' + operId, + method: 'delete' + }) +} + +// 清空操作日志 +export function cleanOperlog() { + return request({ + url: '/monitor/operlog/clean', + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/monitor/server.js b/CatmDogd-Mall-Front-test/src/api/monitor/server.js new file mode 100644 index 0000000..e1f9ca2 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/monitor/server.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 获取服务信息 +export function getServer() { + return request({ + url: '/monitor/server', + method: 'get' + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/oms/aftersale.js b/CatmDogd-Mall-Front-test/src/api/oms/aftersale.js new file mode 100644 index 0000000..23bce5e --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/oms/aftersale.js @@ -0,0 +1,70 @@ +import request from '@/utils/request' + +// 查询订单售后列表 +export function listOmsAftersale(query, pageReq) { + return request({ + url: '/oms/aftersale/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询订单售后详细 +export function getOmsAftersale(id) { + return request({ + url: '/oms/aftersale/' + id, + method: 'get' + }) +} + +// 新增订单售后 +export function addOmsAftersale(data) { + return request({ + url: '/oms/aftersale', + method: 'post', + data: data + }) +} + +// 修改订单售后 +export function updateOmsAftersale(data) { + return request({ + url: '/oms/aftersale', + method: 'put', + data: data + }) +} + +// 删除订单售后 +export function delOmsAftersale(id) { + return request({ + url: '/oms/aftersale/' + id, + method: 'delete' + }) +} + +// 导出订单售后 +export function exportOmsAftersale(query) { + return request({ + url: '/oms/aftersale/export', + method: 'get', + params: query + }) +} + +// 售后订单操作 +export function dealWithAftersale(data){ + return request({ + url: '/oms/aftersale/dealWith', + method: 'post', + data: data + }) +} + +export function viewLog(orderId){ + return request({ + url: `/oms/aftersale/log/` + orderId, + method: 'get' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/oms/aftersaleItem.js b/CatmDogd-Mall-Front-test/src/api/oms/aftersaleItem.js new file mode 100644 index 0000000..2ec63d6 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/oms/aftersaleItem.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询订单售后列表 +export function listOmsAftersaleItem(query, pageReq) { + return request({ + url: '/oms/aftersaleItem/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询订单售后详细 +export function getOmsAftersaleItem(id) { + return request({ + url: '/oms/aftersaleItem/' + id, + method: 'get' + }) +} + +// 新增订单售后 +export function addOmsAftersaleItem(data) { + return request({ + url: '/oms/aftersaleItem', + method: 'post', + data: data + }) +} + +// 修改订单售后 +export function updateOmsAftersaleItem(data) { + return request({ + url: '/oms/aftersaleItem', + method: 'put', + data: data + }) +} + +// 删除订单售后 +export function delOmsAftersaleItem(id) { + return request({ + url: '/oms/aftersaleItem/' + id, + method: 'delete' + }) +} + +// 导出订单售后 +export function exportOmsAftersaleItem(query) { + return request({ + url: '/oms/aftersaleItem/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/oms/order.js b/CatmDogd-Mall-Front-test/src/api/oms/order.js new file mode 100644 index 0000000..44d332c --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/oms/order.js @@ -0,0 +1,98 @@ +import request from '@/utils/request' + +// 查询订单表列表 +export function listOmsOrder(query, pageReq) { + return request({ + url: '/oms/order/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询订单表详细 +export function getOmsOrder(id) { + return request({ + url: '/oms/order/' + id, + method: 'get' + }) +} + +// 新增订单表 +export function addOmsOrder(data) { + return request({ + url: '/oms/order', + method: 'post', + data: data + }) +} + +// 修改订单表 +export function updateOmsOrder(data) { + return request({ + url: '/oms/order', + method: 'put', + data: data + }) +} + +// 删除订单表 +export function delOmsOrder(id) { + return request({ + url: '/oms/order/' + id, + method: 'delete' + }) +} + +// 导出订单表 +export function exportOmsOrder(query) { + return request({ + url: '/oms/order/export', + method: 'get', + params: query + }) +} + +// 保存商家备注 +export function saveMerchantNote(data){ + return request({ + url: '/oms/order/merchantNote/add', + method: 'post', + data: data + }) +} + +// 发货 +export function deliverProduct(data){ + return request({ + url: '/oms/order/deliverProduct', + method: 'post', + data: data + }) +} + +// 完成订单 +export function completeOrder(data){ + return request({ + url: '/oms/order/completeOrder', + method: 'post', + data: data + }) +} + +// 查看订单操作日志 +export function viewLog(orderId){ + return request({ + url:`/oms/order/log/` + orderId, + method: 'get' + }) +} + +// 完成订单 +export function applyRefund(data){ + return request({ + url: '/oms/order/applyRefund', + method: 'post', + data: data + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/oms/orderDeliveryHistory.js b/CatmDogd-Mall-Front-test/src/api/oms/orderDeliveryHistory.js new file mode 100644 index 0000000..59f08e9 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/oms/orderDeliveryHistory.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询订单发货记录列表 +export function listOmsOrderDeliveryHistory(query, pageReq) { + return request({ + url: '/oms/orderDeliveryHistory/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询订单发货记录详细 +export function getOmsOrderDeliveryHistory(id) { + return request({ + url: '/oms/orderDeliveryHistory/' + id, + method: 'get' + }) +} + +// 新增订单发货记录 +export function addOmsOrderDeliveryHistory(data) { + return request({ + url: '/oms/orderDeliveryHistory', + method: 'post', + data: data + }) +} + +// 修改订单发货记录 +export function updateOmsOrderDeliveryHistory(data) { + return request({ + url: '/oms/orderDeliveryHistory', + method: 'put', + data: data + }) +} + +// 删除订单发货记录 +export function delOmsOrderDeliveryHistory(id) { + return request({ + url: '/oms/orderDeliveryHistory/' + id, + method: 'delete' + }) +} + +// 导出订单发货记录 +export function exportOmsOrderDeliveryHistory(query) { + return request({ + url: '/oms/orderDeliveryHistory/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/oms/orderItem.js b/CatmDogd-Mall-Front-test/src/api/oms/orderItem.js new file mode 100644 index 0000000..9b05a42 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/oms/orderItem.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询订单中所包含的商品列表 +export function listOmsOrderItem(query, pageReq) { + return request({ + url: '/oms/orderItem/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询订单中所包含的商品详细 +export function getOmsOrderItem(id) { + return request({ + url: '/oms/orderItem/' + id, + method: 'get' + }) +} + +// 新增订单中所包含的商品 +export function addOmsOrderItem(data) { + return request({ + url: '/oms/orderItem', + method: 'post', + data: data + }) +} + +// 修改订单中所包含的商品 +export function updateOmsOrderItem(data) { + return request({ + url: '/oms/orderItem', + method: 'put', + data: data + }) +} + +// 删除订单中所包含的商品 +export function delOmsOrderItem(id) { + return request({ + url: '/oms/orderItem/' + id, + method: 'delete' + }) +} + +// 导出订单中所包含的商品 +export function exportOmsOrderItem(query) { + return request({ + url: '/oms/orderItem/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/oms/orderOperateHistory.js b/CatmDogd-Mall-Front-test/src/api/oms/orderOperateHistory.js new file mode 100644 index 0000000..ebb3055 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/oms/orderOperateHistory.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询订单操作历史记录列表 +export function listOmsOrderOperateHistory(query, pageReq) { + return request({ + url: '/oms/orderOperateHistory/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询订单操作历史记录详细 +export function getOmsOrderOperateHistory(id) { + return request({ + url: '/oms/orderOperateHistory/' + id, + method: 'get' + }) +} + +// 新增订单操作历史记录 +export function addOmsOrderOperateHistory(data) { + return request({ + url: '/oms/orderOperateHistory', + method: 'post', + data: data + }) +} + +// 修改订单操作历史记录 +export function updateOmsOrderOperateHistory(data) { + return request({ + url: '/oms/orderOperateHistory', + method: 'put', + data: data + }) +} + +// 删除订单操作历史记录 +export function delOmsOrderOperateHistory(id) { + return request({ + url: '/oms/orderOperateHistory/' + id, + method: 'delete' + }) +} + +// 导出订单操作历史记录 +export function exportOmsOrderOperateHistory(query) { + return request({ + url: '/oms/orderOperateHistory/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/oms/orderService.js b/CatmDogd-Mall-Front-test/src/api/oms/orderService.js new file mode 100644 index 0000000..baa49b4 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/oms/orderService.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询预约订单服务详细信息记录表列表 +export function listOmsOrderService(query) { + return request({ + url: '/order/omsOrderService/list', + method: 'get', + params: query + }) +} + +// 查询预约订单服务详细信息记录表详细 +export function getOmsOrderService(id) { + return request({ + url: '/order/omsOrderService/' + id, + method: 'get' + }) +} + +// 新增预约订单服务详细信息记录表 +export function addOmsOrderService(data) { + return request({ + url: '/order/omsOrderService', + method: 'post', + data: data + }) +} + +// 修改预约订单服务详细信息记录表 +export function updateOmsOrderService(data) { + return request({ + url: '/order/omsOrderService', + method: 'put', + data: data + }) +} + +// 删除预约订单服务详细信息记录表 +export function delOmsOrderService(id) { + return request({ + url: '/order/omsOrderService/' + id, + method: 'delete' + }) +} + +// 导出预约订单服务详细信息记录表 +export function exportOmsOrderService(query) { + return request({ + url: '/order/omsOrderService/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/oms/wechatPaymentHistory.js b/CatmDogd-Mall-Front-test/src/api/oms/wechatPaymentHistory.js new file mode 100644 index 0000000..4c033de --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/oms/wechatPaymentHistory.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询微信订单表列表 +export function listOmsWechatPaymentHistory(query, pageReq) { + return request({ + url: '/pms/omsWechatPaymentHistory/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询微信订单表详细 +export function getOmsWechatPaymentHistory(id) { + return request({ + url: '/pms/omsWechatPaymentHistory/' + id, + method: 'get' + }) +} + +// 新增微信订单表 +export function addOmsWechatPaymentHistory(data) { + return request({ + url: '/pms/omsWechatPaymentHistory', + method: 'post', + data: data + }) +} + +// 修改微信订单表 +export function updateOmsWechatPaymentHistory(data) { + return request({ + url: '/pms/omsWechatPaymentHistory', + method: 'put', + data: data + }) +} + +// 删除微信订单表 +export function delOmsWechatPaymentHistory(id) { + return request({ + url: '/pms/omsWechatPaymentHistory/' + id, + method: 'delete' + }) +} + +// 导出微信订单表 +export function exportOmsWechatPaymentHistory(query) { + return request({ + url: '/pms/omsWechatPaymentHistory/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/pms/brand.js b/CatmDogd-Mall-Front-test/src/api/pms/brand.js new file mode 100644 index 0000000..11c3253 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/pms/brand.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询品牌管理列表 +export function listPmsBrand(query, pageReq) { + return request({ + url: '/pms/brand/list', + method: 'post', + data: query, + params: pageReq + }) +} +export function allBrand(query, pageReq) { + return request({ + url: '/pms/brand/all', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询品牌管理详细 +export function getPmsBrand(id) { + return request({ + url: '/pms/brand/' + id, + method: 'get' + }) +} + +// 新增品牌管理 +export function addPmsBrand(data) { + return request({ + url: '/pms/brand', + method: 'post', + data: data + }) +} + +// 修改品牌管理 +export function updatePmsBrand(data) { + return request({ + url: '/pms/brand', + method: 'put', + data: data + }) +} + +// 删除品牌管理 +export function delPmsBrand(id) { + return request({ + url: '/pms/brand/' + id, + method: 'delete' + }) +} + +// 导出品牌管理 +export function exportPmsBrand(query) { + return request({ + url: '/pms/brand/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/pms/product.js b/CatmDogd-Mall-Front-test/src/api/pms/product.js new file mode 100644 index 0000000..b280364 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/pms/product.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询商品信息列表 +export function listPmsProduct(query, pageReq) { + return request({ + url: '/pms/product/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询商品信息详细 +export function getPmsProduct(id) { + return request({ + url: '/pms/product/' + id, + method: 'get' + }) +} + +// 新增商品信息 +export function addPmsProduct(data) { + return request({ + url: '/pms/product', + method: 'post', + data: data + }) +} + +// 修改商品信息 +export function updatePmsProduct(data) { + return request({ + url: '/pms/product', + method: 'put', + data: data + }) +} + +// 删除商品信息 +export function delPmsProduct(id) { + return request({ + url: '/pms/product/' + id, + method: 'delete' + }) +} + +// 导出商品信息 +export function exportPmsProduct(query) { + return request({ + url: '/pms/product/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/pms/productCategory.js b/CatmDogd-Mall-Front-test/src/api/pms/productCategory.js new file mode 100644 index 0000000..7ca41e3 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/pms/productCategory.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询商品分类列表 +export function listPmsProductCategory(query, pageReq) { + return request({ + url: '/pms/productCategory/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询商品分类详细 +export function getPmsProductCategory(id) { + return request({ + url: '/pms/productCategory/' + id, + method: 'get' + }) +} + +// 新增商品分类 +export function addPmsProductCategory(data) { + return request({ + url: '/pms/productCategory', + method: 'post', + data: data + }) +} + +// 修改商品分类 +export function updatePmsProductCategory(data) { + return request({ + url: '/pms/productCategory', + method: 'put', + data: data + }) +} + +// 删除商品分类 +export function delPmsProductCategory(id) { + return request({ + url: '/pms/productCategory/' + id, + method: 'delete' + }) +} + +// 导出商品分类 +export function exportPmsProductCategory(query) { + return request({ + url: '/pms/productCategory/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/pms/sku.js b/CatmDogd-Mall-Front-test/src/api/pms/sku.js new file mode 100644 index 0000000..0f0e3dc --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/pms/sku.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询sku信息列表 +export function listPmsSku(query, pageReq) { + return request({ + url: '/pms/sku/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询sku信息详细 +export function getPmsSku(id) { + return request({ + url: '/pms/sku/' + id, + method: 'get' + }) +} + +// 新增sku信息 +export function addPmsSku(data) { + return request({ + url: '/pms/sku', + method: 'post', + data: data + }) +} + +// 修改sku信息 +export function updatePmsSku(data) { + return request({ + url: '/pms/sku', + method: 'put', + data: data + }) +} + +// 删除sku信息 +export function delPmsSku(id) { + return request({ + url: '/pms/sku/' + id, + method: 'delete' + }) +} + +// 导出sku信息 +export function exportPmsSku(query) { + return request({ + url: '/pms/sku/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/statistics/index.js b/CatmDogd-Mall-Front-test/src/api/statistics/index.js new file mode 100644 index 0000000..f2ce071 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/statistics/index.js @@ -0,0 +1,32 @@ +import request from '@/utils/request' + +// 获取首页查询热卖商品TOP +export function goodsStatistics(query) { + return request({ + url: '/dev/statistics/index/goodsStatistics', + method: 'get', + params: query + }) +} +export function memberAndCartStatistics() { + return request({ + url: '/dev/statistics/index/memberAndCart/statistics', + method: 'get' + }) +} + +export function orderAndAftersaleStatistics() { + return request({ + url: '/dev/statistics/index/order/aftersale/statistics', + method: 'get' + }) +} + +// 获取订单信息 +export function orderStatistics(query) { + return request({ + url: '/dev/statistics/index/orderStatistics', + method: 'post', + data: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/system/common.js b/CatmDogd-Mall-Front-test/src/api/system/common.js new file mode 100644 index 0000000..d42ccf9 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/common.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' + +// 查询省市区列表 +export function areaSelect(query) { + return request({ + url: '/common/area', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/system/config.js b/CatmDogd-Mall-Front-test/src/api/system/config.js new file mode 100644 index 0000000..a404d82 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/config.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 查询参数列表 +export function listConfig(query) { + return request({ + url: '/system/config/list', + method: 'get', + params: query + }) +} + +// 查询参数详细 +export function getConfig(configId) { + return request({ + url: '/system/config/' + configId, + method: 'get' + }) +} + +// 根据参数键名查询参数值 +export function getConfigKey(configKey) { + return request({ + url: '/system/config/configKey/' + configKey, + method: 'get' + }) +} + +// 新增参数配置 +export function addConfig(data) { + return request({ + url: '/system/config', + method: 'post', + data: data + }) +} + +// 修改参数配置 +export function updateConfig(data) { + return request({ + url: '/system/config', + method: 'put', + data: data + }) +} + +// 删除参数配置 +export function delConfig(configId) { + return request({ + url: '/system/config/' + configId, + method: 'delete' + }) +} + +// 刷新参数缓存 +export function refreshCache() { + return request({ + url: '/system/config/refreshCache', + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/system/dept.js b/CatmDogd-Mall-Front-test/src/api/system/dept.js new file mode 100644 index 0000000..2804676 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/dept.js @@ -0,0 +1,68 @@ +import request from '@/utils/request' + +// 查询部门列表 +export function listDept(query) { + return request({ + url: '/system/dept/list', + method: 'get', + params: query + }) +} + +// 查询部门列表(排除节点) +export function listDeptExcludeChild(deptId) { + return request({ + url: '/system/dept/list/exclude/' + deptId, + method: 'get' + }) +} + +// 查询部门详细 +export function getDept(deptId) { + return request({ + url: '/system/dept/' + deptId, + method: 'get' + }) +} + +// 查询部门下拉树结构 +export function treeselect() { + return request({ + url: '/system/dept/treeselect', + method: 'get' + }) +} + +// 根据角色ID查询部门树结构 +export function roleDeptTreeselect(roleId) { + return request({ + url: '/system/dept/roleDeptTreeselect/' + roleId, + method: 'get' + }) +} + +// 新增部门 +export function addDept(data) { + return request({ + url: '/system/dept', + method: 'post', + data: data + }) +} + +// 修改部门 +export function updateDept(data) { + return request({ + url: '/system/dept', + method: 'put', + data: data + }) +} + +// 删除部门 +export function delDept(deptId) { + return request({ + url: '/system/dept/' + deptId, + method: 'delete' + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/system/dict/data.js b/CatmDogd-Mall-Front-test/src/api/system/dict/data.js new file mode 100644 index 0000000..f0dfc8d --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/dict/data.js @@ -0,0 +1,69 @@ +import request from '@/utils/request' + +// 查询字典数据列表 +export function listData(query) { + return request({ + url: '/system/dict/data/list', + method: 'get', + params: query + }) +} + +// 查询字典数据详细 +export function getData(dictCode) { + return request({ + url: '/system/dict/data/' + dictCode, + method: 'get' + }) +} + +// 根据字典类型查询字典数据信息 +export function getDicts(dictType) { + return request({ + url: '/system/dict/data/type/' + dictType, + method: 'get' + }) +} + +// 新增字典数据 +export function addData(data) { + return request({ + url: '/system/dict/data', + method: 'post', + data: data + }) +} + +// 修改字典数据 +export function updateData(data) { + return request({ + url: '/system/dict/data', + method: 'put', + data: data + }) +} + +// 删除字典数据 +export function delData(dictCode) { + return request({ + url: '/system/dict/data/' + dictCode, + method: 'delete' + }) +} +// 删除字典数据 +export function listByTypes(dictTypes) { + return request({ + url: '/system/dict/data/by_types', + method: 'POST', + data: dictTypes + }) +} + +// 删除字典数据 +export function allByTypes(dictTypes) { + return request({ + url: '/system/dict/data/all-by-types', + method: 'POST', + data: dictTypes + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/system/dict/type.js b/CatmDogd-Mall-Front-test/src/api/system/dict/type.js new file mode 100644 index 0000000..a7a6e01 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/dict/type.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 查询字典类型列表 +export function listType(query) { + return request({ + url: '/system/dict/type/list', + method: 'get', + params: query + }) +} + +// 查询字典类型详细 +export function getType(dictId) { + return request({ + url: '/system/dict/type/' + dictId, + method: 'get' + }) +} + +// 新增字典类型 +export function addType(data) { + return request({ + url: '/system/dict/type', + method: 'post', + data: data + }) +} + +// 修改字典类型 +export function updateType(data) { + return request({ + url: '/system/dict/type', + method: 'put', + data: data + }) +} + +// 删除字典类型 +export function delType(dictId) { + return request({ + url: '/system/dict/type/' + dictId, + method: 'delete' + }) +} + +// 刷新字典缓存 +export function refreshCache() { + return request({ + url: '/system/dict/type/refreshCache', + method: 'delete' + }) +} + +// 获取字典选择框列表 +export function optionselect() { + return request({ + url: '/system/dict/type/optionselect', + method: 'get' + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/system/image.js b/CatmDogd-Mall-Front-test/src/api/system/image.js new file mode 100644 index 0000000..2b1e1cf --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/image.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询人员信息列表 +export function listImage(query) { + return request({ + url: '/system/image/list', + method: 'get', + params: query + }) +} + +// 查询人员信息详细 +export function getImage(id) { + return request({ + url: '/system/image/' + id, + method: 'get' + }) +} + +// 新增人员信息 +export function addImage(data) { + return request({ + url: '/system/image', + method: 'post', + data: data + }) +} + +// 修改人员信息 +export function updateImage(data) { + return request({ + url: '/system/image', + method: 'put', + data: data + }) +} + +// 删除人员信息 +export function delImage(id) { + return request({ + url: '/system/image/' + id, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/system/menu.js b/CatmDogd-Mall-Front-test/src/api/system/menu.js new file mode 100644 index 0000000..f6415c6 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/menu.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 查询菜单列表 +export function listMenu(query) { + return request({ + url: '/system/menu/list', + method: 'get', + params: query + }) +} + +// 查询菜单详细 +export function getMenu(menuId) { + return request({ + url: '/system/menu/' + menuId, + method: 'get' + }) +} + +// 查询菜单下拉树结构 +export function treeselect() { + return request({ + url: '/system/menu/treeselect', + method: 'get' + }) +} + +// 根据角色ID查询菜单下拉树结构 +export function roleMenuTreeselect(roleId) { + return request({ + url: '/system/menu/roleMenuTreeselect/' + roleId, + method: 'get' + }) +} + +// 新增菜单 +export function addMenu(data) { + return request({ + url: '/system/menu', + method: 'post', + data: data + }) +} + +// 修改菜单 +export function updateMenu(data) { + return request({ + url: '/system/menu', + method: 'put', + data: data + }) +} + +// 删除菜单 +export function delMenu(menuId) { + return request({ + url: '/system/menu/' + menuId, + method: 'delete' + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/system/notice.js b/CatmDogd-Mall-Front-test/src/api/system/notice.js new file mode 100644 index 0000000..c274ea5 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/notice.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询公告列表 +export function listNotice(query) { + return request({ + url: '/system/notice/list', + method: 'get', + params: query + }) +} + +// 查询公告详细 +export function getNotice(noticeId) { + return request({ + url: '/system/notice/' + noticeId, + method: 'get' + }) +} + +// 新增公告 +export function addNotice(data) { + return request({ + url: '/system/notice', + method: 'post', + data: data + }) +} + +// 修改公告 +export function updateNotice(data) { + return request({ + url: '/system/notice', + method: 'put', + data: data + }) +} + +// 删除公告 +export function delNotice(noticeId) { + return request({ + url: '/system/notice/' + noticeId, + method: 'delete' + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/system/post.js b/CatmDogd-Mall-Front-test/src/api/system/post.js new file mode 100644 index 0000000..1a8e9ca --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/post.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询岗位列表 +export function listPost(query) { + return request({ + url: '/system/post/list', + method: 'get', + params: query + }) +} + +// 查询岗位详细 +export function getPost(postId) { + return request({ + url: '/system/post/' + postId, + method: 'get' + }) +} + +// 新增岗位 +export function addPost(data) { + return request({ + url: '/system/post', + method: 'post', + data: data + }) +} + +// 修改岗位 +export function updatePost(data) { + return request({ + url: '/system/post', + method: 'put', + data: data + }) +} + +// 删除岗位 +export function delPost(postId) { + return request({ + url: '/system/post/' + postId, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/system/role.js b/CatmDogd-Mall-Front-test/src/api/system/role.js new file mode 100644 index 0000000..4b455e1 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/role.js @@ -0,0 +1,111 @@ +import request from '@/utils/request' + +// 查询角色列表 +export function listRole(query) { + return request({ + url: '/system/role/list', + method: 'get', + params: query + }) +} + +// 查询角色详细 +export function getRole(roleId) { + return request({ + url: '/system/role/' + roleId, + method: 'get' + }) +} + +// 新增角色 +export function addRole(data) { + return request({ + url: '/system/role', + method: 'post', + data: data + }) +} + +// 修改角色 +export function updateRole(data) { + return request({ + url: '/system/role', + method: 'put', + data: data + }) +} + +// 角色数据权限 +export function dataScope(data) { + return request({ + url: '/system/role/dataScope', + method: 'put', + data: data + }) +} + +// 角色状态修改 +export function changeRoleStatus(roleId, status) { + const data = { + roleId, + status + } + return request({ + url: '/system/role/changeStatus', + method: 'put', + data: data + }) +} + +// 删除角色 +export function delRole(roleId) { + return request({ + url: '/system/role/' + roleId, + method: 'delete' + }) +} + +// 查询角色已授权用户列表 +export function allocatedUserList(query) { + return request({ + url: '/system/role/authUser/allocatedList', + method: 'get', + params: query + }) +} + +// 查询角色未授权用户列表 +export function unallocatedUserList(query) { + return request({ + url: '/system/role/authUser/unallocatedList', + method: 'get', + params: query + }) +} + +// 取消用户授权角色 +export function authUserCancel(data) { + return request({ + url: '/system/role/authUser/cancel', + method: 'put', + data: data + }) +} + +// 批量取消用户授权角色 +export function authUserCancelAll(data) { + return request({ + url: '/system/role/authUser/cancelAll', + method: 'put', + params: data + }) +} + +// 授权用户选择 +export function authUserSelectAll(data) { + return request({ + url: '/system/role/authUser/selectAll', + method: 'put', + params: data + }) +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/api/system/staff.js b/CatmDogd-Mall-Front-test/src/api/system/staff.js new file mode 100644 index 0000000..d4d4b17 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/staff.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询人员信息列表 +export function listStaff(query) { + return request({ + url: '/system/staff/list', + method: 'get', + params: query + }) +} + +// 查询人员信息详细 +export function getStaff(id) { + return request({ + url: '/system/staff/' + id, + method: 'get' + }) +} + +// 新增人员信息 +export function addStaff(data) { + return request({ + url: '/system/staff', + method: 'post', + data: data + }) +} + +// 修改人员信息 +export function updateStaff(data) { + return request({ + url: '/system/staff', + method: 'put', + data: data + }) +} + +// 删除人员信息 +export function delStaff(id) { + return request({ + url: '/system/staff/' + id, + method: 'delete' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/system/user.js b/CatmDogd-Mall-Front-test/src/api/system/user.js new file mode 100644 index 0000000..4fd752b --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/system/user.js @@ -0,0 +1,127 @@ +import request from '@/utils/request' +import { parseStrEmpty } from "@/utils/ruoyi"; + +// 查询用户列表 +export function listUser(query) { + return request({ + url: '/system/user/list', + method: 'get', + params: query + }) +} + +// 查询用户详细 +export function getUser(userId) { + return request({ + url: '/system/user/' + parseStrEmpty(userId), + method: 'get' + }) +} + +// 新增用户 +export function addUser(data) { + return request({ + url: '/system/user', + method: 'post', + data: data + }) +} + +// 修改用户 +export function updateUser(data) { + return request({ + url: '/system/user', + method: 'put', + data: data + }) +} + +// 删除用户 +export function delUser(userId) { + return request({ + url: '/system/user/' + userId, + method: 'delete' + }) +} + +// 用户密码重置 +export function resetUserPwd(userId, password) { + const data = { + userId, + password + } + return request({ + url: '/system/user/resetPwd', + method: 'put', + data: data + }) +} + +// 用户状态修改 +export function changeUserStatus(userId, status) { + const data = { + userId, + status + } + return request({ + url: '/system/user/changeStatus', + method: 'put', + data: data + }) +} + +// 查询用户个人信息 +export function getUserProfile() { + return request({ + url: '/system/user/profile', + method: 'get' + }) +} + +// 修改用户个人信息 +export function updateUserProfile(data) { + return request({ + url: '/system/user/profile', + method: 'put', + data: data + }) +} + +// 用户密码重置 +export function updateUserPwd(oldPassword, newPassword) { + const data = { + oldPassword, + newPassword + } + return request({ + url: '/system/user/profile/updatePwd', + method: 'put', + params: data + }) +} + +// 用户头像上传 +export function uploadAvatar(data) { + return request({ + url: '/system/user/profile/avatar', + method: 'post', + data: data + }) +} + +// 查询授权角色 +export function getAuthRole(userId) { + return request({ + url: '/system/user/authRole/' + userId, + method: 'get' + }) +} + +// 保存授权角色 +export function updateAuthRole(data) { + return request({ + url: '/system/user/authRole', + method: 'put', + params: data + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/tool/gen.js b/CatmDogd-Mall-Front-test/src/api/tool/gen.js new file mode 100644 index 0000000..4506927 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/tool/gen.js @@ -0,0 +1,76 @@ +import request from '@/utils/request' + +// 查询生成表数据 +export function listTable(query) { + return request({ + url: '/tool/gen/list', + method: 'get', + params: query + }) +} +// 查询db数据库列表 +export function listDbTable(query) { + return request({ + url: '/tool/gen/db/list', + method: 'get', + params: query + }) +} + +// 查询表详细信息 +export function getGenTable(tableId) { + return request({ + url: '/tool/gen/' + tableId, + method: 'get' + }) +} + +// 修改代码生成信息 +export function updateGenTable(data) { + return request({ + url: '/tool/gen', + method: 'put', + data: data + }) +} + +// 导入表 +export function importTable(data) { + return request({ + url: '/tool/gen/importTable', + method: 'post', + params: data + }) +} + +// 预览生成代码 +export function previewTable(tableId) { + return request({ + url: '/tool/gen/preview/' + tableId, + method: 'get' + }) +} + +// 删除表数据 +export function delTable(tableId) { + return request({ + url: '/tool/gen/' + tableId, + method: 'delete' + }) +} + +// 生成代码(自定义路径) +export function genCode(tableName) { + return request({ + url: '/tool/gen/genCode/' + tableName, + method: 'get' + }) +} + +// 同步数据库 +export function synchDb(tableName) { + return request({ + url: '/tool/gen/synchDb/' + tableName, + method: 'get' + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/ums/doorLock.js b/CatmDogd-Mall-Front-test/src/api/ums/doorLock.js new file mode 100644 index 0000000..b97a3e4 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/ums/doorLock.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询【请填写功能名称】列表 +export function listUmsMemberDoorLock(query) { + return request({ + url: '/mall/memberDoorLock/list', + method: 'get', + params: query + }) +} + +// 查询【请填写功能名称】详细 +export function getUmsMemberDoorLock(id) { + return request({ + url: '/mall/memberDoorLock/' + id, + method: 'get' + }) +} + +// 新增【请填写功能名称】 +export function addUmsMemberDoorLock(data) { + return request({ + url: '/mall/memberDoorLock', + method: 'post', + data: data + }) +} + +// 修改【请填写功能名称】 +export function updateUmsMemberDoorLock(data) { + return request({ + url: '/mall/memberDoorLock', + method: 'put', + data: data + }) +} + +// 删除【请填写功能名称】 +export function delUmsMemberDoorLock(id) { + return request({ + url: '/mall/memberDoorLock/' + id, + method: 'delete' + }) +} + +// 导出【请填写功能名称】 +export function exportUmsMemberDoorLock(query) { + return request({ + url: '/mall/memberDoorLock/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/ums/member.js b/CatmDogd-Mall-Front-test/src/api/ums/member.js new file mode 100644 index 0000000..28a4a32 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/ums/member.js @@ -0,0 +1,88 @@ +import request from '@/utils/request' + +// 查询会员信息列表 +export function listUmsMember(query, pageReq) { + return request({ + url: '/ums/member/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询会员信息详细 +export function getUmsMember(id) { + return request({ + url: '/ums/member/' + id, + method: 'get' + }) +} + +// 新增会员信息 +export function addUmsMember(data) { + return request({ + url: '/ums/member', + method: 'post', + data: data + }) +} + +// 修改会员信息 +export function updateUmsMember(data) { + return request({ + url: '/ums/member', + method: 'put', + data: data + }) +} +export function updateUmsMemberMark(data) { + return request({ + url: '/ums/member/mark/update', + method: 'post', + data: data + }) +} + +// 删除会员信息 +export function delUmsMember(id) { + return request({ + url: '/ums/member/' + id, + method: 'delete' + }) +} + +// 导出会员信息 +export function exportUmsMember(query) { + return request({ + url: '/ums/member/export', + method: 'get', + params: query + }) +} + +// 更改会员账号状态 +export function changeAccountStatus(data) { + return request({ + url: '/ums/member/status/change', + method: 'post', + data: data + }) +} + +// 获取解密手机号 +export function decryptedPhone(data) { + return request({ + url: `/ums/member/phone/decrypt/` + data, + method: 'get' + }) +} + +// 查询会员统计数据 +export function viewStatistics(memberId){ + return request({ + url: `/ums/member/view/statistics/` + memberId, + method: 'get' + }) +} + + diff --git a/CatmDogd-Mall-Front-test/src/api/ums/memberAddress.js b/CatmDogd-Mall-Front-test/src/api/ums/memberAddress.js new file mode 100644 index 0000000..13eab6f --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/ums/memberAddress.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询会员收货地址列表 +export function listUmsMemberAddress(query, pageReq) { + return request({ + url: '/ums/memberAddress/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询会员收货地址详细 +export function getUmsMemberAddress(id) { + return request({ + url: '/ums/memberAddress/' + id, + method: 'get' + }) +} + +// 新增会员收货地址 +export function addUmsMemberAddress(data) { + return request({ + url: '/ums/memberAddress', + method: 'post', + data: data + }) +} + +// 修改会员收货地址 +export function updateUmsMemberAddress(data) { + return request({ + url: '/ums/memberAddress', + method: 'put', + data: data + }) +} + +// 删除会员收货地址 +export function delUmsMemberAddress(id) { + return request({ + url: '/ums/memberAddress/' + id, + method: 'delete' + }) +} + +// 导出会员收货地址 +export function exportUmsMemberAddress(query) { + return request({ + url: '/ums/memberAddress/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/ums/memberCart.js b/CatmDogd-Mall-Front-test/src/api/ums/memberCart.js new file mode 100644 index 0000000..734e832 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/ums/memberCart.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询购物车列表 +export function listUmsMemberCart(query, pageReq) { + return request({ + url: '/ums/memberCart/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询购物车详细 +export function getUmsMemberCart(id) { + return request({ + url: '/ums/memberCart/' + id, + method: 'get' + }) +} + +// 新增购物车 +export function addUmsMemberCart(data) { + return request({ + url: '/ums/memberCart', + method: 'post', + data: data + }) +} + +// 修改购物车 +export function updateUmsMemberCart(data) { + return request({ + url: '/ums/memberCart', + method: 'put', + data: data + }) +} + +// 删除购物车 +export function delUmsMemberCart(id) { + return request({ + url: '/ums/memberCart/' + id, + method: 'delete' + }) +} + +// 导出购物车 +export function exportUmsMemberCart(query) { + return request({ + url: '/ums/memberCart/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/ums/memberLogininfor.js b/CatmDogd-Mall-Front-test/src/api/ums/memberLogininfor.js new file mode 100644 index 0000000..a883dcf --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/ums/memberLogininfor.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询会员登录记录列表 +export function listUmsMemberLogininfor(query, pageReq) { + return request({ + url: '/ums/memberLogininfor/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询会员登录记录详细 +export function getUmsMemberLogininfor(id) { + return request({ + url: '/ums/memberLogininfor/' + id, + method: 'get' + }) +} + +// 新增会员登录记录 +export function addUmsMemberLogininfor(data) { + return request({ + url: '/ums/memberLogininfor', + method: 'post', + data: data + }) +} + +// 修改会员登录记录 +export function updateUmsMemberLogininfor(data) { + return request({ + url: '/ums/memberLogininfor', + method: 'put', + data: data + }) +} + +// 删除会员登录记录 +export function delUmsMemberLogininfor(id) { + return request({ + url: '/ums/memberLogininfor/' + id, + method: 'delete' + }) +} + +// 导出会员登录记录 +export function exportUmsMemberLogininfor(query) { + return request({ + url: '/ums/memberLogininfor/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/ums/memberWechat.js b/CatmDogd-Mall-Front-test/src/api/ums/memberWechat.js new file mode 100644 index 0000000..bb82e28 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/ums/memberWechat.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询用户微信信息列表 +export function listUmsMemberWechat(query, pageReq) { + return request({ + url: '/ums/memberWechat/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询用户微信信息详细 +export function getUmsMemberWechat(id) { + return request({ + url: '/ums/memberWechat/' + id, + method: 'get' + }) +} + +// 新增用户微信信息 +export function addUmsMemberWechat(data) { + return request({ + url: '/ums/memberWechat', + method: 'post', + data: data + }) +} + +// 修改用户微信信息 +export function updateUmsMemberWechat(data) { + return request({ + url: '/ums/memberWechat', + method: 'put', + data: data + }) +} + +// 删除用户微信信息 +export function delUmsMemberWechat(id) { + return request({ + url: '/ums/memberWechat/' + id, + method: 'delete' + }) +} + +// 导出用户微信信息 +export function exportUmsMemberWechat(query) { + return request({ + url: '/ums/memberWechat/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/ums/pet.js b/CatmDogd-Mall-Front-test/src/api/ums/pet.js new file mode 100644 index 0000000..6fb4e27 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/ums/pet.js @@ -0,0 +1,63 @@ +import request from '@/utils/request' + +// // 查询宠物档案列表 +// export function listPmsPet(query) { +// return request({ +// url: '/ums/pet/list', +// method: 'get', +// params: query +// }) +// } + +// 查询宠物档案列表 +export function listPmsPet(query, pageReq) { + return request({ + url: '/ums/pet/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询宠物档案详细 +export function getPmsPet(id) { + return request({ + url: '/ums/pet/' + id, + method: 'get' + }) +} + +// 新增宠物档案 +export function addPmsPet(data) { + return request({ + url: '/ums/pet', + method: 'post', + data: data + }) +} + +// 修改宠物档案 +export function updatePmsPet(data) { + return request({ + url: '/ums/pet', + method: 'put', + data: data + }) +} + +// 删除宠物档案 +export function delPmsPet(id) { + return request({ + url: '/ums/pet/' + id, + method: 'delete' + }) +} + +// 导出宠物档案 +export function exportPmsPet(query) { + return request({ + url: '/ums/pet/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/api/ums/petCare.js b/CatmDogd-Mall-Front-test/src/api/ums/petCare.js new file mode 100644 index 0000000..99a4cf7 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/api/ums/petCare.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询宠物护理信息列表 +export function listPetCare(query) { + return request({ + url: '/ums/petCare/list', + method: 'get', + params: query + }) +} + +// 查询宠物护理信息详细 +export function getPetCare(id) { + return request({ + url: '/ums/petCare/' + id, + method: 'get' + }) +} + +// 新增宠物护理信息 +export function addPetCare(data) { + return request({ + url: '/ums/petCare', + method: 'post', + data: data + }) +} + +// 修改宠物护理信息 +export function updatePetCare(data) { + return request({ + url: '/ums/petCare', + method: 'put', + data: data + }) +} + +// 删除宠物护理信息 +export function delPetCare(id) { + return request({ + url: '/ums/petCare/' + id, + method: 'delete' + }) +} + +// 导出宠物护理信息 +export function exportPetCare(query) { + return request({ + url: '/ums/petCare/export', + method: 'get', + params: query + }) +} diff --git a/CatmDogd-Mall-Front-test/src/assets/401_images/401.gif b/CatmDogd-Mall-Front-test/src/assets/401_images/401.gif new file mode 100644 index 0000000..cd6e0d9 Binary files /dev/null and b/CatmDogd-Mall-Front-test/src/assets/401_images/401.gif differ diff --git a/CatmDogd-Mall-Front-test/src/assets/404_images/404.png b/CatmDogd-Mall-Front-test/src/assets/404_images/404.png new file mode 100644 index 0000000..3d8e230 Binary files /dev/null and b/CatmDogd-Mall-Front-test/src/assets/404_images/404.png differ diff --git a/CatmDogd-Mall-Front-test/src/assets/404_images/404_cloud.png b/CatmDogd-Mall-Front-test/src/assets/404_images/404_cloud.png new file mode 100644 index 0000000..c6281d0 Binary files /dev/null and b/CatmDogd-Mall-Front-test/src/assets/404_images/404_cloud.png differ diff --git a/CatmDogd-Mall-Front-test/src/assets/QRCode/express.jpg b/CatmDogd-Mall-Front-test/src/assets/QRCode/express.jpg new file mode 100644 index 0000000..1b16052 Binary files /dev/null and b/CatmDogd-Mall-Front-test/src/assets/QRCode/express.jpg differ diff --git a/CatmDogd-Mall-Front-test/src/assets/QRCode/h5.png b/CatmDogd-Mall-Front-test/src/assets/QRCode/h5.png new file mode 100644 index 0000000..f4aa9c8 Binary files /dev/null and b/CatmDogd-Mall-Front-test/src/assets/QRCode/h5.png differ diff --git a/CatmDogd-Mall-Front-test/src/assets/QRCode/wechat_mini.jpg b/CatmDogd-Mall-Front-test/src/assets/QRCode/wechat_mini.jpg new file mode 100644 index 0000000..b503c9c Binary files /dev/null and b/CatmDogd-Mall-Front-test/src/assets/QRCode/wechat_mini.jpg differ diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/index.js b/CatmDogd-Mall-Front-test/src/assets/icons/index.js new file mode 100644 index 0000000..2c6b309 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/index.js @@ -0,0 +1,9 @@ +import Vue from 'vue' +import SvgIcon from '@/components/SvgIcon'// svg component + +// register globally +Vue.component('svg-icon', SvgIcon) + +const req = require.context('./svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys().map(requireContext) +requireAll(req) diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/404.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/404.svg new file mode 100644 index 0000000..6df5019 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/bug.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/bug.svg new file mode 100644 index 0000000..05a150d --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/bug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/build.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/build.svg new file mode 100644 index 0000000..97c4688 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/build.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/button.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/button.svg new file mode 100644 index 0000000..904fddc --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/cascader.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/cascader.svg new file mode 100644 index 0000000..e256024 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/cascader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/chart.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/chart.svg new file mode 100644 index 0000000..27728fb --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/chart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/checkbox.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/checkbox.svg new file mode 100644 index 0000000..013fd3a --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/checkbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/clipboard.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/clipboard.svg new file mode 100644 index 0000000..90923ff --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/code.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/code.svg new file mode 100644 index 0000000..ed4d23c --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/color.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/color.svg new file mode 100644 index 0000000..44a81aa --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/component.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/component.svg new file mode 100644 index 0000000..29c3458 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/component.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/dashboard.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/dashboard.svg new file mode 100644 index 0000000..5317d37 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/dashboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/date-range.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/date-range.svg new file mode 100644 index 0000000..fda571e --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/date-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/date.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/date.svg new file mode 100644 index 0000000..52dc73e --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/date.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/dict.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/dict.svg new file mode 100644 index 0000000..4849377 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/dict.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/documentation.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/documentation.svg new file mode 100644 index 0000000..7043122 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/documentation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/download.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/download.svg new file mode 100644 index 0000000..c896951 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/drag.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/drag.svg new file mode 100644 index 0000000..4185d3c --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/drag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/druid.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/druid.svg new file mode 100644 index 0000000..a2b4b4e --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/druid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/edit.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/edit.svg new file mode 100644 index 0000000..d26101f --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/education.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/education.svg new file mode 100644 index 0000000..7bfb01d --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/education.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/email.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/email.svg new file mode 100644 index 0000000..74d25e2 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/example.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/example.svg new file mode 100644 index 0000000..46f42b5 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/example.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/excel.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/excel.svg new file mode 100644 index 0000000..74d97b8 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/excel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/exit-fullscreen.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/exit-fullscreen.svg new file mode 100644 index 0000000..485c128 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/exit-fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/eye-open.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/eye-open.svg new file mode 100644 index 0000000..88dcc98 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/eye-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/eye.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/eye.svg new file mode 100644 index 0000000..16ed2d8 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/form.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/form.svg new file mode 100644 index 0000000..dcbaa18 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/form.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/fullscreen.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/fullscreen.svg new file mode 100644 index 0000000..0e86b6f --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/github.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/github.svg new file mode 100644 index 0000000..db0a0d4 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/guide.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/guide.svg new file mode 100644 index 0000000..b271001 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/guide.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/icon.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/icon.svg new file mode 100644 index 0000000..82be8ee --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/input.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/input.svg new file mode 100644 index 0000000..ab91381 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/input.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/international.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/international.svg new file mode 100644 index 0000000..e9b56ee --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/international.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/job.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/job.svg new file mode 100644 index 0000000..2a93a25 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/job.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/language.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/language.svg new file mode 100644 index 0000000..0082b57 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/language.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/link.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/link.svg new file mode 100644 index 0000000..48197ba --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/list.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/list.svg new file mode 100644 index 0000000..20259ed --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/lock.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/lock.svg new file mode 100644 index 0000000..74fee54 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/log.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/log.svg new file mode 100644 index 0000000..d879d33 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/log.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/logininfor.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/logininfor.svg new file mode 100644 index 0000000..267f844 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/logininfor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/message.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/message.svg new file mode 100644 index 0000000..14ca817 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/message.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/money.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/money.svg new file mode 100644 index 0000000..c1580de --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/money.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/monitor.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/monitor.svg new file mode 100644 index 0000000..bc308cb --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/monitor.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/nested.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/nested.svg new file mode 100644 index 0000000..06713a8 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/nested.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/number.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/number.svg new file mode 100644 index 0000000..ad5ce9a --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/number.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/online.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/online.svg new file mode 100644 index 0000000..330a202 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/online.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/password.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/password.svg new file mode 100644 index 0000000..6c64def --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/pdf.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/pdf.svg new file mode 100644 index 0000000..957aa0c --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/pdf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/people.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/people.svg new file mode 100644 index 0000000..2bd54ae --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/people.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/peoples.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/peoples.svg new file mode 100644 index 0000000..aab852e --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/peoples.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/phone.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/phone.svg new file mode 100644 index 0000000..ab8e8c4 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/post.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/post.svg new file mode 100644 index 0000000..2922c61 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/post.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/qq.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/qq.svg new file mode 100644 index 0000000..ee13d4e --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/question.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/question.svg new file mode 100644 index 0000000..cf75bd4 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/radio.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/radio.svg new file mode 100644 index 0000000..0cde345 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/radio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/rate.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/rate.svg new file mode 100644 index 0000000..aa3b14d --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/rate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/redis-list.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/redis-list.svg new file mode 100644 index 0000000..98a15b2 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/redis-list.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/redis.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/redis.svg new file mode 100644 index 0000000..2f1d62d --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/redis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/row.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/row.svg new file mode 100644 index 0000000..0780992 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/row.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/search.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/search.svg new file mode 100644 index 0000000..84233dd --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/select.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/select.svg new file mode 100644 index 0000000..d628382 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/select.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/server.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/server.svg new file mode 100644 index 0000000..ca37b00 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/shopping.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/shopping.svg new file mode 100644 index 0000000..87513e7 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/shopping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/size.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/size.svg new file mode 100644 index 0000000..ddb25b8 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/size.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/skill.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/skill.svg new file mode 100644 index 0000000..a3b7312 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/skill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/slider.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/slider.svg new file mode 100644 index 0000000..fbe4f39 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/slider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/star.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/star.svg new file mode 100644 index 0000000..6cf86e6 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/swagger.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/swagger.svg new file mode 100644 index 0000000..05d4e7b --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/swagger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/switch.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/switch.svg new file mode 100644 index 0000000..0ba61e3 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/switch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/system.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/system.svg new file mode 100644 index 0000000..dba28cf --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/system.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/tab.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/tab.svg new file mode 100644 index 0000000..b4b48e4 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/table.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/table.svg new file mode 100644 index 0000000..0e3dc9d --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/textarea.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/textarea.svg new file mode 100644 index 0000000..2709f29 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/textarea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/theme.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/theme.svg new file mode 100644 index 0000000..5982a2f --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/theme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/time-range.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/time-range.svg new file mode 100644 index 0000000..13c1202 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/time-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/time.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/time.svg new file mode 100644 index 0000000..b376e32 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/time.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/tool.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/tool.svg new file mode 100644 index 0000000..c813067 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/tool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/tree-table.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/tree-table.svg new file mode 100644 index 0000000..8aafdb8 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/tree-table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/tree.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/tree.svg new file mode 100644 index 0000000..dd4b7dd --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/upload.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/upload.svg new file mode 100644 index 0000000..bae49c0 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/upload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/user.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/user.svg new file mode 100644 index 0000000..0ba0716 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/validCode.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/validCode.svg new file mode 100644 index 0000000..cfb1021 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/validCode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/wechat.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/wechat.svg new file mode 100644 index 0000000..c586e55 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svg/zip.svg b/CatmDogd-Mall-Front-test/src/assets/icons/svg/zip.svg new file mode 100644 index 0000000..f806fc4 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svg/zip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/icons/svgo.yml b/CatmDogd-Mall-Front-test/src/assets/icons/svgo.yml new file mode 100644 index 0000000..d11906a --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/icons/svgo.yml @@ -0,0 +1,22 @@ +# replace default config + +# multipass: true +# full: true + +plugins: + + # - name + # + # or: + # - name: false + # - name: true + # + # or: + # - name: + # param1: 1 + # param2: 2 + +- removeAttrs: + attrs: + - 'fill' + - 'fill-rule' diff --git a/CatmDogd-Mall-Front-test/src/assets/images/dark.svg b/CatmDogd-Mall-Front-test/src/assets/images/dark.svg new file mode 100644 index 0000000..f646bd7 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/images/dark.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/images/light.svg b/CatmDogd-Mall-Front-test/src/assets/images/light.svg new file mode 100644 index 0000000..ab7cc08 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/images/light.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/images/login-background.jpg b/CatmDogd-Mall-Front-test/src/assets/images/login-background.jpg new file mode 100644 index 0000000..8a89eb8 Binary files /dev/null and b/CatmDogd-Mall-Front-test/src/assets/images/login-background.jpg differ diff --git a/CatmDogd-Mall-Front-test/src/assets/images/profile.jpg b/CatmDogd-Mall-Front-test/src/assets/images/profile.jpg new file mode 100644 index 0000000..b3a940b Binary files /dev/null and b/CatmDogd-Mall-Front-test/src/assets/images/profile.jpg differ diff --git a/CatmDogd-Mall-Front-test/src/assets/logo/gzh.jpg b/CatmDogd-Mall-Front-test/src/assets/logo/gzh.jpg new file mode 100644 index 0000000..ac31284 Binary files /dev/null and b/CatmDogd-Mall-Front-test/src/assets/logo/gzh.jpg differ diff --git a/CatmDogd-Mall-Front-test/src/assets/logo/logo.png b/CatmDogd-Mall-Front-test/src/assets/logo/logo.png new file mode 100644 index 0000000..e263760 Binary files /dev/null and b/CatmDogd-Mall-Front-test/src/assets/logo/logo.png differ diff --git a/CatmDogd-Mall-Front-test/src/assets/styles/btn.scss b/CatmDogd-Mall-Front-test/src/assets/styles/btn.scss new file mode 100644 index 0000000..e6ba1a8 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/styles/btn.scss @@ -0,0 +1,99 @@ +@import './variables.scss'; + +@mixin colorBtn($color) { + background: $color; + + &:hover { + color: $color; + + &:before, + &:after { + background: $color; + } + } +} + +.blue-btn { + @include colorBtn($blue) +} + +.light-blue-btn { + @include colorBtn($light-blue) +} + +.red-btn { + @include colorBtn($red) +} + +.pink-btn { + @include colorBtn($pink) +} + +.green-btn { + @include colorBtn($green) +} + +.tiffany-btn { + @include colorBtn($tiffany) +} + +.yellow-btn { + @include colorBtn($yellow) +} + +.pan-btn { + font-size: 14px; + color: #fff; + padding: 14px 36px; + border-radius: 8px; + border: none; + outline: none; + transition: 600ms ease all; + position: relative; + display: inline-block; + + &:hover { + background: #fff; + + &:before, + &:after { + width: 100%; + transition: 600ms ease all; + } + } + + &:before, + &:after { + content: ''; + position: absolute; + top: 0; + right: 0; + height: 2px; + width: 0; + transition: 400ms ease all; + } + + &::after { + right: inherit; + top: inherit; + left: 0; + bottom: 0; + } +} + +.custom-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + color: #fff; + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: 0; + margin: 0; + padding: 10px 15px; + font-size: 14px; + border-radius: 4px; +} diff --git a/CatmDogd-Mall-Front-test/src/assets/styles/element-ui.scss b/CatmDogd-Mall-Front-test/src/assets/styles/element-ui.scss new file mode 100644 index 0000000..363092a --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/styles/element-ui.scss @@ -0,0 +1,92 @@ +// cover some element-ui styles + +.el-breadcrumb__inner, +.el-breadcrumb__inner a { + font-weight: 400 !important; +} + +.el-upload { + input[type="file"] { + display: none !important; + } +} + +.el-upload__input { + display: none; +} + +.cell { + .el-tag { + margin-right: 0px; + } +} + +.small-padding { + .cell { + padding-left: 5px; + padding-right: 5px; + } +} + +.fixed-width { + .el-button--mini { + padding: 7px 10px; + width: 60px; + } +} + +.status-col { + .cell { + padding: 0 10px; + text-align: center; + + .el-tag { + margin-right: 0px; + } + } +} + +// to fixed https://github.com/ElemeFE/element/issues/2461 +.el-dialog { + transform: none; + left: 0; + position: relative; + margin: 0 auto; +} + +// refine element ui upload +.upload-container { + .el-upload { + width: 100%; + + .el-upload-dragger { + width: 100%; + height: 200px; + } + } +} + +// dropdown +.el-dropdown-menu { + a { + display: block + } +} + +// fix date-picker ui bug in filter-item +.el-range-editor.el-input__inner { + display: inline-flex !important; +} + +// to fix el-date-picker css style +.el-range-separator { + box-sizing: content-box; +} + +.el-menu--collapse + > div + > .el-submenu + > .el-submenu__title + .el-submenu__icon-arrow { + display: none; +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/assets/styles/element-variables.scss b/CatmDogd-Mall-Front-test/src/assets/styles/element-variables.scss new file mode 100644 index 0000000..1615ff2 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #1890ff; +$--color-success: #13ce66; +$--color-warning: #ffba00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; + +$--border-color-light: #dfe4ed; +$--border-color-lighter: #e6ebf5; + +$--table-border: 1px solid #dfe6ec; + +/* icon font path, required */ +$--font-path: '~element-ui/lib/theme-chalk/fonts'; + +@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/CatmDogd-Mall-Front-test/src/assets/styles/index.scss b/CatmDogd-Mall-Front-test/src/assets/styles/index.scss new file mode 100644 index 0000000..27c36bd --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/styles/index.scss @@ -0,0 +1,190 @@ +@import './variables.scss'; +@import './mixin.scss'; +@import './transition.scss'; +@import './element-ui.scss'; +@import './sidebar.scss'; +@import './btn.scss'; + +body { + height: 100%; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; +} + +label { + font-weight: 700; +} + +html { + height: 100%; + box-sizing: border-box; +} + +#app { + height: 100%; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +.no-padding { + padding: 0px !important; +} + +.padding-content { + padding: 4px 0; +} + +a:focus, +a:active { + outline: none; +} + +a, +a:focus, +a:hover { + cursor: pointer; + text-decoration: none; +} + +div:focus { + outline: none; +} + +.fr { + float: right; +} + +.fl { + float: left; +} + +.pr-5 { + padding-right: 5px; +} + +.pl-5 { + padding-left: 5px; +} + +.block { + display: block; +} + +.pointer { + cursor: pointer; +} + +.inlineBlock { + display: block; +} + +.clearfix { + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } +} + +aside { + background: #eef1f6; + padding: 8px 24px; + margin-bottom: 20px; + border-radius: 2px; + display: block; + line-height: 32px; + font-size: 16px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + color: #2c3e50; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + a { + color: #337ab7; + cursor: pointer; + + &:hover { + color: rgb(32, 160, 255); + } + } +} + +//main-container全局样式 +.app-container { + padding: 20px; +} + +.components-container { + margin: 30px 50px; + position: relative; +} + +.pagination-container { + margin-top: 30px; +} + +.text-center { + text-align: center +} + +.sub-navbar { + height: 50px; + line-height: 50px; + position: relative; + width: 100%; + text-align: right; + padding-right: 20px; + transition: 600ms ease position; + background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); + + .subtitle { + font-size: 20px; + color: #fff; + } + + &.draft { + background: #d0d0d0; + } + + &.deleted { + background: #d0d0d0; + } +} + +.link-type, +.link-type:focus { + color: #337ab7; + cursor: pointer; + + &:hover { + color: rgb(32, 160, 255); + } +} + +.filter-container { + padding-bottom: 10px; + + .filter-item { + display: inline-block; + vertical-align: middle; + margin-bottom: 10px; + } +} + +//refine vue-multiselect plugin +.multiselect { + line-height: 16px; +} + +.multiselect--active { + z-index: 1000 !important; +} diff --git a/CatmDogd-Mall-Front-test/src/assets/styles/mixin.scss b/CatmDogd-Mall-Front-test/src/assets/styles/mixin.scss new file mode 100644 index 0000000..06fa061 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/styles/mixin.scss @@ -0,0 +1,66 @@ +@mixin clearfix { + &:after { + content: ""; + display: table; + clear: both; + } +} + +@mixin scrollBar { + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} + +@mixin pct($pct) { + width: #{$pct}; + position: relative; + margin: 0 auto; +} + +@mixin triangle($width, $height, $color, $direction) { + $width: $width/2; + $color-border-style: $height solid $color; + $transparent-border-style: $width solid transparent; + height: 0; + width: 0; + + @if $direction==up { + border-bottom: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + + @else if $direction==right { + border-left: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } + + @else if $direction==down { + border-top: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + + @else if $direction==left { + border-right: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } +} diff --git a/CatmDogd-Mall-Front-test/src/assets/styles/ruoyi.scss b/CatmDogd-Mall-Front-test/src/assets/styles/ruoyi.scss new file mode 100644 index 0000000..34c9e84 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/styles/ruoyi.scss @@ -0,0 +1,273 @@ + /** + * 通用css样式布局处理 + * Copyright (c) 2019 ruoyi + */ + + /** 基础通用 **/ +.pt5 { + padding-top: 5px; +} +.pr5 { + padding-right: 5px; +} +.pb5 { + padding-bottom: 5px; +} +.mt5 { + margin-top: 5px; +} +.mr5 { + margin-right: 5px; +} +.mb5 { + margin-bottom: 5px; +} +.mb8 { + margin-bottom: 8px; +} +.ml5 { + margin-left: 5px; +} +.mt10 { + margin-top: 10px; +} +.mr10 { + margin-right: 10px; +} +.mb10 { + margin-bottom: 10px; +} +.ml10 { + margin-left: 10px; +} +.mt20 { + margin-top: 20px; +} +.mr20 { + margin-right: 20px; +} +.mb20 { + margin-bottom: 20px; +} +.ml20 { + margin-left: 20px; +} + +.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} + +.el-dialog:not(.is-fullscreen) { + margin-top: 6vh !important; +} + +.el-dialog__wrapper.scrollbar .el-dialog .el-dialog__body { + overflow: auto; + overflow-x: hidden; + max-height: 70vh; + padding: 10px 20px 0; +} + +.el-table { + .el-table__header-wrapper, .el-table__fixed-header-wrapper { + th { + word-break: break-word; + background-color: #f8f8f9; + color: #515a6e; + height: 40px; + font-size: 13px; + } + } + .el-table__body-wrapper { + .el-button [class*="el-icon-"] + span { + margin-left: 1px; + } + } +} + +/** 表单布局 **/ +.form-header { + font-size:15px; + color:#6379bb; + border-bottom:1px solid #ddd; + margin:8px 10px 25px 10px; + padding-bottom:5px +} + +/** 表格布局 **/ +.pagination-container { + position: relative; + height: 25px; + margin-bottom: 10px; + margin-top: 15px; + padding: 10px 20px !important; +} + +/* tree border */ +.tree-border { + margin-top: 5px; + border: 1px solid #e5e6e7; + background: #FFFFFF none; + border-radius:4px; +} + +.pagination-container .el-pagination { + right: 0; + position: absolute; +} + +@media ( max-width : 768px) { + .pagination-container .el-pagination > .el-pagination__jump { + display: none !important; + } + .pagination-container .el-pagination > .el-pagination__sizes { + display: none !important; + } +} + +.el-table .fixed-width .el-button--mini { + padding-left: 0; + padding-right: 0; + width: inherit; +} + +/** 表格更多操作下拉样式 */ +.el-table .el-dropdown-link { + cursor: pointer; + color: #409EFF; + margin-left: 5px; +} + +.el-table .el-dropdown, .el-icon-arrow-down { + font-size: 12px; +} + +.el-tree-node__content > .el-checkbox { + margin-right: 8px; +} + +.list-group-striped > .list-group-item { + border-left: 0; + border-right: 0; + border-radius: 0; + padding-left: 0; + padding-right: 0; +} + +.list-group { + padding-left: 0px; + list-style: none; +} + +.list-group-item { + border-bottom: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; + margin-bottom: -1px; + padding: 11px 0px; + font-size: 13px; +} + +.pull-right { + float: right !important; +} + +.el-card__header { + padding: 14px 15px 7px; + min-height: 40px; +} + +.el-card__body { + padding: 15px 20px 20px 20px; +} + +.card-box { + padding-right: 15px; + padding-left: 15px; + margin-bottom: 10px; +} + +/* button color */ +.el-button--cyan.is-active, +.el-button--cyan:active { + background: #20B2AA; + border-color: #20B2AA; + color: #FFFFFF; +} + +.el-button--cyan:focus, +.el-button--cyan:hover { + background: #48D1CC; + border-color: #48D1CC; + color: #FFFFFF; +} + +.el-button--cyan { + background-color: #20B2AA; + border-color: #20B2AA; + color: #FFFFFF; +} + +/* text color */ +.text-navy { + color: #1ab394; +} + +.text-primary { + color: inherit; +} + +.text-success { + color: #1c84c6; +} + +.text-info { + color: #23c6c8; +} + +.text-warning { + color: #f8ac59; +} + +.text-danger { + color: #ed5565; +} + +.text-muted { + color: #888888; +} + +/* image */ +.img-circle { + border-radius: 50%; +} + +.img-lg { + width: 120px; + height: 120px; +} + +.avatar-upload-preview { + position: absolute; + top: 50%; + transform: translate(50%, -50%); + width: 200px; + height: 200px; + border-radius: 50%; + box-shadow: 0 0 4px #ccc; + overflow: hidden; +} + +/* 拖拽列样式 */ +.sortable-ghost{ + opacity: .8; + color: #fff!important; + background: #42b983!important; +} + +.top-right-btn { + position: relative; + float: right; +} diff --git a/CatmDogd-Mall-Front-test/src/assets/styles/sidebar.scss b/CatmDogd-Mall-Front-test/src/assets/styles/sidebar.scss new file mode 100644 index 0000000..ed308b8 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/styles/sidebar.scss @@ -0,0 +1,227 @@ +#app { + + .main-container { + min-height: 100%; + transition: margin-left .28s; + margin-left: $base-sidebar-width; + position: relative; + } + + .sidebarHide { + margin-left: 0!important; + } + + .sidebar-container { + -webkit-transition: width .28s; + transition: width 0.28s; + width: $base-sidebar-width !important; + background-color: $base-menu-background; + height: 100%; + position: fixed; + font-size: 0px; + top: 0; + bottom: 0; + left: 0; + z-index: 1001; + overflow: hidden; + -webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35); + box-shadow: 2px 0 6px rgba(0,21,41,.35); + + // reset element-ui css + .horizontal-collapse-transition { + transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; + } + + .scrollbar-wrapper { + overflow-x: hidden !important; + } + + .el-scrollbar__bar.is-vertical { + right: 0px; + } + + .el-scrollbar { + height: 100%; + } + + &.has-logo { + .el-scrollbar { + height: calc(100% - 50px); + } + } + + .is-horizontal { + display: none; + } + + a { + display: inline-block; + width: 100%; + overflow: hidden; + } + + .svg-icon { + margin-right: 16px; + } + + .el-menu { + border: none; + height: 100%; + width: 100% !important; + } + + .el-menu-item, .el-submenu__title { + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + } + + // menu hover + .submenu-title-noDropdown, + .el-submenu__title { + &:hover { + background-color: rgba(0, 0, 0, 0.06) !important; + } + } + + & .theme-dark .is-active > .el-submenu__title { + color: $base-menu-color-active !important; + } + + & .nest-menu .el-submenu>.el-submenu__title, + & .el-submenu .el-menu-item { + min-width: $base-sidebar-width !important; + + &:hover { + background-color: rgba(0, 0, 0, 0.06) !important; + } + } + + & .theme-dark .nest-menu .el-submenu>.el-submenu__title, + & .theme-dark .el-submenu .el-menu-item { + background-color: $base-sub-menu-background !important; + + &:hover { + background-color: $base-sub-menu-hover !important; + } + } + } + + .hideSidebar { + .sidebar-container { + width: 54px !important; + } + + .main-container { + margin-left: 54px; + } + + .submenu-title-noDropdown { + padding: 0 !important; + position: relative; + + .el-tooltip { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + } + } + + .el-submenu { + overflow: hidden; + + &>.el-submenu__title { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + + } + } + + .el-menu--collapse { + .el-submenu { + &>.el-submenu__title { + &>span { + height: 0; + width: 0; + overflow: hidden; + visibility: hidden; + display: inline-block; + } + } + } + } + } + + .el-menu--collapse .el-menu .el-submenu { + min-width: $base-sidebar-width !important; + } + + // mobile responsive + .mobile { + .main-container { + margin-left: 0px; + } + + .sidebar-container { + transition: transform .28s; + width: $base-sidebar-width !important; + } + + &.hideSidebar { + .sidebar-container { + pointer-events: none; + transition-duration: 0.3s; + transform: translate3d(-$base-sidebar-width, 0, 0); + } + } + } + + .withoutAnimation { + + .main-container, + .sidebar-container { + transition: none; + } + } +} + +// when menu collapsed +.el-menu--vertical { + &>.el-menu { + .svg-icon { + margin-right: 16px; + } + } + + .nest-menu .el-submenu>.el-submenu__title, + .el-menu-item { + &:hover { + // you can use $subMenuHover + background-color: rgba(0, 0, 0, 0.06) !important; + } + } + + // the scroll bar appears when the subMenu is too long + >.el-menu--popup { + max-height: 100vh; + overflow-y: auto; + + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } + } +} diff --git a/CatmDogd-Mall-Front-test/src/assets/styles/transition.scss b/CatmDogd-Mall-Front-test/src/assets/styles/transition.scss new file mode 100644 index 0000000..4cb27cc --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/styles/transition.scss @@ -0,0 +1,48 @@ +// global transition css + +/* fade */ +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.28s; +} + +.fade-enter, +.fade-leave-active { + opacity: 0; +} + +/* fade-transform */ +.fade-transform-leave-active, +.fade-transform-enter-active { + transition: all .5s; +} + +.fade-transform-enter { + opacity: 0; + transform: translateX(-30px); +} + +.fade-transform-leave-to { + opacity: 0; + transform: translateX(30px); +} + +/* breadcrumb transition */ +.breadcrumb-enter-active, +.breadcrumb-leave-active { + transition: all .5s; +} + +.breadcrumb-enter, +.breadcrumb-leave-active { + opacity: 0; + transform: translateX(20px); +} + +.breadcrumb-move { + transition: all .5s; +} + +.breadcrumb-leave-active { + position: absolute; +} diff --git a/CatmDogd-Mall-Front-test/src/assets/styles/variables.scss b/CatmDogd-Mall-Front-test/src/assets/styles/variables.scss new file mode 100644 index 0000000..34484d4 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/assets/styles/variables.scss @@ -0,0 +1,54 @@ +// base color +$blue:#324157; +$light-blue:#3A71A8; +$red:#C03639; +$pink: #E65D6E; +$green: #30B08F; +$tiffany: #4AB7BD; +$yellow:#FEC171; +$panGreen: #30B08F; + +// 默认菜单主题风格 +$base-menu-color:#bfcbd9; +$base-menu-color-active:#f4f4f5; +$base-menu-background:#304156; +$base-logo-title-color: #ffffff; + +$base-menu-light-color:rgba(0,0,0,.70); +$base-menu-light-background:#ffffff; +$base-logo-light-title-color: #001529; + +$base-sub-menu-background:#1f2d3d; +$base-sub-menu-hover:#001528; + +// 自定义暗色菜单风格 +/** +$base-menu-color:hsla(0,0%,100%,.65); +$base-menu-color-active:#fff; +$base-menu-background:#001529; +$base-logo-title-color: #ffffff; + +$base-menu-light-color:rgba(0,0,0,.70); +$base-menu-light-background:#ffffff; +$base-logo-light-title-color: #001529; + +$base-sub-menu-background:#000c17; +$base-sub-menu-hover:#001528; +*/ + +$base-sidebar-width: 200px; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + menuColor: $base-menu-color; + menuLightColor: $base-menu-light-color; + menuColorActive: $base-menu-color-active; + menuBackground: $base-menu-background; + menuLightBackground: $base-menu-light-background; + subMenuBackground: $base-sub-menu-background; + subMenuHover: $base-sub-menu-hover; + sideBarWidth: $base-sidebar-width; + logoTitleColor: $base-logo-title-color; + logoLightTitleColor: $base-logo-light-title-color +} diff --git a/CatmDogd-Mall-Front-test/src/components/Breadcrumb/index.vue b/CatmDogd-Mall-Front-test/src/components/Breadcrumb/index.vue new file mode 100644 index 0000000..1696f54 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Breadcrumb/index.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Crontab/day.vue b/CatmDogd-Mall-Front-test/src/components/Crontab/day.vue new file mode 100644 index 0000000..fe3eaf0 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Crontab/day.vue @@ -0,0 +1,161 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Crontab/hour.vue b/CatmDogd-Mall-Front-test/src/components/Crontab/hour.vue new file mode 100644 index 0000000..4b1f1fc --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Crontab/hour.vue @@ -0,0 +1,114 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Crontab/index.vue b/CatmDogd-Mall-Front-test/src/components/Crontab/index.vue new file mode 100644 index 0000000..3963df2 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Crontab/index.vue @@ -0,0 +1,430 @@ + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Crontab/min.vue b/CatmDogd-Mall-Front-test/src/components/Crontab/min.vue new file mode 100644 index 0000000..43cab90 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Crontab/min.vue @@ -0,0 +1,116 @@ + + + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/components/Crontab/month.vue b/CatmDogd-Mall-Front-test/src/components/Crontab/month.vue new file mode 100644 index 0000000..fd0ac38 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Crontab/month.vue @@ -0,0 +1,114 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Crontab/result.vue b/CatmDogd-Mall-Front-test/src/components/Crontab/result.vue new file mode 100644 index 0000000..aea6e0e --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Crontab/result.vue @@ -0,0 +1,559 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Crontab/second.vue b/CatmDogd-Mall-Front-test/src/components/Crontab/second.vue new file mode 100644 index 0000000..e7b7761 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Crontab/second.vue @@ -0,0 +1,117 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Crontab/week.vue b/CatmDogd-Mall-Front-test/src/components/Crontab/week.vue new file mode 100644 index 0000000..1cec700 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Crontab/week.vue @@ -0,0 +1,202 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Crontab/year.vue b/CatmDogd-Mall-Front-test/src/components/Crontab/year.vue new file mode 100644 index 0000000..5487a6c --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Crontab/year.vue @@ -0,0 +1,131 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/DictData/index.js b/CatmDogd-Mall-Front-test/src/components/DictData/index.js new file mode 100644 index 0000000..c2a0359 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/DictData/index.js @@ -0,0 +1,21 @@ +import Vue from 'vue' +import DataDict from '@/utils/dict' +import { getDicts as getDicts } from '@/api/system/dict/data' + +function install() { + Vue.use(DataDict, { + metas: { + '*': { + labelField: 'dictLabel', + valueField: 'dictValue', + request(dictMeta) { + return getDicts(dictMeta.type).then(res => res.data) + }, + }, + }, + }) +} + +export default { + install, +} \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/components/DictRadio/index.vue b/CatmDogd-Mall-Front-test/src/components/DictRadio/index.vue new file mode 100644 index 0000000..58941c0 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/DictRadio/index.vue @@ -0,0 +1,52 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/DictSelect/index.vue b/CatmDogd-Mall-Front-test/src/components/DictSelect/index.vue new file mode 100644 index 0000000..54b20b0 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/DictSelect/index.vue @@ -0,0 +1,39 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/DictTag/index.vue b/CatmDogd-Mall-Front-test/src/components/DictTag/index.vue new file mode 100644 index 0000000..5e3e7df --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/DictTag/index.vue @@ -0,0 +1,29 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Editor/index.vue b/CatmDogd-Mall-Front-test/src/components/Editor/index.vue new file mode 100644 index 0000000..5f2bfe8 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Editor/index.vue @@ -0,0 +1,276 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/FileUpload/index.vue b/CatmDogd-Mall-Front-test/src/components/FileUpload/index.vue new file mode 100644 index 0000000..aa2296b --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/FileUpload/index.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Hamburger/index.vue b/CatmDogd-Mall-Front-test/src/components/Hamburger/index.vue new file mode 100644 index 0000000..368b002 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Hamburger/index.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/HeaderSearch/index.vue b/CatmDogd-Mall-Front-test/src/components/HeaderSearch/index.vue new file mode 100644 index 0000000..c44eff5 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/HeaderSearch/index.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/IconSelect/index.vue b/CatmDogd-Mall-Front-test/src/components/IconSelect/index.vue new file mode 100644 index 0000000..b0ec9fa --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/IconSelect/index.vue @@ -0,0 +1,68 @@ + + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/IconSelect/requireIcons.js b/CatmDogd-Mall-Front-test/src/components/IconSelect/requireIcons.js new file mode 100644 index 0000000..99e5c54 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/IconSelect/requireIcons.js @@ -0,0 +1,11 @@ + +const req = require.context('../../assets/icons/svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys() + +const re = /\.\/(.*)\.svg/ + +const icons = requireAll(req).map(i => { + return i.match(re)[1] +}) + +export default icons diff --git a/CatmDogd-Mall-Front-test/src/components/ImagePreview/index.vue b/CatmDogd-Mall-Front-test/src/components/ImagePreview/index.vue new file mode 100644 index 0000000..743d8d5 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/ImagePreview/index.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/ImageUpload/index.vue b/CatmDogd-Mall-Front-test/src/components/ImageUpload/index.vue new file mode 100644 index 0000000..4068b67 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/ImageUpload/index.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/InOutTypeSelect.vue b/CatmDogd-Mall-Front-test/src/components/InOutTypeSelect.vue new file mode 100644 index 0000000..0fbf902 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/InOutTypeSelect.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/NumberRange.vue b/CatmDogd-Mall-Front-test/src/components/NumberRange.vue new file mode 100644 index 0000000..ea733d7 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/NumberRange.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/OssImageUpload/index.vue b/CatmDogd-Mall-Front-test/src/components/OssImageUpload/index.vue new file mode 100644 index 0000000..6ebcabc --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/OssImageUpload/index.vue @@ -0,0 +1,208 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/Pagination/index.vue b/CatmDogd-Mall-Front-test/src/components/Pagination/index.vue new file mode 100644 index 0000000..56f5a6b --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Pagination/index.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/PanThumb/index.vue b/CatmDogd-Mall-Front-test/src/components/PanThumb/index.vue new file mode 100644 index 0000000..1bcf417 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/PanThumb/index.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/ParentView/index.vue b/CatmDogd-Mall-Front-test/src/components/ParentView/index.vue new file mode 100644 index 0000000..7bf6148 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/ParentView/index.vue @@ -0,0 +1,3 @@ + diff --git a/CatmDogd-Mall-Front-test/src/components/RightPanel/index.vue b/CatmDogd-Mall-Front-test/src/components/RightPanel/index.vue new file mode 100644 index 0000000..fbf27eb --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/RightPanel/index.vue @@ -0,0 +1,149 @@ + + + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/RightToolbar/index.vue b/CatmDogd-Mall-Front-test/src/components/RightToolbar/index.vue new file mode 100644 index 0000000..f7663a3 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/RightToolbar/index.vue @@ -0,0 +1,87 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/RuoYi/Doc/index.vue b/CatmDogd-Mall-Front-test/src/components/RuoYi/Doc/index.vue new file mode 100644 index 0000000..75fa864 --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/RuoYi/Doc/index.vue @@ -0,0 +1,21 @@ + + + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/components/RuoYi/Git/index.vue b/CatmDogd-Mall-Front-test/src/components/RuoYi/Git/index.vue new file mode 100644 index 0000000..bdafbae --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/RuoYi/Git/index.vue @@ -0,0 +1,21 @@ + + + \ No newline at end of file diff --git a/CatmDogd-Mall-Front-test/src/components/Screenfull/index.vue b/CatmDogd-Mall-Front-test/src/components/Screenfull/index.vue new file mode 100644 index 0000000..d4e539c --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/Screenfull/index.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/SizeSelect/index.vue b/CatmDogd-Mall-Front-test/src/components/SizeSelect/index.vue new file mode 100644 index 0000000..069b5de --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/SizeSelect/index.vue @@ -0,0 +1,56 @@ + + + diff --git a/CatmDogd-Mall-Front-test/src/components/SvgIcon/index.vue b/CatmDogd-Mall-Front-test/src/components/SvgIcon/index.vue new file mode 100644 index 0000000..e4bf5ad --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/SvgIcon/index.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/ThemePicker/index.vue b/CatmDogd-Mall-Front-test/src/components/ThemePicker/index.vue new file mode 100644 index 0000000..1714e1f --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/ThemePicker/index.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/TopNav/index.vue b/CatmDogd-Mall-Front-test/src/components/TopNav/index.vue new file mode 100644 index 0000000..0cc24db --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/TopNav/index.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/CatmDogd-Mall-Front-test/src/components/iFrame/index.vue b/CatmDogd-Mall-Front-test/src/components/iFrame/index.vue new file mode 100644 index 0000000..426857f --- /dev/null +++ b/CatmDogd-Mall-Front-test/src/components/iFrame/index.vue @@ -0,0 +1,36 @@ +