115115 </el-dialog >
116116</template >
117117<script setup lang="ts">
118- import { ref , reactive , watch , onBeforeMount , computed } from ' vue'
119- import type { FormInstance } from ' element-plus'
118+ import {computed , onBeforeMount , reactive , ref , watch } from ' vue'
119+ import type {FormInstance } from ' element-plus'
120120import userManageApi from ' @/api/system/user-manage'
121- import { MsgSuccess } from ' @/utils/message'
122- import { t } from ' @/locales'
123- import type { FormItemModel } from ' @/api/type/role'
121+ import {MsgSuccess } from ' @/utils/message'
122+ import {t } from ' @/locales'
123+ import type {FormItemModel } from ' @/api/type/role'
124124import WorkspaceApi from ' @/api/workspace/workspace'
125125import MemberFormContent from ' @/views/system/role/component/MemberFormContent.vue'
126- import { AuthorizationEnum , RoleTypeEnum } from ' @/enums/system'
126+ import {AuthorizationEnum , RoleTypeEnum } from ' @/enums/system'
127127import useStore from ' @/stores'
128- import { hasPermission } from ' @/utils/permission'
129- import { EditionConst } from ' @/utils/permission/data.ts'
130- import forge from ' node-forge '
128+ import {hasPermission } from ' @/utils/permission'
129+ import {EditionConst } from ' @/utils/permission/data.ts'
130+ import JSEncrypt from " jsencrypt " ;
131131
132- const { user } = useStore ()
132+ const {user} = useStore ()
133133const props = defineProps ({
134134 title: String ,
135135})
@@ -289,7 +289,7 @@ onBeforeMount(async () => {
289289 }
290290 formItemModel .value = [... roleFormItem .value , ... workspaceFormItem .value ]
291291 }
292- list .value = [{ role_id: ' ' , workspace_ids: [] }]
292+ list .value = [{role_id: ' ' , workspace_ids: []}]
293293})
294294
295295const rules = reactive ({
@@ -361,7 +361,7 @@ watch(visible, (bool) => {
361361 nick_name: ' ' ,
362362 }
363363 isEdit .value = false
364- list .value = [{ role_id: ' ' , workspace_ids: [] }]
364+ list .value = [{role_id: ' ' , workspace_ids: []}]
365365 userFormRef .value ?.clearValidate ()
366366 }
367367})
@@ -405,12 +405,12 @@ const submit = async (formEl: FormInstance | undefined) => {
405405
406406 // 如果是管理员角色,则设置为 ['None']
407407 if (isAdminRole ) {
408- return { ... item , workspace_ids: [' None' ] }
408+ return {... item , workspace_ids: [' None' ]}
409409 }
410410
411411 // 如果是普通用户且是 PE 类型,则设置为 ['default']
412412 if (user .isPE ()) {
413- return { ... item , workspace_ids: [' default' ] }
413+ return {... item , workspace_ids: [' default' ]}
414414 }
415415
416416 // 其他情况保持原样
@@ -431,10 +431,10 @@ const submit = async (formEl: FormInstance | undefined) => {
431431 })
432432 } else {
433433 params .defaultPermission = defaultPermission .value
434- const publicKey = forge . pki . publicKeyFromPem ( user . rsaKey )
435- const utf8Bytes = forge . util . encodeUtf8 ( params . password )
436- const encrypted = publicKey . encrypt ( utf8Bytes , ' RSAES-PKCS1-V1_5 ' )
437- params .password = forge . util . encode64 ( encrypted )
434+ const JSEncryptCtor = ( JSEncrypt as any )?. default ? ( JSEncrypt as any ). default : JSEncrypt ;
435+ const js = new ( JSEncryptCtor as any )();
436+ js . setPublicKey ( user . rsaKey );
437+ params .password = js . encrypt ( params . password );
438438 params .encrypted = true
439439 userManageApi .postUserManage (params , loading ).then ((res ) => {
440440 return user .profile (loading ).then (() => {
@@ -461,7 +461,7 @@ const submitDialog = () => {
461461 closeDialog ()
462462}
463463
464- defineExpose ({ open })
464+ defineExpose ({open })
465465 </script >
466466<style lang="scss" scoped>
467467.dialog-header {
0 commit comments