feat: 后端全量更新 - 含所有本次需求
- Contract.php: 返回合约账户余额(balance_contract) - My.php: 地址管理增加BTC/ETH - AppContract.php: 一键平仓(closeall) - AppProxy.php: 代理专属注册链接 + 分级权限(L1/L2) - site.php: 手续费减半(0.018→0.009) - agent_permission_setup.sql: 代理权限SQL - crypto_news_crawler.py: 新闻自动采集脚本
This commit is contained in:
Executable
+155
@@ -0,0 +1,155 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Building GoJS from Source -- Northwoods Software</title>
|
||||
<!-- Copyright 1998-2020 by Northwoods Software Corporation. -->
|
||||
<script src="../release/go.js"></script>
|
||||
<script src="goIntro.js"></script>
|
||||
</head>
|
||||
<body onload="goIntro()">
|
||||
<div id="container" class="container-fluid">
|
||||
<div id="content">
|
||||
|
||||
<h1>Building GoJS from TypeScript Sources</h1>
|
||||
<p>
|
||||
All customers can use the <code>go.js</code> and <code>go-debug.js</code> files to run their app.
|
||||
|
||||
However, if you have purchased a license to the <b>GoJS</b> TypeScript source code, you can build your app from the TypeScript source.
|
||||
Popular module bundlers such as Webpack are able to remove a number of modules from the source, provided you are not using them,
|
||||
to shrink the size of the deliverable file.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Because the <code>go.js</code> and <code>go-debug.js</code> files are built in a custom process to reduce size,
|
||||
using Webpack or another bundler with the GoJS source, even though it removes unused modules,
|
||||
may result in a larger file size than just using <code>go.js</code>. However, TypeScript
|
||||
authors may appreciate the feedback and debugging capabilities of building from source.
|
||||
</p>
|
||||
|
||||
<h2 id="MinimalSourceAndMaximal">MinimalSource and MaximalSource projects</h2>
|
||||
<p>
|
||||
The GoJS kit has two subdirectories under the <code>/projects</code> directory,
|
||||
<code>/minimalSource</code> and <code>/maximalSource</code>.
|
||||
</p>
|
||||
<p>
|
||||
The <a href="https://github.com/NorthwoodsSoftware/GoJS/tree/master/projects/minimalSource">minimalSource</a>
|
||||
project shows how to build GoJS while removing all possible optional modules.
|
||||
The <a href="https://github.com/NorthwoodsSoftware/GoJS/tree/master/projects/maximalSource">maximalSource</a>
|
||||
project shows how to build GoJS while matching the functionality of the released go.js and go-debug.js files.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Both projects require <code>webpack</code> and <code>npm</code> to run.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There is additionally <a href="https://github.com/NorthwoodsSoftware/GoJS/tree/master/projects/minimalSource">minimalSourceBrowserify</a>,
|
||||
which shows how to build from source with Browserify instead of Webpack.
|
||||
</p>
|
||||
|
||||
<h2 id="ClassesModules">Classes/modules that can be removed when building from source</h2>
|
||||
<p>
|
||||
Several classes, such as <code>CommandHandler</code> and the Tools,
|
||||
may be essential to add to your project, while others such as all but one <code>Layout</code> and one type of <code>Model</code> can often be removed.
|
||||
Below is a list of modules that webpack can remove from builds, provided they are not referenced in your code:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a>CommandHandler</a>, required for keyboard functionality.
|
||||
<li><code>SVGSurface</code>, required to call <a>Diagram.makeSvg</a>
|
||||
<li><a>TreeModel</a>
|
||||
<li><a>GraphLinksModel</a>, without loading this module, the default Diagram.model is of type <code>Model</code>.
|
||||
<li><a>Overview</a>
|
||||
<li><a>Palette</a>
|
||||
</ul>
|
||||
|
||||
Layouts:
|
||||
<ul>
|
||||
<li><a>GridLayout</a>
|
||||
<li><a>TreeLayout</a>
|
||||
<li><a>LayeredDigraphLayout</a>
|
||||
<li><a>CircularLayout</a>
|
||||
<li><a>ForceDirectedLayout,</a>
|
||||
</ul>
|
||||
|
||||
Mouse-down tools:
|
||||
<ul>
|
||||
<li><a>ActionTool</a>
|
||||
<li><a>RelinkingTool</a>
|
||||
<li><a>LinkReshapingTool</a>
|
||||
<li><a>ResizingTool</a>
|
||||
<li><a>RotatingTool</a>
|
||||
</ul>
|
||||
|
||||
Mouse-move tools:
|
||||
<ul>
|
||||
<li><a>LinkingTool</a>
|
||||
<li><a>DraggingTool</a>
|
||||
<li><a>DragSelectingTool</a>
|
||||
<li><a>PanningTool</a>
|
||||
</ul>
|
||||
|
||||
Mouse-up tools:
|
||||
<ul>
|
||||
<li><a>ContextMenuTool</a>
|
||||
<li><a>TextEditingTool</a>
|
||||
<li><a>ClickCreatingTool</a>
|
||||
<li><a>ClickSelectingTool</a>
|
||||
</ul>
|
||||
|
||||
|
||||
<p>There are several "built in" Panel types, each of which is a <a>PanelLayout</a>. Some of these are required for building the source:</p>
|
||||
<ul>
|
||||
<li><code>PanelLayoutPosition</code>
|
||||
<li><code>PanelLayoutVertical</code>
|
||||
<li><code>PanelLayoutLink</code>
|
||||
<li><code>PanelLayoutAuto</code>
|
||||
<li><code>PanelLayoutGrid</code>
|
||||
</ul>
|
||||
|
||||
However, it is possible to build without the following panel types:
|
||||
<ul>
|
||||
<li><code>PanelLayoutHorizontal</code>
|
||||
<li><code>PanelLayoutSpot</code>
|
||||
<li><code>PanelLayoutTable</code>
|
||||
<li><code>PanelLayoutViewbox</code>
|
||||
<li><code>PanelLayoutTableRow</code>
|
||||
<li><code>PanelLayoutTableColumn</code>
|
||||
<li><code>PanelLayoutGraduated</code>
|
||||
</ul>
|
||||
|
||||
<p>The source index files demonstrate the necessary calls to <code>Panel.addPanelLayout</code> to include each panel type.</p>
|
||||
|
||||
<h2 id="OptionalClasses">Using the optional classes</h2>
|
||||
<p>
|
||||
Many of the classes simply need to be used to be included in source building.
|
||||
For some functionality, like the Tools, CommandHandler, and SVGSurface, you need to make sure you explicitly initalize them.
|
||||
Examples of this can be found in the <a href="..\projects\maximalSource\maximal-index.ts">maximal-index.ts</a> code
|
||||
for the <a href="https://github.com/NorthwoodsSoftware/GoJS/tree/master/projects/maximalSource">maximalSource</a> project.
|
||||
|
||||
Doing so is not necessary with the full <code>go.js</code> library because the <code>go</code> object already has references to each.
|
||||
</p>
|
||||
<p>
|
||||
A typical GoJS project is not expected to remove all or even most of these modules, and may use the majority of them.
|
||||
Because Northwood's internal build process is optimized to use the Google Closure Compiler in Advanced Mode,
|
||||
it may take considerable effort to produce a <code>go.js</code>
|
||||
bundle from source that is smaller than the one we include in the project's release directory.
|
||||
</p>
|
||||
|
||||
<h2 id="license">Important license information about GoJS source code</h2>
|
||||
<p>
|
||||
The GoJS source code is subject to the terms of our license,
|
||||
contained in <a href="https://www.nwoods.com/sales/info/SoftwareLicenseAgreement.pdf">SoftwareLicenseAgreement.pdf</a>.
|
||||
</p>
|
||||
<p>
|
||||
Do not use, release (deploy), or distribute the unminified source code.
|
||||
To build GoJS for your own application you must use a popular obfuscation/minification tool,
|
||||
such as the Google Closure Compiler.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user