Browse Source

代码提交

master
huanglingchen 5 months ago
commit
bb99579534
111 changed files with 4303 additions and 0 deletions
  1. +9
    -0
      .hbuilderx/launch.json
  2. +17
    -0
      App.vue
  3. +215
    -0
      components/carPage/index.vue
  4. +497
    -0
      components/controlPage/index.vue
  5. +9
    -0
      config.js
  6. +20
    -0
      index.html
  7. +38
    -0
      main.js
  8. +79
    -0
      manifest.json
  9. +13
    -0
      node_modules/.package-lock.json
  10. +21
    -0
      node_modules/mitt/LICENSE
  11. +205
    -0
      node_modules/mitt/README.md
  12. +2
    -0
      node_modules/mitt/dist/mitt.js
  13. +1
    -0
      node_modules/mitt/dist/mitt.js.map
  14. +2
    -0
      node_modules/mitt/dist/mitt.mjs
  15. +1
    -0
      node_modules/mitt/dist/mitt.mjs.map
  16. +2
    -0
      node_modules/mitt/dist/mitt.umd.js
  17. +1
    -0
      node_modules/mitt/dist/mitt.umd.js.map
  18. +21
    -0
      node_modules/mitt/index.d.ts
  19. +85
    -0
      node_modules/mitt/package.json
  20. +18
    -0
      package-lock.json
  21. +5
    -0
      package.json
  22. +32
    -0
      pages.json
  23. +249
    -0
      pages/index/index.vue
  24. +154
    -0
      pages/login/LoginPage.vue
  25. +15
    -0
      pages/util/storageHelper.js
  26. BIN
      static/image/duiJie.png
  27. BIN
      static/image/duijieNormal.png
  28. BIN
      static/image/error.png
  29. BIN
      static/image/login.png
  30. BIN
      static/image/login_bg.png
  31. BIN
      static/image/logo.png
  32. BIN
      static/image/normal.png
  33. BIN
      static/image/stop.png
  34. BIN
      static/image/stopEffective.png
  35. BIN
      static/image/taitou.png
  36. +13
    -0
      uni.promisify.adaptor.js
  37. +76
    -0
      uni.scss
  38. BIN
      unpackage/cache/wgt/__UNI__17D2062/.manifest/icon-android-xxxhdpi.png
  39. +16
    -0
      unpackage/cache/wgt/__UNI__17D2062/__uniappautomator.js
  40. +32
    -0
      unpackage/cache/wgt/__UNI__17D2062/__uniappchooselocation.js
  41. BIN
      unpackage/cache/wgt/__UNI__17D2062/__uniapperror.png
  42. +32
    -0
      unpackage/cache/wgt/__UNI__17D2062/__uniappopenlocation.js
  43. +33
    -0
      unpackage/cache/wgt/__UNI__17D2062/__uniapppicker.js
  44. +8
    -0
      unpackage/cache/wgt/__UNI__17D2062/__uniappquill.js
  45. +1
    -0
      unpackage/cache/wgt/__UNI__17D2062/__uniappquillimageresize.js
  46. +32
    -0
      unpackage/cache/wgt/__UNI__17D2062/__uniappscan.js
  47. BIN
      unpackage/cache/wgt/__UNI__17D2062/__uniappsuccess.png
  48. +24
    -0
      unpackage/cache/wgt/__UNI__17D2062/__uniappview.html
  49. +11
    -0
      unpackage/cache/wgt/__UNI__17D2062/app-config-service.js
  50. +1
    -0
      unpackage/cache/wgt/__UNI__17D2062/app-config.js
  51. +1
    -0
      unpackage/cache/wgt/__UNI__17D2062/app-service.js
  52. +2
    -0
      unpackage/cache/wgt/__UNI__17D2062/app.css
  53. +1
    -0
      unpackage/cache/wgt/__UNI__17D2062/manifest.json
  54. +1
    -0
      unpackage/cache/wgt/__UNI__17D2062/pages/index/index.css
  55. BIN
      unpackage/cache/wgt/__UNI__17D2062/static/image/logo.png
  56. BIN
      unpackage/cache/wgt/__UNI__17D2062/static/image/taitou.png
  57. +7
    -0
      unpackage/cache/wgt/__UNI__17D2062/uni-app-view.umd.js
  58. BIN
      unpackage/debug/android_debug.apk
  59. +11
    -0
      unpackage/dist/build/.nvue/app.css.js
  60. +2
    -0
      unpackage/dist/build/.nvue/app.js
  61. +16
    -0
      unpackage/dist/build/app-plus/__uniappautomator.js
  62. +32
    -0
      unpackage/dist/build/app-plus/__uniappchooselocation.js
  63. BIN
      unpackage/dist/build/app-plus/__uniapperror.png
  64. +32
    -0
      unpackage/dist/build/app-plus/__uniappopenlocation.js
  65. +33
    -0
      unpackage/dist/build/app-plus/__uniapppicker.js
  66. +8
    -0
      unpackage/dist/build/app-plus/__uniappquill.js
  67. +1
    -0
      unpackage/dist/build/app-plus/__uniappquillimageresize.js
  68. +32
    -0
      unpackage/dist/build/app-plus/__uniappscan.js
  69. BIN
      unpackage/dist/build/app-plus/__uniappsuccess.png
  70. +24
    -0
      unpackage/dist/build/app-plus/__uniappview.html
  71. +11
    -0
      unpackage/dist/build/app-plus/app-config-service.js
  72. +1
    -0
      unpackage/dist/build/app-plus/app-config.js
  73. +1
    -0
      unpackage/dist/build/app-plus/app-service.js
  74. +2
    -0
      unpackage/dist/build/app-plus/app.css
  75. +114
    -0
      unpackage/dist/build/app-plus/manifest.json
  76. +1
    -0
      unpackage/dist/build/app-plus/pages/index/index.css
  77. BIN
      unpackage/dist/build/app-plus/static/image/logo.png
  78. BIN
      unpackage/dist/build/app-plus/static/image/taitou.png
  79. +7
    -0
      unpackage/dist/build/app-plus/uni-app-view.umd.js
  80. +11
    -0
      unpackage/dist/dev/.nvue/app.css.js
  81. +2
    -0
      unpackage/dist/dev/.nvue/app.js
  82. +16
    -0
      unpackage/dist/dev/app-plus/__uniappautomator.js
  83. +32
    -0
      unpackage/dist/dev/app-plus/__uniappchooselocation.js
  84. BIN
      unpackage/dist/dev/app-plus/__uniapperror.png
  85. +32
    -0
      unpackage/dist/dev/app-plus/__uniappopenlocation.js
  86. +33
    -0
      unpackage/dist/dev/app-plus/__uniapppicker.js
  87. +8
    -0
      unpackage/dist/dev/app-plus/__uniappquill.js
  88. +1
    -0
      unpackage/dist/dev/app-plus/__uniappquillimageresize.js
  89. +32
    -0
      unpackage/dist/dev/app-plus/__uniappscan.js
  90. BIN
      unpackage/dist/dev/app-plus/__uniappsuccess.png
  91. +24
    -0
      unpackage/dist/dev/app-plus/__uniappview.html
  92. +11
    -0
      unpackage/dist/dev/app-plus/app-config-service.js
  93. +1
    -0
      unpackage/dist/dev/app-plus/app-config.js
  94. +1230
    -0
      unpackage/dist/dev/app-plus/app-service.js
  95. +4
    -0
      unpackage/dist/dev/app-plus/app.css
  96. +114
    -0
      unpackage/dist/dev/app-plus/manifest.json
  97. +265
    -0
      unpackage/dist/dev/app-plus/pages/index/index.css
  98. +52
    -0
      unpackage/dist/dev/app-plus/pages/login/LoginPage.css
  99. BIN
      unpackage/dist/dev/app-plus/static/image/duiJie.png
  100. BIN
      unpackage/dist/dev/app-plus/static/image/duijieNormal.png

+ 9
- 0
.hbuilderx/launch.json View File

@ -0,0 +1,9 @@
{
"version" : "1.0",
"configurations" : [
{
"playground" : "custom",
"type" : "uni-app:app-android"
}
]
}

+ 17
- 0
App.vue View File

