《微信小程序开发从入门到实战》学习二十六

3.4 开发参与投票页面

参与投票页面同样需要收集用户提交的信息,哪个用户在哪个投票选择了什么选项,因此它也是一个表单页面

3.4.1 如何获取投票信息

假设用户A在投票创建页面后填了表单(1.创建投票),用户A 点了提交,投票信息提交到了服务器端。

用户A会获得来自服务器端的投票ID(2.获得投票的ID),然后用户A的手机页面会跳转到投票页面,用户A将这个页面以小程序卡片的形式分享到微信群中。(3.发送小程序卡片,路径参数有投票ID)

微信群中的用户B点击小程序卡片,他的手机用投票ID向服务器端发送想获得投票信息的请求(()4.使用投票ID请求投票信息),然后得到来自服务器端给的投票信息(5.获得投票信息)。

当用户B打开投票信息页面时,投票页面需要显示标题,描述,选项等数据,因此在投票信息页面的onLoad方法中获取它们。

用户A如果创建多个投票提交,服务器端需要给每个投票都创建不同的投票ID以作区分,因此每个ID在服务器都是唯一的。ID可以是number类型,也可以是string类型。

整个过程又可以分为三个关键点:

一.提交服务器信息获得投票id

二.分享投票信息

三.用投票id从服务器获得投票信息

一三代码如下:

dataID = postDataToServer(data)

data = postDataFromServer(dataID)

二的话,先创建投票页面,在app.js页面添加如下代码:

"pages":[

    "pages/index/index", //主页

    "pages/createVote/createVote", //创建投票页面

    "pages/vote/vote", //投票页面

...

}

保存后就有投票页面了。

接下来需要在创建投票页面createVote.js的提交方法formSubmit中将数据传到云端,并带着传回的投票ID以页面路径参数的形式跳转到投票页面。代码如下:

  formSubmit(){

    const formData = {

      type:this.data.type,

      voteTitle: this.data.formTitle,

      voteDesc: this.data.formDesc,

      optionList: this.data.optionList,

      endDate: this.data.endDate, 

      isAnonymousfalse: this.data.isAnonymousfalse

    }

    //TODO 将formData提交到云端

    const voteID = 'test' //伪造一个数据,作为服务器端返回的投票ID

    wx.redirectTo({

      url: '/pages/vote/vote?voteID=' + voteID,

    })

  }

wx.redirectTo和wx.navigateTo有区别,redirectTo跳转时会关闭当前页面,单击返回时会直接跳转到上一级的页面,不存在就退出。navigateTo跳转时会保留当前页面,单击返回时还可以返回这个页面。

3.4.1 如何获取投票信息结束啦

3.4.2 借用伪造数据开发功能敬请期待。再见┏(^0^)┛

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

合并两个有序链表,剑指offer,力扣

目录 力扣题目地址: 原题题目: 我们直接看题解吧: 解题方法: 审题目事例提示: 解题思路: 具体流程如下: 代码实现: 知识补充: 力扣题目地址: 21. 合并两个有序…

基于C#实现Prim算法

图论在数据结构中是非常有趣而复杂的,作为 Web 码农的我,在实际开发中一直没有找到它的使用场景,不像树那样的频繁使用,不过还是准备仔细的把图论全部过一遍。 一、最小生成树 图中有一个好玩的东西叫做生成树,就是用…

前缀和——724. 寻找数组的中心下标

文章目录 🍓1. 题目🫒2. 算法原理🦄解法一:暴力枚举🦄解法二:前缀和 🥔3. 代码实现 🍓1. 题目 题目链接:724. 寻找数组的中心下标 - 力扣(LeetCode&#xff0…

排查光模块故障原因,少不了这2条命令!

光模块故障定位常用命令 根据光模块的告警信息查找故障原因: display interface transceiver查看光模块光功率是否正常 display interface transceiver verbose根据光模块的告警信息查找故障原因 执行命令display interface transceiver查看“Alarm information”…

传统制造业如何有效实现数字化?企业数字化转型可以借助哪些工具?

2020年,制造业数字化转型行业的价值为2630亿美元。然而,到2026年,这一数字预计将达到惊人的7670亿美元。随着新技术的出现,工业4.0时代已经开始。这是由软件开发和自动化带来的对数字化的日益依赖所决定的,这使得制造过…

python获取json所有节点和子节点

使用python获取json的所有父结点和子节点 并使用父节点加下划线命名子节点 先展示一段json代码 {"level1": {"level2": {"level3": [{"level4": "4value"},{"level4_2": "4_2value"}]},"level2_…

深入剖析预约上门服务系统源码:构建高效服务的代码之旅

在本文中,我们将深入研究预约上门服务系统的源码,透过代码的层层剖析,揭示系统背后的技术奥秘。我们将关注系统的核心功能,并通过代码示例演示其实现过程,为读者提供一个深度技术解读的体验。 1. 技术栈选择&#xf…

plantUML学习与实战

背景 在日常工作或者生活中,使用交互图来描述想法,往往相对于文字来说,可读性更高,同时一定程度上可以提高沟通效率,但是苦于,不想对一堆控件拖拖拉拉,本人就是一个很讨厌画图,但是…

java学习part09类的构造器

1. 2.默认构造器 如果没有显式定义任何构造器,系统会默认加一个默认构造器。 如果定义了,则不会有默认构造器。 默认构造器的权限和类的权限一样,类是public构造器就是public,类是缺省默认构造器就是缺省 反编译之后添加的构造…

Astute Graphics 2023(ai创意插件合集)

Astute Graphics 2023是一家专注于图形编辑软件的公司,以制作高质量、功能强大的图像编辑工具而闻名。如Poser Pro、Poser 3D、Smart Shapes、Astute Sketch Pro等。 Astute Graphics的软件具有以下特点: 强大的图像编辑功能:Astute Graphi…

动态规划求二维网格中从左上角到右下角的最短路径( 每次只能向下、向右、向右下走 ) java 实现

dp[i][j] 表示在以点(0,0)作为左上角,点(i,i) 作为右下角的二维网格中 左上角到右下角的最短路径, 动态转移方程为:dp[i][j] min{ dp[i][j-1],dp[i-1][j],dp[i-1][j-1] }.distance weight[i][j] ImageUtils.java: import java.a…

时间序列分析算法的概念、模型检验及应用

时间序列分析是一种用于研究随时间变化的数据模式和趋势的统计方法。这类数据通常按照时间顺序排列,例如股票价格、气温、销售额等。时间序列分析的目标是从过去的观测中提取信息,以便预测未来的趋势。 以下是关于时间序列分析的一些重要概念、模型检验…