2026022:尝试调整主包大小(失败)

This commit is contained in:
George 2026-02-27 21:35:20 +08:00
parent 4e7d595893
commit a6f8910ce1
43 changed files with 1378 additions and 63 deletions

View File

@ -1,6 +1,5 @@
import projectConfig from '@/env.config.js';
var mqtt = require('mqtt')
var url = projectConfig.mqttServer;
let mqttTool = {
@ -8,6 +7,7 @@ let mqttTool = {
}
mqttTool.connect = function (token) {
var mqtt = require('mqtt');
let options = {
clientId: 'phone-' + Math.random().toString(16).substr(2),
username: 'fastbee',

View File

@ -17,10 +17,10 @@ let xinzhiKey = 'SBh45_yy21FU5ErV_';
const CONFIG = {
// 开发环境配置
development: {
officialWebUrl: 'http://localhost:8080/',
baseUrl: 'http://localhost:8080/',
mqttServer: protocalDev + 'localhost/mqtt',
decoderUrl: 'http://localhost:8080/',
officialWebUrl: 'https://ycdat.cn/',
baseUrl: 'https://ycdat.cn/prod-api/',
mqttServer: protocalProd + 'ycdat.cn/mqtt',
decoderUrl: 'https://ycdat.cn/',
qqmapKey,
xinzhiKey,
},

View File

@ -124,7 +124,7 @@
},
"quickapp" : {},
"mp-weixin" : {
"appid" : "wx5bfbadf52adc17f3",
"appid" : "wx8bcff4708d1f6d2b",
"setting" : {
"urlCheck" : false,
"minified" : true

View File

@ -5,8 +5,8 @@
"homepage": "https://fastbee.cn",
"main": "main.js",
"dependencies": {
"jsencrypt": "^3.3.2",
"moment": "^2.30.1",
"dayjs": "^1.11.19",
"jsencrypt": "^3.5.4",
"mqtt": "^3.0.0",
"vue-i18n": "^9.13.1"
},

View File

@ -60,7 +60,20 @@
}
},
{
"path": "pages/tabBar/alert/edit",
"path": "pages/tabBar/trend/trend",
"style": {
"navigationBarTitleText": "%navBar.news%",
"enablePullDownRefresh": false,
"app-plus": {
"bounce": "none" // 将回弹属性关掉
}
}
}
],
"subPackages": [{
"root": "pagesA",
"pages": [{
"path": "alert/edit",
"meta": {
"title": "%navBar.alarmHandling%"
},
@ -70,28 +83,15 @@
}
},
{
"path": "pages/tabBar/trend/trend",
"style": {
"navigationBarTitleText": "%navBar.news%",
"enablePullDownRefresh": false,
"app-plus": {
"bounce": "none" // 将回弹属性关掉
}
}
},
{
"path": "pages/common/webview/index",
"path": "common/webview/index",
"style": {
"navigationBarTitleText": "%navBar.browse%"
},
"meta": {
"requireAuth": true
}
}
],
"subPackages": [{
"root": "pagesA",
"pages": [{
},
{
"path": "scene/detail",
"meta": {
"title": "%navBar.sceneDetail%",
@ -624,6 +624,16 @@
}
]
}],
"preloadRule": {
"pages/tabBar/home/index": {
"network": "all",
"packages": ["pagesA"]
},
"pages/tabBar/user/user": {
"network": "all",
"packages": ["pagesB"]
}
},
"globalStyle": {
"pageOrientation": "portrait",
"navigationBarTitleText": "%common.fastbee%",

View File

@ -453,7 +453,7 @@
let title = this.$tt('login.serviceAgreement');
let url = projectConfig.officialWebUrl + 'service-agreement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 隐私政策
@ -461,7 +461,7 @@
let title = this.$tt('login.privacyPolicy');
let url = projectConfig.officialWebUrl + 'privacy-policy.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
//记住密码
@ -474,7 +474,7 @@
},
openhpLink() {
uni.navigateTo({
url: '/pages/common/webview/index?url=https://ycdat.cn/'
url: '/pagesA/common/webview/index?url=https://ycdat.cn/'
});
}
}

View File

@ -251,7 +251,7 @@
});
// #endif
uni.navigateTo({
url: `/pages/tabBar/alert/edit?alertLogId=${item.alertLogId}&source=2`
url: `/pagesA/alert/edit?alertLogId=${item.alertLogId}&source=2`
});
},
// 获取模板id

View File

