【微信小程序开发实战项目】——个人中心页面的制作

在这里插入图片描述


👨‍💻个人主页:@开发者-曼亿点

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 曼亿点 原创

👨‍💻 收录于专栏:微信小程序开发

🅰


花店小程序


文章目录

    • 🅰
    • 前言
    • 🎶 一、鲜花的个人中心模块
      • (1)own.wxml
      • (2)own.wxss
      • (3)own.js
    • 🎶 二、我的订单
      • (1)order.wxml
      • (2)order.wxss
    • 🎶 三、我的地址
      • (1)address.wxml
      • (2)address.wxss
      • (3)address.js
        • 结束语🥇


前言

  在这个数字化的时代,鲜花不仅仅是情感的传递者,更是美好生活的点缀。为了让您能更便捷地选购心仪的花束,我们精心打造了这款网上花店微信小程序。
  鲜花,承载着爱与祝福,是浪漫与温馨的象征。然而,传统的花店购买方式往往受到时间和空间的限制,让您无法在第一时间将这份美好传递给重要的人。我们深知您对鲜花的热爱和对便捷服务的需求,因此致力于通过技术的力量,为您创造一个全新的购花体验。
  这个网上花店微信小程序,将汇聚来自世界各地的优质鲜花品种,以精美的图片和详细的介绍呈现在您眼前。无论您是为了庆祝生日、表达爱意,还是为了装饰家居,只需轻点屏幕,就能轻松挑选到最适合您的那束花。
  同时,我们还提供贴心的配送服务,确保每一朵鲜花都能以最鲜活的姿态送达您指定的地点。在这里,您不仅能享受到便捷的购物流程,还能感受到我们对品质和服务的执着追求。
  让我们一同开启这充满花香的数字之旅,让鲜花的美丽与温暖,随时伴您左右。

在这里插入图片描述


🎶 一、鲜花的个人中心模块


  在这繁花似锦的数字花园中,个人用户中心是独属于您的温馨角落。
它如同您与鲜花世界之间的专属纽带,精心记录着您每一次与美丽邂逅的点点滴滴。在这里,您的喜好、您的选择、您的每一次心动都被悉心珍藏。
  个人用户中心是您个性化体验的集中展现,它清晰呈现您的订单历史,让您随时回顾那些充满温馨与惊喜的时刻。您的收货地址被安全保管,确保每一束鲜花都能准确无误地送达您的怀抱。
  这里也是您与我们互动交流的窗口,您的建议和反馈如同璀璨星光,指引着我们不断改进与提升,为您创造更优质的服务。
它不仅是一个功能区域,更是您在鲜花之旅中的贴心伙伴,陪伴您走过每一个与花相伴的美好瞬间。

(1)own.wxml

<!-- 用户列表选项 -->
<scroll-view class='scbg' scroll-y='true'>
  <view class="parent_catainer">
    <!-- 头部 -->
    <!-- style="background-image: url('/images/persons/mind_head_bg.jpg');" -->
    <view class="container_head">
      <image class="head_img" src="/images/bar/back.jpg"></image>
      <view class="head_pers_info" bindtap="head_pers_info">
        <view class="head_pic">
          <image class="head_pic_content" mode="aspectFit" src="/images/bar/lemon.jpg" bindtap="user"></image>
        </view>
        <view class="inf_content">
          <text class="user_info" value="{{value}}"></text>
          <text class="family_info_ct_phone">花坊会员</text>
        </view>
      </view>
    </view>
    <view class="userItemListView">
    </view>
    <view class="userItemListView">
      <view class="my_priview_md" bindtap="openmyorder">
        <image class="my_priview" src="/images/bar/a.png"></image>
        <text>我的订单</text>
        <view class="arrow"></view> 
      </view>
      <view class="my_priview_md" bindtap="myaid">
        <image class="my_priview" src="/images/bar/b.png"></image>
        <text>我的收藏</text>
        <view class="arrow"></view>
      </view>
      
      <view class="my_priview_md" bindtap="mycollection">
        <image class="my_priview" src="/images/bar/c.png" ></image>
        <text>我的地址</text>
        <view class="arrow"></view>
      </view>
      <view class="my_priview_md" bindtap="contact">
        <image class="my_priview" src="/images/bar/d.png" ></image>
        <text>联系客服</text>
        <view class="arrow"></view>
      </view>
      <view class="my_priview_md" bindtap="myfriend">
        <image class="my_priview" src="/images/bar/e.png" ></image>
        <text> 关于版本号</text>
        <view class="arrow"></view>
      </view>
    </view>
 
   
  </view>
