Skip to content
Jyunmau edited this page Mar 8, 2019 · 17 revisions

开发说明文档

Welcome to the Unified-Registration-System wiki!

该文档可以作为大家在开发过程中的一个参考,我们列出了大家在开发中所需要的一些基本信息。基于以下信息,希望你可以认真思考一个应用软件的设计,学习小程序的架构,以及开源软件的开发流程。那么,让我们开始吧~

  • 注意:该文档会随项目推进更新,请注意及时查阅。若提交代码不符合有关要求而导致使用问题,你的代码可能不会被接收。

关于开发与提交

  1. 开发前应当从此项目fork到你的github账户上,并在fork的项目上进行开发
  2. 推荐由队长fork并给队员直接修改项目的权限
  3. 开发完成后,发一个PR(push request)到科协官方的项目上,我们经选择一组的代码作为项目的最终实现

开发环境与工具

需求说明

详细需求请移步:需求说明

交互逻辑图:

FAQ

如果你在开发过程中遇到任何问题,欢迎在群内提出,或者私聊群内的管理员/群主。我们会不定期整理大家遇到的问题展示在“FAQ”页面。

常见问题见如下页面: FAQ

可供使用的后端接口

获取活动列表

request

  • url: https://www.turing-cup.online/voteapp/activity
  • method: GET

response

  • 数据类型: JSON,采用UTF-8编码(默认)
  • 数据格式:
    [
        {
            id: string,
            name: string,
            publisher: string,
            startTime?: string,
            endTime?: string
        }
    ]
    解释:
    • id: 活动的id,用于后面的接口
    • name: 活动名称
    • publisher: 活动的发布者/主办方
    • startTime: 报名开始时间,格式为yyyy-MM-dd HH:mm:ss,注意,此属性可选,可能不存在
    • endTime: 报名截止时间,格式为yyyy-MM-dd HH:mm:ss,注意,此属性可选,可能不存在

获取活动的报名数据格式

request

  • url: https://www.turing-cup.online/voteapp/activity/:id RESTful参数说明:
    • id: 需要获取的活动的id
  • method: GET

response

  • 数据类型: JSON,采用UTF-8编码(默认)
  • 数据格式:
    [
        {
            name: string,
            type: string,
            defaultValue?: string,
            description: string,
            tip: string,
            require: boolean,
            case?: string[],
            range?: number[],
            subItem?: object[]
        }
    ]
    解释: 得到的是一个对象数组,用于描述报名条目的格式
    • name: 此项的名称
    • type: 此项的类型,详见type具体解释
    • defaultValue: 此项的默认值,此属性可选,可能不存在
    • description: 此项的具体描述
    • tip: 此项的填写提示
    • require: 此项是否必填,为false时为可选
    • case: 仅在type为部分选项型条目时存在,为字符串数组,表示选项的值,此属性可选,可能不存在
    • range: 仅在type为部分类型时才存在,表示取值范围,如果为空数组则为不存在取值范围,否则为[min,max]的形式,此属性可选,可能不存在
    • subItem: 仅在type为'group'时存在,此时为一个条目数组,描述在此分组中的子选项的格式,此属性可选,可能不存在

    关于几个比较简单的属性,有如下图片说明:

提交报名信息

request

  • url: https://www.turing-cup.online/voteapp/activity/:id RESTful参数说明:
    • id: 需要获取的活动的id
  • method: POST
  • 数据类型: JSON(默认)
  • body(或者说具体数据,对应wx.request的data):
    {
        [name: string]: string|object
    }
    解释: 这里表示每一项的属性名为name的值,属性的类型为字符串,name的值与表单格式的name的值相同 示例: 假设表单要求一个用户名('username'),一个密码('password'),以及包含政治面貌('politics')的其他数据('otherInfo'),则可提交如下数据:
    {
        "username": "张三",
        "password": "123456",
        "otherInfo": {
            "politics": "群众"
        }
    }

response

  • 数据类型: JSON,采用UTF-8编码(默认)
  • 数据格式:
    {
        success: boolean,
        reason?: string
    }
    解释:
    • success: 标识报名成功与否
    • reason: 此属性仅在报名失败时存在,用于阐述报名失败的原因,此属性可选,可能不存在

    注意,并非所有错误都会有数据返回,网络错误与比较低级的错误(比如服务器炸了),仍然会有HTTP错误的存在

Clone this wiki locally