@ -367,7 +367,7 @@
},
openYanAnLink() {
uni.navigateTo({
url: '/pages/common/webview/index?url=https://ycdat.cn/'
url: '/pagesA/common/webview/index?url=https://ycdat.cn/'
});
},
gotoAbout() {
@ -450,7 +450,7 @@
},
openappLink() {
uni.navigateTo({
url: '/pages/common/webview/index?url=https://gitee.com/beecue/fastbee-app/tree/master/app'
url: '/pagesA/common/webview/index?url=https://gitee.com/beecue/fastbee-app/tree/master/app'
});
},
// 解绑微信

View File

@ -0,0 +1,214 @@
<template>
<page-meta>
<navigation-bar :title="$tt('navBar.alarmHandling')" title-align="center" background-color="#007AFF" />
</page-meta>
<view class="alert-edit">
<view class="alert-info">
<view class="title">{{$tt('alert.alertInformation')}}</view>
<u--form labelPosition="left" :model="model" labelWidth="90"
:labelStyle="{ fontSize: '28rpx', color: '#8f9ca2' }">
<u-form-item :label="$tt('alert.alertName')">
{{ model.alertName }}
</u-form-item>
<u-form-item :label="$tt('alert.serialNumber')">
{{ model.serialNumber }}
</u-form-item>
<u-form-item :label="$tt('alert.deviceName')">
{{ model.deviceName }}
</u-form-item>
<u-form-item :label="$tt('alert.alertType')">
<text
:class="{'success': model.alertLevel === 1, 'warning': model.alertLevel === 2, 'error': model.alertLevel === 3}">
{{ getaLertLevelDisplay(model) }}
</text>
</u-form-item>
<u-form-item :label="$tt('alert.alertTime')">
{{ model.createTime }}
</u-form-item>
<u-form-item :label="$tt('alert.data')">
<div v-html="formatDetail(model.detail)"></div>
</u-form-item>
</u--form>
</view>
<view class="alert-dispose" v-if="model.status !== 1">
<view class="title">{{$tt('alert.alertProcess')}}</view>
<u--form labelPosition="left" :model="model" labelWidth="90"
:labelStyle="{ fontSize: '28rpx', color: '#8f9ca2' }">
<u-form-item :label="$tt('alert.processAlert')">
<u-radio-group v-if="model.status === 2" v-model="alertLevel" size="16" labelSize="14">
<u-radio shape="circle" :name="1" :label="$tt('alert.untreated')"></u-radio>
<text style="margin-left: 30rpx;"></text>
<u-radio shape="circle" :name="3" :label="$tt('alert.processed')"></u-radio>
</u-radio-group>
<text v-if="model.status === 3">{{ getaStatusDisplay(model) }}</text>
</u-form-item>
<u-form-item v-if="model.status === 2" :label="$tt('alert.processResult')" labelPosition="top">
<u-textarea v-model="model.remark" fontSize="14" :placeholder="$tt('alert.inputProcessMsg')"
confirmType="done" border="none"></u-textarea>
</u-form-item>
<u-form-item v-if="model.status === 3" :label="$tt('alert.processResult')">
{{ model.remark }}
</u-form-item>
<u-form-item v-if="model.status === 3" :label="$tt('alert.processTime')">
{{ model.updateTime }}
</u-form-item>
</u--form>
</view>
<view class="btn-wrap" v-if="model.status === 2">
<u-button :customStyle="{ height: '96rpx' }" type="primary" size="normal" :text="$tt('common.save')"
@click="handleSaveForm"></u-button>
</view>
</view>
</template>
<script>
import { getAlertLog, editAlertLog } from '@/apis/modules/alertLog.js';
export default {
data () {
return {
alertLogId: null, // 告警id
source: null, // 数据来源-设备/告警列表
// 详情数据
model: {
remark: '',
},
alertLevel: 1, // 处理级别
};
},
onLoad: function (option) {
this.alertLogId = Number(option.alertLogId) || null;
this.source = Number(option.source) || null;
this.getAlertDetail();
},
methods: {
// 获取遥控器详情
getAlertDetail () {
getAlertLog(this.alertLogId).then(res => {
const { code, data } = res;
if (code === 200) {
this.model = { ...data };
}
});
},
// 格式化detail字段
formatDetail (json) {
if (json == null || json == "") {
return;
}
let item = JSON.parse(json);
let result = 'id:<span style="color:#F56C6C">' + item.id + '</span><br />';
result = result + 'value:<span style="color:#F56C6C">' + item.value + '</span><br />';
result = result + 'remark:<span style="color:#F56C6C">' + item.remark + '</span>';
return result;
},
// 保存
handleSaveForm () {
const params = { ...this.model, status: this.alertLevel };
editAlertLog(params).then(res => {
if (res.code === 200) {
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2];
// 更新列表
if (this.source === 1) {
// #ifdef H5 || APP-PLUS
prevPage.$refs.deviceAlertLog.handleSearch();
// #endif
// #ifdef MP-WEIXIN
prevPage.$vm.$refs.deviceAlertLog.handleSearch();
// #endif
}
if (this.source === 2) {
// #ifdef H5 || APP-PLUS
prevPage.handleSearch();
// #endif
// #ifdef MP-WEIXIN
prevPage.$vm.handleSearch();
// #endif
}
uni.navigateBack();
} else {
uni.showToast({
icon: 'error',
title: this.$tt('common.saveError')
});
}
});
},
// 获取告警级别显示
getaLertLevelDisplay (item) {
const { alertLevel } = item;
if (alertLevel === 1) {
return this.$tt('alert.notice');
} else if (alertLevel === 2) {
return this.$tt('alert.minor');
} else if (alertLevel === 3) {
return this.$tt('alert.warning');
}
},
// 获取告警状态显示
getaStatusDisplay (item) {
const { status } = item;
if (status === 1) {
return this.$tt('alert.noNeed');
} else if (status === 2) {
return this.$tt('alert.Unprocessed');
} else if (status === 3) {
return this.$tt('alert.processed');
}
},
},
};
</script>
<style lang="scss">
page {
height: 100%;
background: #eef3f7;
}
.alert-edit {
width: 100%;
.alert-info,
.alert-dispose {
background: #fff;
margin: 20rpx;
padding: 20rpx 30rpx;
border-radius: 10rpx;
.title {
color: #303133;
font-size: 32rpx;
padding: 12rpx 0;
}
}
.btn-wrap {
margin: 30rpx 20rpx;
}
.success {
color: #5ac725;
}
.warning {
color: #f9ae3d;
}
.error {
color: #f56c6c;
}
}
</style>
<style lang="scss" scoped>
::v-deep .u-form-item__body {
padding: 5px 0 !important;
}
::v-deep .u-textarea__field {
font-size: 28rpx !important;
}
</style>

