This commit is contained in:
Eudemon 2025-03-15 19:02:59 +08:00
parent 5b4701c0f9
commit 0b72cc1c17
17 changed files with 180 additions and 57 deletions

16
.env
View File

@ -1,16 +1,16 @@
VITE_APP_H5_NO=1 VITE_APP_H5_NO=1
VITE_CHANNEL_ID="" VITE_CHANNEL_ID=""
# VITE_APP_NAME=Spinz777 VITE_APP_NAME=Spinz777
VITE_APP_NAME=Winzz777 # VITE_APP_NAME=Winzz777
VITE_APP_THEME=red VITE_APP_THEME=red
# VITE_APP_ID=101 VITE_APP_ID=101
VITE_APP_ID=103 # VITE_APP_ID=103
# VITE_APP_DOWNLOAD_URL="https://www.777spinz.com/spinz777_101_1.0.0.apk" VITE_APP_DOWNLOAD_URL="https://www.777spinz.com/spinz777_101_1.0.0.apk"
VITE_APP_DOWNLOAD_URL="https://www.777spinz.com/Winzz777_103_100.apk" # VITE_APP_DOWNLOAD_URL="https://www.777spinz.com/Winzz777_103_100.apk"
VITE_APP_LOCALE=en VITE_APP_LOCALE=en
VITE_APP_IMAGE_URL="https://img1.sp77.in/frontimg" VITE_APP_IMAGE_URL="https://img1.sp77.in/frontimg"
VITE_WALLET_URL="https://inrchain.in/#/?inviteCode=m5ncrxv0" VITE_WALLET_URL="https://inrchain.in/#/?inviteCode=m5ncrxv0"
# VITE_NAME_UPPER=SPINZ777 VITE_NAME_UPPER=SPINZ777
VITE_NAME_UPPER=WINZZ777 # VITE_NAME_UPPER=WINZZ777
VITE_CURRENCY=INR VITE_CURRENCY=INR
VITE_CURRENCY_SYMBOL= VITE_CURRENCY_SYMBOL=

View File

@ -17,8 +17,8 @@
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ', viewport-fit=cover' : '') + '" />') (coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script> --> </script> -->
<!-- <title>Spinz777</title> --> <title>Spinz777</title>
<title>Winzz777</title> <!-- <title>Winzz777</title> -->
<!--preload-links--> <!--preload-links-->
<!--app-context--> <!--app-context-->
</head> </head>

View File

@ -95,7 +95,7 @@
flex-shrink: 0; flex-shrink: 0;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
padding-right: 30rpx; padding-right: 20rpx;
} }
} }
</style> </style>

View File

@ -43,6 +43,8 @@ export default {
orderConfirmation: 'Order Confirmation', orderConfirmation: 'Order Confirmation',
howtouse: 'How to use?', howtouse: 'How to use?',
history: 'History', history: 'History',
// history: 'Recharge not arrived?',
historyNot: 'Recharge not arrived?',
tab: { tab: {
bank: 'Bank Payment', bank: 'Bank Payment',
wallet: 'Wallet Payment', wallet: 'Wallet Payment',
@ -90,7 +92,7 @@ export default {
history1: 'This order will be processed within 2-24 hours', history1: 'This order will be processed within 2-24 hours',
tipsDetail1: 'Deposit has not arrived?', tipsDetail1: 'Recharge has not arrived?',
tipsImps1: 'In order to improve your deposit experience, it is recommended that you', tipsImps1: 'In order to improve your deposit experience, it is recommended that you',
tipsImps2: 'You can long press the input box to paste the UTR', tipsImps2: 'You can long press the input box to paste the UTR',

View File

@ -1,12 +1,12 @@
{ {
/* Spinz777 */// /* Spinz777 *///
"name" : "Winzz777", // "name" : "Winzz777",
// "name" : "Spinz777", "name" : "Spinz777",
"appid" : "__UNI__FECBD22", "appid" : "__UNI__FECBD22",
"description" : "Winzz777", // "description" : "Winzz777",
// "description" : "Spinz777", "description" : "Spinz777",
"versionName" : "1.2.2", "versionName" : "1.2.3",
"versionCode" : 122, "versionCode" : 123,
"channel_list" : [ "channel_list" : [
{ {
"id" : "suisui2" "id" : "suisui2"
@ -23,6 +23,10 @@
"autoclose" : true, "autoclose" : true,
"delay" : 0 "delay" : 0
}, },
"compatible": {
"ignoreVersion": true // SDK
},
/* */ /* */
"modules" : { "modules" : {
"Share" : {}, "Share" : {},

View File

@ -357,13 +357,20 @@
"navigationBarTitleText": "ReDeposit Rules", "navigationBarTitleText": "ReDeposit Rules",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
},
{
"path": "pages/account/CustomService",
"style": {
"navigationBarTitleText": "Self-Service Customer",
"enablePullDownRefresh": false
}
} }
], ],
"globalStyle": { "globalStyle": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTextStyle": "white", "navigationBarTextStyle": "white",
// "navigationBarTitleText": "Spinz777", "navigationBarTitleText": "Spinz777",
"navigationBarTitleText": "Winzz777", // "navigationBarTitleText": "Winzz777",
"navigationBarBackgroundColor": "#F8F8F8", "navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#FFFFFF", "backgroundColor": "#FFFFFF",
"app-plus": { "app-plus": {

View File

@ -124,6 +124,7 @@
{{ $t("account.button.switchAccount") }} {{ $t("account.button.switchAccount") }}
</view> </view>
</view> </view>
<button @click="handleService">Self-Service</button>
<view class="w-full" style="height: 240rpx;"></view> <view class="w-full" style="height: 240rpx;"></view>
</view> </view>
</view> </view>
@ -156,6 +157,11 @@ const appStore = useAppStore();
const userStore = useUserStore(); const userStore = useUserStore();
const bindPhone = ref(null); const bindPhone = ref(null);
const handleService = () => {
uni.navigateTo({
url: '/pages/account/CustomService'
})
}
const handleDepositClick = () => { const handleDepositClick = () => {
uni.navigateTo({ uni.navigateTo({
url: '/pages/wallet/Deposit' url: '/pages/wallet/Deposit'

View File

@ -0,0 +1,81 @@
<script setup>
import { ref, computed } from 'vue'
import { useThemeStore } from "@/store/useThemeStore";
import { useAppStore } from '@/store/useAppStore'
const themeStore = useThemeStore()
const appStore = useAppStore()
const scrollHeight = computed(() => {
return appStore.windowInfo.screenHeight - appStore.windowInfo.statusBarHeight - 50
})
const questions = ref([
{
id: 1,
question: 'What is the capital of France?',
},
{
id: 2,
question: 'Which planet is known as the Red Planet?',
},
{
id: 3,
question: 'What is the largest mammal in the world?',
}
])
const inputVal = ref('')
</script>
<template>
<mobile-custom-layout title="Self-service Customer" bgColor="#2F0101"
:headBgColor="themeStore.theme.bgColor" :paddingTop="appStore.headerStyle.height">
<template #head-right>
<view>
<theme-image src="@/static/account/customer_head.png" class="icon-kf-head"></theme-image>
</view>
</template>
<scroll-view scroll-y class="w-full p-2 scroll" :style="{ height: scrollHeight + 'px' }">
12
</scroll-view>
<view class="w-full input-line safe-area">
<view class="w-full flex items-center input-content">
<view class="flex-1 p-1 input-box">
<input type="text" v-model="inputVal" class="w-full ft12" placeholder="Please enter your question" />
</view>
<view class="submit-btn ml-2 ft13 flex-center">Send</view>
</view>
</view>
</mobile-custom-layout>
</template>
<style lang="scss" scoped>
.scroll{
box-sizing: border-box;
}
.icon-kf-head{
width: 46rpx;
height: 46rpx;
}
.input-line {
position: fixed;
bottom: 0;
left: 0;
z-index: 1000;
background-color: #280000;
.input-content {
height: 120rpx;
padding: 0 24rpx;
.input-box{
height: 56rpx;
background-color: #5A0107;
border-radius: 4px;
}
.submit-btn{
height: 56rpx;
width: 100rpx;
background-color: #5A0107;
border-radius: 4px;
}
}
}
</style>

View File

@ -740,8 +740,12 @@ const getUserBankrupt = async () => {
const popIndex = popupArr.value.findIndex(item => item === greatPopRef.value); const popIndex = popupArr.value.findIndex(item => item === greatPopRef.value);
if (popIndex < 0) { if (popIndex < 0) {
popupArr.value.push(greatPopRef.value); popupArr.value.push(greatPopRef.value);
setTimeout(() => {
if(popupArr.value.length === 1) {
showPopQueue() showPopQueue()
} }
}, 500);
}
const slideIndex = slideItems.value.findIndex(item => item.dotName === 'bankrupt_doted'); const slideIndex = slideItems.value.findIndex(item => item.dotName === 'bankrupt_doted');
if (slideIndex < 0) { if (slideIndex < 0) {
let dot = getDot("bankrupt_doted"); let dot = getDot("bankrupt_doted");

View File

@ -3,7 +3,7 @@
<template #header-right> <template #header-right>
<view class="history flex-center flex-column" @click.stop="handleHistoryClick"> <view class="history flex-center flex-column" @click.stop="handleHistoryClick">
<theme-image src="@/static/deposit_log.png" mode="aspectFit" style="width: 42rpx; height: 42rpx;" /> <theme-image src="@/static/deposit_log.png" mode="aspectFit" style="width: 42rpx; height: 42rpx;" />
<text style="font-size: 13px;" :style="{ color: themeStore.theme.wallet.normal }">{{ <text style="font-size: 13px; white-space: no-wrap;" :style="{ color: themeStore.theme.wallet.normal }">{{
$t('deposit.history') $t('deposit.history')
}}</text> }}</text>
</view> </view>

View File

@ -46,7 +46,7 @@
<theme-image v-if="item.status === 1" src="@/static/icon-succeed.png" style="width: 50rpx; height: 50rpx;"></theme-image> <theme-image v-if="item.status === 1" src="@/static/icon-succeed.png" style="width: 50rpx; height: 50rpx;"></theme-image>
<!-- <theme-image v-else-if="item.status === 0" src="@/static/wallet/icon-fail.png" style="width: 50rpx; height: 50rpx;"></theme-image> --> <!-- <theme-image v-else-if="item.status === 0" src="@/static/wallet/icon-fail.png" style="width: 50rpx; height: 50rpx;"></theme-image> -->
<theme-image v-else src="@/static/icon-pending.png" style="width: 50rpx; height: 50rpx;"></theme-image> <theme-image v-else src="@/static/icon-pending.png" style="width: 50rpx; height: 50rpx;"></theme-image>
<view v-if="item.manualRechargeStatus !== 0" class="list-item-utr-conner"> <view v-if="item.manualRechargeStatus === 0 || item.manualRechargeStatus === 3" class="list-item-utr-conner">
<view>Self</view> <view>Self</view>
</view> </view>
</view> </view>

View File

@ -126,7 +126,7 @@
</view> </view>
<view v-if="depositStore.fillOrderSwitch && isShowUtr" class="plr30 mt24"> <view v-if="depositStore.fillOrderSwitch && isShowUtr" class="plr30 mt24">
<SelfServiceUtrItem <SelfServiceUtrItem
:orderId="pageData.orderId" :orderNo="pageData.orderNo"
:pendingCount="pageData.manualPendingCount" :pendingCount="pageData.manualPendingCount"
/> />
</view> </view>
@ -169,6 +169,7 @@ const depositStore = useDepositStore();
const pageData = reactive({ const pageData = reactive({
orderId: "", orderId: "",
orderDetail: {}, orderDetail: {},
orderNo: "",
}); });
const isShowUtr = computed(() => { const isShowUtr = computed(() => {
@ -209,6 +210,7 @@ const loadData = async () => {
return; return;
} }
pageData.orderDetail = data || {}; pageData.orderDetail = data || {};
pageData.orderNo = data.orderNo;
}; };
const handleCopyClick = (text) => { const handleCopyClick = (text) => {

View File

@ -7,12 +7,12 @@
<view class="ft13" :style="{ color: themeStore.theme.text.normal }"> <view class="ft13" :style="{ color: themeStore.theme.text.normal }">
{{ $t('deposit.utrPage.text2') }} {{ $t('deposit.utrPage.text2') }}
</view> </view>
<view class="ft16 mt32 mb16" :style="{ color: themeStore.theme.text.highlight }"> <!-- <view class="ft16 mt32 mb16" :style="{ color: themeStore.theme.text.highlight }">
{{ $t('deposit.utrPage.title1') }} {{ $t('deposit.utrPage.title1') }}
</view> </view>
<view class="ft13" :style="{ color: themeStore.theme.text.normal }"> <view class="ft13" :style="{ color: themeStore.theme.text.normal }">
{{ $t('deposit.utrPage.text3') }} {{ $t('deposit.utrPage.text3') }}
</view> </view> -->
<view class="ft16 mt32 mb16" :style="{ color: themeStore.theme.text.highlight }"> <view class="ft16 mt32 mb16" :style="{ color: themeStore.theme.text.highlight }">
{{ $t('deposit.utrPage.title2') }} {{ $t('deposit.utrPage.title2') }}
</view> </view>

View File

@ -1,16 +1,18 @@
<template> <template>
<view class="self-service-utr-container"> <view class="self-service-utr-container">
<view class="self-service-utr-card plr30 ptb24 flex-acenter flex-sbetween" style="border-radius: 30rpx;" :style="{ background: themeStore.theme.lightBgColor }" @click.stop="handleClick"> <view class="self-service-utr-card plr30 ptb24 flex-acenter flex-sbetween" style="border-radius: 30rpx;"
:style="{ background: themeStore.theme.lightBgColor }" @click.stop="handleClick">
<!-- <theme-image src="@/static/home/icon-service.png" mode="aspectFit" style="width: 76rpx; height: 76rpx;" /> --> <!-- <theme-image src="@/static/home/icon-service.png" mode="aspectFit" style="width: 76rpx; height: 76rpx;" /> -->
<view> <view>
<view class="ft12"> <view class="ft12">
{{ $t('deposit.message.tips4') }} {{ $t('deposit.message.tips4') }}
</view> </view>
<view class="mt12 ft9" :style="{ color: themeStore.theme.text.subtitle }"> <view class="mt12 ft10" :style="{ color: themeStore.theme.text.theme }">
{{ $t('deposit.message.tips5') }} {{ $t('deposit.message.tips5') }}
</view> </view>
</view> </view>
<theme-image src="@/static/wallet/icon-arrow-right-red.png" mode="aspectFit" style="width: 16rpx; height: 30rpx;" /> <theme-image src="@/static/wallet/icon-arrow-right-red.png" mode="aspectFit"
style="width: 16rpx; height: 30rpx;" />
</view> </view>
</view> </view>
</template> </template>
@ -24,7 +26,10 @@
const userStore = useUserStore() const userStore = useUserStore()
const handleClick = () => { const handleClick = () => {
openUrl(userStore.serviceUrl) // openUrl(userStore.serviceUrl)
uni.navigateTo({
url: '/pages/account/CustomService'
})
} }
</script> </script>

View File

@ -48,6 +48,9 @@
<text v-if="depositStore.activeType == 2" @click="toPoster" class="change-account-text" :style="{ color: themeStore.theme.text.theme }"> <text v-if="depositStore.activeType == 2" @click="toPoster" class="change-account-text" :style="{ color: themeStore.theme.text.theme }">
{{ $t('withdraw.posterText') }} {{ $t('withdraw.posterText') }}
</text> </text>
<text v-else @click="handleHistoryClick" class="change-history-text" :style="{ color: themeStore.theme.text.theme }">
{{ $t('deposit.historyNot') }}
</text>
</view> </view>
<view class="pt24 plr16 flex-wrap pay-method"> <view class="pt24 plr16 flex-wrap pay-method">
<view class="select-btn-container" v-for="(item, index) in payMethod" :key="index" <view class="select-btn-container" v-for="(item, index) in payMethod" :key="index"
@ -183,7 +186,11 @@ const tabStyle = computed(() => {
const payMethod = computed(() => { const payMethod = computed(() => {
return depositStore.onlinePaymentData.depositMethodList.filter(item => item.type == depositStore.activeType) return depositStore.onlinePaymentData.depositMethodList.filter(item => item.type == depositStore.activeType)
}) })
const handleHistoryClick = () => {
uni.navigateTo({
url: '/pages/wallet/DepositHistory'
})
}
const toPoster = () => { const toPoster = () => {
uni.navigateTo({ uni.navigateTo({
url: '/pages/activity/Poster', url: '/pages/activity/Poster',
@ -280,6 +287,10 @@ const handleConfirmClick = async () => {
font-size: 24rpx; font-size: 24rpx;
text-decoration-line: underline; text-decoration-line: underline;
} }
.change-history-text{
font-size: 26rpx;
text-decoration-line: underline;
}
.pay-type-box { .pay-type-box {
height: 88rpx; height: 88rpx;

View File

@ -1,11 +1,12 @@
<template> <template>
<view class="self-service-utr-container"> <view class="self-service-utr-container">
<view class="self-service-utr-card plr30 ptb24 flex-acenter flex-sbetween" style="border-radius: 19rpx;" :style="{ background: themeStore.theme.deposit.itemBgColor }" @click.stop="handleSelfUtrClick"> <view class="self-service-utr-card plr30 ptb24 flex-acenter flex-sbetween" style="border-radius: 19rpx;" :style="{ background: themeStore.theme.lightBgColor }" @click.stop="handleSelfUtrClick">
<view> <view>
<view class="ft12" :style="{ color: themeStore.theme.text.normal }"> <view class="ft12" :style="{ color: themeStore.theme.text.normal }">
{{ $t('deposit.message.tipsUtr1') }}:<span class="ml24" :style="{ color: themeStore.theme.text.theme }">{{ $t('deposit.message.tipsUtr2') }}</span> {{ $t('deposit.message.tipsUtr1') }}:
<!-- <span class="ml24" :style="{ color: themeStore.theme.text.theme }">{{ $t('deposit.message.tipsUtr2') }}</span> -->
</view> </view>
<view class="ft9 mt12" :style="{ color: '#FF2D20' }"> <view class="ft11 mt12" :style="{ color: themeStore.theme.text.theme }">
{{ $t('deposit.message.tipsUtr3') }} {{ $t('deposit.message.tipsUtr3') }}
</view> </view>
</view> </view>
@ -28,25 +29,25 @@
const { t } = useI18n() const { t } = useI18n()
const props = defineProps({ const props = defineProps({
orderId: {
type: String,
default: ''
},
pendingCount: { pendingCount: {
type: Number, type: Number,
default: 0 default: 0
},
orderNo: {
type: String,
default: ''
} }
}) })
const handleSelfUtrClick = () => { const handleSelfUtrClick = () => {
if (props.orderId) { if (props.orderNo) {
if (appStore.appConfig.manualPendingMaxCount && appStore.appConfig.manualPendingMaxCount > 0) { if (appStore.appConfig.manualPendingMaxCount && appStore.appConfig.manualPendingMaxCount > 0) {
if (props.pendingCount >= appStore.appConfig.manualPendingMaxCount) { if (props.pendingCount >= appStore.appConfig.manualPendingMaxCount) {
Toast.show(`${t('deposit.toast.text5')} ${appStore.appConfig.manualPendingMaxCount} ${t('deposit.toast.text6')}`) Toast.show(`${t('deposit.toast.text5')} ${appStore.appConfig.manualPendingMaxCount} ${t('deposit.toast.text6')}`)
return return
} }
} }
openUrl(`${appStore.manualRechargeUrl}?userId=${userStore.userInfo.id}&orderId=${props.orderId}`) openUrl(`${appStore.manualRechargeUrl}?userId=${userStore.userInfo.id}&orderNo=${props.orderNo}`)
} else { } else {
uni.navigateTo({ uni.navigateTo({
url: '/pages/wallet/SelfUtrInfo' url: '/pages/wallet/SelfUtrInfo'

View File

@ -136,9 +136,9 @@ export const useAppStore = defineStore({
updateText: '', updateText: '',
updateType: 0 updateType: 0
}, },
// packageName: 'uni.UNIFECBD22',//101 Spinz777 packageName: 'uni.UNIFECBD22',//101 Spinz777
// packageName: 'uni.UNIFECBD22', //102 // packageName: 'uni.UNIFECBD22', //102
packageName: 'com.kllksgqoCasw3d.game',//103 Winzz777 // packageName: 'com.kllksgqoCasw3d.game',//103 Winzz777
}), }),
// "dependencies": [ // "dependencies": [
// { // {