</scroll-view>

(2)own.wxss

/* 用户列表选项样式 */
page {
  width: 100%;
  height: 100%;
  background:#f0f0f0;
}
.parent_catainer{
  background:#f0f0f0;
}
 
/* 头部背景图片 */
.container_head{
  height: 370rpx;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
 
.head_img {
  position: absolute;
  width: 100%;
  height: 370rpx;
}
 
.head_pers_info{
   height: 200rpx;
   width: 100%;
   margin-bottom: 50rpx;
   justify-content: left;
   display: flex;
   align-items: center;
   flex-direction: row;
   position: absolute;
}
 
.head_pic{
  width: 120rpx;
  height: 120rpx;
  border-radius: 60rpx;
  color: #ffffff;
  align-items: center;
  display: flex;
  justify-content: center;
}
.head_pic_content{
  position: absolute;
  width: 110rpx;
  height: 110rpx;
  border-radius: 55rpx;
  background-color: white;
}
 
.head_pic{
  margin-left: 5%;
}
 
.inf_content{
  display: flex;
  flex-direction: column;
  margin-left: 10rpx;
  align-items: flex-start;
  justify-content: center;
   color: #ffffff;
   padding-bottom: 5rpx;
}
 
.user_info{
  text-align: left;
  font-size: 32rpx;
  font-weight: bold;
  margin-bottom: 8rpx;
}
 
.family_info_ct_phone{
  text-align: center;
  justify-content: center;
  font-size: 28rpx;
  margin-bottom: 2rpx;
}
 
.family_info_ct{
  text-align: center;
  justify-content: center;
  font-size: 28rpx;
  margin-bottom: 2rpx;
  width: 500rpx;
  overflow: hidden;
  white-space: nowrap;
  text-align: left;
  text-overflow: ellipsis;
}
 
.userItemListView{
  background: #fff;
  padding: 0 0rpx;
  margin: 24rpx 0;
}
 
.userItemListView > view{
  height: 94rpx;
  line-height: 94rpx;
  padding-left: 50rpx;
  border-bottom: 1rpx solid #F1F1F1;
  position: relative;
}
 
/* 移除最后一个元素的下边框 */
.userItemListView > view:last-child{
  border: none;
}
 
.my_priview_md{
  display: flex;
  align-items: center;
}
 
.my_priview{
  width: 50rpx;
  height: 50rpx;
  margin-right: 10rpx;
}
 
.arrow{
  width: 16rpx;
  height: 16rpx;
  border-top: 4rpx solid #999;
  border-right: 4rpx solid #999;
  /* 旋转45度 */
  transform: rotate(45deg);
  /* 调整位置 */
  position: absolute;
  right: 30rpx;
  top: 38rpx;
}
 
.userItemListView text{
  font-size: 30rpx;
}
 
.last_view{
   background:#f0f0f0;
   width: 100%;
   height:1200rpx;
}

(3)own.js

Page({
  contact:function(e){
wx.makePhoneCall({
  phoneNumber: '18478292935',
})
  },
  myaid:function(e){
wx.navigateTo({
  url: '/pages/collection/collection',
})
  },
  myfriend:function(e){
    wx.navigateTo({
      url: '/pages/won/won',
    })
      },
      user:function(e){
        wx.navigateTo({
          url: '/pages/users/users',
        })
          },
          openmyorder:function(e){
            wx.navigateTo({
              url: '/pages/order/order',
            })
          },
  
  /**
   * 页面的初始数据
   */
  data: {
    value:'陶继昌'
  },
  mycollection(){
    wx.navigateTo({
      url: '/pages/address/address',
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
 
    var that = this;
  },
 
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
 
  },
 
  // 退出登录
  logout: function () {
 
    wx.showModal({
      content: '确定退出登录吗?',
      cancelColor: '#666666',//666666
      confirmColor: '#666666',
      success(res) {
        if (res.confirm) {
          wx.reLaunch({
            url: '/pages/login/login'
          })
          console.log('用户点击确定')
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      },
      fail: function (res) { },//接口调用失败的回调函数
      complete: function (res) { },//接口调用结束的回调函数(调用成功、失败都会执行
    })
 
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    wx.hideHomeButton();
    wx.hideShareMenu();
  },
 
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
 
  },
 
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
 
  },
 
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
 
  },
 
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
 
  },
 
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
 
  }
})

