# 前言
本教程是基于 “apifm-wxapi” 模块,教你快速实现小程序开发,所以你可能需要先了解以下知识点:
[《创建 HelloWorld 项目》](https://www.yuque.com/apifm/doc/hezlrm)
[《使用 “apifm-wxapi” 快速开发小程序》](https://www.yuque.com/apifm/doc/mdldsd)
[《免费注册开通后台,获得专属域名》](https://www.yuque.com/apifm/doc/qr6l4m)
本案例中,部分功能,需要用户登录后才能操作,也就是说需要 token 授权,请先了解:
[《微信小程序登录获取openid及三方token》](https://www.yuque.com/apifm/doc/kaygbw)
# 功能介绍
为小程序增加预约、报名功能
报名可支持团队报名、成员自助加入团队功能
可实现报名费的收取
# 启用模块
登录 “第一步” 注册的后台,左侧菜单 --> 工厂设置 --> 模块管理
找到并启用下述模块,然后 F5 刷新一下后台界面,你将可以看到本案例所需的所有功能菜单:
**预约报名模块**

# apifm-wxapi 方法说明
### 读取所有的预约/报名项目
```javascript
WXAPI.yuyueItems(Object object)
```
> 拉取后台设置的所有预约/报名项目,小程序端可展示所有的项目、进度等情况
>
> 具体参数详见接口文档
>
### 项目详情
```javascript
WXAPI.yuyueItemDetail(id)
```
> 读取指定 id 的预约/报名项目详情、后台设置的扩展属性
>
### 进行预约或者在线报名
```javascript
WXAPI.yuyueJoin(Object object)
```
> 具体参数详见接口文档
>
**可作为团队/个人直接报名,也可以加入指定的某一个团队进行报名**
参数说明:
**个人/团队报名:**
**yuyueId** 报名项目ID
**teamName** 团队名称[也可以不传]
**remark** 报名备注
**extJsonStr** 报名扩展属性
**加入某个团队:**
**yuyueId** 报名项目ID
**teamId** 团队ID
**remark** 报名备注
**extJsonStr** 报名扩展属性
**成功预约/报名后将会给你返回报名ID,也就是下述方法中使用到的 joinId 参数**
### 支付报名费
```javascript
WXAPI.yuyueJoinPay(token, joinId)
```
> 如果后台设置的预约/报名项目需要支付一定的费用,那么用户需要通过该方法完成报名费的支付才能完成预约/报名
>
### 更新预约/报名信息
```javascript
WXAPI.yuyueJoinUpdate(token, joinId, extJsonStr)
```
> 修改预约/报名的扩展信息,必须是非匿名情况下才能使用,否则没法确认修改者用户身份
>
### 我的报名信息
```javascript
WXAPI.yuyueMyJoinInfo(token, joinId)
```
### 我所有的预约记录/报名记录
```javascript
WXAPI.yuyueMyJoinLogs(Object object)
```
> 该方法将分页展示用户的参与历史记录,具体参数详见接口文档
>
### 读取某个项目的所有报名团队列表
```javascript
WXAPI.yuyueTeams(Object object)
```
### 查看团队详情
```javascript
WXAPI.yuyueTeamDetail(teamId)
```
> 上述方法中获取到的团队ID
>
### 拉取团队成员列表
```javascript
WXAPI.yuyueTeamMembers(Object object)
```
**关于更加详细的参数使用,以及更加高级的进阶使用方法,可以参考api接口文档说明:**
[《api接口文档》](https://api.it120.cc/doc.html)
_关于 apifm-wxapi 更多的使用方法:_
[《apifm-wxapi使用说明》](https://github.com/gooking/apifm-wxapi/blob/master/instructions.md)
_本案例Demo代码下载:_
[《apifm-wxapi使用Demo程序》](https://github.com/gooking/apifm-wxapi-demo)
期待你的进步!
感谢!