@ -0,0 +1,14 @@ |
|||||||
|
# https://editorconfig.org |
||||||
|
root = true |
||||||
|
|
||||||
|
[*] |
||||||
|
charset = utf-8 |
||||||
|
indent_style = space |
||||||
|
indent_size = 2 |
||||||
|
end_of_line = lf |
||||||
|
insert_final_newline = true |
||||||
|
trim_trailing_whitespace = true |
||||||
|
|
||||||
|
[*.md] |
||||||
|
insert_final_newline = false |
||||||
|
trim_trailing_whitespace = false |
@ -0,0 +1,19 @@ |
|||||||
|
NODE_ENV = production |
||||||
|
|
||||||
|
# just a flag |
||||||
|
ENV = 'boot' |
||||||
|
|
||||||
|
|
||||||
|
VUE_APP_PROJECT_NAME = 'cereshop' |
||||||
|
|
||||||
|
|
||||||
|
# 是否启用验证码 |
||||||
|
VUE_APP_IS_CAPTCHA = true |
||||||
|
# 客户端秘钥 |
||||||
|
VUE_APP_CLIENT_ID=ceres_admin_web |
||||||
|
VUE_APP_CLIENT_SECRET=ceres_admin_web |
||||||
|
|
||||||
|
|
||||||
|
# base api |
||||||
|
VUE_APP_BASE_API = '/api' |
||||||
|
|
@ -0,0 +1,33 @@ |
|||||||
|
# just a flag |
||||||
|
ENV = 'development' |
||||||
|
|
||||||
|
VUE_APP_PROJECT_NAME = 'cereshop-admin-web' |
||||||
|
|
||||||
|
# SpringCloud项目使用这个地址 |
||||||
|
#VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://127.0.0.1:8764' |
||||||
|
|
||||||
|
# SpringBoot 项目使用这个地址 |
||||||
|
VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://127.0.0.1:8764' |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 请求域名前缀, 该变量仅仅生产环境需要设置 |
||||||
|
VUE_APP_PROD_REQUEST_DOMAIN_PREFIX = '' |
||||||
|
# URI 前缀,用于根据URI前缀进行代理 |
||||||
|
VUE_APP_BASE_API = '/api' |
||||||
|
|
||||||
|
# 是否启用验证码 |
||||||
|
VUE_APP_IS_CAPTCHA = true |
||||||
|
# 客户端秘钥 |
||||||
|
VUE_APP_CLIENT_ID=ceres_admin_web |
||||||
|
VUE_APP_CLIENT_SECRET=ceres_admin_web |
||||||
|
|
||||||
|
|
||||||
|
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, |
||||||
|
# to control whether the babel-plugin-dynamic-import-node plugin is enabled. |
||||||
|
# It only does one thing by converting all import() to require(). |
||||||
|
# This configuration can significantly increase the speed of hot updates, |
||||||
|
# when you have a large number of pages. |
||||||
|
# Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js |
||||||
|
|
||||||
|
VUE_CLI_BABEL_TRANSPILE_MODULES = true |
@ -0,0 +1,16 @@ |
|||||||
|
# just a flag |
||||||
|
ENV = 'production' |
||||||
|
|
||||||
|
VUE_APP_PROJECT_NAME = 'admin-web' |
||||||
|
|
||||||
|
# 请求域名前缀, 该变量仅仅生产环境需要设置 |
||||||
|
VUE_APP_PROD_REQUEST_DOMAIN_PREFIX = 'http://127.0.0.1:8764' |
||||||
|
|
||||||
|
# base api |
||||||
|
VUE_APP_BASE_API = '/api' |
||||||
|
|
||||||
|
# 是否启用验证码 |
||||||
|
VUE_APP_IS_CAPTCHA = true |
||||||
|
# 客户端秘钥 |
||||||
|
VUE_APP_CLIENT_ID=ceres_admin_web |
||||||
|
VUE_APP_CLIENT_SECRET=ceres_admin_web |
@ -0,0 +1,8 @@ |
|||||||
|
NODE_ENV = production |
||||||
|
|
||||||
|
# just a flag |
||||||
|
ENV = 'staging' |
||||||
|
|
||||||
|
# base api |
||||||
|
VUE_APP_BASE_API = '/stage-api' |
||||||
|
|
@ -0,0 +1,269 @@ |
|||||||
|
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: 0, |
||||||
|
|
||||||
|
semi: [2, 'never'], |
||||||
|
'semi-spacing': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
before: false, |
||||||
|
after: true |
||||||
|
} |
||||||
|
], |
||||||
|
'space-before-blocks': [2, 'always'], |
||||||
|
'space-before-function-paren': 0, |
||||||
|
'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'] |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,25 @@ |
|||||||
|
.DS_Store |
||||||
|
node_modules/ |
||||||
|
dist/ |
||||||
|
npm-debug.log* |
||||||
|
yarn-debug.log* |
||||||
|
yarn-error.log* |
||||||
|
**/*.log |
||||||
|
.history/ |
||||||
|
|
||||||
|
tests/**/coverage/ |
||||||
|
tests/e2e/reports |
||||||
|
selenium-debug.log |
||||||
|
|
||||||
|
# Editor directories and files |
||||||
|
.idea |
||||||
|
*.iml |
||||||
|
.vscode |
||||||
|
*.suo |
||||||
|
*.ntvs* |
||||||
|
*.njsproj |
||||||
|
*.sln |
||||||
|
*.local |
||||||
|
|
||||||
|
package-lock.json |
||||||
|
yarn.lock |
@ -0,0 +1,6 @@ |
|||||||
|
{ |
||||||
|
"eslintIntegration": true, |
||||||
|
"stylelintIntegration": true, |
||||||
|
"singleQuote": true, |
||||||
|
"semi": false |
||||||
|
} |
@ -0,0 +1,5 @@ |
|||||||
|
language: node_js |
||||||
|
node_js: 10 |
||||||
|
script: npm run test |
||||||
|
notifications: |
||||||
|
email: false |
@ -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}`) |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
module.exports = { |
||||||
|
moduleFileExtensions: ['js', 'jsx', 'json', 'vue'], |
||||||
|
transform: { |
||||||
|
'^.+\\.vue$': 'vue-jest', |
||||||
|
'.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': |
||||||
|
'jest-transform-stub', |
||||||
|
'^.+\\.jsx?$': 'babel-jest' |
||||||
|
}, |
||||||
|
moduleNameMapper: { |
||||||
|
'^@/(.*)$': '<rootDir>/src/$1' |
||||||
|
}, |
||||||
|
snapshotSerializers: ['jest-serializer-vue'], |
||||||
|
testMatch: [ |
||||||
|
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)' |
||||||
|
], |
||||||
|
collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'], |
||||||
|
coverageDirectory: '<rootDir>/tests/unit/coverage', |
||||||
|
// 'collectCoverage': true,
|
||||||
|
'coverageReporters': [ |
||||||
|
'lcov', |
||||||
|
'text-summary' |
||||||
|
], |
||||||
|
testURL: 'http://localhost/' |
||||||
|
} |
@ -0,0 +1,119 @@ |
|||||||
|
{ |
||||||
|
"name": "cereshop", |
||||||
|
"version": "1.0.0", |
||||||
|
"description": "cereshop", |
||||||
|
"author": "cereshop", |
||||||
|
"license": "Apache 2.0", |
||||||
|
"scripts": { |
||||||
|
"dev": "vue-cli-service serve", |
||||||
|
"build:prod": "vue-cli-service build", |
||||||
|
"build:boot": "vue-cli-service build --mode boot", |
||||||
|
"build:docker": "vue-cli-service build --mode docker", |
||||||
|
"build:stage": "vue-cli-service build --mode staging", |
||||||
|
"preview": "node build/index.js --preview", |
||||||
|
"lint": "eslint --ext .js,.vue src", |
||||||
|
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml", |
||||||
|
"new": "plop" |
||||||
|
}, |
||||||
|
"husky": { |
||||||
|
"hooks": { |
||||||
|
"pre-commit": "lint-staged" |
||||||
|
} |
||||||
|
}, |
||||||
|
"lint-staged": { |
||||||
|
"src/**/*.{js,vue}": [ |
||||||
|
"eslint --fix", |
||||||
|
"git add" |
||||||
|
] |
||||||
|
}, |
||||||
|
"keywords": [ |
||||||
|
"vue", |
||||||
|
"admin", |
||||||
|
"dashboard", |
||||||
|
"element-ui", |
||||||
|
"management-system" |
||||||
|
], |
||||||
|
"repository": { |
||||||
|
"type": "git", |
||||||
|
"url": "" |
||||||
|
}, |
||||||
|
"bugs": { |
||||||
|
"url": "" |
||||||
|
}, |
||||||
|
"dependencies": { |
||||||
|
"@riophae/vue-treeselect": "0.0.38", |
||||||
|
"axios": "^0.19.0", |
||||||
|
"chromedriver": "^79.0.0", |
||||||
|
"clipboard": "2.0.4", |
||||||
|
"codemirror": "5.45.0", |
||||||
|
"core-js": "^2.6.11", |
||||||
|
"css-loader": "^3.5.3", |
||||||
|
"dragula": "^3.7.2", |
||||||
|
"driver.js": "0.9.5", |
||||||
|
"dropzone": "5.5.1", |
||||||
|
"echarts": "4.2.1", |
||||||
|
"element-ui": "2.12.0", |
||||||
|
"file-saver": "2.0.1", |
||||||
|
"fuse.js": "3.4.4", |
||||||
|
"jsonlint": "1.6.3", |
||||||
|
"jszip": "3.2.1", |
||||||
|
"less-loader": "^6.1.0", |
||||||
|
"normalize.css": "7.0.0", |
||||||
|
"nprogress": "0.2.0", |
||||||
|
"path-to-regexp": "2.4.0", |
||||||
|
"screenfull": "4.2.0", |
||||||
|
"showdown": "1.9.0", |
||||||
|
"sortablejs": "1.8.4", |
||||||
|
"tui-editor": "1.3.3", |
||||||
|
"vue": "2.6.10", |
||||||
|
"vue-count-to": "^1.0.13", |
||||||
|
"vue-i18n": "7.3.2", |
||||||
|
"vue-loader": "^15.9.2", |
||||||
|
"vue-quill-editor": "^3.0.6", |
||||||
|
"vue-router": "3.0.2", |
||||||
|
"vue-splitpane": "1.0.4", |
||||||
|
"vuedraggable": "2.20.0", |
||||||
|
"vuex": "3.1.0", |
||||||
|
"xlsx": "0.14.1" |
||||||
|
}, |
||||||
|
"devDependencies": { |
||||||
|
"@babel/core": "7.0.0", |
||||||
|
"@babel/register": "7.0.0", |
||||||
|
"@vue/cli-plugin-babel": "3.5.3", |
||||||
|
"@vue/cli-plugin-eslint": "3.5.1", |
||||||
|
"@vue/cli-plugin-unit-jest": "^3.9.0", |
||||||
|
"@vue/cli-service": "3.5.3", |
||||||
|
"@vue/test-utils": "1.0.0-beta.29", |
||||||
|
"autoprefixer": "^9.5.1", |
||||||
|
"babel-core": "7.0.0-bridge.0", |
||||||
|
"babel-eslint": "8.0.1", |
||||||
|
"babel-jest": "23.6.0", |
||||||
|
"chalk": "2.4.2", |
||||||
|
"chokidar": "2.1.5", |
||||||
|
"connect": "3.6.6", |
||||||
|
"eslint": "5.15.3", |
||||||
|
"eslint-plugin-vue": "5.2.2", |
||||||
|
"html-webpack-plugin": "3.2.0", |
||||||
|
"husky": "1.3.1", |
||||||
|
"lint-staged": "8.1.5", |
||||||
|
"mockjs": "1.0.1-beta3", |
||||||
|
"node-sass": "^4.13.1", |
||||||
|
"plop": "2.3.0", |
||||||
|
"runjs": "^4.3.2", |
||||||
|
"sass-loader": "^7.1.0", |
||||||
|
"script-ext-html-webpack-plugin": "2.1.3", |
||||||
|
"script-loader": "0.7.2", |
||||||
|
"serve-static": "^1.13.2", |
||||||
|
"svg-sprite-loader": "4.1.3", |
||||||
|
"svgo": "1.2.0", |
||||||
|
"vue-template-compiler": "2.6.10" |
||||||
|
}, |
||||||
|
"engines": { |
||||||
|
"node": ">=8.9", |
||||||
|
"npm": ">= 3.0.0" |
||||||
|
}, |
||||||
|
"browserslist": [ |
||||||
|
"> 1%", |
||||||
|
"last 2 versions" |
||||||
|
] |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
const viewGenerator = require('./plop-templates/view/prompt') |
||||||
|
const componentGenerator = require('./plop-templates/component/prompt') |
||||||
|
|
||||||
|
module.exports = function(plop) { |
||||||
|
plop.setGenerator('view', viewGenerator) |
||||||
|
plop.setGenerator('component', componentGenerator) |
||||||
|
} |
@ -0,0 +1,5 @@ |
|||||||
|
module.exports = { |
||||||
|
plugins: { |
||||||
|
autoprefixer: {} |
||||||
|
} |
||||||
|
} |
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 4.2 KiB |
@ -0,0 +1,15 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8"> |
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
||||||
|
<meta name="renderer" content="webkit"> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> |
||||||
|
<link rel="icon" href="<%= BASE_URL %>cereshop.ico"> |
||||||
|
<title><%= webpackConfig.name %></title> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="app"></div> |
||||||
|
<!-- built files will be auto injected --> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,14 @@ |
|||||||
|
<template> |
||||||
|
<div id="app"> |
||||||
|
<router-view /> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: 'App', |
||||||
|
created () { |
||||||
|
// TODO 每次刷新页面会加载这个方法?是否能在这里判断 必须要缓存的Token ,用户信息等 |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
@ -0,0 +1,28 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
getPlatformTemplate: `/authority/cmsTemplate/getPlatformTemplate`, |
||||||
|
updateTemplate: '/authority/cmsTemplate/updateTemplate', |
||||||
|
getCmsTemplate: '/authority/cmsTemplate/' |
||||||
|
} |
||||||
|
export default { |
||||||
|
getCmsTemplate(id) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'GET', |
||||||
|
url: apiList.getCmsTemplate + id |
||||||
|
}) |
||||||
|
}, |
||||||
|
getPlatformTemplate() { |
||||||
|
return axiosApi({ |
||||||
|
method: 'GET', |
||||||
|
url: apiList.getPlatformTemplate |
||||||
|
}) |
||||||
|
}, |
||||||
|
updateTemplate(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.updateTemplate, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,140 @@ |
|||||||
|
import axios from 'axios' |
||||||
|
import { Message, MessageBox } from 'element-ui' |
||||||
|
import db from '@/utils/localstorage' |
||||||
|
import { Base64 } from 'js-base64' |
||||||
|
|
||||||
|
// 请求添加条件,如token
|
||||||
|
axios.interceptors.request.use( |
||||||
|
config => { |
||||||
|
const isToken = |
||||||
|
config.headers['X-isToken'] === false ? config.headers['X-isToken'] : true |
||||||
|
const token = db.get('TOKEN', '') |
||||||
|
if (token && isToken) { |
||||||
|
config.headers.token = 'Bearer ' + token |
||||||
|
} |
||||||
|
|
||||||
|
const clientId = process.env.VUE_APP_CLIENT_ID |
||||||
|
const clientSecret = process.env.VUE_APP_CLIENT_SECRET |
||||||
|
|
||||||
|
config.headers['Authorization'] = `Basic ${Base64.encode( |
||||||
|
`${clientId}:${clientSecret}` |
||||||
|
)}` |
||||||
|
return config |
||||||
|
}, |
||||||
|
error => { |
||||||
|
return Promise.reject(error) |
||||||
|
} |
||||||
|
) |
||||||
|
|
||||||
|
// 接口返回处理
|
||||||
|
axios.interceptors.response.use( |
||||||
|
response => { |
||||||
|
return response |
||||||
|
}, |
||||||
|
error => { |
||||||
|
return Promise.reject(error) |
||||||
|
} |
||||||
|
) |
||||||
|
|
||||||
|
function handleError(error, reject) { |
||||||
|
if (error.code === 'ECONNABORTED') { |
||||||
|
debugger |
||||||
|
Message({ |
||||||
|
message: '请求超时' |
||||||
|
}) |
||||||
|
} else if (error.response && error.response.data) { |
||||||
|
Message({ |
||||||
|
message: error.response.data |
||||||
|
}) |
||||||
|
} else if (error.message) { |
||||||
|
Message({ |
||||||
|
message: error.message |
||||||
|
}) |
||||||
|
} |
||||||
|
reject(error) |
||||||
|
} |
||||||
|
|
||||||
|
function handleSuccess(res, resolve) { |
||||||
|
if (res.data.isError) { |
||||||
|
// 未登录
|
||||||
|
if ( |
||||||
|
res.data.code === 40000 || |
||||||
|
res.data.code === 40001 || |
||||||
|
res.data.code === 40002 || |
||||||
|
res.data.code === 40003 || |
||||||
|
res.data.code === 40005 || |
||||||
|
res.data.code === 40006 || |
||||||
|
res.data.code === 40008 |
||||||
|
) { |
||||||
|
MessageBox.alert(res.data.msg, '提醒', { |
||||||
|
confirmButtonText: '确定', |
||||||
|
callback: () => { |
||||||
|
window.location.hash = '/login' |
||||||
|
} |
||||||
|
}) |
||||||
|
} else { |
||||||
|
Message.error(res.data.msg) |
||||||
|
} |
||||||
|
} |
||||||
|
resolve(res) |
||||||
|
} |
||||||
|
|
||||||
|
// http请求
|
||||||
|
const httpServer = opts => { |
||||||
|
// 公共参数
|
||||||
|
const publicParams = { |
||||||
|
ts: Date.now() |
||||||
|
} |
||||||
|
|
||||||
|
// http默认配置
|
||||||
|
const method = opts.method.toUpperCase() |
||||||
|
// baseURL
|
||||||
|
// 开发环境: /api // 开发环境在 vue.config.js 中有 devServer.proxy 代理
|
||||||
|
// 生产环境: http://IP:PORT/api // 生产环境中 代理失效, 故需要配置绝对路径
|
||||||
|
const httpDefaultOpts = { |
||||||
|
method, |
||||||
|
baseURL: |
||||||
|
process.env.VUE_APP_PROD_REQUEST_DOMAIN_PREFIX + |
||||||
|
process.env.VUE_APP_BASE_API, |
||||||
|
url: opts.url, |
||||||
|
responseType: opts.responseType || '', |
||||||
|
timeout: 20000 |
||||||
|
} |
||||||
|
const dataRequest = ['PUT', 'POST', 'PATCH'] |
||||||
|
if (dataRequest.includes(method)) { |
||||||
|
httpDefaultOpts.data = opts.data || {} |
||||||
|
} else { |
||||||
|
httpDefaultOpts.params = { |
||||||
|
...publicParams, |
||||||
|
...(opts.data || {}) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// formData转换
|
||||||
|
if (opts.formData) { |
||||||
|
httpDefaultOpts.transformRequest = [ |
||||||
|
data => { |
||||||
|
const formData = new FormData() |
||||||
|
if (data) { |
||||||
|
Object.entries(data).forEach(item => { |
||||||
|
formData.append(item[0], item[1]) |
||||||
|
}) |
||||||
|
} |
||||||
|
return formData |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
|
||||||
|
const promise = new Promise((resolve, reject) => { |
||||||
|
axios(httpDefaultOpts) |
||||||
|
.then(response => { |
||||||
|
handleSuccess(response, resolve) |
||||||
|
}) |
||||||
|
.catch(error => { |
||||||
|
handleError(error, reject) |
||||||
|
}) |
||||||
|
}) |
||||||
|
return promise |
||||||
|
} |
||||||
|
|
||||||
|
export default httpServer |
@ -0,0 +1,32 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
getCashList: `/authority/cashOutDetail/page/audit`, |
||||||
|
getDetail: '/authority/cashOutDetail/audit/', |
||||||
|
audiCash: '/authority/cashOutDetail/audit' |
||||||
|
} |
||||||
|
export default { |
||||||
|
// 提现审核列表
|
||||||
|
getCashList(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.getCashList, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
// 查询提现审核
|
||||||
|
getDetail(id) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'GET', |
||||||
|
url: apiList.getDetail + id |
||||||
|
}) |
||||||
|
}, |
||||||
|
// 提现审核
|
||||||
|
audiCash(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.audiCash, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
productCategory: `/authority/productCategory/findPageCategory`, |
||||||
|
addCategory: `/authority/productCategory/addCategory`, |
||||||
|
uploadCategory: `/authority/productCategory/updateCategory`, |
||||||
|
deletCategory: '/authority/productCategory/delCategory', |
||||||
|
queryOneCategory: `/authority/productCategory/queryOneCategory`, |
||||||
|
queryChildCategory: '/authority/productCategory/queryChildCategory' |
||||||
|
} |
||||||
|
export default { |
||||||
|
deletCategory(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.deletCategory, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
queryChildCategory(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.queryChildCategory, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
queryOneCategory(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.queryOneCategory, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
getProductCategory(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.productCategory, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
addCategory(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.addCategory, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
uploadCategory(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.uploadCategory, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,19 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
// 获取当前系统的所有枚举
|
||||||
|
enums: { |
||||||
|
method: 'GET', |
||||||
|
url: `/oauth/enums` |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
export default { |
||||||
|
uploadFile: `${process.env.VUE_APP_PROD_REQUEST_DOMAIN_PREFIX}${process.env.VUE_APP_BASE_API}/file/attachment/upload`, |
||||||
|
enums (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.enums, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
cmsTemplatePage: `/authority/cmsTemplate/page`, |
||||||
|
addTemplate: '/authority/cmsTemplate', |
||||||
|
deleteTemplate: '/authority/cmsTemplate' |
||||||
|
} |
||||||
|
export default { |
||||||
|
cmsTemplatePage(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.cmsTemplatePage, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
addTemplate(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.addTemplate, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
deleteTemplate(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'DELETE', |
||||||
|
url: apiList.deleteTemplate, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
updateTemplate(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'PUT', |
||||||
|
url: apiList.deleteTemplate, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,15 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
getVisitList: `/authority/dashboard/visit` |
||||||
|
} |
||||||
|
|
||||||
|
export default { |
||||||
|
getVisitList (data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'GET', |
||||||
|
url: apiList.getVisitList, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,88 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
page: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/dictionaryItem/page` |
||||||
|
}, |
||||||
|
update: { |
||||||
|
method: 'PUT', |
||||||
|
url: `/authority/dictionaryItem` |
||||||
|
}, |
||||||
|
save: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/dictionaryItem` |
||||||
|
}, |
||||||
|
delete: { |
||||||
|
method: 'DELETE', |
||||||
|
url: `/authority/dictionaryItem` |
||||||
|
}, |
||||||
|
list: { |
||||||
|
method: 'GET', |
||||||
|
url: `/oauth/dictionaryItem/codes` |
||||||
|
}, |
||||||
|
preview: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/dictionaryItem/preview` |
||||||
|
}, |
||||||
|
export: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/dictionaryItem/export` |
||||||
|
}, |
||||||
|
import: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/dictionaryItem/import` |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
export default { |
||||||
|
page (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.page, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
save (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.save, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
update (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.update, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
delete (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.delete, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
list (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.list, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
preview (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.preview, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
export (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.export, |
||||||
|
responseType: "blob", |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
import (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.import, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,89 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
page: { |
||||||
|
url: `/authority/globalUser/page`, |
||||||
|
method: 'POST' |
||||||
|
}, |
||||||
|
save: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/globalUser` |
||||||
|
}, |
||||||
|
update: { |
||||||
|
method: 'PUT', |
||||||
|
url: `/authority/globalUser` |
||||||
|
}, |
||||||
|
remove: { |
||||||
|
method: 'DELETE', |
||||||
|
url: `/authority/globalUser/delete` |
||||||
|
}, |
||||||
|
check: { |
||||||
|
method: 'GET', |
||||||
|
url: `/authority/globalUser/check` |
||||||
|
}, |
||||||
|
preview: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/globalUser/preview` |
||||||
|
}, |
||||||
|
export: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/globalUser/export` |
||||||
|
}, |
||||||
|
import: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/globalUser/import` |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
export default { |
||||||
|
page (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.page, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
save (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.save, |
||||||
|
data: data || {} |
||||||
|
}) |
||||||
|
}, |
||||||
|
update (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.update, |
||||||
|
data: data || {} |
||||||
|
}) |
||||||
|
}, |
||||||
|
remove (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.remove, |
||||||
|
data: data || {} |
||||||
|
}) |
||||||
|
}, |
||||||
|
check (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.check, |
||||||
|
formData: true, |
||||||
|
data: data || {} |
||||||
|
}) |
||||||
|
}, |
||||||
|
preview (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.preview, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
export (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.export, |
||||||
|
responseType: "blob", |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
import (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.import, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,77 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
getGroupList: `/authority/productGroup/page`, |
||||||
|
productGroup: `/authority/productGroup`, |
||||||
|
deleteGroup: `/authority/productGroup/delProductCategory`, |
||||||
|
getProductList: `/authority/product/findAdminProductList`, |
||||||
|
findCategoryList: '/authority/productCategory/findCategoryListByDepth/', |
||||||
|
saveProduct: '/authority/product/save', |
||||||
|
findAdminProductList: '/authority/platformProduct/findAdminProductList', |
||||||
|
findGoods: '/authority/platformProduct/findProductListByCategoryOrProductIdList' |
||||||
|
} |
||||||
|
|
||||||
|
export default { |
||||||
|
findGoods(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.findGoods, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
findAdminProductList(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.findAdminProductList, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
saveProduct(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.saveProduct, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
findCategoryList(depth) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'GET', |
||||||
|
url: apiList.findCategoryList + depth |
||||||
|
}) |
||||||
|
}, |
||||||
|
getProductList(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.getProductList, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
getGroupList(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.getGroupList, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
addGroup(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.productGroup, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
eidtGroup(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'PUT', |
||||||
|
url: apiList.productGroup, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
deleteGroup(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.deleteGroup, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,34 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
captcha: `/oauth/anno/captcha`, |
||||||
|
login: `/oauth/anno/admin/login`, |
||||||
|
router: `/oauth/menu/admin/router` |
||||||
|
} |
||||||
|
|
||||||
|
export default { |
||||||
|
getCaptcha (randomId) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'GET', |
||||||
|
url: apiList.captcha + `?key=${randomId}`, |
||||||
|
responseType: 'arraybuffer', |
||||||
|
meta: { |
||||||
|
"X-isToken": false |
||||||
|
} |
||||||
|
}) |
||||||
|
}, |
||||||
|
login (data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.login, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
getRouter (data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'GET', |
||||||
|
url: apiList.router, |
||||||
|
data: data || {} |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,30 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
getTenants: `/authority/tenant/page`, |
||||||
|
addTenant: `/authority/tenant`, |
||||||
|
editTenant: `/authority/tenant` |
||||||
|
} |
||||||
|
export default { |
||||||
|
getAllTenant(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.getTenants, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
addTenant(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'POST', |
||||||
|
url: apiList.addTenant, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
editTenant(data) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'PUT', |
||||||
|
url: apiList.editTenant, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,105 @@ |
|||||||
|
import axiosApi from './AxiosApi.js' |
||||||
|
|
||||||
|
const apiList = { |
||||||
|
page: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/tenant/page` |
||||||
|
}, |
||||||
|
update: { |
||||||
|
method: 'PUT', |
||||||
|
url: `/authority/tenant` |
||||||
|
}, |
||||||
|
save: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/tenant` |
||||||
|
}, |
||||||
|
saveInit: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/tenant/init` |
||||||
|
}, |
||||||
|
remove: { |
||||||
|
method: 'DELETE', |
||||||
|
url: `/authority/tenant` |
||||||
|
}, |
||||||
|
list: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/tenant/query` |
||||||
|
}, |
||||||
|
preview: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/tenant/preview` |
||||||
|
}, |
||||||
|
export: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/tenant/export` |
||||||
|
}, |
||||||
|
import: { |
||||||
|
method: 'POST', |
||||||
|
url: `/authority/tenant/import` |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
export default { |
||||||
|
page (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.page, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
save (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.save, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
// 同步创建租户,防止在切换回默认数据源时,执行其他方法
|
||||||
|
async saveInit (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.saveInit, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
update (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.update, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
remove (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.remove, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
list (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.list, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
check (code) { |
||||||
|
return axiosApi({ |
||||||
|
method: 'GET', |
||||||
|
url: `/authority/tenant/check/${code}` |
||||||
|
}) |
||||||
|
}, |
||||||
|
preview (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.preview, |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
export (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.export, |
||||||
|
responseType: "blob", |
||||||
|
data |
||||||
|
}) |
||||||
|
}, |
||||||
|
import (data) { |
||||||
|
return axiosApi({ |
||||||
|
...apiList.import, |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
After Width: | Height: | Size: 160 KiB |
After Width: | Height: | Size: 96 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 841 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.2 KiB |