@ -0,0 +1,17 @@
<script>
export default {
onLaunch: function() {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style>
/*每个页面公共css */
</style>

+ 215
- 0
components/carPage/index.vue View File

@ -0,0 +1,215 @@
<template>
<view class="carInfo">
<view class="carContent">
<view>
<view class="carTitle">
1号支架车
</view>
<view class="carDetail">
<view v-for="item,index in carDetail1" :key="index" :class="item.width==0?'optionWidth':''">
<span>{{item.name}}</span>
<span style="padding-right:4px ;">{{item.val}}</span>
<span>{{index==7||index==11?'mm':index==9?'°':''}}</span>
</view>
</view>
</view>
<view>
<view class="carTitle">
2号支架车
</view>
<view class="carDetail">
<view v-for="item,index in carDetail2" :key="index" :class="item.width==0?'optionWidth':''">
<span>{{item.name}}</span>
<span style="padding-right:4px ;">{{item.val}}</span>
<span>{{index==7||index==11?'mm':index==9?'°':''}}</span>
</view>
</view>
</view>
<view>
<view class="carTitle">
3号支架车
</view>
<view class="carDetail">
<view v-for="item,index in carDetail3" :key="index" :class="item.width==0?'optionWidth':''">
<span>{{item.name}}</span>
<span style="padding-right:4px ;">{{item.val}}</span>
<span>{{index==7||index==11?'mm':index==9?'°':''}}</span>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default{
props:{
carData1:{
type:Array
},
carData2:{
type:Array
},
carData3:{
type:Array
},
},
data(){
return{
dataInter:[
{
name:'支架车在线状态:',
width:0,
val:'离线'
},{
name:'左横移限位:',
width:1,
val:'2'
},{
name:'右横移限位:',
width:1,
val:'3'
},{
name:'上限位:',
width:1,
val:'3'
},{
name:'下限位:',
width:1,
val:'3'
},{
name:'左滚转限位:',
width:1,
val:'3'
},{
name:'右滚转限位:',
width:1,
val:'3'
},{
name:'行进位置:',
width:1,
val:'3'
},{
name:'横移位置:',
width:1,
val:'3'
},{
name:'滚转位置:',
width:1,
val:'3'
},{
name:'超重限位:',
width:1,
val:'3'
},{
name:'升降位置:',
width:0,
val:'3'
}
],
carDetail1:[],
carDetail2:[],
carDetail3:[],
}
},
watch:{
carData1:{
handler(newVal,oldVal){
if(newVal){
this.carDetail1=newVal
}
}
},
carData2:{
handler(newVal,oldVal){
if(newVal){
this.carDetail2=newVal
}
}
},
carData3:{
handler(newVal,oldVal){
if(newVal){
this.carDetail3=newVal
}
}
}
},
mounted() {
this.carDetail1=this.dataInter; //1
this.carDetail2=this.dataInter; //2
this.carDetail3=this.dataInter; //3
}
}
</script>
<style scoped>
.optionWidth{
width: 92% !important;
}
.carInfo{
width: 100%;
height: 90%;
position: absolute;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
}
.carContent{
width: 98%;
height: 98%;
display: flex;
justify-content: space-between;
align-items: center;
}
.carContent>view{
width: 33%;
height: 100%;
border-radius: 10px;
background-color: #ffffff;
}
.carTitle{
display: flex;
justify-content: center;
align-items: center;
border-bottom: 1px solid #ccc;
width: 100%;
height: 8%;
font-size: 24px;
background-color: rgb(204, 204, 204,0.4);
border-radius: 10px 10px 0 0;
}
.carDetail{
width: 100%;
height: 92%;
display: flex;
justify-content: space-around;
align-items: center;
flex-wrap: wrap;
}
.carDetail>view{
width: 42%;
height: 8%;
border-radius: 10px;
border: 1px solid #ccc;
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.12);
display: flex;
justify-content: start;
align-items: center;
padding-left: 4%;
font-size: 18px;
}
.carDetail>view>span{
display: flex;
height: 50%;
align-items: end;
}
</style>

+ 497
- 0
components/controlPage/index.vue View File

@ -0,0 +1,497 @@
<template>
<view class="deviceInfo">
<view class="deviceContent">
<view class="infoShow">
<view class="deviceitle info">设备数据</view>
<view class="deivceData">
<view class='left'>
<view class="left_top">
<view>
<span>设备状态</span>
<image class="Icon" :src="deviceData.lightFlag==0?normalIcon:errorIcon"/>
</view>
<view>
<span>自动对接</span>
<image class="Icon" :src="deviceData.autoDockLightFlag==0?errorIcon:normalIcon"/>
</view>
<view>
<span>急停有效</span>
<image class="Icon" :src="deviceData.stopLightFlag==0?errorIcon:normalIcon"/>
</view>
<view>
<span>自动装填</span>
<image class="Icon" :src="deviceData.autoFillLightFlag==0?errorIcon:normalIcon"/>
</view>
<view>
<span>控制模式</span>
<span>{{deviceData.ctrlFlag==1?'自动':'手动'}}</span>
</view>
<view>
<span>自动退货</span>
<image class="Icon" :src="deviceData.autoReturnLightFlag==0?errorIcon:normalIcon"/>
</view>
</view>
<view class="left-bottom">
<view>
<view style="width: 25%;">设备状态:</view>
<view>
<image class="Icon" :src="normalIcon"/>
<span>正常</span>
</view>
<view>
<image class="Icon" :src="errorIcon"/>
<span>异常</span>
</view>
</view>
<view>
<view style="width: 25%;">急停有效:</view>
<view >
<image class="Icon" :src="normalIcon"/>
<span>有效</span>
</view>
<view >
<image class="Icon" :src="errorIcon"/>
<span>无效</span>
</view>
</view>
<view>
<view style="width: 25%;">自动对接:</view>
<view>
<image class="Icon" :src="normalIcon"/>
<span>有动作</span>
</view>
<view >
<image class="Icon" :src="errorIcon"/>
<span>无动作</span>
</view>
</view>
<view>
<view style="width: 25%;">自动装填:</view>
<view >
<image class="Icon" :src="normalIcon"/>
<span>有动作</span>
</view>
<view >
<image class="Icon" :src="errorIcon"/>
<span>无动作</span>
</view>
</view>
<view>
<view style="width: 25%;">自动退货:</view>
<view >
<image class="Icon" :src="normalIcon"/>
<span>有动作</span>
</view>
<view >
<image class="Icon" :src="errorIcon"/>
<span>无动作</span>
</view>
</view>
</view>
</view>
<view class="right">
<view class="cameraInfo">
<view style="width: 22%;">
<span class="infoTitle">设备在线状态</span>
<span class="detail">{{deviceData.isOnline?'在线':'不在线'}}</span>
</view>
<view style="width: 22%;">
<span class="infoTitle">相机1状态</span>
<span class="detail">{{cameraState(deviceData.cameraOneState)}}</span>
</view>
<view style="width: 22%;">
<span class="infoTitle">相机2状态</span>
<span class="detail">{{cameraState(deviceData.cameraTwoState)}}</span>
</view>
</view>
<view class="directionInfo">
<view style="width: 22%;">
<span class="infoTitle">X方向距离</span>
<span class="detail">{{deviceData.xAxisDistance}}mm</span>
</view>
<view style="width: 22%;">
<span class="infoTitle">Y方向距离</span>
<span class="detail">{{deviceData.yAxisDistance}}mm</span>
</view>
<view style="width: 22%;">
<span class="infoTitle">Z方向距离</span>
<span class="detail">{{deviceData.zAxisDistance}}mm</span>
</view>
</view>
<view class="angleInfo">
<view style="width: 22%;">
<span class="infoTitle" >滚转角度</span>
<span >{{deviceData.horizontalTurnAngle?deviceData.horizontalTurnAngle:'0'}}°</span>
</view>
<view style="width: 22%;">
<span class="infoTitle" >俯仰角度</span>
<span >{{deviceData.upDownAngle?deviceData.upDownAngle:'0'}}°</span>
</view>
<view style="width: 22%;">
<span class="infoTitle" >方位角度</span>
<span class="detail">{{deviceData.directionAngle?deviceData.directionAngle:'0'}}°</span>
</view>
</view>
<view class="encoderInfo">
<view style="width: 28%;">
<span class="infoTitle" >编码器在线状态</span>
<span class="detail">{{deviceData.encoderOnlineState==1?'在线':'离线'}}</span>
</view>
<view style="width: 24%;">
<span class="infoTitle">编码器位置</span>
<span class="detail">{{deviceData.encoderPosition}}mm</span>
</view>
<view style="width: 10%;opacity: 0;">
</view>
</view>
<view class="encoderInfo">
<view style="width: 28%;">
<span class="infoTitle">变频器在线状态</span>
<span class="detail">{{deviceData.vfdOnlineState==1?'在线':'离线'}}</span>
</view>
<view style="width: 24%;">
<span class="infoTitle">变频器故障码</span>
<span class="detail">{{deviceData.vfdFaultCode}}</span>
</view>
<view style="width: 10%;opacity: 0;">
</view>
</view>
<view class="angleInfo">
<view style="width: 28%;">
<span class="infoTitle">电机实际运行电流</span>
<span class="detail">{{deviceData.trueEleCurrent}}</span>
</view>
<view style="opacity: 0;">
</view>
<view style="opacity: 0;">
</view>
</view>
</view>
</view>
</view>
<view class="controlButton">
<view class="deviceitle control">设备控制</view>
<view class="controlContent">
<view @click="controlDevice(1)">对接</view>
<view @click="controlDevice(2)">装填</view>
<view @click="controlDevice(3)">退货</view>
<view @click="controlDevice(4)">急停</view>
<view @click="controlDevice(5)">恢复</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {httpPost} from '../../utils/requset.js';
export default{
props:{
Data:{
type:Object
}
},
data(){
return{
deviceData:{
trueEleCurrent:'', //
vfdOnlineState:'', //线
vfdFaultCode: 1,//
encoderPosition: 100,//mm
encoderOnlineState: 0,//线0-线1-线
upDownAngle:'', //
directionAngle: 100,//°
horizontalTurnAngle: 100,//°
cameraOneState: 1,//10:1234
cameraTwoState: 1,//20:1234
yAxisDistance: 100,//Ymm
xAxisDistance: 100,//Xmm
zAxisDistance: 100,//Zmm
isOnline: false,//线true-线false
autoDockLightFlag: 0,//01
stopLightFlag: 0,//01
autoReturnLightFlag: 0,//退 01
autoFillLightFlag: 0,// 01
ctrlFlag: 0,//0-1-
lightFlag: 1,//0-1-
},
errorIcon:'/static/image/error.png',
normalIcon:'/static/image/normal.png'
}
},
methods:{
controlDevice(value){
console.log(value)
httpPost({
url:`/zhxx/dt/horizonLoadIControl/${value}`,
data:{}
}).then((res)=>{
if(res.code==200){
uni.showToast({
title: res.msg,
icon: "success",
duration: 1000
})
}else{
uni.showToast({
title: res.msg?res.msg:'请求失败',
icon: "error",
duration: 1000
})
}
}).catch((Error)=>{
// console.log(Error)
uni.showToast({
title: Error,
icon: "error",
duration: 1000
})
})
}
},
computed:{
cameraState(){
return function(value){
let cameraData='';
switch(value){
case 0:
cameraData='正常';
break;
case 1:
cameraData='通讯异常';
break;
case 2:
cameraData='无图像';
break;
case 3:
cameraData='光强饱和';
break;
case 4:
cameraData='缺少目标点';
break;
}
return cameraData;
}
}
},
watch:{
Data:{
handler(newVal,oldVal){
if(newVal){
this.deviceData=newVal
}
}
}
}
}
</script>
<style scoped>
.deviceInfo{
width: 100%;
height: 90%;
position: absolute;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
}
.deviceContent{
width: 98%;
height: 98%;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
}
.infoShow{
width: 100%;
height: 72%;
border-radius: 10px;
background-color: #ffffff;
}
.controlButton{
width: 100%;
height: 26%;
border-radius: 10px;
background-color: #ffffff;
}
.deviceitle{
width: 100%;
border-bottom: 1px solid #ccc;
display: flex;
justify-content: center;
align-items: center;
font-size: 28px;
font-weight: bold;
letter-spacing: 10px;
background-color: rgb(204, 204, 204,0.4);
border-radius: 10px 10px 0 0;
}
.info{
height: 10%;
}
.control{
height: 28%;
}
.deivceData{
width: 100%;
height: 88%;
display: flex;
align-items: center;
}
.left{
width: 32%;
height: 100%;
border-right: 1px solid #ccc;
font-size: 18px;
}
.left_top{
width: 100%;
height: 58%;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
align-items: center;
border-bottom: 1px solid #ccc;
}
.left_top>view{
width: 40%;
height: 20%;
display: flex;
justify-content: center;
align-items: center;
border:1px solid #ccc;
border-radius: 10px;
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.12);
}
.Icon{
width: 24px;
height: 24px;
}
.left-bottom{
width: 100%;
height: 36%;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
font-size: 16px;
padding-top: 2%;
}
.left-bottom>view{
width: 70%;
display: flex;
justify-content: space-between;
align-items: center;
}
.left-bottom>view>view{
width: 32%;
display: flex;
justify-content: start;
align-items: center;
}
.controlContent{
width: 100%;
height: 74%;
display: flex;
justify-content: space-around;
align-items: center;
}
.controlContent>view{
width: 12%;
height: 40%;
background-color: #42B983;
color: #ffffff;
font-size: 24px;
display: flex;
justify-content: center;
align-items: center;
border-radius: 10px;
}
.controlContent>view:active{
opacity: 0.6;
}
.right{
width: 68%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
font-size: 18px;
}
.cameraInfo,.directionInfo,.angleInfo,.encoderInfo{
width: 96%;
height: 11%;
display: flex;
justify-content: space-between;
align-items: center;
}
.cameraInfo>view,.directionInfo>view,.angleInfo>view,.encoderInfo>view{
width: 20%;
height: 100%;
display: flex;
justify-content: start;
align-items: center;
border-radius: 10px;
border: 1px solid #ccc;
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.12);
padding: 0 3%;
}
.infoTitle{
/* width: 52%; */
display: flex;
justify-content: center;
align-items: center
}
.detail{
/* width: 28%; */
/* background-color: #ccc; */
}
</style>