运行结果:
在这里插入图片描述


🎶 二、我的订单


  在您的鲜花之旅中,“我的订单”犹如一本珍贵的记录册,镌刻着您与美丽花朵之间的每一次约定。
  这里是您与心仪鲜花邂逅的见证之地,每一个订单都承载着您的期待与喜悦。从您精心挑选的那一刻起,到鲜花即将送达您手中的每一步,都在“我的订单”中留下清晰的足迹。
  它不仅是一串数字和状态的罗列,更是一个个关于爱、祝福和美好的故事篇章。您可以随时回溯,重温那些为特别的人或特别的时刻准备鲜花的温馨瞬间。
  “我的订单”为您提供了清晰的脉络和安心的保障,让您对每一次鲜花的选购都了如指掌,尽享便捷与放心。

(1)order.wxml


<scroll-view class="chanpins" scroll-y="true">

<view class="danhao">
   单号:201808081102 | 时间:2024/6/7 11:44:19
</view>   
<view class="chanpin">
  <image class="chanpin-img" src="/images/hua/hua7.jpg"></image>
  <view class="chanpin-info">
    <view class="name">昆明金丝竹桃</view>
    <view class="sales">月售:11/ 库存:121</view>
    <view class="price">¥:129.00</view>
  </view>
  <view class="chanpin-num">
    <text class="mytext" hidden=""> 2</text>
  </view>
</view>
<view class="chanpin">
  <image class="chanpin-img" src="/images/hua/hau6.jpg"></image>
  <view class="chanpin-info">
    <view class="name">昆明桃红金芍</view>
    <view class="sales">月售:231/ 库存:11</view>
    <view class="price">¥:329.00</view>
  </view>
  <view class="chanpin-num">
    <text class="mytext" hidden=""> 1</text>
  </view>
</view>

<view class="jiesuan" >
   <text>【已付款】共3件商品, 产品金额:¥458 (运费¥6) </text>
</view>   
<view class="caozuo">
     <button  size='mini'>取消订单</button>
    
</view>   

</scroll-view>

(2)order.wxss

/*全部订单*/

.chanpins{
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  background:  white;
}
.danhao{ 
  font-size: 12px; color: gray;
  height: 100rpx; margin-left: 20rpx;
  border-bottom: 1rpx solid #ECECEC; 
  background: white;
  display: flex;
  align-items: center;   
}
.chanpin{
  display: flex;
  padding: 15rpx;
  height: 130rpx;
  border-bottom: 1rpx solid #ECECEC; 
  background: white; 
}
.chanpin-img{
  width: 120rpx;
  height: 120rpx;
}
.chanpin-info{
  display: flex;
  flex-direction:  column;
  align-items:  flex-start;
  flex: 1;
  margin-left: 20rpx;
}
.name{
  font-size: 30rpx; 
}
.sales{
  font-size: 25rpx;
  color: #ACACAC;text-align: left;
}
.price{
  font-size: 30rpx;
  color: red;text-align: left;
}
.chanpin-num{
  height: 50rpx;
  display: flex;
  margin-top: 30rpx;
  margin-right: 30rpx;
  line-height: 50rpx;
  font-size: 40rpx; 
}
.jiesuan{
  font-size: 13px; color: gray;
  height: 100rpx; margin-left: 20rpx;
  border-bottom: 1rpx solid #ECECEC; 
  background: white;
  display: flex;
  align-items: center;   
}
.caozuo{
  height: 100rpx;
  border-bottom: 1rpx solid #ECECEC; 
  background: white;
  display: flex;
  align-items: center;   
}

