Compare commits

...

No commits in common. "main" and "pc-master" have entirely different histories.

471 changed files with 77951 additions and 148 deletions

23
.gitignore vendored Normal file
View File

@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

18
App.vue
View File

@ -1,18 +0,0 @@
<script>
export default {
onLaunch: function() {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style lang="scss">
/*每个页面公共css */
@import "uview-ui/index.scss";
</style>

26
Dockerfile Normal file
View File

@ -0,0 +1,26 @@
FROM nginx:1.17.9-alpine
LABEL maintainer="clibing <wmsjhappy@gmail.com>"
ARG TZ='Asia/Shanghai'
ENV TZ ${TZ}
RUN apk upgrade --update \
&& apk add bash \
&& ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \
&& echo ${TZ} > /etc/timezone \
&& rm -rf /usr/share/nginx/html /var/cache/apk/*
COPY nginx.vh.default.conf /etc/nginx/conf.d/default.conf
COPY dist /usr/share/nginx/html
RUN chown -R nginx /usr/share/nginx/html
EXPOSE 80
STOPSIGNAL SIGTERM
CMD ["nginx", "-g", "daemon off;"]

108
README.md Normal file
View File

@ -0,0 +1,108 @@
# build
## with builder
```bash
docker run --rm -it -v /root/workspace/wszhyWx:/workspace clibing/alpine-build bash
cd /workspace
npm install --legacy-peer-deps
npm run build
```
## exec sh in container log
```bash
> ysws-vue@0.1.0 build
> vue-cli-service build
All browser targets in the browserslist configuration have supported ES module.
Therefore we don't build two separate bundles for differential loading.
⠋ Building for production...
WARNING Compiled with 2 warnings 11:07:23PM
warning
asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets:
img/index-background.6170a105.png (1.88 MiB)
fonts/ALIBABA-PUHUITI-MEDIUM.7e8661bc.OTF (6.26 MiB)
fonts/ALIBABA-PUHUITI-REGULAR.035db024.OTF (6.6 MiB)
fonts/Alimama_ShuHeiTi_Bold.0ac727c9.ttf (1.3 MiB)
img/login-bg.d0ccd5e4.png (1.44 MiB)
img/background.14e833d2.jpg (616 KiB)
js/970.9288c639.js (1.01 MiB)
css/chunk-vendors.d93d07ef.css (246 KiB)
js/chunk-vendors.b4684c39.js (2.14 MiB)
warning
entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
app (2.49 MiB)
css/chunk-vendors.d93d07ef.css
js/chunk-vendors.b4684c39.js
css/app.1d0469df.css
js/app.81c6b894.js
File Size Gzipped
dist/js/chunk-vendors.b4684c39.js 2192.83 KiB 587.48 KiB
dist/js/970.9288c639.js 1029.18 KiB 340.26 KiB
dist/js/899.9e1072c1.js 60.46 KiB 17.31 KiB
dist/js/app.81c6b894.js 44.54 KiB 19.10 KiB
dist/js/51.54b739ec.js 28.85 KiB 13.19 KiB
dist/js/491.f0009224.js 20.95 KiB 8.37 KiB
dist/js/617.9950aee6.js 18.03 KiB 7.03 KiB
dist/js/33.4aac9c4b.js 17.99 KiB 6.97 KiB
dist/js/573.56d9ffde.js 16.37 KiB 7.74 KiB
dist/js/985.5c7740ef.js 14.00 KiB 7.06 KiB
dist/css/chunk-vendors.d93d07ef.css 245.69 KiB 43.63 KiB
dist/css/app.1d0469df.css 63.51 KiB 30.42 KiB
dist/css/51.60c1caae.css 49.92 KiB 32.33 KiB
dist/css/33.bc37da49.css 0.72 KiB 0.34 KiB
dist/css/491.bc37da49.css 0.72 KiB 0.34 KiB
dist/css/573.bc37da49.css 0.72 KiB 0.34 KiB
dist/css/617.bc37da49.css 0.72 KiB 0.34 KiB
dist/css/899.bc37da49.css 0.72 KiB 0.34 KiB
dist/css/985.bc37da49.css 0.72 KiB 0.34 KiB
Images and other types of assets omitted.
Build at: 2023-10-07T15:07:23.981Z - Hash: d30c57e5506e3d29 - Time: 45735ms
DONE Build complete. The dist directory is ready to be deployed.
INFO Check out deployment instructions at https://cli.vuejs.org/guide/deployment.html
```
## exit container
## build image
```` bash
./build-image.sh
````
# ysws-vue
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

5
babel.config.js Normal file
View File

@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

6
build-image.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash
BRANCH=$(git branch --show-current)
BUILD_DATE=$(date "+%s")
COMMIT_SHA1=$(git rev-parse HEAD)
docker build -t lihe-control.com/iot-www:${BRANCH}-${COMMIT_SHA1:0:8}-${BUILD_DATE} -f Dockerfile .

View File

@ -1,20 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
CSS.supports('top: constant(a)'))
document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<title></title>
<!--preload-links-->
<!--app-context-->
</head>
<body>
<div id="app"><!--app-html--></div>
<script type="module" src="/main.js"></script>
</body>
</html>

19
jsconfig.json Normal file
View File

@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"baseUrl": "./",
"moduleResolution": "node",
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
}
}

32
main.js
View File

@ -1,32 +0,0 @@
import App from './App'
import uView from "uview-ui";
Vue.use(uView);
// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
...App
})
app.$mount()
// #endif
// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
const app = createSSRApp(App)
return {
app
}
}
// #endif
//接口 this.api
import api from '@/api/driverapi.js'
Vue.prototype.api = api;
//
import {myRequest} from "./api/nvuerequest"
Vue.prototype.$http=myRequest

View File

@ -1,72 +0,0 @@
{
"name" : "greenhouse-wisdom-applet",
"appid" : "__UNI__1066059",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App */
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
/* */
"modules" : {},
/* */
"distribute" : {
/* android */
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios */
"ios" : {},
/* SDK */
"sdkConfigs" : {}
}
},
/* */
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "wx05b45a2699f02a2b",
"setting" : {
"urlCheck" : false
},
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics" : {
"enable" : false
},
"vueVersion" : "2"
}

