diff --git a/.DS_Store b/.DS_Store index 3372993..312ae02 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/app.json b/app.json index 6958926..9121e57 100644 --- a/app.json +++ b/app.json @@ -11,10 +11,8 @@ "pages/index/out/out", "pages/xz/index", "pages/home/xx/xz/xz", - "pages/home/xx/xz/index", "pages/home/me/manual/manual", "pages/home/me/member/member", - "pages/home/me/member2/member", "pages/home/me/gw/gw", "pages/home/me/ysxy/ysxy", "pages/home/me/yhsyxy/yhsyxy", @@ -26,14 +24,12 @@ "pages/home/xyc/wdyw/wdyw", "pages/home/xyc/tdyw/tdyw", "pages/home/me/grzl/grzl", - "pages/home/jl/jlai", "pages/home/jl/jlai/jlai", "pages/home/xx/hy/index", "pages/home/xx/hy/hx/hx", "pages/home/xx/hy/yx/yx", "pages/home/xx/hy/zt/zt", "pages/home/xx/lindex/lindex", - "pages/home/xx/lindex/xz/xz", "pages/home/xx/lindex/lxz/lxz" ], "window": { diff --git a/components/popover-item.js b/components/popover-item.js deleted file mode 100644 index 8a75246..0000000 --- a/components/popover-item.js +++ /dev/null @@ -1,40 +0,0 @@ - -Component({ - relations: { - './popover': { - type: 'parent' - } - }, - /** - * 组件的属性列表 - */ - properties: { - // 是否有底线 - hasline: { - type: Boolean, - value: false - } - }, - - /** - * 组件的初始数据 - */ - data: { - // 每项的高度 - height: 40 - }, - - /** - * 组件的方法列表 - */ - methods: { - onClick: function() { - let { index } = this.properties; - let eventDetail = { - index: index - }; - let eventOption = {}; - this.triggerEvent('tap', eventDetail, eventOption); - } - } -}) diff --git a/components/popover-item.json b/components/popover-item.json deleted file mode 100644 index e8cfaaf..0000000 --- a/components/popover-item.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/components/popover-item.wxml b/components/popover-item.wxml deleted file mode 100644 index f0e47d3..0000000 --- a/components/popover-item.wxml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/components/popover-item.wxss b/components/popover-item.wxss deleted file mode 100644 index f38aaea..0000000 --- a/components/popover-item.wxss +++ /dev/null @@ -1,14 +0,0 @@ -.popover-item { - width: 100%; - font-size: 14px; - text-align: center; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.popover-item-hover { - background-color: #EEE; -} -.underline{ - border-bottom:1px #EEE solid; -} \ No newline at end of file diff --git a/components/popover.js b/components/popover.js deleted file mode 100644 index 7452688..0000000 --- a/components/popover.js +++ /dev/null @@ -1,99 +0,0 @@ -const { windowWidth, windowHeight } = wx.getSystemInfoSync(); - -// 三角形箭头的高度 -const trangleHeight = 12; - -Component({ - relations: { - './popover-item': { - type: 'child' - } - }, - - data: { - // 当前显隐状态 - visible: false, - // popover 宽 - pw: 100, - // popover 高 - ph: 120, - // popover 距左距离 - px: 0, - // popover 距上距离 - py: 0, - // 垂直方向 top/bottom - vertical: '', - // 水平方向 left/center/right - align: '' - }, - - methods: { - onDisplay: function(e) { - let self = this; - - if (self.last && self.last === e.id) { - self.setData({ - visible: !self.data.visible - }); - } else { - wx.createSelectorQuery().selectViewport().scrollOffset(view => { - let { pw, ph, px, py, vertical, align } = self.data; - - let pOverW = (pw - e.width) / 2; - - let offsetL = e.left, - offsetR = windowWidth - e.right, - offsetB = windowHeight - e.bottom; - - if (offsetL >= pOverW && offsetR >= pOverW) { - align = 'center'; - px = e.left - pOverW; - } else if (offsetL > pOverW && offsetR < pOverW) { - align = 'left'; - px = windowWidth - (offsetR + pw); - // 如果向右贴边了,设置一点距离 - if ((windowWidth - pw) == px) px -= 5; - } else if (offsetL < pOverW && offsetR > pOverW) { - align = 'right'; - px = e.left; - // 如果向左贴边了,设置一点距离 - if (px == 0) px += 5; - } - - if (offsetB >= (ph + trangleHeight)) { - vertical = 'bottom'; - py = view.scrollTop + e.bottom + trangleHeight; - } else { - vertical = 'top'; - py = view.scrollTop + e.top - ph - trangleHeight; - } - - self.setData({ - visible: true, - px: px, - py: py, - ph: self.getItemsHeight(), - vertical: vertical, - align: align - }); - }).exec(); - } - // 记录上一次点击的元素 - self.last = e.id; - }, - onHide: function() { - this.setData({ - visible: false - }); - }, - // 获取所有子元素 - getItems: function() { - return this.getRelationNodes('./popover-item'); - }, - // 获取所有子元素的总高度 - getItemsHeight() { - return this.getItems().map(item => item.data.height).reduce((a, b) => a + b, 0); - } - } - -}) \ No newline at end of file diff --git a/components/popover.json b/components/popover.json deleted file mode 100644 index e8cfaaf..0000000 --- a/components/popover.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/components/popover.wxml b/components/popover.wxml deleted file mode 100644 index 6ba8b49..0000000 --- a/components/popover.wxml +++ /dev/null @@ -1,6 +0,0 @@ - - - \ No newline at end of file diff --git a/components/popover.wxss b/components/popover.wxss deleted file mode 100644 index 2d35453..0000000 --- a/components/popover.wxss +++ /dev/null @@ -1,40 +0,0 @@ -.popover-view { - position: absolute; - background-color: white; - box-shadow: 0 0 2px 2px #ddd; - border-radius: 6rpx; -} -/* 实现三角形 */ -.popover-view::before { - position: absolute; - display: inline-block; - width: 0; - height: 0px; - content: ''; - border-style: solid; - border-width: 6px; - border-color: #fff #fff transparent transparent; - box-shadow: 2px -2px 2px #ddd; -} -/* 上 */ -.popover-view.top::before { - bottom: -6px; - transform: rotate(135deg); -} -/* 下 */ -.popover-view.bottom::before { - top: -6px; - transform: rotate(-45deg); -} -/* 左 */ -.popover-view.left::before { - right: 20px; -} -/* 中 */ -.popover-view.center::before { - left: 47px; -} -/* 右 */ -.popover-view.right::before { - left: 20px; -} \ No newline at end of file diff --git a/pages/home/jl/index.js b/pages/home/jl/index.js index f2b57dc..bf7a17c 100644 --- a/pages/home/jl/index.js +++ b/pages/home/jl/index.js @@ -18,7 +18,7 @@ Page({ minutes:0, pickerValue: [0, 0], swiperIndex: 0, - prayTime:0, //祈祷时间 + prayTime:'00:00:00', //祈祷时间 prayTimeStr: '选择祈祷时长' , prayerContent:'', //祈祷内容 showSexLogo:false,//不展示形象修改按钮 @@ -35,7 +35,10 @@ Page({ jmEnergy:false, jmEnergy2: true, showInjectBkc: false, //显示注入能量按钮动画 - inPrayer: true + inPrayer: true, + qdTime: '', + ysTime: '' + }, ShowOrNotLogoS(){ this.setData({singleShow:!this.data.singleShow}) @@ -106,26 +109,7 @@ Page({ if(res.data.code==200){ this.setData({loverInfo:res.data.data}) - // 获取已经祈祷时间 - const now = new Date(); - const startTime = new Date(res.data.data.prayerStartTime) - const diff = now.getTime() - startTime.getTime(); - const hour = Math.floor(diff / (1000 * 60 * 60)); - const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)); - const seconds = Math.floor((diff % (1000 * 60)) / 1000); - const formattedTime = `${hour.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`; - // 获取结束祈祷返回能量 - const nowTime = new Date(); - const endTime = new Date(res.data.data.prayerEndTime) - const TimeDiff = endTime.getTime() - nowTime.getTime(); - - // 判断是否正在祈祷 - if (res.data.data.isInPrayer) { - this.setData({ - prayTime: formattedTime, - energy: Math.floor(TimeDiff / 360000), - }) - } + this.getQdTime(res.data.data) } }).catch((err)=>{ console.log(err); @@ -162,7 +146,8 @@ Page({ }else{ this.setData({ showPray:!this.data.showPray, - prayerContent:'' + prayerContent:'', + prayTimeStr: '选择祈祷时长' }) } this.setData({showTiming: false}) @@ -229,15 +214,17 @@ Page({ crystallineEnergy: this.data.userInfo.crystallineEnergy }) req.patchRequest('/api/user/curt/inject-energy-to-pendant',{}).then((res)=>{ - console.log('能量注入成功'); + if (res.data.code === 200) { + console.log(res, '能量注入成功'); + setTimeout(()=>{ + this.setData({ + showInEnergy:!this.data.showInEnergy, + showScsEnergy:true + }) + this.getUserInfo() + },2000) + } }) - setTimeout(()=>{ - this.setData({ - showInEnergy:!this.data.showInEnergy, - showScsEnergy:true - }) - this.getUserInfo() - },2000) // 计算守护时长 const energy = (this.data.userInfo.pendantEnergy + this.data.userInfo.crystallineEnergy) * 4.8 let minute = 0 @@ -266,40 +253,7 @@ Page({ getUserInfo(){ req.getRequest('/api/user/curt',{}).then((res)=>{ if(res.data.code===200){ - // 获取已经祈祷时间 - const now = new Date(); - const startTime = new Date(res.data.data.prayerStartTime) - const diff = now.getTime() - startTime.getTime(); - const hour = Math.floor(diff / (1000 * 60 * 60)); - const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)); - const seconds = Math.floor((diff % (1000 * 60)) / 1000); - const formattedTime = `${hour.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`; - // 获取结束祈祷返回能量 - const nowTime = new Date(); - const endTime = new Date(res.data.data.prayerEndTime) - const TimeDiff = endTime.getTime() - nowTime.getTime(); - - // 判断是否正在祈祷 - if (res.data.data.isInPrayer) { - this.setData({ - prayTime: formattedTime, - energy: Math.floor(TimeDiff / 360000), - }) - } - - const pendantEnergy = res.data.data.crystallineEnergy - const hours = Math.floor(pendantEnergy * 6 / 60); // 计算小时数 - const minute = pendantEnergy * 6 - hours * 60 - if(hours>0){ - this.setData({ - minutes:59 - }) - } - if(hours<=0){ - this.setData({ - minutes:minute - }) - } + this.getQdTime(res.data.data) // 能量集满显示提示 if(res.data.data.crystallineEnergy >= 100){ @@ -308,9 +262,6 @@ Page({ this.setData({ userInfo:res.data.data, - hours:hours, - minute:minute, - pendantEnergy:pendantEnergy }) // 判断运势加持是否结束 @@ -321,7 +272,6 @@ Page({ } this.getXxObj() - // console.log(this.data.userInfo); } }).catch((err)=>{ console.log(err); @@ -331,26 +281,82 @@ Page({ // 计算运势已加持时间 getYsTime(milliseconds){ const statrSeconds = new Date(milliseconds) - const nowSeconds = new Date() - const nowTime = nowSeconds - statrSeconds - - const hours = Math.floor(nowTime / 1000 / 3600); - const minutes = Math.floor(nowTime / 1000 / 60 - (hours * 60)) ; - const seconds = Math.floor(nowTime / 1000 - (hours * 3600) - (minutes * 60)); - - const formattedHours = String(hours).padStart(2, '0'); - const formattedMinutes = String(minutes).padStart(2, '0'); - const formattedSeconds = String(seconds).padStart(2, '0'); + const ysTime = setInterval(() => { + const nowSeconds = new Date() + + const nowTime = nowSeconds - statrSeconds + + const hours = Math.floor(nowTime / 1000 / 3600); + const minutes = Math.floor(nowTime / 1000 / 60 - (hours * 60)) ; + const seconds = Math.floor(nowTime / 1000 - (hours * 3600) - (minutes * 60)); + + const formattedHours = String(hours).padStart(2, '0'); + const formattedMinutes = String(minutes).padStart(2, '0'); + const formattedSeconds = String(seconds).padStart(2, '0'); + + const time = `${formattedHours}:${formattedMinutes}:${formattedSeconds}` + this.setData({ydTime: time}) + }, 1000) - const time = `${formattedHours}:${formattedMinutes}:${formattedSeconds}` - this.setData({ydTime: time}) + this.setData({ysTime: ysTime}) }, + // 计算祈祷时间 + getQdTime(data){ + if (!data.prayerStartTime) { + return + } + const qdTime = setInterval(() => { + // 获取已经祈祷时间 + const now = new Date(); + const startTime = new Date(data.prayerStartTime) + const diff = now.getTime() - startTime.getTime(); + const hour = Math.floor(diff / (1000 * 60 * 60)); + const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)); + const seconds = Math.floor((diff % (1000 * 60)) / 1000); + const formattedTime = `${hour.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`; + // 获取结束祈祷返回能量 + const nowTime = new Date(); + const endTime = new Date(data.prayerEndTime) + const TimeDiff = endTime.getTime() - nowTime.getTime(); - go2Jlai(){ - wx.navigateTo({ - url: '/pages/home/jl/jlai/jlai' + // 判断是否正在祈祷 + if (data.isInPrayer) { + this.setData({ + prayTime: formattedTime, + energy: Math.floor(TimeDiff / 360000), + }) + } + + const pendantEnergy = data.crystallineEnergy + const hours = Math.floor(pendantEnergy * 6 / 60); // 计算小时数 + const minute = pendantEnergy * 6 - hours * 60 + if(hours>0){ + this.setData({ + minutes:59 + }) + } + if(hours<=0){ + this.setData({ + minutes:minute + }) + } + + this.setData({ + hours:hours, + minute:minute, + pendantEnergy:pendantEnergy }) + + }, 1000); + + this.setData({qdTime: qdTime}) + }, + + go2Jlai(){ + wx.redirectTo({ + url: '/pages/home/jl/jlai/jlai', + }) }, btnOK(){ const prayerEnergy = (this.data.pickerValue[0]*60 + this.data.pickerValue[1])/6 @@ -391,11 +397,10 @@ Page({ } if(res.data.code === 200){ - Toast({ - context: this, - selector: '#t-toast', - message: '祈祷成功', - }); + wx.showToast({ + title: '祈祷成功', + icon: 'success' + }) } this.getUserInfo() @@ -406,15 +411,23 @@ Page({ this.setData({showTiming: false}) }, btnCancel(){ - console.log('111'); req.patchRequest('/api/user/curt/prayer/stop',{}).then((res)=>{ - Toast({ - context: this, - selector: '#t-toast', - message: '已结束祈祷', - }); - this.openPray() - this.getUserInfo() + console.log(res,'2222'); + if(res.data.code === 200){ + wx.showToast({ + title: '已结束祈祷', + icon: 'success' + }) + this.openPray() + this.getUserInfo() + clearInterval(this.data.qdTime) + this.setData({prayTime : '00:00:00'}) + }else { + wx.showToast({ + title: '结束祈祷失败', + icon: 'error' + }) + } }) }, btnShare(){ @@ -486,7 +499,7 @@ Page({ */ onLoad(options) { this.getUserInfo() - this.getUserLoverInfo() + this.getUserLoverInfo() }, /** @@ -502,15 +515,6 @@ Page({ onShow() { this.getUserInfo() this.getXxObj() - - const time = setInterval(() => { - this.getUserInfo() - this.getUserLoverInfo() - }, 1000); - - this.setData({ - setInterval: time - }) }, /** @@ -518,7 +522,8 @@ Page({ */ onHide() { this.getUserInfo() - clearInterval(this.data.setInterval) + clearInterval(this.data.ysTime) + clearInterval(this.data.qdTime) }, /** diff --git a/pages/home/jl/index.wxml b/pages/home/jl/index.wxml index 09b5b6c..f4faf4f 100644 --- a/pages/home/jl/index.wxml +++ b/pages/home/jl/index.wxml @@ -124,7 +124,7 @@ - 运势已加持 {{ydTime}} + @@ -271,7 +271,7 @@ - + @@ -282,7 +282,7 @@ - 运势已加持 {{ydTime}} + 运势已加持{{ydTime}} diff --git a/pages/home/jl/index.wxss b/pages/home/jl/index.wxss index c669812..7d35b5c 100644 --- a/pages/home/jl/index.wxss +++ b/pages/home/jl/index.wxss @@ -1106,7 +1106,7 @@ picker-view-column { .ysjc { position: absolute; - top: 80rpx; + top: 100rpx; display: flex; align-items: center; } diff --git a/pages/home/jl/jlai.js b/pages/home/jl/jlai.js deleted file mode 100644 index 4191762..0000000 --- a/pages/home/jl/jlai.js +++ /dev/null @@ -1,66 +0,0 @@ -// pages/home/jl/jlai.js -Page({ - - /** - * 页面的初始数据 - */ - data: { - - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady() { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow() { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide() { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - - } -}) \ No newline at end of file diff --git a/pages/home/jl/jlai.json b/pages/home/jl/jlai.json deleted file mode 100644 index 3928faa..0000000 --- a/pages/home/jl/jlai.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "usingComponents": {} -} \ No newline at end of file diff --git a/pages/home/jl/jlai.wxml b/pages/home/jl/jlai.wxml deleted file mode 100644 index aca141f..0000000 --- a/pages/home/jl/jlai.wxml +++ /dev/null @@ -1,2 +0,0 @@ - -pages/home/jl/jlai.wxml diff --git a/pages/home/jl/jlai.wxss b/pages/home/jl/jlai.wxss deleted file mode 100644 index 8bbcc35..0000000 --- a/pages/home/jl/jlai.wxss +++ /dev/null @@ -1 +0,0 @@ -/* pages/home/jl/jlai.wxss */ \ No newline at end of file diff --git a/pages/home/jl/jlai/jlai.js b/pages/home/jl/jlai/jlai.js index 73a9503..38d45cd 100644 --- a/pages/home/jl/jlai/jlai.js +++ b/pages/home/jl/jlai/jlai.js @@ -18,10 +18,8 @@ Page({ showChatToast:false }, addClick(){ - console.log('点击了加号11') this.setData({ - isAdd:true, - showChat: !this.data.showChat + isAdd: !this.data.isAdd }) }, noaddClick(){ @@ -31,9 +29,6 @@ Page({ showChat: !this.data.showChat }) }, - dovipTips(){ - this.setData({showChatToast: !this.data.showChatToast}) - }, go2Member(){ wx.navigateTo({ url: '/pages/home/me/member/member' @@ -42,14 +37,20 @@ Page({ go2BB(e){/**鼠标回显事件 */ // this.setData({ltinfo:e.detail.value}) }, - go2Send(e){/**发送消息 */ - this.setData({isBlank:false}) + // 发送消息 + go2Send(e){ + // 非vip并且聊天次数为0 + if (!this.data.userInfo.isChatVip && !this.data.times) { + return this.setData({showChatToast: true}) + } + if(e.target.dataset.lt==''){ - wx: wx.showToast({ + wx.showToast({ title: '聊天内容不能为空', icon:'none', }) }else{ + this.setData({isBlank:false}) this.setData({ chatList:this.data.chatList.concat({'type':1,'value':e.target.dataset.lt}) }) @@ -59,7 +60,7 @@ Page({ console.log(res.data) if(res.data.code==500){ console.log('500状态码') - wx: wx.showToast({ + wx.showToast({ title: '获取星座精灵AI聊天消息超时', icon:'none', }) @@ -77,7 +78,6 @@ Page({ }) this.setData({ltinfo:''}) } - }, getUserInfo(){ req.getRequest('/api/user/curt',{}).then((res)=>{ @@ -86,15 +86,15 @@ Page({ if(!res.data.data.isChatVip){ this.setData({times:res.data.data.freeChatCount}) } - console.log(this.data.times) } - console.log(this.userInfo); }).catch((err)=>{ console.log(err); }) }, go2Reback(){ - wx.navigateBack({ changed: true }); + wx.switchTab({ + url: '/pages/home/jl/index', + }) }, // 获取聊天气泡内容 getContent(e){ diff --git a/pages/home/jl/jlai/jlai.wxml b/pages/home/jl/jlai/jlai.wxml index 941ebd3..7a817fc 100644 --- a/pages/home/jl/jlai/jlai.wxml +++ b/pages/home/jl/jlai/jlai.wxml @@ -1,87 +1,86 @@ - -星座精灵AI -免费次数剩余:{{times}}条 - - - - 星座运势 - 星座占卜 - 塔罗占卜 - 情感倾诉 - 我和Ta未来会怎样 - 文字冒险游戏 - 帮我写一封情书 - - 你好,我是你的星座守护精灵。除此之外,我还可以帮你解答更多问题。快来跟我聊聊吧! - - - - - 星座运势 - 星座占卜 - 塔罗占卜 - 情感倾诉 - 我和Ta未来会怎样 - 文字冒险游戏 - 帮我写一封情书 - - 你好,我是你的星座守护精灵。除此之外,我还可以帮你解答更多问题。快来跟我聊聊吧! - - 开通会员 - 开通会员享不限次畅聊 - - - + - - - - - {{item.value}} + + + 星座精灵AI - - + + 免费次数剩余:{{times}}条 - - - - - - - - + - - - - - - - - + + + + 星座运势 + 星座占卜 + 塔罗占卜 + + + 情感倾诉 + 我和Ta未来会怎样 + + + 文字冒险游戏 + 帮我写一封情书 + + + + + 你好,我是你的星座守护精灵。除此之外,我还可以帮你解答更多问题。快来跟我聊聊吧! + + + + + + + 开通会员 + + 开通会员享不限次畅聊 + + + + + + + + + + + + {{item.value}} + + - - - - - - - - - - - 星座运势 - 星座占卜 - 塔罗占卜 - 文字冒险游戏 - 帮我写一封情书 - 我和Ta未来会怎样 - 情感倾诉 + + + + + + + + + + + + + + 星座运势 + 星座占卜 + 塔罗占卜 + 文字冒险游戏 + 帮我写一封情书 + 我和Ta未来会怎样 + 情感倾诉 + + + + diff --git a/pages/home/jl/jlai/jlai.wxss b/pages/home/jl/jlai/jlai.wxss index 3e5d228..1906cd1 100644 --- a/pages/home/jl/jlai/jlai.wxss +++ b/pages/home/jl/jlai/jlai.wxss @@ -1,14 +1,24 @@ /* pages/home/jl/jlai/jlai.wxss */ -page { +.ai-container { width: 100%; height: 100%; - overflow: hidden; + display: flex; + flex-direction: column; +} + +.header { + position: relative; + width: 100%; + height: 176rpx; + padding-top: 88rpx; + display: flex; + align-items: center; + justify-content: center; } .reback{ position: absolute; - margin-left: 20rpx; - margin-top:108rpx; + left: 20rpx; width:48rpx; height:48rpx; background-repeat: no-repeat; @@ -17,45 +27,47 @@ page { } .title{ - position: absolute; - left: 278rpx; - top: 108rpx; width: 196rpx; height: 48rpx; color: rgba(108, 108, 108, 1); font-size: 32rpx; text-align: center; - font-family: SourceHanSansSC-regular; +} + +.main { + flex: 1; + width: 100%; + overflow: hidden; } .mfcs{ - position: absolute; - left: 0px; - top: 188rpx; width: 100%; height: 88rpx; - line-height: 88rpx; - opacity: 0.8; background: linear-gradient(222.54deg, rgba(248,99,42,1) 14.03%,rgba(249,135,89,1) 85.21%); - text-align: center; color: rgba(255, 255, 255, 1); - font-size: 14px; + font-size: 28rpx; + display: flex; + align-items: center; + justify-content: center; } .ltkjj{ - position: absolute; - left: 32rpx; - top: 328rpx; + margin: 0 auto; + margin-top: 64rpx; width: 686rpx; - height: 764rpx; - line-height: 40rpx; - opacity: 0.9; - border-radius: 15px; + padding: 0 38rpx; + border-radius: 30rpx; background-color: rgba(255, 255, 255, 1); color: rgba(16, 16, 16, 1); - font-size: 14px; - text-align: center; - box-shadow: 1px 2px 6px 0px rgba(0, 0, 0, 0.2); - font-family: Arial; + font-size: 28rpx; + box-shadow: 2rpx 4rpx 12rpx 0px rgba(0, 0, 0, 0.2); +} + +.ltkjj-item { + width: 100%; + height: 164rpx; + padding-top: 64rpx; + display: flex; + justify-content: space-between; } @@ -77,75 +89,82 @@ page { } .ltat{ - position: absolute; + width: 176rpx; height: 100rpx; - line-height: 100rpx; opacity: 0.9; border-radius: 50rpx; background: linear-gradient(222.69deg, rgba(248,99,42,1) 14.04%,rgba(249,135,89,1) 88.56%); - color: rgba(16, 16, 16, 1); - font-size: 12px; - text-align: center; - box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4); - font-family: Arial; - color: rgba(255, 255, 255, 1); - font-size: 14px; - text-align: center; - font-family: SourceHanSansSC-regular; + color: #fff; + font-size: 24rpx; + box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4); + display: flex; + align-items: center; + justify-content: center; } -.ltxzys{ - left: 38rpx; - top: 64rpx; - width: 196rpx; - -} -.ltxzzb{ - left: 250rpx; - top: 64rpx; - width: 196rpx; +.ltwm { + width: 236rpx; + height: 100rpx; + opacity: 0.9; + border-radius: 50rpx; + background: linear-gradient(222.69deg, rgba(248,99,42,1) 14.04%,rgba(249,135,89,1) 88.56%); + color: #fff; + font-size: 24rpx; + box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4); + display: flex; + align-items: center; + justify-content: center; } -.lttlzb{ - top: 64rpx; - width: 196rpx; - left: 462rpx; -} -.ltqgqs{ - width:236rpx; - left:38rpx; - top:228rpx; -} -.ltwm{ - left:320rpx; - top:228rpx; - width:335rpx; +.wzmxyx { + width: 334rpx; + height: 100rpx; + opacity: 0.9; + border-radius: 50rpx; + background: linear-gradient(222.69deg, rgba(248,99,42,1) 14.04%,rgba(249,135,89,1) 88.56%); + color: #fff; + font-size: 24rpx; + box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4); + display: flex; + align-items: center; + justify-content: center; } -.wzmxyx{ - left:38rpx; - width:274rpx; - top:392rpx; +.ltqsfaf { + width: 274rpx; + height: 100rpx; + opacity: 0.9; + border-radius: 50rpx; + background: linear-gradient(222.69deg, rgba(248,99,42,1) 14.04%,rgba(249,135,89,1) 88.56%); + color: #fff; + font-size: 24rpx; + box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4); + display: flex; + align-items: center; + justify-content: center; } -.ltqs{ - left:344rpx; - width:306rpx; - top:392rpx; + +.lltqsfeaf { + width: 306rpx; + height: 100rpx; + opacity: 0.9; + border-radius: 50rpx; + background: linear-gradient(222.69deg, rgba(248,99,42,1) 14.04%,rgba(249,135,89,1) 88.56%); + color: #fff; + font-size: 24rpx; + box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4); + display: flex; + align-items: center; + justify-content: center; } .tximg{ - position: absolute; - left: 38rpx; - top: 556rpx; width: 84rpx; height: 84rpx; - border: 3px solid rgba(161, 134, 81, 1); - background-color: coral; + margin-top: 64rpx; } .ltwzk{ - position: absolute; - left: 154rpx; - top: 556rpx; + margin-top: 64rpx; width: 482rpx; height: 144rpx; color: rgba(108, 108, 108, 1); @@ -155,30 +174,45 @@ page { font-family: SourceHanSansSC-regular; } +.ltkjj-btm { + width: 100%; + height: 272rpx; + display: flex; + justify-content: space-between; +} + +.ltkjj-btn { + width: 100%; + height: 236rpx; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; +} + +.ai-btm { + margin-bottom: 64rpx; +} + .ltk1{ - position: absolute; - left: 0px; - top: 1444rpx; width: 100%; - height: 180rpx; - line-height: 20px; - background-color: rgba(248, 248, 248, 1); - text-align: center; - border: 1px solid rgba(255, 0, 0, 0); + height: 112rpx; + padding: 14rpx 32rpx; + display: flex; + align-items: center; + justify-content: space-between; + background-color: #F8F8F8; } .ltk1txt{ - position: absolute; - left: 32rpx; - top: 14rpx; width: 530rpx; height: 84rpx; - border-radius: 5px; + border-radius: 10rpx; color: rgba(136, 136, 136, 1); - font-size: 14px; + font-size: 28rpx; text-align: left; - font-family: Arial; - border: 1px solid rgba(255, 0, 0, 0); + padding-left: 20rpx; + background-color: #fff; } .t-textarea{ margin: 0!important; @@ -197,9 +231,6 @@ page { } .fsan{ - position: absolute; - left: 664rpx; - top: 32rpx; width: 54rpx; height: 54rpx; background-repeat: no-repeat; @@ -208,9 +239,6 @@ page { } .addbtn{ - position: absolute; - left: 586rpx; - top: 30rpx; width: 54rpx; height: 54rpx; background-repeat: no-repeat; @@ -219,24 +247,36 @@ page { } .chatbox{ - position: absolute; - top:264rpx; - width:750rpx; - height:1360rpx; - overflow: auto; + width: 750rpx; + height: 100%; + overflow-y: scroll; } .chatbox1{ width:750rpx; - height:148rpx; + height:166rpx; display: block; } + +.chatbox2{ + width:750rpx; + height:166rpx; + display: block; + background-color: rgba(248, 99, 42, 0.05); +} + .chattoux{ margin-left: 32rpx; margin-top: 32rpx; + border-radius: 50%; + overflow: hidden; width: 84rpx; height: 84rpx; - display: online; +} + +.chattoux image { + width: 100%; + height: 100%; } .chatinfo{ @@ -250,65 +290,37 @@ page { font-family: SourceHanSansSC-regular; } -.dd1{ - width:750rpx; - height:160rpx; -} - .kthybtn{ - position: absolute; - left: 224rpx; - top: 826rpx; + position: relative; width: 240rpx; height: 70rpx; - line-height: 70rpx; - border-radius: 10px; + 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); - font-size: 12px; - text-align: center; - font-family: Arial; color: rgba(255, 255, 255, 1); - font-size: 14px; - text-align: center; - font-family: SourceHanSansSC-medium; + font-size: 28rpx; + display: flex; + align-items: center; + justify-content: center; } .kthytips{ - position: absolute; - top: 898rpx; - width: 686rpx; - height: 20px; color: rgba(108, 108, 108, 1); - font-size: 12px; - text-align: center; - font-family: SourceHanSansSC-regular; + font-size: 24rpx; } .hyhgtx{ position: absolute; - left: 392rpx; - top: 742rpx; + top: -80rpx; + right: -40rpx; width: 120rpx; height: 127rpx; background-repeat: no-repeat; background-size:100% 100%; background-image: url(https://wish-assets.windymuse.com.cn/xy/hyhg.png); } -.ltk112{ - position: absolute; - left: 0; - top: 1224rpx; - width: 100%; - height: 110rpx; - line-height: 40rpx; - background-color: rgba(248, 248, 248, 1); - text-align: center; - border: 1px solid rgba(255, 0, 0, 0); -} + .myshkjj{ - position: absolute; - top: 1340rpx; width: 100%; /* 容器宽度 */ overflow-x: scroll; /* 横向滚动 */ } diff --git a/pages/home/me/grzl/grzl.js b/pages/home/me/grzl/grzl.js index 81f285a..9a85579 100644 --- a/pages/home/me/grzl/grzl.js +++ b/pages/home/me/grzl/grzl.js @@ -112,7 +112,9 @@ Page({ }) }, go2Reback(){ - wx.navigateBack({ changed: true }); + wx.switchTab({ + url: '/pages/home/me/indexx', + }) }, // 自定义头像 diff --git a/pages/home/me/grzl/grzl.wxss b/pages/home/me/grzl/grzl.wxss index a756942..59ea5fe 100644 --- a/pages/home/me/grzl/grzl.wxss +++ b/pages/home/me/grzl/grzl.wxss @@ -98,7 +98,7 @@ } .txcheck{ - width: 844rpx; + /* width: 844rpx; */ height: 164rpx; text-align: center; overflow: auto; diff --git a/pages/home/me/indexx.js b/pages/home/me/indexx.js index c138f49..33c293a 100644 --- a/pages/home/me/indexx.js +++ b/pages/home/me/indexx.js @@ -27,7 +27,8 @@ Page({ isHavePhone: true, existPhone: false, findAccount: false, //账号账号数据 - openLogout: false //退出登入 + openLogout: false, //退出登入 + deadline: 0 }, // 手机号码校验 getPhone(e){ @@ -62,7 +63,7 @@ Page({ retrieveAccount(){ req.patchRequest('/api/user/retrieve-data',{ phone:this.data.phone, - phoneVerificationCode:this.data.phoneVerificationCode + code:this.data.phoneVerificationCode }).then(res => { if (res.data.code === 200) { wx.showToast({ @@ -74,6 +75,11 @@ Page({ url: '/pages/index/index', }) }, 1000); + }else { + wx.showToast({ + title: res.data.msg, + icon: 'error' + }) } }).catch(res => { console.log(res, '找回账号数据失败'); @@ -99,7 +105,9 @@ Page({ showPhone: true, isHavePhone: false, phone: '', - phoneVerificationCode: '' + phoneVerificationCode: '', + isCxHq: false, + countdown: 60 }) }, getCode(){ @@ -110,8 +118,16 @@ Page({ icon: 'none' }); } + // if(this.data.phone === this.data.userInfo.phone){ + // return wx.showToast({ + // title: '您已绑定该号码', + // icon: 'error' + // }) + // } 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)=>{ if (res.data.code === 200) { wx.showToast({ title: '验证码已发送,请在手机上查收', @@ -158,9 +174,19 @@ Page({ clearTimeout(this.data.timerId); }, bdSuccessBtn(){ - this.setData({bdsjhVisible: false}) + this.setData({ + bdsjhVisible: false, + showPhone: true, + bdSuccess: false + }) }, doEXecSjh(){ + if (this.data.phone === this.data.userInfo.phone) { + return wx.showToast({ + title: '已绑定该手机号', + icon: 'error' + }) + } if (this.data.phoneVerificationCode.length !== 6) { return wx.showToast({ title: '验证码格式不正确', @@ -210,15 +236,11 @@ Page({ url: '/pages/home/me/grzl/grzl' }) }, - go2Member(){/**跳转到会员购买页面 */ - wx.redirectTo({ - url: '/pages/home/me/member/member' - }) - }, - go2Member2(){/**跳转到会员续费页面 */ + // 跳转到会员购买页面 + go2Member(){ wx.redirectTo({ - url: '/pages/home/me/member2/member' - }) + url: '/pages/home/me/member/member?isChatVip=' + this.data.userInfo.isChatVip + }) }, go2Gw(){ // wx.redirectTo({ @@ -279,7 +301,12 @@ Page({ userInfo:res.data.data, phone:res.data.data.phone, }) - this.getDetele() + // 获取默认头像 + this.getDetaile() + // 获取vip截止日期 + if (res.data.data.isChatVip) { + this.getVipDeadline(res.data.data.chatVipEndTime) + } } }).catch((err)=>{ console.log(err); @@ -294,7 +321,7 @@ Page({ }, // 获取默认头像 - getDetele(){ + getDetaile(){ const list = wx.getStorageSync('xy-static-img') const type = this.data.userInfo.constellation this.setData({ @@ -302,6 +329,19 @@ Page({ }) }, + // 获取vip截止日期 + getVipDeadline(time){ + const endTime = new Date(time) + const newTime = new Date() + + // 判断时间是否已经到期 + if (endTime > newTime) { + const deadTime = endTime - newTime + const deadline = Math.floor(deadTime / 1000 / 60 / 60 / 24) + this.setData({deadline: deadline}) + } + }, + /** * 生命周期函数--监听页面加载 */ diff --git a/pages/home/me/indexx.wxml b/pages/home/me/indexx.wxml index 168135d..b539c81 100644 --- a/pages/home/me/indexx.wxml +++ b/pages/home/me/indexx.wxml @@ -7,8 +7,8 @@ {{userInfo.nick}} 开通VIP会员 - - 还有21天到期 + + 还有{{deadline}}天到期 说明书 @@ -28,19 +28,19 @@ - + 绑定手机号 {{userInfo.phone}} - + 意见反馈 diff --git a/pages/home/me/jcjb/jcjb.js b/pages/home/me/jcjb/jcjb.js index d9e6a0e..66f1194 100644 --- a/pages/home/me/jcjb/jcjb.js +++ b/pages/home/me/jcjb/jcjb.js @@ -12,7 +12,9 @@ Page({ showDialog:false }, go2Reback(){ - wx.navigateBack({ changed: true }); + wx.switchTab({ + url: '/pages/home/me/indexx', + }) }, // 长按解除羁绊 handleLongPress() { diff --git a/pages/home/me/manual/manual.js b/pages/home/me/manual/manual.js index 4adffe3..9df9b08 100644 --- a/pages/home/me/manual/manual.js +++ b/pages/home/me/manual/manual.js @@ -9,9 +9,9 @@ Page({ }, go2Reback(){ - wx.redirectTo({ - url: '/pages/home/me/indexx', - }) + wx.switchTab({ + url: '/pages/home/me/indexx', + }) }, diff --git a/pages/home/me/member/member.js b/pages/home/me/member/member.js index 1f4a0dd..ab90e15 100644 --- a/pages/home/me/member/member.js +++ b/pages/home/me/member/member.js @@ -10,7 +10,9 @@ Page({ data: { yhy:true, openid:'', - showToast:false + showToast:false, + isChatVip:false, + deadline: '' }, doKtHy() { @@ -27,6 +29,7 @@ Page({ signType: 'MD5', paySign: res.data.data.paySign, success: res => { + console.log(res, '支付返回数据'); //支付成功的回调这里面写支付成功后跳转的路径 wx.showToast({ title: '支付成功', // 标题 @@ -39,24 +42,21 @@ Page({ }, 1000) }, fail: () => { - // uni.showToast({ - // icon: 'none', - // title: '支付失败' - // }); + wx.showToast({ + icon: 'none', + title: '支付失败' + }); } }); }) - /**开通会员操作 */ - console.log('开通会员') - }, - go2Week(){ - this.setData({yhy:false}) }, go2Month(){ - this.setData({yhy:true}) + this.setData({yhy: !this.data.yhy}) }, go2Reback(){ - wx.navigateBack({ changed: true }); + wx.switchTab({ + url: '/pages/home/me/indexx', + }) }, tQuest(){ this.setData({showToast:true}) @@ -66,6 +66,34 @@ Page({ console.log('点击了'); }, + getuserInfo(){ + req.getRequest('/api/user/curt',{}).then(res => { + if (res.data.code === 200) { + console.log(res.data.data.isChatVip); + this.setData({isChatVip: res.data.data.isChatVip}) + if (res.data.data.isChatVip) { + this.getVipDeadline(res.data.data.chatVipEndTime) + } + } + }) + }, + + // 获取vip截止日期 + getVipDeadline(time){ + console.log(time); + const endTime = new Date(time) + const newTime = new Date() + + // 判断时间是否已经到期 + if (endTime > newTime) { + const year = endTime.getFullYear() + const mouth = endTime.getMonth() + 1 + const day = endTime.getDate() + const deadline = `${year}年${mouth}月${day}日` + this.setData({ deadline : deadline}) + } + }, + /** * 生命周期函数--监听页面加载 */ @@ -74,7 +102,6 @@ Page({ provider: 'weixin', success: loginRes => { //loginRes中有code,拿着code再请求自己服务器以获取openid - console.log(loginRes.code, 888888888888); req.getRequest(`/api/v1/chat-service-order/js-code2-session`, { code: loginRes.code }).then((res) => { @@ -86,6 +113,8 @@ Page({ }) } }); + + this.getuserInfo() }, /** diff --git a/pages/home/me/member/member.wxml b/pages/home/me/member/member.wxml index 4bc5337..b6cc5d0 100644 --- a/pages/home/me/member/member.wxml +++ b/pages/home/me/member/member.wxml @@ -1,34 +1,59 @@ - - -VIP会员 - - - - - + + + + + VIP会员 + - - - -星座精灵AI的付费会员服务基于OpenAI的GPT-3.5 Turbo模型,为您提供高智能情感咨询服务,以及星座、 -星骰和塔罗牌等娱乐服务。利用人工智能技术和高质量的自然语言响应,星座精灵AI可以更好的帮助您深入探 -索内心世界。 - + + + - -开通会员 -VIP会员权益 - - 1、星座精灵AI服务无限次畅聊 - 2、不定期商品及新品折扣优惠 - 3、 其他权益陆续增加中...... - -周会员 -月会员 -即刻解锁无限次星座精灵AI无限畅聊! + + + + + + 即刻解锁无限次星座精灵AI无限畅聊! + 您的会员将于{{deadline}}到期 + + + + ¥29 + / 周 + + 周会员 + + + + ¥69 + / 月 + + 月会员 + + -¥29 / 周 -¥69 / 月 + VIP会员权益 -¥29 / 周 -¥69 / 月 \ No newline at end of file + + 1、星座精灵AI服务无限次畅聊 + 2、不定期商品及新品折扣优惠 + 3、其他权益陆续增加中...... + + + {{isChatVip ? '续费会员' : '开通会员'}} + + + + + + + + + 星座精灵AI的付费会员服务基于OpenAI的GPT-3.5 Turbo模型,为您提供高智能情感咨询服务,以及星座、 + 星骰和塔罗牌等娱乐服务。利用人工智能技术和高质量的自然语言响应,星座精灵AI可以更好的帮助您深入探 + 索内心世界。 + + + + \ No newline at end of file diff --git a/pages/home/me/member/member.wxss b/pages/home/me/member/member.wxss index 6c92e32..85c0b8d 100644 --- a/pages/home/me/member/member.wxss +++ b/pages/home/me/member/member.wxss @@ -1,7 +1,23 @@ +.member-container { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; +} + +.header { + position: relative; + width: 100%; + height: 88rpx; + margin-top: 88rpx; + display: flex; + justify-content: center; + align-items: center; +} + .reback{ position: absolute; - margin-left: 20rpx; - margin-top:108rpx; + left: 20rpx; width:48rpx; height:48rpx; background-repeat: no-repeat; @@ -10,82 +26,91 @@ } .title{ - position: absolute; - left: 278rpx; - top: 108rpx; width: 196rpx; height: 48rpx; color: rgba(108, 108, 108, 1); font-size: 32rpx; text-align: center; - font-family: SourceHanSansSC-regular; } -.hybt{ - position: absolute; - left: 30rpx; - top: 1326rpx; +.main { + position: relative; + flex: 1; + display: flex; + align-items: center; + flex-direction: column; +} + +.sftp{ width: 690rpx; height: 230rpx; background-repeat: no-repeat; background-size:100% 100%; - background-image: url(https://wish-assets.windymuse.com.cn/xy/hybt.png); + background-image: url(https://wish-assets.windymuse.com.cn/xy/sftp.png); } -.sftp{ +.hybt{ position: absolute; - left: 30rpx; - top: 164rpx; + bottom: 44rpx; width: 690rpx; height: 230rpx; background-repeat: no-repeat; 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/hybt.png); } .hgpng{ position: absolute; - left: 220rpx; - top: 248rpx; + top: 72rpx; width: 314rpx; height: 348rpx; + display: flex; + justify-content: flex-end; background-repeat: no-repeat; background-size:100% 100%; background-image: url(https://wish-assets.windymuse.com.cn/xy/hgpng.png); } .question{ - position: absolute; - left: 472rpx; - top: 248rpx; width: 60rpx; height: 60rpx; z-index: 999; background-size: cover; background-image: url(https://wish-assets.windymuse.com.cn/xy/qqest.png); } + +.member-btn { + margin-top: 88rpx; + width: 100%; + height: 180rpx; + display: flex; + justify-content: space-evenly; +} + +.member-btn-left, .member-btn-right { + width: 280rpx; + height: 100%; +} + .hybtn{ - position: absolute; - left: 236rpx; - top: 1290rpx; + margin-top: 64rpx; width: 280rpx; height: 80rpx; line-height: 80rpx; 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: 3px solid rgba(255, 255, 255, 1); + border: 6rpx solid rgba(255, 255, 255, 1); color: rgba(255, 255, 255, 1); font-size: 32rpx; - text-align: center; - font-family: SourceHanSansSC-medium; + display: flex; + align-items: center; + justify-content: center; } .viphyqy{ - position: absolute; - top: 1004rpx; - width: 750rpx; + margin-top: 78rpx; + width: 100%; height: 40rpx; color: rgba(108, 108, 108, 1); font-size: 28rpx; @@ -93,10 +118,9 @@ } .introd{ - position: absolute; - left:180rpx; - top: 1076rpx; - width: 750rpx; + margin-top: 32rpx; + padding-left: 180rpx; + width: 100%; height: 150rpx; line-height: 50rpx; color: rgba(108, 108, 108, 1); @@ -106,32 +130,21 @@ } .zhytxt{ - position: absolute; - left: 82px; -top: 442px; -width: 42px; -height: 21px; -color: rgba(154, 154, 154, 1); -font-size: 14px; -text-align: center; -font-family: SourceHanSansSC-regular; + width: 100%; + color: rgba(154, 154, 154, 1); + font-size: 28rpx; + text-align: center; } .yhytxt{ - position: absolute; - left: 506rpx; -top: 442px; -width: 42px; -height: 21px; -color: rgba(154, 154, 154, 1); -font-size: 14px; -text-align: center; -font-family: SourceHanSansSC-regular; + width: 100%; + color: rgba(154, 154, 154, 1); + font-size: 28rpx; + text-align: center; } .hydqr{ - position: absolute; - top: 628rpx; + margin-top: 234rpx; width: 750rpx; height: 40rpx; color: rgba(248, 99, 42, 1); @@ -140,11 +153,9 @@ font-family: SourceHanSansSC-regular; } .week1{ - position: absolute; - left: 64rpx; - top: 748rpx; width: 280rpx; height: 120rpx; + margin-bottom: 10rpx; line-height: 120rpx; border-radius: 30rpx; background-color: rgba(255, 255, 255, 1); @@ -155,12 +166,14 @@ font-family: SourceHanSansSC-regular; border: 4rpx solid rgba(248, 99, 42, 1); } +.week1 .text1, .month1 .text2 { + color: #4f4f4f; +} + .month1{ - position: absolute; - left: 406rpx; - top: 748rpx; width: 280rpx; height: 120rpx; + margin-bottom: 10rpx; line-height: 120rpx; border-radius: 30rpx; background-color: rgba(248, 99, 42, 1); @@ -171,13 +184,16 @@ font-family: SourceHanSansSC-regular; border: 4rpx solid rgba(248, 99, 42, 1); } +.month1 .text1, .month1 .text2 { + color: #fff; +} + .text1{ margin-left: 2px; top: 384px; width: 60px; height: 41px; font-size: 28px; - font-family: SourceHanSansSC-regular; } .text2{ @@ -187,66 +203,21 @@ font-family: SourceHanSansSC-regular; height: 17px; font-size: 16px; text-align: left; - font-family: SourceHanSansSC-regular; -} - -.tcolor1{ - color: rgba(79, 79, 79, 1); -} - -.tcolor2{ - color: rgba(255, 255, 255, 1); -} - -.week2{ - position: absolute; - left: 32px; - top: 374px; - width: 140px; - height: 60px; - line-height: 60px; - border-radius: 15px; - background-color: rgba(248, 99, 42, 1); - color: rgba(16, 16, 16, 1); - font-size: 14px; - text-align: center; - font-family: Arial; - border: 1px solid rgba(248, 99, 42, 1); -} - -.month2{ - - position: absolute; - left: 203px; - top: 374px; - width: 140px; - height: 60px; - line-height: 60px; - border-radius: 15px; - background-color: rgba(255, 255, 255, 1); - color: rgba(16, 16, 16, 1); - font-size: 14px; - text-align: center; - font-family: Arial; - border: 2px solid rgba(248, 99, 42, 1); } .toast { - position: absolute; - top: 344rpx; - left: 64rpx; + margin-top: 168rpx; width: 622rpx; height: 316rpx; + line-height: 150%; padding: 32rpx; box-sizing: border-box; - border-radius: 15px; + border-radius: 30rpx; background-color: rgba(255, 255, 255, 0.9); color: rgba(108, 108, 108, 1); font-size: 28rpx; - text-align: center; - box-shadow: 1px 2px 6px 0px rgba(0, 0, 0, 0.2); + box-shadow: 2rpx 4rpx 12rpx 0px rgba(0, 0, 0, 0.2); z-index: 999; - text-align: justify; } .bgc { @@ -254,4 +225,6 @@ font-family: SourceHanSansSC-regular; width: 100%; height: 100%; z-index: 1; + display: flex; + justify-content: center; } \ No newline at end of file diff --git a/pages/home/me/member2/member.js b/pages/home/me/member2/member.js deleted file mode 100644 index 27f9791..0000000 --- a/pages/home/me/member2/member.js +++ /dev/null @@ -1,87 +0,0 @@ -// pages/home/me/member/member.js -import Toast from 'tdesign-miniprogram/toast/index'; -Page({ - - /** - * 页面的初始数据 - */ - data: { - yhy:true - - }, - doKtHy(){/**开通会员操作 */ - console.log('开通会员') - }, - go2Week(){ - this.setData({yhy:false}) - }, - go2Month(){ - this.setData({yhy:true}) - }, - go2Reback(){ - wx.navigateBack({ changed: true }); - }, - tQuest(){ - Toast({ - context: this, - selector: '#t-toast', - message: '星座精灵AI的付费会员服务基于OpenAI的GPT-3.5 Turbo模型,为您提供高智能情感咨询服务,以及星座、星骰和塔罗牌等娱乐服务。利用人工智能技术和高质量的自然语言响应,星座精灵AI可以更好的帮助您深入探索内心世界。', - }); - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady() { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow() { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide() { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - - } -}) \ No newline at end of file diff --git a/pages/home/me/member2/member.json b/pages/home/me/member2/member.json deleted file mode 100644 index 38b2cd4..0000000 --- a/pages/home/me/member2/member.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "usingComponents": { - "t-toast": "tdesign-miniprogram/toast/toast" - } -} \ No newline at end of file diff --git a/pages/home/me/member2/member.wxml b/pages/home/me/member2/member.wxml deleted file mode 100644 index df83028..0000000 --- a/pages/home/me/member2/member.wxml +++ /dev/null @@ -1,26 +0,0 @@ - - -VIP会员 - - - - - - - -开通会员 -VIP会员权益 - - 1、星座精灵AI服务无限次畅聊 - 2、不定期商品及新品折扣优惠 - 3、 其他权益陆续增加中...... - -周会员 -月会员 -您的会员将于 2023年5月20日到期 - -¥29 / 周 -¥69 / 月 - -¥29 / 周 -¥69 / 月 diff --git a/pages/home/me/member2/member.wxss b/pages/home/me/member2/member.wxss deleted file mode 100644 index f5e4f31..0000000 --- a/pages/home/me/member2/member.wxss +++ /dev/null @@ -1,232 +0,0 @@ -.reback{ - position: absolute; - margin-left: 20rpx; - margin-top:108rpx; - width:48rpx; - height:48rpx; - background-repeat: no-repeat; - background-size:100% 100%; - background-image: url(https://wish-assets.windymuse.com.cn/xy/reback.png); -} - -.title{ - position: absolute; - left: 278rpx; - top: 108rpx; - width: 196rpx; - height: 48rpx; - color: rgba(108, 108, 108, 1); - font-size: 32rpx; - text-align: center; - font-family: SourceHanSansSC-regular; -} - -.hybt{ - position: absolute; - left: 30rpx; - top: 1326rpx; - width: 690rpx; - height: 230rpx; - background-repeat: no-repeat; - background-size:100% 100%; - background-image: url(https://wish-assets.windymuse.com.cn/xy/hybt.png); -} - -.sftp{ - position: absolute; - left: 15px; - top: 82px; - width: 345px; - height: 115px; - background-repeat: no-repeat; - background-size:100% 100%; - background-image: url(https://wish-assets.windymuse.com.cn/xy/sftp.png); -} - -.hgpng{ - position: absolute; - left: 109px; -top: 124px; -width: 157px; -height: 174px; -background-repeat: no-repeat; - background-size:100% 100%; - background-image: url(https://wish-assets.windymuse.com.cn/xy/hgpng.png); -} - -.question{ - position: absolute; - left: 236px; - top: 124px; - width: 30px; - height: 30px; - background-image: url(https://wish-assets.windymuse.com.cn/xy/qqest.png); -} -.hybtn{ - position: absolute; - left: 118px; - top: 645px; - width: 140px; - height: 40px; - line-height: 80rpx; - border-radius: 10px; - 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 2px 6px 0px rgba(0, 0, 0, 0.4); - border: 3px solid rgba(255, 255, 255, 1); - color: rgba(255, 255, 255, 1); - font-size: 32rpx; - text-align: center; - font-family: SourceHanSansSC-medium; -} - -.viphyqy{ - position: absolute; -top: 502px; -width: 750rpx; -height: 20px; -color: rgba(108, 108, 108, 1); -font-size: 14px; -text-align: center; -font-family: SourceHanSansSC-regular; -} - -.introd{ - left:180rpx; - position: absolute; -top: 538px; -width: 750rpx; -height: 75px; -line-height: 50rpx; -color: rgba(108, 108, 108, 1); -font-size: 14px; -text-align: left; -font-family: SourceHanSansSC-regular; -} - -.zhytxt{ - position: absolute; - left: 82px; -top: 442px; -width: 42px; -height: 21px; -color: rgba(154, 154, 154, 1); -font-size: 14px; -text-align: center; -font-family: SourceHanSansSC-regular; -} - -.yhytxt{ - position: absolute; - left: 506rpx; -top: 442px; -width: 42px; -height: 21px; -color: rgba(154, 154, 154, 1); -font-size: 14px; -text-align: center; -font-family: SourceHanSansSC-regular; -} - -.hydqr{ - position: absolute; - top: 314px; - width: 750rpx; - height: 20px; - color: rgba(248, 99, 42, 1); - font-size: 14px; - text-align: center; - font-family: SourceHanSansSC-regular; -} - -.week1{ - position: absolute; - left: 32px; - top: 374px; - width: 140px; - height: 60px; - line-height: 60px; - border-radius: 15px; - background-color: rgba(255, 255, 255, 1); - color: rgba(16, 16, 16, 1); - font-size: 14px; - text-align: center; - font-family: Arial; - border: 2px solid rgba(248, 99, 42, 1); -} - -.month1{ - position: absolute; - left: 203px; - top: 374px; - width: 140px; - height: 60px; - line-height: 60px; - border-radius: 15px; - background-color: rgba(248, 99, 42, 1); - color: rgba(16, 16, 16, 1); - font-size: 14px; - text-align: center; - font-family: Arial; - border: 1px solid rgba(248, 99, 42, 1); -} - -.text1{ - margin-left: 2px; - top: 384px; - width: 60px; - height: 41px; - font-size: 28px; - font-family: SourceHanSansSC-regular; -} - -.text2{ - left: 130px; - top: 401px; - width: 16px; - height: 17px; - font-size: 16px; - text-align: left; - font-family: SourceHanSansSC-regular; -} - -.tcolor1{ - color: rgba(79, 79, 79, 1); -} - -.tcolor2{ - color: rgba(255, 255, 255, 1); -} - -.week2{ - position: absolute; - left: 32px; - top: 374px; - width: 140px; - height: 60px; - line-height: 60px; - border-radius: 15px; - background-color: rgba(248, 99, 42, 1); - color: rgba(16, 16, 16, 1); - font-size: 14px; - text-align: center; - font-family: Arial; - border: 1px solid rgba(248, 99, 42, 1); -} - -.month2{ - - position: absolute; - left: 203px; - top: 374px; - width: 140px; - height: 60px; - line-height: 60px; - border-radius: 15px; - background-color: rgba(255, 255, 255, 1); - color: rgba(16, 16, 16, 1); - font-size: 14px; - text-align: center; - font-family: Arial; - border: 2px solid rgba(248, 99, 42, 1); -} \ No newline at end of file diff --git a/pages/home/me/mydevice/device.js b/pages/home/me/mydevice/device.js index 8f493a1..16a51cc 100644 --- a/pages/home/me/mydevice/device.js +++ b/pages/home/me/mydevice/device.js @@ -29,7 +29,9 @@ Page({ }) }, go2Reback(){ - wx.navigateBack({ changed: true }); + wx.switchTab({ + url: '/pages/home/me/indexx', + }) }, doDevQuery(){ req.getRequest('/api/user/curt/equipments',{}).then((res)=>{ diff --git a/pages/home/me/yhsyxy/yhsyxy.js b/pages/home/me/yhsyxy/yhsyxy.js index 37ac7fd..7db367f 100644 --- a/pages/home/me/yhsyxy/yhsyxy.js +++ b/pages/home/me/yhsyxy/yhsyxy.js @@ -9,9 +9,9 @@ Page({ }, go2Reback(){ - wx.redirectTo({ - url: '/pages/home/me/indexx', - }) + wx.switchTab({ + url: '/pages/home/me/indexx', + }) }, /** diff --git a/pages/home/me/yjfk/yjfk.js b/pages/home/me/yjfk/yjfk.js index 0c2de0b..6ec8164 100644 --- a/pages/home/me/yjfk/yjfk.js +++ b/pages/home/me/yjfk/yjfk.js @@ -15,7 +15,9 @@ Page({ }, go2Reback(){ - wx.navigateBack({ changed: true }); + wx.switchTab({ + url: '/pages/home/me/indexx', + }) }, doExecYjfk(e){ const contactWay = e.detail.value.contactWay; diff --git a/pages/home/me/ysxy/ysxy.js b/pages/home/me/ysxy/ysxy.js index 556aa2a..d4b4293 100644 --- a/pages/home/me/ysxy/ysxy.js +++ b/pages/home/me/ysxy/ysxy.js @@ -9,9 +9,9 @@ Page({ }, go2Reback(){ - wx.redirectTo({ - url: '/pages/home/me/indexx', - }) + wx.switchTab({ + url: '/pages/home/me/indexx', + }) }, /** diff --git a/pages/home/me/ysxy/ysxy.wxml b/pages/home/me/ysxy/ysxy.wxml index 9f13a03..f2028fe 100644 --- a/pages/home/me/ysxy/ysxy.wxml +++ b/pages/home/me/ysxy/ysxy.wxml @@ -9,95 +9,96 @@ 星座守护精灵 隐私协议 -一、总则 -星座守护精灵 是北京蛋荚科技有限责任公司(以下简称“我们”)开发、运营和管理的工具类产品。我们非常重视用户个人信息的保护。您在使用我们的产品或服务时,我们可能会收集和使用您的相关信息。我们希望通过《隐私政策》(以下简称“本政策”)向您说明我们在收集和使用您相关个人信息时对应的处理规则等相关事宜,以便更好地保障您的权益。 请在使用星座守护精灵服务前仔细阅读本《隐私政策》。如果您进一步访问并使用星座守护精灵,则表示您了解并接受了本《隐私政策》中所述的全部内容,并同意受其约束。如果您不接受前述任何内容,请停止访问或使用星座守护精灵。 -本政策旨在向您说明以下内容: -1. 总则 -2. 权限申请及应用场景 -3. 我们如何使用这些信息 -4. 我们如何分享和披露用户信息 -5. 我们如何保护用户信息 -6. 如何收集、更新、变更、删除您的信息 -7. Cookies及类似技术 -8. 未成年人使用我们的服务 -9. 本政策的适用范围 -10. 本政策的更新 -11. 如何联系我们 -12. 第三方SDK说明 -如您对本隐私政策或相关事宜有任何疑问,您可随时与我们联系。 -二、权限申请及应用场景 -我们对于软件需要在用户使用设备上获取的权限非常严格和克制,在使用本应用过程中,我们会向您申请使用该功能所必须的权限,若您不同意开启该权限,请点击“我不同意”,拒绝该权限的申请仅将影响您对特定产品功能的使用。我们在此向您列举产品将可能申请的权限及其使用目的。 -(1)无线连接:为了便于用户WiFi状态下进行获取好友的动态,本产品的基础功能,便于知晓好友近况。 -(2)定位权限:当您需要使用定位功能并使用我们基于位置提供相关服务时,我们需要收集位置信息,以使得您不需要手动输入自身地理坐标就可获得相关服务。使用网络进行定位,通过GPS或wifi等方式持续收集您的位置信息。您可以通过系统授权关闭定位功能,停止我们对您位置信息的收集,但之后您可能将无法使用相关服务或功能 -(3)设备信息:为了保证地图基础功能服务的正常运行,向您提供问题诊断等服务并进行数据统计,我们会收集您的网络设备MAC地址(收集您的设备信息以便提供更适合的定制化服务,例如向您展示相关程度更高的搜索结果)、设备产商、设备型号、设备语言、设备名称、应用列表信息、操作系统和应用程序版本、分辨率、IMEI信息、IP地址、应用包名及版本、独立设备标识、访问日期和时间、软硬件特征信息等数据,用于鉴别用户身份、记录系统故障和分析系统故障时产生的原因 -(4)Android ID:用于检测和防止欺诈活动,鉴别用户身份、记录系统故障和分析系统故障时产生的原因,检验用户行为是否为机器程序批量自动化操作判断提供相关依据,信息脱敏处理后用来建立异常流量识别模型,实现流量反欺诈技术。 -(5)存储权限:读取、存储将应用的图片及其他文件缓存/存储到手机上,以及读取一存储的图片及其他文件 -(6)检索运行的应用:为了让用户更好的体验服务,丰富用户内容画像以及平台为用户内容拓展提供决策参考,平台根据用户安装软件的偏好,将会在用户每日第一次打开时,收集用户已安装并运行的应用软件信息,对正在运行中的应用程序进行针对性的优化启动速度。 -(7)我们会从微信第三方获取您授权共享的账户信息(头像、昵称、地区)。登录后将您的第三方账户与星座守护精灵绑定,使您可以通过第三方账户直接登录并使用我们的产品和服务。我们会将依据与第三方的约定、对个人信息来源的合法性进行确认后,在符合相关法律和法规规定的前提下,使用您的个人信息。 -(8)日志信息:你使用地图的搜索服务时,我们的服务器会自动记录您的日志信息,包括您输入的搜索关键词信息和您发布的报错信息、反馈信息、你上传的图片信息、您的IP地址、操作系统的版本、硬件设备信息、网络运营商的信息、使用时长、浏览记录、您对星座守护精灵呈现的推送信息的反馈、您下载和使用应用程序、您使用第三方平台的情况等方面的信息 -三、我们如何使用这些信息 -对于我们收集或接收的有关您的信息,我们可能会用于多种目的,包括但不限于: -1、将您的公开信息进行汇总、分析以形成报告; -2、处理您提交的咨询、订阅或定制服务或让您参与有关我们产品和服务的调查; -3、管理会员资格及会员权益(如认证身份、管理会员账户、组织会员活动、发放会员福利等); -4、运营和改善星座守护精灵的服务(如设计并推广定制化的服务和产品、推送有针对性的资讯、提升用户体验、及时发现并解决星座守护精灵的技术问题、向您提供与您更加相关的广告以替代普遍投放的广告等); -5、对星座守护精灵进行推广(如对用户信息进行统计并制作反映用户分布及兴趣偏好总体状况等的分析报告、制作市场营销图表或其它营销材料,评估我们服务中的广告和其他促销及推广活动的效果,并加以改善),但我们会对该材料进行去个体识别化处理。 -6、用于网络安全防范(在我们提供服务时,用于身份验证、客户服务、安全防范、诈骗监测、存档和备份用途,确保我们向您提供的产品和服务的安全性); -7、应用户特殊要求而提供特定服务时,需要将信息提供给我们的关联公司、第三方或其他用户; -8、其他有利于用户和星座守护精灵运营者利益且不违反任何强制性法律法规的情况。 -四、我们如何分享和披露用户信息 -1、除非事先征得您的同意或符合本政策的相关规定,我们不会向任何第三方提供、出售、出借、出租或分享用户信息,也不允许任何第三方以任何手段查询、收集、编辑或传播我们收集或接收的用户信息。 -2、我们会聘请第三方提供特定产品或服务,如递送相关资讯、对用户信息进行统计分析、网站托管、邮件管理及网站统计分析等。为提供该等产品或服务之目的,供应商将可能在其提供产品或服务所必须的范围内获得我们收集或接收的有关的用户信息。我们严格要求各供应商对其获得的用户信息保密,并禁止其将该等用户信息用于提供相关产品或服务以外的任何其他目的。 -3、同时,我们会根据法律、行政或司法机关的决定、命令或要求来保留或分享用户信息。在我们认为分享用户信息对遵守相关的法律是必要的时候,我们也会分享该些信息。此外,若分享用户信息对于保护星座守护精灵、用户或其他方的权益是必要或适当的,我们也会分享用户信息。 -4、我们可能会将您的个人数据与我们的旗下产品共享,以在旗下产品中提供更一致的体验和更优质的服务。我们保证其将按照本政策所示目的和要求对您的个人数据进行相应的处理。如旗下产品希望将您的个人数据用于本政策所载目的以外的其他目的,我们将再次征得您的同意。 -5、在如下情况下,星座守护精灵可能会披露您的信息: -(1)事先获得您的授权; -(2)您使用共享功能; -(3)根据法律、法规、法律程序的要求或政府主管部门的强制性要求; -(4)以学术研究或公共利益为目的; -(5)为维护星座守护精灵的合法权益,例如查找、预防、处理欺诈或安全方面的问题; -(6)符合相关服务条款或使用协议的规定。 -五、我们如何保护用户信息 -1、我们将采取合理的技术措施和其它必要措施,以确保用户信息的安全,并努力防止用户信息泄露、丢失或遭受破坏。其中包括:(1)使用加密技术来确保您的数据在传输过程中保持私密性;(2)审查我们在收集、存储和处理信息方面的做法(包括实体安全措施),以防未经授权的人员访问我们的系统;(4)所有因提供服务而必须接触个人信息的 星座守护精灵 员工、承包商和代理商等,都需要遵守合同中规定的严格保密义务,否则可将被处分或被解约。 -2、尽管严格遵守法律法规要求的标准并已经采取了上述合理有效措施,但由于技术的限制以及可能存在的各种恶意手段等我们无法控制的原因,星座守护精灵无法始终保证信息绝对安全,我们将尽力确保您提供给我们的个人信息的安全性。因此,我们强烈建议您采取积极措施保护个人信息的安全,包括但不限于使用复杂密码、定期修改密码、不将自己的账号密码等个人信息透露给他人。 -3、我们会制定应急处理预案,并在发生用户信息安全事件时立即应急预案,努力阻止该等安全事件的影响和后果扩大。在不幸发生用户信息安全事件(泄露、丢失等)后,我们将按照法律法规的要求,及时向您告知。同时,我们还将按照监管部门要求,上报个人信息安全事件的处置情况。 -六、如何收集、更新、变更、删除您的数据和信息 -我们在提供服务的过程中可能会收集您的如下个人数据,这些数据对于本产品各项功能的实现至关重要。我们将使用这些数据来帮助我们开发和改进我们的产品,以提供更加优质的服务。我们将严格遵守本隐私政策所载明的目的来使用您的个人数据。当我们需要将数据用于本隐私政策未载明的目的时,或者将基于特定目的收集的个人信息用于其他目的时,我们会事先向您告知并征得您的同意。 -1、本产品是具备完整的功能并提供丰富的内容和服务的工具产品。根据产品功能属性的不同,我们将在不同场景下收集您不同类型的个人数据,并为实现产品功能的需要进行使用。 -2、为了严格遵守相关国家或地区的法律政策,我们需要通过预激活服务来判断您所在的国家或地区。在预激活时,我们会将您的IP地址、国家代码(MCC)、手机语言、系统版本等信息传到我们的服务器。这些信息只用于判断您所在的国家或地区,从而为您提供符合该国家或地区的协议和服务。这些信息在完成判断后将在短时间内被删除,不会永久保存。 -3、目前我们支持手机号登陆与第三方账号登录,即微信登陆,当您使用微信登录时,我们将会获取账号的昵称和头像相关信息。登陆后将您的第三方账户与星座守护精灵绑定,使您可以通过第三方账户直接登陆并使用我们的产品和服务。我们将会依据与第三方的约定、对个人信息来源的合法性进行确认后,在符合相关法律和法规规定的前提下,使用您的个人信息。注销账号只需退出登录即可,我们将会清除该账号的所有信息。 -4、搜索功能是为了本产品所必需的基本功能。当您使用时,我们会收集您的搜索关键字信息、日志记录等。 -5、我们通过云服务接口为您提供了丰富的功能和服务,比如垃圾清理、产品升级等。为了保证云服务的正常运行,我们需要收集一些必要的数据,主要包括:应用包名、应用版本、应用安装时间等应用信息;国家码、系统语言、系统时区等系统信息;屏幕分辨率等设备信息;运营商等网络信息。 -6、您在使用我们的产品和服务时,会被要求提供您真实的个人信息,您应当对您所提供信息的真实性、合法性、有效性及完整性负责,并及时更新和维护您的个人信息,以保证信息的真实、合法和有效。您可以随时管理您的个人信息,例如您的个人账户注册信息。您可以自行从 星座守护精灵 账号中删除您的内容或个人信息(若您之前已创建了会员账户),或要求我们删除或修改信息,例如您想要删除个人帐户,可以通过软件内的账号注销功能。 -七、Cookies及类似技术 -1、Cookies是用户访问网站时存放于用户的计算机等设备中的小文件,可被用于存储与您的计算机或设备绑定的唯一识别码,以便用户在不同网站的不同浏览进程中被识别为同一个用户。Cookies提供了多种有用的功能,例如可以用来记忆用户的密码或记录用户已经注册过的项目,使用户在网站上的操作更加有效率。 -2、我们可能通过Cookies收集用户信息。用户拥有完全的自主权,自行设置浏览器以禁用或限用Cookies。但是,该等设置可能导致用户无法登录或使用依赖于Cookie的星座守护精灵的某些服务或功能。 -3、 我们还可能使用其他类似的技术,例如beacons、flash cookies和HTML5本地存储等。这些技术与Cookies的相似之处在于他们均被存储于用户的设备中,并可用于存储与用户的行为和偏好有关的信息。用户拥有完全的自主权,自行设置以禁用或限用该等技术。同样,该等设置可能导致用户无法登录或使用星座守护精灵的某些服务或功能。 -八、未成年人使用我们的服务 -我们建议若您是18周岁以下的未成年人,在使用我们的产品或服务前,应事先取得其父母或监护人的同意,并建议未成年人在提交的个人信息之前寻求父母或监护人的同意和指导。 -九、本政策的适用范围 -本隐私政策适用于星座守护精灵及其关联公司提供的所有服务。但是不包括附有独立隐私政策的服务(如第三方提供的产品和服务)。请您注意,本隐私政策不适用于以下情况: -1、通过我们的服务而接入的第三方服务(包括任何第三方网站)收集的信息(本隐私权政策不适用于第三方提供的产品和服务,例如在于星座守护精灵上由第三方提供的产品和服务,以及在我们的服务中链接到的其他网站,这些产品、服务或网站会有独立的隐私政策予以规范,请另行查阅相应的政策规定); -2、通过在我们服务中进行广告服务的其他公司或机构所收集的信息。 -十、本政策的更新 -1. 我们可能会不定期修改、更新本隐私政策,有关隐私政策的更新,我们会在 星座守护精灵 软件及网站中以通知公告等形式发布,您可以访问 星座守护精灵 软件及网站中查询最新版本的隐私政策。对于重大变更,我们会向您发出郑重通知(包括对于某些服务,我们会通过电子邮件发送通知,说明对隐私政策进行的更改)。 -十一、如何联系我们 -北京蛋荚科技有限责任公司,成立于2022年05月09日 -我们的联系邮箱是:eggpoder@gmail.com -如您对本政策存在任何问题或建议,或者您需要行使您的数据管理权力,对您的隐私数据进行管理,请随时联系我们。 -十二、第三方SDK说明 -我们所接入的第三方 SDK 可能会调用您的设备权限、获取您的相关信息,以便您在不同的手机设备或第三方平台上正常使用相应功能,我们将这些具有个人信息手机功能的第三方 SDK 的名称、提供商、所提供的功能 / 服务隐私政策链接、收集个人信息类型,按照实现功能 / 服务的类别划分说明如下: -12.1. 我们对接入的相关第三方SDK在目录中列明 -请注意,第三方SDK可能因为其版本升级、策略调整等原因导致数据处理类型存在一定变化,请以第三方SDK公示的隐私政策为准。具体如下: -12.1.1. 微信开放平台 -公司信息:深圳市腾讯计算机系统有限公司 -获取信息以及目的:提供第三方登录分享服务; -微信公众平台服务协议: -https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1503979103&version=1&lang=zh_CN&platform=2 -12.1.2. 支付宝 -公司名称:支付宝(中国)网络技术有限公司 -用途目的:用于集成支付宝支付功能及生成设备标识 -隐私政策:https://opendocs.alipay.com/open/54/01g6qm + 一、总则 + 星座守护精灵 是北京蛋荚科技有限责任公司(以下简称“我们”)开发、运营和管理的工具类产品。我们非常重视用户个人信息的保护。您在使用我们的产品或服务时,我们可能会收集和使用您的相关信息。我们希望通过《隐私政策》(以下简称“本政策”)向您说明我们在收集和使用您相关个人信息时对应的处理规则等相关事宜,以便更好地保障您的权益。 请在使用星座守护精灵服务前仔细阅读本《隐私政策》。如果您进一步访问并使用星座守护精灵,则表示您了解并接受了本《隐私政策》中所述的全部内容,并同意受其约束。如果您不接受前述任何内容,请停止访问或使用星座守护精灵。 + 本政策旨在向您说明以下内容: + 1. 总则 + 2. 权限申请及应用场景 + 3. 我们如何使用这些信息 + 4. 我们如何分享和披露用户信息 + 5. 我们如何保护用户信息 + 6. 如何收集、更新、变更、删除您的信息 + 7. Cookies及类似技术 + 8. 未成年人使用我们的服务 + 9. 本政策的适用范围 + 10. 本政策的更新 + 11. 如何联系我们 + 12. 第三方SDK说明 + 如您对本隐私政策或相关事宜有任何疑问,您可随时与我们联系。 + 二、权限申请及应用场景 + 我们对于软件需要在用户使用设备上获取的权限非常严格和克制,在使用本应用过程中,我们会向您申请使用该功能所必须的权限,若您不同意开启该权限,请点击“我不同意”,拒绝该权限的申请仅将影响您对特定产品功能的使用。我们在此向您列举产品将可能申请的权限及其使用目的。 + (1)无线连接:为了便于用户WiFi状态下进行获取好友的动态,本产品的基础功能,便于知晓好友近况。 + (2)定位权限:当您需要使用定位功能并使用我们基于位置提供相关服务时,我们需要收集位置信息,以使得您不需要手动输入自身地理坐标就可获得相关服务。使用网络进行定位,通过GPS或wifi等方式持续收集您的位置信息。您可以通过系统授权关闭定位功能,停止我们对您位置信息的收集,但之后您可能将无法使用相关服务或功能 + (3)设备信息:为了保证地图基础功能服务的正常运行,向您提供问题诊断等服务并进行数据统计,我们会收集您的网络设备MAC地址(收集您的设备信息以便提供更适合的定制化服务,例如向您展示相关程度更高的搜索结果)、设备产商、设备型号、设备语言、设备名称、应用列表信息、操作系统和应用程序版本、分辨率、IMEI信息、IP地址、应用包名及版本、独立设备标识、访问日期和时间、软硬件特征信息等数据,用于鉴别用户身份、记录系统故障和分析系统故障时产生的原因 + (4)Android ID:用于检测和防止欺诈活动,鉴别用户身份、记录系统故障和分析系统故障时产生的原因,检验用户行为是否为机器程序批量自动化操作判断提供相关依据,信息脱敏处理后用来建立异常流量识别模型,实现流量反欺诈技术。 + (5)存储权限:读取、存储将应用的图片及其他文件缓存/存储到手机上,以及读取一存储的图片及其他文件 + (6)检索运行的应用:为了让用户更好的体验服务,丰富用户内容画像以及平台为用户内容拓展提供决策参考,平台根据用户安装软件的偏好,将会在用户每日第一次打开时,收集用户已安装并运行的应用软件信息,对正在运行中的应用程序进行针对性的优化启动速度。 + (7)我们会从微信第三方获取您授权共享的账户信息(头像、昵称、地区)。登录后将您的第三方账户与星座守护精灵绑定,使您可以通过第三方账户直接登录并使用我们的产品和服务。我们会将依据与第三方的约定、对个人信息来源的合法性进行确认后,在符合相关法律和法规规定的前提下,使用您的个人信息。 + (8)日志信息:你使用地图的搜索服务时,我们的服务器会自动记录您的日志信息,包括您输入的搜索关键词信息和您发布的报错信息、反馈信息、你上传的图片信息、您的IP地址、操作系统的版本、硬件设备信息、网络运营商的信息、使用时长、浏览记录、您对星座守护精灵呈现的推送信息的反馈、您下载和使用应用程序、您使用第三方平台的情况等方面的信息 + 三、我们如何使用这些信息 + 对于我们收集或接收的有关您的信息,我们可能会用于多种目的,包括但不限于: + 1、将您的公开信息进行汇总、分析以形成报告; + 2、处理您提交的咨询、订阅或定制服务或让您参与有关我们产品和服务的调查; + 3、管理会员资格及会员权益(如认证身份、管理会员账户、组织会员活动、发放会员福利等); + 4、运营和改善星座守护精灵的服务(如设计并推广定制化的服务和产品、推送有针对性的资讯、提升用户体验、及时发现并解决星座守护精灵的技术问题、向您提供与您更加相关的广告以替代普遍投放的广告等); + 5、对星座守护精灵进行推广(如对用户信息进行统计并制作反映用户分布及兴趣偏好总体状况等的分析报告、制作市场营销图表或其它营销材料,评估我们服务中的广告和其他促销及推广活动的效果,并加以改善),但我们会对该材料进行去个体识别化处理。 + 6、用于网络安全防范(在我们提供服务时,用于身份验证、客户服务、安全防范、诈骗监测、存档和备份用途,确保我们向您提供的产品和服务的安全性); + 7、应用户特殊要求而提供特定服务时,需要将信息提供给我们的关联公司、第三方或其他用户; + 8、其他有利于用户和星座守护精灵运营者利益且不违反任何强制性法律法规的情况。 + 四、我们如何分享和披露用户信息 + 1、除非事先征得您的同意或符合本政策的相关规定,我们不会向任何第三方提供、出售、出借、出租或分享用户信息,也不允许任何第三方以任何手段查询、收集、编辑或传播我们收集或接收的用户信息。 + 2、我们会聘请第三方提供特定产品或服务,如递送相关资讯、对用户信息进行统计分析、网站托管、邮件管理及网站统计分析等。为提供该等产品或服务之目的,供应商将可能在其提供产品或服务所必须的范围内获得我们收集或接收的有关的用户信息。我们严格要求各供应商对其获得的用户信息保密,并禁止其将该等用户信息用于提供相关产品或服务以外的任何其他目的。 + 3、同时,我们会根据法律、行政或司法机关的决定、命令或要求来保留或分享用户信息。在我们认为分享用户信息对遵守相关的法律是必要的时候,我们也会分享该些信息。此外,若分享用户信息对于保护星座守护精灵、用户或其他方的权益是必要或适当的,我们也会分享用户信息。 + 4、我们可能会将您的个人数据与我们的旗下产品共享,以在旗下产品中提供更一致的体验和更优质的服务。我们保证其将按照本政策所示目的和要求对您的个人数据进行相应的处理。如旗下产品希望将您的个人数据用于本政策所载目的以外的其他目的,我们将再次征得您的同意。 + 5、在如下情况下,星座守护精灵可能会披露您的信息: + (1)事先获得您的授权; + (2)您使用共享功能; + (3)根据法律、法规、法律程序的要求或政府主管部门的强制性要求; + (4)以学术研究或公共利益为目的; + (5)为维护星座守护精灵的合法权益,例如查找、预防、处理欺诈或安全方面的问题; + (6)符合相关服务条款或使用协议的规定。 + 五、我们如何保护用户信息 + 1、我们将采取合理的技术措施和其它必要措施,以确保用户信息的安全,并努力防止用户信息泄露、丢失或遭受破坏。其中包括:(1)使用加密技术来确保您的数据在传输过程中保持私密性;(2)审查我们在收集、存储和处理信息方面的做法(包括实体安全措施),以防未经授权的人员访问我们的系统;(4)所有因提供服务而必须接触个人信息的 星座守护精灵 员工、承包商和代理商等,都需要遵守合同中规定的严格保密义务,否则可将被处分或被解约。 + 2、尽管严格遵守法律法规要求的标准并已经采取了上述合理有效措施,但由于技术的限制以及可能存在的各种恶意手段等我们无法控制的原因,星座守护精灵无法始终保证信息绝对安全,我们将尽力确保您提供给我们的个人信息的安全性。因此,我们强烈建议您采取积极措施保护个人信息的安全,包括但不限于使用复杂密码、定期修改密码、不将自己的账号密码等个人信息透露给他人。 + 3、我们会制定应急处理预案,并在发生用户信息安全事件时立即应急预案,努力阻止该等安全事件的影响和后果扩大。在不幸发生用户信息安全事件(泄露、丢失等)后,我们将按照法律法规的要求,及时向您告知。同时,我们还将按照监管部门要求,上报个人信息安全事件的处置情况。 + 六、如何收集、更新、变更、删除您的数据和信息 + 我们在提供服务的过程中可能会收集您的如下个人数据,这些数据对于本产品各项功能的实现至关重要。我们将使用这些数据来帮助我们开发和改进我们的产品,以提供更加优质的服务。我们将严格遵守本隐私政策所载明的目的来使用您的个人数据。当我们需要将数据用于本隐私政策未载明的目的时,或者将基于特定目的收集的个人信息用于其他目的时,我们会事先向您告知并征得您的同意。 + 1、本产品是具备完整的功能并提供丰富的内容和服务的工具产品。根据产品功能属性的不同,我们将在不同场景下收集您不同类型的个人数据,并为实现产品功能的需要进行使用。 + 2、为了严格遵守相关国家或地区的法律政策,我们需要通过预激活服务来判断您所在的国家或地区。在预激活时,我们会将您的IP地址、国家代码(MCC)、手机语言、系统版本等信息传到我们的服务器。这些信息只用于判断您所在的国家或地区,从而为您提供符合该国家或地区的协议和服务。这些信息在完成判断后将在短时间内被删除,不会永久保存。 + 3、目前我们支持手机号登陆与第三方账号登录,即微信登陆,当您使用微信登录时,我们将会获取账号的昵称和头像相关信息。登陆后将您的第三方账户与星座守护精灵绑定,使您可以通过第三方账户直接登陆并使用我们的产品和服务。我们将会依据与第三方的约定、对个人信息来源的合法性进行确认后,在符合相关法律和法规规定的前提下,使用您的个人信息。注销账号只需退出登录即可,我们将会清除该账号的所有信息。 + 4、搜索功能是为了本产品所必需的基本功能。当您使用时,我们会收集您的搜索关键字信息、日志记录等。 + 5、我们通过云服务接口为您提供了丰富的功能和服务,比如垃圾清理、产品升级等。为了保证云服务的正常运行,我们需要收集一些必要的数据,主要包括:应用包名、应用版本、应用安装时间等应用信息;国家码、系统语言、系统时区等系统信息;屏幕分辨率等设备信息;运营商等网络信息。 + 6、您在使用我们的产品和服务时,会被要求提供您真实的个人信息,您应当对您所提供信息的真实性、合法性、有效性及完整性负责,并及时更新和维护您的个人信息,以保证信息的真实、合法和有效。您可以随时管理您的个人信息,例如您的个人账户注册信息。您可以自行从 星座守护精灵 账号中删除您的内容或个人信息(若您之前已创建了会员账户),或要求我们删除或修改信息,例如您想要删除个人帐户,可以通过软件内的账号注销功能。 + 七、Cookies及类似技术 + 1、Cookies是用户访问网站时存放于用户的计算机等设备中的小文件,可被用于存储与您的计算机或设备绑定的唯一识别码,以便用户在不同网站的不同浏览进程中被识别为同一个用户。Cookies提供了多种有用的功能,例如可以用来记忆用户的密码或记录用户已经注册过的项目,使用户在网站上的操作更加有效率。 + 2、我们可能通过Cookies收集用户信息。用户拥有完全的自主权,自行设置浏览器以禁用或限用Cookies。但是,该等设置可能导致用户无法登录或使用依赖于Cookie的星座守护精灵的某些服务或功能。 + 3、 我们还可能使用其他类似的技术,例如beacons、flash cookies和HTML5本地存储等。这些技术与Cookies的相似之处在于他们均被存储于用户的设备中,并可用于存储与用户的行为和偏好有关的信息。用户拥有完全的自主权,自行设置以禁用或限用该等技术。同样,该等设置可能导致用户无法登录或使用星座守护精灵的某些服务或功能。 + 八、未成年人使用我们的服务 + 我们建议若您是18周岁以下的未成年人,在使用我们的产品或服务前,应事先取得其父母或监护人的同意,并建议未成年人在提交的个人信息之前寻求父母或监护人的同意和指导。 + 九、本政策的适用范围 + 本隐私政策适用于星座守护精灵及其关联公司提供的所有服务。但是不包括附有独立隐私政策的服务(如第三方提供的产品和服务)。请您注意,本隐私政策不适用于以下情况: + 1、通过我们的服务而接入的第三方服务(包括任何第三方网站)收集的信息(本隐私权政策不适用于第三方提供的产品和服务,例如在于星座守护精灵上由第三方提供的产品和服务,以及在我们的服务中链接到的其他网站,这些产品、服务或网站会有独立的隐私政策予以规范,请另行查阅相应的政策规定); + 2、通过在我们服务中进行广告服务的其他公司或机构所收集的信息。 + 十、本政策的更新 + 1. 我们可能会不定期修改、更新本隐私政策,有关隐私政策的更新,我们会在 星座守护精灵 软件及网站中以通知公告等形式发布,您可以访问 星座守护精灵 软件及网站中查询最新版本的隐私政策。对于重大变更,我们会向您发出郑重通知(包括对于某些服务,我们会通过电子邮件发送通知,说明对隐私政策进行的更改)。 + 十一、如何联系我们 + 北京蛋荚科技有限责任公司,成立于2022年05月09日 + 我们的联系邮箱是:eggpoder@gmail.com + 如您对本政策存在任何问题或建议,或者您需要行使您的数据管理权力,对您的隐私数据进行管理,请随时联系我们。 + 十二、第三方SDK说明 + 我们所接入的第三方 SDK 可能会调用您的设备权限、获取您的相关信息,以便您在不同的手机设备或第三方平台上正常使用相应功能,我们将这些具有个人信息手机功能的第三方 SDK 的名称、提供商、所提供的功能 / 服务隐私政策链接、收集个人信息类型,按照实现功能 / 服务的类别划分说明如下: + 12.1. 我们对接入的相关第三方SDK在目录中列明 + 请注意,第三方SDK可能因为其版本升级、策略调整等原因导致数据处理类型存在一定变化,请以第三方SDK公示的隐私政策为准。具体如下: + 12.1.1. 微信开放平台 + 公司信息:深圳市腾讯计算机系统有限公司 + 获取信息以及目的:提供第三方登录分享服务; + 微信公众平台服务协议: + https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key= + 1503979103&version=1&lang=zh_CN&platform=2 + 12.1.2. 支付宝 + 公司名称:支付宝(中国)网络技术有限公司 + 用途目的:用于集成支付宝支付功能及生成设备标识 + 隐私政策:https://opendocs.alipay.com/open/54/01g6qm diff --git a/pages/home/me/ysxy/ysxy.wxss b/pages/home/me/ysxy/ysxy.wxss index e99acae..db6d261 100644 --- a/pages/home/me/ysxy/ysxy.wxss +++ b/pages/home/me/ysxy/ysxy.wxss @@ -30,6 +30,7 @@ .user-main { flex: 1; + width: 100%; padding: 48rpx 64rpx; overflow-y: scroll; } diff --git a/pages/home/xx/hy/index.js b/pages/home/xx/hy/index.js index 8619168..8fac124 100644 --- a/pages/home/xx/hy/index.js +++ b/pages/home/xx/hy/index.js @@ -99,9 +99,8 @@ Page({ getMsgDetail(e){ const id = e.currentTarget.dataset.id - console.log(id); wx.redirectTo({ - url: `/pages/home/xx/lindex/lxz/lxz?id=${id}&&hy=1` + url: '/pages/xz/index?id=' + id + '&hy=1' }) }, diff --git a/pages/home/xx/index.js b/pages/home/xx/index.js index 32c51cd..3de097a 100644 --- a/pages/home/xx/index.js +++ b/pages/home/xx/index.js @@ -178,8 +178,22 @@ Page({ } }, toSend(){ - wx.redirectTo({ - url: '/pages/xz/index?open=' + true + // 获取信札 有内容跳转到预览页面 没有跳转编辑页面 + req.getRequest('/api/user/curt/letter',{}).then(res => { + console.log(res); + if (res.data.code === 200) { + // 判断是否空信札 + if (res.data.data.isEmpty) { + wx.redirectTo({ + url: '/pages/home/xx/xz/xz' + }) + }else{ + console.log('2222222'); + wx.redirectTo({ + url: '/pages/xz/index?open=' + true + }) + } + } }) } }) \ No newline at end of file diff --git a/pages/home/xx/lindex/lindex.js b/pages/home/xx/lindex/lindex.js index 71ed812..1717e42 100644 --- a/pages/home/xx/lindex/lindex.js +++ b/pages/home/xx/lindex/lindex.js @@ -39,7 +39,9 @@ Page({ hasLover:false,// 是否单身 userInfo:{}, savePicture: false, // 保存图片成功 - soundData:{} //音频数据 + soundData:{}, //音频数据 + userImg: '', //用户默认头像 + loveImg: '' //情侣默认头像 }, doLuYINBoF(e){ // 判断点击的是否为对方的语音 @@ -454,7 +456,6 @@ Page({ console.log(err); }) } - }, go2Huiyi(){/**跳转到回忆页面 */ wx.redirectTo({ @@ -495,12 +496,43 @@ Page({ } }) - this.setData({messages:list.reverse()}) + // 把双方信札添加到消息页面头部 + req.getRequest('/api/user/curt/letter',{}).then(res => { + if (!res.data.data.isEmpty) { + list.push({ + type: 'letter', + isSelf: true, + id: -1, + status: res.data.data.status + }) + } + + req.getRequest('/api/user/curt/lover/letter',{}).then(res1 => { + if (!res1.data.data.isEmpty) { + list.push({ + type: 'letter', + isSelf: false, + id: -2, + status: res.data.data.status + }) + } + this.setData({messages:list.reverse()}) + this.getDeteleImg() + }) + }) } }).catch((err)=>{ console.log(err); }) }, + + // 获取情侣双方信札 + getMyLetter(){ + req.getRequest('/api/user/curt/letter',{}).then(res => { + return res.data.data.isEmpty + }) + }, + doQueryInit(){ req.getRequest('/api/user/curt',{}).then((res)=>{ if(res.data.code==200){ @@ -594,17 +626,26 @@ Page({ }) }, + // 点击了信札 getLetter(e){ const id = e.currentTarget.dataset.item.id - wx.redirectTo({ - url: '/pages/home/xx/lindex/lxz/lxz?id=' + id - }) + wx.redirectTo({ + url: '/pages/xz/index?id=' + id + }) }, doCancelXz(){ this.setData({xinzhaVisible:false}) }, + // 获取默认图片 + getDeteleImg(){ + const img = wx.getStorageSync('xy-static-img') + const userImg = img[this.data.userInfo.constellation] + const loveImg = img[this.data.loverInfo.constellation] + this.setData({userImg: userImg['elf-avatar'], loveImg: loveImg['elf-avatar']}) + }, + /** * 生命周期函数--监听页面加载 */ diff --git a/pages/home/xx/lindex/lindex.wxml b/pages/home/xx/lindex/lindex.wxml index bed75cd..04c3407 100644 --- a/pages/home/xx/lindex/lindex.wxml +++ b/pages/home/xx/lindex/lindex.wxml @@ -15,9 +15,9 @@ - + - + @@ -45,7 +45,7 @@ - + @@ -78,7 +78,7 @@ {{item.extra.ssec}} - + @@ -96,7 +96,7 @@ {{item.content}} - + @@ -111,7 +111,7 @@ - + - {{item.status=='unread'?'未读':'已读'}} + - + {{item.content}} - {{item.status=='unread'?'未读':'已读'}} + - + {{item.extra.ssec}} - {{item.status=='unread'?'未读':'已读'}} + - + - {{item.status=='unread'?'未读':'已读'}} + diff --git a/pages/home/xx/lindex/lindex.wxss b/pages/home/xx/lindex/lindex.wxss index 35858cb..8e748ca 100644 --- a/pages/home/xx/lindex/lindex.wxss +++ b/pages/home/xx/lindex/lindex.wxss @@ -116,12 +116,14 @@ .txl{ width: 80rpx; height: 80rpx; + background-color: #fff; box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4); } .txr{ width: 80rpx; height: 80rpx; + background-color: #fff; box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4); } diff --git a/pages/home/xx/lindex/lxz/lxz.js b/pages/home/xx/lindex/lxz/lxz.js index 12f1be7..a442a39 100644 --- a/pages/home/xx/lindex/lxz/lxz.js +++ b/pages/home/xx/lindex/lxz/lxz.js @@ -36,6 +36,28 @@ Page({ isPlaying: false // 是否正在播放语音 }, already(){ + // 校验 + if (this.data.from === '') { + wx.showToast({ + title: '寄件人不能为空', + icon: 'error' + }) + return this.setData({showSend: false}) + } + if (this.data.to === '') { + wx.showToast({ + title: '收件人不能为空', + icon: 'error' + }) + return this.setData({showSend: false}) + } + if (this.data.messageList.length <= 1) { + wx.showToast({ + title: '写点东西吧', + icon: 'error' + }) + return this.setData({showSend: false}) + } const list = [] this.data.messageList.forEach(item => { const obj = {} @@ -143,17 +165,18 @@ Page({ }, // 上传图片 addImg(){ - console.log('添加图片'); - wx.chooseMedia({ - mediaType: 'image', + wx.chooseImage({ count: 9, + sizeType: ['original', 'compressed'], + sourceType: ['album', 'camera'], success: (res) => { + console.log(res); const files = res.tempFiles files.forEach(item => { if(item.size > 5 * 1024 * 1024 ){ return this.setData({showImgBig:true}) } - this.uploadFile(item.tempFilePath,'poster') + this.uploadFile(item.path,'poster') }) } }) @@ -384,48 +407,6 @@ Page({ }) }, - // 获取信札消息 - getLetterDetail(id){ - req.getRequest(`/api/user/curt/message/${id}`,{}).then(res => { - console.log(res); - if(res.data.code === 200){ - const letter = res.data.data.letter - const messages = letter.messages.map(item => { - if (item.extra && item.extra.videoSrc) { - return { - ...item, - videoSrc: item.extra.videoSrc - } - } - if (item.extra && item.extra.img) { - return { - ...item, - img: item.extra.img - } - } - if (item.content) { - return item - } - }) - this.setData({ - from: letter.from, - to: letter.to, - messageList: messages - }) - - // 判断是否为情侣信札 是就更改信札状态 - if (res.data.data.fromUserid !== this.data.id && res.data.data.status === 'unread') { - req.patchRequest(`/api/user/curt/message/${id}/read`) - } - }else{ - wx.showToast({ - title: '获取信札内容失败', - icon: 'error' - }) - } - }) - }, - /** * 生命周期函数--监听页面加载 */ diff --git a/pages/home/xx/lindex/lxz/lxz.wxml b/pages/home/xx/lindex/lxz/lxz.wxml index 3593211..b8b20f8 100644 --- a/pages/home/xx/lindex/lxz/lxz.wxml +++ b/pages/home/xx/lindex/lxz/lxz.wxml @@ -82,7 +82,7 @@ - + 最多只能添加 @@ -101,7 +101,7 @@ - 确定要寄出吗? + 确定要寄出吗? 取消 确定 diff --git a/pages/home/xx/lindex/lxz/lxz.wxss b/pages/home/xx/lindex/lxz/lxz.wxss index 147f093..40c49b5 100644 --- a/pages/home/xx/lindex/lxz/lxz.wxss +++ b/pages/home/xx/lindex/lxz/lxz.wxss @@ -451,6 +451,16 @@ textarea { } .taost-box-text { + margin-bottom: 20rpx; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + color: rgba(108, 108, 108, 1); + font-size: 38rpx; +} + +.taost-box-text2 { margin-bottom: 20rpx; width: 100%; height: 200rpx; diff --git a/pages/home/xx/lindex/xz/xz.js b/pages/home/xx/lindex/xz/xz.js deleted file mode 100644 index ce9375e..0000000 --- a/pages/home/xx/lindex/xz/xz.js +++ /dev/null @@ -1,66 +0,0 @@ -// pages/home/xx/lindex/xz/xz.js -Page({ - - /** - * 页面的初始数据 - */ - data: { - - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady() { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow() { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide() { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - - } -}) \ No newline at end of file diff --git a/pages/home/xx/lindex/xz/xz.json b/pages/home/xx/lindex/xz/xz.json deleted file mode 100644 index 3928faa..0000000 --- a/pages/home/xx/lindex/xz/xz.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "usingComponents": {} -} \ No newline at end of file diff --git a/pages/home/xx/lindex/xz/xz.wxml b/pages/home/xx/lindex/xz/xz.wxml deleted file mode 100644 index 0846b4b..0000000 --- a/pages/home/xx/lindex/xz/xz.wxml +++ /dev/null @@ -1,2 +0,0 @@ - -pages/home/xx/lindex/xz/xz.wxml diff --git a/pages/home/xx/lindex/xz/xz.wxss b/pages/home/xx/lindex/xz/xz.wxss deleted file mode 100644 index 37ae528..0000000 --- a/pages/home/xx/lindex/xz/xz.wxss +++ /dev/null @@ -1 +0,0 @@ -/* pages/home/xx/lindex/xz/xz.wxss */ \ No newline at end of file diff --git a/pages/home/xx/xz/index.js b/pages/home/xx/xz/index.js deleted file mode 100644 index 22ff72c..0000000 --- a/pages/home/xx/xz/index.js +++ /dev/null @@ -1,66 +0,0 @@ -// pages/home/xx/xz/index.js -Page({ - - /** - * 页面的初始数据 - */ - data: { - - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady() { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow() { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide() { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - - } -}) \ No newline at end of file diff --git a/pages/home/xx/xz/index.json b/pages/home/xx/xz/index.json deleted file mode 100644 index 3928faa..0000000 --- a/pages/home/xx/xz/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "usingComponents": {} -} \ No newline at end of file diff --git a/pages/home/xx/xz/index.wxml b/pages/home/xx/xz/index.wxml deleted file mode 100644 index 7eae438..0000000 --- a/pages/home/xx/xz/index.wxml +++ /dev/null @@ -1,2 +0,0 @@ - -pages/home/xx/xz/index.wxml diff --git a/pages/home/xx/xz/index.wxss b/pages/home/xx/xz/index.wxss deleted file mode 100644 index 6713907..0000000 --- a/pages/home/xx/xz/index.wxss +++ /dev/null @@ -1 +0,0 @@ -/* pages/home/xx/xz/index.wxss */ \ No newline at end of file diff --git a/pages/home/xx/xz/xz.js b/pages/home/xx/xz/xz.js index 43a532d..7fec85b 100644 --- a/pages/home/xx/xz/xz.js +++ b/pages/home/xx/xz/xz.js @@ -130,25 +130,25 @@ Page({ }, // 上传图片 addImg(){ - console.log('添加图片'); - wx.chooseMedia({ - mediaType: 'image', + wx.chooseImage({ count: 9, + sizeType: ['original', 'compressed'], + sourceType: ['album', 'camera'], success: (res) => { + console.log(res); const files = res.tempFiles - console.log(res.tempFiles, '这里'); files.forEach(item => { if(item.size > 5 * 1024 * 1024 ){ return this.setData({showImgBig:true}) } - this.uploadFile(item.tempFilePath,'poster') + this.uploadFile(item.path,'poster') }) } }) }, // 文件上传 - uploadFile(file,type) { + uploadFile(file, type) { wx.uploadFile({ url: 'https://xzjl-api.windymuse.cn/api/resource', filePath: file, @@ -158,7 +158,7 @@ Page({ 'Content-Type': 'multipart/form-data' }, formData: { - type: type + type: type }, success: (async(res) => { const data = JSON.parse(res.data); @@ -213,7 +213,7 @@ Page({ } }), fail(res) { - console.log('上传失败'); + console.log(res, '上传失败'); } }); }, diff --git a/pages/home/xyc/index.js b/pages/home/xyc/index.js index 676fa2d..eb7e017 100644 --- a/pages/home/xyc/index.js +++ b/pages/home/xyc/index.js @@ -447,6 +447,7 @@ startDraw() { */ onShow() { this.getMyWish() + this.initXy() }, /** diff --git a/pages/home/xyc/index.wxss b/pages/home/xyc/index.wxss index 096175a..2451c61 100644 --- a/pages/home/xyc/index.wxss +++ b/pages/home/xyc/index.wxss @@ -52,16 +52,16 @@ margin-left: 98rpx; margin-top: 193rpx; width: 200rpx; - height: 67.495rpx; - border-radius: 10px; + 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 2px 6px 0px rgba(0, 0, 0, 0.4); - border: 3px solid rgba(255, 255, 255, 1); - line-height: 67.495rpx; + box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4); + border: 6rpx solid rgba(255, 255, 255, 1); color: aliceblue; - font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; font-size: 30rpx; + display: flex; + justify-content: center; + align-items: center; } .qlxybtn2{ @@ -126,17 +126,16 @@ margin-left: 452rpx; margin-top: 193rpx; width: 200rpx; - height: 67.495rpx; - line-height: 67.495rpx; - text-align: center; + height: 70rpx; color: aliceblue; - font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; font-size: 30rpx; - 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%); - text-align: center; - box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4); - border: 3px solid rgba(255, 255, 255, 1); + box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4); + border: 6rpx solid rgba(255, 255, 255, 1); + display: flex; + align-items: center; + justify-content: center; } .bgt3{ diff --git a/pages/home/xyc/tdyw/tdyw.wxss b/pages/home/xyc/tdyw/tdyw.wxss index 65ef722..b2d3018 100644 --- a/pages/home/xyc/tdyw/tdyw.wxss +++ b/pages/home/xyc/tdyw/tdyw.wxss @@ -104,6 +104,9 @@ font-size: 28rpx; font-weight: 700; width: 320rpx; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .qwsjbox{ diff --git a/pages/home/xyc/wdyw/wdyw.wxss b/pages/home/xyc/wdyw/wdyw.wxss index 39c721a..f5d0b4f 100644 --- a/pages/home/xyc/wdyw/wdyw.wxss +++ b/pages/home/xyc/wdyw/wdyw.wxss @@ -106,9 +106,7 @@ width: 320rpx; overflow: hidden; text-overflow: ellipsis; - display: -webkit-box; /* 使用旧的 WebKit 内核的浏览器需要添加此属性 */ - -webkit-box-orient: vertical; /* 设置为垂直方向排列 */ - -webkit-line-clamp: 2; /* 最多显示的行数 */ + white-space: nowrap; } .qwsjbox{ diff --git a/pages/index/index.js b/pages/index/index.js index f1ae032..b03837f 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -141,6 +141,7 @@ Page({ header: {'Authorization': wx.getStorageSync('token')}, method: 'GET', success: res => { + console.log(res,'111'); const letterStatus = res.data.data.letterStatus // 这里可以判断是否有未读信札 if (letterStatus === 'sending') { diff --git a/pages/index/index.wxss b/pages/index/index.wxss index c15c5df..d7c0de6 100644 --- a/pages/index/index.wxss +++ b/pages/index/index.wxss @@ -6,6 +6,7 @@ display: flex; justify-content: center; box-sizing: border-box; + overflow-y: scroll; } .bg{ diff --git a/pages/xz/index.js b/pages/xz/index.js index aef6037..9e91db9 100644 --- a/pages/xz/index.js +++ b/pages/xz/index.js @@ -13,10 +13,13 @@ Page({ showLetter: true, showMore: false, showDel:false, + showEdit: true, imgList:[], audioList:[], messageList: [], - playVideos: true + playVideos: true, + letterId: 0, + hy: false }, openLetter(){ this.setData({showLetter: !this.data.showLetter}), @@ -76,17 +79,82 @@ Page({ }, // 重置信札 resetLetter(){ - req.putRequest('/api/user/curt/letter/reset',{}).then( res => { - console.log(res, '重置成功'); - }) - wx.switchTab({ - url: '/pages/home/xy/index' - }) + const id = this.data.letterId + // 判断单人状态信札跳转还是情侣状态 + if (id) { + // 删除消息 + console.log('删除消息'); + if (id == -1) { + // 重置信札 + req.putRequest('/api/user/curt/letter/reset',{}).then( res => { + if (res.data.code === 200) { + wx.switchTab({ + url: '/pages/home/xx/lindex/lindex' + }) + } + }) + }else if(id == -2) { + wx.showToast({ + title: '不能烧毁情侣信札', + icon: 'none' + }) + this.setData({showDel : false}) + }else { + req.deleteRequest(`/api/user/curt/message/${id}`,{}).then(res => { + console.log(res); + if (res.data.code === 200) { + wx.showToast({ + title: '信件已烧毁', + icon: 'success' + }) + setTimeout(() => { + if (this.data.hy) { + wx.redirectTo({ + url: '/pages/home/xx/hy/index' + }) + }else { + wx.redirectTo({ + url: '/pages/home/xx/lindex/lindex' + }) + } + }, 1000); + } + if (res.data.code === 1007) { + wx.showToast({ + title: '不能删除情侣信札', + icon: 'none' + }) + this.setData({showDel : false}) + } + }) + } + }else { + // 重置信札 + req.putRequest('/api/user/curt/letter/reset',{}).then( res => { + if (res.data.code === 200) { + wx.switchTab({ + url: '/pages/home/xy/index' + }) + } + }) + } }, go2Back(){ - wx.switchTab({ - url: '/pages/home/xy/index' - }) + if (this.data.letterId) { + if (this.data.hy) { + wx.redirectTo({ + url: '/pages/home/xx/hy/index' + }) + }else { + wx.redirectTo({ + url: '/pages/home/xx/lindex/lindex' + }) + } + }else { + wx.switchTab({ + url: '/pages/home/xy/index' + }) + } }, // 修改信札 @@ -96,6 +164,90 @@ Page({ }) }, + // 获取情侣状态下信札内容 + getLetterDetail(id){ + if (id == -1) { + this.getUserInfo() + }else if (id == -2) { + console.log('获取情侣信札内容'); + this.getLoveLetter() + }else { + req.getRequest(`/api/user/curt/message/${id}`,{}).then(res => { + console.log(res); + if(res.data.code === 200){ + const letter = res.data.data.letter + const messages = letter.messages.map(item => { + if (item.extra && item.extra.videoSrc) { + return { + ...item, + videoSrc: item.extra.videoSrc + } + } + if (item.extra && item.extra.img) { + return { + ...item, + img: item.extra.img + } + } + if (item.content) { + return item + } + }) + this.setData({ + from: letter.from, + to: letter.to, + messageList: messages + }) + + // 判断是否为情侣信札 是就更改信札状态 + const userInfo = wx.getStorageSync('xinyuan-userInfo') + const id = userInfo.id + if (res.data.data.fromUserid !== id && res.data.data.status === 'unread') { + req.patchRequest(`/api/user/curt/message/${id}/read`) + } + }else{ + wx.showToast({ + title: '获取信札内容失败', + icon: 'error' + }) + } + }) + } + }, + + // 获取情侣内容 + getLoveLetter(){ + const userInfo = wx.getStorageSync('xinyuan-userInfo') + const id = userInfo.loverId + req.getRequest('/api/user/curt/lover/letter',{}).then(res => { + console.log(res); + const { messageList } = res.data.data + // 获取创建时间 + const date = new Date(res.header.Date); + // 获取年月日时分秒等信息 + const year = date.getFullYear(); + const month = date.getMonth() + 1; + const day = date.getDate(); + const hour = date.getHours(); + const minute = date.getMinutes(); + const formattedDate = `${year}年${month}月${day}日 ${hour}:${minute}`; + this.setData({ + letterMsg: res.data.data, + time: formattedDate + }) + // 判断是否有图片 + console.log(messageList); + messageList.forEach(item => { + if(item.type === 'graphic') { + item.img = `https://xzjl-api.windymuse.cn/api/resource/${item.resourceId}?k=${id}` + }else if(item.type === 'audio') { + item.audio = `https://xzjl-api.windymuse.cn/api/resource/${item.resourceId}?k=${id}` + } + }) + this.setData({messageList: messageList}) + }) + }, + /** * 生命周期函数--监听页面加载 */ @@ -103,10 +255,18 @@ Page({ if (options.open) { // 单人状态下点击【信札】跳转的页面 this.setData({showLetter: false}) + this.getUserInfo() }else if (options.id) { - // 情侣状态下点击【信札】跳转的页面 - console.log(options.id, '111'); - this.setData({showLetter: false}) + this.getLetterDetail(options.id) + this.setData({ + showLetter: false, + showEdit: false, + letterId: options.id + }) + // 判断是否回忆页面跳转 + if (options.hy) { + this.setData({hy: true}) + } }else { this.getUserInfo() } diff --git a/pages/xz/index.wxml b/pages/xz/index.wxml index 5bf011c..f8c43b5 100644 --- a/pages/xz/index.wxml +++ b/pages/xz/index.wxml @@ -51,7 +51,7 @@ 烧毁 - 修改 + 修改 diff --git a/project.private.config.json b/project.private.config.json index 51b5ca3..13f8869 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -10,14 +10,28 @@ "list": [ { "name": "", - "pathName": "pages/home/xx/lindex/lxz/lxz", + "pathName": "pages/home/jl/index", "query": "", "launchMode": "default", "scene": null }, { "name": "", - "pathName": "pages/home/xx/hy/hx/hx", + "pathName": "pages/home/me/indexx", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/home/jl/jlai/jlai", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/home/me/ysxy/ysxy", "query": "", "launchMode": "default", "scene": null