结果展示:
在这里插入图片描述


🎶 三、我的地址


  在这繁花簇拥的世界里,“我的地址”是您与芬芳约定的归属之地。
  它如同指引鲜花使者的明灯,确保每一束饱含深情与美好的花朵,都能精准无误地抵达您的心之所向。
  无论是温馨的家宅,还是繁忙的办公之地,亦或是那个充满回忆的特别角落,您只需在此轻松设定,我们就能让鲜花的芬芳如约而至。
  “我的地址”是您与鲜花之间的信任纽带,是连接您和美好瞬间的重要桥梁。让我们用精准的送达,为您的生活增添更多绚烂色彩。

(1)address.wxml

<view class="content"> 
  <view class="hr"></view>
  <view class="bg">
    <form bindsubmit="formSubmit" bindreset="formReset">
      <view class="item">
        <view class="name">联系人</view>
        <view class="value">
          <input type="text" placeholder="收货人姓名" placeholder-class="holder" name="userName" value= "{{userName}}"/>
        </view>
      </view>
      <view class="line"></view>
      <view class="item">
        <view class="name">性别</view>
        <view class="value">
        <radio-group class="radin-group" bindchange="radioChange" name="sex">
          <radio value="0" checked="{{sex==0}}">先生</radio>
          <radio value="1" checked="{{sex==1}}">女士</radio>
        </radio-group>
        </view>
      </view>
      <view class="line"></view>
      <view class="item">
        <view class="name">手机号码</view>
        <view class="value">
          <input type="text" placeholder="您的联系电话" placeholder-class="holder" name="phone" value= "{{phone}}"/>
        </view>
      </view>
      <view class="line"></view>
      <view class="item">
        <view class="name">所在城市</view>
        <view class="value">
        <picker mode="region" bindchange="bindRegionChange" value="{{region}}" custom-item="{{customItem}}" name="city">
          <view class="picker">
            {{region[0]}}{{region[1]}}{{region[2]}}
          </view>
        </picker>
        </view>
        </view>
          <view class="line"></view>
          <view class="item">
            <view class="name">收货地址</view>
            <view class="value">
              <input type="text" placeholder="选择收货地址" placeholder-class="holder" name="address" bindtap= "chooseLocation" value="{{address}}" />
            </view>

          </view>
          <view class="line"></view>
          <view class="item">
            <view class="name">门牌号</view>
            <view class="value">
              <input type="text" placeholder="请输入楼号门牌号详细信息" placeholder-class="holder" name="num" value="{{num}}"/>
            </view>
          </view>
          <view class="line"></view>
          <button class="btn" form-type="submit">保存</button>
          <view class="tip">{{tip}}</view>
        </form>
    </view>
</view>

(2)address.wxss

.content{
  background-color: #F9F9F8;
  height: 700px;
  font-family: "Microsoft YaHei";
}
.hr{
  height: 10px;
}
.bg{
  background-color: #ffffff;
  padding:10px;
}
.item{
  display: flex;
  flex-direction: row;
  height: 60px;
  line-height: 60px;
  align-items: center;
}
.name{
  width:20%;
  margin-left: 10px;
  font-size: 14px;
  font-weight: bold;
}
.value{
  width: 80%;
  line-height: 60px;
  margin-left: 10px;
  font-size: 14px;
}
.holder{
  color:#AEAEAE;
  font-size: 14px;
}
.line{
  border: 1px solid #cccccc;
  opacity: 0.2;
}
.btn{
  margin-top: 20px;
  background-color: #FF0000;
  color: #ffffff;
}
.tip{
margin-top:10px;
font-size: 12px;
color: #D53E37;
text-align: center;
}

(3)address.js

var app = getApp();
Page({
  data: {
    index: 0,
    tip: '',
    address: '',		//显示的地址
    region: ['湖南省', '常德市', '鼎城区'],
    customItem: '全部',
    addressId: '',
    sex: '',
    phone: '',
    num: '',
    userName: '',
  },
  onLoad: function (e) {
    var addressId = e.addressId;
    if (addressId != null &&addressId != '') {
    this.setData({ addressId: addressId });
    this.loadAddressInfo(addressId);
    }
  },
  loadAddressInfo: function (addressId) {		//获取地址详情
    var that = this;
    wx.cloud.callFunction({ 				//调用云函数
      name: 'getAddressInfo',
      data:{
        _id: addressId
      },
      success: res => {
        console.log('[云函数] [getAddressInfo] 地址信息: ', res);
        var addresses = res.result.data;
        that.setData({ userName: addresses[0].personName });
        that.setData({ sex: addresses[0].gender });
        that.setData({ phone: addresses[0].contactNumber });
        that.setData({ num: addresses[0].houseNumber });
        that.setData({ address: addresses[0].address });
        var cities = addresses[0].city;
        var region = cities.split(',');
        that.setData({ region: region });
      },
      fail: err => {
        console.error('[云函数] [getAddressInfo] 调用失败', err);
      }
    })
  },
  bindPickerChange: function (e) {
    this.setData({
      index: e.detail.value
    });
  },
  formSubmit: function (e) {
    var citys = e.detail.value.city; 			//所在城市
    var that = this;
    var personName = e.detail.value.userName; 	//联系人
    var gender = e.detail.value.sex; 			//性别
    var contactNumber = e.detail.value.phone; 	//手机号
    var address = e.detail.value.address; 		//收货地址
    var houseNumber = e.detail.value.num; 		//门牌号
    var citys = e.detail.value.city; 			//所在城市

    var city = citys[0];
    if (citys[1] != '全部') {
      city += ',' + citys[1];
    }
    if (citys[2] != '全部') {
      city += ',' + citys[2];
    }
    var addressId = this.data.addressId;
    if (addressId == null || addressId == '') {
      //新增地址
      that.addressAdd(personName, gender, contactNumber, address, houseNumber, city);
    }else{
      //修改地址
      that.addressEdit(personName, gender, contactNumber, address, houseNumber, city, addressId);
    }
  },
  //新增地址
  addressAdd: function (personName, gender, contactNumber, address, houseNumber, city){ 
    wx.cloud.callFunction({ 	//调用云函数
      name: 'addressAdd',
      data: {
        personName: personName,
        gender: gender,
        contactNumber: contactNumber,
        address: address,
        houseNumber: houseNumber,
        city: city
      },
      success: res => {
        console.log('[云函数] [addressAdd] 地址添加返回信息: ', res);
        var errMsg = res.result.errMsg;
        if (errMsg == "collection.add:ok") {
          wx.showToast({
            title: '成功',
            icon: 'success',
            duration: 2000,
            success: function () {
              wx.reLaunch({
                url: '../address/address'
              })
            }
          })
        }
      },
      fail: err => {
        console.error('[云函数] [addressAdd] 调用失败', err);
      }
    })
  },
  addressEdit: function (personName, gender, contactNumber, address, houseNumber, city, addressId) {								//新增地址
    wx.cloud.callFunction({ 	//调用云函数
      name: 'addressEdit',
      data: {
        personName: personName,
        gender: gender,
        contactNumber: contactNumber,
        address: address,
        houseNumber: houseNumber,
        city: city,
        _id: addressId
      },
      success: res => {
        console.log('[云函数] [addressEdit] 地址修改返回信息: ', res);
        var errMsg = res.result.errMsg;
        if (errMsg == "document.update:ok") {
          wx.showToast({
            title: '成功',
            icon: 'success',
            duration: 2000,
            success: function () {
              wx.reLaunch({
                url: '../address/address'
              })
            }
          })
        }
      },
      fail: err => {
        console.error('[云函数] [addressEdit] 调用失败', err);
      }
    })
  },
  chooseLocation: function () {
    var page = this;
    wx.chooseLocation({
      type: 'gcj02',
      success: function (res) {
        var address = res.name;
        var lat = res.latitude
        var lon = res.longitude
        page.setData({
          address: address
        })
      }
    })
  },
  bindRegionChange: function (e) {
    console.log('picker发送选择改变,携带值为', e.detail.value)
    this.setData({
      region: e.detail.value
    })
  }
})

