diff --git a/src/api/sys/dictionary.js b/src/api/sys/dictionary.js new file mode 100644 index 0000000..0f230a1 --- /dev/null +++ b/src/api/sys/dictionary.js @@ -0,0 +1,45 @@ +import request from '@/utils/request' + +const dictionaryApi = { + add: '/sys/dictionary/add', + get: '/sys/dictionary/get', + update: '/sys/dictionary/edit', + del: '/sys/dictionary/del', + page: '/sys/dictionary/pageList' +} + +export function dictionaryAdd (params) { + return request({ + url: dictionaryApi.add, + method: 'post', + data: params + }) +} +export function dictionaryGet (params) { + return request({ + url: dictionaryApi.get, + method: 'post', + data: params + }) +} +export function dictionaryUpdate (params) { + return request({ + url: dictionaryApi.update, + method: 'post', + data: params + }) +} +export function dictionaryDel (params) { + return request({ + url: dictionaryApi.del, + method: 'post', + data: params + }) +} +export function dictionaryPage (params) { + return request({ + url: dictionaryApi.page, + method: 'get', + data: params + }) +} diff --git a/src/api/sys/dictionaryItem.js b/src/api/sys/dictionaryItem.js new file mode 100644 index 0000000..6d744ed --- /dev/null +++ b/src/api/sys/dictionaryItem.js @@ -0,0 +1,45 @@ +import request from '@/utils/request' + +const dictionaryItemApi = { + add: '/sys/dictionaryItem/add', + get: '/sys/dictionaryItem/get', + update: '/sys/dictionaryItem/edit', + del: '/sys/dictionaryItem/del', + page: '/sys/dictionaryItem/pageList' +} + +export function dictionaryItemAdd (params) { + return request({ + url: dictionaryItemApi.add, + method: 'post', + data: params + }) +} +export function dictionaryItemGet (params) { + return request({ + url: dictionaryItemApi.get, + method: 'post', + data: params + }) +} +export function dictionaryItemUpdate (params) { + return request({ + url: dictionaryItemApi.update, + method: 'post', + data: params + }) +} +export function dictionaryItemDel (params) { + return request({ + url: dictionaryItemApi.del, + method: 'post', + data: params + }) +} +export function dictionaryItemPage (params) { + return request({ + url: dictionaryItemApi.page, + method: 'get', + data: params + }) +} diff --git a/src/components/GlobalFooter/index.vue b/src/components/GlobalFooter/index.vue index d7e0125..d4e0830 100644 --- a/src/components/GlobalFooter/index.vue +++ b/src/components/GlobalFooter/index.vue @@ -2,7 +2,7 @@ diff --git a/src/components/Table/index.js b/src/components/Table/index.js index 3e7f68c..a9301ca 100644 --- a/src/components/Table/index.js +++ b/src/components/Table/index.js @@ -136,7 +136,7 @@ export default { loadData (pagination, filters, sorter) { this.localLoading = true const parameter = Object.assign({ - pageIndex: (pagination && pagination.current) || + pageNum: (pagination && pagination.current) || this.showPagination && this.localPagination.current || this.pageNum, pageSize: (pagination && pagination.pageSize) || this.showPagination && this.localPagination.pageSize || this.pageSize @@ -157,13 +157,13 @@ export default { result.then(r => { this.localPagination = this.showPagination && Object.assign({}, this.localPagination, { current: r.pageNo, // 返回结果中的当前分页数 - total: r.entityCount, // 返回结果中的总记录数 + total: r.total, // 返回结果中的总记录数 showSizeChanger: this.showSizeChanger, pageSize: (pagination && pagination.pageSize) || this.localPagination.pageSize }) || false // 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页 - if (r.entities.length === 0 && this.showPagination && this.localPagination.current > 1) { + if (r.rows.length === 0 && this.showPagination && this.localPagination.current > 1) { this.localPagination.current-- this.loadData() return diff --git a/src/config/router.config.js b/src/config/router.config.js index 6e96a91..35c941d 100644 --- a/src/config/router.config.js +++ b/src/config/router.config.js @@ -56,6 +56,12 @@ export const asyncRouterMap = [ name: 'SecurityResource', component: () => import('@/views/security/resource/ResourceTree'), meta: { title: '菜单管理', keepAlive: true } + }, + { + path: '/sys/dictionary', + name: 'DictionaryList', + component: () => import('@/views/sys/dictionary/DictionaryList'), + meta: { title: '数据词典', keepAlive: true } } ] }, @@ -373,5 +379,19 @@ export const constantRouterMap = [ { path: '/404', component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404') - } + }, + { + path: '/dictionary', + component: BasicLayout, + redirect: '/sys/dictionary', + meta: { title: '词典分类' }, + children: [ + { + path: 'dictionaryItem/list/:id', + name: 'DictionaryItemList', + component: () => import('@/views/sys/dictionaryItem/DictionaryItemList'), + meta: { title: '词典项', keepAlive: true, permission: [ 'dictionaryItem' ] } + } + ] + }, ] diff --git a/src/layouts/UserLayout.vue b/src/layouts/UserLayout.vue index 99c836b..fc04200 100644 --- a/src/layouts/UserLayout.vue +++ b/src/layouts/UserLayout.vue @@ -17,7 +17,7 @@ 条款 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index a3f5f0a..b90ce57 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,11 +1,11 @@ import storage from 'store' import { userLogin, getInfo } from '@/api/security/user' -import { ACCESS_TOKEN, LOGIN_TOKEN } from '@/store/mutation-types' +import { ACCESS_TOKEN } from '@/store/mutation-types' import { welcome } from '@/utils/util' const user = { state: { - loginToken: '', + token: '', name: '', welcome: '', avatar: '', @@ -15,7 +15,7 @@ const user = { mutations: { SET_TOKEN: (state, token) => { - state.loginToken = token + state.token = token }, SET_NAME: (state, { name, welcome }) => { state.name = name @@ -37,10 +37,8 @@ const user = { Login ({ commit }, userInfo) { return new Promise((resolve, reject) => { userLogin(userInfo).then(response => { - const result = response.data - storage.set(LOGIN_TOKEN, result.loginToken, 24 * 60 * 60 * 1000) - commit('SET_TOKEN', result.loginToken) - commit('SET_INFO', result) + storage.set(ACCESS_TOKEN, response.token, 24 * 60 * 60 * 1000) + commit('SET_TOKEN', response.token) resolve() }).catch(error => { reject(error) @@ -82,7 +80,6 @@ const user = { return new Promise((resolve) => { commit('SET_TOKEN', '') commit('SET_ROLES', []) - storage.remove(LOGIN_TOKEN) storage.remove(ACCESS_TOKEN) resolve() }) diff --git a/src/store/mutation-types.js b/src/store/mutation-types.js index 03055f4..9bcaa35 100644 --- a/src/store/mutation-types.js +++ b/src/store/mutation-types.js @@ -1,6 +1,4 @@ -export const ACCESS_TOKEN = 'ACCESS-TOKEN' -export const LOGIN_TOKEN = 'LOGIN-TOKEN' -export const TOKEN_NAME = 'Authorization' +export const ACCESS_TOKEN = 'Authorization' export const SIDEBAR_TYPE = 'sidebar_type' export const TOGGLE_MOBILE_TYPE = 'is_mobile' diff --git a/src/utils/request.js b/src/utils/request.js index 45e0aa2..1150477 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -3,10 +3,9 @@ import store from '@/store' import storage from 'store' import notification from 'ant-design-vue/es/notification' import { VueAxios } from './axios' -import { ACCESS_TOKEN, LOGIN_TOKEN, TOKEN_NAME } from '@/store/mutation-types' +import { ACCESS_TOKEN } from '@/store/mutation-types' -const DATA_OWNER = 1 -const SUCCESS_CODE = 'ok' +const SUCCESS_CODE = 200 const INVALID_TOKEN_CODE = '0000' const toast = (msg, description) => { @@ -48,20 +47,17 @@ const errorHandler = (error) => { // request interceptor request.interceptors.request.use(config => { - const token = storage.get(ACCESS_TOKEN) - const loginToken = storage.get(LOGIN_TOKEN) - // 如果 token 存在 - // 让每个请求携带自定义 token 请根据实际情况自行修改 + // const token = storage.get(ACCESS_TOKEN) + // 由于登录接口待联调,token使用默认值 + const token = 'eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImU1MmNhNTQ4LThmYmMtNGUyNC1iZjZjLWEzZjgwNDAwMDNiMCJ9._j_AHCd4I_PTWk4mt9euUzlABBoiqsNAIjVGrFJPWv8ZyoqgH9JPs2QFHtoj1Vly8cgtOri8X0ylbttglCcUQQ' + // 如果 token 存在,让每个请求携带自定义 token 请根据实际情况自行修改 if (token) { config.headers[ACCESS_TOKEN] = token - config.headers[TOKEN_NAME] = 'eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjdhYTViMGZiLTkyOWQtNDhhZS04ODU1LWJkNzM5MjdlOTNiZCJ9.CZzowaB-w2krGpNttPZBNLfq1mw775Lh-sx1K8onfgSwNzA6bw-P7CqC4vgH29xjDv3ey4zEFDzV9pHnrAGrDA' } if (config.method === 'post') { if (!config.data) { config.data = {} } - config.data.dataOwner = DATA_OWNER - config.data.loginToken = loginToken } return config }, errorHandler) diff --git a/src/utils/screenLog.js b/src/utils/screenLog.js index 04ea8d7..1ed8f22 100644 --- a/src/utils/screenLog.js +++ b/src/utils/screenLog.js @@ -3,10 +3,7 @@ export const printANSI = () => { // console.clear() // ASCII - ANSI Shadow let text = ` -╔═╗╔╗╔╔╦╗╔═╗╔═╗╔╦╗╔═╗╦═╗ -╠═╣║║║ ║ ║╣ ╠═╣ ║ ║╣ ╠╦╝ -╩ ╩╝╚╝ ╩ ╚═╝╩ ╩ ╩ ╚═╝╩╚═ -Published ${APP_VERSION}-${GIT_HASH} @ tcc.com +Published ${APP_VERSION}-${GIT_HASH} @ xinmei.com Build date: ${BUILD_DATE}` console.log(`%c${text}`, 'color: #fc4d50') } diff --git a/src/views/sys/dictionary/DictionaryDetail.vue b/src/views/sys/dictionary/DictionaryDetail.vue new file mode 100644 index 0000000..9c8a7f5 --- /dev/null +++ b/src/views/sys/dictionary/DictionaryDetail.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/views/sys/dictionary/DictionaryForm.vue b/src/views/sys/dictionary/DictionaryForm.vue new file mode 100644 index 0000000..359a440 --- /dev/null +++ b/src/views/sys/dictionary/DictionaryForm.vue @@ -0,0 +1,103 @@ + + + diff --git a/src/views/sys/dictionary/DictionaryList.vue b/src/views/sys/dictionary/DictionaryList.vue new file mode 100644 index 0000000..4190eb7 --- /dev/null +++ b/src/views/sys/dictionary/DictionaryList.vue @@ -0,0 +1,126 @@ + + + diff --git a/src/views/sys/dictionaryItem/DictionaryItemDetail.vue b/src/views/sys/dictionaryItem/DictionaryItemDetail.vue new file mode 100644 index 0000000..7d7e057 --- /dev/null +++ b/src/views/sys/dictionaryItem/DictionaryItemDetail.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/views/sys/dictionaryItem/DictionaryItemForm.vue b/src/views/sys/dictionaryItem/DictionaryItemForm.vue new file mode 100644 index 0000000..907c696 --- /dev/null +++ b/src/views/sys/dictionaryItem/DictionaryItemForm.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/src/views/sys/dictionaryItem/DictionaryItemList.vue b/src/views/sys/dictionaryItem/DictionaryItemList.vue new file mode 100644 index 0000000..76eff64 --- /dev/null +++ b/src/views/sys/dictionaryItem/DictionaryItemList.vue @@ -0,0 +1,132 @@ + + +