From 69ee4b66d735143641ea8abed2b6f5fe8df8ef5b Mon Sep 17 00:00:00 2001
From: Sliverber <2622874537@qq.com>
Date: Wed, 13 Mar 2024 10:54:22 +0800
Subject: [PATCH] 111
---
common/http.interceptor.js | 57 +-
main.js | 17 +-
manifest.json | 4 +-
package-lock.json | 101 +++-
pages.json | 110 ++++
pages/index/index.vue | 994 +++++++++++++++++++++-----------
pages/login/login.vue | 179 ++++++
pages/my.vue | 209 ++++---
pages/shebei/eletj.vue | 263 +++++++++
pages/shebei/sbdetail.vue | 593 +++++++++++++++++++
pages/userpage/bdcard.vue | 139 +++++
pages/userpage/cbRecord.vue | 103 ++++
pages/userpage/czRecord.vue | 151 +++++
pages/userpage/czindex.vue | 303 ++++++++++
pages/userpage/glRecord.vue | 103 ++++
pages/userpage/order_detail.vue | 139 +++++
pages/userpage/shouzhi.vue | 9 +-
pages/userpage/skzh.vue | 124 ++++
pages/userpage/userSet.vue | 309 ++++++++++
static/cb.png | Bin 0 -> 1067 bytes
static/cz.png | Bin 0 -> 1997 bytes
static/device.png | Bin 0 -> 5805 bytes
static/ele.png | Bin 0 -> 553 bytes
static/ele1.png | Bin 0 -> 626 bytes
static/gl.png | Bin 0 -> 1567 bytes
static/login.png | Bin 0 -> 254300 bytes
static/order_bg.png | Bin 0 -> 33406 bytes
static/tpbg.png | Bin 0 -> 1591 bytes
static/wt.png | Bin 0 -> 1618 bytes
static/yj.png | Bin 0 -> 1018 bytes
30 files changed, 3446 insertions(+), 461 deletions(-)
create mode 100644 pages/login/login.vue
create mode 100644 pages/shebei/eletj.vue
create mode 100644 pages/shebei/sbdetail.vue
create mode 100644 pages/userpage/bdcard.vue
create mode 100644 pages/userpage/cbRecord.vue
create mode 100644 pages/userpage/czRecord.vue
create mode 100644 pages/userpage/czindex.vue
create mode 100644 pages/userpage/glRecord.vue
create mode 100644 pages/userpage/order_detail.vue
create mode 100644 pages/userpage/skzh.vue
create mode 100644 pages/userpage/userSet.vue
create mode 100644 static/cb.png
create mode 100644 static/cz.png
create mode 100644 static/device.png
create mode 100644 static/ele.png
create mode 100644 static/ele1.png
create mode 100644 static/gl.png
create mode 100644 static/login.png
create mode 100644 static/order_bg.png
create mode 100644 static/tpbg.png
create mode 100644 static/wt.png
create mode 100644 static/yj.png
diff --git a/common/http.interceptor.js b/common/http.interceptor.js
index 3c636f0..146db5e 100644
--- a/common/http.interceptor.js
+++ b/common/http.interceptor.js
@@ -1,30 +1,35 @@
const install = (Vue, vm) => {
- Vue.prototype.$u.http.setConfig({
- // baseUrl: 'http://2087p773d1.wicp.vip', // 请求的本域名
- // baseUrl: 'https://lchighpass.zhieasy.cn',
- // baseUrl: 'http://speaking.viphk.91tunnel.com',//测试https://speaking.iava.top/
- // baseUrl: 'http://yml.dev.bc3.top',//
- // baseUrl: 'https://ielts.zhieasy.cn',//正式
- baseURL: 'https://api.admin-v2.langsi.online',
- // baseUrl: 'http://i3qsdb.natappfree.cc',//正式
+ // Vue.prototype.$u.http.setConfig({
- // baseUrl: 'http://hwihh5.natappfree.cc',
- // baseUrl: 'http://192.168.10.104:8088',
- method: 'POST',
- // 设置为json,返回后会对数据进行一次JSON.parse()
- dataType: 'json',
- showLoading: true, // 是否显示请求中的loading
- loadingText: '...', // 请求loading中的文字提示
- loadingTime: 800, // 在此时间内,请求还没回来的话,就显示加载中动画,单位ms
- originalData: false, // 是否在拦截器中返回服务端的原始数据
- loadingMask: true, // 展示loading的时候,是否给一个透明的蒙层,防止触摸穿透
- // 配置请求头信息
- header: {
- 'content-type': 'application/json;charset=UTF-8',
- 'Tenant-Id':1
- },
- });
+ // baseURL: 'https://yruibao.com/admin',
+
+ // // baseUrl: 'http://192.168.10.104:8088',
+ // method: 'POST',
+ // // 设置为json,返回后会对数据进行一次JSON.parse()
+ // dataType: 'json',
+ // showLoading: true, // 是否显示请求中的loading
+ // loadingText: '...', // 请求loading中的文字提示
+ // loadingTime: 800, // 在此时间内,请求还没回来的话,就显示加载中动画,单位ms
+ // originalData: false, // 是否在拦截器中返回服务端的原始数据
+ // loadingMask: true, // 展示loading的时候,是否给一个透明的蒙层,防止触摸穿透
+ // // 配置请求头信息
+ // header: {
+ // 'content-type': 'application/json;charset=UTF-8',
+
+ // },
+ // });
+ Vue.prototype.$u.http.setConfig({
+ baseUrl: 'http://192.168.2.87/dev-api',
+ loadingText: '努力加载中~',
+ loadingTime: 800,
+ // 设置自定义头部content-type
+ header: {
+ 'content-type': 'application/json;charset=UTF-8',
+
+ },
+ // ......
+ });
// 请求拦截部分,如配置,每次请求前都会执行
Vue.prototype.$u.http.interceptor.request = (config) => {
@@ -40,9 +45,9 @@ const install = (Vue, vm) => {
// 方式四,如果token放在了Storage本地存储中,拦截是每次请求都执行的
// 所以哪怕您重新登录修改了Storage,下一次的请求将会是最新值
- // const token = uni.getStorageSync('token');
+ const token = uni.getStorageSync('token');
- const token = " Bearer 830608e02a9e4209bffbde69b66f1315"
+ // const token = " eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImE1ZmE2YzM0LWM0Y2YtNGEwMS05YjY2LTE1M2M4YWY1YzU1YSJ9.Wze_tAjY7cCfw2K6mtDpTSd-QFLRF4A49Fx7bq7g2tVLKL4v5bqqHfpG0VQy7_a_CUQch5RPBTBIKMVCDupIqg"
// console.log("我是token", token)
config.header.Authorization = token;
diff --git a/main.js b/main.js
index dd128d8..c942412 100644
--- a/main.js
+++ b/main.js
@@ -2,9 +2,9 @@ import Vue from 'vue'
import App from './App'
import cookies from 'weapp-cookie'
import uView from "uview-ui";
-import httpInterceptor from '@/common/http.interceptor.js'
+
// http接口API集中管理引入部分
-import httpApi from '@/common/http.api.js'
+// import httpApi from '@/common/http.api.js'
import store from "./store/index.js"
import './uni.scss';
// 公共样式与字体图标
@@ -34,12 +34,13 @@ App.mpType = 'app'
Vue.prototype.$store = store
// #endif
-const app = new Vue({
- store,
- ...App
-})
+const app = new Vue({
+ store,
+ render: h => h(App),
+}).$mount('#app');
+import httpInterceptor from '@/common/http.interceptor.js'
Vue.use(httpInterceptor, app)
-Vue.use(httpApi, app)
+// Vue.use(httpApi, app)
// #ifdef MP-WEIXIN
Vue.prototype.wxLogin = async function(){
console.log("wxLogin")
@@ -57,4 +58,4 @@ Vue.prototype.wxLogin = async function(){
-app.$mount()
+// app.$mount()
diff --git a/manifest.json b/manifest.json
index 4f21a8b..9e51119 100644
--- a/manifest.json
+++ b/manifest.json
@@ -50,8 +50,8 @@
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
- "libVersion": "latest",
- "appid" : "wx5affa901f005d975",
+ "libVersion" : "latest",
+ "appid" : "wx3914d4d7441fb438",
"setting" : {
"urlCheck" : false
},
diff --git a/package-lock.json b/package-lock.json
index 5245a62..f7d9571 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,8 +1,107 @@
{
"name": "dianbiao",
"version": "1.0.0",
- "lockfileVersion": 1,
+ "lockfileVersion": 2,
"requires": true,
+ "packages": {
+ "": {
+ "name": "dianbiao",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "crypto-js": "^4.1.1",
+ "echarts": "^5.4.0",
+ "fast-xml-parser": "^4.0.12",
+ "js-base64": "^3.7.3",
+ "js-md5": "^0.7.3",
+ "mp-html": "^2.4.2",
+ "mpvue-echarts": "^0.3.2",
+ "uview-ui": "^1.8.8",
+ "weapp-cookie": "^1.4.8"
+ }
+ },
+ "node_modules/crypto-js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
+ },
+ "node_modules/echarts": {
+ "version": "5.4.3",
+ "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz",
+ "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==",
+ "dependencies": {
+ "tslib": "2.3.0",
+ "zrender": "5.4.4"
+ }
+ },
+ "node_modules/fast-xml-parser": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz",
+ "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==",
+ "dependencies": {
+ "strnum": "^1.0.5"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
+ "node_modules/js-base64": {
+ "version": "3.7.5",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.5.tgz",
+ "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA=="
+ },
+ "node_modules/js-md5": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
+ "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
+ },
+ "node_modules/mp-html": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/mp-html/-/mp-html-2.4.2.tgz",
+ "integrity": "sha512-MSfJh5ckuaI2uibeO4qiUl2e/j5fpXy6cmW/ZzSkb+U3rTJfMSNzODqrDwG0YWOd8BVI+tD9/jLZiBhJbMupUg=="
+ },
+ "node_modules/mpvue-echarts": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/mpvue-echarts/-/mpvue-echarts-0.3.2.tgz",
+ "integrity": "sha512-KULGS1DOMNhXu3nBkBv6BtmnqjyHLc+2Dur7eW+2s2aic1NCOygglCMmAmMEU6/TGSR67ttFA2NYxXPUYbNhWQ=="
+ },
+ "node_modules/set-cookie-parser": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz",
+ "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ=="
+ },
+ "node_modules/strnum": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
+ "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA=="
+ },
+ "node_modules/tslib": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
+ },
+ "node_modules/uview-ui": {
+ "version": "1.8.8",
+ "resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-1.8.8.tgz",
+ "integrity": "sha512-Osal3yzXiHor0In9OPTZuXTaqTbDglMZ9RGK/MPYDoQQs+y0hrBCUD0Xp5T70C8i2lLu2X6Z11zJhmsQWMR7Jg=="
+ },
+ "node_modules/weapp-cookie": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/weapp-cookie/-/weapp-cookie-1.4.8.tgz",
+ "integrity": "sha512-YksOnCI4mM+MAlAf/5iL0aSzwfePHZTUS9NorL0RerAxJMOpzzrEZrMBF+wKS1usH/UQqkZTMSxjiWs0ZcAE9g==",
+ "dependencies": {
+ "set-cookie-parser": "^2.4.8"
+ }
+ },
+ "node_modules/zrender": {
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz",
+ "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==",
+ "dependencies": {
+ "tslib": "2.3.0"
+ }
+ }
+ },
"dependencies": {
"crypto-js": {
"version": "4.2.0",
diff --git a/pages.json b/pages.json
index b8b45e9..3c3eecb 100644
--- a/pages.json
+++ b/pages.json
@@ -2,6 +2,7 @@
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
+ "lazyCodeLoading": "requiredComponents",
"pages": [{
"path": "pages/index/index",
"style": {
@@ -103,6 +104,115 @@
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
+ },
+ {
+ "path" : "pages/shebei/eletj",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#4473f6",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/shebei/sbdetail",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#4473f6",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/userpage/skzh",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#4473f6",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/userpage/bdcard",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#4473f6",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/userpage/order_detail",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#4473f6",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/userpage/cbRecord",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#4473f6",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/userpage/czRecord",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#4473f6",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/userpage/glRecord",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#4473f6",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/userpage/userSet",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#4473f6",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/userpage/czindex",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#4473f6",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/login/login",
+ "style" :
+ {
+ "navigationBarTitleText" : "",
+ "enablePullDownRefresh" : false,
+ "navigationStyle": "custom"
+ }
}
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 2be0757..48f5812 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -1,10 +1,9 @@
-
+
-
+
@@ -12,7 +11,7 @@
-
+
@@ -21,18 +20,19 @@
- 2501号
+ {{ deviceInfo.deviceName }}
- 电表号:32562365BD253
- 在线
+ 电表号:{{ deviceInfo.deviceId }}
+ 在线
+ 离线
-
+
@@ -61,18 +61,18 @@
实时
- 1.5KW
+ {{deviceInfo.realTimePower}}KW
实时功率
- 43A
+ {{deviceInfo.electricity}}A
电流
- 220V
+ {{deviceInfo.voltage}}V
电压
-
+
@@ -90,23 +90,81 @@
异常
-
+
用电分析
-
+
电费充值
-
+
-
+
+
+
+ {{item}}
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+ {{item.deviceName}}电表
+
+
+
+
+ 剩余电量{{item.surplusElectriQuantity}}度
+
+
+
+ 电表号:{{item.deviceId}}
+
+
+
+
+
+
+
+
+
+
+ B
+
+
+ C
+
+
+
+
+
+
+
+ 暂无设备
+
+
+
+ 扫码添加
+
+
+ 添加方式
+
+ 需要添加设备后方可使用
+
@@ -119,124 +177,158 @@
return {
bgc: {
backgroundColor: "#F7FAFE",
+
},
+ deviceInfo:{},
+ loadings:false,
+ info:'',
+ tittxt:"首页",
+ titlist: [
+ "全部",
+ "电表",
+ "水表",
+
+ ],
+ curtitidx:0,
+ background: ['color1', 'color2', 'color3'],
+ indicatorDots: true,
+ autoplay: true,
+ interval: 2000,
+ duration: 500,
+ deviceList:[],
+ userType:''
}
+ },
+ onLoad() {
+ if(uni.getStorageSync('userType')){
+
+
+ this.userType=uni.getStorageSync('userType')
+ if(this.userType=='01'){
+ this.getDeviceList()
+ }else if(this.userType=='00'){
+ this.getdevice()
+ }
+
+ }else{
+ this.getuserinfo()
+ }
+
+
+
+
},
methods: {
async initChart() {
- let value = 100;
- let value2=552.03
- const option = {
- // backgroundColor:"#061740",
- title: {
- show: false,
- text: `历史请求满意度`, // 图表标题
- x: 'center',
- y: '20',
- textStyle: {
- color: '#333', //'#fff',
- fontSize: 20,
- },
- },
- series: [
- {
- type: 'pie', // 饼图类型
- radius: ['98%', '70%'], // 饼图半径,第一个值是内半径,第二个值是外半径
- silent: true,
- clockwise: true,
- startAngle: 90, // 起始角度
- z: 0,
- zlevel: 0,
-
- data: [
- {
- value: value,
- name: '占比', // 数据项名称
- itemStyle: {
- normal: {
- color: '#8883F0', // 数据项颜色
- },
- },
- label: {
- normal: {
- position: 'center',
- formatter: ` {a|${value2}}\n\n{b|剩余电量}`, // 标签内容格式
- rich: {
- a: {
- fontSize: 15,
- fontWeight: '700',
- color: '#333',
- },
- b: {
- fontSize: 11,
- color: '#888',
- },
- },
- },
- },
- },
- {
- value: 100 - value,
- name: '',
- label: {
- normal: {
- show: false,
- },
- },
- itemStyle: {
- normal: {
- color: '#173164',
- },
- },
- },
- ],
- },
- {
- type: 'gauge', // 仪表盘类型
- radius: '130%', // 仪表盘半径,占图表容器的百分比
- center: ['50%', '50%'], // 仪表盘中心位置
- startAngle: 359,
- endAngle: 359.9,
- splitNumber: 2, // 刻度分割段数
- hoverAnimation: true,
- axisTick: {
- show: true, // 是否显示刻度线
- length: 10, // 刻度线长度
- lineStyle: {
- color: 'auto',
- width: 1,
- },
- },
- splitLine: {
- length: 0, // 刻度线分隔线长度
- lineStyle: {
- width: 1,
- color: '#061740',
- },
- },
- axisLabel: {
- show: false, // 是否显示刻度标签
- },
- pointer: {
- show: false, // 是否显示指针
- },
- axisLine: {
- lineStyle: {
- opacity: 0,
- },
- },
- detail: {
- show: false, // 是否显示仪表盘详情
- },
- data: [
- {
- value: 0,
- name: '',
- },
- ],
- },
- ],
- };
+ let value = 100;
+ let value2 = this.deviceInfo.surplusElectriQuantity
+ const option = {
+ // backgroundColor:"#061740",
+ title: {
+ show: false,
+ text: `历史请求满意度`, // 图表标题
+ x: 'center',
+ y: '20',
+ textStyle: {
+ color: '#333', //'#fff',
+ fontSize: 20,
+ },
+ },
+ series: [{
+ type: 'pie', // 饼图类型
+ radius: ['98%', '70%'], // 饼图半径,第一个值是内半径,第二个值是外半径
+ silent: true,
+ clockwise: true,
+ startAngle: 90, // 起始角度
+ z: 0,
+ zlevel: 0,
+
+ data: [{
+ value: value,
+ name: '占比', // 数据项名称
+ itemStyle: {
+ normal: {
+ color: '#8883F0', // 数据项颜色
+ },
+ },
+ label: {
+ normal: {
+ position: 'center',
+ formatter: ` {a|${value2}}\n\n{b|剩余电量}`, // 标签内容格式
+ rich: {
+ a: {
+ fontSize: 15,
+ fontWeight: '700',
+ color: '#333',
+ },
+ b: {
+ fontSize: 11,
+ color: '#888',
+ },
+ },
+ },
+ },
+ },
+ {
+ value: 100 - value,
+ name: '',
+ label: {
+ normal: {
+ show: false,
+ },
+ },
+ itemStyle: {
+ normal: {
+ color: '#173164',
+ },
+ },
+ },
+ ],
+ },
+ {
+ type: 'gauge', // 仪表盘类型
+ radius: '130%', // 仪表盘半径,占图表容器的百分比
+ center: ['50%', '50%'], // 仪表盘中心位置
+ startAngle: 359,
+ endAngle: 359.9,
+ splitNumber: 2, // 刻度分割段数
+ hoverAnimation: true,
+ axisTick: {
+ show: true, // 是否显示刻度线
+ length: 10, // 刻度线长度
+ lineStyle: {
+ color: 'auto',
+ width: 1,
+ },
+ },
+ splitLine: {
+ length: 0, // 刻度线分隔线长度
+ lineStyle: {
+ width: 1,
+ color: '#061740',
+ },
+ },
+ axisLabel: {
+ show: false, // 是否显示刻度标签
+ },
+ pointer: {
+ show: false, // 是否显示指针
+ },
+ axisLine: {
+ lineStyle: {
+ opacity: 0,
+ },
+ },
+ detail: {
+ show: false, // 是否显示仪表盘详情
+ },
+ data: [{
+ value: 0,
+ name: '',
+ }, ],
+ },
+ ],
+ };
// console.log( this.$refs.chartRef,'1111');
const chart = await this.$refs.chart.init(echarts);
@@ -248,122 +340,314 @@
// });
return chart
},
-
+ // 获取设备详情
+ getDevice(){
+ this.$u.get("app/device/1").then((res) => {
+
+
+
+
+ // this.$forceUpdate()
+ if (res.code == 200) {
+ this.deviceInfo=res.data
+
+ this.loadings=true
+ }
+ });
+
+ },
+ getuserinfo(){
+ this.$u.get("/app/user/userInfo").then((res) => {
+
+
+
+
+ // this.$forceUpdate()
+ if (res.code == 200) {
+
+ uni.setStorageSync('userType',res.data.userType)
+ this.userType=res.data.userType
+ if(this.userType=='01'){
+ this.getDeviceList()
+ }else if(this.userType=='00'){
+ this.getdevice()
+ }
+
+ }
+ });
+ },
+ getDeviceList(){
+
+ this.$u.get("/app/device/list").then((res) => {
+
+ // this.$forceUpdate()
+ if (res.code == 200) {
+ this.deviceList=res.rows
+
+ }
+ });
+
+ },
+ swiperchange(e){
+ this.curtitidx=e.detail.current
+ console.log(e,'aaaa');
+ },
+ getdevice(){
+ this.$u.get("/app/device/tenant").then((res) => {
+ this.deviceInfo=res.data
+ this.initChart()
+ });
+ },
+ changeidx(index){
+ this.curtitidx=index
+ },
+ toewm(){
+ uni.navigateTo({
+ url:"/pages/shebei/ewm"
+ })
+ },
+ toydfx(){
+ uni.navigateTo({
+ url:"/pages/shebei/eletj"
+ })
+ },
+ todetail(id){
+ uni.navigateTo({
+ url:"/pages/shebei/sbdetail?id="+id
+ })
+ }
}
}
+
\ No newline at end of file
diff --git a/pages/login/login.vue b/pages/login/login.vue
new file mode 100644
index 0000000..52d03b5
--- /dev/null
+++ b/pages/login/login.vue
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+
+
+ 欢迎来到e租居
+
+
+
+
+
+ 首次使用请选择您的身份
+
+
+ 我是房东
+
+
+ 我是租户
+
+
+
+
+ 您暂未授权e租居小程序获取你的信息,将无法正常使用小程序的功能。如需要正常使用请点击“授权”按钮,打开头像,昵称等信息的授权。
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/my.vue b/pages/my.vue
index 572ab59..f92dbf7 100644
--- a/pages/my.vue
+++ b/pages/my.vue
@@ -4,44 +4,42 @@
height='36'
id="navbar">
-
-
-
+
+
+
-
-
- 其他
-
-
-
-
- 充值记录
-
- 01:00
-
+
+
+
+
+
+
+ 用户昵称
-
-
-
- 常见问题
-
- 充值、体现、使用说明
-
-
+
+
+ 充值记录
-
-
-
- 意见反馈
-
- 01:00
-
-
+
+
+ 抄表记录
+
+
+
+ 常见问题
+
+
+
+ 意见反馈
+
+
+
+ 设置
-
+
@@ -91,16 +89,28 @@
- 告警设备
+
+ 充值记录
- 起充金额
+
+ 抄表记录
- 帮助中心
+
+ 常见问题
- 设置
+
+ 意见反馈
+
+
+
+ 归零记录
+
+
+
+ 设置
@@ -117,7 +127,7 @@
data() {
return {
bgc: {
- backgroundColor: "#8883F0",
+ backgroundColor: " rgba(0, 0, 0, 0)",
},
}
},
@@ -144,74 +154,84 @@ page{
width: 750rpx;
height: 100vh;
.userpage{
- .img{
- // position: absolute;
- // position: fixed;
- margin-top: -170rpx;
+ .top_box{
+ padding-top: 40rpx;
width: 750rpx;
- height: 444rpx;
+ height: 352rpx;
background-color: #8883F0;
- z-index: 1;
- }
- .cont{
- // position: absolute;
- // position: fixed;
- display: flex;
- flex-wrap: wrap;
- align-content: flex-start;
- margin-top: -185rpx;
- width: 750rpx;
- height: 1;
- padding: 0 40rpx;
- padding-top: 96rpx;
- border-radius: 200rpx 0 0 0;
+ }
+ .bot_box{
+ position: relative;
+
+ padding: 40rpx 50rpx ;
+ margin-top: -50rpx;
+ width: 750rpx;
+ // min-height: 500rpx;
background: #F7FAFE;
- z-index: 10;
- .tit{
- margin-left: 40rpx;
- font-size: 40rpx;
- font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
- font-weight: 600;
- color: #262B37;
- }
- .card{
+ border-radius: 50rpx 50rpx 0 0;
+ .userinfo{
display: flex;
- flex-wrap: nowrap;
- align-items: center;
- margin-top: 40rpx;
- width: 670rpx;
- height: 160rpx;
+ justify-content: center;
+ position: absolute;
+ top: -100rpx;
+ width: 650rpx;
+ height: 184rpx;
background: #FFFFFF;
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(53,140,255,0.1);
border-radius: 32rpx 32rpx 32rpx 32rpx;
- image{
- margin-left: 40rpx;
- width: 80rpx;
- height: 80rpx;
- }
- .conts{
- margin-left: 40rpx;
+ .userimg_box{
display: flex;
- flex-wrap: wrap;
- .top{
- width: 100%;
- font-size: 32rpx;
- font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
- font-weight: 600;
- color: #262B37;
- }
- .bot{
- margin-top: 4rpx;
- font-size: 28rpx;
- font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
- font-weight: 400;
- color: #95989D;
+ align-items: center;
+ justify-content: center;
+ position: absolute;
+ top: -36rpx;
+ width: 140rpx;
+ height: 140rpx;
+ background: #FFFFFF;
+ border-radius: 50%;
+ image{
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 50%;
+
}
}
+ .nickname{
+ width: 100%;
+ text-align: center;
+ margin-top: 110rpx;
+
+ font-weight: 400;
+ font-size: 36rpx;
+ color: #262B37;
+ }
+ }
+ .botcard{
+ margin-bottom: 32rpx;
+ display: flex;
+ align-items: center;
+ padding-left: 38rpx;
+ width: 650rpx;
+ height: 118rpx;
+ background: #FFFFFF;
+ border-radius: 30rpx;
+ box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42,130,228,0.1);
+ image{
+ width: 52rpx;
+ height: 52rpx;
+ margin-right: 32rpx
+ ;
+ }
+ .txt{
+ font-size: 30rpx;
+ font-family: Source Han Sans, Source Han Sans;
+ font-weight: 400;
+ color: #383838;
+ }
}
}
-
+
}
.fdpage{
.top_box{
@@ -306,6 +326,12 @@ page{
background: #FFFFFF;
border-radius: 30rpx;
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42,130,228,0.1);
+ image{
+ width: 52rpx;
+ height: 52rpx;
+ margin-right: 32rpx
+ ;
+ }
.txt{
font-size: 30rpx;
font-family: Source Han Sans, Source Han Sans;
@@ -314,6 +340,7 @@ page{
}
}
}
+
}
diff --git a/pages/shebei/eletj.vue b/pages/shebei/eletj.vue
new file mode 100644
index 0000000..015001a
--- /dev/null
+++ b/pages/shebei/eletj.vue
@@ -0,0 +1,263 @@
+
+
+
+
+
+ 2024年01月
+
+
+ 本月用电量(度)
+
+
+ 25.36
+
+
+
+
+
+
+
+
+
+
+ 2023年04月
+
+
+ 5.30 度
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/shebei/sbdetail.vue b/pages/shebei/sbdetail.vue
new file mode 100644
index 0000000..a8916b0
--- /dev/null
+++ b/pages/shebei/sbdetail.vue
@@ -0,0 +1,593 @@
+
+
+
+
+
+
+
+
+ 设备
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ deviceInfo.deviceName }}号
+
+
+ 电表号:{{ deviceInfo.deviceId }}
+ 在线
+ 离线
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 150KWH
+
+
+ 总电量
+
+
+
+
+ 0.5元/度
+
+
+ 电价
+
+
+
+
+
+
+ 实时
+
+
+ {{deviceInfo.realTimePower}}KW
+ 实时功率
+
+
+ {{deviceInfo.electricity}}A
+ 电流
+
+
+ {{deviceInfo.voltage}}V
+ 电压
+
+
+
+
+
+ 其他
+
+
+
+
+
+ 抄表
+
+
+
+
+
+ 归零
+
+
+
+
+
+ 异常
+
+
+
+
+
+ 用电分析
+
+
+
+
+
+
+
+
+
+ 房租提醒
+
+
+
+
+
+ 设置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/userpage/bdcard.vue b/pages/userpage/bdcard.vue
new file mode 100644
index 0000000..447c2cd
--- /dev/null
+++ b/pages/userpage/bdcard.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+ 注意:绑定非一类卡,会因转租额度受限导致转账失败
+
+ 持卡人姓名
+
+
+
+
+
+
+ 身份证号码
+
+
+
+
+
+
+ 银行卡号
+
+
+
+
+
+
+
+ 验证码
+
+
+
+
+ 获取验证码
+
+
+
+
+ 立即支付
+
+
+
+
+
+
+
+
diff --git a/pages/userpage/cbRecord.vue b/pages/userpage/cbRecord.vue
new file mode 100644
index 0000000..b5a94d7
--- /dev/null
+++ b/pages/userpage/cbRecord.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+ 2501号电表 抄表时剩余电量
+
+ 2023年04月01日 15:52
+
+
+
+ 115.00度
+
+
+
+
+
+
+
+
+
diff --git a/pages/userpage/czRecord.vue b/pages/userpage/czRecord.vue
new file mode 100644
index 0000000..dbaead0
--- /dev/null
+++ b/pages/userpage/czRecord.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+ 2501电表充值
+
+ 2023-12-11 15:12:11
+
+
+
+ +220.00度
+
+ ¥60.00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/userpage/czindex.vue b/pages/userpage/czindex.vue
new file mode 100644
index 0000000..11dfb0a
--- /dev/null
+++ b/pages/userpage/czindex.vue
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+
+ 元
+
+
+
+
+ 充值金额:50元
+
+
+
+
+
+ 到账电量:80.23度
+
+ (单价0.6元/度)
+
+
+
+ 充值金额:50元
+
+ 查看明细
+
+
+
+
+ 平台服务费:0.30
+
+
+
+
+
+ 充值须知
+
+
+
+
+ 1.充值时与蓝牙设备保持三米以内
+
+
+
+
+ 2.支付成功后,需点击“完成”按钮,请勿直接退出
+
+
+
+
+ 3.若发生充值异常,可以在“我的”,“常见问题”中排查
+
+
+
+ 立即支付
+
+
+
+
+
+
+ 温馨提示
+
+ 充值金额不低于10元
+
+
+ 好的
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/userpage/glRecord.vue b/pages/userpage/glRecord.vue
new file mode 100644
index 0000000..fab16f1
--- /dev/null
+++ b/pages/userpage/glRecord.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+ 2501号电表 归零时剩余电量
+
+ 2023年04月01日 15:52
+
+
+
+ 115.00度
+
+
+
+
+
+
+
+
+
diff --git a/pages/userpage/order_detail.vue b/pages/userpage/order_detail.vue
new file mode 100644
index 0000000..992db4d
--- /dev/null
+++ b/pages/userpage/order_detail.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+ 到账金额
+
+
+ 12,000.00
+
+
+ 账户余额12365.23
+
+
+
+
+
+ 到账日期
+
+
+ 2023-12-11 15:30
+
+
+
+
+ 充值设备
+
+
+ 2501号电表
+
+
+
+
+ 充值类型
+
+
+ 电费充值
+
+
+
+
+ 充值用户
+
+
+ aliyou
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/userpage/shouzhi.vue b/pages/userpage/shouzhi.vue
index b5ddb80..c7b497e 100644
--- a/pages/userpage/shouzhi.vue
+++ b/pages/userpage/shouzhi.vue
@@ -3,10 +3,7 @@
-
- 充值记录
- 更多
-
+
用户充值
@@ -21,9 +18,7 @@
-
- 电费充值
-
+
diff --git a/pages/userpage/skzh.vue b/pages/userpage/skzh.vue
new file mode 100644
index 0000000..97ec107
--- /dev/null
+++ b/pages/userpage/skzh.vue
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+ 个人用户
+
+
+ 拥有个人银行卡
+
+
+
+
+ 企业用户
+
+
+ 拥有个人银行卡
+
+
+
+
+ 微信账号
+
+
+ 需微信实名认证
+
+
+
+
+ 支付宝账号
+
+
+ 需支付宝实名认证
+
+
+ 充值须知 1.充值时与蓝牙设备保持三米以内
+
+ 立即支付
+
+
+
+
+
+
+
+
diff --git a/pages/userpage/userSet.vue b/pages/userpage/userSet.vue
new file mode 100644
index 0000000..9d0386a
--- /dev/null
+++ b/pages/userpage/userSet.vue
@@ -0,0 +1,309 @@
+
+
+
+
+
+
+ 更换绑定手机号
+
+
+
+ 138***8999
+
+
+
+
+
+
+
+ 修改密码
+
+
+
+
+
+
+
+
+
+
+ 用户协议
+
+
+
+
+
+
+
+
+ 隐私政策
+
+
+
+
+
+
+
+
+ 个人信息收集清单
+
+
+
+
+
+
+
+
+
+
+
+ 常见问题
+
+
+
+
+
+
+
+
+
+ 意见反馈
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 角色切换
+
+
+
+ 当前为房东模式
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备分组
+
+
+ 管理
+
+
+
+
+
+ 全部
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ 退出登录
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/static/cb.png b/static/cb.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1ded99f136f4b836b4d7d9fc2fd1049ae7c4213
GIT binary patch
literal 1067
zcmV+`1l0S9P)Px&(N3MT+=Ku!QW;m|r5Oi6eGP5?at
za01d3ke;C7xeqo^?X+5^23dAMXaabDQx`e35~Z%#JGQnFJ=F{@wkp3|xHb%x
z>3pRw&qffQa{?J?dUIVgQS6)c4FGKVjR<7y>*`UZsJO{Y?8QS!n)XkJRzw0pPCac+
zZ>m*>^XJw-dAb6kZT~wtzt=m)n*l#}CP8}sCk-@R6^goQ(5J`Nu7Y?T01~x3UG@6E
z0px85EdV{))<;Db5}a(t+8UXK1k*}zY?fi8(ANbjBl_bWiQKSEB`9*|3IrW$dh;Fs
zyi5Vl%%?*FG75wW`5rLRy3Lhb0m}@hqQap}CFrjn11(aDaS?kifJMS3J!=7&_BD~T
zqD8kaB)E`Z(K?s%c|FrwL%{pzh+dp{l5(~U!)m@#@S%jXqU{2;4|Mfb#P97xMR`l)
z-gR_!CSAeCNCEawp3Z@2H{~K{)m`YS$=+NFuw-8}G9}0$nRYD!v_2T>Py{Un$Oex6
zQMcfHD5YX7ymuC)K)4&BUdZ2Y)<)tLZZot%30p)#`>gj;{RTL?_1dh#1bO2euDWOSmqGRK
z{QGV?T94R&tZaJd65S!fP$ox{W?sS13W8N;HPNVS01-=xv#N@jB5=tE49TIbu!>G3
lc=&HS3|yiwc>wWq`wNURdn0_SN$UUr002ovPDHLkV1l@F=l%cy
literal 0
HcmV?d00001
diff --git a/static/cz.png b/static/cz.png
new file mode 100644
index 0000000000000000000000000000000000000000..f480fdcdb90a68ba7838b1b03c6cc9754a3c9b50
GIT binary patch
literal 1997
zcmV;;2Qv7HP)Px+he1RA@uhT3u)yRTTctY_t``&VYh~LW&ALD72uUsL-N)@Ig#aK|!$vMFmBR
z)}3f(v+hJQt3o0^D5x}V7Ob>_P@zgAD*8}pK|w*K0V@Q2n283Ax--YzJ9lbA
z_Q&c%9yWXLJ?FdU=YHqjLm1L$uIi7ofeC}?W-#9fqRRm^)ZbPmMtm2aF)*J6(Me|h
z5D}K9s@C!_RG~o@saAdSd;@z8qPqaxA{FiL(*XEeX1qQqxV{0^-Jr~X4Z!Sy|$K&HvoPhM}Z|UeZdrcI^|ePo7vfys{W3#
zl5rO!ngFPClZY4B8`xj1T7k~GT7X2rQ;CjbtRk$j%!J3M9P<+$VMSx+YW`jVWM;A*?)ozfsy4?lFRw?~nYXdIfaDujf#fLSCdE!7_;gD}C
z+C0Tnj<>>rX6?#0C;8q46sJj?0!VQ)Ua}o)w~k_U*Z+n=*QUl6g35qNrhZ~O=AI&%
zo*Rfw*cFfCwe=89D>VUmwO|e;$)@~-A@3}5fn=<5h2tPx)l`OP(VpJ6ubXn78@vbL
zzEt8_=7_b}z?|#vB1p?BOf4&=0HtDQgFo5RR##>6lvJROfpCrby+MS<^0fI#cKje<
zlC?ZH5N>z7`reEs3Fu|lpD-Y~T5QDd@7+_?OEyI^#XLbYOC>r6;L-#X7z^o?KMXKp
z?TnQg4BR0YgaqWxt{w#QUZq4}JEqmmRf_(f2Wmq|wd|NLW#ow3M>~t=$@Sdeca?}h
zgm;8D#DLPN8aQe@=46rLy?)PRy=15$l_HzPRW0Ltj`)tEtkzS`Z16TS9!?vA6bU?|
zoDIy-O4TZ6zUnHF_`(dS%?#x=Fs$qdxjCcmi*Ip%)%N;24!6I
zol`(ET+(p_<5}`%SLeYTvjgU{cE!3vXR9T(FBwl2jb%|7GK=#jwj|L4F$&A+Kf>sB
z9Z&IU{?F>lOsu^q0HrdVK07D^lKie*TBLFbNXM0Q*H#v4oks#ty**RpQu56R$c`N~
zpp5>9+5jcFd=LQtHXzRp-Uo1x^k(4W_80=R$l+!HkJ>_>>mLUwra;o=+|?Nd$K@?!
z*{+z|brjxYQV@4}@qs$zq|nCnWm0g1M>n|FTME#MT`@1y0rcNV+y3v#0ZyPQDPk)8
zQ10OW_h4m2z$9f)TY~X$*}3T5A}htz2cHAf`^6!qKq6%)9B!p(ZR!0{arLUG&tbJ*
zBMkWlMNWe=&HFc^1$%niejTAYV@8=2+EVt$)s|hcwkPF7iY?%*T`{%T!np>NsS@NF
zDgk9!D;U@_vO!VzA(icZPDhq)`IyCcQ!)QmSu)JVi!`YCoPyuce5Cqv`st*SuLx}124d08rB45r
zR04hUM;JY*dlqim<+^lvG&La6CPv0dj-t;HHB{45t9i*NZMjmoQrx`6_kiTnOJ|WN
zUMBizyV*3LM01%+8GAeWa+=U&Ynk}At}Yo>n^~{+GC6sTfZ4KR*87RSz5xkg!UeY&
zm>|MK0Nv8N7p|vz0_+zN^M`*$Sk!f|ycGumlwL61qDkOuQjf@qg%WEC_exqczmAx{
fqzFfcb&&r9AId`QuHt&F00000NkvXXu0mjfz$(7$
literal 0
HcmV?d00001
diff --git a/static/device.png b/static/device.png
new file mode 100644
index 0000000000000000000000000000000000000000..944391a9a371319a75bed64f1b928fc73db4c357
GIT binary patch
literal 5805
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
literal 0
HcmV?d00001
diff --git a/static/ele.png b/static/ele.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad7c2803a305f3f4362d90001b4afd8866cdd0d2
GIT binary patch
literal 553
zcmV+^0@nSBP)00001b5ch_0Itp)
z=>Px$<4Ht8R7gv$mdkO%Fc5}!$t5@J4nhZ^1L%NMkkA2~FqxP*m?6%IbO0TsgwR3g
z06MU_k%QTcJmB#|Z%0>2`~A}XyApz8M2q7Zh@MpI1oK;zZ483gxxK+X05~=P0_sZv
zAK~$pfC8J~0I>CZM-GU>B(_$cQfC^t2jL0c!?=fl-&X1oH{MHo$o2{WQJApcJqtiW
zDRr58A)twR1PmsA`|T=>dxB_jTmjL@M*S(JP7t_>5YWV$RrTB}TF&E93vu-y>bZa@
zOnw01-W0%7UjtYtm*8+ZQ@42c+#J|ilZb}XnY-bgI(N|}xvX;kZ6HvP0~+?7x~NMv
zXMiTw6dZSVN~zCsk^vf6vmT$|KxgWgT7_+LIqFM&D6^@xH967Q12gsAZE*^tF!=(2
zK~w9TiN?<}_p=%Ymtj0W5FQZKqx@7nX7
r2c6A2Yf1oi|Gz2hcpoU8V7xVdL?RcW8zwPx%EJ;K`R9HvFnZHrPFcgR1OTi3@DM&`h2F?bsL9zjNhJuPvQ4k*^kPTpiFajH3
z3VbQ4bDRaXvGISsr|8*gQdp9|`y~IKVj~zdG+WXwCl!n6Rxpv-n_=xfMkV
zyxzaIm8w=_!nR78#WE(iw`!S129vc_&n!Ba)ZS9?hF9U7as;aFFr+ZSQyBmJg
z!K7^ISpKi4d$8DF*cJsXe=y2m!`do6tvT4hw%U(9g1Mzz!p2-njQ!c#0l-u@i{a&h78-+VV|x({)w=9LScoEa3pQv{1>JU-_p?0ClGGUb>FT1%)naOxl?Qm4F#c
z4r(*m0kXl!P)1;edB=h>1M?@30C>qT&4w}rbK*BW)Vwo-VuPuNu?wS79K@7n48;ed
z7x|;0Ou#71cr+9XOl_QVKzP=yp%o||nD4|;=N(|ypvYi^?6L|)2TRLV{HD68S%;#7
zwU;0fC=yu5GKxXbz?u({qEJ+@YIcc3X~7ywP%lt=uyP6N4T=JmEn}}xonVC$)H_r+
zSh|dE^}_(=yknzJIhw)Z1K~FW#ZM^I32pWJ0c|{F3bJ$noB#j-
M07*qoM6N<$g8%LvZvX%Q
literal 0
HcmV?d00001
diff --git a/static/gl.png b/static/gl.png
new file mode 100644
index 0000000000000000000000000000000000000000..7f08dd6c50f37b2120e90e381be895d544c551e1
GIT binary patch
literal 1567
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