国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

作者主頁:編程指南針

作者簡(jiǎn)介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專家 、CSDN內(nèi)容合伙人、掘金特邀作者、阿里云博客專家、51CTO特邀作者、多年架構(gòu)師設(shè)計(jì)經(jīng)驗(yàn)、騰訊課堂常駐講師

主要內(nèi)容:Java項(xiàng)目、Python項(xiàng)目、前端項(xiàng)目、人工智能與大數(shù)據(jù)、簡(jiǎn)歷模板、學(xué)習(xí)資料、面試題庫、技術(shù)互助

收藏點(diǎn)贊不迷路? 關(guān)注作者有好處

文末獲取源碼?

項(xiàng)目編號(hào):BS-XCX-021

一,環(huán)境介紹

語言環(huán)境:Java:? jdk1.8

數(shù)據(jù)庫:Mysql: mysql5.7

應(yīng)用服務(wù)器:Tomcat:? tomcat8.5.31

開發(fā)工具:IDEA或eclipse

前端開發(fā)技術(shù):Uniapp生成微信小程序+vue+nodejs

后臺(tái)開發(fā)技術(shù):springboot+mybatisplus

二,項(xiàng)目簡(jiǎn)介

2.1?需求分析

本課題主要是要實(shí)現(xiàn)一個(gè)基于微信小程序的比賽編排管理系統(tǒng),主要是為了方便于當(dāng)下各類小型比賽的賽制活動(dòng)安排,減少人力的投入,提升比賽管理系統(tǒng)效率。系統(tǒng)基于微信小程序開發(fā),后臺(tái)采用Java技術(shù)平臺(tái)來完成服務(wù)接口和業(yè)務(wù)邏輯的開發(fā)處理。主要實(shí)現(xiàn)在小程序端的比賽信息展示,比賽的編排結(jié)果展示,體育新的展示,對(duì)比賽的點(diǎn)贊、評(píng)論、收藏和在線報(bào)名操作,以及個(gè)人中心管理功能。后臺(tái)管理主要實(shí)現(xiàn)對(duì)于基本信息的管理,包含用戶管理、賽事管理、賽事編排管理、體育新聞管理等相關(guān)數(shù)據(jù)管理模塊。比賽管理的相關(guān)業(yè)務(wù)數(shù)據(jù)采用MySQL5.7來進(jìn)行管理,程序整設(shè)計(jì)采用三層架構(gòu),完成一個(gè)前后端分離的比賽編排管理系統(tǒng)。系統(tǒng)整體設(shè)計(jì)功能完整,結(jié)構(gòu)清晰,用戶體驗(yàn)效果較好。

在對(duì)小型比賽自動(dòng)編排系統(tǒng)進(jìn)行開發(fā)時(shí),首要任務(wù)就是對(duì)系統(tǒng)的需求進(jìn)行分析,包含功能性需求分析和非功能性需求分析。系統(tǒng)最終實(shí)現(xiàn)的目標(biāo)是,實(shí)現(xiàn)比賽賽事的信息化管理,通過計(jì)算機(jī)信息化來替代原來的人工操作,簡(jiǎn)化賽事管理和編排的工作量,提升工作效率。經(jīng)過對(duì)舉辦過賽事的人群進(jìn)行走訪了解和調(diào)查分析,得出本系統(tǒng)主要兩類用戶,一個(gè)是小程序端用戶,一類是后臺(tái)管理員用戶。

下面分別展示一下各個(gè)角色對(duì)應(yīng)的用例圖。

前端用戶的主要功能如圖1所示。

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

圖1 前端用例圖

后臺(tái)管理用戶主要的功能用例如圖2所示。

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

圖2 教師用例圖

系統(tǒng)管理員的主要功能如下圖3所示。

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

3 管理員用例圖

2.2?功能設(shè)計(jì)

微信小程序端的選手用戶的業(yè)務(wù)功能模塊根據(jù)以上的需求分析,主要包含以下幾個(gè)業(yè)務(wù)模塊,具體的功能展示如下圖4所示功能結(jié)構(gòu)圖。

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

圖4 選手功能模塊

