Browse Source

fix: 005 复制异常修复

main
xuziqiang 3 months ago
parent
commit
f744ad286e
  1. 23
      hx-op/src/util/copyText.ts
  2. 10
      hx-op/src/view/organizationManage/enterpriseManage/config.ts

23
hx-op/src/util/copyText.ts

@ -0,0 +1,23 @@
import { NsMessage } from '/nerv-lib/component';
const flag = navigator.clipboard && window.isSecureContext;
export const copyText = (text: any) => {
if (flag) {
// navigator clipboard 向剪贴板写文本
navigator.clipboard.writeText(text).then(() => {
NsMessage.success('复制成功');
});
} else {
// 创建text area
const textArea = document.createElement('textarea');
textArea.value = text;
// 使text area不在viewport,同时设置不可见
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
NsMessage.success('复制成功');
// 执行复制命令并移除文本框
document.execCommand('copy');
textArea.remove();
}
};

10
hx-op/src/view/organizationManage/enterpriseManage/config.ts

@ -7,6 +7,7 @@ import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import { enterPrise } from '/@/api/origanizemanage';
import { http } from '/nerv-lib/util/http';
import { generateRandomString } from '/@/util/generateRandomString';
import { copyText } from '/@/util/copyText';
type status = 'NORMAL' | 'FREEZE';
export const formConfig = [
@ -144,14 +145,7 @@ const handle = async (record: any) => {
createVNode('p', {}, '重置成功'),
createVNode('p', {}, '点击【确认】后自动复制密码并离开'),
]),
onOk: () => {
try {
navigator.clipboard.writeText(password);
NsMessage.success('复制成功');
} catch (err) {
console.error('复制失败', err);
}
},
onOk: () => copyText(password),
});
});
},

Loading…
Cancel
Save