element-ui 表格没有内容点击插入数据,有内容点击删除(vue)

记录一下,希望能够帮到大家。

界面1
界面2

在这里插入图片描述

<template>
  <div>
    <div class="tabs" style="display: flex;line-height: 20px">
      <button href="javascript:;" :class="{active: dialogFormVisible3}" @click="dialogFormVisible3=true" style="font-size: 18px!important;">单次流程</button>
      <button href="javascript:;" :class="{active: !dialogFormVisible3}" @click="dialogFormVisible3=false" style="font-size: 18px!important;">批量排课</button>
    </div>
    <div v-show="dialogFormVisible3" >
      <div style="margin:0.4rem 1rem;line-height: 40px;float: left">
        <el-dropdown @command="handleCommand" style="float: left">
                  <span class="el-dropdown-link">
                    选择教室<i class="el-icon-arrow-down el-icon--right"></i>
                  </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item command="404" divided>404教室</el-dropdown-item>
            <el-dropdown-item command="405" divided>405教室</el-dropdown-item>
            <el-dropdown-item command="406" divided>406教室</el-dropdown-item>
            <el-dropdown-item command="407" divided>407教室</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
        <el-button type="primary" style="float: left;margin-left: 6px">当前教室:{{houseid}}</el-button>

        <el-dropdown @command="handleCommand2" style="float: right;margin-right: 40px;">
                  <span class="el-dropdown-link">
                    选择学期<i class="el-icon-arrow-down el-icon--right"></i>
                  </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item command="2022年秋" divided>2022年秋</el-dropdown-item>
            <el-dropdown-item command="2023年春" divided>2023年春</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
        <el-button type="primary" style="float: right;margin-right: 10px;">当前学期:{{term}}</el-button>

        <br>

        <div>
          <el-select clearable v-model="form.teachid" placeholder="请选择教学班" style="width: 20%;float: left;margin: 10px 0;" @change="changeInfo">
            <el-option v-for="item in techids" :key="item.teachid" :label="item.teachid" :value="item.teachid"></el-option>
          </el-select>

          <el-button type="primary" class="ml-5" v-show="this.remindinfo!=''" style="float: left;margin: 10px 10px;">{{this.remindinfo.object}}</el-button>
        </div>

        <br>

        <div style="margin-top: 10px;float: left">
          <el-button type="primary" plain style="float: left;margin-right: 6px;" @click="changeleft">上一周 </el-button>
          <el-radio-group v-model="week" @change="changeAll" >
            <el-radio-button :label="1" >第1周</el-radio-button>
            <el-radio-button :label="2">第2周</el-radio-button>
            <el-radio-button :label="3">第3周</el-radio-button>
            <el-radio-button :label="4">第4周</el-radio-button>
            <el-radio-button :label="5">第5周</el-radio-button>
            <el-radio-button :label="6">第6周</el-radio-button>
            <el-radio-button :label="7">第7周</el-radio-button>
            <el-radio-button :label="8">第8周</el-radio-button>
            <el-radio-button :label="9">第9周</el-radio-button>
            <el-radio-button :label="10">第10周</el-radio-button>
            <el-radio-button :label="11">第11周</el-radio-button>
            <el-radio-button :label="12">第12周</el-radio-button>
          </el-radio-group>
          <el-button type="primary" plain style="margin-left: 0.1rem;" @click="changeright">下一周</el-button>
        </div>
      </div>
      <el-table :data="tableData2" border stripe header-cell-class-name="'headerBg'" @selection-change="handleSelectionChange" style="line-height: 10px" @cell-click="changeClick">
        <el-table-column prop="day" label="星期\节次" width="60"></el-table-column>
        <el-table-column prop="class1" label="第1-2节8:00-9:35" width="220" ></el-table-column>
        <el-table-column prop="class2" label="第3-5节9:50-12:15" width="220" ></el-table-column>
        <el-table-column prop="class3" label="第6-7节14:30-16:05" width="220"></el-table-column>
        <el-table-column prop="class4" label="第8-9节16:20-17:55" width="220"></el-table-column>
        <el-table-column prop="class5" label="第10-12节7:00-21:25"  width="220"></el-table-column>
      </el-table>

      <el-dialog title="课程信息" :visible.sync="dialogFormVisible" width="40%" style="line-height: 10px">
        <div v-show="form.teachid==null">抱歉,请先选择教学班</div>
        <div v-show="form.teachid!=null">
          <el-form label-width="70px" size="small" style="margin-bottom: 20px">
            你确定在此时间段排{{form.teachid}}教学班的课吗?
          </el-form>
          <div slot="footer" class="dialog-footer">
            <el-button @click="dialogFormVisible = false">取 消</el-button>
            <el-button type="primary" @click="save">确 定</el-button>
          </div>
        </div>
      </el-dialog>

      <el-dialog title="你确定删除吗" :visible.sync="dialogFormVisible2" width="40%" style="line-height: 10px">
        <el-button @click="dialogFormVisible2 = false">取 消</el-button>
        <el-button type="primary" @click="save2">确 定</el-button>
      </el-dialog>
    </div>
    
    <div v-show="!dialogFormVisible3" style="margin: 0.8rem;line-height: 100px;float: left;width: 80%">
      <el-card  style="width: 100%;background-color: rgba(55,97,151,0.1)!important;color: #0CD1EA!important;display: inline-block;margin-top: 0.3rem;font-weight: bolder" class="panel" >
        <el-form label-width="100px" size="small" :model="form2" ref="pass">
          <el-form-item prop="houseid">
                        <span slot="label">
                            <span style="color: #024171">机房号</span>
                        </span>
            <el-select clearable v-model="form2.hoseid" placeholder="请选择机房号" style="width: 100%">
              <el-option v-for="item in houseids" :key="item.id" :label="item.id" :value="item.id"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item prop="week1">
                         <span slot="label">
                            <span style="color: #024171">起始周次</span>
                        </span>
            <el-input v-model="weeks.week1" autocomplete="off" placeholder="请填写起始周次"></el-input>
          </el-form-item>
          <el-form-item prop="week2">
                         <span slot="label">
                            <span style="color: #024171">结束周次</span>
                        </span>
            <el-input v-model="weeks.week2" autocomplete="off" placeholder="请填写结束周次"></el-input>
          </el-form-item>
          <el-form-item prop="day">
                    <span slot="label">
                        <span style="color: #024171">星期几</span>
                    </span>
            <el-select clearable v-model="form2.day" placeholder="请选择星期几" style="width: 100%">
              <el-option v-for="item in dayids" :key="item.day" :label="item.day" :value="item.day"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item prop="depart">
                     <span slot="label">
                        <span style="color: #024171">时间段</span>
                    </span>
            <el-select clearable v-model="form2.timeid" placeholder="请选择时间段" style="width: 100%">
              <el-option v-for="item in timeids" :key="item.time" :label="item.time" :value="item.time"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item prop="teachid">
                         <span slot="label">
                            <span style="color: #024171">教学班号</span>
                        </span>
            <el-select clearable v-model="form2.teachid" placeholder="请选择教学班" style="width: 100%">
              <el-option v-for="item in techids" :key="item.teachid" :label="item.teachid" :value="item.teachid"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item prop="term">
                         <span slot="label">
                            <span style="color:#024171">学期</span>
                        </span>
            <el-select clearable v-model="form2.term" placeholder="请选择学期" style="width: 100%">
              <el-option v-for="item in termids" :key="item.term" :label="item.term" :value="item.term"></el-option>
            </el-select>
          </el-form-item>

          <el-form-item style="margin-left: 38%">
            <el-button type="primary" style="background-color: #1F52A5!important;" @click="save3">确 定</el-button>

            <el-button type="primary" style="background-color: #1F52A5!important;" @click="form2 = {}">取 消</el-button>
          </el-form-item>
        </el-form>
      </el-card>

    </div>

  </div>