(1)注冊(cè)登陸:小型比賽自動(dòng)編排系統(tǒng)中的選手用戶,需要注冊(cè)后才可以登陸系統(tǒng)進(jìn)行相關(guān)的業(yè)務(wù)操作。

(2)新聞瀏覽:選手用戶可以在線進(jìn)行新聞信息的瀏覽操作,并可以對(duì)新聞進(jìn)行點(diǎn)贊和評(píng)論操作。

(3)公告瀏覽:可以在微信小程序端查看系統(tǒng)發(fā)布的平臺(tái)公告信息。

(4)賽事瀏覽:可以查看系統(tǒng)管理員發(fā)布的比賽信息。

(5)賽事編排查看:可以查看平臺(tái)對(duì)于舉辦的賽事編排的情況。

(6)在線報(bào)名:可以實(shí)現(xiàn)用戶在線報(bào)名操作,用戶進(jìn)入賽事詳情中查看時(shí)可以點(diǎn)擊報(bào)名進(jìn)行在線報(bào)名操作。

(7)在線互動(dòng):可以在賽事詳情中進(jìn)行點(diǎn)贊、收藏和評(píng)論等互動(dòng)操作。

(8)個(gè)人中心:可以在個(gè)人中心處管理個(gè)人的信息、收藏的信息、個(gè)人報(bào)名的信息等。

管理員用戶登陸賽事管理系統(tǒng)的后臺(tái)主要進(jìn)行一些基礎(chǔ)數(shù)據(jù)的管理操作,包含用戶管理、賽事管理、編排管理、新聞管理等模塊,具體本用戶角色的的業(yè)務(wù)功能模塊如圖5所示。

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

圖5管理員功能模塊

(1)用戶管理:小型比賽自動(dòng)編排系統(tǒng)中的選手用戶,注冊(cè)后的信息可以在后臺(tái)由管理員進(jìn)行相應(yīng)的管理操作。

(2)管理員管理:可以在后臺(tái)管理管理員用戶信息。

(3)新聞管理:主要管理微信小程序端查看的體育新聞信息。

(4)新聞?lì)愋凸芾恚褐饕菫榉奖阌脩舴诸惒榭葱侣勗O(shè)置的分類信息。

(5)公告管理:系統(tǒng)的公告管理包含公告的增刪改查,數(shù)據(jù)在微信小程序端可以看到。

(6)賽事管理:主要管理系統(tǒng)中安排的比賽賽事情況信息。

(7)賽事編排管理:賽事的編排操作由管理員在后臺(tái)進(jìn)行實(shí)現(xiàn)。

(8)報(bào)名管理:選擇在前端進(jìn)行的報(bào)名信息,可由管理員在后臺(tái)進(jìn)行相應(yīng)的管理操作。

(9)比賽結(jié)果管理:主要對(duì)每場(chǎng)比賽的結(jié)果名次進(jìn)行數(shù)據(jù)處理操作。

(10)輪播圖管理:前端小程序展示的廣告輪播圖片,可以在后臺(tái)由管理員進(jìn)行管理操作。

2.3?數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)

根據(jù)以上的邏輯結(jié)構(gòu)的數(shù)據(jù)分析,可初步得到系統(tǒng)的基本數(shù)據(jù)架構(gòu),在和用戶進(jìn)行充分的溝通和修改后,最終確定了本系統(tǒng)中用的數(shù)據(jù)庫表結(jié)構(gòu),下面展示一下小型比賽自動(dòng)編排系統(tǒng)中具體的表結(jié)構(gòu)信息。

(1)用戶信息表:此表主要用來存儲(chǔ)系統(tǒng)中參與管理的用戶信息,包含管理員用戶、教師用戶、學(xué)生用戶,不同的用戶通過外鍵關(guān)聯(lián)的身份信息來表示不同的身份,具體的表結(jié)構(gòu)如下表1所示。

表1 用戶信息表(users)

名稱

類型

備注

user_id

mediumint(8)

用戶ID[0,8388607]用戶獲取其他與用戶相關(guān)的數(shù)據(jù)

state

smallint(1)

賬戶狀態(tài):[0,10](1可用|2異常|3已凍結(jié)|4已注銷)

