Commit bb47c3b1 by 穆启卓

复活卡

parent e92c5631
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
</template> </template>
<script> <script>
import {jssdk, shareContent, select_user_signup} from "@/components/axios/api"; import {jssdk, shareContent, select_user_signup, liinShare} from "@/components/axios/api";
export default { export default {
name: "HelloWorld", name: "HelloWorld",
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
mounted() { mounted() {
this.getConfig(); this.getConfig();
this.checkUserJoin(); this.checkUserJoin();
this.liinShare();
}, },
methods: { methods: {
// 微信分参数 // 微信分参数
...@@ -174,6 +175,11 @@ ...@@ -174,6 +175,11 @@
}).catch(err => { }).catch(err => {
sessionStorage.setItem('userHaveJoinGame', 'false'); sessionStorage.setItem('userHaveJoinGame', 'false');
}) })
},
// 复活卡的邀请人信息给后端
liinShare() {
liinShare().then(res => {
})
} }
} }
}; };
......
...@@ -3,17 +3,18 @@ ...@@ -3,17 +3,18 @@
<div class="revive-card-container"> <div class="revive-card-container">
<img class="revive-card-btn" src="../images/SignUp/revive_card.png" @click="changeRebornShow()"> <img class="revive-card-btn" src="../images/SignUp/revive_card.png" @click="changeRebornShow()">
<div class="revive-card-tip">参加并邀请好友可获得复活卡一张</div> <div class="revive-card-tip">参加并邀请好友可获得复活卡一张</div>
<div class="revive-card-num">x0</div> <div class="revive-card-num">x{{rebornNum}}</div>
</div> </div>
<div class="Reborn-component" v-if="showRebornModal"> <div class="Reborn-component" v-if="showRebornModal">
<div class="content"> <div class="content">
<div class="title1">邀请好友报名成功</div> <img class="close-btn" src="@/images/common/pop_ic_close.png" @click="changeRebornShow()">
<div class="title1">邀请一位好友报名成功</div>
<div class="title2">可获得一次复活机会</div> <div class="title2">可获得一次复活机会</div>
<img class="center-img" src="@/images/components/Reborn/center_img.png"> <img class="center-img" src="@/images/components/Reborn/center_img.png">
<div class="desc">每期比赛只能获得1次复活机会</div> <div class="desc">每期比赛只能获得1次复活机会</div>
<div class="desc">未达标次日11:50后复活机会自动生效</div> <div class="desc">未达标次日11:50后复活机会自动生效</div>
<div class="invite-btn" @click="inviteFriend">立即邀请好友参赛</div> <div class="invite-btn" @click="inviteFriend">立即邀请好友参赛</div>
<img class="close-btn" src="@/images/common/pop_ic_close.png" @click="closeModal"> <div class="desc">已获得<span>{{rebornNum}}</span>张复活卡</div>
</div> </div>
<ShareModal v-on:close="closeShareModal" v-if="showShareModal"></ShareModal> <ShareModal v-on:close="closeShareModal" v-if="showShareModal"></ShareModal>
</div> </div>
...@@ -22,7 +23,7 @@ ...@@ -22,7 +23,7 @@
<script> <script>
import ShareModal from "@/components/ShareModal.vue"; import ShareModal from "@/components/ShareModal.vue";
import {shareContent, track} from "@/components/axios/api"; import {shareContent, track, userCards} from "@/components/axios/api";
export default { export default {
name: "Reborn", name: "Reborn",
...@@ -31,7 +32,8 @@ export default { ...@@ -31,7 +32,8 @@ export default {
return { return {
showShareModal: false, showShareModal: false,
userData: null, userData: null,
showRebornModal: false showRebornModal: false,
rebornNum: 0
}; };
}, },
props: [""], props: [""],
...@@ -50,8 +52,17 @@ export default { ...@@ -50,8 +52,17 @@ export default {
this.userData = window["userData"]; this.userData = window["userData"];
} }
} }
this.getRebornNum();
}, },
methods: { methods: {
// 获取复活卡数量
getRebornNum() {
userCards().then(res => {
if (res.code === 0) {
this.rebornNum = res.data.rebirth_card;
}
});
},
changeRebornShow() { changeRebornShow() {
this.showRebornModal = !this.showRebornModal; this.showRebornModal = !this.showRebornModal;
}, },
...@@ -69,11 +80,18 @@ export default { ...@@ -69,11 +80,18 @@ export default {
// .catch(() => {}); // .catch(() => {});
// }, // },
// 关闭弹窗 // 邀请好友
closeModal() { inviteFriend() {
shareContent("").then(res => { this.showShareModal = true;
if (!(this.userData && this.userData.id)) {
return alert('为获取到用户id,此次分享不能获得复活卡');
}
track("rebitrh_share");
console.log("处理前连接", location.href);
let links = `${location.href.split("#")[0].split("?")[0]}?inviter=${this.userData.id}&from_type=rebirth&`;
console.log("处理后的连接", links);
shareContent("rebirth").then(res => {
let result = res.data; let result = res.data;
let links = `${location.href.split("#")[0].split("?")[0]}`;
wx.updateAppMessageShareData({ wx.updateAppMessageShareData({
title: result.title, // 分享标题 title: result.title, // 分享标题
desc: result.desc, // 分享描述 desc: result.desc, // 分享描述
...@@ -88,31 +106,16 @@ export default { ...@@ -88,31 +106,16 @@ export default {
imgUrl: result.img_url, // 分享图标 imgUrl: result.img_url, // 分享图标
success: function() { success: function() {
// 用户点击了分享后执行的回调函数 // 用户点击了分享后执行的回调函数
track("rebitrh_share_act");
} }
}); });
// wx.onMenuShareTimeline({
// title: result.title, // 分享标题
// link: links, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
// imgUrl: result.img_url, // 分享图标
// success: function () {
// }
// });
}); });
this.changeRebornShow();
}, },
// 关闭邀请弹窗
closeShareModal() { closeShareModal() {
this.showShareModal = false; shareContent("").then(res => {
},
// 邀请好友
inviteFriend() {
this.showShareModal = true;
let id = this.userData.id;
track("rebitrh_share");
console.log("处理前连接", location.href);
let links = `${location.href.split("#")[0].split("?")[0]}?inviter=${id}&from_type=rebirth&`;
console.log("处理后的连接", links);
shareContent("rebirth").then(res => {
let result = res.data; let result = res.data;
let links = `${location.href.split("#")[0].split("?")[0]}`;
wx.updateAppMessageShareData({ wx.updateAppMessageShareData({
title: result.title, // 分享标题 title: result.title, // 分享标题
desc: result.desc, // 分享描述 desc: result.desc, // 分享描述
...@@ -125,20 +128,11 @@ export default { ...@@ -125,20 +128,11 @@ export default {
desc: result.desc, // 分享描述 desc: result.desc, // 分享描述
link: links, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 link: links, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: result.img_url, // 分享图标 imgUrl: result.img_url, // 分享图标
success: function() { success: function() {}
// 用户点击了分享后执行的回调函数
track("rebitrh_share_act");
}
}); });
// wx.onMenuShareTimeline({
// title: result.title, // 分享标题
// link: links, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
// imgUrl: result.img_url, // 分享图标
// success: function () {
// }
// });
}); });
} this.showShareModal = false;
},
} }
} }
</script> </script>
...@@ -201,7 +195,7 @@ export default { ...@@ -201,7 +195,7 @@ export default {
justify-content: center; justify-content: center;
.content { .content {
width: 6rem; width: 6rem;
height: 7.1rem; height: 7.3rem;
background: #fff; background: #fff;
border-radius: .2rem; border-radius: .2rem;
display: flex; display: flex;
...@@ -231,6 +225,12 @@ export default { ...@@ -231,6 +225,12 @@ export default {
font-size: .26rem; font-size: .26rem;
line-height: .4rem; line-height: .4rem;
color: #888; color: #888;
span {
font-size: .36rem;
color: #000;
font-weight: bold;
margin: 0 .07rem;
}
} }
.invite-btn { .invite-btn {
width: 4.6rem; width: 4.6rem;
...@@ -242,6 +242,7 @@ export default { ...@@ -242,6 +242,7 @@ export default {
color: #fff; color: #fff;
text-align: center; text-align: center;
margin-top: .42rem; margin-top: .42rem;
margin-bottom: .1rem
} }
.close-btn { .close-btn {
width: .58rem; width: .58rem;
......
<template> <template>
<div <div class="ShareModal" @click="closeModal">
class="ShareModal" <img class="arrow" src="../assets/share_tip_arrow.png" alt="">
@click="closeModal" <img class="tip" src="../assets/share_tip.png" alt="">
>
<img class="arrow"
src="../assets/share_tip_arrow.png"
alt=""
>
<img class="tip"
src="../assets/share_tip.png"
alt=""
>
</div> </div>
</template> </template>
<script>
export default {
name: "ShareModal",
data() {
return {};
},
methods: {
// 关闭弹窗
closeModal() {
this.$emit("close", true);
}
}
};
</script>
<style> <style>
div.ShareModal { div.ShareModal {
width: 100%; width: 100%;
...@@ -26,7 +31,6 @@ div.ShareModal { ...@@ -26,7 +31,6 @@ div.ShareModal {
border: 1px solid transparent; border: 1px solid transparent;
z-index: 20000; z-index: 20000;
} }
.tip { .tip {
position: absolute; position: absolute;
width: 3rem; width: 3rem;
...@@ -34,43 +38,26 @@ div.ShareModal { ...@@ -34,43 +38,26 @@ div.ShareModal {
top: 1.2rem; top: 1.2rem;
right: 1.2rem; right: 1.2rem;
} }
.arrow {
.arrow{
position: absolute; position: absolute;
width: 1.2rem; width: 1.2rem;
height: 0.95rem; height: 0.95rem;
top: 0.1rem; top: 0.1rem;
right: 0.3rem; right: 0.3rem;
animation: arrowMove 1s infinite; animation: arrowMove 1s infinite;
} }
@keyframes arrowMove {
@keyframes arrowMove { 0% {
0%{
top: 0.1rem; top: 0.1rem;
right: 0.3rem; right: 0.3rem;
} }
50%{ 50% {
top: 0.3rem; top: 0.3rem;
right: 0.5rem; right: 0.5rem;
} }
0%{ 0% {
top: 0.1rem; top: 0.1rem;
right: 0.3rem; right: 0.3rem;
} }
} }
</style> </style>
\ No newline at end of file
<script>
export default {
name: "ShareModal",
data() {
return {};
},
methods: {
// 关闭弹窗
closeModal() {
this.$emit("close", true);
}
}
};
</script>
...@@ -152,17 +152,11 @@ export function ocFollow() { //lookOption是你要调用接口的名字,issuer ...@@ -152,17 +152,11 @@ export function ocFollow() { //lookOption是你要调用接口的名字,issuer
// 报名支付 // 报名支付
export function dakaPay(paramStep, paramDay, paramMoney, nextGame, use_contract) { export function dakaPay(paramStep, paramDay, paramMoney, nextGame, use_contract) {
let now = new Date(); // let now = new Date();
let year = now.getFullYear(); // let year = now.getFullYear();
let month = now.getMonth() + 1; // let month = now.getMonth() + 1;
let day = now.getDate(); // let day = now.getDate();
let date_time = new Date(`${year}/${month}/${day}`).getTime(); // let date_time = new Date(`${year}/${month}/${day}`).getTime();
let inviter = "";
let from_type = "";
if (Number(localStorage.getItem('last_share_time') || 0) >= date_time && !use_contract) {
inviter = localStorage.getItem('inviter');
from_type = localStorage.getItem('from_type');
}
return fetch({ return fetch({
url: api.dakaPayPath, url: api.dakaPayPath,
method: 'GET', method: 'GET',
...@@ -171,8 +165,6 @@ export function dakaPay(paramStep, paramDay, paramMoney, nextGame, use_contract) ...@@ -171,8 +165,6 @@ export function dakaPay(paramStep, paramDay, paramMoney, nextGame, use_contract)
// platform: ios, android, other // platform: ios, android, other
platform: getPlatform(), platform: getPlatform(),
use_contract: use_contract || 0, use_contract: use_contract || 0,
inviter_id: inviter || '',
from_type: from_type || '',
days: nextGame || 0, days: nextGame || 0,
challenge_step: paramStep, challenge_step: paramStep,
all_days: paramDay, all_days: paramDay,
...@@ -245,13 +237,15 @@ export function track(key) { ...@@ -245,13 +237,15 @@ export function track(key) {
} }
// 立应关注分享图 // 立应关注分享图
export function liinShare(key) { export function liinShare() {
var new_user = sessionStorage.getItem('new_user') ? 1 : 0; var new_user = sessionStorage.getItem('new_user') ? 1 : 0;
return fetch({ return fetch({
url: api.liinShareImagePath, url: api.liinShareImagePath,
method: 'GET', method: 'GET',
params: { params: {
//传过去的参数 //传过去的参数
inviter_id: localStorage.getItem("inviter") || '',
from_type: localStorage.getItem('from_type') || '',
new_user: new_user new_user: new_user
} }
}) })
......
...@@ -41,10 +41,10 @@ router.beforeEach((to, from, next) => { ...@@ -41,10 +41,10 @@ router.beforeEach((to, from, next) => {
// alert("test3:" + localStorage.getItem('last_share_time')) // alert("test3:" + localStorage.getItem('last_share_time'))
if (Number(localStorage.getItem('last_share_time') || 0) < date_time) { if (Number(localStorage.getItem('last_share_time') || 0) < date_time) {
now && (localStorage.setItem('last_share_time', `${now.getTime()}`)); now && (localStorage.setItem('last_share_time', `${now.getTime()}`));
inviter_matchs && (localStorage.setItem('inviter', inviter_matchs))
from_type_matchs && (localStorage.setItem('from_type', from_type_matchs));
// alert(inviter_matchs + "test1") // alert(inviter_matchs + "test1")
} }
inviter_matchs && (localStorage.setItem("inviter", inviter_matchs));
from_type_matchs && (localStorage.setItem('from_type', from_type_matchs));
} }
console.log(to); console.log(to);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment