基于java+ssm+vue的电子竞技信息交流平台微信小程序

项目介绍

随着科技的进步,微信小程序慢慢进入了生活当中,由于轻便快捷,方便使用,基于微信这个大平台,使得小程序飞速发展,趋于成熟,因此,针对电子竞技信息交流方面,特开发了本基于微信小程序的电子竞技信息交流平台。

本基于微信小程序的电子竞技信息交流平台采用WXML 、WXS、JS小程序编写语言、微信开发者工具进行微信端开发,使用MYSQL数据库进行系统数据的储存,以微信为入口的,具有快捷、轻便的特点,不占内存,不用下载、安装,而且访问速度很快。系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了电子竞技信息交流的重要功能。

“操作简单,功能实用”这是本软件设计的核心理念,本系统力求创造最好的用户体验。
在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,微信开发者工具,jdk1.8,maven
支持定做:java/php/python/android/小程序vue/爬虫/c#/asp.net

系统实现

5.1 注册界面的实现
没有账号的用户可进入注册界面进行注册操作,用户注册界面的运行效果如图5-1所示.
在这里插入图片描述

图5-1 用户注册界面

5.2 登录界面的实现
用户在登录界面可输入用户名和密码进行登录系统,系统登录界面的运行效果如图5-2所示.
在这里插入图片描述

图5-2 系统登录界面

5.3 首页界面的实现
用户进入首页界面可查看游戏资讯信息,首页界面如图5-3所示。
在这里插入图片描述

图5-3 首页界面

5.4 英雄界面的实现
用户在英雄界面可查看所有英雄信息,并可选择查看详情,英雄界面展示如图5-4所示。
在这里插入图片描述
在这里插入图片描述

图5-4 英雄界面

5.5 比赛界面的实现
用户在比赛界面可通过战队名称快速查询比赛信息,并可选择查看详情,比赛界面如图5-5所示。
在这里插入图片描述
在这里插入图片描述

图5-5 比赛界面

5.6 选手界面的实现
用户在选手界面可查看所有选手信息,并可选择查看详情,选手界面如图5-6所示。
在这里插入图片描述
在这里插入图片描述

图5-6 选手界面

5.7 留言板界面的实现
用户可进入留言板界面进行发表留言,留言板界面展示如图5-7所示。
在这里插入图片描述

图5-7 留言板界面

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.BisaiEntity;
import com.entity.view.BisaiView;

import com.service.BisaiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 比赛
 * 后端接口
 * @author 
 * @email 
 * @date 
 */
@RestController
@RequestMapping("/bisai")
public class BisaiController {
    @Autowired
    private BisaiService bisaiService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,BisaiEntity bisai, 
		HttpServletRequest request){

        EntityWrapper<BisaiEntity> ew = new EntityWrapper<BisaiEntity>();
		PageUtils page = bisaiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bisai), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("st")
    public R list(@RequestParam Map<String, Object> params,BisaiEntity bisai, HttpServletRequest request){
        EntityWrapper<BisaiEntity> ew = new EntityWrapper<BisaiEntity>();
		PageUtils page = bisaiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bisai), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("sts")
    public R list( BisaiEntity bisai){
       	EntityWrapper<BisaiEntity> ew = new EntityWrapper<BisaiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( bisai, "bisai")); 
        return R.ok().put("data", bisaiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(BisaiEntity bisai){
        EntityWrapper< BisaiEntity> ew = new EntityWrapper< BisaiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( bisai, "bisai")); 
		BisaiView bisaiView =  bisaiService.selectView(ew);
		return R.ok("查询比赛成功").put("data", bisaiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        BisaiEntity bisai = bisaiService.selectById(id);
        return R.ok().put("data", bisai);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        BisaiEntity bisai = bisaiService.selectById(id);
        return R.ok().put("data", bisai);
    }
    


    /**
     * 赞或踩
     */
    @RequestMapping("/thumbsup/{id}")
    public R thumbsup(@PathVariable("id") String id,String type){
        BisaiEntity bisai = bisaiService.selectById(id);
        if(type.equals("1")) {
        	bisai.setThumbsupnum(bisai.getThumbsupnum()+1);
        } else {
        	bisai.setCrazilynum(bisai.getCrazilynum()+1);
        }
        bisaiService.updateById(bisai);
        return R.ok();
    }

    /**
     * 后端保存
     */
    @RequestMapping("ve")
    public R save(@RequestBody BisaiEntity bisai, HttpServletRequest request){
    	bisai.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(bisai);

        bisaiService.insert(bisai);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody BisaiEntity bisai, HttpServletRequest request){
    	bisai.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(bisai);

        bisaiService.insert(bisai);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody BisaiEntity bisai, HttpServletRequest request){
        //ValidatorUtils.validateEntity(bisai);
        bisaiService.updateById(bisai);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        bisaiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<BisaiEntity> wrapper = new EntityWrapper<BisaiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = bisaiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

论文参考

在这里插入图片描述

目 录
1 绪 论 1
1.1课题研究背景 1
1.2设计原则 1
1.3研究内容 2
2系统关键技术 3
2.1 微信小程序 3
2.2微信Web开发者工具 3
2.3微信小程序API接口 3
2.4 WXML 、WXS、JS小程序编写语言 3
2.5 MYSQL数据库 4
3系统分析 5
3.1可行性分析 5
3.1.1 技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.1.4法律可行性 5
3.2系统性能分析 6
3.3 系统功能分析 6
3.4用户体验需求分析 6
3.5系统流程分析 7
3.5.1注册流程 7
3.5.2登录流程 7
3.5.3添加留言流程 8
4系统设计 9
4.1系统设计要求 9
4.2系统开发流程设计 9
4.3系统结构设计 9
4.4数据库设计 10
4.4.1数据库E-R图设计 10
4.4.2数据库表设计 12
5 系统的实现 16
5.1 注册界面的实现 16
5.2 登录界面的实现 16
5.3 首页界面的实现 17
5.4 英雄界面的实现 18
5.5 比赛界面的实现 19
5.6 选手界面的实现 20
5.7 留言板界面的实现 21
6系统测试 23
6.1测试定义 23
6.2测试方法 23
6.3测试方案 23
6.4测试结论 24
7结论 25
参考文献 26
谢 辞 27

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q_2781179521

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值