user_group

varchar(32)

所在用戶組:[0,32767]決定用戶身份和權(quán)限

login_time

timestamp

上次登錄時(shí)間:

phone

varchar(11)

手機(jī)號(hào)碼:[0,11]用戶的手機(jī)號(hào)碼,用于找回密碼時(shí)或登錄時(shí)

phone_state

smallint(1)

手機(jī)認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)

username

varchar(16)

用戶名:[0,16]用戶登錄時(shí)所用的賬戶名稱

nickname

varchar(16)

昵稱:[0,16]

password

varchar(64)

密碼:[0,32]用戶登錄所需的密碼,由6-16位數(shù)字或英文組成

email

varchar(64)

郵箱:[0,64]用戶的郵箱,用于找回密碼時(shí)或登錄時(shí)

email_state

smallint(1)

郵箱認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)

avatar

varchar(255)

頭像地址:[0,255]

create_time

timestamp

創(chuàng)建時(shí)間:

(2)用戶身份信息表:此表主要用來存儲(chǔ)系統(tǒng)中不同用戶的角色身分信息,具體的表結(jié)構(gòu)如下表2所示。

表2 用戶信息表(users_group)

名稱

類型

備注

group_id

mediumint(8) unsigned

用戶組ID[0,8388607]

display

smallint(4) unsigned

顯示順序:[0,1000]

name

varchar(16)

名稱:[0,16]

description

varchar(255)

描述:[0,255]描述該用戶組的特點(diǎn)或權(quán)限范圍

source_table

varchar(255)

來源表:

source_field

varchar(255)

來源字段:

source_id

int(10) unsigned

來源ID

register

smallint(1) unsigned

注冊(cè)位置:

create_time

timestamp

創(chuàng)建時(shí)間:

update_time

timestamp

更新時(shí)間:

(3)賽事信息表:此表主要用來存儲(chǔ)系統(tǒng)中設(shè)計(jì)的比賽賽事信息,具體的表結(jié)構(gòu)如下表3所示。

表3 賽事信息表(event)

名稱

類型

備注

event_id

int(11)

比賽項(xiàng)目ID

event

varchar(64)

比賽項(xiàng)目

project_code

varchar(64)

項(xiàng)目代號(hào)

competition_format

varchar(64)

比賽賽制

event_location

varchar(64)

賽事地點(diǎn)

competition_schedule

date

比賽日程

event_cover

varchar(255)

賽事封面

event_details

text

賽事詳情

hits

int(11)

點(diǎn)擊數(shù)

praise_len

int(11)

點(diǎn)贊數(shù)

recommend

int(11)

智能推薦

create_time

datetime

創(chuàng)建時(shí)間

update_time

timestamp

更新時(shí)間

(4)選手報(bào)名信息表:此表主要用來存儲(chǔ)系統(tǒng)中選手報(bào)名比賽的信息,具體的表結(jié)構(gòu)如下表4所示。

表4 比賽報(bào)名信息表(contestant_registration)

名稱

類型

備注

contestant_registration_id

int(11)

選手報(bào)名ID

event

varchar(64)

比賽項(xiàng)目

project_code

varchar(64)

項(xiàng)目代號(hào)

competition_format

varchar(64)

比賽賽制

event_location

varchar(64)

賽事地點(diǎn)

competition_schedule

date

比賽日程

player_user

int(11)

選手用戶

player_name

varchar(64)

選手姓名

recommend

int(11)

智能推薦

create_time

datetime

創(chuàng)建時(shí)間

update_time

timestamp

更新時(shí)間

(5)賽事編排結(jié)果信息表:此表主要用來存儲(chǔ)系統(tǒng)中對(duì)比賽賽事的編排信息,具體的表結(jié)構(gòu)如下表5所示。

表5 比賽賽事編排信息表(arrange_results)

名稱

類型

默認(rèn)值

其他

備注

arrange_results_id

int(11)

<auto_increment>

編排結(jié)果ID

event

varchar(64)

<>

比賽項(xiàng)目

project_code

varchar(64)

<>

項(xiàng)目代號(hào)

competition_format

