微信小程序更新操作失效解决和微信小程序引入echarts

简介: 该文介绍了微信小程序的两个问题及解决方案:1)当更新云开发数据库操作无效(返回更新0条数据)时,需检查并修改数据表的权限设置,确保`read`和`write`均为`true`。2)如何引入Echarts:从[GitHub](https://github.com/ecomfe/echarts-for-weixin)下载微信版Echarts,然后在小程序中引入组件,配置`app.json`,并在页面JS中导入并使用Echarts,提供示例代码展示柱状图、折线图和饼图的实现。

微信小程序更新操作失效解决和微信小程序引入echarts

1. 微信小程序更新操作失效解决

我们在更新云开发数据库时。在执行更新操作后,返回更新操作完成但是更新的数据为0条。

image.png

解决办法:我们需要对自己操作的表的数据权限进行修改
image.png

image.png

{
   
   
  "read": true,
  "write": true
}
2. 微信小程序引入echarts
1. 下载echarts微信版 地址:echarts地址
2. 在小程序中引入

image.png

3. 在app.json中引入

image.png

"usingComponents": {
   
   
    "ec-canvas": "/ec-canvas/ec-canvas"
  },
4.在页面的js中使用
// 引入图表
import * as echarts from '../../ec-canvas/echarts';

html


<view style="display: flex;justify-content: space-around;font-size: 35rpx;margin-top: 40rpx;">
<view style="color:{
   
   {index==0?'blue':''}}" bindtap="bar">柱状图</view>
<view style="color:{
   
   {index==1?'blue':''}}" bindtap="line">折线图</view>
<view style="color:{
   
   {index==2?'blue':''}}" bindtap="pie">饼图</view>
</view>

<!-- 图表 容器 -->
<view   class="echarts">
<ec-canvas id="echarts2" canvas-id="echarts2" ec="{
   
   {ec2}}"></ec-canvas>
</view>

css

/* 图表 */
.echarts{
   
   
  width: 90%;
  margin-left: 5%;
  height: 700rpx;
}
ec-canvascanvas{
   
   
  width: 100%;
  height: 100%;
}

js

