Compare commits

...

7 Commits

Author SHA1 Message Date
popix497f 77fa1e4684 Merge pull request '代码更新10.17' (#5) from zuodanni_branch into main
1 year ago
左丹妮 c9f9d02734 代码更新10.17
1 year ago
左丹妮 cbabb525e8 小程序图标
1 year ago
左丹妮 9ad05307ee 代码无较大改动
1 year ago
左丹妮 45f3e4f602 Merge branch 'master' of https://bdgit.educoder.net/popix497f/BeautyMatching into zuodanni_branch
1 year ago
左丹妮 3bce017032
1 year ago
zzzzzzpppx a5473a3f0b 代码修改9.26
1 year ago

@ -9,8 +9,10 @@
"pages/match/match",
"pages/history/history",
"pages/recommend/recommend",
"pages/setting/setting",
"pages/recommend/rec1"
"pages/recommend/rec1",
"pages/recommend/rec2",
"pages/recommend/rec3",
"pages/match/photo"
],
"window": {
"backgroundTextStyle": "light",
@ -20,16 +22,47 @@
},
"style": "v2",
"sitemapLocation": "sitemap.json",
"@list": [
"tabBar": {
"list": [
{
"pagePath": "pages/aa/aa",
"text": "aa"
"pagePath": "pages/main/main",
"text": "首页",
"iconPath": "pages/images/home.png",
"selectedIconPath": "pages/images/home_selected.png",
"color": ""
},
{
"pagePath": "pages/index/index",
"text": "我的",
"@iconPath": "./pages/images/me.png",
"@selectedIconPath": "./pages/images/me_select.png"
"pagePath": "pages/match/match",
"text": "妆容",
"iconPath": "pages/images/match.png",
"selectedIconPath": "pages/images/match_selected.png"
},
{
"pagePath": "pages/history/history",
"text": "历史",
"iconPath": "pages/images/history.png",
"selectedIconPath": "pages/images/history_selected.png"
},
{
"pagePath": "pages/recommend/recommend",
"text": "教程",
"iconPath": "pages/images/learn.png",
"selectedIconPath": "pages/images/learn_selected.png"
}
]
},
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
},
"scope.userInfo": {
"desc": "你的个人信息将用于小程序个性化推荐"
},
"scope.album": {
"desc": "你的相册将用于小程序图片上传"
},
"scope.camera":{
"desc":"你的相机将用于小程序拍照"
}
}
}

@ -75,22 +75,22 @@ Page({
},
bindmaiViewTap() {
wx.navigateTo({
wx.redirectTo({
url: '../main/main'
})
},
bindhisViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../history/history'
})
},
bindrecViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../recommend/recommend'
})
},
bindmacViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../match/match'
})
},

@ -3,7 +3,7 @@
<view class="his_main">
</view>
<view class="his_navi">
<!-- <view class="his_navi">
<view>
<text bindtap="bindmaiViewTap" mode="cover">首页</text>
</view>
@ -16,6 +16,6 @@
<view>
<text bindtap="bindrecViewTap" mode="cover">推荐</text>
</view>
</view>
</view> -->
</view>
<text>pages/history/history.wxml</text>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