varchar(64)

<>

比賽賽制

player_user

int(11)

0

選手用戶

player_name

varchar(64)

<>

選手姓名

arrange_results

text

編排結(jié)果

recommend

int(11)

0

智能推薦

create_time

datetime

<INSERT-TimeStamp>

創(chuàng)建時(shí)間

update_time

timestamp

<INSERT-TimeStamp>

更新時(shí)間

(6)比賽結(jié)果信息表:此表主要用來存儲(chǔ)系統(tǒng)中各個(gè)場(chǎng)次的比賽結(jié)果信息,具體的表結(jié)構(gòu)如下表6所示。

表6 比賽信息表(competition_results)

名稱

類型

備注

competition_results_id

int(11)

比賽結(jié)果ID

event

varchar(64)

比賽項(xiàng)目

project_code

varchar(64)

項(xiàng)目代號(hào)

competition_format

varchar(64)

比賽賽制

player_user

int(11)

選手用戶

player_name

varchar(64)

選手姓名

ranking_of_contestants

varchar(64)

選手名次

number_of_victories

int(11)

勝利場(chǎng)數(shù)

number_of_failed_events

int(11)

失敗場(chǎng)數(shù)

recommend

int(11)

智能推薦

create_time

datetime

創(chuàng)建時(shí)間

update_time

timestamp

更新時(shí)間

(7)新聞?lì)愋托畔⒈恚捍吮碇饕脕泶鎯?chǔ)系統(tǒng)中存儲(chǔ)的新聞?lì)愋托畔ⅲ唧w的表結(jié)構(gòu)如下表7所示。

表7 新聞?lì)愋托畔⒈?article_type)

名稱

類型

備注

type_id

smallint(5) unsigned

分類ID[0,10000]

display

smallint(4) unsigned

顯示順序:[0,1000]決定分類顯示的先后順序

name

varchar(16)

分類名稱:[2,16]

father_id

smallint(5) unsigned

上級(jí)分類ID[0,32767]

description

varchar(255)

描述:[0,255]描述該分類的作用

icon

text

分類圖標(biāo):

url

varchar(255)

外鏈地址:[0,255]如果該分類是跳轉(zhuǎn)到其他網(wǎng)站的情況下,就在該URL上設(shè)置

create_time

timestamp

創(chuàng)建時(shí)間:

update_time

timestamp

更新時(shí)間:

(8)新聞信息表:此表主要用來存儲(chǔ)系統(tǒng)中添加的體育新聞相關(guān)信息,具體的表結(jié)構(gòu)如下表8所示。

表8 新聞信息表(article)

名稱

類型

備注

article_id

mediumint(8)

文章id[0,8388607]

title

varchar(125)

標(biāo)題:[0,125]用于文章和htmltitle標(biāo)簽中

type

varchar(64)

文章分類:[0,1000]用來搜索指定類型的文章

hits

int(10)

點(diǎn)擊數(shù):[0,1000000000]訪問這篇文章的人次

praise_len

int(11)

點(diǎn)贊數(shù)

create_time

timestamp

創(chuàng)建時(shí)間:

update_time

timestamp

更新時(shí)間:

source

varchar(255)

來源:[0,255]文章的出處

url

varchar(255)

來源地址:[0,255]用于跳轉(zhuǎn)到發(fā)布該文章的網(wǎng)站

tag

varchar(255)

標(biāo)簽:[0,255]用于標(biāo)注文章所屬相關(guān)內(nèi)容,多個(gè)標(biāo)簽用空格隔開

content

longtext

正文:文章的主體內(nèi)容

img

varchar(255)

封面圖

description

text

文章描述

(9)評(píng)論信息表:此表主要用來存儲(chǔ)系統(tǒng)中用戶對(duì)賽事的評(píng)論基本信息,具體的表結(jié)構(gòu)如下表9所示。

表9 評(píng)論信息表(comment)

名稱

類型

備注

comment_id

int(11)

評(píng)論ID

user_id

int(11)

評(píng)論人ID

reply_to_id

int(11)

回復(fù)評(píng)論ID:空為0

content

longtext

內(nèi)容:

nickname

varchar(255)

