zoukankan      html  css  js  c++  java
  • 汽车销量查询小助手(小程序)销量趋势图功能及代码知识分享

    1. 引言

    在上篇博客汽车销量查询小助手(小程序)开发心路历程 我分享了整个小程序的开发历程,感谢有那么多同学阅读和关注。

    后面就会将小程序中的各个功能块以代码片段的方式给大家分享出来所有的代码都在我的 github https://github.com/ReyCG/carsales-snippets)项目下,

    直接使用 微信开发工具的代码片段导入,即可看到效果。首先来看第一个功能:销量趋势图 。该功能的代码地址在 https://github.com/ReyCG/carsales-snippets/tree/master/cn-sales-chart .

    2.  效果图及功能点说明

     界面是这样的:

    当用户点击不同的时间周期按钮,如点击 3 个月,就会以动画的形式展现出来 3 个月的销量趋势。

    当用户点击 查看更多行情 按钮或者 查看更多 时,就会进入下一个界面展示完整的行情图。

    3. 使用工具说明

    1. ui 效果使用的是 WeUI基础控件库
    2. 图形展示使用的是 echarts for weixin

    4.整体实现分析说明

    1. 使用 echarts 异步加载

      data: {
        ...
        ecLine: {
          lazyLoad: true
        }
      ...
    },

    2. 使用 数组 periodClass 和绑定事件 cnSalePeriodChange来控制时间周期按钮的点击 和 对应趋势 的展示

          <view class='xltab'>
            <text class='{{ periodClass[0] }}' data-index='1' catchtap='cnSalePeriodChange'>3个月</text>
            <text class='{{ periodClass[1] }}' data-index='2' catchtap='cnSalePeriodChange'>6个月</text>
            <text class='{{ periodClass[2] }}' data-index='3' catchtap='cnSalePeriodChange'>1年</text>
            <text class='{{ periodClass[3] }}' data-index='4' catchtap='cnSalePeriodChange'>全部</text>
          </view>

    3. 对 echarts 的 option 填充进行封装,根据不同的时间周期得到不同的 option

      showCnSalesChart: function () {
        const cnSalesOption = cnSaleUtils.fillUpCnSalesOption(this.data.periodIndex)
        this.setData({
          loading: false
        })
    
        chartUtils.initChart(cnSalesOption, this, '#cnsales-line-chart')
      },

    4. 对 echarts 图形的展示进行封装,只需传入 option, page 上下文和 ec-canvas id 即可展示图形

    chartUtils.initChart(cnSalesOption, this, '#cnsales-line-chart')

    5. 注意点

    不要试图通过控制 css 使时间周期按钮放置在 echarts 图形区域内,这样会导致按钮点击无效。无论设置多少 z-index 都是无效的。

    这是因为

     echarts 图形是使用的 canvas 原生组件, 原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。

    6. 附注

    该功能可以在我开发的小程序 汽车销量查询小助手 查看完整的效果,可以在微信中搜索 汽车销量查询小助手 或者扫描下方二维码查看。

    如果您对我的文章或程序代码有意见和建议或者问题,欢迎各位在评论区或者 github 上留言,我将仔细阅读,认真回复。

    如果我的文档或程序代码对您有所帮助,请帮忙推荐或转发,非常感谢~

  • 相关阅读:
    字符串拼接练习
    java数字字符的全半角转化
    mysql 的group by 满足的规则要求:
    从指定字符串获取n个随机数
    jQuery去除空格的$.trim()
    mysql里的位运算小结
    sql的case 用法
    泛型之元组示例
    jQuery里的replaceAll和replaceWith
    根据索引条件查询结果与原表关联的查询
  • 原文地址:https://www.cnblogs.com/reycg-blog/p/9846265.html
Copyright © 2011-2022 走看看