uni-app 瀑布流布局的实现

方式一:使用纯 CSS 实现

使用 flex 布局方式

<!-- 瀑布流布局 -->
<template><view class="container"><viewclass="cont-box":style="{ '--layout-width': 100 / flowData.column - flowData.columnSpace + '%' }"v-for="(numVal, index) in flowData.column":key="numVal"><view class="item-box" v-for="(item, j) in flowData[`column_${index + 1}`]" :key="j"><image class="img-tip" :src="item.imgUrl" mode="widthFix" lazy-load /><view class="tit-tip multi-line-omit">{{ item.title }}</view><view class="desc-tip multi-line-omit">{{ item.desc }}</view></view></view></view>
</template><script>
export default {data() {return {flowData: {list: [], // 数据值column: 2, // 瀑布列数columnSpace: 2 // 瀑布列宽间距}};},created() {/* 初始化每一列的数据 */for (let i = 1; i <= this.flowData.column; i++) {this.$set(this.flowData, `column_${i}`, []);}},onLoad() {/* 数据赋值 */this.flowData.list = [{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045108_thumb.jpg",title: "自动驾驶汽车对交通和城市规划的未来影响与挑战",desc: "分析自动驾驶汽车对未来交通和城市规划的潜在影响,探讨相关挑战。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044581_thumb.jpg",title: "可持续城市发展:构建环保城市的策略和实践",desc: "分析建设可持续城市的战略和实际方法,强调环保、资源利用和城市规划的重要性。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045190_thumb.jpg",title: "消灭传染病:全球卫生领域的挑战与创新",desc: "探讨在全球范围内消灭传染病的挑战,突出卫生领域的创新方法。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044667_thumb.jpg",title: "人工智能与机器学习:颠覆性技术对未来的巨大影响",desc: "探讨人工智能和机器学习如何在多个领域引发革命性变革,从工业到医疗,对未来产生深远影响。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044562_thumb.jpg",title: "生命科学的新前沿:基因编辑和生物技术的伦理挑战",desc: "研究生命科学领域的最新发展,聚焦基因编辑和生物技术的伦理考量,探讨科技前沿的道德挑战。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045057_thumb.jpg",title: "加密货币与区块链:重塑全球金融体系的力量",desc: "解析加密货币和区块链技术对金融体系的颠覆作用,重新定义了全球金融交易方式。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044716_thumb.jpg",title: "量子计算与量子技术应用的前沿探索",desc: "深入研究量子计算和量子技术的前沿,展示这一领域的创新及其应用前景。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044779_thumb.jpg",title: "气候变化缓解的复杂性:全球视角下的挑战与机遇",desc: "探讨应对气候变化的复杂性,强调全球合作,突出应对挑战所蕴含的机遇。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044956_thumb.jpg",title: "虚拟现实与医疗保健的交汇:革命性地改变患者护理",desc: "介绍虚拟现实技术如何在医疗领域革命性地改善患者护理和治疗方法。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044607_thumb.jpg",title: "生物工程的突破:改变医学和人类增强的科技",desc: "研究生物工程领域的创新,关注其在医学和人类增强领域的重要作用。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045083_thumb.jpg",title: "社交媒体的演进及其对沟通和社会的影响",desc: "追溯社交媒体的发展历程,探讨其对人际沟通和社会动态的广泛影响。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044643_thumb.jpg",title: "元宇宙时代:在工作、教育和娱乐的虚拟世界中导航",desc: "介绍元宇宙时代,强调虚拟世界在工作、教育和娱乐中的多样应用。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044936_thumb.jpg",title: "通用人工智能:人类是否准备好面对超智能机器?",desc: "研究通用人工智能的发展,引发思考人类面对超级智能机器的准备程度。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045159_thumb.jpg",title: "超越火星:人类太空探索和星际旅行的未来",desc: "展望人类在太空探索领域的未来,探讨星际旅行的潜力和挑战。"}];this.$nextTick(() => {this.initData(); // 数据初始化});},methods: {/* 数据初始化 */initData() {const groupList = this.dynamicGrouping(this.flowData.list, this.flowData.column); // 数据动态分组groupList.forEach((item, i) => (this.flowData[`column_${i + 1}`] = item));},/** 数据动态分组* @param {Object} data 分组的数据列表* @param {Object} i 需要分几组* @returns {Array} groups 已分组的数据*/dynamicGrouping(data, i) {if (i <= 0) return "分组数必须大于0";const groups = [];for (let j = 0; j < i; j++) {groups.push([]);}for (let k = 0; k < data.length; k++) {const groupIndex = k % i;groups[groupIndex].push(data[k]);}return groups;}}
};
</script><style lang="scss" scoped>
.container {display: flex;justify-content: space-between;padding: 20rpx;$borderRadius: 12rpx;.cont-box {width: var(--layout-width);.item-box {width: 100%;padding-bottom: 20rpx;margin-bottom: 30rpx;border-radius: $borderRadius;box-shadow: 0rpx 3rpx 6rpx rgba(0, 46, 37, 0.08);.img-tip {width: 100%;border-radius: $borderRadius $borderRadius 0 0;}.tit-tip {text-align: justify;font-size: 30rpx;padding: 10rpx 20rpx 0;font-weight: 900;}.desc-tip {text-align: justify;font-size: 26rpx;padding: 5rpx 20rpx 0;margin-top: 10rpx;}}}
}
/* 多行省略 */
.multi-line-omit {word-break: break-all; // 允许单词内自动换行,如果一个单词很长的话text-overflow: ellipsis; // 溢出用省略号显示overflow: hidden; // 超出的文本隐藏display: -webkit-box; // 作为弹性伸缩盒子模型显示-webkit-line-clamp: 2; // 显示的行-webkit-box-orient: vertical; // 设置伸缩盒子的子元素排列方式--从上到下垂直排列
}
/* 单行省略 */
.one-line-omit {width: 100%; // 宽度100%:1vw等于视口宽度的1%;1vh等于视口高度的1%white-space: nowrap; // 溢出不换行overflow: hidden; // 超出的文本隐藏text-overflow: ellipsis; // 溢出用省略号显示
}
</style>

方式二:借助于 JavaScript 实现

获取每一列的高度,每次图片加载时,把该图片加载到列高度最短的那一列进行实现。

注意:这个是通过图片初始化实现的,所以服务器端的数据必须含有图片。

vue2 版本

<!-- 瀑布流布局 -->
<template><view class="container"><view:id="`cont_${index + 1}`"class="cont-box":style="{ width: widthCalc, 'margin-left': index === 0 ? 0 : marginCalc }"v-for="(numVal, index) in flowData.column":key="numVal"><view class="item-box" v-for="(item, j) in flowData[`column_${index + 1}`]" :key="j"><image class="img-tip" :src="item.imgUrl" mode="widthFix" lazy-load :data-item="item" @load="imgLoad" @error="imgError" /><view class="tit-tip multi-line-omit">{{ item.title }}</view><view class="desc-tip multi-line-omit">{{ item.desc }}</view></view></view></view>
</template><script>
export default {data() {return {flowData: {list: [], // 数据值column: 2, // 瀑布列数columnSpace: 2 // 瀑布列宽间距}};},created() {/* 初始化每一列的数据 */for (let i = 1; i <= this.flowData.column; i++) {this.$set(this.flowData, `column_${i}`, []);}},onLoad() {/* 数据赋值 */this.flowData.list = [{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045108_thumb.jpg",title: "自动驾驶汽车对交通和城市规划的未来影响与挑战",desc: "分析自动驾驶汽车对未来交通和城市规划的潜在影响,探讨相关挑战。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044581_thumb.jpg",title: "可持续城市发展:构建环保城市的策略和实践",desc: "分析建设可持续城市的战略和实际方法,强调环保、资源利用和城市规划的重要性。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045190_thumb.jpg",title: "消灭传染病:全球卫生领域的挑战与创新",desc: "探讨在全球范围内消灭传染病的挑战,突出卫生领域的创新方法。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044667_thumb.jpg",title: "人工智能与机器学习:颠覆性技术对未来的巨大影响",desc: "探讨人工智能和机器学习如何在多个领域引发革命性变革,从工业到医疗,对未来产生深远影响。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044562_thumb.jpg",title: "生命科学的新前沿:基因编辑和生物技术的伦理挑战",desc: "研究生命科学领域的最新发展,聚焦基因编辑和生物技术的伦理考量,探讨科技前沿的道德挑战。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045057_thumb.jpg",title: "加密货币与区块链:重塑全球金融体系的力量",desc: "解析加密货币和区块链技术对金融体系的颠覆作用,重新定义了全球金融交易方式。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044716_thumb.jpg",title: "量子计算与量子技术应用的前沿探索",desc: "深入研究量子计算和量子技术的前沿,展示这一领域的创新及其应用前景。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044779_thumb.jpg",title: "气候变化缓解的复杂性:全球视角下的挑战与机遇",desc: "探讨应对气候变化的复杂性,强调全球合作,突出应对挑战所蕴含的机遇。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044956_thumb.jpg",title: "虚拟现实与医疗保健的交汇:革命性地改变患者护理",desc: "介绍虚拟现实技术如何在医疗领域革命性地改善患者护理和治疗方法。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044607_thumb.jpg",title: "生物工程的突破:改变医学和人类增强的科技",desc: "研究生物工程领域的创新,关注其在医学和人类增强领域的重要作用。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045083_thumb.jpg",title: "社交媒体的演进及其对沟通和社会的影响",desc: "追溯社交媒体的发展历程,探讨其对人际沟通和社会动态的广泛影响。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044643_thumb.jpg",title: "元宇宙时代:在工作、教育和娱乐的虚拟世界中导航",desc: "介绍元宇宙时代,强调虚拟世界在工作、教育和娱乐中的多样应用。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044936_thumb.jpg",title: "通用人工智能:人类是否准备好面对超智能机器?",desc: "研究通用人工智能的发展,引发思考人类面对超级智能机器的准备程度。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045159_thumb.jpg",title: "超越火星:人类太空探索和星际旅行的未来",desc: "展望人类在太空探索领域的未来,探讨星际旅行的潜力和挑战。"}];this.$nextTick(() => {this.initValue(0);});},computed: {/* 计算列宽 */widthCalc() {return `${100 / this.flowData.column - this.flowData.columnSpace}%`;},/* 计算 margin 外边距 */marginCalc() {const columnWidth = 100 / this.flowData.column - this.flowData.columnSpace;return `${(100 - columnWidth.toFixed(5) * this.flowData.column) / (this.flowData.column - 1)}%`;}},methods: {/* 获取最小值的对象 */getMinObj(a, s) {let m = a[0][s];let mo = a[0];for (let i = a.length - 1; i >= 0; i--) {if (a[i][s] < m) m = a[i][s];}mo = a.filter(i => i[s] === m);return mo[0];},/* 计算每列的高度 */getMinColumnHeight() {return new Promise(resolve => {const heightArr = [];for (let i = 1; i <= this.flowData.column; i++) {uni.createSelectorQuery().in(this).select(`#cont_${i}`).boundingClientRect(res => {heightArr.push({ column: i, height: res.height });}).exec(() => {if (this.flowData.column <= heightArr.length) {resolve(this.getMinObj(heightArr, "height"));}});}});},/* 初始化瀑布流数据 */async initValue(i) {if (i >= this.flowData.list.length) return false;const minHeightRes = await this.getMinColumnHeight();this.flowData[`column_${minHeightRes.column}`].push({...this.flowData.list[i],index: i});},/* 图片加载完成 */imgLoad(e) {const i = e.target.dataset.item.index;this.initValue(i + 1); // 加载下一条数据},/* 图片加载失败 */imgError(e) {const i = e.target.dataset.item.index;this.initValue(i + 1); // 加载下一条数据}}
};
</script><style lang="scss" scoped>
.container {padding: 20rpx;.cont-box {$borderRadius: 12rpx;float: left;.item-box {width: 100%;padding-bottom: 20rpx;margin-bottom: 30rpx;border-radius: $borderRadius;box-shadow: 0rpx 3rpx 6rpx rgba(0, 46, 37, 0.08);.img-tip {width: 100%;border-radius: $borderRadius $borderRadius 0 0;}.tit-tip {text-align: justify;font-size: 30rpx;padding: 10rpx 20rpx 0;font-weight: 900;}.desc-tip {text-align: justify;font-size: 26rpx;padding: 5rpx 20rpx 0;margin-top: 10rpx;}}}
}
/* 多行省略 */
.multi-line-omit {word-break: break-all; // 允许单词内自动换行,如果一个单词很长的话text-overflow: ellipsis; // 溢出用省略号显示overflow: hidden; // 超出的文本隐藏display: -webkit-box; // 作为弹性伸缩盒子模型显示-webkit-line-clamp: 2; // 显示的行-webkit-box-orient: vertical; // 设置伸缩盒子的子元素排列方式--从上到下垂直排列
}
/* 单行省略 */
.one-line-omit {width: 100%; // 宽度100%:1vw等于视口宽度的1%;1vh等于视口高度的1%white-space: nowrap; // 溢出不换行overflow: hidden; // 超出的文本隐藏text-overflow: ellipsis; // 溢出用省略号显示
}
</style>

vue3 版本

<!-- 瀑布流布局 -->
<template><view class="container"><view:id="`cont_${index + 1}`"class="cont-box":style="{ width: widthCalc, 'margin-left': index === 0 ? 0 : marginCalc }"v-for="(numVal, index) in flowData.column":key="numVal"><view class="item-box" v-for="(item, j) in flowData[`column_${index + 1}`]" :key="j"><image class="img-tip" :src="item.imgUrl" mode="widthFix" lazy-load @load="imgLoad(item)" @error="imgError(item)" /><view class="tit-tip multi-line-omit">{{ item.title }}</view><view class="desc-tip multi-line-omit">{{ item.desc }}</view></view></view></view>
</template><script setup>
import { reactive, computed, getCurrentInstance, onMounted } from "vue";const _this = getCurrentInstance();
const flowData = reactive({list: [], // 数据值column: 2, // 瀑布列数columnSpace: 2 // 瀑布列宽间距
});
/* 数据赋值 */
flowData.list = [{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045108_thumb.jpg",title: "自动驾驶汽车对交通和城市规划的未来影响与挑战",desc: "分析自动驾驶汽车对未来交通和城市规划的潜在影响,探讨相关挑战。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044581_thumb.jpg",title: "可持续城市发展:构建环保城市的策略和实践",desc: "分析建设可持续城市的战略和实际方法,强调环保、资源利用和城市规划的重要性。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045190_thumb.jpg",title: "消灭传染病:全球卫生领域的挑战与创新",desc: "探讨在全球范围内消灭传染病的挑战,突出卫生领域的创新方法。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044667_thumb.jpg",title: "人工智能与机器学习:颠覆性技术对未来的巨大影响",desc: "探讨人工智能和机器学习如何在多个领域引发革命性变革,从工业到医疗,对未来产生深远影响。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044562_thumb.jpg",title: "生命科学的新前沿:基因编辑和生物技术的伦理挑战",desc: "研究生命科学领域的最新发展,聚焦基因编辑和生物技术的伦理考量,探讨科技前沿的道德挑战。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045057_thumb.jpg",title: "加密货币与区块链:重塑全球金融体系的力量",desc: "解析加密货币和区块链技术对金融体系的颠覆作用,重新定义了全球金融交易方式。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044716_thumb.jpg",title: "量子计算与量子技术应用的前沿探索",desc: "深入研究量子计算和量子技术的前沿,展示这一领域的创新及其应用前景。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044779_thumb.jpg",title: "气候变化缓解的复杂性:全球视角下的挑战与机遇",desc: "探讨应对气候变化的复杂性,强调全球合作,突出应对挑战所蕴含的机遇。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044956_thumb.jpg",title: "虚拟现实与医疗保健的交汇:革命性地改变患者护理",desc: "介绍虚拟现实技术如何在医疗领域革命性地改善患者护理和治疗方法。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044607_thumb.jpg",title: "生物工程的突破:改变医学和人类增强的科技",desc: "研究生物工程领域的创新,关注其在医学和人类增强领域的重要作用。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045083_thumb.jpg",title: "社交媒体的演进及其对沟通和社会的影响",desc: "追溯社交媒体的发展历程,探讨其对人际沟通和社会动态的广泛影响。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044643_thumb.jpg",title: "元宇宙时代:在工作、教育和娱乐的虚拟世界中导航",desc: "介绍元宇宙时代,强调虚拟世界在工作、教育和娱乐中的多样应用。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679044936_thumb.jpg",title: "通用人工智能:人类是否准备好面对超智能机器?",desc: "研究通用人工智能的发展,引发思考人类面对超级智能机器的准备程度。"},{imgUrl: "https://www.logosc.cn/uploads/resources/2023/03/17/1679045159_thumb.jpg",title: "超越火星:人类太空探索和星际旅行的未来",desc: "展望人类在太空探索领域的未来,探讨星际旅行的潜力和挑战。"}
];
/* 初始化每一列的数据 */
for (let i = 1; i <= flowData.column; i++) {flowData[`column_${i}`] = [];
}
/* 生命周期函数-实例被挂载后调用 */
onMounted(() => {initValue(0);
});
/* 计算列宽 */
const widthCalc = computed(() => {return `${100 / flowData.column - flowData.columnSpace}%`;
});
/* 计算 margin 外边距 */
const marginCalc = computed(() => {const columnWidth = 100 / flowData.column - flowData.columnSpace;return `${(100 - columnWidth.toFixed(5) * flowData.column) / (flowData.column - 1)}%`;
});
/* 获取最小值的对象 */
const getMinObj = (a, s) => {let m = a[0][s];let mo = a[0];for (let i = a.length - 1; i >= 0; i--) {if (a[i][s] < m) m = a[i][s];}mo = a.filter(i => i[s] === m);return mo[0];
};
/* 计算每列的高度 */
function getMinColumnHeight() {return new Promise(resolve => {const heightArr = [];for (let i = 1; i <= flowData.column; i++) {uni.createSelectorQuery().in(_this).select(`#cont_${i}`).boundingClientRect(res => {heightArr.push({ column: i, height: res.height });}).exec(() => {if (flowData.column <= heightArr.length) {resolve(getMinObj(heightArr, "height"));}});}});
}
/* 初始化瀑布流数据 */
async function initValue(i) {if (i >= flowData.list.length) return false;const minHeightRes = await getMinColumnHeight();flowData[`column_${minHeightRes.column}`].push({...flowData.list[i],index: i});
}
/* 图片加载完成 */
function imgLoad(item) {const i = item.index;initValue(i + 1); // 加载下一条数据
}
/* 图片加载失败 */
function imgError(item) {const i = item.index;initValue(i + 1); // 加载下一条数据
}
</script><style lang="scss" scoped>
.container {padding: 20rpx;.cont-box {$borderRadius: 12rpx;float: left;.item-box {width: 100%;padding-bottom: 20rpx;margin-bottom: 30rpx;border-radius: $borderRadius;box-shadow: 0rpx 3rpx 6rpx rgba(0, 46, 37, 0.08);.img-tip {width: 100%;border-radius: $borderRadius $borderRadius 0 0;}.tit-tip {text-align: justify;font-size: 30rpx;padding: 10rpx 20rpx 0;font-weight: 900;}.desc-tip {text-align: justify;font-size: 26rpx;padding: 5rpx 20rpx 0;margin-top: 10rpx;}}}
}
/* 多行省略 */
.multi-line-omit {word-break: break-all; // 允许单词内自动换行,如果一个单词很长的话text-overflow: ellipsis; // 溢出用省略号显示overflow: hidden; // 超出的文本隐藏display: -webkit-box; // 作为弹性伸缩盒子模型显示-webkit-line-clamp: 2; // 显示的行-webkit-box-orient: vertical; // 设置伸缩盒子的子元素排列方式--从上到下垂直排列
}
/* 单行省略 */
.one-line-omit {width: 100%; // 宽度100%:1vw等于视口宽度的1%;1vh等于视口高度的1%white-space: nowrap; // 溢出不换行overflow: hidden; // 超出的文本隐藏text-overflow: ellipsis; // 溢出用省略号显示
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/107256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Ant的安装

介绍 Apache Ant是一个Java库和一个 命令行工具&#xff0c;可以用来构建Java应用。Ant提供了许多内置的任务&#xff08;tasks&#xff09;&#xff0c;可以编译、组装、测试、运行Java应用。Ant也可以构建非Java应用&#xff0c;例如C、C应用。 Ant非常灵活&#xff0c;没有…

GitHub Action 通过SSH 自动部署到云服务器上

准备 正式开始之前&#xff0c;你需要掌握 GitHub Action 的基础语法&#xff1a; workflow &#xff08;工作流程&#xff09;&#xff1a;持续集成一次运行的过程&#xff0c;就是一个 workflow。name: 工作流的名称。on: 指定次工作流的触发器。push 表示只要有人将更改推…

Vue鼠标右键画矩形和Ctrl按键多选组件

效果图 说明 下面会贴出组件代码以及一个Demo&#xff0c;上面的效果图即为Demo的效果&#xff0c;建议直接将两份代码拷贝到自己的开发环境直接运行调试。 组件代码 <template><!-- 鼠标画矩形选择对象 --><div class"objects" ref"objectsR…

42.会话划分问题求解(打标)

思路分析&#xff1a; &#xff08;1&#xff09;为每一次浏览找到他的上一次浏览时间 lag(view_timestamp, 1, 0) over(partition by user_id order by view_timestamp) as last_view_timestamp &#xff08;2&#xff09;为&#xff1e;60s的设置一个初始会话的标签flagif(vi…

ArcGIS笔记6_绘制中间镂空的面要素、面要素抠洞

本文目录 前言Step 1 对海湾大整面和零散的岛屿分别绘制面要素Step 2 利用[擦除]工具从海湾大整面中抠掉零散的岛屿 前言 使用ArcGIS做项目时&#xff0c;很多场景下都需要绘制中间镂空的面要素&#xff0c;比如一个海湾中间有许多零散的岛屿&#xff0c;计算水域面积时就要扣…

ant design pro v6如何引入第三方js?如腾讯地图等!

由于ant pro隐藏.html&#xff0c;需要通过他们约定的方式引入即可。 1.配置config文件 /config/config.tsheadScripts: [// 解决首次加载时白屏的问题{ src: /scripts/loading.js, async: true },{ src: "https://map.qq.com/api/gljs?v1.exp&keyOB4BZ-D4W3U-B7VV…

企业如何凭借软文投放实现营销目标?

数字时代下&#xff0c;软文投放成为许多企业营销的主要方式&#xff0c;因为软文投放成本低且效果持续性强&#xff0c;最近也有不少企业来找媒介盒子进行软文投放&#xff0c;接下来媒介盒子就来给大家分享下&#xff0c;企业在软文投放中需要掌握哪些技巧&#xff0c;才能实…

MTK6877/MT6877天玑900安卓5G核心板_安卓开发板主板定制开发

2021年5月13日&#xff0c;MediaTek 宣布发布旗下的天玑900系列芯片&#xff0c;又名MT6877。天玑900基于6nm先进工艺制造&#xff0c;搭载硬件级4K HDR视频录制引擎&#xff0c;支持1.08亿像素摄像头、5G双全网通和Wi-Fi 6连接、旗舰级存储规格和120Hz的FHD超高清分辨率显示&a…

第五十六章 学习常用技能 - 执行 SQL 查询

文章目录 第五十六章 学习常用技能 - 执行 SQL 查询执行 SQL 查询检查对象属性 第五十六章 学习常用技能 - 执行 SQL 查询 执行 SQL 查询 要运行 SQL 查询&#xff0c;请在管理门户中执行以下操作&#xff1a; 选择系统资源管理器 > SQL。如果需要&#xff0c;请选择标题…

数据在内存中的存储(2)

文章目录 3. 浮点型在内存中的存储3.1 一个例子3.2 浮点数存储规则 3. 浮点型在内存中的存储 常见的浮点数&#xff1a; 3.14159 1E10 ------ 1.0 * 10^10 浮点数家族包括&#xff1a; float、double、long double 类型 浮点数表示的范围&#xff1a;float.h中定义 3.1 一个例…

mask-R-CNN

前言 代码 论文 # Mask-rcnn 算法在 torch vision 中有直接实现&#xff0c;可以直接引用使用在自己的工作中。 import torchvision model torchvision.models.detection.maskrcnn_resnet50_fpn(weightsMaskRCNN_ResNet50_FPN_Weights.DEFAULT)Mask R-CNN&#xff08;Mask R…

yolov8如何进行训练验证推理

1、新建脚本main.py&#xff0c;也可以建一个yaml文件&#xff08;避免改到default.yaml&#xff09;&#xff0c;这个yaml文件是在训练时用到 batchsize什么的都可以在yaml文件改&#xff0c;这俩东西不用填 2、两种训练的方法&#xff0c;用的时候可以注释掉其他 from u…

AI Web3 盛会「EDGE」在港闭幕,融云国际影响力持续提升

&#x1f446;点击报名「爱嗨游」线上发布会 9 月 25 日至 27 日&#xff0c;全球规模最大的 AI & Web3 投资盛会——EDGE 峰会在中国香港举办&#xff0c;融云作为战略合作伙伴与来自世界各地的企业家、投资人、学者和热门项目方一同完成了这一盛会。关注【融云全球互联网…

vmware ubuntu 虚拟机 网卡图片消失处理办法

如图&#xff0c;这个图标消失处理办法&#xff1a; 输入如下指令&#xff1a;sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service network-manager start

在进行自动化测试,遇到验证码的问题,怎么办?

1.找开发去掉验证码或者使用万能验证码 2.使用OCR自动识别 使用OCR自动化识别&#xff0c;一般识别率不是太高&#xff0c;处理一般简单验证码还是没问题 这里使用的是Tesseract-OCR,下载地址&#xff1a;https://github.com/A9T9/Free-Ocr-Windows-Desktop/releases 怎么使…

VR、AR、MR、XR到底都是什么?有什么区别

目录 VRARMRXRAR、VR、MR、XR的区别 VR 英&#xff1a;Virtual Reality 中文翻译&#xff1a;虚拟现实 又称计算机模拟现实。是指由计算机生成3D内容&#xff0c;为用户提供视觉、听觉等感官来模拟现实&#xff0c;具有很强的“临场感”和“沉浸感”。我们可以使用耳机、控制器…

“零代码”能源管理平台:智能管理能源数据

随着能源的快速增长&#xff0c;有效管理和监控能源数据变得越来越重要。为了帮助企业更好的管理能源以及降低能源成本&#xff0c;越来越多的能源管理平台出现在市面上。 “零代码”形式的能源管理平台&#xff0c;采用IT与OT深度融合为理念&#xff0c;可进行可视化、拖拽、…

从零到一完成Midway.js登录、注册、鉴权功能

您好&#xff0c;如果喜欢我的文章&#xff0c;可以关注我的公众号「量子前端」&#xff0c;将不定期关注推送前端好文~ 前言 本文将从项目搭建到实现从零到一开发一个登录、注册、鉴权的简易版注册登录系统&#xff0c;主要功能和技术选型如下&#xff1a; 服务端框架———…

【学习之路】Multi Agent Reinforcement Learning框架与代码

【学习之路】Multi Agent Reiforcement Learning框架与代码 Introduction 国庆期间&#xff0c;有个客户找我写个代码&#xff0c;是强化学习相关的&#xff0c;但我没学过&#xff0c;心里那是一个慌&#xff0c;不过好在经过详细的调研以及自身的实力&#xff0c;最后还是解…

安装程序2502/2503错误的解决方法

Windows Installer是在Windows 2000时提出&#xff0c;作为微软操作系统中的安装程序开发标准的操作系统服务。它可以支持安装程序所需要的许多功能&#xff0c;并且可以支持交易式安装&#xff08;Committable Installation&#xff09;&#xff0c;当安装程序发现错误或问题时…