昵稱:

avatar

varchar(255)

頭像地址:[0,255]

create_time

timestamp

創(chuàng)建時(shí)間:

update_time

timestamp

更新時(shí)間:

source_table

varchar(255)

來源表:

source_field

varchar(255)

來源字段:

source_id

int(10) unsigned

來源ID

(10)收藏信息表:此表主要用來存儲(chǔ)系統(tǒng)中用戶對(duì)賽事的收藏基本信息,具體的表結(jié)構(gòu)如下表10所示。

表10 收藏信息表(collect)

名稱

類型

備注

collect_id

int(10) unsigned

收藏ID

user_id

int(10) unsigned

收藏人ID

source_table

varchar(255)

來源表:

source_field

varchar(255)

來源字段:

source_id

int(10) unsigned

來源ID

title

varchar(255)

標(biāo)題:

img

varchar(255)

封面:

create_time

timestamp

創(chuàng)建時(shí)間:

update_time

timestamp

更新時(shí)間:

三,系統(tǒng)展示

用戶注冊(cè)登錄

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?

比賽賽事瀏覽

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?賽事編排

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?

比賽結(jié)果

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?賽事資訊

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?后臺(tái)管理功能模塊

賽事管理

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?用戶管理

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?比賽編排管理

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?選手報(bào)名管理

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?

四,核心代碼展示

package com.project.demo.controller.base;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.project.demo.service.base.BaseService;
import com.project.demo.utils.IdWorker;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 */
@Slf4j
public class BaseController<E, S extends BaseService<E>> {

    @Setter
    protected S service;

    @PostMapping("/add")
    @Transactional
    public Map<String, Object> add(HttpServletRequest request) throws IOException {
        service.insert(service.readBody(request.getReader()));
        return success(1);
    }

    @Transactional
    public Map<String, Object> addMap(Map<String,Object> map){
        service.insert(map);
        return success(1);
    }

    @PostMapping("/set")
	@Transactional
    public Map<String, Object> set(HttpServletRequest request) throws IOException {
        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
        return success(1);
    }


    @RequestMapping(value = "/del")
    @Transactional
    public Map<String, Object> del(HttpServletRequest request) {
        service.delete(service.readQuery(request), service.readConfig(request));
        return success(1);
    }

    @RequestMapping("/get_obj")
    public Map<String, Object> obj(HttpServletRequest request) {
        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
        if (resultList.size() > 0) {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("obj",resultList.get(0));
            return success(jsonObject);
        } else {
            return success(null);
        }
    }


    @RequestMapping("/get_list")
    public Map<String, Object> getList(HttpServletRequest request) {
        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
        return success(map);
    }

    @RequestMapping("/list_group")
    public Map<String, Object> listGroup(HttpServletRequest request) {
        Map<String,Object> map = service.selectToList(service.readQuery(request), service.readConfig(request));
        Map<String,Object> result = new HashMap<>();
        result.put("result",map);
        return result;
    }

    @RequestMapping("/bar_group")
    public Map<String, Object> barGroup(HttpServletRequest request) {
        Map<String, Object> map = service.selectBarGroup(service.readQuery(request), service.readConfig(request));
        return success(map);
    }

    @RequestMapping(value = {"/count_group", "/count"})
    public Map<String, Object> count(HttpServletRequest request) {
        Integer value= service.selectSqlToInteger(service.groupCount(service.readQuery(request), service.readConfig(request)));
        return success(value);
    }

    @RequestMapping(value = {"/sum_group", "/sum"})
    public Map<String, Object> sum(HttpServletRequest request) {
        Integer value = service.selectSqlToInteger(service.sum(service.readQuery(request), service.readConfig(request)));
        return success(value);
    }

