Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
This commit is contained in:
TIANHE
2026-01-05 05:16:30 +08:00
parent ce063e53b5
commit 3a74257b29
11 changed files with 93 additions and 13 deletions
@@ -814,6 +814,9 @@ const locale = {
'community.message.unfavoriteSuccess': 'تم إلغاء التجميع بنجاح',
'community.message.operationSuccess': 'العملية ناجحة',
'community.message.operationFailed': 'فشلت العملية',
'community.banner.readOnly': 'للقراءة فقط',
'community.banner.loginHint': 'لل تسجيل الدخول أو التسجيل، يرجى النقر على الزر للانتقال إلى صفحة مستقلة لتجنب مشاكل CSRF',
'community.banner.jumpButton': 'الانتقال إلى تسجيل الدخول/التسجيل',
'dashboard.totalEquity': 'إجمالي حقوق الملكية',
'dashboard.totalPnL': 'إجمالي الربح والخسارة',
'dashboard.aiStrategies': 'استراتيجية الذكاء الاصطناعي',
@@ -815,6 +815,9 @@ const locale = {
'community.message.unfavoriteSuccess': 'Abholung erfolgreich abbrechen',
'community.message.operationSuccess': 'Operation erfolgreich',
'community.message.operationFailed': 'Der Vorgang ist fehlgeschlagen',
'community.banner.readOnly': 'Nur lesen',
'community.banner.loginHint': 'Für Login oder Registrierung bitte auf die Schaltfläche klicken, um zu einer unabhängigen Seite zu wechseln und CSRF-Probleme zu vermeiden',
'community.banner.jumpButton': 'Zur Anmeldung/Registrierung',
'dashboard.totalEquity': 'Gesamteigenkapital',
'dashboard.totalPnL': 'Gesamtgewinn und -verlust',
'dashboard.aiStrategies': 'KI-Strategie',
@@ -930,6 +930,9 @@ const locale = {
'community.message.unfavoriteSuccess': 'Unfavorited successfully',
'community.message.operationSuccess': 'Operation successful',
'community.message.operationFailed': 'Operation failed',
'community.banner.readOnly': 'Read Only',
'community.banner.loginHint': 'For login or registration, please click the button to jump to an independent page to avoid CSRF issues',
'community.banner.jumpButton': 'Go to Login/Register',
'dashboard.totalEquity': 'Total Equity',
'dashboard.totalPnL': 'Total P&L',
'dashboard.aiStrategies': 'AI Strategies',
@@ -815,6 +815,9 @@ const locale = {
'community.message.unfavoriteSuccess': 'Annuler la collecte avec succès',
'community.message.operationSuccess': 'Opération réussie',
'community.message.operationFailed': "L'opération a échoué",
'community.banner.readOnly': 'Lecture seule',
'community.banner.loginHint': 'Pour vous connecter ou vous inscrire, veuillez cliquer sur le bouton pour accéder à une page indépendante afin d\'éviter les problèmes CSRF',
'community.banner.jumpButton': 'Aller à Connexion/Inscription',
'dashboard.totalEquity': 'capitaux propres totaux',
'dashboard.totalPnL': 'Total des profits et pertes',
'dashboard.aiStrategies': "Stratégie d'IA",
@@ -815,6 +815,9 @@ const locale = {
'community.message.unfavoriteSuccess': '収集を正常にキャンセルしました',
'community.message.operationSuccess': '操作は成功しました',
'community.message.operationFailed': '操作が失敗しました',
'community.banner.readOnly': '閲覧のみ',
'community.banner.loginHint': 'ログインまたは登録が必要な場合は、ボタンをクリックして独立したページに移動し、CSRFの問題を回避してください',
'community.banner.jumpButton': 'ログイン/登録へ',
'dashboard.totalEquity': '総資本',
'dashboard.totalPnL': '損益通算',
'dashboard.aiStrategies': 'AI戦略',
@@ -815,6 +815,9 @@ const locale = {
'community.message.unfavoriteSuccess': '수집을 취소했습니다.',
'community.message.operationSuccess': '작업 성공',
'community.message.operationFailed': '작업 실패',
'community.banner.readOnly': '읽기 전용',
'community.banner.loginHint': '로그인 또는 등록이 필요한 경우 버튼을 클릭하여 독립 페이지로 이동하여 CSRF 문제를 방지하세요',
'community.banner.jumpButton': '로그인/등록으로 이동',
'dashboard.totalEquity': '총자본',
'dashboard.totalPnL': '총손익',
'dashboard.aiStrategies': 'AI 전략',
@@ -816,6 +816,9 @@ const locale = {
'community.message.unfavoriteSuccess': 'ยกเลิกการรวบรวมเรียบร้อยแล้ว',
'community.message.operationSuccess': 'การดำเนินงานประสบความสำเร็จ',
'community.message.operationFailed': 'การดำเนินการล้มเหลว',
'community.banner.readOnly': 'อ่านอย่างเดียว',
'community.banner.loginHint': 'สำหรับการเข้าสู่ระบบหรือการลงทะเบียน กรุณาคลิกปุ่มเพื่อไปยังหน้าอิสระเพื่อหลีกเลี่ยงปัญหา CSRF',
'community.banner.jumpButton': 'ไปที่เข้าสู่ระบบ/ลงทะเบียน',
'dashboard.totalEquity': 'ส่วนของผู้ถือหุ้นทั้งหมด',
'dashboard.totalPnL': 'กำไรและขาดทุนทั้งหมด',
'dashboard.aiStrategies': 'กลยุทธ์เอไอ',
@@ -1567,6 +1567,9 @@ const locale = {
'community.message.operationSuccess': 'Thao tác thành công',
'community.message.operationFailed': 'Thao tác thất bại thất bại',
'community.banner.readOnly': 'Chỉ xem',
'community.banner.loginHint': 'Để đăng nhập hoặc đăng ký, vui lòng nhấp vào nút để chuyển đến trang độc lập nhằm tránh các vấn đề CSRF',
'community.banner.jumpButton': 'Đi đến Đăng nhập/Đăng ký',
'dashboard.totalEquity': 'Tổng vốn chủ sở hữu',
@@ -839,6 +839,9 @@ const locale = {
'community.message.unfavoriteSuccess': '取消收藏成功',
'community.message.operationSuccess': '操作成功',
'community.message.operationFailed': '操作失败',
'community.banner.readOnly': '仅供浏览',
'community.banner.loginHint': '如需登录注册请点击按钮跳转到独立页面,从而避免CSRF问题',
'community.banner.jumpButton': '跳转到登录/注册',
'dashboard.totalEquity': '总权益',
'dashboard.totalPnL': '总盈亏',
'dashboard.aiStrategies': 'AI 策略',
@@ -839,6 +839,9 @@ const locale = {
'community.message.unfavoriteSuccess': '取消收藏成功',
'community.message.operationSuccess': '操作成功',
'community.message.operationFailed': '操作失敗',
'community.banner.readOnly': '僅供瀏覽',
'community.banner.loginHint': '如需登錄註冊請點擊按鈕跳轉到獨立頁面,從而避免CSRF問題',
'community.banner.jumpButton': '跳轉到登錄/註冊',
'dashboard.totalEquity': '總權益',
'dashboard.totalPnL': '總盈虧',
'dashboard.aiStrategies': 'AI 策略',
@@ -1,13 +1,22 @@
<template>
<div class="indicator-community-iframe">
<iframe
class="community-iframe"
:src="url"
title="Indicator Community"
frameborder="0"
referrerpolicy="no-referrer-when-downgrade"
allow="clipboard-read; clipboard-write; fullscreen"
/>
<div class="indicator-community-container">
<div class="community-banner">
<a-icon type="info-circle" />
<span class="banner-text">{{ $t('community.banner.loginHint') }}</span>
<a-button type="link" size="small" @click="jumpToLogin" class="jump-button">
{{ $t('community.banner.jumpButton') }}
</a-button>
</div>
<div class="indicator-community-iframe">
<iframe
class="community-iframe"
:src="url"
title="Indicator Community"
frameborder="0"
referrerpolicy="no-referrer-when-downgrade"
allow="clipboard-read; clipboard-write; fullscreen"
/>
</div>
</div>
</template>
@@ -18,17 +27,58 @@ export default {
return {
url: 'https://www.quantdinger.com/'
}
},
methods: {
jumpToLogin () {
// CSRF
window.open('https://www.quantdinger.com/', '_blank')
}
}
}
</script>
<style lang="less" scoped>
.indicator-community-container {
display: flex;
flex-direction: column;
height: calc(100vh - 120px);
}
.community-banner {
display: flex;
align-items: center;
padding: 12px 12px;
background: #e6f7ff;
border: 1px solid #91d5ff;
border-radius: 0;
margin: 0;
flex-shrink: 0;
font-size: 14px;
color: #1890ff;
.anticon {
margin-right: 8px;
font-size: 16px;
}
.banner-text {
flex: 1;
}
.jump-button {
padding: 0;
height: auto;
margin-left: 8px;
}
}
.indicator-community-iframe {
position: relative;
left: -24px;
top: -24px;
width: calc(100% + 48px);
height: calc(100vh - 120px + 48px);
// left: -24px;
width: calc(100%);
flex: 1;
min-height: 0;
overflow: hidden;
}
.community-iframe {