View File

@ -0,0 +1,38 @@
<template>
<view v-if="params.url">
<web-view :src="`${params.url}`"></web-view>
<u-loading-page :loading="loading"></u-loading-page>
</view>
</template>
<script>
export default {
data () {
return {
loading: true,
params: {}
}
},
props: {
src: {
type: [String],
default: null
}
},
onLoad (event) {
const { url, ...res } = event;
this.params = {
url: decodeURIComponent(url),
res
};
if (event.title) {
uni.setNavigationBarTitle({
title: event.title
})
};
setTimeout(() => {
this.loading = false;
}, 1000);
},
}
</script>

View File

@ -153,7 +153,7 @@
});
// #endif
uni.navigateTo({
url: `/pages/tabBar/alert/edit?alertLogId=${item.alertLogId}&source=1`
url: `/pagesA/alert/edit?alertLogId=${item.alertLogId}&source=1`
});
},
// 获取模板id

View File

@ -76,7 +76,7 @@
</template>
<script>
import moment from 'moment';
import dayjs from 'dayjs';
import uniDataCheckbox from '@/pagesA/components/uni-data-checkbox/index.vue';
import uniPagination from '@/pagesA/components/uni-pagination/index.vue';
import { getSubGatewayList } from '@/apis/modules/gateway.js';
@ -366,8 +366,8 @@
});
const params = {
identifierList: idenList,
beginTime: moment(beginTime).format('YYYY-MM-DD HH:mm:ss'),
endTime: moment(endTime).format('YYYY-MM-DD HH:mm:ss'),
beginTime: dayjs(beginTime).format('YYYY-MM-DD HH:mm:ss'),
endTime: dayjs(endTime).format('YYYY-MM-DD HH:mm:ss'),
deviceId: deviceId,
// slaveId: slaveId,
serialNumber: serialNumber,

File diff suppressed because it is too large Load Diff

View File

@ -207,7 +207,7 @@
let title = this.$tt('login.privacyPolicy');
let url = projectConfig.officialWebUrl + 'privacy-policy.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 服务协议
@ -215,7 +215,7 @@
let title = this.$tt('login.serviceAgreement');
let url = projectConfig.officialWebUrl + 'service-agreement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 儿童隐私保护声明
@ -223,7 +223,7 @@
let title = this.$tt('login.childProtectionStatement');
let url = projectConfig.officialWebUrl + 'child-protection-statement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 第三方信息共享清单
@ -231,7 +231,7 @@
let title = this.$tt('login.commonBill');
let url = projectConfig.officialWebUrl + 'common-bill.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 勾选协议
@ -247,7 +247,7 @@
},
openhpLink () {
uni.navigateTo({
url: '/pages/common/webview/index?url=https://ycdat.cn/'
url: '/pagesA/common/webview/index?url=https://ycdat.cn/'
});
}
}

