first commit
This commit is contained in:
178
pages/index/index.js
Normal file
178
pages/index/index.js
Normal file
@@ -0,0 +1,178 @@
|
||||
// index.js
|
||||
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
|
||||
|
||||
Component({
|
||||
data: {
|
||||
userInfo: {
|
||||
avatarUrl: defaultAvatarUrl,
|
||||
nickName: '',
|
||||
},
|
||||
hasUserInfo: false,
|
||||
canIUseGetUserProfile: wx.canIUse('getUserProfile'),
|
||||
canIUseNicknameComp: wx.canIUse('input.type.nickname'),
|
||||
|
||||
// 轮播图数据
|
||||
swiperList: [
|
||||
{ id: 1, image: 'https://img.yzcdn.cn/vant/cat.jpeg', title: '夏季护肤特惠' },
|
||||
{ id: 2, image: 'https://img.yzcdn.cn/vant/cat.jpeg', title: '面部SPA体验' },
|
||||
{ id: 3, image: 'https://img.yzcdn.cn/vant/cat.jpeg', title: '新客专享优惠' }
|
||||
],
|
||||
|
||||
// 热门服务
|
||||
hotServices: [
|
||||
{ id: 1, name: '面部护理', icon: 'help', color: '#FF5F15' },
|
||||
{ id: 2, name: '身体按摩', icon: 'time', color: '#07C160' },
|
||||
{ id: 3, name: '美甲服务', icon: 'image', color: '#FF9500' },
|
||||
{ id: 4, name: '美发造型', icon: 'shop', color: '#2878FF' }
|
||||
],
|
||||
|
||||
// 推荐项目
|
||||
recommendServices: [
|
||||
{
|
||||
id: 1,
|
||||
name: '深层清洁面部护理',
|
||||
desc: '去除老化角质,深层清洁毛孔',
|
||||
price: 298,
|
||||
originalPrice: 398,
|
||||
image: 'https://img.yzcdn.cn/vant/cat.jpeg',
|
||||
sales: 256
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '精油SPA按摩',
|
||||
desc: '舒缓压力,放松身心',
|
||||
price: 398,
|
||||
originalPrice: 498,
|
||||
image: 'https://img.yzcdn.cn/vant/cat.jpeg',
|
||||
sales: 198
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '日式美甲套餐',
|
||||
desc: '多款式选择,持久显色',
|
||||
price: 158,
|
||||
originalPrice: 258,
|
||||
image: 'https://img.yzcdn.cn/vant/cat.jpeg',
|
||||
sales: 312
|
||||
}
|
||||
],
|
||||
|
||||
// 美容师推荐
|
||||
beauticians: [
|
||||
{
|
||||
id: 1,
|
||||
name: '王美丽',
|
||||
title: '高级美容师',
|
||||
avatar: 'https://img.yzcdn.cn/vant/cat.jpeg',
|
||||
experience: '8年经验',
|
||||
specialty: '面部护理、身体SPA'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '李专家',
|
||||
title: '资深美容顾问',
|
||||
avatar: 'https://img.yzcdn.cn/vant/cat.jpeg',
|
||||
experience: '10年经验',
|
||||
specialty: '皮肤管理、抗衰老'
|
||||
}
|
||||
]
|
||||
},
|
||||
methods: {
|
||||
// 事件处理函数
|
||||
bindViewTap() {
|
||||
wx.navigateTo({
|
||||
url: '../logs/logs'
|
||||
})
|
||||
},
|
||||
|
||||
onChooseAvatar(e) {
|
||||
const { avatarUrl } = e.detail
|
||||
const { nickName } = this.data.userInfo
|
||||
this.setData({
|
||||
"userInfo.avatarUrl": avatarUrl,
|
||||
hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl,
|
||||
})
|
||||
},
|
||||
|
||||
onInputChange(e) {
|
||||
const nickName = e.detail.value
|
||||
const { avatarUrl } = this.data.userInfo
|
||||
this.setData({
|
||||
"userInfo.nickName": nickName,
|
||||
hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl,
|
||||
})
|
||||
},
|
||||
|
||||
getUserProfile(e) {
|
||||
// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
|
||||
wx.getUserProfile({
|
||||
desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
|
||||
success: (res) => {
|
||||
console.log(res)
|
||||
this.setData({
|
||||
userInfo: res.userInfo,
|
||||
hasUserInfo: true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 跳转到服务详情
|
||||
goToServiceDetail(e) {
|
||||
const id = e.currentTarget.dataset.id;
|
||||
wx.navigateTo({
|
||||
url: `/pages/appointment/index?serviceId=${id}`
|
||||
});
|
||||
},
|
||||
|
||||
// 跳转到分类页面
|
||||
goToCategory(e) {
|
||||
const categoryId = e.currentTarget.dataset.id;
|
||||
wx.switchTab({
|
||||
url: '/pages/category/index',
|
||||
success: () => {
|
||||
// 可以通过页面栈获取分类页面实例,并设置选中的分类
|
||||
const pages = getCurrentPages();
|
||||
const categoryPage = pages[pages.length - 1];
|
||||
if (categoryPage && categoryPage.route === 'pages/category/index') {
|
||||
categoryPage.setData({
|
||||
activeCategory: categoryId
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 跳转到美容师详情
|
||||
goToBeauticianDetail(e) {
|
||||
const id = e.currentTarget.dataset.id;
|
||||
wx.navigateTo({
|
||||
url: `/pages/appointment/index?beauticianId=${id}`
|
||||
});
|
||||
},
|
||||
|
||||
// 页面显示时,初始化底部标签栏
|
||||
pageShow() {
|
||||
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
|
||||
this.getTabBar().init();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
lifetimes: {
|
||||
attached() {
|
||||
// 页面创建时执行
|
||||
},
|
||||
|
||||
detached() {
|
||||
// 页面销毁时执行
|
||||
}
|
||||
},
|
||||
|
||||
pageLifetimes: {
|
||||
show() {
|
||||
// 页面显示时执行
|
||||
this.pageShow();
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user