</template>

<script>

  export default {
    name: "Home",
    data(){
      return {
        term:'2023年春',
        id:0,
        pageNum: 1,
        pageSize: 20,
        tableData: [],
        tableData2:[],
        weekAll:[],
        timeAll:[],
        timeid:1,
        houseid: 407,
        week: 1,
        day:1,
        form: {},
        form2: {},
        weeks:{},
        dialogFormVisible: false,
        dialogFormVisible2: false,
        dialogFormVisible3: true,
        user:localStorage.getItem("user") ?JSON.parse(localStorage.getItem("user")) : {},
        multipleSelection: [],
        total: 0,
        info:[],
        radio1: '第一周',
        classArr:[],
        techids:[],
        timeids:[{'time':1},{'time':2},{'time':3},{'time':4},{'time':5}],
        dayids:[{'day':1},{'day':2},{'day':3},{'day':4},{'day':5},{'day':6},{'day':7}],
        houseids:[{'id':404},{'id':405},{'id':406},{'id':407}],
        termids:[{'term':'2022年秋'},{'term':'2023年春'}],
        remindinfo:"",

      }
    },
    mounted() {
      this.changeAll();
    },
    computed:{
      sortedItems(){
        return this.tableData.sort((a,b)=>a.day - b.day)
      }
    },
    methods:{
     //这个是第二页的批量排课的。上面的图没有显示出来,但是运行这些代码会有
      save3(){
        if(Number(this.weeks.week1)>Number(this.weeks.week2)){
          this.$message.error('抱歉,你输入的周次存在逻辑错误!')
        }
        else {
          //请求分页查询数据
          this.$http.defaults.headers.common['Authorization'] = sessionStorage.getItem("token");
          this.$http.get("/api/classes/search",{

            params: {
              hoseid:this.form2.hoseid,
              term:this.form2.term,
            }
          }).then(res => {
            this.timeAll=[]
            this.weekAll=[]
            var temp = [];
            temp = res.data.object;
            for(var i=0;i<temp.length;i++) {
              this.timeAll.push(temp[i].timeid)
              this.weekAll.push(temp[i].week)
            }


            var flag =true;
            for(var i=this.weeks.week1;i<=this.weeks.week2;i++) {
              for (var j = 0; j < this.weekAll.length && flag; j++) {
                if (this.weekAll[j] == i && this.timeAll[j] == this.form2.timeid) {
                  this.$message.error('抱歉,第' + this.form2.term + '学期' + '第' + this.form2.hoseid + '教室' + i + '周' + '星期' + this.day + "的" + this.form2.timeid + '时间段已有排课安排');
                  flag = false;
                  break
                }
              }
            }

            if (flag) {

            for(var i=this.weeks.week1;i<=this.weeks.week2;i++) {
                this.form2.week = i;
                this.$http.defaults.headers.common['Authorization'] = sessionStorage.getItem("token");
                this.$http.post("/api/classes", this.form2).then(res => {
                  if (res.data) {
                    this.changeAll();
                  } else {
                    this.$message.error("保存失败")
                  }
                })

              }
            this.$message.success("批量排课成功")
            }

          })
        }
      },

		 //点击确认排课后调用的方法
      save(){
        this.form.hoseid = this.houseid;
        this.form.week=this.week;
        this.form.day=this.day;
        this.form.timeid=this.timeid;
        this.form.term = this.term;
        this.$http.defaults.headers.common['Authorization'] = sessionStorage.getItem("token");
        this.$http.post("/api/classes", this.form).then(res => {
          if(res.data) {
            this.$message.success("保存成功");
            this.dialogFormVisible = false;
            this.changeAll();
          }else{
            this.$message.error("保存失败")
          }
        })
      },
      
		 // 点击确认删除后调用的方法
      save2(){
        this.$http.defaults.headers.common['Authorization'] = sessionStorage.getItem("token");
        this.$http.delete('/api/classes/' + this.id).then(res => {
          if(res.data){
            this.$message.success("删除成功")
            this.dialogFormVisible2=false
            this.changeAll();
          }else{
            this.$message.error("删除失败")
          }
        })
      },
      
      // 点击表格后调用的方法,会先判断一下表格是否有值
      changeClick(row,column,cell,event){
          this.day = row.day
          if (row[column.property] != null) {
            this.dialogFormVisible2 = true;
            if (column.label === '第1-2节8:00-9:35') {
              this.timeid = 1;
              this.id = row.id1;
            } else if (column.label === '第3-5节9:50-12:15') {
              this.timeid = 2;
              this.id = row.id2;
            } else if (column.label === '第6-7节14:30-16:05') {
              this.timeid = 3;
              this.id = row.id3;
            } else if (column.label === '第8-9节16:20-17:55') {
              this.timeid = 4;
              this.id = row.id4;
            } else if (column.label === '第10-12节7:00-21:25') {
              this.timeid = 5;
              this.id = row.id5;
            }
          } else {
            this.dialogFormVisible = true
            if (column.label === '第1-2节8:00-9:35') {
              this.timeid = 1;
            } else if (column.label === '第3-5节9:50-12:15') {
              this.timeid = 2;
            } else if (column.label === '第6-7节14:30-16:05') {
              this.timeid = 3;
            } else if (column.label === '第8-9节16:20-17:55') {
              this.timeid = 4;
            } else if (column.label === '第10-12节7:00-21:25') {
              this.timeid = 5;
            }
        }
      },
      
      // 这个是用来显示该教学班详细信息的
      changeInfo(){
        this.$http.defaults.headers.common['Authorization'] = sessionStorage.getItem("token");
        this.$http.get('/api/classes/' + this.form.teachid).then(res => {
          this.remindinfo=res.data;
        });
      },

		 //点击上一周
      changeleft(){
        if(this.week!=1) {
          this.week = this.week - 1
          this.changeAll();
        }
      },
      
   //点击下一周
      changeright(){
        if(this.week!=12) {
          this.week = this.week + 1
          this.changeAll();
        }
      },
      
      changeAll(){
        this.load();

			 //下面这两个都是用来接下拉框显示的值的。
        this.$http.defaults.headers.common['Authorization'] = sessionStorage.getItem("token");
        this.$http.get("/api/teach").then(res =>{
          this.techids = res.data.object;
        })
  
        this.$http.defaults.headers.common['Authorization'] = sessionStorage.getItem("token");
        this.$http.get("/api/teach").then(res =>{
          this.hoseids = res.data.object;
        })
      },

      handleCommand(command) {
        this.houseid = command;
        this.changeAll();
        this.$message('更改教室成功,当前教室为' + command);
      },
      
      handleCommand2(command) {
        this.term = command;
        this.changeAll();
        this.$message('更改学期成功,当前学期为' + command);
      },
      
      load(){
       //请求后台数据,也就是表格中的数据
        const _this = this;
        this.$http.defaults.headers.common['Authorization'] = sessionStorage.getItem("token");
        this.$http.get("/api/classes/page",{
          params: {
            currentPage:this.pageNum,
            pageSize:this.pageSize,
            hoseid:this.houseid,
            week:this.week,
            term:this.term,
          }
        }).then(res => {
          _this.tableData = res.data.object.userInfo;
          _this.tableData.sort((a,b)=>a.classes.day - b.classes.day)
          _this.infoImport();

          this.total = res.data.object.totals;
        })
      },
      
      handleSelectionChange(val){
        this.multipleSelection = val
      },
      //这个函数是处理返回的数据的用来显示,看起来有些复杂,其实就是新建一个数组,重新赋值用来显示的
      finalCut(){
        var _this = this;
        var tempday = 1;
        _this.tableData2 = [];
        _this.tableData2.push({'day':tempday});
        if(_this.tableData[0].classes.timeid != null) {
          if (_this.tableData[0].classes.timeid == 1) {
            _this.$set(_this.tableData2[0], 'class1', _this.tableData[0].class1)
            _this.$set(_this.tableData2[0], 'id1', _this.tableData[0].classes.id)
          } else if (_this.tableData[0].classes.timeid == 2) {
            _this.$set(_this.tableData2[0], 'class2', _this.tableData[0].class2)
            _this.$set(_this.tableData2[0], 'id2', _this.tableData[0].classes.id)
          } else if (_this.tableData[0].classes.timeid == 3) {
            _this.$set(_this.tableData2[0], 'class3', _this.tableData[0].class3)
            _this.$set(_this.tableData2[0], 'id3', _this.tableData[0].classes.id)
          } else if (_this.tableData[0].classes.timeid == 4) {
            _this.$set(_this.tableData2[0], 'class4', _this.tableData[0].class4)
            _this.$set(_this.tableData2[0], 'id4', _this.tableData[0].classes.id)
          } else if (_this.tableData[0].classes.timeid == 5) {
            _this.$set(_this.tableData2[0], 'class5', _this.tableData[0].class5)
            _this.$set(_this.tableData2[0], 'id5', _this.tableData[0].classes.id)
          }
        }

        for(var j=1;j<_this.tableData.length;j++) {

          if (_this.tableData[j].classes.day != tempday){
            tempday = tempday + 1;
            _this.tableData2.push({'day':tempday})
          }
          if(_this.tableData[j].classes.timeid != null) {
            if (_this.tableData[j].classes.timeid == 1) {
              _this.$set(_this.tableData2[tempday-1], 'class1', _this.tableData[j].class1)
              _this.$set(_this.tableData2[tempday-1], 'id1', _this.tableData[j].classes.id)
            }
            else if(_this.tableData[j].classes.timeid == 2){
              _this.$set(_this.tableData2[tempday-1],'class2',_this.tableData[j].class2)
              _this.$set(_this.tableData2[tempday-1], 'id2', _this.tableData[j].classes.id)
            }
            else if(_this.tableData[j].classes.timeid == 3){
              _this.$set(_this.tableData2[tempday-1],'class3',_this.tableData[j].class3)
              _this.$set(_this.tableData2[tempday-1], 'id3', _this.tableData[j].classes.id)

            }
            else if(_this.tableData[j].classes.timeid == 4){
              _this.$set(_this.tableData2[tempday-1],'class4',_this.tableData[j].class4)
              _this.$set(_this.tableData2[tempday-1], 'id4', _this.tableData[j].classes.id)
            }
            else if(_this.tableData[j].classes.timeid == 5){
              _this.$set(_this.tableData2[tempday-1],'class5',_this.tableData[j].class5)
              _this.$set(_this.tableData2[tempday-1], 'id5', _this.tableData[j].classes.id)
            }
          }
        }
      },
      //下面这个函数是用来将即使某一天没有课,也要显示显示出一行空格
      infoImport(){
        const _this = this;
          for(var l=1;l<=7;l++) {
            for (var k = 0; k < _this.tableData.length; k++) {
              if (l == _this.tableData[k].classes.day){
                break;
              }
            }
            if(k==_this.tableData.length){
              _this.tableData.unshift({'classes':{day:l}})
            }
          }
          _this.tableData.sort((a,b)=>a.classes.day - b.classes.day)
          this.finalCut();
      },
    }
  }
