Commit 189ec294 authored by yanzhongrong's avatar yanzhongrong

basedata

parent 6621c7eb
import request from '@/utils/request'
const path = {
deptList: '/dict/selectDeptItem',
fsuList: '/dict/selectFsuItem',
}
export function deptList() {
return request.post(path.deptList, ...arguments)
}
export function fsuList() {
return request.post(path.fsuList, ...arguments)
}
import Vue from 'vue' import Vue from 'vue'
import 'normalize.css/normalize.css' // A modern alternative to CSS resets import 'normalize.css/normalize.css' // A modern alternative to CSS resets
import ElementUI from 'element-ui' import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css' import 'element-ui/lib/theme-chalk/index.css'
import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n
import '@/styles/index.scss' // global css import '@/styles/index.scss' // global css
import App from './App' import App from './App'
import store from './store' import store from './store'
import router from './router' import router from './router'
import '@/icons' // icon import '@/icons' // icon
import '@/permission' // permission control import '@/permission' // permission control
import performLoader from '@/utils/global_main_loader.js' import performLoader from '@/utils/global_main_loader.js'
import { Loading } from 'element-ui'
Vue.use(ElementUI, { locale }) Vue.use(ElementUI, { locale })
performLoader(Vue) // 所有的第三方插件性质的东西都放到这里面了 performLoader(Vue) // 所有的第三方插件性质的东西都放到这里面了
Vue.config.productionTip = false Vue.config.productionTip = false
function dispatchWithPromise(path) {
return new Promise(resolve => {
store.dispatch(path, resolve)
})
}
const beforeEnterApp = () => {
// const loading = Loading.service({ fullscreen: true, text: '拼命加载中' })
dispatchWithPromise('depart/getDepart')
}
beforeEnterApp()
new Vue({ new Vue({
el: '#app', el: '#app',
router, router,
......
...@@ -4,6 +4,7 @@ import getters from './getters' ...@@ -4,6 +4,7 @@ import getters from './getters'
import app from './modules/app' import app from './modules/app'
import settings from './modules/settings' import settings from './modules/settings'
import user from './modules/user' import user from './modules/user'
import depart from './modules/depart'
Vue.use(Vuex) Vue.use(Vuex)
...@@ -11,7 +12,8 @@ const store = new Vuex.Store({ ...@@ -11,7 +12,8 @@ const store = new Vuex.Store({
modules: { modules: {
app, app,
settings, settings,
user user,
depart
}, },
getters getters
}) })
......
import { deptList } from '@/api/baseData'
const getDefaultState = () => {
return {
departList: null,
departMap: {}
}
}
const state = getDefaultState()
const mutations = {
RESET_STATE: state => {
Object.assign(state, getDefaultState())
},
SET_DEPART: (state, payload) => {
state.departList = handleDepart(payload)
state.departMap = listToMap(payload)
},
}
const actions = {
getDepart({ commit }) {
deptList({}).then(res => {
if (!res) return
commit('SET_DEPART', res)
})
},
}
const getters = {
departMap(state) {
return state.departMap
},
}
function handleDepart(list) {
if (!list) return
return list.map(item => {
let data = {}
data.label = item.dictValue
data.name = item.dictValue
data.id = item.id
data.value = item.id
data.data = item
return data
})
}
function listToMap(arr, mapKey = 'id') {
let map = {}
arr.forEach(item => {
map[item[mapKey]] = item
})
return map
}
export default {
namespaced: true,
state,
mutations,
actions,
getters
}
import { login, getInfo } from '@/api/user' import { login, getInfo } from '@/api/user'
import { getToken, setToken, removeToken } from '@/utils/auth' import { getToken, setToken, removeToken, getUserName, getUserId, removeUserName, removeUserId } from '@/utils/auth'
import { resetRouter } from '@/router' import { resetRouter } from '@/router'
const getDefaultState = () => { const getDefaultState = () => {
return { return {
token: getToken(), token: getToken(),
name: '', name: getUserName(),
avatar: '' avatar: '',
userId: getUserId()
} }
} }
...@@ -24,6 +25,9 @@ const mutations = { ...@@ -24,6 +25,9 @@ const mutations = {
}, },
SET_AVATAR: (state, avatar) => { SET_AVATAR: (state, avatar) => {
state.avatar = avatar state.avatar = avatar
},
SET_USERID: (state, userId) => {
state.userId = userId
} }
} }
...@@ -35,6 +39,7 @@ const actions = { ...@@ -35,6 +39,7 @@ const actions = {
login({ username: username.trim(), password: password }).then(response => { login({ username: username.trim(), password: password }).then(response => {
const { data } = response const { data } = response
commit('SET_TOKEN', data.token) commit('SET_TOKEN', data.token)
commit('SET_NAME', data.userName)
setToken(data.token) setToken(data.token)
resolve() resolve()
}).catch(error => { }).catch(error => {
...@@ -68,8 +73,12 @@ const actions = { ...@@ -68,8 +73,12 @@ const actions = {
logout({ commit, state }) { logout({ commit, state }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
removeToken() // must remove token first removeToken() // must remove token first
removeUserName() // must remove token first
removeUserId() // must remove token first
resetRouter() resetRouter()
commit("SET_TOKEN", "") commit("SET_TOKEN", "")
commit("SET_NAME", "")
commit("SET_USERID", "")
commit('RESET_STATE') commit('RESET_STATE')
resolve() resolve()
}) })
...@@ -79,6 +88,8 @@ const actions = { ...@@ -79,6 +88,8 @@ const actions = {
resetToken({ commit }) { resetToken({ commit }) {
return new Promise(resolve => { return new Promise(resolve => {
removeToken() // must remove token first removeToken() // must remove token first
removeUserName() // must remove token first
removeUserId() // must remove token first
commit('RESET_STATE') commit('RESET_STATE')
resolve() resolve()
}) })
......
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
const TokenKey = 'vue_admin_template_token' const TokenKey = 'token'
const userName = 'name'
const userId = 'id'
export function getToken() { export function getToken() {
return Cookies.get(TokenKey) return Cookies.get(TokenKey)
...@@ -13,3 +15,27 @@ export function setToken(token) { ...@@ -13,3 +15,27 @@ export function setToken(token) {
export function removeToken() { export function removeToken() {
return Cookies.remove(TokenKey) return Cookies.remove(TokenKey)
} }
export function getUserName() {
return Cookies.get(userName)
}
export function setUserName(name) {
return Cookies.set(userName, name)
}
export function removeUserName() {
return Cookies.remove(userName)
}
export function getUserId() {
return Cookies.get(userId)
}
export function setUserId(id) {
return Cookies.set(userId, id)
}
export function removeUserId() {
return Cookies.remove(userId)
}
\ No newline at end of file
...@@ -61,7 +61,7 @@ service.interceptors.response.use( ...@@ -61,7 +61,7 @@ service.interceptors.response.use(
let code = resFinal.errorCode || resFinal.code let code = resFinal.errorCode || resFinal.code
let message = resFinal.message || resFinal.errorMsg || resFinal.error || '接口错误' let message = resFinal.message || resFinal.errorMsg || resFinal.error || '接口错误'
if(code) { if(code) {
if (code == 501) { if (code == 201) {
location.href = location.href.replace(/#.+/, '') + '#/login' location.href = location.href.replace(/#.+/, '') + '#/login'
return return
} }
...@@ -71,36 +71,13 @@ service.interceptors.response.use( ...@@ -71,36 +71,13 @@ service.interceptors.response.use(
setTimeout(() => { errorShowing = false }, 3000) setTimeout(() => { errorShowing = false }, 3000)
store.dispatch('user/resetToken') store.dispatch('user/resetToken')
return return
}
if (code !== 200) {
!config.silence && Message.error(message)
return Promise.reject(new Error(message))
} }
// if (code) {
// !config.silence && Message.error(message)
// return Promise.reject(new Error(message))
// }
} }
// if (res.code !== 20000) { return res
// Message({
// message: res.message || 'Error',
// type: 'error',
// duration: 5 * 1000
// })
// // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
// if (res.code === 501 || res.code === 201 || res.code === 50014) {
// // to re-login
// MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', {
// confirmButtonText: '重新登陆',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// store.dispatch('user/resetToken').then(() => {
// location.reload()
// })
// })
// }
// return Promise.reject(new Error(res.message || 'Error'))
// } else {
return res
// }
}, },
error => { error => {
console.log('err' + error) // for debug console.log('err' + error) // for debug
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<script> <script>
import { login } from "@/api/user" import { login } from "@/api/user"
import { setToken } from "@/utils/auth" import { setToken, setUserName, setUserId } from "@/utils/auth"
export default { export default {
name: "Login", name: "Login",
...@@ -125,7 +125,7 @@ export default { ...@@ -125,7 +125,7 @@ export default {
username, username,
password password
} = this.loginForm } = this.loginForm
let { userName, token } = await login({ let { userName, token, userId } = await login({
userName: username, userName: username,
password: password, password: password,
}, { }, {
...@@ -134,7 +134,10 @@ export default { ...@@ -134,7 +134,10 @@ export default {
if (!token) return if (!token) return
this.$store.commit("user/SET_TOKEN", token) this.$store.commit("user/SET_TOKEN", token)
this.$store.commit("user/SET_NAME", userName) this.$store.commit("user/SET_NAME", userName)
this.$store.commit("user/SET_USERID", userId)
setToken(token) setToken(token)
setUserName(userName)
setUserId(userId)
this.$router.push({ path: "/" }) this.$router.push({ path: "/" })
// setTimeout(() => { // setTimeout(() => {
// location.reload() // location.reload()
......
...@@ -5,14 +5,14 @@ ...@@ -5,14 +5,14 @@
<el-form-item label="用户名:" prop="name"> <el-form-item label="用户名:" prop="name">
<el-input v-model="form.name" /> <el-input v-model="form.name" />
</el-form-item> </el-form-item>
<el-form-item label="原密码:" prop="oldPass"> <el-form-item label="原密码:" prop="originPwd">
<el-input v-model="form.oldPass" /> <el-input v-model="form.originPwd" />
</el-form-item> </el-form-item>
<el-form-item label="新密码:" prop="newPass"> <el-form-item label="新密码:" prop="password">
<el-input v-model="form.newPass" /> <el-input v-model="form.password" />
</el-form-item> </el-form-item>
<el-form-item label="确认新密码:" prop="confirmPwd"> <el-form-item label="确认新密码:" prop="sureNewPwd">
<el-input v-model="form.confirmPwd" /> <el-input v-model="form.sureNewPwd" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn"> <div class="btn">
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
</template> </template>
<script> <script>
import { updatePwd } from '../../api'
export default { export default {
data() { data() {
var validatePass2 = (rule, value, callback) => { var validatePass2 = (rule, value, callback) => {
...@@ -36,9 +37,10 @@ export default { ...@@ -36,9 +37,10 @@ export default {
return { return {
form: { form: {
name: this.$store.getters.name, name: this.$store.getters.name,
oldPass: '', originPwd: '',
newPass: '', password: '',
confirmPwd: '' sureNewPwd: '',
userId: this.$store.getters
}, },
rules: { rules: {
name: { required: true, message: '请输入用户名', trigger: 'blur' }, name: { required: true, message: '请输入用户名', trigger: 'blur' },
...@@ -52,7 +54,9 @@ export default { ...@@ -52,7 +54,9 @@ export default {
confirm() { confirm() {
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (valid) { if (valid) {
// alert('submit!'); updatePwd(this.form).then(res => {
console.log(res, 111);
})
} else { } else {
console.log('error submit!!') console.log('error submit!!')
return false return false
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
</template> </template>
<script> <script>
import { list, create, updatePwd, updateInfo } from './api' import { list, create, updatePwd, updateInfo } from '../api'
export default { export default {
data() { data() {
return { return {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment