微搭低代码实现投票功能

news2024/11/13 20:30:23

经常有一类需求,就是投票的功能,需要限制每一个选项每个人只可以投一票,投完之后需要统计票数。本篇教程我们讲解一下如何利用微搭低代码工具来实现投票功能。

1 设计数据源

我们需要设计一个数据源来记录用户的投票,如何限制用户只能投一票呢?我们可以创建一个数组字段,里边放置用户的openid,这样用户在投票的时候我们就可以通过当前用户的openid和数据源存储的进行比较,来决定用户是否可以投票

在这里插入图片描述
点击数据源的管理数据,我们录入一下测试数据
在这里插入图片描述

2 创建自定义应用

登录控制台,点击新建自定义应用,创建我们的小程序
在这里插入图片描述
在这里插入图片描述

3 页面开发

我们投票的话需要先使用数据列表把我们的投票内容展示出来,往页面添加数据列表组件,然后选择我们创建的数据源
在这里插入图片描述
模板的话需要选择图文列表,默认是使用的向右的箭头图标,我们需要改成心形图标,并且需要显示一下点赞的数量
在这里插入图片描述
我们这里的逻辑是如果未点赞就显示空心的图标,如果是已点赞了就显示实心的图标。

如果要控制组件是一种互斥的关系,我们可以使用条件展示来判断。

空心图标的条件展示我们可以绑定如下的表达式
在这里插入图片描述

$w.item_listView1.dzjl==undefined||$w.item_listView1.dzjl.length==0||!$w.item_listView1.dzjl.includes($page.dataset.state.openid)

实心图标我们可以绑定如下的表达式
在这里插入图片描述

$w.item_listView1.dzjl.includes($page.dataset.state.openid)

在es6中,数组新增了一个includes方法,如果存在就返回true,不存在就返回false,我们正是用这个api来控制

条件展示设置完毕后,我们就要给不同的图标设置不同的事件。空心图标我们设置的事件使用自定义方法实现

export default async function ({ event, data }) {

  const toupiaoid = data.target._id
  const openid =$page.dataset.state.openid
  let dzs = data.target.dzs
  let dzjl = data.target.dzjl
  if(dzjl == undefined){
    dzjl = []
  }
  dzjl.push(openid)

   await app.cloud.callModel({
      name: 'tp_blzczle',
      methodName: 'wedaUpdate',
      params: {
        _id: toupiaoid,
        dzs: dzs + 1,
        dzjl:dzjl
      }
    })
 

}

这里要注意的就是在调用方法的时候,需要把这行数据作为入参添加进去
在这里插入图片描述
实心图标我们增加一个提示信息的事件
在这里插入图片描述
最后就是实现一下统计的功能,统计功能我们使用统计卡片组件,设置对应的属性即可
在这里插入图片描述

总结

本篇我们带着大家实现了一个投票的功能,如果需要有一定的逻辑还是需要通过代码来实现,写代码的时候要熟悉javascript的语法才能够顺利的编制出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/453257.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker网络模式详解

文章目录 一、docker网络概述1、docker网络实现的原理1.1 随机映射端口( 从32768开始)1.2 指定映射端口1.3 浏览器访问测试 二、 docker的网络模式1、默认网络2、使用docker run 创建Docker容器时,可以用--net或--network 选项指定容器的网络模式 三、docker网络模式…

代码审计实战3-android java

