密码md5

develop
ihzero 2023-12-05 12:45:02 +08:00
parent 731ce93bd0
commit cb9cc74fab
9 changed files with 58 additions and 6 deletions

View File

@ -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",

View File

@ -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,
},
)
}

View File

@ -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

View File

@ -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,

View File

@ -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()

View File

@ -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',

View File

@ -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>

View File

@ -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 {

View File

@ -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"