微信小程序-投票功能

这篇具有很好参考价值的文章主要介绍了微信小程序-投票功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 编程语言:微信小程序使用的编程语言是 JavaScript(JS)、WXML、WXSS 和 JSON。

2. 功能描述:实现一个调查统计功能,用户可以通过微信账号登录并进行投票。

3. 输入参数及数据类型:
   - 用户微信账号信息:Object
   - 调查问题:Array
   - 调查选项:Array

4. 预期输出结果及数据类型:
   - 投票结果:Object

5. 其他相关信息:使用微信小程序的云开发功能,方便快速实现数据存储和查询。

以下是一个简单的代码实现:

一、创建微信小程序项目,选择“使用云开发”。

二、在 app.json 中配置页面路径和 tabBar:
```json
{
  "pages": [
    "pages/login/login",
    "pages/index/index",
    "pages/result/result"
  ],
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "投票"
      },
      {
        "pagePath": "pages/result/result",
        "text": "结果"
      }
    ]
  }
}
```

三、在 pages/login/login.wxml 中添加微信登录按钮:
```html
<view class="container">
 <button open-type="getUserInfo" bindgetuserinfo="onGetUserInfo">微信登录</button>
</view>
```

四、在 pages/login/login.js 中添加微信登录逻辑:
```javascript
Page({
  onGetUserInfo: function (e) {
    if (e.detail.userInfo) {
      wx.setStorageSync('userInfo', e.detail.userInfo);
      wx.switchTab({
        url: '../index/index',
      });
    } else {
      wx.showToast({
        title: '微信登录失败',
        icon: 'none',
      });
    }
  },
});
```

五、在 pages/index/index.wxml 中添加调查问题和选项:
```html
<view class="container">
  <view class="question">问题:你喜欢吃哪种水果?</view>
 <radio-group bindchange="onRadioChange">
   <label>
     <radio value="apple" />苹果
    </label>
   <label>
     <radio value="banana" />香蕉
    </label>
   <label>
     <radio value="orange" />橙子
    </label>
  </radio-group>
 <button bindtap="onSubmit">提交</button>
</view>
```

六、在 pages/index/index.js 中添加提交投票逻辑:
```javascript
const db = wx.cloud.database();

Page({
  data: {
    vote: '',
  },

  onRadioChange: function (e) {
    this.setData({
      vote: e.detail.value,
    });
  },

  onSubmit: function () {
    const userInfo = wx.getStorageSync('userInfo');
    if (!userInfo) {
      wx.showToast({
        title: '请先登录',
        icon: 'none',
      });
      return;
    }

    if (!this.data.vote) {
      wx.showToast({
        title: '请选择一个选项',
        icon: 'none',
      });
      return;
    }

    db.collection('votes').add({
      data: {
        user: userInfo,
        vote: this.data.vote,
      },
      success: () => {
        wx.showToast({
          title: '投票成功',
        });
      },
      fail: () => {
        wx.showToast({
          title: '投票失败',
          icon: 'none',
        });
      },
    });
  },
});
```

七、在 pages/result/result.wxml 中添加投票结果展示:
```html
<view class="container">
  <view class="result">苹果:{{votes.apple}}票</view>
  <view class="result">香蕉:{{votes.banana}}票</view>
  <view class="result">橙子:{{votes.orange}}票</view>
</view>
```

八、在 pages/result/result.js 中添加获取投票结果逻辑:
```javascript
const db = wx.cloud.database();

Page({
  data: {
    votes: {
      apple: 0,
      banana: 0,
      orange: 0,
    },
  },

  onLoad: function () {
    db.collection('votes')
      .get()
      .then((res) => {
        const votes = res.data.reduce(
          (acc, cur) => {
            acc[cur.vote]++;
            return acc;
          },
          { apple: 0, banana: 0, orange: 0 }
        );
        this.setData({ votes });
      })
      .catch(() => {
        wx.showToast({
          title: '获取结果失败',
          icon: 'none',
        });
      });
  },
});
```