20
nginx.vh.default.conf Normal file
View File

@ -0,0 +1,20 @@
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri $uri/index.html $uri/index.htm /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

11204
package-lock.json generated

File diff suppressed because it is too large Load Diff

11002
package-lock.json.backup Normal file

File diff suppressed because it is too large Load Diff

41
package.json Normal file
View File

@ -0,0 +1,41 @@
{
"name": "zhihuiyun",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build"
},
"dependencies": {
"axios": "^1.5.0",
"core-js": "^3.8.3",
"echarts": "^5.4.3",
"element-ui": "^2.15.14",
"ezuikit-js": "^7.7.7",
"flv.js": "^1.6.2",
"html2canvas": "^1.4.1",
"qrcode": "^1.5.3",
"video.js": "^7.21.5",
"videojs-contrib-hls": "^5.15.0",
"videojs-contrib-hls.js": "^3.2.0",
"vue": "^2.7.14",
"vue-router": "^3.5.1",
"vue-seamless-scroll": "^1.1.23",
"vue-video-player": "^6.0.0",
"vuex": "^3.6.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"sass": "^1.32.7",
"sass-loader": "^12.0.0",
"vue-template-compiler": "^2.6.14"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

18
public/index.html Normal file
View File

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<script src="../src/assets/js/ek.js"></script>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

159
src/App.vue Normal file
View File

@ -0,0 +1,159 @@
<template>
<div id="app" :class="isMobile?'mobile':''">
<router-view />
</div>
</template>
<script>
export default {
data(){
return {
isMobile:false
}
},
watch:{
"$route"(newName, oldName) {
var routerNow = this.$route.name;
if(routerNow=='videoLive'){
this.isMobile=true
}else{
this.isMobile=false
}
},
},
created(){
if (sessionStorage.getItem("store") ) { //sessionStorage
this.$store.replaceState(Object.assign({}, this.$store.state,JSON.parse(sessionStorage.getItem("store"))))
}
window.addEventListener("beforeunload",()=>{ //vuexsessionStorage
sessionStorage.setItem("store",JSON.stringify(this.$store.state))
})
},
mounted(){
let inputList = document.querySelectorAll('input');
for (let index = 0; index < inputList.length; index++) {
inputList[index].onfocus = this.selectValue();//input
}
},
methods:{
//
selectValue(e) {
e.currentTarget.select();
}
},
}
</script>
<style lang="scss">
* {
padding: 0;
margin: 0;
outline: none;
font-size: 16px;
box-sizing: border-box;
font-family: Microsoft YaHei;
font-weight: 400;
color: #fff;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
margin: 0;
}
#app{
min-width: 1290px;
min-height: 900px;
width: 100vw;
height: 100vh;
&.mobile{
min-width: unset;
min-height: unset;
width: auto;
height: auto;
}
}
@font-face {
font-family: Oswald;
src: url(./assets/ttf/Oswald-Medium.ttf);
}
@font-face {
font-family: Alibaba PuHuiTi;
src: url(./assets/ttf/ALIBABA-PUHUITI-MEDIUM.OTF);
}
@font-face {
font-family: Alibaba PuHuiTiR;
src: url(./assets/ttf/ALIBABA-PUHUITI-REGULAR.OTF);
}
@font-face {
font-family: Alimama ShuHeiTiB;
src: url(./assets/ttf/Alimama_ShuHeiTi_Bold.ttf);
}
.main-title {
width: 100%;
height: 41px;
background: url(./assets/image/main-title.png) no-repeat center;
background-size: 100% 100%;
padding-left: 23px;
span {
line-height: 41px;
font-size: 20px;
font-family: Alibaba PuHuiTi;
font-weight: bold;
color: #DBE8FF;
background: linear-gradient(180deg, rgba(49, 190, 255, 1) 0%, rgba(20, 158, 255, 1) 0%, rgba(239, 252, 254, 1) 58.7646484375%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.view-content {
width: 100%;
height: 327px;
border: 1px solid;
margin-top: 8px;
border-image: linear-gradient(180deg, rgba(142, 179, 221, 0.5) 0%, transparent 100%) 10 10;
background: linear-gradient(180deg, rgba(6, 72, 167, 0.5) 0%, rgba(6, 72, 167, 0) 100%);
}
.input-50 {
.input-title {
font-size: 16px;
font-family: Alibaba PuHuiTiR;
font-weight: 400;
color: #FFF9F9;
}
input,
.input {
width: 100%;
height: 50px;
background: url(./assets/image/left1-input.png) no-repeat center;
background-size: 100% 100%;
padding-left: 15px;
font-size: 20px;
font-family: Alibaba PuHuiTiR;
font-weight: 400;
color: #648cbb;
border: none;
line-height: 50px;
&.green{
color: #3CFDFF;
}
}
&.input-100 {
width: 100% !important;
}
}
</style>

742
src/api/index.js Normal file
View File

@ -0,0 +1,742 @@
import axios from "axios";
// import qs from 'qs'
import router from '../router/index'
function sendGetRequest(url, data) {
return new Promise(function (resolve, reject) {
axios.get(url, {
headers: { //头部参数
// 'Content-Type': 'application/json; charset=utf-8',
// "Access-Control-Allow-Origin": "*",
// "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept",
'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '')
},
params: data
})
.then(function (res) { //请求成功response接收返回参数
if (res.data.code == 401) {
localStorage.removeItem('token')
if(router.currentRoute.name!='login'){
router.push({
name: 'login'
})
}
// router.push({
// name: 'login'
// })
}
resolve(res);
})
.catch(function (err) { //请求失败error接收失败原因
reject(err);
})
});
}
function sendUploadRequest(url, data) {
// 一个状态为resolve包裹的是数据
// 或者状态为reject (包裹的是错误信息)
// 的promise对象
return new Promise(function (resolve, reject) {
axios.post(url, data, {
headers: {
'Content-Type': 'multipart/form-data',
// 'Content-Type': 'application/json; charset=utf-8',
'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '')
}
}).then(
(res) => {
if (res.data.code == 401) {
localStorage.removeItem('token')
if(router.currentRoute.name!='login'){
router.push({
name: 'login'
})
}
}
resolve(res);
},
(err) => {
reject(err);
}
);
});
}
function sendPostRequest(url, data) {
// 一个状态为resolve包裹的是数据
// 或者状态为reject (包裹的是错误信息)
// 的promise对象
return new Promise(function (resolve, reject) {
axios.post(url, data, {
headers: {
// 'Content-Type': 'application/json; charset=utf-8',
'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '')
}
}).then(
(res) => {
if (res.data.code == 401) {
localStorage.removeItem('token')
if(router.currentRoute.name!='login'){
router.push({
name: 'login'
})
}
}
resolve(res);
},
(err) => {
reject(err);
}
);
});
}
function sendDelRequest(url, data) {
// 一个状态为resolve包裹的是数据
// 或者状态为reject (包裹的是错误信息)
// 的promise对象
return new Promise(function (resolve, reject) {
axios.delete(url, {
headers: { //头部参数
// 'Content-Type': 'application/json; charset=utf-8',
// "Access-Control-Allow-Origin": "*",
// "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept",
'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '')
},
params: data
}).then(
(res) => {
if (res.data.code == 401) {
localStorage.removeItem('token')
if(router.currentRoute.name!='login'){
router.push({
name: 'login'
})
}
}
resolve(res);
},
(err) => {
reject(err);
}
);
});
}
function sendPutRequest(url, data) {
// 一个状态为resolve包裹的是数据
// 或者状态为reject (包裹的是错误信息)
// 的promise对象
return new Promise(function (resolve, reject) {
axios.put(url, data, {
headers: {
// 'Content-Type': 'application/json; charset=utf-8',
'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '')
}
}).then(
(res) => {
if (res.data.code == 401) {
localStorage.removeItem('token')
if(router.currentRoute.name!='login'){
router.push({
name: 'login'
})
}
}
resolve(res);
},
(err) => {
reject(err);
}
);
});
}
//总接口域名
axios.defaults.baseURL = "/api";
axios.defaults.timeout = 30000; // 设置全局默认请求超时时间为10秒
// 接口列表
export default {
//防止没有一个post/get会报错 写一个默认的
get(data) {
return sendGetRequest("", data);
},
post(data) {
return sendPostRequest("", data);
},
delete(data) {
return sendDelRequest("", data);
},
put(data) {
return sendPutRequest("", data);
},
//接口开始()
//登录
login(data) {
return sendPostRequest("/user/login", data);
},
loginOut(data) {
return sendGetRequest("/user/logout", data);
},
//管理员根据设备id查询设备信息
getSeldevicebyid(data) {
return sendGetRequest("/admin/seldevicebyid", data);
},
//根据用户id查询对应的设备数据
getEqbyid(data) {
return sendGetRequest("/sel/eqbyid/" + data, '');
},
//气象站显示
geteqetdata(data) {
return sendGetRequest(`/getcontrol/geteqetdata?userId=`+data ,"")
},
//测试施肥机读取设备状态信息 //读取数据 根据文档编号读取 所有数据展示都出自这个接口
postReg(data) {
return sendPostRequest("/readFs/reg", data);
},
//测试施肥机读取设备状态信息 //读取数据 根据文档编号读取 所有数据展示都出自这个接口
postState(data) {
return sendPostRequest("/readFs/state", data);
},
//测试施肥机写入数据信息 //修改数据 根据文档编号修改 所有数据修改都出自这个接口
postWriteFs(data) {
return sendPostRequest("/writeFs", data);
},
getByid(data) {
return sendGetRequest("/readFs/byid", data);
},
//获取实时数据
postRtdata(data) {
return sendPostRequest("/getFs/rtdata?equipmentId=" + data, '');
},
//获取实时数据
postFsdata(data) {
return sendPostRequest("/chart/fsdata?equipmentId=" + data, '');
},
//获取监控地址
getGethls(data) {
return sendGetRequest("/camera/gethls", data);
},
//根据ID查询用户信息
getUser(data) {
return sendGetRequest('/api/sel/user', data)
},
//控制器接口
//控制器实时数据
getControlRtdata(data) {
return sendPostRequest("/getcontrol/rtdata?equipmentId=" + data, '');
},
//控制器实时数据折线图
getControlFsdata(data) {
return sendPostRequest("/getcontrol/fsdata?equipmentId=" + data, '');
},
//控制器数据上传数据获取
getControldataUpload(data) {
return sendGetRequest('/readControl/dataUpload', data)
},
//控制器写入数据
postControlWrite(data) {
return sendPostRequest("/writeJinHuaControl/write", data);
},
//控制器传感器通道
getReadControlSensorChannel(data) {
return sendGetRequest('/readControl/sensorChannel', data)
},
//控制器 顶模和风机
getReadControlliShuiControl(data) {
return sendGetRequest('/readControl/liShuiControl', data)
},
//控制器 传感器输入合成
getReadControlSensorInputSynthesis(data) {
return sendGetRequest('/readControl/sensorInputSynthesis', data)
},
//控制器 主页查看控制器气象站实时数据
getControlRtDatastation(data) {
return sendGetRequest('/getcontrol/rtDatastation', data)
},
//控制器 设备运行状态
getControlGetState(data) {
return sendGetRequest('/readControl/getState', data)
},
//控制器 气象站实时数据折线图
getControlChartdata(data) {
return sendPostRequest('/equip/chartdata?equipmentId=' + data, '')
},
//首页历史数据/数据分析弹窗
selFsAvgdata(data) {
return sendPostRequest('/selFs/avgdata',data)
},
//首页历史数据/数据分析弹窗下载数据
selFsAvgdatadownload(data) {
return sendPostRequest('/selFs/avgdatadownload',data)
},
// 根据用户id查询对应的设备大数据信息
Bigdata_getAllControl(userid, data) {
return sendGetRequest(`/Bigdata/getAllControl?userid=${userid}`, data);
},
// 获取设备当天的温度
Bigdata_getTemperature(deviceid, data) {
return sendGetRequest(`/Bigdata/getTemperature?deviceid=${deviceid}`, data);
},
// 获取设备一周的温度
Bigdata_getWeekTemperature(deviceid, data) {
return sendGetRequest(`/Bigdata/getWeekTemperature?deviceid=${deviceid}`, data);
},
// 主页查看控制器实时数据
getcontrol_rtdata(equipmentId, data) {
return sendPostRequest(`/getcontrol/rtdata?equipmentId=${equipmentId}`, data);
},
// 获取摄像头得地址 Copy
camera_gethls(cameraid, channelid, data) {
return sendGetRequest(`/camera/gethls?cameraid=${cameraid}&channelid=${channelid}`, data);
},
// 根据用户id查询对应的设备数据 Copy
sel_eqbyid(userId, data) {
return sendGetRequest(`/sel/eqbyid/${userId}`, data);
},
// 控制器状态值获取 Copy
readControl_getState(deviceId, data) {
return sendGetRequest(`/readControl/getState?deviceId=${deviceId}`, data);
},
getcontrol_rtDatastation(equipmentId, data) {
return sendGetRequest(`/getcontrol/rtDatastation?equipmentId=${equipmentId}`, data)
},
//控制器根据设备查看权限
getcontrol_cpermission(equipmentId, data) {
return sendPostRequest(`/getcontrol/cpermission?deviceId=${equipmentId}`, data)
},
//控制器五防接口
readControl_fiveControl(data) {
return sendGetRequest(`/readControl/fiveControl`, data);
},
// 查看用户额外权限
user_getjurisdiction(userId, data) {
return sendGetRequest(`/user/getjurisdiction?userId=${userId}`, data)
},
//实时数据页面状态值(查看全部设备)
getStatePermissionStatus(data) {
return sendGetRequest(`/getcontrol/getStatePermissionStatus`, data)
},
//获取当前权限能看到的设备
getPermissionStatus(data) {
return sendGetRequest(`/getcontrol/getPermissionStatus`, data)
},
//根据id删除status设备
delPermissionStatus(id1, id2) {
return sendPostRequest(`/getcontrol/delPermissionStatus?deviceId=${id1}&permissionid=${id2}`, '')
},
//根据id添加status设备
addPermissionStatus(id1, id2) {
return sendPostRequest(`/getcontrol/addStatepermission?deviceId=${id1}&Permissionid=${id2}`, '')
},
//添加短信报警
addWarnMessage(data) {
return sendPostRequest(`/shortMessage/setMessage`, data)
},
//短信报警填写条件
selnowmes(data) {
return sendGetRequest(`/shortMessage/selnowmes`, data)
},
//根据设备id查看短信报警
messageList(data) {
return sendGetRequest(`/shortMessage/selMesById`, data)
},
//根据id删除短信报警
delMessage(data) {
return sendDelRequest(`/shortMessage/delmesbyid`, data)
},
//控制器新页面接口
//目标值 目标温度/湿度/co2
targetValue(data) {
return sendGetRequest(`/readControl/targetValue`, data)
},
//电磁阀1
solenoidValve1(data) {
return sendGetRequest(`/readControl/solenoidValve1`, data)
},
//电磁阀2
solenoidValve2(data) {
return sendGetRequest(`/readControl/solenoidValve2`, data)
},
//电磁阀3
solenoidValve3(data) {
return sendGetRequest(`/readControl/solenoidValve3`, data)
},
//电磁阀4
solenoidValve4(data) {
return sendGetRequest(`/readControl/solenoidValve4`, data)
},
//电磁阀5
solenoidValve5(data) {
return sendGetRequest(`/readControl/solenoidValve5`, data)
},
//电磁阀6
solenoidValve6(data) {
return sendGetRequest(`/readControl/solenoidValve6`, data)
},
//电磁阀7
solenoidValve7(data) {
return sendGetRequest(`/readControl/solenoidValve7`, data)
},
//电磁阀8
solenoidValve8(data) {
return sendGetRequest(`/readControl/solenoidValve8`, data)
},
//强制通道输出
forceChannelOutput(data) {
return sendGetRequest(`/readControl/forceChannelOutput`, data)
},
//天窗
readskylight(data) {
return sendGetRequest(`/readControl/readskylight`, data)
},
//空调
airconditioner(data) {
return sendGetRequest(`/readControl/airconditioner`, data)
},
//固有参数
intrinsicParameter(data) {
return sendGetRequest(`/readControl/intrinsicParameter`, data)
},
//厂家内部参数
manufacturerparameter(data) {
return sendGetRequest(`/readControl/manufacturerparameter`, data)
},
//高压微雾
highpressuremist(data) {
return sendGetRequest(`/readControl/highpressuremist`, data)
},
//内遮阳
innercurtain(data) {
return sendGetRequest(`/readControl/innercurtain`, data)
},
//外遮阳
externalsunshade(data) {
return sendGetRequest(`/readControl/externalsunshade`, data)
},
//风机湿帘
fanwetcurtain(data) {
return sendGetRequest(`/readControl/fanwetcurtain`, data)
},
//补光灯
readfilllight(data) {
return sendGetRequest(`/readControl/readfilllight`, data)
},
//CO2补气
co2replenishment(data) {
return sendGetRequest(`/readControl/co2replenishment`, data)
},
//冷暖风机
heatfan(data) {
return sendGetRequest(`/readControl/heatfan`, data)
},
//内保温
interiorthermalinsulation(data) {
return sendGetRequest(`/readControl/interiorthermalinsulation`, data)
},
//立面保温
facadeinsulation(data) {
return sendGetRequest(`/readControl/facadeinsulation`, data)
},
//环流风扇
readcirculationfan(data) {
return sendGetRequest(`/readControl/readcirculationfan`, data)
},
//报警设置
readalarmSetting(data) {
return sendGetRequest(`/readControl/alarmSetting`, data)
},
//报警设置
readalarmSetting(data) {
return sendGetRequest(`/readControl/alarmSetting`, data)
},
//主页查看施肥机历史数据
selFsTime(data) {
return sendPostRequest(`/selFs/time`, data)
},
//主页查看施肥机历史数据
loadHistorydata(data) {
return sendPostRequest(`/load/historydata`, data)
},
//查看抓取图片历史数据
imageReadtoday(data) {
return sendPostRequest(`/image/readtoday`, data)
},
//下载图片
imageUploadImage(data) {
return sendPostRequest(`/image/uploadImage`, data)
},
//摄像头操作开始
cameraStart(cameraSerialNumber,cameraChannelNumber,num) {
return sendPostRequest(`/camera/start?cameraid=${cameraSerialNumber}&channelid=${cameraChannelNumber}&direction=${num}`)
},
//摄像头操作结束
cameraStop(cameraSerialNumber,cameraChannelNumber,num) {
return sendPostRequest(`/camera/stop?cameraid=${cameraSerialNumber}&channelid=${cameraChannelNumber}&direction=${num}`)
},
//管理模块
//根据用户ID获取账户设备
selUserbyid(data){
return sendGetRequest(`/sel/userbyid/`+data, '')
},
//根据设备ID获取设备状态值
selControlPermissions(data){
return sendGetRequest(`/getcontrol/selControlPermissions`, data)
},
//根据设备ID修改设备状态值
putpermission(data){
return sendPutRequest(`/getcontrol/putpermission`, data)
},
//根据权限id修改权限显示或者隐藏
updatePermissionState(data){
return sendPutRequest(`/getcontrol/updatePermissionState`, data)
},
//根据设备ID获取设备控制值
selpermission(data){
return sendGetRequest(`/getcontrol/selpermission`, data)
},
//根据设备ID修改设备控制值
putControlpermission(data){
return sendPutRequest(`/getcontrol/putControlpermission`, data)
},
//根据ID修改施肥机数据
updatedevice(data){
return sendPutRequest(`/device/updatedevice`, data)
},
//根据ID修改施肥机名字
updateFsname(data){
return sendPutRequest(`/update/fsname`, data)
},
//根据用户ID添加小程序气象站
addphoneeqData(data) {
return sendPostRequest(`/getcontrol/addphoneeqData`, data)
},
//根据用户ID删除小程序气象站
delphoneeqData(data) {
return sendDelRequest(`/getcontrol/delphoneeqData`, data)
},
//根据用户ID修改小程序气象站
updatephoneeqData(data) {
return sendPutRequest(`/getcontrol/updatephoneeqData`, data)
},
//修改大数据信息
updateDataDevice(data) {
return sendPutRequest(`/getcontrol/updateBigData`, data)
},
//小程序手机控制权限模块查询
wxgetpermission(data) {
return sendGetRequest(`/getcontrol/wxgetpermission`, data)
},
//查询所有用户
adminAll(data){
return sendGetRequest(`/admin/all`, data)
},
//更新用户信息
updateUser(data){
return sendPutRequest(`/admin/add/userEquipment`, data)
},
//添加用户信息
addUser(data){
return sendPostRequest(`/admin/user`, data)
},
//修改密码
updatePwd(data){
return sendPutRequest(`/user/update/pwd`, data)
},
//设备查询
seldevice(data){
return sendGetRequest(`/admin/seldevice`, data)
},
//删除设备信息
deldevice(data){
return sendDelRequest(`/admin/deldevice`, data)
},
//修改手机控制名称
updatewxgetpermission(data){
return sendPutRequest(`/getcontrol/updatewxgetpermission`, data)
},
//管理员/用户页面删除关联设备信息
delUserByid(data){
return sendDelRequest(`/admin/delUserByid`, data)
},
//管理员/用户页面添加关联设备信息
addUserByid(data){
return sendPostRequest(`/admin/addUserByid`, data)
},
//查询控制器权限
selectallPermissions(data){
return sendGetRequest(`/getcontrol/selectallPermissions`, data)
},
//新增标准控制器权限
addpermissionall(equipmentId, data) {
return sendPostRequest(`/getcontrol/addpermissionall?deviceId=${equipmentId}`, data)
},
//管理控制器权限删除
delpermission(id1, id2) {
return sendDelRequest(`/getcontrol/delpermission?deviceId=${id1}&permissionid=${id2}`, '')
},
//管理控制器权限添加
addpermission(id1, id2) {
return sendPostRequest(`/getcontrol/addpermission?deviceId=${id1}&permissionid=${id2}`, '')
},
//管理 设备管理添加设备
addDevice(data){
return sendPostRequest(`/admin/addDevice`, data)
},
//查询施肥级ICCID
getFsIccid(data){
return sendGetRequest(`/readControl/getFsIccid`, data)
},
//查询控制器权限
getIccid(data){
return sendGetRequest(`/readControl/getIccid`, data)
},
//二维码溯源
//查看农事作物信息
getAgriculturalInformation(data) {
return sendGetRequest(`/code/getAgriculturalInformation`, data)
},
//查看种植计划
getplant(data) {
return sendGetRequest(`/code/getplant`, data)
},
//查看农场信息管理
getcodeFarmInformationManagement(data) {
return sendGetRequest(`/code/getcodeFarmInformationManagement`, data)
},
//上传图片
uploadImage(data) {
return sendPostRequest(`/code/uploadImage`, data)
},
//管理页面上传图片
manageUploadImage(data) {
return sendUploadRequest(`/user/upload`, data)
},
//施肥机系统导入txt的
upLoadFsdataWriteValue(data) {
return sendUploadRequest(`/Fsdata/write/value`, data)
},
//施肥机系统下载txt
FsdataReadValuedownload(data) {
return sendPostRequest(`/Fsdata/read/value?devicecode=${data}`,'')
},
//控制器系统导入
upLoadControlWriteValue(data) {
return sendUploadRequest(`/control/write/value`, data)
},
//控制器系统下载txt
controlReadValuedownload(data) {
return sendPostRequest(`/control/read/value?devicecode=${data}`,'')
},
// 智能灌注
//主页查看智能灌溉控制器
getFi_rtdata(data) {
return sendGetRequest(`/getFi/rtdata`, data)
},
//当天折线图
chart_fidata(data) {
return sendPostRequest(`/chart/fidata?equipmentId=${data}`,'')
},
//智能灌溉1
readFi_irrigate(url,data) {
return sendGetRequest(url, data)
},
//智能灌溉写入
postwriteFi_write(data) {
return sendPostRequest("/writeFi/write", data);
},
//智能灌溉状态值
getFI_getState(data) {
return sendGetRequest("/getFI/getState", data);
},
//智能灌溉系统参数
readControl_getFIIccid(data) {
return sendGetRequest("/readControl/getFIIccid", data);
},
//智能灌溉系统导入txt的
upLoadFIwritevalue(data) {
return sendUploadRequest(`/FI/write/value`, data)
},
//智能灌溉系统导出下载txt
FIreadvaluedownload(data) {
return sendPostRequest(`/FI/read/value?devicecode=${data}`,'')
},
//智能灌溉系统数据上传
readFi_datauploadfi(data) {
return sendGetRequest("/readFi/datauploadfi", data);
},
//智能灌溉固有参数
readFi_intrinsicparameterfi(data) {
return sendGetRequest("/readFi/intrinsicparameterfi", data);
},
//智能灌溉传感器通道
readFi_sensorchannelfi(data) {
return sendGetRequest("/readFi/sensorchannelfi", data);
},
//智能灌溉的名称
getFi_getName(data) {
return sendGetRequest("/getFi/getName", data);
},
//修改智能灌溉名称
getFi_updateName(data){
return sendPutRequest(`/getFi/updateName`, data)
},
//系统页面备忘录获取
readControl_getMemo(data){
return sendGetRequest(`/readControl/getMemo`, data)
},
//系统页面备忘录修改
readControl_setMemo(data){
return sendPostRequest(`/readControl/setMemo`, data)
},
//根据设备id查询控制器权限
getcontrol_cpermission(data){
return sendPostRequest(`/getcontrol/cpermission?deviceId=${data}`, '')
},
//二维码溯源部分
//种植计划
code_getplant(data){
return sendGetRequest(`/code/getplant`, data)
},
};

45
src/api/test.html Normal file
View File

@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
</head>
<body>
<script>
// $.ajax({
// url: 'https://api.lihe-control.com/sel/eqbyid/1', // 请求地址
// type: 'get', // 请求方式
// data: '', //携带到后端的参数
// contentType: 'application/x-www-form-urlencoded', // 传参格式(默认为表单) json为application/json
// dataType: 'json', //期望后端返回的数据类型
// success: function (res) {
// console.log('res', res);
// }, // 成功的回调函数 res就是后端响应回来的数据
// error: function(err) {
// console.log('err', err);
// } // 失败的回调函数
// })
var xhr = new XMLHttpRequest(); // IE8/9需用window.XDomainRequest兼容
// 前端设置是否带cookie
xhr.withCredentials = true;
xhr.open('get', 'https://api.lihe-control.com/sel/eqbyid/1', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.setRequestHeader('token','eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI4NzRmMmRhNTI3NTU0MDAwYjYxODg0OWUzM2Y1ZGI1YyIsInN1YiI6IjEiLCJpc3MiOiJsaCIsImlhdCI6MTY5NTQzODA3NSwiZXhwIjoxNjk1NDc0MDc1fQ.GeGOTtdr6DAsXl-6bqXATenYrcWKc18hRgmiWFgP2QI')
xhr.setRequestHeader("Access-Control-Allow-Methods", "GET, PUT, OPTIONS, POST");
xhr.send();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr);
}
};
</script>
</body>
</html>

4332
src/assets/css/main.css Normal file

File diff suppressed because one or more lines are too long

1
src/assets/css/main.min.css vendored Normal file

File diff suppressed because one or more lines are too long

4593
src/assets/css/main.scss Normal file

File diff suppressed because one or more lines are too long

BIN
src/assets/image/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/assets/image/EC.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
src/assets/image/PH.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
src/assets/image/arrow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

BIN
src/assets/image/avatar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 793 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 739 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1023 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
src/assets/image/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

BIN
src/assets/image/play.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

BIN
src/assets/image/radio.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Some files were not shown because too many files have changed in this diff Show More