+ 9
- 0
config.js View File

@ -0,0 +1,9 @@
// 配置地址
let debug = true
export const CONFIG = {}
if (debug) {
CONFIG['API_BASE_URL'] = 'http://192.168.150.29:10086';
} else {
CONFIG['API_BASE_URL'] = 'http://192.168.150.29:10086';
}

+ 20
- 0
index.html View File

@ -0,0 +1,20 @@
<!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>

+ 38
- 0
main.js View File

@ -0,0 +1,38 @@
import App from './App'
import mitt from "mitt";
// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
...App
})
const eventBus = mitt();
eventBus.$on = eventBus.on;
eventBus.$off = eventBus.off;
eventBus.$emit = eventBus.emit;
app.config.globalProperties.$eventBus = eventBus;
app.$mount()
// #endif
// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
const app = createSSRApp(App)
const eventBus = mitt();
eventBus.$on = eventBus.on;
eventBus.$off = eventBus.off;
eventBus.$emit = eventBus.emit;
app.config.globalProperties.$eventBus = eventBus;
return {
app
}
}
// #endif

+ 79
- 0
manifest.json View File

@ -0,0 +1,79 @@
{
"name" : "ATIA",
"appid" : "__UNI__17D2062",
"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" : {
"dSYMs" : false
},
/* SDK */
"sdkConfigs" : {},
"icons" : {
"android" : {
"xxxhdpi" : "static/image/logo.png"
}
}
}
},
/* */
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "",
"setting" : {
"urlCheck" : false
},
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics" : {
"enable" : false
},
"vueVersion" : "3"
}

+ 13
- 0
node_modules/.package-lock.json View File

@ -0,0 +1,13 @@
{
"name": "SpztPad",
"lockfileVersion": 3,
"requires": true,
"packages": {
"node_modules/mitt": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
"integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
"license": "MIT"
}
}
}

+ 21
- 0
node_modules/mitt/LICENSE View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 Jason Miller
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

+ 205
- 0
node_modules/mitt/README.md View File

