MCPcopy Create free account
hub / github.com/MankaiHuang/screen-visualization / HtmlReverse

Function HtmlReverse

src/pages/Workspace/HTMLReverse.tsx:9–61  ·  view source on GitHub ↗
({ closeHTMLReverseodal, submitHTMLReverse })

Source from the content-addressed store, hash-verified

7 submitHTMLReverse: Function;
8}
9const HtmlReverse: React.FC<Props> = ({ closeHTMLReverseodal, submitHTMLReverse }) => {
10 const [visible, setVisible] = useState<Boolean>(true);
11 const handleCancel = () => {
12 closeHTMLReverseodal()
13 setVisible(false)
14 };
15 const onChange = (e: any) => {
16 const reader = new FileReader();// 新建一个FileReader
17 reader.readAsText(e.target.files[0], "UTF-8");// 读取文件
18 reader.onload = evt => { // 读取完文件之后会回来这里
19 // const fileString = evt.target.result.replace(/\ +/g, "").replace(/[\r\n]/g, ""); // 读取文件内容 去掉回车换行
20 const fileString = evt?.target?.result.replace(/[\r\n]/g, "")// 读取文件内容 去掉回车换行
21 const allTemplateListReg = /(?<=allTemplateList:).*?}}\]\]/;
22 const basicConfigReg = /(?<=basicConfig:).*?(?=, {16}loading: true)/
23 //const basicConfigReg = /(?<=basicConfig:).*?(?=loading: true)/;
24 const result = {
25 templateList: [],
26 basicConfig: []
27 }
28 try {
29 //console.log(fileString.match(allTemplateListReg)[0])
30 result.templateList = JSON.parse(fileString.match(allTemplateListReg)[0])
31 result.basicConfig = JSON.parse(fileString.match(basicConfigReg)[0])
32 submitHTMLReverse(result)
33 handleCancel()
34 setVisible(false)
35 } catch (err) {
36 message.error('文件解析失败!请确保文件未经过任何手动修改');
37 }
38 }
39 }
40
41 return (
42 <Modal
43 title='HTML逆向转换为可编辑组件'
44 visible={visible}
45 closable={false}
46 getContainer={document.getElementById('workspace')}
47 centered
48 onCancel={handleCancel}
49 footer={[
50 <Button type="primary" onClick={handleCancel}>
51 关闭
52 </Button>
53 ]}
54 >
55 <div className="share-modal">
56 <p>请上传已下载的HTML文件,即可逆向恢复为可拖拽编辑的工程!</p>
57 <input type="file" className="input-file" onChange={e => onChange(e)} />
58 </div>
59 </Modal >
60 )
61}
62
63export default HtmlReverse;

Callers

nothing calls this directly

Calls 1

onChangeFunction · 0.70

Tested by

no test coverage detected