“构建交互式用户界面的自定义组件应用与界面布局设置“

news2024/11/19 14:37:32

目录

  • 引言
  • 自定义组件应用
  • 设置界面布局
  • 投票界面布局及实现
  • 投票选项界面
  • 总结

引言

在软件开发中,用户界面设计是至关重要的一环。良好的界面设计可以提升用户体验、增加用户黏性,并提高软件的易用性。本篇博客将介绍如何利用自定义组件应用和界面布局设置来构建交互式的用户界面。

自定义组件应用

自定义组件是一种可重复使用的代码模块,它封装了特定功能和样式,并可以在多个地方进行调用。以下是一些常见的自定义组件及其应用场景:

project.config.json加上以下两个

"ignoreDevUnusedFiles": false,
"ignoreUploadUnusedFiles": false,

tabs.wxml

<!--components/tabs/tabs.wxml-->
<!-- 这是自定义组件的内部WXML结构 -->
<view class="tabs">
    <view class="tabs_title">
        <view wx:for="{{tabList}}" wx:key="id" class="title_item  {{index==tabIndex?'item_active':''}}" bindtap="handleItemTap" data-index="{{index}}">
            <view style="margin-bottom:5rpx">{{item}}</view>
            <view style="width:30px" class="{{index==tabIndex?'item_active1':''}}"></view>
        </view>
    </view>
    <view class="tabs_content">
        <slot></slot>
    </view>
</view>

tabs.wxss

/* components/tabs/tabs.wxss */
/* 这里的样式只应用于这个自定义组件 */
.tabs {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #fff;
  z-index: 99;
  border-bottom: 1px solid #efefef;
  padding-bottom: 20rpx;
}

.tabs_title {
  /* width: 400rpx; */
  width: 90%;
  display: flex;
  font-size: 9pt;
  padding: 0 20rpx;
}

.title_item {
  color: #999;
  padding: 15rpx 0;
  display: flex;
  flex: 1;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}

.item_active {
  /* color:#ED8137; */
  color: #000000;
  font-size: 11pt;
  font-weight: 800;
}

.item_active1 {
  /* color:#ED8137; */
  color: #000000;
  font-size: 11pt;
  font-weight: 800;
  border-bottom: 6rpx solid #333;
  border-radius: 2px;
}

tabs.js

// components/tabs/tabs.js
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    tabList:Object
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    handleItemTap(e){
      // 获取索引
      const {index} = e.currentTarget.dataset;
      // 触发 父组件的事件
      this.triggerEvent("tabsItemChange",{index})
      this.setData({
          tabIndex:index
      })
    }
  }
})

tabs.json

{
  "component": true,
  "usingComponents": {}
}

meeting/list/wxml

<!--pages/meeting/list/list.wxml-->
<tabs tabList="{{tabs}}"  bindtabsItemChange="tabsItemChange">
</tabs>
<view>
  <swiper indicator-dots="true" autoplay="true" style="width: 750rpx; height: 106rpx; display: block; box-sizing: border-box">
<block wx:for="{{imgSrcs}}" wx:key="*text">
  <swiper-item>
    <image src="{{item.img}}"></image>
  </swiper-item>
</block>
</swiper>
</view>
<view class="mobi-title">
    <text class="mobi-icon"></text>
    <text>会议信息</text>
</view>
<block wx:for-items="{{lists}}" wx:for-item="item" wx:key="item.id">
    <view class="list" data-id="{{item.id}}">
        <view class="list-img">
            <image class="video-img" mode="scaleToFill" src="{{item.image}}"></image>
        </view>
        <view class="list-detail">
            <view class="list-title"><text>{{item.title}}</text></view>
            <view class="list-tag">
                <view class="state">{{item.state}}</view>
                <view class="join"><text class="list-num">{{item.num}}</text>人报名</view>
            </view>
            <view class="list-info"><text>{{item.address}}</text>|<text>{{item.time}}</text></view>
        </view>
    </view>
</block>
<view class="section bottom-line">
		<text>到底啦</text>
</view>

meeting/list/wxss