@ -0,0 +1,205 @@
<p align="center">
<img src="https://i.imgur.com/BqsX9NT.png" width="300" height="300" alt="mitt">
<br>
<a href="https://www.npmjs.org/package/mitt"><img src="https://img.shields.io/npm/v/mitt.svg" alt="npm"></a>
<img src="https://github.com/developit/mitt/workflows/CI/badge.svg" alt="build status">
<a href="https://unpkg.com/mitt/dist/mitt.js"><img src="https://img.badgesize.io/https://unpkg.com/mitt/dist/mitt.js?compression=gzip" alt="gzip size"></a>
</p>
# Mitt
> Tiny 200b functional event emitter / pubsub.
- **Microscopic:** weighs less than 200 bytes gzipped
- **Useful:** a wildcard `"*"` event type listens to all events
- **Familiar:** same names & ideas as [Node's EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter)
- **Functional:** methods don't rely on `this`
- **Great Name:** somehow [mitt](https://npm.im/mitt) wasn't taken
Mitt was made for the browser, but works in any JavaScript runtime. It has no dependencies and supports IE9+.
## Table of Contents
- [Install](#install)
- [Usage](#usage)
- [Examples & Demos](#examples--demos)
- [API](#api)
- [Contribute](#contribute)
- [License](#license)
## Install
This project uses [node](http://nodejs.org) and [npm](https://npmjs.com). Go check them out if you don't have them locally installed.
```sh
$ npm install --save mitt
```
Then with a module bundler like [rollup](http://rollupjs.org/) or [webpack](https://webpack.js.org/), use as you would anything else:
```javascript
// using ES6 modules
import mitt from 'mitt'
// using CommonJS modules
var mitt = require('mitt')
```
The [UMD](https://github.com/umdjs/umd) build is also available on [unpkg](https://unpkg.com):
```html
<script src="https://unpkg.com/mitt/dist/mitt.umd.js"></script>
```
You can find the library on `window.mitt`.
## Usage
```js
import mitt from 'mitt'
const emitter = mitt()
// listen to an event
emitter.on('foo', e => console.log('foo', e) )
// listen to all events
emitter.on('*', (type, e) => console.log(type, e) )
// fire an event
emitter.emit('foo', { a: 'b' })
// clearing all events
emitter.all.clear()
// working with handler references:
function onFoo() {}
emitter.on('foo', onFoo) // listen
emitter.off('foo', onFoo) // unlisten
```
### Typescript
Set `"strict": true` in your tsconfig.json to get improved type inference for `mitt` instance methods.
```ts
import mitt from 'mitt';
type Events = {
foo: string;
bar?: number;
};
const emitter = mitt<Events>(); // inferred as Emitter<Events>
emitter.on('foo', (e) => {}); // 'e' has inferred type 'string'
emitter.emit('foo', 42); // Error: Argument of type 'number' is not assignable to parameter of type 'string'. (2345)
```
Alternatively, you can use the provided `Emitter` type:
```ts
import mitt, { Emitter } from 'mitt';
type Events = {
foo: string;
bar?: number;
};
const emitter: Emitter<Events> = mitt<Events>();
```
## Examples & Demos
<a href="http://codepen.io/developit/pen/rjMEwW?editors=0110">
<b>Preact + Mitt Codepen Demo</b>
<br>
<img src="https://i.imgur.com/CjBgOfJ.png" width="278" alt="preact + mitt preview">
</a>
* * *
## API
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
#### Table of Contents
- [mitt](#mitt)
- [all](#all)
- [on](#on)
- [Parameters](#parameters)
- [off](#off)
- [Parameters](#parameters-1)
- [emit](#emit)
- [Parameters](#parameters-2)
### mitt
Mitt: Tiny (~200b) functional event emitter / pubsub.
Returns **Mitt**
### all
A Map of event names to registered handler functions.
### on
Register an event handler for the given type.
#### Parameters
- `type` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [symbol](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Symbol))** Type of event to listen for, or `'*'` for all events
- `handler` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Function to call in response to given event
### off
Remove an event handler for the given type.
If `handler` is omitted, all handlers of the given type are removed.
#### Parameters
- `type` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [symbol](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Symbol))** Type of event to unregister `handler` from, or `'*'`
- `handler` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)?** Handler function to remove
### emit
Invoke all handlers for the given type.
If present, `'*'` handlers are invoked after type-matched handlers.
Note: Manually firing '\*' handlers is not supported.
#### Parameters
- `type` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [symbol](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Symbol))** The event type to invoke
- `evt` **Any?** Any value (object is recommended and powerful), passed to each handler
## Contribute
First off, thanks for taking the time to contribute!
Now, take a moment to be sure your contributions make sense to everyone else.
### Reporting Issues
Found a problem? Want a new feature? First of all see if your issue or idea has [already been reported](../../issues).
If don't, just open a [new clear and descriptive issue](../../issues/new).
### Submitting pull requests
Pull requests are the greatest contributions, so be sure they are focused in scope, and do avoid unrelated commits.
- Fork it!
- Clone your fork: `git clone https://github.com/<your-username>/mitt`
- Navigate to the newly cloned directory: `cd mitt`
- Create a new branch for the new feature: `git checkout -b my-new-feature`
- Install the tools necessary for development: `npm install`
- Make your changes.
- Commit your changes: `git commit -am 'Add some feature'`
- Push to the branch: `git push origin my-new-feature`
- Submit a pull request with full remarks documenting your changes.
## License
[MIT License](https://opensource.org/licenses/MIT) © [Jason Miller](https://jasonformat.com/)

+ 2
- 0
node_modules/mitt/dist/mitt.js View File

@ -0,0 +1,2 @@
module.exports=function(n){return{all:n=n||new Map,on:function(e,t){var i=n.get(e);i?i.push(t):n.set(e,[t])},off:function(e,t){var i=n.get(e);i&&(t?i.splice(i.indexOf(t)>>>0,1):n.set(e,[]))},emit:function(e,t){var i=n.get(e);i&&i.slice().map(function(n){n(t)}),(i=n.get("*"))&&i.slice().map(function(n){n(e,t)})}}};
//# sourceMappingURL=mitt.js.map

+ 1
- 0
node_modules/mitt/dist/mitt.js.map View File

@ -0,0 +1 @@
{"version":3,"file":"mitt.js","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<\n\tWildcardHandler<T>\n>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(\n\t\ttype: Key,\n\t\thandler?: Handler<Events[Key]>\n\t): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(\n\t\ttype: undefined extends Events[Key] ? Key : never\n\t): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t} else {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler)\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t} else {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"wBA8CCA,GAOA,MAAO,CAINA,IANDA,EAAMA,GAAO,IAAIC,IAchBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAEdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAEjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}

+ 2
- 0
node_modules/mitt/dist/mitt.mjs View File

@ -0,0 +1,2 @@
export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get("*"))&&i.slice().map(function(n){n(t,e)})}}}
//# sourceMappingURL=mitt.mjs.map

+ 1
- 0
node_modules/mitt/dist/mitt.mjs.map View File

@ -0,0 +1 @@
{"version":3,"file":"mitt.mjs","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<\n\tWildcardHandler<T>\n>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(\n\t\ttype: Key,\n\t\thandler?: Handler<Events[Key]>\n\t): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(\n\t\ttype: undefined extends Events[Key] ? Key : never\n\t): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t} else {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler)\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t} else {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"wBA8CCA,GAOA,MAAO,CAINA,IANDA,EAAMA,GAAO,IAAIC,IAchBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAEdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAEjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}

+ 2
- 0
node_modules/mitt/dist/mitt.umd.js View File

@ -0,0 +1,2 @@
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self).mitt=n()}(this,function(){return function(e){return{all:e=e||new Map,on:function(n,t){var f=e.get(n);f?f.push(t):e.set(n,[t])},off:function(n,t){var f=e.get(n);f&&(t?f.splice(f.indexOf(t)>>>0,1):e.set(n,[]))},emit:function(n,t){var f=e.get(n);f&&f.slice().map(function(e){e(t)}),(f=e.get("*"))&&f.slice().map(function(e){e(n,t)})}}}});
//# sourceMappingURL=mitt.umd.js.map

+ 1
- 0
node_modules/mitt/dist/mitt.umd.js.map View File

@ -0,0 +1 @@
{"version":3,"file":"mitt.umd.js","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<\n\tWildcardHandler<T>\n>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(\n\t\ttype: Key,\n\t\thandler?: Handler<Events[Key]>\n\t): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(\n\t\ttype: undefined extends Events[Key] ? Key : never\n\t): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t} else {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler)\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t} else {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"6LA8CCA,GAOA,MAAO,CAINA,IANDA,EAAMA,GAAO,IAAIC,IAchBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAEdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAEjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}

+ 21
- 0
node_modules/mitt/index.d.ts View File

@ -0,0 +1,21 @@
export declare type EventType = string | symbol;
export declare type Handler<T = unknown> = (event: T) => void;
export declare type WildcardHandler<T = Record<string, unknown>> = (type: keyof T, event: T[keyof T]) => void;
export declare type EventHandlerList<T = unknown> = Array<Handler<T>>;
export declare type WildCardEventHandlerList<T = Record<string, unknown>> = Array<WildcardHandler<T>>;
export declare type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<keyof Events | '*', EventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>>;
export interface Emitter<Events extends Record<EventType, unknown>> {
all: EventHandlerMap<Events>;
on<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;
on(type: '*', handler: WildcardHandler<Events>): void;
off<Key extends keyof Events>(type: Key, handler?: Handler<Events[Key]>): void;
off(type: '*', handler: WildcardHandler<Events>): void;
emit<Key extends keyof Events>(type: Key, event: Events[Key]): void;
emit<Key extends keyof Events>(type: undefined extends Events[Key] ? Key : never): void;
}
/**
* Mitt: Tiny (~200b) functional event emitter / pubsub.
* @name mitt
* @returns {Mitt}
*/
export default function mitt<Events extends Record<EventType, unknown>>(all?: EventHandlerMap<Events>): Emitter<Events>;

+ 85
- 0
node_modules/mitt/package.json View File

@ -0,0 +1,85 @@
{
"name": "mitt",
"version": "3.0.1",
"description": "Tiny 200b functional Event Emitter / pubsub.",
"module": "dist/mitt.mjs",
"main": "dist/mitt.js",
"jsnext:main": "dist/mitt.mjs",
"umd:main": "dist/mitt.umd.js",
"source": "src/index.ts",
"typings": "index.d.ts",
"exports": {
"types": "./index.d.ts",
"module": "./dist/mitt.mjs",
"import": "./dist/mitt.mjs",
"require": "./dist/mitt.js",
"default": "./dist/mitt.mjs"
},
"scripts": {
"test": "npm-run-all --silent typecheck lint mocha test-types",
"mocha": "mocha test",
"test-types": "tsc test/test-types-compilation.ts --noEmit --strict",
"lint": "eslint src test --ext ts --ext js",
"typecheck": "tsc --noEmit",
"bundle": "microbundle -f es,cjs,umd",
"build": "npm-run-all --silent clean -p bundle -s docs",
"clean": "rimraf dist",
"docs": "documentation readme src/index.ts --section API -q --parse-extension ts",
"release": "npm run -s build -s && npm t && git commit -am $npm_package_version && git tag $npm_package_version && git push && git push --tags && npm publish"
},
"repository": "developit/mitt",
"keywords": [
"events",
"eventemitter",
"emitter",
"pubsub"
],
"homepage": "https://github.com/developit/mitt",
"authors": [
"Jason Miller <jason@developit.ca>"
],
"license": "MIT",
"files": [
"dist",
"index.d.ts"
],
"mocha": {
"extension": [
"ts"
],
"require": [
"ts-node/register",
"esm"
],
"spec": [
"test/*_test.ts"
]
},
"prettier": {
"singleQuote": true,
"trailingComma": "none"
},
"devDependencies": {
"@types/chai": "^4.2.11",
"@types/mocha": "^7.0.2",
"@types/sinon": "^9.0.4",
"@types/sinon-chai": "^3.2.4",
"@typescript-eslint/eslint-plugin": "^5.61.0",
"@typescript-eslint/parser": "^5.61.0",
"chai": "^4.2.0",
"documentation": "^14.0.2",
"eslint": "^7.32.0",
"eslint-config-developit": "^1.2.0",
"eslint-plugin-compat": "^4.1.4",
"esm": "^3.2.25",
"microbundle": "^0.12.3",
"mocha": "^8.0.1",
"npm-run-all": "^4.1.5",
"prettier": "^2.8.8",
"rimraf": "^3.0.2",
"sinon": "^9.0.2",
"sinon-chai": "^3.5.0",
"ts-node": "^10.9.1",
"typescript": "^4.9.5"
}
}

+ 18
- 0
package-lock.json View File

@ -0,0 +1,18 @@
{
"name": "SpztPad",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"mitt": "^3.0.1"
}
},
"node_modules/mitt": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
"integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
"license": "MIT"
}
}
}

+ 5
- 0
package.json View File

@ -0,0 +1,5 @@
{
"dependencies": {
"mitt": "^3.0.1"
}
}

+ 32
- 0
pages.json View File

@ -0,0 +1,32 @@
{
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/login/LoginPage",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom",
"app-plus" : {
"background" : "#0F2265"
}
}
},
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom",
"app-plus" : {
"background" : "#0F2265"
}
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"navigationStyle": "custom",
"backgroundColor": "#F8F8F8"
},
"uniIdRouter": {}
}

+ 249
- 0
pages/index/index.vue View File

@ -0,0 +1,249 @@
<template>
<view class="content" style='background-color:#09154F;height: 784px;'>
<image src="../../static/image/taitou.png" style="width: 100%;height:7%;position: absolute;"></image>
<view class="title">
<text>控制终端</text>
</view>
<view class="optionButton">
<span :class="optionIndex==0?'pitch':''" @click="cutOption(0)">控制面板</span>
<span :class="optionIndex==1?'pitch':''" @click="cutOption(1)">车辆面板</span>
</view>
<view class="outButton">
<span :class="optionIndex==2?'pitch':''" @click="outLogin()">退出</span>
</view>
<controlPage v-if="optionIndex==0" :Data='deviceData'></controlPage>
<carPage v-if="optionIndex==1" :carData1='carData1' :carData2='carData2' :carData3='carData3'></carPage>
</view>
</template>
<script>
import controlPage from '/components/controlPage/index.vue';
import carPage from '/components/carPage/index.vue';
import {httpPost} from '../../utils/requset.js';
export default {
components: {
controlPage,
carPage
},
data() {
return {
optionIndex:1,
dataInter:[
{
name:'支架车在线状态:',
width:0,
val:''
},{
name:'左横移限位:',
width:1,
val:''
},{
name:'右横移限位:',
width:1,
val:''
},{
name:'上限位:',
width:1,
val:''
},{
name:'下限位:',
width:1,
val:''
},{
name:'左滚转限位:',
width:1,
val:''
},{
name:'右滚转限位:',
width:1,
val:''
},{
name:'行进位置:',
width:1,
val:''
},{
name:'横移位置:',
width:1,
val:''
},{
name:'滚转位置:',
width:1,
val:''
},{
name:'超重限位:',
width:1,
val:''
},{
name:'升降位置:',
width:0,
val:''
}
],
carData1:[],
carData2:[],
carData3:[],
deviceData:{},
}
},
methods: {
cutOption(value){
this.optionIndex=value
},
outLogin(){
uni.showModal({
title: '提示',
content: '是否退出',
success: (res)=>{
if (res.confirm) {
httpPost({
url:'/logout',
data:{}
}).then((res)=>{
console.log(res)
uni.reLaunch({
url:"/pages/login/LoginPage"
})
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
deviceAjax(){
httpPost({
url:'/zhxx/dt/horizonLoadInfo',
data:{}
}).then((res)=>{
if(res.code==200){
this.deviceData=res.data;
this.carData1=this.carEntsorgen(res.data,1);
this.carData2=this.carEntsorgen(res.data,2);
this.carData3=this.carEntsorgen(res.data,3);
}
// this.deviceData=this.mock.data;
// this.carData1=this.carEntsorgen(this.mock.data,1);
// this.carData2=this.carEntsorgen(this.mock.data,2);
// this.carData3=this.carEntsorgen(this.mock.data,3);
// else{
// uni.showToast({
// title:'',
// icon:'error',
// duration:1200
// })
// }
})
},
carEntsorgen(value,type){
let data=value;
let arrData=this.dataInter;
if(type==1){
arrData[0].val=value.online==1?'在线':'离线';
arrData[1].val=value.leftHorizontalLimit;
arrData[2].val=value.rightHorizontalLimit;
arrData[3].val=value.downLimit;
arrData[4].val=value.upLimit;
arrData[5].val=value.leftTurnLimit;
arrData[6].val=value.rightTurnLimit;
arrData[7].val=value.walkAxisPosition;
arrData[8].val=value.horizontalAxisPosition;
arrData[9].val=value.turnPosition;
arrData[10].val=value.overWeightLimit;
arrData[11].val=value.liftPosition;
}else if(type==2){
arrData[0].val=value.onlineTwo==1?'在线':'离线';
arrData[1].val=value.leftHorizontalLimitTwo;
arrData[2].val=value.rightHorizontalLimitTwo;
arrData[3].val=value.downLimitTwo;
arrData[4].val=value.upLimitTwo;
arrData[5].val=value.leftTurnLimitTwo;
arrData[6].val=value.rightTurnLimitTwo;
arrData[7].val=value.walkAxisPositionTwo;
arrData[8].val=value.horizontalAxisPositionTwo;
arrData[9].val=value.turnPositionTwo;
arrData[10].val=value.overWeightLimitTwo;
arrData[11].val=value.liftPositionTwo;
}else{
arrData[0].val=value.onlineThree==1?'在线':'离线';
arrData[1].val=value.leftHorizontalLimitThree;
arrData[2].val=value.rightHorizontalLimitThree;
arrData[3].val=value.downLimitThree;
arrData[4].val=value.upLimitThree;
arrData[5].val=value.leftTurnLimitThree;
arrData[6].val=value.rightTurnLimitThree;
arrData[7].val=value.walkAxisPositionThree;
arrData[8].val=value.horizontalAxisPositionThree;
arrData[9].val=value.turnPositionThree;
arrData[10].val=value.overWeightLimitThree;
arrData[11].val=value.liftPositionThree;
}
return arrData;
}
},
watch: {
},
onLoad() {
plus.screen.lockOrientation('landscape-primary'); //
uni.getSystemInfo({
success: (info) => {
this.screenHeight = info.windowHeight;
}
});
},
mounted() {
this.deviceAjax();
setInterval(()=>{
this.deviceAjax();
},1000)
}
}
</script>
<style scoped>
.pitch {
color: #0372D7;
}
.content {
position: relative;
width: 100%;
}
.title {
position: absolute;
left: 50%;
transform: translateX(-50%);
color: #ffffff;
top: 0;
font-size: 34px;
letter-spacing: 4px;
z-index: 99;
}
.optionButton{
width: 20%;
height: 5%;
position: absolute;
top: 5.6%;
font-size: 24px;
display: flex;
justify-content: space-around;
align-items: center;
color: #ffffff;
}
.outButton{
font-size: 24px;
color: #ffffff;
position: absolute;
top: 5.6%;
right: 2%;
}
</style>

+ 154
- 0
pages/login/LoginPage.vue View File

@ -0,0 +1,154 @@
<template>
<view class="content">
<image class="logo" src="../../static/image/login.png"></image>
<view class="text-area">
<text class="title">管理终端</text>
</view>
<view class="user">
<input type="text" placeholder="账号" v-model="username" name="username">
<input type="password" placeholder="密码" v-model="password" name="password">
</view>
<view class="btn" @tap="skip">登录</view>
</view>
</template>
<script>
import {httpPost} from '../../utils/requset.js';
import {getItem,setItem} from "../util/storageHelper";
export default {
data() {
return {
title: 'Hello',
username: "admin",
password: "admin123",
}
},
onLoad() {
uni.removeStorageSync('NUM', 'message');
plus.screen.lockOrientation('landscape-primary'); //
},
methods: {
skip() {
let username = this.username;
let password = this.password;
let password1='666666';
if (username && password) {
console.log(username, password)
httpPost({
url: '/login',
data: {
username,
password
}
}).then((res) => {
console.log(res)
if (res.data.code == 200) {
console.log(res.data)
let token = res.data.token;
setItem('token1', token);
setItem('username', username);
this.goSystem();
}else if(res.data.status == 403){
httpPost({
url:'/logout',
data:{}
}).then((res)=>{
console.log(res)
})
}
}).catch((err) => {
uni.showToast({
title:'无法连接到服务',
icon:'error'
})
console.log(err)
uni.showToast({
icon:'error',
title:'连接服务器失败'
})
})
} else if (!username) {
uni.showToast({
title: "请输入用户名",
icon: "error",
duration: 1000
})
} else {
uni.showToast({
title: "请输入密码",
icon: "error",
duration: 1000
})
}
},
goSystem() {
uni.reLaunch({
url: "/pages/index/index"
})
}
},
mounted() {
}
}
</script>
<style>
.content {
display: flex;
flex-direction: column;
align-items: center;
background-image: url(../../static/image/login_bg.png);
background-size: 100% 100%;
color: #fff;
width: 100%;
height: 100%;
}
.logo {
width: 400px;
height: 320px;
}
.text-area {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 2%;
}
.title {
font-size: 36px;
}
.user {
width: 90%;
height: 25%;
display: flex;
flex-direction: column;
align-items: center;
}
.user input {
width: 400px;
height: 50px;
border: 1rpx solid #567192;
outline: none;
padding-left: 20px;
margin: 20px 0;
}
.btn {
width: 250px;
height: 40px;
background-color: #879FBE;
color: #0A62CF;
border: 1rpx solid #567192;
outline: none;
margin: 20px 0;
border-radius: 50px;
text-align: center;
line-height: 40px;
font-size: 20px;
}
</style>

+ 15
- 0
pages/util/storageHelper.js View File

@ -0,0 +1,15 @@
export function removeItem(key) {
uni.removeStorageSync(key)
}
export function getItem(key) {
return uni.getStorageSync(key);
}
export function setItem(key, value) {
uni.setStorageSync(key, value);
}
export function clear() {
uni.clearStorageSync();
}

BIN
static/image/duiJie.png View File

Before After
Width: 48  |  Height: 48  |  Size: 609 B

BIN
static/image/duijieNormal.png View File

Before After
Width: 48  |  Height: 48  |  Size: 646 B

BIN
static/image/error.png View File

Before After
Width: 48  |  Height: 48  |  Size: 649 B

BIN
static/image/login.png View File

Before After
Width: 172  |  Height: 131  |  Size: 14 KiB

BIN
static/image/login_bg.png View File

Before After
Width: 1920  |  Height: 1080  |  Size: 827 KiB

BIN
static/image/logo.png View File

Before After
Width: 192  |  Height: 192  |  Size: 6.3 KiB

BIN
static/image/normal.png View File

Before After
Width: 48  |  Height: 48  |  Size: 699 B

BIN
static/image/stop.png View File

Before After
Width: 48  |  Height: 48  |  Size: 1.7 KiB

BIN
static/image/stopEffective.png View File

Before After
Width: 48  |  Height: 48  |  Size: 1.4 KiB

BIN
static/image/taitou.png View File

Before After
Width: 1920  |  Height: 92  |  Size: 29 KiB

+ 13
- 0
uni.promisify.adaptor.js View File

@ -0,0 +1,13 @@
uni.addInterceptor({
returnValue (res) {
if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) {
return res;
}
return new Promise((resolve, reject) => {
res.then((res) => {
if (!res) return resolve(res)
return res[0] ? reject(res[0]) : resolve(res[1])
});
});
},
});

+ 76
- 0
uni.scss View File

@ -0,0 +1,76 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;
/* 文字基本颜色 */
$uni-text-color:#333;//基本色
$uni-text-color-inverse:#fff;//反色
$uni-text-color-grey:#999;//辅助灰色如加载更多的提示信息
$uni-text-color-placeholder: #808080;
$uni-text-color-disable:#c0c0c0;
/* 背景颜色 */
$uni-bg-color:#ffffff;
$uni-bg-color-grey:#f8f8f8;
$uni-bg-color-hover:#f1f1f1;//点击状态颜色
$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
/* 边框颜色 */
$uni-border-color:#c8c7cc;
/* 尺寸变量 */
/* 文字尺寸 */
$uni-font-size-sm:12px;
$uni-font-size-base:14px;
$uni-font-size-lg:16px;
/* 图片尺寸 */
$uni-img-size-sm:20px;
$uni-img-size-base:26px;
$uni-img-size-lg:40px;
/* Border Radius */
$uni-border-radius-sm: 2px;
$uni-border-radius-base: 3px;
$uni-border-radius-lg: 6px;
$uni-border-radius-circle: 50%;
/* 水平间距 */
$uni-spacing-row-sm: 5px;
$uni-spacing-row-base: 10px;
$uni-spacing-row-lg: 15px;
/* 垂直间距 */
$uni-spacing-col-sm: 4px;
$uni-spacing-col-base: 8px;
$uni-spacing-col-lg: 12px;
/* 透明度 */
$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
/* 文章场景相关 */
$uni-color-title: #2C405A; // 文章标题颜色
$uni-font-size-title:20px;
$uni-color-subtitle: #555555; // 二级标题颜色
$uni-font-size-subtitle:26px;
$uni-color-paragraph: #3F536E; // 文章段落颜色
$uni-font-size-paragraph:15px;

BIN
unpackage/cache/wgt/__UNI__17D2062/.manifest/icon-android-xxxhdpi.png View File

Before After
Width: 192  |  Height: 192  |  Size: 6.3 KiB

+ 16
- 0
unpackage/cache/wgt/__UNI__17D2062/__uniappautomator.js
File diff suppressed because it is too large
View File


+ 32
- 0
unpackage/cache/wgt/__UNI__17D2062/__uniappchooselocation.js
File diff suppressed because it is too large
View File


BIN
unpackage/cache/wgt/__UNI__17D2062/__uniapperror.png View File

Before After
Width: 200  |  Height: 200  |  Size: 5.7 KiB

+ 32
- 0
unpackage/cache/wgt/__UNI__17D2062/__uniappopenlocation.js
File diff suppressed because it is too large
View File


+ 33
- 0
unpackage/cache/wgt/__UNI__17D2062/__uniapppicker.js
File diff suppressed because it is too large
View File


+ 8
- 0
unpackage/cache/wgt/__UNI__17D2062/__uniappquill.js
File diff suppressed because it is too large
View File


+ 1
- 0
unpackage/cache/wgt/__UNI__17D2062/__uniappquillimageresize.js
File diff suppressed because it is too large
View File


+ 32
- 0
unpackage/cache/wgt/__UNI__17D2062/__uniappscan.js
File diff suppressed because it is too large
View File


BIN
unpackage/cache/wgt/__UNI__17D2062/__uniappsuccess.png View File

Before After
Width: 165  |  Height: 165  |  Size: 2.0 KiB

+ 24
- 0
unpackage/cache/wgt/__UNI__17D2062/__uniappview.html View File

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>View</title>
<link rel="icon" href="data:,">
<link rel="stylesheet" href="app.css" />
<script>var __uniConfig = {"globalStyle":{},"darkmode":false}</script>
<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>
</head>
<body>
<div id="app"></div>
<script src="uni-app-view.umd.js"></script>
</body>
</html>

+ 11
- 0
unpackage/cache/wgt/__UNI__17D2062/app-config-service.js View File

@ -0,0 +1,11 @@
;(function(){
let u=void 0,isReady=false,onReadyCallbacks=[],isServiceReady=false,onServiceReadyCallbacks=[];
const __uniConfig = {"pages":[],"globalStyle":{"backgroundColor":"#F8F8F8","navigationBar":{"backgroundColor":"#F8F8F8","titleText":"uni-app","style":"custom","type":"default","titleColor":"#000000"},"isNVue":false},"nvue":{"compiler":"uni-app","styleCompiler":"uni-app","flex-direction":"column"},"renderer":"auto","appname":"ATIA","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":true},"compilerVersion":"4.66","entryPagePath":"pages/index/index","entryPageQuery":"","realEntryPagePath":"","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"locales":{},"darkmode":false,"themeConfig":{}};
const __uniRoutes = [{"path":"pages/index/index","meta":{"isQuit":true,"isEntry":true,"background":"#0F2265","navigationBar":{"titleText":"","style":"custom","type":"default"},"isNVue":false}}].map(uniRoute=>(uniRoute.meta.route=uniRoute.path,__uniConfig.pages.push(uniRoute.path),uniRoute.path='/'+uniRoute.path,uniRoute));
__uniConfig.styles=[];//styles
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:16})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:u,window:u,document:u,frames:u,self:u,location:u,navigator:u,localStorage:u,history:u,Caches:u,screen:u,alert:u,confirm:u,prompt:u,fetch:u,XMLHttpRequest:u,WebSocket:u,webkit:u,print:u}}}});
})();

+ 1
- 0
unpackage/cache/wgt/__UNI__17D2062/app-config.js View File

@ -0,0 +1 @@
(function(){})();

+ 1
- 0
unpackage/cache/wgt/__UNI__17D2062/app-service.js View File

@ -0,0 +1 @@
if("undefined"==typeof Promise||Promise.prototype.finally||(Promise.prototype.finally=function(e){const t=this.constructor;return this.then((n=>t.resolve(e()).then((()=>n))),(n=>t.resolve(e()).then((()=>{throw n}))))}),"undefined"!=typeof uni&&uni&&uni.requireGlobal){const e=uni.requireGlobal();ArrayBuffer=e.ArrayBuffer,Int8Array=e.Int8Array,Uint8Array=e.Uint8Array,Uint8ClampedArray=e.Uint8ClampedArray,Int16Array=e.Int16Array,Uint16Array=e.Uint16Array,Int32Array=e.Int32Array,Uint32Array=e.Uint32Array,Float32Array=e.Float32Array,Float64Array=e.Float64Array,BigInt64Array=e.BigInt64Array,BigUint64Array=e.BigUint64Array}uni.restoreGlobal&&uni.restoreGlobal(Vue,weex,plus,setTimeout,clearTimeout,setInterval,clearInterval),function(e){"use strict";function t(e,t,...n){uni.__log__?uni.__log__(e,t,...n):console[e].apply(console,[...n,t])}__definePage("pages/index/index",((e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n})({data:()=>({screenHeight:""}),methods:{},watch:{},onLoad(){plus.screen.lockOrientation("landscape-primary"),uni.getSystemInfo({success:e=>{this.screenHeight=e.windowHeight}})},onShow(){},onUnload(){}},[["render",function(t,n,o,r,a,i){return e.openBlock(),e.createElementBlock("view",{class:"content",style:{"background-color":"#09154F",height:"784px"}},[e.createElementVNode("image",{src:"/static/image/taitou.png",style:{width:"100%",height:"7%",position:"absolute"}}),e.createElementVNode("view",{class:"title"},[e.createElementVNode("text",null,"spzt控制终端")]),e.createElementVNode("view",{class:"deviceInfo"},[e.createElementVNode("view",{class:"infoDetail"}),e.createElementVNode("view",{class:"buttonContent"},[e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"},"装填")]),e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"},"分离")]),e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"},"组装")]),e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"})]),e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"})]),e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"})])])])])}],["__scopeId","data-v-e640a569"]]));const n={onLaunch:function(){t("log","at App.vue:4","App Launch")},onShow:function(){t("log","at App.vue:7","App Show")},onHide:function(){t("log","at App.vue:10","App Hide")}};const{app:o,Vuex:r,Pinia:a}={app:e.createVueApp(n)};uni.Vuex=r,uni.Pinia=a,o.provide("__globalStyles",__uniConfig.styles),o._component.mpType="app",o._component.render=()=>{},o.mount("#app")}(Vue);

