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