/* pages/meeting/list/list.wxss */
/**index.wxss**/
.mobi-title{
  background-color: lightgray;
  padding: 10px;
  font-weight: 900;
}
.mobi-icon{
 border: 1rpx solid red;
 margin-right: 5px;
}
.list{
display: flex;
align-items: center;
border-bottom: 2px solid  silver;
}
.list-img{
padding:0 10px ;
}
.video-img{
 height: 50px;
 width: 55px;

}
.list-detail{

}
.list-title{
font-weight: 600;
margin: 3px 3px;
}
.list-tag{
 display: flex;
 align-items: center;
}
.list-info{

}
.state{
 border: 1px solid lightblue;
 padding: 2px;
 color: lightblue;
 margin:10px 10px 10px 5px;
}
.join{
color: silver;
}
.list-num{
 color: red;
 font-weight: 700;
}
.list-info{
 color: silver;
 font-size: 12px;
}
.section bottom-line{
 display: flex;
 height: 60rpx;
 justify-content: center;
 align-items: center;
 background-color: #f3f3f3;
 margin-left: 100px;
}
.bottom-line text{
 font-size: 9pt;
 color: #666;
}
.bottom-line{
 display: flex;
 height: 60rpx;
 justify-content: center;
 align-items: center;
 background-color: #f3f3f3;
}
.bottom-line text{
 font-size: 9pt;
 color: #666;
}

meeting/list/wxss

/* pages/meeting/list/list.wxss */
/**index.wxss**/
.mobi-title{
  background-color: lightgray;
  padding: 10px;
  font-weight: 900;
}
.mobi-icon{
 border: 1rpx solid red;
 margin-right: 5px;
}
.list{
display: flex;
align-items: center;
border-bottom: 2px solid  silver;
}
.list-img{
padding:0 10px ;
}
.video-img{
 height: 50px;
 width: 55px;

}
.list-detail{

}
.list-title{
font-weight: 600;
margin: 3px 3px;
}
.list-tag{
 display: flex;
 align-items: center;
}
.list-info{

}
.state{
 border: 1px solid lightblue;
 padding: 2px;
 color: lightblue;
 margin:10px 10px 10px 5px;
}
.join{
color: silver;
}
.list-num{
 color: red;
 font-weight: 700;
}
.list-info{
 color: silver;
 font-size: 12px;
}
.section bottom-line{
 display: flex;
 height: 60rpx;
 justify-content: center;
 align-items: center;
 background-color: #f3f3f3;
 margin-left: 100px;
}
.bottom-line text{
 font-size: 9pt;
 color: #666;
}
.bottom-line{
 display: flex;
 height: 60rpx;
 justify-content: center;
 align-items: center;
 background-color: #f3f3f3;
}
.bottom-line text{
 font-size: 9pt;
 color: #666;
}

meeting/list/js

// pages/meeting/list/list.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabs:['会议中','已完成','已取消','全部会议'],
    lists: [
      {
        'id': '1',
        'image': '/static/persons/1.jpg',
        'title': '对话产品总监 | 深圳·北京PM大会 【深度对话小米/京东/等产品总监】',
        'num':'304',
        'state':'进行中',
        'time': '10月09日 17:59',
        'address': '深圳市·南山区'
      },
      {
        'id': '1',
        'image': '/static/persons/2.jpg',
        'title': 'AI WORLD 2016世界人工智能大会',
        'num':'380',
        'state':'已结束',
        'time': '10月09日 17:39',
        'address': '北京市·朝阳区'
      },
      {
        'id': '1',
        'image': '/static/persons/3.jpg',
        'title': 'H100太空商业大会',
        'num':'500',
        'state':'进行中',
        'time': '10月09日 17:31',
        'address': '大连市'
      },
      {
        'id': '1',
        'image': '/static/persons/4.jpg',
        'title': '报名年度盛事,大咖云集!2016凤凰国际论坛邀您“与世界对话”',
        'num':'150',
        'state':'已结束',
        'time': '10月09日 17:21',
        'address': '北京市·朝阳区'
      },
      {
        'id': '1',
        'image': '/static/persons/5.jpg',
        'title': '新质生活 · 品质时代 2016消费升级创新大会',
        'num':'217',
        'state':'进行中',
        'time': '10月09日 16:59',
        'address': '北京市·朝阳区'
      }
    ],
    lists1: [
      {
        'id': '1',
        'image': '/static/persons/1.jpg',
        'title': '对话产品总监 | 深圳·北京PM大会 【深度对话小米/京东/等产品总监】',
        'num':'304',
        'state':'进行中',
        'time': '10月09日 17:59',
        'address': '深圳市·南山区'
      },
      {
        'id': '1',
        'image': '/static/persons/2.jpg',
        'title': 'AI WORLD 2016世界人工智能大会',
        'num':'380',
        'state':'已结束',
        'time': '10月09日 17:39',
        'address': '北京市·朝阳区'
      },
      {
        'id': '1',
        'image': '/static/persons/3.jpg',
        'title': 'H100太空商业大会',
        'num':'500',
        'state':'进行中',
        'time': '10月09日 17:31',
        'address': '大连市'
      }
    ],
    lists2: [
      {
        'id': '1',
        'image': '/static/persons/1.jpg',
        'title': '对话产品总监 | 深圳·北京PM大会 【深度对话小米/京东/等产品总监】',
        'num':'304',
        'state':'进行中',
        'time': '10月09日 17:59',
        'address': '深圳市·南山区'
      },
      {
        'id': '1',
        'image': '/static/persons/2.jpg',
        'title': 'AI WORLD 2016世界人工智能大会',
        'num':'380',
        'state':'已结束',
        'time': '10月09日 17:39',
        'address': '北京市·朝阳区'
      }
    ],
    lists3: [
      {
        'id': '1',
        'image': '/static/persons/1.jpg',
        'title': '对话产品总监 | 深圳·北京PM大会 【深度对话小米/京东/等产品总监】',
        'num':'304',
        'state':'进行中',
        'time': '10月09日 17:59',
        'address': '深圳市·南山区'
      },
      {
        'id': '1',
        'image': '/static/persons/2.jpg',
        'title': 'AI WORLD 2016世界人工智能大会',
        'num':'380',
        'state':'已结束',
        'time': '10月09日 17:39',
        'address': '北京市·朝阳区'
      },
      {
        'id': '1',
        'image': '/static/persons/3.jpg',
        'title': 'H100太空商业大会',
        'num':'500',
        'state':'进行中',
        'time': '10月09日 17:31',
        'address': '大连市'
      },
      {
        'id': '1',
        'image': '/static/persons/4.jpg',
        'title': '报名年度盛事,大咖云集!2016凤凰国际论坛邀您“与世界对话”',
        'num':'150',
        'state':'已结束',
        'time': '10月09日 17:21',
        'address': '北京市·朝阳区'
      },
      {
        'id': '1',
        'image': '/static/persons/5.jpg',
        'title': '新质生活 · 品质时代 2016消费升级创新大会',
        'num':'217',
        'state':'进行中',
        'time': '10月09日 16:59',
        'address': '北京市·朝阳区'
      }
    ]
  },
  tabsItemChange(e){
    let tolists;
    if(e.detail.index==1){
        tolists = this.data.lists1;
    }else if(e.detail.index==2){
        tolists = this.data.lists2;
    }else{
        tolists = this.data.lists3;
    }
    this.setData({
        lists: tolists
    })
},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})

meeting/list/json

{
  "usingComponents": {
    "tabs": "/components/tabs/tabs"
  }
}

设置界面布局

界面布局是指界面元素在屏幕上的排列方式和样式。通过合理的布局设计,可以提升用户界面的美观性、可读性和易用性。以下是一些常见的界面布局设置:

index.wxml

<!--pages/ucenter/index/index.wxml-->
<!--pages/ucenter/index/index.wxml-->
<!-- <text>pages/ucenter/index/index.wxml</text> -->
<view class="userInfo">
    <image class="userInfo-head" src="/static/persons/1.jpg"></image>
    <text class="userInfo-login">秋念桀</text>
    <image class="userInfo-set" src="/static/tabBar/component.png"></image>
</view>
<view class="cells">
    <view class="cell-items">
        <image src="/static/tabBar/sdk.png" class="cell-items-icon"></image>
        <text class="cell-items-title">我主持的会议</text>
        <text class="cell-items-num">1</text>
        <text class="cell-items-detail"></text>
    </view>
    <hr/>
    <view class="cell-items">
        <image src="/static/tabBar/sdk.png" class="cell-items-icon"></image>
        <text class="cell-items-title">我参与的会议</text>
        <text class="cell-items-num">1</text>
        <text class="cell-items-detail"></text>
    </view>