+ 2
- 0
unpackage/cache/wgt/__UNI__17D2062/app.css
File diff suppressed because it is too large
View File


+ 1
- 0
unpackage/cache/wgt/__UNI__17D2062/manifest.json View File

@ -0,0 +1 @@
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__17D2062","name":"ATIA","version":{"name":"1.0.0","code":"100"},"description":"","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"autoclose":true,"delay":0,"target":"id:1","waiting":true},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"xxxhdpi":"icon-android-xxxhdpi.png"}},"google":{"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\"/>"],"packagename":"uni.app.UNI17D2062","custompermissions":true},"apple":{"dSYMs":false,"plistcmds":["Add :UIFileSharingEnabled bool true"],"devices":"universal"},"plugins":{"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}},"debug":true,"syncDebug":true,"orientation":"portrait-primary"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"uni-app":{"control":"uni-v3","vueVersion":"3","compilerVersion":"4.66","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal","webView":{"minUserAgentVersion":"49.0"}},"adid":"124310290005"},"app-harmony":{"useragent":{"value":"uni-app","concatenate":true},"uniStatistics":{"enable":false}},"launch_path":"__uniappview.html"}

+ 1
- 0
unpackage/cache/wgt/__UNI__17D2062/pages/index/index.css View File

@ -0,0 +1 @@
.content[data-v-e640a569]{position:relative;width:100%}.title[data-v-e640a569]{position:absolute;left:50%;transform:translate(-50%);color:#fff;top:0;font-size:34px;letter-spacing:4px;z-index:99}.deviceInfo[data-v-e640a569]{width:100%;height:92%;position:absolute;bottom:0}.infoDetail[data-v-e640a569]{width:100%;height:60%}.buttonContent[data-v-e640a569]{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;width:100%;height:40%}.buttonContent>uni-view[data-v-e640a569]{width:30%;height:40%;display:flex;justify-content:center;align-items:center}.button[data-v-e640a569]{width:70%;height:90%;background-color:#0a62cf;border-radius:15px;display:flex;justify-content:center;align-items:center;font-size:30px;color:#fff}.button[data-v-e640a569]:active{opacity:.4}

BIN
unpackage/cache/wgt/__UNI__17D2062/static/image/logo.png View File

Before After
Width: 192  |  Height: 192  |  Size: 6.3 KiB

BIN
unpackage/cache/wgt/__UNI__17D2062/static/image/taitou.png View File

Before After
Width: 1920  |  Height: 92  |  Size: 29 KiB

+ 7
- 0
unpackage/cache/wgt/__UNI__17D2062/uni-app-view.umd.js
File diff suppressed because it is too large
View File


BIN
unpackage/debug/android_debug.apk View File


+ 11
- 0
unpackage/dist/build/.nvue/app.css.js View File

@ -0,0 +1,11 @@
var __getOwnPropNames = Object.getOwnPropertyNames;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var require_app_css = __commonJS({
"app.css.js"(exports) {
const _style_0 = {};
exports.styles = [_style_0];
}
});
export default require_app_css();

+ 2
- 0
unpackage/dist/build/.nvue/app.js View File

@ -0,0 +1,2 @@
Promise.resolve("./app.css.js").then(() => {
});

+ 16
- 0
unpackage/dist/build/app-plus/__uniappautomator.js
File diff suppressed because it is too large
View File


+ 32
- 0
unpackage/dist/build/app-plus/__uniappchooselocation.js
File diff suppressed because it is too large
View File


BIN
unpackage/dist/build/app-plus/__uniapperror.png View File

Before After
Width: 200  |  Height: 200  |  Size: 5.7 KiB

+ 32
- 0
unpackage/dist/build/app-plus/__uniappopenlocation.js
File diff suppressed because it is too large
View File


+ 33
- 0
unpackage/dist/build/app-plus/__uniapppicker.js
File diff suppressed because it is too large
View File


+ 8
- 0
unpackage/dist/build/app-plus/__uniappquill.js
File diff suppressed because it is too large
View File


+ 1
- 0
unpackage/dist/build/app-plus/__uniappquillimageresize.js
File diff suppressed because it is too large
View File


+ 32
- 0
unpackage/dist/build/app-plus/__uniappscan.js
File diff suppressed because it is too large
View File


BIN
unpackage/dist/build/app-plus/__uniappsuccess.png View File

Before After
Width: 165  |  Height: 165  |  Size: 2.0 KiB

+ 24
- 0
unpackage/dist/build/app-plus/__uniappview.html View File

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>View</title>
<link rel="icon" href="data:,">
<link rel="stylesheet" href="app.css" />
<script>var __uniConfig = {"globalStyle":{},"darkmode":false}</script>
<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>
</head>
<body>
<div id="app"></div>
<script src="uni-app-view.umd.js"></script>
</body>
</html>

+ 11
- 0
unpackage/dist/build/app-plus/app-config-service.js View File

@ -0,0 +1,11 @@
;(function(){
let u=void 0,isReady=false,onReadyCallbacks=[],isServiceReady=false,onServiceReadyCallbacks=[];
const __uniConfig = {"pages":[],"globalStyle":{"backgroundColor":"#F8F8F8","navigationBar":{"backgroundColor":"#F8F8F8","titleText":"uni-app","style":"custom","type":"default","titleColor":"#000000"},"isNVue":false},"nvue":{"compiler":"uni-app","styleCompiler":"uni-app","flex-direction":"column"},"renderer":"auto","appname":"ATIA","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":true},"compilerVersion":"4.66","entryPagePath":"pages/index/index","entryPageQuery":"","realEntryPagePath":"","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"locales":{},"darkmode":false,"themeConfig":{}};
const __uniRoutes = [{"path":"pages/index/index","meta":{"isQuit":true,"isEntry":true,"background":"#0F2265","navigationBar":{"titleText":"","style":"custom","type":"default"},"isNVue":false}}].map(uniRoute=>(uniRoute.meta.route=uniRoute.path,__uniConfig.pages.push(uniRoute.path),uniRoute.path='/'+uniRoute.path,uniRoute));
__uniConfig.styles=[];//styles
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:16})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:u,window:u,document:u,frames:u,self:u,location:u,navigator:u,localStorage:u,history:u,Caches:u,screen:u,alert:u,confirm:u,prompt:u,fetch:u,XMLHttpRequest:u,WebSocket:u,webkit:u,print:u}}}});
})();

