vue写车牌号 自定义键盘

vue写车牌号自定义键盘

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<template><div><div class="content-wrapper"><div class="content-top-wrapper"><van-radio-group v-model="radioCarType"><van-radio name="1">蓝牌<imgslot="icon"slot-scope="props":src="props.checked ? radioImg[1] : radioImg[0]"/></van-radio><van-radio name="2">绿牌<imgslot="icon"slot-scope="props":src="props.checked ? radioImg[1] : radioImg[0]"/></van-radio><van-radio name="3">黄牌<imgslot="icon"slot-scope="props":src="props.checked ? radioImg[1] : radioImg[0]"/></van-radio></van-radio-group></div><div class="content-middle-wrapper"><div class="content-car-number"><div class="content-section"><div class="content-section-flex flex-card"><div class="content-section-flex flex-card-border"><buttonid="font"class="flex-btn"@click="btnClickYue"v-bind:class="{ isClick: isYue }">{{ areaName }}</button><span class="blank-border blank-border-first"></span><buttonid="letter"class="flex-btn"@click="btnClickA"v-bind:class="{ isClick: isA }">{{ areaLetter }}</button><div class="flex-mid"><span></span></div><div class="flex-btns"><buttonid="numOne"@click="btnClickNum('one')"v-bind:class="{ isNumClick: isNumOne }">{{ numOne }}</button><span class="blank-border"></span><buttonid="numTwo"@click="btnClickNum('two')"v-bind:class="{ isNumClick: isNumTwo }">{{ numTwo }}</button><span class="blank-border"></span><buttonid="numThree"@click="btnClickNum('three')"v-bind:class="{ isNumClick: isNumThree }">{{ numThree }}</button><span class="blank-border"></span><buttonid="numFour"@click="btnClickNum('four')"v-bind:class="{ isNumClick: isNumFour }">{{ numFour }}</button><span class="blank-border"></span><buttonid="numFive"@click="btnClickNum('five')"v-bind:class="{ isNumClick: isNumFive }">{{ numFive }}</button><span class="blank-border" v-if="radioCarType == '2'"></span><buttonv-if="radioCarType == '2'"id="numSix"@click="btnClickNum('six')"v-bind:class="{ isNumClick: isNumSix }">{{ numSix }}</button></div></div></div></div></div></div></div><button class="band-btn" :disabled="!checked" @click="bindCar">立即绑定</button><div class="shadow" v-if="keyboardShow" @click="completeClick"></div><divclass="keyboard"v-if="keyboardShow":class="{ animationDown: isDown, animationUp: isUp }"><button class="btn-complete" @click="completeClick"><span>完成</span></button><div v-if="keyboard == 'txt'"><div class="keyboard-row" v-for="(item, rows) in carTxt" :key="rows"><buttonclass="keyboard-row-item"v-for="(i, index) in item.name":key="index"@click="btnWordClick(rows, index, i)">{{ i }}</button></div><div class="keyboard-row"><buttonclass="keyboard-row-item bottom"@click="btnBottomClick('新')">新</button><buttonclass="keyboard-row-item bottom"@click="btnBottomClick('使')">使</button><button v-for="j in noneBottomtxt" :key="j" class="none-botton">{{ j }}</button><div class="keyboard-row-item clear" @click="clearClick"><img src="./images/icon_input_delete.png" alt="删除" /></div></div></div><div v-if="keyboard == 'num'"><div class="keyboard-row" v-for="(item, rows) in carNum" :key="rows"><button:disabled="!isSelectl ? isDisable && i < 10 : isDisable && rows != 0"class="keyboard-row-item"v-for="(i, index) in item.name":key="index"@click="btnWordClick(rows, index, i)">{{ i }}</button></div><div class="keyboard-row"><button:disabled="isSelectl"v-for="(item, index) in carNumBottom":key="index"class="keyboard-row-item bottom"@click="btnBottomNumClick(item)">{{ item }}</button><button v-for="j in noneBottom" :key="j" class="none-botton">{{ j }}</button><div class="keyboard-row-item clear" @click="clearClick"><img src="./images/icon_input_delete.png" alt="删除" /></div></div></div></div></div>
</template><script>
export default {data() {return {num: "",radioCarType: "1", // 单选radioImg: [require("./images/radio0.png"),require("./images/radio1.png"),require("./images/checked1.png"),require("./images/checked0.png"),], //单选图标checked: true, //协议复选框isAble: false, //发送控制,province: "浙", //省份简称plateNumber: "", //默认显示Echeckbox: false,isDown: false,isUp: false,selected: null,isSelectx: false,isSelectl: false,key: "1",areaName: "",areaLetter: "",numOne: "",numTwo: "",numThree: "",numFour: "",numFive: "",numSix: "",isYue: false,keyboardShow: false,keyboard: false,isA: false,isNumOne: false,isNumTwo: false,isNumThree: false,isNumFour: false,isNumFive: false,isNumSix: false,isDisable: false,carTxt: [{name: ["粤", "京", "冀", "沪", "津", "晋", "蒙", "辽", "吉", "黑"],},{name: ["苏", "浙", "皖", "闽", "赣", "鲁", "豫", "鄂", "湘", "桂"],},{name: ["琼", "渝", "川", "贵", "云", "藏", "陕", "甘", "青", "宁"],},],carNumBottom: ["W", "X", "Y", "Z"],noneBottom: ["", "", "", ""],noneBottomtxt: ["", "", "", "", "", ""],carNum: [{name: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"],},{name: ["A", "B", "C", "D", "E", "F", "G", "H", "J", "K"],},{name: ["L", "M", "N", "P", "Q", "R", "S", "T", "U", "V"],},],};},beforeCreate() {document.querySelector("body").setAttribute("style", "background: #f5f5f5 !important");},destroyed() {document.querySelector("body").setAttribute("style", "background: #fff");},mounted() {this.isYue = true;this.isA = false;this.isUp = true;this.isNumOne = false;this.isNumTwo = false;this.isNumThree = false;this.isNumFour = false;this.isNumFive = false;this.isNumSix = false;this.keyboardShow = true;this.keyboard = "txt";this.key = 1;},watch: {radioCarType(news) {if (news) {this.isYue = false;this.keyboardShow = false;this.keyboard = false;this.key = "1";this.areaName = "";this.areaLetter = "";this.numOne = "";this.numTwo = "";this.numThree = "";this.numFour = "";this.numFive = "";this.numSix = "";this.isNumOne = false;this.isNumTwo = false;this.isNumThree = false;this.isNumFour = false;this.isNumFive = false;this.isNumSix = false;}},},methods: {// 车牌号第一位输入框选择btnClickYue() {this.isYue = true;this.isA = false;this.isUp = true;this.isNumOne = false;this.isNumTwo = false;this.isNumThree = false;this.isNumFour = false;this.isNumFive = false;this.isNumSix = false;this.keyboardShow = true;this.keyboard = "txt";this.key = 1;},// 键盘选择显示btnWordClick(rows, index, i) {this.selected = i;if (this.key === 1) {this.areaName = i;this.isSelectl = false;document.getElementById("letter").click();} else if (this.key === 2) {this.areaLetter = i;document.getElementById("numOne").click();} else if (this.key === 3) {this.numOne = i;document.getElementById("numTwo").click();} else if (this.key === 4) {this.numTwo = i;document.getElementById("numThree").click();} else if (this.key === 5) {this.numThree = i;document.getElementById("numFour").click();} else if (this.key === 6) {this.numFour = i;document.getElementById("numFive").click();} else if (this.key === 7) {this.numFive = i;if (this.radioCarType == "2") {document.getElementById("numSix").click();}} else if (this.key === 8) {this.numSix = i;}if ((this.key === 7 || this.key === 8) && this.radioCarType != "2") {this.carNumBottom = ["W", "X", "Y", "Z", "港", "澳", "学", "警", "领"];this.noneBottom = [];} else if (this.key === 3 ||this.key === 4 ||this.key === 5 ||this.key === 6) {this.carNumBottom = ["W", "X", "Y", "Z"];this.noneBottom = ["", "", "", ""];} else if (this.radioCarType == "2" && this.key === 2) {this.carNumBottom = ["W", "X", "Y", "Z"];this.noneBottom = ["", "", "", ""];}},// 车牌第一位选择‘临’,’新‘后的键盘显示btnBottomClick(val) {this.areaName = val;this.isSelectx = true;this.isSelectl = false;document.getElementById("letter").click();},// 键盘最后一行字母点击事件btnBottomNumClick(i) {this.selected = i;if (this.key === 2) {this.areaLetter = i;document.getElementById("numOne").click();} else if (this.key === 3) {this.numOne = i;document.getElementById("numTwo").click();} else if (this.key === 4) {this.numTwo = i;document.getElementById("numThree").click();} else if (this.key === 5) {this.numThree = i;document.getElementById("numFour").click();} else if (this.key === 6) {this.numFour = i;document.getElementById("numFive").click();} else if (this.key === 7) {this.numFive = i;if (this.radioCarType == "2") {document.getElementById("numSix").click();}} else if (this.key === 8) {this.numSix = i;}},// 车牌号第二位输入框选择btnClickA() {this.isDisable = true;this.isA = true;this.isYue = false;this.isUp = true;this.isNumOne = false;this.isNumTwo = false;this.isNumThree = false;this.isNumFour = false;this.isNumFive = false;this.isNumSix = false;this.keyboardShow = true;this.keyboard = "num";this.key = 2;},// 车牌号后五位或六位输入框选择btnClickNum(name) {if (this.isSelectl) {this.isDisable = true;} else {this.isDisable = false;}this.keyboard = "num";this.keyboardShow = true;this.isYue = false;this.isA = false;this.isNumOne = false;this.isNumTwo = false;this.isNumThree = false;this.isNumFour = false;this.isNumFive = false;this.isNumSix = false;this.isUp = true;if (name === "one") {this.isNumOne = true;this.key = 3;} else if (name === "two") {this.isNumTwo = true;this.key = 4;} else if (name === "three") {this.isNumThree = true;this.key = 5;} else if (name === "four") {this.isNumFour = true;this.key = 6;} else if (name === "five") {this.isNumFive = true;this.key = 7;} else if (name === "six") {this.isNumSix = true;this.key = 8;}if ((name === "five" || name === "six") && this.radioCarType != "2") {this.carNumBottom = ["W", "X", "Y", "Z", "港", "澳", "学", "警", "领"];this.noneBottom = [];} else {this.carNumBottom = ["W", "X", "Y", "Z"];this.noneBottom = ["", "", "", ""];}},// 键盘点击‘完成’completeClick() {this.isYue = false;this.isA = false;this.isNumOne = false;this.isNumTwo = false;this.isNumThree = false;this.isNumFour = false;this.isNumFive = false;this.isNumSix = false;this.isUp = false;this.isDown = true;this.keyboardShow = false;},// 键盘点击‘删除图标’clearClick() {if (this.key === 1) {this.areaName = "";} else if (this.key === 2) {document.getElementById("font").click();this.areaLetter = "";} else if (this.key === 3) {document.getElementById("letter").click();this.numOne = "";} else if (this.key === 4) {document.getElementById("numOne").click();this.numTwo = "";} else if (this.key === 5) {document.getElementById("numTwo").click();this.numThree = "";} else if (this.key === 6) {document.getElementById("numThree").click();this.numFour = "";} else if (this.key === 7) {document.getElementById("numFour").click();this.numFive = "";} else if (this.key === 8) {document.getElementById("numFive").click();this.numSix = "";}},// 绑定车牌bindCar() {if (this.radioCarType != "2") {if (this.areaName === "" ||this.areaLetter === "" ||this.numOne === "" ||this.numTwo === "" ||this.numThree === "" ||this.numFour === "" ||this.numFive === "") {this.$toast("请输入完整车牌");return false;}this.num =this.areaName +this.areaLetter +this.numOne +this.numTwo +this.numThree +this.numFour +this.numFive;} else {if (this.areaName === "" ||this.areaLetter === "" ||this.numOne === "" ||this.numTwo === "" ||this.numThree === "" ||this.numFour === "" ||this.numFive === "" ||this.numSix === "") {this.$toast("请输入完整车牌");return false;}this.num =this.areaName +this.areaLetter +this.numOne +this.numTwo +this.numThree +this.numFour +this.numFive +this.numSix;}},},
};
</script><style lang="scss" scoped>
.content-wrapper {width: 100%;height: auto;background-color: #fff;margin-top: 0.2rem;
}.content-top-wrapper {height: 0.96rem;padding: 0 0.3rem;font-size: 0.32rem;color: #212121;border-bottom: 1px solid #f5f5f5;
}.content-top-wrapper img {width: 0.34rem;height: 0.34rem;vertical-align: initial;
}.van-radio-group {width: 80%;height: 100%;display: flex;justify-content: space-between;align-items: center;
}
.shadow {width: 100vw;height: 100vh;position: fixed;top: 0;left: 0;z-index: 9;background: rgba(000,000,000,0);
}
.content-middle-wrapper {width: 100%;height: 1.4rem;border-bottom: 10px solid #f5f5f5;padding: 0 0.15rem;
}.plate-number-box {width: 100%;height: 1rem;padding-top: 0.4rem;
}.province-box {width: 0.6rem;height: 0.6rem;position: relative;
}.province-box .province-show {width: 100%;height: 100%;position: absolute;border-bottom: 1px solid #c7c7c7;top: 0;left: 0;display: flex;justify-content: center;align-items: center;font-size: 0.36rem;
}.province-box input {width: 100%;height: 100%;opacity: 0;
}.plateNumber-box {width: calc(100% - 0.7rem);height: 0.6rem;position: relative;overflow: hidden;
}.plateNumber-box input {width: 200%;height: 100%;opacity: 0;color: transparent;text-indent: -999em;margin-left: -100%;
}.plateNumber-box .plateNumber-show {width: 100%;height: 100%;position: absolute;top: 0;left: 0;display: flex;justify-content: space-around;align-items: center;
}.plateNumber-show div {width: 10%;height: 0.6rem;border-bottom: 1px solid #c7c7c7;display: flex;justify-content: center;align-items: center;font-size: 0.3rem;
}.plateNumber-show div.new-powwer {width: 0.85rem;font-size: 0.24rem;color: #999;
}.van-checkbox__label {margin-left: 2px !important;
}.band-btn {width: 7rem;height: 0.88rem;background-color: #12b7f5;color: #fff;display: flex;justify-content: center;align-items: center;margin: 0.5rem auto;font-size: 0.32rem;border: none;border-radius: 0.04rem;
}.band-btn:disabled {background-color: #bbb;
}.auth-code {width: 4rem;height: 100%;font-size: 0.28rem;
}.send-btn {width: 1.52rem;height: 0.6rem;border-radius: 0.04rem;border: 0.02rem solid #12b7f5;position: absolute;right: 0.3rem;top: 0;bottom: 0;margin: auto;font-size: 0.24rem;color: #12b7f5;display: flex;justify-content: center;align-items: center;
}.send-btn:disabled {border-color: #999;color: #999999;
}.provinceData-wrapper {width: 7rem;height: 4rem;
}.provinceData {width: 100%;height: 100%;padding: 0.33rem 0.1rem 0.2rem 0.14rem;
}.province-btn {width: 0.6rem;height: 0.7rem;display: flex;justify-content: center;align-items: center;border: 1px solid #b5b5b5;border-radius: 0.04rem;font-size: 0.28rem;margin-left: 0.11rem;margin-bottom: 0.15rem;border-radius: 0.1rem;
}.area-wrapper {width: 100%;height: auto;padding: 0.3rem;background-color: #fff;margin-top: 0.2rem;
}.area-wrapper .title {font-size: 0.26rem;margin-bottom: 0.3rem;
}.menu-wrapper {width: 76%;height: 0.68rem;display: flex;align-items: center;justify-content: space-between;
}.menu-wrapper .menu {width: 2.16rem;height: 0.68rem;color: #333333;border: 1px solid #cecccc;border-radius: 0.08rem;font-size: 0.24rem;display: flex;align-items: center;justify-content: center;
}
.menu-wrapper .menu.active {border-color: #12b7f5;background-color: #ebf9fe;color: #12b7f5;
}
.content-car-number {padding-top: 0.1rem;
}.content-car-number .car-content-title {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;padding: 0 0.32rem;margin-bottom: 0.16rem;
}.content-car-number .car-content-title span {font-size: 0.34rem;
}.content-car-number .car-content-title .ze-checkbox {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;
}.content-car-number .car-content-title .ze-radio-text {font-size: 0.28rem;
}.content-car-number .car-content-title .ze-checkbox-icon {color: #ffedb1 !important;margin-right: 0.08rem;
}.content-car-number .content-section .content-section-flex {width: 100%;height: 100%;display: -webkit-box;display: -ms-flexbox;display: flex;justify-content: space-evenly;align-items: center;font-size: 0.32rem;
}.content-car-number .content-section .content-section-flex .blank-border {height: 0.44rem;width: 1px;/*no*/border-right: 1px solid #ddd;/*no*/margin-top: 0.22rem;/* margin-left: -0.15rem; */z-index: 1;
}.content-car-number.content-section.content-section-flex.blank-border.blank-border-first {margin-top: 0;
}.content-car-number .content-section .content-section-flex.flex-card {color: #000;
}.content-car-number .content-section .content-section-flex.flex-card .flex-btn {width: 0.88rem;height: 0.88rem;border: none;text-align: center;background: #fff;font-size: 0.32rem;color: #000;
}.content-car-number.content-section.content-section-flex.flex-card.flex-btns {display: flex;background: #fff;position: relative;height: 0.88rem;
}.content-car-number.content-section.content-section-flex.flex-card.flex-btnsbutton {width: 0.78rem;height: 0.88rem;border: none;font-size: 0.32rem;color: #000;border-radius: 50%;background: transparent;z-index: 2;position: relative;
}.content-car-number.content-section.content-section-flex.flex-card.flex-btnsbutton:first-child {margin-left: 0;
}.content-car-number .content-section .content-section-flex.flex-card .flex-mid {margin: 0 0.05rem;
}.content-car-number.content-section.content-section-flex.flex-card.flex-midspan {display: block;width: 0.1rem;height: 0.1rem;border-radius: 20rem;background: #ddd;
}.content-car-number .content-section .content-section-flex.flex-card .isClick {border: 1px solid #12b7f5;/*no*/z-index: 50;border-radius: 0.08rem;
}.content-car-number.content-section.content-section-flex.flex-card.isNumClick {border-radius: 0.08rem !important;border: 1px solid #12b7f5 !important;/*no*/z-index: 10;background-color: #fff !important;
}.content-car-number .content-section .content-section-flex .flex-card-border {border: 1px solid #ddd;/*no*/border-radius: 0.08rem;
}.keyboard {width: 100%;height: 5.3rem;position: fixed;bottom: -5rem;background: #eeeeee;z-index: 10;
}.keyboard.animationDown {-webkit-animation: slide_dowms 0.3s ease-out;animation: slide_dowms 0.3s ease-out;-webkit-animation-fill-mode: forwards;animation-fill-mode: forwards;
}.keyboard.animationUp {-webkit-animation: slide_ups 0.3s ease-out;animation: slide_ups 0.3s ease-out;-webkit-animation-fill-mode: forwards;animation-fill-mode: forwards;box-shadow: 1px 0 5px #cccccc;
}.keyboard .btn-complete {height: 0.9rem;text-align: center;color: #12b7f5;font-size: 0.3rem;width: 100%;background: #fff;border: none;border-top: 1px solid #eee;margin-bottom: 0.3rem;
}.keyboard .keyboard-row {margin-top: 0.2rem;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;padding: 0 0.08rem;color: #333;
}.keyboard .keyboard-row:first-child {margin-top: 0;
}.keyboard .keyboard-row .keyboard-row-items {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: left;-ms-flex-pack: left;justify-content: left;
}.keyboard .keyboard-row .keyboard-row-bottom {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;
}.keyboard .keyboard-row .keyboard-row-item {width: 0.66rem;height: 0.8rem;background: #fff;font-size: 0.34rem;border: 1px solid #ccc;line-height: 0.8rem;border-radius: 0.1rem;color: #333;
}.keyboard-row-item:disabled {opacity: 0.7;
}.keyboard .keyboard-row .keyboard-row-item.bottom {height: 0.8rem;width: 0.66rem;line-height: 0.8rem;background: #fff;color: #333;/*margin-right: 0.08rem;*/
}.keyboard .keyboard-row .keyboard-row-item.clear {width: 1rem;height: 0.8rem;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;
}.keyboard .keyboard-row .keyboard-row-item.clear img {width: 0.62rem;
}.keyboard .keyboard-row .none-botton {border: none;height: 0.8rem;width: 0.66rem;visibility: hidden;
}.keyboard button:active {background: #f4f4f4 !important;color: #999 !important;
}@-webkit-keyframes slide_ups {from {bottom: -5rem;}to {bottom: 0;}
}@keyframes slide_ups {from {bottom: -5rem;}to {bottom: 0;}
}@-webkit-keyframes slide_dowms {from {bottom: 0;}to {bottom: -5rem;}
}@keyframes slide_dowms {from {bottom: 0;}to {bottom: -5rem;}
}
</style>

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

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

相关文章

什么是渲染?一文看懂,萌新赶紧收藏码住!

十四五规划提出“加快数字化发展&#xff0c;建设数字中国”&#xff0c;数字技术的快速发展&#xff0c;从起初的内容创建到最终的效果呈现&#xff0c;都离不开渲染技术。目前&#xff0c;渲染技术被广泛应用于教育、医疗、影视动画、建筑设计等多个领域。它能有效满足用户对…

Java版企业工程项目管理系统源码+java版本+项目模块功能清单+spring cloud +spring boot

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

ArcGIS、ENVI、InVEST、FRAGSTATS等多技术提升数据分析能力

专题一、空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门 1.5 Geodatabase地理数据库 专题二、ArcGIS专题地图制作 2.1专题地图制作规范 2.2 空间数据的准备与处理 2.3 空间数据可视化&#xff1a;地图符号与…

在第二代SpringCloud中配置网关组件

我们接着上次的微服务的项目继续搭建网关组件: 搭建微服务项目 前提准备: 1.打开nacos服务注册中心,在浏览器通过这地址访问 http://10.48.185.7:8848/nacos/index.html 2.启动page和product的微服务 1.新建一个网关的项目 2.导入pom依赖 <!-- Spring Boot父启动器…

DBeaver连接华为高斯数据库 DBeaver连接Gaussdb数据库 DBeaver connect Gaussdb

DBeaver连接华为高斯数据库 DBeaver连接Gaussdb数据库 DBeaver connect Gaussdb 一、概述 华为GaussDB出来已经有一段时间&#xff0c;最近工作中刚到Gauss数据库。作为coder&#xff0c;那么如何通过可视化工具来操作Gauss呢&#xff1f; 本文将记录使用免费、开源的DBeaver来…

云迁移第二波热潮来袭,你准备好了吗?

最近&#xff0c;云迁移再次被频繁提及&#xff0c;企业对云迁移的需求量有回升趋势&#xff0c;究其根本&#xff0c;主要有以下原因&#xff1a; 企业数字化进程加速&#xff0c;本地上云需求强劲 根据《2021中国企业上云指数洞察报告》&#xff0c;我国实体经济上云渗透率…

Appium+Python+PO 设计模式

目录 前言&#xff1a; 什么是 PageObject? 关于报告的输出 总结 前言&#xff1a; Appium是一个用于自动化移动应用程序测试的开源工具&#xff0c;Python是一种简单易学且功能强大的编程语言&#xff0c;PO&#xff08;Page Object&#xff09;设计模式是一种在自动化测…

使用shell监控应用运行状态通过企业微信接收监控通知

目的&#xff1a;编写shell脚本来监控应用服务运行状态&#xff0c;若是应用异常则自动重启应用通过企业微信接收监控告警通知 知识要点&#xff1a; 使用shell脚本监控应用服务使用shell脚本自动恢复异常服务通过企业微信通知接收监控结果shell脚本使用数组知识&#xff0c;…

session 生命周期和经典案例-防止非法进入管理页面

文章目录 session 生命周期和Session 经典案例-防止非法进入管理页面session 生命周期Session 生命周期-说明代码演示说明 Session 的生命周期创建CreateSession2创建ReadSession2 解读Session 的生命周期代码示例创建DeleteSession Session 经典案例-防止非法进入管理页面需求…

bgp联邦

1、ip配置 [r1-LoopBack0]ip address 192.168.1.1 24 [r1-LoopBack1]ip address 10.0.0.1 24 [r1-GigabitEthernet0/0/0]ip address 12.0.0.1 24[r2-GigabitEthernet0/0/0]ip address 12.0.0.2 24 [r2-GigabitEthernet0/0/1]ip address 172.16.1.1 29 [r2-GigabitEthernet0/0/…

【从零开始学习CSS | 第三篇】选择器优先级

目录 前言&#xff1a; 常见选择器的优先级&#xff08;从高到低&#xff09; 选择器的权重&#xff1a; 总结&#xff1a; 前言&#xff1a; 在前几篇文章中我们介绍了大量的选择器&#xff0c;那么大量的选择器在使用的时候&#xff0c;一定是有一个优先级顺序的&#xff…

【计算机视觉】DINOv2(视觉大模型)代码使用和测试(完整的源代码)

文章目录 一、环境部署二、导入原图2.1 使用vit_s14的模型 三、使用其他模型3.1 使用vit_b14的模型3.2 使用vit_l14的模型3.3 使用vit_g14的模型 一、环境部署 !git clone https://ghproxy.com/https://github.com/facebookresearch/dinov2.git输出为&#xff1a; Cloning in…

DT灯光基础(辉光 雾 阴影 渲染选项)

点光源 不能宣染&#xff0c;换个版本。不能正常预览 聚光灯 t 手柄 挡光版 平行光阴影 光线追踪阴影 没有看见阴影 灯光使用贴图 环境光 不进行渲染物体 不渲染阴影 接收阴影 不反射 可以看到反射 没有反射了 灯光链接 取消灯照 灯光雾 辉光 变化不明显

C++初阶 - 3.类和对象(中)

目录 1.类的6个默认成员函数 2.构造函数 2.2特性 3.析构函数 3.1 概念 3.2 特性 4. 拷贝构造函数 4.1 概念 4.2 特征 5.赋值运算符重载 5.1运算符重载 5.2 赋值运算符重载 5.3 前置和后置重载 6.日期类的实现 7.const成员 8.取地址及const取地址操作符重载 1.类…

FCOS 论文学习

1. 解决了什么问题&#xff1f; 之前的目标检测器如 RetinaNet、SSD、YOLOv3 都依赖于 anchors。基于 anchors 的检测器有如下三个缺点&#xff1a; 检测表现对于 anchors 的大小、宽高比和数量等超参数很敏感&#xff1b;即使精心设计了 anchors&#xff0c;但由于大小和宽高…

EasyCVR告警类型设置后首页需要刷新才能更新的问题优化

EasyCVR视频融合平台基于云边端一体化架构&#xff0c;可支持多协议、多类型设备接入&#xff0c;包括&#xff1a;NVR、IPC、视频编码器、无人机、车载设备、智能手持终端、移动执法仪等。平台具有强大的数据接入、处理及分发能力&#xff0c;可在复杂的网络环境中&#xff0c…

Zabbix 自动发现及注册

1、依次选择 Configuratio、Discovery、Create discovery rule&#xff08;配置、自动发现、创建发现规则&#xff09; 创建客户端发现规则 2、zabbix客户端安装 agent zabbix客户端一键安装脚本 脚本参考链接 #!/bin/bash #Zabbix-Agent 5.0Zabbix_Service192.168.63.20#安…

【PHP面试题44】PHP5的版本和PHP7之间有哪些区别

文章目录 一、前言二、底层调整2.1性能提升2.2 新的引擎2.3 数据类型改进2.4 错误处理改进2.5 语言特性增加 三、应用层差异3.1 兼容性3.2 类和方法改进3.3 错误处理机制3.4 性能优化3.5 新的扩展支持 四、一些语法糖示例4.1 标量类型声明示例4.2 新增了Spaceship操作符&#x…

win11中的pagefile.sys

在C盘系统下&#xff0c;有一个命名为pagefile.sys的文件占用C盘太大的空间&#xff0c;不少用户怕删除pagefile.sys文件之后会对系统造成影响&#xff0c;而不少用户想要将pagefile.sys文件移动到D盘中。那么pagefile.sys是什么文件&#xff1f;Win10系统下pagefile.sys文件太…

【C++】list的模拟实现

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…