首页 > 其他分享 >海报功能

海报功能

时间:2023-09-23 22:32:20浏览次数:32  
标签:toast 海报 Taro isOpen 功能 getImageInfoResult result import

import Taro from '@tarojs/taro';
import { View, Image, Text } from '@tarojs/components';
import IconFont from '@/components/iconfont';
import { toast, getImg } from '@/utils/util';
import './index.scss';

class ShareVip extends Taro.PureComponent {
    constructor(props) {
        super(props);
    }
    config = {
        navigationBarTitleText: '分享得会员',
        navigationBarTextStyle: 'black'
    }
    state = {
        imgUrl: getImg('/group1/M00/00/5D/wKgBZF_KCPuEbKO3AAAAAO_XMrc004.png'),
        isOpen: false
    }
    onOpen() {
        this.setState({
            isOpen: true
        });
    }
    onDialogCancel() {
        this.setState({
            isOpen: false
        });
    }
    async shareToFriend() {
        // 后端说图片写死的,保存到本地
        Taro.getSetting({
            complete() {}
        }).then(res => {
            if (res.authSetting['scope.writePhotosAlbum']) {
                Taro.getImageInfo({
                    src: this.state.imgUrl,
                    success(result) {
                        if (result.path) {
                            Taro.saveImageToPhotosAlbum({
                                filePath: result.path
                            }).then(getImageInfoResult => {
                                if (getImageInfoResult.errMsg === 'saveImageToPhotosAlbum:ok') {
                                        toast('已成功保存至相册!');
                                    } else {
                                        toast('图片保存失败!');
                                    }
                            });
                        }
                    }
                });
            } else {
                Taro.authorize({
                    scope: 'scope.writePhotosAlbum',
                }).then(() => {
                    Taro.getImageInfo({
                        src: this.state.imgUrl,
                        success(result) {
                            if (result.path) {
                                Taro.saveImageToPhotosAlbum({
                                    filePath: result.path
                                }).then(getImageInfoResult => {
                                    if (getImageInfoResult.errMsg === 'saveImageToPhotosAlbum:ok') {
                                        toast('已成功保存至相册!');
                                    } else {
                                        toast('图片保存失败!');
                                    }
                                });
                            }
                        }
                    });
                });
            }
        }).catch(() => {});
    }
    render() {
        const { imgUrl, isOpen } = this.state;
        return (
            <View className='shareVip-html'>
                <View className='shareVip-wrapper' style={{ background: `url(${getImg('/group1/M00/00/47/wKgBZF-2Oy-EDOo1AAAAAGPehpk488.png')})`, backgroundSize: '100% 100%'}}>
                <View className='shareVip-box'>
                    <View className='shareVip-box-label'>
                        1、点击<Text>立即分享</Text>将图片分享至微信朋友圈
                    </View>
                    <Image src={getImg('/group1/M00/00/47/wKgBZF-3V0aEU1OpAAAAAEKiKWI724.png')} className='shareBtn' onClick={this.onOpen} />
                     <View className='shareVip-box-label'>
                        2、将分享页面截图<Text>价值18888会员</Text>
                    </View>
                    <View className='shareVip-box-imgCode'>
                        <Image src={getImg('/group1/M00/00/5D/wKgBZF_KCOGEB9xeAAAAAJTAI2Q115.jpg')} className='shareCode' showMenuByLongpress />
                        <Text className='shareText'>长按保存二维码,添加客服</Text>
                    </View>
                </View>
                </View>
                
                { isOpen && <View className='sharVip-dialog'>
                    <View className='mask' onClick={this.onDialogCancel}></View>
                    <View className='dialog-wrapper dialog-custom'>
                        <View className='cancel-btn' onClick={this.onDialogCancel}>
                            <IconFont name='common-icon_guanbi' size={22} color='rgb(255,255,255)' />
                        </View>
                        {/* 内容 */}
                        <View className='sharVip-dialog-content'>
                            <Image src={imgUrl} className='shareHaibao' mode='widthFix' />
                            <View className='shareBtn' onClick={this.shareToFriend}>保存图片</View>
                        </View>
                    </View>
                </View>}
            </View>
        );
    }
}

export default ShareVip;