View File

@ -215,7 +215,7 @@
let title = this.$tt('login.privacyPolicy');
let url = projectConfig.officialWebUrl + 'privacy-policy.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 服务协议
@ -223,7 +223,7 @@
let title = this.$tt('login.serviceAgreement');
let url = projectConfig.officialWebUrl + 'service-agreement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 儿童隐私保护声明
@ -231,7 +231,7 @@
let title = this.$tt('login.childProtectionStatement');
let url = projectConfig.officialWebUrl + 'child-protection-statement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 第三方信息共享清单
@ -239,7 +239,7 @@
let title = this.$tt('login.commonBill');
let url = projectConfig.officialWebUrl + 'common-bill.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 勾选协议

View File

@ -33,7 +33,7 @@
let title = this.$tt('login.privacyPolicy');
let url = projectConfig.officialWebUrl + 'privacy-policy.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 服务协议
@ -41,7 +41,7 @@
let title = this.$tt('login.serviceAgreement');
let url = projectConfig.officialWebUrl + 'service-agreement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 儿童隐私保护声明
@ -49,7 +49,7 @@
let title = this.$tt('login.childProtectionStatement');
let url = projectConfig.officialWebUrl + 'child-protection-statement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 第三方信息共享清单
@ -57,7 +57,7 @@
let title = this.$tt('login.commonBill');
let url = projectConfig.officialWebUrl + 'common-bill.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
//点击同意

View File

@ -204,7 +204,7 @@
let title = this.$tt('login.privacyPolicy');
let url = projectConfig.officialWebUrl + 'privacy-policy.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 服务协议
@ -212,7 +212,7 @@
let title = this.$tt('login.serviceAgreement');
let url = projectConfig.officialWebUrl + 'service-agreement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 儿童隐私保护声明
@ -220,7 +220,7 @@
let title = this.$tt('login.childProtectionStatement');
let url = projectConfig.officialWebUrl + 'child-protection-statement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 第三方信息共享清单
@ -228,7 +228,7 @@
let title = this.$tt('login.commonBill');
let url = projectConfig.officialWebUrl + 'common-bill.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 勾选协议

View File

@ -182,7 +182,7 @@
let title = this.$tt('login.serviceAgreement');
let url = projectConfig.officialWebUrl + 'service-agreement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 隐私政策
@ -190,12 +190,12 @@
let title = this.$tt('login.privacyPolicy');
let url = projectConfig.officialWebUrl + 'privacy-policy.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
openhpLink () {
uni.navigateTo({
url: '/pages/common/webview/index?url=https://ycdat.cn/'
url: '/pagesA/common/webview/index?url=https://ycdat.cn/'
});
}
}

View File

@ -75,7 +75,7 @@
let title = this.$tt('login.privacyPolicy');
let url = projectConfig.officialWebUrl + 'privacy-policy.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 服务协议
@ -83,7 +83,7 @@
let title = this.$tt('login.serviceAgreement');
let url = projectConfig.officialWebUrl + 'service-agreement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 儿童隐私保护声明
@ -91,7 +91,7 @@
let title = this.$tt('login.childProtectionStatement');
let url = projectConfig.officialWebUrl + 'child-protection-statement.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
// 第三方信息共享清单
@ -99,7 +99,7 @@
let title = this.$tt('login.commonBill');
let url = projectConfig.officialWebUrl + 'common-bill.html';
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${url}`
url: `/pagesA/common/webview/index?title=${title}&url=${url}`
});
},
//前往登录页面

View File

@ -5,7 +5,7 @@
<cropping :source="{ album: $tt('avatar.album')}" :imageUrl="avatarUrl" @cancel="handleCancel" @success="handleSuccess" />
</template>
<script>
import cropping from '@/components/cropping/index.vue';
import cropping from '@/pagesB/components/cropping/index.vue';
import { uploadAvatar } from "@/apis/modules/account";
export default {

View File

@ -116,7 +116,7 @@
const token = uni.getStorageSync('token');
const url = projectConfig.baseUrl + `${'scada/topo/fullscreen'}?guid=${guid}&type=3&share=${token}`;
uni.navigateTo({
url: `/pages/common/webview/index?title=${title}&url=${encodeURIComponent(url)}`
url: `/pagesA/common/webview/index?title=${title}&url=${encodeURIComponent(url)}`
})
},
// 下拉刷新

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 453 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB