Code Monkey home page Code Monkey logo

webase-web's Introduction

Web管理平台

PRs Welcome CodeFactor Code Lines license GitHub (pre-)release

简介

本项目是区块链中间件平台WeBASE管理平台,使用框架vue-cli,支持fisco-bcos 2.0版本及以上。

兼容浏览器IE9及以上,360浏览器兼容版(IE9内核),360浏览器极速版,chrome浏览器。

本平台支持群组切换、区块信息浏览、合约管理、私钥管理、交易审计和账号管理等功能。详细介绍请查看WeBASE-Web在线文档

贡献说明

请阅读我们的贡献文档,了解如何贡献代码,并提交你的代码。

希望在您的参与下,WeBASE会越来越好。

社区

联系我们:[email protected]

webase-web's People

Contributors

1824461877 avatar 724338817 avatar burningcpu avatar carpone avatar cn-alvinxiang avatar codingcattwo avatar daihy8759 avatar eveagle avatar gnnng avatar gongdaxia avatar mingzhenliu avatar skkypy avatar tedsoul avatar xyzshen avatar yanyanho avatar yuanmomo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webase-web's Issues

前端项目运行报错解决方案

npm run dev

企业微信截图_17140399998480

1.进入node_modules/web3-utils/lib/utils.js

将var ethereumjsUtil = require('@ethereumjs/util') 替换成 var ethereumjsUtil = require('ethereumjs-util');

企业微信截图_17140403065522

2.npm install --save ethereumjs-util

此时需要安装所需替换的依赖库ethereumjs-util
企业微信截图_17140403065522

3.npm run dev

最后运行项目

企业微信截图_17140403065522

WeBASE-Web项目运行报错

执行npm run update
node:events:342
throw er; // Unhandled 'error' event
^

Error: read ECONNRESET
at TLSWrap.onStreamRead (node:internal/stream_base_commons:211:20)
Emitted 'error' event on Request instance at:
at Request.onerror (node:internal/streams/legacy:62:12)
at Request.emit (node:events:365:28)
at Request.onRequestError (/Users/shaoyanan/Documents/工作/project/Hry/project-bj-gdt-blockchain-manage-adminweb/node_modules/request/request.js:877:8)
at ClientRequest.emit (node:events:365:28)
at TLSSocket.socketErrorListener (node:_http_client:447:9)
at TLSSocket.emit (node:events:365:28)
at emitErrorNT (node:internal/streams/destroy:193:8)
at emitErrorCloseNT (node:internal/streams/destroy:158:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
errno: -54,
code: 'ECONNRESET',
syscall: 'read'
}

项目运行起来报 是否需要新的解析器?如何解决。
WechatIMG8

### Tasks

通过官网一键部署WeBASE3.0.2 ,在发现在调用合约函数的文本框中没有校验

如下图所示:
111111
参考官网一键部署WeBASE3.0.2 链接地址:https://webasedoc.readthedocs.io/zh_CN/lab/docs/WeBASE/install.html

修复问题:下载官网源码 https://github.com/WeBankBlockchain/WeBASE-Web.git 拉切换分支至master-3.0,部署运行后,发现这个版本已经修复了,提交时已经校验文本框输入的内容,address类型输入错误也有提示, 如下图所示:
2222222
建议:是否需要将官网这个3.0.2版本重新打包放到这个链接上,这个链接下载部署时,没校验文本框输入内容,链接如下图所示:
33333333

发起交易页面上的solidity智能合约参数数据结构说明有误,误导用户

版本:1.5.5

问题1:在页面上根本看不出下面这段话的转义符是什么

