提交代码
This commit is contained in:
208
App.vue
208
App.vue
@@ -1,10 +1,11 @@
|
|||||||
<script>
|
<script>
|
||||||
import { queryDictDataCache } from './common/api/dictionary.js'
|
import { queryDictDataCache } from './common/api/dictionary.js'
|
||||||
import { getImageUrl } from '@/common/api/basic'
|
import { getImageUrl } from '@/common/api/basic'
|
||||||
|
import { checkAppUpdate } from './common/js/update.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
onLaunch: function () {
|
onLaunch: function () {
|
||||||
// this.checkAppUpdate()
|
checkAppUpdate()
|
||||||
// uni.onPushMessage((res) => {
|
// uni.onPushMessage((res) => {
|
||||||
// console.log("收到推送消息:",res) //监听推送消息
|
// console.log("收到推送消息:",res) //监听推送消息
|
||||||
// })
|
// })
|
||||||
@@ -27,7 +28,7 @@ export default {
|
|||||||
engineeringName: '',
|
engineeringName: '',
|
||||||
engineeringId: '', //工程ID
|
engineeringId: '', //工程ID
|
||||||
projectName: '',
|
projectName: '',
|
||||||
projectId:'', //項目ID
|
projectId: '', //項目ID
|
||||||
deviceName: '',
|
deviceName: '',
|
||||||
deviceId: '', //设备ID
|
deviceId: '', //设备ID
|
||||||
lineName: '',
|
lineName: '',
|
||||||
@@ -47,208 +48,7 @@ export default {
|
|||||||
console.log('App Hide')
|
console.log('App Hide')
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {},
|
||||||
// 1. 检查应用更新(已分平台:安卓 + iOS)
|
|
||||||
checkAppUpdate() {
|
|
||||||
// 开发环境跳过检查
|
|
||||||
const isDev = process.env.NODE_ENV === 'development'
|
|
||||||
if (isDev) {
|
|
||||||
return console.log('开发环境,不执行更新检查')
|
|
||||||
}
|
|
||||||
let isforce = 1
|
|
||||||
// uni.showModal({
|
|
||||||
// title: '更新提示',
|
|
||||||
// content: '发现新版本,是否立即更新?',
|
|
||||||
// showCancel: isforce == '0', // 强制更新隐藏取消按钮
|
|
||||||
// confirmText: '去更新',
|
|
||||||
// success: (modalRes) => {
|
|
||||||
// if (modalRes.confirm) {
|
|
||||||
// this.downloadAndInstallApk('http://112.4.144.18:8040/shiningCloud/file/canneng_wulian.apk')
|
|
||||||
// } else {
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// })
|
|
||||||
// 获取当前应用信息
|
|
||||||
plus.runtime.getProperty(plus.runtime.appid, (info) => {
|
|
||||||
const currentVersion = info.version // 当前本地版本号
|
|
||||||
|
|
||||||
// 调用 API 获取服务器上的最新版本信息
|
|
||||||
getLastestVersion()
|
|
||||||
.then((res) => {
|
|
||||||
if (!res.data) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
const { version, appFileList, iosUrl } = res?.data || {}
|
|
||||||
// let isforce = 1
|
|
||||||
// 版本不一样才更新
|
|
||||||
if (currentVersion != version) {
|
|
||||||
// ==============================================
|
|
||||||
// 🔴 关键:判断手机系统(安卓 / iOS)
|
|
||||||
// ==============================================
|
|
||||||
const isAndroid = plus.os.name === 'Android'
|
|
||||||
const isIos = plus.os.name === 'iOS'
|
|
||||||
|
|
||||||
// ----------------------
|
|
||||||
// ① iOS:跳 App Store
|
|
||||||
// ----------------------
|
|
||||||
if (isIos) {
|
|
||||||
uni.showModal({
|
|
||||||
title: '更新提示',
|
|
||||||
content: '发现新版本,请前往 App Store 更新',
|
|
||||||
showCancel: isforce === '0', // 强制更新隐藏取消按钮
|
|
||||||
confirmText: '去更新',
|
|
||||||
success: (modalRes) => {
|
|
||||||
if (modalRes.confirm) {
|
|
||||||
// 跳转到 App Store 链接
|
|
||||||
plus.runtime.openURL(iosUrl)
|
|
||||||
|
|
||||||
// 强制更新:退出 App
|
|
||||||
if (isforce !== '0') {
|
|
||||||
plus.runtime.quit()
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// 不更新直接退出 App(强制)
|
|
||||||
if (isforce !== '0') {
|
|
||||||
plus.runtime.quit()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// ----------------------
|
|
||||||
// ② Android:下载安装
|
|
||||||
// ----------------------
|
|
||||||
if (isAndroid) {
|
|
||||||
uni.showModal({
|
|
||||||
title: '更新提示',
|
|
||||||
content: '发现新版本,是否立即更新?',
|
|
||||||
showCancel: isforce === '0', // 强制更新隐藏取消按钮
|
|
||||||
confirmText: '去更新',
|
|
||||||
success: (modalRes) => {
|
|
||||||
if (modalRes.confirm) {
|
|
||||||
// 跳转到 App Store 链接
|
|
||||||
this.downloadAndInstallApk(appFileList[0].filePath)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
console.log('获取版本接口失败', err)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 2. 安卓专用:下载并安装 APK
|
|
||||||
downloadAndInstallApk(url) {
|
|
||||||
// 防止重复点击下载
|
|
||||||
if (this.downloadLoading) return
|
|
||||||
this.downloadLoading = true
|
|
||||||
|
|
||||||
uni.showLoading({
|
|
||||||
title: '正在下载更新...',
|
|
||||||
mask: true, // 加遮罩,防止重复点
|
|
||||||
})
|
|
||||||
|
|
||||||
// 下载配置(修复路径、覆盖安装)
|
|
||||||
const options = {
|
|
||||||
filename: '_doc/update/canneng_wulian.apk', // 固定文件名,更稳定
|
|
||||||
timeout: 120, // 超时时间
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建下载任务
|
|
||||||
const downloadTask = plus.downloader.createDownload(url, options, (downloadedFile, status) => {
|
|
||||||
this.downloadLoading = false
|
|
||||||
uni.hideLoading()
|
|
||||||
|
|
||||||
if (status === 200) {
|
|
||||||
// 开始安装
|
|
||||||
plus.runtime.install(
|
|
||||||
downloadedFile.filename,
|
|
||||||
{
|
|
||||||
force: true, // 强制覆盖安装
|
|
||||||
},
|
|
||||||
() => {
|
|
||||||
uni.showModal({
|
|
||||||
title: '安装成功',
|
|
||||||
content: '请重启APP',
|
|
||||||
showCancel: false,
|
|
||||||
confirmText: '确定',
|
|
||||||
success() {
|
|
||||||
plus.runtime.restart()
|
|
||||||
},
|
|
||||||
})
|
|
||||||
},
|
|
||||||
(e) => {
|
|
||||||
console.error('安装失败', e)
|
|
||||||
uni.showModal({
|
|
||||||
title: '安装失败',
|
|
||||||
content: '请开启安装权限后重试:' + e.message,
|
|
||||||
confirmText: '重试',
|
|
||||||
success: () => {
|
|
||||||
this.downloadAndInstallApk(url)
|
|
||||||
},
|
|
||||||
})
|
|
||||||
},
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
uni.showModal({
|
|
||||||
title: '下载失败',
|
|
||||||
content: '网络异常或下载链接失效',
|
|
||||||
confirmText: '重试',
|
|
||||||
success: () => {
|
|
||||||
this.downloadAndInstallApk(url)
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// 下载进度(优化体验)
|
|
||||||
downloadTask.addEventListener('statechanged', (task) => {
|
|
||||||
if (task.state === 3 && task.totalSize > 0) {
|
|
||||||
const percent = ((task.downloadedSize / task.totalSize) * 100).toFixed(0)
|
|
||||||
uni.showLoading({
|
|
||||||
title: `正在下载更新 ${percent}%`,
|
|
||||||
mask: true,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// 开始下载
|
|
||||||
downloadTask.start()
|
|
||||||
},
|
|
||||||
|
|
||||||
// downloadAndInstallApk(url) {
|
|
||||||
// uni.showLoading({ title: '下载新版本...' })
|
|
||||||
|
|
||||||
// const downloadTask = plus.downloader.createDownload(
|
|
||||||
// url,
|
|
||||||
// { filename: '_doc/update/' },
|
|
||||||
// (downloadedFile, status) => {
|
|
||||||
// uni.hideLoading()
|
|
||||||
// if (status === 200) {
|
|
||||||
// plus.runtime.install(
|
|
||||||
// downloadedFile.filename,
|
|
||||||
// { force: true },
|
|
||||||
// () => {
|
|
||||||
// // 安装成功
|
|
||||||
// },
|
|
||||||
// (e) => {
|
|
||||||
// uni.showToast({ title: '安装失败: ' + e.message, icon: 'none' })
|
|
||||||
// },
|
|
||||||
// )
|
|
||||||
// } else {
|
|
||||||
// uni.showToast({ title: '下载失败', icon: 'none' })
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// )
|
|
||||||
// downloadTask.start()
|
|
||||||
// },
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
10
changelog.md
Normal file
10
changelog.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# 更新日志
|
||||||
|
|
||||||
|
## 1.0.0 (2025-10-15)
|
||||||
|
- 初始版本发布
|
||||||
|
- 实现字母索引列表功能
|
||||||
|
- 支持按拼音首字母分组展示数据
|
||||||
|
- 集成右侧快速字母导航功能
|
||||||
|
- 添加滚动监听和高亮显示当前字母
|
||||||
|
- 支持签到状态显示和补签操作
|
||||||
|
- 优化空数据状态展示
|
||||||
@@ -1,238 +1,245 @@
|
|||||||
import request from '../js/request'
|
import request from '../js/request'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送验证码
|
* 发送验证码
|
||||||
* @param {*} params.type 0:登录 1:注册 2:修改密码 6:忘记密码 4:更换手机号第二步获取验证码 5:更换手机号第一步获取验证码
|
* @param {*} params.type 0:登录 1:注册 2:修改密码 6:忘记密码 4:更换手机号第二步获取验证码 5:更换手机号第一步获取验证码
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function apiGetYms(params) {
|
export function apiGetYms(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/appUser/authCode',
|
url: '/user-boot/appUser/authCode',
|
||||||
data: {
|
data: {
|
||||||
phone: params.phone,
|
phone: params.phone,
|
||||||
devCode: uni.getStorageSync('devCode'),
|
devCode: uni.getStorageSync('devCode'),
|
||||||
type: params.type,
|
type: params.type,
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录
|
* 登录
|
||||||
* @param {*} params.type 0:ysm 1:pwd
|
* @param {*} params.type 0:ysm 1:pwd
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function apiLogin(params) {
|
export function apiLogin(params) {
|
||||||
console.log(uni.getStorageSync('devCode'))
|
console.log(uni.getStorageSync('devCode'))
|
||||||
return request({
|
return request({
|
||||||
url: '/shiningCloud/user/login',
|
url: '/shiningCloud/user/login',
|
||||||
data: {
|
data: {
|
||||||
phone: params.phone,
|
phone: params.phone,
|
||||||
devCode: uni.getStorageSync('devCode'),
|
devCode: uni.getStorageSync('devCode'),
|
||||||
key: params.key.trim(),
|
key: params.key.trim(),
|
||||||
type: params.type,
|
type: params.type,
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 验证码登录
|
* 验证码登录
|
||||||
* @param {*} params.type 0:ysm 1:pwd
|
* @param {*} params.type 0:ysm 1:pwd
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function apiYsmLogin(params) {
|
export function apiYsmLogin(params) {
|
||||||
uni.setStorageSync('access_token', 'Basic bmpjbmFwcDpuamNucHFz')
|
uni.setStorageSync('access_token', 'Basic bmpjbmFwcDpuamNucHFz')
|
||||||
return request({
|
return request({
|
||||||
url: '/pqs-auth/oauth/token',
|
url: '/pqs-auth/oauth/token',
|
||||||
data: {
|
data: {
|
||||||
grant_type: 'sms_code',
|
grant_type: 'sms_code',
|
||||||
phone: params.phone,
|
phone: params.phone,
|
||||||
smsCode: params.smsCode.trim(),
|
smsCode: params.smsCode.trim(),
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 注册
|
* 注册
|
||||||
* @param {*} params
|
* @param {*} params
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function apiRegister(params) {
|
export function apiRegister(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/appUser/register',
|
url: '/user-boot/appUser/register',
|
||||||
data: {
|
data: {
|
||||||
phone: params.phone,
|
phone: params.phone,
|
||||||
devCode: uni.getStorageSync('devCode'),
|
devCode: uni.getStorageSync('devCode'),
|
||||||
code: params.code.trim(),
|
code: params.code.trim(),
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* app用户注册完自动登录
|
* app用户注册完自动登录
|
||||||
* @param params
|
* @param params
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function autoLogin(phone) {
|
export function autoLogin(phone) {
|
||||||
return request({
|
return request({
|
||||||
url: '/pqs-auth/oauth/autoLogin',
|
url: '/pqs-auth/oauth/autoLogin',
|
||||||
data: {
|
data: {
|
||||||
phone: phone,
|
phone: phone,
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 第一次登录设置密码
|
// 第一次登录设置密码
|
||||||
export function apiSetPsd(params) {
|
export function apiSetPsd(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/shiningCloud/user/setPsd',
|
url: '/shiningCloud/user/setPsd',
|
||||||
data: {
|
data: {
|
||||||
userId: uni.getStorageSync('userInfo').userIndex,
|
userId: uni.getStorageSync('userInfo').userIndex,
|
||||||
devCode: uni.getStorageSync('devCode'),
|
devCode: uni.getStorageSync('devCode'),
|
||||||
password: params.password.trim(),
|
password: params.password.trim(),
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 重置密码
|
// 重置密码
|
||||||
export function apiReSetPsd(params) {
|
export function apiReSetPsd(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/appUser/resetPsd',
|
url: '/user-boot/appUser/resetPsd',
|
||||||
data: {
|
data: {
|
||||||
phone: params.phone,
|
phone: params.phone,
|
||||||
code: params.code.trim(),
|
code: params.code.trim(),
|
||||||
devCode: uni.getStorageSync('devCode'),
|
devCode: uni.getStorageSync('devCode'),
|
||||||
password: params.password.trim(),
|
password: params.password.trim(),
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更换手机号第一步
|
// 更换手机号第一步
|
||||||
export function apiComfirmCode(params) {
|
export function apiComfirmCode(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/appUser/confirmCode',
|
url: '/user-boot/appUser/confirmCode',
|
||||||
data: {
|
data: {
|
||||||
devCode: uni.getStorageSync('devCode'),
|
devCode: uni.getStorageSync('devCode'),
|
||||||
phone: params.phone,
|
phone: params.phone,
|
||||||
code: params.code.trim(),
|
code: params.code.trim(),
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 重新绑定手机号
|
// 重新绑定手机号
|
||||||
export function apiRebindPhone(params) {
|
export function apiRebindPhone(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/appUser/rebindPhone',
|
url: '/user-boot/appUser/rebindPhone',
|
||||||
data: {
|
data: {
|
||||||
devCode: uni.getStorageSync('devCode'),
|
devCode: uni.getStorageSync('devCode'),
|
||||||
userId: uni.getStorageSync('userInfo').userIndex,
|
userId: uni.getStorageSync('userInfo').userIndex,
|
||||||
phoneNew: params.phone,
|
phoneNew: params.phone,
|
||||||
code: params.code.trim(),
|
code: params.code.trim(),
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 角色升级
|
// 角色升级
|
||||||
export function roleUpdate({ userId, referralCode }) {
|
export function roleUpdate({ userId, referralCode }) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/appRole/roleUpdate',
|
url: '/user-boot/appRole/roleUpdate',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: {
|
data: {
|
||||||
devCode: uni.getStorageSync('devCode'),
|
devCode: uni.getStorageSync('devCode'),
|
||||||
referralCode,
|
referralCode,
|
||||||
userId,
|
userId,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 密码登录
|
// 密码登录
|
||||||
export function apiPwdLogin(params) {
|
export function apiPwdLogin(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/pqs-auth/oauth/token',
|
url: '/pqs-auth/oauth/token',
|
||||||
header: {
|
header: {
|
||||||
Authorization: 'Basic bmpjbnRlc3Q6bmpjbnBxcw==', // 客户端信息加密摘要认证
|
Authorization: 'Basic bmpjbnRlc3Q6bmpjbnBxcw==', // 客户端信息加密摘要认证
|
||||||
},
|
},
|
||||||
params,
|
params,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//登录获取公钥
|
//登录获取公钥
|
||||||
export function gongkey(data) {
|
export function gongkey(data) {
|
||||||
console.log(data)
|
console.log(data)
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/user/generateSm2Key',
|
url: '/user-boot/user/generateSm2Key',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
data: data,
|
data: data,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改手机号
|
// 修改手机号
|
||||||
export function apiModifyPsd(params) {
|
export function apiModifyPsd(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/appUser/modifyPsd',
|
url: '/user-boot/appUser/modifyPsd',
|
||||||
data: {
|
data: {
|
||||||
devCode: uni.getStorageSync('devCode'),
|
devCode: uni.getStorageSync('devCode'),
|
||||||
userId: uni.getStorageSync('userInfo').userIndex,
|
userId: uni.getStorageSync('userInfo').userIndex,
|
||||||
phone: params.phone,
|
phone: params.phone,
|
||||||
password: params.password.trim(),
|
password: params.password.trim(),
|
||||||
code: params.code.trim(),
|
code: params.code.trim(),
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更改用户信息
|
// 更改用户信息
|
||||||
export function apiUpdateUser(params) {
|
export function apiUpdateUser(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/user/updateAppUser',
|
url: '/user-boot/user/updateAppUser',
|
||||||
data: {
|
data: {
|
||||||
...params,
|
...params,
|
||||||
},
|
},
|
||||||
header: {
|
header: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
},
|
},
|
||||||
method: 'PUT',
|
method: 'PUT',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 更改用户信息
|
// 更改用户信息
|
||||||
export function apiDeleteUser(params) {
|
export function apiDeleteUser(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/user/delete',
|
url: '/user-boot/user/delete',
|
||||||
data: {
|
data: {
|
||||||
id: uni.getStorageSync('userInfo').userIndex,
|
id: uni.getStorageSync('userInfo').userIndex,
|
||||||
},
|
},
|
||||||
method: 'DELETE',
|
method: 'DELETE',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新用户推送标识
|
// 更新用户推送标识
|
||||||
|
|
||||||
export function apiUpdatePush(params) {
|
export function apiUpdatePush(params) {
|
||||||
uni.getPushClientId({
|
uni.getPushClientId({
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
console.log('🚀 ~ apiUpdatePush111 ~ res:', res)
|
console.log('🚀 ~ apiUpdatePush111 ~ res:', res)
|
||||||
let push_clientid = res.cid
|
let push_clientid = res.cid
|
||||||
console.log(push_clientid, 'push_clientid')
|
console.log(push_clientid, 'push_clientid')
|
||||||
request({
|
request({
|
||||||
url: '/user-boot/appUser/updateDevCode',
|
url: '/user-boot/appUser/updateDevCode',
|
||||||
data: {
|
data: {
|
||||||
devCode: push_clientid,
|
devCode: push_clientid,
|
||||||
userId: uni.getStorageSync('userInfo').userIndex,
|
userId: uni.getStorageSync('userInfo').userIndex,
|
||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
fail(err) {
|
fail(err) {
|
||||||
console.log('🚀 ~ apiUpdatePush222 ~ res:', err)
|
console.log('🚀 ~ apiUpdatePush222 ~ res:', err)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 获取当前版本号
|
||||||
|
export function getLastData() {
|
||||||
|
return request({
|
||||||
|
url: '/cs-system-boot/appVersion/getLastData?versionType=APP',
|
||||||
|
method: 'POST',
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -292,6 +292,20 @@ image {
|
|||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
}
|
}
|
||||||
.boxClick:active {
|
.boxClick:active {
|
||||||
transform: scale(0.94);
|
// transform: scale(0.94);
|
||||||
opacity: 0.8;
|
// opacity: 0.8;
|
||||||
|
animation: elastic-bounce 0.5s;
|
||||||
|
}
|
||||||
|
@keyframes elastic-bounce {
|
||||||
|
0% {
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: scale(0.96);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ export default (options = {}) => {
|
|||||||
}
|
}
|
||||||
uni.request({
|
uni.request({
|
||||||
url,
|
url,
|
||||||
timeout: 1000 *30,
|
timeout: 1000 * 60,
|
||||||
data: {
|
data: {
|
||||||
...options.data,
|
...options.data,
|
||||||
},
|
},
|
||||||
|
|||||||
227
common/js/update.js
Normal file
227
common/js/update.js
Normal file
@@ -0,0 +1,227 @@
|
|||||||
|
import { getLastData } from '../api/user.js'
|
||||||
|
|
||||||
|
export const checkAppUpdate = () => {
|
||||||
|
// 开发环境跳过检查
|
||||||
|
const isDev = process.env.NODE_ENV === 'development'
|
||||||
|
// if (isDev) {
|
||||||
|
console.log('开发环境,不执行更新检查')
|
||||||
|
return
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 获取当前应用信息
|
||||||
|
plus.runtime.getProperty(plus.runtime.appid, (info) => {
|
||||||
|
const currentVersion = info.version
|
||||||
|
|
||||||
|
getLastData()
|
||||||
|
.then((res) => {
|
||||||
|
|
||||||
|
// let res = {
|
||||||
|
// data: {
|
||||||
|
// versionName: 'v1.6.83',
|
||||||
|
// forceUpdate: '1',
|
||||||
|
// androidPath: 'https://app.liuyingyong.cn/build/download/3c26e400-3a33-11f1-8997-a16e76fa35b3',
|
||||||
|
// // androidPath: 'http://112.4.144.18:8040/shiningCloud/file/canneng_wulian.apk',
|
||||||
|
// iosPath: 'xxxx',
|
||||||
|
// },
|
||||||
|
// }
|
||||||
|
if (!res?.data) {
|
||||||
|
console.log('未获取到版本信息')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 适配新的接口返回格式
|
||||||
|
const { versionName, androidPath, iosPath, forceUpdate = '1' } = res.data
|
||||||
|
|
||||||
|
// 版本相同则不需要更新
|
||||||
|
if (versionName.includes(currentVersion)) {
|
||||||
|
console.log('已是最新版本')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const isForce = forceUpdate === '1' // 字符串 '1' 表示强制更新
|
||||||
|
|
||||||
|
const iosUrl = iosPath
|
||||||
|
|
||||||
|
handleUpdate({ version: versionName, androidPath, iosUrl, isForce })
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error('获取版本接口失败', err)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理更新逻辑
|
||||||
|
*/
|
||||||
|
const handleUpdate = ({ version, androidPath, iosUrl, isForce }) => {
|
||||||
|
const isAndroid = plus.os.name === 'Android'
|
||||||
|
const isIOS = plus.os.name === 'iOS'
|
||||||
|
|
||||||
|
if (isAndroid) {
|
||||||
|
handleAndroidUpdate({ androidPath, isForce })
|
||||||
|
} else if (isIOS) {
|
||||||
|
handleIOSUpdate({ iosUrl, isForce })
|
||||||
|
} else {
|
||||||
|
console.warn('未知操作系统')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理安卓更新
|
||||||
|
*/
|
||||||
|
const handleAndroidUpdate = ({ androidPath, isForce }) => {
|
||||||
|
if (!androidPath?.length) {
|
||||||
|
console.error('未找到安卓安装包')
|
||||||
|
uni.showToast({
|
||||||
|
title: '更新包不存在',
|
||||||
|
icon: 'error',
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const downloadUrl = androidPath
|
||||||
|
|
||||||
|
uni.showModal({
|
||||||
|
title: '更新提示',
|
||||||
|
content: '发现新版本,是否立即更新?',
|
||||||
|
showCancel: !isForce, // 强制更新隐藏取消按钮
|
||||||
|
confirmText: '去更新',
|
||||||
|
cancelText: '暂不更新',
|
||||||
|
success: (modalRes) => {
|
||||||
|
if (modalRes.confirm) {
|
||||||
|
downloadAndInstallApk(downloadUrl)
|
||||||
|
} else if (isForce) {
|
||||||
|
// 强制更新且用户取消,退出应用
|
||||||
|
plus.runtime.quit()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理iOS更新
|
||||||
|
*/
|
||||||
|
const handleIOSUpdate = ({ iosUrl, isForce }) => {
|
||||||
|
if (!iosUrl) {
|
||||||
|
console.error('未找到iOS下载链接')
|
||||||
|
uni.showToast({
|
||||||
|
title: '更新链接不存在',
|
||||||
|
icon: 'error',
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
uni.showModal({
|
||||||
|
title: '更新提示',
|
||||||
|
content: '发现新版本,请前往 App Store 更新',
|
||||||
|
showCancel: !isForce,
|
||||||
|
confirmText: '去更新',
|
||||||
|
cancelText: '暂不更新',
|
||||||
|
success: (modalRes) => {
|
||||||
|
if (modalRes.confirm) {
|
||||||
|
plus.runtime.openURL(iosUrl)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 强制更新时,无论确认还是取消都退出应用
|
||||||
|
if (isForce) {
|
||||||
|
setTimeout(() => {
|
||||||
|
plus.runtime.quit()
|
||||||
|
}, 300) // 给跳转留一点时间
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载并安装APK(安卓专用)
|
||||||
|
*/
|
||||||
|
const downloadAndInstallApk = (url) => {
|
||||||
|
// 显示原生进度条
|
||||||
|
let progressWaiting = plus.nativeUI.showWaiting('正在下载中,请稍等...', {
|
||||||
|
modal: true,
|
||||||
|
round: true,
|
||||||
|
close: false, // 不允许用户关闭
|
||||||
|
padlock: true, // 锁定屏幕
|
||||||
|
})
|
||||||
|
|
||||||
|
const options = {
|
||||||
|
filename: '_doc/update/canneng_wulian.apk',
|
||||||
|
timeout: 120,
|
||||||
|
}
|
||||||
|
|
||||||
|
const downloadTask = plus.downloader.createDownload(url, options, (downloadedFile, status) => {
|
||||||
|
progressWaiting.close()
|
||||||
|
|
||||||
|
if (status === 200) {
|
||||||
|
installApk(downloadedFile.filename, url)
|
||||||
|
} else {
|
||||||
|
handleDownloadError(url)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// // 更新进度
|
||||||
|
downloadTask.addEventListener('statechanged', (task) => {
|
||||||
|
if (task.state === 3 && task.totalSize > 0) {
|
||||||
|
const percent = ((task.downloadedSize / task.totalSize) * 100).toFixed(0)
|
||||||
|
console.log("🚀 ~ downloadAndInstallApk ~ percent:", percent)
|
||||||
|
// 直接更新 waiting 的标题,不会闪烁
|
||||||
|
progressWaiting.setTitle(`正在下载更新 ${percent}%`)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
downloadTask.start()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 安装APK
|
||||||
|
*/
|
||||||
|
const installApk = (filePath, downloadUrl) => {
|
||||||
|
console.log('🚀 ~ installApk ~ filePath:', filePath)
|
||||||
|
plus.runtime.install(
|
||||||
|
filePath,
|
||||||
|
{ force: true },
|
||||||
|
() => {
|
||||||
|
// 安装成功
|
||||||
|
uni.showModal({
|
||||||
|
title: '安装成功',
|
||||||
|
content: '是否立即重启应用?',
|
||||||
|
showCancel: false,
|
||||||
|
confirmText: '立即重启',
|
||||||
|
success: () => {
|
||||||
|
plus.runtime.restart()
|
||||||
|
},
|
||||||
|
})
|
||||||
|
},
|
||||||
|
(error) => {
|
||||||
|
console.error('安装失败', error)
|
||||||
|
uni.showModal({
|
||||||
|
title: '安装失败',
|
||||||
|
content: `安装失败:${error.message}\n请检查是否已开启安装权限`,
|
||||||
|
confirmText: '重试',
|
||||||
|
cancelText: '取消',
|
||||||
|
success: (res) => {
|
||||||
|
if (res.confirm) {
|
||||||
|
downloadAndInstallApk(downloadUrl)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理下载错误
|
||||||
|
*/
|
||||||
|
const handleDownloadError = (downloadUrl) => {
|
||||||
|
uni.showModal({
|
||||||
|
title: '下载失败',
|
||||||
|
content: '网络异常或下载链接失效,是否重试?',
|
||||||
|
confirmText: '重试',
|
||||||
|
cancelText: '取消',
|
||||||
|
success: (res) => {
|
||||||
|
if (res.confirm) {
|
||||||
|
downloadAndInstallApk(downloadUrl)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -233,12 +233,14 @@ export default {
|
|||||||
color: #909399;
|
color: #909399;
|
||||||
}
|
}
|
||||||
.zl-tag {
|
.zl-tag {
|
||||||
|
// background-color: #007aff20;
|
||||||
|
// color: #007aff;
|
||||||
background-color: #007aff20;
|
background-color: #007aff20;
|
||||||
color: #007aff;
|
color: #007aff;
|
||||||
}
|
}
|
||||||
.jc-tag {
|
.jc-tag {
|
||||||
background-color: #3498db20;
|
background-color: #007aff20;
|
||||||
color: #3498db;
|
color: #007aff;
|
||||||
}
|
}
|
||||||
.pinToTop {
|
.pinToTop {
|
||||||
background-color: $uni-theme-color;
|
background-color: $uni-theme-color;
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="nav choose">
|
<view class="nav choose">
|
||||||
<view class="nav-menu nav-menu1" @click="selectEngineering" v-if="showQianTree">
|
<view class="nav-menu nav-menu1" @click="selectEngineering" v-if="showQianTree">
|
||||||
{{
|
<view class="nav-text">
|
||||||
select.engineeringName || select.projectName || select.deviceName || select.lineName
|
{{
|
||||||
? [select.engineeringName, select.projectName, select.deviceName, select.lineName]
|
select.engineeringName || select.projectName || select.deviceName || select.lineName
|
||||||
.filter((item) => item && item !== '')
|
? [select.engineeringName, select.projectName, select.deviceName, select.lineName]
|
||||||
.join('>')
|
.filter((item) => item && item !== '')
|
||||||
: '全部工程'
|
.join('>')
|
||||||
}}
|
: '全部工程'
|
||||||
|
}}
|
||||||
|
</view>
|
||||||
|
|
||||||
<uni-icons type="bottom" size="14"></uni-icons>
|
<uni-icons type="bottom" size="14"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
@@ -31,8 +33,10 @@
|
|||||||
@change="bindDateChange"
|
@change="bindDateChange"
|
||||||
v-if="showDatetime"
|
v-if="showDatetime"
|
||||||
>
|
>
|
||||||
<view class="nav-menu"
|
<view class="nav-menu nav-menu1"
|
||||||
>{{ select.date }}
|
><view class="nav-text">
|
||||||
|
{{ select.date }}
|
||||||
|
</view>
|
||||||
<uni-icons type="bottom" size="14"></uni-icons>
|
<uni-icons type="bottom" size="14"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
</picker>
|
</picker>
|
||||||
@@ -50,8 +54,10 @@
|
|||||||
@change="yearChange"
|
@change="yearChange"
|
||||||
v-if="!showDatetime"
|
v-if="!showDatetime"
|
||||||
>
|
>
|
||||||
<view class="nav-menu"
|
<view class="nav-menu nav-menu1"
|
||||||
>{{ select.range }}
|
><view class="nav-text">
|
||||||
|
{{ select.range }}
|
||||||
|
</view>
|
||||||
<uni-icons type="bottom" size="14"></uni-icons>
|
<uni-icons type="bottom" size="14"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
</picker>
|
</picker>
|
||||||
@@ -304,13 +310,37 @@ export default {
|
|||||||
/deep/ .uni-date-editor {
|
/deep/ .uni-date-editor {
|
||||||
width: 360rpx;
|
width: 360rpx;
|
||||||
}
|
}
|
||||||
|
.nav-menu {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
// .nav-menu1 {
|
||||||
|
// max-width: calc(100vw - 150px);
|
||||||
|
// overflow: hidden !important;
|
||||||
|
// -webkit-line-clamp: 1;
|
||||||
|
// display: -webkit-box;
|
||||||
|
// -webkit-box-orient: vertical;
|
||||||
|
// text-overflow: ellipsis;
|
||||||
|
// word-break: break-all;
|
||||||
|
// white-space: nowrap;
|
||||||
|
// }
|
||||||
.nav-menu1 {
|
.nav-menu1 {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
max-width: calc(100vw - 150px);
|
max-width: calc(100vw - 150px);
|
||||||
|
}
|
||||||
|
/* 文字容器:单行溢出省略 */
|
||||||
|
.nav-text {
|
||||||
|
flex: 1;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
-webkit-line-clamp: 1;
|
white-space: nowrap; /* 强制不换行 */
|
||||||
display: -webkit-box;
|
|
||||||
-webkit-box-orient: vertical;
|
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
word-break: break-all;
|
// -webkit-line-clamp: 1;
|
||||||
|
// display: -webkit-box;
|
||||||
|
// -webkit-box-orient: vertical;
|
||||||
|
// text-overflow: ellipsis;
|
||||||
|
// word-break: break-all;
|
||||||
|
// white-space: nowrap;
|
||||||
|
line-height: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -79,38 +79,38 @@ export default {
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- 设备主体 -->
|
<!-- 设备主体 -->
|
||||||
<rect x="2" y="2" width="96" height="96" rx="6" ry="6" fill="#3498DB30" stroke="#3498DB" stroke-width="2"/>
|
<rect x="2" y="2" width="96" height="96" rx="6" ry="6" fill="#007aff30" stroke="#007aff" stroke-width="2"/>
|
||||||
|
|
||||||
<!-- 屏幕区域 -->
|
<!-- 屏幕区域 -->
|
||||||
<rect x="6" y="6" width="88" height="52" rx="3" ry="3" fill="#FFFFFF" stroke="#3498DB" stroke-width="1.5"/>
|
<rect x="6" y="6" width="88" height="52" rx="3" ry="3" fill="#FFFFFF" stroke="#007aff" stroke-width="1.5"/>
|
||||||
|
|
||||||
<!-- 屏幕标题栏 - 调整高度 -->
|
<!-- 屏幕标题栏 - 调整高度 -->
|
||||||
<rect x="10" y="9" width="80" height="14" rx="2" ry="2" fill="#3498DB30" stroke="#CCC" stroke-width="0.8"/>
|
<rect x="10" y="9" width="80" height="14" rx="2" ry="2" fill="#007aff30" stroke="#CCC" stroke-width="0.8"/>
|
||||||
<text x="50" y="20" font-size="13" font-weight="bold" fill="#3498DB" text-anchor="middle">监测设备</text>
|
<text x="50" y="20" font-size="13" font-weight="bold" fill="#007aff" text-anchor="middle">监测设备</text>
|
||||||
|
|
||||||
<!-- 左侧电压数据 - 调整Y位置 -->
|
<!-- 左侧电压数据 - 调整Y位置 -->
|
||||||
<text x="10" y="34" font-size="7" fill="#3498DB">Ua: 220.5V</text>
|
<text x="10" y="34" font-size="7" fill="#007aff">Ua: 220.5V</text>
|
||||||
<text x="10" y="43" font-size="7" fill="#3498DB">Ub: 219.8V</text>
|
<text x="10" y="43" font-size="7" fill="#007aff">Ub: 219.8V</text>
|
||||||
<text x="10" y="52" font-size="7" fill="#3498DB">Uc: 220.1V</text>
|
<text x="10" y="52" font-size="7" fill="#007aff">Uc: 220.1V</text>
|
||||||
|
|
||||||
<!-- 竖向分隔线 -->
|
<!-- 竖向分隔线 -->
|
||||||
<line x1="52" y1="26" x2="52" y2="55" stroke="#CCC" stroke-width="0.8" stroke-dasharray="1.5,1.5"/>
|
<line x1="52" y1="26" x2="52" y2="55" stroke="#CCC" stroke-width="0.8" stroke-dasharray="1.5,1.5"/>
|
||||||
|
|
||||||
<!-- 右侧电流数据 -->
|
<!-- 右侧电流数据 -->
|
||||||
<text x="58" y="34" font-size="7" fill="#3498DB">Ia: 125.3A</text>
|
<text x="58" y="34" font-size="7" fill="#007aff">Ia: 125.3A</text>
|
||||||
<text x="58" y="43" font-size="7" fill="#3498DB">Ib: 124.7A</text>
|
<text x="58" y="43" font-size="7" fill="#007aff">Ib: 124.7A</text>
|
||||||
<text x="58" y="52" font-size="7" fill="#3498DB">Ic: 125.1A</text>
|
<text x="58" y="52" font-size="7" fill="#007aff">Ic: 125.1A</text>
|
||||||
|
|
||||||
<!-- 指示灯区域分隔线 -->
|
<!-- 指示灯区域分隔线 -->
|
||||||
<line x1="6" y1="62" x2="94" y2="62" stroke="#999" stroke-width="1" stroke-dasharray="2,2"/>
|
<line x1="6" y1="62" x2="94" y2="62" stroke="#999" stroke-width="1" stroke-dasharray="2,2"/>
|
||||||
|
|
||||||
<!-- 告警指示灯 -->
|
<!-- 告警指示灯 -->
|
||||||
<circle cx="28" cy="70" r="6" fill="${this.alarmStatus==1?'#f59e0b':'#10b981'}" stroke="${this.alarmStatus==1?'#f59e0b':'#10b981'}" stroke-width="1"/>
|
<circle cx="28" cy="70" r="6" fill="${this.alarmStatus==1?'#f59e0b':'#10b981'}" stroke="${this.alarmStatus==1?'#f59e0b':'#10b981'}" stroke-width="1"/>
|
||||||
<text x="28" y="92" font-size="13" font-weight="bold" fill="#3498DB" text-anchor="middle">告警</text>
|
<text x="28" y="92" font-size="13" font-weight="bold" fill="#007aff" text-anchor="middle">告警</text>
|
||||||
|
|
||||||
<!-- 通讯指示灯 -->
|
<!-- 通讯指示灯 -->
|
||||||
<circle cx="70" cy="70" r="6" fill="${this.runStatus == 1 ? '#ff3b30' : '#10b981'}" stroke="${this.runStatus == 1 ? '#ff3b30' : '#10b981'}" stroke-width="1"/>
|
<circle cx="70" cy="70" r="6" fill="${this.runStatus == 1 ? '#ff3b30' : '#10b981'}" stroke="${this.runStatus == 1 ? '#ff3b30' : '#10b981'}" stroke-width="1"/>
|
||||||
<text x="70" y="92" font-size="13" font-weight="bold" fill="#3498DB" text-anchor="middle">通讯</text>
|
<text x="70" y="92" font-size="13" font-weight="bold" fill="#007aff" text-anchor="middle">通讯</text>
|
||||||
</svg>
|
</svg>
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,16 +72,16 @@ export default {
|
|||||||
</svg>`
|
</svg>`
|
||||||
} else if (this.name == '运行告警') {
|
} else if (this.name == '运行告警') {
|
||||||
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="40" height="40">
|
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="40" height="40">
|
||||||
<path d="M78.43 4H20.06C9.48 4 1.16 12.33 1.16 22.9v38.37c0 10.57 8.32 18.9 18.9 18.9h26.49v7.27H25.77v7.41h47.96v-7.41H53.96v-7.27h26.47c10.58 0 18.9-8.33 18.9-18.9V22.9c0-10.57-8.32-18.9-18.9-18.9z m11.49 57.27c0 6.33-5.14 11.49-11.49 11.49H20.06c-6.34 0-11.49-5.15-11.49-11.49V22.9c0-6.33 5.14-11.49 11.49-11.49h59.37c6.34 0 11.49 5.15 11.49 11.49v38.37z" fill="#376cf3"/>
|
<path d="M78.43 4H20.06C9.48 4 1.16 12.33 1.16 22.9v38.37c0 10.57 8.32 18.9 18.9 18.9h26.49v7.27H25.77v7.41h47.96v-7.41H53.96v-7.27h26.47c10.58 0 18.9-8.33 18.9-18.9V22.9c0-10.57-8.32-18.9-18.9-18.9z m11.49 57.27c0 6.33-5.14 11.49-11.49 11.49H20.06c-6.34 0-11.49-5.15-11.49-11.49V22.9c0-6.33 5.14-11.49 11.49-11.49h59.37c6.34 0 11.49 5.15 11.49 11.49v38.37z" fill="#007aff"/>
|
||||||
<line x1="50" y1="28" x2="50" y2="50" stroke="#376cf3" stroke-width="6" stroke-linecap="round"/>
|
<line x1="50" y1="28" x2="50" y2="50" stroke="#007aff" stroke-width="6" stroke-linecap="round"/>
|
||||||
<circle cx="50" cy="62" r="4" fill="#376cf3"/>
|
<circle cx="50" cy="62" r="4" fill="#007aff"/>
|
||||||
</svg>`
|
</svg>`
|
||||||
} else if (this.name == '治理设备') {
|
} else if (this.name == '治理设备') {
|
||||||
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="38" height="38">
|
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="38" height="38">
|
||||||
<rect x="0" y="0" width="100" height="100" rx="8" ry="8" fill="#007aff30" stroke="#007aff" stroke-width="2"/>
|
<rect x="0" y="0" width="100" height="100" rx="8" ry="8" fill="#007aff30" stroke="#007aff" stroke-width="2"/>
|
||||||
<rect x="8" y="8" width="84" height="84" rx="4" ry="4" fill="#FFFFFF" stroke="#007aff" stroke-width="1.5"/>
|
<rect x="8" y="8" width="84" height="84" rx="4" ry="4" fill="#FFFFFF" stroke="#007aff" stroke-width="1.5"/>
|
||||||
<rect x="10" y="12" width="80" height="16" rx="2" ry="2" fill="#007aff30" stroke="#CCC" stroke-width="0.8"/>
|
<rect x="10" y="12" width="80" height="16" rx="2" ry="2" fill="#007aff30" stroke="#CCC" stroke-width="0.8"/>
|
||||||
<text x="50" y="24" font-family="Arial, sans-serif" font-size="13" font-weight="bold" fill="#007aff" text-anchor="middle">治理设备</text>
|
<text x="50" y="24" font-family="Arial, sans-serif" font-size="14" font-weight="bold" fill="#007aff" text-anchor="middle">治理设备</text>
|
||||||
<polyline points="14,45 22,51 30,49 38,57 46,55 54,63 62,61 70,67 78,65 86,69"
|
<polyline points="14,45 22,51 30,49 38,57 46,55 54,63 62,61 70,67 78,65 86,69"
|
||||||
fill="none" stroke="#007aff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
fill="none" stroke="#007aff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
<polygon points="14,45 22,51 30,49 38,57 46,55 54,63 62,61 70,67 78,65 86,69 86,80 14,80"
|
<polygon points="14,45 22,51 30,49 38,57 46,55 54,63 62,61 70,67 78,65 86,69 86,80 14,80"
|
||||||
@@ -101,33 +101,33 @@ export default {
|
|||||||
text { font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif; }
|
text { font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif; }
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<rect x="0" y="0" width="100" height="100" rx="6" ry="6" fill="#3498DB30" stroke="#3498DB" stroke-width="2"/>
|
<rect x="0" y="0" width="100" height="100" rx="6" ry="6" fill="#007aff30" stroke="#007aff" stroke-width="2"/>
|
||||||
|
|
||||||
<rect x="8" y="8" width="84" height="84" rx="3" ry="3" fill="#FFFFFF" stroke="#3498DB" stroke-width="1.5"/>
|
<rect x="8" y="8" width="84" height="84" rx="3" ry="3" fill="#FFFFFF" stroke="#007aff" stroke-width="1.5"/>
|
||||||
|
|
||||||
<rect x="10" y="12" width="80" height="16" rx="2" ry="2" fill="#3498DB30" stroke="#CCC" stroke-width="0.8"/>
|
<rect x="10" y="12" width="80" height="16" rx="2" ry="2" fill="#007aff30" stroke="#CCC" stroke-width="0.8"/>
|
||||||
<text x="50" y="24" font-size="13" font-weight="bold" fill="#3498DB" text-anchor="middle">监测设备</text>
|
<text x="50" y="24" font-size="14" font-weight="bold" fill="#007aff" text-anchor="middle">监测设备</text>
|
||||||
|
|
||||||
<text x="16" y="45" font-size="7" fill="#3498DB">Ua: 220.5V</text>
|
<text x="16" y="45" font-size="7" fill="#007aff">Ua: 220.5V</text>
|
||||||
<text x="16" y="55" font-size="7" fill="#3498DB">Ub: 219.8V</text>
|
<text x="16" y="55" font-size="7" fill="#007aff">Ub: 219.8V</text>
|
||||||
<text x="16" y="65" font-size="7" fill="#3498DB">Uc: 220.1V</text>
|
<text x="16" y="65" font-size="7" fill="#007aff">Uc: 220.1V</text>
|
||||||
|
|
||||||
<line x1="48" y1="38" x2="48" y2="78" stroke="#CCC" stroke-width="0.8" stroke-dasharray="2,2"/>
|
<line x1="48" y1="38" x2="48" y2="78" stroke="#CCC" stroke-width="0.8" stroke-dasharray="2,2"/>
|
||||||
|
|
||||||
<text x="54" y="45" font-size="7" fill="#3498DB">Ia: 125.3A</text>
|
<text x="54" y="45" font-size="7" fill="#007aff">Ia: 125.3A</text>
|
||||||
<text x="54" y="55" font-size="7" fill="#3498DB">Ib: 124.7A</text>
|
<text x="54" y="55" font-size="7" fill="#007aff">Ib: 124.7A</text>
|
||||||
<text x="54" y="65" font-size="7" fill="#3498DB">Ic: 125.1A</text>
|
<text x="54" y="65" font-size="7" fill="#007aff">Ic: 125.1A</text>
|
||||||
|
|
||||||
</svg>`
|
</svg>`
|
||||||
} else if (this.name == '报告') {
|
} else if (this.name == '报告') {
|
||||||
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="47" height="47">
|
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="47" height="47">
|
||||||
<path d="M12,12 L78,12 L88,22 L88,88 L12,88 Z" fill="none" stroke="#3b82f6" stroke-width="4" stroke-linejoin="round"/>
|
<path d="M12,12 L78,12 L88,22 L88,88 L12,88 Z" fill="none" stroke="#007aff" stroke-width="4" stroke-linejoin="round"/>
|
||||||
<path d="M78,12 L78,22 L88,22" fill="none" stroke="#3b82f6" stroke-width="4" stroke-linejoin="round"/>
|
<path d="M78,12 L78,22 L88,22" fill="none" stroke="#007aff" stroke-width="4" stroke-linejoin="round"/>
|
||||||
<polyline points="20,50 26,50 28,46 30,42 32,46 34,50 36,54 38,58 40,54 42,50 44,46 46,42 48,46 50,50 56,50" fill="none" stroke="#3b82f6" stroke-width="4" stroke-linecap="round"/>
|
<polyline points="20,50 26,50 28,46 30,42 32,46 34,50 36,54 38,58 40,54 42,50 44,46 46,42 48,46 50,50 56,50" fill="none" stroke="#007aff" stroke-width="4" stroke-linecap="round"/>
|
||||||
<line x1="20" y1="68" x2="52" y2="68" stroke="#3b82f6" stroke-width="4" opacity="0.4" stroke-linecap="round"/>
|
<line x1="20" y1="68" x2="52" y2="68" stroke="#007aff" stroke-width="4" opacity="0.4" stroke-linecap="round"/>
|
||||||
<line x1="20" y1="76" x2="42" y2="76" stroke="#3b82f6" stroke-width="4" opacity="0.4" stroke-linecap="round"/>
|
<line x1="20" y1="76" x2="42" y2="76" stroke="#007aff" stroke-width="4" opacity="0.4" stroke-linecap="round"/>
|
||||||
<circle cx="70" cy="68" r="9" fill="none" stroke="#3b82f6" stroke-width="4"/>
|
<circle cx="70" cy="68" r="9" fill="none" stroke="#007aff" stroke-width="4"/>
|
||||||
<line x1="76" y1="74" x2="86" y2="84" stroke="#3b82f6" stroke-width="4" stroke-linecap="round"/>
|
<line x1="76" y1="74" x2="86" y2="84" stroke="#007aff" stroke-width="4" stroke-linecap="round"/>
|
||||||
</svg>`
|
</svg>`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
989
components/yxt-letterIndex/pinyinUtil.js
Normal file
989
components/yxt-letterIndex/pinyinUtil.js
Normal file
File diff suppressed because one or more lines are too long
557
package-lock.json
generated
557
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -25,7 +25,7 @@
|
|||||||
"image-tools": "^1.4.0",
|
"image-tools": "^1.4.0",
|
||||||
"jsrsasign": "^11.1.0",
|
"jsrsasign": "^11.1.0",
|
||||||
"mqtt": "^3.0.0",
|
"mqtt": "^3.0.0",
|
||||||
"pinyin-pro": "^3.26.0",
|
"pinyin-pro": "^3.28.1",
|
||||||
"uview-ui": "^2.0.38"
|
"uview-ui": "^2.0.38"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,12 @@
|
|||||||
</picker>
|
</picker>
|
||||||
<picker
|
<picker
|
||||||
@change="runStatusChange"
|
@change="runStatusChange"
|
||||||
@cancel="select.runStatusSelect = false"
|
|
||||||
:value="select.runStatusIndex"
|
:value="select.runStatusIndex"
|
||||||
:range="projectType"
|
:range="projectType"
|
||||||
range-key="text"
|
range-key="text"
|
||||||
>
|
>
|
||||||
<view class="nav-menu" @click="select.runStatusSelect = true">
|
<view class="nav-menu" >
|
||||||
{{
|
{{
|
||||||
select.runStatusName
|
select.runStatusName
|
||||||
? select.runStatusName.length > 12
|
? select.runStatusName.length > 12
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: true,
|
loading: true,
|
||||||
|
|
||||||
deviceInfo: {},
|
deviceInfo: {},
|
||||||
// 使用上面定义的图表配置项
|
// 使用上面定义的图表配置项
|
||||||
option: {},
|
option: {},
|
||||||
@@ -199,9 +199,9 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
this.device= JSON.parse(options.device)
|
this.device = JSON.parse(options.device)
|
||||||
this.lineKey = 0
|
this.lineKey = 0
|
||||||
this.lineList = this.device.lineList
|
this.lineList = this.device.lineList
|
||||||
this.lineId = this.lineList[0].lineId
|
this.lineId = this.lineList[0].lineId
|
||||||
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
||||||
this.echartsData0 = this.initEcharts0()
|
this.echartsData0 = this.initEcharts0()
|
||||||
@@ -660,9 +660,8 @@ export default {
|
|||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.code == 'A0000') {
|
if (res.code == 'A0000') {
|
||||||
this.connection = true
|
this.connection = true
|
||||||
setTimeout(() => {
|
|
||||||
this.$util.toast(e == 0 ? '连接成功!' : '刷新成功!')
|
this.$util.toast(e == 0 ? '连接成功!' : '刷新成功!')
|
||||||
}, 3000)
|
|
||||||
if (this.timer) {
|
if (this.timer) {
|
||||||
clearInterval(this.timer)
|
clearInterval(this.timer)
|
||||||
this.timer = null
|
this.timer = null
|
||||||
@@ -738,12 +737,13 @@ export default {
|
|||||||
})
|
})
|
||||||
.on('message', (topic, message) => {
|
.on('message', (topic, message) => {
|
||||||
// console.log('接收推送信息:', JSON.parse(message.toString()), topic)
|
// console.log('接收推送信息:', JSON.parse(message.toString()), topic)
|
||||||
// console.log('🚀 ~ .on ~ topic:', topic)
|
|
||||||
if (!this.connection) return
|
if (!this.connection) return
|
||||||
|
// console.log('🚀 ~ .on ~ topic:', topic, this.userInfo.userIndex)
|
||||||
|
|
||||||
|
|
||||||
if (topic === `/Web/RealData/${this.userInfo.userIndex}`) {
|
if (topic == `/Web/RealData/${this.lineId}`) {
|
||||||
let list = JSON.parse(message.toString())
|
let list = JSON.parse(message.toString())
|
||||||
if (list.lineId == this.lineId) {
|
// if (list.userId == this.userInfo.userIndex) {
|
||||||
// console.log(list)
|
// console.log(list)
|
||||||
this.realTime = list.dataTime
|
this.realTime = list.dataTime
|
||||||
let pt = list.pt || 0
|
let pt = list.pt || 0
|
||||||
@@ -859,7 +859,7 @@ export default {
|
|||||||
// this.echartA1.setOption(this.echartsDataA1, true)
|
// this.echartA1.setOption(this.echartsDataA1, true)
|
||||||
// this.echartA2.setOption(this.echartsDataA2, true)
|
// this.echartA2.setOption(this.echartsDataA2, true)
|
||||||
// this.echartA3.setOption(this.echartsDataA3, true)
|
// this.echartA3.setOption(this.echartsDataA3, true)
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -967,7 +967,13 @@ export default {
|
|||||||
} else if (e.text === '反馈') {
|
} else if (e.text === '反馈') {
|
||||||
uni.navigateTo({ url: '/pages/device/feedback' })
|
uni.navigateTo({ url: '/pages/device/feedback' })
|
||||||
} else if (e.text === '用户') {
|
} else if (e.text === '用户') {
|
||||||
uni.navigateTo({ url: '/pages/device/user?id=' + this.device.equipmentId + '&isPrimaryUser=' + this.device.isPrimaryUser })
|
uni.navigateTo({
|
||||||
|
url:
|
||||||
|
'/pages/device/user?id=' +
|
||||||
|
this.device.equipmentId +
|
||||||
|
'&isPrimaryUser=' +
|
||||||
|
this.device.isPrimaryUser,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
// this.$refs.fab.close()
|
// this.$refs.fab.close()
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -26,8 +26,9 @@
|
|||||||
></uni-search-bar>
|
></uni-search-bar>
|
||||||
<view class="message">
|
<view class="message">
|
||||||
<uni-card
|
<uni-card
|
||||||
|
class="boxClick"
|
||||||
:title="item.name"
|
:title="item.name"
|
||||||
extra="🔍"
|
extra="🔍"
|
||||||
@click="jump(item)"
|
@click="jump(item)"
|
||||||
v-for="(item, index) in store.data"
|
v-for="(item, index) in store.data"
|
||||||
:style="{ marginTop: index === 0 ? '0' : '' }"
|
:style="{ marginTop: index === 0 ? '0' : '' }"
|
||||||
|
|||||||
@@ -66,18 +66,7 @@ export default {
|
|||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
queryEngineering().then((res) => {
|
queryEngineering().then((res) => {
|
||||||
this.engineeringList = res.data.sort((a, b) => {
|
this.engineeringList = this.sortByFirstLetter(res.data)
|
||||||
const nameA = a.name
|
|
||||||
const nameB = b.name
|
|
||||||
|
|
||||||
const isANumber = /^\d/.test(nameA)
|
|
||||||
const isBNumber = /^\d/.test(nameB)
|
|
||||||
|
|
||||||
if (isANumber !== isBNumber) {
|
|
||||||
return isANumber ? 1 : -1
|
|
||||||
}
|
|
||||||
return nameA.localeCompare(nameB, 'zh', { sensitivity: 'accent' })
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
onNavigationBarButtonTap(e) {
|
onNavigationBarButtonTap(e) {
|
||||||
@@ -93,6 +82,33 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 处理函数
|
||||||
|
sortByFirstLetter(data) {
|
||||||
|
// 1. 添加首字母字段
|
||||||
|
const withLetter = data.map((item) => {
|
||||||
|
let letter = '#'
|
||||||
|
const firstChar = item.name?.charAt(0) || ''
|
||||||
|
|
||||||
|
if (/[A-Za-z]/.test(firstChar)) {
|
||||||
|
letter = firstChar.toUpperCase()
|
||||||
|
} else if (/[0-9]/.test(firstChar)) {
|
||||||
|
letter = '#'
|
||||||
|
} else {
|
||||||
|
const py = pinyin(firstChar, { pattern: 'first', toneType: 'none' })
|
||||||
|
letter = py ? py.toUpperCase() : '#'
|
||||||
|
}
|
||||||
|
|
||||||
|
return { ...item, letter }
|
||||||
|
})
|
||||||
|
|
||||||
|
// 2. 排序
|
||||||
|
return withLetter.sort((a, b) => {
|
||||||
|
if (a.letter === '#') return 1
|
||||||
|
if (b.letter === '#') return -1
|
||||||
|
return a.letter.localeCompare(b.letter)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
all() {
|
all() {
|
||||||
uni.setStorageSync('onceSelectEngineering', {
|
uni.setStorageSync('onceSelectEngineering', {
|
||||||
createBy: '',
|
createBy: '',
|
||||||
|
|||||||
144
pages/home/selectEngineering1.vue
Normal file
144
pages/home/selectEngineering1.vue
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
<template>
|
||||||
|
<Cn-page :loading="loading">
|
||||||
|
<view slot="body">
|
||||||
|
<view class="select-enineering">
|
||||||
|
<view class="all" @click="all">全部工程</view>
|
||||||
|
<uni-indexed-list
|
||||||
|
:style="{ top: showAll ? '110rpx' : '0' }"
|
||||||
|
:options="engineeringListFilter"
|
||||||
|
:showSelect="false"
|
||||||
|
@click="confirm"
|
||||||
|
>
|
||||||
|
</uni-indexed-list>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</Cn-page>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { pinyin } from 'pinyin-pro'
|
||||||
|
import { queryEngineering } from '@/common/api/engineering'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
engineeringList: [],
|
||||||
|
options: {},
|
||||||
|
showAll: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
engineeringListFilter() {
|
||||||
|
let result = []
|
||||||
|
this.engineeringList.forEach((item) => {
|
||||||
|
let arr = pinyin(item.name[0], { toneType: 'none', type: 'array' })
|
||||||
|
let letter = arr[0][0].toUpperCase()
|
||||||
|
// console.log(letter)
|
||||||
|
let index = result.findIndex((item) => item.letter === letter)
|
||||||
|
if (index === -1) {
|
||||||
|
result.push({
|
||||||
|
letter,
|
||||||
|
data: [item.name],
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
result[index].data.push(item.name)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return result
|
||||||
|
},
|
||||||
|
},
|
||||||
|
onLoad(options) {
|
||||||
|
this.options = options
|
||||||
|
this.showAll = this.options.showAll ? true : false
|
||||||
|
this.engineeringList = uni.getStorageSync('engineeringList')
|
||||||
|
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
||||||
|
if (!(this.userInfo.authorities === 'app_vip_user' || this.userInfo.authorities === 'engineering_user')) {
|
||||||
|
// 修改buttons
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
var webView = this.$mp.page.$getAppWebview()
|
||||||
|
// 修改buttons
|
||||||
|
webView.setTitleNViewButtonStyle(0, {
|
||||||
|
width: '0',
|
||||||
|
})
|
||||||
|
// #endif
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
queryEngineering().then((res) => {
|
||||||
|
this.engineeringList = res.data.sort((a, b) => {
|
||||||
|
const nameA = a.name
|
||||||
|
const nameB = b.name
|
||||||
|
|
||||||
|
const isANumber = /^\d/.test(nameA)
|
||||||
|
const isBNumber = /^\d/.test(nameB)
|
||||||
|
|
||||||
|
if (isANumber !== isBNumber) {
|
||||||
|
return isANumber ? 1 : -1
|
||||||
|
}
|
||||||
|
return nameA.localeCompare(nameB, 'zh', { sensitivity: 'accent' })
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onNavigationBarButtonTap(e) {
|
||||||
|
if (this.userInfo.authorities === 'app_vip_user' || this.userInfo.authorities === 'engineering_user') {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/engineering/new`,
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
title: '暂无权限',
|
||||||
|
icon: 'none',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
all() {
|
||||||
|
uni.setStorageSync('onceSelectEngineering', {
|
||||||
|
createBy: '',
|
||||||
|
createTime: '',
|
||||||
|
updateBy: '',
|
||||||
|
updateTime: '',
|
||||||
|
id: '',
|
||||||
|
name: '',
|
||||||
|
userId: null,
|
||||||
|
province: '',
|
||||||
|
provinceName: '',
|
||||||
|
city: '',
|
||||||
|
cityName: '',
|
||||||
|
description: '',
|
||||||
|
status: '1',
|
||||||
|
})
|
||||||
|
uni.navigateBack()
|
||||||
|
},
|
||||||
|
confirm(e) {
|
||||||
|
console.log(e)
|
||||||
|
|
||||||
|
let engineering = this.engineeringList.find((item) => item.name === e.item.name)
|
||||||
|
if (this.options.from === 'once') {
|
||||||
|
// 创建项目的时候选择工程 用完即删
|
||||||
|
uni.setStorageSync('onceSelectEngineering', engineering)
|
||||||
|
} else {
|
||||||
|
uni.setStorageSync('engineering', engineering)
|
||||||
|
}
|
||||||
|
uni.navigateBack()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.index {
|
||||||
|
padding: 34rpx;
|
||||||
|
}
|
||||||
|
.all {
|
||||||
|
padding-left: 30rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
height: 50px;
|
||||||
|
border-bottom-style: solid;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-bottom-color: #dedede;
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
<text>设备名称:{{ item.equipmentName }}</text>
|
<text>设备名称:{{ item.equipmentName }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="event-action">
|
<view class="event-action" @click="handleWrapperClick(item, !item.wavePath)">
|
||||||
<!-- 选择 -->
|
<!-- 选择 -->
|
||||||
<checkbox-group @change="changeChild($event, item)"
|
<checkbox-group @change="changeChild($event, item)"
|
||||||
><checkbox value="true" :disabled="!item.wavePath" :checked="item.checked" />
|
><checkbox value="true" :disabled="!item.wavePath" :checked="item.checked" />
|
||||||
@@ -137,7 +137,7 @@ export default {
|
|||||||
this.height = rect?.height + 170 || 0
|
this.height = rect?.height + 170 || 0
|
||||||
// #endif
|
// #endif
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
this.height = rect?.height + 100 || 0
|
this.height = rect?.height + 110 || 0
|
||||||
// #endif
|
// #endif
|
||||||
})
|
})
|
||||||
.exec()
|
.exec()
|
||||||
@@ -200,6 +200,14 @@ export default {
|
|||||||
this.checkedAll = this.store.data.every((item) => item.checked === true)
|
this.checkedAll = this.store.data.every((item) => item.checked === true)
|
||||||
this.checkedTotal = this.store.data.filter((item) => item.checked === true).length
|
this.checkedTotal = this.store.data.filter((item) => item.checked === true).length
|
||||||
},
|
},
|
||||||
|
handleWrapperClick(e, flag) {
|
||||||
|
if (flag) {
|
||||||
|
return uni.showToast({
|
||||||
|
title: '当前事件没有波形,不支持生成报告!',
|
||||||
|
icon: 'none',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
// 点击卡片
|
// 点击卡片
|
||||||
clackCard() {},
|
clackCard() {},
|
||||||
// 切换排序
|
// 切换排序
|
||||||
@@ -266,6 +274,7 @@ export default {
|
|||||||
startTime: this.$util.getMonthFirstAndLastDay(this.selectValue.date).firstDay,
|
startTime: this.$util.getMonthFirstAndLastDay(this.selectValue.date).firstDay,
|
||||||
endTime: this.$util.getMonthFirstAndLastDay(this.selectValue.date).lastDay,
|
endTime: this.$util.getMonthFirstAndLastDay(this.selectValue.date).lastDay,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
|
this.checkedAll = false
|
||||||
this.store.reload()
|
this.store.reload()
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
icon: 'success',
|
icon: 'success',
|
||||||
|
|||||||
@@ -56,7 +56,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="event-action" v-if="curSub == 0 ? monthFlag : item.endTime != thisMonth01">
|
<view class="event-action" v-if="curSub == 0 ? monthFlag : item.endTime != thisMonth01">
|
||||||
<view class="iconText" @click="download(item)"
|
<view class="iconText boxClick" @click="download(item)"
|
||||||
><uni-icons type="arrow-down" color="#fff" size="16"></uni-icons>
|
><uni-icons type="arrow-down" color="#fff" size="16"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -130,7 +130,7 @@ export default {
|
|||||||
this.height = rect?.height + 140 || 0
|
this.height = rect?.height + 140 || 0
|
||||||
// #endif
|
// #endif
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
this.height = rect?.height + 70 || 0
|
this.height = rect?.height + 75 || 0
|
||||||
// #endif
|
// #endif
|
||||||
})
|
})
|
||||||
.exec()
|
.exec()
|
||||||
|
|||||||
@@ -58,11 +58,11 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="event-action">
|
<view class="event-action">
|
||||||
<view class="iconText" v-if="item.isComplete == 1" @click="download(item)"
|
<view class="iconText boxClick" v-if="item.isComplete == 1" @click="download(item)"
|
||||||
><uni-icons type="arrow-down" color="#fff" size="16"></uni-icons>
|
><uni-icons type="arrow-down" color="#fff" size="16"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="nav-menu nav-menu-btn"
|
class="nav-menu nav-menu-btn boxClick"
|
||||||
v-else-if="userInfo.authorities === 'operation_manager'"
|
v-else-if="userInfo.authorities === 'operation_manager'"
|
||||||
@click="generate(item)"
|
@click="generate(item)"
|
||||||
>生成报告
|
>生成报告
|
||||||
@@ -86,10 +86,9 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="device-body-item">
|
<view class="device-body-item">
|
||||||
<text>报告状态:</text>
|
<text>报告状态:</text>
|
||||||
<text
|
<text :style="{ color: item.isComplete == 1 ? '#10b981' : '#FF0000' }">{{
|
||||||
:style="{ color: item.isComplete == 1 ? '#10b981' : '#FF0000' }"
|
item.isComplete == 1 ? '已完成' : '未完成'
|
||||||
>{{ item.isComplete == 1 ? '已完成' : '未完成' }}</text
|
}}</text>
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <view class="device-body-item">
|
<!-- <view class="device-body-item">
|
||||||
@@ -174,13 +173,12 @@ export default {
|
|||||||
this.store = this.DataSource('/cs-report-boot/csAppReport/getApplicationReport')
|
this.store = this.DataSource('/cs-report-boot/csAppReport/getApplicationReport')
|
||||||
this.store.params.startTime = this.$util.getMonthFirstAndLastDay(this.selectValue.date).firstDay
|
this.store.params.startTime = this.$util.getMonthFirstAndLastDay(this.selectValue.date).firstDay
|
||||||
this.store.params.endTime = this.$util.getMonthFirstAndLastDay(this.selectValue.date).lastDay
|
this.store.params.endTime = this.$util.getMonthFirstAndLastDay(this.selectValue.date).lastDay
|
||||||
this.store.loadedCallback = () => {}
|
this.store.loadedCallback = () => {
|
||||||
|
this.setHeight()
|
||||||
|
}
|
||||||
this.store.reload()
|
this.store.reload()
|
||||||
},
|
},
|
||||||
async select(val) {
|
async select(val) {
|
||||||
setTimeout(() => {
|
|
||||||
this.setHeight()
|
|
||||||
}, 200)
|
|
||||||
this.selectValue = val
|
this.selectValue = val
|
||||||
await this.init()
|
await this.init()
|
||||||
},
|
},
|
||||||
@@ -382,4 +380,7 @@ export default {
|
|||||||
margin-right: 24rpx;
|
margin-right: 24rpx;
|
||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
}
|
}
|
||||||
|
/deep/ .uni-scroll-view-refresher {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ export default {
|
|||||||
(uni.getStorageSync(this.$cacheKey.userInfo).authorities == 'operation_manager'
|
(uni.getStorageSync(this.$cacheKey.userInfo).authorities == 'operation_manager'
|
||||||
? this.devCount.alarmCount + this.devCount.runCount
|
? this.devCount.alarmCount + this.devCount.runCount
|
||||||
: 0)
|
: 0)
|
||||||
console.log('🚀 ~ messagePage:', messagePage)
|
// console.log('🚀 ~ messagePage:', messagePage)
|
||||||
let minePage = this.devCount.feedBackCount
|
let minePage = this.devCount.feedBackCount
|
||||||
|
|
||||||
if (messagePage) {
|
if (messagePage) {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
>
|
>
|
||||||
<!-- 循环渲染事件项 -->
|
<!-- 循环渲染事件项 -->
|
||||||
<uni-card
|
<uni-card
|
||||||
class="event-item"
|
class="event-item boxClick"
|
||||||
:class="item.type"
|
:class="item.type"
|
||||||
v-for="(item, index) in this.store.data"
|
v-for="(item, index) in this.store.data"
|
||||||
:key="index"
|
:key="index"
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ export default {
|
|||||||
color: #007aff;
|
color: #007aff;
|
||||||
}
|
}
|
||||||
.jc-tag {
|
.jc-tag {
|
||||||
background-color: #3498db20;
|
background-color: #007aff20;
|
||||||
color: #3498db;
|
color: #007aff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/ .uni-collapse-item__title-box {
|
/deep/ .uni-collapse-item__title-box {
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
class="movable-view"
|
class="movable-view"
|
||||||
direction="all"
|
direction="all"
|
||||||
:scale="true"
|
:scale="true"
|
||||||
:scale-min="0.5"
|
:scale-min="0.2"
|
||||||
:scale-max="3"
|
:scale-max="0.5"
|
||||||
:scale-value="scaleValue"
|
:scale-value="scaleValue"
|
||||||
|
|
||||||
@touchstart="onTouchStart"
|
@touchstart="onTouchStart"
|
||||||
@@ -76,7 +76,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
imageUrl: '',
|
imageUrl: '',
|
||||||
// 缩放相关 - 默认0.5
|
// 缩放相关 - 默认0.5
|
||||||
scaleValue: 0.6,
|
scaleValue: 0.2,
|
||||||
x: 0,
|
x: 0,
|
||||||
y: 0,
|
y: 0,
|
||||||
// 图片原始尺寸
|
// 图片原始尺寸
|
||||||
@@ -92,7 +92,7 @@ export default {
|
|||||||
windowWidth: 0,
|
windowWidth: 0,
|
||||||
windowHeight: 0,
|
windowHeight: 0,
|
||||||
// 缩放步长
|
// 缩放步长
|
||||||
zoomStep: 0.2,
|
zoomStep: 0.1,
|
||||||
// 动画控制
|
// 动画控制
|
||||||
isTouching: false,
|
isTouching: false,
|
||||||
animationTimer: null
|
animationTimer: null
|
||||||
@@ -160,14 +160,14 @@ export default {
|
|||||||
// 放大
|
// 放大
|
||||||
zoomIn() {
|
zoomIn() {
|
||||||
// 计算新的缩放值,不超过最大值
|
// 计算新的缩放值,不超过最大值
|
||||||
const newScale = Math.min(this.scaleValue + this.zoomStep, 3)
|
const newScale = Math.min(this.scaleValue + this.zoomStep, 0.5)
|
||||||
this.setScaleWithAnimation(newScale)
|
this.setScaleWithAnimation(newScale)
|
||||||
},
|
},
|
||||||
|
|
||||||
// 缩小
|
// 缩小
|
||||||
zoomOut() {
|
zoomOut() {
|
||||||
// 计算新的缩放值,不低于最小值
|
// 计算新的缩放值,不低于最小值
|
||||||
const newScale = Math.max(this.scaleValue - this.zoomStep, 0.5)
|
const newScale = Math.max(this.scaleValue - this.zoomStep, 0.2)
|
||||||
this.setScaleWithAnimation(newScale)
|
this.setScaleWithAnimation(newScale)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
.box:first-child {
|
.box:first-child {
|
||||||
flex: 1.7;
|
flex: 1.7;
|
||||||
}
|
}
|
||||||
.boxClick {
|
.boxClick1 {
|
||||||
background-color: $uni-theme-color;
|
background-color: $uni-theme-color;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
@@ -120,7 +120,8 @@
|
|||||||
padding: 0rpx 10rpx;
|
padding: 0rpx 10rpx;
|
||||||
border-radius: 8rpx;
|
border-radius: 8rpx;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
height: 38rpx;
|
height: 34rpx;
|
||||||
|
line-height: 38rpx;
|
||||||
}
|
}
|
||||||
.sag-tag {
|
.sag-tag {
|
||||||
background-color: #2563eb20;
|
background-color: #2563eb20;
|
||||||
|
|||||||
@@ -3,41 +3,26 @@
|
|||||||
<!-- 运行事件 -->
|
<!-- 运行事件 -->
|
||||||
|
|
||||||
<!-- 卡片 -->
|
<!-- 卡片 -->
|
||||||
<scroll-view
|
<scroll-view scroll-y="true" @refresherrefresh="refresherrefresh" @scrolltolower="scrolltolower"
|
||||||
scroll-y="true"
|
:refresher-triggered="triggered" refresher-enabled="true" class="event-list"
|
||||||
@refresherrefresh="refresherrefresh"
|
:style="{ height: 'calc(100vh - ' + (navHeight + 10) + 'px)', overflow: 'auto' }">
|
||||||
@scrolltolower="scrolltolower"
|
|
||||||
:refresher-triggered="triggered"
|
|
||||||
refresher-enabled="true"
|
|
||||||
class="event-list"
|
|
||||||
:style="{ height: 'calc(100vh - ' + (navHeight + 10) + 'px)', overflow: 'auto' }"
|
|
||||||
>
|
|
||||||
<!-- 循环渲染事件项 -->
|
<!-- 循环渲染事件项 -->
|
||||||
<uni-card
|
<uni-card class="event-item " :class="item.type" v-for="(item, index) in store.data" :key="index"
|
||||||
class="event-item"
|
@click="jump(item)">
|
||||||
:class="item.type"
|
|
||||||
v-for="(item, index) in store.data"
|
|
||||||
:key="index"
|
|
||||||
@click="jump(item)"
|
|
||||||
>
|
|
||||||
<!-- 头部:图标 + 信息 + 操作 -->
|
<!-- 头部:图标 + 信息 + 操作 -->
|
||||||
<view class="event-header">
|
<view class="event-header">
|
||||||
<view class="event-icon" :class="item.devType == 'Direct_Connected_Device' ? 'zl-bgc' : 'jc-bgc'">
|
<view class="event-icon" :class="item.devType == 'Direct_Connected_Device' ? 'zl-bgc' : 'jc-bgc'">
|
||||||
<!-- 动态图标:根据类型切换 -->
|
<!-- 动态图标:根据类型切换 -->
|
||||||
<!-- <uni-icons custom-prefix="iconfont" type="icon-shebei3" size="35" color="#376cf3"></uni-icons> -->
|
<!-- <uni-icons custom-prefix="iconfont" type="icon-shebei3" size="35" color="#376cf3"></uni-icons> -->
|
||||||
<Cn-icon-transient
|
<Cn-icon-transient :name="item.devType == 'Direct_Connected_Device' ? '治理设备' : '监测设备'" />
|
||||||
:name="item.devType == 'Direct_Connected_Device' ? '治理设备' : '监测设备'"
|
|
||||||
/>
|
|
||||||
<view class="badge1" v-if="item.status == 0"> </view>
|
<view class="badge1" v-if="item.status == 0"> </view>
|
||||||
</view>
|
</view>
|
||||||
<view class="event-info">
|
<view class="event-info">
|
||||||
<view class="event-title">
|
<view class="event-title">
|
||||||
<text class="event-id">{{ item.equipmentName }}</text>
|
<text class="event-id">{{ item.equipmentName }}</text>
|
||||||
<text
|
<text class="event-tag"
|
||||||
class="event-tag"
|
:class="item.devType == 'Direct_Connected_Device' ? 'zl-tag' : 'jc-tag'">{{ item.devType
|
||||||
:class="item.devType == 'Direct_Connected_Device' ? 'zl-tag' : 'jc-tag'"
|
== 'Direct_Connected_Device' ? '治理设备' : '监测设备' }}</text>
|
||||||
>{{ item.devType == 'Direct_Connected_Device' ? '治理设备' : '监测设备' }}</text
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="event-desc">
|
<view class="event-desc">
|
||||||
<text>工程名称:{{ item.engineeringName }}</text>
|
<text>工程名称:{{ item.engineeringName }}</text>
|
||||||
@@ -51,10 +36,8 @@
|
|||||||
<text> {{ item.showName }} </text>
|
<text> {{ item.showName }} </text>
|
||||||
</view>
|
</view>
|
||||||
</uni-card>
|
</uni-card>
|
||||||
<uni-load-more
|
<uni-load-more v-if="store.status == 'loading' || (store.data && store.data.length > 0)"
|
||||||
v-if="store.status == 'loading' || (store.data && store.data.length > 0)"
|
:status="store.status"></uni-load-more>
|
||||||
:status="store.status"
|
|
||||||
></uni-load-more>
|
|
||||||
<Cn-empty v-else style="top: 20%"></Cn-empty>
|
<Cn-empty v-else style="top: 20%"></Cn-empty>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
@@ -80,7 +63,7 @@ export default {
|
|||||||
triggered: true,
|
triggered: true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {},
|
mounted() { },
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
// 查詢
|
// 查詢
|
||||||
@@ -142,6 +125,7 @@ export default {
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import './index.scss';
|
@import './index.scss';
|
||||||
|
|
||||||
/* 列表容器 */
|
/* 列表容器 */
|
||||||
.event-list {
|
.event-list {
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
@@ -152,18 +136,22 @@ export default {
|
|||||||
.zl-bgc {
|
.zl-bgc {
|
||||||
background-color: #376cf320;
|
background-color: #376cf320;
|
||||||
}
|
}
|
||||||
|
|
||||||
.jc-bgc {
|
.jc-bgc {
|
||||||
background-color: #376cf320;
|
background-color: #376cf320;
|
||||||
}
|
}
|
||||||
|
|
||||||
.zl-tag {
|
.zl-tag {
|
||||||
background-color: #007aff20;
|
background-color: #007aff20;
|
||||||
color: #007aff;
|
color: #007aff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.jc-tag {
|
.jc-tag {
|
||||||
background-color: #3498db20;
|
background-color: #007aff20;
|
||||||
color: #3498db;
|
color: #007aff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .uni-scroll-view-refresher {
|
/deep/ .uni-scroll-view-refresher {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
>
|
>
|
||||||
<!-- 循环渲染事件项 -->
|
<!-- 循环渲染事件项 -->
|
||||||
<uni-card
|
<uni-card
|
||||||
class="event-item"
|
class="event-item boxClick"
|
||||||
:class="item.type"
|
:class="item.type"
|
||||||
v-for="(item, index) in store.data"
|
v-for="(item, index) in store.data"
|
||||||
:key="index"
|
:key="index"
|
||||||
@@ -338,7 +338,7 @@ export default {
|
|||||||
height: 39px;
|
height: 39px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
z-index: 0;
|
z-index: 0;
|
||||||
background-color: #f43530;
|
background-color: #e6a23c;
|
||||||
}
|
}
|
||||||
/* 核心:选中圆圈下的 子元素(日期数字) */
|
/* 核心:选中圆圈下的 子元素(日期数字) */
|
||||||
/deep/ .uni-calendar-item__weeks-box-circle + .uni-calendar-item__weeks-box-text {
|
/deep/ .uni-calendar-item__weeks-box-circle + .uni-calendar-item__weeks-box-text {
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
<view class="transientBox">
|
<view class="transientBox">
|
||||||
<view class="statistics pd20">
|
<view class="statistics pd20">
|
||||||
<view
|
<view
|
||||||
class="box"
|
class="box boxClick"
|
||||||
:class="{ boxClick: filterValue == index }"
|
:class="{ boxClick1: filterValue == index }"
|
||||||
v-for="(item, index) in dataList"
|
v-for="(item, index) in dataList"
|
||||||
@click="
|
@click="
|
||||||
filterValue = index
|
filterValue = index
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
>
|
>
|
||||||
<!-- 循环渲染事件项 -->
|
<!-- 循环渲染事件项 -->
|
||||||
<uni-card
|
<uni-card
|
||||||
class="event-item"
|
class="event-item boxClick"
|
||||||
:class="judgment(item.showName).type"
|
:class="judgment(item.showName).type"
|
||||||
v-for="(item, index) in store.data || []"
|
v-for="(item, index) in store.data || []"
|
||||||
:key="index"
|
:key="index"
|
||||||
@@ -175,21 +175,23 @@ export default {
|
|||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getConfig()
|
this.getConfig()
|
||||||
uni.createSelectorQuery()
|
|
||||||
.select('.transientBox')
|
|
||||||
.boundingClientRect((rect) => {
|
|
||||||
//
|
|
||||||
// #ifdef H5
|
|
||||||
this.height = rect?.height + 10 || 0
|
|
||||||
// #endif
|
|
||||||
// #ifdef APP-PLUS
|
|
||||||
this.height = rect?.height + 10 || 0
|
|
||||||
// #endif
|
|
||||||
})
|
|
||||||
.exec()
|
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
getHeight() {
|
||||||
|
uni.createSelectorQuery()
|
||||||
|
.select('.transientBox')
|
||||||
|
.boundingClientRect((rect) => {
|
||||||
|
//
|
||||||
|
// #ifdef H5
|
||||||
|
this.height = rect?.height || 0
|
||||||
|
// #endif
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
this.height = rect?.height || 0
|
||||||
|
// #endif
|
||||||
|
})
|
||||||
|
.exec()
|
||||||
|
},
|
||||||
// 查詢
|
// 查詢
|
||||||
init() {
|
init() {
|
||||||
this.store = this.DataSource('/cs-harmonic-boot/eventUser/queryEventpage')
|
this.store = this.DataSource('/cs-harmonic-boot/eventUser/queryEventpage')
|
||||||
@@ -211,6 +213,7 @@ export default {
|
|||||||
this.store.params.startTime = this.$util.getMonthFirstAndLastDay(this.selectValue.date).firstDay
|
this.store.params.startTime = this.$util.getMonthFirstAndLastDay(this.selectValue.date).firstDay
|
||||||
this.store.params.endTime = this.$util.getMonthFirstAndLastDay(this.selectValue.date).lastDay
|
this.store.params.endTime = this.$util.getMonthFirstAndLastDay(this.selectValue.date).lastDay
|
||||||
this.store.loadedCallback = () => {
|
this.store.loadedCallback = () => {
|
||||||
|
this.getHeight()
|
||||||
this.loading = false
|
this.loading = false
|
||||||
queryAppEventCounts(this.store.params).then((res) => {
|
queryAppEventCounts(this.store.params).then((res) => {
|
||||||
this.dataList[0].value = res.data.allNum
|
this.dataList[0].value = res.data.allNum
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
></uni-search-bar>
|
></uni-search-bar>
|
||||||
<view class="message">
|
<view class="message">
|
||||||
<uni-card
|
<uni-card
|
||||||
|
class="boxClick"
|
||||||
:title="item.name"
|
:title="item.name"
|
||||||
@click="jump(item)"
|
@click="jump(item)"
|
||||||
extra="🔍"
|
extra="🔍"
|
||||||
|
|||||||
111
readme.md
Normal file
111
readme.md
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
# 字母索引列表组件 (yxt-letterIndex)
|
||||||
|
|
||||||
|
用于uni-app项目的字母索引列表组件,支持按拼音首字母分组展示数据,右侧字母快速导航,适用于通讯录、学员列表等场景。
|
||||||
|
|
||||||
|
## 功能特点
|
||||||
|
|
||||||
|
- 支持按拼音首字母自动分组展示数据
|
||||||
|
- 右侧快速字母导航,点击可快速滚动到对应区域
|
||||||
|
- 滚动时自动高亮当前字母位置
|
||||||
|
- 支持签到状态显示和补签操作
|
||||||
|
- 空数据状态优化展示
|
||||||
|
- 适配小程序环境
|
||||||
|
|
||||||
|
## 安装方式
|
||||||
|
|
||||||
|
在uni-app项目中,通过uni_modules直接导入使用。
|
||||||
|
|
||||||
|
## 使用示例
|
||||||
|
|
||||||
|
```vue
|
||||||
|
<template>
|
||||||
|
<view class="container">
|
||||||
|
<yxt-letterIndex
|
||||||
|
:items="studentList"
|
||||||
|
name-key="name"
|
||||||
|
:show-letter-title="true"
|
||||||
|
current-status="pending"
|
||||||
|
@help-sign="handleHelpSign"
|
||||||
|
@letter-click="handleLetterClick"
|
||||||
|
@scroll-position-change="handleScrollPositionChange"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
studentList: [
|
||||||
|
{ name: '张三', id: '1' },
|
||||||
|
{ name: '李四', id: '2' },
|
||||||
|
{ name: '王五', id: '3' },
|
||||||
|
{ name: '赵六', id: '4' },
|
||||||
|
// 更多数据...
|
||||||
|
]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 处理帮TA补签事件
|
||||||
|
handleHelpSign(item) {
|
||||||
|
console.log('帮TA补签:', item);
|
||||||
|
// 执行补签操作
|
||||||
|
},
|
||||||
|
|
||||||
|
// 处理字母点击事件
|
||||||
|
handleLetterClick(letter) {
|
||||||
|
console.log('点击字母:', letter);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 处理滚动位置变化事件
|
||||||
|
handleScrollPositionChange(letter) {
|
||||||
|
console.log('当前滚动到字母:', letter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.container {
|
||||||
|
height: 100vh; /* 确保组件有足够的高度显示 */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
```
|
||||||
|
|
||||||
|
## 属性说明
|
||||||
|
|
||||||
|
| 属性名 | 类型 | 默认值 | 必填 | 说明 |
|
||||||
|
| --- | --- | --- | --- | --- |
|
||||||
|
| items | Array | [] | 是 | 要展示的数据列表 |
|
||||||
|
| name-key | String | "name" | 否 | 用于获取姓名的字段名 |
|
||||||
|
| show-letter-title | Boolean | true | 否 | 是否显示字母标题 |
|
||||||
|
| current-status | String | "pending" | 否 | 当前状态,pending表示未签到,signed表示已签到 |
|
||||||
|
|
||||||
|
## 事件说明
|
||||||
|
|
||||||
|
| 事件名 | 说明 | 回调参数 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| help-sign | 点击帮TA补签按钮时触发 | item: 当前点击的项目对象 |
|
||||||
|
| letter-click | 点击右侧字母导航时触发 | letter: 点击的字母 |
|
||||||
|
| scroll-position-change | 滚动位置发生变化时触发 | letter: 当前滚动到的字母 |
|
||||||
|
|
||||||
|
## 依赖说明
|
||||||
|
|
||||||
|
- 需要引入拼音工具 `pinyinUtil.js` 用于获取汉字的拼音首字母
|
||||||
|
- 默认使用 `/static/icon-success.png` 和 `/static/img_no_content.png` 作为图标资源
|
||||||
|
|
||||||
|
## 注意事项
|
||||||
|
|
||||||
|
1. 组件需要一个固定高度的容器,建议设置为全屏或适当高度
|
||||||
|
2. 确保数据格式正确,包含姓名字段
|
||||||
|
3. 如需要自定义样式,可通过覆盖CSS变量或使用深度选择器修改
|
||||||
|
4. 在小程序环境中使用时,请确保已配置相关的静态资源路径
|
||||||
|
|
||||||
|
## 兼容性
|
||||||
|
|
||||||
|
- 支持uni-app项目的Vue 2版本
|
||||||
|
- 支持微信小程序环境
|
||||||
|
|
||||||
|
## 更新日志
|
||||||
|
|
||||||
|
详情请查看 [changelog.md](./changelog.md)
|
||||||
503
yarn.lock
503
yarn.lock
@@ -2,64 +2,29 @@
|
|||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
"@babel/parser@^7.23.5":
|
|
||||||
version "7.24.0"
|
|
||||||
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac"
|
|
||||||
integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==
|
|
||||||
|
|
||||||
"@babel/runtime@^7.17.2":
|
|
||||||
version "7.24.0"
|
|
||||||
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e"
|
|
||||||
integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==
|
|
||||||
dependencies:
|
|
||||||
regenerator-runtime "^0.14.0"
|
|
||||||
|
|
||||||
"@types/html5plus@^1.0.2":
|
|
||||||
version "1.0.5"
|
|
||||||
resolved "https://registry.npmjs.org/@types/html5plus/-/html5plus-1.0.5.tgz#aa6fdd5adaabf0ec9227de451e1e9c0838950319"
|
|
||||||
integrity sha512-qt5z+3WYkARL/rWnJRcB2fCDOZLKa/hEOkse9sjA6FFkXZtKb+OPxKqo8bDgix4+ufahOff0adarVfaUaK1mfw==
|
|
||||||
|
|
||||||
"@types/uni-app@^1.4.4":
|
|
||||||
version "1.4.8"
|
|
||||||
resolved "https://registry.npmjs.org/@types/uni-app/-/uni-app-1.4.8.tgz#9d34931c2841863b1b42af3964a0f910342ce9f8"
|
|
||||||
integrity sha512-plxwi9MvGDrekCsDKuNlCN3ZXIv9zkqHsKZJOsc8FQqLSHveDBOm11qOaswe4QyNWVHpvwZMViii/Ni1/d40LA==
|
|
||||||
dependencies:
|
|
||||||
vue "^2.6.8"
|
|
||||||
|
|
||||||
"@vue/compiler-sfc@2.7.16":
|
|
||||||
version "2.7.16"
|
|
||||||
resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz#ff81711a0fac9c68683d8bb00b63f857de77dc83"
|
|
||||||
integrity sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==
|
|
||||||
dependencies:
|
|
||||||
"@babel/parser" "^7.23.5"
|
|
||||||
postcss "^8.4.14"
|
|
||||||
source-map "^0.6.1"
|
|
||||||
optionalDependencies:
|
|
||||||
prettier "^1.18.2 || ^2.0.0"
|
|
||||||
|
|
||||||
async-limiter@~1.0.0:
|
async-limiter@~1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
|
resolved "https://registry.npmmirror.com/async-limiter/-/async-limiter-1.0.1.tgz"
|
||||||
integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
|
integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
|
||||||
|
|
||||||
balanced-match@^1.0.0:
|
balanced-match@^1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz"
|
||||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||||
|
|
||||||
base64-arraybuffer@^1.0.2:
|
base64-arraybuffer@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc"
|
resolved "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz"
|
||||||
integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==
|
integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==
|
||||||
|
|
||||||
base64-js@^1.3.0, base64-js@^1.3.1:
|
base64-js@^1.3.0, base64-js@^1.3.1:
|
||||||
version "1.5.1"
|
version "1.5.1"
|
||||||
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz"
|
||||||
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
||||||
|
|
||||||
bl@^4.0.2:
|
bl@^4.0.2:
|
||||||
version "4.1.0"
|
version "4.1.0"
|
||||||
resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
|
resolved "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz"
|
||||||
integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
|
integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
|
||||||
dependencies:
|
dependencies:
|
||||||
buffer "^5.5.0"
|
buffer "^5.5.0"
|
||||||
@@ -67,40 +32,29 @@ bl@^4.0.2:
|
|||||||
readable-stream "^3.4.0"
|
readable-stream "^3.4.0"
|
||||||
|
|
||||||
brace-expansion@^1.1.7:
|
brace-expansion@^1.1.7:
|
||||||
version "1.1.11"
|
version "1.1.12"
|
||||||
resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.12.tgz"
|
||||||
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
|
integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
|
||||||
dependencies:
|
dependencies:
|
||||||
balanced-match "^1.0.0"
|
balanced-match "^1.0.0"
|
||||||
concat-map "0.0.1"
|
concat-map "0.0.1"
|
||||||
|
|
||||||
buffer-from@^1.0.0:
|
buffer-from@^1.0.0:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
|
resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz"
|
||||||
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
|
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
|
||||||
|
|
||||||
buffer@^5.5.0:
|
buffer@^5.5.0:
|
||||||
version "5.7.1"
|
version "5.7.1"
|
||||||
resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
|
resolved "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz"
|
||||||
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
|
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
base64-js "^1.3.1"
|
base64-js "^1.3.1"
|
||||||
ieee754 "^1.1.13"
|
ieee754 "^1.1.13"
|
||||||
|
|
||||||
call-bind@^1.0.7:
|
|
||||||
version "1.0.7"
|
|
||||||
resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
|
|
||||||
integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
|
|
||||||
dependencies:
|
|
||||||
es-define-property "^1.0.0"
|
|
||||||
es-errors "^1.3.0"
|
|
||||||
function-bind "^1.1.2"
|
|
||||||
get-intrinsic "^1.2.4"
|
|
||||||
set-function-length "^1.2.1"
|
|
||||||
|
|
||||||
callback-stream@^1.0.2:
|
callback-stream@^1.0.2:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/callback-stream/-/callback-stream-1.1.0.tgz#4701a51266f06e06eaa71fc17233822d875f4908"
|
resolved "https://registry.npmmirror.com/callback-stream/-/callback-stream-1.1.0.tgz"
|
||||||
integrity sha512-sAZ9kODla+mGACBZ1IpTCAisKoGnv6PykW7fPk1LrM+mMepE18Yz0515yoVcrZy7dQsTUp3uZLQ/9Sx1RnLoHw==
|
integrity sha512-sAZ9kODla+mGACBZ1IpTCAisKoGnv6PykW7fPk1LrM+mMepE18Yz0515yoVcrZy7dQsTUp3uZLQ/9Sx1RnLoHw==
|
||||||
dependencies:
|
dependencies:
|
||||||
inherits "^2.0.1"
|
inherits "^2.0.1"
|
||||||
@@ -108,7 +62,7 @@ callback-stream@^1.0.2:
|
|||||||
|
|
||||||
commist@^1.0.0:
|
commist@^1.0.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz#17811ec6978f6c15ee4de80c45c9beb77cee35d5"
|
resolved "https://registry.npmmirror.com/commist/-/commist-1.1.0.tgz"
|
||||||
integrity sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==
|
integrity sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==
|
||||||
dependencies:
|
dependencies:
|
||||||
leven "^2.1.0"
|
leven "^2.1.0"
|
||||||
@@ -116,12 +70,12 @@ commist@^1.0.0:
|
|||||||
|
|
||||||
concat-map@0.0.1:
|
concat-map@0.0.1:
|
||||||
version "0.0.1"
|
version "0.0.1"
|
||||||
resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz"
|
||||||
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
|
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
|
||||||
|
|
||||||
concat-stream@^1.6.2:
|
concat-stream@^1.6.2:
|
||||||
version "1.6.2"
|
version "1.6.2"
|
||||||
resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
|
resolved "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.6.2.tgz"
|
||||||
integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
|
integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
|
||||||
dependencies:
|
dependencies:
|
||||||
buffer-from "^1.0.0"
|
buffer-from "^1.0.0"
|
||||||
@@ -129,65 +83,39 @@ concat-stream@^1.6.2:
|
|||||||
readable-stream "^2.2.2"
|
readable-stream "^2.2.2"
|
||||||
typedarray "^0.0.6"
|
typedarray "^0.0.6"
|
||||||
|
|
||||||
copy-text-to-clipboard@^3.0.1:
|
|
||||||
version "3.2.0"
|
|
||||||
resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b"
|
|
||||||
integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==
|
|
||||||
|
|
||||||
core-js@^3.11.0:
|
|
||||||
version "3.36.0"
|
|
||||||
resolved "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz#e752fa0b0b462a0787d56e9d73f80b0f7c0dde68"
|
|
||||||
integrity sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==
|
|
||||||
|
|
||||||
core-util-is@~1.0.0:
|
core-util-is@~1.0.0:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
|
resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz"
|
||||||
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
|
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
|
||||||
|
|
||||||
crypto-js@^4.1.1:
|
crypto-js@^4.2.0:
|
||||||
version "4.2.0"
|
version "4.2.0"
|
||||||
resolved "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631"
|
|
||||||
integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==
|
|
||||||
|
|
||||||
css-line-break@^2.1.0:
|
css-line-break@^2.1.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz#bfef660dfa6f5397ea54116bb3cb4873edbc4fa0"
|
resolved "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz"
|
||||||
integrity sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==
|
integrity sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==
|
||||||
dependencies:
|
dependencies:
|
||||||
utrie "^1.0.2"
|
utrie "^1.0.2"
|
||||||
|
|
||||||
csstype@^3.1.0:
|
d@^1.0.1, d@^1.0.2, d@1:
|
||||||
version "3.1.3"
|
|
||||||
resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
|
|
||||||
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
|
|
||||||
|
|
||||||
d@1, d@^1.0.1, d@^1.0.2:
|
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de"
|
resolved "https://registry.npmmirror.com/d/-/d-1.0.2.tgz"
|
||||||
integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==
|
integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==
|
||||||
dependencies:
|
dependencies:
|
||||||
es5-ext "^0.10.64"
|
es5-ext "^0.10.64"
|
||||||
type "^2.7.2"
|
type "^2.7.2"
|
||||||
|
|
||||||
debug@^4.1.1:
|
debug@^4.1.1:
|
||||||
version "4.3.4"
|
version "4.4.1"
|
||||||
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
resolved "https://registry.npmmirror.com/debug/-/debug-4.4.1.tgz"
|
||||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "2.1.2"
|
ms "^2.1.3"
|
||||||
|
|
||||||
define-data-property@^1.1.2:
|
|
||||||
version "1.1.4"
|
|
||||||
resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
|
|
||||||
integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
|
|
||||||
dependencies:
|
|
||||||
es-define-property "^1.0.0"
|
|
||||||
es-errors "^1.3.0"
|
|
||||||
gopd "^1.0.1"
|
|
||||||
|
|
||||||
duplexify@^3.5.1, duplexify@^3.6.0:
|
duplexify@^3.5.1, duplexify@^3.6.0:
|
||||||
version "3.7.1"
|
version "3.7.1"
|
||||||
resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
|
resolved "https://registry.npmmirror.com/duplexify/-/duplexify-3.7.1.tgz"
|
||||||
integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
|
integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
|
||||||
dependencies:
|
dependencies:
|
||||||
end-of-stream "^1.0.0"
|
end-of-stream "^1.0.0"
|
||||||
@@ -195,28 +123,22 @@ duplexify@^3.5.1, duplexify@^3.6.0:
|
|||||||
readable-stream "^2.0.0"
|
readable-stream "^2.0.0"
|
||||||
stream-shift "^1.0.0"
|
stream-shift "^1.0.0"
|
||||||
|
|
||||||
|
echarts@^5.6.0:
|
||||||
|
version "5.6.0"
|
||||||
|
dependencies:
|
||||||
|
tslib "2.3.0"
|
||||||
|
zrender "5.6.1"
|
||||||
|
|
||||||
end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1:
|
end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1:
|
||||||
version "1.4.4"
|
version "1.4.5"
|
||||||
resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
resolved "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.5.tgz"
|
||||||
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
|
integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==
|
||||||
dependencies:
|
dependencies:
|
||||||
once "^1.4.0"
|
once "^1.4.0"
|
||||||
|
|
||||||
es-define-property@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845"
|
|
||||||
integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
|
|
||||||
dependencies:
|
|
||||||
get-intrinsic "^1.2.4"
|
|
||||||
|
|
||||||
es-errors@^1.3.0:
|
|
||||||
version "1.3.0"
|
|
||||||
resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
|
|
||||||
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
|
|
||||||
|
|
||||||
es5-ext@^0.10.35, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14:
|
es5-ext@^0.10.35, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14:
|
||||||
version "0.10.64"
|
version "0.10.64"
|
||||||
resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714"
|
resolved "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.64.tgz"
|
||||||
integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==
|
integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==
|
||||||
dependencies:
|
dependencies:
|
||||||
es6-iterator "^2.0.3"
|
es6-iterator "^2.0.3"
|
||||||
@@ -226,7 +148,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14:
|
|||||||
|
|
||||||
es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
|
es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
|
resolved "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz"
|
||||||
integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==
|
integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==
|
||||||
dependencies:
|
dependencies:
|
||||||
d "1"
|
d "1"
|
||||||
@@ -235,7 +157,7 @@ es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
|
|||||||
|
|
||||||
es6-map@^0.1.5:
|
es6-map@^0.1.5:
|
||||||
version "0.1.5"
|
version "0.1.5"
|
||||||
resolved "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
|
resolved "https://registry.npmmirror.com/es6-map/-/es6-map-0.1.5.tgz"
|
||||||
integrity sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==
|
integrity sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==
|
||||||
dependencies:
|
dependencies:
|
||||||
d "1"
|
d "1"
|
||||||
@@ -247,7 +169,7 @@ es6-map@^0.1.5:
|
|||||||
|
|
||||||
es6-set@~0.1.5:
|
es6-set@~0.1.5:
|
||||||
version "0.1.6"
|
version "0.1.6"
|
||||||
resolved "https://registry.npmjs.org/es6-set/-/es6-set-0.1.6.tgz#5669e3b2aa01d61a50ba79964f733673574983b8"
|
resolved "https://registry.npmmirror.com/es6-set/-/es6-set-0.1.6.tgz"
|
||||||
integrity sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==
|
integrity sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==
|
||||||
dependencies:
|
dependencies:
|
||||||
d "^1.0.1"
|
d "^1.0.1"
|
||||||
@@ -259,7 +181,7 @@ es6-set@~0.1.5:
|
|||||||
|
|
||||||
es6-symbol@^3.1.1, es6-symbol@^3.1.3, es6-symbol@~3.1.1:
|
es6-symbol@^3.1.1, es6-symbol@^3.1.3, es6-symbol@~3.1.1:
|
||||||
version "3.1.4"
|
version "3.1.4"
|
||||||
resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c"
|
resolved "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.4.tgz"
|
||||||
integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==
|
integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==
|
||||||
dependencies:
|
dependencies:
|
||||||
d "^1.0.2"
|
d "^1.0.2"
|
||||||
@@ -267,7 +189,7 @@ es6-symbol@^3.1.1, es6-symbol@^3.1.3, es6-symbol@~3.1.1:
|
|||||||
|
|
||||||
esniff@^2.0.1:
|
esniff@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308"
|
resolved "https://registry.npmmirror.com/esniff/-/esniff-2.0.1.tgz"
|
||||||
integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==
|
integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==
|
||||||
dependencies:
|
dependencies:
|
||||||
d "^1.0.1"
|
d "^1.0.1"
|
||||||
@@ -277,48 +199,37 @@ esniff@^2.0.1:
|
|||||||
|
|
||||||
event-emitter@^0.3.5, event-emitter@~0.3.5:
|
event-emitter@^0.3.5, event-emitter@~0.3.5:
|
||||||
version "0.3.5"
|
version "0.3.5"
|
||||||
resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
|
resolved "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz"
|
||||||
integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==
|
integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==
|
||||||
dependencies:
|
dependencies:
|
||||||
d "1"
|
d "1"
|
||||||
es5-ext "~0.10.14"
|
es5-ext "~0.10.14"
|
||||||
|
|
||||||
|
exif-js@^2.3.0:
|
||||||
|
version "2.3.0"
|
||||||
|
resolved "https://registry.npmmirror.com/exif-js/-/exif-js-2.3.0.tgz"
|
||||||
|
integrity sha512-1Og9pAzG2FZRVlaavH8bB8BTeHcjMdJhKmeQITkX+uLRCD0xPtKAdZ2clZmQdJ56p9adXtJ8+jwrGp/4505lYg==
|
||||||
|
|
||||||
ext@^1.7.0:
|
ext@^1.7.0:
|
||||||
version "1.7.0"
|
version "1.7.0"
|
||||||
resolved "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f"
|
resolved "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz"
|
||||||
integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==
|
integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==
|
||||||
dependencies:
|
dependencies:
|
||||||
type "^2.7.2"
|
type "^2.7.2"
|
||||||
|
|
||||||
extend@^3.0.0:
|
extend@^3.0.0:
|
||||||
version "3.0.2"
|
version "3.0.2"
|
||||||
resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
|
resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz"
|
||||||
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
|
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
|
||||||
|
|
||||||
fs.realpath@^1.0.0:
|
fs.realpath@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz"
|
||||||
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
|
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
|
||||||
|
|
||||||
function-bind@^1.1.2:
|
|
||||||
version "1.1.2"
|
|
||||||
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
|
|
||||||
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
|
|
||||||
|
|
||||||
get-intrinsic@^1.1.3, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4:
|
|
||||||
version "1.2.4"
|
|
||||||
resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
|
|
||||||
integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
|
|
||||||
dependencies:
|
|
||||||
es-errors "^1.3.0"
|
|
||||||
function-bind "^1.1.2"
|
|
||||||
has-proto "^1.0.1"
|
|
||||||
has-symbols "^1.0.3"
|
|
||||||
hasown "^2.0.0"
|
|
||||||
|
|
||||||
glob-parent@^3.1.0:
|
glob-parent@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
|
resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz"
|
||||||
integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==
|
integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==
|
||||||
dependencies:
|
dependencies:
|
||||||
is-glob "^3.1.0"
|
is-glob "^3.1.0"
|
||||||
@@ -326,7 +237,7 @@ glob-parent@^3.1.0:
|
|||||||
|
|
||||||
glob-stream@^6.1.0:
|
glob-stream@^6.1.0:
|
||||||
version "6.1.0"
|
version "6.1.0"
|
||||||
resolved "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4"
|
resolved "https://registry.npmmirror.com/glob-stream/-/glob-stream-6.1.0.tgz"
|
||||||
integrity sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==
|
integrity sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==
|
||||||
dependencies:
|
dependencies:
|
||||||
extend "^3.0.0"
|
extend "^3.0.0"
|
||||||
@@ -342,7 +253,7 @@ glob-stream@^6.1.0:
|
|||||||
|
|
||||||
glob@^7.1.1:
|
glob@^7.1.1:
|
||||||
version "7.2.3"
|
version "7.2.3"
|
||||||
resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
|
resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz"
|
||||||
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
|
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
fs.realpath "^1.0.0"
|
fs.realpath "^1.0.0"
|
||||||
@@ -352,40 +263,9 @@ glob@^7.1.1:
|
|||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
path-is-absolute "^1.0.0"
|
path-is-absolute "^1.0.0"
|
||||||
|
|
||||||
gopd@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
|
|
||||||
integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
|
|
||||||
dependencies:
|
|
||||||
get-intrinsic "^1.1.3"
|
|
||||||
|
|
||||||
has-property-descriptors@^1.0.1:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
|
|
||||||
integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
|
|
||||||
dependencies:
|
|
||||||
es-define-property "^1.0.0"
|
|
||||||
|
|
||||||
has-proto@^1.0.1:
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd"
|
|
||||||
integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
|
|
||||||
|
|
||||||
has-symbols@^1.0.3:
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
|
|
||||||
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
|
|
||||||
|
|
||||||
hasown@^2.0.0:
|
|
||||||
version "2.0.1"
|
|
||||||
resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa"
|
|
||||||
integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==
|
|
||||||
dependencies:
|
|
||||||
function-bind "^1.1.2"
|
|
||||||
|
|
||||||
help-me@^1.0.1:
|
help-me@^1.0.1:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/help-me/-/help-me-1.1.0.tgz#8f2d508d0600b4a456da2f086556e7e5c056a3c6"
|
resolved "https://registry.npmmirror.com/help-me/-/help-me-1.1.0.tgz"
|
||||||
integrity sha512-P/IZ8yOMne3SCTHbVY429NZ67B/2bVQlcYGZh2iPPbdLrEQ/qY5aGChn0YTDmt7Sb4IKRI51fypItav+lNl76w==
|
integrity sha512-P/IZ8yOMne3SCTHbVY429NZ67B/2bVQlcYGZh2iPPbdLrEQ/qY5aGChn0YTDmt7Sb4IKRI51fypItav+lNl76w==
|
||||||
dependencies:
|
dependencies:
|
||||||
callback-stream "^1.0.2"
|
callback-stream "^1.0.2"
|
||||||
@@ -395,7 +275,7 @@ help-me@^1.0.1:
|
|||||||
|
|
||||||
html2canvas@^1.4.1:
|
html2canvas@^1.4.1:
|
||||||
version "1.4.1"
|
version "1.4.1"
|
||||||
resolved "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz#7cef1888311b5011d507794a066041b14669a543"
|
resolved "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz"
|
||||||
integrity sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==
|
integrity sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==
|
||||||
dependencies:
|
dependencies:
|
||||||
css-line-break "^2.1.0"
|
css-line-break "^2.1.0"
|
||||||
@@ -403,30 +283,35 @@ html2canvas@^1.4.1:
|
|||||||
|
|
||||||
ieee754@^1.1.13:
|
ieee754@^1.1.13:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
|
resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz"
|
||||||
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
||||||
|
|
||||||
|
image-tool@^1.0.2:
|
||||||
|
version "1.0.2"
|
||||||
|
dependencies:
|
||||||
|
exif-js "^2.3.0"
|
||||||
|
|
||||||
image-tools@^1.4.0:
|
image-tools@^1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.npmjs.org/image-tools/-/image-tools-1.4.0.tgz#66aacbafad677af7f3fd7f32f8fa1e0881b83783"
|
resolved "https://registry.npmjs.org/image-tools/-/image-tools-1.4.0.tgz"
|
||||||
integrity sha512-TKtvJ6iUwM0mfaD4keMnk1ENHFC470QEjBfA3IlvKdEOufzvWbjbaoNcoyYq6HlViF8+d5tOS1ooE6j7CHf1lQ==
|
integrity sha512-TKtvJ6iUwM0mfaD4keMnk1ENHFC470QEjBfA3IlvKdEOufzvWbjbaoNcoyYq6HlViF8+d5tOS1ooE6j7CHf1lQ==
|
||||||
|
|
||||||
inflight@^1.0.4:
|
inflight@^1.0.4:
|
||||||
version "1.0.6"
|
version "1.0.6"
|
||||||
resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
|
resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz"
|
||||||
integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
|
integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
|
||||||
dependencies:
|
dependencies:
|
||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
wrappy "1"
|
wrappy "1"
|
||||||
|
|
||||||
inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
|
inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz"
|
||||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||||
|
|
||||||
is-absolute@^1.0.0:
|
is-absolute@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
|
resolved "https://registry.npmmirror.com/is-absolute/-/is-absolute-1.0.0.tgz"
|
||||||
integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
|
integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
|
||||||
dependencies:
|
dependencies:
|
||||||
is-relative "^1.0.0"
|
is-relative "^1.0.0"
|
||||||
@@ -434,85 +319,81 @@ is-absolute@^1.0.0:
|
|||||||
|
|
||||||
is-extglob@^2.1.0:
|
is-extglob@^2.1.0:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz"
|
||||||
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
|
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
|
||||||
|
|
||||||
is-glob@^3.1.0:
|
is-glob@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
|
resolved "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz"
|
||||||
integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==
|
integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==
|
||||||
dependencies:
|
dependencies:
|
||||||
is-extglob "^2.1.0"
|
is-extglob "^2.1.0"
|
||||||
|
|
||||||
is-negated-glob@^1.0.0:
|
is-negated-glob@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2"
|
resolved "https://registry.npmmirror.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz"
|
||||||
integrity sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==
|
integrity sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==
|
||||||
|
|
||||||
is-relative@^1.0.0:
|
is-relative@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
|
resolved "https://registry.npmmirror.com/is-relative/-/is-relative-1.0.0.tgz"
|
||||||
integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
|
integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
|
||||||
dependencies:
|
dependencies:
|
||||||
is-unc-path "^1.0.0"
|
is-unc-path "^1.0.0"
|
||||||
|
|
||||||
is-unc-path@^1.0.0:
|
is-unc-path@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
|
resolved "https://registry.npmmirror.com/is-unc-path/-/is-unc-path-1.0.0.tgz"
|
||||||
integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
|
integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
unc-path-regex "^0.1.2"
|
unc-path-regex "^0.1.2"
|
||||||
|
|
||||||
is-windows@^1.0.1:
|
is-windows@^1.0.1:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
|
resolved "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz"
|
||||||
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
|
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
|
||||||
|
|
||||||
isarray@~1.0.0:
|
isarray@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz"
|
||||||
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
||||||
|
|
||||||
json-stable-stringify-without-jsonify@^1.0.1:
|
json-stable-stringify-without-jsonify@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
|
resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
|
||||||
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
|
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
|
||||||
|
|
||||||
jsrsasign@^10.8.6:
|
jsrsasign@^11.1.0:
|
||||||
version "10.9.0"
|
version "11.1.0"
|
||||||
resolved "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.9.0.tgz#cc3f316e7e4c112a976193f9d2c93deb5a0745ee"
|
|
||||||
integrity sha512-QWLUikj1SBJGuyGK8tjKSx3K7Y69KYJnrs/pQ1KZ6wvZIkHkWjZ1PJDpuvc1/28c1uP0KW9qn1eI1LzHQqDOwQ==
|
|
||||||
|
|
||||||
leven@^2.1.0:
|
leven@^2.1.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
|
resolved "https://registry.npmmirror.com/leven/-/leven-2.1.0.tgz"
|
||||||
integrity sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==
|
integrity sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==
|
||||||
|
|
||||||
minimatch@^3.1.1:
|
minimatch@^3.1.1:
|
||||||
version "3.1.2"
|
version "3.1.2"
|
||||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
|
resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz"
|
||||||
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
|
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion "^1.1.7"
|
brace-expansion "^1.1.7"
|
||||||
|
|
||||||
minimist@^1.1.0, minimist@^1.2.0:
|
minimist@^1.1.0, minimist@^1.2.0:
|
||||||
version "1.2.8"
|
version "1.2.8"
|
||||||
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
|
resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz"
|
||||||
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
|
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
|
||||||
|
|
||||||
mqtt-packet@^6.0.0:
|
mqtt-packet@^6.0.0:
|
||||||
version "6.10.0"
|
version "6.10.0"
|
||||||
resolved "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz#c8b507832c4152e3e511c0efa104ae4a64cd418f"
|
resolved "https://registry.npmmirror.com/mqtt-packet/-/mqtt-packet-6.10.0.tgz"
|
||||||
integrity sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==
|
integrity sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==
|
||||||
dependencies:
|
dependencies:
|
||||||
bl "^4.0.2"
|
bl "^4.0.2"
|
||||||
debug "^4.1.1"
|
debug "^4.1.1"
|
||||||
process-nextick-args "^2.0.1"
|
process-nextick-args "^2.0.1"
|
||||||
|
|
||||||
mqtt@3.0.0:
|
mqtt@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.npmjs.org/mqtt/-/mqtt-3.0.0.tgz#7961e5f61efba3eec37d5aa9c4cbcdeb6f841380"
|
|
||||||
integrity sha512-0nKV6MAc1ibKZwaZQUTb3iIdT4NVpj541BsYrqrGBcQdQ7Jd0MnZD1/6/nj1UFdGTboK9ZEUXvkCu2nPCugHFA==
|
|
||||||
dependencies:
|
dependencies:
|
||||||
base64-js "^1.3.0"
|
base64-js "^1.3.0"
|
||||||
commist "^1.0.0"
|
commist "^1.0.0"
|
||||||
@@ -530,119 +411,78 @@ mqtt@3.0.0:
|
|||||||
websocket-stream "^5.1.2"
|
websocket-stream "^5.1.2"
|
||||||
xtend "^4.0.1"
|
xtend "^4.0.1"
|
||||||
|
|
||||||
ms@2.1.2:
|
ms@^2.1.3:
|
||||||
version "2.1.2"
|
version "2.1.3"
|
||||||
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz"
|
||||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
||||||
|
|
||||||
mutation-observer@^1.0.3:
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.npmjs.org/mutation-observer/-/mutation-observer-1.0.3.tgz#42e9222b101bca82e5ba9d5a7acf4a14c0f263d0"
|
|
||||||
integrity sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==
|
|
||||||
|
|
||||||
nanoid@^3.3.7:
|
|
||||||
version "3.3.7"
|
|
||||||
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
|
|
||||||
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
|
|
||||||
|
|
||||||
next-tick@^1.1.0:
|
next-tick@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
|
resolved "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz"
|
||||||
integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
|
integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
|
||||||
|
|
||||||
object-inspect@^1.13.1:
|
|
||||||
version "1.13.1"
|
|
||||||
resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2"
|
|
||||||
integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
|
|
||||||
|
|
||||||
once@^1.3.0, once@^1.3.1, once@^1.4.0:
|
once@^1.3.0, once@^1.3.1, once@^1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz"
|
||||||
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
|
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
|
||||||
dependencies:
|
dependencies:
|
||||||
wrappy "1"
|
wrappy "1"
|
||||||
|
|
||||||
ordered-read-streams@^1.0.0:
|
ordered-read-streams@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e"
|
resolved "https://registry.npmmirror.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz"
|
||||||
integrity sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==
|
integrity sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==
|
||||||
dependencies:
|
dependencies:
|
||||||
readable-stream "^2.0.1"
|
readable-stream "^2.0.1"
|
||||||
|
|
||||||
path-dirname@^1.0.0:
|
path-dirname@^1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
|
resolved "https://registry.npmmirror.com/path-dirname/-/path-dirname-1.0.2.tgz"
|
||||||
integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==
|
integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==
|
||||||
|
|
||||||
path-is-absolute@^1.0.0:
|
path-is-absolute@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
|
||||||
integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
|
integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
|
||||||
|
|
||||||
picocolors@^1.0.0:
|
pinyin-pro@^3.28.1:
|
||||||
version "1.0.0"
|
version "3.28.1"
|
||||||
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
resolved "https://registry.npmmirror.com/pinyin-pro/-/pinyin-pro-3.28.1.tgz"
|
||||||
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
|
integrity sha512-oqz8ulwRgtUXRi0vbqEfGNly19zpyCxYrjhkk5TibGcgSW6eNwS5woajCXRwqURi8Ehc2yOFTiB4uNoZ+NJOnA==
|
||||||
|
|
||||||
pinyin-pro@^3.13.2:
|
|
||||||
version "3.19.6"
|
|
||||||
resolved "https://registry.npmjs.org/pinyin-pro/-/pinyin-pro-3.19.6.tgz#ed5eebcd43d84f8eaa32d40452b2cca55760e58c"
|
|
||||||
integrity sha512-oWb34orr12+DjXf6gtGMB+gIpjRi7DZzyJE66ultbmNzVhpimM/utGtMI8GcbOy/lb26Ph/nogwNYriRPu+SGQ==
|
|
||||||
|
|
||||||
postcss@^8.4.14:
|
|
||||||
version "8.4.35"
|
|
||||||
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7"
|
|
||||||
integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==
|
|
||||||
dependencies:
|
|
||||||
nanoid "^3.3.7"
|
|
||||||
picocolors "^1.0.0"
|
|
||||||
source-map-js "^1.0.2"
|
|
||||||
|
|
||||||
"prettier@^1.18.2 || ^2.0.0":
|
|
||||||
version "2.8.8"
|
|
||||||
resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
|
|
||||||
integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
|
|
||||||
|
|
||||||
process-nextick-args@^2.0.1, process-nextick-args@~2.0.0:
|
process-nextick-args@^2.0.1, process-nextick-args@~2.0.0:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
|
||||||
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
|
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
|
||||||
|
|
||||||
pump@^2.0.0:
|
pump@^2.0.0:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
|
resolved "https://registry.npmmirror.com/pump/-/pump-2.0.1.tgz"
|
||||||
integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
|
integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
|
||||||
dependencies:
|
dependencies:
|
||||||
end-of-stream "^1.1.0"
|
end-of-stream "^1.1.0"
|
||||||
once "^1.3.1"
|
once "^1.3.1"
|
||||||
|
|
||||||
pump@^3.0.0:
|
pump@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.3"
|
||||||
resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
|
resolved "https://registry.npmmirror.com/pump/-/pump-3.0.3.tgz"
|
||||||
integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
|
integrity sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==
|
||||||
dependencies:
|
dependencies:
|
||||||
end-of-stream "^1.1.0"
|
end-of-stream "^1.1.0"
|
||||||
once "^1.3.1"
|
once "^1.3.1"
|
||||||
|
|
||||||
pumpify@^1.3.5:
|
pumpify@^1.3.5:
|
||||||
version "1.5.1"
|
version "1.5.1"
|
||||||
resolved "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
|
resolved "https://registry.npmmirror.com/pumpify/-/pumpify-1.5.1.tgz"
|
||||||
integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
|
integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
duplexify "^3.6.0"
|
duplexify "^3.6.0"
|
||||||
inherits "^2.0.3"
|
inherits "^2.0.3"
|
||||||
pump "^2.0.0"
|
pump "^2.0.0"
|
||||||
|
|
||||||
qs@^6.11.2:
|
readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, "readable-stream@> 1.0.0 < 3.0.0", readable-stream@~2.3.6:
|
||||||
version "6.12.0"
|
|
||||||
resolved "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz#edd40c3b823995946a8a0b1f208669c7a200db77"
|
|
||||||
integrity sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==
|
|
||||||
dependencies:
|
|
||||||
side-channel "^1.0.6"
|
|
||||||
|
|
||||||
"readable-stream@> 1.0.0 < 3.0.0", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
|
|
||||||
version "2.3.8"
|
version "2.3.8"
|
||||||
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
|
resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz"
|
||||||
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
|
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
|
||||||
dependencies:
|
dependencies:
|
||||||
core-util-is "~1.0.0"
|
core-util-is "~1.0.0"
|
||||||
@@ -653,108 +493,68 @@ qs@^6.11.2:
|
|||||||
string_decoder "~1.1.1"
|
string_decoder "~1.1.1"
|
||||||
util-deprecate "~1.0.1"
|
util-deprecate "~1.0.1"
|
||||||
|
|
||||||
readable-stream@^3.0.0, readable-stream@^3.4.0:
|
readable-stream@^3.0.0:
|
||||||
version "3.6.2"
|
version "3.6.2"
|
||||||
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
|
resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz"
|
||||||
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
|
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
|
||||||
dependencies:
|
dependencies:
|
||||||
inherits "^2.0.3"
|
inherits "^2.0.3"
|
||||||
string_decoder "^1.1.1"
|
string_decoder "^1.1.1"
|
||||||
util-deprecate "^1.0.1"
|
util-deprecate "^1.0.1"
|
||||||
|
|
||||||
regenerator-runtime@^0.14.0:
|
readable-stream@^3.4.0:
|
||||||
version "0.14.1"
|
version "3.6.2"
|
||||||
resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
|
resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz"
|
||||||
integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
|
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
|
||||||
|
dependencies:
|
||||||
|
inherits "^2.0.3"
|
||||||
|
string_decoder "^1.1.1"
|
||||||
|
util-deprecate "^1.0.1"
|
||||||
|
|
||||||
reinterval@^1.1.0:
|
reinterval@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz#3361ecfa3ca6c18283380dd0bb9546f390f5ece7"
|
resolved "https://registry.npmmirror.com/reinterval/-/reinterval-1.1.0.tgz"
|
||||||
integrity sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==
|
integrity sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==
|
||||||
|
|
||||||
remove-trailing-separator@^1.0.1:
|
remove-trailing-separator@^1.0.1:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
|
resolved "https://registry.npmmirror.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"
|
||||||
integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==
|
integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==
|
||||||
|
|
||||||
safe-buffer@^5.1.2, safe-buffer@~5.2.0:
|
safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
||||||
version "5.2.1"
|
|
||||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
|
||||||
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
|
||||||
|
|
||||||
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
|
||||||
version "5.1.2"
|
version "5.1.2"
|
||||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz"
|
||||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||||
|
|
||||||
set-function-length@^1.2.1:
|
|
||||||
version "1.2.1"
|
|
||||||
resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425"
|
|
||||||
integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==
|
|
||||||
dependencies:
|
|
||||||
define-data-property "^1.1.2"
|
|
||||||
es-errors "^1.3.0"
|
|
||||||
function-bind "^1.1.2"
|
|
||||||
get-intrinsic "^1.2.3"
|
|
||||||
gopd "^1.0.1"
|
|
||||||
has-property-descriptors "^1.0.1"
|
|
||||||
|
|
||||||
side-channel@^1.0.6:
|
|
||||||
version "1.0.6"
|
|
||||||
resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2"
|
|
||||||
integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
|
|
||||||
dependencies:
|
|
||||||
call-bind "^1.0.7"
|
|
||||||
es-errors "^1.3.0"
|
|
||||||
get-intrinsic "^1.2.4"
|
|
||||||
object-inspect "^1.13.1"
|
|
||||||
|
|
||||||
source-map-js@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
|
|
||||||
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
|
|
||||||
|
|
||||||
source-map@^0.6.1:
|
|
||||||
version "0.6.1"
|
|
||||||
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
|
|
||||||
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
|
||||||
|
|
||||||
split2@^3.1.0:
|
split2@^3.1.0:
|
||||||
version "3.2.2"
|
version "3.2.2"
|
||||||
resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
|
resolved "https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz"
|
||||||
integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
|
integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
|
||||||
dependencies:
|
dependencies:
|
||||||
readable-stream "^3.0.0"
|
readable-stream "^3.0.0"
|
||||||
|
|
||||||
stream-shift@^1.0.0:
|
stream-shift@^1.0.0:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b"
|
resolved "https://registry.npmmirror.com/stream-shift/-/stream-shift-1.0.3.tgz"
|
||||||
integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==
|
integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==
|
||||||
|
|
||||||
string_decoder@^1.1.1:
|
string_decoder@^1.1.1, string_decoder@~1.1.1:
|
||||||
version "1.3.0"
|
|
||||||
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
|
|
||||||
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
|
|
||||||
dependencies:
|
|
||||||
safe-buffer "~5.2.0"
|
|
||||||
|
|
||||||
string_decoder@~1.1.1:
|
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
|
resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz"
|
||||||
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer "~5.1.0"
|
safe-buffer "~5.1.0"
|
||||||
|
|
||||||
text-segmentation@^1.0.3:
|
text-segmentation@^1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz#52a388159efffe746b24a63ba311b6ac9f2d7943"
|
resolved "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz"
|
||||||
integrity sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==
|
integrity sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==
|
||||||
dependencies:
|
dependencies:
|
||||||
utrie "^1.0.2"
|
utrie "^1.0.2"
|
||||||
|
|
||||||
through2-filter@^3.0.0:
|
through2-filter@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254"
|
resolved "https://registry.npmmirror.com/through2-filter/-/through2-filter-3.0.0.tgz"
|
||||||
integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==
|
integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==
|
||||||
dependencies:
|
dependencies:
|
||||||
through2 "~2.0.0"
|
through2 "~2.0.0"
|
||||||
@@ -762,7 +562,7 @@ through2-filter@^3.0.0:
|
|||||||
|
|
||||||
through2@^2.0.1, through2@~2.0.0:
|
through2@^2.0.1, through2@~2.0.0:
|
||||||
version "2.0.5"
|
version "2.0.5"
|
||||||
resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
|
resolved "https://registry.npmmirror.com/through2/-/through2-2.0.5.tgz"
|
||||||
integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
|
integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
readable-stream "~2.3.6"
|
readable-stream "~2.3.6"
|
||||||
@@ -770,35 +570,40 @@ through2@^2.0.1, through2@~2.0.0:
|
|||||||
|
|
||||||
to-absolute-glob@^2.0.0:
|
to-absolute-glob@^2.0.0:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b"
|
resolved "https://registry.npmmirror.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz"
|
||||||
integrity sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==
|
integrity sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==
|
||||||
dependencies:
|
dependencies:
|
||||||
is-absolute "^1.0.0"
|
is-absolute "^1.0.0"
|
||||||
is-negated-glob "^1.0.0"
|
is-negated-glob "^1.0.0"
|
||||||
|
|
||||||
|
tslib@2.3.0:
|
||||||
|
version "2.3.0"
|
||||||
|
resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz"
|
||||||
|
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
|
||||||
|
|
||||||
type@^2.7.2:
|
type@^2.7.2:
|
||||||
version "2.7.2"
|
version "2.7.3"
|
||||||
resolved "https://registry.npmjs.org/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0"
|
resolved "https://registry.npmmirror.com/type/-/type-2.7.3.tgz"
|
||||||
integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==
|
integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==
|
||||||
|
|
||||||
typedarray@^0.0.6:
|
typedarray@^0.0.6:
|
||||||
version "0.0.6"
|
version "0.0.6"
|
||||||
resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
resolved "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz"
|
||||||
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
|
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
|
||||||
|
|
||||||
ultron@~1.1.0:
|
ultron@~1.1.0:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
|
resolved "https://registry.npmmirror.com/ultron/-/ultron-1.1.1.tgz"
|
||||||
integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
|
integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
|
||||||
|
|
||||||
unc-path-regex@^0.1.2:
|
unc-path-regex@^0.1.2:
|
||||||
version "0.1.2"
|
version "0.1.2"
|
||||||
resolved "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
|
resolved "https://registry.npmmirror.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz"
|
||||||
integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==
|
integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==
|
||||||
|
|
||||||
unique-stream@^2.0.2:
|
unique-stream@^2.0.2:
|
||||||
version "2.3.1"
|
version "2.3.1"
|
||||||
resolved "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac"
|
resolved "https://registry.npmmirror.com/unique-stream/-/unique-stream-2.3.1.tgz"
|
||||||
integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==
|
integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==
|
||||||
dependencies:
|
dependencies:
|
||||||
json-stable-stringify-without-jsonify "^1.0.1"
|
json-stable-stringify-without-jsonify "^1.0.1"
|
||||||
@@ -806,37 +611,24 @@ unique-stream@^2.0.2:
|
|||||||
|
|
||||||
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
|
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz"
|
||||||
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
||||||
|
|
||||||
utrie@^1.0.2:
|
utrie@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz#d42fe44de9bc0119c25de7f564a6ed1b2c87a645"
|
resolved "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz"
|
||||||
integrity sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==
|
integrity sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==
|
||||||
dependencies:
|
dependencies:
|
||||||
base64-arraybuffer "^1.0.2"
|
base64-arraybuffer "^1.0.2"
|
||||||
|
|
||||||
vconsole@^3.15.1:
|
uview-ui@^2.0.38:
|
||||||
version "3.15.1"
|
version "2.0.38"
|
||||||
resolved "https://registry.npmjs.org/vconsole/-/vconsole-3.15.1.tgz#569a8ab15f353259527bbcf004f02946b4482cff"
|
resolved "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.38.tgz"
|
||||||
integrity sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==
|
integrity sha512-6egHDf9lXHKpG3hEjRE0vMx4+VWwKk/ReTf5x18KrIKqdvdPRqO3+B8Unh7vYYwrIxzAWIlmhZ9RJpKI/4UqPQ==
|
||||||
dependencies:
|
|
||||||
"@babel/runtime" "^7.17.2"
|
|
||||||
copy-text-to-clipboard "^3.0.1"
|
|
||||||
core-js "^3.11.0"
|
|
||||||
mutation-observer "^1.0.3"
|
|
||||||
|
|
||||||
vue@^2.6.8:
|
|
||||||
version "2.7.16"
|
|
||||||
resolved "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz#98c60de9def99c0e3da8dae59b304ead43b967c9"
|
|
||||||
integrity sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==
|
|
||||||
dependencies:
|
|
||||||
"@vue/compiler-sfc" "2.7.16"
|
|
||||||
csstype "^3.1.0"
|
|
||||||
|
|
||||||
websocket-stream@^5.1.2:
|
websocket-stream@^5.1.2:
|
||||||
version "5.5.2"
|
version "5.5.2"
|
||||||
resolved "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.5.2.tgz#49d87083d96839f0648f5513bbddd581f496b8a2"
|
resolved "https://registry.npmmirror.com/websocket-stream/-/websocket-stream-5.5.2.tgz"
|
||||||
integrity sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==
|
integrity sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
duplexify "^3.5.1"
|
duplexify "^3.5.1"
|
||||||
@@ -848,12 +640,12 @@ websocket-stream@^5.1.2:
|
|||||||
|
|
||||||
wrappy@1:
|
wrappy@1:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz"
|
||||||
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
|
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
|
||||||
|
|
||||||
ws@^3.2.0:
|
ws@^3.2.0:
|
||||||
version "3.3.3"
|
version "3.3.3"
|
||||||
resolved "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
|
resolved "https://registry.npmmirror.com/ws/-/ws-3.3.3.tgz"
|
||||||
integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==
|
integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==
|
||||||
dependencies:
|
dependencies:
|
||||||
async-limiter "~1.0.0"
|
async-limiter "~1.0.0"
|
||||||
@@ -862,5 +654,12 @@ ws@^3.2.0:
|
|||||||
|
|
||||||
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
|
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
resolved "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz"
|
||||||
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
||||||
|
|
||||||
|
zrender@5.6.1:
|
||||||
|
version "5.6.1"
|
||||||
|
resolved "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz"
|
||||||
|
integrity sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==
|
||||||
|
dependencies:
|
||||||
|
tslib "2.3.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user