@ -4,12 +4,13 @@ const app = getApp()
Page({
data: {
motto: 'Hello World',
motto: '欢迎进入',
userInfo: {},
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo'),
canIUseGetUserProfile: false,
canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName') // 如需尝试获取用户信息可改为false
canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName'), // 如需尝试获取用户信息可改为false
isSelected:0
},
// 事件处理函数
bindViewTap() {
@ -18,22 +19,22 @@ Page({
})
},
bindmaiViewTap() {
wx.navigateTo({
wx.switchTab({
url: '../main/main'
})
},
bindhisViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../history/history'
})
},
bindrecViewTap(){
wx.navigateTo({
wx.switchTab({
url: '../recommend/recommend'
})
},
bindmacViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../match/match'
})
},
@ -64,92 +65,43 @@ Page({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
}
})
},
// handleImageTap: function(e) {
// const index = e.currentTarget.dataset.index; // 获取当前点击的图片的位置
// const isSelected = this.data['isSelected' + index]; // 获取当前点击的图片的选中状态
// let newData = {}; // 定义一个新的数据对象
// if (isSelected) {
// newData['isSelected' + index] = false; // 如果当前图片已经被选中,就将它的选中状态设置为 false
// Page({
// /**
// * 页面的初始数据
// */
// data: {
// avatarUrl:"",
// name: "",
// m:"0",
// mySet:[
// {
// 'name':"我的预约",
// 'img':"../images/预约.png"
// },
// {
// 'name':"我的收藏",
// 'img':"../images/收藏.png"
// },
// {
// 'name':"个人设置",
// 'img':"../images/设置.png"
// },
// ]
// },
// /**
// * 生命周期函数--监听页面加载
// */
// onLoad: function (options) {
// },
// /**
// * 用户信息获取权限
// */
// getUserProfile: function () {
// if(this.data.m==0){
// wx.getUserProfile({
// desc: '信息仅作为个人展示',
// success: (res) => {
// console.log('获取成功', res)
// wx.setStorage({
// data: res.userInfo,
// key: 'userInfo',
// });
// this.setData({
// m:1
// })
// this.onShow();
// }})
// } else {
// wx.showToast({
// title: '您已登录啦',
// })
// }
// },
// /**
// * 点击我的预约等板块后进行页面跳转
// */
// onMySet:function(e){
// if(e.currentTarget.dataset.type=="个人设置"){
// wx.navigateTo({
// url: '/pages/index/setting/setting',
// })
// for (let i = 1; i <= 3; i++) {
// if (i !== index && this.data['isSelected' + i]) { // 如果有其他图片被选中,则将它的选中状态还原
// newData['isSelected' + i] = false;
// // wx.navigateTo({
// // url: '../match/match'
// // })
// }
// else if(e.currentTarget.dataset.type=="我的预约"){
// wx.navigateTo({
// url: '/pages/index/want/want',
// })
// }
// else (e.currentTarget.dataset.type=="我的收藏")
// {
// wx.navigateTo({
// url: '/pages/index/like/like',
// })
// newData['isSelected' + index] = true; // 将当前点击的图片的选中状态设置为 true
// }
// this.setData(newData); // 使用 setData 方法更新页面数据
// // wx.navigateTo({
// // url: '../match/match'
// // })
// },
// /**
// * 生命周期函数--监听页面显示
// */
// onShow: function () {
// var useInfo = wx.getStorageSync('userInfo')
// var that = this;
// that.setData({
// avatarUrl:useInfo.avatarUrl,
// name:useInfo.nickName,
// })
// }
// })
onLoad(options) {
this.setData({
imageUrl1: '../images/main.jpg',
selectedImageUrl1: '../images/main.jpg',
imageUrl2: '../images/match.jpg',
selectedImageUrl2: '../images/match.jpg',
imageUrl3: '../images/history.jpg',
selectedImageUrl3: '../images/history.jpg',
imageUrl4: '../images/recom.jpg',
selectedImageUrl4: '../images/recom.jpg',
})
}
})

@ -18,40 +18,29 @@
</block>
</view>
<view class="usermotto">
<text class="user-motto">{{motto}}</text>
<text class="user-motto" bindtap="bindmaiViewTap">{{motto}}</text>
</view>
<view class="navi">
<view>
<navigator url="../main/main"><text>首页</text></navigator>
</view>
<view>
<text bindtap="bindmacViewTap" mode="cover">匹配</text>
</view>
<view>
<text bindtap="bindhisViewTap" mode="cover">历史</text>
<!-- 下菜单 -->
<!-- <view class="menu">
<view class="menu-item" bindtap="goindex">
<image src="{{isSelected1 ? selectedImageUrl1 : imageUrl1}}" bindtap="handleImageTap" data-index="1" data-selected="{{isSelected1}}" />
<text>首页</text>
</view>
<view>
<text bindtap="bindrecViewTap" mode="cover">推荐</text>
<view class="menu-item">
<image src="{{isSelected2 ? selectedImageUrl2 : imageUrl2}}" bindtap="handleImageTap" data-index="2" data-selected="{{isSelected2}}" />
<text>匹配</text>
</view>
<view class="menu-item">
<image src="{{isSelected3 ? selectedImageUrl3 : imageUrl3}}" bindtap="handleImageTap" data-index="3" data-selected="{{isSelected3}}" />
<text>历史</text>
</view>
<view class="menu-item">
<image src="{{isSelected4 ? selectedImageUrl4 : imageUrl4}}" bindtap="handleImageTap" data-index="4" data-selected="{{isSelected4}}" />
<text>推荐</text>
</view>
<!-- 用户信息:头像,呢称 /登录 -->
<!-- <view class="xx">
<view><image src="{{avatarUrl}}" class="tx"></image></view>
<view class="mz" >{{name}}</view>
<view bindtap="getUserProfile" class="underline">登录</view>
</view> -->
<!-- 分割线 -->
<!-- <view class="hr"></view> -->
<!-- 循环数组 mySet -->
<!-- <view wx:for="{{mySet}}" bindtap="onMySet" data-type="{{item.name}}"> -->
<!-- 图标和循环myset中的文字 -->
<!-- <view class="vv_1">
<image class="image1" src="{{item.img}}"/>
{{item.name}}
<view class="icon">></view>
</view>
</view> -->
<!-- 分割线 -->
<!-- <view class="hr2"></view> -->

@ -19,120 +19,41 @@
}
/* pages/index/index.wxss */
.mz{
font-size:50rpx;
line-height: 200rpx;
margin-left: 20rpx;
color: #FFFFFF;
}
.hr{
height:16rpx;
background-color:rgb(202, 202, 202);
}
.vv_1{
line-height: 100rpx;
background-color: #ffffff;
.menu{
width: 100%;
height: 140rpx;
background-color: #ddcfc3;
border-top-left-radius: 70rpx;
border-top-right-radius: 70rpx;
box-shadow: 0px -2px 10px 4px rgba(0, 0, 0,0.05);
display: flex;
}
.vv{
background-color: #ebebeb;
height: 950rpx;
align-items: center;
justify-content: space-around;
position: fixed;
bottom: 0;
}
.xx{
.menu-item{
display: flex;
flex-direction:row;
background-color:#32667e;
line-height: 400rpx;
}
.tx{
width: 150rpx;
height: 150rpx;
border-radius: 40%;
margin-left:50rpx ;
}
.underline{
text-decoration:underline;
font-size: 30rpx;
color: white;
flex-direction: column;
font-size: 10px;
text-align: center;
line-height: 200rpx;
}
.hr2{
height: 2rpx;
background-color: rgba(202, 202, 202, 0.856);
counter-reset: #b2b3b6;
align-items: center;
}
.icon{
margin-left:470rpx;
color: rgba(202, 202, 202) ;
.menu-item image{
width: 90rpx;
height: 90rpx;
margin-bottom: 10rpx;
}
.image1{
padding-top:26rpx;
padding-right:20rpx;
padding-left: 30rpx;
width: 50rpx;
height: 50rpx;
/* .navi{
display: flex;
bottom: 0;
}
.flex-wrp{
flex-direction: row;
} */

@ -3,4 +3,5 @@
<block wx:for="{{logs}}" wx:key="timeStamp" wx:for-item="log">
<text class="log-item">{{index + 1}}. {{log.date}}</text>
</block>
<text>{{index}}</text>
</view>

@ -5,25 +5,40 @@ Page({
* 页面的初始数据
*/
data: {
nowData:"",
r11:"../images/recom_1_1.jpg"
},
bindmaiViewTap() {
date:function(){
var now=new Date();
var Y=now.getFullYear();
var M=now.getMonth()+1;
var D=now.getDate();
var nowDate= Date(Y+"//"+M+"//"+D+"//");
console.log(nowDate);
return nowDate;
},
bindrec1ViewTap(){
wx.navigateTo({
url:'../recommend/rec1'
})
},
bindmaiViewTap() {
wx.redirectTo({
url: '../main/main'
})
},
bindhisViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../history/history'
})
},
bindrecViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../recommend/recommend'
})
},
bindmacViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../match/match'
})
},
@ -31,7 +46,9 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
nowData:this.date()
})
},
/**
@ -45,7 +62,7 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
this.date();
},
/**

@ -1,21 +1,14 @@
<!--pages/main/main.wxml-->
<view class="container">
<view class="main">
<text>主界面</text>
<view class="home">
<!-- <wxs module="now" ></wxs> -->
<view>{{filter.day(1621409888000)}}</view>
<text>{{date()}}</text>
<text>选择一个妆容开始美好的一天吧!</text>
</view>
<view class="navi">
<view>
<text bindtap="bindmaiViewTap" mode="cover">首页</text>
<view class="mainrec">
<image bindtap="bindrec1ViewTap" mode="widthFix" src="{{r11}} "/>
<!-- <image src="" style="height:100%"mode="widthFix"></image> -->
</view>
<view>
<text bindtap="bindmacViewTap" mode="cover">匹配</text>
</view>
<view>
<text bindtap="bindhisViewTap" mode="cover">历史</text>
</view>
<view>
<text bindtap="bindrecViewTap" mode="cover">推荐</text>
</view>
</view>
</view>
<text>pages/main/main.wxml</text>

@ -1 +1,4 @@
/* pages/main/main.wxss */
.home{
}

@ -5,9 +5,136 @@ Page({
* 页面的初始数据
*/
data: {
phopath:"../match/photo",
// imgList:"",
src:""
},
//跳转photo
bindphoViewTap(){
wx.navigateTo({
url:'../match/photo'
})
},
bindmaiViewTap() {
wx.redirectTo({
url: '../main/main'
})
},
bindhisViewTap(){
wx.redirectTo({
url: '../history/history'
})
},
bindrecViewTap(){
wx.redirectTo({
url: '../recommend/recommend'
})
},
bindmacViewTap(){
wx.redirectTo({
url: '../match/match'
})
},
//选择图片获取方式
tipwindow(){
var _this=this;
wx.showActionSheet({
itemList: ['从手机相册选择', '拍照'],
success: function(res) {
let sourceType="";
if(res.tapIndex==0){
sourceType="album";
_this.img_w_show(sourceType);
}
else if(res.tapIndex==1){
_this.sccamera();
// _this.bindphoViewTap();
// sourceType="camera";
// _this.img_w_show(sourceType);
}
console.log(res.tapIndex)
},
fail: function(res) {
console.log(res.errMsg)
}
})
},
//chooseMedia选图
img_w_show(sourceType){
var _this=this;
wx.chooseMedia({
count: 1, // 默认9
mediaType:['image'],//仅照片
//sizeType: ['original', 'compressed'], // 指定原图or压缩图
sourceType: [sourceType], // 来源是相册or相机
//camera:['front'],//前置相机
success: function (res) {
// 返回选定照片的本地文件路径列表tempFilePath可以作为img标签的src属性显示图片
console.log(res);
var tempFilePaths = res.tempFiles['0']['tempFilePath'];
_this.setData({
src: (tempFilePaths?tempFilePaths:"")
//无法赋值-路径获取问题
})
// console.log("src:"+_this.data.src);
wx.setStorageSync('imgFilePath', _this.data.src);//存入缓存,实现数据转移
wx.pageScrollTo({//滚动到目标位置
scrollTop: 1200,
duration:300
})
}
})
},
//权限、拍照
sccamera(){
wx.authorize({
scope: 'scope.camera',
success () {
//用户允许授权,进行下一步操作
const cameraContext = wx.createCameraContext();//获取相机上下文?
wx.pageScrollTo({//滚动到目标位置
scrollTop: 700,
duration:300
})
// cameraContext.takePhoto({//获取照片
// quality: 'high',
// success: (res) => {
// // 将照片保存到本地
// wx.saveImageToPhotosAlbum({
// filePath: res.tempImagePath,
// success: (res) => {
// wx.showToast({
// title: '保存成功'
// });
// },
// error(e){
// console.log(e.detail);
// }
// })
// }
// })
}
})
},
//相机组件camera拍照
takePhoto() {
var _this=this;
const ctx = wx.createCameraContext()
ctx.takePhoto({
quality: 'high',
success: (res) => {
this.setData({
src: res.tempImagePath
})
wx.setStorageSync('imgFilePath', _this.data.src);
}
})
},
error(e) {
console.log(e.detail)
},
/**
* 生命周期函数--监听页面加载
*/

@ -1,21 +1,17 @@
<!--pages/match/match.wxml-->
<view class="container">
<view class="match_main">
<view class="choose_way" bindtap="tipwindow" >点击开始拍照</view>
<!-- <text class="match_display">预览</text>
<image mode="widthFix" src="{{imgList}}"></image> -->
<camera device-position="front" flash="off" binderror="error" style="width: 100%; height: 400px;"></camera>
<!-- 显示摄像头 -->
<button type="primary" bindtap="takePhoto">拍照</button>
<view class="match_display">
预览
<image mode="widthFix" src="{{src}}"></image>
<button type="primary" bindtap="bindphoViewTap">确定</button>
</view>
<view class="navi">
<view>
<text bindtap="bindmaiViewTap" mode="cover">首页</text>
</view>
<view>
<text bindtap="bindmacViewTap" mode="cover">匹配</text>
</view>
<view>
<text bindtap="bindhisViewTap" mode="cover">历史</text>
</view>
<view>
<text bindtap="bindrecViewTap" mode="cover">推荐</text>
</view>
</view>
</view>
<text>pages/match/match.wxml</text>

@ -1 +1,23 @@
/* pages/match/match.wxss */
.match_main{
width:auto;
height: auto;
background-color: #ddcfc3;
}
.choose_way{
width:100%;
height:400px;
background-color: #ddcfc3;
text-align: center;
padding-top: 200px;
}
.match_display{
width:auto;
height:100px;
background-color: #ddcfc3;
text-align: center;
padding-top: 50px;
}
.match_sure{
text-align: center;
}

@ -0,0 +1,75 @@
// pages/match/photo.js
Page({
/**
* 页面的初始数据
*/
data: {
imgFilePath:"",
src:""
},
/**
* 生命周期函数--监听页面加载
* 获取match的照片缓存
*/
onLoad(options) {
var img = wx.getStorageSync('imgFilePath');
var that = this;
that.setData({
imgFilePath: img
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
* 获取日期给history
*/
onShow() {
const history = wx.getStorageSync('history') || []
history.unshift(Date.now())
wx.setStorageSync('history', history)
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

@ -0,0 +1,7 @@
<!--pages/match/photo.wxml-->
<view class='container'>
<view class='imgwindow'>
<image class='imgwindow' mode='widthFix' src='{{imgFilePath}}'/>
<!-- 图片预览 -->
</view>
</view>

@ -0,0 +1 @@
/* pages/match/photo.wxss */

@ -1,18 +1,17 @@
<!--pages/recommend/rec1.wxml-->
<view class="container">
<view class="rec1">
<image src="{{r11}}"/>
<text>今天是一期早八通勤眼妆教程~
3ce新品的这两盘好甜美夏日呀温柔低饱和的调调
日常不出错的配色,新手友友也可以轻松驾驭
樱花碎冰
清冷低饱和嫩粉调~营造温柔粉调眼妆
指腹蘸取里面的一颗粉棕色膏状眼影,涂抹眼窝
眼妆就轻松搞定!早八人的福音呀
西柚冰茶
元气夏日果汁橘棕调,敲喜欢这个配色
元气感拉满~轻松营造日常通勤眼妆
日常又消肿
快一起学起来叭!</text>
<image src="{{r11}}"style="height:100%" mode="widthFix"></image>
<text class="text">黄黑皮低饱和清冷妆这么高级!</text>
<text class="text2">
    这种低饱和妆容真的很有感觉!
🌟大面积的腮红是重点(灰粉色会更自然)
眼妆往细长狐狸眼的方向靠
卧蚕也要画细长 眼妆浅色大面积晕染出上扬的形状就OK
真的很有感觉!黄黑皮姐妹速速学起来!
#黄黑皮 #黄黑皮妆容 #妆容分享 #今日妆容 #清冷感妆容
</text>
</view>
</view>

@ -1 +1,46 @@
/* pages/recommend/rec1.wxss */
.container{
}
.rec1{
}
.text {
/* 字体大小 */
font-size: 20px;
/* 字体颜色 */
color: black;
/* 字体风格-粗细 */
font-weight: bold;
/*段落排版--首字缩进*/
text-indent: 2em;
/*段落排版--行间距(行高)*/
line-height: 1.5em;
/*段落排版--中文字间距*/
letter-spacing: 1px;
/*字母间距*/
word-spacing: 4px;
/*文字对齐 right 、left 、center */
text-align: left;
}
.text2 {
/* 字体大小 */
font-size: 15px;
/* 字体颜色 */
color: black;
/* 字体风格-粗细 */
/*font-weight: bold;*/
/*段落排版--首字缩进*/
text-indent: 2em;
/*段落排版--行间距(行高)*/
line-height: 1.5em;
/*段落排版--中文字间距*/
letter-spacing: 1px;
/*字母间距*/
word-spacing: 4px;
/*文字对齐 right 、left 、center */
text-align: left;
}

@ -0,0 +1,66 @@
// pages/recommend/rec2.js
Page({
/**
* 页面的初始数据
*/
data: {
r21:"../images/recom_1_2.jpg"
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

@ -0,0 +1,22 @@
<!--pages/recommend/rec2.wxml-->
<view class="container">
<view class="rec2">
<image src="{{r21}}" style="height:100%" mode="widthFix"></image>
<text class = "text">美拉德是我的舒适区🍁</text>
<text class = "text2">
秋日当然不能少了棕色系啦!
美拉德火是有道理的~
真的太好出片了
妆容整体就是棕色调为主
口红选择了MAC新出的热吻棒
这三只颜色和秋冬适配度太高了
#67狂野棕冷冽裸茶棕 美区辣妹属性大开
#69痴情咖复古焦糖棕 爆浆太妃糖 内里都是惊喜
#79任性莓甜熟浆果迸发热辣莓色 灰调复古感 时髦爆棚
质地很特别 上嘴迅速成膜不拔干
很爱这种不显唇纹的哑光感吃饭也不用担心掉色严重
24小时在线 谁能不爱呢
#MAC热吻棒 #笔记灵感 #美式复古 #热吻吧显眼包 #美拉德
</text>
</view>
</view>

@ -0,0 +1,45 @@
/* pages/recommend/rec2.wxss */
.container{
}
.rec2{
}
.text {
/* 字体大小 */
font-size: 20px;
/* 字体颜色 */
color: black;
/* 字体风格-粗细 */
font-weight: bold;
/*段落排版--首字缩进*/
text-indent: 2em;
/*段落排版--行间距(行高)*/
line-height: 1.5em;
/*段落排版--中文字间距*/
letter-spacing: 1px;
/*字母间距*/
word-spacing: 4px;
/*文字对齐 right 、left 、center */
text-align: left;
}
.text2 {
/* 字体大小 */
font-size: 15px;
/* 字体颜色 */
color: black;
/* 字体风格-粗细 */
/*font-weight: bold;*/
/*段落排版--首字缩进*/
text-indent: 2em;
/*段落排版--行间距(行高)*/
line-height: 1.5em;
/*段落排版--中文字间距*/
letter-spacing: 1px;
/*字母间距*/
word-spacing: 4px;
/*文字对齐 right 、left 、center */
text-align: left;
}

@ -0,0 +1,66 @@
// pages/recommend/rec3.js
Page({
/**
* 页面的初始数据
*/
data: {
r31:"../images/recom_1_3.jpg"
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

@ -0,0 +1,10 @@
<!--pages/recommend/rec3.wxml-->
<view class="container">
<view class="rec3">
<image src="{{r31}}" style="height:100%" mode="widthFix"></image>
<text class = "text">新中式|水是眼波横</text>
<text class = "text2">
1、唇妆涂的是TF黑金唇镜 22朝露薄涂是很纯欲的樱花粉厚涂是气质的玫瑰色。上嘴甜味氛围感拉满很适合搭配白开水伪素颜淡妆。
2、妆容统一杏粉色调眼妆用消肿色简单带过点彩刷沾取暖调粉色腮红在面中大面积铺色打造白里透红的妆效</text>
</view>
</view>

@ -0,0 +1,39 @@
/* pages/recommend/rec3.wxss */
.text {
/* 字体大小 */
font-size: 20px;
/* 字体颜色 */
color: black;
/* 字体风格-粗细 */
font-weight: bold;
/*段落排版--首字缩进*/
text-indent: 2em;
/*段落排版--行间距(行高)*/
line-height: 1.5em;
/*段落排版--中文字间距*/
letter-spacing: 1px;
/*字母间距*/
word-spacing: 4px;
/*文字对齐 right 、left 、center */
text-align: left;
}
.text2 {
/* 字体大小 */
font-size: 15px;
/* 字体颜色 */
color: black;
/* 字体风格-粗细 */
/*font-weight: bold;*/
/*段落排版--首字缩进*/
text-indent: 2em;
/*段落排版--行间距(行高)*/
line-height: 1.5em;
/*段落排版--中文字间距*/
letter-spacing: 1px;
/*字母间距*/
word-spacing: 4px;
/*文字对齐 right 、left 、center */
text-align: left;
}

@ -5,30 +5,52 @@ Page({
* 页面的初始数据
*/
data: {
rm1:"../images/rec_main_1.jpg"
rm4:"../images/rec_main_4.jpg",
rm5:"../images/rec_main_5.jpg",
indicatorDots: true,
autoplay: true,
interval: 5000,
duration: 2000,
imgUrls: [
'../images/rec_main_1.jpg',
'../images/rec_main_2.jpg',
'../images/rec_main_3.jpg'
]
},
bindrec1ViewTap(){
wx.navigateTo({
url:'/pages/recommend/rec1'
})
},
bindmaiViewTap() {
bindrec2ViewTap(){
wx.navigateTo({
url:'/pages/recommend/rec2'
})
},
bindrec3ViewTap(){
wx.navigateTo({
url:'/pages/recommend/rec3'
})
},
bindmaiViewTap() {
wx.redirectTo({
url: '../main/main'
})
},
bindhisViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../history/history'
})
},
bindrecViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../recommend/recommend'
})
},
bindmacViewTap(){
wx.navigateTo({
wx.redirectTo({
url: '../match/match'
})
},

@ -1,22 +1,24 @@
<!--pages/recommend/recommend.wxml-->
<view class="container">
<view class="rec_main">
<view class="rec_main_1">
<image bindtap="bindrec1ViewTap" src="{{rm1}} "/>
</view>
</view>
<view class="rec_navi">
<view>
<text bindtap="bindmaiViewTap" mode="cover">首页</text>
</view>
<swiper indicator-dots="{{indicatorDots}}"
autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
<block wx:for="{{imgUrls}}">
<swiper-item>
<image bindtap="bindrec1ViewTap" mode="widthFix" src="{{item}}" class="slide-image" />
</swiper-item>
</block>
</swiper>
<view>
<text bindtap="bindmacViewTap" mode="cover">匹配</text>
<text>推荐页面</text>
</view>
<view>
<text bindtap="bindhisViewTap" mode="cover">历史</text>
<view class="rec_main_4">
<image bindtap="bindrec2ViewTap" mode="widthFix" src="{{rm4}} "/>
<!-- <image src="" style="height:100%"mode="widthFix"></image> -->
</view>
<view>
<text bindtap="bindrecViewTap" mode="cover">推荐</text>
<view class="rec_main_5">
<image bindtap="bindrec3ViewTap" mode="widthFix" src="{{rm5}}"/>
<!-- <image src="" style="height:100%"mode="widthFix"></image> -->
</view>
</view>
</view>

@ -1 +1,7 @@
/* pages/recommend/recommend.wxss */
swiper{
width: 100%;
/* height: calc(100vw*9/16); */
height: 350px;
}

@ -38,7 +38,8 @@
"ignore": [],
"disablePlugins": [],
"outputPath": ""
}
},
"condition": false
},
"compileType": "miniprogram",
"libVersion": "2.19.4",

@ -1,6 +1,6 @@
{
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "BeautyApplet",
"projectname": "miniprogram-2",
"setting": {
"compileHotReLoad": true
}

Loading…
Cancel
Save