密码md5
parent
731ce93bd0
commit
cb9cc74fab
|
|
@ -54,6 +54,7 @@
|
|||
"ezuikit-js": "^7.7.6",
|
||||
"flv.js": "^1.6.2",
|
||||
"intro.js": "^5.1.0",
|
||||
"js-md5": "^0.8.3",
|
||||
"lodash-es": "^4.17.21",
|
||||
"mockjs": "^1.1.0",
|
||||
"nprogress": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -1028,3 +1028,14 @@ export function getWormCount(device, params, mode: ErrorMessageMode = 'modal') {
|
|||
},
|
||||
)
|
||||
}
|
||||
|
||||
export function unban(admin_user, mode: ErrorMessageMode = 'modal') {
|
||||
return defHttp.put(
|
||||
{
|
||||
url: `/api/admin-users/${admin_user}/unban `,
|
||||
},
|
||||
{
|
||||
errorMessageMode: mode,
|
||||
},
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,8 +102,6 @@ export const useUserStore = defineStore({
|
|||
const data = await loginApi(loginParams, mode)
|
||||
const { token } = data
|
||||
this.setToken(token)
|
||||
console.log(data)
|
||||
|
||||
return this.afterLoginAction(goHome, homeRouter)
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
|
|
@ -160,6 +158,7 @@ export const useUserStore = defineStore({
|
|||
|
||||
if (userInfo.username === 'admin') {
|
||||
this.setRoleList([RoleEnum.SUPER])
|
||||
this.permissions.push(RoleEnum.SUPER)
|
||||
}
|
||||
this.setUserInfo(userInfo)
|
||||
return userInfo
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { reactive, ref, unref, computed } from 'vue'
|
||||
|
||||
import md5 from 'js-md5'
|
||||
import { Checkbox, Form, Input, Row, Col, Button, Divider } from 'ant-design-vue'
|
||||
import {
|
||||
GithubFilled,
|
||||
|
|
@ -143,7 +143,7 @@
|
|||
try {
|
||||
loading.value = true
|
||||
const userInfo = await userStore.login({
|
||||
password: data.password,
|
||||
password: md5(data.password),
|
||||
username: data.account,
|
||||
mode: 'none', //不要默认的错误提示
|
||||
homeRouter: e,
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
import { accountFormSchema } from './account.data'
|
||||
import { BasicDrawer, useDrawerInner } from '/@/components/Drawer'
|
||||
import { addUser, getUsersInfo, editUser } from '/@/api/sys/user'
|
||||
import md5 from 'js-md5'
|
||||
const emits = defineEmits(['success', 'register'])
|
||||
const isUpdate = ref(false)
|
||||
const getTitle = computed(() => (!isUpdate.value ? '新增账号' : '编辑账号'))
|
||||
|
|
@ -45,6 +46,7 @@
|
|||
const values = await validate()
|
||||
setDrawerProps({ confirmLoading: true })
|
||||
values.view_all_bases = values.view_all_bases ? 1 : 0
|
||||
|
||||
if (values.id) {
|
||||
values.role_id = values?.role_id
|
||||
|
||||
|
|
@ -52,6 +54,7 @@
|
|||
await editUser(values.id, values)
|
||||
} else {
|
||||
// 新增
|
||||
values.password = md5(values.password)
|
||||
await addUser(values)
|
||||
}
|
||||
closeDrawer()
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import { getRoles, getAgriculturalBasic, editEnable } from '/@/api/sys/user'
|
|||
import { isMobile } from '/@/utils/is'
|
||||
import { h } from 'vue'
|
||||
import { Tag, Switch, message } from 'ant-design-vue'
|
||||
import dayjs from 'dayjs'
|
||||
export const columns: BasicColumn[] = [
|
||||
{
|
||||
title: '用户名',
|
||||
|
|
@ -95,6 +96,14 @@ export const columns: BasicColumn[] = [
|
|||
},
|
||||
{
|
||||
width: 180,
|
||||
title: '封禁时间',
|
||||
dataIndex: 'banned_at',
|
||||
format(e) {
|
||||
return e ? dayjs(e).format('YYYY-MM-DD HH:mm:ss') : '-'
|
||||
},
|
||||
},
|
||||
{
|
||||
width: 220,
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
|
|
|
|||
|
|
@ -32,6 +32,21 @@
|
|||
},
|
||||
]"
|
||||
/>
|
||||
|
||||
<TableAction
|
||||
v-if="record.banned_at"
|
||||
:actions="[
|
||||
{
|
||||
label: '解封',
|
||||
auth: 'super',
|
||||
popConfirm: {
|
||||
title: '是否确认解封账号',
|
||||
placement: 'topRight',
|
||||
confirm: handleUnbanned.bind(null, record),
|
||||
},
|
||||
},
|
||||
]"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
|
|
@ -43,7 +58,7 @@
|
|||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { BasicTable, useTable, TableAction } from '/@/components/Table'
|
||||
import { getUsers, deleteUser } from '/@/api/sys/user'
|
||||
import { getUsers, deleteUser, unban } from '/@/api/sys/user'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { useDrawer } from '/@/components/Drawer'
|
||||
import { useModal } from '/@/components/Modal'
|
||||
|
|
@ -102,4 +117,9 @@
|
|||
const handleSuccessModel = () => {
|
||||
message.success('操作成功')
|
||||
}
|
||||
const handleUnbanned = async (record: Recordable) => {
|
||||
await unban(record.id)
|
||||
message.success('解封成功')
|
||||
reload()
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
import { passwordFormSchema } from './account.data'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { editPassword } from '/@/api/sys/user'
|
||||
import md5 from 'js-md5'
|
||||
|
||||
const ID = ref('')
|
||||
const emits = defineEmits(['success', 'register'])
|
||||
|
|
@ -35,7 +36,10 @@
|
|||
const values = await validate()
|
||||
if (values.password_confirmation !== values.password) return message.error('两次密码不一致')
|
||||
setModalProps({ confirmLoading: true })
|
||||
await editPassword(ID.value, values)
|
||||
await editPassword(ID.value, {
|
||||
password: md5(values.password),
|
||||
password_confirmation: md5(values.password_confirmation),
|
||||
})
|
||||
closeModal()
|
||||
emits('success')
|
||||
} finally {
|
||||
|
|
|
|||
|
|
@ -6121,6 +6121,11 @@ js-base64@^2.1.9:
|
|||
resolved "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz"
|
||||
integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
|
||||
|
||||
js-md5@^0.8.3:
|
||||
version "0.8.3"
|
||||
resolved "https://registry.yarnpkg.com/js-md5/-/js-md5-0.8.3.tgz#921bab7efa95bfc9d62b87ee08a57f8fe4305b69"
|
||||
integrity sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ==
|
||||
|
||||
js-sdsl@^4.1.4:
|
||||
version "4.1.5"
|
||||
resolved "https://registry.npmmirror.com/js-sdsl/-/js-sdsl-4.1.5.tgz"
|
||||
|
|
|
|||
Loading…
Reference in New Issue