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

  }
})
目录
相关文章
ly~
|
6天前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
38 6
|
2月前
|
小程序 JavaScript
微信小程序使用echarts图表(ec-canvas)
这篇文章介绍了在微信小程序中使用`ec-canvas`集成echarts图表的方法,包括解决加载时报错的问题、配置图表组件、以及在小程序页面中引入和使用这些图表组件的步骤。
195 1
微信小程序使用echarts图表(ec-canvas)
|
6天前
|
小程序 前端开发 API
微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)
本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`this`引用,然后在回调内部使用这个变量来访问当前页面的数据和方法。
|
2月前
|
移动开发 小程序 前端开发
|
2月前
|
JSON 小程序 JavaScript
超详细微信小程序开发学习笔记,看完你也可以动手做微信小程序项目
这篇文章是一份全面的微信小程序开发学习笔记,涵盖了从小程序介绍、环境搭建、项目创建、开发者工具使用、文件结构、配置文件、模板语法、事件绑定、样式规范、组件使用、自定义组件开发到小程序生命周期管理等多个方面的详细教程和指南。
|
2月前
|
小程序 前端开发
微信小程序商城,微信小程序微店 【毕业设计参考项目】
文章推荐了一个微信小程序商城项目作为毕业设计参考,该项目在Github上获得18.2k星,提供了详细的使用教程和前端页面实现,适合学习微信小程序开发和作为毕业设计项目。
微信小程序商城,微信小程序微店 【毕业设计参考项目】
|
2月前
|
小程序 开发者
第一个微信小程序的初始化过程、小程序微信开发平台的下载、如何注册一个微信小程序的账号
这篇文章介绍了微信小程序的初始化过程,包括如何注册微信小程序账号、下载微信小程序开发者平台,并指导了新建小程序的详细步骤。
第一个微信小程序的初始化过程、小程序微信开发平台的下载、如何注册一个微信小程序的账号
|
2月前
|
小程序 JavaScript Java
微信小程序的后端开发需要使用什么语言?
【8月更文挑战第22天】微信小程序的后端开发需要使用什么语言?
311 65
|
6天前
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
2月前
|
小程序 JavaScript
Taro@3.x+Vue@3.x+TS开发微信小程序,使用轮播图
本文介绍了使用 Taro 和 Vue 创建轮播组件的两种方法:一是通过 `&lt;swiper&gt;` 实现,二是利用 Nut UI 的 `&lt;nut-swiper&gt;` 组件实现。
Taro@3.x+Vue@3.x+TS开发微信小程序,使用轮播图
下一篇
无影云桌面