例如: set(bytes1[] a) -> ["0x12","0x34"];如果数组参数包含双引号,需转义,例如:set(string[] s) -> ["aaa"bbb","ccc"]。

问题2:struct里面的数组是不需要放在双引号内的,也就不存在双引号内的双引号需要转义问题

如set(StructA a) -> StructA{bool a, string[] b} -> [true,"["test string"]"]。struct中的数组需要放在双引号内,双引号内的双引号需要转义。

测试的智能合约

//SPDX-License-Identifier: UNLICENSED

pragma solidity >=0.6.0 <0.9.0;
pragma experimental ABIEncoderV2;

contract StructAContract {

    struct StructA {
        bool b;
        string[] a;
    }
    
    function testStruct(StructA memory a) public view returns (StructA memory s) {
        return a;
    }
}

测试通过的数据

[true, ["test string"]]

v1.5.4合约ide输入同类型参数联动问题

下载cdn中最新的v1.5.4 webase-web.zip安装包,解压,用最新安装包的webase-web替换已有的webase-web
以一键部署的webase-web为例

cd webase-deploy
rm webase-web.zip
wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.4/webase-web.zip
rm -r webase-web
unzip webase-web.zip

无需重启,刷新webase-web浏览器页面即可

why

为什么一个在线技术文档都不行

下载源码编译运行后,数据大屏页面没有填充整个页面,是偏左显示的

问题描述

下载WeBASE-Web源码,编译运行后,数据大屏页面没有填充整个页面,是偏左显示的,如下图所示

image

注: 使用WeBASE一键部署时,显示数据大屏是没问题的,v1.5.5与v3.1.0版本都正常显示。

WeBASE-Web版本

尝试使用master、master-3.0、v3.1.0 这3个版本编译运行,效果都是与上图显示的一样

解决方案

在FISCO社群里提问了,后联系到了猫腻 (微信昵称)与 金社长,金社长协助看了下源码,在源码中加一行样式就解决了(厉害啦!)
修改文件 /src/assets/css/common.css
增加一行样式如下:

html {font-size: 80px !important; }

参考截图如下:
image

调整完再次编译运行,此时显示正常了
image

感谢与建议

感谢猫腻 与 金社长的帮助,建议可以把解决方案放至有相关问题版本的源码中,避免之后小伙伴遇到相同问题.

前端运行的node版本

本地前端代码启动不起来,报下面这个错误。
b62fb6bf3ff7184a602b4a5568fef84
帮忙看下要用那个node版本才能运行起来

合约 IDE 使用 v0.6.10-gm 编译失败

  • FISCO-BCOS 版本: 2.8.0-国密
  • WeBASE-Web 版本: v1.5.2
// 错误信息如下: 
xxx.sol:3:1: ParserError: Source file requires different compiler version (current compiler is 0.6.10-develop.2020.9.21+commit.facc8743.Emscripten.clang) - note that nightly builds are considered to be strictly less than the released version pragma solidity ^0.6.10; ^----------------------^
// 合约文件开头部分
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.10

访问首页报“无效的token”错误

按文档中的说明,分别按两次,第一次一键部署了“fisco-node",第二次一键部署"WeBASE-Web",部署无错误信息,部署后一键启动“python3 deploy.py startAll”所有模块运行正常。
操作系统:CentOS Linux release 7.6.1810 (Core)
数据库:mysql Ver 8.0.26 for Linux on x86_64 (MySQL Community Server - GPL)
JDK : java 13.0.2 2020-01-14
访问首页管理节点报错,错误信息如下:
[ERROR][2021-07-22 10:16:02.279][http-nio-5001-exec-8][wsweb][2224][2224][LOG_POINT]not found token
[ERROR][2021-07-22 10:16:02.280][http-nio-5001-exec-8][wsweb][2224][2224][LOG_POINT]catch business exception:[]
com.webank.webase.node.mgr.base.exception.NodeMgrException: invalid token
at com.webank.webase.node.mgr.base.tools.NodeMgrTools.getToken(NodeMgrTools.java:461) ~[WeBASE-Node-Manager.jar:?]
at com.webank.webase.node.mgr.account.AccountService.getCurrentAccount(AccountService.java:266) ~[WeBASE-Node-Manager.jar:?]
at com.webank.webase.node.mgr.base.filter.AccountFilter.preHandle(AccountFilter.java:38) ~[WeBASE-Node-Manager.jar:?]
at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:137) ~[spring-webmvc-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1035) [spring-webmvc-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) [spring-webmvc-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) [spring-webmvc-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) [tomcat-embed-core-9.0.36.jar:9.0.36]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) [tomcat-embed-core-9.0.36.jar:9.0.36]