</view>
<view class="cells">
    <view class="cell-items">
        <image src="/static/tabBar/sdk.png" class="cell-items-icon"></image>
        <text class="cell-items-title">我发布的投票</text>
        <text class="cell-items-num">1</text>
        <text class="cell-items-detail"></text>
    </view>
    <hr/>
    <view class="cell-items">
        <image src="/static/tabBar/sdk.png" class="cell-items-icon"></image>
        <text class="cell-items-title">我参与的投票</text>
        <text class="cell-items-num">1</text>
        <text class="cell-items-detail"></text>
    </view>
</view>
<view class="cells">
    <view class="cell-items">
        <image src="/static/tabBar/sdk.png" class="cell-items-icon"></image>
        <text space="ensp" class="cell-items-title">消息</text>
        <text class="cell-items-num">1</text>
        <text class="cell-items-detail"></text>
    </view>
    <hr/>
    <view class="cell-items">
        <image src="/static/tabBar/sdk.png" class="cell-items-icon"></image>
        <text space="ensp" class="cell-items-title">设置</text>
        <text class="cell-items-num">1</text>
        <text class="cell-items-detail"></text>
    </view>
</view>

index.wxss

/* pages/ucenter/index/index.wxss */
.userInfo{
  display: flex;
  align-items: center;
  border-bottom: 10px solid lightgray;
}
.userInfo-head{
  width: 80px;
  height: 80px;
}
.userInfo-set{
  width: 30px;
  height: 30px;
}
.userInfo-login{
  font-weight: 800;
  margin: 0 80px 0 30px;
}
.cells{
  border-bottom: 10px solid lightgray;
}
.cell-items{
  display: flex;
  align-items: center;
  padding: 5px;
}
.cell-items-icon{
  width: 30px;
  height: 30px;
}
.cell-items-title{
  font-weight: 500;
  margin: 0 120px 0 20px;
}
.cell-items-num{
  width: 20px;
}
.cell-items-title{
  width: 100px;
}

效果

在这里插入图片描述

投票界面布局及实现

wxmllist

<!--pages/vote/list/list.wxml-->
<view>
  <swiper indicator-dots="true" autoplay="true" style="width: 750rpx; height: 106rpx; display: block; box-sizing: border-box">
<block wx:for="{{imgSrcs}}" wx:key="*text">
  <swiper-item>
    <image src="{{item.img}}"></image>
  </swiper-item>
</block>
</swiper>
</view>
<view class="mobi-title">
    <text class="mobi-icon"></text>
    <text>投票管理</text>
</view>
<block wx:for-items="{{lists}}" wx:for-item="item" wx:key="item.id">
    <view class="list" data-id="{{item.id}}">
        <view class="list-img">
            <image class="video-img" mode="scaleToFill" src="{{item.image}}"></image>
        </view>
        <view class="list-detail">
            <view class="list-title"><text>{{item.title}}</text></view>
            <view class="list-tag">
                <view class="state">{{item.state}}</view>
                <view class="join"><text class="list-num">{{item.num}}</text>人报名</view>
               
            </view>
            <view style="width: 250px;" ><button class="vote" style="position: relative; left: -72rpx; top: 0rpx" bindtap="toupiao">投票</button></view>
            <view class="list-info"><text>{{item.address}}</text>|<text>{{item.time}}</text></view>
        </view>
    </view>
</block>
<view class="section bottom-line">
		<text>到底啦</text>
</view>

wxss