+ 1
- 0
unpackage/dist/build/app-plus/app-config.js View File

@ -0,0 +1 @@
(function(){})();

+ 1
- 0
unpackage/dist/build/app-plus/app-service.js View File

@ -0,0 +1 @@
if("undefined"==typeof Promise||Promise.prototype.finally||(Promise.prototype.finally=function(e){const t=this.constructor;return this.then((n=>t.resolve(e()).then((()=>n))),(n=>t.resolve(e()).then((()=>{throw n}))))}),"undefined"!=typeof uni&&uni&&uni.requireGlobal){const e=uni.requireGlobal();ArrayBuffer=e.ArrayBuffer,Int8Array=e.Int8Array,Uint8Array=e.Uint8Array,Uint8ClampedArray=e.Uint8ClampedArray,Int16Array=e.Int16Array,Uint16Array=e.Uint16Array,Int32Array=e.Int32Array,Uint32Array=e.Uint32Array,Float32Array=e.Float32Array,Float64Array=e.Float64Array,BigInt64Array=e.BigInt64Array,BigUint64Array=e.BigUint64Array}uni.restoreGlobal&&uni.restoreGlobal(Vue,weex,plus,setTimeout,clearTimeout,setInterval,clearInterval),function(e){"use strict";function t(e,t,...n){uni.__log__?uni.__log__(e,t,...n):console[e].apply(console,[...n,t])}__definePage("pages/index/index",((e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n})({data:()=>({screenHeight:""}),methods:{},watch:{},onLoad(){plus.screen.lockOrientation("landscape-primary"),uni.getSystemInfo({success:e=>{this.screenHeight=e.windowHeight}})},onShow(){},onUnload(){}},[["render",function(t,n,o,r,a,i){return e.openBlock(),e.createElementBlock("view",{class:"content",style:{"background-color":"#09154F",height:"784px"}},[e.createElementVNode("image",{src:"/static/image/taitou.png",style:{width:"100%",height:"7%",position:"absolute"}}),e.createElementVNode("view",{class:"title"},[e.createElementVNode("text",null,"spzt控制终端")]),e.createElementVNode("view",{class:"deviceInfo"},[e.createElementVNode("view",{class:"infoDetail"}),e.createElementVNode("view",{class:"buttonContent"},[e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"},"装填")]),e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"},"分离")]),e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"},"组装")]),e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"})]),e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"})]),e.createElementVNode("view",null,[e.createElementVNode("view",{class:"button"})])])])])}],["__scopeId","data-v-e640a569"]]));const n={onLaunch:function(){t("log","at App.vue:4","App Launch")},onShow:function(){t("log","at App.vue:7","App Show")},onHide:function(){t("log","at App.vue:10","App Hide")}};const{app:o,Vuex:r,Pinia:a}={app:e.createVueApp(n)};uni.Vuex=r,uni.Pinia=a,o.provide("__globalStyles",__uniConfig.styles),o._component.mpType="app",o._component.render=()=>{},o.mount("#app")}(Vue);

+ 2
- 0
unpackage/dist/build/app-plus/app.css
File diff suppressed because it is too large
View File


+ 114
- 0
unpackage/dist/build/app-plus/manifest.json View File

@ -0,0 +1,114 @@
{
"@platforms": [
"android",
"iPhone",
"iPad"
],
"id": "__UNI__17D2062",
"name": "ATIA",
"version": {
"name": "1.0.0",
"code": "100"
},
"description": "",
"developer": {
"name": "",
"email": "",
"url": ""
},
"permissions": {
"UniNView": {
"description": "UniNView原生渲染"
}
},
"plus": {
"useragent": {
"value": "uni-app",
"concatenate": true
},
"splashscreen": {
"target": "id:1",
"autoclose": true,
"waiting": true,
"delay": 0
},
"popGesture": "close",
"launchwebview": {
"render": "always",
"id": "1",
"kernel": "WKWebview"
},
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"distribute": {
"icons": {
"android": {
"xxxhdpi": "static/image/logo.png"
}
},
"google": {
"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\"/>"
]
},
"apple": {
"dSYMs": false
},
"plugins": {
"audio": {
"mp3": {
"description": "Android平台录音支持MP3格式文件"
}
}
}
},
"statusbar": {
"immersed": "supportedDevice",
"style": "dark",
"background": "#F8F8F8"
},
"uniStatistics": {
"enable": false
},
"allowsInlineMediaPlayback": true,
"uni-app": {
"control": "uni-v3",
"vueVersion": "3",
"compilerVersion": "4.66",
"nvueCompiler": "uni-app",
"renderer": "auto",
"nvue": {
"flex-direction": "column"
},
"nvueLaunchMode": "normal",
"webView": {
"minUserAgentVersion": "49.0"
}
}
},
"app-harmony": {
"useragent": {
"value": "uni-app",
"concatenate": true
},
"uniStatistics": {
"enable": false
}
},
"launch_path": "__uniappview.html"
}

+ 1
- 0
unpackage/dist/build/app-plus/pages/index/index.css View File

@ -0,0 +1 @@
.content[data-v-e640a569]{position:relative;width:100%}.title[data-v-e640a569]{position:absolute;left:50%;transform:translate(-50%);color:#fff;top:0;font-size:34px;letter-spacing:4px;z-index:99}.deviceInfo[data-v-e640a569]{width:100%;height:92%;position:absolute;bottom:0}.infoDetail[data-v-e640a569]{width:100%;height:60%}.buttonContent[data-v-e640a569]{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;width:100%;height:40%}.buttonContent>uni-view[data-v-e640a569]{width:30%;height:40%;display:flex;justify-content:center;align-items:center}.button[data-v-e640a569]{width:70%;height:90%;background-color:#0a62cf;border-radius:15px;display:flex;justify-content:center;align-items:center;font-size:30px;color:#fff}.button[data-v-e640a569]:active{opacity:.4}

BIN
unpackage/dist/build/app-plus/static/image/logo.png View File

Before After
Width: 192  |  Height: 192  |  Size: 6.3 KiB

BIN
unpackage/dist/build/app-plus/static/image/taitou.png View File

Before After
Width: 1920  |  Height: 92  |  Size: 29 KiB

+ 7
- 0
unpackage/dist/build/app-plus/uni-app-view.umd.js
File diff suppressed because it is too large
View File


+ 11
- 0
unpackage/dist/dev/.nvue/app.css.js View File

@ -0,0 +1,11 @@
var __getOwnPropNames = Object.getOwnPropertyNames;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var require_app_css = __commonJS({
"app.css.js"(exports) {
const _style_0 = {};
exports.styles = [_style_0];
}
});
export default require_app_css();

+ 2
- 0
unpackage/dist/dev/.nvue/app.js View File

@ -0,0 +1,2 @@
Promise.resolve("./app.css.js").then(() => {
});

+ 16
- 0
unpackage/dist/dev/app-plus/__uniappautomator.js
File diff suppressed because it is too large
View File


+ 32
- 0
unpackage/dist/dev/app-plus/__uniappchooselocation.js
File diff suppressed because it is too large
View File


BIN
unpackage/dist/dev/app-plus/__uniapperror.png View File

Before After
Width: 200  |  Height: 200  |  Size: 5.7 KiB

+ 32
- 0
unpackage/dist/dev/app-plus/__uniappopenlocation.js
File diff suppressed because it is too large
View File


+ 33
- 0
unpackage/dist/dev/app-plus/__uniapppicker.js
File diff suppressed because it is too large
View File


+ 8
- 0
unpackage/dist/dev/app-plus/__uniappquill.js
File diff suppressed because it is too large
View File


+ 1
- 0
unpackage/dist/dev/app-plus/__uniappquillimageresize.js
File diff suppressed because it is too large
View File


+ 32
- 0
unpackage/dist/dev/app-plus/__uniappscan.js
File diff suppressed because it is too large
View File


BIN
unpackage/dist/dev/app-plus/__uniappsuccess.png View File

Before After
Width: 165  |  Height: 165  |  Size: 2.0 KiB

+ 24
- 0
unpackage/dist/dev/app-plus/__uniappview.html View File

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>View</title>
<link rel="icon" href="data:,">
<link rel="stylesheet" href="app.css" />
<script>var __uniConfig = {"globalStyle":{},"darkmode":false}</script>
<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>
</head>
<body>
<div id="app"></div>
<script src="uni-app-view.umd.js"></script>
</body>
</html>

+ 11
- 0
unpackage/dist/dev/app-plus/app-config-service.js View File

@ -0,0 +1,11 @@
;(function(){
let u=void 0,isReady=false,onReadyCallbacks=[],isServiceReady=false,onServiceReadyCallbacks=[];
const __uniConfig = {"pages":[],"globalStyle":{"backgroundColor":"#F8F8F8","navigationBar":{"backgroundColor":"#F8F8F8","titleText":"uni-app","style":"custom","type":"default","titleColor":"#000000"},"isNVue":false},"nvue":{"compiler":"uni-app","styleCompiler":"uni-app","flex-direction":"column"},"renderer":"auto","appname":"ATIA","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":true},"compilerVersion":"4.66","entryPagePath":"pages/login/LoginPage","entryPageQuery":"","realEntryPagePath":"","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"locales":{},"darkmode":false,"themeConfig":{}};
const __uniRoutes = [{"path":"pages/login/LoginPage","meta":{"isQuit":true,"isEntry":true,"background":"#0F2265","navigationBar":{"titleText":"","style":"custom","type":"default"},"isNVue":false}},{"path":"pages/index/index","meta":{"background":"#0F2265","navigationBar":{"titleText":"","style":"custom","type":"default"},"isNVue":false}}].map(uniRoute=>(uniRoute.meta.route=uniRoute.path,__uniConfig.pages.push(uniRoute.path),uniRoute.path='/'+uniRoute.path,uniRoute));
__uniConfig.styles=[];//styles
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:16})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:u,window:u,document:u,frames:u,self:u,location:u,navigator:u,localStorage:u,history:u,Caches:u,screen:u,alert:u,confirm:u,prompt:u,fetch:u,XMLHttpRequest:u,WebSocket:u,webkit:u,print:u}}}});
})();

