类型规范化

This commit is contained in:
D 2023-08-28 23:12:06 +08:00
parent a4ed59eb92
commit 5ad075c7c9
4 changed files with 152 additions and 132 deletions

View File

@ -21,112 +21,112 @@
</template> </template>
<script> <script>
import { getUserProfile } from "@/api/system/user" import { getUserProfile } from "@/api/system/user"
import { updateUserProfile } from "@/api/system/user" import { updateUserProfile } from "@/api/system/user"
export default { export default {
data() { data() {
return { return {
user: { user: {
nickName: "", nickName: "",
phonenumber: "", phonenumber: "",
email: "", email: "",
sex: "" sex: ""
},
sexs: [{
text: '男',
value: "0"
}, {
text: '女',
value: "1"
}],
rules: {
nickName: {
rules: [{
required: true,
errorMessage: '用户昵称不能为空'
}]
}, },
sexs: [{ phonenumber: {
text: '男', rules: [{
value: "0" required: true,
}, { errorMessage: '手机号码不能为空'
text: '女', }, {
value: "1" pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
}], errorMessage: '请输入正确的手机号码'
rules: { }]
nickName: { },
rules: [{ email: {
required: true, rules: [{
errorMessage: '用户昵称不能为空' required: true,
}] errorMessage: '邮箱地址不能为空'
}, }, {
phonenumber: { format: 'email',
rules: [{ errorMessage: '请输入正确的邮箱地址'
required: true, }]
errorMessage: '手机号码不能为空'
}, {
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
errorMessage: '请输入正确的手机号码'
}]
},
email: {
rules: [{
required: true,
errorMessage: '邮箱地址不能为空'
}, {
format: 'email',
errorMessage: '请输入正确的邮箱地址'
}]
}
} }
} }
}
},
onLoad() {
this.getUser()
},
onReady() {
this.$refs.form.setRules(this.rules)
},
methods: {
getUser() {
getUserProfile().then(response => {
this.user = response.data
})
}, },
onLoad() { submit(ref) {
this.getUser() this.$refs.form.validate().then(res => {
}, updateUserProfile(this.user).then(response => {
onReady() { uni.showToast({
this.$refs.form.setRules(this.rules) title: '修改成功',
}, mask: false,
methods: { duration: 1000
getUser() { });
getUserProfile().then(response => { uni.navigateBack();
this.user = response.data
}) })
}, })
submit(ref) {
this.$refs.form.validate().then(res => {
updateUserProfile(this.user).then(response => {
uni.showToast({
title: '修改成功',
mask: false,
duration: 1000
});
uni.navigateBack();
})
})
}
} }
} }
}
</script> </script>
<style lang="scss"> <style lang="scss">
page { page {
background-color: #ffffff; background-color: #ffffff;
} }
.example { .example {
padding: 15px; padding: 15px;
background-color: #fff; background-color: #fff;
} }
.segmented-control { .segmented-control {
margin-bottom: 15px; margin-bottom: 15px;
} }
.button-group { .button-group {
margin-top: 15px; margin-top: 15px;
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
} }
.form-item { .form-item {
display: flex; display: flex;
align-items: center; align-items: center;
flex: 1; flex: 1;
} }
.button { .button {
display: flex; display: flex;
align-items: center; align-items: center;
height: 35px; height: 35px;
line-height: 35px; line-height: 35px;
margin-left: 10px; margin-left: 10px;
} }
</style> </style>

View File