结果展示:
在这里插入图片描述


结束语🥇

以上就是微信小程序之列表渲染
持续更新微信小程序教程,欢迎大家订阅系列专栏🔥微信小程序
你们的支持就是曼亿点创作的动力💖💖💖
请添加图片描述

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

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

相关文章

App Cleaner Uninstaller 8.3.0激活版 最佳卸载程序和清理助手

App Cleaner & Uninstaller 完全安全地删除 Mac 上的程序&#xff0c;删除应用程序的残留物&#xff0c;管理扩展程序和启动程序。 App Cleaner & Uninstaller 8.3.0激活版下载 卸载应用程序和所有不需要的垃圾文件 当您将应用程序拖放到废纸篓时&#xff0c;请检查您…

VS2019_新建窗体应用文件SOP

文章目录 1. 打开VS2. 创建新项目3. 选择Windows窗体应用4. 起名&#xff0c;选位置&#xff0c;框架版本选择4.5及之后&#xff0c;这里选的4.85. 新建完成 1. 打开VS 2. 创建新项目 3. 选择Windows窗体应用 注意要选.NET的 4. 起名&#xff0c;选位置&#xff0c;框架版本…

分布式IO模块软件配置

组态接口模块 1、打开网络视图 2、拖拽出ET200SP 3、双击ET200SP的图片&#xff0c;进入从站配置 总线适配器的组态更换 关于IO地址分配&#xff0c;需要建立好子网通信后&#xff0c;在主机上配置。 可以看到IP 和设备名 设备与控制器的Profinet连接 先找到设备名称再找…

Python股票计算小程序(字符串格式化练习)

要求&#xff1a;打印的第一行使用f控制&#xff0c;第二行打印使用占位符&#xff0c;股价输出保留两位小数。 # 股价计算小程序 name"周氏集团" stock_price19.99 stock_code "9283" stock_price_daily_growth_factor1.2 growth_days7print(f"公司…

tableau基本表的使用 - 6

基本表的使用 1. 基本表1.1 基本表的使用 2. 凸显表的使用2.1 使用一2.2 使用二2.3 二值凸显表 1. 基本表 1.1 基本表的使用 获取行 文本标签 2. 凸显表的使用 2.1 使用一 点击智能显示&#xff0c;点击凸显表 2.2 使用二 标记&#xff1a;方块记录数&#xff1a;颜色…

【深度学习基础】环境搭建 Linux报错bash: conda: command not found...

目录 一、 问题描述二、 解决方法1. 在.bashrc文件中添加环境变量2. 卸载重装anconda 三、总结 一、 问题描述 在linux环境下安装anaconda时候报错&#xff1a;bash: conda: command not found… 二、 解决方法 1. 在.bashrc文件中添加环境变量 参考链接&#xff1a;【解决】…

Temu是什么?Temu自养号测评有什么优势?

一、 Temu是什么&#xff1f;Temu是拼多多于海外线的跨境电商平台&#xff0c;“Temu”这个名字的含义也和拼多多的意思相近。Temu跨境电商自上线以来&#xff0c;下载量不断攀升&#xff0c;发展势头一片大好&#xff0c;击穿地板价的商品在欧美市场掀起了一阵狂潮&#xff0c…

SpringAOP的坑

AOP中几种常见的通知类型及其基本作用&#xff1a; Before&#xff1a;前置通知&#xff0c;在目标方法执行之前执行。After&#xff1a;后置通知&#xff0c;无论方法执行结果如何&#xff08;包括异常&#xff09;&#xff0c;都会在目标方法执行之后执行。AfterReturning&a…

自动驾驶算法———车道检测(一)

“ 在本章中&#xff0c;我将指导您构建一个简单但有效的车道检测管道&#xff0c;并将其应用于Carla 模拟器中捕获的图像。管道将图像作为输入&#xff0c;并产生车道边界的数学模型作为输出。图像由行车记录仪&#xff08;固定在车辆挡风玻璃后面的摄像头&#xff09;捕获。…

原生APP开发的优势

