Commit 2ef7aec6 authored by Nature's avatar Nature

Initial commit

parents
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2018-2018 The Choerodon Author
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
# Choerodon Hap Front Boot
Choerodon hap front boot is a toolkit about front end package management, startup, compilation.
It is mainly used to provide custom some configurations file to create a project of React that can be modified to some extent.
The construction project can be used on `macOS`, `Windows` or `Linux`. Teams can be developed in modules, greatly speeding up development.
* The project uses `webpack v3+` for construction.
* `React` and `Mobx` are used as the main development technology.
## Install
```bash
$ npm install choerodon-hap-front-boot --registry https://nexus.choerodon.com.cn/repository/choerodon-npm/
```
*now the lib is in private repository so you should add --registry*
## Configuration
* Create a configuration file named `config.js`
```js
const config = {
port: 9090,
proxyTarget: 'http://localhost:8080',
}
```
*we suggest you only change the two options in daily development. Actually, we exposed a lot of configurable options, but for the sake of simplicity, we hidden them. If you have some special demand, contact us.*
## Run
add the below code in your package.json
```javascript
// package.json
...
"scripts": {
"start": "choerodon-hap-front-boot start --config ./react/config.js",
"build": "choerodon-hap-front-boot build --config ./react/config.js",
},
...
```
and run
```javascript
// if you can not run npm start with permission problems on linux or macOS, run *chmod -R 755 node_modules* first
$ npm start
```
Once running, open http://localhost:9090
*if you want to run all modules you relied on, you can change start commond as choerodon-hap-front-boot start --config ./react/config.js -m*
## Dist
```
$ npm run build
```
## axios
`axios` is used for websocket to make a network request.
```jsx
import React from 'react';
import { axios } from 'choerodon-hap-front-boot';
class Example1 extends React.Component {
componentDidMount() {
this.loadData();
}
async loadData() {
try {
const res = await axios.get('your url here');
// if res get success, do something
} catch (error) {
// if something wrong, do something
}
}
render() {
return (
<div>axios demo</div>
)
}
}
```
We strongly recommend that you use this method, reasons are as follows:
- add `X-Requested-With` header to fit dataset development way
- add `API_HOST` you set in config.js
- add login and timeout default processing with response interceptors
## change home
You can change the home page by yourself.
only put the home page in your project path, and set `homePath` in project:
```jsx
const config = {
homePath: 'your url here',
}
```
- restart and you will see your page is at home(you can even set a function page at home)
- in the near future, we will launch a configurable dashboard settings homepage, and this approach will be retained.
## Content
`Content` component is the outest wrapper of your page.
(Of course you can write your page without it, but we strongly recommond you use it.)
```jsx
...
render() {
return (
<Content>
<div>hello hap</div>
</Content>
);
}
...
```
- you can use hotkey system with it
- it provide default style like `padding: 10px 20px;`, you can delete it by rewrite style such as `style={{ padding: 0 }}`
- in the near future, we may add permission control on it
- by the way, if you have your own `index.less`, you can(should) add a className on Content, and named after your module and function, such as `wf-model-editApproveChain-modal`, and the less like below
```less
.wf-model-editApproveChain-modal {
// your style code here
}
```
*like a namespace, block other people's code from affecting your page, and vice versa*
## asyncRouter
`asyncRouter` component is a component for demand loading
```jsx
import CacheRoute, { CacheSwitch } from 'react-router-cache-route';
import { asyncRouter } from 'choerodon-hap-front-boot';
const YOUR_PAGE = asyncRouter(() => import('./src/MyPage'));
...
<CacheRoute exact path={`${match.url}/mypage`} cacheKey={`${match.url}/mypage`} component={ApvStratYOUR_PAGEegy} />
...
```
- Using it will better help with split bundle and the user experience
- we provide cache and refresh control in it
## $l
`$l` function is use for uniform localization support.
```jsx
import { $l } from 'choerodon-hap-front-boot';
...
<div>$l('code')</div>
...
```
## openTabR
`openTabR` is a function that can open(create or locate) a tab.
```jsx
import { openTabR } from 'choerodon-hap-front-boot';
...
openTabR(url, title);
...
```
## Dependencies
* Node environment (6.9.0+)
* Git environment
## Related documents and information
* [React](https://reactjs.org)
* [Mobx](https://github.com/mobxjs/mobx)
* [webpack](https://webpack.docschina.org)
* [gulp](https://gulpjs.com)
* [choerodon hap ui](http://hap-ui.staging.saas.hand-china.com)
## Reporting Issues
If you find any shortcomings or bugs, please describe them in the issue
## How to Contribute
Pull requests are welcome! Follow to know for more information on how to contribute.
\ No newline at end of file
#!/usr/bin/env node
const program = require('commander');
const package = require('../package.json');
program
.version(package.version)
.usage('[command] [options]')
.command('start [options]', 'to start a server')
.command('build [options]', 'to build and write static files to `config.output`')
.parse(process.argv);
process.on('SIGINT', function() {
program.runningCommand && program.runningCommand.kill('SIGKILL');
process.exit(0);
});
#!/usr/bin/env node
const program = require('commander');
const Choerodon = require('../lib/index');
program
.option('-c, --config <path>', 'set config path. defaults to ./choerodon.config.js')
.option('-e, --env <path>', 'NODE_ENV in build')
.option('-m, --modules', 'should bundle dependence modules in generator-react folder')
.parse(process.argv);
Choerodon.build(program);
#!/usr/bin/env node
const program = require('commander');
const Choerodon = require('../lib/index');
program
.option('-c, --config <path>', 'set config path. defaults to ./choerodon.config.js')
.option('-e, --env <path>', 'NODE_ENV in build')
.option('-m, --modules', 'should bundle dependence modules in generator-react folder')
.parse(process.argv);
Choerodon.dist(program);
#!/usr/bin/env node
const program = require('commander');
const Choerodon = require('../lib/index');
program
.option('-c, --config <path>', 'set config path. defaults to ./choerodon.config.js')
.option('-m, --modules', 'should bundle dependence modules in generator-react folder')
.parse(process.argv);
Choerodon.start(program);
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = build;
var _webpack = require('webpack');
var _webpack2 = _interopRequireDefault(_webpack);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _fsExtra = require('fs-extra');
var _fsExtra2 = _interopRequireDefault(_fsExtra);
var _mkdirp = require('mkdirp');
var _mkdirp2 = _interopRequireDefault(_mkdirp);
var _rimraf = require('rimraf');
var _rimraf2 = _interopRequireDefault(_rimraf);
var _context = require('./common/context');
var _context2 = _interopRequireDefault(_context);
var _warning = require('../common/warning');
var _warning2 = _interopRequireDefault(_warning);
var _initialize = require('./common/initialize');
var _initialize2 = _interopRequireDefault(_initialize);
var _getAllFiles = require('./common/getAllFiles');
var _getAllFiles2 = _interopRequireDefault(_getAllFiles);
var _getPackagePath = require('./common/getPackagePath');
var _getPackagePath2 = _interopRequireDefault(_getPackagePath);
var _generateEntryFile = require('./common/generateEntryFile');
var _generateEntryFile2 = _interopRequireDefault(_generateEntryFile);
var _updateWebpackConfig = require('../config/updateWebpackConfig');
var _updateWebpackConfig2 = _interopRequireDefault(_updateWebpackConfig);
var _installSubmoduleDependencies = require('./common/installSubmoduleDependencies');
var _installSubmoduleDependencies2 = _interopRequireDefault(_installSubmoduleDependencies);
var _copyFonts = require('./common/copyFonts');
var _copyFonts2 = _interopRequireDefault(_copyFonts);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function transformVendor() {
var _context$choerodonCon = _context2['default'].choerodonConfig,
output = _context$choerodonCon.output,
distBasePath = _context$choerodonCon.distBasePath;
var venderName = (0, _getAllFiles2['default'])();
if (venderName !== '') {
var venderPath = _path2['default'].join(process.cwd(), distBasePath, output, 'dis', venderName);
var venderStr = _fsExtra2['default'].readFileSync(venderPath, { encoding: 'utf-8' });
_fsExtra2['default'].writeFileSync(venderPath, venderStr.replace(/dis/g, 'lib/dist/dis'));
}
}
function copyAndTransform() {
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'index.html';
var _context$choerodonCon2 = _context2['default'].choerodonConfig,
output = _context$choerodonCon2.output,
distBasePath = _context$choerodonCon2.distBasePath,
htmlPath = _context$choerodonCon2.htmlPath;
var htmlDistPath = _path2['default'].join(process.cwd(), distBasePath, output, name);
var dest = _path2['default'].join(process.cwd(), htmlPath, name);
_fsExtra2['default'].copySync(htmlDistPath, dest);
var str = _fsExtra2['default'].readFileSync(dest, { encoding: 'utf-8' });
var transformStr = str.replace(/href="\/dis/g, 'href="/lib/dist/dis').replace(/src="\/dis/g, 'src="/lib/dist/dis').replace(/\/favicon/g, '/lib/dist/favicon');
_fsExtra2['default'].writeFileSync(dest, transformStr);
_fsExtra2['default'].unlink(htmlDistPath);
}
function dist(mainPackage, env) {
var _context$choerodonCon3 = _context2['default'].choerodonConfig,
entryName = _context$choerodonCon3.entryName,
output = _context$choerodonCon3.output,
distBasePath = _context$choerodonCon3.distBasePath;
var distPath = _path2['default'].join(process.cwd(), distBasePath, output);
_rimraf2['default'].sync(distPath);
_mkdirp2['default'].sync(distPath);
(0, _generateEntryFile2['default'])(mainPackage, entryName);
var webpackConfig = (0, _updateWebpackConfig2['default'])('build', env);
webpackConfig.plugins.push(new _webpack2['default'].DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(env)
}));
(0, _webpack2['default'])(webpackConfig, function (err, stats) {
if (err !== null) {
(0, _warning2['default'])(false, err);
} else if (stats.hasErrors()) {
(0, _warning2['default'])(false, stats.toString('errors-only'));
}
copyAndTransform();
copyAndTransform('withoutsider.html');
transformVendor();
(0, _copyFonts2['default'])();
});
}
function build(program) {
(0, _initialize2['default'])(program);
var env = program.env || process.env.NODE_ENV || 'production';
if (program.modules) {
(0, _installSubmoduleDependencies2['default'])(function (mainPackage) {
return dist(mainPackage, env);
});
} else {
var mainPackagePath = (0, _getPackagePath2['default'])();
var mainPackage = require(mainPackagePath);
dist(mainPackage, env);
}
}
\ No newline at end of file
'use strict';
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _mkdirp = require('mkdirp');
var _mkdirp2 = _interopRequireDefault(_mkdirp);
var _warning = require('../../common/warning');
var _warning2 = _interopRequireDefault(_warning);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var isInitialized = false;
exports.initialize = function initialize(context) {
if (isInitialized) {
(0, _warning2['default'])(false, '`context` had been initialized');
return;
}
var tmpDirPath = _path2['default'].join(__dirname, '../../../tmp');
context.tmpDirPath = tmpDirPath;
_mkdirp2['default'].sync(tmpDirPath);
(0, _extends3['default'])(exports, context);
isInitialized = true;
};
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _fsExtra = require('fs-extra');
var _fsExtra2 = _interopRequireDefault(_fsExtra);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _rimraf = require('rimraf');
var _rimraf2 = _interopRequireDefault(_rimraf);
var _mkdirp = require('mkdirp');
var _mkdirp2 = _interopRequireDefault(_mkdirp);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
/**
* 复制fonts目录下的字体
* 到contentPath目录下
*/
function copyFonts() {
var nodeModulesPath = _path2['default'].join(process.cwd(), 'node_modules', 'choerodon-ui-font', 'fonts');
var distPath = _path2['default'].join(process.cwd(), 'src', 'main', 'resources', 'lib', 'dist', 'dis', 'fonts');
if (_fsExtra2['default'].existsSync(distPath)) {
_rimraf2['default'].sync(distPath);
}
_mkdirp2['default'].sync(distPath);
['icomoon.eot', 'icomoon.svg', 'icomoon.ttf', 'icomoon.woff'].forEach(function (font) {
var from = _path2['default'].join(nodeModulesPath, font);
var to = _path2['default'].join(distPath, font);
_fsExtra2['default'].copySync(from, to);
});
}
exports['default'] = copyFonts;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = escapeWinPath;
function escapeWinPath(path) {
return path.replace(/\\/g, '\\\\');
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = generateEntryFile;
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _nunjucks = require('nunjucks');
var _nunjucks2 = _interopRequireDefault(_nunjucks);
var _context = require('./context');
var _context2 = _interopRequireDefault(_context);
var _getRoutesPath = require('./getRoutesPath');
var _getRoutesPath2 = _interopRequireDefault(_getRoutesPath);
var _escapeWinPath = require('./escapeWinPath');
var _escapeWinPath2 = _interopRequireDefault(_escapeWinPath);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var entryTemplate = _fs2['default'].readFileSync(_path2['default'].join(__dirname, '../../nunjucks/entry.nunjucks.js')).toString();
var entryWithoutSiderTemplate = _fs2['default'].readFileSync(_path2['default'].join(__dirname, '../../nunjucks/entrywithoutsider.nunjucks.js')).toString();
function generateEntryFile(mainPackage, configEntryName) {
var tmpDirPath = _context2['default'].tmpDirPath,
isDev = _context2['default'].isDev;
var entryPath = _path2['default'].join(tmpDirPath, 'entry.' + configEntryName + '.js');
var entryWithoutSiderPath = _path2['default'].join(tmpDirPath, 'entry.withoutsider.js');
var routesPath = (0, _getRoutesPath2['default'])(mainPackage, configEntryName);
_fs2['default'].writeFileSync(entryPath, _nunjucks2['default'].renderString(entryTemplate, {
routesPath: (0, _escapeWinPath2['default'])(routesPath),
source: isDev ? 'src' : 'lib'
}));
_fs2['default'].writeFileSync(entryWithoutSiderPath, _nunjucks2['default'].renderString(entryWithoutSiderTemplate, {
routesPath: (0, _escapeWinPath2['default'])(routesPath),
source: isDev ? 'src' : 'lib'
}));
}
\ No newline at end of file
'use strict';
var fs = require('fs');
var path = require('path');
/**
* 获取generate-react目录下的模块名
* (默认该目录下全为依赖模块)
* 返回模块名数组
*/
function getSubmodule() {
var vender = '';
var cmpsPath = path.join(process.cwd(), 'src', 'main', 'resources', 'lib', 'dist', 'dis');
var files = fs.readdirSync(cmpsPath);
files.forEach(function (item) {
var stat = fs.lstatSync('./src/main/resources/lib/dist/dis/' + item);
if (stat.isDirectory() !== true && item.startsWith('vendor')) {
vender = item;
}
});
return vender;
}
module.exports = getSubmodule;
\ No newline at end of file
'use strict';
var fs = require('fs');
var path = require('path');
/**
* 获取generate-react目录下的模块名
* (默认该目录下全为依赖模块)
* 返回模块名数组
*/
function getSubmodule() {
var components = [];
var cmpsPath = path.join(process.cwd(), 'target', 'generate-react');
var files = fs.readdirSync(cmpsPath);
files.forEach(function (item) {
var stat = fs.lstatSync('./target/generate-react/' + item);
if (stat.isDirectory() === true
// && !item.startsWith('hap-core')
) {
components.push(item);
}
});
return components;
}
module.exports = getSubmodule;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = getDashBoardPath;
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _nunjucks = require('nunjucks');
var _nunjucks2 = _interopRequireDefault(_nunjucks);
var _glob = require('glob');
var _glob2 = _interopRequireDefault(_glob);
var _isArray = require('lodash/isArray');
var _isArray2 = _interopRequireDefault(_isArray);
var _isObject = require('lodash/isObject');
var _isObject2 = _interopRequireDefault(_isObject);
var _context = require('./context');
var _context2 = _interopRequireDefault(_context);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var dashboardTemplate = _fs2['default'].readFileSync(_path2['default'].join(__dirname, '../../nunjucks/dashboard.nunjucks.js')).toString();
function normalizeDashBoardComponentOrLocale(components, key, dir) {
_glob2['default'].sync(_path2['default'].join(process.cwd(), dir)).forEach(function (match) {
components.push('"' + key + '/' + _path2['default'].basename(match, _path2['default'].extname(match)) + '": function() { return import("' + match + '"); },');
});
}
function getDashBoards(dashboard) {
var dashboardComponents = [];
var dashboardLocale = [];
if ((0, _isObject2['default'])(dashboard)) {
Object.keys(dashboard).forEach(function (key) {
var value = dashboard[key];
var componentsPath = value;
var localePath = void 0;
if ((0, _isObject2['default'])(value)) {
componentsPath = value.components;
localePath = value.locale;
}
if (typeof componentsPath === 'string') {
normalizeDashBoardComponentOrLocale(dashboardComponents, key, componentsPath);
} else if ((0, _isArray2['default'])(componentsPath)) {
componentsPath.forEach(function (dir) {
normalizeDashBoardComponentOrLocale(dashboardComponents, key, dir);
});
}
if (typeof localePath === 'string') {
normalizeDashBoardComponentOrLocale(dashboardLocale, key, localePath);
}
});
}
return '\n{\n dashboardComponents: {\n ' + dashboardComponents.join('\n ') + '\n },\n dashboardLocale: {\n ' + dashboardLocale.join('\n ') + '\n }\n}\n ';
}
function getDashBoardPath(configEntryName) {
var dashboard = _context2['default'].choerodonConfig.dashboard,
tmpDirPath = _context2['default'].tmpDirPath;
var dashboardPath = _path2['default'].join(tmpDirPath, 'dashboard.' + configEntryName + '.js');
_nunjucks2['default'].configure(dashboardPath, {
autoescape: false
});
_fs2['default'].writeFileSync(dashboardPath, _nunjucks2['default'].renderString(dashboardTemplate, {
dashboard: getDashBoards(dashboard)
}));
return dashboardPath;
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = getPackagePath;
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function getPackagePath() {
var base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.';
return _path2['default'].join(process.cwd(), base, 'package.json');
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
exports['default'] = getPackageRoute;
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function getPackageRoute(packageInfo) {
var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '.';
if (packageInfo) {
var main = packageInfo.main,
name = packageInfo.name;
// return { [name.slice(name.lastIndexOf('-') + 1)]: path.join(base, main) };
return (0, _defineProperty3['default'])({}, name, _path2['default'].join(base, main));
}
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = getRoutesPath;
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _nunjucks = require('nunjucks');
var _nunjucks2 = _interopRequireDefault(_nunjucks);
var _context = require('./context');
var _context2 = _interopRequireDefault(_context);
var _escapeWinPath = require('./escapeWinPath');
var _escapeWinPath2 = _interopRequireDefault(_escapeWinPath);
var _getPackageRoute = require('./getPackageRoute');
var _getPackageRoute2 = _interopRequireDefault(_getPackageRoute);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var routesTemplate = _fs2['default'].readFileSync(_path2['default'].join(__dirname, '../../nunjucks/routes.nunjucks.js')).toString();
function getRoutesPath(packageInfo, configEntryName) {
var tmpDirPath = _context2['default'].tmpDirPath,
isDev = _context2['default'].isDev,
_context$choerodonCon = _context2['default'].choerodonConfig,
routes = _context$choerodonCon.routes,
homePath = _context$choerodonCon.homePath;
var configRoutes = routes || (0, _getPackageRoute2['default'])(packageInfo);
var routesPath = _path2['default'].join(tmpDirPath, 'routes.' + configEntryName + '.js');
_nunjucks2['default'].configure(routesPath, { autoescape: false });
var homePathStr = 'createHome("/", ' + (homePath ? 'function() { return import("' + (0, _escapeWinPath2['default'])(_path2['default'].join(process.cwd(), homePath || '')) + '"); }' : null) + ', ' + (!homePath ? homePath : 'CHOERODON_HAP_FRONT_BOOT_HOME_PAGE') + ')';
_fs2['default'].writeFileSync(routesPath, _nunjucks2['default'].renderString(routesTemplate, {
routes: Object.keys(configRoutes).map(function (key) {
return 'createRoute("/' + key + '", function() { return import("' + (0, _escapeWinPath2['default'])(_path2['default'].join(process.cwd(), configRoutes[key])) + '"); }, "' + key + '")';
}).join(',\n'),
home: homePathStr,
source: isDev ? 'src' : 'lib'
}));
return routesPath;
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = getRunCmdEnv;
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function getRunCmdEnv() {
var env = {};
Object.keys(process.env).forEach(function (key) {
env[key] = process.env[key];
});
var nodeModulesBinDir = _path2['default'].join(__dirname, '../../node_modules/.bin');
env.PATH = env.PATH ? nodeModulesBinDir + ':' + env.PATH : nodeModulesBinDir;
return env;
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = initialize;
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _getChoerodonConfig = require('../../config/getChoerodonConfig');
var _getChoerodonConfig2 = _interopRequireDefault(_getChoerodonConfig);
var _context = require('./context');
var _context2 = _interopRequireDefault(_context);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function initialize(program, dev) {
var configFile = _path2['default'].join(process.cwd(), program.config || 'choerodon.config.js');
var choerodonConfig = (0, _getChoerodonConfig2['default'])(configFile);
_context2['default'].initialize({ choerodonConfig: choerodonConfig, isDev: dev });
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = install;
var _crossSpawn = require('cross-spawn');
var _crossSpawn2 = _interopRequireDefault(_crossSpawn);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
/**
* 执行`npm i`安装依赖
* @param {*} cb callback 安装依赖完成后回调
*/
function install(cb) {
var child = (0, _crossSpawn2['default'])('npm', ['i'], { stdio: 'inherit' });
child.on('close', function (code) {
cb(code);
});
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
exports['default'] = installSubmoduleDependencies;
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _getPackagePath = require('./getPackagePath');
var _getPackagePath2 = _interopRequireDefault(_getPackagePath);
var _getPackageRoute = require('./getPackageRoute');
var _getPackageRoute2 = _interopRequireDefault(_getPackageRoute);
var _context = require('./context');
var _context2 = _interopRequireDefault(_context);
var _getAllSubModules = require('./getAllSubModules');
var _getAllSubModules2 = _interopRequireDefault(_getAllSubModules);
var _install = require('./install');
var _install2 = _interopRequireDefault(_install);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function getDependenciesByModules(dependencies) {
var choerodonConfig = _context2['default'].choerodonConfig;
var deps = {};
var cmps = (0, _getAllSubModules2['default'])();
var routes = cmps.reduce(function (obj, module) {
var packageInfo = require((0, _getPackagePath2['default'])('./target/generate-react/' + module));
(0, _extends3['default'])(deps, packageInfo[dependencies]);
return (0, _extends3['default'])(obj, (0, _getPackageRoute2['default'])(packageInfo, './target/generate-react/' + module));
}, {});
var mainPackagePath = (0, _getPackagePath2['default'])();
var mainPackage = require(mainPackagePath);
var main = mainPackage.main,
name = mainPackage.name;
// routes[name.slice(name.lastIndexOf('-') + 1)] = path.join('.', main);
routes[name] = _path2['default'].join('.', main);
if (!choerodonConfig.routes) {
choerodonConfig.routes = routes;
}
return deps;
}
function installSubmoduleDependencies(cb) {
var mainPackagePath = (0, _getPackagePath2['default'])();
var mainPackage = require(mainPackagePath);
mainPackage.dependencies = (0, _extends3['default'])(getDependenciesByModules('dependencies'), mainPackage.dependencies);
mainPackage.peerDependencies = (0, _extends3['default'])(getDependenciesByModules('peerDependencies'), mainPackage.peerDependencies);
_fs2['default'].writeFileSync(mainPackagePath, JSON.stringify(mainPackage));
(0, _install2['default'])(function () {
return cb(mainPackage);
});
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = build;
var _webpack = require('webpack');
var _webpack2 = _interopRequireDefault(_webpack);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _fsExtra = require('fs-extra');
var _fsExtra2 = _interopRequireDefault(_fsExtra);
var _mkdirp = require('mkdirp');
var _mkdirp2 = _interopRequireDefault(_mkdirp);
var _rimraf = require('rimraf');
var _rimraf2 = _interopRequireDefault(_rimraf);
var _context = require('./common/context');
var _context2 = _interopRequireDefault(_context);
var _warning = require('../common/warning');
var _warning2 = _interopRequireDefault(_warning);
var _initialize = require('./common/initialize');
var _initialize2 = _interopRequireDefault(_initialize);
var _getAllFiles = require('./common/getAllFiles');
var _getAllFiles2 = _interopRequireDefault(_getAllFiles);
var _getPackagePath = require('./common/getPackagePath');
var _getPackagePath2 = _interopRequireDefault(_getPackagePath);
var _generateEntryFile = require('./common/generateEntryFile');
var _generateEntryFile2 = _interopRequireDefault(_generateEntryFile);
var _updateWebpackConfig = require('../config/updateWebpackConfig');
var _updateWebpackConfig2 = _interopRequireDefault(_updateWebpackConfig);
var _installSubmoduleDependencies = require('./common/installSubmoduleDependencies');
var _installSubmoduleDependencies2 = _interopRequireDefault(_installSubmoduleDependencies);
var _copyFonts = require('./common/copyFonts');
var _copyFonts2 = _interopRequireDefault(_copyFonts);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function transformVendor() {
var _context$choerodonCon = _context2['default'].choerodonConfig,
output = _context$choerodonCon.output,
distBasePath = _context$choerodonCon.distBasePath;
var venderName = (0, _getAllFiles2['default'])();
if (venderName !== '') {
var venderPath = _path2['default'].join(process.cwd(), distBasePath, output, 'dis', venderName);
var venderStr = _fsExtra2['default'].readFileSync(venderPath, { encoding: 'utf-8' });
_fsExtra2['default'].writeFileSync(venderPath, venderStr.replace(/dis/g, 'lib/dist/dis'));
}
}
function copyAndTransform() {
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'index.html';
var _context$choerodonCon2 = _context2['default'].choerodonConfig,
output = _context$choerodonCon2.output,
distBasePath = _context$choerodonCon2.distBasePath,
htmlPath = _context$choerodonCon2.htmlPath;
var htmlDistPath = _path2['default'].join(process.cwd(), distBasePath, output, name);
var dest = _path2['default'].join(process.cwd(), htmlPath, name);
_fsExtra2['default'].copySync(htmlDistPath, dest);
var str = _fsExtra2['default'].readFileSync(dest, { encoding: 'utf-8' });
var transformStr = str.replace(/href="\/dis/g, 'href="/lib/dist/dis').replace(/src="\/dis/g, 'src="/lib/dist/dis').replace(/\/favicon/g, '/lib/dist/favicon');
_fsExtra2['default'].writeFileSync(dest, transformStr);
_fsExtra2['default'].unlink(htmlDistPath);
}
function dist(mainPackage, env) {
var _context$choerodonCon3 = _context2['default'].choerodonConfig,
entryName = _context$choerodonCon3.entryName,
output = _context$choerodonCon3.output,
distBasePath = _context$choerodonCon3.distBasePath;
var distPath = _path2['default'].join(process.cwd(), distBasePath, output);
_rimraf2['default'].sync(distPath);
_mkdirp2['default'].sync(distPath);
(0, _generateEntryFile2['default'])(mainPackage, entryName);
var webpackConfig = (0, _updateWebpackConfig2['default'])('build', env);
webpackConfig.plugins.push(new _webpack2['default'].DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(env)
}));
(0, _webpack2['default'])(webpackConfig, function (err, stats) {
if (err !== null) {
(0, _warning2['default'])(false, err);
} else if (stats.hasErrors()) {
(0, _warning2['default'])(false, stats.toString('errors-only'));
}
// copyAndTransform();
// copyAndTransform('withoutsider.html');
// transformVendor();
(0, _copyFonts2['default'])();
});
}
function build(program) {
(0, _initialize2['default'])(program);
var env = program.env || process.env.NODE_ENV || 'production';
if (program.modules) {
(0, _installSubmoduleDependencies2['default'])(function (mainPackage) {
return dist(mainPackage, env);
});
} else {
var mainPackagePath = (0, _getPackagePath2['default'])();
var mainPackage = require(mainPackagePath);
dist(mainPackage, env);
}
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
exports['default'] = start;
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _webpack = require('webpack');
var _webpack2 = _interopRequireDefault(_webpack);
var _webpackDevServer = require('webpack-dev-server');
var _webpackDevServer2 = _interopRequireDefault(_webpackDevServer);
var _openBrowser = require('react-dev-utils/openBrowser');
var _openBrowser2 = _interopRequireDefault(_openBrowser);
var _context = require('./common/context');
var _context2 = _interopRequireDefault(_context);
var _initialize = require('./common/initialize');
var _initialize2 = _interopRequireDefault(_initialize);
var _getPackagePath = require('./common/getPackagePath');
var _getPackagePath2 = _interopRequireDefault(_getPackagePath);
var _generateEntryFile = require('./common/generateEntryFile');
var _generateEntryFile2 = _interopRequireDefault(_generateEntryFile);
var _updateWebpackConfig = require('../config/updateWebpackConfig');
var _updateWebpackConfig2 = _interopRequireDefault(_updateWebpackConfig);
var _installSubmoduleDependencies = require('./common/installSubmoduleDependencies');
var _installSubmoduleDependencies2 = _interopRequireDefault(_installSubmoduleDependencies);
var _copyFonts = require('./common/copyFonts');
var _copyFonts2 = _interopRequireDefault(_copyFonts);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
/**
* generateEntryFile and start webpack-dev-server
* @param {*} mainPackage workspace pkg.json object
* @param {*} dev
*/
function run(mainPackage, dev) {
var _context$choerodonCon = _context2['default'].choerodonConfig,
entryName = _context$choerodonCon.entryName,
devServerConfig = _context$choerodonCon.devServerConfig,
output = _context$choerodonCon.output,
port = _context$choerodonCon.port,
proxyTarget = _context$choerodonCon.proxyTarget;
(0, _generateEntryFile2['default'])(mainPackage, entryName, dev);
var webpackConfig = (0, _updateWebpackConfig2['default'])('start', 'development');
webpackConfig.plugins.push(new _webpack2['default'].HotModuleReplacementPlugin());
var serverOptions = (0, _extends3['default'])({
quiet: true,
hot: true
}, devServerConfig, {
// contentBase: path.join(process.cwd(), output),
contentBase: _path2['default'].join(process.cwd(), 'src', 'main', 'resources', 'lib', output),
historyApiFallback: true,
host: 'localhost',
proxy: [{
context: ['**', '!/', '!/dis/**'],
target: proxyTarget,
changeOrigin: true,
secure: false,
autoRewrite: true
}]
});
_webpackDevServer2['default'].addDevServerEntrypoints(webpackConfig, serverOptions);
(0, _copyFonts2['default'])();
var compiler = (0, _webpack2['default'])(webpackConfig);
var timefix = 11000;
compiler.plugin('watch-run', function (watching, callback) {
watching.startTime += timefix;
callback();
});
compiler.plugin('done', function (stats) {
stats.startTime -= timefix;
});
var server = new _webpackDevServer2['default'](compiler, serverOptions);
server.listen(port, '0.0.0.0', function () {
return (0, _openBrowser2['default'])('http://localhost:' + port);
});
}
function start(program, dev) {
(0, _initialize2['default'])(program, dev);
if (!dev && program.modules) {
(0, _installSubmoduleDependencies2['default'])(run);
} else {
var mainPackagePath = (0, _getPackagePath2['default'])();
var mainPackage = require(mainPackagePath);
run(mainPackage);
}
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var warned = {};
exports['default'] = function (valid, message) {
if (!valid && !warned[message]) {
(0, _warning2['default'])(false, message);
warned[message] = true;
}
};
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = babel;
var _os = require('os');
var _context = require('../bin/common/context');
var _context2 = _interopRequireDefault(_context);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function babel(mode, env) {
var choerodonConfig = _context2['default'].choerodonConfig;
return choerodonConfig.babelConfig({
presets: ['react', ['es2015'], 'stage-1'],
plugins: ['transform-async-to-generator', 'transform-decorators-legacy', 'transform-class-properties', 'transform-runtime', 'lodash', ['import', [{
libraryName: 'choerodon-ui',
style: true
}, {
libraryName: 'choerodon-hap-ui',
style: true
}]]]
}, mode, env);
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
exports['default'] = getChoerodonConfig;
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _autoprefixer = require('autoprefixer');
var _autoprefixer2 = _interopRequireDefault(_autoprefixer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var defaultConfig = {
port: 9090,
output: './dist',
htmlTemplate: 'index.template.html',
devServerConfig: {},
postcssConfig: {
plugins: [(0, _autoprefixer2['default'])({
browsers: ['last 2 versions', 'Firefox ESR', '> 1%', 'ie >= 8', 'iOS >= 8', 'Android >= 4']
})]
},
babelConfig: function babelConfig(config, mode, env) {
return config;
},
webpackConfig: function webpackConfig(config, mode, env) {
return config;
},
enterPoints: function enterPoints(mode, env) {
return {};
},
entryName: 'index',
root: '/',
routes: null,
local: true,
server: '',
webSocketServer: 'http://localhost:8080',
titlename: '积木 | 数据转换平台',
favicon: 'favicon.ico',
proxyTarget: 'http://localhost:8080',
distBasePath: './src/main/resources/lib',
htmlPath: './src/main/resources/WEB-INF/view',
homePath: undefined
};
function getChoerodonConfig(configFile) {
var customizedConfig = _fs2['default'].existsSync(configFile) ? require(configFile) : {};
return (0, _extends3['default'])({}, defaultConfig, customizedConfig);
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
function defaultTheme(env) {
var iconUrl = env === 'development' ? '/dis/fonts/icomoon' : '/lib/dist/dis/fonts/icomoon';
return {
'primary-color': '#3f51b5',
'c7n-prefix': 'c7n',
'icon-url': JSON.stringify(iconUrl)
};
}
exports['default'] = defaultTheme;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = getEnterPointsConfig;
var enterPoints = {
API_HOST: 'localhost:http://localhost:8080', // api base url
AUTH_HOST: 'localhost:http://localhost:8080/oauth', // login url
CLIENT_ID: 'localhost:clientId', // unused
LOCAL: 'localhost:local',
HEADER_TITLE_NAME: 'localhost:headertitlename', // unused
COOKIE_SERVER: 'localhost:cookieServer',
VERSION: 'localhost:version',
TITLE_NAME: 'localhost:titlename', // html title
FILE_SERVER: 'localhost:fileserver', // unused
WEBSOCKET_SERVER: 'localhost:wsserver' // websocket server
};
function getEnterPointsConfig() {
return enterPoints;
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function normalizeToSassVariables(modifyVarsOptions) {
var modifyVars = modifyVarsOptions.modifyVars,
options = (0, _objectWithoutProperties3['default'])(modifyVarsOptions, ['modifyVars']);
if (modifyVars) {
options.data = Object.keys(modifyVars).map(function (key) {
return '$' + key + ': ' + modifyVars[key] + ';';
}).join('');
}
return options;
}
exports['default'] = function (postcssOptions, loaderOptions) {
return [{
test: /\.css$/,
use: [{
loader: 'css-loader',
options: {
restructuring: false,
autoprefixer: false
}
}, {
loader: 'postcss-loader',
options: postcssOptions
}]
}, {
test: /\.less$/,
use: [{
loader: 'css-loader',
options: {
autoprefixer: false
}
}, {
loader: 'postcss-loader',
options: postcssOptions
}, {
loader: 'less-loader',
options: loaderOptions
}]
}, {
test: /\.scss$/,
use: [{
loader: 'css-loader',
options: {
autoprefixer: false
}
}, {
loader: 'postcss-loader',
options: postcssOptions
}, {
loader: 'sass-loader',
options: normalizeToSassVariables(loaderOptions)
}]
}];
};
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = ts;
function ts() {
return {
target: 'es6',
jsx: 'preserve',
moduleResolution: 'node',
declaration: false
};
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = getWebpackCommonConfig;
var _path = require('path');
var _webpack = require('webpack');
var _webpack2 = _interopRequireDefault(_webpack);
var _extractTextWebpackPlugin = require('extract-text-webpack-plugin');
var _extractTextWebpackPlugin2 = _interopRequireDefault(_extractTextWebpackPlugin);
var _caseSensitivePathsWebpackPlugin = require('case-sensitive-paths-webpack-plugin');
var _caseSensitivePathsWebpackPlugin2 = _interopRequireDefault(_caseSensitivePathsWebpackPlugin);
var _friendlyErrorsWebpackPlugin = require('friendly-errors-webpack-plugin');
var _friendlyErrorsWebpackPlugin2 = _interopRequireDefault(_friendlyErrorsWebpackPlugin);
var _uglifyjsWebpackPlugin = require('uglifyjs-webpack-plugin');
var _uglifyjsWebpackPlugin2 = _interopRequireDefault(_uglifyjsWebpackPlugin);
var _chalk = require('chalk');
var _chalk2 = _interopRequireDefault(_chalk);
var _getBabelCommonConfig = require('./getBabelCommonConfig');
var _getBabelCommonConfig2 = _interopRequireDefault(_getBabelCommonConfig);
var _getTSCommonConfig = require('./getTSCommonConfig');
var _getTSCommonConfig2 = _interopRequireDefault(_getTSCommonConfig);
var _context = require('../bin/common/context');
var _context2 = _interopRequireDefault(_context);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var jsFileName = 'dis/[name].[hash:8].js';
var jsChunkFileName = 'dis/chunks/[name].[chunkhash:5].chunk.js';
var cssFileName = 'dis/[name].[contenthash:8].css';
var assetFileName = 'dis/assets/[name].[hash:8].[ext]';
function getAssetLoader(env, mimetype) {
var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10000;
return {
loader: 'url-loader',
options: {
limit: limit,
mimetype: mimetype,
name: assetFileName,
publicPath: env === 'production' ? '/lib/dist/' : undefined
}
};
}
function getWebpackCommonConfig(mode, env) {
var isDev = _context2['default'].isDev;
var babelOptions = (0, _getBabelCommonConfig2['default'])(mode, env);
var tsOptions = (0, _getTSCommonConfig2['default'])();
var plugins = [new _webpack2['default'].optimize.CommonsChunkPlugin({
name: 'vendor',
filename: 'dis/[name].[hash:5].js',
minChunks: Infinity
}), new _extractTextWebpackPlugin2['default']({
filename: cssFileName,
disable: false,
allChunks: true
}), new _caseSensitivePathsWebpackPlugin2['default'](), new _webpack2['default'].ProgressPlugin(function (percentage, msg, addInfo) {
var stream = process.stderr;
if (stream.isTTY && percentage < 0.71) {
stream.cursorTo(0);
stream.write('\uD83D\uDCE6 ' + _chalk2['default'].magenta(msg) + ' (' + _chalk2['default'].magenta(addInfo) + ')');
stream.clearLine(1);
} else if (percentage === 1) {
/* eslint-disable */
console.log(_chalk2['default'].green('\nwebpack: bundle build is now finished.'));
/* eslint-enable */
}
}), new _friendlyErrorsWebpackPlugin2['default'](), new _webpack2['default'].ProvidePlugin({
Choerodon: isDev ? (0, _path.join)(process.cwd(), 'src/containers/common') : (0, _path.join)(__dirname, '../containers/common')
})];
if (env === 'production') {
plugins.push(new _webpack2['default'].LoaderOptionsPlugin({
minimize: true
}), new _uglifyjsWebpackPlugin2['default']({
parallel: true,
cache: true,
uglifyOptions: {
output: {
comments: false
},
compress: {
warnings: false
}
}
}));
}
return {
output: {
filename: jsFileName,
chunkFilename: jsChunkFileName
},
resolve: {
modules: ['node_modules', (0, _path.join)(__dirname, '../../node_modules')],
extensions: ['.web.tsx', '.web.ts', '.web.jsx', '.web.js', '.ts', '.tsx', '.js', '.jsx', '.json']
},
resolveLoader: {
modules: ['node_modules', (0, _path.join)(__dirname, '../../node_modules')]
},
node: {
fs: 'empty'
},
module: {
noParse: [/moment.js/],
rules: [{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
options: babelOptions
}, {
test: /\.jsx$/,
loader: 'babel-loader',
options: babelOptions
}, {
test: /\.tsx?$/,
use: [{
loader: 'babel-loader',
options: babelOptions
}, {
loader: 'ts-loader',
options: {
transpileOnly: true,
compilerOptions: tsOptions
}
}]
}, {
test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
use: getAssetLoader(env, 'application/font-woff')
}, {
test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
use: getAssetLoader(env, 'application/font-woff')
}, {
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
use: getAssetLoader(env, 'application/octet-stream')
}, {
test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
use: getAssetLoader(env, 'application/vnd.ms-fontobject')
}, {
test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
use: getAssetLoader(env, 'image/svg+xml')
}, {
test: /\.(png|jpg|jpeg|gif)(\?v=\d+\.\d+\.\d+)?$/i,
use: getAssetLoader(env)
}, {
test: /\.json$/,
loader: 'json-loader'
}]
},
plugins: plugins
};
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
exports['default'] = updateWebpackConfig;
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _webpack = require('webpack');
var _webpack2 = _interopRequireDefault(_webpack);
var _extractTextWebpackPlugin = require('extract-text-webpack-plugin');
var _extractTextWebpackPlugin2 = _interopRequireDefault(_extractTextWebpackPlugin);
var _htmlWebpackPlugin = require('html-webpack-plugin');
var _htmlWebpackPlugin2 = _interopRequireDefault(_htmlWebpackPlugin);
var _context = require('../bin/common/context');
var _context2 = _interopRequireDefault(_context);
var _getStyleLoadersConfig = require('./getStyleLoadersConfig');
var _getStyleLoadersConfig2 = _interopRequireDefault(_getStyleLoadersConfig);
var _getEnterPointsConfig = require('./getEnterPointsConfig');
var _getEnterPointsConfig2 = _interopRequireDefault(_getEnterPointsConfig);
var _getWebpackCommonConfig = require('./getWebpackCommonConfig');
var _getWebpackCommonConfig2 = _interopRequireDefault(_getWebpackCommonConfig);
var _getDefaultTheme = require('./getDefaultTheme');
var _getDefaultTheme2 = _interopRequireDefault(_getDefaultTheme);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var choerodonLib = (0, _path.join)(__dirname, '..');
function getFilePath(file) {
var isDev = _context2['default'].isDev;
var filePath = (0, _path.join)(process.cwd(), file);
if (_fs2['default'].existsSync(filePath)) {
return filePath;
} else if (isDev) {
return (0, _path.join)(process.cwd(), 'src', file);
} else {
return (0, _path.join)(__dirname, '..', file);
}
}
function updateWebpackConfig(mode, env) {
var webpackConfig = (0, _getWebpackCommonConfig2['default'])(mode, env);
var choerodonConfig = _context2['default'].choerodonConfig;
var theme = choerodonConfig.theme,
output = choerodonConfig.output,
root = choerodonConfig.root,
enterPoints = choerodonConfig.enterPoints,
server = choerodonConfig.server,
webSocketServer = choerodonConfig.webSocketServer,
local = choerodonConfig.local,
postcssConfig = choerodonConfig.postcssConfig,
entryName = choerodonConfig.entryName,
titlename = choerodonConfig.titlename,
htmlTemplate = choerodonConfig.htmlTemplate,
favicon = choerodonConfig.favicon;
var styleLoadersConfig = (0, _getStyleLoadersConfig2['default'])(postcssConfig, {
sourceMap: mode === 'start',
modifyVars: (0, _extends3['default'])({}, (0, _getDefaultTheme2['default'])(env), theme)
});
var defaultEnterPoints = void 0;
webpackConfig.entry = {};
if (mode === 'start') {
webpackConfig.output.publicPath = '/';
webpackConfig.devtool = 'cheap-module-eval-source-map';
webpackConfig.watch = true;
styleLoadersConfig.forEach(function (config) {
webpackConfig.module.rules.push({
test: config.test,
use: ['style-loader'].concat((0, _toConsumableArray3['default'])(config.use))
});
});
defaultEnterPoints = {
API_HOST: server,
AUTH_HOST: server,
LOCAL: local,
VERSION: '本地',
TITLE_NAME: titlename,
WEBSOCKET_SERVER: webSocketServer
};
} else if (mode === 'build') {
webpackConfig.output.publicPath = root;
webpackConfig.output.path = (0, _path.join)(process.cwd(), 'src', 'main', 'resources', 'lib', output);
styleLoadersConfig.forEach(function (config) {
webpackConfig.module.rules.push({
test: config.test,
use: _extractTextWebpackPlugin2['default'].extract({
use: config.use
})
});
});
// defaultEnterPoints = getEnterPointsConfig();
defaultEnterPoints = {
API_HOST: server,
AUTH_HOST: server,
LOCAL: local,
VERSION: '本地',
TITLE_NAME: titlename,
WEBSOCKET_SERVER: ''
};
}
/* eslint-enable no-param-reassign */
var mergedEnterPoints = (0, _extends3['default'])({
NODE_ENV: env
}, defaultEnterPoints, enterPoints(mode, env));
var defines = Object.keys(mergedEnterPoints).reduce(function (obj, key) {
obj['process.env.' + key] = JSON.stringify(process.env[key] || mergedEnterPoints[key]);
return obj;
}, {});
var customizedWebpackConfig = choerodonConfig.webpackConfig(webpackConfig, _webpack2['default']);
if (customizedWebpackConfig.entry[entryName]) {
throw new Error('Should not set `webpackConfig.entry.' + entryName + '`!');
}
var entryPath = (0, _path.join)(choerodonLib, '..', 'tmp', 'entry.' + entryName + '.js');
var entryWithoutSiderPath = (0, _path.join)(choerodonLib, '..', 'tmp', 'entry.withoutsider.js');
customizedWebpackConfig.entry[entryName] = entryPath;
customizedWebpackConfig.entry.withoutsider = entryWithoutSiderPath;
customizedWebpackConfig.plugins.push(new _webpack2['default'].DefinePlugin(defines), new _htmlWebpackPlugin2['default']({
title: process.env.TITLE_NAME || titlename,
template: getFilePath(htmlTemplate),
// fileName: 'index.html',
inject: true,
chunks: ['vendor', entryName],
favicon: getFilePath(favicon),
minify: {
html5: true,
collapseWhitespace: true,
removeComments: true,
removeTagWhitespace: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true
}
}), new _htmlWebpackPlugin2['default']({
title: process.env.TITLE_NAME || titlename,
template: getFilePath(htmlTemplate),
chunks: ['vendor', 'withoutsider'],
filename: 'withoutsider.html',
inject: true,
favicon: getFilePath(favicon),
minify: {
html5: true,
collapseWhitespace: true,
removeComments: true,
removeTagWhitespace: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true
}
}));
return customizedWebpackConfig;
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getCookieToken = getCookieToken;
exports.setAccessToken = setAccessToken;
exports.getAccessToken = getAccessToken;
exports.removeAccessToken = removeAccessToken;
var _cookie = require('./cookie');
var _constants = require('./constants');
var cachedToken = null;
var localReg = /localhost/g;
function getCookieToken() {
var option = {
path: '/'
};
var token = (0, _cookie.getCookie)(_constants.ACCESS_TOKEN, option);
if (token && cachedToken && token !== cachedToken) {
return null;
}
return token;
}
/**
* 前端存储cookie token
*/
function setAccessToken(token, tokenType, expiresIn) {
var option = {
path: '/'
};
if (expiresIn) {
var expires = expiresIn * 1000;
option.expires = new Date(Date.now() + expires);
}
if (!_constants.LOCAL && !localReg.test(window.location.host) && (0, _cookie.getCookie)(_constants.ACCESS_DOMAIN) === null) {
option.domain = _constants.COOKIE_SERVER;
}
(0, _cookie.setCookie)(_constants.ACCESS_TOKEN, token, option);
(0, _cookie.setCookie)(_constants.TOKEN_TYPE, tokenType, option);
cachedToken = token;
}
/**
* 获取cookie token
*/
function getAccessToken() {
var option = {
path: '/'
};
var accessToken = getCookieToken();
var tokenType = (0, _cookie.getCookie)(_constants.TOKEN_TYPE, option);
if (accessToken && tokenType) {
return tokenType + ' ' + accessToken;
}
return null;
}
/**
* 移除token
*/
function removeAccessToken() {
var option = {
path: '/'
};
if (!_constants.LOCAL && !localReg.test(window.location.host)) {
option.domain = _constants.COOKIE_SERVER;
}
(0, _cookie.removeCookie)(_constants.ACCESS_TOKEN, option);
(0, _cookie.removeCookie)(_constants.TOKEN_TYPE, option);
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.authorize = authorize;
exports.logout = logout;
var _constants = require('./constants');
var _accessToken = require('./accessToken');
function authorize() {
window.top.location = '' + _constants.AUTH_URL;
}
function logout() {
var token = (0, _accessToken.getCookieToken)();
var logoutUrl = _constants.AUTH_HOST + '/logout';
if (token) {
logoutUrl += '?' + _constants.ACCESS_TOKEN + '=' + (0, _accessToken.getCookieToken)();
}
(0, _accessToken.removeAccessToken)();
localStorage.clear();
sessionStorage.clear();
window.location = logoutUrl;
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = checkPassword;
var _intl = require('./intl');
function checkPassword(passwordPolicy, value, callback, userName) {
if (passwordPolicy) {
var check = passwordPolicy.enablePassword,
minLength = passwordPolicy.minLength,
maxLength = passwordPolicy.maxLength,
upcount = passwordPolicy.uppercaseCount,
spcount = passwordPolicy.specialCharCount,
lowcount = passwordPolicy.lowercaseCount,
notEqualsUsername = passwordPolicy.notUsername,
regexCheck = passwordPolicy.regularExpression;
if (value && check) {
var len = 0;
var rs = '';
var sp = void 0;
var up = 0;
var low = 0;
for (var i = 0; i < value.length; i += 1) {
var a = value.charAt(i);
if (a.match(/[^\x00-\xff]/ig) != null) {
len += 2;
} else {
len += 1;
}
}
var pattern = new RegExp('[-~`@#$%^&*_=+|/()<>,.;:!]');
for (var _i = 0; _i < value.length; _i += 1) {
rs += value.substr(_i, 1).replace(pattern, '');
sp = value.length - rs.length;
}
if (/[A-Z]/i.test(value)) {
var ups = value.match(/[A-Z]/g);
up = ups ? ups.length : 0;
}
if (/[a-z]/i.test(value)) {
var lows = value.match(/[a-z]/g);
low = lows ? lows.length : 0;
}
if (minLength && len < minLength) {
callback((0, _intl.getMessage)('\u5BC6\u7801\u957F\u5EA6\u81F3\u5C11\u4E3A' + minLength, 'Password length is at least ' + minLength));
return;
}
if (maxLength && len > maxLength) {
callback((0, _intl.getMessage)('\u5BC6\u7801\u957F\u5EA6\u6700\u591A\u4E3A' + maxLength, 'Password length is upto ' + maxLength));
return;
}
if (upcount && up < upcount) {
callback((0, _intl.getMessage)('\u5927\u5199\u5B57\u6BCD\u81F3\u5C11\u4E3A' + upcount, 'At least for a capital letter ' + upcount));
return;
}
if (lowcount && low < lowcount) {
callback((0, _intl.getMessage)('\u5C0F\u5199\u5B57\u6BCD\u81F3\u5C11\u4E3A' + lowcount, 'At least for a lower-case letters ' + lowcount));
return;
}
if (notEqualsUsername && value === userName) {
callback((0, _intl.getMessage)('密码不能与账号相同', 'password can not equal with the userName'));
return;
}
if (regexCheck) {
var regex = new RegExp(regexCheck);
if (regex.test(value)) {
callback();
} else {
callback((0, _intl.getMessage)('正则不匹配', 'can not test regex'));
}
}
if (spcount && sp < spcount) {
callback((0, _intl.getMessage)('\u7279\u6B8A\u5B57\u7B26\u81F3\u5C11\u4E3A' + spcount, 'At least for special characters ' + spcount));
} else {
callback();
}
} else {
callback();
}
} else {
callback();
}
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var PREFIX_CLS = exports.PREFIX_CLS = 'c7n';
var ACCESS_TOKEN = exports.ACCESS_TOKEN = 'access_token';
var TOKEN_TYPE = exports.TOKEN_TYPE = 'token_type';
var ACCESS_DOMAIN = exports.ACCESS_DOMAIN = 'domain';
var STRING_DEVIDER = exports.STRING_DEVIDER = '__@.@__';
var API_HOST = exports.API_HOST = '' + process.env.API_HOST;
var AUTH_HOST = exports.AUTH_HOST = '' + process.env.AUTH_HOST;
var CLIENT_ID = exports.CLIENT_ID = '' + process.env.CLIENT_ID;
var AUTH_URL = exports.AUTH_URL = AUTH_HOST + '/login';
var LOCAL = exports.LOCAL = JSON.parse(process.env.LOCAL || 'true');
var COOKIE_SERVER = exports.COOKIE_SERVER = '' + process.env.COOKIE_SERVER;
var FILE_SERVER = exports.FILE_SERVER = '' + process.env.FILE_SERVER;
var WEBSOCKET_SERVER = exports.WEBSOCKET_SERVER = '' + process.env.WEBSOCKET_SERVER;
var HEADER_TITLE_NAME = exports.HEADER_TITLE_NAME = '' + (process.env.HEADER_TITLE_NAME || process.env.TITLE_NAME || 'Choerodon');
var USE_DASHBOARD = exports.USE_DASHBOARD = JSON.parse(process.env.USE_DASHBOARD || 'false');
var USE_GUIDE = exports.USE_GUIDE = JSON.parse(process.env.USE_GUIDE || 'false');
var NODE_ENV = exports.NODE_ENV = '' + process.env.NODE_ENV;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.removeCookie = exports.getCookie = exports.setCookie = undefined;
var _universalCookie = require('universal-cookie');
var _universalCookie2 = _interopRequireDefault(_universalCookie);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var cookies = new _universalCookie2['default']();
var setCookie = function setCookie(name, value, option) {
return cookies.set(name, value, option);
};
var getCookie = function getCookie(name, option) {
return cookies.get(name, option);
};
var removeCookie = function removeCookie(name, option) {
return cookies.remove(name, option);
};
exports.setCookie = setCookie;
exports.getCookie = getCookie;
exports.removeCookie = removeCookie;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.warning = exports.guide = exports.dashboard = exports.authorize = exports.historyReplaceMenu = exports.historyPushMenu = exports.randomString = exports.handleResponseError = exports.checkPassword = exports.prompt = exports.logout = exports.getMessage = exports.intl = exports.languageChange = exports.removeAccessToken = exports.getAccessToken = exports.setAccessToken = exports.removeCookie = exports.getCookie = exports.setCookie = exports.fileServer = exports.STRING_DEVIDER = exports.WEBSOCKET_SERVER = exports.FILE_SERVER = exports.API_HOST = exports.AUTH_URL = exports.ACCESS_TOKEN = undefined;
var _message2 = require('choerodon-hap-ui/lib/message');
var _message3 = _interopRequireDefault(_message2);
require('choerodon-hap-ui/lib/message/style');
var _url = require('url');
var _url2 = _interopRequireDefault(_url);
var _authorize = require('./authorize');
var _accessToken = require('./accessToken');
var _cookie = require('./cookie');
var _constants = require('./constants');
var _intl = require('./intl');
var _checkPassword = require('./checkPassword');
var _checkPassword2 = _interopRequireDefault(_checkPassword);
var _warning = require('../../common/warning');
var _warning2 = _interopRequireDefault(_warning);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
// 提示错误信息
function prompt(content) {
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'info';
var duration = arguments[2];
var placement = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'leftBottom';
var onClose = arguments[4];
var messageType = ['success', 'error', 'info', 'warning', 'warn', 'loading'];
if (messageType.indexOf(type) !== -1) {
_message3['default'][type](content, duration, onClose, placement);
}
}
// 处理错误相应
function handleResponseError(error) {
var response = error.response;
if (response) {
var status = response.status;
switch (status) {
case 400:
{
var mess = response.data.message;
_message3['default'].error(mess);
break;
}
default:
break;
}
}
}
// 生成指定长度的随机字符串
function randomString() {
var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 32;
var code = '';
var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var maxPos = chars.length;
for (var i = 0; i < len; i += 1) {
code += chars.charAt(Math.floor(Math.random() * (maxPos + 1)));
}
return code;
}
function historyPushMenu(history, path, domain) {
var method = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'push';
method = 'push';
if (!domain || _constants.LOCAL) {
history[method](path);
} else if (!path) {
window.location = '' + domain;
} else {
var reg = new RegExp(domain, 'g');
if (reg.test(window.location.host)) {
history[method](path);
} else {
window.location = domain + '/#' + path;
}
}
}
function historyReplaceMenu(history, path, uri) {
historyPushMenu(history, path, uri, 'replace');
}
function fileServer(path) {
return _url2['default'].resolve(_constants.FILE_SERVER, path || '');
}
exports.ACCESS_TOKEN = _constants.ACCESS_TOKEN;
exports.AUTH_URL = _constants.AUTH_URL;
exports.API_HOST = _constants.API_HOST;
exports.FILE_SERVER = _constants.FILE_SERVER;
exports.WEBSOCKET_SERVER = _constants.WEBSOCKET_SERVER;
exports.STRING_DEVIDER = _constants.STRING_DEVIDER;
exports.fileServer = fileServer;
exports.setCookie = _cookie.setCookie;
exports.getCookie = _cookie.getCookie;
exports.removeCookie = _cookie.removeCookie;
exports.setAccessToken = _accessToken.setAccessToken;
exports.getAccessToken = _accessToken.getAccessToken;
exports.removeAccessToken = _accessToken.removeAccessToken;
exports.languageChange = _intl.intl;
exports.intl = _intl.intl;
exports.getMessage = _intl.getMessage;
exports.logout = _authorize.logout;
exports.prompt = prompt;
exports.checkPassword = _checkPassword2['default'];
exports.handleResponseError = handleResponseError;
exports.randomString = randomString;
exports.historyPushMenu = historyPushMenu;
exports.historyReplaceMenu = historyReplaceMenu;
exports.authorize = _authorize.authorize;
exports.dashboard = _constants.USE_DASHBOARD;
exports.guide = _constants.USE_GUIDE;
exports.warning = _warning2['default'];
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getMessage = exports.intl = undefined;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactIntl = require('react-intl');
var _AppState = require('../stores/AppState');
var _AppState2 = _interopRequireDefault(_AppState);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
/**
* 多语言
*/
function intl(id, otherProps) {
return _react2['default'].createElement(_reactIntl.FormattedMessage, (0, _extends3['default'])({ id: id }, otherProps));
}
/**
* @deprecated
* 返回多语言字符串
*/
function getMessage(zh, en) {
var language = _AppState2['default'].currentLanguage.split('_')[0];
if (language === 'zh') {
return zh;
} else if (language === 'en') {
return en;
}
return false;
}
exports.intl = intl;
exports.getMessage = getMessage;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _modal = require('choerodon-hap-ui/lib/modal');
var _modal2 = _interopRequireDefault(_modal);
require('choerodon-hap-ui/lib/modal/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _authorize = require('./authorize');
var _axios = require('../components/axios');
var _axios2 = _interopRequireDefault(_axios);
var _AppState = require('../stores/AppState');
var _AppState2 = _interopRequireDefault(_AppState);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var modalKey = _modal2['default'].key();
function repeatLigin() {
_modal2['default'].open({
key: modalKey,
title: '提示',
children: '异地登录,请重新登录',
okCancel: false,
onOk: function onOk() {
if (_AppState2['default'].isCas) {
(0, _authorize.logout)();
} else {
_axios2['default'].post('/logout').then(function () {
(0, _authorize.authorize)();
});
}
}
});
}
exports['default'] = repeatLigin;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _modal = require('choerodon-hap-ui/lib/modal');
var _modal2 = _interopRequireDefault(_modal);
require('choerodon-hap-ui/lib/modal/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _authorize = require('./authorize');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var modalKey = _modal2['default'].key();
function sessionExpiredLogin() {
_modal2['default'].open({
key: modalKey,
title: '提示',
children: '登录超时,请重新登录',
okCancel: false,
onOk: function onOk() {
(0, _authorize.authorize)();
},
closeable: true
});
}
window.sessionExpiredLogin = sessionExpiredLogin;
exports['default'] = sessionExpiredLogin;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createAxiosInsByModuleName = require('../util/createAxiosInsByModuleName');
var _createAxiosInsByModuleName2 = _interopRequireDefault(_createAxiosInsByModuleName);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var instance = (0, _createAxiosInsByModuleName2['default'])('SINGLE_APP_SERVER');
exports['default'] = instance;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Axios = require('./Axios');
var _Axios2 = _interopRequireDefault(_Axios);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _Axios2['default'];
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _modalContainer = require('choerodon-hap-ui/lib/modal-container');
var _modalContainer2 = _interopRequireDefault(_modalContainer);
var _spin = require('choerodon-hap-ui/lib/spin');
var _spin2 = _interopRequireDefault(_spin);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class;
require('choerodon-hap-ui/lib/modal-container/style');
require('choerodon-hap-ui/lib/spin/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouterDom = require('react-router-dom');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Loading = (0, _reactRouterDom.withRouter)(_class = function (_Component) {
(0, _inherits3['default'])(Loading, _Component);
function Loading() {
(0, _classCallCheck3['default'])(this, Loading);
return (0, _possibleConstructorReturn3['default'])(this, (Loading.__proto__ || Object.getPrototypeOf(Loading)).apply(this, arguments));
}
(0, _createClass3['default'])(Loading, [{
key: 'render',
value: function render() {
return [_react2['default'].createElement(
'div',
{ key: 'entry-loading', style: { position: 'absolute', top: 0, right: 0, bottom: 0, left: 0, margin: 'auto', width: 30, height: 30 } },
_react2['default'].createElement(_spin2['default'], null)
), _react2['default'].createElement(_modalContainer2['default'], { key: 'entry-modal-container' })];
}
}]);
return Loading;
}(_react.Component)) || _class;
exports['default'] = Loading;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _button = require('choerodon-hap-ui/lib/button');
var _button2 = _interopRequireDefault(_button);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
require('choerodon-hap-ui/lib/button/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouterDom = require('react-router-dom');
require('./style/403.scss');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var NoAccess = function (_Component) {
(0, _inherits3['default'])(NoAccess, _Component);
function NoAccess() {
(0, _classCallCheck3['default'])(this, NoAccess);
return (0, _possibleConstructorReturn3['default'])(this, (NoAccess.__proto__ || Object.getPrototypeOf(NoAccess)).apply(this, arguments));
}
(0, _createClass3['default'])(NoAccess, [{
key: 'render',
value: function render() {
return _react2['default'].createElement(
'div',
{ className: 'c7n-403-page' },
_react2['default'].createElement('div', { className: 'c7n-403-page-banner' }),
_react2['default'].createElement(
'div',
{ className: 'c7n-403-page-banner-text' },
_react2['default'].createElement(
'span',
null,
'\u62B1\u6B49 \uFF0C\u60A8\u6CA1\u6709\u6743\u9650\u8BBF\u95EE\uFF01'
),
_react2['default'].createElement(
_reactRouterDom.Link,
{ to: '/' },
_react2['default'].createElement(
_button2['default'],
{ color: 'blue' },
'\u8FD4\u56DE\u9996\u9875'
)
)
)
);
}
}]);
return NoAccess;
}(_react.Component);
exports['default'] = NoAccess;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _button = require('choerodon-hap-ui/lib/button');
var _button2 = _interopRequireDefault(_button);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
require('choerodon-hap-ui/lib/button/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouterDom = require('react-router-dom');
require('./style/404.scss');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var NoMatch = function (_Component) {
(0, _inherits3['default'])(NoMatch, _Component);
function NoMatch() {
(0, _classCallCheck3['default'])(this, NoMatch);
return (0, _possibleConstructorReturn3['default'])(this, (NoMatch.__proto__ || Object.getPrototypeOf(NoMatch)).apply(this, arguments));
}
(0, _createClass3['default'])(NoMatch, [{
key: 'render',
value: function render() {
return _react2['default'].createElement(
'div',
{ className: 'c7n-404-page' },
_react2['default'].createElement('div', { className: 'c7n-404-page-banner' }),
_react2['default'].createElement(
'div',
{ className: 'c7n-404-page-banner-text' },
_react2['default'].createElement(
'span',
null,
'\u62B1\u6B49 \uFF0C\u60A8\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728\uFF01'
),
_react2['default'].createElement(
_reactRouterDom.Link,
{ to: '/' },
_react2['default'].createElement(
_button2['default'],
{ color: 'blue' },
'\u8FD4\u56DE\u9996\u9875'
)
)
)
);
}
}]);
return NoMatch;
}(_react.Component);
exports['default'] = NoMatch;
\ No newline at end of file
.c7n-403-page {
padding-top: 110px;
width: 800px;
margin: 0 auto;
text-align: right;
height: 100%;
&-banner {
width: 100%;
height: 60%;
background-image: url('./403.svg');
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
&-text {
text-align: center;
margin-top: 32px;
> span {
font-weight: 400;
font-size: 24px;
color: #000;
text-align: right;
margin-right: 10px;
}
button {
line-height: 24px;
top: 2px;
}
}
}
}
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="352" viewBox="0 0 1000 352">
<defs>
<radialGradient id="403pic-a" cx="49.015%" cy="100%" r="100%" fx="49.015%" fy="100%" gradientTransform="matrix(0 1 -.5125 0 1.003 .51)">
<stop offset="0%" stop-color="#A1B7FE" stop-opacity=".2"/>
<stop offset="100%" stop-color="#A1B7FE" stop-opacity="0"/>
</radialGradient>
<linearGradient id="403pic-b" x1="53.231%" x2="53.231%" y1="93.49%" y2="0%">
<stop offset="0%" stop-color="#A1B7FE" stop-opacity=".05"/>
<stop offset="100%" stop-color="#A1B7FE" stop-opacity=".6"/>
</linearGradient>
</defs>
<g fill="none" fill-rule="evenodd">
<rect width="1000" height="106.204" y="215" fill="url(#403pic-a)" transform="matrix(1 0 0 -1 0 536.204)"/>
<path fill="url(#403pic-b)" d="M905.777077,193.269022 L804.478399,192.954194 C804.478399,170.566412 804.478399,136.984739 804.478399,92.209176 C860.424114,92.209176 905.777077,137.45521 905.777077,193.269022 Z M94,193.269022 C94,111.969451 160.062078,46.0631275 241.553782,46.0631275 C241.553782,111.284154 241.553782,160.199924 241.553782,192.810437 L94,193.269022 Z M271.634301,150.26 L271.634301,110.88 C281.534301,99.88 281.534301,99.88 292.754301,86.68 L340.494301,30.8 C351.054301,18.7 355.234301,13.2 360.954301,4.62 L406.054301,4.62 C404.734301,17.6 404.294301,26.4 404.294301,41.14 L404.294301,112.64 L410.674301,112.64 C417.494301,112.64 424.754301,111.98 432.454301,110.88 L432.454301,150.92 C425.854301,150.04 417.714301,149.6 410.894301,149.6 L404.294301,149.6 L404.294301,160.6 C404.294301,172.92 404.734301,179.3 406.054301,187.66 L360.734301,187.66 C361.834301,180.18 362.494301,170.94 362.494301,160.16 L362.494301,149.38 L300.234301,149.38 C285.934301,149.38 279.774301,149.6 271.634301,150.26 Z M362.714301,113.08 L362.714301,87.56 C362.714301,77.66 363.154301,65.56 364.034301,55.88 C359.634301,62.04 356.334301,66.44 350.394301,73.92 L318.274301,113.08 L362.714301,113.08 Z M522.214301,191.62 C500.654301,191.62 482.394301,184.58 468.974301,171.16 C461.714301,163.9 456.214301,155.54 452.914301,146.74 C447.194301,131.12 444.334301,114.18 444.334301,96.36 C444.334301,73.26 449.834301,49.28 458.194301,35.42 C471.614301,12.98 494.494301,0.66 522.214301,0.66 C543.554301,0.66 562.254301,7.92 575.674301,21.12 C582.934301,28.38 588.434301,36.74 591.734301,45.54 C597.454301,61.16 600.314301,78.1 600.314301,96.14 C600.314301,119.24 594.814301,143.44 586.454301,157.3 C573.254301,179.3 550.154301,191.62 522.214301,191.62 Z M522.214301,37.84 C501.534301,37.84 489.434301,58.74 489.434301,94.6 C489.434301,133.98 500.654301,154.22 522.434301,154.22 C543.994301,154.22 554.994301,134.42 554.994301,95.26 C554.994301,57.64 543.554301,37.84 522.214301,37.84 Z M615.054301,139.92 L661.694301,131.78 C663.014301,139.04 664.334301,142.12 667.854301,145.86 C673.794301,152.02 682.594301,155.32 693.154301,155.32 C710.314301,155.32 721.094301,146.74 721.094301,133.32 C721.094301,124.3 716.694301,117.26 709.214301,114.4 C704.154301,112.64 697.334301,111.54 688.754301,111.54 C680.174301,111.54 670.274301,111.98 661.694301,112.86 L661.694301,75.02 C669.174301,75.9 676.434301,76.34 685.014301,76.34 C705.914301,76.34 716.254301,69.3 716.254301,55.22 C716.254301,43.34 707.894301,36.52 693.374301,36.52 C677.754301,36.52 669.834301,42.68 666.534301,56.76 L619.014301,49.94 C623.194301,36.3 626.714301,29.7 633.754301,22 C647.174301,7.48 667.414301,0 694.254301,0 C718.234301,0 738.034301,6.6 750.574301,18.7 C758.714301,26.84 762.894301,37.4 762.894301,49.94 C762.894301,73.26 750.354301,87.78 725.054301,93.72 C738.474301,95.7 745.734301,98.78 753.434301,105.38 C762.674301,113.74 767.954301,125.18 767.954301,137.94 C767.954301,149.16 764.874301,159.5 759.154301,167.2 C754.314301,173.8 746.614301,179.96 738.474301,183.7 C727.034301,188.98 709.214301,192.28 692.714301,192.28 C672.914301,192.28 653.114301,187.66 641.454301,179.96 C631.334301,173.36 623.634301,163.68 618.794301,151.58 C617.474301,148.5 616.594301,145.64 615.054301,139.92 Z"/>
<g transform="translate(266 132)">
<g transform="translate(185.052)">
<path fill="#0E1D80" fill-opacity=".1" d="M103.805703 127L306.284012 127C307.388582 127 308.284012 127.895431 308.284012 129 308.284012 129.513275 308.086676 130.006903 307.732844 130.378727L251.948083 189 43.9480835 189 102.356872 127.621273C102.73439 127.224559 103.258069 127 103.805703 127zM40.7931496 161.075531L41.6179381 161.934137C42.3611692 162.707842 42.3615396 163.930155 41.6187775 164.70431L11.8716002 195.708764C11.4944296 196.101876 10.9732167 196.324115 10.4284281 196.324115L7.81283444 196.324115C6.99179157 196.324115 6.32620482 195.658528 6.32620482 194.837485 6.32620482 194.4558 6.47301064 194.088737 6.73621668 193.812321L37.902416 161.081875C38.6641156 160.281946 39.9300663 160.250954 40.729996 161.012654 40.7515116 161.033141 40.772568 161.054105 40.7931496 161.075531zM319.466945 160.61448L320.291733 161.473086C321.034964 162.246791 321.035335 163.469104 320.292573 164.243259L290.545395 195.247713C290.168225 195.640825 289.647012 195.863064 289.102223 195.863064L286.48663 195.863064C285.665587 195.863064 285 195.197477 285 194.376434 285 193.994749 285.146806 193.627686 285.410012 193.35127L316.576211 160.620825C317.337911 159.820895 318.603861 159.789903 319.403791 160.551603 319.425307 160.57209 319.446363 160.593054 319.466945 160.61448z"/>
<g transform="translate(44.294)">
<rect width="207.235" height="15.568" y="172.108" fill="#5266D4" rx="2"/>
<polygon fill="#0E1D80" points="17.758 157.405 190.618 157.405 207.235 172.973 0 172.973"/>
<path fill="#5266D4" stroke="#303F9F" d="M190.539453,9.73420124 C190.680594,10.0082593 190.760273,10.3191443 190.760273,10.6486394 L190.760273,170.972788 C190.760273,172.077358 189.864843,172.972788 188.760273,172.972788 L19.341843,172.972788 C18.2372735,172.972788 17.341843,172.077358 17.341843,170.972788 L17.341843,10.6486394 C17.341843,10.3191443 17.421522,10.0082593 17.5626629,9.73420124 C17.4162824,9.51848658 17.341843,9.30068941 17.341843,9.08107138 C17.341843,4.06573414 56.1628809,0 104.051058,0 C151.939235,0 190.760273,4.06573414 190.760273,9.08107138 C190.760273,9.30068941 190.685834,9.51848658 190.539453,9.73420124 Z"/>
<path fill="#BBCBFF" fill-opacity=".6" fill-rule="nonzero" d="M103.183966,166.918741 L103.183966,12.9729591 L23.4114881,12.9729591 L23.4114881,166.918741 L103.183966,166.918741 Z M104.91815,166.918741 L184.690628,166.918741 L184.690628,12.9729591 L104.91815,12.9729591 L104.91815,166.918741 Z M23.4114881,11.2432312 L184.690628,11.2432312 C185.648392,11.2432312 186.424812,12.0176568 186.424812,12.9729591 L186.424812,166.918741 C186.424812,167.874043 185.648392,168.648468 184.690628,168.648468 L23.4114881,168.648468 C22.4537245,168.648468 21.6773038,167.874043 21.6773038,166.918741 L21.6773038,12.9729591 C21.6773038,12.0176568 22.4537245,11.2432312 23.4114881,11.2432312 Z"/>
<rect width="50.291" height="126.27" x="37.285" y="26.811" fill="#BBCBFF"/>
<path fill="#5266D4" fill-rule="nonzero" d="M60.6964506,49.2972446 L60.6964506,26.8107822 L64.1648192,26.8107822 L64.1648192,49.2972446 L87.5763072,49.2972446 L87.5763072,52.7567004 L64.1648192,52.7567004 L64.1648192,75.2431628 L87.5763072,75.2431628 L87.5763072,78.7026186 L64.1648192,78.7026186 L64.1648192,101.189081 L87.5763072,101.189081 L87.5763072,104.648537 L64.1648192,104.648537 L64.1648192,127.134999 L87.5763072,127.134999 L87.5763072,130.594455 L64.1648192,130.594455 L64.1648192,153.080917 L60.6964506,153.080917 L60.6964506,130.594455 L37.2849625,130.594455 L37.2849625,127.134999 L60.6964506,127.134999 L60.6964506,104.648537 L37.2849625,104.648537 L37.2849625,101.189081 L60.6964506,101.189081 L60.6964506,78.7026186 L37.2849625,78.7026186 L37.2849625,75.2431628 L60.6964506,75.2431628 L60.6964506,52.7567004 L37.2849625,52.7567004 L37.2849625,49.2972446 L60.6964506,49.2972446 Z"/>
<rect width="50.291" height="126.27" x="120.526" y="26.811" fill="#BBCBFF"/>
<path fill="#5266D4" fill-rule="nonzero" d="M143.937297,49.2972446 L143.937297,26.8107822 L147.405666,26.8107822 L147.405666,49.2972446 L170.817154,49.2972446 L170.817154,52.7567004 L147.405666,52.7567004 L147.405666,75.2431628 L170.817154,75.2431628 L170.817154,78.7026186 L147.405666,78.7026186 L147.405666,101.189081 L170.817154,101.189081 L170.817154,104.648537 L147.405666,104.648537 L147.405666,127.134999 L170.817154,127.134999 L170.817154,130.594455 L147.405666,130.594455 L147.405666,153.080917 L143.937297,153.080917 L143.937297,130.594455 L120.525809,130.594455 L120.525809,127.134999 L143.937297,127.134999 L143.937297,104.648537 L120.525809,104.648537 L120.525809,101.189081 L143.937297,101.189081 L143.937297,78.7026186 L120.525809,78.7026186 L120.525809,75.2431628 L143.937297,75.2431628 L143.937297,52.7567004 L120.525809,52.7567004 L120.525809,49.2972446 L143.937297,49.2972446 Z"/>
<g transform="translate(90.178 81.297)">
<rect width="3.468" height="16.432" x="6.07" fill="#FAFAFA" rx="1.734"/>
<rect width="1.734" height="11.243" x="6.937" y="2.595" fill="#D3D3D3" rx=".867"/>
<rect width="8.671" height="2.595" y="8.649" fill="#5266D4" rx="1.297"/>
</g>
<g transform="matrix(-1 0 0 1 117.925 81.297)">
<rect width="3.468" height="16.432" x="6.07" fill="#FAFAFA" rx="1.734"/>
<rect width="1.734" height="11.243" x="6.937" y="2.595" fill="#D3D3D3" rx=".867"/>
<rect width="8.671" height="2.595" y="8.649" fill="#5266D4" rx="1.297"/>
</g>
</g>
<g transform="translate(0 102.054)">
<g transform="translate(276.675)">
<rect width="1.734" height="10.378" x="9.538" y="4.324" fill="#D8D8D8"/>
<rect width="5.937" height="83.757" x="7.437" y="10.014" fill="#A1B7FE" stroke="#5266D4" rx="2"/>
<ellipse cx="10.405" cy="3.459" fill="#A1B7FE" stroke="#5266D4" rx="3.468" ry="3.459"/>
<rect width="13.873" height="3.459" x="3.468" y="11.243" fill="#D8D8D8" rx="1.73"/>
<path stroke="#979797" stroke-linecap="round" stroke-linejoin="round" d="M5.20255291,12.9729591 C5.20255291,11.5400056 4.03792177,10.3783673 2.60127645,10.3783673 C1.16463114,10.3783673 0,11.5400056 0,12.9729591 C0,14.4059126 1.16463114,15.5675509 2.60127645,15.5675509"/>
</g>
<g transform="matrix(-1 0 0 1 18.281 0)">
<rect width="1.734" height="10.378" x="9.538" y="4.324" fill="#D8D8D8"/>
<rect width="5.937" height="83.757" x="7.437" y="10.014" fill="#A1B7FE" stroke="#5266D4" rx="2"/>
<ellipse cx="10.405" cy="3.459" fill="#A1B7FE" stroke="#5266D4" rx="3.468" ry="3.459"/>
<rect width="13.873" height="3.459" x="3.468" y="11.243" fill="#D8D8D8" rx="1.73"/>
<path stroke="#979797" stroke-linecap="round" stroke-linejoin="round" d="M5.20255291,12.9729591 C5.20255291,11.5400056 4.03792177,10.3783673 2.60127645,10.3783673 C1.16463114,10.3783673 0,11.5400056 0,12.9729591 C0,14.4059126 1.16463114,15.5675509 2.60127645,15.5675509"/>
</g>
<g transform="translate(17.414 10.378)">
<path fill="#F49130" d="M4.96573765,2.71578596 C46.5633232,17.5690428 88.8407463,24.9245173 131.798007,24.7822096 C174.757601,24.6398942 217.037284,17.0034866 258.637055,1.87298693 L258.637058,1.87299331 C259.88442,1.41930773 261.263392,2.06270991 261.717077,3.31007229 C261.812841,3.57336522 261.86183,3.8513751 261.86183,4.13154269 L261.861839,4.72670357 C261.861839,6.43776627 260.773503,7.95934529 259.15421,8.51217988 C216.015641,23.2399001 173.563573,30.6729402 131.798007,30.8113001 C90.2181519,30.9490448 47.9578869,23.861345 5.017212,9.54820066 L5.01721148,9.54820223 C3.05662291,8.8946916 1.7341843,7.05992283 1.7341843,4.99328699 L1.7341843,4.99328699 C1.7341843,3.6576826 2.81690558,2.57496132 4.15250997,2.57496132 C4.42965199,2.57496132 4.70473183,2.6225998 4.96573409,2.71579592 Z"/>
<path fill="#FFF" fill-opacity=".9" stroke="#F49130" d="M112.311947,23.403823 C118.22924,23.9722115 124.146533,24.2564057 130.063826,24.2564057 C135.981112,24.2564057 141.898399,23.9722121 147.815685,23.403825 L147.815683,23.4038032 C148.915204,23.2981883 149.892159,24.1039082 149.997774,25.2034291 C150.00388,25.2669905 150.006938,25.3308078 150.006938,25.3946617 L150.006918,29.9842921 C150.006918,31.01319 149.226269,31.8742083 148.202292,31.974709 C142.156136,32.5681228 136.109981,32.8648297 130.063826,32.8648297 C124.017676,32.8648297 117.971525,32.5681233 111.925375,31.9747104 L111.925373,31.9747261 C110.901377,31.8742237 110.120715,31.0131902 110.120715,29.9842742 L110.1207,25.3946739 C110.1207,24.2900965 111.016137,23.3946597 112.120715,23.3946597 C112.184568,23.3946597 112.248386,23.3977176 112.311947,23.403823 Z"/>
<path fill="#FFF" fill-opacity=".9" stroke="#F49130" d="M242.186147,3.45313756 L256.664401,3.46299744 C259.054077,3.46462485 260.990888,5.40143241 260.992519,7.79110909 L260.992519,7.79110909 C260.994147,10.1765776 259.061662,12.1117017 256.676194,12.1133298 C256.674231,12.1133311 256.672268,12.1133311 256.670305,12.1133298 L242.186596,12.1034662 C241.083092,12.1027147 240.188712,11.208336 240.187959,10.1048316 L240.184785,5.4545021 C240.184031,4.34993286 241.07885,3.45389144 242.18342,3.45313757 C242.184329,3.45313695 242.185238,3.45313695 242.186147,3.45313756 Z" transform="rotate(-16 250.589 7.783)"/>
<path fill="#FFF" fill-opacity=".9" stroke="#F49130" d="M184.730362,17.5054931 L206.74149,17.515824 C207.845439,17.5162624 208.740256,18.4110793 208.740696,19.5150278 L208.745727,24.1642115 C208.746167,25.2687809 207.851093,26.1645678 206.746523,26.1650075 C206.745993,26.1650077 206.745463,26.1650077 206.744933,26.1650075 L184.733805,26.1530869 C183.629857,26.1526486 182.735039,25.2578316 182.7346,24.1538832 L182.729568,19.5046995 C182.729129,18.40013 183.624203,17.5043432 184.728772,17.5039035 C184.729302,17.5039033 184.729832,17.5039033 184.730362,17.5039035 Z" transform="rotate(-9 195.738 21.834)"/>
<path fill="#FFF" fill-opacity=".9" stroke="#F49130" d="M58.8318407,6.74189569 L72.7519495,2.76062594 C75.0495027,2.10350614 77.4451409,3.43142776 78.1053928,5.72808286 C78.7644821,8.02069357 77.4402513,10.4135192 75.1476406,11.0726084 C75.1457539,11.0731508 75.1438668,11.0736919 75.1419793,11.0742317 L61.2166267,15.0570012 C60.1556631,15.3604459 59.0494057,14.7472385 58.7445147,13.6866896 L57.4596593,9.21738077 C57.1544741,8.15580846 57.767647,7.04783257 58.8292193,6.74264736 C58.8300929,6.74239621 58.8309667,6.74214565 58.8318407,6.74189569 Z M1.70568248,19.6977324 L23.4474334,16.264637 C24.537859,16.0923744 25.5616404,16.8361943 25.73477,17.9264826 L26.4670317,22.5176401 C26.6402586,23.6085417 25.8963364,24.6333203 24.8054349,24.8065473 C24.8049113,24.8066304 24.8043878,24.8067134 24.8038642,24.8067961 L3.0618652,28.2383213 C1.97143963,28.410584 0.947658275,27.666764 0.774528679,26.5764758 L0.0422669814,21.9853182 C-0.13096,20.8944167 0.612962223,19.869638 1.70386377,19.696411 C1.70438729,19.6963279 1.70491085,19.696245 1.70543443,19.6961623 L1.70568248,19.6977324 Z" transform="matrix(-1 0 0 1 78.274 0)"/>
</g>
</g>
</g>
<g transform="translate(0 43.705)">
<ellipse cx="86.254" cy="156.259" fill="#0E1D80" fill-opacity=".1" rx="86.254" ry="19.867"/>
<g transform="translate(16.42 .205)">
<path fill="#F49130" d="M18.5309138,69.254723 C14.4929644,68.227479 10.4331882,67.3578545 5.9805305,69.254723 C3.79785513,70.1623936 2.29180913,72.2114464 1.06951093,74.6898763 C-0.540212153,84.4079303 1.66974665,90.5822644 5.9805305,94.7999434 C10.7715029,96.3978784 14.7657988,95.5934757 18.5309138,94.7999434 L18.5309138,69.254723 Z"/>
<path fill="#0E1D80" d="M21.2592581,77.2607038 L25.6246088,87.8157714 L29.6025346,117.002544 L32.800154,153.499599 L38.1749921,153.499599 C39.9156757,137.965931 41.4490052,121.97571 41.994674,115.997041 C42.5403429,110.018373 42.1583747,78.8966849 40.0193528,77.2661389 L21.2592581,77.2607038 Z"/>
<path fill="#0E1D80" d="M10.8915501,74.6898763 L27.8072841,74.6898763 C29.4824875,86.3374097 25.6246088,110.801035 25.6246088,110.801035 C23.9275787,121.013688 17.4395762,153.499599 17.4395762,153.499599 L10.8915501,153.499599 L12.5285566,112.431581 L10.8915501,74.6898763 Z"/>
<path fill="#F49130" d="M45.8143559 158.804308C42.5403429 159.771766 34.3553102 159.771766 31.626966 158.32058 30.3064474 156.3911 33.3894764 153.494164 32.7183037 153.494164L38.1749921 153.494164C38.1749921 153.494164 48.5427001 157.358558 45.8143559 158.804308zM11.1589278 152.956083C11.1589278 152.956083 8.47969379 156.266092 9.68562193 157.929249 10.8915501 159.592406 24.5332711 160.173967 24.5332711 158.391237 24.5332711 156.608506 17.6578437 152.956083 17.6578437 152.956083L11.1589278 152.956083z"/>
<path fill="#7589F2" d="M13.6198943,42.0789566 C13.6198943,42.0789566 7.61753702,55.1233245 7.61753702,60.5584778 C7.61753702,65.993631 17.985245,68.1676923 17.985245,68.1676923 L19.6222515,43.1659873 L13.6198943,42.0789566 Z"/>
<path fill="#FFE4A8" d="M39.0808024,6.83198766 C40.330416,7.80015587 41.3715083,9.00904579 42.1420046,10.3865779 C43.1624053,12.4193252 44.1828061,20.5448794 44.1828061,20.5448794 L42.1420046,20.5448794 C42.1420046,20.5448794 41.1216039,25.6213125 39.0808024,27.1485906 C36.5325289,27.6540598 30.4101245,26.6431213 30.4101245,26.6431213 L25.3135775,28.1649643 L25.3135775,5.33732051 L39.0808024,6.83198766 Z"/>
<path fill="#5266D4" d="M23.4419334,29.6161502 C27.4576507,29.6297758 31.4028502,30.6683208 34.9009791,32.6326602 C39.8119987,38.4210985 43.6316805,88.8049693 41.4490052,90.7398839 C39.2663298,92.6747984 14.1655631,90.7398839 11.4372189,88.8104045 C8.70887471,86.880925 12.5285566,45.0574206 18.5309138,34.1218922 C21.2592581,30.2629334 23.4419334,29.6161502 23.4419334,29.6161502 Z"/>
<polygon fill="#FFE4A8" points="55.964 61.14 56.389 66.043 69.982 64.874 69.818 62.423"/>
<ellipse cx="71.447" cy="63.319" fill="#FFE4A8" rx="3.798" ry="2.707" transform="rotate(-4.92 71.447 63.319)"/>
<path fill="#7589F2" d="M32.7183037,32.8391961 C25.0789399,35.0132574 29.4442907,45.8835639 31.0812972,48.6011406 C32.7183037,51.3187172 39.2663298,63.8195697 43.6316805,65.4501157 C47.9970313,67.0806617 56.7277327,66.5371464 56.7277327,66.5371464 L56.7277327,61.1019931 C56.7277327,61.1019931 50.7253755,58.9279318 48.5427001,57.2973858 C46.3600247,55.6668398 40.3576675,30.6651348 32.7183037,32.8391961 Z"/>
<polygon fill="#FFE4A8" points="24.806 29.687 32.456 31.209 32.964 27.149 25.827 25.116"/>
<path fill="#F49130" d="M11.4224652,46.1781804 L11.4224652,46.1781804 C12.1156857,46.1760199 12.6794034,46.7362347 12.6815639,47.4294552 C12.6815721,47.4320774 12.681572,47.4346996 12.6815638,47.4373217 L12.598983,73.6483216 C12.5967811,74.3471771 12.030781,74.913158 11.3319254,74.9153361 L11.3319254,74.9153361 C10.6387049,74.9174965 10.0749873,74.3572817 10.0728268,73.6640612 C10.0728186,73.661439 10.0728186,73.6588168 10.0728269,73.6561947 L10.1554077,47.4451948 C10.1576095,46.7463393 10.7236097,46.1803584 11.4224652,46.1781804 Z" transform="rotate(15 11.377 60.547)"/>
<path fill="#0E1D80" d="M21.2592581 50.2316865C24.5332711 49.1446559 27.2616153 44.2530179 27.2616153 44.2530179 27.2616153 44.2530179 29.9899595 36.100288 32.1726349 34.469742 34.3553102 32.8391961 35.4466479 33.3827114 35.4466479 33.3827114L32.7183037 30.6651348C32.7183037 30.6651348 26.0393171 30.4640341 25.0789399 27.9475581 25.0789399 27.9475581 15.2569008 33.9262267 13.6198943 39.36138 12.5285566 43.1659873 13.0742254 46.9705946 15.2569008 49.1446559 17.4395762 51.3187172 17.985245 51.3187172 21.2592581 50.2316865zM33.4713267.228276437C29.9026525.228276437 23.7857048 2.26102376 21.7449033 6.83198766 19.7041019 11.4029516 21.7449033 21.0503486 23.7857048 23.0830959 25.8265063 25.1158433 27.8673077 24.0994696 29.3951805 22.5776267 30.9230532 21.0557838 32.4836661 16.2348028 30.9230532 12.9302296 30.9230532 12.9302296 32.450926 13.9466033 35.5121282 13.9466033 38.5733304 13.9466033 42.1420046 14.4520725 44.6902781 9.88110865 47.2385516 5.31014475 37.0400009.228276437 33.4713267.228276437z"/>
<path fill="#FFE4A8" d="M33.4276732,14.7727466 C33.4713267,16.9902891 33.5695471,18.2077635 32.3363355,18.4523454 C31.1031239,18.6969273 31.0212736,18.3762532 29.9572194,17.1750843 C28.8931651,15.9739155 27.8291109,12.1801785 31.0485571,11.9736427 C32.3145088,11.8921154 33.3894764,12.5552041 33.4276732,14.7727466 Z"/>
</g>
<g transform="translate(86.42)">
<path fill="#FFE4A8" d="M38.0934166,87.4046808 C38.0934166,87.4046808 30.1028781,113.781725 30.6022867,117.474511 C31.1016954,121.167297 34.0981473,152.81975 34.0981473,152.81975 L30.6022867,156.512537 C32.4351165,157.78391 35.871048,157.298573 39.5916425,156.512537 L38.0934166,151.237128 C38.0934166,151.237128 42.5880944,111.671561 42.0886858,116.419429 C41.5892771,121.167297 49.5798156,85.2945172 49.5798156,85.2945172 L38.0934166,87.4046808 Z"/>
<path fill="#FFE4A8" d="M26.8962791,120.599811 C29.0918588,123.824122 45.850779,145.518298 50.0959021,151.001209 C50.6992922,151.782995 50.8621795,152.841302 50.5239395,153.782243 L49.8390797,155.692555 C49.6652367,156.178965 49.3673918,156.606078 48.9779693,156.927397 C48.549932,157.280963 48.0463587,157.76118 48.0463587,158.067252 C48.0463587,158.373324 49.7685795,158.315276 51.0677986,158.209734 C51.9962251,158.1362 52.8226136,157.565519 53.2533069,156.700482 C54.1446317,154.916821 55.5798156,151.951088 55.5798156,151.207016 C55.5798156,150.65292 54.4669186,149.660825 53.4144503,148.842874 C52.1582584,147.871983 51.1837844,146.554859 50.5994755,145.038081 L40.0244357,117.597139 C39.982881,117.490429 39.9475655,117.381167 39.9186853,117.269959 L31.4989393,84.4199843 C31.1628722,83.0641363 29.9333379,82.1678108 28.6033927,82.3091426 L24.0057682,82.836853 C22.5230518,82.9976949 21.44416,84.3855774 21.593652,85.9397903 C22.4094408,94.1245791 24.821557,117.560199 26.8962791,120.599811 Z"/>
<path fill="#5266D4" d="M55.5669955 150.324688C56.5432133 149.992303 57.5798156 152.504261 57.5798156 153.049155 57.5798156 153.594048 54.7316751 158.688801 54.0573804 159.042982 53.3830857 159.397163 48.8944968 159.35902 48.01892 159.042982 46.9521254 158.661557 47.9082149 156.318515 50.0317402 156.318515L53.0509703 156.318515C53.0509703 156.318515 54.6561944 152.885687 55.5669955 150.324688zM31.5318219 155.739844C28.7536285 155.966279 27.1833452 157.666947 27.6665093 158.630498 28.1496734 159.594049 32.2855579 159.271259 34.4308064 159.112273 36.8466268 158.630498 38.2961191 158.630498 39.2624472 157.666947 39.7456113 156.22162 39.7456113 154.91119 38.7792832 154.294517 38.7792832 154.294517 35.8802987 156.703395 34.4308064 156.703395 33.3983693 156.631526 32.4010178 156.30003 31.5318219 155.739844z"/>
<path fill="#0E1D80" d="M19.5798156,88.7171268 C19.5798156,88.7171268 23.5798156,118.722673 25.0798156,119.249086 C26.5798156,119.775499 33.0798156,115.564195 36.5798156,115.037782 C40.0798156,114.511368 41.5798156,117.143434 43.5798156,116.617021 C45.5798156,116.090608 49.5798156,85.5586482 49.5798156,85.5586482 L34.0798156,80.2945172 L19.5798156,88.7171268 Z"/>
<path fill="#5266D4" d="M45.5852101,31.2945172 L39.5162707,31.2945172 L31.4243515,39.2017159 L35.4703111,31.2945172 C35.4703111,31.2945172 28.8956267,34.9845433 25.861157,39.2017159 C22.8266873,43.4188885 22.3209423,42.8917419 21.3094524,49.2175008 C20.2979625,55.5432597 24.8496671,65.0318981 22.8266873,72.4119501 C20.8037075,79.7920022 17.7692378,84.0091748 18.7807277,88.753494 C21.8151974,91.3892269 32.9415863,83.4820282 41.0335056,84.5363214 C49.1254248,85.5906145 48.1139349,87.6992008 50.1369147,86.1177611 C52.1598945,84.5363214 46.5967001,54.4889666 46.5967001,60.8147255 C46.5967001,67.1404844 49.1254248,34.4573967 49.1254248,34.4573967 L45.5852101,31.2945172 Z"/>
<path fill="#FFE4A8" d="M23.0798156,43.2945172 L35.7948156,56.2962896 L37.5798156,48.0243455 L46.5798156,50.1264914 C46.5798156,50.1264914 41.0798156,67.469195 39.0798156,68.5202679 C37.0798156,69.5713409 36.5798156,70.0968773 32.5798156,66.418122 C28.5798156,62.7393667 19.5798156,43.2945172 19.5798156,43.2945172 L23.0798156,43.2945172 Z"/>
<path fill="#7589F2" d="M43.9617175,30.4993475 C39.8987319,32.64937 38.7661746,36.1216564 36.8514926,40.1744489 C35.5310223,43.9369884 35.327873,49.8495503 35.8357462,51.4620672 C36.3436194,53.0745841 43.9617175,55.7621123 45.4853371,55.2246067 C47.0089568,54.687101 51.5798156,44.474494 51.5798156,38.561932 C51.5798156,32.64937 47.0089568,29.4243362 43.9617175,30.4993475 Z"/>
<polygon fill="#F49130" points=".58 32.815 17.58 32.295 28.58 57.295 12.58 57.295"/>
<path fill="#FFE4A8" d="M19.5798156 37.2945172C19.900377 37.8639775 20.5219041 38.2414694 21.2221794 38.2920263 22.3170885 38.2920263 24.2003323 38.8306812 24.5069068 39.78829 24.9558196 41.1798152 23.1984904 44.5663586 22.8645431 44.2770809L19.5798156 37.2945172zM8.86110732 50.3290223C9.77320478 50.045989 14.922755 51.560465 14.5617164 52.8117697 13.9298989 55.0164495 11.6639068 55.2945172 11.2363611 55.2945172 10.5665395 55.2945172 7.67823093 50.6964689 8.86110732 50.3290223z"/>
<polygon fill="#FFE4A8" points="35.26 23.357 35.26 30.795 30.58 39.295 40.46 30.795 43.58 30.795 42.54 22.295"/>
<path fill="#FFE4A8" d="M34.0801447,4.44228355 C34.0801447,4.44228355 29.5302256,13.5702904 29.5802247,15.7180567 C29.6352237,18.1181856 30.5802069,25.9199468 32.5801713,26.9938299 C34.5801358,28.0677131 41.0800202,25.9199468 41.0800202,25.9199468 L52.5798156,14.107232 L42.0800024,2.29451722 L34.0801447,4.44228355 Z"/>
<path fill="#0E1D80" d="M33.6930232,6.92153987 C34.7118911,6.92153987 34.2024571,11.1876762 35.2213251,12.7874773 C36.240193,14.3872784 37.2590609,14.9205454 38.7873628,15.9870795 C39.6604874,16.5354763 40.0771916,17.6259739 39.8062307,18.6534146 L43.3722685,17.0536135 C44.9718911,19.9812496 41.8439666,22.3862839 41.8439666,22.3862839 C41.8439666,22.3862839 39.2967968,25.5858861 41.8439666,27.1856872 C43.3722685,27.7189543 44.3911364,26.1191531 44.3911364,26.1191531 C44.3911364,26.1191531 46.9383062,27.7189543 48.4666081,26.1191531 C49.99491,24.519352 50.5043439,23.0901964 49.485476,20.2532158 C52.2415137,20.3225405 54.1162307,18.712074 54.5798156,14.3872784 C54.1722685,10.8730486 53.2145326,7.81209582 48.976042,7.4548069 C48.976042,4.78847173 48.3035892,2.31411268 44.9005703,0.522335443 C41.940759,-0.0109315927 39.1796269,0.341024651 36.7496269,2.12213655 C35.2569854,1.27957463 32.6741552,1.05560248 31.1458534,2.12213655 C29.6175515,3.18867062 28.5986835,6.92153987 29.1081175,9.05460801 C29.1081175,9.05460801 27.5798156,9.58787505 27.5798156,12.2542102 C27.5798156,14.9205454 29.1081175,14.9205454 29.1081175,14.9205454 C29.3832118,15.0911909 30.6364194,12.7874773 30.6364194,12.7874773 C30.6364194,12.7874773 33.1835892,6.92153987 33.6930232,6.92153987 Z"/>
<path fill="#FFE4A8" d="M39.968143,18.0672272 C39.4766188,19.9995281 39.3755577,21.5399257 40.115141,22.1332238 C40.8547242,22.7265218 42.3798275,21.5889136 43.1607539,20.2553539 C43.7697326,19.1705765 43.7101005,17.741947 43.013756,16.7336674 C42.3706401,15.7920109 40.7674442,16.4234107 39.968143,18.0672272 Z"/>
</g>
</g>
</g>
</g>
</svg>
.c7n-404-page {
padding-top: 110px;
width: 800px;
margin: 0 auto;
text-align: right;
height: 100%;
&-banner {
width: 100%;
height: 60%;
background-image: url('./404.svg');
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
&-text {
text-align: center;
margin-top: 32px;
> span {
font-weight: 400;
font-size: 24px;
color: #000;
text-align: right;
margin-right: 10px;
}
button {
line-height: 24px;
top: 3px;
}
}
}
}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="900" height="297" viewBox="0 0 900 297">
<defs>
<radialGradient id="404pic-a" cx="49.015%" cy="100%" r="100%" fx="49.015%" fy="100%" gradientTransform="matrix(0 1 -.5125 0 1.003 .51)">
<stop offset="0%" stop-color="#A1B7FE" stop-opacity=".2"/>
<stop offset="100%" stop-color="#A1B7FE" stop-opacity="0"/>
</radialGradient>
<linearGradient id="404pic-b" x1="53.231%" x2="53.231%" y1="93.49%" y2="0%">
<stop offset="0%" stop-color="#A1B7FE" stop-opacity=".05"/>
<stop offset="100%" stop-color="#A1B7FE" stop-opacity=".6"/>
</linearGradient>
<path id="404pic-c" d="M214.798363,107.373342 C214.798363,48.0726827 166.714112,0 107.399182,0 C48.0842514,0 0,48.0726827 0,107.373342"/>
</defs>
<g fill="none" fill-rule="evenodd">
<rect width="900" height="95.584" y="192.845" fill="url(#404pic-a)" transform="matrix(1 0 0 -1 0 481.274)"/>
<path fill="url(#404pic-b)" d="M243.252177,135.558632 L243.252177,99.8748156 C252.244169,89.9072691 252.244169,89.9072691 262.435094,77.9462134 L305.796479,27.3110773 C315.387937,16.3467762 319.184556,11.363003 324.379929,3.58831673 L365.34345,3.58831673 C364.144517,15.3500216 363.744873,23.3240587 363.744873,36.680571 L363.744873,101.469623 L369.539713,101.469623 C375.734196,101.469623 382.328324,100.87157 389.322096,99.8748156 L389.322096,136.156685 C383.327434,135.359281 375.934018,134.960579 369.739535,134.960579 L363.744873,134.960579 L363.744873,144.928126 C363.744873,156.091778 364.144517,161.872955 365.34345,169.44829 L324.180107,169.44829 C325.179218,162.670358 325.778684,154.297619 325.778684,144.529424 L325.778684,134.761228 L269.229044,134.761228 C256.24061,134.761228 250.645593,134.960579 243.252177,135.558632 Z M325.978506,101.868325 L325.978506,78.7436171 C325.978506,69.7728253 326.37815,58.8085242 327.177438,50.0370833 C323.180997,55.6189093 320.183666,59.6059279 314.788471,66.3838595 L285.614452,101.868325 L325.978506,101.868325 Z M470.849492,173.036607 C451.266931,173.036607 434.681701,166.657377 422.492556,154.49697 C415.898428,147.91839 410.902877,140.343054 407.905546,132.369017 C402.710173,118.215101 400.112486,102.86508 400.112486,86.7176543 C400.112486,65.7858067 405.108037,44.0565554 412.701275,31.4974468 C424.89042,11.163652 445.671914,0 470.849492,0 C490.232231,0 507.217105,6.57858067 519.40625,18.5396364 C526.000377,25.1182171 530.995929,32.6935524 533.993259,40.6675896 C539.188633,54.8215056 541.786319,70.1715271 541.786319,86.5183033 C541.786319,107.450151 536.790768,129.378753 529.19753,141.937862 C517.208207,161.872955 496.226892,173.036607 470.849492,173.036607 Z M470.849492,33.6903071 C452.066219,33.6903071 441.076006,52.6286453 441.076006,85.1228468 C441.076006,120.806663 451.266931,139.146949 471.049314,139.146949 C490.631875,139.146949 500.622977,121.205365 500.622977,85.7208996 C500.622977,51.6318907 490.232231,33.6903071 470.849492,33.6903071 Z M552.177066,135.558632 L552.177066,99.8748156 C561.169058,89.9072691 561.169058,89.9072691 571.359983,77.9462134 L614.721368,27.3110773 C624.312826,16.3467762 628.109445,11.363003 633.304818,3.58831673 L674.268338,3.58831673 C673.069406,15.3500216 672.669762,23.3240587 672.669762,36.680571 L672.669762,101.469623 L678.464601,101.469623 C684.659085,101.469623 691.253213,100.87157 698.246984,99.8748156 L698.246984,136.156685 C692.252323,135.359281 684.858907,134.960579 678.664423,134.960579 L672.669762,134.960579 L672.669762,144.928126 C672.669762,156.091778 673.069406,161.872955 674.268338,169.44829 L633.104996,169.44829 C634.104106,162.670358 634.703572,154.297619 634.703572,144.529424 L634.703572,134.761228 L578.153932,134.761228 C565.165499,134.761228 559.570482,134.960579 552.177066,135.558632 Z M634.903395,101.868325 L634.903395,78.7436171 C634.903395,69.7728253 635.303039,58.8085242 636.102327,50.0370833 C632.105886,55.6189093 629.108555,59.6059279 623.71336,66.3838595 L594.539341,101.868325 L634.903395,101.868325 Z M814.826498,173.18612 L723.657688,172.902775 C723.657688,152.753771 723.657688,122.530266 723.657688,82.2322584 C774.008832,82.2322584 814.826498,122.953689 814.826498,173.18612 Z M84.2271293,173.18612 C84.2271293,100.016506 143.683,40.7008147 217.025533,40.7008147 C217.025533,99.3997384 217.025533,143.423931 217.025533,172.773393 L84.2271293,173.18612 Z"/>
<g transform="translate(155.205 135.331)">
<g fill="#0E1D80" fill-opacity=".1" transform="translate(182.329 31.515)">
<path d="M29.1393128,78.3550606 C44.3128996,78.3550606 56.613522,74.2558396 56.613522,69.1991943 C56.613522,64.1425489 44.3128996,60.0433279 29.1393128,60.0433279 C13.965726,60.0433279 1.66510359,64.1425489 1.66510359,69.1991943" transform="rotate(-11 29.14 69.2)"/>
<path d="M62.8514963,24.3309509 C78.0250831,24.3309509 90.3257055,20.2317299 90.3257055,15.1750845 C90.3257055,10.1184392 78.0250831,6.01921818 62.8514963,6.01921818 C47.6779095,6.01921818 35.3772871,10.1184392 35.3772871,15.1750845" transform="rotate(-11 62.851 15.175)"/>
<path d="M302.717535,100.0253 C311.968888,98.551956 318.359972,95.4045039 318.359972,91.7595989 C318.359972,86.7029535 306.059349,82.6037325 290.885762,82.6037325 C275.712176,82.6037325 263.411553,86.7029535 263.411553,91.7595989" transform="rotate(-11 290.886 91.315)"/>
<path d="M401.791198,81.7135674 C411.042551,80.2402233 417.433635,77.0927711 417.433635,73.4478661 C417.433635,68.3912208 405.133013,64.2919998 389.959426,64.2919998 C374.785839,64.2919998 362.485217,68.3912208 362.485217,73.4478661" transform="rotate(-11 389.96 73.003)"/>
<path d="M405.030284,51.79855 C420.203871,51.79855 432.504493,47.699329 432.504493,42.6426836 C432.504493,37.5860383 420.203871,33.4868173 405.030284,33.4868173 C389.856697,33.4868173 377.556075,37.5860383 377.556075,42.6426836" transform="rotate(-11 405.03 42.643)"/>
</g>
<path fill="#F49130" d="M254.760849,56.5999012 C254.760849,25.3406389 229.414112,0 198.147327,0 C166.880542,0 141.533805,25.3406389 141.533805,56.5999012"/>
<g transform="translate(0 2.497)">
<mask id="404pic-d" fill="#fff">
<use xlink:href="#404pic-c"/>
</mask>
<use fill="#5266D4" xlink:href="#404pic-c"/>
<path fill="#BBCBFF" fill-opacity=".2" d="M14.6410781,-25.4192697 L117.044949,-25.4192697 L117.044949,-9.60459142 L14.6410781,-9.60459142 L14.6410781,-25.4192697 Z M14.052375,4.59736076 L116.456246,4.59736076 L116.456246,20.412039 L14.052375,20.412039 L14.052375,4.59736076 Z M13.463672,35.791114 L115.867543,35.791114 L115.867543,51.6057923 L13.463672,51.6057923 L13.463672,35.791114 Z M13.463672,66.3963058 L115.867543,66.3963058 L115.867543,82.2109841 L13.463672,82.2109841 L13.463672,66.3963058 Z M18.1732962,97.0014977 L120.577167,97.0014977 L120.577167,112.816176 L18.1732962,112.816176 L18.1732962,97.0014977 Z" mask="url(#404pic-d)" transform="rotate(45 67.02 43.698)"/>
</g>
<path fill="#5266D4" d="M588.614119,83.2351488 C588.614119,37.2656455 551.339505,0 505.358939,0 C459.378373,0 422.10376,37.2656455 422.10376,83.2351488"/>
<path fill="#0E1D80" d="M266.416574 65.7557675C266.416574 55.6424768 258.029786 47.4440348 247.684159 47.4440348 237.338532 47.4440348 228.951744 55.6424768 228.951744 65.7557675M409.615483 52.4381437C409.615483 39.1069878 398.619472 28.2999506 385.055205 28.2999506 371.490938 28.2999506 360.494927 39.1069878 360.494927 52.4381437"/>
<path fill="#A1B7FE" d="M457.903487,109.870396 C457.903487,80.4499143 433.674988,56.5999012 403.78762,56.5999012 C373.900253,56.5999012 349.671754,80.4499143 349.671754,109.870396"/>
<path fill="#0E1D80" d="M486.210248,129.014481 C486.210248,113.38485 473.53688,100.71453 457.903487,100.71453 C442.270095,100.71453 429.596726,113.38485 429.596726,129.014481"/>
<path fill="#0E1D80" fill-opacity=".1" d="M78.5270631,127.598241 C90.4934347,127.63551 108.442992,127.691415 132.375735,127.765953 C132.375735,83.8650777 96.7784795,62.4263616 52.867039,62.4263616 C52.867039,86.5066191 52.867039,99.8556956 52.867039,111.519483" transform="matrix(-1 0 0 1 185.243 0)"/>
<path fill="#A1B7FE" d="M106.982906,127.765953 C106.982906,83.8650777 71.3856497,48.2763863 27.4742092,48.2763863 C27.4742092,83.4950245 27.4742092,109.909003 27.4742092,127.518322" transform="matrix(-1 0 0 1 134.457 0)"/>
<path fill="#F49130" d="M583.202532,111.118924 C583.202532,82.8476791 560.278645,59.9293071 532.000597,59.9293071 C532.000597,82.6093726 532.000597,99.6194217 532.000597,110.959454"/>
<g fill="#BBCBFF" fill-opacity=".6" transform="translate(462.066 16.647)">
<g transform="translate(0 49.109)">
<ellipse cx="54.116" cy="3.329" rx="3.33" ry="3.329"/>
<ellipse cx="41.628" cy="3.329" rx="3.33" ry="3.329"/>
<ellipse cx="29.139" cy="3.329" rx="3.33" ry="3.329"/>
<ellipse cx="15.818" cy="3.329" rx="3.33" ry="3.329"/>
<ellipse cx="3.33" cy="3.329" rx="3.33" ry="3.329"/>
</g>
<g transform="translate(12.488 37.456)">
<ellipse cx="41.628" cy="3.329" rx="3.33" ry="3.329"/>
<ellipse cx="29.139" cy="3.329" rx="3.33" ry="3.329"/>
<ellipse cx="16.651" cy="3.329" rx="3.33" ry="3.329"/>
<ellipse cx="3.33" cy="3.329" rx="3.33" ry="3.329"/>
</g>
<g transform="translate(25.81 24.97)">
<ellipse cx="28.307" cy="3.329" rx="3.33" ry="3.329"/>
<ellipse cx="15.818" cy="3.329" rx="3.33" ry="3.329"/>
<ellipse cx="3.33" cy="3.329" rx="3.33" ry="3.329"/>
</g>
<g transform="translate(38.297 12.485)">
<ellipse cx="15.818" cy="3.329" rx="3.33" ry="3.329"/>
<ellipse cx="3.33" cy="3.329" rx="3.33" ry="3.329"/>
</g>
<ellipse cx="3.33" cy="3.329" rx="3.33" ry="3.329" transform="translate(50.786)"/>
</g>
</g>
<g transform="translate(412.618 193.06)">
<ellipse cx="51.577" cy="91.092" fill="#0E1D80" fill-opacity=".1" rx="51.577" ry="12.062"/>
<g transform="translate(6.655)">
<path fill="#0E1D80" d="M27.4349503,46.1016869 C31.4434101,54.8895706 27.7963688,92.9276363 26.3178385,92.9276363 L24.0179026,93.2804346 L22.4079474,74.5500548 C22.4079474,74.5500548 18.0052129,50.1749031 17.7752193,48.1864038 L24.1821837,44.2094054 L27.4349503,46.1016869 Z"/>
<path fill="#0E1D80" d="M13.7042996,43.9457722 L18.5310536,47.5985199 C20.1736013,47.8217733 16.7563301,90.4832244 14.192082,92.5379569 L11.9908334,92.5396544 C11.9908334,92.5396544 10.7229646,75.2846601 10.529039,71.1792995 C10.3351134,67.073939 6.92922902,52.9959488 7.6903085,46.0352393" transform="rotate(4 13.27 68.243)"/>
<path fill="#FFE4A8" d="M14.3253154,16.4987065 L20.6008549,18.3268429 L20.46943,14.7026427 L15.8695581,10.9180797 C15.6395645,12.7462161 14.3253154,16.4987065 14.3253154,16.4987065 Z"/>
<path fill="#FFE4A8" d="M20.5351424,14.7988604 C20.5351424,14.7988604 17.7752193,13.0027966 17.019526,12.0406196 C15.1138648,10.2445558 19.9437303,3.86211471 21.7179666,3.89418728 L26.0221325,5.81854137 L26.9421069,8.22398397 L26.2849823,12.2651276 L25.0035894,11.9764744 L23.1307844,15.2158038 L20.5351424,14.7988604 Z"/>
<path fill="#0E1D80" d="M26.9092506,7.67875032 C25.6278577,7.67875032 21.7836791,5.85061393 21.7508228,5.14501744 C21.9479602,5.7864688 20.46943,8.92958047 19.1551808,8.92958047 C17.8409317,8.92958047 15.5081396,5.65817853 15.278146,7.67875032 C15.6395645,8.06362113 16.6252513,13.0990143 15.278146,12.7141435 C10.3497118,11.3991682 12.2882292,-1.23742362 21.7179666,0.109624244 C34.6304642,3.73382444 28.1906435,7.67875032 26.9092506,7.67875032 Z"/>
<path fill="#FFE4A8" d="M15.278146,10.1804106 C14.2924591,8.83336277 15.1795773,6.36377502 16.5595388,6.39584759 C17.4138008,6.33170246 18.2352065,6.87693611 18.4323438,7.64667775 C19.4180307,12.1689099 17.1509509,13.2593772 15.278146,10.1804106 Z"/>
<path fill="#5266D4" d="M23.8207652,16.0817632 C25.2007268,16.466634 26.9421069,19.5135279 27.0735318,21.0850838 C27.2049567,22.8170025 26.7449695,28.0127585 26.7449695,28.0127585 L33.4804962,25.7997513 L33.2833588,28.0127585 C33.2833588,28.0127585 28.5192058,31.5728136 26.6464008,32.1821923 C26.0221325,32.3746278 24.6750271,32.2784101 24.1164713,31.9576844 C21.4222606,30.5144188 18.6951937,24.9979371 19.1223246,20.9567935 C18.9908997,20.6039953 18.2352065,14.7667879 23.8207652,16.0817632 Z"/>
<path fill="#5266D4" d="M8.44405056,51.5219509 C12.0582356,54.0877564 25.95642,54.0877564 28.6506307,51.3936606 C30.4905795,45.2678001 26.6135446,19.8663262 24.2807524,17.6853916 C24.2478962,17.3005207 20.9951296,15.7610375 20.9951296,15.7610375 C20.9951296,15.7610375 15.6724207,13.7404657 13.9638968,14.7347153 C11.1711175,17.6212464 5.55270251,45.2357276 8.44405056,51.5219509 Z"/>
<path fill="#0E1D80" d="M4.79700927,15.3440941 C4.63272813,16.5949242 5.22414023,16.8515048 6.37410821,17.3325933 C9.16688758,18.5192783 6.89980785,24.8696468 2.10279858,29.6484595 C-3.58132884,35.6781023 4.17274094,46.5827754 10.5797054,41.6756725 C12.6167915,40.1041167 12.0910919,35.77432 12.0910919,35.77432 L11.9925232,18.5834235 L13.1424911,17.7495367 L15.9352705,19.1286571 C14.1610342,23.3622361 14.2596029,26.8260735 15.8695581,27.8203231 C16.5923951,28.269339 17.0523823,28.2372665 17.742363,27.8203231 C18.1037816,26.7298558 19.1551808,22.6887122 18.3009189,17.7495367 C16.8552449,13.644248 5.25699646,11.5595311 4.79700927,15.3440941 Z"/>
<path fill="#7589F2" d="M12.5839353,17.0439402 C5.55270251,22.2717688 9.4297374,37.6345289 11.2696862,38.1156174 C15.146721,38.8212139 24.4778898,33.6575305 24.4778898,33.6575305 L24.3136086,31.6048861 L14.851015,31.4765958 C14.851015,31.4765958 17.742363,20.3474147 15.7381331,17.877827 C15.2452897,17.2684482 14.2924591,16.8515048 12.5839353,17.0439402 Z"/>
<path fill="#0E1D80" d="M24.7078834,25.9921867 C25.233583,26.7619283 26.2192698,26.6657106 26.5149759,26.0884044 C26.8106819,26.0884044 25.95642,16.4987065 23.787909,15.5365295 C22.7693659,14.7988604 21.3894043,15.79311 21.9808164,16.2100534 C24.1493275,16.5949242 25.0364456,26.344985 24.7078834,25.9921867 Z"/>
<polygon fill="#FFE4A8" points="33.776 22.785 26.055 21.534 24.774 35.389 32.495 36.64 36.372 35.389 38.967 20.251"/>
<polygon fill="#F49130" points="32.924 22.612 33.792 22.608 33.737 36.636 32.869 36.639" transform="rotate(10 33.33 29.624)"/>
<path fill="#FFE4A8" d="M27.2378129,31.3803781 C27.7306563,32.1501198 27.3692378,32.9840065 26.7778257,33.3688774 C26.2192698,33.7537482 24.3136086,33.8820385 23.9521901,33.5933853 C23.4922029,33.1443694 22.9007908,32.2463375 23.1636406,31.6048861 C23.5579154,30.6427091 26.4164072,30.0974754 27.2378129,31.3803781 Z"/>
<path fill="#F49130" d="M17.043569,94.5763903 C17.5514488,93.7741776 14.0387781,92.1087708 12.3728746,91.4363756 L9.40232605,91.2780816 C9.11167567,92.2405138 7.69768514,93.5244746 8.31286973,94.3259018 C9.25410527,95.127101 16.5356892,95.3786029 17.043569,94.5763903 Z" transform="rotate(4 12.626 93.173)"/>
<path fill="#F49130" d="M31.8607955,94.2600967 C32.3680082,93.6341996 28.8537489,92.3323337 27.187193,91.8065801 L24.2163759,91.6814007 C23.9265401,92.4324772 22.5135905,93.4339126 23.1294916,94.0598096 C24.071458,94.6857067 31.3535828,94.8859938 31.8607955,94.2600967 Z"/>
</g>
<g transform="translate(44.09 .832)">
<path fill="#F49130" d="M44.7763875 93.2733305C43.6374532 94.3213454 35.8276182 93.7814589 35.3720445 93.2733305 34.9164708 92.765202 35.8276182 89.6846732 35.8276182 89.6846732L39.7650767 89.6846732C39.7650767 89.6846732 45.9153218 92.2253155 44.7763875 93.2733305zM6.18278606 90.9232363C7.45188426 90.9232363 5.6621304 84.1587762 5.6621304 84.1587762L3.09139303 81.8404401C3.09139303 81.8404401.0325409793 82.856697.0325409793 83.904712.0325409793 84.9527269 4.91368787 90.9232363 6.18278606 90.9232363z"/>
<path fill="#0E1D80" d="M27.5622095,48.4627519 L36.055405,47.4147369 C38.7888473,53.9251328 40.1555684,61.5153017 40.87147,69.550083 L39.7325357,90.3833499 L36.055405,91.4313648 L34.4608971,72.1542413 C34.4283561,72.1542413 27.2693406,58.0219185 27.5622095,48.4627519 Z"/>
<path fill="#0E1D80" d="M16.4006536,47.4147369 L16.4006536,68.2480038 L2.86360618,82.3168106 L5.17401571,85.7149196 C5.17401571,85.7149196 21.8024561,73.996207 25.3819638,69.2960188 C26.9113899,67.1999889 30.2305698,47.4147369 30.2305698,47.4147369 L16.4006536,47.4147369 Z"/>
<path fill="#FFE4A8" d="M31.402045,12.131567 L33.1267169,11.2423422 C33.1267169,11.2423422 36.087946,13.9735327 35.8276182,14.5134191 C35.5672904,15.0533056 34.1354873,16.1013206 33.4195857,14.8309994 C32.7036842,13.5289203 31.402045,12.131567 31.402045,12.131567 Z"/>
<path fill="#7589F2" d="M33.2568808,14.6086932 L36.2831919,14.1640808 C36.2831919,14.1640808 39.276962,18.6419629 38.7888473,20.0075581 C38.2356507,21.5001855 33.1917989,25.406423 33.1917989,25.406423 L30.1004058,21.1190891 L34.591061,18.2608665 L33.2568808,14.6086932 Z"/>
<polygon fill="#FFE4A8" points="21.933 17.435 28.636 19.277 28.083 15.085 22.486 11.719"/>
<path fill="#0E1D80" d="M32.5735203,28.0740974 C33.0941759,28.8362901 34.0704053,28.741016 34.3632741,28.1693715 C34.6561429,28.1693715 33.8100775,18.6737209 31.6623728,17.72098 C30.6536025,16.9905454 29.2868814,17.9750443 29.872619,18.3878987 C32.0203236,18.768995 32.8989301,28.3916777 32.5735203,28.0740974 Z"/>
<path fill="#5266D4" d="M22.2254889,16.9270293 C23.8199968,16.3553848 29.7099141,17.689222 30.4908976,18.3561406 C31.3044221,19.0230592 33.9402414,25.8827934 34.7537659,28.5504679 C36.7062246,34.7750415 40.6111421,51.860861 39.276962,53.5440365 C37.7800769,55.4812762 18.5483582,55.9258887 16.0427028,54.5602934 C13.7973752,53.3217303 15.3593422,32.9013178 17.1165551,25.9780675 C17.7999157,23.4374252 20.5984399,17.4986738 22.2254889,16.9270293 Z"/>
<path fill="#303F9F" d="M5.79229431,71.9319351 C5.56450746,71.741387 5.56450746,71.3920487 5.75975333,71.1697425 L41.6524535,34.0446068 C41.8476994,33.8223006 42.2056501,33.8223006 42.433437,34.0128488 C42.6612238,34.203397 42.6612238,34.5527353 42.465978,34.7750415 L6.57327782,71.9001771 C6.37803194,72.1224833 6.02008117,72.1224833 5.79229431,71.9319351 Z"/>
<polygon fill="#FFE4A8" points="27.562 38.554 36.088 38.554 36.348 40.904 27.562 42.206"/>
<path fill="#0E1D80" d="M12.8862278,18.3878987 C12.7560639,19.7534939 13.3743425,20.0393161 14.6759817,20.5474446 C17.7999157,21.7860077 15.4569652,28.8680481 10.2504085,34.235155 C4.13270437,41.0313732 12.9513098,52.8771179 19.8825383,47.2877048 C22.0953249,45.5092552 21.4119644,40.7455509 21.4119644,40.7455509 L20.8913087,21.7542497 L22.1604069,20.8015088 L25.2843409,22.2623782 C23.4295051,26.9943244 23.59221,30.8052879 25.4145048,31.8533028 C26.2280293,32.3296733 26.716144,32.2979153 27.4971275,31.8215448 C27.8876192,30.5829817 28.9289306,26.1368577 27.8876192,20.6744767 C26.1304064,16.2283527 13.2767195,14.1958389 12.8862278,18.3878987 Z"/>
<path fill="#7589F2" d="M21.4119644,19.7852519 C19.1015548,21.7224917 18.2554894,25.5652132 17.4094239,29.4396927 C16.4331945,40.4914867 19.8174564,43.7625636 21.4119644,43.7625636 C23.0064724,43.7625636 29.4170453,42.7145487 29.4170453,42.7145487 L29.1567174,38.3001827 L23.559669,38.0461185 C23.559669,38.0461185 26.4883571,30.2336434 25.9677015,23.9773117 C25.7399146,22.4529263 24.2430296,18.5466888 21.4119644,19.7852519 Z"/>
<path fill="#FFE4A8" d="M38.6912244 37.1568937C39.342044 37.3474418 39.4071259 38.4272148 39.4071259 38.4272148 39.244421 39.2529236 37.9753228 41.0631312 37.2919623 41.1266472 36.6086017 41.1901633 34.6561429 40.4279706 35.4371264 39.0623754 36.185569 37.6967801 38.0729458 36.9663455 38.6912244 37.1568937zM29.90516 16.2918688L31.8250777 13.0207918 33.3545038 12.7667276 32.8663891 6.25633167 28.0503241 3.14404485 22.4532757 6.25633167 22.1929479 12.9890338C24.6335213 16.0060465 29.90516 16.2918688 29.90516 16.2918688z"/>
<path fill="#0E1D80" d="M25.6748327,0.285822259 C28.4408159,-0.285822259 31.2718811,5.89805982e-17 32.8989301,1.46086932 C34.493438,2.95349667 35.1767986,5.65292912 32.8989301,7.08204041 C30.4908976,7.43137873 30.2305698,7.97126522 27.5622095,6.79621816 C27.5622095,6.79621816 27.3018816,7.97126522 26.4883571,9.14631228 C25.6748327,10.3213593 23.559669,9.74971483 23.559669,9.74971483 C23.559669,9.74971483 23.559669,13.3066141 21.1516365,13.3066141 C16.8562273,12.6714535 17.9951615,2.15954596 25.6748327,0.285822259 Z"/>
<path fill="#FFDB73" d="M25.9351605,10.4483915 C25.9351605,9.65444074 25.8375376,8.79697397 25.2192589,8.41587762 C24.1454066,7.74895902 23.3318821,8.51115171 23.1366363,9.36861848 C22.9413904,10.4166334 23.59221,11.3693743 24.4057345,11.7187126 C25.2517999,12.0680509 25.9351605,11.4328904 25.9351605,10.4483915 Z"/>
</g>
</g>
</g>
</svg>
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Logo = require('./Logo');
var _Logo2 = _interopRequireDefault(_Logo);
var _SearchInputWrapper = require('./SearchInputWrapper');
var _SearchInputWrapper2 = _interopRequireDefault(_SearchInputWrapper);
var _UserPreferences = require('./UserPreferences');
var _UserPreferences2 = _interopRequireDefault(_UserPreferences);
var _Nav = require('./Nav');
var _Nav2 = _interopRequireDefault(_Nav);
require('./style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Header = function (_PureComponent) {
(0, _inherits3['default'])(Header, _PureComponent);
function Header() {
(0, _classCallCheck3['default'])(this, Header);
return (0, _possibleConstructorReturn3['default'])(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));
}
(0, _createClass3['default'])(Header, [{
key: 'render',
value: function render() {
return _react2['default'].createElement(
'div',
{ className: 'master-head-wrap' },
_react2['default'].createElement(
'div',
{ className: 'master-head-left' },
_react2['default'].createElement(_Logo2['default'], null)
),
_react2['default'].createElement(
'div',
{ className: 'master-head-center' },
_react2['default'].createElement(_SearchInputWrapper2['default'], null)
),
_react2['default'].createElement(
'div',
{ className: 'master-head-right' },
_react2['default'].createElement(_UserPreferences2['default'], null)
)
);
}
}]);
return Header;
}(_react.PureComponent);
exports['default'] = Header;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _dec, _class;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
var _Logo2x = require('./style/icons/Logo@2x.png');
var _Logo2x2 = _interopRequireDefault(_Logo2x);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Logo = (_dec = (0, _mobxReact.inject)('AppState', 'MenuStore'), _dec(_class = (0, _mobxReact.observer)(_class = function (_Component) {
(0, _inherits3['default'])(Logo, _Component);
function Logo() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, Logo);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = Logo.__proto__ || Object.getPrototypeOf(Logo)).call.apply(_ref, [this].concat(args))), _this), _this.onHideMenu = function () {
var _this$props = _this.props,
AppState = _this$props.AppState,
MenuStore = _this$props.MenuStore;
var hideMenu = AppState.hideMenu;
if (hideMenu) {
AppState.setHideMenu(false);
} else {
AppState.setHideMenu(true);
MenuStore.setCollapsed(false);
MenuStore.setOpenKeys([]);
}
}, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(Logo, [{
key: 'render',
value: function render() {
var AppState = this.props.AppState;
return _react2['default'].createElement(
'div',
{ className: 'header-logo-wrap' },
_react2['default'].createElement('div', { className: 'header-logo-icon', onClick: this.onHideMenu, style: { backgroundImage: 'url( ' + _Logo2x2['default'] + ')' } })
);
}
}]);
return Logo;
}(_react.Component)) || _class) || _class);
exports['default'] = Logo;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _dropdown = require('choerodon-ui/lib/dropdown');
var _dropdown2 = _interopRequireDefault(_dropdown);
var _icon = require('choerodon-ui/lib/icon');
var _icon2 = _interopRequireDefault(_icon);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _dec, _class;
require('choerodon-ui/lib/dropdown/style');
require('choerodon-ui/lib/icon/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
var _reactRouterDom = require('react-router-dom');
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
require('./style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Nav = (_dec = (0, _mobxReact.inject)('MenuStore', 'AppState'), (0, _reactRouterDom.withRouter)(_class = _dec(_class = (0, _mobxReact.observer)(_class = function (_Component) {
(0, _inherits3['default'])(Nav, _Component);
function Nav() {
(0, _classCallCheck3['default'])(this, Nav);
return (0, _possibleConstructorReturn3['default'])(this, (Nav.__proto__ || Object.getPrototypeOf(Nav)).apply(this, arguments));
}
(0, _createClass3['default'])(Nav, [{
key: 'handleLink',
value: function handleLink(tab) {
var _props = this.props,
MenuStore = _props.MenuStore,
isTabMode = _props.AppState.isTabMode;
var selectedKeys = MenuStore.selectedKeys;
// const isReact = tab.symbol === 'REACT';
var type = tab.symbol;
if (selectedKeys.length && selectedKeys[0] === tab.functionCode && isTabMode) return;
var LINK_MAP = {
REACT: '/' + tab.url,
HTML: '/iframe/' + tab.functionCode
};
var link = LINK_MAP[type] || '/';
// const link = isReact
// ? `/${tab.url}`
// : `/iframe/${tab.functionCode}`;
this.props.history.push(link);
if (link === '/') {
MenuStore.setActiveMenu({});
}
}
}, {
key: 'handleCloseTab',
value: function handleCloseTab(tab, event) {
var MenuStore = this.props.MenuStore;
var selectedKeys = MenuStore.selectedKeys;
if (event) event.stopPropagation();
if (selectedKeys.length && selectedKeys[0] === tab.functionCode) {
var desTab = MenuStore.getNextTab(tab);
var desUrl = void 0;
if (desTab.functionCode !== 'HOME_PAGE') {
var LINK_MAP = {
REACT: '/' + desTab.url,
HTML: '/iframe/' + desTab.functionCode
};
// if (desTab.symbol === '1') {
// desUrl = `/${desTab.url}`;
// } else {
// desUrl = `/iframe/${desTab.functionCode}`;
// }
desUrl = LINK_MAP[desTab.symbol];
} else {
desUrl = '/';
MenuStore.setActiveMenu({});
}
this.props.history.push(desUrl);
}
MenuStore.closeTabAndClearCacheByCacheKey(tab);
}
}, {
key: 'render',
value: function render() {
var _this2 = this;
var _props2 = this.props,
pathname = _props2.location.pathname,
MenuStore = _props2.MenuStore,
isTabMode = _props2.AppState.isTabMode;
var tabs = MenuStore.tabs,
activeMenu = MenuStore.activeMenu,
collapsed = MenuStore.collapsed;
var isHome = pathname === '/';
var activeIndex = tabs.findIndex(function (tab) {
return pathname === '/' + tab.url || pathname === '/iframe/' + tab.functionCode;
});
return isTabMode ? null : _react2['default'].createElement(
_dropdown2['default'],
{
trigger: ['click'],
overlay: _react2['default'].createElement(
'ul',
{ className: 'nav-wrapper' },
tabs.filter(function (v) {
return !!v;
}).map(function (tab, i) {
return _react2['default'].createElement(
'li',
{
key: tab.functionCode,
className: (0, _classnames2['default'])({
tab: true,
'tab-active': pathname === '/' + tab.url || pathname === '/iframe/' + tab.functionCode,
'tab-hover': pathname !== '/' + tab.url && pathname !== '/iframe/' + tab.functionCode,
'tab-active-before': activeIndex >= 1 && i === activeIndex - 1,
'tab-active-after': activeIndex >= 0 && i === activeIndex + 1
}),
onClick: _this2.handleLink.bind(_this2, tab)
},
_react2['default'].createElement(
'div',
{ className: 'li-wrapper', style: { positon: 'relative' } },
_react2['default'].createElement(
'div',
{
style: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }
},
tab.text
),
tab.functionCode === 'HOME_PAGE' ? null : _react2['default'].createElement(_icon2['default'], {
type: 'close',
style: { fontSize: 14, marginLeft: 20 },
onClick: _this2.handleCloseTab.bind(_this2, tab)
})
)
);
})
)
},
_react2['default'].createElement(
'span',
{ className: 'header-nav-action' },
_react2['default'].createElement(
'span',
null,
'\u9875\u9762\u5BFC\u822A'
),
_react2['default'].createElement(_icon2['default'], { type: 'baseline-arrow_drop_down' })
)
);
}
}]);
return Nav;
}(_react.Component)) || _class) || _class) || _class);
exports['default'] = Nav;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _icon = require('choerodon-hap-ui/lib/icon');
var _icon2 = _interopRequireDefault(_icon);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _select = require('choerodon-hap-ui/lib/select');
var _select2 = _interopRequireDefault(_select);
var _dec, _class, _desc, _value, _class2, _descriptor;
require('choerodon-hap-ui/lib/icon/style');
require('choerodon-hap-ui/lib/select/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobx = require('mobx');
var _mobxReact = require('mobx-react');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _initDefineProp(target, property, descriptor, context) {
if (!descriptor) return;
Object.defineProperty(target, property, {
enumerable: descriptor.enumerable,
configurable: descriptor.configurable,
writable: descriptor.writable,
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
});
}
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
var desc = {};
Object['ke' + 'ys'](descriptor).forEach(function (key) {
desc[key] = descriptor[key];
});
desc.enumerable = !!desc.enumerable;
desc.configurable = !!desc.configurable;
if ('value' in desc || desc.initializer) {
desc.writable = true;
}
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
return decorator(target, property, desc) || desc;
}, desc);
if (context && desc.initializer !== void 0) {
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
desc.initializer = undefined;
}
if (desc.initializer === void 0) {
Object['define' + 'Property'](target, property, desc);
desc = null;
}
return desc;
}
function _initializerWarningHelper(descriptor, context) {
throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
}
var Option = _select2['default'].Option;
var SearchInput = (_dec = (0, _mobxReact.inject)('MenuStore'), _dec(_class = (0, _mobxReact.observer)(_class = (_class2 = function (_Component) {
(0, _inherits3['default'])(SearchInput, _Component);
function SearchInput(props) {
(0, _classCallCheck3['default'])(this, SearchInput);
var _this = (0, _possibleConstructorReturn3['default'])(this, (SearchInput.__proto__ || Object.getPrototypeOf(SearchInput)).call(this, props));
_initDefineProp(_this, 'code', _descriptor, _this);
_this.handleChange = function (code) {
_this.setCode(code);
var onChange = _this.props.onChange;
onChange(code);
};
_this.setCode(null);
return _this;
}
(0, _createClass3['default'])(SearchInput, [{
key: 'setCode',
value: function setCode(code) {
this.code = code;
}
}, {
key: 'render',
value: function render() {
var MenuStore = this.props.MenuStore;
return _react2['default'].createElement(
'div',
{ className: 'search-input-wrap' },
_react2['default'].createElement(
_select2['default'],
{
style: { width: 265, borderRadius: 2 },
placeholder: '\u8F93\u5165\u529F\u80FD\u4EE3\u7801\u6216\u529F\u80FD\u540D\u79F0',
value: this.code
// optionFilterProp="children"
// filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
// filter
, onChange: this.handleChange,
clearButton: false,
searchable: true
},
MenuStore.treeNodeMenus.map(function (node) {
return _react2['default'].createElement(
Option,
{
key: node.functionCode,
value: node.functionCode
},
node.text
);
})
),
_react2['default'].createElement(_icon2['default'], { type: 'search' })
);
}
}]);
return SearchInput;
}(_react.Component), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'code', [_mobx.observable], {
enumerable: true,
initializer: null
}), _applyDecoratedDescriptor(_class2.prototype, 'setCode', [_mobx.action], Object.getOwnPropertyDescriptor(_class2.prototype, 'setCode'), _class2.prototype)), _class2)) || _class) || _class);
exports['default'] = SearchInput;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _dec, _class;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouterDom = require('react-router-dom');
var _mobxReact = require('mobx-react');
var _SearchInput = require('./SearchInput');
var _SearchInput2 = _interopRequireDefault(_SearchInput);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var SearchInputWrapper = (_dec = (0, _mobxReact.inject)('MenuStore'), (0, _reactRouterDom.withRouter)(_class = _dec(_class = function (_PureComponent) {
(0, _inherits3['default'])(SearchInputWrapper, _PureComponent);
function SearchInputWrapper() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, SearchInputWrapper);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = SearchInputWrapper.__proto__ || Object.getPrototypeOf(SearchInputWrapper)).call.apply(_ref, [this].concat(args))), _this), _this.handleChange = function (code) {
var _this$props = _this.props,
MenuStore = _this$props.MenuStore,
history = _this$props.history;
var treeNodeMenus = MenuStore.treeNodeMenus,
activeMenu = MenuStore.activeMenu;
var target = treeNodeMenus.find(function (node) {
return node.functionCode === code;
});
if (target && target.functionCode !== activeMenu.functionCode) {
var LINK_MAP = {
REACT: '/' + target.url,
HTML: '/iframe/' + target.functionCode
};
var desUrl = LINK_MAP[target.symbol] || '/';
history.push(desUrl);
}
}, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(SearchInputWrapper, [{
key: 'render',
value: function render() {
return _react2['default'].createElement(_SearchInput2['default'], { onChange: this.handleChange });
}
}]);
return SearchInputWrapper;
}(_react.PureComponent)) || _class) || _class);
exports['default'] = SearchInputWrapper;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _popover = require('choerodon-ui/lib/popover');
var _popover2 = _interopRequireDefault(_popover);
var _button = require('choerodon-ui/lib/button');
var _button2 = _interopRequireDefault(_button);
var _avatar = require('choerodon-ui/lib/avatar');
var _avatar2 = _interopRequireDefault(_avatar);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _dec, _class;
require('choerodon-ui/lib/popover/style');
require('choerodon-ui/lib/button/style');
require('choerodon-ui/lib/avatar/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
var _reactRouterDom = require('react-router-dom');
var _axios = require('../axios');
var _axios2 = _interopRequireDefault(_axios);
var _authorize = require('../../common/authorize');
var _avatar3 = require('./style/icons/avatar.png');
var _avatar4 = _interopRequireDefault(_avatar3);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var UserPreferences = (_dec = (0, _mobxReact.inject)('MenuStore', 'HeaderStore', 'AppState'), (0, _reactRouterDom.withRouter)(_class = _dec(_class = (0, _mobxReact.observer)(_class = function (_Component) {
(0, _inherits3['default'])(UserPreferences, _Component);
function UserPreferences() {
(0, _classCallCheck3['default'])(this, UserPreferences);
return (0, _possibleConstructorReturn3['default'])(this, (UserPreferences.__proto__ || Object.getPrototypeOf(UserPreferences)).apply(this, arguments));
}
(0, _createClass3['default'])(UserPreferences, [{
key: 'preferences',
value: function preferences() {
// this.props.history.push('/iframe/MY_PROFILE');
this.props.history.push('/hap-core/sys/preferences');
}
}, {
key: 'handleClickMsg',
value: function handleClickMsg() {
this.props.history.push('/iframe/SYS_PREFERENCE');
}
}, {
key: 'handleLogout',
value: function handleLogout() {
var AppState = this.props.AppState;
if (AppState.isCas) {
(0, _authorize.logout)();
} else {
_axios2['default'].post('/logout').then(function () {
(0, _authorize.authorize)();
});
}
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
AppState = _props.AppState,
HeaderStore = _props.HeaderStore;
var _ref = AppState.getUserInfo || {},
imageUrl = _ref.imageUrl,
userName = _ref.userName,
email = _ref.email;
var picUrl = imageUrl || _avatar4['default'];
var AppBarIconRight = _react2['default'].createElement(
'div',
{ className: 'user-preference-popover-content' },
_react2['default'].createElement(
_avatar2['default'],
{ src: picUrl, className: 'user-preference-avatar' },
userName && userName.charAt(0)
),
_react2['default'].createElement(
'div',
{ className: 'popover-title' },
userName
),
_react2['default'].createElement(
'div',
{ className: 'popover-text' },
email
),
_react2['default'].createElement(
'div',
{ className: 'popover-msg-wrapper' },
_react2['default'].createElement(
'div',
{
className: 'popover-text',
role: 'none',
onClick: this.handleClickMsg.bind(this)
},
'用户信息'
),
_react2['default'].createElement(
'div',
{
className: 'popover-text',
role: 'none',
onClick: this.handleClickMsg.bind(this)
},
'用户密码'
)
),
_react2['default'].createElement(
'div',
{ className: 'popover-button-wrapper' },
_react2['default'].createElement(
_button2['default'],
{
funcType: 'raised',
type: 'primary',
onClick: this.preferences.bind(this)
},
'首选项'
),
_react2['default'].createElement(
_button2['default'],
{
funcType: 'raised',
onClick: this.handleLogout.bind(this)
},
'退出登录'
)
)
);
return _react2['default'].createElement(
_popover2['default'],
{
overlayClassName: 'user-preference-popover',
content: AppBarIconRight,
trigger: 'click',
placement: 'bottomRight'
},
_react2['default'].createElement(
'div',
{ className: 'user-preference' },
_react2['default'].createElement(
_avatar2['default'],
{ src: picUrl },
userName && userName.charAt(0)
),
_react2['default'].createElement(
'div',
{ className: 'user-preference-name' },
userName
)
)
);
}
}]);
return UserPreferences;
}(_react.Component)) || _class) || _class) || _class);
exports['default'] = UserPreferences;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Header = require('./Header');
var _Header2 = _interopRequireDefault(_Header);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _Header2['default'];
\ No newline at end of file
.master-head {
&-wrap {
display: flex;
align-items: center;
height: 48px;
font-size: 14px;
color: #fff;
box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.16);
position: relative;
z-index: 999;
background-color: #fff;
}
&-left,
&-center,
&-right {
display: flex;
margin: auto;
}
&-left {
padding-left: 28px;
}
&-center {
padding-left: 0;
flex-grow: 1;
justify-content: flex-end;
margin-right: 32px;
height: 48px;
}
&-right {
padding-right: 68px;
}
}
'use strict';
require('./index.scss');
\ No newline at end of file
@import "./header";
@import "./logo";
@import "./userPreference";
@import "./searchInput";
@import "./nav";
.header-logo {
&-wrap {
height: 40px;
line-height: 40px;
display: flex;
align-items: center;
}
&-icon {
color: white;
font-size: 30px;
width: 120px;
height: 100%;
background-repeat: no-repeat;
background-size: auto 35px;
background-position: center;
}
&-title {
margin-left: 20px;
font-size: 18px;
line-height: 23px;
}
}
.nav-wrapper {
width: 150px;
background: #fff;
list-style: none;
padding: 0;
margin: 0;
border-radius: 2px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
li {
margin: 0;
clear: both;
font-size: 13px;
font-weight: normal;
color: #000;
white-space: nowrap;
cursor: pointer;
-webkit-transition: all .3s;
transition: all .3s;
line-height: 22px;
.li-wrapper {
padding: 5px 12px;
display: flex;
align-items: center;
justify-content: space-between;
.icon-close:hover {
color: red;
}
}
}
li:hover {
background: #eee;
}
}
.header-nav-action {
margin-left: 33px;
font-size: 14px;
margin-top: 13px;
// line-height: 47px;
}
.search-input-wrap {
display: flex;
position: relative;
border-right: 1px solid #d2dcdd;
border-left: 1px solid #d2dcdd;
//border-radius: 5px;
.icon {
font-size: 20px;
line-height: .48rem;
position: absolute;
right: 10px;
color: #555;
}
.c7n-hap-select-wrapper {
background-color: rgba(255, 255, 255, 0.12);
height: .48rem;
.c7n-hap-select {
border: none;
// padding-left: 35px;
// padding-top: 5px;
// padding-bottom: 5px;
height: .48rem;
color: #000;
}
.c7n-hap-select-inner-button .c7n-hap-select-clear-button {
display: none !important;
}
.c7n-hap-select-suffix {
display: none !important;
}
.c7n-hap-select:focus, .c7n-hap-select-focus .c7n-hap-select {
color: #000 !important;
}
}
}
.user-preference {
display: flex;
align-items: center;
&-popover {
z-index: 1500 !important;
position: absolute !important;
width: 214px;
top: 40px !important;
right: 25px;
left: auto !important;
&-content {
text-align: center;
.user-preference-avatar {
width: 72px;
height: 72px;
line-height: 72px;
font-size: 40px;
}
.popover-title {
font-weight: bold;
font-size: 14px;
line-height: 20px;
color: rgba(0, 0, 0, 0.87);
margin: 6px 0 4px;
}
.popover-text {
font-size: 14px;
line-height: 20px;
color: rgba(0, 0, 0, 0.65);
}
.popover-msg-wrapper {
margin: 0 -16px;
border-top: 1px solid rgba(0, 0, 0, 0.16);
border-bottom: 1px solid rgba(0, 0, 0, 0.16);
padding: 12px 24px;
margin-top: 12px;
text-align: left;
.popover-text {
font-size: 13px;
line-height: 32px;
color: #000;
cursor: pointer;
}
}
.popover-button-wrapper {
margin-top: 20px;
button {
width: 80px;
height: 32px;
& + button {
margin-left: 14px;
}
}
}
}
}
&-avatar {
display: inline-block;
width: 30px;
height: 30px;
line-height: 30px;
border-radius: 50%;
font-size: 18px;
font-weight: bold;
background-color: #c5cbe8;
background-position: center;
background-size: 100%;
background-repeat: no-repeat;
color: #3f51b5;
text-transform: uppercase;
text-align: center;
cursor: pointer;
}
&-name {
margin-left: 8px;
font-size: 13px;
line-height: 18px;
color: #444;
}
}
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _modal = require('choerodon-hap-ui/lib/modal');
var _modal2 = _interopRequireDefault(_modal);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
require('choerodon-hap-ui/lib/modal/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _common = require('../../common');
require('./style');
var _backage2x = require('./style/backage@2x.png');
var _backage2x2 = _interopRequireDefault(_backage2x);
var _data2x = require('./style/data@2x.png');
var _data2x2 = _interopRequireDefault(_data2x);
var _call2x = require('./style/call@2x.png');
var _call2x2 = _interopRequireDefault(_call2x);
var _pay2x = require('./style/pay@2x.png');
var _pay2x2 = _interopRequireDefault(_pay2x);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Home = function (_Component) {
(0, _inherits3['default'])(Home, _Component);
function Home(props) {
(0, _classCallCheck3['default'])(this, Home);
var _this = (0, _possibleConstructorReturn3['default'])(this, (Home.__proto__ || Object.getPrototypeOf(Home)).call(this, props));
_this.onChangeSearch = function (event) {
_this.setState({
keyword: event.target.value
});
};
_this.searchList = function (type) {
var pathName = '';
if (_this.state.keyword) {
if (type === 'qixin') {
pathName = '#/hap-core/qixin';
} else if (type === 'fenbao') {
pathName = '#/hap-core/risk-search';
} else if (type === 'dianhua') {
pathName = '#/hap-core/dian-hua';
} else {
_modal2['default'].warning('敬请期待');
return;
}
/* this.props.history.push({
pathname: pathName,
}); */
window.open(pathName, '_blank');
window.localStorage.setItem('keyword', _this.state.keyword);
} else {
_modal2['default'].warning('请先输入关键字');
}
};
_this.showFunction = function () {
if (_this.state.keyword) {
_this.setState({
showFlag: true
});
} else {
_modal2['default'].warning('请先输入关键字');
_this.setState({
showFlag: false
});
}
};
_this.state = {
keyword: '',
showFlag: false
};
return _this;
}
(0, _createClass3['default'])(Home, [{
key: 'componentDidMount',
value: function componentDidMount() {
var pathName = '';
var keyword = (0, _common.getCookie)('keyword');
var type = (0, _common.getCookie)('type');
if (keyword && type) {
if (type === 'qixin') {
pathName = '#/hap-core/qixin';
} else if (type === 'fenbao') {
pathName = '#/hap-core/risk-search';
} else if (type === 'dianhua') {
pathName = '#/hap-core/dian-hua';
}
if (type !== 'pay') {
/* this.props.history.push({
pathname: pathName,
}); */
window.open(pathName, '_blank');
}
window.localStorage.setItem('keyword', keyword);
window.localStorage.setItem('type', type);
(0, _common.removeCookie)('keyword');
(0, _common.removeCookie)('type');
}
}
}, {
key: 'functionComponent',
value: function functionComponent() {
var _this2 = this;
return _react2['default'].createElement(
'div',
{ className: 'function', id: 'function' },
_react2['default'].createElement(
'div',
{ className: 'list' },
_react2['default'].createElement('img', { src: _data2x2['default'], alt: '' }),
_react2['default'].createElement(
'div',
{ className: 'item', onClick: function onClick() {
return _this2.searchList('qixin');
} },
'\u4F01\u4FE1\u5B9D'
),
_react2['default'].createElement(
'div',
{ className: 'item', onClick: function onClick() {
return _this2.searchList('fenbao');
} },
'\u98CE\u62A5'
)
),
_react2['default'].createElement(
'div',
{ className: 'list' },
_react2['default'].createElement('img', { src: _call2x2['default'], alt: '' }),
_react2['default'].createElement(
'div',
{ className: 'item', onClick: function onClick() {
return _this2.searchList('dianhua');
} },
'\u7535\u8BDD\u90A6'
)
),
_react2['default'].createElement(
'div',
{ className: 'list' },
_react2['default'].createElement('img', { src: _pay2x2['default'], alt: '' }),
_react2['default'].createElement(
'div',
{ className: 'item', onClick: function onClick() {
return _this2.searchList('pay');
} },
'\u94F6\u8054'
)
)
);
}
}, {
key: 'render',
value: function render() {
var _this3 = this;
return _react2['default'].createElement(
'div',
{ className: 'choerodon-home' },
_react2['default'].createElement(
'div',
{ className: 'choerodon-home-content' },
_react2['default'].createElement('img', { src: _backage2x2['default'], alt: '' })
),
_react2['default'].createElement(
'div',
{ className: 'search-box' },
_react2['default'].createElement(
'div',
{ className: 'search' },
_react2['default'].createElement('input', { placeholder: '\u8BF7\u8F93\u5165\u5173\u952E\u5B57', onChange: this.onChangeSearch, name: 'searchKey', value: this.state.keyword }),
_react2['default'].createElement(
'div',
{ className: 'search-button', onClick: function onClick() {
return _this3.showFunction();
} },
'\u641C\u7D22'
)
)
),
this.state.showFlag ? this.functionComponent() : null
);
}
}]);
return Home;
}(_react.Component);
exports['default'] = Home;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Home = require('./Home');
var _Home2 = _interopRequireDefault(_Home);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _Home2['default'];
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = [{
key: 0,
title: 'HAP4.0开发手册',
link: 'http://wiki.choerodon.com.cn/share/5ebc04885b7fdaaa',
items: [{
key: 1,
icon: 'svg1',
title: '更新简介',
content: [{
key: 4,
title: '4.0更新汇总',
link: 'http://wiki.choerodon.com.cn/share/506ee1d49b28b2f5'
}, {
key: 5,
title: '4.0 vs 3.0',
link: 'http://wiki.choerodon.com.cn/share/36467cf3480654ea'
}, {
key: 6,
title: '4.0技术栈详解',
link: 'http://wiki.choerodon.com.cn/share/a6c904fc5cbe5531'
}],
link: 'http://wiki.choerodon.com.cn/share/fab515e9780c7708'
}, {
key: 2,
icon: 'svg2',
title: '开发文档',
content: [{
key: 7,
title: '开发环境搭建',
link: 'http://wiki.choerodon.com.cn/share/4d7cfcb0d26614ba'
}, {
key: 8,
title: '新建数据库',
link: 'http://wiki.choerodon.com.cn/share/dd05d3af09a6c59f'
}, {
key: 9,
title: '新建项目',
link: 'http://wiki.choerodon.com.cn/share/bd5b2738be1230e6'
}],
link: 'http://wiki.choerodon.com.cn/share/372ba830b8ed5e98'
}, {
key: 3,
icon: 'svg3',
title: '升级文档',
content: [{
key: 10,
title: '4.0升级手册',
link: 'http://wiki.choerodon.com.cn/share/167d47f9d1cd269d'
}],
link: 'http://wiki.choerodon.com.cn/share/ce22fe8917466995'
}]
}];
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="40px" height="33px" viewBox="0 0 40 33" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>browser (1)</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-220.000000, -380.000000)" fill-rule="nonzero" id="快速入门">
<g transform="translate(200.000000, 328.000000)">
<g id="Group" transform="translate(0.000000, 32.000000)">
<g id="browser-(1)" transform="translate(20.000000, 20.000000)">
<path d="M38.6628895,0 L1.22379603,0 C0.543909348,0 0,0.543909348 0,1.22379603 L0,28.3286119 C0,29.0084986 0.543909348,29.5524079 1.22379603,29.5524079 L38.7082153,29.5524079 C39.388102,29.5524079 39.9320113,29.0084986 39.9320113,28.3286119 L39.9320113,1.22379603 C39.9320113,0.543909348 39.3427762,0 38.6628895,0 Z" id="Shape" fill="#324A5E"></path>
<g id="browser">
<path d="M37.8679365,32.6614533 L2.13206349,32.6614533 C0.968095238,32.6614533 0.0244444444,31.7930727 0.0244444444,30.721622 L0.0244444444,2.09618054 C0.0244444444,1.02487589 0.967936508,0.156349206 2.13206349,0.156349206 L37.8674603,0.156349206 C39.0314286,0.156349206 39.9750794,1.02472979 39.9750794,2.09618054 L39.9750794,30.7213298 C39.9753968,31.7927805 39.0315873,32.6614533 37.8679365,32.6614533 Z" id="Shape" fill="#A9A9A9"></path>
<path d="M39.9753968,5.61031746 L0.0246031746,5.61031746 L0.0246031746,2.26396825 C0.0246031746,1.1 0.968095238,0.156349206 2.13222222,0.156349206 L37.867619,0.156349206 C39.0315873,0.156349206 39.9752381,1.09984127 39.9752381,2.26396825 L39.9753968,5.61031746 Z" id="Shape" fill="#A9A9A9"></path>
<path d="M39.9755556,5.61031746 L0.0249205549,5.61031746 L0.0249205549,32.6611611 L35.7743554,32.6611611 C38.0945392,32.6611611 39.9755556,30.937664 39.9755556,28.8111284 L39.9755556,5.61031746 Z" id="Shape" fill="#396BD7"></path>
<g id="Group" transform="translate(2.698413, 1.904762)" fill="#FFFFFF">
<circle id="Oval" cx="0.935396825" cy="0.905079365" r="1"></circle>
<circle id="Oval" cx="4.4515873" cy="0.905079365" r="1"></circle>
</g>
</g>
<g id="Group" transform="translate(28.668555, 2.266289)" fill="#ACB3BA">
<circle id="Oval" cx="8.63456091" cy="1.24645892" r="1.17847025"></circle>
<circle id="Oval" cx="4.91784703" cy="1.24645892" r="1.17847025"></circle>
<circle id="Oval" cx="1.24645892" cy="1.24645892" r="1.17847025"></circle>
</g>
<rect id="Rectangle-path" fill="#FFFFFF" x="1" y="7" width="38" height="23.0028329"></rect>
<g id="Group-7" transform="translate(9.000000, 9.000000)">
<g id="admin">
<path d="M10.9317599,6.5 C10.9317599,6.33758553 10.9236349,6.17709539 10.9078125,6.01882895 C10.8865164,5.80526974 10.9690066,5.59449013 11.1334737,5.45657895 L11.9792434,4.74730921 C12.2180757,4.54700658 12.2786283,4.20400329 12.1227566,3.93403947 L11.3410888,2.58024342 C11.1851743,2.31027961 10.8579507,2.19122697 10.565023,2.29787829 L9.52784539,2.67569079 C9.32591776,2.74924342 9.10188158,2.71511842 8.92749342,2.58952303 C8.66783553,2.40243421 8.38880592,2.24061842 8.09403947,2.10753947 C7.89861184,2.01927632 7.75766447,1.84253618 7.72041776,1.63132895 L7.52926645,0.545230263 C7.47521382,0.238190789 7.2085,0.0142828947 6.89667105,0.0142828947 L5.33346382,0.0142828947 C5.02172039,0.0142828947 4.75500658,0.238148026 4.70086842,0.545230263 L4.50971711,1.63132895 C4.47255592,1.84253618 4.33160855,2.01931908 4.13609539,2.10753947 C3.84128618,2.24061842 3.56225658,2.40243421 3.30264145,2.58952303 C3.12829605,2.71516118 2.90425987,2.74928618 2.70228947,2.67569079 L1.66511184,2.29787829 C1.37214145,2.19114145 1.04491776,2.31019408 0.889046053,2.58024342 L0.107378289,3.93403947 C-0.0485361842,4.20400329 0.0119736842,4.54700658 0.250891447,4.74730921 L1.09666118,5.45657895 C1.26112829,5.59449013 1.34361842,5.80518421 1.32232237,6.01882895 C1.30654276,6.17709539 1.298375,6.33758553 1.298375,6.5 C1.298375,6.66356908 1.30662829,6.82525658 1.32262171,6.98454934 C1.34413158,7.19870724 1.26129934,7.40991447 1.0960625,7.54791118 L0.252259868,8.25281908 C0.0126578947,8.45295066 -0.0482796053,8.79650987 0.107763158,9.06690132 L0.888361842,10.4189013 C1.04449013,10.6892928 1.37239803,10.8083026 1.66558224,10.7007961 L2.69797039,10.3224704 C2.90032566,10.2483191 3.12504605,10.2823586 3.29981908,10.4085099 C3.56114474,10.5970954 3.84209868,10.7601513 4.13904605,10.8938717 C4.33507237,10.9821776 4.47631908,11.1596447 4.51318092,11.3714079 L4.70155263,12.4535296 C4.75509211,12.7611678 5.02210526,12.9856316 5.33427632,12.9856316 L6.89543092,12.9856316 C7.20764474,12.9856316 7.47465789,12.7610822 7.52815461,12.4535296 L7.71652632,11.3714079 C7.75338816,11.159602 7.89463487,10.9821776 8.09066118,10.8938717 C8.38769408,10.7600658 8.66860526,10.5970954 8.92988816,10.4085099 C9.10461842,10.2823586 9.32938158,10.2483191 9.53173684,10.3224704 L10.564125,10.7007961 C10.8573092,10.8082171 11.1852171,10.6892928 11.3413454,10.4189013 L12.1219441,9.06690132 C12.2780724,8.79650987 12.2171349,8.45303618 11.9774474,8.25281908 L11.1336447,7.54791118 C10.9684934,7.40991447 10.8856612,7.19870724 10.9070855,6.98454934 C10.9235066,6.82525658 10.9317599,6.66356908 10.9317599,6.5 Z" id="Shape" fill="#427FED"></path>
<path d="M5.30673684,12.9857171 L6.92361184,12.9857171 C7.28483224,12.9857171 7.57763158,12.6929178 7.57763158,12.3316974 L7.57763158,9.11650658 C7.57763158,9.0650625 7.53589474,9.02324013 7.48436513,9.02324013 L4.74589803,9.02324013 C4.69445395,9.02324013 4.65263158,9.06497697 4.65263158,9.11650658 L4.65263158,12.3316974 C4.65267434,12.692875 4.94551645,12.9857171 5.30673684,12.9857171 Z" id="Shape" fill="#427FED"></path>
<path d="M7.59631908,3.40552961 L7.59631908,6.33617434 L6.10200329,6.92254276 L4.60777303,6.33617434 L4.60777303,3.41895724 C3.55964803,3.9641875 2.84327961,5.0594375 2.84327961,6.32261842 C2.84327961,8.12961842 4.30817434,9.59442763 6.11508882,9.59442763 C7.92208882,9.59442763 9.38689803,8.12953289 9.38689803,6.32261842 C9.38694079,5.04896053 8.65868421,3.94605592 7.59631908,3.40552961 Z" id="Shape" fill="#F5F5F5"></path>
</g>
<g id="admin" transform="translate(11.000000, 11.000000)">
<path d="M7.15062937,4 C7.15062937,3.90005263 7.14531469,3.80128947 7.13496503,3.70389474 C7.12103497,3.57247368 7.17499301,3.44276316 7.28257343,3.35789474 L7.8358042,2.92142105 C7.99202797,2.79815789 8.03163636,2.58707895 7.92967832,2.42094737 L7.41837762,1.58784211 C7.31639161,1.42171053 7.10234965,1.34844737 6.91074126,1.41407895 L6.23230769,1.64657895 C6.10022378,1.69184211 5.95367832,1.67084211 5.83960839,1.59355263 C5.66976224,1.47842105 5.48724476,1.37884211 5.29443357,1.29694737 C5.1666014,1.24263158 5.07440559,1.13386842 5.05004196,1.00389474 L4.92500699,0.335526316 C4.88965035,0.146578947 4.71518881,0.00878947368 4.51121678,0.00878947368 L3.4886993,0.00878947368 C3.28478322,0.00878947368 3.11032168,0.146552632 3.07490909,0.335526316 L2.94987413,1.00389474 C2.92556643,1.13386842 2.83337063,1.24265789 2.70548252,1.29694737 C2.51264336,1.37884211 2.33012587,1.47842105 2.16030769,1.59355263 C2.04626573,1.67086842 1.89972028,1.69186842 1.76760839,1.64657895 L1.08917483,1.41407895 C0.897538462,1.34839474 0.683496503,1.42165789 0.581538462,1.58784211 L0.0702377622,2.42094737 C-0.0317482517,2.58707895 0.00783216783,2.79815789 0.164111888,2.92142105 L0.717342657,3.35789474 C0.824923077,3.44276316 0.878881119,3.57242105 0.864951049,3.70389474 C0.854629371,3.80128947 0.849286713,3.90005263 0.849286713,4 C0.849286713,4.10065789 0.854685315,4.20015789 0.865146853,4.29818421 C0.879216783,4.42997368 0.825034965,4.55994737 0.716951049,4.64486842 L0.165006993,5.07865789 C0.00827972028,5.20181579 -0.0315804196,5.41323684 0.0704895105,5.57963158 L0.581090909,6.41163158 C0.683216783,6.57802632 0.897706294,6.65126316 1.08948252,6.58510526 L1.76478322,6.35228947 C1.89714685,6.30665789 2.04413986,6.32760526 2.15846154,6.40523684 C2.3293986,6.52128947 2.51317483,6.62163158 2.70741259,6.70392105 C2.83563636,6.75826316 2.92802797,6.86747368 2.95213986,6.99778947 L3.07535664,7.66371053 C3.11037762,7.85302632 3.28503497,7.99115789 3.48923077,7.99115789 L4.51040559,7.99115789 C4.71462937,7.99115789 4.88928671,7.85297368 4.92427972,7.66371053 L5.0474965,6.99778947 C5.07160839,6.86744737 5.164,6.75826316 5.29222378,6.70392105 C5.48651748,6.62157895 5.67026573,6.52128947 5.84117483,6.40523684 C5.95546853,6.32760526 6.10248951,6.30665789 6.23485315,6.35228947 L6.91015385,6.58510526 C7.10193007,6.65121053 7.31641958,6.57802632 7.41854545,6.41163158 L7.92914685,5.57963158 C8.03127273,5.41323684 7.99141259,5.20186842 7.83462937,5.07865789 L7.28268531,4.64486842 C7.17465734,4.55994737 7.12047552,4.42997368 7.13448951,4.29818421 C7.14523077,4.20015789 7.15062937,4.10065789 7.15062937,4 Z" id="Shape" fill="#DD4B39"></path>
<path d="M3.47121678,7.99121053 L4.52883916,7.99121053 C4.76511888,7.99121053 4.95664336,7.81102632 4.95664336,7.58873684 L4.95664336,5.61015789 C4.95664336,5.5785 4.92934266,5.55276316 4.89563636,5.55276316 L3.10436364,5.55276316 C3.07071329,5.55276316 3.04335664,5.57844737 3.04335664,5.61015789 L3.04335664,7.58873684 C3.04338462,7.811 3.23493706,7.99121053 3.47121678,7.99121053 Z" id="Shape" fill="#DD4B39"></path>
<path d="M4.96886713,2.09571053 L4.96886713,3.89918421 L3.99141259,4.26002632 L3.01401399,3.89918421 L3.01401399,2.10397368 C2.32841958,2.4395 1.85983217,3.1135 1.85983217,3.89084211 C1.85983217,5.00284211 2.81804196,5.90426316 3.99997203,5.90426316 C5.18195804,5.90426316 6.14011189,5.00278947 6.14011189,3.89084211 C6.14013986,3.10705263 5.66377622,2.42834211 4.96886713,2.09571053 Z" id="Shape" fill="#F5F5F5"></path>
</g>
<g id="admin" transform="translate(14.000000, 3.000000)">
<path d="M5.36297203,3 C5.36297203,2.92503947 5.35898601,2.85096711 5.35122378,2.77792105 C5.34077622,2.67935526 5.38124476,2.58207237 5.46193007,2.51842105 L5.87685315,2.19106579 C5.99402098,2.09861842 6.02372727,1.94030921 5.94725874,1.81571053 L5.56378322,1.19088158 C5.48729371,1.06628289 5.32676224,1.01133553 5.18305594,1.06055921 L4.67423077,1.23493421 C4.57516783,1.26888158 4.46525874,1.25313158 4.37970629,1.19516447 C4.25232168,1.10881579 4.11543357,1.03413158 3.97082517,0.972710526 C3.87495105,0.931973684 3.8058042,0.850401316 3.78753147,0.752921053 L3.69375524,0.251644737 C3.66723776,0.109934211 3.53639161,0.00659210526 3.38341259,0.00659210526 L2.61652448,0.00659210526 C2.46358741,0.00659210526 2.33274126,0.109914474 2.30618182,0.251644737 L2.21240559,0.752921053 C2.19417483,0.850401316 2.12502797,0.931993421 2.02911189,0.972710526 C1.88448252,1.03413158 1.74759441,1.10881579 1.62023077,1.19516447 C1.5346993,1.25315132 1.42479021,1.26890132 1.32570629,1.23493421 L0.816881119,1.06055921 C0.673153846,1.01129605 0.512622378,1.06624342 0.436153846,1.19088158 L0.0526783217,1.81571053 C-0.0238111888,1.94030921 0.00587412587,2.09861842 0.123083916,2.19106579 L0.538006993,2.51842105 C0.618692308,2.58207237 0.659160839,2.67931579 0.648713287,2.77792105 C0.640972028,2.85096711 0.636965035,2.92503947 0.636965035,3 C0.636965035,3.07549342 0.641013986,3.15011842 0.64886014,3.22363816 C0.659412587,3.32248026 0.618776224,3.41996053 0.537713287,3.48365132 L0.123755245,3.80899342 C0.00620979021,3.90136184 -0.0236853147,4.05992763 0.0528671329,4.18472368 L0.435818182,4.80872368 C0.512412587,4.93351974 0.67327972,4.98844737 0.817111888,4.93882895 L1.32358741,4.76421711 C1.42286014,4.72999342 1.5331049,4.74570395 1.61884615,4.80392763 C1.74704895,4.89096711 1.88488112,4.96622368 2.03055944,5.02794079 C2.12672727,5.06869737 2.19602098,5.15060526 2.2141049,5.24834211 L2.30651748,5.74778289 C2.33278322,5.88976974 2.46377622,5.99336842 2.61692308,5.99336842 L3.3828042,5.99336842 C3.53597203,5.99336842 3.66696503,5.88973026 3.69320979,5.74778289 L3.78562238,5.24834211 C3.80370629,5.15058553 3.873,5.06869737 3.96916783,5.02794079 C4.11488811,4.96618421 4.2526993,4.89096711 4.38088112,4.80392763 C4.4666014,4.74570395 4.57686713,4.72999342 4.67613986,4.76421711 L5.18261538,4.93882895 C5.32644755,4.98840789 5.48731469,4.93351974 5.56390909,4.80872368 L5.94686014,4.18472368 C6.02345455,4.05992763 5.99355944,3.90140132 5.87597203,3.80899342 L5.46201399,3.48365132 C5.38099301,3.41996053 5.34035664,3.32248026 5.35086713,3.22363816 C5.35892308,3.15011842 5.36297203,3.07549342 5.36297203,3 Z" id="Shape" fill="#FFBB1B"></path>
<path d="M2.60341259,5.99340789 L3.39662937,5.99340789 C3.57383916,5.99340789 3.71748252,5.85826974 3.71748252,5.69155263 L3.71748252,4.20761842 C3.71748252,4.183875 3.69700699,4.16457237 3.67172727,4.16457237 L2.32827273,4.16457237 C2.30303497,4.16457237 2.28251748,4.18383553 2.28251748,4.20761842 L2.28251748,5.69155263 C2.28253846,5.85825 2.4262028,5.99340789 2.60341259,5.99340789 Z" id="Shape" fill="#F0881C"></path>
<path d="M3.72665035,1.57178289 L3.72665035,2.92438816 L2.99355944,3.19501974 L2.26051049,2.92438816 L2.26051049,1.57798026 C1.74631469,1.829625 1.39487413,2.335125 1.39487413,2.91813158 C1.39487413,3.75213158 2.11353147,4.42819737 2.99997902,4.42819737 C3.88646853,4.42819737 4.60508392,3.75209211 4.60508392,2.91813158 C4.6051049,2.33028947 4.24783217,1.82125658 3.72665035,1.57178289 Z" id="Shape" fill="#F5F5F5"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="104px" height="76px" viewBox="0 0 104 76" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>choerodon_logo_fixed (1)</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-501.000000, -996.000000)" id="choerodon_logo_fixed-(1)">
<g transform="translate(502.000000, 996.000000)">
<path d="M72.713,64.599 C76.157,65.378 85.433,58.826 86.396,59.692 C87.047,60.278 83.748,64.587 83.748,64.587 L80.666,67.286 C80.666,67.286 71.682,64.366 72.713,64.599 Z M87.53,30.78 C90.696,32.343 93.204,40.919 94.497,40.852 C95.372,40.807 95.522,35.382 95.522,35.382 L94.826,31.345 C94.826,31.345 86.582,30.312 87.529,30.78 L87.53,30.78 Z" id="Shape" stroke="#000000" stroke-width="0.9377" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M59.68,4.5 L44.77,0.985 C44.77,0.985 24.805,8.274 13.029,19.901 C21.201,21.568 23.582,21.126 23.582,21.126 L59.68,4.5 Z" id="Shape" stroke="#000000" stroke-width="1.5628" fill="#FF5F2E" fill-rule="nonzero" stroke-linejoin="round"></path>
<path d="M0.742,40.568 C0.742,40.568 33.292,5.082 59.68,4.5 C86.068,3.918 93.984,29.426 96.036,34.704 C86.1,37.414 76.244,38.43 64.771,35.192 C63.251,52.466 72.053,63.645 86.111,64.165 C73.085,74.069 65.244,75.555 55.575,74.872 C39.773,73.757 15.115,60.8 3.973,27.667 C2.09107795,31.7247493 0.994755942,36.1022331 0.742,40.568 Z" id="Shape" fill="#5CC2F2" fill-rule="nonzero"></path>
<path d="M50.1,62.516 C30.668,60.381 18.453,49.395 6.626,34.634 C18.676,62.634 40.922,73.839 55.566,74.872 C65.235,75.554 73.076,74.069 86.101,64.165 C80.9765759,64.092112 76.0460401,62.1944975 72.195,58.813 C68.675,60.768 63.309,63.968 50.1,62.516 Z" id="Shape" fill="#B2E7FB" fill-rule="nonzero" opacity="0.9"></path>
<path d="M0.742,40.568 C0.742,40.568 33.292,5.082 59.68,4.5 C86.068,3.918 94.72,28.726 96.037,34.704 C87.017,37.35 77.616,38.87 64.772,35.192 C63.252,52.466 72.054,63.645 86.112,64.165 C73.086,74.069 65.245,75.555 55.576,74.872 C39.773,73.757 15.115,60.8 3.973,27.667 C2.09107795,31.7247493 0.994755942,36.1022331 0.742,40.568 Z" id="Shape" stroke="#000000" stroke-width="1.5628" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M56.517,39.739 L39.043,31.424 C34.3472052,36.7746688 31.2920753,43.3647227 30.243,50.406 C42.563,48.27 56.517,39.74 56.517,39.74 L56.517,39.739 Z" id="Shape" stroke="#000000" stroke-width="1.5628" fill="#FF5F2E" fill-rule="nonzero" stroke-linejoin="round"></path>
<circle id="Oval" stroke="#000000" stroke-width="1.563" fill="#FFFFFF" fill-rule="nonzero" stroke-linecap="round" stroke-linejoin="round" cx="73.676" cy="25.43" r="5.529"></circle>
<ellipse id="Oval" fill="#000000" fill-rule="nonzero" cx="74.361" cy="25.43" rx="2.839" ry="2.719"></ellipse>
<path d="M37.28,34.819 C37.28,34.819 41.19,37.891 44.963,38.43 M33.659,39.564 C36.3836638,40.3507018 39.167864,40.9142306 41.984,41.249 M31.54,45.145 C34.6458096,45.1844213 37.7450818,44.8500182 40.771,44.149" id="Shape" stroke="#000000" stroke-width="1.5628" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M89.03,43.944 C93.4364467,43.1754825 97.9674742,44.1950537 101.62,46.777 C101.683879,46.4388984 101.711701,46.094973 101.703,45.751 C101.553,39.639 93.358,38.254 88.23,38.839 C83.102,39.424 77.433,42.711 76.856,49.296 C76.7819185,50.2814119 76.9210777,51.2712158 77.264,52.198 C79.7543101,47.8260032 84.0704854,44.7978934 89.029,43.944 L89.03,43.944 Z" id="Shape" stroke="#231815" stroke-width="0.938" fill="#FFC7C7" fill-rule="nonzero" stroke-linejoin="round"></path>
<path d="M90.081,50.021 C92.8541283,49.5373344 95.705987,50.1704018 98.014,51.782 C99.474,50.072 101.225,48.87 101.62,46.777 C97.7372978,44.0394704 92.8798429,43.0670563 88.2425367,44.098965 C83.6052304,45.1308737 79.6184803,48.0713295 77.263,52.197 C78.1795495,54.438001 79.6526677,56.4081245 81.543,57.921 C82.5824885,53.8346136 85.9263377,50.7406327 90.081,50.021 Z" id="Shape" stroke="#231815" stroke-width="0.938" fill="#FFE2E2" fill-rule="nonzero" stroke-linejoin="round"></path>
<path d="M81.543,57.921 C86.093,61.823 92.554,64.021 94.36,61.599 C96.555,58.655 95.33,56.083 96.958,53.254 C97.263714,52.7317278 97.6172293,52.2389489 98.014,51.782 C95.1355366,49.7775677 91.4569409,49.3126133 88.1702705,50.5378065 C84.8836001,51.7629996 82.4069932,54.5224682 81.543,57.922 L81.543,57.921 Z" id="Shape" stroke="#231815" stroke-width="0.938" fill="#F6F6F6" fill-rule="nonzero" stroke-linejoin="round"></path>
<path d="M88.23,38.983 C83.103,39.568 77.433,42.855 76.856,49.439 C76.7815678,50.4243407 76.9203866,51.4141491 77.263,52.341 C78.1795882,54.5819791 79.6526997,56.5520936 81.543,58.065 C86.093,61.966 92.553,64.165 94.36,61.742 C96.555,58.798 95.33,56.226 96.958,53.398 C97.263685,52.875709 97.6172021,52.3829274 98.014,51.926 C99.474,50.216 101.224,49.014 101.62,46.921 C101.683599,46.582533 101.711087,46.2382705 101.702,45.894 C101.554,39.782 93.358,38.398 88.23,38.983 Z" id="Shape" stroke="#000000" stroke-width="1.5628" stroke-linecap="round" stroke-linejoin="round"></path>
<circle id="Oval" fill="#FFFFFF" fill-rule="nonzero" cx="75.156" cy="24.421" r="1.009"></circle>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="40px" height="37px" viewBox="0 0 40 37" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>gitlab</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-220.000000, -1182.000000)" fill-rule="nonzero" id="安装与配置">
<g transform="translate(200.000000, 1132.000000)">
<g id="Group" transform="translate(0.000000, 32.000000)">
<g id="gitlab" transform="translate(20.000000, 18.000000)">
<polygon id="Shape" fill="#E24329" points="19.9890027 36.7795148 27.3219407 14.2111051 12.6566038 14.2111051 19.9892183 36.7795148"></polygon>
<polygon id="Shape" fill="#FC6D26" points="19.9890027 36.7795148 12.6560647 14.2111051 2.37897574 14.2111051 19.9892183 36.7792992"></polygon>
<path d="M2.37908356,14.2111051 L0.150512129,21.0693261 C-0.0526145553,21.6949865 0.169919137,22.3803774 0.702210243,22.7667925 L19.9890027,36.7795148 L2.37908356,14.2109973 L2.37908356,14.2111051 Z" id="Shape" fill="#FCA326"></path>
<path d="M2.37908356,14.2111051 L12.6561725,14.2111051 L8.2393531,0.618328841 C8.01218329,-0.0810781671 7.02274933,-0.0810781671 6.79568733,0.618328841 L2.37897574,14.2111051 L2.37908356,14.2111051 Z" id="Shape" fill="#E24329"></path>
<polygon id="Shape" fill="#FC6D26" points="19.9890027 36.7795148 27.3219407 14.2111051 37.5990296 14.2111051 19.9892183 36.7792992"></polygon>
<path d="M37.5989218,14.2111051 L39.8274933,21.0693261 C40.0306199,21.6949865 39.8080863,22.3803774 39.2757951,22.7667925 L19.9890027,36.7795148 L37.5989218,14.2109973 L37.5989218,14.2111051 Z" id="Shape" fill="#FCA326"></path>
<path d="M37.5989218,14.2111051 L27.3218329,14.2111051 L31.7386523,0.618328841 C31.9659299,-0.0810781671 32.9553639,-0.0810781671 33.1825337,0.618328841 L37.5990296,14.2111051 L37.5989218,14.2111051 Z" id="Shape" fill="#E24329"></path>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="41px" height="35px" viewBox="0 0 41 35" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>Bitmap</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-484.000000, -1183.000000)" id="安装与配置">
<g transform="translate(200.000000, 1132.000000)">
<g id="Group" transform="translate(264.666667, 32.000000)">
<image id="Bitmap" x="20" y="19" width="40" height="34.8717949" xlink:href="data:image/png;base64,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"></image>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="45px" height="45px" viewBox="0 0 45 45" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>nav_logo</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-747.000000, -1178.000000)" fill-rule="nonzero" id="安装与配置">
<g transform="translate(200.000000, 1132.000000)">
<g id="Group" transform="translate(529.333333, 32.000000)">
<g id="nav_logo" transform="translate(20.000000, 17.000000)">
<path d="M36.5,8.77272727 C36.2727273,8.04545455 35.7272727,7.45454545 35.0454545,7.09090909 L21.1818182,0.454545455 C20.8181818,0.272727273 20.4090909,0.227272727 20.0454545,0.227272727 C19.6818182,0.227272727 19.2727273,0.227272727 18.9090909,0.318181818 L5.04545455,7 C4.36363636,7.31818182 3.86363636,7.90909091 3.68181818,8.68181818 L0.272727273,23.6363636 C0.136363636,24.4090909 0.318181818,25.1818182 0.772727273,25.8181818 L10.3636364,37.6818182 C10.9090909,38.2272727 11.6818182,38.5909091 12.4545455,38.6363636 L27.7272727,38.6363636 C28.5454545,38.7272727 29.3181818,38.3636364 29.8181818,37.6818182 L39.4090909,25.8181818 C39.8636364,25.1818182 40.0454545,24.4090909 39.9545455,23.6363636 L36.5,8.77272727 Z" id="Shape" stroke="#FFFFFF" stroke-width="5" fill="#FFFFFF"></path>
<path d="M36.5,8.77272727 C36.2727273,8.04545455 35.7272727,7.45454545 35.0454545,7.09090909 L21.1818182,0.454545455 C20.8181818,0.272727273 20.4090909,0.227272727 20.0454545,0.227272727 C19.6818182,0.227272727 19.2727273,0.227272727 18.9090909,0.318181818 L5.04545455,7 C4.36363636,7.31818182 3.86363636,7.90909091 3.68181818,8.68181818 L0.272727273,23.6363636 C0.136363636,24.4090909 0.318181818,25.1818182 0.772727273,25.8181818 L10.3636364,37.6818182 C10.9090909,38.2272727 11.6818182,38.5909091 12.4545455,38.6363636 L27.7272727,38.6363636 C28.5454545,38.7272727 29.3181818,38.3636364 29.8181818,37.6818182 L39.4090909,25.8181818 C39.8636364,25.1818182 40.0454545,24.4090909 39.9545455,23.6363636 L36.5,8.77272727 Z" id="Shape" fill="#326DE6"></path>
<path d="M34.3636364,23.0454545 C34.3181818,23.0454545 34.2727273,23.0454545 34.2727273,23 C34.2727273,22.9545455 34.1818182,22.9545455 34.0909091,22.9545455 C33.9090909,22.9090909 33.7272727,22.9090909 33.5454545,22.9090909 C33.4545455,22.9090909 33.3636364,22.9090909 33.2727273,22.8636364 L33.2272727,22.8636364 C32.7272727,22.8181818 32.1818182,22.7272727 31.6818182,22.5909091 C31.5454545,22.5454545 31.4090909,22.4090909 31.3636364,22.2727273 C31.4090909,22.2727273 31.3636364,22.2727273 31.3636364,22.2727273 L31,22.1818182 C31.1818182,20.8636364 31.0909091,19.5 30.8181818,18.1818182 C30.5,16.8636364 29.9545455,15.5909091 29.2272727,14.4545455 L29.5,14.1818182 L29.5,14.1363636 C29.5,14 29.5454545,13.8181818 29.6363636,13.7272727 C30.0454545,13.3636364 30.4545455,13.0909091 30.9090909,12.8181818 C31,12.7727273 31.0909091,12.7272727 31.1818182,12.6818182 C31.3636364,12.5909091 31.5,12.5 31.6818182,12.4090909 C31.7272727,12.3636364 31.7727273,12.3636364 31.8181818,12.3181818 C31.8636364,12.2727273 31.8181818,12.2727273 31.8181818,12.2272727 C32.2272727,11.9090909 32.3181818,11.3636364 32,10.9545455 C31.8636364,10.7727273 31.5909091,10.6363636 31.3636364,10.6363636 C31.1363636,10.6363636 30.9090909,10.7272727 30.7272727,10.8636364 L30.6818182,10.9090909 C30.6363636,10.9545455 30.5909091,11 30.5454545,11 C30.4090909,11.1363636 30.2727273,11.2727273 30.1818182,11.4090909 C30.1363636,11.5 30.0454545,11.5454545 30,11.5909091 C29.6818182,11.9545455 29.2727273,12.3181818 28.8636364,12.5909091 C28.7727273,12.6363636 28.6818182,12.6818182 28.5909091,12.6818182 C28.5454545,12.6818182 28.4545455,12.6818182 28.4090909,12.6363636 L28.3636364,12.6363636 L28,12.8636364 C27.6363636,12.5 27.2272727,12.1363636 26.8636364,11.7727273 C25.1818182,10.4545455 23.0909091,9.63636364 20.9545455,9.40909091 L20.9090909,9.04545455 L20.9090909,9.09090909 C20.7727273,9 20.7272727,8.86363636 20.6818182,8.72727273 C20.6818182,8.22727273 20.6818182,7.72727273 20.7727273,7.18181818 L20.7727273,7.13636364 C20.7727273,7.04545455 20.8181818,6.95454545 20.8181818,6.86363636 C20.8636364,6.68181818 20.8636364,6.5 20.9090909,6.31818182 L20.9090909,6.04545455 C20.9545455,5.59090909 20.5909091,5.13636364 20.1363636,5.09090909 C19.8636364,5.04545455 19.5909091,5.18181818 19.3636364,5.40909091 C19.1818182,5.59090909 19.0909091,5.81818182 19.0909091,6.04545455 L19.0909091,6.27272727 C19.0909091,6.45454545 19.1363636,6.63636364 19.1818182,6.81818182 C19.2272727,6.90909091 19.2272727,7 19.2272727,7.09090909 L19.2272727,7.13636364 C19.3181818,7.63636364 19.3181818,8.13636364 19.3181818,8.68181818 C19.2727273,8.81818182 19.2272727,8.95454545 19.0909091,9.04545455 L19.0909091,9.13636364 L19.0454545,9.5 C18.5454545,9.54545455 18.0454545,9.63636364 17.5,9.72727273 C15.3636364,10.1818182 13.4090909,11.3181818 11.9090909,12.9090909 L11.6363636,12.7272727 L11.5909091,12.7272727 C11.5454545,12.7272727 11.5,12.7727273 11.4090909,12.7727273 C11.3181818,12.7727273 11.2272727,12.7272727 11.1363636,12.6818182 C10.7272727,12.3636364 10.3181818,12 10,11.6363636 C9.95454545,11.5454545 9.86363636,11.5 9.81818182,11.4545455 C9.68181818,11.3181818 9.59090909,11.1818182 9.45454545,11.0454545 C9.40909091,11 9.36363636,11 9.31818182,10.9545455 C9.27272727,10.9090909 9.27272727,10.9090909 9.27272727,10.9090909 C9.09090909,10.7727273 8.86363636,10.6818182 8.63636364,10.6818182 C8.36363636,10.6818182 8.13636364,10.7727273 8,11 C7.72727273,11.4090909 7.81818182,11.9545455 8.18181818,12.2727273 C8.22727273,12.2727273 8.22727273,12.3181818 8.22727273,12.3181818 C8.22727273,12.3181818 8.31818182,12.4090909 8.36363636,12.4090909 C8.5,12.5 8.68181818,12.5909091 8.86363636,12.6818182 C8.95454545,12.7272727 9.04545455,12.7727273 9.13636364,12.8181818 C9.59090909,13.0909091 10.0454545,13.3636364 10.4090909,13.7272727 C10.5,13.8181818 10.5909091,14 10.5454545,14.1363636 L10.5454545,14.0909091 L10.8181818,14.3636364 C10.7727273,14.4545455 10.7272727,14.5 10.6818182,14.5909091 C9.27272727,16.8181818 8.68181818,19.4545455 9.09090909,22.0454545 L8.72727273,22.1363636 C8.72727273,22.1818182 8.68181818,22.1818182 8.68181818,22.1818182 C8.63636364,22.3181818 8.5,22.4090909 8.36363636,22.5 C7.86363636,22.6363636 7.36363636,22.7272727 6.81818182,22.7727273 C6.72727273,22.7727273 6.63636364,22.7727273 6.54545455,22.8181818 C6.36363636,22.8181818 6.18181818,22.8636364 6,22.8636364 C5.95454545,22.8636364 5.90909091,22.9090909 5.81818182,22.9090909 C5.77272727,22.9090909 5.77272727,22.9090909 5.72727273,22.9545455 C5.22727273,23.0454545 4.90909091,23.5 5,24 C5,24 5,24 5,24 C5.09090909,24.4090909 5.5,24.6818182 5.90909091,24.6363636 C6,24.6363636 6.04545455,24.6363636 6.13636364,24.5909091 C6.18181818,24.5909091 6.18181818,24.5909091 6.18181818,24.5454545 C6.18181818,24.5 6.31818182,24.5454545 6.36363636,24.5454545 C6.54545455,24.5 6.72727273,24.4090909 6.86363636,24.3636364 C6.95454545,24.3181818 7.04545455,24.2727273 7.13636364,24.2727273 L7.18181818,24.2727273 C7.68181818,24.0909091 8.13636364,23.9545455 8.68181818,23.8636364 L8.72727273,23.8636364 C8.86363636,23.8636364 9,23.9090909 9.09090909,24 C9.13636364,24 9.13636364,24.0454545 9.13636364,24.0454545 L9.54545455,24 C10.2272727,26.0909091 11.5,27.9545455 13.2727273,29.3181818 C13.6818182,29.6363636 14.0454545,29.9090909 14.5,30.1363636 L14.2727273,30.4545455 C14.2727273,30.5 14.3181818,30.5 14.3181818,30.5 C14.4090909,30.6363636 14.4090909,30.8181818 14.3636364,30.9545455 C14.1818182,31.4090909 13.9090909,31.8636364 13.6363636,32.2727273 L13.6363636,32.3181818 C13.5909091,32.4090909 13.5454545,32.4545455 13.4545455,32.5454545 C13.3636364,32.6363636 13.2727273,32.8181818 13.1363636,33 C13.0909091,33.0454545 13.0909091,33.0909091 13.0454545,33.1363636 C13.0454545,33.1363636 13.0454545,33.1818182 13,33.1818182 C12.7727273,33.6363636 12.9545455,34.1818182 13.3636364,34.4090909 C13.4545455,34.4545455 13.5909091,34.5 13.6818182,34.5 C14.0454545,34.5 14.3636364,34.2727273 14.5454545,33.9545455 C14.5454545,33.9545455 14.5454545,33.9090909 14.5909091,33.9090909 C14.5909091,33.8636364 14.6363636,33.8181818 14.6818182,33.7727273 C14.7272727,33.5909091 14.8181818,33.4545455 14.8636364,33.2727273 L14.9545455,33 C15.0909091,32.5 15.3181818,32.0454545 15.5454545,31.5909091 C15.6363636,31.4545455 15.7727273,31.3636364 15.9090909,31.3181818 C15.9545455,31.3181818 15.9545455,31.3181818 15.9545455,31.2727273 L16.1363636,30.9090909 C17.4090909,31.4090909 18.7272727,31.6363636 20.0909091,31.6363636 C20.9090909,31.6363636 21.7272727,31.5454545 22.5454545,31.3181818 C23.0454545,31.2272727 23.5454545,31.0454545 24,30.9090909 L24.1818182,31.2272727 C24.2272727,31.2272727 24.2272727,31.2272727 24.2272727,31.2727273 C24.3636364,31.3181818 24.5,31.4090909 24.5909091,31.5454545 C24.8181818,32 25.0454545,32.4545455 25.1818182,32.9545455 L25.1818182,33 L25.2727273,33.2727273 C25.3181818,33.4545455 25.3636364,33.6363636 25.4545455,33.7727273 C25.5,33.8181818 25.5,33.8636364 25.5454545,33.9090909 C25.5454545,33.9090909 25.5454545,33.9545455 25.5909091,33.9545455 C25.7727273,34.2727273 26.0909091,34.5 26.4545455,34.5 C26.5909091,34.5 26.6818182,34.4545455 26.8181818,34.4090909 C27,34.3181818 27.1818182,34.1363636 27.2272727,33.9090909 C27.2727273,33.6818182 27.2727273,33.4545455 27.1818182,33.2272727 C27.1818182,33.1818182 27.1363636,33.1818182 27.1363636,33.1818182 C27.1363636,33.1363636 27.0909091,33.0909091 27.0454545,33.0454545 C26.9545455,32.8636364 26.8636364,32.7272727 26.7272727,32.5909091 C26.6818182,32.5 26.6363636,32.4545455 26.5454545,32.3636364 L26.5454545,32.2727273 C26.2272727,31.8636364 26,31.4090909 25.8181818,30.9545455 C25.7727273,30.8181818 25.7727273,30.6363636 25.8636364,30.5 C25.8636364,30.4545455 25.9090909,30.4545455 25.9090909,30.4545455 L25.7727273,30.0909091 C28.0909091,28.6818182 29.8636364,26.5 30.6818182,23.9090909 L31.0454545,23.9545455 C31.0909091,23.9545455 31.0909091,23.9090909 31.0909091,23.9090909 C31.1818182,23.8181818 31.3181818,23.7727273 31.4545455,23.7727273 L31.5,23.7727273 C32,23.8636364 32.5,24 32.9545455,24.1818182 L33,24.1818182 C33.0909091,24.2272727 33.1818182,24.2727273 33.2727273,24.2727273 C33.4545455,24.3636364 33.5909091,24.4545455 33.7727273,24.5 C33.8181818,24.5 33.8636364,24.5454545 33.9545455,24.5454545 C34,24.5454545 34,24.5454545 34.0454545,24.5909091 C34.1363636,24.6363636 34.1818182,24.6363636 34.2727273,24.6363636 C34.6818182,24.6363636 35.0454545,24.3636364 35.1818182,24 C35.1363636,23.5 34.7727273,23.1363636 34.3636364,23.0454545 Z M21.2272727,21.6363636 L20,22.2272727 L18.7727273,21.6363636 L18.4545455,20.3181818 L19.3181818,19.2272727 L20.6818182,19.2272727 L21.5454545,20.3181818 L21.2272727,21.6363636 Z M28.6363636,18.6818182 C28.8636364,19.6363636 28.9090909,20.5909091 28.8181818,21.5454545 L24.5,20.3181818 C24.0909091,20.2272727 23.8636364,19.8181818 23.9545455,19.4090909 C24,19.2727273 24.0454545,19.1818182 24.1363636,19.0909091 L27.5454545,16 C28.0454545,16.8181818 28.4090909,17.7272727 28.6363636,18.6818182 Z M26.1818182,14.3181818 L22.4545455,16.9545455 C22.1363636,17.1363636 21.6818182,17.0909091 21.4545455,16.7727273 C21.3636364,16.6818182 21.3181818,16.5909091 21.3181818,16.4545455 L21.0454545,11.8636364 C23.0454545,12.0909091 24.8181818,12.9545455 26.1818182,14.3181818 Z M17.9545455,12 L18.8636364,11.8181818 L18.6363636,16.3636364 C18.6363636,16.7727273 18.2727273,17.0909091 17.8636364,17.0909091 C17.7272727,17.0909091 17.6363636,17.0454545 17.5,17 L13.7272727,14.3181818 C14.9090909,13.1818182 16.3636364,12.3636364 17.9545455,12 Z M12.4090909,16 L15.7727273,19 C16.0909091,19.2727273 16.1363636,19.7272727 15.8636364,20.0454545 C15.7727273,20.1818182 15.6818182,20.2272727 15.5,20.2727273 L11.0909091,21.5454545 C10.9545455,19.6363636 11.4090909,17.6818182 12.4090909,16 Z M11.6363636,23.6818182 L16.1363636,22.9090909 C16.5,22.9090909 16.8636364,23.1363636 16.9090909,23.5 C16.9545455,23.6363636 16.9545455,23.8181818 16.8636364,23.9545455 L15.1363636,28.1363636 C13.5454545,27.0909091 12.2727273,25.5 11.6363636,23.6818182 Z M21.9545455,29.3181818 C21.3181818,29.4545455 20.6818182,29.5454545 20,29.5454545 C19.0454545,29.5454545 18.0454545,29.3636364 17.1363636,29.0909091 L19.3636364,25.0454545 C19.5909091,24.7727273 19.9545455,24.6818182 20.2727273,24.8636364 C20.4090909,24.9545455 20.5,25.0454545 20.6363636,25.1818182 L22.8181818,29.1363636 C22.5454545,29.1818182 22.2727273,29.2272727 21.9545455,29.3181818 Z M27.5,25.3636364 C26.8181818,26.4545455 25.8636364,27.4090909 24.7727273,28.0909091 L23,23.8181818 C22.9090909,23.4545455 23.0909091,23.0909091 23.4090909,22.9545455 C23.5454545,22.9090909 23.6818182,22.8636364 23.8181818,22.8636364 L28.3636364,23.6363636 C28.1363636,24.2727273 27.8636364,24.8636364 27.5,25.3636364 Z" id="Shape" fill="#FFFFFF"></path>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="26px" height="40px" viewBox="0 0 26 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>Bitmap</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-1021.000000, -1180.000000)" id="安装与配置">
<g transform="translate(200.000000, 1132.000000)">
<g id="Group" transform="translate(794.000000, 32.000000)">
<image id="Bitmap" x="27" y="16" width="25.5438596" height="40" xlink:href="data:image/png;base64,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"></image>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="45px" height="36px" viewBox="0 0 45 36" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>Group 8</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-484.000000, -378.000000)" fill-rule="nonzero" id="快速入门">
<g transform="translate(200.000000, 328.000000)">
<g id="Group" transform="translate(264.666667, 32.000000)">
<g id="Group-8" transform="translate(20.000000, 18.000000)">
<g id="browser">
<path d="M37.8679365,35.4730159 L2.13206349,35.4730159 C0.968095238,35.4730159 0.0244444444,34.5295238 0.0244444444,33.3653968 L0.0244444444,2.26396825 C0.0244444444,1.1 0.967936508,0.156349206 2.13206349,0.156349206 L37.8674603,0.156349206 C39.0314286,0.156349206 39.9750794,1.09984127 39.9750794,2.26396825 L39.9750794,33.3650794 C39.9753968,34.5292063 39.0315873,35.4730159 37.8679365,35.4730159 Z" id="Shape" fill="#4B87EA"></path>
<path d="M39.9753968,5.61031746 L0.0246031746,5.61031746 L0.0246031746,2.26396825 C0.0246031746,1.1 0.968095238,0.156349206 2.13222222,0.156349206 L37.867619,0.156349206 C39.0315873,0.156349206 39.9752381,1.09984127 39.9752381,2.26396825 L39.9753968,5.61031746 Z" id="Shape" fill="#A9A9A9"></path>
<path d="M0.0246031746,20.6642857 L0.0246031746,33.3650794 C0.0246031746,34.5290476 0.968095238,35.4726984 2.13222222,35.4726984 L19.9333333,35.4726984 L19.9333333,20.6642857 L0.0246031746,20.6642857 Z" id="Shape" fill="#EFEFEF"></path>
<path d="M39.9755556,20.6642857 L19.9334921,20.6642857 L19.9334921,35.4726984 L37.8679365,35.4726984 C39.0319048,35.4726984 39.9755556,34.5292063 39.9755556,33.3650794 L39.9755556,20.6642857 Z" id="Shape" fill="#396BD7"></path>
<g id="Group" transform="translate(2.698413, 1.904762)" fill="#FFFFFF">
<circle id="Oval" cx="0.935396825" cy="0.905079365" r="1"></circle>
<circle id="Oval" cx="4.4515873" cy="0.905079365" r="1"></circle>
</g>
<g id="Group" transform="translate(3.492063, 23.333333)" fill="#CCCCCC">
<rect id="Rectangle-path" x="0.0158730159" y="0.0731746032" width="12.9430159" height="1.59809524"></rect>
<rect id="Rectangle-path" x="0.0158730159" y="3.81095238" width="12.9430159" height="1.59809524"></rect>
<rect id="Rectangle-path" x="0.0158730159" y="7.54619048" width="12.9430159" height="1.59809524"></rect>
</g>
</g>
<g id="Group" transform="translate(25.000000, 17.000000)">
<polygon id="Shape" fill="#EDDCC7" points="3.04872727 11.992 3.04290909 11.9970909 1.59709091 17.2989091 4.97672727 13.9192727"></polygon>
<path d="M17.0487273,1.84727273 L16.1418182,0.940363636 C15.5781818,0.376727273 14.664,0.376727273 14.1003636,0.940363636 L11.4952727,3.54545455 L13.4232727,5.47345455 L17.0487273,1.84727273 Z" id="Shape" fill="#D75A4A"></path>
<rect id="Rectangle-path" fill="#F29C21" transform="translate(8.236076, 8.732221) rotate(45.000000) translate(-8.236076, -8.732221) " x="6.87281616" y="2.75991448" width="2.72651931" height="11.9446127"></rect>
<polygon id="Shape" fill="#D6C4B1" points="7.15709091 16.1112727 7.16290909 16.1054545 4.97672727 13.9192727 1.59709091 17.2989091 1.50036364 17.6538182"></polygon>
<path d="M15.6087273,7.65963636 L18.2138182,5.05454545 C18.7774545,4.49090909 18.7774545,3.57672727 18.2138182,3.01309091 L17.0487273,1.848 L13.4232727,5.47345455 L15.6087273,7.65963636 Z" id="Shape" fill="#A34740"></path>
<rect id="Rectangle-path" fill="#E18C25" transform="translate(10.292142, 10.790065) rotate(-135.000000) translate(-10.292142, -10.790065) " x="8.74633901" y="4.81775818" width="3.09160671" height="11.9446127"></rect>
<path d="M0.986181818,18.8952727 C0.8,18.8952727 0.613818182,18.824 0.472,18.6821818 C0.187636364,18.3978182 0.187636364,17.9381818 0.472,17.6538182 L2.07709091,16.0487273 C2.36145455,15.7643636 2.82109091,15.7643636 3.10545455,16.0487273 C3.38981818,16.3330909 3.38981818,16.7927273 3.10545455,17.0770909 L1.50036364,18.6821818 C1.35854545,18.8247273 1.17236364,18.8952727 0.986181818,18.8952727 Z" id="Shape" fill="#5E5E5E"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="39px" height="40px" viewBox="0 0 39 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>database (1)</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-750.000000, -376.000000)" fill-rule="nonzero" id="快速入门">
<g transform="translate(200.000000, 328.000000)">
<g id="Group" transform="translate(529.333333, 32.000000)">
<g id="database-(1)" transform="translate(21.000000, 16.000000)">
<g id="database-(2)">
<path d="M1.638,24.263318 C0.588445312,24.7973849 0,25.3910753 0,26.0177573 C0,28.3434686 8.05900781,30.2284435 18,30.2284435 C27.9409922,30.2284435 36,28.3434686 36,26.0177573 C36,25.3910753 35.4115547,24.7973849 34.362,24.263318 C31.5173672,25.7124854 25.2620859,26.7194854 18,26.7194854 C10.7379141,26.7194854 4.48263281,25.7124854 1.638,24.263318 Z" id="Shape" fill="#396BD7"></path>
<path d="M18,30.228364 C8.05900781,30.228364 0,28.3433891 0,26.0176778 L0,33.7371632 C0,36.0628745 8.05900781,37.9478494 18,37.9478494 C27.9409922,37.9478494 36,36.0628745 36,33.7371632 L36,26.0176778 C36,28.3433891 27.9409922,30.228364 18,30.228364 Z" id="Shape" fill="#4B87EA"></path>
<path d="M1.638,13.034954 C0.588445312,13.5689414 0,14.1626318 0,14.7893138 C0,17.1150251 8.05900781,19 18,19 C27.9409922,19 36,17.1150251 36,14.7893138 C36,14.1626318 35.4115547,13.5689414 34.362,13.0348745 C31.5173672,14.4840418 25.2620859,15.4911213 18,15.4911213 C10.7379141,15.4911213 4.48263281,14.4840418 1.638,13.034954 Z" id="Shape" fill="#396BD7"></path>
<g id="Group" transform="translate(0.000000, 3.497908)" fill="#4B87EA">
<path d="M18,4.27372803 C8.05900781,4.27372803 0,2.38875314 0,0.063041841 L0,7.7825272 C0,8.40920921 0.589007813,9.00289958 1.638,9.53696653 C4.48263281,10.9861339 10.7379141,11.9932134 18,11.9932134 C25.2620859,11.9932134 31.5173672,10.9861339 34.362,9.53696653 C35.4109922,9.00297908 36,8.4092887 36,7.78260669 L36,0.063041841 C36,2.38875314 27.9409922,4.27372803 18,4.27372803 Z" id="Shape"></path>
<path d="M18,15.5020921 C8.05900781,15.5020921 0,13.6171172 0,11.2914059 L0,19.0108912 C0,19.6375732 0.589007813,20.2312636 1.638,20.7653305 C4.48263281,22.2145774 10.7379141,23.2215774 18,23.2215774 C25.2620859,23.2215774 31.5173672,22.2144979 34.362,20.7653305 C35.4109922,20.2313431 36,19.6376527 36,19.0109707 L36,11.2914059 C36,13.6171172 27.9409922,15.5020921 18,15.5020921 Z" id="Shape"></path>
</g>
<path d="M18,0.0520711297 C8.05900781,0.0520711297 0,1.23523849 0,3.56094979 C0,5.88666109 8.05900781,7.77163598 18,7.77163598 C27.9409922,7.77163598 36,5.88666109 36,3.56094979 C36,1.23523849 27.9409922,0.0520711297 18,0.0520711297 Z" id="Shape" fill="#7DBFFF"></path>
<g id="Group" transform="translate(15.468750, 10.573222)" fill="#EFEFEF">
<path d="M0.669164062,0.00548535565 L4.39333594,0.00548535565 C4.73596875,0.00548535565 5.01405469,0.319899582 5.01405469,0.707292887 C5.01405469,1.09468619 4.73596875,1.40910042 4.39333594,1.40910042 L0.669164062,1.40910042 C0.32653125,1.40910042 0.0484453125,1.09468619 0.0484453125,0.707292887 C0.048515625,0.319899582 0.32653125,0.00548535565 0.669164062,0.00548535565 Z" id="Shape"></path>
<path d="M0.669164062,11.2338494 L4.39333594,11.2338494 C4.73596875,11.2338494 5.01405469,11.5482636 5.01405469,11.9356569 C5.01405469,12.3230502 4.73596875,12.6374644 4.39333594,12.6374644 L0.669164062,12.6374644 C0.32653125,12.6374644 0.0484453125,12.3230502 0.0484453125,11.9356569 C0.048515625,11.5482636 0.32653125,11.2338494 0.669164062,11.2338494 Z" id="Shape"></path>
<path d="M0.669164062,22.4622929 L4.39333594,22.4622929 C4.73596875,22.4622929 5.01405469,22.7767071 5.01405469,23.1641004 C5.01405469,23.5514937 4.73596875,23.8659079 4.39333594,23.8659079 L0.669164062,23.8659079 C0.32653125,23.8659079 0.0484453125,23.5514937 0.0484453125,23.1641004 C0.048515625,22.7767071 0.32653125,22.4622929 0.669164062,22.4622929 Z" id="Shape"></path>
</g>
</g>
<g id="Group" transform="translate(19.636364, 21.090909)">
<polygon id="Shape" fill="#EDDCC7" points="3.04872727 11.992 3.04290909 11.9970909 1.59709091 17.2989091 4.97672727 13.9192727"></polygon>
<path d="M17.0487273,1.84727273 L16.1418182,0.940363636 C15.5781818,0.376727273 14.664,0.376727273 14.1003636,0.940363636 L11.4952727,3.54545455 L13.4232727,5.47345455 L17.0487273,1.84727273 Z" id="Shape" fill="#D75A4A"></path>
<rect id="Rectangle-path" fill="#F29C21" transform="translate(8.236076, 8.732221) rotate(45.000000) translate(-8.236076, -8.732221) " x="6.87281616" y="2.75991448" width="2.72651931" height="11.9446127"></rect>
<polygon id="Shape" fill="#D6C4B1" points="7.15709091 16.1112727 7.16290909 16.1054545 4.97672727 13.9192727 1.59709091 17.2989091 1.50036364 17.6538182"></polygon>
<path d="M15.6087273,7.65963636 L18.2138182,5.05454545 C18.7774545,4.49090909 18.7774545,3.57672727 18.2138182,3.01309091 L17.0487273,1.848 L13.4232727,5.47345455 L15.6087273,7.65963636 Z" id="Shape" fill="#A34740"></path>
<rect id="Rectangle-path" fill="#E18C25" transform="translate(10.292142, 10.790065) rotate(-135.000000) translate(-10.292142, -10.790065) " x="8.74633901" y="4.81775818" width="3.09160671" height="11.9446127"></rect>
<path d="M0.986181818,18.8952727 C0.8,18.8952727 0.613818182,18.824 0.472,18.6821818 C0.187636364,18.3978182 0.187636364,17.9381818 0.472,17.6538182 L2.07709091,16.0487273 C2.36145455,15.7643636 2.82109091,15.7643636 3.10545455,16.0487273 C3.38981818,16.3330909 3.38981818,16.7927273 3.10545455,17.0770909 L1.50036364,18.6821818 C1.35854545,18.8247273 1.17236364,18.8952727 0.986181818,18.8952727 Z" id="Shape" fill="#5E5E5E"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="30px" height="40px" viewBox="0 0 30 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>java</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-1019.000000, -376.000000)" fill-rule="nonzero" id="快速入门">
<g transform="translate(200.000000, 328.000000)">
<g id="Group" transform="translate(794.000000, 32.000000)">
<g id="java" transform="translate(25.000000, 16.000000)">
<g id="Group" transform="translate(9.140625, 0.000000)" fill="#DB380E">
<path d="M5.505,7.41164062 C3.65671875,8.7115625 1.56195312,10.1849219 0.43953125,12.6225 C-1.51,16.8752344 4.42875,21.5140625 4.68257813,21.7094531 C4.7415625,21.7548437 4.8121875,21.7775 4.88257813,21.7775 C4.95734375,21.7775 5.0321875,21.7519531 5.09296875,21.7010156 C5.21085938,21.6024219 5.24429688,21.4349219 5.17351563,21.2985156 C5.15203125,21.2571094 3.0203125,17.1164844 3.09953125,14.1460156 C3.12757813,13.1114062 4.57546875,11.9377344 6.10828125,10.6951563 C7.5121875,9.55703125 9.10359375,8.26710937 10.0346875,6.758125 C12.07875,3.4365625 9.806875,0.17046875 9.78367187,0.1378125 C9.6934375,0.01109375 9.526875,-0.034765625 9.38445313,0.02765625 C9.2421875,0.09046875 9.16335938,0.244296875 9.19585938,0.39640625 C9.20046875,0.418046875 9.64226563,2.57789062 8.41289063,4.803125 C7.90648437,5.72265625 6.79367188,6.5053125 5.505,7.41164062 Z" id="Shape"></path>
<path d="M13.2919531,8.87632813 C13.4223437,8.778125 13.460625,8.59898438 13.3817969,8.45601563 C13.3028125,8.31304688 13.1309375,8.25 12.9782812,8.30796875 C12.6642969,8.42734375 5.28953125,11.2700781 5.28953125,14.7048438 C5.28953125,17.0725781 6.3009375,18.3233594 7.03945312,19.2367969 C7.32914062,19.5950781 7.57921875,19.9044531 7.66164062,20.1685937 C7.89367187,20.9297656 7.34398437,22.3055469 7.1128125,22.7714844 C7.04617187,22.9053906 7.07882812,23.0677344 7.1921875,23.1655469 C7.2534375,23.2184375 7.32992187,23.2453125 7.40648437,23.2453125 C7.47164063,23.2453125 7.53710938,23.2259375 7.59367188,23.1865625 C7.72046875,23.0984375 10.6926562,20.9970312 10.1596094,18.4652344 C9.96101563,17.5028906 9.488125,16.7997656 9.07085938,16.1792969 C8.42445313,15.2179688 7.95757813,14.5235937 8.66585938,13.2410938 C9.49570313,11.7451562 13.2539062,8.90476562 13.2919531,8.87632813 Z" id="Shape"></path>
</g>
<g id="Group" transform="translate(0.000000, 21.015625)" fill="#73A1FB">
<path d="M3.23578125,2.2840625 C3.109375,2.66257813 3.1690625,3.03804688 3.40820313,3.37023438 C4.20765625,4.48015625 7.03945313,5.09125 11.3822656,5.09125 C11.3825,5.09125 11.3826563,5.09125 11.3828125,5.09125 C11.97125,5.09125 12.5925,5.0796875 13.2288281,5.056875 C20.1721875,4.80835938 22.7475,2.64523438 22.85375,2.55328125 C22.9695312,2.45304688 23.0004687,2.28617188 22.9285156,2.15117188 C22.8564844,2.01625 22.70125,1.9484375 22.5528906,1.98929688 C20.1075,2.65695313 15.5413281,2.89398438 12.3741406,2.89398438 C8.83015625,2.89398438 7.0253125,2.63867188 6.5834375,2.45015625 C6.81015625,2.13882813 8.20859375,1.58289063 9.94148437,1.24203125 C10.1071094,1.20953125 10.2209375,1.0565625 10.2045312,0.88859375 C10.188125,0.720625 10.0470312,0.5925 9.87820312,0.5925 C8.86242187,0.5925 3.76828125,0.6740625 3.23578125,2.2840625 Z" id="Shape"></path>
<path d="M26.4696875,0.05609375 C25.0375781,0.05609375 23.6795313,0.77390625 23.6223437,0.804296875 C23.4899219,0.875234375 23.4227344,1.02710937 23.4590625,1.17304688 C23.4955469,1.31875 23.6265625,1.42117188 23.7767969,1.42132813 C23.8071875,1.42132813 26.8316406,1.44609375 27.1055469,3.17414063 C27.3482031,4.66492188 24.2439063,7.08039062 23.0272656,7.88539062 C22.8958594,7.97234375 22.8448438,8.1403125 22.9058594,8.285625 C22.9578125,8.40929687 23.0782031,8.48664062 23.2080469,8.48664062 C23.2307031,8.48664062 23.2536719,8.48429687 23.2764844,8.47945312 C23.5652344,8.41765625 30.3394531,6.92484375 29.6232031,2.98070312 C29.18625,0.563515625 27.6670313,0.05609375 26.4696875,0.05609375 Z" id="Shape"></path>
<path d="M21.8239844,7.40273438 C21.8475781,7.27640625 21.795,7.14789063 21.6898437,7.0740625 L20.0655469,5.93632813 C19.9863281,5.88085938 19.88625,5.8634375 19.7932812,5.88804688 C19.7763281,5.89234375 18.0777344,6.33890625 15.6116406,6.61273438 C14.6328906,6.7225 13.5366406,6.78046875 12.4411719,6.78046875 C9.97570313,6.78046875 8.36367188,6.49078125 8.12890625,6.27828125 C8.0978125,6.21859375 8.10765625,6.19148438 8.11320313,6.17640625 C8.15585938,6.0578125 8.38445313,5.916875 8.53179688,5.86109375 C8.69453125,5.80085938 8.78226563,5.62414063 8.73164063,5.45820313 C8.68117188,5.29203125 8.51,5.19429688 8.34109375,5.23484375 C6.71171875,5.62804688 5.915,6.17789063 5.97296875,6.8690625 C6.0759375,8.09453125 8.914375,8.72351563 11.3139844,8.88976563 C11.6590625,8.91335938 12.0322656,8.9253125 12.4229688,8.9253125 C12.4232031,8.9253125 12.4233594,8.9253125 12.4235938,8.9253125 C16.41375,8.9253125 21.5290625,7.67335938 21.5801562,7.660625 C21.7050781,7.63015625 21.8003125,7.52929688 21.8239844,7.40273438 Z" id="Shape"></path>
<path d="M9.57828125,10.0327344 C9.70132812,9.95273437 9.75585938,9.800625 9.7121875,9.66054687 C9.66867188,9.52046875 9.53765625,9.4284375 9.39046875,9.43039062 C9.17210938,9.43617187 7.25382813,9.52273437 7.11953125,10.7440625 C7.07890625,11.1090625 7.1834375,11.4425781 7.43039063,11.7351562 C8.11914062,12.5514062 9.97835938,13.0365625 13.1132812,13.2182812 C13.4841406,13.2405469 13.8608594,13.2517187 14.233125,13.2517187 C18.2186719,13.2517187 20.9028906,12.0038281 21.0153125,11.9507031 C21.1242969,11.8991406 21.1961719,11.7920312 21.2025781,11.6717187 C21.2089844,11.5514062 21.1489062,11.4372656 21.0460938,11.374375 L18.9933594,10.12125 C18.9221094,10.0778125 18.836875,10.0634375 18.755625,10.0800781 C18.7426563,10.0828125 17.4392969,10.353125 15.4723438,10.6201562 C15.1001563,10.6707812 14.6340625,10.6964844 14.0871875,10.6964844 C12.1223438,10.6964844 9.936875,10.3754687 9.51773438,10.1652344 C9.51164063,10.1260156 9.519375,10.0761719 9.57828125,10.0327344 Z" id="Shape"></path>
<path d="M12.375625,17.0195312 C21.5048437,17.0117969 26.4046094,15.3882813 27.3485156,14.3666406 C27.6826563,14.0052344 27.71875,13.6630469 27.6903906,13.4395313 C27.6202344,12.8895313 27.1192188,12.5528125 27.0624219,12.51625 C26.9253906,12.428125 26.7414844,12.4511719 26.6346094,12.5744531 C26.5279687,12.6977344 26.5254687,12.8778906 26.6325,13.0010938 C26.6900781,13.0751563 26.7233594,13.1991406 26.555,13.3676563 C26.1776562,13.7200781 22.3717969,14.7898438 16.035,15.11125 C15.1669531,15.1563281 14.2564844,15.1792969 13.3290625,15.1794531 C7.65539062,15.1794531 3.503125,14.4022656 2.95804687,13.9494531 C3.168125,13.6475781 4.636875,13.1653125 6.19882812,12.8925 C6.37484375,12.8617969 6.49375,12.6959375 6.46648437,12.519375 C6.43921875,12.3428906 6.27648437,12.2214062 6.09859375,12.2444531 C6.05453125,12.2504688 5.905,12.259375 5.731875,12.27 C3.1546875,12.4273438 0.176484375,12.7780469 0.02109375,14.1059375 C-0.02609375,14.5105469 0.094140625,14.8778906 0.37859375,15.1975781 C1.07460937,15.9796094 3.07515625,17.019375 12.3753125,17.019375 C12.3754688,17.0195312 12.3754688,17.0195312 12.375625,17.0195312 Z" id="Shape"></path>
<path d="M29.1416406,14.6545312 C29.0125781,14.5948437 28.8600781,14.625 28.7638281,14.7289062 C28.7504687,14.7433594 27.3778906,16.1785937 23.2510156,17.0214062 C21.6710937,17.3379687 18.7054687,17.4985156 14.4364844,17.4985156 C10.1595312,17.4985156 6.08976562,17.3302344 6.04921875,17.3285156 C5.87921875,17.3202344 5.73382812,17.4438281 5.71070312,17.6111719 C5.6875,17.7783594 5.7953125,17.9360156 5.95945312,17.9750781 C6.00179687,17.9850781 10.266875,18.9842969 16.0984375,18.9842969 C18.8953906,18.9842969 21.6171094,18.7571875 24.188125,18.3089063 C28.9819531,17.4685156 29.3175781,15.0914844 29.3295312,14.9907031 C29.34625,14.8498437 29.2704687,14.7142187 29.1416406,14.6545312 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="36px" height="38px" viewBox="0 0 36 38" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>admin</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-222.000000, -645.000000)" fill-rule="nonzero" id="主要功能">
<g transform="translate(200.000000, 596.000000)">
<g id="Group" transform="translate(0.000000, 32.000000)">
<g id="admin" transform="translate(22.000000, 17.000000)">
<path d="M31.954375,19 C31.954375,18.52525 31.930625,18.056125 31.884375,17.5935 C31.822125,16.96925 32.06325,16.353125 32.544,15.95 L35.01625,13.87675 C35.714375,13.29125 35.891375,12.288625 35.43575,11.4995 L33.150875,7.54225 C32.695125,6.753125 31.738625,6.405125 30.882375,6.716875 L27.850625,7.82125 C27.260375,8.03625 26.6055,7.9365 26.09575,7.569375 C25.33675,7.0225 24.521125,6.5495 23.6595,6.1605 C23.08825,5.9025 22.67625,5.385875 22.567375,4.7685 L22.008625,1.59375 C21.850625,0.69625 21.071,0.04175 20.1595,0.04175 L15.590125,0.04175 C14.678875,0.04175 13.89925,0.696125 13.741,1.59375 L13.18225,4.7685 C13.073625,5.385875 12.661625,5.902625 12.090125,6.1605 C11.228375,6.5495 10.41275,7.0225 9.653875,7.569375 C9.14425,7.936625 8.489375,8.036375 7.899,7.82125 L4.86725,6.716875 C4.010875,6.404875 3.054375,6.752875 2.59875,7.54225 L0.313875,11.4995 C-0.141875,12.288625 0.035,13.29125 0.733375,13.87675 L3.205625,15.95 C3.686375,16.353125 3.9275,16.969 3.86525,17.5935 C3.819125,18.056125 3.79525,18.52525 3.79525,19 C3.79525,19.478125 3.819375,19.95075 3.866125,20.416375 C3.929,21.042375 3.686875,21.65975 3.203875,22.063125 L0.737375,24.123625 C0.037,24.708625 -0.141125,25.712875 0.315,26.50325 L2.59675,30.45525 C3.053125,31.245625 4.011625,31.5935 4.868625,31.27925 L7.886375,30.173375 C8.477875,29.956625 9.13475,30.056125 9.645625,30.424875 C10.4095,30.976125 11.23075,31.45275 12.09875,31.843625 C12.67175,32.10175 13.084625,32.6205 13.192375,33.2395 L13.743,36.402625 C13.8995,37.301875 14.68,37.958 15.5925,37.958 L20.155875,37.958 C21.0685,37.958 21.849,37.301625 22.005375,36.402625 L22.556,33.2395 C22.66375,32.620375 23.076625,32.10175 23.649625,31.843625 C24.517875,31.4525 25.339,30.976125 26.10275,30.424875 C26.6135,30.056125 27.2705,29.956625 27.862,30.173375 L30.87975,31.27925 C31.73675,31.59325 32.69525,31.245625 33.151625,30.45525 L35.433375,26.50325 C35.88975,25.712875 35.711625,24.708875 35.011,24.123625 L32.5445,22.063125 C32.06175,21.65975 31.819625,21.042375 31.88225,20.416375 C31.93025,19.95075 31.954375,19.478125 31.954375,19 Z" id="Shape" fill="#1A8763"></path>
<path d="M15.512,37.95825 L20.23825,37.95825 C21.294125,37.95825 22.15,37.102375 22.15,36.0465 L22.15,26.64825 C22.15,26.497875 22.028,26.375625 21.877375,26.375625 L13.872625,26.375625 C13.72225,26.375625 13.6,26.497625 13.6,26.64825 L13.6,36.0465 C13.600125,37.10225 14.456125,37.95825 15.512,37.95825 Z" id="Shape" fill="#CCD1D0"></path>
<path d="M22.204625,9.954625 L22.204625,18.521125 L17.836625,20.235125 L13.468875,18.521125 L13.468875,9.993875 C10.405125,11.587625 8.311125,14.789125 8.311125,18.4815 C8.311125,23.7635 12.593125,28.04525 17.874875,28.04525 C23.156875,28.04525 27.438625,23.76325 27.438625,18.4815 C27.43875,14.7585 25.31,11.534625 22.204625,9.954625 Z" id="Shape" fill="#F5F5F5"></path>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="49px" height="40px" viewBox="0 0 49 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>开发流水线</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-484.000000, -644.000000)" fill-rule="nonzero" id="主要功能">
<g transform="translate(200.000000, 596.000000)">
<g id="Group" transform="translate(264.666667, 32.000000)">
<g id="开发流水线" transform="translate(20.000000, 16.000000)">
<path d="M0,5.2173913 L47.826087,5.2173913 L47.826087,40 L2.60869565,40 C1.16793478,40 0,38.8320652 0,37.3913043 L0,5.2173913 Z" id="Shape" fill="#E6E6E6"></path>
<g id="Group-9" transform="translate(30.000000, 22.000000)">
<circle id="Oval" fill="#D78017" cx="7" cy="7" r="7"></circle>
<g id="Group" transform="translate(1.000000, 2.000000)" fill="#FFFFFF">
<polygon id="Shape" points="3.03392775 7.74015285 0.0172382259 4.88447972 3.03392775 2.03733098 3.9303155 2.9664903 1.89620485 4.88447972 3.9303155 6.81099353"></polygon>
<polygon id="Shape" points="9.37759488 7.74015285 8.48120713 6.81099353 10.5153178 4.88447972 8.48120713 2.9664903 9.37759488 2.03733098 12.3942844 4.88447972"></polygon>
<rect id="Rectangle-path" transform="translate(6.205533, 4.885953) rotate(-158.419895) translate(-6.205533, -4.885953) " x="5.55909644" y="-0.0405284322" width="1.29286103" height="9.85407308"></rect>
</g>
</g>
<g id="Group" fill="#396BD7">
<path d="M0,37.3913043 C0,35.9505435 1.16793478,34.7826087 2.60869565,34.7826087 L5.2173913,34.7826087 L5.2173913,0 L2.60869565,0 C1.16793478,0 0,1.16793478 0,2.60869565 L0,37.3913043 Z" id="Shape"></path>
<polygon id="Shape" points="13.9130435 20.8695652 20 20.8695652 20 22.6086957 13.9130435 22.6086957"></polygon>
<polygon id="Shape" points="11.3043478 13.9130435 13.0434783 13.9130435 13.0434783 20 11.3043478 20"></polygon>
<polygon id="Shape" points="13.9130435 11.3043478 20 11.3043478 20 13.0434783 13.9130435 13.0434783"></polygon>
</g>
<g id="Group" transform="translate(8.695652, 27.826087)" fill="#999999">
<polygon id="Shape" points="0 3.47826087 12.173913 3.47826087 12.173913 5.2173913 0 5.2173913"></polygon>
<polygon id="Shape" points="0 6.95652174 12.173913 6.95652174 12.173913 8.69565217 0 8.69565217"></polygon>
<polygon id="Shape" points="3.47826087 0 12.173913 0 12.173913 1.73913043 3.47826087 1.73913043"></polygon>
<polygon id="Shape" points="0 0 1.73913043 0 1.73913043 1.73913043 0 1.73913043"></polygon>
</g>
<g id="Group" transform="translate(9.565217, 9.565217)" fill="#679CEF">
<polygon id="Shape" points="0 0 5.2173913 0 5.2173913 5.2173913 0 5.2173913"></polygon>
<polygon id="Shape" points="9.56521739 0 18.2608696 0 18.2608696 5.2173913 9.56521739 5.2173913"></polygon>
<polygon id="Shape" points="0 9.56521739 5.2173913 9.56521739 5.2173913 14.7826087 0 14.7826087"></polygon>
<polygon id="Shape" points="9.56521739 9.56521739 18.2608696 9.56521739 18.2608696 14.7826087 9.56521739 14.7826087"></polygon>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="49px" height="40px" viewBox="0 0 49 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>部署流水线</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-749.000000, -644.000000)" id="主要功能">
<g transform="translate(200.000000, 596.000000)">
<g id="Group" transform="translate(529.333333, 32.000000)">
<g id="部署流水线" transform="translate(20.000000, 16.000000)">
<path d="M0,5.2173913 L47.826087,5.2173913 L47.826087,40 L2.60869565,40 C1.16793478,40 0,38.8320652 0,37.3913043 L0,5.2173913 Z" id="Shape" fill="#E6E6E6" fill-rule="nonzero"></path>
<g id="ic_cloud_upload_black_24px" transform="translate(30.000000, 22.000000)">
<polygon id="Shape" points="0 0 14 0 14 14 0 14"></polygon>
<path d="M11.2875,5.85666667 C10.8908333,3.84416667 9.12333333,2.33333333 7,2.33333333 C5.31416667,2.33333333 3.85,3.29 3.12083333,4.69 C1.365,4.87666667 0,6.36416667 0,8.16666667 C0,10.0975 1.56916667,11.6666667 3.5,11.6666667 L11.0833333,11.6666667 C12.6933333,11.6666667 14,10.36 14,8.75 C14,7.21 12.8041667,5.96166667 11.2875,5.85666667 Z M8.16666667,7.58333333 L8.16666667,9.91666667 L5.83333333,9.91666667 L5.83333333,7.58333333 L4.08333333,7.58333333 L7,4.66666667 L9.91666667,7.58333333 L8.16666667,7.58333333 Z" id="Shape" fill="#D78017" fill-rule="nonzero"></path>
</g>
<g id="Group" fill="#396BD7" fill-rule="nonzero">
<path d="M0,37.3913043 C0,35.9505435 1.16793478,34.7826087 2.60869565,34.7826087 L5.2173913,34.7826087 L5.2173913,0 L2.60869565,0 C1.16793478,0 0,1.16793478 0,2.60869565 L0,37.3913043 Z" id="Shape"></path>
<polygon id="Shape" points="13.9130435 20.8695652 20 20.8695652 20 22.6086957 13.9130435 22.6086957"></polygon>
<polygon id="Shape" points="11.3043478 13.9130435 13.0434783 13.9130435 13.0434783 20 11.3043478 20"></polygon>
<polygon id="Shape" points="13.9130435 11.3043478 20 11.3043478 20 13.0434783 13.9130435 13.0434783"></polygon>
</g>
<g id="Group" transform="translate(8.695652, 27.826087)" fill="#999999" fill-rule="nonzero">
<polygon id="Shape" points="0 3.47826087 12.173913 3.47826087 12.173913 5.2173913 0 5.2173913"></polygon>
<polygon id="Shape" points="0 6.95652174 12.173913 6.95652174 12.173913 8.69565217 0 8.69565217"></polygon>
<polygon id="Shape" points="3.47826087 0 12.173913 0 12.173913 1.73913043 3.47826087 1.73913043"></polygon>
<polygon id="Shape" points="0 0 1.73913043 0 1.73913043 1.73913043 0 1.73913043"></polygon>
</g>
<g id="Group" transform="translate(9.565217, 9.565217)" fill="#679CEF" fill-rule="nonzero">
<polygon id="Shape" points="0 0 5.2173913 0 5.2173913 5.2173913 0 5.2173913"></polygon>
<polygon id="Shape" points="9.56521739 0 18.2608696 0 18.2608696 5.2173913 9.56521739 5.2173913"></polygon>
<polygon id="Shape" points="0 9.56521739 5.2173913 9.56521739 5.2173913 14.7826087 0 14.7826087"></polygon>
<polygon id="Shape" points="9.56521739 9.56521739 18.2608696 9.56521739 18.2608696 14.7826087 9.56521739 14.7826087"></polygon>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="40px" height="36px" viewBox="0 0 40 36" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>browser</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-220.000000, -914.000000)" fill-rule="nonzero" id="开发手册">
<g transform="translate(200.000000, 864.000000)">
<g id="Group" transform="translate(0.000000, 32.000000)">
<g id="browser" transform="translate(20.000000, 18.000000)">
<path d="M37.8679365,35.4730159 L2.13206349,35.4730159 C0.968095238,35.4730159 0.0244444444,34.5295238 0.0244444444,33.3653968 L0.0244444444,2.26396825 C0.0244444444,1.1 0.967936508,0.156349206 2.13206349,0.156349206 L37.8674603,0.156349206 C39.0314286,0.156349206 39.9750794,1.09984127 39.9750794,2.26396825 L39.9750794,33.3650794 C39.9753968,34.5292063 39.0315873,35.4730159 37.8679365,35.4730159 Z" id="Shape" fill="#4B87EA"></path>
<path d="M39.9753968,5.61031746 L0.0246031746,5.61031746 L0.0246031746,2.26396825 C0.0246031746,1.1 0.968095238,0.156349206 2.13222222,0.156349206 L37.867619,0.156349206 C39.0315873,0.156349206 39.9752381,1.09984127 39.9752381,2.26396825 L39.9753968,5.61031746 Z" id="Shape" fill="#A9A9A9"></path>
<path d="M0.0246031746,20.6642857 L0.0246031746,33.3650794 C0.0246031746,34.5290476 0.968095238,35.4726984 2.13222222,35.4726984 L19.9333333,35.4726984 L19.9333333,20.6642857 L0.0246031746,20.6642857 Z" id="Shape" fill="#EFEFEF"></path>
<path d="M39.9755556,20.6642857 L19.9334921,20.6642857 L19.9334921,35.4726984 L37.8679365,35.4726984 C39.0319048,35.4726984 39.9755556,34.5292063 39.9755556,33.3650794 L39.9755556,20.6642857 Z" id="Shape" fill="#396BD7"></path>
<g id="Group" transform="translate(2.698413, 1.904762)" fill="#FFFFFF">
<circle id="Oval" cx="0.935396825" cy="0.905079365" r="1"></circle>
<circle id="Oval" cx="4.4515873" cy="0.905079365" r="1"></circle>
</g>
<g id="Group" transform="translate(3.492063, 23.333333)" fill="#CCCCCC">
<rect id="Rectangle-path" x="0.0158730159" y="0.0731746032" width="12.9430159" height="1.59809524"></rect>
<rect id="Rectangle-path" x="0.0158730159" y="3.81095238" width="12.9430159" height="1.59809524"></rect>
<rect id="Rectangle-path" x="0.0158730159" y="7.54619048" width="12.9430159" height="1.59809524"></rect>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="41px" height="39px" viewBox="0 0 41 39" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>database</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="首页" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-485.000000, -914.000000)" fill-rule="nonzero" id="开发手册">
<g transform="translate(200.000000, 864.000000)">
<g id="Group" transform="translate(264.666667, 32.000000)">
<g id="database" transform="translate(21.000000, 18.000000)">
<g id="database-(2)">
<path d="M1.638,24.263318 C0.588445312,24.7973849 0,25.3910753 0,26.0177573 C0,28.3434686 8.05900781,30.2284435 18,30.2284435 C27.9409922,30.2284435 36,28.3434686 36,26.0177573 C36,25.3910753 35.4115547,24.7973849 34.362,24.263318 C31.5173672,25.7124854 25.2620859,26.7194854 18,26.7194854 C10.7379141,26.7194854 4.48263281,25.7124854 1.638,24.263318 Z" id="Shape" fill="#396BD7"></path>
<path d="M18,30.228364 C8.05900781,30.228364 0,28.3433891 0,26.0176778 L0,33.7371632 C0,36.0628745 8.05900781,37.9478494 18,37.9478494 C27.9409922,37.9478494 36,36.0628745 36,33.7371632 L36,26.0176778 C36,28.3433891 27.9409922,30.228364 18,30.228364 Z" id="Shape" fill="#4B87EA"></path>
<path d="M1.638,13.034954 C0.588445312,13.5689414 0,14.1626318 0,14.7893138 C0,17.1150251 8.05900781,19 18,19 C27.9409922,19 36,17.1150251 36,14.7893138 C36,14.1626318 35.4115547,13.5689414 34.362,13.0348745 C31.5173672,14.4840418 25.2620859,15.4911213 18,15.4911213 C10.7379141,15.4911213 4.48263281,14.4840418 1.638,13.034954 Z" id="Shape" fill="#396BD7"></path>
<g id="Group" transform="translate(0.000000, 3.497908)" fill="#4B87EA">
<path d="M18,4.27372803 C8.05900781,4.27372803 0,2.38875314 0,0.063041841 L0,7.7825272 C0,8.40920921 0.589007813,9.00289958 1.638,9.53696653 C4.48263281,10.9861339 10.7379141,11.9932134 18,11.9932134 C25.2620859,11.9932134 31.5173672,10.9861339 34.362,9.53696653 C35.4109922,9.00297908 36,8.4092887 36,7.78260669 L36,0.063041841 C36,2.38875314 27.9409922,4.27372803 18,4.27372803 Z" id="Shape"></path>
<path d="M18,15.5020921 C8.05900781,15.5020921 0,13.6171172 0,11.2914059 L0,19.0108912 C0,19.6375732 0.589007813,20.2312636 1.638,20.7653305 C4.48263281,22.2145774 10.7379141,23.2215774 18,23.2215774 C25.2620859,23.2215774 31.5173672,22.2144979 34.362,20.7653305 C35.4109922,20.2313431 36,19.6376527 36,19.0109707 L36,11.2914059 C36,13.6171172 27.9409922,15.5020921 18,15.5020921 Z" id="Shape"></path>
</g>
<path d="M18,0.0520711297 C8.05900781,0.0520711297 0,1.23523849 0,3.56094979 C0,5.88666109 8.05900781,7.77163598 18,7.77163598 C27.9409922,7.77163598 36,5.88666109 36,3.56094979 C36,1.23523849 27.9409922,0.0520711297 18,0.0520711297 Z" id="Shape" fill="#7DBFFF"></path>
<g id="Group" transform="translate(15.468750, 10.573222)" fill="#EFEFEF">
<path d="M0.669164062,0.00548535565 L4.39333594,0.00548535565 C4.73596875,0.00548535565 5.01405469,0.319899582 5.01405469,0.707292887 C5.01405469,1.09468619 4.73596875,1.40910042 4.39333594,1.40910042 L0.669164062,1.40910042 C0.32653125,1.40910042 0.0484453125,1.09468619 0.0484453125,0.707292887 C0.048515625,0.319899582 0.32653125,0.00548535565 0.669164062,0.00548535565 Z" id="Shape"></path>
<path d="M0.669164062,11.2338494 L4.39333594,11.2338494 C4.73596875,11.2338494 5.01405469,11.5482636 5.01405469,11.9356569 C5.01405469,12.3230502 4.73596875,12.6374644 4.39333594,12.6374644 L0.669164062,12.6374644 C0.32653125,12.6374644 0.0484453125,12.3230502 0.0484453125,11.9356569 C0.048515625,11.5482636 0.32653125,11.2338494 0.669164062,11.2338494 Z" id="Shape"></path>
<path d="M0.669164062,22.4622929 L4.39333594,22.4622929 C4.73596875,22.4622929 5.01405469,22.7767071 5.01405469,23.1641004 C5.01405469,23.5514937 4.73596875,23.8659079 4.39333594,23.8659079 L0.669164062,23.8659079 C0.32653125,23.8659079 0.0484453125,23.5514937 0.0484453125,23.1641004 C0.048515625,22.7767071 0.32653125,22.4622929 0.669164062,22.4622929 Z" id="Shape"></path>
</g>
</g>
<g id="Group" transform="translate(23.052632, 22.157895)">
<path d="M17.1929825,7.61122807 L16.1796491,7.41614035 C14.6757895,7.12701754 13.9866667,5.36982456 14.8919298,4.1354386 L15.5284211,3.26807018 L14.154386,1.89403509 L13.3003509,2.47298246 C12.0329825,3.33192982 10.3024561,2.57684211 10.0694737,1.06385965 L9.90526316,0 L7.96210526,0 L7.71017544,1.30877193 C7.42736842,2.77964912 5.73263158,3.48140351 4.49263158,2.64140351 L3.38947368,1.89403509 L2.0154386,3.26807018 L2.65192982,4.1354386 C3.55719298,5.37052632 2.86807018,7.12701754 1.36421053,7.41614035 L0.350877193,7.61122807 L0.350877193,9.55438596 L1.41403509,9.71789474 C2.9277193,9.95087719 3.68210526,11.6807018 2.82315789,12.9487719 L2.24421053,13.802807 L3.61824561,15.1768421 L4.48561404,14.5403509 C5.72070175,13.6350877 7.47719298,14.3242105 7.76631579,15.8280702 L7.96210526,16.8421053 L9.90526316,16.8421053 L10.0203509,16.0940351 C10.2582456,14.5473684 12.0526316,13.8042105 13.314386,14.7298246 L13.9242105,15.1775439 L15.2982456,13.8035088 L14.7192982,12.9494737 C13.8603509,11.6821053 14.6154386,9.95157895 16.1284211,9.71859649 L17.1915789,9.55508772 L17.1915789,7.61122807 L17.1929825,7.61122807 Z" id="Shape" fill="#BDC3C7"></path>
<g transform="translate(4.912281, 4.912281)">
<circle id="Oval" fill="#FFFFFF" cx="3.85964912" cy="3.50877193" r="2.80701754"></circle>
<path d="M3.85964912,7.01754386 C1.92491228,7.01754386 0.350877193,5.44350877 0.350877193,3.50877193 C0.350877193,1.57403509 1.92491228,0 3.85964912,0 C5.79438596,0 7.36842105,1.57403509 7.36842105,3.50877193 C7.36842105,5.44350877 5.79438596,7.01754386 3.85964912,7.01754386 Z M3.85964912,1.40350877 C2.69894737,1.40350877 1.75438596,2.34807018 1.75438596,3.50877193 C1.75438596,4.66947368 2.69894737,5.61403509 3.85964912,5.61403509 C5.02035088,5.61403509 5.96491228,4.66947368 5.96491228,3.50877193 C5.96491228,2.34807018 5.02035088,1.40350877 3.85964912,1.40350877 Z" id="Shape" fill="#ECF0F1"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
'use strict';
require('./index.scss');
\ No newline at end of file
$link-color: #333;
.choerodon-home {
//background-image: url('./backage@2x.png');
width: 100%;
height: 100%;
background: #f2f6ff;
.choerodon-home-content {
width: 100%;
img {
background-size: contain;
width: 100%;
}
}
.search-box {
width: 100%;
height: 62px;
margin-top: -18px;
padding: 0 200px;
.search {
width: 100%;
height: 100%;
background: #fff;
box-shadow: 0 2px 4px 0 rgba(118, 53, 249, 0.50);
position: relative;
&:focus {
border: 1px solid rgba(96, 78, 251, 0.80);
box-shadow: 0 2px 4px 0 rgba(118, 53, 249, 0.50);
}
&:hover {
border: 1px solid rgba(96, 78, 251, 0.80);
box-shadow: 0 2px 4px 0 rgba(118, 53, 249, 0.50);
}
input {
height: 100%;
border: 0 !important;
width: 77%;
font-size: 16px;
color: #1c1549;
padding: 9px 15px;
outline: none !important;
&:focus {
border: none !important;
outline: none !important;
}
&:hover {
border: none !important;
outline: none !important;
}
}
.search-button {
width: 145px;
height: 43px;
margin: 9px;
background: #604efb;
line-height: 42px;
font-size: 16px;
color: #fff;
letter-spacing: 0;
float: right;
text-align: center;
cursor: pointer;
}
}
}
.function {
padding: 24px 200px;
width: 100%;
height: 200px;
.list {
height: 100%;
// border: 1px solid red;
float: left;
width: 120px;
margin-right: 150px;
img {
height: 32px;
margin-bottom: 16px;
}
.item {
width: 112px;
height: 32px;
background: rgba(35, 132, 255, 0.20);
font-size: 16px;
color: #0046b8;
letter-spacing: 0;
text-align: center;
line-height: 32px;
margin-bottom: 16px;
cursor: pointer;
}
}
}
}
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouterDom = require('react-router-dom');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Iframe = (0, _reactRouterDom.withRouter)(_class = function (_Component) {
(0, _inherits3['default'])(Iframe, _Component);
function Iframe() {
(0, _classCallCheck3['default'])(this, Iframe);
return (0, _possibleConstructorReturn3['default'])(this, (Iframe.__proto__ || Object.getPrototypeOf(Iframe)).apply(this, arguments));
}
(0, _createClass3['default'])(Iframe, [{
key: 'render',
value: function render() {
var _props = this.props,
tab = _props.tab,
location = _props.history.location,
MenuStore = _props.MenuStore;
var url = '/' + tab.url + location.search;
return _react2['default'].createElement(
'div',
{ style: { width: '100%', height: 'calc(100vh - 88px)', overflow: 'hidden' } },
_react2['default'].createElement('iframe', {
title: 'iframe',
src: url,
width: '100%',
height: '100%'
})
);
}
}]);
return Iframe;
}(_react.Component)) || _class;
exports['default'] = Iframe;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _tabs = require('choerodon-ui/lib/tabs');
var _tabs2 = _interopRequireDefault(_tabs);
var _dec, _class;
require('choerodon-ui/lib/tabs/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
var _Iframe = require('./Iframe');
var _Iframe2 = _interopRequireDefault(_Iframe);
require('./style.scss');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var TabPane = _tabs2['default'].TabPane;
var IframeWrapper = (_dec = (0, _mobxReact.inject)('MenuStore'), _dec(_class = (0, _mobxReact.observer)(_class = function (_Component) {
(0, _inherits3['default'])(IframeWrapper, _Component);
function IframeWrapper() {
(0, _classCallCheck3['default'])(this, IframeWrapper);
return (0, _possibleConstructorReturn3['default'])(this, (IframeWrapper.__proto__ || Object.getPrototypeOf(IframeWrapper)).apply(this, arguments));
}
(0, _createClass3['default'])(IframeWrapper, [{
key: 'render',
value: function render() {
var MenuStore = this.props.MenuStore;
var functionCode = MenuStore.activeMenu.functionCode,
tabs = MenuStore.tabs;
return _react2['default'].createElement(
_tabs2['default'],
{ activeKey: functionCode, animated: false },
MenuStore.getIframeTabs.map(function (tab) {
return _react2['default'].createElement(
TabPane,
{
tab: 'TAB_IFRAME',
key: tab.functionCode,
forceRender: false
},
_react2['default'].createElement(_Iframe2['default'], { tab: tab })
);
})
);
}
}]);
return IframeWrapper;
}(_react.Component)) || _class) || _class);
exports['default'] = IframeWrapper;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _IframeWrapper = require('./IframeWrapper');
var _IframeWrapper2 = _interopRequireDefault(_IframeWrapper);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _IframeWrapper2['default'];
\ No newline at end of file
.ant-tabs-bar {
display: none;
}
iframe {
border: none;
}
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _master = require('./master');
Object.defineProperty(exports, 'Master', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_master)['default'];
}
});
var _home = require('./home');
Object.defineProperty(exports, 'Home', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_home)['default'];
}
});
var _Content = require('./page/Content');
Object.defineProperty(exports, 'Content', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Content)['default'];
}
});
var _axios = require('./axios');
Object.defineProperty(exports, 'axios', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_axios)['default'];
}
});
var _stores = require('../stores');
Object.defineProperty(exports, 'stores', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_stores)['default'];
}
});
var _ = require('./error-pages/404');
Object.defineProperty(exports, 'nomatch', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_)['default'];
}
});
var _2 = require('./error-pages/403');
Object.defineProperty(exports, 'noaccess', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_2)['default'];
}
});
var _asyncLocaleProvider = require('./util/asyncLocaleProvider');
Object.defineProperty(exports, 'asyncLocaleProvider', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_asyncLocaleProvider)['default'];
}
});
var _asyncRouter = require('./util/asyncRouter');
Object.defineProperty(exports, 'asyncRouter', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_asyncRouter)['default'];
}
});
var _updateLocaleContext = require('./util/updateLocaleContext');
Object.defineProperty(exports, 'updateLocaleContext', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_updateLocaleContext)['default'];
}
});
var _updateHotkeys = require('./util/updateHotkeys');
Object.defineProperty(exports, 'updateHotkeys', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_updateHotkeys)['default'];
}
});
var _updateIntl = require('./util/updateIntl');
Object.defineProperty(exports, 'updateIntl', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_updateIntl)['default'];
}
});
var _transformHotkey = require('./util/transformHotkey');
Object.defineProperty(exports, 'transformHotkey', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_transformHotkey)['default'];
}
});
var _$l = require('./util/$l');
Object.defineProperty(exports, '$l', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_$l)['default'];
}
});
var _openTab = require('./util/openTab');
Object.defineProperty(exports, 'openTab', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_openTab)['default'];
}
});
var _openTabR = require('./util/openTabR');
Object.defineProperty(exports, 'openTabR', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_openTabR)['default'];
}
});
var _toastr = require('./util/toastr');
Object.defineProperty(exports, 'toastr', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_toastr)['default'];
}
});
var _createRouteWrapper = require('./util/createRouteWrapper');
Object.defineProperty(exports, 'createRouteWrapper', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_createRouteWrapper)['default'];
}
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
exports['default'] = getHotkeyManager;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var hotkeyManager = void 0;
var HotkeyManager = function () {
function HotkeyManager(handlers) {
(0, _classCallCheck3['default'])(this, HotkeyManager);
this.handlers = handlers || {};
this.dictionary = [];
}
(0, _createClass3['default'])(HotkeyManager, [{
key: 'addHandlers',
value: function addHandlers(handlers) {
var o = (0, _extends3['default'])({}, this.handlers, handlers);
this.handlers = o;
}
}, {
key: 'deleteHandlers',
value: function deleteHandlers(handlerKey) {
if (this.handlers.handlerKey) {
this.handlers['delete'](handlerKey);
}
}
}, {
key: 'init',
value: function init(dictionary) {
this.dictionary = dictionary;
}
}, {
key: 'clearManger',
value: function clearManger() {
this.handlers = {};
this.dictionary = [];
}
}, {
key: 'emit',
value: function emit(handlerKey, hotkeyCodeString, event) {
var hotkeyCode = this.dictionary.find(function (v) {
return v.hotkey === hotkeyCodeString;
});
if (!hotkeyCode) {
return;
}
if (this.handlers[handlerKey]) {
var func = this.handlers[handlerKey][hotkeyCode.code];
if (typeof func === 'function') {
func();
event.stopPropagation();
event.preventDefault();
}
}
}
}]);
return HotkeyManager;
}();
function getHotkeyManager() {
if (!hotkeyManager) {
hotkeyManager = new HotkeyManager();
}
return hotkeyManager;
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
exports['default'] = getIntlManager;
var _mobxReact = require('mobx-react');
var _AppState = require('../../stores/AppState');
var _AppState2 = _interopRequireDefault(_AppState);
var _constants = require('../../common/constants');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var intlManager = void 0;
// @observer
var IntlManager = function () {
function IntlManager() {
(0, _classCallCheck3['default'])(this, IntlManager);
this.intls = {};
}
(0, _createClass3['default'])(IntlManager, [{
key: 'add',
value: function add(intlObj) {
if (_constants.NODE_ENV === 'development') {
window.console.log('[IntlManager]: before add, the intls is', this.intls);
window.console.log('[IntlManager]: the intlObj is', intlObj);
}
this.intls = (0, _extends3['default'])(this.intls, intlObj);
if (_constants.NODE_ENV === 'development') {
window.console.log('[IntlManager]: after add, the intls is:', this.intls);
}
}
}, {
key: 'delete',
value: function _delete(code) {
if (this.intls[code]) {
delete this.intls[code];
}
}
}, {
key: 'clear',
value: function clear() {
this.intls = {};
}
}, {
key: 'get',
value: function get(code) {
return this.intls[code] || undefined;
}
}]);
return IntlManager;
}();
function getIntlManager() {
if (!intlManager) {
intlManager = new IntlManager();
}
return intlManager;
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _modalContainer = require('choerodon-hap-ui/lib/modal-container');
var _modalContainer2 = _interopRequireDefault(_modalContainer);
var _localeContext2 = require('choerodon-hap-ui/lib/locale-context');
var _localeContext3 = _interopRequireDefault(_localeContext2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _dec, _class;
require('choerodon-hap-ui/lib/modal-container/style');
require('choerodon-hap-ui/lib/locale-context/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
var _reactRouterDom = require('react-router-dom');
var _reactHelmet = require('react-helmet');
require('moment/locale/zh-cn');
var _sockjsClient = require('sockjs-client');
var _sockjsClient2 = _interopRequireDefault(_sockjsClient);
var _menu = require('../menu');
var _menu2 = _interopRequireDefault(_menu);
var _axios = require('../axios');
var _axios2 = _interopRequireDefault(_axios);
var _tabbar = require('../tabbar');
var _tabbar2 = _interopRequireDefault(_tabbar);
var _header = require('../header');
var _header2 = _interopRequireDefault(_header);
var _HotkeyManager = require('./HotkeyManager');
var _HotkeyManager2 = _interopRequireDefault(_HotkeyManager);
var _IntlManager = require('./IntlManager');
var _IntlManager2 = _interopRequireDefault(_IntlManager);
var _repeatLogin = require('../../common/repeatLogin');
var _repeatLogin2 = _interopRequireDefault(_repeatLogin);
var _constants = require('../../common/constants');
require('./style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Index = (_dec = (0, _mobxReact.inject)('AppState'), _dec(_class = (0, _mobxReact.observer)(_class = function (_React$Component) {
(0, _inherits3['default'])(Index, _React$Component);
function Index() {
(0, _classCallCheck3['default'])(this, Index);
return (0, _possibleConstructorReturn3['default'])(this, (Index.__proto__ || Object.getPrototypeOf(Index)).apply(this, arguments));
}
(0, _createClass3['default'])(Index, [{
key: 'componentDidMount',
value: function componentDidMount() {
this.handleLocaleContext();
this.initHotkeyManager();
this.initIntl();
this.initSocket();
}
}, {
key: 'initSocket',
value: function initSocket() {
var socket = new _sockjsClient2['default'](_constants.WEBSOCKET_SERVER + '/websocket');
socket.onmessage = function (e) {
if (e.data && e.data.action === 'SYS_REPEAT_LOGIN') {
socket.close();
(0, _repeatLogin2['default'])();
}
};
}
/**
* query hotkey dictionary
* and set in manager
*/
}, {
key: 'initHotkeyManager',
value: function initHotkeyManager() {
var hotkeyManager = (0, _HotkeyManager2['default'])();
_axios2['default'].post('/dataset/Hotkey/queries?page=1&pagesize=10', {}).then(function (res) {
if (res.success) {
hotkeyManager.init(res.rows);
} else {
hotkeyManager.init([]);
}
})['catch'](function (error) {
hotkeyManager.init([]);
});
}
}, {
key: 'initIntl',
value: function initIntl() {
var intlManager = (0, _IntlManager2['default'])();
_axios2['default'].post('/common/prompt/hap-common', {}).then(function (res) {
intlManager.add(res || {});
})['catch'](function (error) {
intlManager.add({});
});
}
}, {
key: 'handleLocaleContext',
value: function handleLocaleContext() {
var AppState = this.props.AppState;
var locales = AppState.locales,
currentLang = AppState.currentLang;
if (Object.keys(locales).length) {
_localeContext3['default'].setSupports(locales);
}
if (currentLang) {
import('choerodon-hap-ui/lib/locale-context/' + currentLang + '.js').then(function (o) {
_localeContext3['default'].setLocale(o);
});
}
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
AutoRouter = _props.AutoRouter,
AppState = _props.AppState;
var title = AppState.title ? _react2['default'].createElement(
'title',
null,
AppState.title
) : null;
var menu = !AppState.hideMenu ? _react2['default'].createElement(_menu2['default'], null) : null;
return _react2['default'].createElement(
'div',
{ className: 'master-wrapper' },
_react2['default'].createElement(_header2['default'], null),
_react2['default'].createElement(
'div',
{ className: 'master-body' },
_react2['default'].createElement(
'div',
{ className: 'master-content-wrapper' },
menu,
_react2['default'].createElement(
'div',
{ className: 'master-content-container' },
_react2['default'].createElement(
'div',
{ className: 'master-container' },
_react2['default'].createElement(_tabbar2['default'], null),
_react2['default'].createElement(
_reactHelmet.Helmet,
{ preserved: true },
title
),
_react2['default'].createElement(
'div',
{ className: 'master-content' },
_react2['default'].createElement(AutoRouter, null)
)
)
)
)
),
_react2['default'].createElement(_modalContainer2['default'], null)
);
}
}]);
return Index;
}(_react2['default'].Component)) || _class) || _class);
exports['default'] = Index;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _modalContainer = require('choerodon-hap-ui/lib/modal-container');
var _modalContainer2 = _interopRequireDefault(_modalContainer);
var _localeContext2 = require('choerodon-hap-ui/lib/locale-context');
var _localeContext3 = _interopRequireDefault(_localeContext2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _dec, _class;
require('choerodon-hap-ui/lib/modal-container/style');
require('choerodon-hap-ui/lib/locale-context/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
var _reactRouterDom = require('react-router-dom');
require('moment/locale/zh-cn');
var _reactHelmet = require('react-helmet');
var _sockjsClient = require('sockjs-client');
var _sockjsClient2 = _interopRequireDefault(_sockjsClient);
var _menu = require('../menu');
var _menu2 = _interopRequireDefault(_menu);
var _axios = require('../axios');
var _axios2 = _interopRequireDefault(_axios);
var _tabbar = require('../tabbar');
var _tabbar2 = _interopRequireDefault(_tabbar);
var _header = require('../header');
var _header2 = _interopRequireDefault(_header);
var _HotkeyManager = require('./HotkeyManager');
var _HotkeyManager2 = _interopRequireDefault(_HotkeyManager);
var _IntlManager = require('./IntlManager');
var _IntlManager2 = _interopRequireDefault(_IntlManager);
var _repeatLogin = require('../../common/repeatLogin');
var _repeatLogin2 = _interopRequireDefault(_repeatLogin);
var _constants = require('../../common/constants');
require('./style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Index = (_dec = (0, _mobxReact.inject)('AppState'), _dec(_class = (0, _mobxReact.observer)(_class = function (_React$Component) {
(0, _inherits3['default'])(Index, _React$Component);
function Index() {
(0, _classCallCheck3['default'])(this, Index);
return (0, _possibleConstructorReturn3['default'])(this, (Index.__proto__ || Object.getPrototypeOf(Index)).apply(this, arguments));
}
(0, _createClass3['default'])(Index, [{
key: 'componentDidMount',
value: function componentDidMount() {
this.handleLocaleContext();
this.initHotkeyManager();
this.initIntl();
this.initSocket();
}
}, {
key: 'initSocket',
value: function initSocket() {
var socket = new _sockjsClient2['default'](_constants.WEBSOCKET_SERVER + '/websocket');
socket.onmessage = function (e) {
if (e.data && e.data.action === 'SYS_REPEAT_LOGIN') {
socket.close();
(0, _repeatLogin2['default'])();
}
};
}
/**
* query hotkey dictionary
* and set in manager
*/
}, {
key: 'initHotkeyManager',
value: function initHotkeyManager() {
var hotkeyManager = (0, _HotkeyManager2['default'])();
_axios2['default'].post('/dataset/Hotkey/queries?page=1&pagesize=10', {}).then(function (res) {
if (res.success) {
hotkeyManager.init(res.rows);
} else {
hotkeyManager.init([]);
}
})['catch'](function (error) {
hotkeyManager.init([]);
});
}
}, {
key: 'initIntl',
value: function initIntl() {
var intlManager = (0, _IntlManager2['default'])();
_axios2['default'].post('/common/prompt/hap-common', {}).then(function (res) {
intlManager.add(res || {});
})['catch'](function (error) {
intlManager.add({});
});
}
}, {
key: 'handleLocaleContext',
value: function handleLocaleContext() {
var AppState = this.props.AppState;
var locales = AppState.locales,
currentLang = AppState.currentLang;
if (Object.keys(locales).length) {
_localeContext3['default'].setSupports(locales);
}
if (currentLang) {
import('choerodon-hap-ui/lib/locale-context/' + currentLang + '.js').then(function (o) {
_localeContext3['default'].setLocale(o);
});
}
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
AutoRouter = _props.AutoRouter,
AppState = _props.AppState;
var title = AppState.title ? _react2['default'].createElement(
'title',
null,
AppState.title
) : null;
return _react2['default'].createElement(
'div',
{ style: { display: 'flex', flexDirection: 'column', height: '100vh', overflow: 'hidden' } },
_react2['default'].createElement(
'div',
{ style: { flex: 1, display: 'flex' } },
_react2['default'].createElement(
_reactHelmet.Helmet,
{ preserved: true },
title
),
_react2['default'].createElement(
'div',
{ style: { flex: 1 } },
_react2['default'].createElement(
'div',
{ style: { height: 'calc(100%)', overflow: 'auto' } },
_react2['default'].createElement(AutoRouter, null)
)
)
),
_react2['default'].createElement(_modalContainer2['default'], null)
);
}
}]);
return Index;
}(_react2['default'].Component)) || _class) || _class);
exports['default'] = Index;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Master = require('./Master');
var _Master2 = _interopRequireDefault(_Master);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _Master2['default'];
\ No newline at end of file
'use strict';
require('./index.scss');
\ No newline at end of file
.master-wrapper {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
.master-body {
flex: 1;
display: flex;
.master-content-wrapper {
background-color: #fff;
position: relative;
overflow: hidden;
flex: 1;
display: flex;
height: 100%;
.master-content-container {
flex: 1;
flex-direction: column;
background-color: #fff;
position: relative;
display: flex;
width: 100%;
height: 100%;
.master-container {
display: flex;
flex-flow: column;
flex-grow: 1;
position: absolute;
width: 100%;
height: 100%;
.master-content {
flex-grow: 1;
overflow: auto;
margin: 0 !important;
position: relative;
& > div {
height: 100%;
}
}
}
}
}
}
}
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
var _reactRouterDom = require('react-router-dom');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Index = (0, _mobxReact.observer)(_class = function (_React$Component) {
(0, _inherits3['default'])(Index, _React$Component);
function Index() {
(0, _classCallCheck3['default'])(this, Index);
return (0, _possibleConstructorReturn3['default'])(this, (Index.__proto__ || Object.getPrototypeOf(Index)).apply(this, arguments));
}
(0, _createClass3['default'])(Index, [{
key: 'render',
value: function render() {
var AutoRouter = this.props.AutoRouter;
return _react2['default'].createElement(
_reactRouterDom.HashRouter,
null,
_react2['default'].createElement(
'div',
{ style: { display: 'flex', flexDirection: 'column', height: '100vh', overflow: 'hidden' } },
_react2['default'].createElement(
'div',
{ style: { flex: 1, display: 'flex' } },
_react2['default'].createElement(
'div',
{ style: { flex: 1 } },
_react2['default'].createElement(
'div',
{ style: { height: 'calc(100%)', overflow: 'auto' } },
_react2['default'].createElement(AutoRouter, null)
)
)
)
)
);
}
}]);
return Index;
}(_react2['default'].Component)) || _class;
exports['default'] = Index;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _MasterWithoutSider = require('./MasterWithoutSider');
var _MasterWithoutSider2 = _interopRequireDefault(_MasterWithoutSider);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _MasterWithoutSider2['default'];
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _tooltip = require('choerodon-hap-ui/lib/tooltip');
var _tooltip2 = _interopRequireDefault(_tooltip);
var _icon = require('choerodon-hap-ui/lib/icon');
var _icon2 = _interopRequireDefault(_icon);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _menu = require('choerodon-hap-ui/lib/menu');
var _menu2 = _interopRequireDefault(_menu);
var _dec, _class;
require('choerodon-hap-ui/lib/tooltip/style');
require('choerodon-hap-ui/lib/icon/style');
require('choerodon-hap-ui/lib/menu/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
var _reactRouterDom = require('react-router-dom');
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
require('./style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var SubMenu = _menu2['default'].SubMenu;
var MenuBar = (_dec = (0, _mobxReact.inject)('MenuStore'), (0, _reactRouterDom.withRouter)(_class = _dec(_class = (0, _mobxReact.observer)(_class = function (_Component) {
(0, _inherits3['default'])(MenuBar, _Component);
function MenuBar() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, MenuBar);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = MenuBar.__proto__ || Object.getPrototypeOf(MenuBar)).call.apply(_ref, [this].concat(args))), _this), _this.savedOpenKeys = [], _this.keys = [], _this.onOpenChange = function (openKeys) {
var MenuStore = _this.props.MenuStore;
/* const latestOpenKey = openKeys.find(key => MenuStore.openKeys.indexOf(key) === -1);
if (this.keys.indexOf(latestOpenKey) === -1) {
MenuStore.setOpenKeys(openKeys);
} else {
MenuStore.setOpenKeys(latestOpenKey ? [latestOpenKey] : []);
} */
MenuStore.setOpenKeys(openKeys);
}, _this.onCollapsed = function () {
var MenuStore = _this.props.MenuStore;
var collapsed = MenuStore.collapsed,
openKeys = MenuStore.openKeys;
if (collapsed) {
MenuStore.setCollapsed(false);
MenuStore.setOpenKeys(_this.savedOpenKeys);
} else {
_this.savedOpenKeys = openKeys;
MenuStore.setCollapsed(true);
MenuStore.setOpenKeys([]);
}
}, _this.onClickHome = function () {
var _this$props = _this.props,
history = _this$props.history,
MenuStore = _this$props.MenuStore;
MenuStore.setActiveMenu({});
history.push('/');
}, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(MenuBar, [{
key: 'componentWillMount',
value: function componentWillMount() {
var _props = this.props,
MenuStore = _props.MenuStore,
history = _props.history;
this.loadMenu(this.props);
MenuStore.setHistory(history);
}
}, {
key: 'componentWillReceiveProps',
value: function componentWillReceiveProps(nextProps) {
this.loadMenu(nextProps);
}
}, {
key: 'loadMenu',
value: function loadMenu(props) {
var _this2 = this;
var pathname = props.location.pathname,
MenuStore = props.MenuStore;
var menus = MenuStore.menus,
collapsed = MenuStore.collapsed;
// eslint-disable-next-line no-nested-ternary
var type = pathname.startsWith('/iframe/') ? 'HTML' : pathname.startsWith('/hap-modeling/metadata/') ? 'PAGE' : 'REACT';
var key = {
HTML: pathname.slice(8),
PAGE: pathname.slice(19),
REACT: pathname.slice(1)
}[type];
MenuStore.loadMenus().then(function (me) {
// MenuStore.getTreeNodeMenus(me, (treeNodes) => {
// MenuStore.setTreeNodeMenus(treeNodes);
// });
if (pathname === '/') {
MenuStore.setSelectedKeys([]);
return;
}
MenuStore.getPathById(key, me, type, function (temppath, targetNode) {
MenuStore.setOpenKeys(collapsed ? [] : temppath);
_this2.savedOpenKeys = temppath;
MenuStore.setSelectedKeys([targetNode.functionCode]);
MenuStore.setActiveMenu(targetNode);
}, function () {
var construct = {
children: null,
expand: false,
functionCode: key,
icon: '',
id: -1,
ischecked: null,
score: -1,
shortcutId: null,
text: {
SYS_PREFERENCE: '用户信息',
'hap-core/sys/preferences': '首选项'
}[key] || key,
url: {
SYS_PREFERENCE: 'sys/um/sys_user_info.html',
'hap-core/sys/preferences': 'hap-core/sys/preferences'
}[key] || key,
symbol: type
};
MenuStore.setSelectedKeys([construct.functionCode]);
MenuStore.setActiveMenu(construct);
});
});
}
}, {
key: 'renderMenu',
value: function renderMenu(menu, num) {
var _this3 = this;
if (menu.children) {
var functionCode = menu.functionCode,
text = menu.text,
_menu$icon = menu.icon,
icon = _menu$icon === undefined ? 'face' : _menu$icon;
// this.keys.push(functionCode);
return _react2['default'].createElement(
SubMenu,
{
key: functionCode,
title: [_react2['default'].createElement(_icon2['default'], { type: icon, key: functionCode + '-icon' }), _react2['default'].createElement(
'span',
{ key: functionCode + '-text' },
text
)]
},
menu.children.map(function (submenu) {
return _this3.renderMenu(submenu, parseInt(num, 10) + 1);
})
);
}
return this.renderMenuItem(menu, num);
}
}, {
key: 'renderMenuItem',
value: function renderMenuItem(menuItem, num) {
var functionCode = menuItem.functionCode,
text = menuItem.text,
symbol = menuItem.symbol,
url = menuItem.url,
_menuItem$icon = menuItem.icon,
icon = _menuItem$icon === undefined ? 'tag_faces' : _menuItem$icon;
var LINK_MAP = {
REACT: '/' + url,
HTML: '/iframe/' + functionCode,
PAGE: '/hap-modeling/metadata/' + url
};
var link = LINK_MAP[symbol] || '/';
return _react2['default'].createElement(
_menu2['default'].Item,
{ key: functionCode },
_react2['default'].createElement(
_reactRouterDom.Link,
{
to: link
// style={{ marginLeft: parseInt(num, 10) * 20 }}
// style={{ overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}
},
_react2['default'].createElement(_icon2['default'], { type: icon }),
_react2['default'].createElement(
'span',
null,
text
)
)
);
}
}, {
key: 'render',
value: function render() {
var _this4 = this;
var MenuStore = this.props.MenuStore;
var collapsed = MenuStore.collapsed,
openKeys = MenuStore.openKeys,
selectedKeys = MenuStore.selectedKeys,
menus = MenuStore.menus;
return _react2['default'].createElement(
'div',
{ className: (0, _classnames2['default'])('menu-content', { 'menu-collapsed': collapsed }) },
_react2['default'].createElement(
_tooltip2['default'],
{ placement: 'right', title: collapsed ? '首页' : undefined },
_react2['default'].createElement(
'div',
{ className: 'menu-head', role: 'none', onClick: this.onClickHome },
_react2['default'].createElement(
'span',
null,
_react2['default'].createElement(_icon2['default'], { type: 'home' }),
_react2['default'].createElement(
'span',
{ className: (0, _classnames2['default'])({ 'menu-head-collapsed': collapsed }) },
'\u9996\u9875'
)
)
)
),
_react2['default'].createElement(
'div',
{ className: 'menu-body' },
_react2['default'].createElement(
_menu2['default'],
{
theme: 'light',
mode: 'inline',
inlineCollapsed: collapsed,
openKeys: openKeys.slice(),
selectedKeys: selectedKeys.slice(),
onOpenChange: this.onOpenChange
},
menus.map(function (menu) {
return _this4.renderMenu(menu, 0);
})
)
),
_react2['default'].createElement(
'div',
{
className: 'menu-footer',
onClick: this.onCollapsed
},
_react2['default'].createElement(_icon2['default'], { type: !collapsed ? 'first_page' : 'last_page' })
)
);
}
}]);
return MenuBar;
}(_react.Component)) || _class) || _class) || _class);
exports['default'] = MenuBar;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Menu = require('./Menu');
var _Menu2 = _interopRequireDefault(_Menu);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _Menu2['default'];
\ No newline at end of file
'use strict';
require('./index.scss');
\ No newline at end of file
.menu-content {
width: 250px;
height: calc(100vh - 48px);
background: #fafafa;
border-right: 1px solid #d3d3d3;
display: flex;
flex-direction: column;
transition: width .25s;
.menu-head {
height: 48px;
line-height: 48px;
padding: 0 40px;
cursor: pointer;
color: rgba(0, 0, 0, 0.65);
.icon {
line-height: inherit;
vertical-align: top;
& + span {
display: inline-block;
margin-left: 14px;
}
}
.menu-head-collapsed {
display: none !important;
}
}
.menu-body {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
.c7n-hap-menu {
background: transparent;
&-inline {
margin-left: 20px;
}
}
.ant-menu {
background: transparent !important;
.icon {
font-size: 18px;
width: 18px;
height: 18px;
margin-right: 17px;
}
&-item,
&-submenu > .ant-menu-submenu-title {
padding: 0 15px !important;
}
}
.ant-menu-inline-collapsed {
width: 50px !important;
}
.c7n-hap-menu-inline-collapsed {
margin-left: 0px;
.c7n-hap-menu-submenu-title {
.icon {
margin-right: .14rem;
}
}
}
}
.menu-footer {
border-top: 1px solid rgba(0, 0, 0, 0.12);
height: 58px;
line-height: 57px;
padding: 0 20px;
cursor: pointer;
}
.c7n-hap-menu-submenu-title-selected {
// color: rgba(0, 0, 0, 0.65);
}
}
.menu-collapsed {
width: 50px;
.menu-head,
.menu-footer {
padding: 0 15px;
}
}
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _moduleWrapper = require('./moduleWrapper');
var _moduleWrapper2 = _interopRequireDefault(_moduleWrapper);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _moduleWrapper2['default'];
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _IntlManager = require('../master/IntlManager');
var _IntlManager2 = _interopRequireDefault(_IntlManager);
var _axios = require('../axios');
var _axios2 = _interopRequireDefault(_axios);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var ModuleWrapper = function (_Component) {
(0, _inherits3['default'])(ModuleWrapper, _Component);
function ModuleWrapper() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, ModuleWrapper);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = ModuleWrapper.__proto__ || Object.getPrototypeOf(ModuleWrapper)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
loading: true
}, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(ModuleWrapper, [{
key: 'componentDidMount',
value: function componentDidMount() {
this.registryIntl();
}
}, {
key: 'registryIntl',
value: function () {
var _ref2 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee() {
var moduleCode, intlManager, res;
return _regenerator2['default'].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
moduleCode = this.props.moduleCode;
intlManager = (0, _IntlManager2['default'])();
this.setState({ loading: true });
_context.prev = 3;
_context.next = 6;
return _axios2['default'].post('/common/prompt/' + moduleCode, {});
case 6:
res = _context.sent;
intlManager.add(res || {});
_context.next = 13;
break;
case 10:
_context.prev = 10;
_context.t0 = _context['catch'](3);
intlManager.add({});
case 13:
_context.prev = 13;
this.setState({ loading: false });
return _context.finish(13);
case 16:
case 'end':
return _context.stop();
}
}
}, _callee, this, [[3, 10, 13, 16]]);
}));
function registryIntl() {
return _ref2.apply(this, arguments);
}
return registryIntl;
}()
}, {
key: 'render',
value: function render() {
var loading = this.state.loading;
var children = this.props.children;
return loading ? null : children;
}
}]);
return ModuleWrapper;
}(_react.Component);
exports['default'] = ModuleWrapper;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _dec, _class, _class2, _temp, _initialiseProps;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _reactRouterDom = require('react-router-dom');
var _mobxReact = require('mobx-react');
var _mobx = require('mobx');
var _axios = require('../axios');
var _axios2 = _interopRequireDefault(_axios);
var _HotkeyManager = require('../master/HotkeyManager');
var _HotkeyManager2 = _interopRequireDefault(_HotkeyManager);
var _transformHotkey = require('../util/transformHotkey');
var _transformHotkey2 = _interopRequireDefault(_transformHotkey);
require('./style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var PageContent = (_dec = (0, _mobxReact.inject)('AppState', 'MenuStore'), (0, _reactRouterDom.withRouter)(_class = _dec(_class = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_Component) {
(0, _inherits3['default'])(PageContent, _Component);
function PageContent(props) {
(0, _classCallCheck3['default'])(this, PageContent);
var _this = (0, _possibleConstructorReturn3['default'])(this, (PageContent.__proto__ || Object.getPrototypeOf(PageContent)).call(this, props));
_initialiseProps.call(_this);
_this.urlKey = undefined;
_this.ref = _react2['default'].createRef();
return _this;
}
(0, _createClass3['default'])(PageContent, [{
key: 'componentWillMount',
value: function componentWillMount() {
this.checkIfFocus(this.props);
}
}, {
key: 'componentWillReceiveProps',
value: function componentWillReceiveProps(nextProps) {
this.checkIfFocus(nextProps);
}
}, {
key: 'componentDidMount',
value: function componentDidMount() {
var _props = this.props,
MenuStore = _props.MenuStore,
history = _props.history;
var urlKey = history.location.pathname;
this.registryHotkey();
// MenuStore.setContentKey(urlKey, Date.now());
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
this.removeHotkey();
}
}, {
key: 'registryHotkey',
value: function registryHotkey() {
var props = this.props;
var hotkeys = props.hotkeys,
history = props.history;
if (hotkeys) {
// registry hotkeys
var hotkeyManager = (0, _HotkeyManager2['default'])();
var urlKey = history.location.pathname;
this.urlKey = urlKey;
hotkeyManager.addHandlers((0, _defineProperty3['default'])({}, urlKey, hotkeys));
this.checkIfFocus(this.props, true);
}
}
}, {
key: 'removeHotkey',
value: function removeHotkey() {
// remove hotkeys
var props = this.props;
var hotkeys = props.hotkeys,
history = props.history;
if (hotkeys && this.urlKey) {
// registry hotkeys
var hotkeyManager = (0, _HotkeyManager2['default'])();
hotkeyManager.deleteHandlers([this.urlKey]);
}
}
/**
* get string of keydown, return `Shift+G` or such like this
* @param {*} event
*/
}, {
key: 'handleEventToGetHotkeyString',
value: function handleEventToGetHotkeyString(event) {
return (0, _transformHotkey2['default'])(event);
}
}, {
key: 'render',
value: function render() {
var props = this.props;
var className = props.className,
children = props.children,
style = props.style,
history = props.history;
var classString = (0, _classnames2['default'])('page-content', className);
// const urlKey = history.location.pathname;
// const key = get(props.MenuStore.contentKeys, [urlKey]);
if (!props.hotkeys) {
return _react2['default'].createElement(
'div',
{ className: classString, style: style },
children
);
}
return _react2['default'].createElement(
'div',
{ className: classString, style: style, tabIndex: '-1', onKeyDown: this.handleOnKeyDown, ref: this.ref },
children
);
}
}]);
return PageContent;
}(_react.Component), _initialiseProps = function _initialiseProps() {
var _this2 = this;
this.checkIfFocus = function (props) {
var isFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var hotkeys = props.hotkeys,
history = props.history;
if (hotkeys) {
var urlKey = history.location.pathname;
if (_this2.urlKey === urlKey || isFocus) {
_this2.ref.current.focus();
}
}
};
this.handleOnKeyDown = function (event) {
var hotkeyManager = (0, _HotkeyManager2['default'])();
var props = _this2.props;
var hotkeys = props.hotkeys,
history = props.history;
var urlKey = history.location.pathname;
hotkeyManager.emit(urlKey, _this2.handleEventToGetHotkeyString(event), event);
};
}, _temp)) || _class) || _class) || _class);
exports['default'] = PageContent;
\ No newline at end of file
// import React, { Component } from 'react';
// import PropTypes from 'prop-types';
// import { withRouter } from 'react-router-dom';
// import { Button, Tooltip } from 'choerodon-ui';
// import classNames from 'classnames';
// import { getMessage } from '../../common';
// @withRouter
// export default class PageHeader extends Component {
// static propTypes = {
// backPath: PropTypes.string,
// };
// onBackBtnClick = () => {
// this.linkToChange(this.props.backPath);
// };
// linkToChange = (url) => {
// const { history } = this.props;
// history.push(url);
// };
// render() {
// const { title, backPath, children, className } = this.props;
// let backBtn = '';
// if (backPath) {
// backBtn = (
// // 清除从父元素继承的 CSS 样式
// <div style={{ lineHeight: '39px' }}>
// <Tooltip
// title={getMessage('返回', 'return')}
// placement="bottom"
// getTooltipContainer={that => that}
// >
// <Button
// type="primary"
// onClick={this.onBackBtnClick}
// className="back-btn small-tooltip"
// shape="circle"
// size="large"
// icon="arrow_back"
// />
// </Tooltip>
// </div>
// );
// }
// return (
// <div className={classNames('page-head', className)}>
// {backBtn}
// <span className="page-head-title">
// {title}
// </span>
// {children}
// </div>
// );
// }
// }
"use strict";
\ No newline at end of file
// import React from 'react';
// import classNames from 'classnames';
// import { Spin } from 'choerodon-ui';
// import Permission from '../permission';
// import NoAccess from '../error-pages/403';
// const spinStyle = {
// textAlign: 'center',
// paddingTop: 300,
// };
// const defaultChildren = (
// <div style={spinStyle}>
// <Spin size="large" />
// </div>
// );
// const Page = ({ className, service, onAccess, ...props }) => {
// const classString = classNames('page-container', className);
// const page = <div {...props} className={classString} />;
// if (service && service.length) {
// return (
// <Permission
// service={service}
// defaultChildren={defaultChildren}
// noAccessChildren={<NoAccess />}
// onAccess={onAccess}
// >
// {page}
// </Permission>
// );
// } else {
// return page;
// }
// };
// export default Page;
"use strict";
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Page = require('./Page');
var _Page2 = _interopRequireDefault(_Page);
require('./style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _Page2['default'];
\ No newline at end of file
'use strict';
require('./index.scss');
\ No newline at end of file
// @import "../../style/theme/default";
.page-container {
display: flex;
flex-flow: column;
flex-grow: 1;
position: absolute;
width: 100%;
height: 100%;
}
.page-head {
display: flex;
height: 58px;
min-height: 58px;
line-height: 57px;
border-bottom: 1px solid #d3d3d3;
background-color: #fff;
align-items: center;
padding-left: 25px;
.back-btn {
color: $primary-color;
margin: 0 3px 0 -12px;
vertical-align: middle;
}
&-title {
color: #000;
font-size: 18px;
line-height: 58px;
width: 141px;
}
&-icon {
font-size: 18px;
vertical-align: text-bottom;
}
.ant-btn:not(.back-btn) {
font-weight: 500 !important;
padding: 0 10px;
line-height: 28px;
height: 28px;
color: rgb(63, 81, 181);
align-items: center;
&[disabled] {
color: rgba(0, 0, 0, .26);
}
& + .ant-btn {
margin-left: 8px;
}
.icon {
margin-right: 2px;
+ span {
margin-left: 0;
}
}
}
}
.page-head + div,
.page-content {
// flex-grow: 1;
overflow: auto;
margin: 0 !important;
// position: relative;
position: absolute;
width: 100%;
height: 100%;
}
.page-content {
padding: 10px 20px;
}
.sidebar-content {
overflow: visible;
padding: 0;
}
.page-content-header {
display: block;
max-width: 512px;
.title {
font-size: 20px;
font-weight: 500;
line-height: 28px;
margin-bottom: 10px;
}
.description {
font-size: 13px;
line-height: 20px;
margin-bottom: 24px;
span,
a {
color: $primary-color;
cursor: pointer;
}
a:link {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
a:visited {
text-decoration: none;
}
.icon {
font-size: inherit;
}
}
}
'use strict';
require('./index.scss');
\ No newline at end of file
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-thumb {
background-color: #d6d6d6;
transition: background-color .3s;
&:hover {
background-color: #aeaeae;
}
}
@mixin button-link-masker() {
position: relative;
a:before {
position: absolute;
background-color: transparent;
top: 0;
left: 0;
bottom: 0;
right: 0;
content: '';
}
}
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _debounce2 = require('lodash/debounce');
var _debounce3 = _interopRequireDefault(_debounce2);
var _max2 = require('lodash/max');
var _max3 = _interopRequireDefault(_max2);
var _map2 = require('lodash/map');
var _map3 = _interopRequireDefault(_map2);
var _filter2 = require('lodash/filter');
var _filter3 = _interopRequireDefault(_filter2);
var _dec, _class;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
var _reactRouterDom = require('react-router-dom');
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
require('./style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var TAB_PLACEHOLDER_NAME = '临时标签页';
var MAX_WIDTH = 140;
var HIDDEN_CLOSE_WIDTH = 80;
var MIN_WIDTH = 20;
var MenuBar = (_dec = (0, _mobxReact.inject)('MenuStore', 'AppState'), (0, _reactRouterDom.withRouter)(_class = _dec(_class = (0, _mobxReact.observer)(_class = function (_Component) {
(0, _inherits3['default'])(MenuBar, _Component);
function MenuBar() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, MenuBar);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = MenuBar.__proto__ || Object.getPrototypeOf(MenuBar)).call.apply(_ref, [this].concat(args))), _this), _this.handleWindowResize = (0, _debounce3['default'])(function () {
_this.forceUpdate();
}, 500), _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(MenuBar, [{
key: 'componentWillMount',
value: function componentWillMount() {
this.setIsTabMode();
this.loadTabbar(this.props);
}
}, {
key: 'componentWillReceiveProps',
value: function componentWillReceiveProps(nextProps) {
this.loadTabbar(nextProps);
}
}, {
key: 'componentDidMount',
value: function componentDidMount() {
window.addEventListener('resize', this.handleWindowResize);
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
window.removeEventListener('resize', this.handleWindowResize);
}
}, {
key: 'loadTabbar',
value: function loadTabbar(props) {
var _this2 = this;
var location = props.location,
MenuStore = props.MenuStore,
AppState = props.AppState;
var pathname = location.pathname,
search = location.search,
state = location.state;
var menus = MenuStore.menus,
activeMenu = MenuStore.activeMenu;
// eslint-disable-next-line no-nested-ternary
var type = pathname.startsWith('/iframe/') ? 'HTML' : pathname.startsWith('/hap-modeling/metadata/') ? 'PAGE' : 'REACT';
var key = {
HTML: pathname.slice(8),
PAGE: pathname.slice(19),
REACT: pathname.slice(1)
}[type];
MenuStore.loadMenus().then(function (me) {
if (pathname === '/') return;
MenuStore.getPathById(key, me, type, function (temppath, targetNode) {
_this2.insertTabs(key, type, targetNode);
}, function () {
var construct = {
children: null,
expand: false,
functionCode: key,
icon: null,
id: -1,
ischecked: null,
score: -1,
shortcutId: null,
text: state && state.title || {
SYS_PREFERENCE: '用户信息',
'hap-core/sys/preferences': '首选项'
}[key] || _this2.getNextTabName(),
url: {
SYS_PREFERENCE: 'sys/um/sys_user_info.html',
'hap-core/sys/preferences': 'hap-core/sys/preferences'
}[key] || key,
symbol: type
};
_this2.insertTabs(key, type, construct);
});
});
}
}, {
key: 'setIsTabMode',
value: function setIsTabMode() {
var AppState = this.props.AppState;
AppState.loadTabMode();
}
}, {
key: 'getNextTabName',
value: function getNextTabName() {
var MenuStore = this.props.MenuStore;
var tabs = MenuStore.getTabs;
var tabsNameArr = (0, _filter3['default'])((0, _map3['default'])(tabs, 'text'), function (v) {
return v.startsWith(TAB_PLACEHOLDER_NAME);
});
if (!tabsNameArr.length) return TAB_PLACEHOLDER_NAME + '1';
var nums = tabsNameArr.map(function (v) {
return v.slice(v.indexOf(TAB_PLACEHOLDER_NAME) + TAB_PLACEHOLDER_NAME.length);
});
var nextNum = (0, _max3['default'])(nums) * 1 + 1;
return '' + TAB_PLACEHOLDER_NAME + nextNum;
}
}, {
key: 'insertTabs',
value: function insertTabs(key, type, tab) {
var MenuStore = this.props.MenuStore;
var tabs = MenuStore.getTabs;
if (!tabs.find(function (v) {
return v && v[type !== 'HTML' ? 'url' : 'functionCode'] === key;
})) {
tabs.push(tab);
MenuStore.setTabs(tabs);
}
}
}, {
key: 'handleMenuClick',
value: function handleMenuClick(tab) {
this.handleLink(tab);
}
}, {
key: 'handleLink',
value: function handleLink(tab, isFromFresh) {
var _props = this.props,
MenuStore = _props.MenuStore,
isTabMode = _props.AppState.isTabMode;
var selectedKeys = MenuStore.selectedKeys;
var LINK_MAP = {
REACT: '/' + tab.url,
HTML: '/iframe/' + tab.functionCode,
PAGE: '/hap-modeling/metadata/' + tab.url
};
// if (selectedKeys.length && selectedKeys[0] === tab.functionCode && isTabMode && !isFromFresh) return;
var link = LINK_MAP[tab.symbol] || '/';
this.props.history.push({
pathname: link
});
if (link === '/') {
MenuStore.setActiveMenu({});
}
}
}, {
key: 'handleCloseTab',
value: function handleCloseTab(tab, event) {
var MenuStore = this.props.MenuStore;
var selectedKeys = MenuStore.selectedKeys;
if (event) event.stopPropagation();
if (selectedKeys.length && selectedKeys[0] === tab.functionCode) {
var desTab = MenuStore.getNextTab(tab);
var desUrl = void 0;
if (desTab.functionCode !== 'HOME_PAGE') {
var LINK_MAP = {
REACT: '/' + desTab.url,
HTML: '/iframe/' + desTab.functionCode,
PAGE: '/hap-modeling/metadata/' + desTab.url
};
desUrl = LINK_MAP[desTab.symbol];
} else {
desUrl = '/';
MenuStore.setActiveMenu({});
}
this.props.history.push(desUrl);
}
MenuStore.closeTabAndClearCacheByCacheKey(tab);
}
}, {
key: 'handleCloseCmpContainTab',
value: function handleCloseCmpContainTab(tab, event) {
var MenuStore = this.props.MenuStore;
MenuStore.closeTabAndClearCacheByCacheKey(tab, true);
}
}, {
key: 'handleClickTabMenu',
value: function handleClickTabMenu(tab, _ref2) {
var _this3 = this;
var key = _ref2.key;
var _props2 = this.props,
MenuStore = _props2.MenuStore,
history = _props2.history;
var tabs = MenuStore.tabs;
var urlKey = history.location.pathname;
var index = tabs.findIndex(function (v) {
return v.functionCode === tab.functionCode;
});
switch (key) {
case 'close_self':
this.handleCloseTab(tab);
break;
case 'close_other':
this.handleLink(tab);
tabs.filter(function (v) {
return v.functionCode !== tab.functionCode && v.functionCode !== 'HOME_PAGE';
}).forEach(function (t) {
_this3.handleCloseTab(t);
});
break;
case 'close_all':
this.props.history.push('/');
tabs.filter(function (v) {
return v.functionCode !== 'HOME_PAGE';
}).forEach(function (t) {
MenuStore.closeTabAndClearCacheByCacheKey(t);
});
break;
case 'close_left':
this.handleLink(tab);
if (index !== undefined) {
tabs.filter(function (v, i) {
return i < index && v.functionCode !== 'HOME_PAGE';
}).forEach(function (t) {
_this3.handleCloseTab(t);
});
}
break;
case 'close_right':
this.handleLink(tab);
if (index !== undefined) {
tabs.filter(function (v, i) {
return i > index && v.functionCode !== 'HOME_PAGE';
}).forEach(function (t) {
_this3.handleCloseTab(t);
});
}
break;
case 'refresh':
if (tab && tab.symbol === 'REACT') {
MenuStore.setContentKey(urlKey, Date.now());
// this.handleCloseCmpContainTab(tab);
// this.handleLink(tab, true);
// this.handleCloseCmpContainTab(tab);
// this.props.history.push({
// pathname: '/',
// });
// setTimeout(() => this.handleLink(tab, true), 0);
// this.handleLink(tab, true);
} else {
this.handleCloseTab(tab);
this.handleLink(tab, true);
}
// MenuStore.setContentKey(urlKey, Date.now());
break;
default:
break;
}
}
}, {
key: 'render',
value: function render() {
var _props3 = this.props,
pathname = _props3.location.pathname,
MenuStore = _props3.MenuStore,
isTabMode = _props3.AppState.isTabMode;
var tabs = MenuStore.tabs,
activeMenu = MenuStore.activeMenu,
collapsed = MenuStore.collapsed;
var isHome = pathname === '/';
var SCREEN_WIDTH = document.body.clientWidth;
var MAX_NUMBER = Math.floor((document.body.clientWidth - (collapsed ? 100 : 300)) / MAX_WIDTH);
var num = tabs.length;
var eachTabWidth = num ? (document.body.clientWidth - (collapsed ? 100 : 300)) / num : MAX_WIDTH;
var width = void 0;
if (num <= MAX_NUMBER) {
width = MAX_WIDTH;
} else if (eachTabWidth < MIN_WIDTH) {
width = MIN_WIDTH;
} else {
width = eachTabWidth;
}
var placehoderUrl = {
HTML: '/iframe/',
REACT: '/',
PAGE: '/hap-modeling/metadata/'
};
// const activeIndex = tabs.findIndex(tab => pathname === `/${tab.url}` || pathname === `/iframe/${tab.functionCode}`);
var activeIndex = tabs.findIndex(function (tab) {
return pathname === (tab.symbol === 'HTML' ? '' + placehoderUrl[tab.symbol] + tab.functionCode : '' + placehoderUrl[tab.symbol] + tab.url);
});
return null;
}
}]);
return MenuBar;
}(_react.Component)) || _class) || _class) || _class);
exports['default'] = MenuBar;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Tabbar = require('./Tabbar');
var _Tabbar2 = _interopRequireDefault(_Tabbar);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _Tabbar2['default'];
\ No newline at end of file
'use strict';
require('./index.scss');
\ No newline at end of file
.tab-bar-wrap {
a {
text-decoration: none;
}
.tab-bar-list {
margin: 0;
padding: 0;
list-style: none;
height: 40px;
background: #f0f0f0;
.tab {
display: inline-flex;
position: relative;
align-items: center;
height: 40px;
// padding-left: 15.5px;
// padding-right: 13.5px;
font-size: 14px;
line-height: 40px;
// border-top: 3px solid transparent;
cursor: pointer;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: rgba(0, 0, 0, 0.54);
background: #fff;
.li-wrapper {
background: #f0f0f0;
}
&::before {
content: '';
position: absolute;
left: 0;
width: 1px;
height: 20px;
border-right: 1px solid rgba(0, 0, 0, 0.54);
}
.icon-wrapper {
width: 50px;
height: 40px;
position: absolute;
right: 0;
top: 0;
}
.icon {
position: absolute;
right: 13.5px;
top: 0;
// display: none;
line-height: 40px;
}
&:hover {
.icon {
// display: block;
}
}
}
.tab-active {
background: #fff;
// border-top-color: #3f51b5;
color: #000;
&::before {
content: '';
display: none;
}
.li-wrapper {
background: #fff;
}
}
.tab-active-before {
.li-wrapper {
border-radius: 0 0 4px 0;
.icon-wrapper {
border-radius: 0 0 4px 0;
}
}
}
.tab-active-after {
.li-wrapper {
border-radius: 0 0 0 4px;
.icon-wrapper {
border-radius: 0 0 0 4px;
}
}
}
.tab-active + .tab::before {
content: '';
display: none;
}
.tab:first-child::before {
content: '';
display: none;
}
.tab-hover:hover {
// background: #f8f8f8;
.icon-wrapper {
background: linear-gradient(to right, rgba(221, 221, 221, 0), #f8f8f8 40%, #f8f8f8) !important;
}
.li-wrapper {
background: #f8f8f8;
}
}
}
.tab-bar-without-tab {
height: 48px;
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
padding: 0 20px;
line-height: 48px;
font-size: 16px;
display: flex;
align-items: center;
justify-content: space-between;
.action {
color: #3f51b5;
cursor: pointer;
span {
font-size: 13px;
line-height: 15px;
}
}
}
}
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _IntlManager = require('../master/IntlManager');
var _IntlManager2 = _interopRequireDefault(_IntlManager);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function $l(code) {
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
var intlManager = (0, _IntlManager2['default'])();
return intlManager.get(code) || defaultValue || code;
}
exports['default'] = $l;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var AsyncModuleWrapper = function (_Component) {
(0, _inherits3['default'])(AsyncModuleWrapper, _Component);
function AsyncModuleWrapper() {
(0, _classCallCheck3['default'])(this, AsyncModuleWrapper);
return (0, _possibleConstructorReturn3['default'])(this, (AsyncModuleWrapper.__proto__ || Object.getPrototypeOf(AsyncModuleWrapper)).apply(this, arguments));
}
(0, _createClass3['default'])(AsyncModuleWrapper, [{
key: 'shouldComponentUpdate',
value: function shouldComponentUpdate(nextProps) {
return nextProps.shouldUpdate || false;
}
}, {
key: 'render',
value: function render() {
return this.props.children;
}
}]);
return AsyncModuleWrapper;
}(_react.Component);
exports['default'] = AsyncModuleWrapper;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
exports['default'] = asyncLocaleProvider;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactIntl = require('react-intl');
var _Observable = require('rxjs/Observable');
var _Subject = require('rxjs/Subject');
var _esModule = require('./esModule');
var _esModule2 = _interopRequireDefault(_esModule);
require('rxjs/add/operator/map');
require('rxjs/add/operator/takeUntil');
require('rxjs/add/observable/zip');
require('rxjs/add/observable/of');
require('rxjs/add/observable/fromPromise');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function asyncLocaleProvider(locale, getMessage, getLocaleData) {
return function (_Component) {
(0, _inherits3['default'])(AsyncLocaleProvider, _Component);
function AsyncLocaleProvider() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, AsyncLocaleProvider);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = AsyncLocaleProvider.__proto__ || Object.getPrototypeOf(AsyncLocaleProvider)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
message: null,
localeData: null
}, _this.componentWillUnmountSubject = new _Subject.Subject(), _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(AsyncLocaleProvider, [{
key: 'componentWillMount',
value: function componentWillMount() {
var _this2 = this;
var subject = this.componentWillUnmountSubject;
var streams = [];
if (getMessage) {
streams.push(_Observable.Observable.fromPromise(getMessage()).map(_esModule2['default']).takeUntil(subject));
}
if (getLocaleData) {
streams.push(_Observable.Observable.fromPromise(getLocaleData()).map(_esModule2['default']).takeUntil(subject));
}
if (streams.length > 0) {
_Observable.Observable.zip.apply(_Observable.Observable, streams).takeUntil(subject).subscribe(function (_ref2) {
var _ref3 = (0, _slicedToArray3['default'])(_ref2, 2),
messages = _ref3[0],
localeData = _ref3[1];
if (localeData) {
(0, _reactIntl.addLocaleData)(localeData);
}
_this2.setState({ messages: messages, localeData: localeData });
subject.unsubscribe();
});
}
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
var subject = this.componentWillUnmountSubject;
if (subject && !subject.closed) {
subject.next();
subject.unsubscribe();
}
}
}, {
key: 'render',
value: function render() {
var messages = this.state.messages;
return messages ? _react2['default'].createElement(_reactIntl.IntlProvider, (0, _extends3['default'])({}, this.props, { locale: locale.replace('_', '-'), messages: messages })) : null;
}
}]);
return AsyncLocaleProvider;
}(_react.Component);
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _toArray2 = require('babel-runtime/helpers/toArray');
var _toArray3 = _interopRequireDefault(_toArray2);
var _typeof2 = require('babel-runtime/helpers/typeof');
var _typeof3 = _interopRequireDefault(_typeof2);
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
exports['default'] = asyncModuleWrapper;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
var _Observable = require('rxjs/Observable');
var _Subject = require('rxjs/Subject');
var _esModule = require('./esModule');
var _esModule2 = _interopRequireDefault(_esModule);
require('rxjs/add/operator/map');
require('rxjs/add/operator/takeUntil');
require('rxjs/add/observable/zip');
require('rxjs/add/observable/of');
require('rxjs/add/observable/fromPromise');
var _moduleWrapper = require('../moduleWrapper');
var _moduleWrapper2 = _interopRequireDefault(_moduleWrapper);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function asyncModuleWrapper(getComponent, getInjects, extProps, moduleCode, moduleAxios) {
return function (_Component) {
(0, _inherits3['default'])(AsyncModuleWrapper, _Component);
function AsyncModuleWrapper() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, AsyncModuleWrapper);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = AsyncModuleWrapper.__proto__ || Object.getPrototypeOf(AsyncModuleWrapper)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
Cmp: null,
injects: {}
}, _this.componentWillUnmountSubject = new _Subject.Subject(), _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(AsyncModuleWrapper, [{
key: 'componentWillMount',
value: function componentWillMount() {
var _this2 = this;
var subject = this.componentWillUnmountSubject;
var streams = [];
if (getComponent) {
streams.push(_Observable.Observable.fromPromise(getComponent()).map(_esModule2['default']).takeUntil(subject));
}
if (getInjects) {
if (typeof getInjects === 'function') {
streams.push(_Observable.Observable.fromPromise(getInjects()).map(_esModule2['default']).map(function (inject) {
if (inject.getStoreName) {
return (0, _defineProperty3['default'])({}, inject.getStoreName(), inject);
}
return {};
}).takeUntil(subject));
} else if ((typeof getInjects === 'undefined' ? 'undefined' : (0, _typeof3['default'])(getInjects)) === 'object') {
Object.keys(getInjects).forEach(function (key) {
streams.push(_Observable.Observable.fromPromise(getInjects[key]()).map(_esModule2['default']).map(function (inject) {
return (0, _defineProperty3['default'])({}, key, inject);
}).takeUntil(subject));
});
}
}
if (streams.length > 0) {
_Observable.Observable.zip.apply(_Observable.Observable, streams).takeUntil(subject).subscribe(function (_ref4) {
var _ref5 = (0, _toArray3['default'])(_ref4),
Cmp = _ref5[0],
injects = _ref5.slice(1);
_this2.setState({ Cmp: Cmp, injects: injects });
subject.unsubscribe();
});
}
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
var subject = this.componentWillUnmountSubject;
if (subject && !subject.closed) {
subject.next();
subject.unsubscribe();
}
}
}, {
key: 'render',
value: function render() {
var _state = this.state,
Cmp = _state.Cmp,
injects = _state.injects;
return Cmp ? _react2['default'].createElement(
_moduleWrapper2['default'],
{ moduleCode: moduleCode },
_react2['default'].createElement(
_mobxReact.Provider,
{ axios: moduleAxios },
_react2['default'].createElement(Cmp, _extends3['default'].apply(undefined, [{}, extProps, this.props].concat((0, _toConsumableArray3['default'])(injects))))
)
) : null;
}
}]);
return AsyncModuleWrapper;
}(_react.Component);
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _toArray2 = require('babel-runtime/helpers/toArray');
var _toArray3 = _interopRequireDefault(_toArray2);
var _typeof2 = require('babel-runtime/helpers/typeof');
var _typeof3 = _interopRequireDefault(_typeof2);
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
exports['default'] = asyncRouter;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobx = require('mobx');
var _mobxReact = require('mobx-react');
var _omit = require('lodash/omit');
var _omit2 = _interopRequireDefault(_omit);
var _Observable = require('rxjs/Observable');
var _Subject = require('rxjs/Subject');
var _esModule = require('./esModule');
var _esModule2 = _interopRequireDefault(_esModule);
require('rxjs/add/operator/map');
require('rxjs/add/operator/takeUntil');
require('rxjs/add/observable/zip');
require('rxjs/add/observable/of');
require('rxjs/add/observable/fromPromise');
var _AsyncCmpWrap = require('./AsyncCmpWrap');
var _AsyncCmpWrap2 = _interopRequireDefault(_AsyncCmpWrap);
var _stores = require('../../stores');
var _stores2 = _interopRequireDefault(_stores);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var MenuStore = _stores2['default'].MenuStore;
var refreshKey = '__refresh__';
function asyncRouter(getComponent, getInjects) {
var extProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var AsyncRoute = function (_Component) {
(0, _inherits3['default'])(AsyncRoute, _Component);
function AsyncRoute() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, AsyncRoute);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = AsyncRoute.__proto__ || Object.getPrototypeOf(AsyncRoute)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
Cmp: null,
injects: {}
}, _this.initKey = Date.now(), _this.cacheKey = extProps[refreshKey] ? null : _this.props.history.location.pathname, _this.componentWillUnmountSubject = new _Subject.Subject(), _this.renderChild = function () {
var _this$state = _this.state,
Cmp = _this$state.Cmp,
injects = _this$state.injects;
return _react2['default'].createElement(Cmp, (0, _extends3['default'])({}, (0, _omit2['default'])(extProps, [refreshKey, 'axios']), _this.props, _extends3['default'].apply(undefined, [{}].concat((0, _toConsumableArray3['default'])(injects))), { key: _this.initKey }));
}, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(AsyncRoute, [{
key: 'componentWillMount',
value: function componentWillMount() {
var _this2 = this;
var subject = this.componentWillUnmountSubject;
var streams = [];
if (getComponent) {
streams.push(_Observable.Observable.fromPromise(getComponent()).map(_esModule2['default']).takeUntil(subject));
}
if (getInjects) {
if (typeof getInjects === 'function') {
streams.push(_Observable.Observable.fromPromise(getInjects()).map(_esModule2['default']).map(function (inject) {
if (inject.getStoreName) {
return (0, _defineProperty3['default'])({}, inject.getStoreName(), inject);
}
return {};
}).takeUntil(subject));
} else if ((typeof getInjects === 'undefined' ? 'undefined' : (0, _typeof3['default'])(getInjects)) === 'object') {
Object.keys(getInjects).forEach(function (key) {
streams.push(_Observable.Observable.fromPromise(getInjects[key]()).map(_esModule2['default']).map(function (inject) {
return (0, _defineProperty3['default'])({}, key, inject);
}).takeUntil(subject));
});
}
}
if (streams.length > 0) {
_Observable.Observable.zip.apply(_Observable.Observable, streams).takeUntil(subject).subscribe(function (_ref4) {
var _ref5 = (0, _toArray3['default'])(_ref4),
Cmp = _ref5[0],
injects = _ref5.slice(1);
_this2.setState({ Cmp: Cmp, injects: injects });
subject.unsubscribe();
});
}
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
var subject = this.componentWillUnmountSubject;
if (subject && !subject.closed) {
subject.next();
subject.unsubscribe();
}
}
}, {
key: 'render',
value: function render() {
var Cmp = this.state.Cmp;
var key = (0, _mobx.get)(MenuStore.contentKeys, this.cacheKey);
var props = {
shouldUpdate: extProps[refreshKey]
};
if (key && key !== this.initKey) {
this.initKey = key;
props.shouldUpdate = true;
}
var axiosProps = {};
if (extProps.axios) {
axiosProps = { axios: extProps.axios };
}
return Cmp && _react2['default'].createElement(
_AsyncCmpWrap2['default'],
props,
_react2['default'].createElement(
_mobxReact.Provider,
axiosProps,
this.renderChild()
)
);
}
}]);
return AsyncRoute;
}(_react.Component);
return (0, _mobxReact.observer)(AsyncRoute);
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _axios = require('axios');
var _axios2 = _interopRequireDefault(_axios);
var _authorize = require('../../common/authorize');
var _accessToken = require('../../common/accessToken');
var _constants = require('../../common/constants');
var _sessionExpiredLogin = require('../../common/sessionExpiredLogin');
var _sessionExpiredLogin2 = _interopRequireDefault(_sessionExpiredLogin);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var MODULE_SERVER_LINK_MAP = {};
var AXIOS_INSTANCE_MAP = {};
var SINGLE_APP_SERVER = 'SINGLE_APP_SERVER';
function getServerByModule(moduleName) {
var keys = Object.keys(MODULE_SERVER_LINK_MAP);
var server = SINGLE_APP_SERVER;
for (var i = 0; i < keys.length; i += 1) {
if (MODULE_SERVER_LINK_MAP[keys[i]].includes(moduleName)) {
server = keys[i];
break;
}
}
return server;
}
function createAxiosInsByModuleNmae(moduleName) {
if (AXIOS_INSTANCE_MAP[moduleName]) {
return AXIOS_INSTANCE_MAP[moduleName];
}
var server = getServerByModule(moduleName);
if (server === SINGLE_APP_SERVER) {
if (AXIOS_INSTANCE_MAP[SINGLE_APP_SERVER]) {
return AXIOS_INSTANCE_MAP[SINGLE_APP_SERVER];
}
}
var instance = _axios2['default'].create({
timeout: 60000,
baseURL: _constants.API_HOST
});
var CSRF_TOKEN = void 0;
// axios.defaults.baseURL = API_HOST;
instance.interceptors.request.use(function (config) {
var newConfig = config;
newConfig.headers['Content-Type'] = 'application/json';
newConfig.headers['X-Requested-With'] = 'XMLHttpRequest';
newConfig.headers.Accept = 'application/json';
if (CSRF_TOKEN) {
newConfig.headers['x-csrf-token'] = CSRF_TOKEN;
}
var accessToken = (0, _accessToken.getAccessToken)();
if (accessToken) {
newConfig.headers.Authorization = accessToken;
}
return newConfig;
}, function (err) {
var error = err;
return Promise.reject(error);
});
instance.interceptors.response.use(function (response) {
var status = response.status,
headers = response.headers;
if (!CSRF_TOKEN && headers['x-csrf-token']) {
CSRF_TOKEN = headers['x-csrf-token'];
}
if (status === 200 && response.request.responseURL && response.request.responseURL.endsWith('login')) {
(0, _authorize.authorize)();
return Promise.reject(new Error('need login'));
}
if (status === 200 && response.data && !response.data.success && response.data.code === 'sys_session_timeout') {
// 弹窗警告登录失效
(0, _sessionExpiredLogin2['default'])();
}
if (status === 204) {
return response;
}
return response.data;
}, function (error) {
var response = error.response;
if (response) {
var status = response.status;
switch (status) {
case 401:
{
(0, _accessToken.removeAccessToken)();
(0, _authorize.authorize)();
break;
}
default:
break;
}
}
throw error;
});
AXIOS_INSTANCE_MAP[moduleName] = instance;
if (server === SINGLE_APP_SERVER) {
AXIOS_INSTANCE_MAP[SINGLE_APP_SERVER] = instance;
}
return instance;
}
exports['default'] = createAxiosInsByModuleNmae;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _tabs = require('choerodon-ui/lib/tabs');
var _tabs2 = _interopRequireDefault(_tabs);
exports['default'] = createRouteWrapper;
require('choerodon-ui/lib/tabs/style');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mobxReact = require('mobx-react');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var TabPane = _tabs2['default'].TabPane;
var METADATA_PLACEHOLDER_STRING = 'hap-modeling/metadata';
function createRouteWrapper(keyString, cmp) {
var maps = {};
var RouterWrapper = function (_Component) {
(0, _inherits3['default'])(RouterWrapper, _Component);
function RouterWrapper() {
(0, _classCallCheck3['default'])(this, RouterWrapper);
return (0, _possibleConstructorReturn3['default'])(this, (RouterWrapper.__proto__ || Object.getPrototypeOf(RouterWrapper)).apply(this, arguments));
}
(0, _createClass3['default'])(RouterWrapper, [{
key: 'render',
value: function render() {
var _this2 = this;
var MenuStore = this.props.MenuStore;
var functionCode = MenuStore.activeMenu.functionCode,
tabs = MenuStore.tabs;
var currentTabs = void 0;
if (keyString === METADATA_PLACEHOLDER_STRING) {
currentTabs = tabs.filter(function (tab) {
return tab.symbol === 'PAGE';
});
} else {
currentTabs = tabs.filter(function (tab) {
return tab.url && tab.url.startsWith(keyString);
});
}
return _react2['default'].createElement(
_tabs2['default'],
{ activeKey: functionCode, animated: false },
currentTabs.map(function (tab) {
return _react2['default'].createElement(
TabPane,
{
tab: 'TAB_IFRAME',
key: tab.functionCode,
forceRender: false
},
_react2['default'].createElement(
'div',
{ style: { width: '100%', height: 'calc(100vh - 88px)', overflow: 'hidden', position: 'relative' } },
_react2['default'].createElement(cmp, { history: _this2.props.history })
)
);
})
);
}
}]);
return RouterWrapper;
}(_react.Component);
if (!maps[keyString]) {
maps[keyString] = (0, _mobxReact.inject)('MenuStore')((0, _mobxReact.observer)(RouterWrapper));
}
// return inject('MenuStore')(observer(RouterWrapper));
return maps[keyString];
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _isArray2 = require('lodash/isArray');
var _isArray3 = _interopRequireDefault(_isArray2);
exports['default'] = esModule;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var moduleDefaultExport = function moduleDefaultExport(module) {
return module['default'] || module;
};
function esModule(module) {
if ((0, _isArray3['default'])(module)) {
return module.map(moduleDefaultExport);
}
return moduleDefaultExport(module);
}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = findFirstLeafMenu;
function findFirstLeafMenu(menu) {
var subMenus = menu.subMenus;
if (subMenus && subMenus.length) {
return findFirstLeafMenu(subMenus[0]);
} else {
return menu;
}
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _MenuStore = require('../../stores/MenuStore');
var _MenuStore2 = _interopRequireDefault(_MenuStore);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function openTab(id, title, url, closeIcon) {
_MenuStore2['default'].openTab(id, title, url, closeIcon);
}
window.openTab = openTab;
exports['default'] = openTab;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _MenuStore = require('../../stores/MenuStore');
var _MenuStore2 = _interopRequireDefault(_MenuStore);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function openTabR(url, title, key) {
if (!key) {
_MenuStore2['default'].openTabR(url, title);
return;
}
var type = 'REACT';
var tabs = _MenuStore2['default'].tabs;
var targetTabIndex = tabs.findIndex(function (tab) {
return tab.url === key;
});
if (targetTabIndex !== -1) {
_MenuStore2['default'].loadMenus().then(function (me) {
_MenuStore2['default'].getPathById(url.slice(1), me, type, function (temppath, targetNode) {
if (tabs.find(function (tab) {
return tab.functionCode === targetNode.functionCode;
})) {
_MenuStore2['default'].openTabR(url, title);
} else {
tabs[targetTabIndex] = targetNode;
_MenuStore2['default'].openTabR(url, title);
}
}, function () {
var construct = {
children: null,
expand: false,
functionCode: key,
icon: null,
id: -1,
ischecked: null,
score: -1,
shortcutId: null,
text: title,
url: url.slice(1),
symbol: type
};
tabs[targetTabIndex] = construct;
_MenuStore2['default'].openTabR(url, title);
});
});
}
_MenuStore2['default'].openTabR(url, title);
}
exports['default'] = openTabR;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _message2 = require('choerodon-hap-ui/lib/message');
var _message3 = _interopRequireDefault(_message2);
require('choerodon-hap-ui/lib/message/style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var successHandle = function successHandle(mgs, title, opts) {
_message3['default'].success(mgs);
};
var infoHandle = function infoHandle(mgs, title, opts) {
_message3['default'].info(mgs);
};
var warningHandle = function warningHandle(mgs, title, opts) {
_message3['default'].warning(mgs);
};
var errorHandle = function errorHandle(mgs, title, opts) {
_message3['default'].error(mgs);
};
var handle = function handle(msg, title, opts) {
_message3['default'].config({
top: 50,
bottom: 50,
duration: 2
});
_message3['default'][opts.type](msg, undefined, undefined, 'rightBottom');
};
var toastr = {
success: handle,
info: handle,
warning: handle,
error: handle
};
window.toastr = toastr;
exports['default'] = toastr;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = transformHotkey;
function transformHotkey(event) {
var hotkeyArr = [];
if (event.ctrlKey) {
hotkeyArr.push('Ctrl');
}
if (event.shiftKey) {
hotkeyArr.push('Shift');
}
if (event.altKey) {
hotkeyArr.push('Alt');
}
var ARROW_MAPS = {
ArrowUp: '↑',
ArrowDown: '↓',
ArrowLeft: '←',
ArrowRight: '→'
};
if (ARROW_MAPS[event.key]) {
hotkeyArr.push(ARROW_MAPS[event.key]);
} else if (!['Control', 'Alt', 'Shift'].includes(event.key)) {
hotkeyArr.push(event.key.toUpperCase());
}
return hotkeyArr.join('+');
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = updateHotkeys;
var _AppState = require('../../stores/AppState');
var _AppState2 = _interopRequireDefault(_AppState);
var _HotkeyManager = require('../master/HotkeyManager');
var _HotkeyManager2 = _interopRequireDefault(_HotkeyManager);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function updateHotkeys(mutationsRows) {
if (!mutationsRows.length) {
return;
}
var isChange = false;
var hotkeyManager = (0, _HotkeyManager2['default'])();
var dictionary = hotkeyManager.dictionary;
mutationsRows.forEach(function (row) {
var __status = row.__status,
hotkeyId = row.hotkeyId,
description = row.description;
if (__status === 'add') {
dictionary.push(row);
isChange = true;
} else if (__status === 'update') {
var index = dictionary.findIndex(function (hotkey) {
return hotkey.hotkeyId === hotkeyId;
});
if (index !== -1) {
dictionary[index] = row;
isChange = true;
}
} else if (__status === 'delete') {
var _index = dictionary.findIndex(function (hotkey) {
return hotkey.hotkeyId === hotkeyId;
});
if (_index !== -1) {
dictionary.splice(_index, 1);
isChange = true;
}
}
});
if (isChange) {
// localeContext.setSupports(locales);
}
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
exports['default'] = updateIntl;
var _AppState = require('../../stores/AppState');
var _AppState2 = _interopRequireDefault(_AppState);
var _IntlManager = require('../master/IntlManager');
var _IntlManager2 = _interopRequireDefault(_IntlManager);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function updateIntl(mutationsRows) {
if (!mutationsRows.length) {
return;
}
var intlManager = (0, _IntlManager2['default'])();
mutationsRows.forEach(function (row) {
var __status = row.__status,
promptCode = row.promptCode,
description = row.description;
if (__status === 'add' || __status === 'update') {
intlManager.add((0, _defineProperty3['default'])({}, promptCode, description));
} else if (__status === 'delete') {
intlManager['delete'](promptCode);
}
});
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _localeContext2 = require('choerodon-hap-ui/lib/locale-context');
var _localeContext3 = _interopRequireDefault(_localeContext2);
exports['default'] = updateLocalContext;
require('choerodon-hap-ui/lib/locale-context/style');
var _AppState = require('../../stores/AppState');
var _AppState2 = _interopRequireDefault(_AppState);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
// function addFunc(locales, langCode, description, changeSign) {
// locales[langCode] = description;
// changeSign();
// }
// function deleteFunc(locales, langCode, description, changeSign) {
// if (locales[langCode]) {
// delete locales[langCode];
// changeSign();
// }
// }
// function updateFunc(locales, langCode, description, changeSign) {
// locales[langCode] = description;
// changeSign();
// }
function updateLocalContext(mutationsRows) {
if (!mutationsRows.length) {
return;
}
var isChange = false;
var locales = _localeContext3['default'].supports;
mutationsRows.forEach(function (row) {
var __status = row.__status,
langCode = row.langCode,
description = row.description;
// [`${__status}Func`](locales, langCode, description, () => { isChange = true; });
if (__status === 'add') {
locales[langCode] = description;
isChange = true;
} else if (__status === 'update') {
locales[langCode] = description;
isChange = true;
} else if (__status === 'delete') {
if (locales[langCode]) {
delete locales[langCode];
isChange = true;
}
}
});
_AppState2['default'].setLocales(locales);
if (isChange) {
_localeContext3['default'].setSupports(locales);
}
}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _find2 = require('lodash/find');
var _find3 = _interopRequireDefault(_find2);
var _desc, _value, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
var _mobx = require('mobx');
var _axios = require('../components/axios');
var _axios2 = _interopRequireDefault(_axios);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _initDefineProp(target, property, descriptor, context) {
if (!descriptor) return;
Object.defineProperty(target, property, {
enumerable: descriptor.enumerable,
configurable: descriptor.configurable,
writable: descriptor.writable,
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
});
}
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
var desc = {};
Object['ke' + 'ys'](descriptor).forEach(function (key) {
desc[key] = descriptor[key];
});
desc.enumerable = !!desc.enumerable;
desc.configurable = !!desc.configurable;
if ('value' in desc || desc.initializer) {
desc.writable = true;
}
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
return decorator(target, property, desc) || desc;
}, desc);
if (context && desc.initializer !== void 0) {
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
desc.initializer = undefined;
}
if (desc.initializer === void 0) {
Object['define' + 'Property'](target, property, desc);
desc = null;
}
return desc;
}
function _initializerWarningHelper(descriptor, context) {
throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
}
var AppState = (_class = function () {
function AppState() {
(0, _classCallCheck3['default'])(this, AppState);
_initDefineProp(this, 'isTabMode', _descriptor, this);
_initDefineProp(this, 'userInfo', _descriptor2, this);
_initDefineProp(this, 'locales', _descriptor3, this);
_initDefineProp(this, 'currentLang', _descriptor4, this);
_initDefineProp(this, 'sysInfo', _descriptor5, this);
_initDefineProp(this, 'cas', _descriptor6, this);
_initDefineProp(this, 'hideMenu', _descriptor7, this);
this.loadSysInfo = function () {
return _axios2['default'].post('/sys/config/system/info');
};
}
(0, _createClass3['default'])(AppState, [{
key: 'setHideMenu',
value: function setHideMenu(data) {
this.hideMenu = data;
}
}, {
key: 'setCas',
value: function setCas(data) {
this.cas = data;
}
}, {
key: 'updateSysInfo',
value: function updateSysInfo(type, value) {
this.sysInfo[type] = value;
}
}, {
key: 'setIsTabMode',
value: function setIsTabMode(data) {
this.isTabMode = data;
}
}, {
key: 'setUserInfo',
value: function setUserInfo(user) {
this.userInfo = user;
if (user.locale) {
this.setCurrentLang(user.locale);
}
}
}, {
key: 'setCurrentLang',
value: function setCurrentLang(data) {
this.currentLang = data;
}
}, {
key: 'setLocales',
value: function setLocales(data) {
this.locales = data;
}
}, {
key: 'setSysInfo',
value: function setSysInfo(data) {
this.sysInfo = data || {};
window.updateFavicon(data.faviconImageSrc);
}
}, {
key: 'loadUserInfo',
value: function () {
var _ref = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee() {
var res;
return _regenerator2['default'].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.next = 3;
return _axios2['default'].get('/sys/um/user_personal_info');
case 3:
res = _context.sent;
if (res === '') {
this.setCas(true);
window.top.location.href = '/index';
}
return _context.abrupt('return', res);
case 8:
_context.prev = 8;
_context.t0 = _context['catch'](0);
throw Error('someting wrong');
case 11:
case 'end':
return _context.stop();
}
}
}, _callee, this, [[0, 8]]);
}));
function loadUserInfo() {
return _ref.apply(this, arguments);
}
return loadUserInfo;
}()
// loadUserInfo = () => axios.get('/sys/um/user_personal_info');
}, {
key: 'loadTabMode',
value: function loadTabMode() {
var _this = this;
_axios2['default'].post('/sys/preferences/queryPreferences').then(function (res) {
var rows = res.rows;
var nav = (0, _find3['default'])(rows, function (row) {
return row.preferences === 'nav';
}) || {};
_this.setIsTabMode(!nav.preferencesValue || nav.preferencesValue === 'Y');
});
}
}, {
key: 'loadLocale',
value: function loadLocale() {
return _axios2['default'].get('/common/language/').then(function (res) {
var locales = {};
res.forEach(function (v) {
locales[v.langCode] = v.description;
});
return locales;
});
}
}, {
key: 'getHideMenu',
get: function get() {
return this.hideMenu;
}
}, {
key: 'isCas',
get: function get() {
return this.cas;
}
}, {
key: 'getUserInfo',
get: function get() {
return this.userInfo;
}
}, {
key: 'logo',
get: function get() {
return this.sysInfo.logoImageSrc;
}
}, {
key: 'favicon',
get: function get() {
return this.sysInfo.faviconImageSrc;
}
}, {
key: 'title',
get: function get() {
return this.sysInfo.title;
}
}]);
return AppState;
}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, 'isTabMode', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return true;
}
}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, 'userInfo', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return {};
}
}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, 'locales', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return {};
}
}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, 'currentLang', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return undefined;
}
}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, 'sysInfo', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return {};
}
}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, 'cas', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return false;
}
}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, 'hideMenu', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return true;
}
}), _applyDecoratedDescriptor(_class.prototype, 'getHideMenu', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'getHideMenu'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setHideMenu', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setHideMenu'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'isCas', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'isCas'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setCas', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setCas'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'updateSysInfo', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'updateSysInfo'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setIsTabMode', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setIsTabMode'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'getUserInfo', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'getUserInfo'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setUserInfo', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setUserInfo'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setCurrentLang', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setCurrentLang'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setLocales', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setLocales'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setSysInfo', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setSysInfo'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'logo', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'logo'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'favicon', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'favicon'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'title', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'title'), _class.prototype)), _class);
var appState = new AppState();
exports['default'] = appState;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _mobx = require('mobx');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var HeaderStore = function HeaderStore() {
(0, _classCallCheck3['default'])(this, HeaderStore);
};
var headerStore = new HeaderStore();
exports['default'] = headerStore;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _remove2 = require('lodash/remove');
var _remove3 = _interopRequireDefault(_remove2);
var _desc, _value, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;
var _mobx = require('mobx');
var _reactRouterCacheRoute = require('react-router-cache-route');
var _axios = require('../components/axios');
var _axios2 = _interopRequireDefault(_axios);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _initDefineProp(target, property, descriptor, context) {
if (!descriptor) return;
Object.defineProperty(target, property, {
enumerable: descriptor.enumerable,
configurable: descriptor.configurable,
writable: descriptor.writable,
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
});
}
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
var desc = {};
Object['ke' + 'ys'](descriptor).forEach(function (key) {
desc[key] = descriptor[key];
});
desc.enumerable = !!desc.enumerable;
desc.configurable = !!desc.configurable;
if ('value' in desc || desc.initializer) {
desc.writable = true;
}
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
return decorator(target, property, desc) || desc;
}, desc);
if (context && desc.initializer !== void 0) {
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
desc.initializer = undefined;
}
if (desc.initializer === void 0) {
Object['define' + 'Property'](target, property, desc);
desc = null;
}
return desc;
}
function _initializerWarningHelper(descriptor, context) {
throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
}
function getNodePath(node, treeNodes) {
if (node.children) {
node.children.forEach(function (child) {
return getNodePath(child, treeNodes);
});
} else {
treeNodes.push(node);
}
}
var MenuStore = (_class = function () {
function MenuStore() {
(0, _classCallCheck3['default'])(this, MenuStore);
_initDefineProp(this, 'collapsed', _descriptor, this);
_initDefineProp(this, 'menus', _descriptor2, this);
_initDefineProp(this, 'tabs', _descriptor3, this);
_initDefineProp(this, 'openKeys', _descriptor4, this);
_initDefineProp(this, 'selectedKeys', _descriptor5, this);
_initDefineProp(this, 'activeMenu', _descriptor6, this);
_initDefineProp(this, 'contentKeys', _descriptor7, this);
_initDefineProp(this, 'expanded', _descriptor8, this);
_initDefineProp(this, 'history', _descriptor9, this);
}
(0, _createClass3['default'])(MenuStore, [{
key: 'setContentKey',
value: function setContentKey(pathname, key) {
(0, _mobx.set)(this.contentKeys, pathname, key);
return key;
}
}, {
key: 'setCollapsed',
value: function setCollapsed(data) {
this.collapsed = data;
}
}, {
key: 'setTabs',
value: function setTabs(data) {
this.tabs = data;
}
}, {
key: 'setMenus',
value: function setMenus(data) {
this.menus = data;
}
}, {
key: 'setActiveMenu',
value: function setActiveMenu(data) {
this.activeMenu = data;
}
}, {
key: 'setOpenKeys',
value: function setOpenKeys(data) {
this.openKeys = data;
}
}, {
key: 'setSelectedKeys',
value: function setSelectedKeys(data) {
this.selectedKeys = data;
}
}, {
key: 'setMenuExpanded',
value: function setMenuExpanded(data) {
this.expanded = data;
}
}, {
key: 'setHistory',
value: function setHistory(data) {
this.history = data;
}
}, {
key: 'closeTab',
value: function closeTab(value) {
var prop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'functionCode';
var tabs = this.tabs.slice();
(0, _remove3['default'])(tabs, function (v) {
return v[prop] === value;
});
this.setTabs(tabs);
}
}, {
key: 'clearCacheByCacheKey',
value: function clearCacheByCacheKey(cacheKey) {
(0, _reactRouterCacheRoute.dropByCacheKey)(cacheKey);
}
}, {
key: 'closeTabAndClearCacheByCacheKey',
value: function closeTabAndClearCacheByCacheKey(obj, remainTab) {
var val = void 0;
var prop = void 0;
if (obj.symbol === 'REACT') {
val = obj.url;
prop = 'url';
} else {
val = obj.functionCode;
prop = 'functionCode';
}
if (!remainTab) {
this.closeTab(val, prop);
}
if (obj.symbol === 'REACT') {
var existKeys = (0, _reactRouterCacheRoute.getCachingKeys)();
if (existKeys.includes(obj.url)) {
(0, _reactRouterCacheRoute.dropByCacheKey)(obj.url);
} else if (existKeys.includes('/' + obj.url)) {
(0, _reactRouterCacheRoute.dropByCacheKey)('/' + obj.url);
}
}
// dropByCacheKey(obj.functionCode);
}
}, {
key: 'getSubmenuByCode',
value: function getSubmenuByCode(code) {
var menus = this.getMenus;
var target = {};
menus.forEach(function (submenu) {
if (submenu && submenu.children.length) {
submenu.children.forEach(function (menuList) {
if (menuList.functionCode === code) {
target = submenu;
}
});
}
});
return target;
}
/* eslint-disable */
}, {
key: 'getPathById',
value: function getPathById(functionCode, tree, type, cb) {
var noMatchCb = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {};
var key = type === 'HTML' ? 'functionCode' : 'url';
// const key = isReact ? 'url' : 'functionCode';
var path = [];
var targetNode = void 0;
try {
var _getNodePath = function _getNodePath(node) {
path.push(node.functionCode);
if (node[key] === functionCode) {
targetNode = node;
throw 'Get Target Node!';
}
if (node.children && node.children.length > 0) {
for (var i = 0; i < node.children.length; i++) {
_getNodePath(node.children[i]);
}
path.pop();
} else {
path.pop();
}
};
tree.forEach(function (v) {
return _getNodePath(v);
});
noMatchCb();
} catch (e) {
cb(path, targetNode);
}
}
// getTreeNodeMenus(tree, cb, key = 'functionCode') {
// const treeNodes = [];
// try {
// function getNodePath(node) {
// if (!node.children) {
// treeNodes.push(node);
// }
//
// if (node.children && node.children.length > 0) {
// for (let i = 0; i < node.children.length; i++) {
// getNodePath(node.children[i]);
// }
// }
// }
// tree.forEach(v => getNodePath(v));
// cb(treeNodes);
// } catch (e) {
// }
// }
/* eslint-enable */
}, {
key: 'getMenuItemByCode',
value: function getMenuItemByCode(code) {
var menus = this.getMenus;
var target = {};
menus.forEach(function (submenu) {
if (submenu && submenu.children.length) {
submenu.children.forEach(function (menuList) {
if (menuList.functionCode === code) {
target = menuList;
}
});
}
});
return target;
}
}, {
key: 'getNextTab',
value: function getNextTab(tab) {
var tabs = this.getTabs;
var len = tabs.length;
var idx = tabs.findIndex(function (t) {
return t.functionCode === tab.functionCode;
});
if (idx === 0 && len === 1) return {};
if (idx === 0 && len > 1) return tabs[1];
return tabs[idx - 1];
}
}, {
key: 'loadMenus',
value: function loadMenus() {
var _this = this;
var menus = this.menus;
if (Object.prototype.toString.call(menus) === '[object Array]' && menus.length) {
return Promise.resolve(menus);
}
return _axios2['default'].get('/sys/function/menus').then(function (res) {
var menusValid = Object.prototype.toString.call(res) === '[object Array]' ? res : [];
_this.setMenus(menusValid);
return menusValid;
});
}
}, {
key: 'openTab',
value: function openTab(id, title, url, closeIcon) {
if (!this.history) return;
this.history.push({
pathname: '/iframe' + url,
state: {
title: title
}
});
}
}, {
key: 'openTabR',
value: function openTabR(url, title) {
if (!this.history) return;
this.history.push({
pathname: url,
state: {
title: title
}
});
}
}, {
key: 'treeNodeMenus',
get: function get() {
var treeNodes = [];
this.menus.forEach(function (v) {
return getNodePath(v, treeNodes);
});
return treeNodes;
}
}, {
key: 'getMenus',
get: function get() {
return this.menus.slice();
}
}, {
key: 'getTabs',
get: function get() {
return this.tabs.slice();
}
}, {
key: 'getIframeTabs',
get: function get() {
return this.tabs.filter(function (tab) {
return tab.symbol !== 'REACT';
});
}
}, {
key: 'getSelectedKeys',
get: function get() {
return this.selectedKeys.slice();
}
}]);
return MenuStore;
}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, 'collapsed', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return false;
}
}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, 'menus', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return [];
}
}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, 'tabs', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return [{
children: null,
expand: false,
functionCode: 'HOME_PAGE',
icon: '',
id: -1,
ischecked: null,
score: -1,
shortcutId: null,
text: '首页',
url: '',
symbol: 'REACT'
}];
}
}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, 'openKeys', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return [];
}
}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, 'selectedKeys', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return [];
}
}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, 'activeMenu', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return {};
}
}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, 'contentKeys', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return {};
}
}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, 'expanded', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return false;
}
}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, 'history', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return undefined;
}
}), _applyDecoratedDescriptor(_class.prototype, 'treeNodeMenus', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'treeNodeMenus'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'getMenus', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'getMenus'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'getTabs', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'getTabs'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'getIframeTabs', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'getIframeTabs'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'getSelectedKeys', [_mobx.computed], Object.getOwnPropertyDescriptor(_class.prototype, 'getSelectedKeys'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setContentKey', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setContentKey'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setCollapsed', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setCollapsed'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setTabs', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setTabs'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setMenus', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setMenus'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setActiveMenu', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setActiveMenu'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setOpenKeys', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setOpenKeys'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setSelectedKeys', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setSelectedKeys'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setMenuExpanded', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setMenuExpanded'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'setHistory', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'setHistory'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'closeTab', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'closeTab'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'clearCacheByCacheKey', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'clearCacheByCacheKey'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'closeTabAndClearCacheByCacheKey', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'closeTabAndClearCacheByCacheKey'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'loadMenus', [_mobx.action], Object.getOwnPropertyDescriptor(_class.prototype, 'loadMenus'), _class.prototype)), _class);
var menuStore = new MenuStore();
exports['default'] = menuStore;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _AppState = require('./AppState');
var _AppState2 = _interopRequireDefault(_AppState);
var _MenuStore = require('./MenuStore');
var _MenuStore2 = _interopRequireDefault(_MenuStore);
var _HeaderStore = require('./HeaderStore');
var _HeaderStore2 = _interopRequireDefault(_HeaderStore);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var stores = {
AppState: _AppState2['default'],
MenuStore: _MenuStore2['default'],
HeaderStore: _HeaderStore2['default']
};
exports['default'] = stores;
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.build = exports.start = undefined;
var _start = require('./bin/start');
var _start2 = _interopRequireDefault(_start);
var _build = require('./bin/build');
var _build2 = _interopRequireDefault(_build);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports.start = _start2['default'];
exports.build = _build2['default'];
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no"/>
<title><%= htmlWebpackPlugin.options.title %></title>
<script>
window.updateFavicon = function(faviconUrl) {
var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = faviconUrl;
document.getElementsByTagName('head')[0].appendChild(link);
}
</script>
</head>
<body>
<div id='app'>
</div>
</body>
</html>
This source diff could not be displayed because it is too large. You can view the blob instead.
'use strict';
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class;
require('babel-polyfill');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactRouterDom = require('react-router-dom');
var _history = require('history');
var _mobxReact = require('mobx-react');
var _Loading = require('../{{ source }}/containers/components/entryCmp/Loading');
var _Loading2 = _interopRequireDefault(_Loading);
var _stores = require('../{{ source }}/containers/stores');
var _stores2 = _interopRequireDefault(_stores);
var _AppState = require('../{{ source }}/containers/stores/AppState');
var _AppState2 = _interopRequireDefault(_AppState);
var _asyncRouter = require('../{{ source }}/containers/components/util/asyncRouter');
var _asyncRouter2 = _interopRequireDefault(_asyncRouter);
require('../{{ source }}/containers/components/style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Masters = (0, _asyncRouter2['default'])(function () {
return import('../{{ source }}/containers/components/master');
}, {
AutoRouter: function AutoRouter() {
return import('{{ routesPath }}');
}
}, {
__refresh__: true
});
var App = (0, _mobxReact.observer)(_class = function (_Component) {
(0, _inherits3['default'])(App, _Component);
function App() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, App);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = App.__proto__ || Object.getPrototypeOf(App)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
loading: true
}, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(App, [{
key: 'componentDidMount',
value: function componentDidMount() {
var _this2 = this;
Promise.all([this.auth(), this.loadLocale(), this.loadSysInfo()]).then(function (res) {
if (res.every(function (item) {
return item;
})) {
_this2.setState({
loading: false
});
}
});
}
}, {
key: 'auth',
value: function () {
var _ref2 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee() {
return _regenerator2['default'].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.t0 = _AppState2['default'];
_context.next = 4;
return _AppState2['default'].loadUserInfo();
case 4:
_context.t1 = _context.sent;
_context.t0.setUserInfo.call(_context.t0, _context.t1);
return _context.abrupt('return', true);
case 9:
_context.prev = 9;
_context.t2 = _context['catch'](0);
return _context.abrupt('return', false);
case 12:
case 'end':
return _context.stop();
}
}
}, _callee, this, [[0, 9]]);
}));
function auth() {
return _ref2.apply(this, arguments);
}
return auth;
}()
}, {
key: 'loadLocale',
value: function () {
var _ref3 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee2() {
return _regenerator2['default'].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
_context2.t0 = _AppState2['default'];
_context2.next = 4;
return _AppState2['default'].loadLocale();
case 4:
_context2.t1 = _context2.sent;
_context2.t0.setLocales.call(_context2.t0, _context2.t1);
return _context2.abrupt('return', true);
case 9:
_context2.prev = 9;
_context2.t2 = _context2['catch'](0);
return _context2.abrupt('return', false);
case 12:
case 'end':
return _context2.stop();
}
}
}, _callee2, this, [[0, 9]]);
}));
function loadLocale() {
return _ref3.apply(this, arguments);
}
return loadLocale;
}()
}, {
key: 'loadSysInfo',
value: function () {
var _ref4 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee3() {
return _regenerator2['default'].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.prev = 0;
_context3.t0 = _AppState2['default'];
_context3.next = 4;
return _AppState2['default'].loadSysInfo();
case 4:
_context3.t1 = _context3.sent;
_context3.t0.setSysInfo.call(_context3.t0, _context3.t1);
return _context3.abrupt('return', true);
case 9:
_context3.prev = 9;
_context3.t2 = _context3['catch'](0);
return _context3.abrupt('return', false);
case 12:
case 'end':
return _context3.stop();
}
}
}, _callee3, this, [[0, 9]]);
}));
function loadSysInfo() {
return _ref4.apply(this, arguments);
}
return loadSysInfo;
}()
}, {
key: 'render',
value: function render() {
var loading = this.state.loading;
return _react2['default'].createElement(
_mobxReact.Provider,
_stores2['default'],
_react2['default'].createElement(
_reactRouterDom.HashRouter,
{ hashHistory: _history.createBrowserHistory },
_react2['default'].createElement(
_reactRouterDom.Switch,
null,
_react2['default'].createElement(_reactRouterDom.Route, {
path: '/',
component: loading ? _Loading2['default'] : Masters
})
)
)
);
}
}]);
return App;
}(_react.Component)) || _class;
(0, _reactDom.render)(_react2['default'].createElement(App, null), document.getElementById('app'));
\ No newline at end of file
'use strict';
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class;
require('babel-polyfill');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactRouterDom = require('react-router-dom');
var _history = require('history');
var _mobxReact = require('mobx-react');
var _Loading = require('../{{ source }}/containers/components/entryCmp/Loading');
var _Loading2 = _interopRequireDefault(_Loading);
var _stores = require('../{{ source }}/containers/stores');
var _stores2 = _interopRequireDefault(_stores);
var _AppState = require('../{{ source }}/containers/stores/AppState');
var _AppState2 = _interopRequireDefault(_AppState);
var _asyncRouter = require('../{{ source }}/containers/components/util/asyncRouter');
var _asyncRouter2 = _interopRequireDefault(_asyncRouter);
require('../{{ source }}/containers/components/style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Masters = (0, _asyncRouter2['default'])(function () {
return import('../{{ source }}/containers/components/master/MasterWithoutSider.js');
}, {
AutoRouter: function AutoRouter() {
return import('{{ routesPath }}');
}
}, {
__refresh__: true
});
var App = (0, _mobxReact.observer)(_class = function (_Component) {
(0, _inherits3['default'])(App, _Component);
function App() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, App);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = App.__proto__ || Object.getPrototypeOf(App)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
loading: true
}, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(App, [{
key: 'componentDidMount',
value: function componentDidMount() {
var _this2 = this;
Promise.all([this.auth(), this.loadLocale(), this.loadSysInfo()]).then(function (res) {
if (res.every(function (item) {
return item;
})) {
_this2.setState({
loading: false
});
}
});
}
}, {
key: 'auth',
value: function () {
var _ref2 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee() {
return _regenerator2['default'].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.t0 = _AppState2['default'];
_context.next = 4;
return _AppState2['default'].loadUserInfo();
case 4:
_context.t1 = _context.sent;
_context.t0.setUserInfo.call(_context.t0, _context.t1);
return _context.abrupt('return', true);
case 9:
_context.prev = 9;
_context.t2 = _context['catch'](0);
return _context.abrupt('return', false);
case 12:
case 'end':
return _context.stop();
}
}
}, _callee, this, [[0, 9]]);
}));
function auth() {
return _ref2.apply(this, arguments);
}
return auth;
}()
}, {
key: 'loadLocale',
value: function () {
var _ref3 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee2() {
return _regenerator2['default'].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
_context2.t0 = _AppState2['default'];
_context2.next = 4;
return _AppState2['default'].loadLocale();
case 4:
_context2.t1 = _context2.sent;
_context2.t0.setLocales.call(_context2.t0, _context2.t1);
return _context2.abrupt('return', true);
case 9:
_context2.prev = 9;
_context2.t2 = _context2['catch'](0);
return _context2.abrupt('return', false);
case 12:
case 'end':
return _context2.stop();
}
}
}, _callee2, this, [[0, 9]]);
}));
function loadLocale() {
return _ref3.apply(this, arguments);
}
return loadLocale;
}()
}, {
key: 'loadSysInfo',
value: function () {
var _ref4 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee3() {
return _regenerator2['default'].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.prev = 0;
_context3.t0 = _AppState2['default'];
_context3.next = 4;
return _AppState2['default'].loadSysInfo();
case 4:
_context3.t1 = _context3.sent;
_context3.t0.setSysInfo.call(_context3.t0, _context3.t1);
return _context3.abrupt('return', true);
case 9:
_context3.prev = 9;
_context3.t2 = _context3['catch'](0);
return _context3.abrupt('return', false);
case 12:
case 'end':
return _context3.stop();
}
}
}, _callee3, this, [[0, 9]]);
}));
function loadSysInfo() {
return _ref4.apply(this, arguments);
}
return loadSysInfo;
}()
}, {
key: 'render',
value: function render() {
var loading = this.state.loading;
return _react2['default'].createElement(
_mobxReact.Provider,
_stores2['default'],
_react2['default'].createElement(
_reactRouterDom.HashRouter,
{ hashHistory: _history.createBrowserHistory },
_react2['default'].createElement(
_reactRouterDom.Switch,
null,
_react2['default'].createElement(_reactRouterDom.Route, {
path: '/',
component: loading ? _Loading2['default'] : Masters
})
)
)
);
}
}]);
return App;
}(_react.Component)) || _class;
(0, _reactDom.render)(_react2['default'].createElement(App, null), document.getElementById('app'));
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouterCacheRoute = require('react-router-cache-route');
var _reactRouterCacheRoute2 = _interopRequireDefault(_reactRouterCacheRoute);
var _index = require('../{{ source }}/containers/components/index');
var _asyncRouter = require('../{{ source }}/containers/components/util/asyncRouter');
var _asyncRouter2 = _interopRequireDefault(_asyncRouter);
var _asyncModuleWrapper = require('../{{ source }}/containers/components/util/asyncModuleWrapper');
var _asyncModuleWrapper2 = _interopRequireDefault(_asyncModuleWrapper);
var _createAxiosInsByModuleName = require('../{{ source }}/containers/components/util/createAxiosInsByModuleName');
var _createAxiosInsByModuleName2 = _interopRequireDefault(_createAxiosInsByModuleName);
var _iframeWrapper = require('../{{ source }}/containers/components/iframeWrapper');
var _iframeWrapper2 = _interopRequireDefault(_iframeWrapper);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var routes = {};
var CHOERODON_HAP_FRONT_BOOT_HOME_PAGE = 'home';
function createRoute(path, component, moduleCode) {
var moduleAxios = (0, _createAxiosInsByModuleName2['default'])(moduleCode);
if (!routes[path]) {
var Cmp = (0, _asyncModuleWrapper2['default'])(component, null, null, moduleCode, moduleAxios);
routes[path] = _react2['default'].createElement(_reactRouterCacheRoute2['default'], { path: path, component: Cmp });
}
return routes[path];
}
function createHome(path, component, homePath) {
if (!routes[path]) {
var Cmp = (0, _asyncRouter2['default'])(homePath ? component : function () {
return import('../{{ source }}/containers/components/home');
}, null, { axios: (0, _createAxiosInsByModuleName2['default'])(CHOERODON_HAP_FRONT_BOOT_HOME_PAGE) });
routes[path] = _react2['default'].createElement(_reactRouterCacheRoute2['default'], { exact: true, path: path, component: Cmp });
}
return routes[path];
}
var Home = (0, _asyncRouter2['default'])(function () {
return import('../{{ source }}/containers/components/home');
}, null, { axios: (0, _createAxiosInsByModuleName2['default'])(CHOERODON_HAP_FRONT_BOOT_HOME_PAGE) });
var AutoRouter = function (_Component) {
(0, _inherits3['default'])(AutoRouter, _Component);
function AutoRouter() {
(0, _classCallCheck3['default'])(this, AutoRouter);
return (0, _possibleConstructorReturn3['default'])(this, (AutoRouter.__proto__ || Object.getPrototypeOf(AutoRouter)).apply(this, arguments));
}
(0, _createClass3['default'])(AutoRouter, [{
key: 'render',
value: function render() {
return _react2['default'].createElement(
_reactRouterCacheRoute.CacheSwitch,
null,
{{ home }},
{{ routes }},
_react2['default'].createElement(_reactRouterCacheRoute2['default'], { path: '/iframe/:name', cacheKey: 'iframe', component: _iframeWrapper2['default'] }),
_react2['default'].createElement(_reactRouterCacheRoute2['default'], { path: '*', component: _index.nomatch })
);
}
}]);
return AutoRouter;
}(_react.Component);
exports['default'] = AutoRouter;
\ No newline at end of file
{
"_args": [
[
"choerodon-hap-front-boot@0.7.1",
"/Volumes/work/idea/leaf-jmu/hap-core"
]
],
"_from": "choerodon-hap-front-boot@0.7.1",
"_id": "choerodon-hap-front-boot@0.7.1",
"_inBundle": false,
"_integrity": "sha512-m2tabQXklLaPuIZVDtqT47JQGyfnFm4YhTRIDzLkuWsM7Fi3SYK2RyJwCc9tT4cdQK1cxiOoag+YI/qdMngq/g==",
"_location": "/choerodon-hap-front-boot",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "choerodon-hap-front-boot@0.7.1",
"name": "choerodon-hap-front-boot",
"escapedName": "choerodon-hap-front-boot",
"rawSpec": "0.7.1",
"saveSpec": null,
"fetchSpec": "0.7.1"
},
"_requiredBy": [
"/"
],
"_resolved": "https://nexus.choerodon.com.cn/repository/choerodon-npm/choerodon-hap-front-boot/-/choerodon-hap-front-boot-0.7.1.tgz",
"_spec": "0.7.1",
"_where": "/Volumes/work/idea/leaf-jmu/hap-core",
"author": {
"name": "Qyellow",
"email": "598260403@qq.com"
},
"bin": {
"choerodon-hap-front-boot": "./bin/choerodon-hap-front-boot"
},
"bugs": {
"url": "https://github.com/choerodon/choerodon/issues"
},
"dependencies": {
"add-asset-html-webpack-plugin": "^2.1.2",
"autoprefixer": "^6.7.7",
"axios": "^0.16.2",
"babel-core": "^6.25.0",
"babel-eslint": "^8.2.6",
"babel-loader": "^6.4.1",
"babel-plugin-import": "^1.5.0",
"babel-plugin-lodash": "^3.2.11",
"babel-plugin-react-transform": "^2.0.2",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-async-to-generator": "^6.24.1",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-plugin-transform-es3-member-expression-literals": "^6.22.0",
"babel-plugin-transform-es3-property-literals": "^6.22.0",
"babel-plugin-transform-object-assign": "^6.22.0",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-polyfill": "^6.26.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-1": "^6.24.1",
"babel-runtime": "^6.23.0",
"case-sensitive-paths-webpack-plugin": "^2.1.2",
"chalk": "^2.4.1",
"change-case": "^3.0.1",
"choerodon-ui": "0.4.1",
"choerodon-ui-font": "0.0.2",
"classnames": "^2.2.5",
"commander": "^2.9.0",
"component-classes": "^1.x",
"css-loader": "^0.25.0",
"eslint": "^5.5.0",
"eslint-config-airbnb": "latest",
"eslint-plugin-babel": "^5.1.0",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-jsx-a11y": "^6.1.1",
"eslint-plugin-react": "^7.11.1",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^1.1.11",
"friendly-errors-webpack-plugin": "^1.7.0",
"fs-extra": "^7.0.0",
"glob": "^7.1.3",
"history": "^4.6.3",
"html-webpack-plugin": "^3.2.0",
"husky": "^1.1.1",
"json-loader": "^0.5.7",
"less": "^2.7.2",
"less-loader": "^3.0.0",
"lint-staged": "^7.2.2",
"lodash": "^4.17.4",
"merge-stream": "^1.0.1",
"mkdirp": "^0.5.1",
"mobx": "^4.4.0",
"mobx-react": "5.1.2",
"moment": "latest",
"node-sass": "^4.7.2",
"nunjucks": "^3.1.3",
"object.omit": "^3.0.0",
"postcss-loader": "^2.1.5",
"prop-types": "^15.5.10",
"query-string": "^4.1.0",
"react": "^16.6.0",
"react-dev-utils": "^5.0.2",
"react-dom": "^16.6.0",
"react-helmet": "^5.2.0",
"react-hot-loader": "^3.1.1",
"react-intl": "^2.3.0",
"react-router-cache-route": "^1.4.1",
"react-router-dom": "^4.1.1",
"resolve": "^1.1.7",
"rimraf": "2.4.3",
"run-sequence": "^1.2.2",
"rxjs": "^5.5.12",
"sass-loader": "^6.0.6",
"sockjs-client": "^1.3.0",
"style-loader": "0.13.1",
"stylelint": "^8.4.0",
"stylelint-config-standard": "^18.0.0",
"ts-loader": "^2.0.2",
"ts-node": "^4.0.2",
"tslint": "^5.9.1",
"tslint-loader": "^3.5.3",
"typescript": "^2.6.2",
"uglifyjs-webpack-plugin": "^1.3.0",
"universal-cookie": "^2.0.8",
"url": "^0.11.0",
"url-loader": "^1.1.1",
"warning": "^3.0.0",
"webpack": "^3.12.0",
"webpack-dev-server": "^2.11.3"
},
"description": "Tools to build website for Choerodon Hap",
"devDependencies": {
"babel-preset-env": "^1.7.0",
"choerodon-hap-ui": "^0.6.1",
"gulp": "^3.9.1",
"gulp-babel": "^7.0.1",
"merge2": "^1.2.2",
"through2": "^2.0.3"
},
"files": [
"lib",
"bin"
],
"homepage": "http://choerodon.io/",
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"keywords": [
"choerodon",
"hap",
"c7n",
"boot",
"framework",
"frontend"
],
"license": "ISC",
"lint-staged": {
"src/**/*.{js,jsx}": [
"npm run lint-staged:es"
],
"src/**/*.scss": "stylelint --syntax scss"
},
"main": "lib/containers/components/index.js",
"name": "choerodon-hap-front-boot",
"peerDependencies": {
"choerodon-hap-ui": ">=0.6"
},
"repository": {
"type": "git",
"url": "https://code.choerodon.com.cn/choerodon-hap/choerodon-hap-front-boot"
},
"scripts": {
"build": "node ./test/build",
"build:bin": "node ./bin/choerodon-hap-front-boot build --config ./choerodon.config.js",
"clean": "rimraf lib",
"compile": "gulp compile",
"copy": "gulp copy",
"dist": "node ./test/dist",
"lint": "npm run lint:es && npm run lint:style",
"lint-staged": "lint-staged",
"lint-staged:es": "eslint test ./choerodon.config.js",
"lint:es": "eslint src/**/*.{js,jsx} test ./choerodon.config.js",
"lint:style": "stylelint src/**/*.scss --syntax scss",
"postpublish": "npm run clean",
"prebuild": "npm run compile",
"prebuild:bin": "npm run compile",
"predist": "npm run compile",
"prepublish": "npm run compile",
"prestart": "gulp compile-bin",
"prestart:bin": "npm run compile",
"start": "node ./test/start --config ./test/choerodon.config.js",
"start:bin": "node ./bin/choerodon-hap-front-boot start --config ./choerodon.config.js -m"
},
"version": "0.7.1"
}
'use strict';
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class;
require('babel-polyfill');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactRouterDom = require('react-router-dom');
var _history = require('history');
var _mobxReact = require('mobx-react');
var _Loading = require('../lib/containers/components/entryCmp/Loading');
var _Loading2 = _interopRequireDefault(_Loading);
var _stores = require('../lib/containers/stores');
var _stores2 = _interopRequireDefault(_stores);
var _AppState = require('../lib/containers/stores/AppState');
var _AppState2 = _interopRequireDefault(_AppState);
var _asyncRouter = require('../lib/containers/components/util/asyncRouter');
var _asyncRouter2 = _interopRequireDefault(_asyncRouter);
require('../lib/containers/components/style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Masters = (0, _asyncRouter2['default'])(function () {
return import('../lib/containers/components/master');
}, {
AutoRouter: function AutoRouter() {
return import('/Volumes/work/idea/leaf-jmu/hap-core/node_modules/choerodon-hap-front-boot/tmp/routes.index.js');
}
}, {
__refresh__: true
});
var App = (0, _mobxReact.observer)(_class = function (_Component) {
(0, _inherits3['default'])(App, _Component);
function App() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, App);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = App.__proto__ || Object.getPrototypeOf(App)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
loading: true
}, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(App, [{
key: 'componentDidMount',
value: function componentDidMount() {
var _this2 = this;
Promise.all([this.auth(), this.loadLocale(), this.loadSysInfo()]).then(function (res) {
if (res.every(function (item) {
return item;
})) {
_this2.setState({
loading: false
});
}
});
}
}, {
key: 'auth',
value: function () {
var _ref2 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee() {
return _regenerator2['default'].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.t0 = _AppState2['default'];
_context.next = 4;
return _AppState2['default'].loadUserInfo();
case 4:
_context.t1 = _context.sent;
_context.t0.setUserInfo.call(_context.t0, _context.t1);
return _context.abrupt('return', true);
case 9:
_context.prev = 9;
_context.t2 = _context['catch'](0);
return _context.abrupt('return', false);
case 12:
case 'end':
return _context.stop();
}
}
}, _callee, this, [[0, 9]]);
}));
function auth() {
return _ref2.apply(this, arguments);
}
return auth;
}()
}, {
key: 'loadLocale',
value: function () {
var _ref3 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee2() {
return _regenerator2['default'].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
_context2.t0 = _AppState2['default'];
_context2.next = 4;
return _AppState2['default'].loadLocale();
case 4:
_context2.t1 = _context2.sent;
_context2.t0.setLocales.call(_context2.t0, _context2.t1);
return _context2.abrupt('return', true);
case 9:
_context2.prev = 9;
_context2.t2 = _context2['catch'](0);
return _context2.abrupt('return', false);
case 12:
case 'end':
return _context2.stop();
}
}
}, _callee2, this, [[0, 9]]);
}));
function loadLocale() {
return _ref3.apply(this, arguments);
}
return loadLocale;
}()
}, {
key: 'loadSysInfo',
value: function () {
var _ref4 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee3() {
return _regenerator2['default'].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.prev = 0;
_context3.t0 = _AppState2['default'];
_context3.next = 4;
return _AppState2['default'].loadSysInfo();
case 4:
_context3.t1 = _context3.sent;
_context3.t0.setSysInfo.call(_context3.t0, _context3.t1);
return _context3.abrupt('return', true);
case 9:
_context3.prev = 9;
_context3.t2 = _context3['catch'](0);
return _context3.abrupt('return', false);
case 12:
case 'end':
return _context3.stop();
}
}
}, _callee3, this, [[0, 9]]);
}));
function loadSysInfo() {
return _ref4.apply(this, arguments);
}
return loadSysInfo;
}()
}, {
key: 'render',
value: function render() {
var loading = this.state.loading;
return _react2['default'].createElement(
_mobxReact.Provider,
_stores2['default'],
_react2['default'].createElement(
_reactRouterDom.HashRouter,
{ hashHistory: _history.createBrowserHistory },
_react2['default'].createElement(
_reactRouterDom.Switch,
null,
_react2['default'].createElement(_reactRouterDom.Route, {
path: '/',
component: loading ? _Loading2['default'] : Masters
})
)
)
);
}
}]);
return App;
}(_react.Component)) || _class;
(0, _reactDom.render)(_react2['default'].createElement(App, null), document.getElementById('app'));
\ No newline at end of file
'use strict';
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class;
require('babel-polyfill');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactRouterDom = require('react-router-dom');
var _history = require('history');
var _mobxReact = require('mobx-react');
var _Loading = require('../lib/containers/components/entryCmp/Loading');
var _Loading2 = _interopRequireDefault(_Loading);
var _stores = require('../lib/containers/stores');
var _stores2 = _interopRequireDefault(_stores);
var _AppState = require('../lib/containers/stores/AppState');
var _AppState2 = _interopRequireDefault(_AppState);
var _asyncRouter = require('../lib/containers/components/util/asyncRouter');
var _asyncRouter2 = _interopRequireDefault(_asyncRouter);
require('../lib/containers/components/style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Masters = (0, _asyncRouter2['default'])(function () {
return import('../lib/containers/components/master/MasterWithoutSider.js');
}, {
AutoRouter: function AutoRouter() {
return import('/Volumes/work/idea/leaf-jmu/hap-core/node_modules/choerodon-hap-front-boot/tmp/routes.index.js');
}
}, {
__refresh__: true
});
var App = (0, _mobxReact.observer)(_class = function (_Component) {
(0, _inherits3['default'])(App, _Component);
function App() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3['default'])(this, App);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = App.__proto__ || Object.getPrototypeOf(App)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
loading: true
}, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
}
(0, _createClass3['default'])(App, [{
key: 'componentDidMount',
value: function componentDidMount() {
var _this2 = this;
Promise.all([this.auth(), this.loadLocale(), this.loadSysInfo()]).then(function (res) {
if (res.every(function (item) {
return item;
})) {
_this2.setState({
loading: false
});
}
});
}
}, {
key: 'auth',
value: function () {
var _ref2 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee() {
return _regenerator2['default'].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.t0 = _AppState2['default'];
_context.next = 4;
return _AppState2['default'].loadUserInfo();
case 4:
_context.t1 = _context.sent;
_context.t0.setUserInfo.call(_context.t0, _context.t1);
return _context.abrupt('return', true);
case 9:
_context.prev = 9;
_context.t2 = _context['catch'](0);
return _context.abrupt('return', false);
case 12:
case 'end':
return _context.stop();
}
}
}, _callee, this, [[0, 9]]);
}));
function auth() {
return _ref2.apply(this, arguments);
}
return auth;
}()
}, {
key: 'loadLocale',
value: function () {
var _ref3 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee2() {
return _regenerator2['default'].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
_context2.t0 = _AppState2['default'];
_context2.next = 4;
return _AppState2['default'].loadLocale();
case 4:
_context2.t1 = _context2.sent;
_context2.t0.setLocales.call(_context2.t0, _context2.t1);
return _context2.abrupt('return', true);
case 9:
_context2.prev = 9;
_context2.t2 = _context2['catch'](0);
return _context2.abrupt('return', false);
case 12:
case 'end':
return _context2.stop();
}
}
}, _callee2, this, [[0, 9]]);
}));
function loadLocale() {
return _ref3.apply(this, arguments);
}
return loadLocale;
}()
}, {
key: 'loadSysInfo',
value: function () {
var _ref4 = (0, _asyncToGenerator3['default'])( /*#__PURE__*/_regenerator2['default'].mark(function _callee3() {
return _regenerator2['default'].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.prev = 0;
_context3.t0 = _AppState2['default'];
_context3.next = 4;
return _AppState2['default'].loadSysInfo();
case 4:
_context3.t1 = _context3.sent;
_context3.t0.setSysInfo.call(_context3.t0, _context3.t1);
return _context3.abrupt('return', true);
case 9:
_context3.prev = 9;
_context3.t2 = _context3['catch'](0);
return _context3.abrupt('return', false);
case 12:
case 'end':
return _context3.stop();
}
}
}, _callee3, this, [[0, 9]]);
}));
function loadSysInfo() {
return _ref4.apply(this, arguments);
}
return loadSysInfo;
}()
}, {
key: 'render',
value: function render() {
var loading = this.state.loading;
return _react2['default'].createElement(
_mobxReact.Provider,
_stores2['default'],
_react2['default'].createElement(
_reactRouterDom.HashRouter,
{ hashHistory: _history.createBrowserHistory },
_react2['default'].createElement(
_reactRouterDom.Switch,
null,
_react2['default'].createElement(_reactRouterDom.Route, {
path: '/',
component: loading ? _Loading2['default'] : Masters
})
)
)
);
}
}]);
return App;
}(_react.Component)) || _class;
(0, _reactDom.render)(_react2['default'].createElement(App, null), document.getElementById('app'));
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouterCacheRoute = require('react-router-cache-route');
var _reactRouterCacheRoute2 = _interopRequireDefault(_reactRouterCacheRoute);
var _index = require('../lib/containers/components/index');
var _asyncRouter = require('../lib/containers/components/util/asyncRouter');
var _asyncRouter2 = _interopRequireDefault(_asyncRouter);
var _asyncModuleWrapper = require('../lib/containers/components/util/asyncModuleWrapper');
var _asyncModuleWrapper2 = _interopRequireDefault(_asyncModuleWrapper);
var _createAxiosInsByModuleName = require('../lib/containers/components/util/createAxiosInsByModuleName');
var _createAxiosInsByModuleName2 = _interopRequireDefault(_createAxiosInsByModuleName);
var _iframeWrapper = require('../lib/containers/components/iframeWrapper');
var _iframeWrapper2 = _interopRequireDefault(_iframeWrapper);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var routes = {};
var CHOERODON_HAP_FRONT_BOOT_HOME_PAGE = 'home';
function createRoute(path, component, moduleCode) {
var moduleAxios = (0, _createAxiosInsByModuleName2['default'])(moduleCode);
if (!routes[path]) {
var Cmp = (0, _asyncModuleWrapper2['default'])(component, null, null, moduleCode, moduleAxios);
routes[path] = _react2['default'].createElement(_reactRouterCacheRoute2['default'], { path: path, component: Cmp });
}
return routes[path];
}
function createHome(path, component, homePath) {
if (!routes[path]) {
var Cmp = (0, _asyncRouter2['default'])(homePath ? component : function () {
return import('../lib/containers/components/home');
}, null, { axios: (0, _createAxiosInsByModuleName2['default'])(CHOERODON_HAP_FRONT_BOOT_HOME_PAGE) });
routes[path] = _react2['default'].createElement(_reactRouterCacheRoute2['default'], { exact: true, path: path, component: Cmp });
}
return routes[path];
}
var Home = (0, _asyncRouter2['default'])(function () {
return import('../lib/containers/components/home');
}, null, { axios: (0, _createAxiosInsByModuleName2['default'])(CHOERODON_HAP_FRONT_BOOT_HOME_PAGE) });
var AutoRouter = function (_Component) {
(0, _inherits3['default'])(AutoRouter, _Component);
function AutoRouter() {
(0, _classCallCheck3['default'])(this, AutoRouter);
return (0, _possibleConstructorReturn3['default'])(this, (AutoRouter.__proto__ || Object.getPrototypeOf(AutoRouter)).apply(this, arguments));
}
(0, _createClass3['default'])(AutoRouter, [{
key: 'render',
value: function render() {
return _react2['default'].createElement(
_reactRouterCacheRoute.CacheSwitch,
null,
createHome("/", function() { return import("/Volumes/work/idea/leaf-jmu/hap-core/react/src/home"); }, CHOERODON_HAP_FRONT_BOOT_HOME_PAGE),
createRoute("/hap-core", function() { return import("/Volumes/work/idea/leaf-jmu/hap-core/react/RouteIndex.js"); }, "hap-core"),
_react2['default'].createElement(_reactRouterCacheRoute2['default'], { path: '/iframe/:name', cacheKey: 'iframe', component: _iframeWrapper2['default'] }),
_react2['default'].createElement(_reactRouterCacheRoute2['default'], { path: '*', component: _index.nomatch })
);
}
}]);
return AutoRouter;
}(_react.Component);
exports['default'] = AutoRouter;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment