微信小程序更新操作失效解决和微信小程序引入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() {
   
   

  }
})
目录
相关文章
|
1月前
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
48 1
ly~
|
2月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
77 6
|
1月前
|
小程序 前端开发 JavaScript
微信小程序图表制作利器:ECharts组件的使用与技巧
微信小程序图表制作利器:ECharts组件的使用与技巧
51 1
|
1月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
502 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
1月前
|
小程序 前端开发 数据可视化
微信商城小程序WeiMall
微信商城小程序WeiMall
31 0
|
2月前
|
小程序 前端开发 API
微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)
本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`this`引用,然后在回调内部使用这个变量来访问当前页面的数据和方法。
|
28天前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
422 7
|
28天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
480 1
|
1月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
110 7
|
1月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
172 1

热门文章

最新文章