localStorage可手工修改问题

localStorage内容可手工直接修改。
例如,普通用户visitor登录运营平台后,修改root值为admin,则刷新页面直接获得管理员权限。
建议增加修改的监听。

https模式下出现了Mixed Content异常

报错信息类型

浏览器Chrome:
Mixed Content: The page at 'blob:https:///' was loaded over HTTPS, but requested an insecure script 'http://***/static/js/v0.4.25.js'. This request has been blocked; the content must be served over HTTPS.

简要描述

在https模式下,项目的静态资源访问是http方式,因此出现了Mixed Content使得浏览器直接block掉资源,最终导致页面无法正常加载。

经查证是编译后dist/static/js/0.*.js文件中涉及到对dist/static/js/v0.4.25.js等引用,而引用格式为:url:"http://"+this.host+"/static/js/v0...js"

这在http模式下没有问题,资源能够正常加载,但在https模式下出现了如上问题。当将url:"http://"+this.host+"/static/js/v0...js"中的http修改为https后,https模式下资源能够正常加载。

因以上dist/static/js/0.***.js文件是编译生成的,因此代码中应该有配置的地方,个人对前端不太了解,因此希望能够做下兼容处理。在http和https下均能够正常访问资源。

release-1.5.3版本、tag v1.5.4版本、tag v1.5.5版本,启动项目后,数据大屏板块页面布局异常,没有根据浏览器大小进行自适应

Version

  • release-1.5.3
  • tag-v1.5.4
  • tag-v1.5.5

Node Version

16.17.0

Operating System Version

Windows 11 22H2

Expected Behavior

数据大屏页面能随浏览器大小进行自适应(不修改第三方库文件的前提下)

Actual Behavior

下载项目后,安装依赖,启动项目运行,登录后,访问头部栏的《数据大屏》,然后就会发现数据大屏页面的布局没有填充满屏,改变浏览器大小后布局也不会进行适应。
image
image

Additional Information

但是如果是使用相对应版本的官方docker镜像进行部署,数据大屏页面的布局是会自动填充满屏的,而且会随浏览器大小进行自适应。

root causes

官方上述的docker镜像部署后(如1.5.3版本),分析混淆后的代码后发现, lib-flexible 的文件里某个函数的逻辑与本地项目存在差异。

文件路径:node_modules/lib-flexible/flexible.js
官方docker版本:

function refreshRem() {
  var rem = docEl.clientWidth / 24;
  docEl.style.fontSize = rem + "px"
  flexible.rem = win.rem = rem
}

本地版本:

function refreshRem(){
    var width = docEl.getBoundingClientRect().width;
    if (width / dpr > 540) {
        width = width * dpr;
    }
    var rem = width / 10;
    docEl.style.fontSize = rem + 'px';
    flexible.rem = win.rem = rem;
}

编译打包出来的dist目录中产生大量js文件

v1.3.2+的版本,我用npm run build打包出来dist目标,在dist目录下出现大量js文件,我不懂前端,所以不知道什么原因。对比不同的版本发现,v1.3.0是不会的, v1.3.1的版本就开始会这样。 我查找了很久,后来我无意中发现src/views/parseAbi/index.vue中有一行import "ace-builds/webpack-resolver"; 源码中有其他地方有两处也有这行代码,但是注释了,于是我就把这行代码也注释掉,终于,dist目录中不会产生大量js文件了。 有人能告诉我什么原因吗? 注释掉这行的话对其他地方有没有影响?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.