</script>

后端代码这里就不上传了,传个数据库吧:
在这里插入图片描述
加油,相信你是最棒的!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[uni-app] 微信小程序 - 组件找不到/导入报错 (分包问题导致)

文章目录 问题表现问题原因 问题表现 切换了个路径下的组件, 导入失败, 尝试了清缓存\重启\删项目等一些列操作均无效 上面两个路径中, 都存在一模一样的videItem.vue Main路径是可以导入的 Main路径是无法导入的 问题原因 后来发现, 是 分包的问题导致. 我们先来假设一个场…

MySQL 主从复制的认识 2023.07.23

一、理解MySQL主从复制原理 1、概念&#xff1a;主从复制是用来建立一个和 主数据库完全一样的数据库环境称为从数据库&#xff1b;主数据库一般是准实时的业务数据库。 2、作用&#xff1a;灾备、数据分布、负载平衡、读写分离、提高并发能力 3、原理图 4、具体步骤 (1) M…

mysql(二)SQL语句

目录 一、SQL语句类型 二、数据库操作 三、数据类型 四、创建 五、查看 六、更改 七、增、删、改、查 八、查询数据 一、SQL语句类型 SQL语句类型&#xff1a; DDL DDL&#xff08;Data Definition Language&#xff0c;数据定义语言&#xff09;&#xff1a;用于…

