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

  }
})
目录
相关文章
|
13天前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
15天前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
5月前
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
1067 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
5月前
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
293 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
7月前
|
存储 移动开发 小程序
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
基于开源技术栈构建的校园圈子系统小程序,整合社交与生活服务功能,涵盖兴趣圈子、私信聊天、资料共享、二手交易、兼职跑腿等六大核心模块。通过多端账号同步(微信公众号/小程序/H5),实现数据实时交互,满足学生群体的多元化需求。项目精准锚定校园市场,以“社交+服务”双轮驱动,提供一站式解决方案,支持快速部署与多校区运营,同时具备广告、佣金、会员等多元变现能力,是打造校园生态的理想工具。
604 2
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
|
8月前
|
小程序 数据安全/隐私保护 开发者
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
420 3
|
8月前
|
人工智能 小程序 程序员
【视频测评 DEMO 参考】VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
578 8
|
8月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
2433 12
|
12月前
|
小程序 前端开发 JavaScript
微信小程序图表制作利器:ECharts组件的使用与技巧
微信小程序图表制作利器:ECharts组件的使用与技巧
1009 1
|
12月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
2894 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机

热门文章

最新文章