一,系统展示
二,小程序端代码
在这里插<!--pages/articleDetail/articleDetail.wxml--> 欢迎围观小孟朋友圈,我的V:jishulearn <view class="container"> <view class="articleBox" > <view class="article_header"> <text class="article_title">{{article.articleTitle}}</text> <text class="article_date">{{article.articleDate}}</text> </view> <view class="article_pic"> <!-- <video src="{{article.videoUrl}}" poster="{{article.imgUrl}}" objectFit="cover" controls="{{true}}"/> --> <image src="{{sUrl+article.imgUrl}}"/> </view> <view class="article_content"> <p>{{article.articleContent}}</p> </view> </view> <view class="comments"> <view class="com_hd"> <view>评论</view> <view class="commententy" bindtap="showModal" data-target="bottomModal"><image class="toComment" src="../../images/pinglun.png"/>{{article.commentList.length}}</view> </view> <view class="comBox" wx:for="{{article.commentList}}" wx:for-item="comment"> <view class="comBox_hd"> <view class="userInfo"> <image class="userThumb" src="{{comment.userThumb}}"/> <text class="userName">{{comment.userName}}</text> </view> <text class="comTime">{{comment.comTime}}</text> </view> <view class="comBox_bd"> <p>{{comment.commentStr}}</p> </view> </view> </view> <view class="cu-modal bottom-modal {{modalName=='bottomModal'?'show':''}}"> <view class="cu-dialog"> <view class="flexcc"> <image class="userThumba" src="{{userInfo.avatarUrl}}"/> <view> <input bindfocus="InputFocus" value="{{commentInputValue}}" bindinput="commentInput" bindblur="InputBlur" adjust-position="{{true}}" focus="{{ifocus}}" maxlength="150" cursor-spacing="10"></input> </view> <button class="bt" bindtap="submitc">发送</button> </view> </view> </view> </view> 入代码片
<!--pages/order/order.wxml--> <view class="container"> <view wx:if="{{hasOrder}}" class="gameOrder"> <view class="gameOrder" wx:for="{{orderList}}" wx:key="{{orderList.id}}"> <text class="gameDate">{{item.gameDate}}</text> <view class="weui-cells"> <navigator url="/pages/order/order" class="weui-cell weui-cell_access" hover-class="weui-cell_active"> <view class="weui-cell__hd"> <text>{{item.gameTime}}</text> <text>{{item.gameName}}</text> </view> <view class="weui-cell__bd"> <view class="team_1"> <image src="{{item.team_1_pic}}"></image><span>{{item.team_1}}</span> </view> <view class="team_2"> <image src="{{item.team_2_pic}}"></image><span>{{item.team_2}}</span> </view> </view> <view class="weui-cell__ft"> <view class="ft_left"> <view wx:if="{{item.isStart}}"> <text class="gameScore scoreM">{{item.team_1_score}}</text> <text class="gameScore">{{item.team_2_score}}</text> </view> <view wx:else> <text class="gameScore scoreM">-</text> <text class="gameScore">-</text> </view> </view> <view class="ft_right"> <view wx:if="{{item.gameLive}}" class="gameLive"> <view wx:if="{{v_live}}"> <image class="livePic" src="{{vLive_pic}}"/> <span>{{vLive_text}}</span> </view> <view wx:else> <image class="livePic" src="{{pLive_pic}}"/> <span>{{pLive_text}}</span> </view> </view> <view wx:else class="gameLive"> <span>未开始</span> </view> </view> </view> </navigator> </view> </view> </view> <view wx:else class="noOrders"> <text>没有预约比赛</text> </view> </view>
三,后端代码
/** * articleController * @author 小孟V:jishulearn * @version 2022-02-13 */ @Controller @RequestMapping(value = "${adminPath}/article/article") public class ArticleController extends BaseController { @Autowired private ArticleService articleService; /** * 获取数据 */ @ModelAttribute public Article get(String id, boolean isNewRecord) { return articleService.get(id, isNewRecord); } /** * 查询列表 */ @RequiresPermissions("article:article:view") @RequestMapping(value = {"list", ""}) public String list(Article article, Model model) { model.addAttribute("article", article); return "modules/article/articleList"; } /** * 查询列表数据 */ @RequiresPermissions("article:article:view") @RequestMapping(value = "listData") @ResponseBody public Page<Article> listData(Article article, HttpServletRequest request, HttpServletResponse response) { article.setPage(new Page<>(request, response)); Page<Article> page = articleService.findPage(article); List<Article> articleList = new ArrayList<>(); for (Article article1 : page.getList()) { List<FileUpload> fileUploadList = FileUploadUtils.findFileUpload(article1.getId(),"article_image"); if (fileUploadList.size() > 0){ article1.setImgUrl(FileUploadUtils.findFileUpload(article1.getId(),"article_image").get(0).getFileUrl()); } articleList.add(article1); } page.setList(articleList); return page; } /** * 查看编辑表单 */ @RequiresPermissions("article:article:view") @RequestMapping(value = "form") public String form(Article article, Model model) { model.addAttribute("article", article); return "modules/article/articleForm"; } /** * 保存i_article */ @RequiresPermissions("article:article:edit") @PostMapping(value = "save") @ResponseBody public String save(@Validated Article article) { if(StringUtils.isEmpty(article.getId())) { article.setArticleDate(new Date()); } articleService.save(article); return renderResult(Global.TRUE, text("保存i_article成功!")); } /** * 删除i_article */ @RequiresPermissions("article:article:edit") @RequestMapping(value = "delete") @ResponseBody public String delete(Article article) { articleService.delete(article); return renderResult(Global.TRUE, text("删除i_article成功!")); } }
/** * 赛事管理Controller * @author 小孟V:jishulearn * @version 2022-02-11 */ @Controller @RequestMapping(value = "${adminPath}/match/match") public class MatchController extends BaseController { @Autowired private MatchService matchService; @Autowired private GameTypeService gameTypeService; @Autowired private TeamService teamService; /** * 获取数据 */ @ModelAttribute public Match get(String id, boolean isNewRecord) { return matchService.get(id, isNewRecord); } /** * 查询列表 */ @RequiresPermissions("match:match:view") @RequestMapping(value = {"list", ""}) public String list(Match match, Model model) { model.addAttribute("match", match); return "modules/match/matchList"; } /** * 查询列表数据 */ @RequiresPermissions("match:match:view") @RequestMapping(value = "listData") @ResponseBody public Page<Match> listData(Match match, HttpServletRequest request, HttpServletResponse response) { match.setPage(new Page<>(request, response)); Page<Match> page = matchService.findPage(match); List<GameType> gameTypeList = gameTypeService.findList(new GameType()); List<Team> teamList = teamService.findList(new Team()); List<Match> matcheList = new ArrayList<>(); for (Match match1 : page.getList()) { for (GameType gameType : gameTypeList) { if (gameType.getId().equals(match1.getGameType())) { match1.setGameType(gameType.getName()); } } matcheList.add(match1); } List<Match> matcheList1 = new ArrayList<>(); for (Match match1 : matcheList) { for (Team team : teamList) { if (team.getId().equals(match1.getHomeField())) { match1.setHomeField(team.getName()); } if (team.getId().equals(match1.getGuestField())) { match1.setGuestField(team.getName()); } } matcheList1.add(match1); } page.setList(matcheList1); return page; } /** * 查看编辑表单 */ @RequiresPermissions("match:match:view") @RequestMapping(value = "form") public String form(Match match, Model model) { List<GameType> gameTypeList = gameTypeService.findList(new GameType()); List<Team> teamList = teamService.findList(new Team()); model.addAttribute("match", match); model.addAttribute("gameTypeList", gameTypeList); model.addAttribute("teamList", teamList); return "modules/match/matchForm"; } /** * 保存赛事管理 */ @RequiresPermissions("match:match:edit") @PostMapping(value = "save") @ResponseBody public String save(@Validated Match match) { matchService.save(match); return renderResult(Global.TRUE, text("保存赛事管理成功!")); } /** * 删除赛事管理 */ @RequiresPermissions("match:match:edit") @RequestMapping(value = "delete") @ResponseBody public String delete(Match match) { matchService.delete(match); return renderResult(Global.TRUE, text("删除赛事管理成功!")); }
四,数据库
SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for i_article -- ---------------------------- DROP TABLE IF EXISTS `i_article`; CREATE TABLE `i_article` ( `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `article_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `article_date` datetime(0) NULL DEFAULT NULL, `img_url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL, `videoUrl` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL, `article_content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `match_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of i_article -- ---------------------------- -- Table structure for i_comment -- ---------------------------- DROP TABLE IF EXISTS `i_comment`; CREATE TABLE `i_comment` ( `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `open_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `comment_str` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `com_time` datetime(0) NULL DEFAULT NULL, `article_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of i_comment -- ---------------------------- INSERT INTO `i_comment` VALUES ('1229650608296800256', 'oR9X80PNiduNcTgo7_AiwaGUO9G4', '123', '2020-02-18 14:15:25', '1227912896076685312'); -- ---------------------------- -- Table structure for i_game_type -- ---------------------------- DROP TABLE IF EXISTS `i_game_type`; CREATE TABLE `i_game_type` ( `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- ---------------------------- -- Table structure for i_match -- ---------------------------- DROP TABLE IF EXISTS `i_match`; CREATE TABLE `i_match` ( `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `home_field` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '主场', `guest_field` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客场', `home_score` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '比分', `guest_score` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `start_time` datetime(0) NULL DEFAULT NULL, `game_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属赛事', `game_type_a` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '赛事小分类', `is_start` int(0) NULL DEFAULT NULL, `highlight_name1` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `highlight_name2` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `highlight_name3` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `highlight_name4` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `highlight_u1` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL, `highlight_u2` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL, `highlight_u3` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL, `highlight_u4` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of i_match -- ---------------------------- -- Table structure for i_player -- ---------------------------- DROP TABLE IF EXISTS `i_player`; CREATE TABLE `i_player` ( `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `player_thumb` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `player_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `team` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `score` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `assist` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `backboard` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `steal` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `block` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of i_player -- ---------------------------- INSERT INTO `i_player` VALUES ('1228343814021251072', 'https://nba.sports.qq.com/media/img/players/head/260x190/203507.png', '托尼斯-阿德托昆博', '1228247876190314496', '30.0', '5.5', '13.5', '1.1', '1.1'); INSERT INTO `i_player` VALUES ('1228344572263333888', 'https://nba.sports.qq.com/media/img/players/head/260x190/202695.png', '莱昂纳德', '1227162154749386772', '27.2', '5.3', '7.4', '1.8', '0.7'); -- ---------------------------- -- Table structure for i_team -- ---------------------------- DROP TABLE IF EXISTS `i_team`; CREATE TABLE `i_team` ( `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `icon` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL, `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `win_num` int(0) NULL DEFAULT NULL, `lost_num` int(0) NULL DEFAULT NULL, `location` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ----------------------------
五,手把手教你学习
前面分享了很多的项目、教程、面试题。大家可以跟着学习。