基于深度神经网络的肺炎检测系统实现

一、说在前面 使用AI进行新冠肺炎图像诊断可以加快病例的诊断速度&#xff0c;提高诊断的准确性&#xff0c;并在大规模筛查中发挥重要作用&#xff0c;从而更好地控制和管理这一流行病。然而&#xff0c;需要强调的是&#xff0c;AI技术仅作为辅助手段&#xff0c;最终的诊断决…

kafka消费者api和分区分配和offset消费

kafka消费者 消费者的消费方式为主动从broker拉取消息&#xff0c;由于消费者的消费速度不同&#xff0c;由broker决定消息发送速度难以适应所有消费者的能力 拉取数据的问题在于&#xff0c;消费者可能会获得空数据 消费者组工作流程 Consumer Group&#xff08;CG&#x…

夯实数字化转型安全地基,华东某农商行开源安全治理经验

华东某农村商业银行是一家全国首批组建的股份制农村金融机构。近年来&#xff0c;该农商行坚持“科技强行”战略&#xff0c;进一步夯实数字化核心基础&#xff0c;积极推动金融科技与产品、服务的深度融合&#xff0c;努力拓展数字金融的包容性&#xff0c;让数字金融更有温度…

《重构的时机和方法》一本值得程序员都认真读的书

写在前面 《重构的时机和方法》是一本关于软件开发中重构技术的书籍。它以独特的风格和内容优势&#xff0c;为读者提供了全面而易于理解的指导&#xff0c;帮助他们在实际项目中应用重构技术&#xff0c;提高代码质量和开发效率。这本书由两个不同风格的部分组成&#xff0c;…