    @RequestMapping(value = {"/avg_group", "/avg"})
    public Map<String, Object> avg(HttpServletRequest request) {
        Integer value = service.selectSqlToInteger(service.avg(service.readQuery(request), service.readConfig(request)));
        return success(value);
    }

//    @RequestMapping(value = {"/count_group", "/count"})
//    public Map<String, Object> count(HttpServletRequest request) {
//        Query count = service.count(service.readQuery(request), service.readConfig(request));
//        return success(count.getResultList());
//    }
//
//    @RequestMapping(value = {"/sum_group", "/sum"})
//    public Map<String, Object> sum(HttpServletRequest request) {
//        Query count = service.sum(service.readQuery(request), service.readConfig(request));
//        return success(count.getResultList());
//    }
//
//    @RequestMapping(value = {"/avg_group", "/avg"})
//	public Map<String, Object> avg(HttpServletRequest request) {
//        Query count = service.avg(service.readQuery(request), service.readConfig(request));
//        return success(count.getResultList());
//    }


    @PostMapping("/upload")
    public Map<String, Object> upload(@RequestParam(value = "file",required=false) MultipartFile file,HttpServletRequest request) {
        log.info("進(jìn)入方法");
        if (file.isEmpty()) {
            return error(30000, "沒有選擇文件");
        }
        try {
            //判斷有沒路徑,沒有則創(chuàng)建
            String filePath = request.getSession().getServletContext().getRealPath("\\") +"\\upload\\";
//            String filePath = System.getProperty("user.dir") + "\\target\\classes\\static\\upload\\";
            File targetDir = new File(filePath);
            if (!targetDir.exists() && !targetDir.isDirectory()) {
                if (targetDir.mkdirs()) {
                    log.info("創(chuàng)建目錄成功");
                } else {
                    log.error("創(chuàng)建目錄失敗");
                }
            }
//            String path = ResourceUtils.getURL("classpath:").getPath() + "static/upload/";
//            String filePath = path.replace('/', '\\').substring(1, path.length());
            String fileName = file.getOriginalFilename();
            int lastIndexOf = fileName.lastIndexOf(".");
            //獲取文件的后綴名 .jpg
            String suffix = fileName.substring(lastIndexOf);
            fileName = IdWorker.getId()+suffix;
            File dest = new File(filePath + fileName);
            log.info("文件路徑:{}", dest.getPath());
            log.info("文件名:{}", dest.getName());
            file.transferTo(dest);
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("url", "/api/upload/" + fileName);
            return success(jsonObject);
        } catch (IOException e) {
            log.info("上傳失?。簕}", e.getMessage());
        }
        return error(30000, "上傳失敗");
    }

//    @PostMapping("/import_db")
//    public Map<String, Object> importDb(@RequestParam("file") MultipartFile file) throws IOException {
//        service.importDb(file);
//        return success(1);
//    }
//
//    @RequestMapping("/export_db")
//    public void exportDb(HttpServletRequest request, HttpServletResponse response) throws IOException {
//        HSSFWorkbook sheets = service.exportDb(service.readQuery(request), service.readConfig(request));
//        response.setContentType("application/octet-stream");
//        response.setHeader("Content-disposition", "attachment;filename=employee.xls");
//        response.flushBuffer();
//        sheets.write(response.getOutputStream());
//        sheets.close();
//    }

    public Map<String, Object> success(Object o) {
        Map<String, Object> map = new HashMap<>();
        if (o == null) {
            map.put("result", null);
            return map;
        }
        if (o instanceof List) {
            if (((List) o).size() == 1) {
               o =  ((List) o).get(0);
                map.put("result", o);
            }else {
                String jsonString = JSONObject.toJSONString(o);
                JSONArray objects = service.covertArray(JSONObject.parseArray(jsonString));
                map.put("result", objects);
            }
        } else if (o instanceof Integer || o instanceof String) {
            map.put("result", o);
        } else {
            String jsonString = JSONObject.toJSONString(o);
            JSONObject jsonObject = JSONObject.parseObject(jsonString);
            JSONObject j = service.covertObject(jsonObject);
            map.put("result", j);
        }
        return map;
    }

    public Map<String, Object> error(Integer code, String message) {
        Map<String, Object> map = new HashMap<>();
        map.put("error", new HashMap<String, Object>(4) {{
            put("code", code);
            put("message", message);
        }});
        return map;
    }
}

五,相關(guān)作品展示

基于Java開發(fā)、Python開發(fā)、PHP開發(fā)、C#開發(fā)等相關(guān)語言開發(fā)的實(shí)戰(zhàn)項(xiàng)目

