电信杯网球比赛系统_项目总结

18 篇文章 0 订阅
8 篇文章 1 订阅

目录

项目介绍

负责内容

小程序

1.比赛邀请制业务逻辑开发

 2.首页Canvas覆盖弹出的Modal组件

 3.实现用户注册登录功能

 4.Dva解决异步问题

后台管理平台

1.使用Promise实现先后发送两个请求

个人收获


项目介绍

电信杯网球比赛系统小程序采用比赛邀请制,实现了赛事创建,发起比赛邀请制,比分填写,规则定制,运动员基础水平管理等系列功能,适用于网球比赛;
用户 通过工号注册登录,后台根据 openId 是否和工号一对一绑定判断是否是用户 本人。
系统包括微信小程序(Taro.js+Dva.js)和后台管理平台(React.js+A ntdPro)
能适配安卓,iPhone,iPad等不同机型。

负责内容

小程序

1.比赛邀请制业务逻辑开发

需求介绍如下:

  1. 创建可邀请本场大赛内空闲人员参加比赛

  2. 创建者可对用户进行搜索 选定用户加入比赛

  3. 参赛者未准备之前 ,创建者可对其进行编辑,或是移除参赛人员

  4. 待比赛人员已满、所有参赛者皆已准且两队极差≤2.5 时,创建者可开始比赛

  5. 除创建者外,比赛中有用户已准备比赛,就不再允许取消比赛,除非所有参赛者的状态均为 “未准备”

流程图如下:

 数据流图如下:(页面与组件间的通信流程)

 页面组件间数据传递详情如下:

 效果如下:

 2.首页Canvas覆盖弹出的Modal组件

 解决方法:

  • 使用z-index结合canvas的type
  • 利用modal显示与否的变量来控制canvas的display
  • 将canvas转换为一张图片
  • 使用cover-view

第一种,尝试无效。

经验告诉我们,当看了很多文档还是没法解决问题时,建议回到最初的起点,也就是官方文档。

微信文档解说如下:

在这里插入图片描述

 于是使用第二种方法,根据Modal的visible控制canvas的display属性。

在这里插入图片描述

在这里插入图片描述

结果如下:

在这里插入图片描述

 3.实现用户注册登录功能

通过用户微信号唯一标志openId和工号一一对应判定是否是用户本人注册登录系统。

第一次登录时,要求用户先注册,输入已在管理后台登记的工号和姓名,前端将随机获取的code+appid传送给后端,后端拿到APPSecret和前端送过来的数据,得到用户openId,并判定是否是第一次登录,最后将用户openId和工号存储起来。

流程图如下:

 4.Dva解决异步问题

使用callback,向model传参一个 callback,根据model的值调用callback。

 * getToken({payload, callback}, {call, put}) {
      const response = yield call(VerificationService.getAccessToken, payload);
      const {code} = response;
      if(code===0){
        const {accessToken=''}=response.data;
        callback(response);
        yield put({
          type: 'save',
          payload: {
            codeStatus:code,
            accessToken,
          }
        })
      }else{
        callback(response);
        yield put({
          type: 'save',
          payload: {
            codeStatus:code,
          }
        })
      }

    },

后台管理平台

负责比赛管理、用户管理和规则管理模块书写

个人收获

  • 熟悉Taro.js+Dva.js项目框架搭建及配置
  • 熟悉微信小程序分包机制
  • 熟悉Nginx配置部署项目,微信小程序部署
  • 熟悉利用proxy代理解决跨域问题
  • 熟悉Promise的使用
  • 锻炼自己阅读文档并快速解决问题的能力
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Project 网球比赛" 是一场精彩的网球比赛活动。这个项目的目的是为了促进网球运动在社区中的普及和发展,同时为广大网球爱好者提供一个展示和交流的平台。 该比赛吸引了大量参赛选手和观众。来自各个年龄段、不同水平的网球爱好者积极报名参加比赛,其中既有业余爱好者,也有专业选手。比赛分为男子组和女子组,根据选手的技术水平进行分级,确保比赛的公平性。 比赛过程中,选手们展现出了高超的球技和良好的体育精神。场上的精彩球技和紧张刺激的对决使观众们为之沸腾,为选手们的表现喝彩助威。比赛期间,还有专业教练提供技术指导和赛后分析,以便选手们不断提高自己的球技水平。 除了比赛项目,该活动还设置了丰富的娱乐和互动环节。现场有展台展示最新的网球装备和器材,也有摊位提供美食和饮品。此外,还有举办网球教学课程和表演赛,给观众们提供了学习和观摩的机会。大家可以亲身体验到网球运动的魅力,并与其他网球爱好者交流分享经验。 通过"Project 网球比赛",网球爱好者们能够更加热爱和投入到这项运动中,并与其他爱好者建立起友谊和合作的关系。同时,该比赛活动也为提升社区的体育健康水平作出了积极的贡献。 无论是参赛选手还是观众,"Project 网球比赛"都给大家留下了美好的回忆。这样的项目将持续举办,为更多人提供一个展示和交流的平台,促进网球运动的普及和发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值