标签:toast,海报,Taro,isOpen,功能,getImageInfoResult,result,import
From: https://blog.51cto.com/u_16237074/7581430

相关文章

  • SQL Server 发送邮件功能
    execsp_configure'showadvancedoptions',1RECONFIGUREWITHOVERRIDEgoexecsp_configure'databasemailxps',1RECONFIGUREWITHOVERRIDEgo--2.创建邮件帐户信息EXECmsdb..Sysmail_add_account_sp@ACCOUNT_NAME='OCTMamiETL'......
  • 什么是UWB定位技术?UWB定位的应用场景及功能介绍
    说到定位我们并不陌生,定位技术一直与我们的生活密不可分,比如最常见的车辆导航。根据使用场景,定位技术分为室内定位和室外定位。室外定位主要依靠GPS,北斗,GLONASS,伽利略等全球卫xing定位导航系统。室内定位技术主要是rfid,蓝牙,wifi,地磁,uwb等无线技术。今天,我们主要分享一下uwb定位......
  • linux的rsync同步功能
    环境centos7.9,rsync3.1.2介绍rsync是一种强大的数据备份和同步工具,能够在本地或远程系统之间复制和同步文件和目录。rsync可用于备份数据、同步目录、传输文件等,并具有高效、灵活和安全的特性。使用rsync的基本使用方法很简单,以下是其基本命令格式:rsync[options]sourced......
  • 滴滴打车系统软件开发功能
      打车软件是一款便捷、安全、快速的出行解决方案,很多的企业都想进入这个行业,以下是关于打车系统软件开发功能的一些方面概述:  一、用户界面设计  打车软件的用户界面设计简单,易于操作。主界面以地图为中心,显示附近的司机位置和预计到达时间。此外,用户可以查看司机信......
  • 关于昨天测试结果--可视化的改进(也就是实现查询功能和ECharts的交互功能)
    今天我又看了一下自己可视化界面,不得不说,有点子low;并且,我除了实现了数据的可视化,并没有那种选择哪天的日期,然后就显示哪天的信息,可视化并不明确,很low!!!今天特意来改进一下:文本框输入日期数据:界面跳转:也就是通过将文本框数据和后端相连接实现,sql语句:select*fromtest1wher......
  • 聊聊wireshark的进阶使用功能
    1.前言emmm,说起网络知识学习肯定离不来wireshark工具,这个工具能够帮助我们快速地定位网络问题以及帮助正在学习网络协议这块的知识的同学验证理论与实际的一大利器,平时更多的只是停留在初步的使用阶段。也是利用部门内部的网络兴趣小组的讨论机会,私下对wireshark的一些进阶功能,......
  • 可视化大屏的互动潜力:交互功能一览
    一、交互的概念交互是指人与计算机、人与人、或人与任何其他系统之间的信息、意见、操作等的相互作用和影响。在计算机科学和人机交互领域,交互通常指的是用户与计算机软件或硬件之间的互动,包括通过键盘、鼠标、触摸屏等输入设备向计算机提供信息,以及从计算机接收反馈、信息或结果......
  • 聊聊wireshark的进阶使用功能 | 京东云技术团队
    1.前言emmm,说起网络知识学习肯定离不来wireshark工具,这个工具能够帮助我们快速地定位网络问题以及帮助正在学习网络协议这块的知识的同学验证理论与实际的一大利器,平时更多的只是停留在初步的使用阶段。也是利用部门内部的网络兴趣小组的讨论机会,私下对wireshark的一些进阶功能,比......
  • WPF实现文档打印的功能
    先贴代码:privatevoidOnPrint(){vardialog=newPrintDialog();if(dialog.ShowDialog()!=true){return;}vardoc=_viewer.Document;doc.PageHeight=dialog.PrintableAreaHeight;doc.PageWidth=dialog.PrintableAreaW......
  • python 打印功能测试程序 2
    #python打印功能测试程序fromCDHTMLTableimportHTMLTablefromPySide2.QtCoreimportQRect,QPoint,QSize,QtfromPySide2.QtGuiimportQImage,QIcon,QPixmap,QPainter,QTextDocumentfromPySide2.QtWidgetsimportQApplication,QMainWindow,QLabel,QSizeP......