@ -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;
|
|
||||||
}
|
|