@ -1,8 +0,0 @@
|
||||
# 默认忽略的文件
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# 数据源本地存储已忽略文件
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
# 基于编辑器的 HTTP 客户端请求
|
||||
/httpRequests/
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/project.iml" filepath="$PROJECT_DIR$/.idea/project.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 49 KiB |
@ -1,3 +0,0 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,135 +0,0 @@
|
||||
// const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
realName: '',
|
||||
number: '',
|
||||
isDisabled: true //表示页面加载完成时disabled为禁用状态
|
||||
},
|
||||
|
||||
onLoad: function(options) {
|
||||
let number = options.number
|
||||
let realName = options.realName
|
||||
this.setData({
|
||||
number,
|
||||
realName
|
||||
})
|
||||
},
|
||||
|
||||
save: function() {
|
||||
let realName = this.data.realName;
|
||||
let number=this.data.number
|
||||
let skey = wx.getStorageSync('skey')
|
||||
wx.request({
|
||||
url: 'http://192.168.58.210:81/save',
|
||||
method: 'GET',
|
||||
|
||||
data: {
|
||||
skey:skey,
|
||||
number:number,
|
||||
realName:realName
|
||||
},
|
||||
success: function(res :any) {
|
||||
if (res.data.error == true) {
|
||||
wx.showToast({
|
||||
title: res.data.message,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
} else {
|
||||
wx.showToast({
|
||||
title: res.data.message,
|
||||
icon: 'success',
|
||||
duration: 5000
|
||||
})
|
||||
wx.removeStorageSync('info')
|
||||
wx.navigateBack({
|
||||
delta: 2
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
inputRealName: function(e :any) {
|
||||
var realName = e.detail.value
|
||||
this.setData({
|
||||
realName
|
||||
})
|
||||
console.log(realName)
|
||||
if (realName !== '') {
|
||||
this.setData({
|
||||
isDisabled: false
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
isDisabled: true
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
inputNumber: function(e :any) {
|
||||
var number = e.detail.value
|
||||
this.setData({
|
||||
number
|
||||
})
|
||||
// console.log()
|
||||
if (number !== '') {
|
||||
this.setData({
|
||||
isDisabled: false
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
isDisabled: true
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
onReady: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function() {
|
||||
|
||||
}
|
||||
})
|
||||
|
@ -1,15 +0,0 @@
|
||||
<!--pages/bd/bd.wxml-->
|
||||
<view>
|
||||
<view class="btn-area" id="buttonContainer">
|
||||
<view class='binding-item'>
|
||||
<view>姓名</view>
|
||||
<input type="text" placeholder="请输入您的真实姓名" value="{{realName}}" bindinput="inputRealName"></input>
|
||||
</view>
|
||||
<view class='binding-item'>
|
||||
<view>学号</view>
|
||||
<input type="number" placeholder="请输入您的学号" value="{{number}}" bindinput="inputNumber"></input>
|
||||
</view>
|
||||
|
||||
<button type="submit" bindtap="save" class="save" disabled='{{isDisabled}}'>提交</button>
|
||||
</view>
|
||||
</view>
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
// index.ts
|
||||
// 获取应用实例
|
||||
const app = getApp<IAppOption>()
|
||||
Page({
|
||||
data: {
|
||||
taskList: [],
|
||||
motto: 'Hello World',
|
||||
},
|
||||
onShow() {
|
||||
// let list = [
|
||||
// { id: 1, title: "任务一", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" },
|
||||
// { id: 2, title: "任务二", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" },
|
||||
// { id: 3, title: "任务三", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" }
|
||||
// ]
|
||||
this.setData({
|
||||
taskList: wx.getStorageSync("taskList") || []
|
||||
});
|
||||
},
|
||||
onLoad() {
|
||||
this.setData({
|
||||
taskList: wx.getStorageSync("taskList") || []
|
||||
});
|
||||
},
|
||||
})
|
@ -1,33 +0,0 @@
|
||||
<view class="wrip-view">
|
||||
<!-- 轮播区域 -->
|
||||
<view>
|
||||
<view class="swip">
|
||||
<text class="swip-text">公告栏</text>
|
||||
<swiper indicator-dots="{{true}}" autoplay="{{true}}" interval="{{2000}}">
|
||||
<block wx:for="{{3}}" wx:key="*this">
|
||||
<swiper-item>
|
||||
<view class="swiper-item">
|
||||
<image src="/static/index/spwr01.jpg"></image>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<!-- 任务列表 -->
|
||||
<view class="task" wx:if="{{taskList.length!=0}}">
|
||||
<block wx:for="{{taskList}}" wx:key="id">
|
||||
<view class="task-item">
|
||||
<view class="task-item-title"> {{item.title}}: </view>
|
||||
<view class="task-item-text">
|
||||
<text> 开始时间:{{item.startTime}} </text>
|
||||
<text> 截止时间:{{item.endTime}} </text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="error" wx:else>
|
||||
暂无数据
|
||||
</view>
|
||||
</view>
|
@ -1,43 +0,0 @@
|
||||
.wrip-view {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.swip {
|
||||
background: rgb(243, 243, 243);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.swip-text {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
color: rgb(95, 95, 95);
|
||||
}
|
||||
|
||||
.task {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.task-item {
|
||||
padding: 8px 4px 10px 4px;
|
||||
margin: 10px 0;
|
||||
border-radius: 10px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.task-item-title {
|
||||
font-family: "楷体";
|
||||
font-size: 18px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.task-item-text {
|
||||
font-size: 10px;
|
||||
color: rgb(146, 146, 146);
|
||||
}
|
||||
.error{
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,135 +0,0 @@
|
||||
// const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
realName: '',
|
||||
number: '',
|
||||
isDisabled: true //表示页面加载完成时disabled为禁用状态
|
||||
},
|
||||
|
||||
onLoad: function(options) {
|
||||
let number = options.number
|
||||
let realName = options.realName
|
||||
this.setData({
|
||||
number,
|
||||
realName
|
||||
})
|
||||
},
|
||||
|
||||
save: function() {
|
||||
let realName = this.data.realName;
|
||||
let number=this.data.number
|
||||
let skey = wx.getStorageSync('skey')
|
||||
wx.request({
|
||||
url: 'http://192.168.58.210:81/save',
|
||||
method: 'GET',
|
||||
|
||||
data: {
|
||||
skey:skey,
|
||||
number:number,
|
||||
realName:realName
|
||||
},
|
||||
success: function(res :any) {
|
||||
if (res.data.error == true) {
|
||||
wx.showToast({
|
||||
title: res.data.message,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
} else {
|
||||
wx.showToast({
|
||||
title: res.data.message,
|
||||
icon: 'success',
|
||||
duration: 5000
|
||||
})
|
||||
wx.removeStorageSync('info')
|
||||
wx.navigateBack({
|
||||
delta: 2
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
inputRealName: function(e :any) {
|
||||
var realName = e.detail.value
|
||||
this.setData({
|
||||
realName
|
||||
})
|
||||
console.log(realName)
|
||||
if (realName !== '') {
|
||||
this.setData({
|
||||
isDisabled: false
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
isDisabled: true
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
inputNumber: function(e :any) {
|
||||
var number = e.detail.value
|
||||
this.setData({
|
||||
number
|
||||
})
|
||||
// console.log()
|
||||
if (number !== '') {
|
||||
this.setData({
|
||||
isDisabled: false
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
isDisabled: true
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
onReady: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function() {
|
||||
|
||||
}
|
||||
})
|
||||
|
@ -1,15 +0,0 @@
|
||||
<!--pages/bd/bd.wxml-->
|
||||
<view>
|
||||
<view class="btn-area" id="buttonContainer">
|
||||
<view class='binding-item'>
|
||||
<view>姓名</view>
|
||||
<input type="text" placeholder="请输入您的真实姓名" value="{{realName}}" bindinput="inputRealName"></input>
|
||||
</view>
|
||||
<view class='binding-item'>
|
||||
<view>学号</view>
|
||||
<input type="number" placeholder="请输入您的学号" value="{{number}}" bindinput="inputNumber"></input>
|
||||
</view>
|
||||
|
||||
<button type="submit" bindtap="save" class="save" disabled='{{isDisabled}}'>提交</button>
|
||||
</view>
|
||||
</view>
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
// index.ts
|
||||
// 获取应用实例
|
||||
const app = getApp<IAppOption>()
|
||||
Page({
|
||||
data: {
|
||||
taskList: [],
|
||||
motto: 'Hello World',
|
||||
},
|
||||
onShow() {
|
||||
// let list = [
|
||||
// { id: 1, title: "任务一", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" },
|
||||
// { id: 2, title: "任务二", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" },
|
||||
// { id: 3, title: "任务三", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" }
|
||||
// ]
|
||||
this.setData({
|
||||
taskList: wx.getStorageSync("taskList") || []
|
||||
});
|
||||
},
|
||||
onLoad() {
|
||||
this.setData({
|
||||
taskList: wx.getStorageSync("taskList") || []
|
||||
});
|
||||
},
|
||||
})
|
@ -1,33 +0,0 @@
|
||||
<view class="wrip-view">
|
||||
<!-- 轮播区域 -->
|
||||
<view>
|
||||
<view class="swip">
|
||||
<text class="swip-text">公告栏</text>
|
||||
<swiper indicator-dots="{{true}}" autoplay="{{true}}" interval="{{2000}}">
|
||||
<block wx:for="{{3}}" wx:key="*this">
|
||||
<swiper-item>
|
||||
<view class="swiper-item">
|
||||
<image src="/static/index/spwr01.jpg"></image>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<!-- 任务列表 -->
|
||||
<view class="task" wx:if="{{taskList.length!=0}}">
|
||||
<block wx:for="{{taskList}}" wx:key="id">
|
||||
<view class="task-item">
|
||||
<view class="task-item-title"> {{item.title}}: </view>
|
||||
<view class="task-item-text">
|
||||
<text> 开始时间:{{item.startTime}} </text>
|
||||
<text> 截止时间:{{item.endTime}} </text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="error" wx:else>
|
||||
暂无数据
|
||||
</view>
|
||||
</view>
|
@ -1,43 +0,0 @@
|
||||
.wrip-view {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.swip {
|
||||
background: rgb(243, 243, 243);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.swip-text {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
color: rgb(95, 95, 95);
|
||||
}
|
||||
|
||||
.task {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.task-item {
|
||||
padding: 8px 4px 10px 4px;
|
||||
margin: 10px 0;
|
||||
border-radius: 10px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.task-item-title {
|
||||
font-family: "楷体";
|
||||
font-size: 18px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.task-item-text {
|
||||
font-size: 10px;
|
||||
color: rgb(146, 146, 146);
|
||||
}
|
||||
.error{
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"navigationBarTitleText": "任务信息列表"
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
/* pages/list/list.wxss */
|
||||
.container{
|
||||
height: 100%;
|
||||
display: table;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
padding-top: 10rpx;
|
||||
padding-bottom: 10rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.widget{
|
||||
position: relative;
|
||||
margin-top: 5rpx;
|
||||
margin-bottom: 5rpx;
|
||||
padding-top: 10rpx;
|
||||
padding-bottom: 10rpx;
|
||||
padding-left: 40rpx;
|
||||
padding-right: 40rpx;
|
||||
border: #ddd 1px solid;
|
||||
}
|
||||
|
||||
.column{
|
||||
width: 4rem;
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
.link-column{
|
||||
width: 6rem;
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
.link{
|
||||
color: blue;
|
||||
display: inline-table;
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
{
|
||||
}
|
@ -1,99 +0,0 @@
|
||||
// logs.ts
|
||||
// const util = require('../../utils/util.js')
|
||||
import { formatTime } from '../../utils/util'
|
||||
|
||||
Page({
|
||||
data: {
|
||||
logs: [],
|
||||
taskList: [],
|
||||
taskFlag: false,
|
||||
releaseFlag: false,
|
||||
from: {
|
||||
taskName: "",
|
||||
end: ""
|
||||
}
|
||||
},
|
||||
inputFrom(event: any) {
|
||||
if (event.currentTarget.dataset.gater == "from.end") {
|
||||
let num = event.detail.value;
|
||||
if (num.length == 4) num += "-";
|
||||
if (num.length == 7) num += "-";
|
||||
this.setData({ [`from.end`]: num })
|
||||
} else if(event.currentTarget.dataset.gater == "from.taskName"){
|
||||
this.setData({
|
||||
[`${event.currentTarget.dataset.gater}`]: event.detail.value
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
[`${event.currentTarget.dataset.gater}`]: event.detail.value
|
||||
})
|
||||
}
|
||||
},
|
||||
addSelect() {
|
||||
const { taskName, end } = this.data.from;
|
||||
if (end.length != 10) return;
|
||||
if (!taskName || !end) {
|
||||
wx.showToast({
|
||||
title: "请填写任务名称和任务进度",
|
||||
icon: 'error',
|
||||
});
|
||||
return;
|
||||
}
|
||||
const list = wx.getStorageSync("taskList") || [];
|
||||
const index = list.findIndex((item: any) => item.title == taskName);
|
||||
if (index >= 0) {
|
||||
wx.showToast({
|
||||
title: "任务名称重复",
|
||||
icon: 'error',
|
||||
});
|
||||
return;
|
||||
}
|
||||
const data = {
|
||||
id: list.length + 1,
|
||||
title: taskName,
|
||||
startTime: formatTime(new Date), endTime: end, end: '40',
|
||||
}
|
||||
list.push(data)
|
||||
wx.setStorageSync("taskList", list);
|
||||
wx.showToast({
|
||||
title: "发布成功",
|
||||
icon: 'success',
|
||||
});
|
||||
this.setData({
|
||||
taskList: wx.getStorageSync("taskList") || []
|
||||
});
|
||||
},
|
||||
atReleaseFlag() {
|
||||
const user = wx.getStorageSync("userInfo");
|
||||
console.log(user)
|
||||
if (user!=null) {
|
||||
wx.showToast({
|
||||
title: "请先登录",
|
||||
icon: 'error',
|
||||
});
|
||||
return;
|
||||
}
|
||||
this.setData({ releaseFlag: !this.data.releaseFlag })
|
||||
},
|
||||
atTaskFlag() {
|
||||
this.setData({ taskFlag: !this.data.taskFlag })
|
||||
},
|
||||
onShow() {
|
||||
this.setData({
|
||||
taskList: wx.getStorageSync("taskList") || []
|
||||
});
|
||||
},
|
||||
onLoad() {
|
||||
this.setData({
|
||||
taskList: wx.getStorageSync("taskList") || []
|
||||
});
|
||||
// this.setData({
|
||||
// logs: (wx.getStorageSync('logs') || []).map((log: string) => {
|
||||
// return {
|
||||
// date: formatTime(new Date(log)),
|
||||
// timeStamp: log
|
||||
// }
|
||||
// }),
|
||||
// })
|
||||
},
|
||||
})
|
@ -1,50 +0,0 @@
|
||||
<view class="wrip-view">
|
||||
<view>
|
||||
<view catchtap="atReleaseFlag">
|
||||
<navigator url="/pages/list/list" hover-class="navigator-hover" class="title">发布任务</navigator>
|
||||
|
||||
</view>
|
||||
<!-- <view class="title" catchtap="atReleaseFlag">
|
||||
发布任务
|
||||
</view>
|
||||
<view wx:if="{{releaseFlag}}" class="release-view">
|
||||
<label>任务名称
|
||||
<input type="text" data-gater="from.taskName" value="{{from.taskName}}" bindinput="inputFrom" placeholder="输入任务名称" />
|
||||
</label>
|
||||
<label>任务结束时间
|
||||
<input type="number" maxlength="20" data-gater="from.end" value="{{from.end}}" bindinput="inputFrom" placeholder="输入任务结束时间" />
|
||||
</label>
|
||||
<label>任务类型
|
||||
<input type="file" name="upload" maxlength="10" value="{{from.type}}" bindinput="inputFrom" placeholder="输入任务类型" />
|
||||
|
||||
</label>
|
||||
<label>任务详情
|
||||
<input type="text" data-gater="from.taskdetail" value="{{from.taskdetail}}" bindinput="inputFrom" placeholder="输入任务详情" />
|
||||
</label>
|
||||
<button catchtap="addSelect">发布</button>
|
||||
</view> -->
|
||||
|
||||
</view>
|
||||
<view>
|
||||
<view class="title">发布接龙</view>
|
||||
</view>
|
||||
<view>
|
||||
<view class="title" catchtap="atTaskFlag">查看任务进度</view>
|
||||
<view class="task" wx:if="{{taskFlag}}">
|
||||
<view wx:if="{{taskList.length!=0}}">
|
||||
<block wx:for="{{taskList}}" wx:key="id">
|
||||
<view class="task-item">
|
||||
<view class="task-item-title"> {{item.title}}: </view>
|
||||
<view class="task-item-text">
|
||||
<text>完成进度:{{item.end}} </text>
|
||||
</view>
|
||||
<view class="task-item-backg" style="width: {{item.end+'%'}};"></view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view wx:else>
|
||||
暂无任务
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
@ -1,78 +0,0 @@
|
||||
.wrip-view {
|
||||
height: 100%;
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.task {
|
||||
padding: 8px;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.task-item {
|
||||
padding: 4px 0;
|
||||
margin: 10px 0;
|
||||
border-radius: 10px;
|
||||
position: relative;
|
||||
z-index: 100;
|
||||
background-color: #fff;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.task-item-backg {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
background: #77bef0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
border-radius: 10px 0 0 10px;
|
||||
}
|
||||
|
||||
.task-item-title {
|
||||
font-family: "楷体";
|
||||
font-size: 18px;
|
||||
margin-bottom: 6px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.task-item-text {
|
||||
text-align: right;
|
||||
font-family: "楷体";
|
||||
font-size: 14px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
.title {
|
||||
background: #fff;
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
padding: 4px;
|
||||
margin: 10px 0;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.title::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 100vw;
|
||||
height: 4px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.release-view{
|
||||
padding: 8px;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.release-view input{
|
||||
border: 1px #ccc solid;
|
||||
border-radius: 4px;
|
||||
margin: 6px 0;
|
||||
padding: 4px;
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
{
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
<view class="wrip">
|
||||
<view class="my-head">
|
||||
<view class="my-head-box">
|
||||
<view class="head-box-child">
|
||||
<view wx:if="{{!userInfo.avatarUrl}}" catchtap="atLogin">
|
||||
登录
|
||||
</view>
|
||||
<view wx:else>
|
||||
<image src="{{userInfo.avatarUrl}}"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<view class="my-box">
|
||||
<view class="my-top">
|
||||
<navigator url="/pages/bd/bd" hover-class="navigator-hover">已绑定,点击可重新绑定</navigator>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
@ -1,58 +0,0 @@
|
||||
.wrip {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.log-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 40rpx;
|
||||
}
|
||||
|
||||
.log-item {
|
||||
margin: 10rpx;
|
||||
}
|
||||
|
||||
.my-head {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
|
||||
.my-head-box {
|
||||
height: 160px;
|
||||
background: white;
|
||||
border-radius: 5px;
|
||||
position: relative;
|
||||
background-image: linear-gradient(to right top, #d16ba5, #c777b9, #ba83ca, #aa8fd8, #9a9ae1, #8aa7ec, #79b3f4, #69bff8, #52cffe, #41dfff, #46eefa, #5ffbf1);
|
||||
}
|
||||
|
||||
.my-box {
|
||||
height: 140px;
|
||||
background-image: linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12);
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.head-box-child {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
border: 1px #ccc solid;
|
||||
color: rgb(255, 255, 255);
|
||||
line-height: 80px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.head-box-child image {
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
.my-top {
|
||||
padding: 4px;
|
||||
color: white;
|
||||
box-shadow: rgba(116, 116, 116, 0.521) 0 0 10px ;
|
||||
background: rgba(204, 204, 204, 0.384);
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"navigationBarTitleText": "任务信息表单"
|
||||
}
|
@ -1,129 +0,0 @@
|
||||
// logs.ts
|
||||
// const util = require('../../utils/util.js')
|
||||
import { formatTime } from '../../utils/util'
|
||||
|
||||
Page({
|
||||
data: {
|
||||
logs: [],
|
||||
taskList: [],
|
||||
taskFlag: false,
|
||||
releaseFlag: false,
|
||||
id:undefined,
|
||||
name:'',
|
||||
property:'',
|
||||
stuid:'',
|
||||
deadtime:'',
|
||||
addUrl:'http://localhost:8080/task/addTask',
|
||||
updateUrl:'http://localhost:8080/task/taskInfo',
|
||||
from: {
|
||||
taskName: "",
|
||||
end: ""
|
||||
}
|
||||
},
|
||||
inputFrom(event:any) {
|
||||
if (event.currentTarget.dataset.gater == "from.end") {
|
||||
let num = event.detail.value;
|
||||
if (num.length == 4) num += "-";
|
||||
if (num.length == 7) num += "-";
|
||||
this.setData({ [`from.end`]: num })
|
||||
} else if(event.currentTarget.dataset.gater == "from.taskName"){
|
||||
this.setData({
|
||||
[`${event.currentTarget.dataset.gater}`]: event.detail.value
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
[`${event.currentTarget.dataset.gater}`]: event.detail.value
|
||||
})
|
||||
}
|
||||
},
|
||||
addSelect() {
|
||||
const { taskName, end } = this.data.from;
|
||||
if (end.length != 10) return;
|
||||
if (!taskName || !end) {
|
||||
wx.showToast({
|
||||
title: "请填写任务名称和任务进度",
|
||||
icon: 'error',
|
||||
});
|
||||
return;
|
||||
}
|
||||
const list = wx.getStorageSync("taskList") || [];
|
||||
const index = list.findIndex((item:any) => item.title == taskName);
|
||||
if (index >= 0) {
|
||||
wx.showToast({
|
||||
title: "任务名称重复",
|
||||
icon: 'error',
|
||||
});
|
||||
return;
|
||||
}
|
||||
const data = {
|
||||
id: list.length + 1,
|
||||
title: taskName,
|
||||
startTime: formatTime(new Date), endTime: end, end: '40',
|
||||
}
|
||||
list.push(data)
|
||||
wx.setStorageSync("taskList", list);
|
||||
wx.showToast({
|
||||
title: "发布成功",
|
||||
icon: 'success',
|
||||
});
|
||||
this.setData({
|
||||
taskList: wx.getStorageSync("taskList") || []
|
||||
});
|
||||
},
|
||||
formSubmit:function(e:any){
|
||||
// var that = this;
|
||||
//获取表单值
|
||||
var formData = e.detail.value;
|
||||
var url = this.data.addUrl;
|
||||
if(this.data.id != undefined){
|
||||
//如果是编辑按钮跳转
|
||||
formData.id = this.data.id;
|
||||
url = this.data.updateUrl;
|
||||
}
|
||||
console.log(JSON.stringify(formData));
|
||||
wx.request({
|
||||
url: url,
|
||||
//将其转换成JSON
|
||||
data: JSON.stringify(formData),
|
||||
method: 'POST',
|
||||
success: function(res:any) {
|
||||
var result = res.data.success;
|
||||
var toastText = '请求成功';
|
||||
if(!result){
|
||||
toastText = '请求失败'+res.data.msg;
|
||||
}
|
||||
wx.showToast({
|
||||
title: toastText,
|
||||
duration: 2000,
|
||||
})
|
||||
if(result){
|
||||
wx.redirectTo({
|
||||
//操作结束后跳转回列表页
|
||||
url: '../list/list',
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
atTaskFlag() {
|
||||
this.setData({ taskFlag: !this.data.taskFlag })
|
||||
},
|
||||
onShow() {
|
||||
this.setData({
|
||||
taskList: wx.getStorageSync("taskList") || []
|
||||
});
|
||||
},
|
||||
onLoad() {
|
||||
this.setData({
|
||||
taskList: wx.getStorageSync("taskList") || []
|
||||
});
|
||||
// this.setData({
|
||||
// logs: (wx.getStorageSync('logs') || []).map((log: string) => {
|
||||
// return {
|
||||
// date: formatTime(new Date(log)),
|
||||
// timeStamp: log
|
||||
// }
|
||||
// }),
|
||||
// })
|
||||
},
|
||||
})
|
@ -1,19 +0,0 @@
|
||||
<view class="release-view">
|
||||
<form bindsubmit='formSubmit' bindreset='formReset'>
|
||||
<label>任务名称
|
||||
<input type="text" data-gater="from.taskName" value="{{from.taskName}}" bindinput="inputFrom" placeholder="输入任务名称" />
|
||||
</label>
|
||||
<label>任务结束时间
|
||||
<input type="number" maxlength="20" data-gater="from.end" value="{{from.end}}" bindinput="inputFrom" placeholder="输入任务结束时间" />
|
||||
</label>
|
||||
<label>任务详情
|
||||
<input type="text" data-gater="from.taskdetail" value="{{from.taskdetail}}" bindinput="inputFrom" placeholder="输入任务详情" />
|
||||
</label>
|
||||
|
||||
|
||||
<view class='row'>
|
||||
<button type='primary' form-type='submit' catchtap="addSelect">提交</button>
|
||||
<button type='primary' form-type='reset'>清空</button>
|
||||
</view>
|
||||
</form>
|
||||
</view>
|
@ -1,69 +0,0 @@
|
||||
/* pages/opration/opration.wxss */
|
||||
.row input {
|
||||
font-size: 0.7rem;
|
||||
flex-grow: 3;
|
||||
border: ipx solid #09c;
|
||||
display: inline-block;
|
||||
border-radius: 0.3rem;
|
||||
box-shadow: 0 0 0.15rem #aaa;
|
||||
padding: 0.3rem;
|
||||
}
|
||||
|
||||
.row button {
|
||||
padding: 0.3rem;
|
||||
margin: 3rem 1rem;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 1rem;
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.5rem;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 0.8rem;
|
||||
}
|
||||
|
||||
.row text {
|
||||
flex-grow: 1.5;
|
||||
text-align: right;
|
||||
}
|
||||
.form-box picker{
|
||||
margin: 30rpx 30rpx 0 0;
|
||||
color: rgb(153, 153, 153);
|
||||
}
|
||||
|
||||
.title {
|
||||
background: #fff;
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
padding: 4px;
|
||||
margin: 10px 0;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.title::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 100vw;
|
||||
height: 4px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.release-view{
|
||||
padding: 8px;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.release-view input{
|
||||
border: 1px #ccc solid;
|
||||
border-radius: 4px;
|
||||
margin: 6px 0;
|
||||
padding: 4px;
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
// pages/uploadfile/uploadfile.ts
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
@ -1,2 +0,0 @@
|
||||
<!--pages/uploadfile/uploadfile.wxml-->
|
||||
<text>文件提交</text>
|
@ -1 +0,0 @@
|
||||
/* pages/uploadfile/uploadfile.wxss */
|
@ -1,123 +0,0 @@
|
||||
/*
|
||||
Navicat Premium Data Transfer
|
||||
|
||||
Source Server : 1
|
||||
Source Server Type : MySQL
|
||||
Source Server Version : 50719
|
||||
Source Host : localhost:3306
|
||||
Source Schema : wxlogin
|
||||
|
||||
Target Server Type : MySQL
|
||||
Target Server Version : 50719
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 15/11/2022 19:25:02
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for dragon
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `dragon`;
|
||||
CREATE TABLE `dragon` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||||
`property` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '内容',
|
||||
`stuid` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`deadtime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0',
|
||||
`status` int(11) NULL DEFAULT 0,
|
||||
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间戳',
|
||||
`last_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE INDEX `name`(`name`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for dragonson
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `dragonson`;
|
||||
CREATE TABLE `dragonson` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`dragon_id` int(11) NOT NULL,
|
||||
`studentnumber` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`finishtime` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`text` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `f_key sutdentnumber`(`studentnumber`) USING BTREE,
|
||||
INDEX `f_keytaski_id`(`dragon_id`) USING BTREE,
|
||||
CONSTRAINT `dragonson_ibfk_1` FOREIGN KEY (`studentnumber`) REFERENCES `user` (`student_number`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `dragonson_ibfk_2` FOREIGN KEY (`dragon_id`) REFERENCES `dragon` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for rcode
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `rcode`;
|
||||
CREATE TABLE `rcode` (
|
||||
`skey` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
|
||||
`code` varchar(5) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`skey`) USING BTREE,
|
||||
UNIQUE INDEX `rcode_code_uindex`(`code`) USING BTREE,
|
||||
UNIQUE INDEX `rcode_skey_uindex`(`skey`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for task
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `task`;
|
||||
CREATE TABLE `task` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||||
`property` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '内容',
|
||||
`stuid` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`deadtime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0',
|
||||
`status` int(11) NULL DEFAULT 0,
|
||||
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间戳',
|
||||
`last_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE INDEX `name`(`name`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for taskson
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `taskson`;
|
||||
CREATE TABLE `taskson` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`dragon_id` int(11) NOT NULL,
|
||||
`studentnumber` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`finishtime` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`filepath` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `f_key sutdentnumber`(`studentnumber`) USING BTREE,
|
||||
INDEX `f_keytaski_id`(`dragon_id`) USING BTREE,
|
||||
CONSTRAINT `f_key sutdentnumber` FOREIGN KEY (`studentnumber`) REFERENCES `user` (`student_number`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `f_keytaski_id` FOREIGN KEY (`dragon_id`) REFERENCES `task` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for user
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `user`;
|
||||
CREATE TABLE `user` (
|
||||
`open_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'open_id',
|
||||
`skey` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'skey',
|
||||
`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`last_visit_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后登录时间',
|
||||
`session_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'session_key',
|
||||
`city` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '市',
|
||||
`province` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '省',
|
||||
`country` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '国',
|
||||
`avatar_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',
|
||||
`gender` tinyint(11) NULL DEFAULT NULL COMMENT '性别',
|
||||
`nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '网名',
|
||||
`student_number` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学号',
|
||||
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
|
||||
`power` int(1) NULL DEFAULT 0 COMMENT '管理员权限',
|
||||
PRIMARY KEY (`open_id`) USING BTREE,
|
||||
INDEX `Student_Number`(`student_number`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '微信用户信息' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
@ -1,31 +0,0 @@
|
||||
HELP.md
|
||||
target/
|
||||
!.mvn/wrapper/maven-wrapper.jar
|
||||
!**/src/main/**
|
||||
!**/src/test/**
|
||||
|
||||
### STS ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
build/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
@ -1,310 +0,0 @@
|
||||
#!/bin/sh
|
||||
# ----------------------------------------------------------------------------
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Maven Start Up Batch script
|
||||
#
|
||||
# Required ENV vars:
|
||||
# ------------------
|
||||
# JAVA_HOME - location of a JDK home dir
|
||||
#
|
||||
# Optional ENV vars
|
||||
# -----------------
|
||||
# M2_HOME - location of maven2's installed home dir
|
||||
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
|
||||
# e.g. to debug Maven itself, use
|
||||
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
|
||||
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
if [ -z "$MAVEN_SKIP_RC" ] ; then
|
||||
|
||||
if [ -f /etc/mavenrc ] ; then
|
||||
. /etc/mavenrc
|
||||
fi
|
||||
|
||||
if [ -f "$HOME/.mavenrc" ] ; then
|
||||
. "$HOME/.mavenrc"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# OS specific support. $var _must_ be set to either true or false.
|
||||
cygwin=false;
|
||||
darwin=false;
|
||||
mingw=false
|
||||
case "`uname`" in
|
||||
CYGWIN*) cygwin=true ;;
|
||||
MINGW*) mingw=true;;
|
||||
Darwin*) darwin=true
|
||||
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
|
||||
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
if [ -x "/usr/libexec/java_home" ]; then
|
||||
export JAVA_HOME="`/usr/libexec/java_home`"
|
||||
else
|
||||
export JAVA_HOME="/Library/Java/Home"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
if [ -r /etc/gentoo-release ] ; then
|
||||
JAVA_HOME=`java-config --jre-home`
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$M2_HOME" ] ; then
|
||||
## resolve links - $0 may be a link to maven's home
|
||||
PRG="$0"
|
||||
|
||||
# need this for relative symlinks
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG="`dirname "$PRG"`/$link"
|
||||
fi
|
||||
done
|
||||
|
||||
saveddir=`pwd`
|
||||
|
||||
M2_HOME=`dirname "$PRG"`/..
|
||||
|
||||
# make it fully qualified
|
||||
M2_HOME=`cd "$M2_HOME" && pwd`
|
||||
|
||||
cd "$saveddir"
|
||||
# echo Using m2 at $M2_HOME
|
||||
fi
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||
if $cygwin ; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME=`cygpath --unix "$M2_HOME"`
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
[ -n "$CLASSPATH" ] &&
|
||||
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
||||
fi
|
||||
|
||||
# For Mingw, ensure paths are in UNIX format before anything is touched
|
||||
if $mingw ; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME="`(cd "$M2_HOME"; pwd)`"
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
|
||||
fi
|
||||
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
javaExecutable="`which javac`"
|
||||
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
|
||||
# readlink(1) is not available as standard on Solaris 10.
|
||||
readLink=`which readlink`
|
||||
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
|
||||
if $darwin ; then
|
||||
javaHome="`dirname \"$javaExecutable\"`"
|
||||
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
|
||||
else
|
||||
javaExecutable="`readlink -f \"$javaExecutable\"`"
|
||||
fi
|
||||
javaHome="`dirname \"$javaExecutable\"`"
|
||||
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
|
||||
JAVA_HOME="$javaHome"
|
||||
export JAVA_HOME
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$JAVACMD" ] ; then
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
else
|
||||
JAVACMD="`which java`"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
echo "Error: JAVA_HOME is not defined correctly." >&2
|
||||
echo " We cannot execute $JAVACMD" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
echo "Warning: JAVA_HOME environment variable is not set."
|
||||
fi
|
||||
|
||||
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
|
||||
|
||||
# traverses directory structure from process work directory to filesystem root
|
||||
# first directory with .mvn subdirectory is considered project base directory
|
||||
find_maven_basedir() {
|
||||
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
echo "Path not specified to find_maven_basedir"
|
||||
return 1
|
||||
fi
|
||||
|
||||
basedir="$1"
|
||||
wdir="$1"
|
||||
while [ "$wdir" != '/' ] ; do
|
||||
if [ -d "$wdir"/.mvn ] ; then
|
||||
basedir=$wdir
|
||||
break
|
||||
fi
|
||||
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
|
||||
if [ -d "${wdir}" ]; then
|
||||
wdir=`cd "$wdir/.."; pwd`
|
||||
fi
|
||||
# end of workaround
|
||||
done
|
||||
echo "${basedir}"
|
||||
}
|
||||
|
||||
# concatenates all lines of a file
|
||||
concat_lines() {
|
||||
if [ -f "$1" ]; then
|
||||
echo "$(tr -s '\n' ' ' < "$1")"
|
||||
fi
|
||||
}
|
||||
|
||||
BASE_DIR=`find_maven_basedir "$(pwd)"`
|
||||
if [ -z "$BASE_DIR" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
##########################################################################################
|
||||
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
|
||||
# This allows using the maven wrapper in projects that prohibit checking in binary data.
|
||||
##########################################################################################
|
||||
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found .mvn/wrapper/maven-wrapper.jar"
|
||||
fi
|
||||
else
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
|
||||
fi
|
||||
if [ -n "$MVNW_REPOURL" ]; then
|
||||
jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
|
||||
else
|
||||
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
|
||||
fi
|
||||
while IFS="=" read key value; do
|
||||
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
|
||||
esac
|
||||
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Downloading from: $jarUrl"
|
||||
fi
|
||||
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
|
||||
if $cygwin; then
|
||||
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
|
||||
fi
|
||||
|
||||
if command -v wget > /dev/null; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found wget ... using wget"
|
||||
fi
|
||||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
|
||||
wget "$jarUrl" -O "$wrapperJarPath"
|
||||
else
|
||||
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
|
||||
fi
|
||||
elif command -v curl > /dev/null; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found curl ... using curl"
|
||||
fi
|
||||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
|
||||
curl -o "$wrapperJarPath" "$jarUrl" -f
|
||||
else
|
||||
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
|
||||
fi
|
||||
|
||||
else
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Falling back to using Java to download"
|
||||
fi
|
||||
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
|
||||
# For Cygwin, switch paths to Windows format before running javac
|
||||
if $cygwin; then
|
||||
javaClass=`cygpath --path --windows "$javaClass"`
|
||||
fi
|
||||
if [ -e "$javaClass" ]; then
|
||||
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo " - Compiling MavenWrapperDownloader.java ..."
|
||||
fi
|
||||
# Compiling the Java class
|
||||
("$JAVA_HOME/bin/javac" "$javaClass")
|
||||
fi
|
||||
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
|
||||
# Running the downloader
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo " - Running MavenWrapperDownloader.java ..."
|
||||
fi
|
||||
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
##########################################################################################
|
||||
# End of extension
|
||||
##########################################################################################
|
||||
|
||||
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo $MAVEN_PROJECTBASEDIR
|
||||
fi
|
||||
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME=`cygpath --path --windows "$M2_HOME"`
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
|
||||
[ -n "$CLASSPATH" ] &&
|
||||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
||||
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
|
||||
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
|
||||
fi
|
||||
|
||||
# Provide a "standardized" way to retrieve the CLI args that will
|
||||
# work with both Windows and non-Windows executions.
|
||||
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
|
||||
export MAVEN_CMD_LINE_ARGS
|
||||
|
||||
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
|
||||
|
||||
exec "$JAVACMD" \
|
||||
$MAVEN_OPTS \
|
||||
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
|
||||
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
|
||||
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
|
@ -1,182 +0,0 @@
|
||||
@REM ----------------------------------------------------------------------------
|
||||
@REM Licensed to the Apache Software Foundation (ASF) under one
|
||||
@REM or more contributor license agreements. See the NOTICE file
|
||||
@REM distributed with this work for additional information
|
||||
@REM regarding copyright ownership. The ASF licenses this file
|
||||
@REM to you under the Apache License, Version 2.0 (the
|
||||
@REM "License"); you may not use this file except in compliance
|
||||
@REM with the License. You may obtain a copy of the License at
|
||||
@REM
|
||||
@REM https://www.apache.org/licenses/LICENSE-2.0
|
||||
@REM
|
||||
@REM Unless required by applicable law or agreed to in writing,
|
||||
@REM software distributed under the License is distributed on an
|
||||
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
@REM KIND, either express or implied. See the License for the
|
||||
@REM specific language governing permissions and limitations
|
||||
@REM under the License.
|
||||
@REM ----------------------------------------------------------------------------
|
||||
|
||||
@REM ----------------------------------------------------------------------------
|
||||
@REM Maven Start Up Batch script
|
||||
@REM
|
||||
@REM Required ENV vars:
|
||||
@REM JAVA_HOME - location of a JDK home dir
|
||||
@REM
|
||||
@REM Optional ENV vars
|
||||
@REM M2_HOME - location of maven2's installed home dir
|
||||
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
|
||||
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
|
||||
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
|
||||
@REM e.g. to debug Maven itself, use
|
||||
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
|
||||
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
|
||||
@REM ----------------------------------------------------------------------------
|
||||
|
||||
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
|
||||
@echo off
|
||||
@REM set title of command window
|
||||
title %0
|
||||
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
|
||||
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
|
||||
|
||||
@REM set %HOME% to equivalent of $HOME
|
||||
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
|
||||
|
||||
@REM Execute a user defined script before this one
|
||||
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
|
||||
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
|
||||
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
|
||||
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
|
||||
:skipRcPre
|
||||
|
||||
@setlocal
|
||||
|
||||
set ERROR_CODE=0
|
||||
|
||||
@REM To isolate internal variables from possible post scripts, we use another setlocal
|
||||
@setlocal
|
||||
|
||||
@REM ==== START VALIDATION ====
|
||||
if not "%JAVA_HOME%" == "" goto OkJHome
|
||||
|
||||
echo.
|
||||
echo Error: JAVA_HOME not found in your environment. >&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the >&2
|
||||
echo location of your Java installation. >&2
|
||||
echo.
|
||||
goto error
|
||||
|
||||
:OkJHome
|
||||
if exist "%JAVA_HOME%\bin\java.exe" goto init
|
||||
|
||||
echo.
|
||||
echo Error: JAVA_HOME is set to an invalid directory. >&2
|
||||
echo JAVA_HOME = "%JAVA_HOME%" >&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the >&2
|
||||
echo location of your Java installation. >&2
|
||||
echo.
|
||||
goto error
|
||||
|
||||
@REM ==== END VALIDATION ====
|
||||
|
||||
:init
|
||||
|
||||
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
|
||||
@REM Fallback to current working directory if not found.
|
||||
|
||||
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
|
||||
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
|
||||
|
||||
set EXEC_DIR=%CD%
|
||||
set WDIR=%EXEC_DIR%
|
||||
:findBaseDir
|
||||
IF EXIST "%WDIR%"\.mvn goto baseDirFound
|
||||
cd ..
|
||||
IF "%WDIR%"=="%CD%" goto baseDirNotFound
|
||||
set WDIR=%CD%
|
||||
goto findBaseDir
|
||||
|
||||
:baseDirFound
|
||||
set MAVEN_PROJECTBASEDIR=%WDIR%
|
||||
cd "%EXEC_DIR%"
|
||||
goto endDetectBaseDir
|
||||
|
||||
:baseDirNotFound
|
||||
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
|
||||
cd "%EXEC_DIR%"
|
||||
|
||||
:endDetectBaseDir
|
||||
|
||||
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
|
||||
|
||||
@setlocal EnableExtensions EnableDelayedExpansion
|
||||
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
|
||||
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
|
||||
|
||||
:endReadAdditionalConfig
|
||||
|
||||
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
|
||||
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
|
||||
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
|
||||
|
||||
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
|
||||
|
||||
FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
|
||||
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
|
||||
)
|
||||
|
||||
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
|
||||
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
|
||||
if exist %WRAPPER_JAR% (
|
||||
if "%MVNW_VERBOSE%" == "true" (
|
||||
echo Found %WRAPPER_JAR%
|
||||
)
|
||||
) else (
|
||||
if not "%MVNW_REPOURL%" == "" (
|
||||
SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
|
||||
)
|
||||
if "%MVNW_VERBOSE%" == "true" (
|
||||
echo Couldn't find %WRAPPER_JAR%, downloading it ...
|
||||
echo Downloading from: %DOWNLOAD_URL%
|
||||
)
|
||||
|
||||
powershell -Command "&{"^
|
||||
"$webclient = new-object System.Net.WebClient;"^
|
||||
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
|
||||
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
|
||||
"}"^
|
||||
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
|
||||
"}"
|
||||
if "%MVNW_VERBOSE%" == "true" (
|
||||
echo Finished downloading %WRAPPER_JAR%
|
||||
)
|
||||
)
|
||||
@REM End of extension
|
||||
|
||||
@REM Provide a "standardized" way to retrieve the CLI args that will
|
||||
@REM work with both Windows and non-Windows executions.
|
||||
set MAVEN_CMD_LINE_ARGS=%*
|
||||
|
||||
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
|
||||
if ERRORLEVEL 1 goto error
|
||||
goto end
|
||||
|
||||
:error
|
||||
set ERROR_CODE=1
|
||||
|
||||
:end
|
||||
@endlocal & set ERROR_CODE=%ERROR_CODE%
|
||||
|
||||
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
|
||||
@REM check for post script, once with legacy .bat ending and once with .cmd ending
|
||||
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
|
||||
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
|
||||
:skipRcPost
|
||||
|
||||
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
|
||||
if "%MAVEN_BATCH_PAUSE%" == "on" pause
|
||||
|
||||
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
|
||||
|
||||
exit /B %ERROR_CODE%
|
@ -1,143 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.huang</groupId>
|
||||
<artifactId>VX</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>VX</name>
|
||||
<description>VX</description>
|
||||
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
|
||||
<freemark.version>2.3.30</freemark.version>
|
||||
<mybatis-plus-generator.version>3.5.1</mybatis-plus-generator.version>
|
||||
<hutool.version>5.4.7</hutool.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- swagger-->
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger2</artifactId>
|
||||
<version>2.9.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger-ui</artifactId>
|
||||
<version>2.9.2</version>
|
||||
</dependency>
|
||||
<!-- MP-->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||
<version>3.4.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-generator</artifactId>
|
||||
<version>${mybatis-plus-generator.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.freemarker</groupId>
|
||||
<artifactId>freemarker</artifactId>
|
||||
<version>${freemark.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid</artifactId>
|
||||
<version>1.1.21</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
<!-- lombok-->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<!-- hutool-all -->
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>${hutool.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<encoding>UTF-8</encoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>2.3.7.RELEASE</version>
|
||||
<configuration>
|
||||
<mainClass>com.huang.mp.VXApplication</mainClass>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>repackage</id>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
@ -1,16 +0,0 @@
|
||||
package com.huang.mp;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@SpringBootApplication
|
||||
@MapperScan("com.huang.mp.mapper")
|
||||
public class VXApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(VXApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package com.huang.mp.config;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||
import com.huang.mp.entity.Area;
|
||||
import org.apache.ibatis.reflection.MetaObject;
|
||||
import org.springframework.stereotype.Component;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
|
||||
@Component
|
||||
public class BaseEntityMetaObjectHandler implements MetaObjectHandler {
|
||||
|
||||
|
||||
@Override
|
||||
public void insertFill(MetaObject metaObject) {
|
||||
// 创建时间自动填充
|
||||
if (metaObject.hasSetter(Area.CREATE_TIME) && ObjectUtil.isNull(getFieldValByName(Area.CREATE_TIME, metaObject))) {
|
||||
this.strictInsertFill(metaObject, Area.CREATE_TIME, LocalDateTime.class, LocalDateTime.now());
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void updateFill(MetaObject metaObject) {
|
||||
// 修改时间自动填充
|
||||
if (metaObject.hasSetter(Area.MODIFIED_TIME) && ObjectUtil.isNull(getFieldValByName(Area.MODIFIED_TIME, metaObject))) {
|
||||
this.strictUpdateFill(metaObject, Area.MODIFIED_TIME, LocalDateTime.class, LocalDateTime.now());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
package com.huang.mp.config;
|
||||
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
|
||||
@Configuration
|
||||
public class DateFormatConfig {
|
||||
|
||||
@Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
|
||||
private String pattern;
|
||||
|
||||
@Bean
|
||||
public LocalDateTimeSerializer localDateTimeDeserializer() {
|
||||
return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
|
||||
return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());
|
||||
}
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
package com.huang.mp.config;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.DbType;
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* MybatisPlus 配置类
|
||||
*
|
||||
* @author huang
|
||||
* @since 2022-03-18
|
||||
*/
|
||||
|
||||
@Configuration
|
||||
public class MybatisPlusConfig {
|
||||
/**
|
||||
* 分页插件
|
||||
*/
|
||||
@Bean
|
||||
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
|
||||
return interceptor;
|
||||
}
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
package com.huang.mp.config;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
|
||||
/**
|
||||
* Web 配置类
|
||||
*
|
||||
* @author huang
|
||||
* @since 2022-03-18
|
||||
*/
|
||||
@Configuration
|
||||
public class WebConfig implements WebMvcConfigurer {
|
||||
@Override
|
||||
public void addViewControllers(ViewControllerRegistry registry) {
|
||||
registry.addViewController("/").setViewName("login/login");
|
||||
}
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
package com.huang.mp.controller;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.huang.mp.entity.Area;
|
||||
import com.huang.mp.service.impl.AreaServiceImpl;
|
||||
import com.huang.mp.util.FormatResponseUtil;
|
||||
import com.huang.mp.util.ResponseResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
import javax.xml.crypto.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author huang
|
||||
* @since 2022-03-27
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/area")
|
||||
public class AreaController {
|
||||
|
||||
@Autowired(required = false)
|
||||
AreaServiceImpl areaService;
|
||||
|
||||
@GetMapping("/areaList")
|
||||
public ResponseResult queryAll(){
|
||||
return FormatResponseUtil.formatResponse(areaService.queryAll());
|
||||
}
|
||||
|
||||
@PostMapping("/addArea")
|
||||
public ResponseResult addArea(@RequestBody String name,
|
||||
String priority){
|
||||
Area area = new Area();
|
||||
area.setName(name);
|
||||
area.setPriority(priority);
|
||||
return FormatResponseUtil.formatResponse(areaService.addArea(area));
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")//这里执行的是物理删除
|
||||
public ResponseResult delAreaById(Integer id){
|
||||
return FormatResponseUtil.formatResponse(areaService.delAreaById(id));
|
||||
}
|
||||
|
||||
@GetMapping("/one")
|
||||
public ResponseResult queryById(int id){
|
||||
return FormatResponseUtil.formatResponse(areaService.queryAreaById(id));
|
||||
}
|
||||
|
||||
@PostMapping("/areaInfo")
|
||||
public ResponseResult updateArea(@RequestBody Area area){
|
||||
return FormatResponseUtil.formatResponse(areaService.updateById(area));
|
||||
}
|
||||
|
||||
}
|
@ -1,97 +0,0 @@
|
||||
package com.huang.mp.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author huang
|
||||
* @since 2022-03-27
|
||||
*/
|
||||
public class Area implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public static final String CREATE_TIME = "createTime";
|
||||
public static final String MODIFIED_TIME = "lastEditTime";
|
||||
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 权值
|
||||
*/
|
||||
private String priority;
|
||||
|
||||
/**
|
||||
* 创建时间戳
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 最后修改时间戳
|
||||
*/
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime lastEditTime;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
public String getPriority() {
|
||||
return priority;
|
||||
}
|
||||
|
||||
public void setPriority(String priority) {
|
||||
this.priority = priority;
|
||||
}
|
||||
public LocalDateTime getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
public void setCreateTime(LocalDateTime createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
public LocalDateTime getLastEditTime() {
|
||||
return lastEditTime;
|
||||
}
|
||||
|
||||
public void setLastEditTime(LocalDateTime lastEditTime) {
|
||||
this.lastEditTime = lastEditTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Area{" +
|
||||
"id=" + id +
|
||||
", name=" + name +
|
||||
", priority=" + priority +
|
||||
", createTime=" + createTime +
|
||||
", lastEditTime=" + lastEditTime +
|
||||
"}";
|
||||
}
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
package com.huang.mp.mapper;
|
||||
|
||||
import com.huang.mp.entity.Area;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author huang
|
||||
* @since 2022-03-27
|
||||
*/
|
||||
public interface AreaMapper extends BaseMapper<Area> {
|
||||
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.huang.mp.mapper.AreaMapper">
|
||||
|
||||
</mapper>
|
@ -1,42 +0,0 @@
|
||||
package com.huang.mp.service;
|
||||
|
||||
import com.huang.mp.entity.Area;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author huang
|
||||
* @since 2022-03-27
|
||||
*/
|
||||
public interface IAreaService extends IService<Area> {
|
||||
|
||||
/**
|
||||
* 查询所有Area
|
||||
*/
|
||||
List<Area> queryAll();
|
||||
|
||||
/**
|
||||
* 通过Id查询Area
|
||||
*/
|
||||
Area queryAreaById(int id);
|
||||
|
||||
// /**
|
||||
// * 通过传入的area更新Area
|
||||
// */
|
||||
// Area updateArea(Area area);
|
||||
|
||||
/**
|
||||
* 通过Id删除Area
|
||||
*/
|
||||
boolean delAreaById(int id);
|
||||
|
||||
/**
|
||||
* 创建Area
|
||||
*/
|
||||
Area addArea(Area area);
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
package com.huang.mp.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.huang.mp.entity.Area;
|
||||
import com.huang.mp.mapper.AreaMapper;
|
||||
import com.huang.mp.service.IAreaService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author huang
|
||||
* @since 2022-03-27
|
||||
*/
|
||||
@Service
|
||||
public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements IAreaService {
|
||||
|
||||
@Autowired(required = false)
|
||||
AreaMapper areaMapper;
|
||||
|
||||
@Override
|
||||
public List<Area> queryAll() {
|
||||
LambdaQueryWrapper<Area> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.orderByAsc(Area::getId);
|
||||
List<Area> areaList = areaMapper.selectList(wrapper);
|
||||
return areaList;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Area queryAreaById(int id) {
|
||||
Area area = areaMapper.selectById(id);
|
||||
return area;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public Area updateArea(Area area) {
|
||||
// return null;
|
||||
// }
|
||||
|
||||
@Override
|
||||
public boolean delAreaById(int id) {
|
||||
boolean ans;
|
||||
int i = areaMapper.deleteById(id);
|
||||
return ans = i>0 ? true:false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Area addArea(Area area) {
|
||||
LambdaQueryWrapper<Area> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.orderByAsc(Area::getId);
|
||||
return area;
|
||||
}
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
package com.huang.mp.util;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ResponseResult {
|
||||
/**
|
||||
* 请求状态
|
||||
*/
|
||||
private boolean success;
|
||||
/**
|
||||
* 返回提示信息
|
||||
*/
|
||||
private String msg;
|
||||
/**
|
||||
* 返回数据
|
||||
*/
|
||||
private Object data;
|
||||
|
||||
public ResponseResult(boolean success, String msg, Object data) {
|
||||
this.success = success;
|
||||
this.msg = msg;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public ResponseResult(boolean code, String msg) {
|
||||
this.success = success;
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public ResponseResult(boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package com.huang.mp;
|
||||
|
||||
import com.huang.mp.entity.Area;
|
||||
import com.huang.mp.mapper.AreaMapper;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@SpringBootTest
|
||||
class MpApplicationTests {
|
||||
|
||||
@Autowired(required = false)
|
||||
AreaMapper areaMapper;
|
||||
|
||||
|
||||
@Test
|
||||
void test01(){
|
||||
List<Area> areaList = areaMapper.selectList(null);
|
||||
areaList.forEach(System.out::println);
|
||||
}
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for area
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `area`;
|
||||
CREATE TABLE `area` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||||
`priority` int NOT NULL DEFAULT 0 COMMENT '权值',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间戳',
|
||||
`last_edit_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE INDEX `name`(`name`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of area
|
||||
-- ----------------------------
|
||||
INSERT INTO `area` VALUES (10, '南京', 5, '2022-03-11 12:53:53', '2022-03-11 12:53:53');
|
||||
INSERT INTO `area` VALUES (11, '北京', 9, '2022-03-11 12:59:38', '2022-03-11 12:59:38');
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
@ -1,31 +0,0 @@
|
||||
/*
|
||||
* Eslint config file
|
||||
* Documentation: https://eslint.org/docs/user-guide/configuring/
|
||||
* Install the Eslint extension before using this feature.
|
||||
*/
|
||||
module.exports = {
|
||||
env: {
|
||||
es6: true,
|
||||
browser: true,
|
||||
node: true,
|
||||
},
|
||||
ecmaFeatures: {
|
||||
modules: true,
|
||||
},
|
||||
parserOptions: {
|
||||
ecmaVersion: 2018,
|
||||
sourceType: 'module',
|
||||
},
|
||||
globals: {
|
||||
wx: true,
|
||||
App: true,
|
||||
Page: true,
|
||||
getCurrentPages: true,
|
||||
getApp: true,
|
||||
Component: true,
|
||||
requirePlugin: true,
|
||||
requireMiniProgram: true,
|
||||
},
|
||||
// extends: 'eslint:recommended',
|
||||
rules: {},
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
@ -1,36 +0,0 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="TOP_LEVEL_CLASS_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="INNER_CLASS_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="METHOD_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="FIELD_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="IGNORE_DEPRECATED" value="false" />
|
||||
<option name="IGNORE_JAVADOC_PERIOD" value="true" />
|
||||
<option name="IGNORE_DUPLICATED_THROWS" value="false" />
|
||||
<option name="IGNORE_POINT_TO_ITSELF" value="false" />
|
||||
<option name="myAdditionalJavadocTags" value="date" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/a2.iml" filepath="$PROJECT_DIR$/.idea/a2.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RunConfigurationProducerService">
|
||||
<option name="ignoredProducers">
|
||||
<set>
|
||||
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
@ -1,19 +0,0 @@
|
||||
// app.js
|
||||
App({
|
||||
onLaunch() {
|
||||
// 展示本地存储能力
|
||||
const logs = wx.getStorageSync('logs') || []
|
||||
logs.unshift(Date.now())
|
||||
wx.setStorageSync('logs', logs)
|
||||
|
||||
// 登录
|
||||
wx.login({
|
||||
success: res => {
|
||||
// 发送 res.code 到后台换取 openId, sessionKey, unionId
|
||||
}
|
||||
})
|
||||
},
|
||||
globalData: {
|
||||
userInfo: null
|
||||
}
|
||||
})
|
@ -1,16 +0,0 @@
|
||||
{
|
||||
"pages": [
|
||||
"pages/index/index",
|
||||
"pages/logs/logs",
|
||||
"pages/list/list",
|
||||
"pages/operation/operation"
|
||||
],
|
||||
"window": {
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarBackgroundColor": "#fff",
|
||||
"navigationBarTitleText": "Weixin",
|
||||
"navigationBarTextStyle": "black"
|
||||
},
|
||||
"style": "v2",
|
||||
"sitemapLocation": "sitemap.json"
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
/**app.wxss**/
|
||||
.container {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 200rpx 0;
|
||||
box-sizing: border-box;
|
||||
}
|