jks java keystore 作用:保证应用的唯一性 简介:可以理解为java的密钥库,是一个用来存放密钥和证书的仓库。 (而keytool就是密钥和证书的管理工具,它把key(密钥)和certificate(证…

一零五六、Jsp+mysql 实现学生选课系统(附源码及数据库)

目录 实现效果 项目代码 数据库 结语 实现效果 login.jsp index.jsp course_query.jsp course_selection.jsp course_withdraw.jsp selection_query.jsp 项目代码 checkSelectionStatus.jsp % page contentType"text/html;charsetUTF-8" language"java&q…

图像处理:均值滤波算法

目录 前言 概念介绍 基本原理 Opencv实现中值滤波 Python手写实现均值滤波 参考文章 前言 在此之前,我曾在此篇中推导过图像处理:推导五种滤波算法(均值、中值、高斯、双边、引导)。这在此基础上,我想更深入地研…

4月23号软件更新资讯合集.....

微软发布 Web 渲染引擎 Babylon.js 6.0 Babylon.js 是一个强大、简单、开放的游戏和 Web 渲染引擎,并被封装在一个友好的 JavaScript 框架中。 Babylon.js 6.0 带来了性能改进、渲染增强和一系列新功能。 新物理插件 Havok 团队通过一个特殊的新 WASM 插件和对 Ba…

sar基本命令格式操作及使用方法学习笔记

目录 SAR说明Centos7安装Sar命令sar命令显示时间改为24小时制查询某天某个时间段内的数据 SAR说明 sar是一个采集,报告和存储计算机负载信息的工具。自下载安装好后每10分钟对系统性能进行一次采集,每天的日志文件保存再/var/log/sa/下,sa17…

Docker 部署Redis

由于项目需要,上了redis。公司用的是OKD4.x,所以在自己的环境上也直接上docker,比下载、编译、安装省心多了。 1、下载镜像 官网地址:https://hub.docker.com/_/redis 我选择的是docker pull redis:7.0-bullseye 具体版本号的含…

Web3D包装生产线 HTML5+Threejs(webgl)开发

生产线三维可视化解决方案就是通过物联网、虚实联动和三维建模等先进技术,以一个3D立体模型展现出来,可以让我们很直观的看到生产线的运作以及对数据的监控。3D运用数据孪生技术可以让工业3D物联网管理系统的界面变得非常的简单易看,并且能够…

软件测试的新技术和方法

作为一位资深的IT领域博主,我一直在关注软件测试领域的发展趋势。随着技术的不断发展,软件测试领域也在不断更新换代。在本文中,我将分享一些最新的软件测试技术和方法,希望能对广大软件测试工程师提供一些参考。 一、自动化测试…

【教程】保姆级红米AX6000刷UBoot和OpenWrt固件

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 目录 开启SSH 刷入UBoot 刷入Openwrt 设置Openwrt 刷回小米原厂固件 开启SSH 1、下载官方指定版本固件:https://share.qust.me/redmi-ax6000-1.2.8.bin 2、进入路由器后台升级固件:h…

Nginx +Tomcat 负载均衡,动静分离集群

介绍 通常情况下,一个 Tomcat 站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等情况,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案 Nginx 是一款非常优秀的http服务软件,它能够支持高达 50000 个并发…

IndexedDB的包装器JsStore - 分页功能

JsStore是IndexedDB的包装器。它提供了简单的SQL像api,这是容易学习和使用。IndexedDb查询可以在web worker内部执行,JsStore通过提供一个单独的worker文件来保持这种功能。 由于之前使用IndexedDB时,提供api不太丰富,就自己写了一…

Ubuntu2204安装pycharm社区版

最近在学习人工智能相关的知识,比较流行的开源框架对windows操作系统的支持并不太友好,因此把学习测试的环境搭在了Ubuntu2204上。一开始我都是在win10系统中的pycharm上写python代码,然后再上传到Ubuntu2204中运行测试,这么做降低…

GIS基础概念与开发实践

GIS的应用价值 呈现、还原、规划空间信息数据挖掘、统计分析等等 Q:这么多软件可以做GIS,但是格式又不一样,怎么办?这普需要一个标准的出现。 GIS标准:OGC标准 不同GIS软件对空间数据定义和存储结构不同&#xff0…

远程访问及控制ssh

SSH远程管理 OpenSSH服务器 SSH(Secure Shell) 协议 是一种安全通道协议。主要用来实现字符界面的远程登录、远程复制等功能。对通信数据进行了加密处理,用于远程管理其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性------------(同样…

C嘎嘎~~ 【初识C++ 下篇】

初识C 下篇 1.引用1.1引用的概念1.2引用的特点1.3常引用1.4引用使用的场景1.5引用和指针的区别 2.指针空值 --- nullptr3.内联函数3.1 内联函数的概念3.2内联函数的使用场景3.3内联函数的特性 1.引用 1.1引用的概念 相信大家小时候, 肯定有小名、绰号、亲朋好友的昵…

查询提速 20 倍,Apache Doris 在 Moka BI SaaS 服务场景下的应用实践

导读: MOKA 主要有两大业务线 MOKA 招聘(智能化招聘管理系统)和 MOKA People(智能化人力资源管理系统),MOKA BI 通过全方位数据统计和可灵活配置的实时报表,赋能于智能化招聘管理系统和人力资源…

scratch甲壳虫走迷宫 中国电子学会图形化编程 少儿编程 scratch编程等级考试一级真题和答案解析2023年3月

目录 scratch甲壳虫走迷宫 一、题目要求 1、准备工作 2、功能实现 二、案例分析

ESP32学习二-环境搭建(ESP-IDF V5.0,Ubuntu18.4)

一、准备事项 Ubuntu 18.04.5。具体安装可以参考如下链接。使用VMware安装Ubuntu虚拟机和VMware Tools_t_guest的博客-CSDN博客 乐鑫官方也提供了安装的相关操作。有兴趣可以参考。 快速入门 - ESP32 - — ESP-IDF 编程指南 v5.0.1 文档 注:提前说明,因…

Android权限描述

问题 我们常常在写apk的时候申请一些相关权限。想知道每个权限的作用&#xff0c;可以查询权限声明的地方。 1、三方页面&#xff1a; https://manifestdestiny.reveb.la/ 2、源码注释 /frameworks/base/core/res/AndroidManifest.xml <!-- SystemApi TestApi Allows a…