// pages/index/index.js
import * as echarts from '../../ec-canvas/echarts';// 引入图表
var option=[];//图表配置项 声明
// 初始化图表函数  开始
let chart2 = null; 
function initChart2(canvas, width, height, dpr) {
   
   
  chart2 = echarts.init(canvas, null, {
   
   
    width: width,
    height: height,
    devicePixelRatio: dpr
  })
  canvas.setChart(chart2)
  return chart2;
}
// 初始化图表函数  结束
Page({
   
   
  /**
   * 页面的初始数据
   */
  data: {
   
   
    index:0,
    ec2: {
   
   
      onInit: initChart2
    },
    histogramData1:[],
    histogramData2:[],
    histogramData3:[],
  },
  // 饼状图 点击事件
  pie(){
   
   
        option = {
   
   
          tooltip: {
   
   
            trigger: 'item'
          },
          legend: {
   
   
            top: '5%',
            left: 'center'
          },
          series: [
            {
   
   
              name: '收益明细',
              type: 'pie',
              radius: ['40%', '70%'],
              avoidLabelOverlap: false,
              itemStyle: {
   
   
                borderRadius: 10,
                borderColor: '#fff',
                borderWidth: 2
              },
              label: {
   
   
                show: false,
                position: 'center'
              },
              emphasis: {
   
   
                label: {
   
   
                  show: true,
                  fontSize: '40',
                  fontWeight: 'bold'
                }
              },
              labelLine: {
   
   
                show: false
              },
              data:this.data.histogramData3,
            }
          ]
        };
          chart2.setOption(option,true);
      this.setData({
   
   
      index:2,
    }) 
  },
      // 柱状图 点击事件
  bar(){
   
   
    option = {
   
   
      xAxis: {
   
   
        type: 'category',
        data:this.data.histogramData1
      },
      yAxis: {
   
   
        type: 'value'
      },

      series: [{
   
   
        label: {
   
    //数据显示
          show: true,
          color:'inherit',
    position:'top',
          fontSize: 10,
        },
        data: this.data.histogramData2,
        type: 'bar',
        showBackground: true,
        backgroundStyle: {
   
   
          color: 'rgba(180, 180, 180, 0.2)'
        }
      },
    ]
    }
    chart2.setOption(option,true);
      this.setData({
   
   
  index:0,
})

  },
      // 折线图 点击事件
  line(){
   
   
     option = {
   
   
      xAxis: {
   
   
        type: 'category',
        data: this.data.histogramData1,
      },
      yAxis: {
   
   
        type: 'value'
      },
      series: [

        {
   
   
          label: {
   
    //数据显示
            show: true,
            color:'inherit',
      position:'top',
            fontSize: 10,
          },
          data: this.data.histogramData2,
          type: 'line'
        }
      ]
    }
    chart2.setOption(option,true);
        this.setData({
   
   
      index:1,
    })
      },
//日报 数据获取  函数
fun(){
   
   
  let that=this;
  wx.request({
   
   
    url: '填入自己的接口,把下面的假数据更改即可', //请求数据信息的接口地址
    data: {
   
   

    },
    header: {
   
   
      'content-type': 'application/json' // 默认值
    },
    success (res) {
   
   
    let arr2=[23, 24, 25, 26, 27, 28, 29];  //  X轴假数据
    let datas2=[773, 768, 865, 937, 148, 487, 410];  // Y轴假数据
    let  Pie=  [
      {
   
    value: 23, name: '773' },
      {
   
    value: 24, name: '768' },
      {
   
    value: 25, name: '865' },
      {
   
    value: 26, name: '937' },
      {
   
    value: 27, name: '148' },
      {
   
    value: 28, name: '487' },
      {
   
    value: 29, name: '410' }
    ];  //   饼图假数据

         // 显示Echarts图表类型信息,可以去Echarts官网复制粘贴
        //  默认输出柱状图的配置项
      option = {
   
   
    xAxis: {
   
   
      type: 'category',
      data: arr2
    },
    yAxis: {
   
   
      type: 'value'
    },
    series: [{
   
   
      label: {
   
    //数据显示
        show: true,
        color:'inherit',
  position:'top',
        fontSize: 10,
      },
      data: datas2,
      type: 'bar',
      showBackground: true,
      backgroundStyle: {
   
   
        color: 'rgba(180, 180, 180, 0.2)'
      }
    },
  ]
  }
  // 输出到页面
  chart2.setOption(option);
      // 数据获取 结束
        that.setData({
   
   
          histogramData1:arr2,
          histogramData2:datas2,
          histogramData3:Pie,
    }) 
    }
  })
},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
   
   

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
   
   
this.fun();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
   
   

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
   
   

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
   
   

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
   
   

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
   
   

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
   
   

  }
})
目录
相关文章
|
3天前
|
小程序 前端开发 JavaScript
微信外卖小程序
微信外卖小程序
|
3天前
|
小程序 前端开发 JavaScript
微信小程序|英语学习交流平台小程序
微信小程序|英语学习交流平台小程序
|
3天前
|
小程序 前端开发 JavaScript
微信小程序|springboot“口腔助手”小程序的设计与实现
微信小程序|springboot“口腔助手”小程序的设计与实现
|
3天前
|
小程序 前端开发 JavaScript
微信小程序|智慧物流小程序的设计与实现
微信小程序|智慧物流小程序的设计与实现
|
3天前
|
小程序 前端开发 JavaScript
微信小程序|音乐播放器小程序设计与实现
微信小程序|音乐播放器小程序设计与实现
|
3天前
|
小程序 前端开发 JavaScript
微信小程序|网上花店微信小程序的设计与实现
微信小程序|网上花店微信小程序的设计与实现
|
3天前
|
小程序 前端开发 JavaScript
微信小程序|铁路订票平台小程序的设计与实现
微信小程序|铁路订票平台小程序的设计与实现
|
1月前
|
数据可视化
echarts图表坐标轴数据标签添加下划线
echarts图表坐标轴数据标签添加下划线
96 0
|
1月前
|
数据可视化 JavaScript 前端开发
Echarts是一个开源的JavaScript可视化库,用于创建各种类型的图表
Echarts是JavaScript的开源可视化库,Python通过Pyecharts库可调用它来绘制图表。示例展示了如何用Pyecharts创建柱状图:定义图表对象,设置标题和坐标轴,添加X轴、Y轴数据,最后渲染展示。Pyecharts还支持折线图、散点图、饼图等多种图表类型,更多详情可查阅官方文档。
47 0
|
1月前
|
前端开发 JavaScript 定位技术
Docusaurus框架——react+antd+echarts自定义mdx生成图表代码解释文档
Docusaurus框架——react+antd+echarts自定义mdx生成图表代码解释文档
41 0

热门文章

最新文章