“个人中心”:展示个人资料、订单物流查询、选择收货地址、客服联系方式 首页:展示个人的基本信息及简单的自我介绍。

***实现步骤:

1. 全局页面配置

1.1 创建空白项目
1.2 准备素材图片:复制/images
1.3 在全局页面 app.json 实现代码,包括页面配置 tabBar***
{
“pages”: [
“pages/index/index”,
“pages/person/person”,
“pages/detail/detail”,
“pages/modify/modify”,
“pages/order/order”,
“pages/address/address”
],
“window”: {
“backgroundTextStyle”: “light”,
“navigationBarBackgroundColor”: “#f7982a”,
“navigationBarTitleText”: “个人中心”,
“navigationBarTextStyle”: “white”
},
“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”
}
]
}
}

2. 主页/pages/index/index 实现代码

2.1 index.js代码
// pages/index/index.js
Page({
changeImage: function(e) {
// 第1种方式:只能跳转到tabBar页面
wx.switchTab({
url: ‘/pages/person/person’
})
// 第2种方式:可以跳转到tabBar或者非tabBar页面
// wx.reLaunch({
// url: ‘/pages/person/person’
// })
}
})

2.2 index.json 代码
{}
2.3 index.wxml代码

欢迎来到我的个人页

昵称:5秒钟的记忆
星座:天秤座
兴趣:看书、旅游
QQ:243233****
电话:152****1605

2.4 index.wxss代码
/* pages/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;
}

3. 主页/pages/person/ person 实现代码

3.1 person.js代码
// pages/person/person.js
Page({
info: function() {
// 保留当前页面,点击页面左上角箭头,返回上一个页面
wx.navigateTo({
url: ‘/pages/detail/detail’,
})
},
order: function(e) {
// 跳转到订单查询页面
// wx.redirectTo({
// url: ‘/pages/order/order’,
// })
wx.navigateTo({
url: ‘/pages/order/order’,
})
},
address: function() {
wx.navigateTo({
url: ‘/pages/address/address’, })
},
contact: function (e) {
// 调用拨打电话API
wx.makePhoneCall({
phoneNumber: ‘400-321’ // 该电话号码为模拟数据
})
}
})

3.2 person.json 代码

3.3 person.wxml代码

待付款 已退款 全部订单 个人资料 订单物流查询 选择收获地址 客服联系方式

3.4 person.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, 0.1);
}

.content {
background-color: #fff;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 65rpx 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;
}

4. 主页/pages/detail/ detail实现代码

4.1 detail.js代码
// pages/detail/detail.js
Page({

data: {
gender: ‘女’,
username: ‘xiaoyuer’,
imgUrl: “/images/avatar.jpg”
},

changeAvatar: function() {
wx.chooseImage({
count: 1,
sizeType: [‘original’, ‘compressed’],
sourceType: [‘album’, ‘camera’], success: res => {
// tempFilePath可以作为img标签的src属性显示图片
var tempFilePaths = res.tempFilePaths
this.setData({
imgUrl: tempFilePaths
})
}
})
},

jump: function(e) {
// 跳转到“个人资料修改页”
wx.navigateTo({
// 为了避免用户名中的特殊字符破坏字符串结构,使用encodeURIComponent()编码
url: ‘/pages/modify/modify?username=’ + encodeURIComponent(this.data.username) +
‘&gender=’ + encodeURIComponent(this.data.gender)
})
}
})

4.2 detail.json 代码
{
“navigationBarTitleText”: “个人资料详情页”
}

4.3 detail.wxml代码

头像 昵称 {{username}} 性别 {{gender}} 修改资料

4.4 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;
}

  1. 主页/pages/modify/ modify 实现代码
    5.1 modify.js代码
    // pages/modify/modify.js
    Page({
    data: {
    username: ‘’,
    gender: ‘男’
    },
    onLoad: function(options) {
    this.setData({
    // 收到数据后使用decodeURIComponent()解码
    username: decodeURIComponent(options.username),
    gender: decodeURIComponent(options.gender)
    })
    },
    formSubmit: function(e) {
    // 表单返回的所有数据
    var formData = e.detail.value
    // 获取上一个页面的对象
    var pages = getCurrentPages()
    var prevPage = pages[pages.length - 2]
    // 调用上一个页面的 setData() 方法,把数据存到上一个页面中去
    prevPage.setData({
    username: formData.username,
    gender: formData.gender
    })
    // 返回到上一个页面
    wx.navigateBack()
    }
    })

5.2 modify.json 代码

5.3 modify.wxml代码

姓名: 性别: 男 女 保存

5.4 modify.wxss代码

6. 主页/pages/order/ order实现代码

6.1 order .js代码
// pages/order/order.js
Page({
data: {
no: null, // 运单号
company: [‘sf’, ‘sto’, ‘yt’, ‘yd’, ‘tt’], // 传递给快递查询接口的值
com: [‘顺丰’, ‘申通’, ‘圆通’, ‘韵达’, ‘天天’], // 用于显示在页面中的快递名称
index: 0, // 用户选择的快递公司的数组索引
expressInfo: null, // 查询到的物流信息
},
search: function() {
wx.showLoading({
title: ‘加载中’,
})
// 在 https://www.juhe.cn/docs/api/id/43 注册后可申请数据,将获得的接口填入url
// key值在个人中心-我的数据,可获取AppKey
var key = ‘’
wx.request({
url: ‘http://v.juhe.cn/exp/index?key=’ + key + ‘&com=’ +
this.data.company[this.data.index] + ‘&no=’ + this.data.no, method: ‘GET’,
header: {
‘content-type’: ‘application/json’ // 默认值
},
success: res => {
console.log(res.data);
this.setData({
expressInfo: res.data
})
wx.hideLoading()
}
})
},
// 获取运单号的值
noInput: function(e) {
this.setData({
no: e.detail.value
})
},
// 获取快递公司的索引
companyInput: function(e) {
this.setData({
index: e.detail.value
})
}
})

6.2 order .json 代码
{
“navigationBarTitleText”: “物流信息”
}

6.3 order.wxml代码

欢迎进入快递查询系统

请选择快递公司:

{{com[index]}}

运单号:

查询

【{{item.datetime}}】{{item.remark}}

6.4 order.wxss代码
/* pages/order/order.wxss */

