diff --git a/api/system/user.js b/api/system/user.js index 0e307ea..f34c46f 100644 --- a/api/system/user.js +++ b/api/system/user.js @@ -1,41 +1,110 @@ -import upload from '@/utils/upload' -import request from '@/utils/request' +import config from '@/config' +import storage from '@/utils/storage' +import constant from '@/utils/constant' +import { isHttp, isEmpty } from "@/utils/validate" +import { login, logout, getInfo } from '@/api/login' +import { getToken, setToken, removeToken } from '@/utils/auth' +import defAva from '@/static/images/profile.jpg' -// 用户密码重置 -export function updateUserPwd(oldPassword, newPassword) { - const data = { - oldPassword, - newPassword +const baseUrl = config.baseUrl + +const user = { + state: { + token: getToken(), + id: storage.get(constant.id), + name: storage.get(constant.name), + avatar: storage.get(constant.avatar), + roles: storage.get(constant.roles), + permissions: storage.get(constant.permissions) + }, + + mutations: { + SET_TOKEN: (state, token) => { + state.token = token + }, + SET_ID: (state, id) => { + state.id = id + storage.set(constant.id, id) + }, + SET_NAME: (state, name) => { + state.name = name + storage.set(constant.name, name) + }, + SET_AVATAR: (state, avatar) => { + state.avatar = avatar + storage.set(constant.avatar, avatar) + }, + SET_ROLES: (state, roles) => { + state.roles = roles + storage.set(constant.roles, roles) + }, + SET_PERMISSIONS: (state, permissions) => { + state.permissions = permissions + storage.set(constant.permissions, permissions) + } + }, + + actions: { + // 登录 + Login({ commit }, userInfo) { + const username = userInfo.username.trim() + const password = userInfo.password + const code = userInfo.code + const uuid = userInfo.uuid + return new Promise((resolve, reject) => { + login(username, password, code, uuid).then(res => { + setToken(res.token) + commit('SET_TOKEN', res.token) + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + + // 获取用户信息 + GetInfo({ commit, state }) { + return new Promise((resolve, reject) => { + getInfo().then(res => { + const user = res.user + let avatar = user.avatar || "" + if (!isHttp(avatar)) { + avatar = (isEmpty(avatar)) ? defAva : baseUrl + avatar + } + const userid = (isEmpty(user) || isEmpty(user.userId)) ? "" : user.userId + const username = (isEmpty(user) || isEmpty(user.userName)) ? "" : user.userName + if (res.roles && res.roles.length > 0) { + commit('SET_ROLES', res.roles) + commit('SET_PERMISSIONS', res.permissions) + } else { + commit('SET_ROLES', ['ROLE_DEFAULT']) + } + commit('SET_ID', userid) + commit('SET_NAME', username) + commit('SET_AVATAR', avatar) + resolve(res) + }).catch(error => { + reject(error) + }) + }) + }, + + // 退出系统 + LogOut({ commit, state }) { + return new Promise((resolve, reject) => { + logout(state.token).then(() => { + commit('SET_TOKEN', '') + commit('SET_ROLES', []) + commit('SET_PERMISSIONS', []) + removeToken() + storage.clean() + resolve() + }).catch(error => { + reject(error) + }) + }) + } } - return request({ - url: '/system/user/profile/updatePwd', - 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 uploadAvatar(data) { - return upload({ - url: '/system/user/profile/avatar', - name: data.name, - filePath: data.filePath - }) -} +export default user diff --git a/config.js b/config.js index fba8b0c..ce0e7e7 100644 --- a/config.js +++ b/config.js @@ -2,7 +2,8 @@ module.exports = { // baseUrl: 'https://vue.ruoyi.vip/prod-api', - baseUrl:'http://193.112.94.36:8080', + baseUrl:'http://yunzs.haich.cc', + // baseUrl:'http://193.112.94.36:8080', // baseUrl = 'https://api.ruoyi.com' // prodApi: 'https://vue.ruoyi.vip/prod-api', // baseUrl: 'http://localhost:8080', diff --git a/pages.json b/pages.json index 78bd434..b904ee6 100644 --- a/pages.json +++ b/pages.json @@ -168,6 +168,12 @@ "style": { "navigationBarTitleText": "" } + }, + { + "path": "pages/back/back", + "style": { + "navigationBarTitleText": "" + } } ], "tabBar": { diff --git a/pages/back/back.vue b/pages/back/back.vue new file mode 100644 index 0000000..6a7d757 --- /dev/null +++ b/pages/back/back.vue @@ -0,0 +1,222 @@ + + + + + \ No newline at end of file diff --git a/pages/index.vue b/pages/index.vue index 1f165c1..50da609 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -102,7 +102,7 @@ - + 订单 @@ -279,6 +279,11 @@ export default { uni.navigateTo({ url: '/pages/asset/asset' }) + }, + goToBack(){ + uni.navigateTo({ + url:'/pages/back/back' + }) }, // reLaunchToA() { // uni.reLaunch({ diff --git a/pages/mine/avatar/index.vue b/pages/mine/avatar/index.vue index 18ac16c..14c82d7 100644 --- a/pages/mine/avatar/index.vue +++ b/pages/mine/avatar/index.vue @@ -37,11 +37,12 @@