+ 1
- 0
unpackage/dist/dev/app-plus/app-config.js View File

@ -0,0 +1 @@
(function(){})();

+ 1230
- 0
unpackage/dist/dev/app-plus/app-service.js
File diff suppressed because it is too large
View File


+ 4
- 0
unpackage/dist/dev/app-plus/app.css
File diff suppressed because it is too large
View File


+ 114
- 0
unpackage/dist/dev/app-plus/manifest.json View File

@ -0,0 +1,114 @@
{
"@platforms": [
"android",
"iPhone",
"iPad"
],
"id": "__UNI__17D2062",
"name": "ATIA",
"version": {
"name": "1.0.0",
"code": "100"
},
"description": "",
"developer": {
"name": "",
"email": "",
"url": ""
},
"permissions": {
"UniNView": {
"description": "UniNView原生渲染"
}
},
"plus": {
"useragent": {
"value": "uni-app",
"concatenate": true
},
"splashscreen": {
"target": "id:1",
"autoclose": true,
"waiting": true,
"delay": 0
},
"popGesture": "close",
"launchwebview": {
"render": "always",
"id": "1",
"kernel": "WKWebview"
},
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"distribute": {
"icons": {
"android": {
"xxxhdpi": "static/image/logo.png"
}
},
"google": {
"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\"/>"
]
},
"apple": {
"dSYMs": false
},
"plugins": {
"audio": {
"mp3": {
"description": "Android平台录音支持MP3格式文件"
}
}
}
},
"statusbar": {
"immersed": "supportedDevice",
"style": "dark",
"background": "#F8F8F8"
},
"uniStatistics": {
"enable": false
},
"allowsInlineMediaPlayback": true,
"uni-app": {
"control": "uni-v3",
"vueVersion": "3",
"compilerVersion": "4.66",
"nvueCompiler": "uni-app",
"renderer": "auto",
"nvue": {
"flex-direction": "column"
},
"nvueLaunchMode": "normal",
"webView": {
"minUserAgentVersion": "49.0"
}
}
},
"app-harmony": {
"useragent": {
"value": "uni-app",
"concatenate": true
},
"uniStatistics": {
"enable": false
}
},
"launch_path": "__uniappview.html"
}

