如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。tabBar 中的 list 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。
下面是我写的tabbar代码。其中有四个参数,pagePath(页面路径,必须在 pages 中先定义),text(tab 上按钮文字),iconPath(图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效,不支持网络图片),selectedIconPath(选中时的图片路径)。
"tabBar": {
"list": [
{
"pagePath": "pages/teachers/teachers",
"text": "评教",
"iconPath": "images/ViewGallery1.png",
"selectedIconPath": "images/ViewGallery.png"
},
{
"pagePath": "pages/info/info",
"text": "我的",
"iconPath": "images/account1.png",
"selectedIconPath": "images/account.png"
}
]
}
效果如图所示:
下面是我的修改密码的js代码:先获取前台输入的数据,并进行判断,密码不能为空且输入的两次密码必须一致,用POST方式访问接口,返回数据,并显示出信息(正确或错误),如果修改成功则删除本地缓存,并跳转到登录页。
formSubmit:function (e){
console.log(e);
var oldpwd = e.detail.value.oldpwd;//旧密码
var newpwd = e.detail.value.newpwd;//新密码
var pwd = e.detail.value.pwd;//确认密码
var student = wx.getStorageSync('student');
if(oldpwd=='' || newpwd=='' ||pwd==''){
wx.showToast({
title: '密码不能为空!',
icon: 'none',
duration: 1000
})
}else if(newpwd != pwd){
wx.showToast({
title: '两次密码不一致!',
icon: 'none',
duration: 1000
})
}else{
// console.log(oldpwd);
// console.log(newpwd);
// console.log(student.no);
wx.request({
url: "",
method :'POST',
data: {
no:student.no,
oldpwd:oldpwd,
newpwd:newpwd
},
header: {
'content-type': 'application/x-www-form-urlencoded' // 默认值
},
success: function (res) {
console.log(res);
if (res.data.error) {
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000,
success: function () {
wx.clearStorageSync();
setTimeout(function () {
wx.redirectTo({
url: '../login/login'
})
},2000)
}
})
}
}
})
}
},
修改密码以后登录页也要进行修改,登录时判断输入的学号和密码是否正确,如果正确则进入下一页,若没有点击退出登录则下次登录时直接进入评教页面。下面是我的登录页修改的代码:
formSubmit: function (e) {
// console.log(e);
wx.request({
url: '', //仅为示例,并非真实的接口地址
data: {
username: e.detail.value.no,
password: e.detail.value.pwd
},
header: {
'content-type': 'application/json' // 默认值
},
success: function (res) {
console.log(res);
if(res.statusCode == 200){
if(res.data.error == true){
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000
})
}else{
wx.setStorageSync('student', res.data.student);
wx.showToast({
title: '登录成功',
icon: 'success',
duration: 2000
})
wx.switchTab({
url: '../teachers/teachers'
})
}
}
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var student = wx.getStorageSync('student');
if(typeof(student)=='object' && student.no!='' && student.classid!=''){
wx.switchTab({
url: '../teachers/teachers',
})
}
},