From 113d04b5a1bf708aa88b042f1751a6cf0c86ed48 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Thu, 10 Jun 2021 09:46:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E7=A6=81=E7=94=A8moke=EF=BC=9B=E5=B0=9D=E8=AF=95=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E8=A7=86=E5=9B=BE=E5=8A=A0=E8=BD=BD=E9=98=BB=E5=A1=9E?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E6=B5=8F=E8=A7=88=E5=99=A8=E6=97=A0=E5=93=8D?= =?UTF-8?q?=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/README.md | 1 - frontend/mock/index.js | 67 ------------------------ frontend/mock/mock-server.js | 68 ------------------------ frontend/mock/table.js | 29 ----------- frontend/mock/user.js | 84 ------------------------------ frontend/package.json | 1 - frontend/src/api/table.js | 29 ----------- frontend/src/main.js | 15 ++---- frontend/src/views/table/index.vue | 79 ---------------------------- frontend/vue.config.js | 4 +- 10 files changed, 4 insertions(+), 373 deletions(-) delete mode 100644 frontend/mock/index.js delete mode 100644 frontend/mock/mock-server.js delete mode 100644 frontend/mock/table.js delete mode 100644 frontend/mock/user.js delete mode 100644 frontend/src/api/table.js delete mode 100644 frontend/src/views/table/index.vue diff --git a/frontend/README.md b/frontend/README.md index c1b8d92e38..f405f912e5 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -39,7 +39,6 @@ ```bash ├── build # 构建相关 -├── mock # 项目mock 模拟数据 ├── public # 静态资源 │ │── favicon.ico # favicon图标 │ └── index.html # html模板 diff --git a/frontend/mock/index.js b/frontend/mock/index.js deleted file mode 100644 index 90e2ffe9ec..0000000000 --- a/frontend/mock/index.js +++ /dev/null @@ -1,67 +0,0 @@ -import Mock from 'mockjs' -import { param2Obj } from '../src/utils' - -import user from './user' -import table from './table' - -const mocks = [ - ...user, - ...table -] - -// for front mock -// please use it cautiously, it will redefine XMLHttpRequest, -// which will cause many of your third-party libraries to be invalidated(like progress event). -export function mockXHR() { - // mock patch - // https://github.com/nuysoft/Mock/issues/300 - Mock.XHR.prototype.proxy_send = Mock.XHR.prototype.send - Mock.XHR.prototype.send = function() { - if (this.custom.xhr) { - this.custom.xhr.withCredentials = this.withCredentials || false - - if (this.responseType) { - this.custom.xhr.responseType = this.responseType - } - } - this.proxy_send(...arguments) - } - - function XHR2ExpressReqWrap(respond) { - return function(options) { - let result = null - if (respond instanceof Function) { - const { body, type, url } = options - // https://expressjs.com/en/4x/api.html#req - result = respond({ - method: type, - body: JSON.parse(body), - query: param2Obj(url) - }) - } else { - result = respond - } - return Mock.mock(result) - } - } - - for (const i of mocks) { - Mock.mock(new RegExp(i.url), i.type || 'get', XHR2ExpressReqWrap(i.response)) - } -} - -// for mock server -const responseFake = (url, type, respond) => { - return { - url: new RegExp(`${process.env.VUE_APP_BASE_API}${url}`), - type: type || 'get', - response(req, res) { - console.log('request invoke:' + req.path) - res.json(Mock.mock(respond instanceof Function ? respond(req, res) : respond)) - } - } -} - -export default mocks.map(route => { - return responseFake(route.url, route.type, route.response) -}) diff --git a/frontend/mock/mock-server.js b/frontend/mock/mock-server.js deleted file mode 100644 index 4c4cb2af83..0000000000 --- a/frontend/mock/mock-server.js +++ /dev/null @@ -1,68 +0,0 @@ -const chokidar = require('chokidar') -const bodyParser = require('body-parser') -const chalk = require('chalk') -const path = require('path') - -const mockDir = path.join(process.cwd(), 'mock') - -function registerRoutes(app) { - let mockLastIndex - const { default: mocks } = require('./index.js') - for (const mock of mocks) { - app[mock.type](mock.url, mock.response) - mockLastIndex = app._router.stack.length - } - const mockRoutesLength = Object.keys(mocks).length - return { - mockRoutesLength: mockRoutesLength, - mockStartIndex: mockLastIndex - mockRoutesLength - } -} - -function unregisterRoutes() { - Object.keys(require.cache).forEach(i => { - if (i.includes(mockDir)) { - delete require.cache[require.resolve(i)] - } - }) -} - -module.exports = app => { - // es6 polyfill - require('@babel/register') - - // parse app.body - // https://expressjs.com/en/4x/api.html#req.body - app.use(bodyParser.json()) - app.use(bodyParser.urlencoded({ - extended: true - })) - - const mockRoutes = registerRoutes(app) - var mockRoutesLength = mockRoutes.mockRoutesLength - var mockStartIndex = mockRoutes.mockStartIndex - - // watch files, hot reload mock server - chokidar.watch(mockDir, { - ignored: /mock-server/, - ignoreInitial: true - }).on('all', (event, path) => { - if (event === 'change' || event === 'add') { - try { - // remove mock routes stack - app._router.stack.splice(mockStartIndex, mockRoutesLength) - - // clear routes cache - unregisterRoutes() - - const mockRoutes = registerRoutes(app) - mockRoutesLength = mockRoutes.mockRoutesLength - mockStartIndex = mockRoutes.mockStartIndex - - console.log(chalk.magentaBright(`\n > Mock Server hot reload success! changed ${path}`)) - } catch (error) { - console.log(chalk.redBright(error)) - } - } - }) -} diff --git a/frontend/mock/table.js b/frontend/mock/table.js deleted file mode 100644 index ba95f76426..0000000000 --- a/frontend/mock/table.js +++ /dev/null @@ -1,29 +0,0 @@ -import Mock from 'mockjs' - -const data = Mock.mock({ - 'items|30': [{ - id: '@id', - title: '@sentence(10, 20)', - 'status|1': ['published', 'draft', 'deleted'], - author: 'name', - display_time: '@datetime', - pageviews: '@integer(300, 5000)' - }] -}) - -export default [ - { - url: '/vue-admin-template/table/list', - type: 'get', - response: config => { - const items = data.items - return { - code: 20000, - data: { - total: items.length, - items: items - } - } - } - } -] diff --git a/frontend/mock/user.js b/frontend/mock/user.js deleted file mode 100644 index f007cd98d7..0000000000 --- a/frontend/mock/user.js +++ /dev/null @@ -1,84 +0,0 @@ - -const tokens = { - admin: { - token: 'admin-token' - }, - editor: { - token: 'editor-token' - } -} - -const users = { - 'admin-token': { - roles: ['admin'], - introduction: 'I am a super administrator', - avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif', - name: 'Super Admin' - }, - 'editor-token': { - roles: ['editor'], - introduction: 'I am an editor', - avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif', - name: 'Normal Editor' - } -} - -export default [ - // user login - { - url: '/vue-admin-template/user/login', - type: 'post', - response: config => { - const { username } = config.body - const token = tokens[username] - - // mock error - if (!token) { - return { - code: 60204, - message: 'Account and password are incorrect.' - } - } - - return { - code: 20000, - data: token - } - } - }, - - // get user info - { - url: '/vue-admin-template/user/info\.*', - type: 'get', - response: config => { - const { token } = config.query - const info = users[token] - - // mock error - if (!info) { - return { - code: 50008, - message: 'Login failed, unable to get user details.' - } - } - - return { - code: 20000, - data: info - } - } - }, - - // user logout - { - url: '/vue-admin-template/user/logout', - type: 'post', - response: _ => { - return { - code: 20000, - data: 'success' - } - } - } -] diff --git a/frontend/package.json b/frontend/package.json index abaab1bdb3..85d92355b4 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -60,7 +60,6 @@ "html-webpack-plugin": "3.2.0", "less": "^4.1.1", "less-loader": "^8.0.0", - "mockjs": "1.0.1-beta3", "runjs": "^4.1.3", "sass": "^1.32.5", "sass-loader": "^10.1.1", diff --git a/frontend/src/api/table.js b/frontend/src/api/table.js deleted file mode 100644 index 7f7d7c9e43..0000000000 --- a/frontend/src/api/table.js +++ /dev/null @@ -1,29 +0,0 @@ -import Mock from 'mockjs' -const data = Mock.mock({ - 'items|30': [{ - id: '@id', - title: '@sentence(10, 20)', - 'status|1': ['published', 'draft', 'deleted'], - author: 'name', - display_time: '@datetime', - pageviews: '@integer(300, 5000)' - }] -}) -export function getList(params) { -// return request({ -// url: '/vue-admin-template/table/list', -// method: 'get', -// params -// }) - return new Promise((resolve, reject) => { - const items = data.items - const result = { - code: 20000, - data: { - total: items.length, - items: items - } - } - resolve(result) - }) -} diff --git a/frontend/src/main.js b/frontend/src/main.js index 2bef70b47d..2dd52c1fd6 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -41,18 +41,9 @@ Vue.use(vcolorpicker) import fullscreen from 'vue-fullscreen' Vue.use(fullscreen) -/** - * If you don't want to use mock-server - * you want to use MockJs for mock api - * you can execute: mockXHR() - * - * Currently MockJs will be used in the production environment, - * please remove it before going online ! ! ! - */ -if (process.env.NODE_ENV === 'production') { - const { mockXHR } = require('../mock') - mockXHR() -} +// if (process.env.NODE_ENV === 'production') { + +// } // set ElementUI lang to EN // Vue.use(ElementUI, { locale }) diff --git a/frontend/src/views/table/index.vue b/frontend/src/views/table/index.vue deleted file mode 100644 index 9d72557fc4..0000000000 --- a/frontend/src/views/table/index.vue +++ /dev/null @@ -1,79 +0,0 @@ - - - diff --git a/frontend/vue.config.js b/frontend/vue.config.js index 57748c2042..f7c3465e9c 100644 --- a/frontend/vue.config.js +++ b/frontend/vue.config.js @@ -11,7 +11,6 @@ const name = defaultSettings.title || 'vue Admin Template' // page title const port = process.env.port || process.env.npm_config_port || 9528 // dev port module.exports = { productionSourceMap: true, - // 使用mock-server devServer: { port: port, proxy: { @@ -24,8 +23,7 @@ module.exports = { overlay: { warnings: false, errors: true - }, - before: require('./mock/mock-server.js') + } }, pages: { index: {