更新记录

1.0.1(2024-07-12) 下载此版本

1.0.0(2024-07-12) 下载此版本


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-nvue app-uvue
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
<template>
    <view >
        <view style="height: 750rpx; position: relative">
            <heimcharts ref="chart" @finished="init"></heimcharts>

        </view>
    </view>     
</template>

<script>
    import  heimcharts from '@/components/heimao-echart/heimao-echart'

    import * as echarts from '@/components/static/echarts.min';

    export default {
        components:{
            heimcharts
        },
        data() {
            return {
                showTip: false,
                position: [],
                params: [],
                option:  {
                    tooltip: {
                        trigger: 'axis',
                        // shadowBlur: 0,
                        textStyle: {
                            textShadowBlur : 0
                        },
                        renderMode: 'richText',
                        position: (point, params, dom, rect, size) => {
                            // 假设自定义的tooltips尺寸
                            const box = [170, 170]
                            // 偏移
                            const offsetX = point[0] < size.viewSize[0] / 2 ? 20 : -box[0] - 20;
                            const offsetY = point[1] < size.viewSize[1] / 2 ? 20 : -box[1] - 20;
                            const x = point[0] + offsetX;
                            const y = point[1] + offsetY;

                            this.position = [x, y]
                            this.params = params
                        },
                        formatter: (params, ticket, callback) => {

                        }
                    },
                    legend: {
                        data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
                    },
                    grid: {
                        left: '3%',
                        right: '4%',
                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'category',
                        boundaryGap: false,
                        data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
                    },
                    yAxis: {
                        type: 'value'
                    },
                    series: [
                        {
                            name: '邮件营销',
                            type: 'line',
                            stack: '总量',
                            data: [120, 132, 101, 134, 90, 230, 210]
                        },
                        {
                            name: '联盟广告',
                            type: 'line',
                            stack: '总量',
                            data: [220, 182, 191, 234, 290, 330, 310]
                        },
                        {
                            name: '视频广告',
                            type: 'line',
                            stack: '总量',
                            data: [150, 232, 201, 154, 190, 330, 410]
                        },
                        {
                            name: '直接访问',
                            type: 'line',
                            stack: '总量',
                            data: [320, 332, 301, 334, 390, 330, 320]
                        },
                        {
                            name: '搜索引擎',
                            type: 'line',
                            stack: '总量',
                            data: [820, 932, 901, 934, 1290, 1330, 1320]
                        }
                    ]
                }
            }
        },

        methods: {
            init() {
                // init(echarts, theme?:string, opts?:{}, chart => {})
                // echarts 必填, 非nvue必填,nvue不用填
                // theme 可选,应用的主题,目前只支持名称,如:'dark'
                // opts = { // 可选
                //  locale?: string  // 从 `5.0.0` 开始支持
                // }
                // chart => {} , callback 返回图表实例
                // setTimeout(()=>{
                //  this.$refs.chart.init(echarts, chart => {
                //      chart.setOption(this.option);
                //  });
                // },300)
                this.$refs.chart.init(echarts, chart => {
                    chart.setOption(this.option);

                    // 监听tooltip显示事件
                    chart.on('showTip', (params) => {
                      this.showTip = true
                      console.log('showTip::')
                    });
                    chart.on('hideTip', (params) => {
                        setTimeout(() => {
                             this.showTip = false
                        },300)
                    });

                    setTimeout(()=>{
                        const option = {
                            tooltip: {
                                trigger: 'axis',
                                // shadowBlur: 0,
                                textStyle: {
                                    textShadowBlur: 0
                                },
                                renderMode: 'richText',
                            },
                            legend: {
                                data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
                            },
                            grid: {
                                left: '3%',
                                right: '4%',
                                bottom: '3%',
                                containLabel: true
                            },
                            xAxis: {
                                type: 'category',
                                boundaryGap: false,
                                data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
                            },
                            yAxis: {
                                type: 'value'
                            },
                            series: [
                                {
                                    name: '邮件营销',
                                    type: 'line',
                                    stack: '总量',
                                    data: [1120, 132, 101, 134, 90, 230, 210]
                                },
                                {
                                    name: '联盟广告',
                                    type: 'line',
                                    stack: '总量',
                                    data: [220, 182, 191, 234, 290, 330, 310]
                                },
                                {
                                    name: '视频广告',
                                    type: 'line',
                                    stack: '总量',
                                    data: [150, 632, 201, 154, 190, 330, 410]
                                },
                                {
                                    name: '直接访问',
                                    type: 'line',
                                    stack: '总量',
                                    data: [820, 332, 301, 334, 390, 330, 320]
                                },
                                {
                                    name: '搜索引擎',
                                    type: 'line',
                                    stack: '总量',
                                    data: [820, 932, 901, 934, 1290, 1330, 1320]
                                }
                            ]
                        }
                        chart.setOption(option);
                    },1000)

                });
            },
            save() {
                this.$refs.chart.canvasToTempFilePath({
                    success(res) {
                        console.log('res::::', res)
                    }
                })
            }
        }
    }
</script>
<style>
    .customTooltips {
        position: absolute;
        background-color: rgba(255, 255, 255, 0.8);
        padding: 20rpx;
    }
</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问