基于Nodejs、Vue等前端技術(shù)開發(fā)的前端實(shí)戰(zhàn)項(xiàng)目

基于微信小程序和安卓APP應(yīng)用開發(fā)的相關(guān)作品

基于51單片機(jī)等嵌入式物聯(lián)網(wǎng)開發(fā)應(yīng)用

基于各類算法實(shí)現(xiàn)的AI智能應(yīng)用

基于大數(shù)據(jù)實(shí)現(xiàn)的各類數(shù)據(jù)管理和推薦系統(tǒng)

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)

?uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)文章來源地址http://www.zghlxwxcb.cn/news/detail-513009.html

到了這里,關(guān)于uniapp小程序開發(fā)|基于微信小程序?qū)崿F(xiàn)小型比賽自動(dòng)編排系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于微信小程序的智慧農(nóng)業(yè)小程序設(shè)計(jì)與實(shí)現(xiàn)

    基于微信小程序的智慧農(nóng)業(yè)小程序設(shè)計(jì)與實(shí)現(xiàn)

    ??博主介紹:?全網(wǎng)粉絲10W+,CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/知乎/華為云/阿里云等平臺(tái)優(yōu)質(zhì)作者。 ???? 精彩專欄 推薦訂閱???? 計(jì)算機(jī)畢業(yè)設(shè)計(jì)精品項(xiàng)目案例(持續(xù)更新) ?? 文末獲取源碼+數(shù)據(jù)庫+文檔 ?? 感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項(xiàng)

    2024年02月20日
    瀏覽(20)
  • 基于微信小程序的校園導(dǎo)航小程序設(shè)計(jì)與實(shí)現(xiàn)

    基于微信小程序的校園導(dǎo)航小程序設(shè)計(jì)與實(shí)現(xiàn)

    ??博主介紹:?全網(wǎng)粉絲10W+,CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/知乎/華為云/阿里云等平臺(tái)優(yōu)質(zhì)作者。 ???? 精彩專欄 推薦訂閱???? 計(jì)算機(jī)畢業(yè)設(shè)計(jì)精品項(xiàng)目案例(持續(xù)更新) ?? 文末獲取源碼+數(shù)據(jù)庫+文檔 ?? 感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項(xiàng)

    2024年02月19日
    瀏覽(22)
  • 基于微信小程序的社區(qū)團(tuán)購(gòu)小程序設(shè)計(jì)與實(shí)現(xiàn)

    基于微信小程序的社區(qū)團(tuán)購(gòu)小程序設(shè)計(jì)與實(shí)現(xiàn)

    ??博主介紹:?全網(wǎng)粉絲10W+,CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云等平臺(tái)優(yōu)質(zhì)作者。 ???? 精彩專欄 推薦訂閱???? 計(jì)算機(jī)畢設(shè)精品項(xiàng)目案例(持續(xù)更新) ?? 文末獲取源碼+數(shù)據(jù)庫+文檔 ?? 感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項(xiàng)目以及論文

    2024年02月03日
    瀏覽(22)
  • 基于微信小程序的客運(yùn)售票小程序設(shè)計(jì)與實(shí)現(xiàn)

    基于微信小程序的客運(yùn)售票小程序設(shè)計(jì)與實(shí)現(xiàn)

    ??博主介紹:?全網(wǎng)粉絲10W+,CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云等平臺(tái)優(yōu)質(zhì)作者。 ???? 精彩專欄 推薦訂閱???? 計(jì)算機(jī)畢業(yè)設(shè)計(jì)精品項(xiàng)目案例(持續(xù)更新) ?? 文末獲取源碼+數(shù)據(jù)庫+文檔 ?? 感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項(xiàng)目以及

    2024年02月04日
    瀏覽(17)
  • 基于微信小程序的跑步運(yùn)動(dòng)計(jì)劃小程序設(shè)計(jì)與實(shí)現(xiàn)

    基于微信小程序的跑步運(yùn)動(dòng)計(jì)劃小程序設(shè)計(jì)與實(shí)現(xiàn)

    ??博主介紹:?全網(wǎng)粉絲10W+,CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云等平臺(tái)優(yōu)質(zhì)作者。 ???? 精彩專欄 推薦訂閱???? 計(jì)算機(jī)畢業(yè)設(shè)計(jì)精品項(xiàng)目案例(持續(xù)更新) ?? 文末獲取源碼+數(shù)據(jù)庫+文檔 ?? 感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項(xiàng)目以及

    2024年01月23日
    瀏覽(38)
  • 基于微信小程序的校園生活服務(wù)小程序設(shè)計(jì)與實(shí)現(xiàn)

    基于微信小程序的校園生活服務(wù)小程序設(shè)計(jì)與實(shí)現(xiàn)

    ??博主介紹:?全網(wǎng)粉絲10W+,CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云等平臺(tái)優(yōu)質(zhì)作者。 ???? 精彩專欄 推薦訂閱???? 計(jì)算機(jī)畢業(yè)設(shè)計(jì)精品項(xiàng)目案例-200套 ?? 文末獲取源碼+數(shù)據(jù)庫+文檔 ?? 感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項(xiàng)目以及論文編

    2024年02月20日
    瀏覽(27)
  • uniapp開發(fā)中基于vue的混入(mixin) 實(shí)現(xiàn)微信小程序全局【發(fā)送給朋友】、【分享到朋友圈】、【復(fù)制鏈接】

    uniapp開發(fā)中基于vue的混入(mixin) 實(shí)現(xiàn)微信小程序全局【發(fā)送給朋友】、【分享到朋友圈】、【復(fù)制鏈接】

    一、在開發(fā)微信小程序的時(shí)候,發(fā)現(xiàn)【發(fā)送給朋友】、【分享到朋友圈】、【復(fù)制鏈接】功能,灰色不可用。 很常見的功能,但是這幾個(gè)功能,并不是你項(xiàng)目建起來了就有的。 1.【發(fā)送給朋友】使用 onShareAppMessage 這個(gè)方法 如果你的小程序,發(fā)現(xiàn)他的【轉(zhuǎn)發(fā)給朋友】的按鈕時(shí)

    2024年01月17日
    瀏覽(111)
  • 基于uniapp開發(fā) 微信小程序登陸頁面一

    基于uniapp開發(fā) 微信小程序登陸頁面一

    ?此微信登陸頁面是參考uniapp開發(fā)文檔?uniapp一鍵登錄和button組件中的@getphonenumber方法 代碼展示 ?成品展示 ? ? ?

    2024年02月12日
    瀏覽(94)
  • 基于微信小程序平臺(tái)實(shí)現(xiàn)二手物品交易小程序設(shè)計(jì)【附項(xiàng)目源碼】

    基于微信小程序平臺(tái)實(shí)現(xiàn)二手物品交易小程序設(shè)計(jì)【附項(xiàng)目源碼】

    基于微信小程序平臺(tái)實(shí)現(xiàn)二手物品交易小程序設(shè)計(jì)演示 隨著二手物品交易市場(chǎng)的不斷擴(kuò)大,越來越多的人開始尋找更加便捷、高效的交易方式?;谖⑿判〕绦蚱脚_(tái)實(shí)現(xiàn)的二手物品交易系統(tǒng)便應(yīng)運(yùn)而生,為人們提供了一個(gè)方便快捷的交易平臺(tái)。 平臺(tái)概述 該交易系統(tǒng)基于微信

    2024年02月09日
    瀏覽(29)
  • 【微信小程序】基于Java+uniapp框架開發(fā)的全開源微信小程序商城系統(tǒng)

    【微信小程序】基于Java+uniapp框架開發(fā)的全開源微信小程序商城系統(tǒng)

    基于Java+uniapp框架開發(fā)的全開源微信小程序商城系統(tǒng),前端采用目前主流的uniapp框架開發(fā),后端采用Java語言開發(fā),前后端代碼全部開源,減少重復(fù)造輪子,支持小程序商城秒殺、優(yōu)惠券、多商戶、直播賣貨、分銷等功能,幫助商家快速搭建一個(gè)屬于自己的微信小程序商城。

    2024年02月16日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包