比特币即时行情(自定义跨平台比特币实时行情看板)

一、前言

前段时间跟朋友炒币,总是需要打开交易平台才能看行情,有点麻烦,而且那个窗口也特别大,内容也很杂。所以需要一个简洁的看板。下面是需求。

需求:

  • 首先是可以看各种币行情的看板

  • 关注的币种都不同,所以需要支持自定义交易币种

  • 由于大家使用的系统不同,要支持跨平台。

二、方案和工具

方案

简单来讲就是electron套个aicoin插件

分三步:

  • 用vue来做个设置页面

  • 用vue做个看板页面,把aicoin套到vue里

  • 用vue-router组合起来放到electron里

主要工具

  • electron

  • vue

  • element-ui

  • aicoin

三、项目结构

比特币即时行情(自定义跨平台比特币实时行情看板)(1)

主要文件说明

  • MainPage用来配置要显示的货币类型

  • ShowPage是看板页面

  • aicoin是下载到本地的aicoin脚本,因为要翻墙所以先下好

  • showcoin是具体显示数据的脚本。

electron和vue安装

这个教程比较多,参考链接,install的时候,建议使用cnpm快一些尤其是electron如果用npm特别慢。

不会用elctron,vue,element-ui?

自己找一下官方文档吧,找对版本哈~

四、遇到的问题和说明

如何在vue中导入非npm js脚本

由于aicoin脚本为普通js脚本不能直接import所以这里使用动态 html tag的方式来导入,有两个小问题:1.如何导入,2.如何控制导入顺序

如何导入

let loadScript = function(url, callback) { var script = document.createElement("script"); script.type = "text/javascript"; if (script.readyState) { //IE script.onreadystatechange = function() { if ( script.readyState == "loaded" || script.readyState == "complete" ) { script.onreadystatechange = null; callback(); } }; } else { //Others script.onload = function() { callback(); }; } script.src = url; document.getElementsByTagName("head")[0].appendChild(script); };

如何控制导入顺序

loadScript("./static/aicoin.js", function() { loadScript("./static/showcoin.js", function() {}); });

Electron展示线程和主线程如何通信

electron分主线程和展示线程通过事件方式进行通信

注册事件

ipcMain.on('resizeWindow', (event, arg) => { mainWindow.setSize(arg.width, arg.height) })

触发

ipcRenderer.send("resizeWindow", {width:1000, height:(dataitems.length 2)*34 38 30});

如何避免aicoin脚本被打到bundle里

我看了一下打包脚本,其中静态内容是这样打包的:

new CopyWebpackPlugin([ { from: path.join(__dirname, '../static'), to: path.join(__dirname, '../dist/web/static'), ignore: ['.*'] } ]),

所以可以把不希望打到bundle里的js放到根目录的static下面。然后使用上面的动态加载js脚本方式导入即可

跨平台打包

# mac npm run build:mac# winnpm run build:win

使用方法

npm run dev 然后去aicoin选择自己想看的币和平台,然后粘贴右面币列表代码

比特币即时行情(自定义跨平台比特币实时行情看板)(2)

比特币即时行情(自定义跨平台比特币实时行情看板)(3)

点击立即创建

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页