+ 265
- 0
unpackage/dist/dev/app-plus/pages/index/index.css View File

@ -0,0 +1,265 @@
.deviceInfo[data-v-d6733cbd]{
width: 100%;
height: 90%;
position: absolute;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
}
.deviceContent[data-v-d6733cbd]{
width: 98%;
height: 98%;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
}
.infoShow[data-v-d6733cbd]{
width: 100%;
height: 72%;
border-radius: 10px;
background-color: #ffffff;
}
.controlButton[data-v-d6733cbd]{
width: 100%;
height: 26%;
border-radius: 10px;
background-color: #ffffff;
}
.deviceitle[data-v-d6733cbd]{
width: 100%;
border-bottom: 1px solid #ccc;
display: flex;
justify-content: center;
align-items: center;
font-size: 28px;
font-weight: bold;
letter-spacing: 10px;
background-color: rgb(204, 204, 204,0.4);
border-radius: 10px 10px 0 0;
}
.info[data-v-d6733cbd]{
height: 10%;
}
.control[data-v-d6733cbd]{
height: 28%;
}
.deivceData[data-v-d6733cbd]{
width: 100%;
height: 88%;
display: flex;
align-items: center;
}
.left[data-v-d6733cbd]{
width: 32%;
height: 100%;
border-right: 1px solid #ccc;
font-size: 18px;
}
.left_top[data-v-d6733cbd]{
width: 100%;
height: 58%;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
align-items: center;
border-bottom: 1px solid #ccc;
}
.left_top>uni-view[data-v-d6733cbd]{
width: 40%;
height: 20%;
display: flex;
justify-content: center;
align-items: center;
border:1px solid #ccc;
border-radius: 10px;
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.12);
}
.Icon[data-v-d6733cbd]{
width: 24px;
height: 24px;
}
.left-bottom[data-v-d6733cbd]{
width: 100%;
height: 36%;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
font-size: 16px;
padding-top: 2%;
}
.left-bottom>uni-view[data-v-d6733cbd]{
width: 70%;
display: flex;
justify-content: space-between;
align-items: center;
}
.left-bottom>uni-view>uni-view[data-v-d6733cbd]{
width: 32%;
display: flex;
justify-content: start;
align-items: center;
}
.controlContent[data-v-d6733cbd]{
width: 100%;
height: 74%;
display: flex;
justify-content: space-around;
align-items: center;
}
.controlContent>uni-view[data-v-d6733cbd]{
width: 12%;
height: 40%;
background-color: #42B983;
color: #ffffff;
font-size: 24px;
display: flex;
justify-content: center;
align-items: center;
border-radius: 10px;
}
.controlContent>uni-view[data-v-d6733cbd]:active{
opacity: 0.6;
}
.right[data-v-d6733cbd]{
width: 68%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
font-size: 18px;
}
.cameraInfo[data-v-d6733cbd],.directionInfo[data-v-d6733cbd],.angleInfo[data-v-d6733cbd],.encoderInfo[data-v-d6733cbd]{
width: 96%;
height: 11%;
display: flex;
justify-content: space-between;
align-items: center;
}
.cameraInfo>uni-view[data-v-d6733cbd],.directionInfo>uni-view[data-v-d6733cbd],.angleInfo>uni-view[data-v-d6733cbd],.encoderInfo>uni-view[data-v-d6733cbd]{
width: 20%;
height: 100%;
display: flex;
justify-content: start;
align-items: center;
border-radius: 10px;
border: 1px solid #ccc;
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.12);
padding: 0 3%;
}
.infoTitle[data-v-d6733cbd]{
/* width: 52%; */
display: flex;
justify-content: center;
align-items: center
}
.detail[data-v-d6733cbd]{
/* width: 28%; */
/* background-color: #ccc; */
}
.optionWidth[data-v-5961d202]{
width: 92% !important;
}
.carInfo[data-v-5961d202]{
width: 100%;
height: 90%;
position: absolute;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
}
.carContent[data-v-5961d202]{
width: 98%;
height: 98%;
display: flex;
justify-content: space-between;
align-items: center;
}
.carContent>uni-view[data-v-5961d202]{
width: 33%;
height: 100%;
border-radius: 10px;
background-color: #ffffff;
}
.carTitle[data-v-5961d202]{
display: flex;
justify-content: center;
align-items: center;
border-bottom: 1px solid #ccc;
width: 100%;
height: 8%;
font-size: 24px;
background-color: rgb(204, 204, 204,0.4);
border-radius: 10px 10px 0 0;
}
.carDetail[data-v-5961d202]{
width: 100%;
height: 92%;
display: flex;
justify-content: space-around;
align-items: center;
flex-wrap: wrap;
}
.carDetail>uni-view[data-v-5961d202]{
width: 42%;
height: 8%;
border-radius: 10px;
border: 1px solid #ccc;
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.12);
display: flex;
justify-content: start;
align-items: center;
padding-left: 4%;
font-size: 18px;
}
.carDetail>uni-view>span[data-v-5961d202]{
display: flex;
height: 50%;
align-items: end;
}
.pitch[data-v-1cf27b2a] {
color: #0372D7;
}
.content[data-v-1cf27b2a] {
position: relative;
width: 100%;
}
.title[data-v-1cf27b2a] {
position: absolute;
left: 50%;
transform: translateX(-50%);
color: #ffffff;
top: 0;
font-size: 34px;
letter-spacing: 4px;
z-index: 99;
}
.optionButton[data-v-1cf27b2a]{
width: 20%;
height: 5%;
position: absolute;
top: 5.6%;
font-size: 24px;
display: flex;
justify-content: space-around;
align-items: center;
color: #ffffff;
}
.outButton[data-v-1cf27b2a]{
font-size: 24px;
color: #ffffff;
position: absolute;
top: 5.6%;
right: 2%;
}

+ 52
- 0
unpackage/dist/dev/app-plus/pages/login/LoginPage.css View File

@ -0,0 +1,52 @@
.content {
display: flex;
flex-direction: column;
align-items: center;
background-image: url(../../static/image/login_bg.png);
background-size: 100% 100%;
color: #fff;
width: 100%;
height: 100%;
}
.logo {
width: 400px;
height: 320px;
}
.text-area {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 2%;
}
.title {
font-size: 36px;
}
.user {
width: 90%;
height: 25%;
display: flex;
flex-direction: column;
align-items: center;
}
.user uni-input {
width: 400px;
height: 50px;
border: 0.03125rem solid #567192;
outline: none;
padding-left: 20px;
margin: 20px 0;
}
.btn {
width: 250px;
height: 40px;
background-color: #879FBE;
color: #0A62CF;
border: 0.03125rem solid #567192;
outline: none;
margin: 20px 0;
border-radius: 50px;
text-align: center;
line-height: 40px;
font-size: 20px;
}

BIN
unpackage/dist/dev/app-plus/static/image/duiJie.png View File

Before After
Width: 48  |  Height: 48  |  Size: 609 B

BIN
unpackage/dist/dev/app-plus/static/image/duijieNormal.png View File

Before After
Width: 48  |  Height: 48  |  Size: 646 B

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

Loading…
Cancel
Save