From e1c87cc001c6714251415aa73b023367ee519ee5 Mon Sep 17 00:00:00 2001
From: 18796357645 <674126018@qq.com>
Date: Tue, 15 Jul 2025 12:16:22 +0800
Subject: [PATCH] add
---
.gitignore | 3 +
App.vue | 46 ++
index.html | 20 +
main.js | 22 +
manifest.json | 75 +++
pages.json | 87 ++++
pages/device/index.vue | 450 ++++++++++++++++++
pages/deviceBind/index.vue | 312 +++++++++++++
pages/deviceManage/index.vue | 785 ++++++++++++++++++++++++++++++++
pages/index/index.vue | 657 ++++++++++++++++++++++++++
pages/mine/index.vue | 357 +++++++++++++++
pages/mine/update.vue | 216 +++++++++
pages/selectDevice/index.vue | 309 +++++++++++++
static/logo.png | Bin 0 -> 4023 bytes
static/tabbar/device.png | Bin 0 -> 835 bytes
static/tabbar/device_select.png | Bin 0 -> 2886 bytes
static/tabbar/index.png | Bin 0 -> 1053 bytes
static/tabbar/index_select.png | Bin 0 -> 2719 bytes
static/tabbar/mine.png | Bin 0 -> 1622 bytes
static/tabbar/mine_select.png | Bin 0 -> 2804 bytes
uni.promisify.adaptor.js | 13 +
uni.scss | 76 ++++
22 files changed, 3428 insertions(+)
create mode 100644 App.vue
create mode 100644 index.html
create mode 100644 main.js
create mode 100644 manifest.json
create mode 100644 pages.json
create mode 100644 pages/device/index.vue
create mode 100644 pages/deviceBind/index.vue
create mode 100644 pages/deviceManage/index.vue
create mode 100644 pages/index/index.vue
create mode 100644 pages/mine/index.vue
create mode 100644 pages/mine/update.vue
create mode 100644 pages/selectDevice/index.vue
create mode 100644 static/logo.png
create mode 100644 static/tabbar/device.png
create mode 100644 static/tabbar/device_select.png
create mode 100644 static/tabbar/index.png
create mode 100644 static/tabbar/index_select.png
create mode 100644 static/tabbar/mine.png
create mode 100644 static/tabbar/mine_select.png
create mode 100644 uni.promisify.adaptor.js
create mode 100644 uni.scss
diff --git a/.gitignore b/.gitignore
index a19f004..a6ca300 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,6 @@ docs/_book
# TODO: where does this rule come from?
test/
+.idea
+.hbuilderx
+unpackage
diff --git a/App.vue b/App.vue
new file mode 100644
index 0000000..5714ce9
--- /dev/null
+++ b/App.vue
@@ -0,0 +1,46 @@
+
+
+
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..c3ff205
--- /dev/null
+++ b/index.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/main.js b/main.js
new file mode 100644
index 0000000..c1caf36
--- /dev/null
+++ b/main.js
@@ -0,0 +1,22 @@
+import App from './App'
+
+// #ifndef VUE3
+import Vue from 'vue'
+import './uni.promisify.adaptor'
+Vue.config.productionTip = false
+App.mpType = 'app'
+const app = new Vue({
+ ...App
+})
+app.$mount()
+// #endif
+
+// #ifdef VUE3
+import { createSSRApp } from 'vue'
+export function createApp() {
+ const app = createSSRApp(App)
+ return {
+ app
+ }
+}
+// #endif
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 0000000..26a97d3
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,75 @@
+{
+ "name" : "Project",
+ "appid" : "__UNI__6C05555",
+ "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" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ /* ios打包配置 */
+ "ios" : {},
+ /* SDK配置 */
+ "sdkConfigs" : {}
+ }
+ },
+ /* 快应用特有相关 */
+ "quickapp" : {},
+ /* 小程序特有相关 */
+ "mp-weixin" : {
+ "appid" : "wx583d0c321ef43dfe",
+ "setting" : {
+ "urlCheck" : false,
+ "minified" : true,
+ "postcss" : true,
+ "es6" : true
+ },
+ "usingComponents" : true
+ },
+ "mp-alipay" : {
+ "usingComponents" : true
+ },
+ "mp-baidu" : {
+ "usingComponents" : true
+ },
+ "mp-toutiao" : {
+ "usingComponents" : true
+ },
+ "uniStatistics" : {
+ "enable" : false
+ },
+ "vueVersion" : "2"
+}
diff --git a/pages.json b/pages.json
new file mode 100644
index 0000000..6c3cdb8
--- /dev/null
+++ b/pages.json
@@ -0,0 +1,87 @@
+{
+ "pages": [
+ {
+ "path": "pages/index/index",
+ "style": {
+ "navigationBarTitleText": "首页",
+ "navigationStyle": "custom" // 首页使用自定义导航栏(需手动绘制)
+ }
+ },
+ {
+ "path": "pages/mine/index",
+ "style": {
+ "navigationBarTitleText": "我的",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/mine/update",
+ "style": {
+ "navigationBarTitleText": "个人资料",
+ "navigationStyle": "custom"
+ }
+ },
+
+ {
+ "path": "pages/deviceBind/index",
+ "style": {
+ "navigationBarTitleText": "设备绑定",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/selectDevice/index",
+ "style": {
+ "navigationBarTitleText": "选择设备",
+ "navigationStyle": "custom"
+ }
+ },
+
+ {
+ "path": "pages/device/index",
+ "style": {
+ "navigationBarTitleText": "设备",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/deviceManage/index",
+ "style": {
+ "navigationBarTitleText": "设备管理",
+ "navigationStyle": "custom"
+ }
+ }
+ ],
+ "globalStyle": {
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "uni-app",
+ "navigationBarBackgroundColor": "#F8F8F8",
+ "backgroundColor": "#F8F8F8"
+ },
+ "tabBar": {
+ "color": "#8A8A8A",
+ "selectedColor": "#007AFF",
+ "backgroundColor": "#FFFFFF",
+ "borderStyle": "black",
+ "list": [{
+ "pagePath": "pages/index/index",
+ "text": "首页",
+ "iconPath": "static/tabbar/index.png",
+ "selectedIconPath": "static/tabbar/index_select.png"
+ },
+ {
+ "pagePath": "pages/device/index",
+ "text": "设备",
+ "iconPath": "static/tabbar/device.png",
+ "selectedIconPath": "static/tabbar/device_select.png"
+ },
+ {
+ "pagePath": "pages/mine/index",
+ "text": "我的",
+ "iconPath": "static/tabbar/mine.png",
+ "selectedIconPath": "static/tabbar/mine_select.png"
+ }
+ ]
+ },
+ "uniIdRouter": {}
+}
\ No newline at end of file
diff --git a/pages/device/index.vue b/pages/device/index.vue
new file mode 100644
index 0000000..a7b678f
--- /dev/null
+++ b/pages/device/index.vue
@@ -0,0 +1,450 @@
+
+
+
+
+ 设备
+
+
+
+
+
+
+
+
+ 设备状态
+
+
+
+
+ 绑定设备
+
+
+
+
+
+
+ 机器序号
+ 机器描述
+ 设备运行状态
+
+
+
+
+ {{ item.deviceCode }}
+ {{ item.brand }}
+
+
+
+ 空闲
+
+
+
+ 准备中
+
+
+
+ 打印中
+
+
+
+ 铲件中
+
+
+
+ 断开
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 暂无设备,请绑定设备~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/deviceBind/index.vue b/pages/deviceBind/index.vue
new file mode 100644
index 0000000..ec53464
--- /dev/null
+++ b/pages/deviceBind/index.vue
@@ -0,0 +1,312 @@
+
+
+
+
+
+ 设备绑定
+
+
+
+
+
+
+
+
+
+
+ 扫码绑定
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/deviceManage/index.vue b/pages/deviceManage/index.vue
new file mode 100644
index 0000000..a380fef
--- /dev/null
+++ b/pages/deviceManage/index.vue
@@ -0,0 +1,785 @@
+
+
+
+
+
+ 设备管理
+
+
+
+
+
+
+
+
+
+
+
+
+ 获取视频
+
+
+ 获取图片
+
+
+
+
+
+
+
+
+
+
+
+ 设备状态
+ 设备日志
+ 设备控制
+
+
+
+
+
+
+
+
+
+ 设备名称
+ {{
+ deviceDetail.brand
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 状态
+
+
+
+ 空闲
+
+
+
+ 准备中
+
+
+
+ 打印中
+
+
+
+ 铲件中
+
+
+
+ 断开
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 子状态
+
+
+
+
+
+
+ {{ getStatusText(deviceDetail.errorStatus) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 当前时间
+ {{ getCurrentTime() }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 错误码
+
+
+ {{ deviceDetail.errorStatus === -1 ? '断开' : deviceDetail.errorStatus }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请输入设备名称:
+
+
+
+
+
+
+
+ 文件位置:桌面File文件夹内
+
+
+
+
+ 开始打印
+
+
+
+
+ 继续打印
+
+
+
+
+
+
+
+ 暂停打印
+
+
+
+
+ 退出打印
+
+
+
+
+
+
+
+ 报警继续
+
+
+
+
+ 报警退出
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/index.vue b/pages/index/index.vue
new file mode 100644
index 0000000..2148d9b
--- /dev/null
+++ b/pages/index/index.vue
@@ -0,0 +1,657 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备状态
+
+
+
+
+ 绑定设备
+
+
+
+
+
+
+ 机器序号
+ 机器描述
+ 设备运行状态
+
+
+
+
+ {{ item.deviceCode }}
+ {{ item.brand }}
+
+
+
+ 空闲
+
+
+
+ 准备中
+
+
+
+ 打印中
+
+
+
+ 铲件中
+
+
+
+ 断开
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 暂无设备,请绑定设备~
+
+
+
+
+
+
+
+
+
+
+ 设备预警
+
+
+
+
+
+
+ 机器序号
+ 报警状态
+
+
+
+
+ {{ item.deviceCode }}
+
+
+
+
+
+
+
+ {{ getStatusText(item.errorStatus) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 暂无设备预警
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/mine/index.vue b/pages/mine/index.vue
new file mode 100644
index 0000000..d3ad658
--- /dev/null
+++ b/pages/mine/index.vue
@@ -0,0 +1,357 @@
+
+
+
+
+ 我的
+
+
+
+
+
+
+ {{
+ userInfo.nikeName
+ }}
+ 登录
+ 账户设置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 常用工具
+
+
+
+ {{ item.text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/mine/update.vue b/pages/mine/update.vue
new file mode 100644
index 0000000..17e2fb1
--- /dev/null
+++ b/pages/mine/update.vue
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+
+
+
+ 个人资料
+
+
+
+
+
+
+
+ 头像
+
+
+
+
+
+
+
+
+ 昵称
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/selectDevice/index.vue b/pages/selectDevice/index.vue
new file mode 100644
index 0000000..7b8612a
--- /dev/null
+++ b/pages/selectDevice/index.vue
@@ -0,0 +1,309 @@
+
+
+
+
+
+ 选择设备
+
+
+
+
+
+
+
+
+ 设备名称
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/logo.png b/static/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5771e209bb677e2ebd5ff766ad5ee11790f305a
GIT binary patch
literal 4023
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
literal 0
HcmV?d00001
diff --git a/static/tabbar/index.png b/static/tabbar/index.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e2eb7bb7682d1c625b2d2c8c8de3fdfbc5e12f8
GIT binary patch
literal 1053
zcmV+&1mgRNP)Px&*GWV{RA@u(nlVTlVHC%If`dZ_2Ze${I|#AR%^`tyaBwKZp~ay>TN1&74ke0|
zM%tl}49R4q9U=&3$PlM?P-qb$ZXF|~5H|$}L5G5i(1N{p+#R_j=Uw6@Im0~=)ZBgd
ze&7Fn@4ejj_0i+j*W-NnfOlPCUqP1@90cU&6!_=z*bRs4l!EtxO<)q}2mUCaSs(*k
zwG*@xfKd%bl&iHe@Cx|dF35HQjsQ7eT6ey`zn`I@A|MYU+tdNmCxlH%G}(X
z{%onw#vk%es}S`8yCPSEhx!UyDB*{wAEF(a0ne;K`DUP}^R2C|roRwd&6j5Yhlhu`
zxVTXLlvju6=jX0y>>0qmK6A-+tAX$VJ5?rp1zTK^eu(-Z>eAOGe+}OCHQ4iozUN!D
z79-I1HqVp^TTffOzz6J99c)n`+uK@I@UOmuba{D+Y_xdQ&-8bzneNfJmeXQO#^DwaN
zkiJ%qipg0UliBSL%He{?)jPT#gp~Invft1zPxv}ub}rdY0jhn
XWdgQH0nW0O00000NkvXXu0mjfRzUO@
literal 0
HcmV?d00001
diff --git a/static/tabbar/index_select.png b/static/tabbar/index_select.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f12b663de9ca719b6d194e0416755517e19b0c3
GIT binary patch
literal 2719
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
Ze*xj{Sqo?3it7LX002ovPDHLkV1hh^2af;%
literal 0
HcmV?d00001
diff --git a/static/tabbar/mine.png b/static/tabbar/mine.png
new file mode 100644
index 0000000000000000000000000000000000000000..f7775a806687a614b7b4a1d672137dae34fa0e28
GIT binary patch
literal 1622
zcmV-c2C4apP)Px*5J^NqRA@u(T5l+RXBfVe57d;E4-`c#ghtW!fv8!mS++(|L}~GXX0c2ZE1H#M
zN}<%O6ops_Z8c&c3gs6c6d%+qYCfp>pzK_abB^==KkswS``ha`cPZz*&!77`_x;>|
zu5&{0hD*pBjt?&YpSy(vX~Ap&9|On*kOCkYKq!D)0OtUX0IUF50&pFu2N?)}H42DU
z0O=-`z5}qRjO_;S%H$l=!|Vi@3}9Tb%KN5wcN|EdeE_}(!2fL#y8zM^rvSXAX%!h6
ziPF+il$4YpGcyyhv9SmX3&YLL4Ngx_v9`8`nVA{v?CdxL*;L%O48UJ@AhZME=PEd!
zF9D*htqsl1%^*l$a&T}U#;&ig8;70%D6j*hRe&F;=O>KXB_<|fetsV5>1L1L6Q=(D
zezdo@%3y?^TdE~h9^z<~!$`}{y5eBBE
zC8kFq%#|O>t}F}iJLPPA!%g$^^Mz~LDU7nIsi{U+eFwm)%pS4;&y<`e{Be1C8O6oL
zGJAWS<77n^4nN3jA_I_R7u{2&fvc-4gocU?q07a^1-iStg#}t$Tir(0v9U2ME-s?5
zun>)njV`)ROiZA~#c8-NdA7eMB{8E(d>ys)s~vM&?+;o)OkU;sKhI}`a)lc}jG
zR905%*TciZXlM}eN|*EVb0j1rXxBFY-hN#G+tiW@EiElz{xZt#?JXiAA{_1=A0Hzn
zg@%6=CicO>LH)X>rUv8VtnwU%>u^0)xTt<%7Oaemb}5UqFh*BbmvBXA;h9`rT@|;}
z($c_c#puSHo14hXV-9~5dI7z`S>od2KzCP#=42P*mjndh-Q68VMn;4pRaI4pii&bk
zYI}PdD=RA~C@2tr?!*aT8~`1yS(GvWzf|JOkKCZXzFr4nc0;q{7@)$#!;PsTT&8T3
z0ays&S1OvDn~RN&4YNA?HI8nbm6fHK*MZ3kAYLwtot61=7nLT6y)+t@Y7&l~r%`{-l
zb25q;=dclGSD^}XV2sT9<9u0w%-Ss1L~rCSAIgGc$DfgrVN4GUXkW>$Ckv4KkzCTV
zv!`6Aex1palM~d|);beVERnvo0?x`AH111qziS}*134L<
z%ZiE$uRz)Nv4bBS9R)3D5X)4Bww6^3YU_}f`3V4v09}|L*$^}2Yjg&SXIhMO;ocs3
zB?loz!QStw61QkVy8vox)T^C_Z@$n~anb@zsM7q4yJulHK<+_s1j+`_7Yjv;k#nI-
zIuN544W~~J1VE#1Yy#giynNwrJZ$U==%1vurBi^JhY)ChW^@SXm=}PC$NR2YU<)Su
zKNMCsf2i*leX3!`f~86h@A2b(pU+Kg8gQVj!(zZ|rQ;1C3u@-J3Y!!P)G`wQzVOs-
zcmhbGlXa%f=rU;+6%`>VDanNg4V32Y);&5p612Wk<-=6-2>|`ols4BBK%F_`z`D9R
zK@SF^bC-EI*Vosg-erkrkWK)-&g;1Y$R3Zqo?vP_Iy%tP!y_1cLXf?^Iws~cYETh1tzQcP1cNTomMn630{{|B#7hOU^9AJ39P-ngX
z3^sH6Yr%iC6tTOzi|lN{?*^@q70AiS@#_rgOj*#P@~qgr!U%lkD^0LTB~zw30H3w_{tqttFF{7J
UNG~wX-v9sr07*qoM6N<$f@0hAQ2+n{
literal 0
HcmV?d00001
diff --git a/static/tabbar/mine_select.png b/static/tabbar/mine_select.png
new file mode 100644
index 0000000000000000000000000000000000000000..a94fa918665dee73aba9b636fb58fc0233869e97
GIT binary patch
literal 2804
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 {
+ res.then((res) => {
+ if (!res) return resolve(res)
+ return res[0] ? reject(res[0]) : resolve(res[1])
+ });
+ });
+ },
+});
\ No newline at end of file
diff --git a/uni.scss b/uni.scss
new file mode 100644
index 0000000..b9249e9
--- /dev/null
+++ b/uni.scss
@@ -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;