/* pages/meeting/list/list.wxss */
/**index.wxss**/
.mobi-title{
  background-color: lightgray;
  padding: 10px;
  font-weight: 900;
}
.mobi-icon{
 border: 1rpx solid red;
 margin-right: 5px;
}
.list{
display: flex;
align-items: center;
border-bottom: 2px solid  silver;
}
.list-img{
padding:0 10px ;
}
.video-img{
 height: 50px;
 width: 55px;

}
.list-detail{

}
.list-title{
font-weight: 600;
margin: 3px 3px;
}
.list-tag{
 display: flex;
 align-items: center;
}
.list-info{

}
.state{
 border: 1px solid rgb(88, 176, 206);
 padding: 2px;
 color: rgb(149, 184, 196);
 margin:10px 10px 10px 5px;
 font-weight: 700;
}
.join{
color: silver;
}
.list-num{
 color: red;
 font-weight: 700;
}
.list-info{
 color: silver;
 font-size: 12px;
}
.section bottom-line{
 display: flex;
 height: 60rpx;
 justify-content: center;
 align-items: center;
 background-color: #f3f3f3;
 margin-left: 100px;
}
.bottom-line text{
 font-size: 9pt;
 color: #666;
}
.bottom-line{
 display: flex;
 height: 60rpx;
 justify-content: center;
 align-items: center;
 background-color: #f3f3f3;
}
.bottom-line text{
 font-size: 9pt;
 color: #666;
}
.vote{
  background-color:rgb(194, 172, 172);
  /* color:cadetblue; */
  
}

json

{
  "usingComponents": {
    "tabs": "/components/tabs/tabs"
  }
}

js

// pages/vote/list/list.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    lists: [
      {
        'id': '1',
        'image': '/static/persons/1.jpg',
        'title': '对话产品总监 | 深圳·北京PM大会 【深度对话小米/京东/等产品总监】',
        'num':'304',
        'state':'进行中',
        'time': '10月09日 17:59',
        'address': '深圳市·南山区'
      },
      {
        'id': '1',
        'image': '/static/persons/2.jpg',
        'title': 'AI WORLD 2016世界人工智能大会',
        'num':'380',
        'state':'进行中',
        'time': '10月09日 17:39',
        'address': '北京市·朝阳区'
      },
      {
        'id': '1',
        'image': '/static/persons/3.jpg',
        'title': 'H100太空商业大会',
        'num':'500',
        'state':'进行中',
        'time': '10月09日 17:31',
        'address': '大连市'
      },
      {
        'id': '1',
        'image': '/static/persons/4.jpg',
        'title': '报名年度盛事,大咖云集!2016凤凰国际论坛邀您“与世界对话”',
        'num':'150',
        'state':'进行中',
        'time': '10月09日 17:21',
        'address': '北京市·朝阳区'
      },
      {
        'id': '1',
        'image': '/static/persons/5.jpg',
        'title': '新质生活 · 品质时代 2016消费升级创新大会',
        'num':'217',
        'state':'进行中',
        'time': '10月09日 16:59',
        'address': '北京市·朝阳区'
      }
    ]
  },
  toupiao(){
    wx.navigateTo({
      url: '/pages/vote/vote'
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})

页面效果
在这里插入图片描述

投票选项界面

wxml

<!--pages/vote/vote.wxml-->
<view class="container">
  <view class="title">投票页面</view>
  <view class="options">
    <block wx:for="{{options}}" wx:key="index">
      <view class="option" bindtap="voteOption">{{item}}</view>
    </block>
  </view>
  <view class="button" bindtap="submitVote">提交投票</view>
</view>

wxss

/* pages/vote/vote.wxss */
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
}

.title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}

.options {
  display: flex;
  flex-direction: column;
}

.option {
  padding: 10px;
  margin-bottom: 10px;
  background-color: #f5f5f5;
  border-radius: 5px;
  cursor: pointer;
  user-select: none;
}

.option:hover {
  background-color: #e0e0e0;
}

.button {
  display: inline-block;
  padding: 10px 20px;
  background-color: #ff5722;
  color: #fff;
  border-radius: 5px;
  cursor: pointer;
  user-select: none;
}

.button:hover {
  background-color: #ff784e;
}

js

// pages/vote/vote.js
Component({

  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
    options: ['同意', '不同意', '弃权'], // 投票选项
    selectedOptionIndex: -1 // 默认未选择任何选项
  },
  // voteOption: function(e) {
  //   const index = e.currentTarget.dataset.index;
  //   this.setData({
  //     selectedOptionIndex: index
  //   });
  // },
  // submitVote: function() {
  //   const selectedOptionIndex = this.data.selectedOptionIndex;
  //   if (selectedOptionIndex >= 0) {
  //     const selectedOption = this.data.options[selectedOptionIndex];
  //     // 这里可以添加你的提交投票逻辑,比如发送请求保存投票结果等
  //     console.log('已选择选项:', selectedOption);
  //   } else {
  //     console.log('请选择一个选项');
  //   }
  // },

  /**
   * 组件的方法列表
   */
  methods: {

  }
})

