wk-dev
Wkang921 2 years ago
parent 562bf3a979
commit a97d37b99d

@ -33,10 +33,9 @@ Page({
showScsEnergy:false, //显示注册成功提示
showTiming:false, //显示祈祷时间弹层
jmEnergy:false,
jmEnergy2: true,
showInjectBkc: false, //显示注入能量按钮动画
inPrayer: true,
qdTime: '',
qdTime: null,
ysTime: ''
},
@ -57,7 +56,7 @@ Page({
this.doSetXxt('female')
},
closeJmEnergy(){
this.setData({jmEnergy2: false})
this.setData({jmEnergy: false})
},
doSetXxt(e){
req.patchRequest('/api/user/curt',{spriteType:e}).then((res)=>{
@ -109,7 +108,9 @@ Page({
if(res.data.code==200){
this.setData({loverInfo:res.data.data})
this.getQdTime(res.data.data)
if (res.data.data.prayerStartTime) {
this.getQdTime(res.data.data)
}
}
}).catch((err)=>{
console.log(err);
@ -139,6 +140,7 @@ Page({
})
},
openPray(){
this.getUserInfo()
if(this.data.userInfo.isInPrayer){
this.setData({
showIsPray:!this.data.showIsPray
@ -253,11 +255,36 @@ Page({
getUserInfo(){
req.getRequest('/api/user/curt',{}).then((res)=>{
if(res.data.code===200){
this.getQdTime(res.data.data)
if (res.data.data.prayerStartTime) {
this.getQdTime(res.data.data)
}
// 获取可以祈祷的时间
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.setData({
hours:hours,
minute:minute,
pendantEnergy:pendantEnergy
})
// 能量集满显示提示
if(res.data.data.crystallineEnergy >= 100){
this.setData({jmEnergy: true})
this.setData({
jmEnergy: true
})
}
this.setData({
@ -303,10 +330,8 @@ Page({
},
// 计算祈祷时间
getQdTime(data){
if (!data.prayerStartTime) {
return
}
const qdTime = setInterval(() => {
clearInterval(this.data.qdTime)
this.data.qdTime = setInterval(() => {
// 获取已经祈祷时间
const now = new Date();
const startTime = new Date(data.prayerStartTime)
@ -327,30 +352,9 @@ Page({
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
})
console.log('定时器执行');
}, 1000);
this.setData({qdTime: qdTime})
},
go2Jlai(){
@ -411,17 +415,20 @@ Page({
this.setData({showTiming: false})
},
btnCancel(){
// 更新数据后清除定时器
clearInterval(this.data.qdTime)
this.data.qdTime = null
console.log('清除定时器');
req.patchRequest('/api/user/curt/prayer/stop',{}).then((res)=>{
console.log(res,'2222');
if(res.data.code === 200){
wx.showToast({
title: '已结束祈祷',
icon: 'success'
})
this.setData({prayTime : '00:00:00'})
this.openPray()
this.getUserInfo()
clearInterval(this.data.qdTime)
this.setData({prayTime : '00:00:00'})
}else {
wx.showToast({
title: '结束祈祷失败',
@ -522,7 +529,6 @@ Page({
*/
onHide() {
this.getUserInfo()
clearInterval(this.data.ysTime)
clearInterval(this.data.qdTime)
},
@ -532,6 +538,7 @@ Page({
onUnload() {
this.getUserInfo()
clearInterval(this.data.setInterval)
clearInterval(this.data.qdTime)
},
/**

@ -86,7 +86,9 @@
t-class-bar="dcleft1"
stroke-width="8rpx"
/>
<view class="dcbs"></view>
<view class="dcbs">
<image src="{{xingxiangtu.crystal}}"/>
</view>
<view class="dclefttxt">{{userInfo.crystallineEnergy}}%</view>
</view>
<!--中间祈祷-->
@ -107,7 +109,9 @@
t-class-bar="dcleft1"
stroke-width="8rpx"
/>
<view class="dcrbs" bindtap="openEnergy"></view>
<view class="dcrbs" bindtap="openEnergy">
<image src="{{xingxiangtuLove.crystal}}"/>
</view>
</view>
<view class="dcrighttxt">{{loverInfo.crystallineEnergy}}%</view>
</view>
@ -124,7 +128,7 @@
<!-- 运势加持 -->
<view class="ysjc" wx:if="{{userInfo.pendantLuckInBlessing}}">
<t-icon name="chevron-right-double" size="24" color="#DE868F"/>
<!-- <view class="ys-time">运势已加持{{ydTime}}</view> -->
<view class="ys-time">运势已加持{{ydTime}}</view>
<t-icon name="chevron-right-double" size="24" color="#DE868F"/>
</view>
</view>
@ -156,7 +160,9 @@
t-class-bar="dcleft1"
stroke-width="8rpx"
/>
<view class="dcbs"></view>
<view class="dcbs">
<image src="{{xingxiangtu.crystal}}"/>
</view>
<view class="dclefttxt">水晶能量</view>
</view>
<!--中间进度条-->
@ -213,7 +219,7 @@
</view>
<!-- 能量已满提示 -->
<view class="energy-full-box" wx:if="{{ jmEnergy && jmEnergy2 }}" bindtap="closeJmEnergy">
<view class="energy-full-box" wx:if="{{ jmEnergy }}" bindtap="closeJmEnergy">
<view class="energy-full">
<view>能量已经集满啦!</view>
<view>可以注入到水晶中</view>
@ -271,9 +277,9 @@
</swiper>
<!-- 单人页面 甲方说要固定页面不让左右滑动 不能使用swiper组件渲染 -->
<view bindtap="closeEnergy" wx:if="{{!userInfo.loverId}}">
<view class='call1-cantainer' bindtap="closeEnergy" wx:if="{{!userInfo.loverId}}">
<!--单人页面-->
<swiper-item class="call1">
<view class="call1">
<!--头像名字-->
<view class="call1-header">
<image class="tx" src="{{userInfo.avatar ? userInfo.avatar : xingxiangtu['elf-avatar']}}"></image>
@ -314,7 +320,9 @@
t-class-bar="dcleft1"
stroke-width="8rpx"
/>
<view class="dcbs"></view>
<view class="dcbs">
<image src="{{xingxiangtu.crystal}}"/>
</view>
<view class="dclefttxt">水晶能量</view>
</view>
<!--中间进度条-->
@ -371,7 +379,7 @@
</view>
<!-- 能量已满提示 -->
<view class="energy-full-box" wx:if="{{ jmEnergy && jmEnergy2 }}" bindtap="closeJmEnergy">
<view class="energy-full-box" wx:if="{{ jmEnergy }}" bindtap="closeJmEnergy">
<view class="energy-full">
<view>能量已经集满啦!</view>
<view>可以注入到水晶中</view>
@ -383,7 +391,7 @@
<view>能量已注入{{crystallineEnergy}}%</view>
<view>守护时间为{{guarTime}}</view>
</view>
</swiper-item>
</view>
</view>
<!-- 未祈祷弹层 -->

@ -299,9 +299,11 @@ page {
margin: auto;
width:72rpx;
height:72rpx;
background-repeat: no-repeat;
background-size: 100% 100%;
background-image: url(https://wish-assets.windymuse.com.cn/xy/bs.png);
}
.dcbs image {
width: 100%;
height: 100%;
}
.dcrightql{
@ -322,9 +324,11 @@ page {
margin: auto;
width:64rpx;
height:72rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://wish-assets.windymuse.com.cn/xy/rbs.png);
}
.dcrbs image {
width: 100%;
height: 100%;
}
.call1-btn-qd {
@ -631,12 +635,14 @@ page {
.k1{
width:116rpx;
height:116rpx;
text-align: center;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://wish-assets.windymuse.com.cn/xy/circle.png);
color: rgba(248, 99, 42, 1);
font-size: 72rpx;
display: flex;
align-items: center;
justify-content: center;
}
.k2{
@ -652,13 +658,14 @@ page {
.k3{
width:116rpx;
height:116rpx;
line-height:116rpx;
text-align: center;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://wish-assets.windymuse.com.cn/xy/circle.png);
color: rgba(108, 108, 108, 1);
font-size: 32rpx;
display: flex;
align-items: center;
justify-content: center;
}
.k11{
@ -883,7 +890,7 @@ page {
.dialog-item text {
padding-top: 16rpx;
color: #6C6C6C;
font-size: 16px;
font-size: 32rpx;
text-align: center;
}
@ -911,16 +918,15 @@ page {
.dialog-btn button {
width: 210rpx;
height: 70rpx;
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;
justify-content: center;
align-items: center;
color: #fff;
font-size: 14px;
font-size: 28rpx;
}
.dialog-text {
@ -1061,12 +1067,13 @@ picker-view-column {
height: 434rpx;
padding-top: 80rpx;
box-sizing: border-box;
font-size: 18px;
font-size: 36rpx;
color: #6C6C6C;
border-radius: 15px;
border-radius: 30rpx;
background-color: rgba(255, 255, 255, 1);
text-align: center;
box-shadow: 1px 2px 6px 0px rgba(0, 0, 0, 0.4);
box-shadow: 2rpx 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
z-index: 9999;
}
.in-energy .t-image {
@ -1111,3 +1118,7 @@ picker-view-column {
align-items: center;
}
.call1-cantainer {
width: 100%;
height: 100%;
}

@ -299,7 +299,7 @@ Page({
if(res.data.code==200){
this.setData({
userInfo:res.data.data,
phone:res.data.data.phone,
// phone:res.data.data.phone,
})
// 获取默认头像
this.getDetaile()

@ -9,13 +9,16 @@
<view class="user-main">
<view class="main-title">星座守护精灵 用户协议</view>
<text class="main-text">欢迎您使用星座守护精灵 软件。本协议是由用户以下可称“用户”或“您”与我司就所提供的产品及服务所订立的协议。为保障您的权益请您在登录使用我司所提供的产品及服务之前仔细阅读本协议18周岁以下未成年人应当在其法定监护人陪同下阅读包括免除或者限制我司的免责条款及对用户的权利限制条款。如果您进入我司或用户登录页面确认已经阅读、同意本协议的条款并完成登录或者通过其他任何方式获得和使用我司所提供的产品和服务则视为您已经详细阅读了本协议的内容同意遵守本协议的约定。您不应再以不了解本协议内容为由拒绝履行本协议。此外我司有权在不另行通知的情况下随时对本协议或相关协议进行修改修改部分即时生效并适用。请您在使用产品和服务时进行关注并遵守如您不同意修改您可以随时停止使用如果您继续使用则视为您已经接受修改后的协议。
<text class="main-text-title">一、定义和说明</text>
1.1 本软件:星座守护精灵 软件,包含客户端内容及程序,并可能包括相关网络服务器、网站、电子媒体、印刷材料和“联机”或电子文档等。
1.2 用户:指已购买过星座守护精灵 商品并通过我公司提供的合法途径获得星座守护精灵软件使用许可而安装、使用星座守护精灵软件产品及服务的个人。
<text class="main-text-title">二、知识产权声明</text>
<text class="main-text-title">一、定义和说明</text>
1.1 本软件:星座守护精灵 软件,包含客户端内容及程序,并可能包括相关网络服务器、网站、电子媒体、印刷材料和“联机”或电子文档等。
1.2 用户:指已购买过星座守护精灵 商品并通过我公司提供的合法途径获得星座守护精灵软件使用许可而安装、使用星座守护精灵软件产品及服务的个人。
<text class="main-text-title">二、知识产权声明</text>
2.1我公司依法享有星座守护精灵软件的一切合法权属(包括但不限于知识产权)。本软件的全部著作权及一切其他知识产权,以及与本软件相关的所有信息内容,包括但不限于:文字表述及其组合、图标、图饰、图表、色彩组合、界面设计、版面框架、有关数据、印刷材料、或电子文档等均受中国知识产权相关法律法规和有关的国际条约的保护。
2.2 星座守护精灵软件所体现的徽标(图形)和/或我公司的产品和服务标示均属于我公司在中国及/或其他国家/地区的商标或者注册商标。用户未经合法授权不得自行使用。
2.3 我公司在涉及星座守护精灵软件及相关各项服务中拥有专利权、专利申请权、商标权、著作权及其他知识产权。我公司并未因为本《协议》或者因为向用户提供本软件以及相关服务而授予用户任何与本软件相关的知识产权。本《协议》未明确授予用户的权利均由我公司保留。
<text class="main-text-title">三、隐私政策</text>
本隐私政策将涵盖本应用如何收集、使用、处理、存储和保护App收集的关于您的个人信息。若我们要求您提供某些信息以便在使用产品和服务时验证您的身份我们将仅严格遵守本隐私政策来使用这些信息请你仔细阅读我们的隐私政策。
3.1 如何收集您的个人信息
@ -30,10 +33,12 @@
在法律要求的情况下,以及本公司认为必须披露与您有关的信息来保护本公司的法定权益和/或遵守司法程序、法院指令或适用本应用程序的法律程序时,我们有权透露您的个人信息。如果本公司确定为了执行本公司的条款和条件或保护我们的经营,披露是合理必须的,则我们可披露与您有关的信息。
3.5 本隐私政策的更改
我们会对隐私政策进行定期审核,为反映我们信息惯例的变更,我们可能会更新本隐私政策。如果决定更改隐私政策,我们会在本政策中、本公司网站中以及我们认为适当的位置发布这些更改,以便您了解我们如何收集、使用您的个人信息,哪些人可以访问这些信息,以及在什么情况下我们会透露这些信息。我们保留随时修改本政策的权利,因此请经常查看。您若继续使用本应用程序提供的服务,将被视为接受更新的隐私政策。
<text class="main-text-title">四、资费政策</text>
4.1 本公司有权决定我司星座守护精灵软件产品和服务的资费标准和收费方式,我公司可能会就不同的产品和服务制定不同的资费标准和收费方式,也可能按照我们所提供的产品和服务的不同阶段确定不同的资费标准和收费方式。另外,我司也可能不时地修改相关资费政策。
4.2 对于我司星座守护精灵软件的收费产品和服务,用户应该按照我司确定的资费政策购买我们的产品和服务。如果用户未按我司确定的资费政策购买我司的产品和服务,我司可以立即停止向用户提供该产品和服务。
4.3 除非法律另有明文规定,无论该等资费是否已被消费,我司有权决定是否、何时、以何种方式向用户退款。我司同意退款的,用户应补偿支付时使用信用卡、手机等支付渠道产生的费用,该等费用我司有权在返还用户的资费中直接扣收。我司在产品和服务提供过程中赠送的充值金额、虚拟货币、虚拟道具等,不予退款或变现。
<text class="main-text-title">五、服务、协议的中断或终止</text>
5.1 如发生下列任何一种情形,我司有权随时中断或终止向用户提供本协议项下的星座守护精灵软件服务和其他网络服务,对于因而产生的不便和损失,我司不承担任何责任:
1用户提供的个人资料不真实
@ -48,6 +53,7 @@
5在紧急情况之下依照法律的规定或为用户及第三者之人身安全
6第三方原因或其他不可抗力的情形。
5.5 在适用法律许可的最大范围内,不管产品和服务由于任何原因终止,用户应采取相应的措施自行处理星座守护精灵软件及星座守护精灵软件平台上的虚拟物品。用户不得因终止服务而要求我司承担除用户已经购买但尚未使用的星座守护精灵软件虚拟货币以外任何形式的赔偿或补偿责任,包括但不限于因不再能继续使用星座守护精灵软件账号、星座守护精灵软件内虚拟物品等而要求的赔偿。
<text class="main-text-title">六、用户权利与义务</text>
6.1在用户同意接受本《协议》全部内容的前提下,我公司同意授予用户可撤销的、可变更的、非专有的、不可转让和不可再授权的许可权利。用户可在许可生效的时间内将本软件安装在个人使用的联网设备上,并以指定的方式运行本软件的一份副本并享受我公司提供的服务。我公司基于本《协议》授予用户的许可是针对个人使用的许可。如用户有需要在个人使用的范围以外使用本软件及服务或者将本软件与服务用于任何商业用途,则用户应与我公司联系并获得我公司另行授权。任何未经我公司许可的安装、使用、访问、显示、运行等行为均视为违反本协议。
6.2 除非本《协议》另有规定,否则,未经我公司书面同意,用户不得实施下列行为(无论是营利的还是非营利的):
@ -76,14 +82,18 @@
3牢记用户填写的注册资料、历史信息。
我公司在为用户提供相关客户服务的前提是用户能表明用户是账号的所有人,这可能需要用户提供相关信息(包括但不限于注册信息、历史密码等)。用户理解,如果用户不能提供准确完整的注册资料及相关历史信息、未及时更新相关注册资料或者相关的证据,将有可能导致我公司无法判断用户的身份,从而无法为提供密码找回等相关服务,而我公司对此不承担任何责任。如因用户提交的相关信息资料不真实、不准确、不完整、不合法从而导致我公司作出错误的判断的,我公司有权终止为用户提供服务并追究用户的法律责任。
6.5我公司保留通过本软件和相关的服务向用户投放商业性广告的权利。
<text class="main-text-title">七、违约责任</text>
7.1用户同意保障和维护我公司及其他用户的利益,如因用户违反有关法律、法规或本《协议》项下的任何条款而给我公司造成损害,用户同意承担由此造成的损害赔偿责任,该等责任包括但不限于给我公司造成的任何直接或间接损失。
7.2 如用户违反本《协议》、我公司发布的其他规则或者国家法律法规规定,则我公司有权作出独立的判断,立即撤销相关许可,终止为用户提供服务并通过各种合法途径追究用户的法律责任。
<text class="main-text-title">八、法律管辖</text>
8.1 本协议的订立、执行和解释及争议的解决均应适用中国法律。
8.2 如双方就本协议内容或其执行发生任何争议,双方应尽量友好协商解决;协商不成时,任何一方均应向本软件平台所在地的人民法院提起诉讼。
<text class="main-text-title">九、通知和送达</text>
本协议项下所有的通知均可通过重要页面公告、电子邮件或常规的信件传送等方式进行; 该通知于发送之日视为已送达收件人。
<text class="main-text-title">十、 其他规定</text>
10.1 本协议构成双方对本协议之约定事项及其他有关事宜的完整协议,除本协议规定的之外,未赋予本协议各方其他权利。
10.2 如本协议中的任何条款无论因何种原因完全或部分无效或不具有执行力,本协议的其余条款仍应有效并且有约束力。

@ -25,6 +25,7 @@
11. 如何联系我们
12. 第三方SDK说明
如您对本隐私政策或相关事宜有任何疑问,您可随时与我们联系。
<text class="main-text-title">二、权限申请及应用场景</text>
我们对于软件需要在用户使用设备上获取的权限非常严格和克制,在使用本应用过程中,我们会向您申请使用该功能所必须的权限,若您不同意开启该权限,请点击“我不同意”,拒绝该权限的申请仅将影响您对特定产品功能的使用。我们在此向您列举产品将可能申请的权限及其使用目的。
1无线连接为了便于用户WiFi状态下进行获取好友的动态本产品的基础功能便于知晓好友近况。
@ -35,6 +36,7 @@
6检索运行的应用为了让用户更好的体验服务丰富用户内容画像以及平台为用户内容拓展提供决策参考平台根据用户安装软件的偏好将会在用户每日第一次打开时收集用户已安装并运行的应用软件信息对正在运行中的应用程序进行针对性的优化启动速度。
7我们会从微信第三方获取您授权共享的账户信息头像、昵称、地区。登录后将您的第三方账户与星座守护精灵绑定使您可以通过第三方账户直接登录并使用我们的产品和服务。我们会将依据与第三方的约定、对个人信息来源的合法性进行确认后在符合相关法律和法规规定的前提下使用您的个人信息。
8日志信息你使用地图的搜索服务时我们的服务器会自动记录您的日志信息包括您输入的搜索关键词信息和您发布的报错信息、反馈信息、你上传的图片信息、您的IP地址、操作系统的版本、硬件设备信息、网络运营商的信息、使用时长、浏览记录、您对星座守护精灵呈现的推送信息的反馈、您下载和使用应用程序、您使用第三方平台的情况等方面的信息
<text class="main-text-title">三、我们如何使用这些信息</text>
对于我们收集或接收的有关您的信息,我们可能会用于多种目的,包括但不限于:
1、将您的公开信息进行汇总、分析以形成报告
@ -45,6 +47,7 @@
6、用于网络安全防范在我们提供服务时用于身份验证、客户服务、安全防范、诈骗监测、存档和备份用途确保我们向您提供的产品和服务的安全性
7、应用户特殊要求而提供特定服务时需要将信息提供给我们的关联公司、第三方或其他用户
8、其他有利于用户和星座守护精灵运营者利益且不违反任何强制性法律法规的情况。
<text class="main-text-title">四、我们如何分享和披露用户信息</text>
1、除非事先征得您的同意或符合本政策的相关规定我们不会向任何第三方提供、出售、出借、出租或分享用户信息也不允许任何第三方以任何手段查询、收集、编辑或传播我们收集或接收的用户信息。
2、我们会聘请第三方提供特定产品或服务如递送相关资讯、对用户信息进行统计分析、网站托管、邮件管理及网站统计分析等。为提供该等产品或服务之目的供应商将可能在其提供产品或服务所必须的范围内获得我们收集或接收的有关的用户信息。我们严格要求各供应商对其获得的用户信息保密并禁止其将该等用户信息用于提供相关产品或服务以外的任何其他目的。
@ -57,10 +60,12 @@
4以学术研究或公共利益为目的
5为维护星座守护精灵的合法权益例如查找、预防、处理欺诈或安全方面的问题
6符合相关服务条款或使用协议的规定。
<text class="main-text-title">五、我们如何保护用户信息</text>
1、我们将采取合理的技术措施和其它必要措施以确保用户信息的安全并努力防止用户信息泄露、丢失或遭受破坏。其中包括1使用加密技术来确保您的数据在传输过程中保持私密性2审查我们在收集、存储和处理信息方面的做法包括实体安全措施以防未经授权的人员访问我们的系统4所有因提供服务而必须接触个人信息的 星座守护精灵 员工、承包商和代理商等,都需要遵守合同中规定的严格保密义务,否则可将被处分或被解约。
2、尽管严格遵守法律法规要求的标准并已经采取了上述合理有效措施但由于技术的限制以及可能存在的各种恶意手段等我们无法控制的原因星座守护精灵无法始终保证信息绝对安全我们将尽力确保您提供给我们的个人信息的安全性。因此我们强烈建议您采取积极措施保护个人信息的安全包括但不限于使用复杂密码、定期修改密码、不将自己的账号密码等个人信息透露给他人。
3、我们会制定应急处理预案并在发生用户信息安全事件时立即应急预案努力阻止该等安全事件的影响和后果扩大。在不幸发生用户信息安全事件泄露、丢失等我们将按照法律法规的要求及时向您告知。同时我们还将按照监管部门要求上报个人信息安全事件的处置情况。
<text class="main-text-title">六、如何收集、更新、变更、删除您的数据和信息</text>
我们在提供服务的过程中可能会收集您的如下个人数据,这些数据对于本产品各项功能的实现至关重要。我们将使用这些数据来帮助我们开发和改进我们的产品,以提供更加优质的服务。我们将严格遵守本隐私政策所载明的目的来使用您的个人数据。当我们需要将数据用于本隐私政策未载明的目的时,或者将基于特定目的收集的个人信息用于其他目的时,我们会事先向您告知并征得您的同意。
1、本产品是具备完整的功能并提供丰富的内容和服务的工具产品。根据产品功能属性的不同我们将在不同场景下收集您不同类型的个人数据并为实现产品功能的需要进行使用。
@ -69,22 +74,28 @@
4、搜索功能是为了本产品所必需的基本功能。当您使用时我们会收集您的搜索关键字信息、日志记录等。
5、我们通过云服务接口为您提供了丰富的功能和服务比如垃圾清理、产品升级等。为了保证云服务的正常运行我们需要收集一些必要的数据主要包括应用包名、应用版本、应用安装时间等应用信息国家码、系统语言、系统时区等系统信息屏幕分辨率等设备信息运营商等网络信息。
6、您在使用我们的产品和服务时会被要求提供您真实的个人信息您应当对您所提供信息的真实性、合法性、有效性及完整性负责并及时更新和维护您的个人信息以保证信息的真实、合法和有效。您可以随时管理您的个人信息例如您的个人账户注册信息。您可以自行从 星座守护精灵 账号中删除您的内容或个人信息(若您之前已创建了会员账户),或要求我们删除或修改信息,例如您想要删除个人帐户,可以通过软件内的账号注销功能。
<text class="main-text-title">七、Cookies及类似技术</text>
1、Cookies是用户访问网站时存放于用户的计算机等设备中的小文件可被用于存储与您的计算机或设备绑定的唯一识别码以便用户在不同网站的不同浏览进程中被识别为同一个用户。Cookies提供了多种有用的功能例如可以用来记忆用户的密码或记录用户已经注册过的项目使用户在网站上的操作更加有效率。
2、我们可能通过Cookies收集用户信息。用户拥有完全的自主权自行设置浏览器以禁用或限用Cookies。但是该等设置可能导致用户无法登录或使用依赖于Cookie的星座守护精灵的某些服务或功能。
3、 我们还可能使用其他类似的技术例如beacons、flash cookies和HTML5本地存储等。这些技术与Cookies的相似之处在于他们均被存储于用户的设备中并可用于存储与用户的行为和偏好有关的信息。用户拥有完全的自主权自行设置以禁用或限用该等技术。同样该等设置可能导致用户无法登录或使用星座守护精灵的某些服务或功能。
<text class="main-text-title">八、未成年人使用我们的服务</text>
我们建议若您是18周岁以下的未成年人在使用我们的产品或服务前应事先取得其父母或监护人的同意并建议未成年人在提交的个人信息之前寻求父母或监护人的同意和指导。
<text class="main-text-title">九、本政策的适用范围</text>
本隐私政策适用于星座守护精灵及其关联公司提供的所有服务。但是不包括附有独立隐私政策的服务(如第三方提供的产品和服务)。请您注意,本隐私政策不适用于以下情况:
1、通过我们的服务而接入的第三方服务包括任何第三方网站收集的信息本隐私权政策不适用于第三方提供的产品和服务例如在于星座守护精灵上由第三方提供的产品和服务以及在我们的服务中链接到的其他网站这些产品、服务或网站会有独立的隐私政策予以规范请另行查阅相应的政策规定
2、通过在我们服务中进行广告服务的其他公司或机构所收集的信息。
<text class="main-text-title">十、本政策的更新</text>
1. 我们可能会不定期修改、更新本隐私政策,有关隐私政策的更新,我们会在 星座守护精灵 软件及网站中以通知公告等形式发布,您可以访问 星座守护精灵 软件及网站中查询最新版本的隐私政策。对于重大变更,我们会向您发出郑重通知(包括对于某些服务,我们会通过电子邮件发送通知,说明对隐私政策进行的更改)。
<text class="main-text-title">十一、如何联系我们</text>
北京蛋荚科技有限责任公司成立于2022年05月09日
我们的联系邮箱是eggpoder@gmail.com
如您对本政策存在任何问题或建议,或者您需要行使您的数据管理权力,对您的隐私数据进行管理,请随时联系我们。
<text class="main-text-title">十二、第三方SDK说明</text>
我们所接入的第三方 SDK 可能会调用您的设备权限、获取您的相关信息,以便您在不同的手机设备或第三方平台上正常使用相应功能,我们将这些具有个人信息手机功能的第三方 SDK 的名称、提供商、所提供的功能 / 服务隐私政策链接、收集个人信息类型,按照实现功能 / 服务的类别划分说明如下:
12.1. 我们对接入的相关第三方SDK在目录中列明

@ -144,9 +144,7 @@ Page({
type: 'graphic'
}).then(res => {
// 过滤情侣发送的图片
const list = res.data.data.records.filter(item => {
return item.isSelf
})
const list = res.data.data.records
list.forEach(item => {
// 将时间字符串转为Date对象
const date = new Date(item.createdAt);
@ -162,20 +160,19 @@ Page({
console.log(list);
this.setData({hxlist: list})
const treeData = list.reduce((result, item) => {
const group = result.find(group => group.createdAt === item.createdAt);
if (group) {
// group.list.push(item.resourceId);
group.list.push(`https://xzjl-api.windymuse.cn/api/resource/${item.resourceId}?k=${item.fromUserid}`);
} else {
result.push({
createdAt: item.createdAt,
list: [`https://xzjl-api.windymuse.cn/api/resource/${item.resourceId}?k=${item.fromUserid}`]
const group = result.find(group => group.createdAt === item.createdAt);
if (group) {
group.list.push(`https://xzjl-api.windymuse.cn/api/resource/${item.resourceId}?k=${item.fromUserid}`);
} else {
result.push({
createdAt: item.createdAt,
list: [`https://xzjl-api.windymuse.cn/api/resource/${item.resourceId}?k=${item.fromUserid}`]
});
}
return result;
}, []);
console.log(treeData);
// console.log(treeData);
this.setData({list: treeData})
})

@ -123,7 +123,6 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**

@ -2,7 +2,7 @@
<!--返回图标-->
<view class="header">
<view class="reback" bindtap="go2Reback"></view>
<view class="title">纸条</view>
<view class="title">信札</view>
</view>
<!-- 中间主体 -->

@ -2,7 +2,7 @@
<!--返回图标-->
<view class="header">
<view class="reback" bindtap="go2Reback"></view>
<view class="title">音</view>
<view class="title">音</view>
</view>
<!-- 中间主体 -->

@ -559,14 +559,15 @@ font-family: SourceHanSansSC-regular;
height: 70rpx;
border-radius: 20rpx;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
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;
justify-content: center;
align-items: center;
color: #fff;
margin: 0;
box-sizing: border-box;
font-size: 28rpx;
}
.openSend-main-text1 {

@ -36,28 +36,26 @@ Page({
ztVisible:false,//写纸条弹窗
messages:[],
loverInfo:{},
hasLover:false,// 是否单身
userInfo:{},
savePicture: false, // 保存图片成功
soundData:{}, //音频数据
userImg: '', //用户默认头像
loveImg: '' //情侣默认头像
loveImg: '', //情侣默认头像
chatHeight:0
},
doLuYINBoF(e){
console.log(e.currentTarget.dataset.tp);
// 判断点击的是否为对方的语音
if(e.currentTarget.dataset.item){
const id = e.currentTarget.dataset.item.id
console.log(id);
// 改变语音状态
req.patchRequest(`/api/user/curt/message/${id}/read`,{}).then(res => {
console.log(res);
console.log(res,'已读语音');
})
}
//先判断是开是关
if(!e.currentTarget.dataset.bf){//此时点击为关闭
//设置当前状态为关闭,并关闭
if(!e.currentTarget.dataset.bf){
this.setData({['messages['+e.currentTarget.dataset.index+'].extra.isBf']:false})
this.data.innerAudioContext.stop() // 关闭
}else{//此时点击为开启
// 先设置全部为false
for(var i =0;i<this.data.messages.length;i++){
@ -65,18 +63,10 @@ Page({
}
//先停止
this.data.innerAudioContext.stop()
const innerAudioContext = wx.createInnerAudioContext({
useWebAudioImplement: false
})
this.data.innerAudioContext.src = e.currentTarget.dataset.tp
this.setData({['messages['+e.currentTarget.dataset.index+'].extra.isBf']:true})
this.data.innerAudioContext.play() // 播放
// 此时需要向对应的item赋值
//innerAudioContext.pause() // 暂停
// innerAudioContext.stop() // 停止
this.data.innerAudioContext.onEnded((res)=>{
this.setData({['messages['+e.currentTarget.dataset.index+'].extra.isBf']:false})
})
@ -356,6 +346,13 @@ Page({
},
deleteMsg(){
console.log(this.data.delId);
if (this.data.delId === -1) {
wx.showToast({
title: '该信札不允许删除',
icon: 'none'
})
return this.setData({delId: 0})
}
req.deleteRequest(`/api/user/curt/message/${this.data.delId}`,{}).then(res => {
console.log(res);
if (res.data.code === 200) {
@ -518,6 +515,7 @@ Page({
}
this.setData({messages:list.reverse()})
this.getDeteleImg()
this.getNewMsg()
})
})
}
@ -536,12 +534,11 @@ Page({
doQueryInit(){
req.getRequest('/api/user/curt',{}).then((res)=>{
if(res.data.code==200){
this.setData({hasLover:res.data.data.hasLover})
this.setData({userInfo:res.data.data})
if(!res.data.data.hasLover){
wx.navigateTo({
wx.redirectTo({
url: '/pages/home/xx/index'
})
})
}
}
@ -646,12 +643,33 @@ Page({
this.setData({userImg: userImg['elf-avatar'], loveImg: loveImg['elf-avatar']})
},
// 时时显示最新聊天记录
getNewMsg(){
// 获取到聊天记录的总高度
const text = this.data.messages.filter(item => {
return item.type === 'text'
}).length
const letter = this.data.messages.filter(item => {
return item.type === 'letter'
}).length
const graphic = this.data.messages.filter(item => {
return item.type === 'graphic'
}).length
const audio = this.data.messages.filter(item => {
return item.type === 'audio'
}).length
const height = text * 92 + letter * 75 + graphic * 127 + audio * 84 + 100000
if (height !== this.data.chatHeight) {
this.setData({chatHeight:height})
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
const innerAudioContext = wx.createInnerAudioContext({
useWebAudioImplement: false
useWebAudioImplement: true
})
this.setData({innerAudioContext:innerAudioContext})
this.doQueryInit()
@ -676,7 +694,6 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**

@ -1,16 +1,14 @@
<!--pages/home/xx/lindex/lindex.wxml 星讯:非情侣页面-->
<!-- 头部导航 -->
<view class="allTap-header">
<view class="hybtn" bindtap="go2Huiyi">回忆</view>
<view class="hybtn" bindtap="go2Huiyi" wx:if="{{chatHeight}}">回忆</view>
<view class="reback" bindtap="go2Reback"></view>
<view class="title">星讯</view>
</view>
<view class="allTap" bindtap="closeDel">
<view class="allTap" bindtap="closeDel" wx:if="{{chatHeight}}">
<!--聊天内容-可以滑动-->
<view class="ltinfo">
<scroll-view class="ltinfo" scroll-y enhanced scroll-top="{{chatHeight}}">
<!--聊天页头部:粉色那一部分-->
<view class="bkgfs" id="button">
<!--最上方的两个头像-->
@ -26,7 +24,6 @@
<view class="txt"> 所有美好的回忆都将被精灵记录</view>
</view>
</view>
<!--聊天内容部分-->
<view class="ltxinxi">
<!--循环用户的聊天信息-->
@ -71,9 +68,8 @@
bindtap="doLuYINBoF"
>
<view class="zjypt11">
<view class="box2" style="float: left; height: 60rpx; width: 1000px;">
<image wx:for="{{xhCstP}}" wx:key="index" style="height: 60rpx;width: 60rpx;"
src="https://wish-assets.windymuse.com.cn/xy/yppic.png" mode=""/>
<view class="box2" style="float: left; height: 60rpx; width: 10000rpx;">
<image wx:for="{{xhCstP}}" wx:key="index" style="height: 60rpx;width: 60rpx;" src="https://wish-assets.windymuse.com.cn/xy/yppic.png"/>
</view>
</view>
<view class="zjypwz1">{{item.extra.ssec}}</view>
@ -183,12 +179,11 @@
</view>
<view class="cqlgd"></view>
</view>
</scroll-view>
</view>
</view>
<!--星讯聊天下方菜单栏-->
<view class="xfgjl" wx:if="{{hasLover}}">
<view class="xfgjl" wx:if="{{chatHeight}}">
<view class="xxqlcd xxqlcd1" bindtap="doClickXz">信札</view>
<view class="xxqlcd xxqlcd2" bindtap="doClickYx">音讯</view>
<view class="xxqlcd xxqlcd3" bindtap="doClickHx">画像</view>

@ -63,7 +63,7 @@
.ltinfo{
width: 100%;
height: 100%;
overflow-y: scroll;
/* overflow-y: scroll; */
}
.bkgfs{
@ -536,35 +536,35 @@
}
.ztPopcenter{
position: absolute;
left: 48px;
top: 111px;
width: 298px;
height: 542px;
background-image: url(https://wish-assets.windymuse.com.cn/xy/ztbkg11.png);
left: 96rpx;
top: 222rpx;
width: 597rpx;
height: 1084rpx;
background-image: url(https://wish-assets.windymuse.com.cn/xy/ztbkg11.png);
}
.btn1{
position: absolute;
width: 105px;
height: 35px;
line-height: 70rpx;
border-radius: 10px;
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 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);
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;
}
.qxan1{
left: 64px;
top: 568px;
left: 128rpx;
top: 1136rpx;
}
.qran1{
left: 206px;
top: 568px;
left: 412rpx;
top: 1136rpx;
}
.ztwzk{
position: absolute;

@ -150,7 +150,7 @@ textarea {
.xinfo-ltqp-text {
color: rgba(79, 79, 79, 1);
font-size: 14px;
font-size: 28rpx;
}
.xinfo-yuying {

@ -316,10 +316,10 @@ textarea {
height: 434rpx;
padding-top: 88rpx;
box-sizing: border-box;
border-radius: 15px;
border-radius: 30rpx;
background-color: rgba(255, 255, 255, 1);
text-align: center;
box-shadow: 1px 2px 6px 0px rgba(0, 0, 0, 0.4);
box-shadow: 2rpx 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
}
.sound {
@ -456,7 +456,7 @@ textarea {
margin-bottom: 20rpx;
justify-content: center;
color: rgba(108, 108, 108, 1);
font-size: 18px;
font-size: 36rpx;
}
.taost-box-btn {
@ -465,7 +465,7 @@ textarea {
margin: 80rpx auto;
border-radius: 20rpx;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
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: 6rpx solid rgba(255, 255, 255, 1);
display: flex;
justify-content: center;

@ -41,10 +41,10 @@
}
.gold111{
position: absolute;
left: 70px;
top: 179px;
width: 240px;
height: 240px;
left: 140rpx;
top: 358rpx;
width: 480rpx;
height: 480rpx;
background-image: url(https://wish-assets.windymuse.com.cn/xy/gold1.png);
}
.gold2{
@ -238,7 +238,7 @@
.ztys{
width: 596rpx;
height: 318rpx;
/* height: 318rpx; */
color: #6C6C6C;
display: flex;
flex-direction: column;
@ -255,7 +255,7 @@
display: flex;
align-items: center;
color: #6C6C6C;
font-size: 14px;
font-size: 28rpx;
padding-left: 68rpx;
box-sizing: border-box;
}
@ -265,7 +265,7 @@
display: flex;
align-items: center;
color: #6C6C6C;
font-size: 14px;
font-size: 28rpx;
padding-left: 68rpx;
box-sizing: border-box;
}
@ -274,7 +274,7 @@
display: flex;
align-items: center;
color: #6C6C6C;
font-size: 14px;
font-size: 28rpx;
padding-left: 68rpx;
box-sizing: border-box;
}

@ -43,7 +43,7 @@
border-radius: 30rpx;
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);
box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
border: 20rpx solid rgba(255, 255, 255, 1);
}
@ -607,7 +607,7 @@
}
.popup-main .main-box .box-item .item-text {
font-size: 12px;
font-size: 24rpx;
color: #A2A2A2;
}

@ -334,7 +334,7 @@
}
.popup-main .main-box .box-item .item-text {
font-size: 12px;
font-size: 24rpx;
color: #A2A2A2;
}

@ -64,8 +64,8 @@
</view>
</view>
<view class="ywcczk" wx:if="{{detail.status=='processing'}}"><!--进行中按钮展示-->
<!--进行中按钮展示-->
<view class="ywcczk" wx:if="{{detail.status=='processing'}}">
<view class="anwz1">
<view class="yqq" bindtap="go2DelDialog">
<t-image bindtap="go2DelDialog" class="anzmlogo1" src="https://wish-assets.windymuse.com.cn/xy/lsc.png"></t-image>
@ -91,7 +91,9 @@
<view class="anwztxt1">分享</view>
</view>
</view>
<view class="ywcczk" wx:if="{{detail.status=='completed'}}" bindtap="closeVisible"><!--已完成按钮展示-->
<!--已完成按钮展示-->
<view class="ywcczk" wx:if="{{detail.status=='completed'}}" bindtap="closeVisible">
<view class="anwz1">
<view class="yqq" catchtap="go2DelDialog">
<t-image catchtap="go2DelDialog" class="anzmlogo1" src="https://wish-assets.windymuse.com.cn/xy/lsc.png"></t-image>
@ -105,6 +107,8 @@
<view class="anwztxt1">分享</view>
</view>
</view>
<!--已过期按钮展示-->
<view class="ywcczk" wx:if="{{detail.status=='expired'}}" bindtap="closeVisible">
<view class="anwz1">
<view class="yqq" catchtap="go2DelDialog">
@ -113,12 +117,12 @@
<view class="anwztxt1">删除</view>
</view>
<view class="anwz1">
<view class="yqq">
<view class="yqq" bindtap='editYw'>
<t-image class="anzmlogo1" src="https://wish-assets.windymuse.com.cn/xy/lxg.png"></t-image>
</view>
<view class="anwztxt1">修改</view>
</view>
</view><!--已过期按钮展示-->
</view>
</t-popup>

@ -337,7 +337,7 @@
}
.popup-main .main-box .box-item .item-text {
font-size: 12px;
font-size: 24rpx;
color: #A2A2A2;
}

@ -70,7 +70,13 @@ Page({
if (this.data.playVideos) {
this.setData({playVideos: false})
const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.src = e.currentTarget.dataset.url.audio
console.log(e.currentTarget.dataset.url.videoSrc);
if (e.currentTarget.dataset.url.videoSrc) {
innerAudioContext.src = e.currentTarget.dataset.url.videoSrc
}
if (e.currentTarget.dataset.url.audio) {
innerAudioContext.src = e.currentTarget.dataset.url.audio
}
innerAudioContext.play()
innerAudioContext.onEnded(() => {
this.setData({playVideos: true})
@ -173,7 +179,6 @@ Page({
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 => {
@ -201,8 +206,8 @@ Page({
// 判断是否为情侣信札 是就更改信札状态
const userInfo = wx.getStorageSync('xinyuan-userInfo')
const id = userInfo.id
if (res.data.data.fromUserid !== id && res.data.data.status === 'unread') {
const userId = userInfo.id
if (res.data.data.fromUserid !== userId && res.data.data.status === 'unread') {
req.patchRequest(`/api/user/curt/message/${id}/read`)
}
}else{

@ -30,7 +30,7 @@
</view>
<view class="xinfo-voice" bindtap="playVideos" data-url="{{item}}" wx:if="{{item.type === 'audio'}}">
<view class="xinfo-icon"></view>
<view> {{item.extra.duration}} </view>
<view class="xinfo-text"> {{item.extra.duration}} </view>
</view>
<view class="xinfo-img" wx:if="{{item.type === 'graphic'}}">
<image mode="widthFix" src="{{item.img}}" />

@ -295,3 +295,8 @@ page {
justify-content: center;
align-items: center;
}
.xinfo-text {
color: rgba(79, 79, 79, 1);
font-size: 28rpx;
}

@ -17,24 +17,31 @@
},
{
"name": "",
"pathName": "pages/home/me/indexx",
"pathName": "pages/home/xx/hy/hx/hx",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "",
"pathName": "pages/home/jl/jlai/jlai",
"pathName": "pages/home/xx/lindex/lindex",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "",
"pathName": "pages/home/me/ysxy/ysxy",
"pathName": "pages/home/xx/lindex/lindex",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "",
"pathName": "pages/xz/index",
"query": "id=225",
"launchMode": "default",
"scene": null
}
]
}

Loading…
Cancel
Save