原生APP开发是指使用特定的编程语言和开发工具&#xff0c;针对特定的操作系统平台进行开发的应用程序。相比于混合开发和Web开发&#xff0c;原生APP开发具有以下优势。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 性能更优 原…

单一设备上的 2 级自动驾驶:深入探究 Openpilot 的奥秘

Level 2 Autonomous Driving on a Single Device: Diving into the Devils of Openpilot 单一设备上的 2 级自动驾驶&#xff1a;深入探究 Openpilot 的奥秘 Abstract Equipped with a wide span of sensors, predominant autonomous driving solutions are becoming more m…

文件上传漏洞:upload-labs靶场安装和实践

一、upload-labs靶场安装 安装&#xff1a;Windows下的Upload-labs环境搭建(Upload文件夹不存在报错&#xff09;_upload-labs文件夹不存在-CSDN博客 当安装好phpstudy之后&#xff0c;在网址栏输入&#xff1a;localhost或127.0.0.1&#xff0c;如果没问题&#xff0c;就将下…

重塑智慧生活想象 Yeelight易来举行2024年战略及新品发布会圆满成功

7月9日&#xff0c;智能照明品牌Yeelight易来在广州举行“光为境和无界”——2024年Yeelight易来战略&新品发布会&#xff0c;此次发布会不仅展示了易来在新的一年中取得的显著业绩增长&#xff0c;还发布了多款引领行业潮流的智能新品。同时&#xff0c;发布会还邀请了权威…

10、Python之写出更加Pythonic的代码:unpacking拆包机制

引言 有些小伙伴有其他编程语言的学习、使用的经验&#xff0c;然后迁移到Python。一般会比完全的新手小白&#xff0c;更快速地把Python用起来。这是他们的优势&#xff0c;但也是他们的劣势。 之所以这么说&#xff0c;是因为从其他编程语言带过来的&#xff0c;除了相通的编…

Gamma生成ppt替代软件推荐!这3款AI工具不容错过!

在各类信息层出不穷的当下&#xff0c;让信息以最有效的方式传递&#xff0c;已成为我们面临的一大挑战。而PPT作为一种广泛使用的信息展示工具&#xff0c;其设计和制作更是影响信息传递效果的关键。 想要制作出既吸引人又具有专业感的PPT&#xff0c;却发现这并非易事&#…

一站式短视频矩阵开发,高效托管!

短视频矩阵系统源码SaaS解决方案提供全面的开发服务&#xff0c;包括可视化视频编辑、矩阵式内容分发托管以及集成的多功能开发支持。 短视频矩阵&#xff1a;引爆您的数字营销革命 短视频矩阵系统是一套多功能集成解决方案&#xff0c;专为提升在短视频平台上的内容创作、管理…

职升网:考取中专文凭的途径主要有三种!

考取中专文凭的途径主要有三种&#xff1a;成人高考、网络教育和自学考试。以下是针对每种途径的详细解释和说明&#xff1a; 成人高考 适合人群&#xff1a;适合已经工作的成年人&#xff0c;特别是希望在工作之余提升学历的人群。 报考层次&#xff1a;可以选择高起专或高…

Transformer中的编码器和解码器结构有什么不同?

Transformer背后的核心概念&#xff1a;注意力机制&#xff1b;编码器-解码器结构&#xff1b;多头注意力等&#xff1b; 例如&#xff1a;The cat sat on the mat&#xff1b; 1、嵌入&#xff1a; 首先&#xff0c;模型将输入序列中的每个单词嵌入到一个高维向量中表示&…

python3 ftplib乱码怎么解决

其实很简单。ftplib.FTP里面有个参数叫encoding。 如上图最后一行。所以在使用FTP时&#xff0c;主动指定编码格式即可。 ftp ftplib.FTP() ftp.encoding "utf-8" 再使用就可以了。

阻尼振动的可视化 包括源码和推导

阻尼振动的可视化 包括源码和推导 flyfish 牛顿第二定律&#xff08;加速度定律&#xff09; 胡克定律&#xff08;Hooke‘s Law&#xff09; 阻尼振动是指在振动系统中&#xff0c;由于阻力或能量损耗导致振动幅度随时间减小的现象。 左边为无阻尼&#xff0c;右边为有阻尼…