Hadoop生态体系-HDFS

目录标题 1、Apache Hadoop2、HDFS2.1 设计目标&#xff1a;2.2 特性&#xff1a;2.3 架构2.4 注意点2.5 HDFS基本操作2.5.1 shell命令选项2.5.2 shell常用命令介绍 3、HDFS基本原理3.1 NameNode 概述3.2 Datanode概述 1、Apache Hadoop Hadoop&#xff1a;允许使用简单的编程…

RocketMQ重复消费的解决方案::分布式锁直击面试!

文章目录 场景分析方法的幂等分布式锁Redis实现分布式锁抢锁的设计思路 分布式锁案例 直击面试rocketmq什么时候重复消费消息丢失的问题消息在哪里丢失发送端确保发送成功并且配合失败的业务处理消费端确保消息不丢失rocketmq 主从同步刷盘 场景分析 分布式系统架构中,队列是分…

7.python设计模式【桥结模式】

内容&#xff1a;将一个事物的两个维度分离&#xff0c;使其都可以独立变化角色&#xff1a; 抽象&#xff08;Abstraction&#xff09;细化抽象&#xff08;RefinedAbstraction&#xff09;实现者&#xff08;Implementor&#xff09;具体实现者&#xff08;ConcreteImplement…

vue3 +ts 报错 index.vue 不是模块