效果
在这里插入图片描述

总结

本篇博客介绍了如何利用自定义组件应用和界面布局设置来构建交互式的用户界面。自定义组件可以提高代码的可重用性和模块化程度,减少开发工作量。界面布局设置可以提升用户界面的美观性和易用性,提供良好的用户体验。在实际开发中,合理运用自定义组件和界面布局技术,将会为软件开发带来很大的便利和效益。

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

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

相关文章

【自动化测试入门】用Airtest - Selenium对Firefox进行自动化测试(0基础也能学会)

1. 前言 本文将详细介绍如何使用AirtestIDE驱动Firefox测试&#xff0c;以及脱离AirtestIDE怎么驱动Firefox&#xff08;VScode为例&#xff09;。看完本文零基础小白也能学会Firefox浏览器自动化测试&#xff01;&#xff01;&#xff01; 2. 如何使用AirtestIDE驱动Firefox…

地铁大数据客流分析系统 设计与实现 计算机竞赛

文章目录 1 前言1.1 实现目的 2 数据集2.2 数据集概况2.3 数据字段 3 实现效果3.1 地铁数据整体概况3.2 平均指标3.3 地铁2018年9月开通运营的线路3.4 客流量相关统计3.4.1 线路客流量排行3.4.2 站点客流量排行3.4.3 入站客流排行3.4.4 整体客流随时间变化趋势3.4.5 不同线路客…

【JavaEE】计算机是如何工作的

计算机是如何工作的 冯诺依曼体系操作系统操作系统的概念与定位进程和任务操作系统对进程的管理PCB 的相关信息 冯诺依曼体系 现代的大多数计算机, 都遵循冯诺依曼体系 CPU 中央处理器: 进行算术运算和逻辑判断存储器: 分为外存和内存, 用于存储数据(使用二进制方式存储)输入…

最新Tuxera NTFS2024破解版mac读写NTFS磁盘工具

Tuxera NTFS for Mac是一款Mac系统NTFS磁盘读写软件。在系统默认状态下&#xff0c;MacOSX只能实现对NTFS的读取功能&#xff0c;Tuxera NTFS可以帮助MacOS 系统的电脑顺利实现对NTFS分区的读/写功能。Tuxera NTFS 2024完美兼容最新版本的MacOS 11 Big Sur&#xff0c;在M1芯片…

为什么重写 equals() 就一定要重写 hashCode() 方法

equals方法 这个 equals 方法是 String 这个类里面的实现。 从代码中可以看到&#xff0c;当调用 equals 比较两个对象的时候&#xff0c;会做两个操作&#xff1a; 用号比较两个对象的内存地址&#xff0c;如果地址相同则返回 true 否则&#xff0c;继续比较字符串的值&…

改委强化电力需求侧管理,缓解电力系统峰值压力-安科瑞黄安南

摘要&#xff1a;近年来全国用电负荷特别是居民用电负荷的快速增长&#xff0c;全国范围内夏季、冬季用电负荷“双峰”特征日益突出&#xff0c;恶劣气候现象多发增加了电力安全供应的压力。具有随机性、波动性、间歇性特征的可再生能源大规模接入电网对电力系统的稳定性带来新…

【公众号开发】如何写出第一个公众号开发程序 · 动态自定义自动回复

【公众号开发】&#xff08;1&#xff09; 文章目录 【公众号开发】&#xff08;1&#xff09;1. 获得一个测试号2. 公众号开发原理3. 创建开发者服务器4. 内网穿透5. 验证开发者服务器的url5.1 公众号服务器对url发送get请求5.2 消息的验证逻辑5.3 代码实现 6. 接受并解析用户…

Java数字处理类-- Math类--数学运算

在Java中提供了一个执行数学基本运算的Math类,该类包括了常用的数学运算方法和常量&#xff0c;包括【三角函数方法】&#xff0c;【指数函数方法】&#xff0c;【取整函数方法】、【取最大值函数方法】、【取最小值函数方法】、【取平均值函数方法】、【对数函数方法】&#x…

C# Onnx Yolov8 Detect 路面坑洼检测

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace Onnx…

