Как интегрировать торговый взгляд в электрон - PullRequest
0 голосов
/ 05 октября 2018

Я хотел создавать торговые приложения, используя электрон JS и используя библиотеку TradingView, но я застрял на том, как это реализовать.Я также создал новый пустой проект для его реализации, но все же результат.

Кто-нибудь когда-либо реализовывал TradingView для электронов и мог бы дать мне решение этой проблемы?

Пустой результат приложения

enter image description here

Ошибка в консоли

<!DOCTYPE html>
<html>
  <head>
  <script type="text/javascript" src="https://demo_chart.tradingview.com/charting_library/charting_library.min.js"></script>
		<script type="text/javascript" src="https://demo_chart.tradingview.com/datafeeds/udf/dist/polyfills.js"></script>
		<script type="text/javascript" src="https://demo_chart.tradingview.com/datafeeds/udf/dist/bundle.js"></script>

		<script type="text/javascript">

			function getParameterByName(name) {
				name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
				var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
					results = regex.exec(location.search);
				return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
			}

			TradingView.onready(function()
			{
				var widget = window.tvWidget = new TradingView.widget({
					// debug: true, // uncomment this line to see Library errors and warnings in the console
					fullscreen: true,
					symbol: 'AAPL',
					interval: 'D',
					container_id: "tv_chart_container",

					//	BEWARE: no trailing slash is expected in feed URL
					datafeed: new Datafeeds.UDFCompatibleDatafeed("https://demo_feed.tradingview.com"),
					library_path: "charting_library/",
					locale: getParameterByName('lang') || "en",

					disabled_features: ["use_localstorage_for_settings"],
					enabled_features: ["study_templates"],
					charts_storage_url: 'http://saveload.tradingview.com',
					charts_storage_api_version: "1.1",
					client_id: 'tradingview.com',
					user_id: 'public_user_id',
					theme: getParameterByName('theme'),
				});
			});

		</script>

	</head>

	<body style="margin:0px;">
		<div id="tv_chart_container"></div>
  </body>
</html>

Ответы [ 3 ]

0 голосов
/ 16 октября 2018

Когда вы открываете Объект с помощью виджета, ваш виджет пытается найти статическую папку по неправильному пути.Просто подключите библиотеку в опции виджета следующим образом:

картинка моего кода

0 голосов
/ 14 ноября 2018

Кто-нибудь когда-либо реализовывал TradingView для электронов и мог бы дать мне решение этой проблемы?

Ну, у меня нет решения этой ошибки, но я нашел выходдля создания приложения tradingView + ElectronJs.

Короче говоря, вы можете начать с Примеры интеграции библиотек диаграмм TradingView , из которых вы можете выбрать тип интеграционного шаблона для начала (я просто используюresponse-javascript, чтобы запустить мое приложение). И я просто возьму этот шаблон для примера.

После следуйте Как запустить , чтобы правильно настроить приложение.Сначала вы должны установить выборы в вашем приложении (что означает запуск npm install --save electron в корне каталога), затем добавить main.js в корневой каталог и правильно настроить ваши package.json и main.js.Удар - это мой код package.json и main.js.

package.json

{
"name": "knownsec-fed",
"version": "0.1.0",
"private": true,
"main": "main.js", // 配置启动文件
"homepage":".", // 
"dependencies": {
  "electron": "^1.7.10",
  "react": "^16.2.0",
  "react-dom": "^16.2.0",
  "react-scripts": "1.1.0"
},
"scripts": {
  "start": "react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test --env=jsdom",
  "eject": "react-scripts eject",
  "electron-start": "electron ." // start electron app
}

}

main.js

    const {app, BrowserWindow} = require('electron')
    const path = require('path')
    const url = require('url')

    let mainWindow

    function createWindow () {

    mainWindow = new BrowserWindow({width: 800, height: 600})

      /**
        mainWindow.loadURL(url.format({
          pathname: path.join(__dirname, 'index.html'),
          protocol: 'file:',
          slashes: true
        }))
      */

      mainWindow.loadURL('http://localhost:3000/');


      // mainWindow.webContents.openDevTools()


      mainWindow.on('closed', function () {
        mainWindow = null
      })
    }

    app.on('ready', createWindow)

    app.on('window-all-closed', function () {
      if (process.platform !== 'darwin') {
        app.quit()
      }
    })

    app.on('activate', function () {
      if (mainWindow === null) {
        createWindow()
      }
    })

дозапустите электронное приложение, сначала запустите npm start, чтобы запустить реакцию, затем запустите npm run electron-start, чтобы запустить электронное приложение, а затем все будет сделано.

0 голосов
/ 05 октября 2018

Никогда не использовал электрон, поэтому пользуюсь этой возможностью, чтобы попробовать это сам.Это шаги, которые я предпринял.

Посмотрите документацию https://electronjs.org/docs/tutorial/first-app

1) создал папку с именем electronic-test

2) запустите команду npm init в этой папке

3) изменить package.json, чтобы он был таким

{
  "name": "electron-test",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "",
  "license": "ISC",
  "dependencies": {}
}

4) создать main.js

const { app, BrowserWindow } = require("electron");

function createWindow() {
  // Create the browser window.
  win = new BrowserWindow({ width: 800, height: 600 });

  // and load the index.html of the app.
  win.loadFile("index.html");
}

app.on("ready", createWindow);

5) создать index.html

6) команда запуска npm install электрон

7) команда запуска npm start

Это результат

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...