【微信小程序开发(从零到一)】——个人中心页面的实战项目(一)

news2024/11/26 23:49:41

在这里插入图片描述


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

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

👨‍💻 本文由 曼亿点 原创

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

🅰


个人中心运行展示视频


文章目录

    • 🅰
    • 前言
    • 🎶 一、实现底部标签页切换
    • 🎶 二、编辑个人资料
        • 结束语🥇


前言

  底部标签页是指”首页“和”个人中心“页之间的跳转通过wx.switchTab或者wx.reLaunch方式实现,具体操作如下:
  编写app.json页面,配置tabBar和导航栏的设置,具体代码如下:个人中心案例设计了两个标签页面,“首页”展示个人的基本信息及简单的自我介绍。图一所示:“个人中心”展示个人资料、订单物流查询、选择收货地址、客服联系方式等功能。页面效果图二所示:

图一:
在这里插入图片描述
图二:
在这里插入图片描述

  底部标签页是指”首页“和”个人中心“页之间的跳转通过wx.switchTab或者wx.reLaunch方式实现,具体操作如下:
编写app.json页面,配置tabBar和导航栏的设置,具体代码如下:“首页”与’个人中心”页面时标签之间的跳转。点击”首页“中头像上方提示语”点击跳转“,即可以跳转到”个人中心“页面,当然底部标签页面也可以实现页面的跳转。


🎶 一、实现底部标签页切换


  底部标签页是指”首页“和”个人中心“页之间的跳转通过wx.switchTab或者wx.reLaunch方式实现,具体操作如下:
  编写app.json页面,配置tabBar和导航栏的设置,具体代码如下:

{
  "pages": [
    "pages/index/index",
    "pages/person/person",
    "pages/detail/detail",
    "pages/modify/modify",
    "pages/order/order",
    "pages/address/address"
  ],
  "window": {
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "个人中心",
    "navigationBarBackgroundColor": "#f6f6f6",
    "backgroundTextStyle": "light"
  },
"tabBar": {
  "color": "#333",
  "selectedColor": "#f7982a",
  "backgroundColor": "#f6f6f6",
  "borderStyle": "white",
"list": [
  {
    "pagePath": "pages/index/index",
    "text": "首页",
    "iconPath": "images/home.png",
    "selectedIconPath": "images/home_select.png"
  },
  {
    "pagePath": "pages/person/person",
    "text": "个人中心",
    "iconPath": "images/me.png",
    "selectedIconPath": "images/me_select.png"
  }
]
},
  "style": "v2",
  "componentFramework": "glass-easel",
  "sitemapLocation": "sitemap.json",
  "lazyCodeLoading": "requiredComponents"
}

  保存测试上述代码,创建相对应得页面。接着编写pages/index/index.wxml文件,具体代码如下:

<!--pages/index/index.wxml-->
<view class="nav">
<text class="welcome">欢迎来到个人页面</text>
<image src="/images/avatar.jpg" mode="aspectFill" bindtap="changeImage"></image>
</view>
<view class="content">
<view>昵称:5秒钟的记忆</view>
<view>星座:天平座</view>
<view>兴趣:看书,旅游</view>
<view>QQ1234435565</view>
<view>电话:15644352213</view>
</view>

这里还需要图片avata.jpg,可以从博主手中获取,或者上网所示即可,把素材图片放在pages/index/index.js文件,增加changeImage()函数,实现跳转,具体的代码如下:

changeImage:function(e){
    wx.switchTab({
      url: '/pages/person/person',
    })

  然后编写page/index/index.wxss样式文件,具体代码如下:

changeImage:function(e){
    wx.switchTab({
      url: '/pages/person/person',
    })

  然后编写page/index/index.wxss样式文件,具体代码如下:

.nav{
  display: flex;
  align-items: center;
  flex-direction: column;
}
.welcome{
  font-size: 50rpx;
  color: #f7982a;
  margin: 40rpx 0;
}
.nav>image{
  width: 300rpx;
  height: 300rpx;
  border-radius: 50%;
}
.content{
  font-size: 32rpx;
  width: 400rpx;
  margin: 50rpx auto;
}
.content>view{
  text-align: left;
  padding: 10rpx 0;
  color: #f7982a;
}

🎶 二、编辑个人资料


  ”个人中心“ 页面有” 个人资料详情页面“,这也是页面之间得跳转功能,下面编写”个人资料详情页面“得代码。
  (1)进入详情页面
  接着编写pages/person/person.wxml文件,给个人资料绑定info()函数,实现页面跳转,具体代码如下:

<!--pages/person/person.wxml-->
<view class="avatar">
<image src="/images/avatar.jpg"></image>
</view>
<view class="content">
<view>
<image src="/images/iconone.png"></image>
<view>待付款</view>
</view>
<view>
<image src="/images/icontwo.png"></image>
<view>已退款</view>
</view>
<view>
<image src="/images/iconthree.png"></image>
<view>全部订单</view>
</view>
</view>
<view class="menu">
<view bindtap="info">
个人资料
<image class="arrow" src="/images/arrow.png"></image>
</view>
<view bindtap="order"> 
订单物流查询
<image class="arrow"src="/images/arrow.png"></image>
</view>
<view bindtap="address">
选择获取地址
<image class="arrow"src="/images/arrow.png"></image>
</view>
<view bindtap="contact">
客服联系方式
<image class="arrow"src="/images/arrow.png"></image>
</view>
</view>

  接着进入pages/person/person.js文件,编写info()函数,以下两种页面跳转方式都可以具体代码如下。

  //第一种方式:保存当前页面,点击页面左上角箭头,返回上一个页面
info:function(){
    wx.navigateTo({
      url: '/pages/detail/detail',
    })
  },
  //第二种方式:关闭前页面,左上角没有返回箭头,不能返回上一个页面
  order:function(e){
    wx.redirectTo({
      url: '/pages/detail/detail',
    })

在上述代码中,url表示要跳转到的”个人资料详情页面“。
  然后编写pages/preson/preson.wxss页面样式代码,具体如下:

/* pages/person/person.wxss */
page{
  background-color:#f4f4f4 ;
  font-size: 32rpx;
}
.avatar{
  width: 100%;
  background-color: #f7982a;
  height: 400rpx;
  display: flex;
  justify-content: center;
  align-items: center;
}
.avatar>image{
  width: 200rpx;
  height: 200rpx;
  border-radius: 50%;
  border: 10rpx solid rgba(0, 0, 0, 1);
}
.content{
  background-color: #fff;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 65px 0;
}
.content>view{
  flex: 1;
  text-align: center;
}
.content>view>image{
  width: 64rpx;
  height: 50rpx;
}
.menu{
  padding: 20rpx;
  background-color: #fff;
  margin-top: 20rpx;
  box-sizing: border-box;
}
.menu>view{
  padding: 20rpx;
  line-height: 60rpx;
  border-bottom: 1px solid #efefef;
  height: 60rpx;
}
.menu>view:last-child{
  border: none;
}
.arrow{
  width: 30rpx;
  height: 32rpx;
  float: right;
  margin-top: 16rpx;
}

  (2)上传头像
在”个人资料详细页“页面中,单击头像图片将会执行changeAvatar()函数,在函数中通过wx…chooseImage接口调起相机或者相册,进行拍照或者选择图片的上传。
进行pages/detail/detail.wxml文件,给image绑定上传头像changeAvatar()函数,具体代码如下:

<view class="info">
<view>
<view class="fl">头像</view>
<view class="rl">
<image src="{{imgUrl}}" mode="aspectFill" bindtap="changeAvatar"></image>
</view>
</view>
<view>

  进入pages/detail/detail.js文件,增加data数据和changeAvater()函数,具体代码如下:

data: {
gender:'女',
username:'xiaoyuer',
imgUrl:"/images/arrow.png"
  },
  changeAvatar:function(){
wx.chooseImage({
  count:1,
  sizeType:['original','compressed'],
  sourceType:['album','camera'],
  success:res=>{
    var tempFilePaths=res.tempFilePaths
    this.setData({
      imgUrl:tempFilePaths
    })
  }

})
  },

  接下来编写pages/detail/detail.wxss页面样式代码,具体如下:

/* pages/detail/detail.wxss */
page{
  background-color: #f4f4f4;
  font-size: 32rpx;
}
.info>view{
  background-color: #fff;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 20rpx;
  line-height: 80rpx;
  border-bottom: 1px solid #efefef;
  height: 80rpx;
}
info>view:last-child{
  border: none;
}
.fl{
  flex: 1;
}
.rl{
  flex: 1;
  text-align: right;
}
.info image{
  width: 50rpx;
  height: 50rpx;
  margin-top: 20rpx;
}
.info.arrow{
  width: 30rpx;
  height: 32rpx;
  float: right;
  margin: 26rpx 0 0 15rpx;
}

  还可以在pages/detail/detail.json文件中修改导航栏题,具体代码如下:```

{
  "usingComponents": {},
  "navigationBarTitleText": "个人资料详细页"
}

结束语🥇

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

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

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

相关文章

(ICLR,2024)HarMA:高效的协同迁移学习与模态对齐遥感技术

文章目录 相关资料摘要引言方法多模态门控适配器目标函数 实验 相关资料 论文&#xff1a;Efficient Remote Sensing with Harmonized Transfer Learning and Modality Alignment 代码&#xff1a;https://github.com/seekerhuang/HarMA 摘要 随着视觉和语言预训练&#xf…

Rhino-Grasshopper:小白从入门开始学习

前言&#xff1a; 小编在这里即将开启一个新系列学习课程&#xff0c;主要内容为基于Rhino的3D打印学习&#xff0c;具体包括Rhino中的Python使用&#xff0c;Grasshopper的功能&#xff0c;讲解视频会陆续更新在B站&#xff0c;希望大家多多支持&#xff01; 关于相关学习、…

list(二)和_stack_queue

嗨喽大家好&#xff0c;时隔许久阿鑫又给大家带来了新的博客&#xff0c;list的模拟实现&#xff08;二&#xff09;以及_stack_queue&#xff0c;下面让我们开始今天的学习吧&#xff01; list(二)和_stack_queue 1.list的构造函数 2.设计模式之适配器和迭代器 3.新容器de…

HTML静态网页成品作业(HTML+CSS)—— 保护环境环保介绍网页(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品演示 三、代…

公检法部门保密网文件导出,这样做才是真正的安全又便捷

公检法是司法机关的核心组成&#xff0c;也是社会管理的重要组成&#xff0c;公检法部门的业务中涉及大量的居民数据、个人隐私、司法案件等信息&#xff0c;因此&#xff0c;数据的安全性至关重要。 根据我国法律要求&#xff0c;同时基于对数据的保护需要&#xff0c;我国的公…

Vue06-el与data的两种写法

一、el属性 用来指示vue编译器从什么地方开始解析 vue的语法&#xff0c;可以说是一个占位符。 1-1、写法一 1-2、写法二 当不使用el属性的时候&#xff1a; 两种写法都可以。 v.$mount(#root);写法的好处&#xff1a;比较灵活&#xff1a; 二、data的两种写法 2-1、对象式…

discuz点微同城源码34.7+全套插件+小程序前端

discuz点微同城源码34.7全套插件小程序前后端 模板挺好看的 带全套插件 自己耐心点配置一下插件 可以H5可以小程序

重磅就业报告前美股涨势消减,标普暂别纪录高位,英伟达盘中闪崩近6%,欧央行降息预期“退烧”,欧元跳涨

标普纳指创盘中历史新高后转跌&#xff0c;道指三连涨至近两周新高&#xff1b;芯片股指和台积电美股跌落纪录高位&#xff0c;英伟达三日收创历史新高后回落&#xff1b;游戏驿站盘中一度暴拉50%。中概股指回落&#xff0c;财报后蔚来收跌6.8%。欧央行会后&#xff0c;欧元盘中…

Dvws靶场

文章目录 一、XXE外部实体注入二、No-SQL注入三、Insecure Direct Object Reference四、Mass Assignment五、Information Disclosure六、Command Injection七、SQL注入 一、XXE外部实体注入 访问http://192.168.92.6/dvwsuserservice?wsdl&#xff0c;发现一个SOAP服务。在SO…

Golang | Leetcode Golang题解之第136题只出现一次的数字

题目&#xff1a; 题解&#xff1a; func singleNumber(nums []int) int {single : 0for _, num : range nums {single ^ num}return single }

【微信小程序】页面事件

下拉刷新 上拉触底 上拉触底距离指的是触发上拉触底事件时&#xff0c;滚动条距离页面底部的距离。 可以在全局或页面的json配置文件中&#xff0c;通过onReachBottomDistance属性来配置上拉触底的距离。 小程序默认的触底距离是50x,在实际开发中&#xff0c;可以根据自己的需…

三石峰汽车生产厂的设备振动检测项目案例

汽车生产厂的设备振动检测项目 ----天津三石峰科技&#xff08;http://www.sange-cbm.com&#xff09; 汽车产线有很多传动设备需要长期在线运行&#xff0c;会出现老化、疲劳、磨损等问题&#xff0c;为了避免意外停机造成损失&#xff0c;需要加装一些健康监测设备&#xf…

002.数据分析_Pandas初识

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…

基于pulseaudio实现一个边录边播的demo

文章目录 前言一、主要APIpa_simple_newpa_simple_readpa_simple_write 二、C代码实现三、注意事项1、必须装有 libpulsedev 包2、编译方式3、运行说明 前言 通过上一讲&#xff0c;我们实现了一个加载pulseaudio的module-loopback的功能来实现侦听&#xff0c;那么除了加载模…

软件杯 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基…

【Python深度学习系列】网格搜索神经网络超参数:批量大小和迭代周期数(案例+源码)

这是我的第297篇原创文章。 一、引言 在深度学习中&#xff0c;超参数是指在训练模型时需要手动设置的参数&#xff0c;它们通常不能通过训练数据自动学习得到。超参数的选择对于模型的性能至关重要&#xff0c;因此在进行深度学习实验时&#xff0c;超参数调优通常是一个重要的…

C++初阶学习第十一弹——探索STL奥秘(六)——深度刨析list的用法和核心点

前言&#xff1a; 在前面&#xff0c;我们已经学习了STL中的string和vector&#xff0c;现在就来讲解STL中的最后一个部分——list的使用及其相关知识点&#xff0c;先说明一点&#xff0c;因为我们之前已经讲过了string和vector的接口函数等用法&#xff0c;list的这些用法与它…

【Python报错】已解决IndentationError: expected an indented block

解决Python报错&#xff1a;IndentationError: expected an indented block Python是一种非常注重可读性的编程语言&#xff0c;其中缩进是语法的一部分。如果你在使用Python时遇到了IndentationError: expected an indented block的错误&#xff0c;这意味着你的代码缩进不正确…

Bandizip 专业版正版激活码 - 超好用文件解压缩工具

要说新电脑必装的软件&#xff0c;一定少不了解压缩工具。面对各式各样的压缩包&#xff0c;总要有一个速度快、稳定安全、功能多、支持格式广的工具才行。 好多用户推荐&#xff0c;用过都说好的 Win 端解压缩工具&#xff1a;Bandizip 值得你一试&#xff01; 无论是解压速度…

Python必会的UnitTest单元测试框架详解单元测试框架

用Python搭建自动化测试框架&#xff0c;我们需要组织用例以及测试执行&#xff0c;这里博主推荐Python的标准库——UnitTest。 什么是UnitTest框架 UnitTest单元测试框架详解是xUnit系列框架中的一员&#xff0c;如果你了解xUnit的其他成员&#xff0c;那你用UnitTest单元测试…