This commit is contained in:
hh 2024-04-12 22:25:06 +08:00
parent 1963108a29
commit d444168170
9 changed files with 290 additions and 510 deletions

View File

@ -22,7 +22,7 @@ export default {
fixSiderbar: false, // sticky siderbar
autoHideHeader: false, // auto hide header
colorWeak: false,
multipage: true, //默认多页签模式
multipage: false, //默认多页签模式
// vue-ls options
storageOptions: {
namespace: 'pro__', // key prefix

View File

@ -3,136 +3,93 @@
<el-card>
<template #header>
<span style="font-size: 25px;">
数据分析
近一年最高气温和最低气温变化情况
</span>
<span style="float: right;display: flex;">
<el-input v-model="adder" placeholder="请输入地址" />
<el-button style="margin-left: 10px;" type="primary" @click="goto">开始分析</el-button>
<el-button style="margin-left: 10px;" type="primary" @click="goto">刷新</el-button>
</span>
</template>
<div class="center" v-loading="loading">
<el-row class="top">
<el-col :span="12" class="col1">
<div class="title">过去七天最高温度变化</div>
<div id="chart1" style="width: 100%;height: 100%;"></div>
</el-col>
<el-col :span="12" class="col2">
<div class="title">阴晴比</div>
<div id="chart2" style="width: 100%;height: 100%;"></div>
</el-col>
</el-row>
<el-row class="bottom">
<el-col :span="12" class="col1">
<div class="title">过去30天风力变化</div>
<div id="chart3" style="width: 100%;height: 100%;"></div>
</el-col>
<el-col :span="12" class="col2">
<div class="title">过去30天降雨变化</div>
<div id="chart4" style="width: 100%;height: 100%;"></div>
</el-col>
</el-row>
<div id="chart1" style="width: 100%;height: 100%;"></div>
</div>
</el-card>
</div>
</template>
<script>
import { getAction } from '@/api/manage'
import * as echarts from 'echarts';
export default {
name: "get",
data() {
return {
loading: false,
adder: ''
url: "/sy/analysis",
}
},
mounted() {
this.initChart()
this.goto()
},
methods: {
goto() {
if (!this.adder) {
this.$message.error('请输入地址')
return
}
//1.5
this.loading = true
this.$message.info('开始分析' + this.adder + '的天气数据')
setTimeout(() => {
this.$message.info('开始分析天气数据')
getAction(this.url).then((res) => {
this.initChart(res.result)
this.loading = false
}, 2500)
})
},
initChart() {
initChart(data) {
this.chart1(data.temperature)
},
chart1(data) {
const chart1 = echarts.init(document.getElementById('chart1'))
const chart2 = echarts.init(document.getElementById('chart2'))
const chart3 = echarts.init(document.getElementById('chart3'))
const chart4 = echarts.init(document.getElementById('chart4'))
const option1 = {
const option = {
tooltip: {
trigger: 'axis'
},
legend: {
data: ['最高温度', '最低温度']
},
dataZoom: [
{
type: 'slider',
start: 0,
end: 100
}
],
xAxis: {
type: 'category',
data: ['3.31', '4.1', '4.2', '4.3', '4.4', '4.5', '4.6']
type: 'time',
boundaryGap: false
},
yAxis: {
type: 'value'
},
series: [
{
data: [5, 3, 5, 10, 9, 10, 14],
type: 'line'
}
]
};
const option2 = {
tooltip: {
trigger: 'item'
},
legend: {
top: '5%',
left: 'center'
},
series: [
name: '最高温度',
//
data: data.highTemperature.map(item => [new Date(item.date).getTime(), +item.temperature]),
type: 'line',
symbol: "none"
},
{
name: 'Access From',
type: 'pie',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: 40,
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{ value: 1, name: '晴转多云' },
{ value: 3, name: '晴' },
{ value: 1, name: '多云' },
{ value: 1, name: '多云转晴' },
]
name: '最低温度',
//
data: data.lowTemperature.map(item => [new Date(item.date).getTime(), +item.temperature]),
type: 'line',
symbol: "none"
}
]
};
chart1.setOption(option1)
chart2.setOption(option2)
// chart3.setOption(option1)
// chart4.setOption(option1)
}
chart1.setOption(option);
},
}
}
</script>
@ -143,49 +100,6 @@ export default {
}
.center {
height: 500px;
.top {
height: 50%;
//
border-bottom: 1px solid #dbdada;
.title {
position: fixed;
margin-left: 5px;
margin-top: 5px;
font-size: 20px;
}
.col1 {
height: 100%;
//
border-right: 1px solid #dbdada;
}
.col2 {
height: 100%;
}
}
.bottom {
height: 50%;
.title {
position: fixed;
margin-left: 5px;
margin-top: 5px;
font-size: 20px;
}
.col1 {
height: 100%;
border-right: 1px solid #dbdada;
}
.col2 {
height: 100%;
}
}
height: 400px;
}
</style>

79
src/views/sy/an2.vue Normal file
View File

@ -0,0 +1,79 @@
<template>
<div style="padding: 10px;">
<el-card>
<template #header>
<span style="font-size: 25px;">
近一年不同风力风向天数排序情况
</span>
<span style="float: right;display: flex;">
<el-button style="margin-left: 10px;" type="primary" @click="goto">刷新</el-button>
</span>
</template>
<div class="center" v-loading="loading">
<div id="chart2" style="width: 100%;height: 100%;"></div>
</div>
</el-card>
</div>
</template>
<script>
import { getAction } from '@/api/manage'
import * as echarts from 'echarts';
export default {
name: "get",
data() {
return {
loading: false,
url: "/sy/analysis",
}
},
mounted() {
this.goto()
},
methods: {
goto() {
//1.5
this.loading = true
this.$message.info('开始分析天气数据')
getAction(this.url).then((res) => {
this.initChart(res.result)
this.loading = false
})
},
initChart(data) {
this.chart2(data.wind)
},
chart2(data) {
const chart2 = echarts.init(document.getElementById('chart2'))
const option = {
xAxis: {
type: 'value',
},
yAxis: {
type: 'category',
data: data.wind,
},
series: [
{
data: data.count.map((value, index) => [value, index]),
type: 'bar'
}
]
};
chart2.setOption(option)
},
}
}
</script>
<style lang="less" scoped>
.card {
padding: 10px;
}
.center {
height: 400px;
}
</style>

95
src/views/sy/an3.vue Normal file
View File

@ -0,0 +1,95 @@
<template>
<div style="padding: 10px;">
<el-card>
<template #header>
<span style="font-size: 25px;">
近一年天气出现的次数
</span>
<span style="float: right;display: flex;">
<el-button style="margin-left: 10px;" type="primary" @click="goto">刷新</el-button>
</span>
</template>
<div class="center" v-loading="loading">
<div id="chart3" style="width: 100%;height: 100%;"></div>
</div>
</el-card>
</div>
</template>
<script>
import { getAction } from '@/api/manage'
import * as echarts from 'echarts';
export default {
name: "get",
data() {
return {
loading: false,
url: "/sy/analysis",
}
},
mounted() {
this.goto()
},
methods: {
goto() {
//1.5
this.loading = true
this.$message.info('开始分析天气数据')
getAction(this.url).then((res) => {
this.initChart(res.result)
this.loading = false
})
},
initChart(data) {
this.chart3(data.temperatureMap)
},
chart3(data) {
const chart3 = echarts.init(document.getElementById('chart3'))
// ECharts
const option = {
title: {
text: '天气情况',
left: 'center'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left'
},
series: [
{
name: 'Access From',
type: 'pie',
radius: '50%',
data: data,
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
chart3.setOption(option);
}
}
}
</script>
<style lang="less" scoped>
.card {
padding: 10px;
}
.center {
height: 400px;
}
</style>

View File

@ -3,123 +3,97 @@
<el-card>
<template #header>
<span style="font-size: 25px;">
数据预测
天气预测
</span>
<span style="float: right;display: flex;">
<el-input v-model="adder" placeholder="请输入地址" />
<el-button style="margin-left: 10px;" type="primary" @click="goto">开始分析</el-button>
<el-button style="margin-left: 10px;" type="primary" @click="goto">刷新</el-button>
</span>
</template>
<div class="center" v-loading="loading">
<el-row class="top">
<el-col :span="12" class="col1">
<div class="title">未来气温预测</div>
<div id="chart1" style="width: 100%;height: 100%;"></div>
</el-col>
<el-col :span="12" class="col2">
<div class="title">未来天气预测</div>
<div id="chart2" style="width: 100%;height: 100%;"></div>
</el-col>
</el-row>
<div id="chart1" style="width: 100%;height: 50%;"></div>
<el-table :data="tableData" style="width: 100%;padding-top: 20px;" max-height="250">
<el-table-column prop="data" label="日期" width="180">
</el-table-column>
<el-table-column prop="temperature" label="最高温度" width="180">
</el-table-column>
<el-table-column prop="weather" label="天气">
</el-table-column>
</el-table>
</div>
</el-card>
</div>
</template>
<script>
import { getAction } from '@/api/manage'
import * as echarts from 'echarts';
export default {
name: "get",
data() {
return {
loading: false,
adder: ''
url: "/sy/fe",
tableData: [],
}
},
mounted() {
this.initChart()
this.goto()
},
methods: {
goto() {
if (!this.adder) {
this.$message.error('请输入地址')
return
}
//1.5
this.loading = true
this.$message.info('开始分析' + this.adder + '的天气数据')
setTimeout(() => {
this.$message.info('开始分析天气数据')
getAction(this.url).then((res) => {
this.initChart(res.result)
this.tableData = res.result.data
this.loading = false
}, 2500)
})
},
initChart() {
const chart1 = echarts.init(document.getElementById('chart1'))
const chart2 = echarts.init(document.getElementById('chart2'))
initChart(data) {
this.chart1(data.data)
},
chart1(data) {
console.log(data);
const myChart = echarts.init(document.getElementById('chart1')); //
const option1 = {
const option = {
tooltip: {
trigger: 'axis'
},
legend: {
data: ['最高温度']
},
dataZoom: [
{
type: 'slider',
start: 0,
end: 100
}
],
xAxis: {
type: 'category',
data: ['4.6', '4.7', '4.8', '4.9', '4.10', '4.11', '4.12']
type: 'time',
boundaryGap: false
},
yAxis: {
type: 'value'
},
series: [
{
data: [14, 13, 15, 16, 16, 17, 16],
type: 'line'
}
]
};
const option2 = {
tooltip: {
trigger: 'item'
},
legend: {
top: '5%',
left: 'center'
},
series: [
{
name: 'Access From',
type: 'pie',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center',
formatter: '{d}%'
},
emphasis: {
label: {
show: true,
fontSize: 40,
fontWeight: 'bold',
formatter: '{d}%'
}
},
labelLine: {
show: false
},
data: [
{ value: 80, name: '晴转多云' },
{ value: 15, name: '晴' },
{ value: 5, name: '多云' },
]
name: '最高温度',
//
data: data.map(item => [new Date(item.data.replace(/-/g, '/')).getTime(), +item.temperature]),
type: 'line',
symbol: "none"
}
]
};
chart1.setOption(option1)
chart2.setOption(option2)
myChart.setOption(option);
}
}
}
</script>
@ -131,26 +105,5 @@ export default {
.center {
height: 500px;
.top {
height: 100%;
.title {
position: fixed;
margin-left: 5px;
margin-top: 5px;
font-size: 20px;
}
.col1 {
height: 100%;
//
border-right: 1px solid #dbdada;
}
.col2 {
height: 100%;
}
}
}
</style>

View File

@ -10,23 +10,20 @@
<a href="https://www.tianqishi.com/" target="_blank">天气史查询</a>
</span>
<span style="float: right;display: flex;">
<el-input v-model="adder" placeholder="请输入地址" />
<el-button style="margin-left: 10px;" type="success" @click="goto">开始爬取</el-button>
</span>
</template>
<div class="center" v-loading="loading">
<el-table :data="tableData" height="500" stripe style="width: 100%">
<el-table-column prop="data1" label="日期" />
<el-table-column prop="data2" label="气温" />
<el-table-column prop="data3" label="天气情况" />
<el-table-column prop="data4" label="风向" />
<el-table-column prop="data5" label="风力" />
<el-table-column prop="data6" label="日出" />
<el-table-column prop="data7" label="日落" />
<el-table-column prop="data" label="日期" />
<el-table-column prop="highTemperature" label="最高温度" />
<el-table-column prop="lowTemperature" label="最低温度" />
<el-table-column prop="dayOrNight" label="天气情况" />
<el-table-column prop="air" label="AQI" />
<el-table-column prop="windSpeed" label="风力" />
<el-table-column prop="totalRainfall" label="降水量" />
</el-table>
</div>
</el-card>
</div>
</template>
@ -38,204 +35,20 @@ export default {
name: "get",
data() {
return {
tableData: [{ 'data1': '20240405', 'data2': '7~14℃', 'data3': '晴转多云', 'data4': '西南风', 'data5': '3-4', 'data6': '05:06', 'data7': '18:07' }
,
{ 'data1': '20240404', 'data2': '0~10℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '05:08', 'data7': '18:06' }
,
{ 'data1': '20240403', 'data2': '-2~9℃', 'data3': '多云', 'data4': '西北风', 'data5': '1-3', 'data6': '05:09', 'data7': '18:05' }
,
{ 'data1': '20240402', 'data2': '-3~10℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '05:11', 'data7': '18:03' }
,
{ 'data1': '20240401', 'data2': '-4~5℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '05:13', 'data7': '18:02' }
,
{ 'data1': '20240331', 'data2': '-5~3℃', 'data3': '多云转晴', 'data4': '西北风', 'data5': '1-3', 'data6': '05:15', 'data7': '18:01' }
,
{ 'data1': '20240330', 'data2': '-5~5℃', 'data3': '阵雨转多云', 'data4': '西北风', 'data5': '3-4', 'data6': '05:17', 'data7': '18:00' }
,
{ 'data1': '20240329', 'data2': '-3~5℃', 'data3': '多云', 'data4': '西南风', 'data5': '3-4', 'data6': '05:19', 'data7': '17:58' }
,
{ 'data1': '20240328', 'data2': '-4~10℃', 'data3': '多云转晴', 'data4': '西南风', 'data5': '4-5', 'data6': '05:21', 'data7': '17:57' }
,
{ 'data1': '20240327', 'data2': '6~12℃', 'data3': '阵雨转小雨', 'data4': '西南风', 'data5': '3-4', 'data6': '05:23', 'data7': '17:56' }
,
{ 'data1': '20240326', 'data2': '-2~11℃', 'data3': '晴', 'data4': '东南风', 'data5': '1-3', 'data6': '05:25', 'data7': '17:54' }
,
{ 'data1': '20240325', 'data2': '-3~10℃', 'data3': '晴', 'data4': '东北风', 'data5': '1-3', 'data6': '05:27', 'data7': '17:53' }
,
{ 'data1': '20240324', 'data2': '-5~6℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '05:29', 'data7': '17:52' }
,
{ 'data1': '20240323', 'data2': '-6~8℃', 'data3': '阵雨转晴', 'data4': '西南风', 'data5': '1-3', 'data6': '05:31', 'data7': '17:50' }
,
{ 'data1': '20240322', 'data2': '-3~10℃', 'data3': '多云转雨夹雪', 'data4': '东南风', 'data5': '1-3', 'data6': '05:32', 'data7': '17:49' }
,
{ 'data1': '20240321', 'data2': '-5~5℃', 'data3': '晴', 'data4': '东南风', 'data5': '1-3', 'data6': '05:34', 'data7': '17:48' }
,
{ 'data1': '20240320', 'data2': '-8~3℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '05:36', 'data7': '17:46' }
,
{ 'data1': '20240319', 'data2': '-7~3℃', 'data3': '晴转多云', 'data4': '西北风', 'data5': '1-3', 'data6': '05:38', 'data7': '17:45' }
,
{ 'data1': '20240318', 'data2': '-8~2℃', 'data3': '多云转晴', 'data4': '北风', 'data5': '1-3', 'data6': '05:40', 'data7': '17:44' }
,
{ 'data1': '20240317', 'data2': '-8~2℃', 'data3': '晴', 'data4': '西北风', 'data5': '3-4', 'data6': '05:42', 'data7': '17:42' }
,
{ 'data1': '20240316', 'data2': '-6~5℃', 'data3': '雨夹雪转小雪', 'data4': '东南风', 'data5': '1-3', 'data6': '05:44', 'data7': '17:41' }
,
{ 'data1': '20240315', 'data2': '-5~7℃', 'data3': '晴转多云', 'data4': '西北风', 'data5': '1-3', 'data6': '05:46', 'data7': '17:40' }
,
{ 'data1': '20240314', 'data2': '0~9℃', 'data3': '多云', 'data4': '西南风', 'data5': '1-3', 'data6': '05:48', 'data7': '17:38' }
,
{ 'data1': '20240313', 'data2': '-2~7℃', 'data3': '晴转多云', 'data4': '西南风', 'data5': '1-3', 'data6': '05:50', 'data7': '17:37' }
,
{ 'data1': '20240312', 'data2': '-5~6℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '05:52', 'data7': '17:36' }
,
{ 'data1': '20240311', 'data2': '-7~5℃', 'data3': '多云转晴', 'data4': '西北风', 'data5': '1-3', 'data6': '05:53', 'data7': '17:34' }
,
{ 'data1': '20240310', 'data2': '-7~7℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '05:55', 'data7': '17:33' }
,
{ 'data1': '20240309', 'data2': '-13~1℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '05:57', 'data7': '17:32' }
,
{ 'data1': '20240308', 'data2': '-14~-3℃', 'data3': '多云转晴', 'data4': '西北风', 'data5': '1-3', 'data6': '05:59', 'data7': '17:30' }
,
{ 'data1': '20240307', 'data2': '-11~1℃', 'data3': '多云', 'data4': '西南风', 'data5': '1-3', 'data6': '06:01', 'data7': '17:29' }
,
{ 'data1': '20240306', 'data2': '-14~-1℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:03', 'data7': '17:28' }
,
{ 'data1': '20240305', 'data2': '-14~-1℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:05', 'data7': '17:26' }
,
{ 'data1': '20240304', 'data2': '-12~-2℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:06', 'data7': '17:25' }
,
{ 'data1': '20240303', 'data2': '-16~-5℃', 'data3': '多云转晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:08', 'data7': '17:23' }
,
{ 'data1': '20240302', 'data2': '-17~-7℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:10', 'data7': '17:22' }
,
{ 'data1': '20240301', 'data2': '-17~-7℃', 'data3': '多云转晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:12', 'data7': '17:21' }
,
{ 'data1': '20240229', 'data2': '-13~-5℃', 'data3': '阵雪转小雪', 'data4': '西南风', 'data5': '1-3', 'data6': '06:14', 'data7': '17:19' }
,
{ 'data1': '20240228', 'data2': '-15~-4℃', 'data3': '多云', 'data4': '西北风', 'data5': '1-3', 'data6': '06:15', 'data7': '17:18' }
,
{ 'data1': '20240227', 'data2': '-9~-4℃', 'data3': '多云转小雪', 'data4': '西南风', 'data5': '1-3', 'data6': '06:17', 'data7': '17:16' }
,
{ 'data1': '20240226', 'data2': '-18~-5℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:19', 'data7': '17:15' }
,
{ 'data1': '20240225', 'data2': '-15~-2℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:21', 'data7': '17:14' }
,
{ 'data1': '20240224', 'data2': '-14~-3℃', 'data3': '多云', 'data4': '西南风', 'data5': '1-3', 'data6': '06:22', 'data7': '17:12' }
,
{ 'data1': '20240223', 'data2': '-17~-5℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:24', 'data7': '17:11' }
,
{ 'data1': '20240222', 'data2': '-19~-8℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:26', 'data7': '17:09' }
,
{ 'data1': '20240221', 'data2': '-21~-10℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:27', 'data7': '17:08' }
,
{ 'data1': '20240220', 'data2': '-23~-12℃', 'data3': '晴', 'data4': '西风', 'data5': '1-3', 'data6': '06:29', 'data7': '17:06' }
,
{ 'data1': '20240219', 'data2': '-18~-9℃', 'data3': '多云转晴', 'data4': '西北风', 'data5': '3-4', 'data6': '06:31', 'data7': '17:05' }
,
{ 'data1': '20240218', 'data2': '-11~4℃', 'data3': '雨夹雪转小雪', 'data4': '西南风', 'data5': '1-3', 'data6': '06:32', 'data7': '17:03' }
,
{ 'data1': '20240217', 'data2': '3~6℃', 'data3': '多云', 'data4': '西南风', 'data5': '3-4', 'data6': '06:34', 'data7': '17:02' }
,
{ 'data1': '20240216', 'data2': '-2~0℃', 'data3': '晴转多云', 'data4': '西南风', 'data5': '1-3', 'data6': '06:36', 'data7': '17:01' }
,
{ 'data1': '20240215', 'data2': '-17~-7℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:37', 'data7': '16:59' }
,
{ 'data1': '20240214', 'data2': '-17~-2℃', 'data3': '多云转晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:39', 'data7': '16:58' }
,
{ 'data1': '20240213', 'data2': '-6~5℃', 'data3': '晴', 'data4': '西南风', 'data5': '3-4', 'data6': '06:40', 'data7': '16:56' }
,
{ 'data1': '20240212', 'data2': '2~3℃', 'data3': '晴', 'data4': '西南风', 'data5': '3-4', 'data6': '06:42', 'data7': '16:55' }
,
{ 'data1': '20240211', 'data2': '-12~-4℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '06:43', 'data7': '16:53' }
,
{ 'data1': '20240210', 'data2': '-14~-6℃', 'data3': '多云', 'data4': '西南风', 'data5': '1-3', 'data6': '06:44', 'data7': '16:52' }
,
{ 'data1': '20240209', 'data2': '-18~-7℃', 'data3': '晴转多云', 'data4': '西南风', 'data5': '1-3', 'data6': '06:46', 'data7': '16:50' }
,
{ 'data1': '20240208', 'data2': '-22~-8℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '06:47', 'data7': '16:49' }
,
{ 'data1': '20240207', 'data2': '-23~-8℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '06:49', 'data7': '16:47' }
,
{ 'data1': '20240206', 'data2': '-25~-9℃', 'data3': '多云转晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:50', 'data7': '16:46' }
,
{ 'data1': '20240205', 'data2': '-24~-11℃', 'data3': '晴转多云', 'data4': '东北风', 'data5': '1-3', 'data6': '06:51', 'data7': '16:44' }
,
{ 'data1': '20240204', 'data2': '-27~-11℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:53', 'data7': '16:43' }
,
{ 'data1': '20240203', 'data2': '-27~-12℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '06:54', 'data7': '16:41' }
,
{ 'data1': '20240202', 'data2': '-28~-14℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:55', 'data7': '16:40' }
,
{ 'data1': '20240201', 'data2': '-25~-16℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '06:56', 'data7': '16:39' }
,
{ 'data1': '20240131', 'data2': '-28~-16℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '06:57', 'data7': '16:37' }
,
{ 'data1': '20240130', 'data2': '-23~-15℃', 'data3': '阵雪转小雪', 'data4': '东北风', 'data5': '1-3', 'data6': '06:59', 'data7': '16:36' }
,
{ 'data1': '20240129', 'data2': '-27~-14℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '07:00', 'data7': '16:34' }
,
{ 'data1': '20240128', 'data2': '-20~-8℃', 'data3': '晴转多云', 'data4': '东南风', 'data5': '1-3', 'data6': '07:01', 'data7': '16:33' }
,
{ 'data1': '20240127', 'data2': '-23~-11℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '07:02', 'data7': '16:31' }
,
{ 'data1': '20240126', 'data2': '-23~-14℃', 'data3': '多云', 'data4': '西北风', 'data5': '1-3', 'data6': '07:03', 'data7': '16:30' }
,
{ 'data1': '20240125', 'data2': '-24~-10℃', 'data3': '多云', 'data4': '西南风', 'data5': '1-3', 'data6': '07:04', 'data7': '16:28' }
,
{ 'data1': '20240124', 'data2': '-26~-15℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '07:05', 'data7': '16:27' }
,
{ 'data1': '20240123', 'data2': '-24~-16℃', 'data3': '阵雪转多云', 'data4': '西北风', 'data5': '1-3', 'data6': '07:06', 'data7': '16:26' }
,
{ 'data1': '20240122', 'data2': '-31~-19℃', 'data3': '多云转晴', 'data4': '西北风', 'data5': '1-3', 'data6': '07:06', 'data7': '16:24' }
,
{ 'data1': '20240121', 'data2': '-22~-18℃', 'data3': '小雪转阵雪', 'data4': '东北风', 'data5': '1-3', 'data6': '07:07', 'data7': '16:23' }
,
{ 'data1': '20240120', 'data2': '-22~-15℃', 'data3': '多云转小雪', 'data4': '东北风', 'data5': '1-3', 'data6': '07:08', 'data7': '16:21' }
,
{ 'data1': '20240119', 'data2': '-27~-15℃', 'data3': '晴', 'data4': '东北风', 'data5': '1-3', 'data6': '07:09', 'data7': '16:20' }
,
{ 'data1': '20240118', 'data2': '-27~-15℃', 'data3': '晴', 'data4': '东北风', 'data5': '1-3', 'data6': '07:09', 'data7': '16:19' }
,
{ 'data1': '20240117', 'data2': '-21~-6℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '07:10', 'data7': '16:17' }
,
{ 'data1': '20240116', 'data2': '-11~-5℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '07:11', 'data7': '16:16' }
,
{ 'data1': '20240115', 'data2': '-23~-14℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '07:11', 'data7': '16:15' }
,
{ 'data1': '20240114', 'data2': '-23~-13℃', 'data3': '晴', 'data4': '西北风', 'data5': '3-4', 'data6': '07:12', 'data7': '16:14' }
,
{ 'data1': '20240113', 'data2': '-17~-13℃', 'data3': '多云转小雪', 'data4': '西南风', 'data5': '1-3', 'data6': '07:12', 'data7': '16:12' }
,
{ 'data1': '20240112', 'data2': '-29~-16℃', 'data3': '多云', 'data4': '西北风', 'data5': '1-3', 'data6': '07:13', 'data7': '16:11' }
,
{ 'data1': '20240111', 'data2': '-26~-11℃', 'data3': '小雪转多云', 'data4': '西北风', 'data5': '1-3', 'data6': '07:13', 'data7': '16:10' }
,
{ 'data1': '20240110', 'data2': '-10~-8℃', 'data3': '晴转小雪', 'data4': '西南风', 'data5': '1-3', 'data6': '07:13', 'data7': '16:09' }
,
{ 'data1': '20240109', 'data2': '-23~-15℃', 'data3': '晴', 'data4': '西北风', 'data5': '1-3', 'data6': '07:14', 'data7': '16:08' }
,
{ 'data1': '20240108', 'data2': '-26~-11℃', 'data3': '晴', 'data4': '西南风', 'data5': '1-3', 'data6': '07:14', 'data7': '16:06' }
,
{ 'data1': '20240107', 'data2': '-23~-17℃', 'data3': '多云转晴', 'data4': '西北风', 'data5': '1-3', 'data6': '07:14', 'data7': '16:05' }
,
],
tableData: [],
loading: false,
adder: ''
url: "/sy/get",
}
},
methods: {
goto() {
//
if (!this.adder) {
this.$message.error('请输入地址')
return
}
//1.5
this.loading = true
this.$message.info('开始爬取' + this.adder + '的天气数据')
setTimeout(() => {
this.$message.info('开始爬取哈尔滨的天气数据')
getAction(this.url).then((res) => {
this.tableData = res.result
this.loading = false
}, 2500)
})
}
}
}

View File

@ -126,13 +126,6 @@ export default {
width: 100,
dataIndex: 'realname',
},
{
title: '头像',
align: "center",
width: 120,
dataIndex: 'avatar',
scopedSlots: { customRender: "avatarslot" }
},
{
title: '状态',
align: "center",

View File

@ -4,23 +4,24 @@
天气分析系统
</div>
<a-form-model class="user-layout-login" @keyup.enter.native="handleSubmit">
<!-- 登录修改 -->
<login-account ref="alogin" @validateFail="validateFail" @success="requestSuccess"
@fail="requestFailed"></login-account>
<a-form-item style="margin-top:24px">
<a-button size="large" type="primary" htmlType="submit" class="login-button red-button" :loading="loginBtn"
<a-button size="large" type="primary" htmlType="submit" class="login-button" :loading="loginBtn"
@click.stop.prevent="handleSubmit" :disabled="loginBtn">确定
</a-button>
</a-form-item>
<router-link :to="{ name: 'register' }" class="forge-password" style="float: right;margin-right: 10px">
注册账户
</router-link>
</a-form-model>
<two-step-captcha v-if="requiredTwoStepCaptcha" :visible="stepCaptchaVisible" @success="stepCaptchaSuccess"
@cancel="stepCaptchaCancel"></two-step-captcha>
<login-select-tenant ref="loginSelect" @success="loginSelectOk"></login-select-tenant>
</div>
</template>
<script>
import Vue from 'vue'
import { ACCESS_TOKEN, ENCRYPTED_STRING } from '@/store/mutation-types'

View File

@ -31,41 +31,6 @@
<a-form-model-item prop="password2">
<a-input v-model="model.password2" size="large" type="password" autocomplete="false" placeholder="确认密码"></a-input>
</a-form-model-item>
<a-form-model-item prop="mobile">
<a-input v-model="model.mobile" size="large" placeholder="11 位手机号">
<a-select slot="addonBefore" size="large" defaultValue="+86">
<a-select-option value="+86">+86</a-select-option>
<a-select-option value="+87">+87</a-select-option>
</a-select>
</a-input>
</a-form-model-item>
<!--<a-input-group size="large" compact>
<a-select style="width: 20%" size="large" defaultValue="+86">
<a-select-option value="+86">+86</a-select-option>
<a-select-option value="+87">+87</a-select-option>
</a-select>
<a-input style="width: 80%" size="large" placeholder="11 位手机号"></a-input>
</a-input-group>-->
<a-row :gutter="16">
<a-col class="gutter-row" :span="16">
<a-form-model-item prop="captcha">
<a-input v-model="model.captcha" size="large" type="text" placeholder="验证码">
<a-icon slot="prefix" type="mail" :style="{ color: 'rgba(0,0,0,.25)' }"/>
</a-input>
</a-form-model-item>
</a-col>
<a-col class="gutter-row" :span="8">
<a-button
class="getCaptcha"
size="large"
:disabled="state.smsSendBtn"
@click.stop.prevent="getCaptcha"
v-text="!state.smsSendBtn && '获取验证码'||(state.time+' s')"></a-button>
</a-col>
</a-row>
<a-form-model-item>
<a-button
size="large"
@ -121,7 +86,6 @@
],
password: [
{ required: false},
{ validator: this.handlePasswordLevel }
],
password2: [
{ required: false },
@ -187,38 +151,6 @@
}
})
},
handlePasswordLevel(rule, value, callback) {
let level = 0
let reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/;
if (!reg.test(value)) {
callback(new Error('密码由8位数字、大小写字母和特殊符号组成!'))
}
//
if (/[0-9]/.test(value)) {
level++
}
//
if (/[a-zA-Z]/.test(value)) {
level++
}
//
if (/[^0-9a-zA-Z_]/.test(value)) {
level++
}
this.state.passwordLevel = level
this.state.percent = level * 30
if (level >= 2) {
if (level >= 3) {
this.state.percent = 100
}
callback()
} else {
if (level === 0) {
this.state.percent = 10
}
callback(new Error('密码强度不够'))
}
},
handlePasswordCheck(rule, value, callback) {
let password = this.model['password']