@ -1,44 +1,46 @@
<template> <template>
<view class="container"> <view class="container">
<uni-list> <uni-list>
<uni-list-item showExtraIcon="true" :extraIcon="{type: 'person-filled'}" title="昵称" :rightText="user.nickName" /> <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'person-filled' }" title="昵称" :rightText="user.nickName" />
<uni-list-item showExtraIcon="true" :extraIcon="{type: 'phone-filled'}" title="手机号码" :rightText="user.phonenumber" /> <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'phone-filled' }" title="手机号码"
<uni-list-item showExtraIcon="true" :extraIcon="{type: 'email-filled'}" title="邮箱" :rightText="user.email" /> :rightText="user.phonenumber" />
<uni-list-item showExtraIcon="true" :extraIcon="{type: 'auth-filled'}" title="岗位" :rightText="postGroup" /> <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'email-filled' }" title="邮箱" :rightText="user.email" />
<uni-list-item showExtraIcon="true" :extraIcon="{type: 'staff-filled'}" title="角色" :rightText="roleGroup" /> <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'auth-filled' }" title="岗位" :rightText="postGroup" />
<uni-list-item showExtraIcon="true" :extraIcon="{type: 'calendar-filled'}" title="创建日期" :rightText="user.createTime" /> <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'staff-filled' }" title="角色" :rightText="roleGroup" />
<uni-list-item showExtraIcon="true" :extraIcon="{ type: 'calendar-filled' }" title="创建日期"
:rightText="user.createTime" />
</uni-list> </uni-list>
</view> </view>
</template> </template>
<script> <script>
import { getUserProfile } from "@/api/system/user" import { getUserProfile } from "@/api/system/user"
export default { export default {
data() { data() {
return { return {
user: {}, user: {},
roleGroup: "", roleGroup: "",
postGroup: "" postGroup: ""
} }
}, },
onLoad() { onLoad() {
this.getUser() this.getUser()
}, },
methods: { methods: {
getUser() { getUser() {
getUserProfile().then(response => { getUserProfile().then(response => {
this.user = response.data this.user = response.data
this.roleGroup = response.roleGroup this.roleGroup = response.roleGroup
this.postGroup = response.postGroup this.postGroup = response.postGroup
}) })
}
} }
} }
}
</script> </script>
<style lang="scss"> <style lang="scss">
page { page {
background-color: #ffffff; background-color: #ffffff;
} }
</style> </style>

View File

@ -47,7 +47,7 @@ const user = {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
login(username, password, code, uuid).then(res => { login(username, password, code, uuid).then(res => {
setToken(res.token) setToken(res.token)
commit('SET_TOKEN',res.token ) commit('SET_TOKEN', res.token)
resolve() resolve()
}).catch(error => { }).catch(error => {
reject(error) reject(error)
@ -60,10 +60,8 @@ const user = {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getInfo().then(res => { getInfo().then(res => {
const user = res.user const user = res.user
//const avatar = (user == null || user.avatar == "" || user.avatar == null) ? "@/static/images/profile.jpg" : baseUrl + user.avatar const avatar = (user == null || user.avatar == "" || user.avatar == null) ? "@/static/images/profile.jpg" : baseUrl + user.avatar
/* cloud */ const username = (user == null || user.userName == "" || user.userName == null) ? "" : user.userName
const avatar = (user == null || user.avatar == "" || user.avatar == null) ? "/static/images/profile.jpg" : user.avatar
const username = (user == null || user.userName == "" || user.userName == null) ? "" : user.userName
if (res.roles && res.roles.length > 0) { if (res.roles && res.roles.length > 0) {
commit('SET_ROLES', res.roles) commit('SET_ROLES', res.roles)
commit('SET_PERMISSIONS', res.permissions) commit('SET_PERMISSIONS', res.permissions)

View File

@ -4,10 +4,28 @@ import { getToken } from '@/utils/auth'
import errorCode from '@/utils/errorCode' import errorCode from '@/utils/errorCode'
import { toast, showConfirm, tansParams } from '@/utils/common' import { toast, showConfirm, tansParams } from '@/utils/common'
let timeout = 10000
const baseUrl = config.baseUrl const baseUrl = config.baseUrl
const request = config => { interface RequestConfig{
headers?:{
isToken:boolean
},
header?:any,
params?:any,
url:string,
method?:"OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT" | undefined
baseUrl?:string,
timeout?:number | undefined,
data?:any
}
interface ResponseData{
code:number,
data:any,
msg:string
}
const request = (config:RequestConfig) => {
// 是否需要设置 token // 是否需要设置 token
const isToken = (config.headers || {}).isToken === false const isToken = (config.headers || {}).isToken === false
config.header = config.header || {} config.header = config.header || {}
@ -22,8 +40,8 @@ const request = config => {
} }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
uni.request({ uni.request({
method: config.method || 'get', method: config.method || 'GET',
timeout: config.timeout || timeout, timeout: config.timeout || 10000,
url: config.baseUrl || baseUrl + config.url, url: config.baseUrl || baseUrl + config.url,
data: config.data, data: config.data,
header: config.header, header: config.header,
@ -36,8 +54,10 @@ const request = config => {
return return
} */ } */
const res = response const res = response
const code = res.data.code || 200 const data:ResponseData = res.data as ResponseData
const msg = errorCode[code] || res.data.msg || errorCode['default'] const code = data.code || 200
// @ts-ignore
const msg:string = errorCode[code] || data.msg || errorCode['default']
if (code === 401) { if (code === 401) {
showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => { showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => {
if (res.confirm) { if (res.confirm) {