使用 VS Code 作为 VC6 的编辑器

使用 VS Code 作为 VC 6.0 的编辑器 由于一些众所周知的原因&#xff0c;我们不得不使用经典&#xff08;过时&#xff09;的比我们年龄还大的已有 25 年历史的 VC 6.0 来学习 C 语言。而对于现在来说&#xff0c;这个经典的 IDE 过于简陋&#xff0c;并且早已不兼容新的操作系…

kubernetes(2)

pod管理 应用部署 上传测试镜像 [rootk8s1 docker]# docker push reg.westos.org/library/myapp:v1 [rootk8s1 docker]# docker push reg.westos.org/library/myapp:v2创建自助式pod&#xff08;生产不推荐&#xff09; [rootk8s2 ~]# kubectl run demo --imagemyapp:v1[ro…

iZotope RX 10for Mac /Windows- 音频修复的终极解决方案

随着音乐和电影制作的复杂性日益增加&#xff0c;高质量的音频修复变得越来越重要。iZotope RX 10&#xff0c;作为业界公认的专业音频修复软件&#xff0c;为你提供了强大、精确的工具&#xff0c;让你的声音变得清晰、纯净。 在音频修复领域&#xff0c;iZotope RX 10凭借其…

【vue3】组件间通讯

1.上级传给下级 父级组件&#xff1a; <ReqTab ref"crontabRef" hide"openCronfalse" fill"crontabFill" :expression"expression" :method"method" ></ReqTab> 函数中赋值&#xff1a; 子组件&#xff1a; …

IP协议(上)

目录 一、初步认识IP协议 二、认识IP地址 三、协议报头格式 1.报头和有效载荷分离 2.20字节的固定数据 四、网段划分 1.一个小例子 2.认识IP地址的划分 3.数据的传输过程 4.特殊的IP地址 5.通信运营商 &#xff08;1&#xff09;通信运营商的作用 &#xff08;2&a…

Unity可视化Shader工具ASE介绍——9、整理节点让复杂的Shader条理更清晰

阿赵的Unity可视化Shader工具ASE介绍目录 大家好&#xff0c;我是阿赵。   继续介绍Unity可视化Shader编辑工具ASE。上一篇介绍UI特效Shader的时候&#xff0c;连接了一个Shader 这个shader不是很复杂&#xff0c;但看起来也有点乱七八糟的。接下来通过对这个shader的节点连…

微信小程序设计之主体文件app-json-pages

一、新建一个项目 首先&#xff0c;下载微信小程序开发工具&#xff0c;具体下载方式可以参考文章《微信小程序开发者工具下载》。 然后&#xff0c;注册小程序账号&#xff0c;具体注册方法&#xff0c;可以参考文章《微信小程序个人账号申请和配置详细教程》。 在得到了测…

Linux生产者消费者模型

生产者消费者模型 生产者消费者模型生产者消费者模型的概念生产者消费者模型的特点生产者消费者模型优点 基于BlockingQueue的生产者消费者模型基于阻塞队列的生产者消费者模型模拟实现基于阻塞队列的生产消费模型 生产者消费者模型 生产者消费者模型的概念 生产者消费者模式就…

ChatGPT AIGC自动生成多条件复杂计算函数

在Excel中经常会遇到多条件判断,根据不同的条件与内容显示不同的值。 例如: 需要给每个员工根据入职年限,员工等级,满意度等维度给员工发年终奖。 这在职场办公过程中经常要面临的一个问题。如销售额达到多少,取多少提成,如学生成绩在什么区间是设置为优秀还是良好等一…

Windows开启telnet功能

打开控制面板&#xff0c;找到「程序和功能」&#xff0c;点击「启动或关闭Windows功能」 勾选「Telnet客户端」 点击确定&#xff0c;等待Windows完成设置。 然后就可以啦~ 今日金句&#xff1a; 煞笔给我退退退&#xff01;&#xff01;&#xff01;

ELK 单机安装

一丶软件下载 elasticsearch: https://www.elastic.co/downloads/past-releases kibana: https://www.elastic.co/downloads/past-releases 选择对应的版本的下载即可 二、es 安装es比较简单 rpm -ivh elasticsearch-2.4.2.rpm 修改配置文件 /etc/elasticsearch/elas…