-
Notifications
You must be signed in to change notification settings - Fork 17
FAQ
结合在培训会上的提交经历,我们项目提交的方式就和当晚提交组队信息是一样的。在大家进行了“fork”的操作之后,整个项目存储的位置分成了三部分:科协的云端项目仓库、大家自己账户下的云端项目仓库、自己电脑上的项目仓库,每个项目仓库都在相互独立的做版本管理。 在电脑上更改了项目之后,提交项目的步骤如下:
- 打开GitHub Descktop把新的更改提交到本机上的项目仓库( commit )。注意提交的项目名称是 你的GitHub账户名/Unified-Registration-System ,分支( branch )默认为master,也可小组商量提交到需要的分支上。
- 提交完成后,需要上传到自己的云端项目仓库( push ),等待上传完成。
- 打开网页版GitHub,登陆自己的账户查看新的更改是否上传到自己的云端仓库,再次提醒你自己账户名下的云端仓库名是 你的GitHub账户名/Unified-Registration-System
- 如果整个小程序已经全部完成,那么需要向科协的主项目仓库发起一个提交请求( pull request简称PR )。请求提交后我们会审核你的代码并与其他小组完成的代码比对,择取写的好的部分加入最终项目。
微信小程序的JSON是配置文件,里面不是逻辑代码。每个页面的JSON文件和app.json文件都是用于标明配置一些东西,比如说使用一个组件( component )需要在对应页面的json文件中声明。具体信息请参考微信小程序代码构成
- 数据传输使用JSON格式传输数据,本项目中的接口说明见可供使用的后端接口。
- Q2当中JSON文件的内容就是JSON。JSON比较突出的优点是使用键值对来表示每一项数据,在传输时是一个字符串,保证了传输可靠又调用方便。JSON的数据结构主要是数组(array)、对象(object)、键值对(子类型包括string、number、boolean等),数据结构可以嵌套。参考教程JSON-菜鸟教程
- 接口调用需要发起HTTP网络请求,使用wx.request即可,请参考官方文档网络-小程序和视频教程发起请求API-学做小程序
活动数目是动态的,数目由发起了多少个活动决定。如果有多个活动,你获取到的数据将是一个有多个元素的数组,每个元素是一个活动对象。请仔细阅读接口说明,见可供使用的后端接口
动态生成表单需要一个嵌套的wxml组件结构,控制数目可以使用wx:for来实现。参考一下视频教程实现根据不同活动数目生成列表信息:
报名系统的后端与当前的小程序项目是同步进行开发的,目前接口还没有完成开发。可以在页面里自己编写数据进行测试,同时将获取数据的接口先注释掉,等到后端开发完成之后再调用。参考 数据绑定-学做小程序 ,可以在页面data中这样初始化数据用来测试:
Page({
data: {
activityList: [{
id: "1234",
name: "“展风华·为人先”软件开发比赛",
publisher: "院科协",
startTime: "2019-03-18 00:00:00",
endTime: "2019-03-31 00:00:00"
},{
id: "2234",
name: "“中兴·图灵杯”人工智能程序设计大赛",
publisher: "院科协",
startTime: "2019-10-18 00:00:00",
endTime: "2019-11-18 00:00:00"
}]
}
// 其他代码逻辑
})
subItem定义为一个object数组,是一个 可能没有 的字段。这个字段的设计初衷在于报名表单可能出现嵌套的情况。这里举个例子,想象一个这样的数据结构:
├── 组员1的姓名
│ ├── 组员1的学号
│ └── 组员1的获奖情况
│ ├── 奖项一
│ └── 奖项二
└── 组员2的姓名
├── 组员2的学号
└── 组员2的获奖情况
├── 奖项一
└── 奖项二
这就有可能出现object嵌套的情况。在这个例子里面,组员姓名、学号、获奖情况、奖项都是一个独立表单项,每一项都可以单独 用一个活动报名数据的object来表示 。为了表述一个整体的数据结构,包括学号、获奖情况、奖项等信息的嵌套关系,我们设计了subItem数组。比方说,对应上面的例子,组员姓名的subItem数组里就需要包括 组员学号 和 获奖情况 ,获奖情况的subItem里又要包括 奖项一 和 奖项二 。而最下面一级,例子中的 组员学号 和两个 奖项 ,他们的object里由于没有再需要嵌套的结构,因此这两个object里就 不会返回有subItem字段 。
在实际使用中,具体出现什么样的嵌套情况要看报名信息的发布者如何设计表单。我们给报名发布者提供的设计方式支持这样的嵌套表单设计,这就需要小程序端也支持这样的表单显示和数据采集。在我们的数据结构设计中,subItem的嵌套 没有层数限制 。
那么如何在小程序中来展示这样的嵌套结构呢?这里提供一个组件嵌套方法供大家参考: 微信小程序实现简单的树形图
生命周期函数是微信小程序在运行的各个时段所调用的函数,如果将逻辑代码写到有关函数当中,这段逻辑代码就会在相应时段被执行。举个栗子,如果你在某个page的onLoad函数中编写数据获取逻辑,那么数据获取逻辑将会在这个页面被加载的时候执行;如果你把数据获取逻辑写在app.js下的onLaunch函数中,那么数据获取逻辑将会在这个小程序初始化的时候执行。除了注意将需要执行的逻辑写在需要的生命周期函数当中外,对于你没有用到的生命周期函数,可以在js文件中删去不写。
生命周期函数的定义和触发时机参考: