多页面实现-个人中心
“个人中心”:展示个人资料、订单物流查询、选择收货地址、客服联系方式 首页:展示个人的基本信息及简单的自我介绍。
***实现步骤:
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;
}
- 主页/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
多页面实现-个人中心相关推荐
- 小程序的登录页面与个人中心页面的交互
表单的验证 前端验证 // 手机表单数据 let {phone, password} = this.data // 验证密码为空 if(!phone) { wx.showToast({ title: ...
- 新的phpcms无论是静态还是动态页面还是会员中心的头像
<script>$(function(){$.ajax({type:'GET',url:'{siteurl($siteid)}/api.php?op=user',dataType:'jso ...
- code标签无法渲染html,【菜鸟笔记】记一次django无法正常在ie和edge浏览器渲染html页面-站长资讯中心...
如图所示,django无法渲染html显示成下载文件了 一步一步的从render ==>HttpResponse ==>HttpResponseBase 找到 即django文件夹下的ht ...
- 【UI设计】【Photoshop系统设计大作业】【5个页面(引导页\首页*2\个人中心页\登录页)、5000字+实验报告、视频教程】
目 录 1.实验题目 2.实验报告展示图 3.素材展示 4.PSD文件---效果展示 5.操作视频 6.PSD文件获取方式 1.实验题目 2.实验报告展示图 2020年5月21日~ ...
- 【愚公系列】2022年11月 uniapp专题-优购电商-个人中心页面
文章目录 前言 一.个人中心页面 前言 个人中心的信息复杂度与产品本身有关.体系越庞大的产品,对应个人中心页面需要承载的内容越多,结构势必复杂. 一般平台型电商的个人中心页面必须涵盖:用户基础信息.全 ...
- 如何用html5做个人中心,个人中心页面从思考到设计全过程
原标题:个人中心页面从思考到设计全过程 最近刚做完一个项目,我发现我的设计效率相比之前竟然提升了30%以上,在以前做界面时总是会纠结采用什么样式,什么布局.而现在在看了原型之后就大概知道我要怎么做了, ...
- Unity UI和引用的管理中心
我们来谈谈Unity的UI, 通常会写一些UI页面,当A页面需要去操作B页面的时候. 至少要获取B页面的引用吧! 一般新人都会在组件的写一个public GameObject UIB页面的属性, 然后 ...
- 页面放在哪_思维制胜!PPT内容巨多的页面,这样排版更高大上
嗨,各位木友们好呀,我是小木. 上个星期忙着搬家-都快把我累成大小便失禁了- 我这人状态不佳的时候写不出啥好东西,所以我觉得与其用水货敷衍大家,还不如干脆停更一个星期,等休息好了再来跟大家大战三百回合 ...
- 解决:更改短信中心号码不能及时更新显示
[测试步骤]: 1.进入短信界面 2.菜单-设置 3.修改短信中心号码(Set the SIM's smsc number) 保存 [测试结果]:提示保存成功,但是号码没有改变,退出重新进入设置才会看 ...
最新文章
- 985博士《深度学习》手推公式笔记开源PDF下载!
- [原]动态创建Web控件制做计算器
- dwa的区别 teb_teb_local_planner安装及使用
- 用python写一个简单的爬虫_用Python编写一个简单的爬虫
- Flink的Group by window图示(转载)
- wmode解决flash透明及层深问题
- 开放计算架构:蚂蚁金服是如何用一套架构容纳所有计算的?
- ArcGiS/ArcInfo/ArcEditor/ArcMap/ArcView的区别
- python不会怎么办_怕你还不会Python函数,我特意为你整理了一篇博客
- django默认缓存是多大_半个月搞定Django绝不是空话
- 杭电1203I NEED A OFFER!
- ssh访问限制 /etc/hosts.allow 和/etc/hosts.deny 详解
- wm8978 控制接口,
- (转)Apple Push Notification Services in iOS 6 Tutorial: Part 1/2
- 28 篇论文、6 大主题带你一览 CVPR 2020 研究趋势
- 【CSS-定位和浮动】
- CCF 201604-2 俄罗斯方块
- 路灯问题 (贪心算法)
- 部署-Mycat-Server-1.6.7.4安装与配置(CentOS 7.7)
- ROS学习| navigation基本导航
热门文章
- 【正点原子FPGA连载】第十九章IP核之双端口RAM实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
- CentOS 7.4 安装部署 hadoop 2.6 文档 V1.3
- 自动计算所有包围盒的中心点
- linux图形界面没有输入法,fcitx 输入法看不到选词,上面键盘也不见了!
- 离散随机变量和连续随机变量_随机变量深度崩溃课程
- QQ功能测试(看点模块)
- Docker curriculum (2): 构建自己的镜像
- gms认证流程_【热点资讯】详解Google GMS认证流程可大大缩短终端手机上市时间...
- 十九、RTC实时时钟
- hadoop之MapReduce统计选修课程人数,不及格门数,选课人数