答题小程序之调查问卷模板开发

	这次我和大家分享一下如何用小程序做一个问卷调查小程序,可以是行业问卷,或者是测试题的。该问卷调查主要介绍题目多且题型多,题目数在15道以上,题型包含单选,非必做、必做题,填空题。当然可以从这些衍生更多的出来。
	首先理清思路:第一页我们做欢迎语和简介,在答题入口上做跳转题目页和授权按钮功能,然后开始做题,选择题放前,填空题放后,每页2道题,任何一道为空都会提示“请做完本页所有题”,当遇到选做题,则选做题可不做,但剩下那道题则必做才可以继续下一页,当遇到填空题和选择题交叉,则判断填空题的输入域是否为空,选择题是否选做。提交按钮将所有数据以字符串发送服务器。

###第一步、做欢迎页和介绍页。
先上效果图:
答题小程序之调查问卷模板开发_第1张图片
在开始答题的按钮上,我们做跳转和授权两个函数。
授权示意图:
答题小程序之调查问卷模板开发_第2张图片
如果对授权不太了解的可以参考我的置顶博文,有介绍小程序的getPhonenumber组件功能的内容。
代码我也给大家放上
页面内容:

 

JS内容,将跳转放在授权里面,授权成功则跳转做题,授权取消,停留当前页面:

//通过绑定手机号登录
    getPhoneNumber: function (e) {
      var ivObj = e.detail.iv
      var telObj = e.detail.encryptedData
      var codeObj = "";
      var that = this;
      //------执行Login
      wx.login({
        success: res => {
          console.log('code转换', res.code); //用code传给服务器调换session_key

          wx.request({
            url: 'https://x.xxxxxxx.com/xiaochengxu/demo.php', //接口地址
            data: {
              appid: "小程序appid",
              secret: "小程序密钥",
              code: res.code,
              encryptedData: telObj,
              iv: ivObj
            },
            header: {
              'content-type': 'application/json' // 默认值
            },
            success: function (res) {
              phoneObj = res.data.phoneNumber;
              console.log("手机号=", phoneObj)
              wx.setStorage({   //存储数据并准备发送给下一页使用
                key: "phoneObj",
                data: res.data.phoneNumber,
              })
            }
          })

          //-----------------是否授权决定是否可以做题
          if (e.detail.errMsg == 'getPhoneNumber:fail user deny') { //用户点击拒绝判断
            wx.navigateTo({
              url: '../index/index',
            })
          } else { //授权通过执行跳转
            
            wx.navigateTo({
              url: '../test/test',
            })
          }
        }
      });

      //---------登录有效期检查
      wx.checkSession({
        success: function () {
          //session_key 未过期,并且在本生命周期一直有效
        },
        fail: function () {
          // session_key 已经失效,需要重新执行登录流程
          wx.login() //重新登录
        }
      });
    },

###第二步、答题页面
首先我先放上页面题目展示效果:
答题小程序之调查问卷模板开发_第3张图片
这里是两个题目为一页,选做题和必选题以及填空题也是这样排列。
页面内的布局写法: