wk-dev
Wkang921 2 years ago
parent 3671c800b2
commit c1858b810b

@ -200,7 +200,7 @@ Page({
this.getUserInfo() this.getUserInfo()
},2000) },2000)
// 计算守护时长 // 计算守护时长
const energy = this.data.userInfo.pendantEnergy * 4.8 const energy = (this.data.userInfo.pendantEnergy + this.data.userInfo.crystallineEnergy) * 4.8
let minute = 0 let minute = 0
let hour = 0 let hour = 0
if (energy >= 60) { if (energy >= 60) {

@ -5,7 +5,7 @@
<swiper-item class="call1"> <swiper-item class="call1">
<!--头像名字--> <!--头像名字-->
<view class="call1-header"> <view class="call1-header">
<image class="tx" src="{{elfAvatar}}"></image> <image class="tx" src="{{userInfo.avatar ? userInfo.avatar : elfAvatar}}"></image>
<view class="txtext">{{userInfo.nick ? userInfo.nick : userInfo.constellation}}</view> <view class="txtext">{{userInfo.nick ? userInfo.nick : userInfo.constellation}}</view>
</view> </view>
<!-- 精灵图片 --> <!-- 精灵图片 -->

@ -14,32 +14,31 @@ Page({
isBlank:true,//没有聊天 isBlank:true,//没有聊天
userInfo:{}, userInfo:{},
stxx:false, stxx:false,
showChat:true,
showChatToast:false
}, },
addClick(){ addClick(){
console.log('点击了加号') console.log('点击了加号11')
this.setData({isAdd:true}) this.setData({
isAdd:true,
showChat: !this.data.showChat
})
}, },
noaddClick(){ noaddClick(){
console.log('点击了加号') console.log('点击了加号')
this.setData({isAdd:false}) this.setData({
isAdd:false,
showChat: !this.data.showChat
})
}, },
dovipTips(){ dovipTips(){
wx: wx.showToast({ this.setData({showChatToast: !this.data.showChatToast})
title: '请购买会员或聊天次数',
icon:'none',
})
}, },
go2Member(){ go2Member(){
console.log('一天啊啊啊')
wx.navigateTo({ wx.navigateTo({
url: '/pages/home/me/member/member' url: '/pages/home/me/member/member'
}) })
}, },
doLt(e){/**点击快捷选项 */
console.log('到此一游')
this.setData({ltinfo:e.target.dataset.lt})
},
go2BB(e){/**鼠标回显事件 */ go2BB(e){/**鼠标回显事件 */
// this.setData({ltinfo:e.detail.value}) // this.setData({ltinfo:e.detail.value})
}, },
@ -97,6 +96,25 @@ Page({
go2Reback(){ go2Reback(){
wx.navigateBack({ changed: true }); wx.navigateBack({ changed: true });
}, },
// 获取聊天气泡内容
getContent(e){
const ctn = e.currentTarget.dataset.ctn
if (ctn === '1') {
this.setData({ltinfo: '请告诉我未来一个月的星座运势'})
}else if(ctn === '2'){
this.setData({ltinfo: '你可以帮我占卜星骰吗?'})
}else if(ctn === '3'){
this.setData({ltinfo: '你可以帮我占卜塔罗吗?'})
}else if(ctn === '4'){
this.setData({ltinfo: '我有一些情感上的问题,你能帮我解答吗?'})
}else if(ctn === '5'){
this.setData({ltinfo: '我和ta未来会怎样'})
}else if(ctn === '6'){
this.setData({ltinfo: '请跟我一起玩文字冒险游戏吧'})
}else if(ctn === '7'){
this.setData({ltinfo: '我需要写一封情书,但我不太会表达。我会告诉你我们之间的经历和我想表达的心意,你可以帮我整理成一封动人的情书吗?'})
}
},
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
@ -115,7 +133,7 @@ Page({
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow() { onShow() {
this.getUserInfo()
}, },
/** /**

@ -2,34 +2,36 @@
<view class="reback" bindtap="go2Reback"></view><!--左上角返回图标--> <view class="reback" bindtap="go2Reback"></view><!--左上角返回图标-->
<view class="title">星座精灵AI</view><!--标题星座精灵AI--> <view class="title">星座精灵AI</view><!--标题星座精灵AI-->
<view wx:if="{{!userInfo.isChatVip}}" class="mfcs">免费次数剩余:{{times}}条</view><!--非会员展示剩余免费次数--> <view wx:if="{{!userInfo.isChatVip}}" class="mfcs">免费次数剩余:{{times}}条</view><!--非会员展示剩余免费次数-->
<!--没有聊天初次展示--> <view wx:if="{{showChat}}">
<view class="ltkjj" wx:if="{{isBlank&&times!=0}}"> <!--没有聊天初次展示-->
<view class="ltat ltxzys" data-lt="星座运势" bindtap="doLt">星座运势</view> <view class="ltkjj" wx:if="{{isBlank&&times!=0}}">
<view class="ltat ltxzzb" data-lt="星座占卜" bindtap="doLt">星座占卜</view> <view class="ltat ltxzys" data-lt="星座运势" bindtap="getContent" data-ctn="1">星座运势</view>
<view class="ltat lttlzb" data-lt="塔罗占卜" bindtap="doLt">塔罗占卜</view> <view class="ltat ltxzzb" data-lt="星座占卜" bindtap="getContent" data-ctn="2">星座占卜</view>
<view class="ltat ltqgqs" data-lt="情感倾诉" bindtap="doLt">情感倾诉</view> <view class="ltat lttlzb" data-lt="塔罗占卜" bindtap="getContent" data-ctn="3">塔罗占卜</view>
<view class="ltat ltwm" data-lt="我和Ta未来会怎样" bindtap="doLt">我和Ta未来会怎样</view> <view class="ltat ltqgqs" data-lt="情感倾诉" bindtap="getContent" data-ctn="4">情感倾诉</view>
<view class="ltat wzmxyx" data-lt="文字冒险游戏" bindtap="doLt">文字冒险游戏</view> <view class="ltat ltwm" data-lt="我和Ta未来会怎样" bindtap="getContent" data-ctn="5">我和Ta未来会怎样</view>
<view class="ltat ltqs" data-lt="帮我写一封情书" bindtap="doLt">帮我写一封情书</view> <view class="ltat wzmxyx" data-lt="文字冒险游戏" bindtap="getContent" data-ctn="6">文字冒险游戏</view>
<view class="ltat ltqs" data-lt="帮我写一封情书" bindtap="getContent" data-ctn="7">帮我写一封情书</view>
<t-image src="https://wish-assets.windymuse.com.cn/xy/jlaitx.png" shape="circle" class="tximg"></t-image> <t-image src="https://wish-assets.windymuse.com.cn/xy/jlaitx.png" shape="circle" class="tximg"></t-image>
<view class="ltwzk">你好,我是你的星座守护精灵。除此之外,我还可以帮你解答更多问题。快来跟我聊聊吧! <view class="ltwzk">你好,我是你的星座守护精灵。除此之外,我还可以帮你解答更多问题。快来跟我聊聊吧!
</view> </view>
</view> </view>
<!--不是会员,进来就没有聊天次数了--> <!--不是会员,进来就没有聊天次数了-->
<view class="ltkjj1" wx:if="{{isBlank&&userInfo.freeChatCount==0&&!isChatVip}}"> <view class="ltkjj1" wx:if="{{isBlank&&userInfo.freeChatCount==0&&!isChatVip}}">
<view class="ltat ltxzys" >星座运势</view> <view class="ltat ltxzys" bindtap="getContent" data-ctn="1" >星座运势</view>
<view class="ltat ltxzzb" >星座占卜</view> <view class="ltat ltxzzb" bindtap="getContent" data-ctn="2" >星座占卜</view>
<view class="ltat lttlzb" >塔罗占卜</view> <view class="ltat lttlzb" bindtap="getContent" data-ctn="3" >塔罗占卜</view>
<view class="ltat ltqgqs" >情感倾诉</view> <view class="ltat ltqgqs" bindtap="getContent" data-ctn="4" >情感倾诉</view>
<view class="ltat ltwm">我和Ta未来会怎样</view> <view class="ltat ltwm" bindtap="getContent" data-ctn="5" >我和Ta未来会怎样</view>
<view class="ltat wzmxyx" >文字冒险游戏</view> <view class="ltat wzmxyx" bindtap="getContent" data-ctn="6" >文字冒险游戏</view>
<view class="ltat ltqs" >帮我写一封情书</view> <view class="ltat ltqs" bindtap="getContent" data-ctn="7" >帮我写一封情书</view>
<t-image src="https://wish-assets.windymuse.com.cn/xy/jlaitx.png" shape="circle" class="tximg"></t-image> <t-image src="https://wish-assets.windymuse.com.cn/xy/jlaitx.png" shape="circle" class="tximg"></t-image>
<view class="ltwzk">你好,我是你的星座守护精灵。除此之外,我还可以帮你解答更多问题。快来跟我聊聊吧! <view class="ltwzk">你好,我是你的星座守护精灵。除此之外,我还可以帮你解答更多问题。快来跟我聊聊吧!
</view> </view>
<view class="kthybtn" bindtap="go2Member">开通会员</view> <view class="kthybtn" bindtap="go2Member">开通会员</view>
<view class="kthytips" >开通会员享不限次畅聊</view> <view class="kthytips" >开通会员享不限次畅聊</view>
<view class="hyhgtx" bindtap="go2Member"></view> <view class="hyhgtx" bindtap="go2Member"></view>
</view>
</view> </view>
<view class="chatbox" wx:if="{{chatList&&(!isBlank)}}"><!--聊天内容--> <view class="chatbox" wx:if="{{chatList&&(!isBlank)}}"><!--聊天内容-->
@ -43,7 +45,7 @@
</view> </view>
<!--不是会员且聊天次数为0--> <!--不是会员且聊天次数为0-->
<view class="ltk1" wx:if="{{!isChatVip&&times==0}}" bindtap="dovipTips"> <view class="ltk1" wx:if="{{!isAdd && times === 0}}" bindtap="dovipTips">
<view class="ltk1txt"> <view class="ltk1txt">
<t-textarea class="ltk1txt1" model:value="{{ltinfo}}" placeholder="请开通会员或购买次数" bindblur="go2BB" data-lt="{{ltinfo}}" disabled></t-textarea> <t-textarea class="ltk1txt1" model:value="{{ltinfo}}" placeholder="请开通会员或购买次数" bindblur="go2BB" data-lt="{{ltinfo}}" disabled></t-textarea>
</view> </view>
@ -52,7 +54,7 @@
</view> </view>
<!--是会员或者剩余聊天次数不为0 加号缩回--> <!--是会员或者剩余聊天次数不为0 加号缩回-->
<view class="ltk1" wx:if="{{isChatVip||times!=0}}" wx:if="{{!isAdd}}"> <view class="ltk1" wx:if="{{!isAdd && times !== 0}}">
<view class="ltk1txt"> <view class="ltk1txt">
<t-textarea class="ltk1txt1" model:value="{{ltinfo}}" placeholder="输入聊天内容" bindblur="go2BB" data-lt="{{ltinfo}}" bindchange="go2BB"></t-textarea> <t-textarea class="ltk1txt1" model:value="{{ltinfo}}" placeholder="输入聊天内容" bindblur="go2BB" data-lt="{{ltinfo}}" bindchange="go2BB"></t-textarea>
</view> </view>
@ -61,22 +63,46 @@
</view> </view>
<!--是会员或者剩余聊天次数不为0 加号没有缩回--> <!--是会员或者剩余聊天次数不为0 加号没有缩回-->
<view class="ltk112" wx:if="{{isChatVip||times!=0}}" wx:if="{{isAdd}}"> <view class="ltk112" wx:if="{{isAdd}}">
<view class="ltk1txt"> <view class="ltk1txt">
<t-textarea class="ltk1txt1" model:value="{{ltinfo}}" placeholder="输入聊天内容" bindblur="go2BB" data-lt="{{ltinfo}}" bindchange="go2BB"></t-textarea> <t-textarea class="ltk1txt1" model:value="{{ltinfo}}" placeholder="输入聊天内容" bindblur="go2BB" data-lt="{{ltinfo}}" bindchange="go2BB"></t-textarea>
</view> </view>
<view class="fsan" bindtap="go2Send" data-lt="{{ltinfo}}"></view><!--发送按钮--> <view class="fsan" bindtap="go2Send" data-lt="{{ltinfo}}"></view>
<view class="addbtn" bindtap="noaddClick"></view><!--加号按钮--> <view class="addbtn" bindtap="noaddClick"></view>
</view> </view>
<!--是会员或者剩余聊天次数不为0 加号没有缩回 快捷键--> <!--是会员或者剩余聊天次数不为0 加号没有缩回 快捷键-->
<view class="myshkjj" wx:if="{{isAdd}}"> <view class="myshkjj" wx:if="{{isAdd}}">
<view class="myshkjj-container"> <view class="myshkjj-container">
<view class="myshkjjco myshkjjxzys" data-lt="星座运势" bindtap="doLt">星座运势</view> <view class="myshkjjco myshkjjxzys" data-lt="星座运势" bindtap="getContent" data-ctn="1" >星座运势</view>
<view class="myshkjjco myshkjjxxzb" data-lt="星座占卜" bindtap="doLt">星座占卜</view> <view class="myshkjjco myshkjjxxzb" data-lt="星座占卜" bindtap="getContent" data-ctn="2" >星座占卜</view>
<view class="myshkjjco myshkjjtlzb" data-lt="塔罗占卜" bindtap="doLt">塔罗占卜</view> <view class="myshkjjco myshkjjtlzb" data-lt="塔罗占卜" bindtap="getContent" data-ctn="3" >塔罗占卜</view>
<view class="myshkjjco myshkjjwzmxyx" data-lt="文字冒险游戏" bindtap="doLt">文字冒险游戏</view> <view class="myshkjjco myshkjjwzmxyx" data-lt="文字冒险游戏" bindtap="getContent" data-ctn="4" >文字冒险游戏</view>
<view class="myshkjjco myshkjjbwxyfqs" data-lt="帮我写一封情书" bindtap="doLt">帮我写一封情书</view> <view class="myshkjjco myshkjjbwxyfqs" data-lt="帮我写一封情书" bindtap="getContent" data-ctn="5" >帮我写一封情书</view>
<view class="myshkjjco myshkjjwhtwlhzy" data-lt="我和Ta未来会怎样" bindtap="doLt">我和Ta未来会怎样</view> <view class="myshkjjco myshkjjwhtwlhzy" data-lt="我和Ta未来会怎样" bindtap="getContent" data-ctn="6" >我和Ta未来会怎样</view>
<view class="myshkjjco myshkjjqgqs" data-lt="情感倾诉" bindtap="doLt">情感倾诉</view> <view class="myshkjjco myshkjjqgqs" data-lt="情感倾诉" bindtap="getContent" data-ctn="7" >情感倾诉</view>
</view>
</view>
<!-- 没有免费次数提示 -->
<view class="noChat" wx:if="{{showChatToast}}">
<view class="noChat-taost">
<view class="noChat-taost-top">
<image class="taost-top-left" src="{{userInfo.avatar}}" />
<view class="taost-top-right">
<view>没有免费次数啦~</view>
<view>开通会员,可享无限次畅聊哦!</view>
</view>
</view>
<view class="noChat-taost-btm">
<view class="taost-btm-btn">
<view class="btn" bindtap="go2Member">
<view class="btn-img" bindtap="go2Member"/>
开通会员
</view>
</view>
<view class="taost-btm-text">开通会员享不限次畅聊</view>
</view>
</view> </view>
</view> </view>

@ -190,6 +190,7 @@ page {
width: 530rpx; width: 530rpx;
height: 84rpx; height: 84rpx;
} }
.t-textarea__label{ .t-textarea__label{
height:84rpx; height:84rpx;
line-height: 84rpx!important; line-height: 84rpx!important;
@ -353,3 +354,92 @@ page {
.myshkjjqgqs{ .myshkjjqgqs{
width: 236rpx; width: 236rpx;
} }
.noChat {
position: absolute;
top: 276rpx;
width: 100%;
height: 1180rpx;
background-color: rgba(255, 255, 255, 0.7);
}
.noChat-taost {
width: 686rpx;
height: 540rpx;
margin: 278rpx auto;
padding: 96rpx 40rpx;
box-sizing: border-box;
border-radius: 30rpx;
background-color: rgba(255, 255, 255, 1);
color: rgba(16, 16, 16, 1);
font-size: 28px;
box-shadow: 1px 2px 6px 0px rgba(0, 0, 0, 0.2);
}
.noChat-taost-top {
width: 100%;
height: 106rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
.taost-top-left {
width: 84rpx;
height: 84rpx;
border-radius: 50%;
border: 6rpx solid #A18651;
}
.taost-top-right {
color: rgba(108, 108, 108, 1);
font-size: 34rpx;
}
.noChat-taost-btm {
width: 100%;
height: 110rpx;
margin-top: 164rpx;
}
.taost-btm-btn {
width: 100%;
height: 70rpx;
display: flex;
justify-content: center;
align-items: center;
}
.taost-btm-btn .btn {
position: relative;
width: 240rpx;
height: 70rpx;
border-radius: 20rpx;
background: linear-gradient(222.54deg, rgba(248,99,42,1) 14.03%,rgba(249,135,89,1) 85.21%);
color: rgba(16, 16, 16, 1);
display: flex;
justify-content: center;
align-items: center;
color: rgba(255, 255, 255, 1);
font-size: 28rpx;
}
.taost-btm-btn .btn-img {
position: absolute;
top: -80rpx;
right: -50rpx;
width: 120rpx;
height: 127rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://wish-assets.windymuse.com.cn/xy/hyhg.png);
}
.taost-btm-text {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
color: rgba(108, 108, 108, 1);
font-size: 24rpx;
}

@ -114,6 +114,46 @@ Page({
go2Reback(){ go2Reback(){
wx.navigateBack({ changed: true }); wx.navigateBack({ changed: true });
}, },
// 自定义头像
editAvatar(){
wx.chooseMedia({
count: 1,
mediaType: 'image',
sourceType: ['album', 'camera'],
camera: 'front',
success: (res) => {
wx.uploadFile({
url: 'https://xzjl-api.windymuse.cn/api/resource',
filePath: res.tempFiles[0].tempFilePath,
name: 'file',
header: {
'Authorization': wx.getStorageSync('token'),
'Content-Type': 'multipart/form-data'
},
formData: {
type: 'poster'
},
success: (res) => {
const result = JSON.parse(res.data)
req.patchRequest('/api/user/curt',{avatar:result.data.abUrl}).then((res)=>{
if(res.data.code==200){
this.setData({userInfo:res.data.data})
wx.showToast({
title:'修改成功',
icon: 'none',
duration: 1000
})
}
}).catch((err)=>{
console.log(err);
})
}
})
}
})
},
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */

@ -7,7 +7,7 @@
<!-- 头像 --> <!-- 头像 -->
<view class="xgzl-img"> <view class="xgzl-img">
<view class="cameralogo"><view class="cameralogo-img"></view></view> <view class="cameralogo"><view class="cameralogo-img"></view></view>
<image class="avatar1" src="{{userInfo.avatar}}"></image> <image bindtap="editAvatar" class="avatar1" src="{{userInfo.avatar}}"></image>
<input focus="doChangeName1" class="nickname" name="nick" placeholder="昵称不能为空" maxlength="7" value="{{userInfo.nick}}" bindblur="doChangeName1"></input> <input focus="doChangeName1" class="nickname" name="nick" placeholder="昵称不能为空" maxlength="7" value="{{userInfo.nick}}" bindblur="doChangeName1"></input>
</view> </view>

@ -17,11 +17,16 @@ Page({
avatar:"", avatar:"",
nick:"", nick:"",
isChatVip:false,//是否会员 isChatVip:false,//是否会员
phone:'123', phone:'',
hasPhone:false hasPhone:false
}, },
phone:'', phone:'',
phoneVerificationCode:'' phoneVerificationCode:'',
bdSuccess: false, //绑定成功
showPhone: true, //更改手机号码
isHavePhone: true,
existPhone: false,
findAccount: false //账号账号数据
}, },
// 手机号码校验 // 手机号码校验
getPhone(e){ getPhone(e){
@ -44,16 +49,52 @@ Page({
return; return;
} }
}, },
// 找回数据
findData(){
this.setData({
existPhone: false,
findAccount: true,
showPhone: false
})
},
closeFindData(){
this.setData({
existPhone: true,
showPhone: false,
findAccount: false
})
},
closeExistPhone(){
this.setData({
existPhone: false,
showPhone: true
})
},
bindinNewPhone(){
this.setData({
existPhone: false,
showPhone: true,
isHavePhone: false,
phone: ''
})
},
getCode(){ getCode(){
console.log(this.data.phone); // 请求前校验
if (!/^1[3456789]\d{9}$/.test(this.data.phone)) {
wx.showToast({
title: '手机号码格式不正确',
icon: 'none'
});
return;
}
if(this.data.countdown === 60 || this.data.countdown === '重新获取'){ if(this.data.countdown === 60 || this.data.countdown === '重新获取'){
req.postRequest('/api/user/send-authentication-code',{phone:this.data.phone}).then((res)=>{ req.postRequest('/api/user/send-authentication-code',{phone:this.data.phone}).then((res)=>{
console.log(res); console.log(res);
if (res.data.code !== 200) { if (res.data.code === 500) {
return wx.showToast({ return this.setData({
title: res.data.msg, existPhone: true,
icon: 'none' showPhone: false
}); })
} }
if (this.data.countdown === '重新获取') { if (this.data.countdown === '重新获取') {
this.setData({countdown: 60}) this.setData({countdown: 60})
@ -76,14 +117,22 @@ Page({
this.setData({bdsjhVisible:true}) this.setData({bdsjhVisible:true})
}, },
doCancelSjh(){ doCancelSjh(){
this.setData({bdsjhVisible:false}) this.setData({
bdsjhVisible:false,
showPhone: true, //更改手机号码
isHavePhone: false,
existPhone: false,
findAccount: false //账号账号数据
})
},
bdSuccessBtn(){
this.setData({bdsjhVisible: false})
}, },
doEXecSjh(){ doEXecSjh(){
req.patchRequest('/api/user/curt',{ req.patchRequest('/api/user/curt',{
phone:this.data.phone, phone:this.data.phone,
phoneVerificationCode:this.data.phoneVerificationCode phoneVerificationCode:this.data.phoneVerificationCode
}).then((res)=>{ }).then((res)=>{
console.log(res);
if(res.data.code !== 200){ if(res.data.code !== 200){
wx.showToast({ wx.showToast({
title:res.data.msg, title:res.data.msg,
@ -91,11 +140,10 @@ Page({
}) })
return return
}else { }else {
this.setData({bdsjhVisible:false})
this.getUserInfo() this.getUserInfo()
wx.showToast({ this.setData({
title:'绑定成功', bdSuccess: true,
icon:'none' showPhone: false
}) })
} }
}) })
@ -176,7 +224,7 @@ Page({
if(res.data.code==200){ if(res.data.code==200){
this.setData({ this.setData({
userInfo:res.data.data, userInfo:res.data.data,
phone:res.data.data.phone phone:res.data.data.phone,
}) })
} }
console.log(this.userInfo); console.log(this.userInfo);

@ -1,5 +1,6 @@
<!--pages/home/me/indexx.wxml--> <!--pages/home/me/indexx.wxml-->
<t-avatar class="avatar" size="large" image="{{userInfo.avatar}}" /> <!-- <t-avatar class="avatar" size="large" image="{{userInfo.avatar}}" /> -->
<image class="avatar" src="{{userInfo.avatar}}" />
<view class="xxt"></view><!--星星背景图片--> <view class="xxt"></view><!--星星背景图片-->
<view class="txk" bindtap="go2Grzl"></view><!--头像框--> <view class="txk" bindtap="go2Grzl"></view><!--头像框-->
<view class="txkx" bindtap="go2Grzl"> </view><!--头像框里面的图标--> <view class="txkx" bindtap="go2Grzl"> </view><!--头像框里面的图标-->
@ -70,23 +71,68 @@
<t-dialog id="t-dialog" /> <t-dialog id="t-dialog" />
</view> </view>
<view class="bdsjhVisible" wx:if="{{bdsjhVisible}}">
<t-popup visible="{{bdsjhVisible}}" placement="center"> <!-- 绑定手机号码 -->
<view class="bdsjh"> <view class="bdsjh" wx:if="{{showPhone}}">
<view class="bdsjhm1">绑定手机号码</view> <view class="bdsjhm1" wx:if="{{isHavePhone}}">更改手机号码</view>
<view class="bdsjhm2">如设备丢失,可凭手机号码找回账号</view> <view class="bdsjhm1" wx:else>验证手机号码</view>
<view class="bdsjhm2" wx:if="{{isHavePhone}}">如设备丢失,可凭手机号码找回账号</view>
<view class="bdsjhm2" wx:else>请勿将验证码告知他人</view>
<view class="sjhm1">手机号码</view> <view class="sjhm1">手机号码</view>
<view class="yzm1">验证码</view>
<view class="input-example sjhminput1"> <view class="input-example sjhminput1">
<t-input model:value="{{phone}}" bindblur="getPhone" placeholder="请输入手机号" /> <t-input model:value="{{phone}}" bindblur="getPhone" placeholder="请输入手机号" />
</view> </view>
<view class="sjhbkx"></view>
<view class="yzm1">验证码</view>
<view class="input-example sjhminput2"> <view class="input-example sjhminput2">
<t-input model:value="{{phoneVerificationCode}}" bindblur="getVerificationCode" placeholder="请输入验证码" /> <t-input
model:value="{{phoneVerificationCode}}"
bindblur="getVerificationCode"
placeholder="请输入验证码"
class="phoneCode"
/>
<view class="cxhq" bindtap="getCode">{{isCxHq?countdown:'立即获取'}}</view>
</view> </view>
<view class="sjhbkx"></view>
<view class="yzmbkx"></view> <view class="yzmbkx"></view>
<view class="cxhq" bindtap="getCode">{{isCxHq?countdown:'立即获取'}}</view> <view class="bdsjh-btn">
<view class="qxSjh" bindtap="doCancelSjh">取消</view> <view class="qxSjh" bindtap="doCancelSjh">取消</view>
<view class="wcSjh" bindtap="doEXecSjh">完成</view> <view class="wcSjh" bindtap="doEXecSjh">完成</view>
</view> </view>
</t-popup> </view>
<!-- 绑定成功提示 -->
<view class="bd-success" wx:if="{{bdSuccess}}">
<view class="bd-success-text">
<view class="text1">已成功绑定</view>
<view class="text2">可在我的设备中查看</view>
</view>
<view class="bd-success-btn">
<view class="btn" bindtap="bdSuccessBtn">好的</view>
</view>
</view>
<!-- 手机号码已存在 -->
<view class="exist-phone" wx:if="{{existPhone}}">
<view class="exist-phone-text1">此手机号已存在</view>
<view class="exist-phone-text2">如设备丢失,可在此页面找回账号</view>
<view class="exist-phone-text3">如需要绑定新设备请点击下方选项</view>
<view class="exist-phone-btn"><view class="btn" bindtap="findData">找回账号数据</view></view>
<view class="exist-phone-btn"><view class="btn" bindtap="bindinNewPhone">绑定新设备</view></view>
<view class="exist-phone-btn"><view class="btn" bindtap="closeExistPhone">取消</view></view>
</view>
<!-- 找回账号数据 -->
<view class="exist-phone" wx:if="{{findAccount}}">
<view class="exist-phone-text1">找回账号数据</view>
<view class="exist-phone-text4">为保护用户数据隐私</view>
<view class="exist-phone-text5">找回操作将会使[原设备]失效</view>
<view class="exist-phone-text5">找回后,只有新设备可登录账号</view>
<view class="exist-phone-text5">此操作将无法撤销</view>
<view class="exist-phone-text5">确定要找回吗?</view>
<view class="exist-btn">
<view class="btn" bindtap="closeFindData">取消</view>
<view class="btn">确定</view>
</view>
</view>
</view>

@ -224,41 +224,36 @@
height: 140rpx!important; height: 140rpx!important;
display: flex!important; display: flex!important;
flex-direction: column!important; flex-direction: column!important;
border-radius: 50%;
border: 6rpx solid #A48A57;
box-sizing: border-box;
} }
.bdsjh{ .bdsjh{
width:660rpx; width:660rpx;
height:786rpx; height:786rpx;
padding: 96rpx 64rpx;
box-sizing: border-box;
border-radius: 30rpx; border-radius: 30rpx;
background-color: rgba(255, 255, 255, 1);
text-align: center;
box-shadow: 2rpx 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
} }
.bdsjhm1{ .bdsjhm1{
position: absolute; color: #333333;
left: 64rpx; font-weight: 700;
top: 96rpx; font-size: 36rpx;
width: 108px;
height: 26px;
color: rgba(51, 51, 51, 1);
font-size: 18px;
text-align: left; text-align: left;
font-family: SourceHanSansSC-medium;
} }
.bdsjhm2{ .bdsjhm2{
position: absolute; margin-top: 8rpx;
left: 64rpx;
top: 156rpx;
width: 224px;
height: 21px;
color: rgba(154, 154, 154, 1); color: rgba(154, 154, 154, 1);
font-size: 14px; font-size: 28rpx;
text-align: left; text-align: left;
font-family: SourceHanSansSC-regular;
} }
.qxSjh{ .qxSjh{
position: absolute;
left: 64rpx;
top: 620rpx;
width: 105px; width: 105px;
height: 35px; height: 35px;
line-height: 70rpx; line-height: 70rpx;
@ -274,9 +269,6 @@ font-family: SourceHanSansSC-medium;
} }
.wcSjh{ .wcSjh{
position: absolute;
left: 386rpx;
top: 620rpx;
width: 105px; width: 105px;
height: 35px; height: 35px;
line-height: 70rpx; line-height: 70rpx;
@ -292,27 +284,17 @@ font-family: SourceHanSansSC-medium;
} }
.sjhm1{ .sjhm1{
position: absolute; margin-top: 86rpx;
left: 64rpx; color: rgba(102, 102, 102, 1);
top: 284rpx; font-size: 24rpx;
width: 48px; text-align: left;
height: 18px;
color: rgba(102, 102, 102, 1);
font-size: 12px;
text-align: left;
font-family: SourceHanSansSC-medium;
} }
.yzm1{ .yzm1{
position: absolute; margin-top: 36rpx;
left: 64rpx; color: rgba(102, 102, 102, 1);
top: 422rpx; font-size: 24rpx;
width: 36px; text-align: left;
height: 18px;
color: rgba(102, 102, 102, 1);
font-size: 12px;
text-align: left;
font-family: SourceHanSansSC-medium;
} }
.t-input{ .t-input{
padding: 0!important; padding: 0!important;
@ -323,48 +305,195 @@ font-family: SourceHanSansSC-medium;
padding-bottom: 10rpx!important; padding-bottom: 10rpx!important;
} }
.sjhminput1{ .sjhminput1{
margin-top: 14rpx;
padding: 0!important; padding: 0!important;
position: absolute;
left:64rpx;
top:330rpx;
--td-input-border-color: rgba(75, 75, 75, 1); --td-input-border-color: rgba(75, 75, 75, 1);
--td-input-border-color: rgba(255, 255, 255, 1); --td-input-border-color: rgba(255, 255, 255, 1);
--td-input-default-text-color: rgba(248, 99, 42, 1); --td-input-default-text-color: rgba(248, 99, 42, 1);
} }
.sjhbkx{ .sjhbkx{
position: absolute; width: 532rpx;
left: 64rpx; border: 2rpx solid rgba(248, 99, 42, 1);
top: 384rpx;
width: 266px;
border: 1rpx solid rgba(248, 99, 42, 1);
} }
.yzmbkx{ .yzmbkx{
position: absolute; width: 532rpx;
left: 64rpx; border: 2rpx solid rgba(237, 238, 242, 1);
top: 532rpx;
width: 266px;
border: 1rpx solid rgba(237, 238, 242, 1);
} }
.sjhminput2{ .sjhminput2{
position: relative;
margin-top: 14rpx;
padding: 0!important; padding: 0!important;
position: absolute;
left:64rpx;
top:480rpx;
--td-input-border-color: rgba(75, 75, 75, 1); --td-input-border-color: rgba(75, 75, 75, 1);
--td-input-border-color: rgba(255, 255, 255, 1); --td-input-border-color: rgba(255, 255, 255, 1);
} }
.cxhq{ .cxhq{
position: absolute; position: absolute;
left: 500rpx; top: 10rpx;
top: 478rpx; right: 0;
width: 48px; color: rgba(248, 99, 42, 1);
height: 17px; font-size: 24rpx;
color: rgba(248, 99, 42, 1); text-align: left;
font-size: 12px; z-index: 1;
text-align: left; }
font-family: PingFangSC-regular;
.bdsjhVisible {
position: absolute;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background-color: rgba(255, 255, 255, 0.8);
}
.bdsjh-btn {
width: 100%;
margin-top: 96rpx;
display: flex;
justify-content: space-evenly;
}
.bd-success {
width: 586rpx;
height: 434rpx;
line-height: 40rpx;
border-radius: 30rpx;
background-color: rgba(255, 255, 255, 1);
text-align: center;
box-shadow: 2rpx 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
}
.bd-success-text {
margin-top: 122rpx;
width: 100%;
height: 110rpx;
}
.bd-success-text .text1 {
color: rgba(79, 79, 79, 1);
font-size: 36rpx;
}
.bd-success-text .text2 {
margin-top: 16rpx;
color: rgba(248, 99, 42, 1);
font-size: 28rpx;
}
.bd-success-btn {
width: 100%;
display: flex;
justify-content: center;
}
.bd-success-btn .btn {
margin-top: 86rpx;
width: 210rpx;
height: 70rpx;
border-radius: 20rpx;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
text-align: center;
box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
border: 6rpx solid rgba(255, 255, 255, 1);
box-sizing: border-box;
color: #fff;
font-size: 28rpx;
display: flex;
align-items: center;
justify-content: center;
}
.phoneCode {
width: 60%;
}
.exist-phone {
width: 660rpx;
height: 786rpx;
line-height: 40rpx;
border-radius: 30rpx;
background-color: rgba(255, 255, 255, 1);
text-align: center;
box-shadow: 2rpx 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
}
.exist-phone-text1 {
margin-top: 96rpx;
color: #333333;
font-size: 36rpx;
}
.exist-phone-text2 {
margin-top: 38rpx;
color: rgba(154, 154, 154, 1);
font-size: 28rpx;
}
.exist-phone-text3 {
margin-top: 10rpx;
color: rgba(154, 154, 154, 1);
font-size: 28rpx;
margin-bottom: 136rpx;
}
.exist-phone-text4 {
margin-top: 96rpx;
color: rgba(248, 99, 42, 1);
font-size: 32rpx;
}
.exist-phone-text5 {
margin-top: 20rpx;
color: rgba(248, 99, 42, 1);
font-size: 32rpx;
}
.exist-phone-btn {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.exist-phone-btn .btn {
width: 300rpx;
height: 70rpx;
margin-bottom: 32rpx;
border-radius: 20rpx;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
text-align: center;
box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
border: 6rpx solid rgba(255, 255, 255, 1);
box-sizing: border-box;
color: #fff;
font-size: 28rpx;
display: flex;
align-items: center;
justify-content: center;
}
.exist-btn {
width: 100%;
margin-top: 96rpx;
display: flex;
justify-content: space-around;
align-items: center;
}
.exist-btn .btn {
width: 210rpx;
height: 70rpx;
margin-bottom: 32rpx;
border-radius: 20rpx;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
text-align: center;
box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
border: 6rpx solid rgba(255, 255, 255, 1);
box-sizing: border-box;
color: #fff;
font-size: 28rpx;
display: flex;
align-items: center;
justify-content: center;
} }

@ -34,10 +34,10 @@
.sftp{ .sftp{
position: absolute; position: absolute;
left: 15px; left: 30rpx;
top: 82px; top: 164rpx;
width: 345px; width: 690rpx;
height: 115px; height: 230rpx;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size:100% 100%; background-size:100% 100%;
background-image: url(https://wish-assets.windymuse.com.cn/xy/sftp.png); background-image: url(https://wish-assets.windymuse.com.cn/xy/sftp.png);
@ -45,35 +45,36 @@
.hgpng{ .hgpng{
position: absolute; position: absolute;
left: 109px; left: 220rpx;
top: 124px; top: 248rpx;
width: 157px; width: 314rpx;
height: 174px; height: 348rpx;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size:100% 100%; background-size:100% 100%;
background-image: url(https://wish-assets.windymuse.com.cn/xy/hgpng.png); background-image: url(https://wish-assets.windymuse.com.cn/xy/hgpng.png);
} }
.question{ .question{
position: absolute; position: absolute;
left: 236px; left: 472rpx;
top: 124px; top: 248rpx;
width: 30px; width: 60rpx;
height: 30px; height: 60rpx;
z-index: 999; z-index: 999;
background-size: cover;
background-image: url(https://wish-assets.windymuse.com.cn/xy/qqest.png); background-image: url(https://wish-assets.windymuse.com.cn/xy/qqest.png);
} }
.hybtn{ .hybtn{
position: absolute; position: absolute;
left: 118px; left: 236rpx;
top: 645px; top: 1290rpx;
width: 140px; width: 280rpx;
height: 40px; height: 80rpx;
line-height: 80rpx; line-height: 80rpx;
border-radius: 10px; border-radius: 20rpx;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%); background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
text-align: center; text-align: center;
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4); box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
border: 3px solid rgba(255, 255, 255, 1); border: 3px solid rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1); color: rgba(255, 255, 255, 1);
font-size: 32rpx; font-size: 32rpx;
@ -83,26 +84,25 @@ background-repeat: no-repeat;
.viphyqy{ .viphyqy{
position: absolute; position: absolute;
top: 502px; top: 1004rpx;
width: 750rpx; width: 750rpx;
height: 20px; height: 40rpx;
color: rgba(108, 108, 108, 1); color: rgba(108, 108, 108, 1);
font-size: 14px; font-size: 28rpx;
text-align: center; text-align: center;
font-family: SourceHanSansSC-regular;
} }
.introd{ .introd{
left:180rpx;
position: absolute; position: absolute;
top: 538px; left:180rpx;
width: 750rpx; top: 1076rpx;
height: 75px; width: 750rpx;
line-height: 50rpx; height: 150rpx;
color: rgba(108, 108, 108, 1); line-height: 50rpx;
font-size: 14px; color: rgba(108, 108, 108, 1);
text-align: left; font-size: 28rpx;
font-family: SourceHanSansSC-regular; text-align: left;
font-family: SourceHanSansSC-regular;
} }
.zhytxt{ .zhytxt{
@ -131,45 +131,44 @@ font-family: SourceHanSansSC-regular;
.hydqr{ .hydqr{
position: absolute; position: absolute;
top: 314px; top: 628rpx;
width: 750rpx; width: 750rpx;
height: 20px; height: 40rpx;
color: rgba(248, 99, 42, 1); color: rgba(248, 99, 42, 1);
font-size: 14px; font-size: 28rpx;
text-align: center; text-align: center;
font-family: SourceHanSansSC-regular;
} }
.week1{ .week1{
position: absolute; position: absolute;
left: 32px; left: 64rpx;
top: 374px; top: 748rpx;
width: 140px; width: 280rpx;
height: 60px; height: 120rpx;
line-height: 60px; line-height: 120rpx;
border-radius: 15px; border-radius: 30rpx;
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
color: rgba(16, 16, 16, 1); color: rgba(16, 16, 16, 1);
font-size: 14px; font-size: 28rpx;
text-align: center; text-align: center;
font-family: Arial; font-family: Arial;
border: 2px solid rgba(248, 99, 42, 1); border: 4rpx solid rgba(248, 99, 42, 1);
} }
.month1{ .month1{
position: absolute; position: absolute;
left: 203px; left: 406rpx;
top: 374px; top: 748rpx;
width: 140px; width: 280rpx;
height: 60px; height: 120rpx;
line-height: 60px; line-height: 120rpx;
border-radius: 15px; border-radius: 30rpx;
background-color: rgba(248, 99, 42, 1); background-color: rgba(248, 99, 42, 1);
color: rgba(16, 16, 16, 1); color: rgba(16, 16, 16, 1);
font-size: 14px; font-size: 28rpx;
text-align: center; text-align: center;
font-family: Arial; font-family: Arial;
border: 1px solid rgba(248, 99, 42, 1); border: 4rpx solid rgba(248, 99, 42, 1);
} }
.text1{ .text1{

@ -42,6 +42,58 @@ Page({
image: [e.target.dataset.url] image: [e.target.dataset.url]
}) })
}, },
downloadBtn(){
wx.downloadFile({
url: this.data.image[0],
success: (res) => {
if (res.statusCode === 200) {
const tempFilePath = res.tempFilePath;
console.log('下载图片成功', tempFilePath);
// 在这里可以使用 tempFilePath 进行后续操作,比如保存到相册
this.downloadImg(tempFilePath)
} else {
console.log('下载图片失败', res);
}
},
fail: function (err) {
console.log('下载图片失败', err);
}
});
},
// 保存图片
downloadImg(src){
wx.authorize({
scope: 'scope.writePhotosAlbum',
success: () => {
// 用户已经同意授权
// 在这里调用保存图片的代码
wx.saveImageToPhotosAlbum({
filePath: src,
success: (res) => {
console.log('保存图片成功', res);
wx.showToast({
title: '保存成功',
icon: 'success',
duration: 2000
});
this.setData({visible: false})
},
fail: (err) => {
console.log('保存图片失败', err);
wx.showToast({
title: '保存失败',
icon: 'none',
duration: 2000
});
}
});
},
fail() {
// 用户拒绝授权或尚未授权
// 可以在这里给出提示或引导用户打开设置页面进行授权
}
});
},
onClose(){ onClose(){
this.setData({visible: false}) this.setData({visible: false})
}, },

@ -18,18 +18,18 @@
</view> </view>
<!-- 图片预览 --> <!-- 图片预览 -->
<!-- <view class="viewer" wx:if="{{visible}}" bindtap="closeViewer"> <view class="viewer" wx:if="{{visible}}" bindtap="closeViewer">
<image src="{{image}}" scaleToFill/> <image src="{{image}}" mode="widthFix"/>
<view class="viewer-btn"> <view class="viewer-btn">
<view class="btn" bindtap="delBtn">删除</view> <view class="btn" bindtap="delBtnHx">删除</view>
<view class="btn">保存</view> <view class="btn" catchtap="downloadBtn">保存</view>
</view> </view>
</view> --> </view>
<t-image-viewer <!-- <t-image-viewer
visible="{{visible}}" visible="{{visible}}"
images="{{image}}" images="{{image}}"
bind:close="onClose" bind:close="onClose"
/> /> -->
<!--星讯聊天下方菜单栏--> <!--星讯聊天下方菜单栏-->
<view class="xfgjl" > <view class="xfgjl" >

@ -107,12 +107,13 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
z-index: 100; z-index: 100;
display: flex;
align-items: center;
background-color: #fff; background-color: #fff;
} }
.viewer image { .viewer image {
width: 100%; width: 100%;
margin-top: 400rpx;
z-index: 999; z-index: 999;
} }

@ -7,7 +7,8 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
userInfo:{},
isPlay: true
}, },
go2Reback(){ go2Reback(){
wx.navigateTo({ wx.navigateTo({
@ -51,6 +52,7 @@ Page({
limit:-1, limit:-1,
type: 'audio' type: 'audio'
}).then(res => { }).then(res => {
console.log(res);
const list = res.data.data.records const list = res.data.data.records
list.forEach(item => { list.forEach(item => {
// 将时间字符串转为Date对象 // 将时间字符串转为Date对象
@ -81,12 +83,32 @@ Page({
}) })
}) })
}, },
// 播放音频
playAudio(e){
if (this.data.isPlay) {
this.setData({isPlay: false})
const resourceId = e.currentTarget.dataset.item.resourceId
const id = this.data.userInfo.id
const playSrc = `https://xzjl-api.windymuse.cn/api/resource/${resourceId}?k=${id}`
const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.src = playSrc
innerAudioContext.play()
console.log('22222');
innerAudioContext.onEnded(() => {
console.log('111');
this.setData({isPlay: true})
})
}
},
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad(options) { onLoad(options) {
this.getList() this.getList()
this.getLoveInfo() this.getLoveInfo()
this.setData({
userInfo: wx.getStorageSync('xinyuan-userInfo')
})
}, },
/** /**

@ -13,9 +13,9 @@
<view class="item-text-name">{{nick}}</view> <view class="item-text-name">{{nick}}</view>
<view class="item-text-time">{{item.createdAt}}</view> <view class="item-text-time">{{item.createdAt}}</view>
</view> </view>
<view class="item-right"> <view class="item-right" bindtap="playAudio" data-item="{{item}}">
<view class="item-right-icon"></view> <view class="item-right-icon"></view>
<view class="item-right-text">224″</view> <view class="item-right-text">{{item.extra.ssec}}</view>
</view> </view>
</view> </view>
<view slot="right" class="delete-btn" bindtap="delLetter" data-id="{{item.id}}">删除</view> <view slot="right" class="delete-btn" bindtap="delLetter" data-id="{{item.id}}">删除</view>

@ -36,6 +36,7 @@ Page({
req.getRequest('/api/user/curt',{}).then((res)=>{ req.getRequest('/api/user/curt',{}).then((res)=>{
if(res.data.code==200){ if(res.data.code==200){
this.setData({userInfo:res.data.data}) this.setData({userInfo:res.data.data})
wx.setStorageSync('xinyuan-userInfo',res.data.data)
this.isFirst() this.isFirst()
} }
}).catch((err)=>{ }).catch((err)=>{

@ -8,13 +8,6 @@
"condition": { "condition": {
"miniprogram": { "miniprogram": {
"list": [ "list": [
{
"name": "",
"pathName": "pages/home/jl/index",
"query": "",
"launchMode": "default",
"scene": null
},
{ {
"name": "", "name": "",
"pathName": "pages/home/me/indexx", "pathName": "pages/home/me/indexx",
@ -24,21 +17,14 @@
}, },
{ {
"name": "", "name": "",
"pathName": "pages/home/me/yjfk/yjfk", "pathName": "pages/home/xx/hy/yx/yx",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "",
"pathName": "pages/home/jl/jlai/jlai",
"query": "", "query": "",
"launchMode": "default", "launchMode": "default",
"scene": null "scene": null
}, },
{ {
"name": "", "name": "",
"pathName": "pages/home/me/grzl/grzl", "pathName": "pages/home/xx/hy/hx/hx",
"query": "", "query": "",
"launchMode": "default", "launchMode": "default",
"scene": null "scene": null

Loading…
Cancel
Save