Merge pull request #20 from danilt2000/Swino4ka

Swino4ka
This commit is contained in:
Rafael Chasman
2024-04-08 20:12:16 +03:00
committed by GitHub
3 changed files with 273 additions and 90 deletions

View File

@@ -0,0 +1,61 @@
import { BackendApiUrl } from '@/properties/Сonfig.js';
import { GetCookie } from "@/assets/js/storage/CookieStorage";
export async function GetReferralData () {
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
const userData = {
searchToken: GetCookie("SearchToken"),
authtoken: GetCookie("AUTHTOKEN"),
};
const raw = JSON.stringify({
"userCredentials": {
"searchToken": userData.searchToken,
"authtoken": userData.authtoken
}
});
const response = await fetch(`${BackendApiUrl}/PromoCode/GetReferralInfo`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: raw,
redirect: "follow"
});
return await response.json();
}
export async function WithdrawReferralMoney () {
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
const userData = {
searchToken: GetCookie("SearchToken"),
authtoken: GetCookie("AUTHTOKEN"),
};
const raw = JSON.stringify({
"userCredentials": {
"searchToken": userData.searchToken,
"authtoken": userData.authtoken
}
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://spsystemcore20231122004605.azurewebsites.net/api/PromoCode/TakeMoneyReferral", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
}

View File

@@ -1,96 +1,167 @@
<template> <template>
<div class="payment-modal withdraw-modal"> <div class="payment-modal withdraw-modal">
<div class="payments-modal__content close-modal__icon text-styles__margin"> <div class="payments-modal__content close-modal__icon text-styles__margin">
<h1>Рефералы</h1> <h1>Рефералы</h1>
<img @click="closeModal" src="@/assets/icons-other/icon-payments-modal-close.svg" /> <img @click="closeModal" src="@/assets/icons-other/icon-payments-modal-close.svg" />
</div>
<div class="payments-modal__deposit">
<div class="error-deposit" v-if="errorDeposit">
<h2>Ошибка с суммой депозита</h2>
</div>
<div
class="deposit-input deposit-text referal-icon-diamond deposit-icon__input"
>
<br>
<h3>Ваш реферальный код</h3>
<input
:class="{ 'animate-start-btn': errorDeposit }"
readonly
class="deposit-amount__input"
v-if="referralData.referralCode"
:value="referralData.referralCode"
/>
<br>
<br>
<h3>Доступно к выводу</h3>
<img src="@/assets/icons-games/saper-game/icon-diamond-ore-saper.png" />
<input
:class="{ 'animate-start-btn': errorDeposit }"
readonly
class="deposit-amount__input"
v-if="referralData.avalibleAmount !== 0"
:value="referralData.avalibleAmount"
/>
<input
:class="{ 'animate-start-btn': errorDeposit }"
readonly
class="deposit-amount__input"
v-else
:value="'0'"
/>
<div class="deposit-btns">
<ul class="display-btns btns-style-diamonds">
<li v-for="(number, index) in PaymentsModalNumbers" :key="index">
<button
@click="clickedBtnChoice(index, number.diamonds)"
:class="{
'btn-click': clickedBtn === index,
[number]: clickedBtn === number,
}"
>
{{ number.diamonds }}
</button>
</li>
</ul>
</div> </div>
<div class="payments-modal__deposit"> <div class="deposit-promocode deposit-promocode__padding--input">
<div class="error-deposit" v-if="errorDeposit"> <h3>Всего привели рефералов</h3>
<h2>Ошибка с суммой депозита</h2> <div class="promokods">
<input
:class="{ 'animate-start-btn': errorDeposit }"
readonly
class="deposit-amount__input"
v-if="referralData.activationsAmount !== 0"
:value="referralData.activationsAmount"
/>
<input
:class="{ 'animate-start-btn': errorDeposit }"
readonly
class="deposit-amount__input"
v-else
:value="'0'"
/>
</div>
</div>
<div class="error-checkbox" v-if="errorAgree">
<h2>Подтвердите согласие!</h2>
</div>
<div class="deposit-checkbox checkbox-styles">
<input
@click="agreeUser = !agreeUser"
type="checkbox"
:class="{ 'animate-start-btn': errorAgree }"
/>
<h3>Я согласен с <a href="https://docs.google.com/document/d/1lU_zTWJdD1lcMlIAFDIVz-DlZAoq3a-OFkoO8WBIkzo/edit?usp=sharing">пользовательским соглашением</a></h3>
</div> </div>
<div <div
class="deposit-input deposit-text referal-icon-diamond deposit-icon__input" class="btn-deposit btn-text-style btn-display-deposit btn-style-payments"
> >
<br> <p>
<h3>Ваш реферальный код</h3> Вы подтверждаете правильность введенных данных при создании вывода.
<input </p>
:class="{ 'animate-start-btn': errorDeposit }" readonly <button type="submit" @click="handleWithdraw">Вывести</button>
class="deposit-amount__input" <p>
v-model="amount" Перед пополнение прочитайте политику конфиденциальности и
type="number" пользовательское соглашение.
/> </p>
<br>
<br>
<h3>Доступно к выводу</h3>
<img src="@/assets/icons-games/saper-game/icon-diamond-ore-saper.png" />
<input
:class="{ 'animate-start-btn': errorDeposit }" readonly
class="deposit-amount__input"
v-model="amount"
type="number"
/>
<div class="deposit-btns">
<ul class="display-btns btns-style-diamonds">
<li v-for="(number, index) in PaymentsModalNumbers" :key="index">
<button
@click="clickedBtnChoice(index, number.diamonds)"
:class="{
'btn-click': clickedBtn === index,
[number]: clickedBtn === number,
}"
>
{{ number.diamonds }}
</button>
</li>
</ul>
</div>
<div class="deposit-promocode deposit-promocode__padding--input">
<h3>Всего привели рефералов</h3>
<div class="promokods">
<input
:class="{ 'animate-start-btn': errorDeposit }" readonly
class="deposit-amount__input"
v-model="amount"
type="number"
/>
</div>
</div>
<div class="error-checkbox" v-if="errorAgree">
<h2>Подтвердите согласие!</h2>
</div>
<div class="deposit-checkbox checkbox-styles">
<input
@click="agreeUser = !agreeUser"
type="checkbox"
:class="{ 'animate-start-btn': errorAgree }"
/>
<h3>Я согласен с <a href="https://docs.google.com/document/d/1lU_zTWJdD1lcMlIAFDIVz-DlZAoq3a-OFkoO8WBIkzo/edit?usp=sharing">пользовательским соглашением</a></h3>
</div>
<div
class="btn-deposit btn-text-style btn-display-deposit btn-style-payments"
>
<p>
Вы подтверждаете правильность введенных данных при создании вывода.
</p>
<button type="submit" @click="RedirectedMethodDep">Вывести</button>
<p>
Перед пополнение прочитайте политику конфиденциальности и
пользовательское соглашение.
</p>
</div>
</div>
</div> </div>
</div> </div>
</template> </div>
</div>
<script> </template>
import "@/assets/css/ComponentsStyles/payments-modal.css";
export default { <script>
props: ["payments"], import "@/assets/css/ComponentsStyles/payments-modal.css";
methods: { import { GetReferralData } from "@/assets/js/Profile/Referrals";
closeModal() { import { WithdrawReferralMoney } from "@/assets/js/Profile/Referrals";
return this.$emit("closemodal"); import { eventBus } from "@/main";
},
export default {
data() {
return {
referralData: {},
errorDeposit: false,
errorAgree: false,
agreeUser: false,
amount: 0,
PaymentsModalNumbers: [],
};
},
props: ["payments"],
async created() {
this.referralData = await GetReferralData();
},
computed: {
avalibleAmountValue() {
return this.referralData.avalibleAmount !== 0 ? this.referralData.avalibleAmount : '0';
}, },
}; activationsAmountValue() {
</script> return this.referralData.activationsAmount !== 0 ? this.referralData.activationsAmount : '0';
}
},
methods: {
async handleWithdraw() {
try {
if (!this.agreeUser) {
this.errorAgree = true;
setTimeout(() => {
this.errorAgree = false;
}, 1500);
return;
}
if (this.referralData.avalibleAmount == 0) {
window.alert("У вас нет денег на вывод :(");
return;
}
await WithdrawReferralMoney().then(async (response) => {
try {
console.log("work", response);
} catch (e) {
console.error(e);
}
await this.$emit("notifacetionmoney");
eventBus.emit("Updatebalance");
this.$emit("closemodal");
});
} catch (error) {
console.error("Error withdrawing referral money:", error);
}
},
closeModal() {
this.$emit("closemodal");
},
},
};
</script>

View File

@@ -90,7 +90,7 @@ export default {
arrayHistory: [], arrayHistory: [],
} }
}, },
emits: ['notificationremove'], emits: ['notificationremove'],
mounted() { mounted() {
this.checkWindowSize() this.checkWindowSize()
@@ -100,6 +100,57 @@ export default {
this.RemoveWindowListener() this.RemoveWindowListener()
}, },
created() { created() {
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Cookie", "ARRAffinity=a6e48b9e9d2653435be7b61998d8624b44115214104213d6c8b8c526cc56dc70; ARRAffinitySameSite=a6e48b9e9d2653435be7b61998d8624b44115214104213d6c8b8c526cc56dc70");
const userData = {
searchToken: GetCookie("SearchToken"),
authtoken: GetCookie("AUTHTOKEN"),
};
const raw = JSON.stringify({
"userCredentials": {
"searchToken": userData.searchToken,
"authtoken": userData.authtoken
}
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://spsystemcore20231122004605.azurewebsites.net/api/PromoCode/GetReferralInfo", requestOptions)
.then((response) => response.text())
.then((result) => {
console.log(result);
if (result == "\"The Referral is not created\"") {
const raw = JSON.stringify({
"userCredentials": {
"searchToken": userData.searchToken,
"authtoken": userData.authtoken
}
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://spsystemcore20231122004605.azurewebsites.net/api/PromoCode/CreateReferal", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
}
})
.catch((error) => console.error(error));
axios.post('https://spsystemcore20231122004605.azurewebsites.net/api/Payment/GetPaymentHistory', { axios.post('https://spsystemcore20231122004605.azurewebsites.net/api/Payment/GetPaymentHistory', {
searchToken: GetCookie('SearchToken'), searchToken: GetCookie('SearchToken'),
authtoken: GetCookie('AUTHTOKEN') authtoken: GetCookie('AUTHTOKEN')
@@ -140,7 +191,7 @@ export default {
this.payments = false this.payments = false
this.openRef = false this.openRef = false
}, },
referalClick() { referalClick() {
this.openModal = false this.openModal = false
this.openRef = true this.openRef = true
}, },