1
0
mirror of synced 2026-04-03 14:38:37 +08:00

feat: 新增蒙层组件

This commit is contained in:
roymondchen
2022-05-27 18:47:29 +08:00
committed by jia000
parent 0397c6887a
commit 44aa56bd52
62 changed files with 1045 additions and 41 deletions

View File

@@ -0,0 +1,53 @@
/*
* Tencent is pleased to support the open source community by making TMagicEditor available.
*
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React, { useEffect, useState } from 'react';
import QRCode from 'qrcode';
import useApp from '../useApp';
import { MComponent } from '@tmagic/schema';
interface QrcodeProps {
config: {
url: string;
} & MComponent;
}
const Qrcode: React.FC<QrcodeProps> = ({ config }) => {
const { app } = useApp({ config });
if (!app) return null;
const [imgSrc, setImgSrc] = useState('');
useEffect(() => {
QRCode.toDataURL(config.url, (e: any, url: string) => {
if (e) console.error(e);
setImgSrc(url)
});
}, [config.url])
return (
<img className="magic-ui-qrcode" style={app.transformStyle(config.style || {})} id={`${config.id}`} src={imgSrc} />
);
};
Qrcode.displayName = 'magic-ui-qrcode';
export default Qrcode;

View File

@@ -0,0 +1,24 @@
/*
* Tencent is pleased to support the open source community by making TMagicEditor available.
*
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export default [
{
text: '链接',
name: 'url',
},
];

View File

@@ -0,0 +1,24 @@
/*
* Tencent is pleased to support the open source community by making TMagicEditor available.
*
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import Qrcode from './Qrcode';
export { default as config } from './formConfig';
export { default as value } from './initValue';
export default Qrcode;

View File

@@ -0,0 +1,27 @@
/*
* Tencent is pleased to support the open source community by making TMagicEditor available.
*
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export default {
url: 'https://m.film.qq.com',
style: {
position: 'absolute',
left: '57',
width: '176',
height: '176',
},
};