.container {
padding: 20rpx;
}

.container > .title {
text-align: center;
}

button {
width: 300rpx;
height: 80rpx;
line-height: 80rpx;
margin: 30rpx auto;
}

.section {
width: 100%;
box-sizing: border-box;
margin-top: 80rpx;
overflow: hidden;
}

.section > .title {
width: 20%;
float: left;
font-size: 28rpx;
text-align: right;
line-height: 42rpx;
}

.section > .input {
border: 1px solid gainsboro; width: 70%;
padding: 5rpx 10rpx;
float: right;
font-size: 32rpx;
}

.orderlist {
height: 300px;
}

.orderlist view {
border-bottom: 1px solid #efefef;
font-size: 32rpx;
padding: 10rpx 0;
}

.orderlist text {
color: red;
font-size: 28rpx;
}

7. 主页/pages/address/ address实现代码

7.1 address.js代码
// pages/address/address.js
Page({
data: {
addressInfo: null
},
chooseAddress() {
wx.chooseAddress({
// 成功之后,把所有数据存放在addressInfo里,在wxml中调用
success: res => {
this.setData({
addressInfo: res
})
},
// 接口返回失败信息,打印在控制台中
fail: err => {
console.log(err)
}
})
}
})
7.2 address.json 代码

7.3 address.wxml代码

收货人姓名 {{ addressInfo.userName }} 邮编 {{ addressInfo.postalCode }} 地区 {{ addressInfo.provinceName }} {{ addressInfo.cityName }} {{ addressInfo.countyName }} 收货地址 {{ addressInfo.detailInfo }} 国家码 {{ addressInfo.nationalCode }} 手机号码 {{ addressInfo.telNumber }} 获取收货地址

7.4 address.wxss代码
page {
background-color: #f6f6f6;
font-family: “微软雅黑”;
font-size: 30rpx;
color: #353535; }

.list {
font-size: 36rpx;
}

.list > view {
background-color: #fff;
padding: 20rpx;
border-bottom: 1rpx solid #e0e0e0;
display: flex;
}

.list .head {
width: 210rpx;
}

.list .body {
flex: 1;
}

.add {
width: 100%;
background-color: #fff;
position: absolute;
bottom: 0;
padding: 15rpx 15rpx 30rpx 40rpx;
border-top: 1rpx solid #e0e0e0;
}

.add > image {
width: 50rpx;
margin-top: 15rpx;
margin-right: 20rpx;
}

.add > .left {
float: left;
}

.add > .right {
width: 25rpx;
float: right;
margin-right: 60rpx; padding-top: 15rpx;
color: #e0e0e0;
}

.add > .text {
float: left;
margin-top: 20rpx;
}

8. 完善功能选项

8.1 修改客服联系电话为:400-400-955-911
8.2 新增物流快递选项:如中通、德邦等
8.3 修改首页为自己的信息(个人简介)
8.4 新增个人资料详细页内容(比如个人爱好、性格特征等)
8.5 收货地址的提取

images文件夹包含的图片
me.png
me_select.png
right.png
iconthree.png

avatar.jpg
home.png
arrow.png
icontwo.png
6.pnghome_select.png

多页面实现-个人中心相关推荐

  1. 小程序的登录页面与个人中心页面的交互

    表单的验证 前端验证 // 手机表单数据 let {phone, password} = this.data // 验证密码为空 if(!phone) { wx.showToast({ title: ...

  2. 新的phpcms无论是静态还是动态页面还是会员中心的头像

    <script>$(function(){$.ajax({type:'GET',url:'{siteurl($siteid)}/api.php?op=user',dataType:'jso ...

  3. code标签无法渲染html,【菜鸟笔记】记一次django无法正常在ie和edge浏览器渲染html页面-站长资讯中心...

    如图所示,django无法渲染html显示成下载文件了 一步一步的从render ==>HttpResponse ==>HttpResponseBase 找到 即django文件夹下的ht ...

  4. 【UI设计】【Photoshop系统设计大作业】【5个页面(引导页\首页*2\个人中心页\登录页)、5000字+实验报告、视频教程】

    目   录 1.实验题目 2.实验报告展示图 3.素材展示 4.PSD文件---效果展示 5.操作视频 6.PSD文件获取方式 1.实验题目         2.实验报告展示图 2020年5月21日~ ...

  5. 【愚公系列】2022年11月 uniapp专题-优购电商-个人中心页面

    文章目录 前言 一.个人中心页面 前言 个人中心的信息复杂度与产品本身有关.体系越庞大的产品,对应个人中心页面需要承载的内容越多,结构势必复杂. 一般平台型电商的个人中心页面必须涵盖:用户基础信息.全 ...

  6. 如何用html5做个人中心,个人中心页面从思考到设计全过程

    原标题:个人中心页面从思考到设计全过程 最近刚做完一个项目,我发现我的设计效率相比之前竟然提升了30%以上,在以前做界面时总是会纠结采用什么样式,什么布局.而现在在看了原型之后就大概知道我要怎么做了, ...

  7. Unity UI和引用的管理中心

    我们来谈谈Unity的UI, 通常会写一些UI页面,当A页面需要去操作B页面的时候. 至少要获取B页面的引用吧! 一般新人都会在组件的写一个public GameObject UIB页面的属性, 然后 ...

  8. 页面放在哪_思维制胜!PPT内容巨多的页面,这样排版更高大上

    嗨,各位木友们好呀,我是小木. 上个星期忙着搬家-都快把我累成大小便失禁了- 我这人状态不佳的时候写不出啥好东西,所以我觉得与其用水货敷衍大家,还不如干脆停更一个星期,等休息好了再来跟大家大战三百回合 ...

  9. 解决:更改短信中心号码不能及时更新显示

    [测试步骤]: 1.进入短信界面 2.菜单-设置 3.修改短信中心号码(Set the SIM's smsc number) 保存 [测试结果]:提示保存成功,但是号码没有改变,退出重新进入设置才会看 ...

最新文章

  1. 985博士《深度学习》手推公式笔记开源PDF下载!
  2. [原]动态创建Web控件制做计算器
  3. dwa的区别 teb_teb_local_planner安装及使用
  4. 用python写一个简单的爬虫_用Python编写一个简单的爬虫
  5. Flink的Group by window图示(转载)
  6. wmode解决flash透明及层深问题
  7. 开放计算架构:蚂蚁金服是如何用一套架构容纳所有计算的?
  8. ArcGiS/ArcInfo/ArcEditor/ArcMap/ArcView的区别
  9. python不会怎么办_怕你还不会Python函数,我特意为你整理了一篇博客
  10. django默认缓存是多大_半个月搞定Django绝不是空话
  11. 杭电1203I NEED A OFFER!
  12. ssh访问限制 /etc/hosts.allow 和/etc/hosts.deny 详解
  13. wm8978 控制接口,
  14. (转)Apple Push Notification Services in iOS 6 Tutorial: Part 1/2
  15. 28 篇论文、6 大主题带你一览 CVPR 2020 研究趋势
  16. 【CSS-定位和浮动】
  17. CCF 201604-2 俄罗斯方块
  18. 路灯问题 (贪心算法)
  19. 部署-Mycat-Server-1.6.7.4安装与配置(CentOS 7.7)
  20. ROS学习| navigation基本导航

热门文章

  1. 【正点原子FPGA连载】第十九章IP核之双端口RAM实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
  2. CentOS 7.4 安装部署 hadoop 2.6 文档 V1.3
  3. 自动计算所有包围盒的中心点
  4. linux图形界面没有输入法,fcitx 输入法看不到选词,上面键盘也不见了!
  5. 离散随机变量和连续随机变量_随机变量深度崩溃课程
  6. QQ功能测试(看点模块)
  7. Docker curriculum (2): 构建自己的镜像
  8. gms认证流程_【热点资讯】详解Google GMS认证流程可大大缩短终端手机上市时间...
  9. 十九、RTC实时时钟
  10. hadoop之MapReduce统计选修课程人数,不及格门数,选课人数