以上代码实现了一个简单的调查统计功能,用户可以通过微信账号登录并进行投票。投票结果可以在结果页面查看。文章来源地址https://www.toymoban.com/news/detail-851320.html

到了这里,关于微信小程序-投票功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序原生开发功能合集十二:编辑界面的实现

      本章实现编辑界面的实现处理,包括各编辑组件的使用及添加数据保存数据流程的实现处理。   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如下:    1. CSDN课程: https://edu.csdn.ne

    2024年02月02日
    浏览(62)
  • 微信小程序 camera组件实现自定义界面的扫码功能

    目录 使用到的功能点: 代码实现: 效果图: 想要实现自定义界面的扫码,这里用到了微信小程序的媒体组件 ⚠️:同一页面只能插入一个  camera  组件 使用到的功能点: 1. camera mode=scanCode // 扫码模式 binderror  //用户不允许使用摄像头时触发 bindscancode // 在扫码识别成功时

    2024年02月09日
    浏览(47)
  • 【微信小程序】发布投票与用户投票完整讲解

    目录 前言        组件功能示例 一、数据库 二、后端接口定义 三、前端准备 3.1 定义连接接口 3.2 Vant Weapp UI 组件库 3.3 授权登录与相关工具 四、小程序编写 4.1 投票组件 WXML WXSS JSON WXJS 效果展示讲解: 4.2  发布投票组件 WXML WXSS JSON WXJS 效果展示讲解: 尾         本次主

    2024年02月08日
    浏览(40)
  • 基于微信小程序投票系统(微信小程序毕业设计)

    项目获取请看文章最底下官网 投票系统用户端是基于微信小程序,管理员端是基于web网页端,本系统采用java编程语言,mysql数据库,ssm框架,idea工具进行开发,本系统分为用户和管理员两个角色,用户可以注册登陆微信小程序,查看投票系统公告,查看投票作品,在线投票

    2024年02月11日
    浏览(60)
  • 微信小程序之投票管理

    对于会议管理模块,必不可少的当然就是我们的投票管理,实现真正意义上的无纸化办公,本期博客为大家介绍会议管理模块,包括发布投票及查看各类投票的状态  MyBatis、SpringMVC、VentUI  MyBatis和SpringMVC在博客主页有讲解,可以翻看往期博客 这里简单介绍一下VantUI Vant是一

    2024年02月07日
    浏览(41)
  • 微信小程序投票管理系统:打造智能、便捷的投票体验

    随着社交网络的兴起和移动互联网的普及,人们对于参与和表达意见的需求越来越强烈。在这个背景下,微信小程序投票管理系统应运而生。它为用户提供了一个智能、便捷的投票平台,使用户可以轻松创建和参与各种类型的投票活动。本文将详细介绍微信小程序投票管理系

    2024年02月08日
    浏览(52)
  • 基于微信小程序的投票评选系统小程序

    文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器:谷歌浏览器 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序运行软件:微信开发者 社会发展日新月异

    2024年02月08日
    浏览(55)
  • 微信小程序评选投票系统设计与实现

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月04日
    浏览(51)
  • 基于微信小程序的投票系统源码

    开发环境及工具: 大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具 技术说明: springboot mybatis 微信小程序 代码注释齐全,没有多余代码,适合学习(毕设),二次开发,包含论文技术相关文档。 功能介绍: 用户端: 登录注册(含授权登录) 首页显示轮播图,投票列

    2024年02月09日
    浏览(88)
  • 微信小程序音乐播放功能代码

    咱就是话不多说直接上代码,不让亲戚老爷们苦等。 首先,在你的小程序页面的js文件中,定义音乐播放相关的数据和方法: 然后,在你的小程序页面的wxml文件中,添加相关的按钮和状态显示: 最后,在微信开发者工具中预览或真机调试你的小程序,点击对应的按钮即可实

    2024年02月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包