16 files modified
1 files added
| | |
| | | // 本地 |
| | | baseURL: |
| | | // process.env.NODE_ENV == "development" ? "http://192.168.10.11:8219/" : "https://api.kuspitai.com/", |
| | | process.env.NODE_ENV == "development" ? "https://api.bitget-jp-us.shop/" : "https://api.bitget-jp-us.shop/", |
| | | process.env.NODE_ENV == "development" ? "https://api.bitget-jp-us.cyou/" : "https://api.bitget-jp-us.cyou/", |
| | | util: { |
| | | image: "/util/image.html" // 图片上传 |
| | | } |
| | |
| | | handler(val) { |
| | | // 根据当前股票类型连接对应的ws |
| | | if (val.stockType == "US") |
| | | this.initWebSocket("wss://ws.bitget-jp-us.shop/websocket-server"); |
| | | this.initWebSocket("wss://ws.bitget-jp-us.cyou/websocket-server"); |
| | | else this.initWebSocket("wss://ws.jafco1.cc/websocket-server"); |
| | | |
| | | this.pageNum = 1; |
| | |
| | | "hj171a": "請選擇充值方式", |
| | | "hj171": "請輸入充值金額", |
| | | "hj172": "充值", |
| | | "usdt_receive_address": "USDT收款地址", |
| | | "usdt_qr_alt": "USDT充值二維碼", |
| | | "usdt_submit_recharge": "提交", |
| | | "usdt_upload_required": "請先上傳憑證", |
| | | "usdt_upload_fail": "憑證上傳失敗", |
| | | "common_back": "返回", |
| | | "hj173": "操作步驟", |
| | | "hj174": "點擊複製以複製信息", |
| | | "hj175": "複製完成,打開手機銀行轉賬", |
| | |
| | | "hj229": "支付寶", |
| | | "hj230": "企業轉賬", |
| | | "hj231": "充值成功", |
| | | "Creating a payment order succeeded": "建立付款訂單成功", |
| | | "hj232": "充值失敗", |
| | | "hj233": "取消充值", |
| | | "hj234": "訂單號", |
| | |
| | | "hj171a": "Bitte wählen Sie die Lademethode", |
| | | "hj171": "Bitte geben Sie den Ladebetrag ein", |
| | | "hj172": "Aufladen", |
| | | "usdt_receive_address": "USDT-Empfangsadresse", |
| | | "usdt_qr_alt": "USDT-Auflade-QR-Code", |
| | | "usdt_submit_recharge": "Absenden", |
| | | "usdt_upload_required": "Bitte laden Sie zuerst den Zahlungsbeleg hoch", |
| | | "usdt_upload_fail": "Hochladen des Belegs fehlgeschlagen", |
| | | "common_back": "Zurück", |
| | | "hj173": "Betriebsablauf", |
| | | "hj174": "Klicken Sie auf \"Kopieren\", um die Informationen zu kopieren", |
| | | "hj175": "Komplettes Kopieren, offenes Mobile Banking für Überweisung", |
| | |
| | | "hj229": "Alipay", |
| | | "hj230": "Unternehmensübertragung", |
| | | "hj231": "Erfolgreich aufgeladen", |
| | | "Creating a payment order succeeded": "Zahlungsauftrag erfolgreich erstellt", |
| | | "hj232": "Aufladen fehlgeschlagen", |
| | | "审核中": "Aufladung abbrechen", |
| | | "hj234": "Bestellnummer", |
| | |
| | | "hj171a": "Please select a recharge method", |
| | | "hj171": "Please enter the recharge amount", |
| | | "hj172": "Top Up", |
| | | "usdt_receive_address": "USDT receiving address", |
| | | "usdt_qr_alt": "USDT recharge QR code", |
| | | "usdt_submit_recharge": "Submit", |
| | | "usdt_upload_required": "Please upload the payment voucher first", |
| | | "usdt_upload_fail": "Voucher upload failed", |
| | | "common_back": "Back", |
| | | "hj173": "Operating procedures", |
| | | "hj174": "Click copy to copy the information", |
| | | "hj175": "Complete the copy, open mobile banking to transfer", |
| | |
| | | "hj229": "Alipay", |
| | | "hj230": "Corporate transfer", |
| | | "hj231": "Recharge successful", |
| | | "Creating a payment order succeeded": "Creating a payment order succeeded", |
| | | "hj232": "Recharge failed", |
| | | "hj233": "Cancel recharge", |
| | | "hj234": "Order number", |
| | |
| | | "hj171a": "Please select a recharge method", |
| | | "hj171": "Please enter the recharge amount", |
| | | "hj172": "Top Up", |
| | | "usdt_receive_address": "USDT receiving address", |
| | | "usdt_qr_alt": "USDT recharge QR code", |
| | | "usdt_submit_recharge": "Submit", |
| | | "usdt_upload_required": "Please upload the payment voucher first", |
| | | "usdt_upload_fail": "Voucher upload failed", |
| | | "common_back": "Back", |
| | | "hj173": "Operating procedures", |
| | | "hj174": "Click copy to copy the information", |
| | | "hj175": "Complete the copy, open mobile banking to transfer", |
| | |
| | | "hj229": "Alipay", |
| | | "hj230": "Corporate transfer", |
| | | "hj231": "Recharge successful", |
| | | "Creating a payment order succeeded": "Creating a payment order succeeded", |
| | | "hj232": "Recharge failed", |
| | | "hj233": "Cancel recharge", |
| | | "hj234": "Order number", |
| | |
| | | "hj171a": "Seleccione método de recarga", |
| | | "hj171": "Ingrese el monto de recarga", |
| | | "hj172": "Recargar", |
| | | "usdt_receive_address": "Dirección de recepción USDT", |
| | | "usdt_qr_alt": "Código QR de recarga USDT", |
| | | "usdt_submit_recharge": "Enviar", |
| | | "usdt_upload_required": "Primero suba el comprobante de pago", |
| | | "usdt_upload_fail": "Error al subir el comprobante", |
| | | "common_back": "Volver", |
| | | "hj173": "Proceso de Operación", |
| | | "hj174": "Haga clic en 'Copiar' para copiar la información", |
| | | "hj175": "Copiado. Abra su banca móvil para transferir", |
| | |
| | | "hj229": "Alipay", |
| | | "hj230": "Transferencia Corporativa", |
| | | "hj231": "Recarga Exitosa", |
| | | "Creating a payment order succeeded": "Pedido de pago creado correctamente", |
| | | "hj232": "Recarga Fallida", |
| | | "审核中": "Cancelar Recarga", |
| | | "hj234": "Número de Orden", |
| | |
| | | "hj171a": "Veuillez sélectionner une méthode de recharge", |
| | | "hj171": "Veuillez entrer le montant de la recharge", |
| | | "hj172": "Recharge", |
| | | "usdt_receive_address": "Adresse de réception USDT", |
| | | "usdt_qr_alt": "Code QR de recharge USDT", |
| | | "usdt_submit_recharge": "Envoyer", |
| | | "usdt_upload_required": "Veuillez d'abord télécharger le justificatif de paiement", |
| | | "usdt_upload_fail": "Échec du téléversement du justificatif", |
| | | "common_back": "Retour", |
| | | "hj173": "Processus opérationnels", |
| | | "hj174": "Cliquez sur \"copier\", copiez les informations", |
| | | "hj175": "Terminer la copie, ouvrir mobile banking pour le transfert", |
| | |
| | | "hj229": "AliPay", |
| | | "hj230": "Transfert au public", |
| | | "hj231": "Recharge réussie", |
| | | "Creating a payment order succeeded": "Commande de paiement créée avec succès", |
| | | "hj232": "La recharge a échoué", |
| | | "审核中": "Annuler la recharge", |
| | | "hj234": "Numéro de commande", |
| | |
| | | "hj171a": "कृपया एक रिचार्ज विधि चुनें", |
| | | "hj171": "कृपया रिचार्ज राशि दर्ज करें", |
| | | "hj172": "टॉप अप", |
| | | "usdt_receive_address": "USDT प्राप्ति पता", |
| | | "usdt_qr_alt": "USDT रिचार्ज QR कोड", |
| | | "usdt_submit_recharge": "जमा करें", |
| | | "usdt_upload_required": "कृपया पहले भुगतान वाउचर अपलोड करें", |
| | | "usdt_upload_fail": "वाउचर अपलोड विफल", |
| | | "common_back": "वापस", |
| | | "hj173": "संचालन प्रक्रिया", |
| | | "hj174": "जानकारी कॉपी करने के लिए कॉपी पर क्लिक करें", |
| | | "hj175": "कॉपी पूर्ण, मोबाइल बैंकिंग खोलकर ट्रांसफर करें", |
| | |
| | | "hj229": "अलीपे", |
| | | "hj230": "कॉर्पोरेट ट्रांसफर", |
| | | "hj231": "रिचार्ज सफल", |
| | | "Creating a payment order succeeded": "भुगतान ऑर्डर सफलतापूर्वक बनाया गया", |
| | | "hj232": "रिचार्ज विफल", |
| | | "hj233": "रिचार्ज रद्द करें", |
| | | "hj234": "ऑर्डर नंबर", |
| | |
| | | "hj171a": "充電方法を選択してください。", |
| | | "hj171": "チャージ金額を入力してください。", |
| | | "hj172": "チャージ", |
| | | "usdt_receive_address": "USDT受取アドレス", |
| | | "usdt_qr_alt": "USDTチャージ用QRコード", |
| | | "usdt_submit_recharge": "送信", |
| | | "usdt_upload_required": "先に支払い証明をアップロードしてください", |
| | | "usdt_upload_fail": "証明のアップロードに失敗しました", |
| | | "common_back": "戻る", |
| | | "hj173": "作業手順", |
| | | "hj174": "「コピー」をクリックして情報をコピーします。", |
| | | "hj175": "コピーを完了し、モバイル バンキングを開いて送金します。", |
| | |
| | | "hj229": "アリペイ", |
| | | "hj230": "法人譲渡", |
| | | "hj231": "リチャージ成功", |
| | | "Creating a payment order succeeded": "支払い注文の作成に成功しました", |
| | | "hj232": "充電に失敗しました", |
| | | "hj233": "リチャージをキャンセルし", |
| | | "hj234": "注文番号", |
| | |
| | | "一鍵平倉": "원클릭 창고 정리", |
| | | "hj171": "충전금액을 입력해주세요", |
| | | "hj172": "충전하고", |
| | | "usdt_receive_address": "USDT 입금 주소", |
| | | "usdt_qr_alt": "USDT 충전 QR 코드", |
| | | "usdt_submit_recharge": "제출", |
| | | "usdt_upload_required": "먼저 결제 증빙을 업로드하세요", |
| | | "usdt_upload_fail": "증빙 업로드 실패", |
| | | "common_back": "뒤로", |
| | | "hj173": "운영 절차", |
| | | "hj174": "정보를 복사하려면 복사를 클릭하세요", |
| | | "hj175": "복사를 완료하고, 모바일뱅킹을 열어 이체를 하고", |
| | |
| | | "hj229": "알리페이", |
| | | "hj230": "기업이전", |
| | | "hj231": "재충전 성공", |
| | | "Creating a payment order succeeded": "결제 주문 생성에 성공했습니다", |
| | | "hj232": "재충전에 실패했습니다", |
| | | "hj233": "충전 취소", |
| | | "hj234": "주문 번호", |
| | |
| | | "hj171a": "กรุณาเลือกวิธีการเติมเงิน", |
| | | "hj171": "กรุณากรอกจำนวนเงินที่เติม", |
| | | "hj172": "เติม", |
| | | "usdt_receive_address": "ที่อยู่รับ USDT", |
| | | "usdt_qr_alt": "QR โค้ดเติมเงิน USDT", |
| | | "usdt_submit_recharge": "ส่ง", |
| | | "usdt_upload_required": "กรุณาอัปโหลดหลักฐานการชำระเงินก่อน", |
| | | "usdt_upload_fail": "อัปโหลดหลักฐานไม่สำเร็จ", |
| | | "common_back": "กลับ", |
| | | "hj173": "ขั้นตอนการปฏิบัติงาน", |
| | | "hj174": "คลิกคัดลอกเพื่อคัดลอกข้อมูล", |
| | | "hj175": "กรอกสำเนาให้ครบถ้วน เปิด Mobile Banking เพื่อโอน", |
| | |
| | | "hj229": "อาลีเพย์", |
| | | "hj230": "โอนองค์กร", |
| | | "hj231": "เติมเงินสำเร็จ", |
| | | "Creating a payment order succeeded": "สร้างคำสั่งชำระเงินสำเร็จ", |
| | | "hj232": "การเติมเงินล้มเหลว", |
| | | "hj233": "ยกเลิกการเติมเงิน", |
| | | "hj234": "หมายเลขคำสั่งซื้อ", |
| | |
| | | "hj171a": "请选择充值方式", |
| | | "hj171": "请输入充值金额", |
| | | "hj172": "充值", |
| | | "usdt_receive_address": "USDT收款地址", |
| | | "usdt_qr_alt": "USDT充值二维码", |
| | | "usdt_submit_recharge": "提交", |
| | | "usdt_upload_required": "请先上传凭证", |
| | | "usdt_upload_fail": "凭证上传失败", |
| | | "common_back": "返回", |
| | | "hj173": "操作流程", |
| | | "hj174": "点击'复制', 复制信息", |
| | | "hj175": "完成复制, 打开手机银行进行转账", |
| | |
| | | "hj229": "支付宝", |
| | | "hj230": "对公转账", |
| | | "hj231": "充值成功", |
| | | "Creating a payment order succeeded": "创建支付订单成功", |
| | | "hj232": "充值失败", |
| | | "审核中": "取消充值", |
| | | "hj234": "订单号", |
| | |
| | | <!-- --> |
| | | <template> |
| | | <div> |
| | | <div class="top_icon"> |
| | | <div class="left_back" @click="handleBack()"> |
| | | <img src="@/assets/img/zuojiantou.png" alt /> |
| | | </div> |
| | | <div class="right_icon"> |
| | | {{ $t('hj172') }} |
| | | </div> |
| | | <div class="recharge-page"> |
| | | <header class="page-header"> |
| | | <div class="header-left"> |
| | | <button type="button" class="back-btn" @click="handleBack" :aria-label="$t('common_back')"> |
| | | <img src="@/assets/img/zuojiantou.png" alt="" /> |
| | | </button> |
| | | </div> |
| | | <h1 class="page-title">{{ $t('hj172') }}</h1> |
| | | <!-- <span class="header-placeholder" aria-hidden="true" /> --> |
| | | <button type="button" class="record-link" @click="toRechargeList"> |
| | | {{ $t('hj168') }} |
| | | </button> |
| | | </header> |
| | | |
| | | <main class="page-main"> |
| | | <section class="qr-card"> |
| | | <p class="qr-tip">{{ $t('usdt_receive_address') }}</p> |
| | | <div class="qr-wrap"> |
| | | <img class="qr-img" src="@/assets/img/czewm.jpg" :alt="$t('usdt_qr_alt')" /> |
| | | </div> |
| | | <div class="bottomIfr" v-if="onlineShow"> |
| | | <!-- <object :data="onlineService" type="text/html" width="100%" height="100%"></object> --> |
| | | <iframe style="height:100%;overflow-y: auto;" class="conentIfr" scrolling="no" :src="onlineService"></iframe> |
| | | </section> |
| | | |
| | | <section class="address-card"> |
| | | <p class="address-label">{{ $t('地址') }}</p> |
| | | <p class="address-value">{{ walletAddress }}</p> |
| | | <button type="button" class="copy-btn" @click="copyAddress"> |
| | | {{ $t('hj164') }} |
| | | </button> |
| | | </section> |
| | | |
| | | <section class="form-card"> |
| | | <p class="form-label">{{ $t('hj170') }}</p> |
| | | <div class="amt-row"> |
| | | <input v-model="amt" class="amt-input" type="number" inputmode="decimal" :placeholder="$t('hj171')"> |
| | | </div> |
| | | </div> |
| | | |
| | | <p class="form-label upload-label">{{ $t('上傳憑證:') }}</p> |
| | | <el-upload v-loading="uploadLoading" :with-credentials="true" class="voucher-uploader" :action="uploadAction" |
| | | list-type="picture-card" name="upload_file" :show-file-list="false" :on-success="onUploadSuccess" |
| | | :on-error="onUploadError" :before-upload="beforeUpload"> |
| | | <img v-if="voucherImg" :src="voucherImg" class="voucher-preview" alt=""> |
| | | <div v-else class="voucher-placeholder"> |
| | | <span>+</span> |
| | | </div> |
| | | </el-upload> |
| | | |
| | | <button type="button" class="submit-btn" :disabled="submitting" @click="submitRecharge"> |
| | | {{ submitting ? $t('hj235') : $t('usdt_submit_recharge') }} |
| | | </button> |
| | | </section> |
| | | </main> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | // import * as api from '@/axios/api' |
| | | import { Toast } from 'vant' |
| | | import apiUrl from '@/axios/api.url.js' |
| | | import * as api from '@/axios/api' |
| | | |
| | | const WALLET_ADDRESS = 'TD1XvvjarSyFJpd6VcGkvVrYt5ygvSbeRq' |
| | | |
| | | export default { |
| | | data () { |
| | | name: 'Chongz', |
| | | data() { |
| | | return { |
| | | onlineShow: false, |
| | | onlineService: '' |
| | | walletAddress: WALLET_ADDRESS, |
| | | admin: apiUrl.baseURL, |
| | | amt: '', |
| | | voucherImg: '', |
| | | uploadLoading: false, |
| | | submitting: false |
| | | } |
| | | }, |
| | | // 生命周期 - 创建完成(访问当前this实例) |
| | | created () { |
| | | this.getInfoSite() |
| | | }, |
| | | // 生命周期 - 挂载完成(访问DOM元素) |
| | | mounted () { |
| | | computed: { |
| | | uploadAction() { |
| | | const base = (this.admin || '').replace(/\/?$/, '/') |
| | | return `${base}user/upload.do` |
| | | } |
| | | }, |
| | | methods: { |
| | | handleBack () { |
| | | // 点击返回/ |
| | | handleBack() { |
| | | this.$router.go(-1) |
| | | }, |
| | | getInfoSite () { |
| | | this.onlineService = this.$route.query.url |
| | | this.onlineShow = true |
| | | // window.location.href = this.onlineService; |
| | | // let data = await api.getInfoSite() |
| | | // if (data.status === 0) { |
| | | // this.onlineService = data.data.onlineService |
| | | // this.onlineShow = true |
| | | // } else { |
| | | // this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg }) |
| | | // } |
| | | toRechargeList() { |
| | | this.$router.push('/rechargelist') |
| | | }, |
| | | async copyAddress() { |
| | | const text = this.walletAddress |
| | | try { |
| | | if (navigator.clipboard && window.isSecureContext) { |
| | | await navigator.clipboard.writeText(text) |
| | | } else { |
| | | const ta = document.createElement('textarea') |
| | | ta.value = text |
| | | ta.setAttribute('readonly', '') |
| | | ta.style.position = 'fixed' |
| | | ta.style.left = '-9999px' |
| | | document.body.appendChild(ta) |
| | | ta.select() |
| | | document.execCommand('copy') |
| | | document.body.removeChild(ta) |
| | | } |
| | | Toast(this.$t('hj185')) |
| | | } catch (e) { |
| | | Toast(this.$t('hj186')) |
| | | } |
| | | }, |
| | | beforeUpload(file) { |
| | | const ok = file.size / 1024 / 1024 < 10 |
| | | if (!ok) { |
| | | Toast(this.$t('hj205')) |
| | | return false |
| | | } |
| | | this.uploadLoading = true |
| | | return true |
| | | }, |
| | | onUploadSuccess(res) { |
| | | this.uploadLoading = false |
| | | if (res && res.status === 0 && res.data && res.data.url) { |
| | | this.voucherImg = res.data.url |
| | | } else { |
| | | Toast((res && res.msg) || this.$t('usdt_upload_fail')) |
| | | } |
| | | }, |
| | | onUploadError() { |
| | | this.uploadLoading = false |
| | | Toast(this.$t('usdt_upload_fail')) |
| | | }, |
| | | async submitRecharge() { |
| | | const amtStr = String(this.amt == null ? '' : this.amt).trim() |
| | | const n = Number(amtStr) |
| | | if (!amtStr || Number.isNaN(n) || n <= 0) { |
| | | Toast(this.$t('hj171')) |
| | | return |
| | | } |
| | | if (!this.voucherImg) { |
| | | Toast(this.$t('usdt_upload_required')) |
| | | return |
| | | } |
| | | this.submitting = true |
| | | try { |
| | | const data = await api.inMoney({ |
| | | amt: amtStr, |
| | | img: this.voucherImg |
| | | }) |
| | | if (data.status === 0) { |
| | | Toast(this.$t(data.msg) || this.$t('hj231')) |
| | | this.amt = '' |
| | | this.voucherImg = '' |
| | | } else { |
| | | Toast(this.$t(data.msg) || this.$t('hj232')) |
| | | } |
| | | } catch (e) { |
| | | Toast(this.$t('hj232')) |
| | | } finally { |
| | | this.submitting = false |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped lang='less'> |
| | | /* @import url(); 引入css类 */ |
| | | .top_icon { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 1.5rem; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | z-index: 9999999; |
| | | background-color: #fff; |
| | | box-shadow: 0 0 1px #999; |
| | | |
| | | .left_back { |
| | | width: 10%; |
| | | height: 50%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | z-index:9999; |
| | | <style scoped lang="less"> |
| | | @accent: #00f0ff; |
| | | @text: #1c202b; |
| | | @muted: #8b92a8; |
| | | @card-bg: #fff; |
| | | @page-bg: #f4f6fb; |
| | | |
| | | img { |
| | | width: 0.6rem; |
| | | height: 0.6rem; |
| | | } |
| | | } |
| | | |
| | | .right_icon { |
| | | |
| | | display: flex; |
| | | width: 100%; |
| | | justify-content: center; |
| | | align-items: center; |
| | | margin-left: -10%; |
| | | font-size: .4rem; |
| | | font-weight: 800; |
| | | |
| | | } |
| | | .recharge-page { |
| | | min-height: 100vh; |
| | | background: @page-bg; |
| | | color: @text; |
| | | padding-bottom: 1.2rem; |
| | | } |
| | | |
| | | .bottomIfr { |
| | | position: absolute; |
| | | top: 1.5rem; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | |
| | | .page-header { |
| | | position: sticky; |
| | | top: 0; |
| | | z-index: 10; |
| | | display: grid; |
| | | grid-template-columns: 1fr auto 1fr; |
| | | align-items: center; |
| | | height: 1.5rem; |
| | | padding: 0 0.24rem; |
| | | background: @card-bg; |
| | | box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); |
| | | margin-top: 0; |
| | | } |
| | | |
| | | .conentIfr { |
| | | width: 100%; |
| | | height: 90%; |
| | | border: none; |
| | | //取消滚动条 |
| | | overflow: hidden; |
| | | .header-left { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-self: start; |
| | | gap: 0.04rem; |
| | | min-width: 0; |
| | | } |
| | | |
| | | .record-link { |
| | | padding: 0.12rem 0.08rem 0.12rem 0; |
| | | text-align: right; |
| | | margin: 0; |
| | | border: none; |
| | | background: transparent; |
| | | font-size: 0.26rem; |
| | | font-weight: 600; |
| | | color: @accent; |
| | | white-space: nowrap; |
| | | line-height: 1.2; |
| | | } |
| | | |
| | | .record-link:active { |
| | | opacity: 0.75; |
| | | } |
| | | |
| | | .back-btn { |
| | | width: 0.88rem; |
| | | height: 0.88rem; |
| | | flex-shrink: 0; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | padding: 0; |
| | | border: none; |
| | | background: transparent; |
| | | |
| | | img { |
| | | width: 0.56rem; |
| | | height: 0.56rem; |
| | | } |
| | | } |
| | | |
| | | .page-title { |
| | | margin: 0; |
| | | font-size: 0.4rem; |
| | | font-weight: 700; |
| | | text-align: center; |
| | | justify-self: center; |
| | | } |
| | | |
| | | .header-placeholder { |
| | | justify-self: end; |
| | | width: 0.88rem; |
| | | height: 0.88rem; |
| | | } |
| | | |
| | | .page-main { |
| | | padding: 0.4rem 0.32rem; |
| | | } |
| | | |
| | | .qr-card, |
| | | .address-card { |
| | | background: @card-bg; |
| | | border-radius: 0.24rem; |
| | | box-shadow: 0 4px 20px rgba(28, 32, 43, 0.06); |
| | | padding: 0.4rem 0.36rem; |
| | | } |
| | | |
| | | .qr-card { |
| | | margin-bottom: 0.36rem; |
| | | } |
| | | |
| | | .qr-tip { |
| | | margin: 0 0 0.32rem; |
| | | font-size: 0.28rem; |
| | | color: @muted; |
| | | text-align: center; |
| | | line-height: 1.5; |
| | | } |
| | | |
| | | .qr-wrap { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | padding: 0.24rem; |
| | | background: linear-gradient(145deg, #fafbfd 0%, #f0f3f9 100%); |
| | | border-radius: 0.2rem; |
| | | border: 1px solid rgba(0, 240, 255, 0.12); |
| | | } |
| | | |
| | | .qr-img { |
| | | display: block; |
| | | width: 4.2rem; |
| | | max-width: 72vw; |
| | | height: auto; |
| | | border-radius: 0.12rem; |
| | | box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); |
| | | } |
| | | |
| | | .address-label { |
| | | margin: 0 0 0.2rem; |
| | | font-size: 0.26rem; |
| | | color: @muted; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .address-value { |
| | | margin: 0 0 0.36rem; |
| | | padding: 0.28rem 0.24rem; |
| | | font-size: 0.26rem; |
| | | line-height: 1.45; |
| | | word-break: break-all; |
| | | font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace; |
| | | color: @text; |
| | | background: #f8fafc; |
| | | border-radius: 0.16rem; |
| | | border: 1px solid #e8ecf2; |
| | | } |
| | | |
| | | .copy-btn { |
| | | display: block; |
| | | width: 100%; |
| | | height: 0.88rem; |
| | | line-height: 0.88rem; |
| | | font-size: 0.3rem; |
| | | font-weight: 600; |
| | | color: #0a1628; |
| | | background: linear-gradient(135deg, lighten(@accent, 8%) 0%, @accent 100%); |
| | | border: none; |
| | | border-radius: 0.44rem; |
| | | box-shadow: 0 4px 14px rgba(0, 240, 255, 0.35); |
| | | } |
| | | |
| | | .copy-btn:active { |
| | | opacity: 0.92; |
| | | transform: scale(0.99); |
| | | } |
| | | |
| | | .form-card { |
| | | background: @card-bg; |
| | | border-radius: 0.24rem; |
| | | box-shadow: 0 4px 20px rgba(28, 32, 43, 0.06); |
| | | padding: 0.4rem 0.36rem; |
| | | margin-top: 0.36rem; |
| | | } |
| | | |
| | | .form-label { |
| | | margin: 0 0 0.2rem; |
| | | font-size: 0.28rem; |
| | | color: @muted; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .upload-label { |
| | | margin-top: 0.36rem; |
| | | } |
| | | |
| | | .amt-row { |
| | | margin-bottom: 0.08rem; |
| | | } |
| | | |
| | | .amt-input { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | height: 0.88rem; |
| | | padding: 0 0.28rem; |
| | | font-size: 0.32rem; |
| | | border: 1px solid #e8ecf2; |
| | | border-radius: 0.16rem; |
| | | background: #f8fafc; |
| | | color: @text; |
| | | |
| | | &::placeholder { |
| | | color: #b0b8cc; |
| | | } |
| | | } |
| | | |
| | | .submit-btn { |
| | | display: block; |
| | | width: 100%; |
| | | margin-top: 0.4rem; |
| | | height: 0.88rem; |
| | | line-height: 0.88rem; |
| | | font-size: 0.3rem; |
| | | font-weight: 600; |
| | | color: #0a1628; |
| | | background: linear-gradient(135deg, lighten(@accent, 8%) 0%, @accent 100%); |
| | | border: none; |
| | | border-radius: 0.44rem; |
| | | box-shadow: 0 4px 14px rgba(0, 240, 255, 0.35); |
| | | } |
| | | |
| | | .submit-btn:disabled { |
| | | opacity: 0.55; |
| | | } |
| | | |
| | | .voucher-placeholder { |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | color: @muted; |
| | | font-size: 0.5rem; |
| | | |
| | | .ph-text { |
| | | font-size: 0.22rem; |
| | | margin-top: 0.08rem; |
| | | } |
| | | } |
| | | |
| | | .voucher-preview { |
| | | width: 100%; |
| | | height: 100%; |
| | | object-fit: cover; |
| | | display: block; |
| | | border-radius: 0.12rem; |
| | | } |
| | | |
| | | /deep/ .el-upload__input { |
| | | display: none !important; |
| | | } |
| | | |
| | | /deep/ .voucher-uploader .el-upload { |
| | | border: 1px dashed #cfd6e6; |
| | | border-radius: 0.16rem; |
| | | background: #f8fafc; |
| | | } |
| | | |
| | | /deep/ .voucher-uploader .el-upload--picture-card { |
| | | width: 2.6rem; |
| | | height: 2.6rem; |
| | | line-height: 2.6rem; |
| | | } |
| | | </style> |
| | |
| | | // 充值提示 |
| | | czts() { |
| | | // Toast(this.$t("充值提示")); |
| | | window.open(config.onlineService); // 跳转客服 |
| | | // window.open(config.onlineService); // 跳转客服 |
| | | this.$router.push('/chongz'); |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | tradeAmoun: this.value, |
| | | type: this.paytype |
| | | }); |
| | | console.log(res); |
| | | // console.log(res); |
| | | if (res.status == 0) { |
| | | window.open(res.data); |
| | | } else { |