那是因为index.vue中创建了一个空的script标签&#xff0c;而且语法使用的是ts语法。vue-cli会用ts语法解析和校验 如果是无状态组件&#xff0c;删掉 如果是有状态组件&#xff0c;导出该组件的实例 去掉null的script后&#xff1a;

实验三 贪心算法

实验三 贪心算法 迪杰斯特拉的贪心算法实现 优先队列等 1.实验目的 1、掌握贪心算法的基本要素 &#xff1a;最优子结构性质和贪心选择性质 2、应用优先队列求单源顶点的最短路径Dijkstra算法&#xff0c;掌握贪心算法。 2.实验环境 Java 3.问题描述 给定带权有向图G (V…

单Bank OTA升级:STM32G071 APP (二)

接上一篇文章&#xff1a;单Bank OTA升级&#xff1a;STM32G071 BootLoader (一)&#xff1a;跳转链接 什么是单Bank升级&#xff1a;将Flash划分为以下3个区域。 BootLoader区&#xff1a;程序进行升级的引导程序&#xff0c;根据Upade_Flag来判断跳转Bank区运行程序或是接收…

C# 存在重复元素

217 存在重复元素 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 &#xff0c;返回 true &#xff1b;如果数组中每个元素互不相同&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3,1] 输出&#xff1a;true 示例 2&#xff1a; 输…

【压测指南|压力测试核心性能指标及行业标准】

文章目录 压力测试核心性能指标及行业标准指标1&#xff1a;响应时间指标2&#xff1a;吞吐量&#xff08;TPS)指标3&#xff1a;失败率总结&#xff1a; 压力测试核心性能指标及行业标准 在做压力测试时&#xff0c;新手测试人员常常在看报告时倍感压力&#xff1a;这么多性能…

网工内推 | 网络安全工程师,有安全相关证书优先

01 航天四创科技有限责任公司 招聘岗位&#xff1a;网络安全工程师 职责描述&#xff1a; 1、根据项目的投标技术方案、适配测试方案等&#xff0c;制定网络系统、安全系统、主机系统、存储系统等的深化设计方案和实施方案&#xff1b; 2、安装、配置和搭建基于软硬件设备的网…

连锁反应开始了!Linux 发行版迎新变化!

任何企业都有合法权利捍卫其模型和产品。撇开大量不真正了解开源许可证如何工作的人不谈&#xff0c;我们的印象是&#xff0c;有很多人觉得仅仅因为这是Linux&#xff0c;他们就有某种权利免费获得它。但事实上&#xff0c;他们没有。这不是自由软件中的“自由”的意思&#x…

微信小游戏个人开发者上架:从注册到上线的详细步骤

微信小游戏个人开发者上架&#xff1a;从注册到上线的详细步骤 一&#xff0c;注册小程序账号1.1 微信公众平台1.2 填写信息1.3 绑定管理 二&#xff0c;打包步骤2.1 工具准备2.2 关于Unity版本2.3 打包详解 三&#xff0c;提包步骤3.1 填写用户隐私3.2 完善开发者自查3.3 游戏…

SpringCloudAlibaba微服务实战系列(二)Nacos配置中心

SpringCloudAlibaba Nacos配置中心 在java代码中或者在配置文件中写配置&#xff0c;是最不雅的&#xff0c;意味着每次修改配置都需要重新打包或者替换class文件。若放在远程的配置文件中&#xff0c;每次修改了配置后只需要重启一次服务即可。话不多说&#xff0c;直接干货拉…

zookeeper的应用

Zookeeper的配置文件解析: Zookeeper内部原理: 选举机制 半数机制:在集群环境中半数以上的机器存活,这个集群可用,所以在设计Zookeeper集群系统时&#xff0c;通常会选择 奇数台服务器来搭建Zookeeper的集群 虽然在配置文件中并没有指定Master和Slave。但是&#xff0c;Zookeep…