1

我想使用电子JS 和 TradingView 库来构建交易应用程序,但我被困在如何实现它上。我还创建了一个新的空白项目来实现它,但仍然有结果。

有没有人曾经对电子实施过 TradingView 并可以给我解决方案?

空白应用结果

在此处输入图像描述

控制台错误

<!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>


4

3 回答 3

1

从来没有使用过电子,所以利用这个机会自己尝试一下。这是我采取的步骤。

查看文档https://electronjs.org/docs/tutorial/first-app

1) 创建了一个名为 electron-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 electron

7) 运行命令 npm start

这是结果

在此处输入图像描述

于 2018-10-05T13:49:11.687 回答
0

有没有人曾经对电子实施过 TradingView 并可以给我解决方案?

好吧,我没有解决该错误的方法,但我找到了构建一个 tradingView+ElectronJs 应用程序的方法。

简而言之,您可以从TradingView Charting Library Integration Examples开始,您可以从中选择要开始的集成模板类型(我只是使用 react-javascript 来启动我的应用程序)。我只是以这个模板为例。

按照如何开始正确配置应用程序后。您应该首先将选举安装到您的应用程序(这意味着npm install --save electron在目录根目录中运行),然后将 main.js 添加到您的目录根目录,并正确配置您的 package.json 和 main.js。Blow 是我的 package.json 和 main.js 代码。

包.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启动电子应用程序,然后所有事情都完成了。

于 2018-11-14T02:33:52.637 回答
-1

当您使用小部件打开对象时,您的小部件试图从错误的路径中查找静态文件夹。只需在小部件选项中连接库,如下所示:

我的代码图片

于 2018-10-16T06:48:47.533 回答