Commit 1c32378e authored by 李成龙's avatar 李成龙

V1.2版本,增加数据权限

parents

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

module.exports = {
zip: 'ccpc.zip', // default
extra: ['amos.config.js', 'favicon.ico'],
dirs: [
{ fromDir: 'node_modules/cesium/Build/Cesium/**', toDir: 'released/third/cesium/' },
{ fromDir: 'threeres/**', toDir: 'released/threeres' },
{fromDir: 'extra/**',toDir: 'released/extra/'},
{fromDir: 'src/_mock/**',toDir: 'released/src/_mock/'}
],
nonDist: true
};
root = true
[*]
indent_style = space
# 缩进几个tab ,空格
indent_size = 2
# Line ending file format
# Possible values - lf, crlf, cr
end_of_line = lf
# File character encoding
# Possible values - latin1, utf-8, utf-16be, utf-16le
charset = utf-8
# Denotes whether to trim whitespace at the end of lines
# Possible values - true, false
trim_trailing_whitespace = true
# Denotes whether file should end with a newline
# Possible values - true, false
insert_final_newline = true
# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 4
webpack.config*.js
node_modules/
**/node_modules/**
module.exports = {
extends: 'eslint-config-ray',
globals: {
location: true,
Cesium: true
}
}
node_modules
.history
dist
zip
released
!*.obj
\ No newline at end of file
package-lock=false
save=false
registry=http://172.16.11.26:9696/
sass_binary_site=http://172.16.11.26:8888/node-sass
node_modules
lib
{
"printWidth": 160,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"parser": "babel",
"trailingComma": "none",
"bracketSpacing": true,
"jsxBracketSameLine": false,
"arrowParens": "avoid",
"requirePragma": false,
"proseWrap": "preserve",
"overrides": [
{
"files": ["*.json", ".eslintrc", ".tslintrc", ".prettierrc", ".tern-project", ".travis.yml"],
"options": {
"parser": "json",
"tabWidth": 2
}
},
{
"files": "*.css",
"options": {
"parser": "css",
"tabWidth": 2
}
},
{
"files": "*.{sass,scss}",
"options": {
"parser": "scss",
"tabWidth": 2
}
},
{
"files": "*.less",
"options": {
"parser": "less",
"tabWidth": 2
}
},
{
"files": "*.ts",
"options": {
"parser": "typescript"
}
}
]
}
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>amos-industry-view</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>
node_modules
lib
libs
*.js
*.md
{
"extends": "stylelint-config-ray"
}
/**
* amos 系统配置信息
* @author ilex.h
*/
!(function() {
var Amos = {};
Amos.config = {
// 普通http
httpURI: {
// 根url
baseURI: 'http://172.16.10.101:10005/',
liveVideoHost: '172.16.10.101:8088',
// 安全模块api地址
securityBaseURI: 'http://172.16.10.175:10005/',
//picURI为地图瓦片服务器地址
picURI: 'http://172.16.3.121:8001/',
loginURI: 'http://172.16.10.175/',//基础平台
//巡检图片
patrolURI: 'http://172.16.10.101:9999/',
// 斜影路径
tileURI: '',
// 监控视图 url 不用配置,可删除 需要清理代码
view3dURI: '',
//组态后端地址
pluginURI: ''
},
// websocket 地址
wsURI: {
baseURI: 'ws://172.16.10.101:10600/',
rulesConfigURI: 'ws://172.16.10.101:8080/',
securityBaseURI: 'ws://172.16.10.101:10600/',
viewTileURI: '',//卫星图消息
//mqtt消息接受地址
mqttURI: 'ws://172.16.10.101:8083/mqtt'
},
// 外部链接地址
outterURI: {
xunjian: '',
// xunjian: 'http://172.16.10.74:3003/outter?user={userId}&token={token}'
// 管控模型
mgtCtrlModel: 'http://172.16.10.101:8080',//规则配置
activitiURI: '',//工作流
// activitiURI: 'http://172.16.3.79:8090'
videoUrl: ''//视频
},
// 系统配置信息 主要是为了区分各子系统
sysConf: {
needHeartBeat: true,
//是否自动打开业务屏,true是,false否
isAutoOpenBussiness: true,
//内外部地图加载,outMap是true 使用离线地图, false使用在线地图
outMap: true,
evaluateModelId: 11
},
//添加关联设备弹出框标识 'bank'代表银行 'fireAutoSys'代表换流站
equipmentIdentification: 'bank',
// 屏保配置信息
screenSaverConf: {
enable: false, // 是否启用屏保
deployDate: '2019-06-06', // 系统部署日期
delayTime: 10 // 屏保出现时间(单位:秒) 10s
},
//可以删除
// 区域风险点ID与态势图位置对应关系配置
riskSourceIdMap: {
'mapItem-1': 11,
'mapItem-2': 13,
'mapItem-3': 15,
'mapItem-4': 17,
'mapItem-5': 18,
'mapItem-6': 19,
'mapItem-7': 20,
'mapItem-8': 21,
'mapItem-9': 22,
'mapItem-10': 23,
'mapItem-11': 24,
'mapItem-12': 25,
'mapItem-13': 27,
'mapItem-14': 28,
'mapItem-15': 29,
'mapItem-16': -1,
'mapItem-17': -1,
'mapItem-18': -1,
'mapItem-19': -1
},
//地图中心点
//mapCenter: [110.81359,35.41143],
mapCenter: [108.95141,35.91909],
//地图zoom显示级别
showZoom: [6,13,18]
};
// 配置日志系统
var LogConfig = {
isDebug: true // 调试模式时打印日志
};
//可删除
var innerConfig = {
address: '西安'
};
// 斜影模型配置
window.tileConfig = {
// 显示基础地图层
showBaseMap: true,
// 控制相机倾斜, true 则可以旋转倾斜
enableTilt: true
};
window.Amos = Amos;
window.LogConfig = LogConfig;
window.innerConfig = innerConfig;
window.demo = true;
window.BizPermissionType = 25; //业务屏菜单权限类型 可删除
window.V3DpermissionType = 26; //3D屏菜单权限类型 可删除
})();
@echo off
title AmosBuild Guide
@echo author ilex.h
@echo Starting front end initialization Wizard...
npm update && npm run pub && npm run zip
# 高德地图离线API
1. 将整个amap目录拷贝到tomcat/webapps目录下
2. 下载瓦片,将瓦片拷贝到amap/tiles目录下
3. 启动tomcat,访问[http://localhost:8080/amap/index.html](http://localhost:8080/amap/index.html)
备注:
高德地图离线版本version: 1.4.6 <br>
插件下载地址: <br>
http://webapi.amap.com/maps/modules?v=1.4.6&key=YOUR_KEY&vrs=1525262380887&m=AMap.IndoorMap3D <br>
样式表下载地址: <br>
http://vdata.amap.com/style?v=1.4.6&key=YOUR_KEY&mapstyle=normal <br>
图片下载域名: <br>
http://webapi.amap.com <br>
http://vdata.amap.com <br>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>amap</display-name>
<!--CORS 跨域资源访问
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
</init-param>
<init-param>
<param-name>cors.exposed.headers</param-name>
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.preflight.maxage</param-name>
<param-value>10</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-->
</web-app>
\ No newline at end of file
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
AMapUI.define([], function() {
function getScale(level) {
scaleCache[level] || (scaleCache[level] = 256 * Math.pow(2, level));
return scaleCache[level];
}
function project(lnglat) {
var lat = Math.max(Math.min(maxLat, lnglat[1]), -maxLat), x = lnglat[0] * deg2rad, y = lat * deg2rad;
y = Math.log(Math.tan(quadPI + y / 2));
return [ x, y ];
}
function transform(point, scale) {
scale = scale || 1;
var a = half2PI, b = .5, c = -a, d = .5;
return [ scale * (a * point[0] + b), scale * (c * point[1] + d) ];
}
function unproject(point) {
var lng = point[0] * rad2deg, lat = (2 * Math.atan(Math.exp(point[1])) - Math.PI / 2) * rad2deg;
return [ parseFloat(lng.toFixed(6)), parseFloat(lat.toFixed(6)) ];
}
function untransform(point, scale) {
var a = half2PI, b = .5, c = -a, d = .5;
return [ (point[0] / scale - b) / a, (point[1] / scale - d) / c ];
}
function lngLatToPointByScale(lnglat, scale, round) {
var p = transform(project(lnglat), scale);
if (round) {
p[0] = Math.round(p[0]);
p[1] = Math.round(p[1]);
}
return p;
}
function lngLatToPoint(lnglat, level, round) {
return lngLatToPointByScale(lnglat, getScale(level), round);
}
function pointToLngLat(point, level) {
var scale = getScale(level), untransformedPoint = untransform(point, scale);
return unproject(untransformedPoint);
}
function haversineDistance(point1, point2) {
var cos = Math.cos, lat1 = point1[1] * deg2rad, lon1 = point1[0] * deg2rad, lat2 = point2[1] * deg2rad, lon2 = point2[0] * deg2rad, dLat = lat2 - lat1, dLon = lon2 - lon1, a = (1 - cos(dLat) + (1 - cos(dLon)) * cos(lat1) * cos(lat2)) / 2;
return earthDiameter * Math.asin(Math.sqrt(a));
}
var scaleCache = {}, earthDiameter = 12756274, deg2rad = Math.PI / 180, rad2deg = 180 / Math.PI, quadPI = Math.PI / 4, maxLat = 85.0511287798, half2PI = .5 / Math.PI;
return {
haversineDistance: haversineDistance,
getScale: getScale,
lngLatToPointByScale: lngLatToPointByScale,
pointToLngLat: pointToLngLat,
lngLatToPoint: lngLatToPoint
};
});
\ No newline at end of file
AMapUI.define([ "lib/utils" ], function(utils) {
"use strict";
function Event() {
this.__evHash = {};
}
utils.extend(Event.prototype, {
on: function(ev, listener, priority) {
if (this.__multiCall(ev, listener, this.on)) return this;
if (!ev) return this;
var evHash = this.__evHash;
evHash[ev] || (evHash[ev] = []);
var list = evHash[ev], index = this.__index(list, listener);
if (index < 0) {
"number" != typeof priority && (priority = 10);
for (var inps = list.length, i = 0, len = list.length; i < len; i++) if (priority > list[i].priority) {
inps = i;
break;
}
list.splice(inps, 0, {
listener: listener,
priority: priority
});
}
return this;
},
once: function(ev, listener, priority) {
function oncefunc() {
self.__callListenser(listener, arguments);
self.off(ev, oncefunc);
}
if (this.__multiCall(ev, listener, this.once)) return this;
var self = this;
this.on(ev, oncefunc, priority);
return this;
},
offAll: function() {
for (var ev in this.__evHash) this.off(ev);
this.__evHash = {};
return this;
},
off: function(ev, listener) {
if (this.__multiCall(ev, listener, this.off)) return this;
var evHash = this.__evHash;
if (evHash[ev]) {
var list = evHash[ev];
if ("undefined" == typeof listener) {
var c = list.length;
list.length = 0;
return c;
}
var index = this.__index(list, listener);
if (index >= 0) {
list.splice(index, 1);
return 1;
}
return 0;
}
},
listenerLength: function(ev) {
var evHash = this.__evHash, list = evHash[ev];
return list ? list.length : 0;
},
emit: function(ev) {
var args, list, evHash = this.__evHash, count = 0;
list = evHash[ev];
if (list && list.length) {
args = Array.prototype.slice.call(arguments, 1);
count += this.__callListenerList(list, args);
}
list = evHash["*"];
if (list && list.length) {
args = Array.prototype.slice.call(arguments);
count += this.__callListenerList(list, args);
}
return count;
},
trigger: function(ev) {
var args = Array.prototype.slice.call(arguments, 0);
args.splice(1, 0, {
type: ev,
target: this
});
this.emit.apply(this, args);
},
triggerWithOriginalEvent: function(ev, originalEvent) {
var args = Array.prototype.slice.call(arguments, 0);
args[1] = {
type: ev,
target: originalEvent ? originalEvent.target : this,
originalEvent: originalEvent
};
this.emit.apply(this, args);
},
onDestroy: function(cb, priority) {
this.on("__destroy", cb, priority);
return this;
},
destroy: function() {
if (!this.__destroying) {
this.__destroying = 1;
this.emit("__destroy", this);
this.offAll();
return this;
}
},
__multiCall: function(ev, listener, func) {
if (!ev) return !0;
if (utils.isObject(ev) && "undefined" == typeof listener) {
for (var k in ev) func.call(this, k, ev[k]);
return !0;
}
var evs;
utils.isArray(ev) ? evs = ev : "string" == typeof ev && (evs = ev.split(/[\s,]+/));
if (evs && evs.length > 1) {
for (var i = 0, len = evs.length; i < len; i++) evs[i] && func.call(this, evs[i], listener);
return !0;
}
return !1;
},
__index: function(list, listener) {
for (var index = -1, i = 0, len = list.length; i < len; i++) {
var ele = list[i];
if (ele.listener === listener) {
index = i;
break;
}
}
return index;
},
__callListenser: function(listener, args) {
var func = null, contxt = null;
if ("function" == typeof listener) {
func = listener;
contxt = this;
} else if (2 == listener.length) {
func = listener[1];
contxt = listener[0];
}
return func ? [ 1, func.apply(contxt, args) ] : [ 0, void 0 ];
},
__callListenerList: function(list, args) {
if (!list || !list.length) return 0;
list = [].concat(list);
for (var cres, count = 0, i = 0, len = list.length; i < len; i++) {
cres = this.__callListenser(list[i].listener, args);
count += cres[0];
if (cres[1] === !1) break;
}
return count;
}
});
return Event;
});
\ No newline at end of file
AMapUI.define([], function() {
function setLogger(logger) {
logger.debug || (logger.debug = logger.info);
utils.logger = utils.log = logger;
}
var utils, defaultLogger = console, emptyfunc = function() {}, slientLogger = {
log: emptyfunc,
error: emptyfunc,
warn: emptyfunc,
info: emptyfunc,
debug: emptyfunc,
trace: emptyfunc
};
utils = {
slientLogger: slientLogger,
setLogger: setLogger,
mergeArray: function(target, source) {
if (source.length < 1e5) target.push.apply(target, source); else for (var i = 0, len = source.length; i < len; i += 1) target.push(source[i]);
},
setDebugMode: function(on) {
setLogger(on ? defaultLogger : slientLogger);
},
now: Date.now || function() {
return new Date().getTime();
},
bind: function(fn, thisArg) {
return fn.bind ? fn.bind(thisArg) : function() {
return fn.apply(thisArg, arguments);
};
},
domReady: function(callback) {
/complete|loaded|interactive/.test(document.readyState) ? callback() : document.addEventListener("DOMContentLoaded", function() {
callback();
}, !1);
},
forEach: function(array, callback, thisArg) {
if (array.forEach) return array.forEach(callback, thisArg);
for (var i = 0, len = array.length; i < len; i++) callback.call(thisArg, array[i], i);
},
keys: function(obj) {
if (Object.keys) return Object.keys(obj);
var keys = [];
for (var k in obj) obj.hasOwnProperty(k) && keys.push(k);
return keys;
},
map: function(array, callback, thisArg) {
if (array.map) return array.map(callback, thisArg);
for (var newArr = [], i = 0, len = array.length; i < len; i++) newArr[i] = callback.call(thisArg, array[i], i);
return newArr;
},
arrayIndexOf: function(array, searchElement, fromIndex) {
if (array.indexOf) return array.indexOf(searchElement, fromIndex);
var k, o = array, len = o.length >>> 0;
if (0 === len) return -1;
var n = 0 | fromIndex;
if (n >= len) return -1;
k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
for (;k < len; ) {
if (k in o && o[k] === searchElement) return k;
k++;
}
return -1;
},
extend: function(dst) {
dst || (dst = {});
return utils.extendObjs(dst, Array.prototype.slice.call(arguments, 1));
},
nestExtendObjs: function(dst, objs) {
dst || (dst = {});
for (var i = 0, len = objs.length; i < len; i++) {
var source = objs[i];
if (source) for (var prop in source) source.hasOwnProperty(prop) && (utils.isObject(dst[prop]) && utils.isObject(source[prop]) ? dst[prop] = utils.nestExtendObjs({}, [ dst[prop], source[prop] ]) : dst[prop] = source[prop]);
}
return dst;
},
extendObjs: function(dst, objs) {
dst || (dst = {});
for (var i = 0, len = objs.length; i < len; i++) {
var source = objs[i];
if (source) for (var prop in source) source.hasOwnProperty(prop) && (dst[prop] = source[prop]);
}
return dst;
},
subset: function(props) {
var sobj = {};
if (!props || !props.length) return sobj;
this.isArray(props) || (props = [ props ]);
utils.forEach(Array.prototype.slice.call(arguments, 1), function(source) {
if (source) for (var i = 0, len = props.length; i < len; i++) source.hasOwnProperty(props[i]) && (sobj[props[i]] = source[props[i]]);
});
return sobj;
},
isArray: function(obj) {
return Array.isArray ? Array.isArray(obj) : "[object Array]" === Object.prototype.toString.call(obj);
},
isObject: function(obj) {
return "[object Object]" === Object.prototype.toString.call(obj);
},
isFunction: function(obj) {
return "[object Function]" === Object.prototype.toString.call(obj);
},
isNumber: function(obj) {
return "[object Number]" === Object.prototype.toString.call(obj);
},
isString: function(obj) {
return "[object String]" === Object.prototype.toString.call(obj);
},
isHTMLElement: function(n) {
return window["HTMLElement"] || window["Element"] ? n instanceof (window["HTMLElement"] || window["Element"]) : n && "object" == typeof n && 1 === n.nodeType && "string" == typeof n.nodeName;
},
isSVGElement: function(n) {
return window["SVGElement"] && n instanceof window["SVGElement"];
},
isDefined: function(v) {
return "undefined" != typeof v;
},
random: function(length) {
var str = "", chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz", clen = chars.length;
length || (length = 6);
for (var i = 0; i < length; i++) str += chars.charAt(this.randomInt(0, clen - 1));
return str;
},
randomInt: function(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
},
inherit: function(child, parent) {
function Ctor() {
this.constructor = child;
}
for (var key in parent) parent.hasOwnProperty(key) && (child[key] = parent[key]);
Ctor.prototype = parent.prototype;
child.prototype = new Ctor();
child.__super__ = parent.prototype;
return child;
},
trim: function(s) {
return s ? s.trim ? s.trim() : s.replace(/^\s+|\s+$/gm, "") : "";
},
trigger: function(el, evt, detail) {
if (el) {
detail = detail || {};
var e, opt = {
bubbles: !0,
cancelable: !0,
detail: detail
};
if ("undefined" != typeof CustomEvent) {
e = new CustomEvent(evt, opt);
el.dispatchEvent(e);
} else try {
e = document.createEvent("CustomEvent");
e.initCustomEvent(evt, !0, !0, detail);
el.dispatchEvent(e);
} catch (exp) {
this.log.error(exp);
}
return !0;
}
this.log.error("emply element passed in");
},
nextTick: function(f) {
("object" == typeof process && process.nextTick ? process.nextTick : function(task) {
setTimeout(task, 0);
})(f);
},
removeFromArray: function(arr, val) {
var index = arr.indexOf(val);
index > -1 && arr.splice(index, 1);
return index;
},
debounce: function(func, wait, immediate) {
var timeout, args, context, timestamp, result, later = function() {
var last = utils.now() - timestamp;
if (last < wait && last >= 0) timeout = setTimeout(later, wait - last); else {
timeout = null;
if (!immediate) {
result = func.apply(context, args);
timeout || (context = args = null);
}
}
};
return function() {
context = this;
args = arguments;
timestamp = utils.now();
var callNow = immediate && !timeout;
timeout || (timeout = setTimeout(later, wait));
if (callNow) {
result = func.apply(context, args);
context = args = null;
}
return result;
};
},
throttle: function(func, wait, options) {
var context, args, result, timeout = null, previous = 0;
options || (options = {});
var later = function() {
previous = options.leading === !1 ? 0 : utils.now();
timeout = null;
result = func.apply(context, args);
timeout || (context = args = null);
};
return function() {
var now = utils.now();
previous || options.leading !== !1 || (previous = now);
var remaining = wait - (now - previous);
context = this;
args = arguments;
if (remaining <= 0 || remaining > wait) {
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
previous = now;
result = func.apply(context, args);
timeout || (context = args = null);
} else timeout || options.trailing === !1 || (timeout = setTimeout(later, remaining));
return result;
};
},
ucfirst: function(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
},
escapeHtml: function(text) {
var map = {
"&": "&amp;",
"<": "&lt;",
">": "&gt;",
'"': "&quot;",
"'": "&#x27;",
"`": "&#x60;"
};
return (text + "").replace(/[&<>"']/g, function(m) {
return map[m];
});
}
};
utils.setDebugMode(!1);
return utils;
});
\ No newline at end of file
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
localStorage.clear();
window.offlineMap = {
}
var scripts = document.getElementsByTagName("script");
var curScript = scripts[scripts.length - 1].getAttribute("src");
offlineMap.baseUrl = curScript.substr(0, curScript.lastIndexOf("/")+1);
offlineMap.domain = offlineMap.baseUrl.substr(offlineMap.baseUrl.indexOf("://"), offlineMap.baseUrl.length);
document.write('<script type="text/javascript" src="' + offlineMap.baseUrl + 'js/amap.1.4.6.js?rnd= ' + Math.random() + '"></script>');
This source diff could not be displayed because it is too large. You can view the blob instead.
@echo off
title Amos install Guide
@echo author ilex.h
@echo Starting install npm supported Wizard...
@echo First registry proxy,Second execute npm install...
@echo.
npm install
pause
{
"verbose": true,
"ignore": [".git", ".svn/**/.svn", "dist", "coverage", "tests", "src", "demo", "docs", "node_modules"],
"watch":[
"webpack.*.js",
"./build"
]
}
{
"name": "amos-industry-view",
"version": "1.0.0",
"private": true,
"author": "ilex.h",
"scripts": {
"clean": "rimraf dist released",
"build": "set NODE_ENV=production && npm run clean && webpack",
"build:dev": "set NODE_ENV=development && npm run clean && webpack",
"watch": "webpack -w",
"server": "nodemon server/index.js --watch server",
"start": "set NODE_ENV=development && webpack-dev-server",
"start:tile": "set NODE_ENV=development && webpack-dev-server --config webpack.config.tile.js",
"start1": "set NODE_ENV=development && nodemon --exec \"webpack-dev-server\"",
"lint": "eslint src tests",
"lint:fix": "npm run lint -- --fix",
"format": "prettier --write \"src/**/*.{js,jsx,css,scss,less,sass}\"",
"stylelint": "stylelint src",
"zip": "amos-run released2zip",
"pub:dev": "npm run build:dev && amos-run dllreleased",
"pub": "npm run build && amos-run extraReleased",
"pub1": "amos-run dllreleased",
"pub2": "amos-run dllreleased-test",
"precommit": "lint-staged"
},
"lint-staged": {
"*.{js,json,css}": [
"prettier --write",
"git add"
]
},
"dependencies": {
"amos-3d": "^2.1.5",
"amos-amap": "^1.0.8",
"amos-antd": "^2.0.22",
"amos-core": "^2.0.27",
"amos-devgrid": "^1.0.10",
"amos-dll": "^2.0.1",
"amos-gojs": "^2.0.15",
"amos-icon": "^1.0.3",
"amos-pluggable": "^1.0.6",
"amos-processor": "^1.2.17",
"amos-richtext": "^1.0.1",
"amos-rules-config": "^1.0.4",
"amos-security": "^2.0.17",
"amos-tool": "^1.x",
"amos-viz": "^1.x",
"amos-websocket": "^1.0.3",
"cesium": "^1.61.0",
"classnames": "^2.2.5",
"dt2react": "^1.0.7",
"mqtt": "^4.0.0",
"ray-code-split": "^1.0.1",
"ray-eventpool": "^1.0.0",
"ray-mediaquery": "^1.0.0",
"ray-progress": "^1.0.0",
"react": "~16.0.0",
"react-dom": "~16.0.0"
},
"devDependencies": {
"amos-build": "^3.x",
"amos-framework": "^1.1.9",
"eslint-config-ray": "^1.0.25",
"mockjs": "^1.0.1-beta3",
"stylelint-config-ray": "^2.0.0"
}
}
# amos-toip template
## code split
发布模式下,默认开启 code split
* 测试 code split
将entry 改为:`app: './src/entry/index.prod.js'`
```bash
npm start
```
## view
页面模块
### 3dview
3d 视图
### bizview
业务视图
/* eslint no-magic-numbers: 0 */
const Mock = require('mockjs');
const testData = () => {
return Mock.mock({
'dataList|39-40': [{
'id': '@guid',
'name': '@name',
'displayName': '@cname'
}]
});
};
module.exports = {
testData
};
// @author ilex.h
const express = require('express');
const {
testData
} = require('./_mock/testMock');
const app = express();
const port = 8087;
const successCode = 200;
const transCommonResponse = (data) => {
const result = {
result: 'SUCCESS',
dataList: data
};
return JSON.stringify(result);
};
app.all('*', (req, res, next) => {
console.log(req.headers.origin);
res.header('Access-Control-Allow-Origin', req.headers.origin);
res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, X-Access-Token, X-Api-Key, Authorization, Accept,X-Requested-With');
res.header('Access-Control-Allow-Methods','PUT,POST,GET,DELETE,OPTIONS');
res.header('Access-Control-Allow-Credentials','true');
res.header('X-Powered-By',' 3.2.1');
if (req.method === 'OPTIONS') {
// 让options请求快速返回
res.send(successCode);
} else {
next();
}
});
app.get('/test', (req, res) => {
const m = testData().dataList;
res.send(transCommonResponse(m));
});
const server = app.listen(port, () => {
const host = server.address().address;
const port = server.address().port;
console.log('应用实例,访问地址为 http://%s:%s', host, port);
});
import Mock from 'mockjs';
export const appdatas = () => {
return Mock.mock({
'dataList|10-20': [
{
'key|+1': 1,
'text|1': '@ctitle(2, 4)',
count: function() {
return this.children.length;
},
'children|5-10': [
{
key: '@id',
title: '@ctitle(3, 5)',
'funcIcon|+1': [
'/src/assets/funcicon/search.png',
'/src/assets/funcicon/text.png',
'/src/assets/funcicon/think.png',
'/src/assets/funcicon/print.png',
'/src/assets/funcicon/calender.png',
'/src/assets/funcicon/calc.png'
]
}
]
}
]
});
};
export const recommends = () => {
return Mock.mock({
'dataList|1-6': [
{
key: '@id',
title: '@ctitle(3, 5)',
itemPath: '@word(2, 3) / @word(3, 5)',
'funcIcon|+1': [
'/src/assets/funcicon/search.png',
'/src/assets/funcicon/text.png',
'/src/assets/funcicon/think.png',
'/src/assets/funcicon/print.png',
'/src/assets/funcicon/calender.png',
'/src/assets/funcicon/calc.png'
]
}
]
});
};
[{
"city": "西安",
"position": [108.95, 34.27],
"data": [{
"name": "其他",
"data": []
}, {
"name": "正常",
"data": [
[{
"name": "西安",
"position": [108.95, 34.27]
}, {
"name": "无锡NPC",
"position": [114.27, 33.06],
"value": 66
}],
[{
"name": "西安",
"position": [108.95, 34.27]
}, {
"name": "上海NPC",
"position": [113.29, 32.59],
"value": 66
}],
[{
"name": "西安",
"position": [108.95, 34.27]
}, {
"name": "北京NPC",
"position": [113.95, 39.27],
"value": 66
}],
[{
"name": "西安",
"position": [108.95, 34.27]
}, {
"name": "省农信社",
"position": [109.95, 35.27],
"value": 66
}],
[{
"name": "西安",
"position": [108.95, 34.27]
}, {
"name": "秦农银行",
"position": [107.95, 35.07],
"value": 66
}],
[{
"name": "西安",
"position": [108.95, 34.27]
}, {
"name": "长安银行",
"position": [109.95, 33.87],
"value": 66
}],
[{
"name": "西安",
"position": [108.95, 34.27]
}, {
"name": "西安银行",
"position": [108.95, 32.67],
"value": 66
}],
[{"name": "西安",
"position":[108.95,34.27]
}, {
"name": "西安结算中心",
"position":[107.25,34.07],
"value": 66
}],
[{
"name": "西安",
"position": [108.95, 34.27]
}, {
"name": "西安",
"position": [108.95, 34.27],
"value": 118
}],
[{
"name": "西安",
"position": [108.95, 34.27]
}, {
"name": "咸阳",
"position": [108.65, 34.57],
"value": 66
}]
]
}, {
"name": "未运行",
"data": []
}, {
"name": "告警",
"data": []
}, {
"name": "故障",
"data": []
}, {
"name": "MBFE正常",
"data": []
}, {
"name": "MBFE告警",
"data": []
}, {
"name": "MBFE故障",
"data": []
}]
},{
"city": "咸阳",
"position": [108.65, 34.57],
"data": [{
"name": "其他",
"data": []
}, {
"name": "正常",
"data": [
[{
"name": "咸阳",
"position": [108.65, 34.57]
}, {
"name": "无锡NPC",
"position": [114.27, 33.06],
"value": 66
}],
[{
"name": "咸阳",
"position": [108.65, 34.57]
}, {
"name": "上海NPC",
"position": [113.29, 32.59],
"value": 66
}],
[{
"name": "咸阳",
"position": [108.65, 34.57]
}, {
"name": "北京NPC",
"position": [113.95, 39.27],
"value": 66
}],
[{
"name": "咸阳",
"position": [108.65, 34.57]
}, {
"name": "省农信社",
"position": [109.95, 35.27],
"value": 66
}],
[{
"name": "咸阳",
"position": [108.65, 34.57]
}, {
"name": "秦农银行",
"position": [107.95, 35.07],
"value": 66
}],
[{
"name": "咸阳",
"position": [108.65, 34.57]
}, {
"name": "西安银行",
"position": [108.95, 32.67],
"value": 66
}],
[{
"name": "咸阳",
"position": [108.65, 34.57]
}, {
"name": "西安",
"position": [108.95, 34.27],
"value": 118
}],
[{
"name": "咸阳",
"position": [108.65, 34.57]
}, {
"name": "咸阳",
"position": [108.65, 34.57],
"value": 66
}],
[{
"name": "咸阳",
"position": [108.65, 34.57]
}, {
"name": "西安结算中心",
"position": [107.25, 34.07],
"value": 66
}],
[{
"name": "咸阳",
"position": [108.65, 34.57]
}, {
"name": "长安银行",
"position": [109.95, 33.87],
"value": 66
}]
]
}, {
"name": "未运行",
"data": []
}, {
"name": "告警",
"data": []
}, {
"name": "故障",
"data": []
}, {
"name": "MBFE正常",
"data": []
}, {
"name": "MBFE告警",
"data": []
}, {
"name": "MBFE故障",
"data": []
}]
}]
{
"eqpTrigerData":"<?xml version=\"1.0\" encoding=\"utf-8\"?><root><data type=\"设备-IP设备\"> <sourceId dataType=\"sourceId\" enumValue=\"\">100003</sourceId> <collectTime dataType=\"date\" enumValue=\"\">2019-12-21 11:12:33</collectTime> <describe dataType=\"fixed\" enumValue=\"\">设备-IP设备</describe> <businessInfo> <alarm describe=\"警告告警,西安中心机房,XAB-R4900G2-01 ,GigabitEthernet4/0/30 link status is down\"> <alarmLevel dataType=\"enum_str\" enumValue=\"紧急告警;重要告警;次要告警;警告告警\">警告告警</alarmLevel> <alarmReason dataType=\"fixed\" enumValue=\"\">告警原因</alarmReason> <alarmSourceIp dataType=\"sourceId\" enumValue=\"\">设备编号</alarmSourceIp> <alarmSourceName dateType=\"enum_str\" enumValue=\"防火墙;IP设备;二层交换机;三层交换机;负载均衡设备;路由器;SNMP设备;Windows\">SNMP设备;Windows</alarmSourceName> <alarmType dateType=\"enum_str\" enumValue=\"通讯告警;设备告警;处理错误告警;服务质量告警;环境告警;链路告警;数据库告警;应用系统告警;Vimware告警;未知类型告警\">Vimware告警</alarmType> <currentState dateType=\"enum_str\" enumValue=\"未确认未清除;未确认已清除;已确认未清除;已确认已清除\">已确认未清除</currentState> <happenDate dateType=\"date\" enumValue=\"\">2019-12-12 11:12:33</happenDate> <continueDate dateType=\"date\" enumValue=\"\">12H</continueDate> <ensureDate dateType=\"date\" enumValue=\"\">2019-12-12 11:12:33</ensureDate> <ensurePerson dateType=\"fixed\" enumValue=\"\">确认人xxx</ensurePerson> <clearDate dateType=\"date\" enumValue=\"\">2019-12-12 11:12:33</clearDate> <clearPerson dateType=\"fixed\" enumValue=\"\">清除人xxx</clearPerson> </alarm> </businessInfo> </data> </root>",
"eqpClsData": "<?xml version=\"1.0\" encoding=\"utf-8\"?><root><data type=\"设备-IP设备\"> <sourceId dataType=\"sourceId\" enumValue=\"\">100003</sourceId> <collectTime dataType=\"date\" enumValue=\"\">2019-12-21 11:12:33</collectTime> <describe dataType=\"fixed\" enumValue=\"\">设备-IP设备</describe> <businessInfo> <alarm describe=\"警告告警,西安中心机房,XAB-R4900G2-01 ,GigabitEthernet4/0/30 link status is down\"> <alarmLevel dataType=\"enum_str\" enumValue=\"紧急告警;重要告警;次要告警;警告告警\">警告告警</alarmLevel> <alarmReason dataType=\"fixed\" enumValue=\"\">告警原因</alarmReason> <alarmSourceIp dataType=\"sourceId\" enumValue=\"\">设备编号</alarmSourceIp> <alarmSourceName dateType=\"enum_str\" enumValue=\"防火墙;IP设备;二层交换机;三层交换机;负载均衡设备;路由器;SNMP设备;Windows\">SNMP设备;Windows</alarmSourceName> <alarmType dateType=\"enum_str\" enumValue=\"通讯告警;设备告警;处理错误告警;服务质量告警;环境告警;链路告警;数据库告警;应用系统告警;Vimware告警;未知类型告警\">Vimware告警</alarmType> <currentState dateType=\"enum_str\" enumValue=\"未确认未清除;未确认已清除;已确认未清除;已确认已清除\">已确认已清除</currentState> <happenDate dateType=\"date\" enumValue=\"\">2019-12-12 11:12:33</happenDate> <continueDate dateType=\"date\" enumValue=\"\">12H</continueDate> <ensureDate dateType=\"date\" enumValue=\"\">2019-12-12 11:12:33</ensureDate> <ensurePerson dateType=\"fixed\" enumValue=\"\">确认人xxx</ensurePerson> <clearDate dateType=\"date\" enumValue=\"\">2019-12-12 11:12:33</clearDate> <clearPerson dateType=\"fixed\" enumValue=\"\">清除人xxx</clearPerson> </alarm> </businessInfo> </data> </root>",
"movingRingTrigerData": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><data type=\"中心机房监测-新风机监测\"><sourceId dataType=\"sourceId\" enumValue=\"\">pau001</sourceId><collectTime dataType=\"date\" enumValue=\"\">2019-12-21 11:12:33</collectTime><describe dataType=\"fixed\" enumValue=\"\">中心机房监测-新风机监测</describe><businessInfo><monitorAlarm describe=\"监测报警\"><highHumidityAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">异常</highHumidityAlarm><filteringNetAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</filteringNetAlarm><lowHumidityAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</lowHumidityAlarm><leakWaterAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</leakWaterAlarm><goWrongAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</goWrongAlarm><lowWaterLevelAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</lowWaterLevelAlarm><smokeAndFireAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</smokeAndFireAlarm><multipleAlarmOut dataType=\"enum_str\" enumValue=\"正常;异常\">正常</multipleAlarmOut></monitorAlarm></businessInfo></data></root>",
"movingRingClsData": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><data type=\"中心机房监测-新风机监测\"><sourceId dataType=\"sourceId\" enumValue=\"\">pau001</sourceId><collectTime dataType=\"date\" enumValue=\"\">2019-12-21 11:12:33</collectTime><describe dataType=\"fixed\" enumValue=\"\">中心机房监测-新风机监测</describe><businessInfo><monitorAlarm describe=\"监测报警\"><highHumidityAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</highHumidityAlarm><filteringNetAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</filteringNetAlarm><lowHumidityAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</lowHumidityAlarm><leakWaterAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</leakWaterAlarm><goWrongAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</goWrongAlarm><lowWaterLevelAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</lowWaterLevelAlarm><smokeAndFireAlarm dataType=\"enum_str\" enumValue=\"正常;异常\">正常</smokeAndFireAlarm><multipleAlarmOut dataType=\"enum_str\" enumValue=\"正常;异常\">正常</multipleAlarmOut></monitorAlarm></businessInfo></data></root>"
}
\ No newline at end of file
const mapChartData = [
{
city:'西安',
position:[108.95,34.27],
data:[
{
name:'其他',
data:[]
},{
name:'正常',
data:[
[{name: '西安',position:[108.95,34.27]}, {name: '上海NPC', position:[114.27,33.06], value: 66}],
[{name: '西安',position:[108.95,34.27]}, {name: '无锡NPC', position:[113.29,32.59], value: 66}],
[{name: '西安',position:[108.95,34.27]}, {name: '北京NPC', position:[113.95,39.27], value: 66}],
[{name: '西安',position:[108.95,34.27]}, {name: '省农信社', position:[109.95,35.27], value: 66}],
[{name: '西安',position:[108.95,34.27]}, {name: '秦农银行', position:[107.95,35.07], value: 66}],
[{name: '西安',position:[108.95,34.27]}, {name: '西安银行', position:[108.95,32.67], value: 66}],
[{name: '西安',position:[108.95,34.27]}, {name: '西安', position:[108.95,34.27], value: 118}],
[{name: '西安',position:[108.95,34.27]}, {name: '咸阳', position:[108.65,34.57], value: 66}]
]
},{
name:'未运行',
data:[]
},{
name:'告警',
data:[]
},{
name:'故障',
data:[
[{name: '西安',position:[108.95,34.27]}, {name: '西安结算中心', position:[107.25,34.07], value: 66}],
[{name: '西安',position:[108.95,34.27]}, {name: '长安银行', position:[109.95,33.87], value: 66}]
]
},{
name:'MBFE正常',
data:[]
},{
name:'MBFE告警',
data:[]
},{
name:'MBFE故障',
data:[]
}
]
}
]
export default mapChartData;
const xaMapData = [
// {"id":1, "name": ["西安","北京NPC"], "alias":"北京NPC", "imgSrc": "/src/assets/sy/common.png", "center":[116.40717,39.90469], "path": [{lng:108.904761, lat:34.230161},{lng:116.40717, lat:39.90469}]},
// {"id":2, "name": ["西安","上海NPC"], "alias":"上海NPC", "imgSrc": "/src/assets/sy/common.png", "center":[121.473700,31.230370], "path": [{lng:108.904761, lat:34.230161},{lng:121.473700, lat:31.230370}]},
// {"id":3, "name": ["西安","无锡NPC"], "alias":"无锡NPC", "imgSrc": "/src/assets/sy/common.png", "center":[120.30095,31.57697],"path": [{lng:108.904761, lat:34.230161},{lng:120.30095, lat:31.57697}]},
{"id":4, "name": ["西安","长安银行"], "alias":"长安银行", "imgSrc": "/src/assets/sy/changanbank.png", "center":[108.897611,34.238711],"path": [{lng:108.904761, lat:34.230161},{lng:108.897611, lat:34.238711}]},
{"id":5, "name": ["西安","西安银行"], "alias":"西安银行", "imgSrc": "/src/assets/sy/xianbank.png", "center":[108.879450,34.214290], "path": [{lng:108.904761, lat:34.230161},{lng:108.879450, lat:34.214290}]},
{"id":6, "name": ["西安","西安结算中心"], "alias":"西安结算中心", "imgSrc": "/src/assets/sy/xianjszx.png", "center":[108.893450,34.258800], "path": [{lng:108.904761, lat:34.230161},{lng:108.893450, lat:34.258800}]},
{"id":7, "name": ["西安","咸阳"], "alias":"咸阳", "imgSrc": "/src/assets/sy/common.png", "center":[108.709290,34.329320], "path": [{lng:108.904761, lat:34.230161},{lng:108.734800, lat:34.338820}]},
{"id":8, "name": ["西安","秦农银行"], "alias":"秦农银行", "imgSrc": "/src/assets/sy/qingnongbank.png", "center":[108.889040,34.257490], "path": [{lng:108.904761, lat:34.230161},{lng:108.889040, lat:34.257490}]},
{"id":9, "name": ["西安","陕西省农信"], "alias":"省农信社", "imgSrc": "/src/assets/sy/shengnxs.png", "center":[108.889040,34.257490], "path": [{lng:108.904761, lat:34.230161},{lng:108.889040, lat:34.257490}]},
{"id":10, "name": ["西安","通讯转接机房"], "alias":"通讯转接机房", "imgSrc": "/src/assets/sy/shengnxs.png", "center":[108.931567,34.259504], "path": [{lng:108.904761, lat:34.230161},{lng:108.931567, lat:34.259504}]}
]
export default xaMapData;
const xyMapData = [
// {"id":1,"name": ["咸阳","北京NPC"],"center":[116.40717,39.90469], "path": [{lng:108.734800, lat:34.338820},{lng:116.40717, lat:39.90469}]},
// {"id":2,"name": ["咸阳","上海NPC"],"center":[121.473700,31.230370], "path": [{lng:108.734800, lat:34.338820},{lng:121.473700, lat:31.230370}]},
// {"id":3,"name": ["咸阳","无锡NPC"], "center":[120.312370,31.490990],"path": [{lng:108.734800, lat:34.338820},{lng:120.30095, lat:31.57697}]},
{"id":4,"name": ["咸阳","长安银行"], "center":[108.897611,34.238711],"path": [{lng:108.734800, lat:34.338820},{lng:108.897611, lat:34.238711}]},
{"id":5,"name": ["咸阳","西安银行"], "center":[108.879450,34.214290], "path": [{lng:108.734800, lat:34.338820},{lng:108.879450, lat:34.214290}]},
{"id":6,"name": ["咸阳","西安结算中心"], "center":[108.893450,34.258800], "path": [{lng:108.734800, lat:34.338820},{lng:108.893450, lat:34.258800}]},
{"id":7,"name": ["咸阳","西安"], "center":[108.93984,34.34127], "path": [{lng:108.734800, lat:34.338820},{lng:108.734800, lat:34.338820}]},
{"id":8,"name": ["咸阳","秦农银行"], "center":[108.889040,34.257490], "path": [{lng:108.734800, lat:34.338820},{lng:108.889040, lat:34.257490}]},
{"id":9,"name": ["咸阳","陕西省农信"], "center":[108.889040,34.257490], "path": [{lng:108.734800, lat:34.338820},{lng:108.889040, lat:34.257490}]},
]
export default xyMapData;
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
{
"linePaths" : [
{
"path": [
{"longitude": 108.680913,"latitude": 34.331397},
{"longitude": 108.684231,"latitude": 34.333099},
{"longitude": 108.686377,"latitude": 34.333736},
{"longitude": 108.688456,"latitude": 34.330399},
{"longitude": 108.691452,"latitude": 34.326145},
{"longitude": 108.706909,"latitude": 34.313641},
{"longitude": 108.70722, "latitude": 34.31135 },
{"longitude": 108.711345,"latitude": 34.31183 },
{"longitude": 108.713941,"latitude": 34.309029},
{"longitude": 108.720057,"latitude": 34.310642},
{"longitude": 108.730142,"latitude": 34.311918},
{"longitude": 108.73866, "latitude": 34.311759},
{"longitude": 108.7466, "latitude": 34.310305},
{"longitude": 108.754303,"latitude": 34.308604},
{"longitude": 108.7731, "latitude": 34.302914},
{"longitude": 108.785953,"latitude": 34.298802},
{"longitude": 108.804106,"latitude": 34.29905 },
{"longitude": 108.820886,"latitude": 34.296958},
{"longitude": 108.832559,"latitude": 34.294157},
{"longitude": 108.843889,"latitude": 34.290895},
{"longitude": 108.856506,"latitude": 34.290895},
{"longitude": 108.873329,"latitude": 34.286428},
{"longitude": 108.892126,"latitude": 34.286073},
{"longitude": 108.891782,"latitude": 34.280683},
{"longitude": 108.889808,"latitude": 34.264441},
{"longitude": 108.889721,"latitude": 34.252156},
{"longitude": 108.890751,"latitude": 34.24648 },
{"longitude":108.909627,"latitude": 34.239212},
{"longitude":108.904192,"latitude": 34.230763}
]
}] ,
"personTell": 13201424567,
"personCompany": "蓝天运维公司"
}
{
"surroundingsList" : [
{ "rownum": "1", "channelNum": "1111","type": "1111","status": "1111","currentValue": "1111","MaxValue": "1111","minValue": "1111"},
{ "rownum": "2", "channelNum": "2222","type": "1111","status": "1111","currentValue": "1111","MaxValue": "1111","minValue": "1111"},
{ "rownum": "3", "channelNum": "3333","type": "1111","status": "1111","currentValue": "1111","MaxValue": "1111","minValue": "1111"},
{ "rownum": "4", "channelNum": "4444","type": "1111","status": "1111","currentValue": "1111","MaxValue": "1111","minValue": "1111"},
{ "rownum": "5", "channelNum": "5555","type": "1111","status": "1111","currentValue": "1111","MaxValue": "1111","minValue": "1111"},
{ "rownum": "6", "channelNum": "6666","type": "1111","status": "1111","currentValue": "1111","MaxValue": "1111","minValue": "1111"}
],
"portList": [
{ "rownum": "1", "portCode": "1111", "portType": "1", "portName": "1", "portVlan": "1", "portWidth": "1", "portStatus": "1", "runStatus": "1", "inFlow": "1", "outFlow": "1" },
{ "rownum": "2", "portCode": "2222", "portType": "2", "portName": "2", "portVlan": "2", "portWidth": "2", "portStatus": "2", "runStatus": "2", "inFlow": "2", "outFlow": "2" },
{ "rownum": "3", "portCode": "3333", "portType": "3", "portName": "3", "portVlan": "3", "portWidth": "3", "portStatus": "3", "runStatus": "3", "inFlow": "3", "outFlow": "3" },
{ "rownum": "4", "portCode": "4444", "portType": "4", "portName": "4", "portVlan": "4", "portWidth": "4", "portStatus": "4", "runStatus": "4", "inFlow": "4", "outFlow": "4" }
],
"routerList" : [
{ "rownum": "1", "portIndex": "1111","mouseIP": "1111","mask": "1111","type": "1111","nextStationIP": "1111"},
{ "rownum": "2", "portIndex": "2222","mouseIP": "1111","mask": "1111","type": "1111","nextStationIP": "1111"},
{ "rownum": "3", "portIndex": "3333","mouseIP": "1111","mask": "1111","type": "1111","nextStationIP": "1111"},
{ "rownum": "4", "portIndex": "4444","mouseIP": "1111","mask": "1111","type": "1111","nextStationIP": "1111"},
{ "rownum": "5", "portIndex": "5555","mouseIP": "1111","mask": "1111","type": "1111","nextStationIP": "1111"},
{ "rownum": "6", "portIndex": "6666","mouseIP": "1111","mask": "1111","type": "1111","nextStationIP": "1111"}
],
"fwordList":[
{ "rownum": "1", "equipName": "1111","switchIP": "1111","mac": "1111","port": "1111"},
{ "rownum": "2", "equipName": "2222","switchIP": "1111","mac": "1111","port": "1111"},
{ "rownum": "3", "equipName": "3333","switchIP": "1111","mac": "1111","port": "1111"},
{ "rownum": "4", "equipName": "4444","switchIP": "1111","mac": "1111","port": "1111"},
{ "rownum": "5", "equipName": "5555","switchIP": "1111","mac": "1111","port": "1111"},
{ "rownum": "6", "equipName": "6666","switchIP": "1111","mac": "1111","port": "1111"}
],
"ARPList" : [
{ "rownum": "1", "ipAddress": "1111","macAddress": "1111" },
{ "rownum": "2", "ipAddress": "2222","macAddress": "1111" },
{ "rownum": "3", "ipAddress": "3333","macAddress": "1111" },
{ "rownum": "4", "ipAddress": "4444","macAddress": "1111" },
{ "rownum": "5", "ipAddress": "5555","macAddress": "1111" },
{ "rownum": "6", "ipAddress": "6666","macAddress": "1111" }
],
"alertList" : [
{
"rownum": "1",
"severity": "1111",
"alertReason": "1",
"alertIP": "1",
"alertType": "1",
"alertStatus": "1",
"onTime": "1",
"insurePerson": "1",
"birthTime": "1",
"clsTime": "1",
"clsPerson": "1"
},
{
"rownum": "2",
"severity": "2222",
"alertReason": "2",
"alertIP": "2",
"alertType": "2",
"alertStatus": "2",
"onTime": "2",
"insurePerson": "2",
"birthTime": "2",
"clsTime": "2",
"clsPerson": "2"
},
{
"rownum": "3",
"severity": "3333",
"alertReason": "3",
"alertIP": "3",
"alertType": "3",
"alertStatus": "3",
"onTime": "3",
"insurePerson": "3",
"birthTime": "3",
"clsTime": "3",
"clsPerson": "3"
},
{
"rownum": "4",
"severity": "4444",
"alertReason": "4",
"alertIP": "4",
"alertType": "4",
"alertStatus": "4",
"onTime": "4",
"insurePerson": "4",
"birthTime": "4",
"clsTime": "4",
"clsPerson": "4"
}
]
}
export const deviceAlarmData =
{
//设备触发
'eqpTrigerData': '<root><data type="设备-IP设备"><sourceId dataType="sourceId" enumValue="">100003</sourceId><collectTime dataType="date" enumValue="">2019-12-21 11:12:33</collectTime><describe dataType="fixed" enumValue="">设备-IP设备</describe><businessInfo><alarm describe="警告告警,西安中心机房,XAB-R4900G2-01 ,GigabitEthernet4/0/30 link status is down"><alarmLevel dataType="enum_str" enumValue="紧急告警;重要告警;次要告警;警告告警">警告告警</alarmLevel><alarmReason dataType="fixed" enumValue="">XAB-R4900G2-01 ,GigabitEthernet4/0/30 link status is down</alarmReason><alarmSourceIp dataType="sourceId" enumValue="">设备编号</alarmSourceIp><alarmSourceName dateType="enum_str" enumValue="防火墙;IP设备;二层交换机;三层交换机;负载均衡设备;路由器;SNMP设备;Windows">SNMP设备;Windows</alarmSourceName><alarmType dateType="enum_str" enumValue="通讯告警;设备告警;处理错误告警;服务质量告警;环境告警;链路告警;数据库告警;应用系统告警;Vimware告警;未知类型告警">Vimware告警</alarmType><currentState dateType="enum_str" enumValue="未确认未清除;未确认已清除;已确认未清除;已确认已清除">已确认未清除</currentState><happenDate dateType="date" enumValue="">2019-12-12 11:12:33</happenDate><continueDate dateType="date" enumValue="">12H</continueDate><ensureDate dateType="date" enumValue="">2019-12-12 11:12:33</ensureDate><ensurePerson dateType="fixed" enumValue="">确认人xxx</ensurePerson><clearDate dateType="date" enumValue="">2019-12-12 11:12:33</clearDate><clearPerson dateType="fixed" enumValue="">清除人xxx</clearPerson></alarm></businessInfo></data></root>',
//设备清除
'eqpClsData': '<root><data type="设备-IP设备"><sourceId dataType="sourceId" enumValue="">100003</sourceId><collectTime dataType="date" enumValue="">2019-12-21 11:12:33</collectTime><describe dataType="fixed" enumValue="">设备-IP设备</describe><businessInfo><alarm describe="警告告警,西安中心机房,XAB-R4900G2-01 ,GigabitEthernet4/0/30 link status is down"><alarmLevel dataType="enum_str" enumValue="紧急告警;重要告警;次要告警;警告告警">警告告警</alarmLevel><alarmReason dataType="fixed" enumValue="">XAB-R4900G2-01 ,GigabitEthernet4/0/30 link status is down</alarmReason><alarmSourceIp dataType="sourceId" enumValue="">设备编号</alarmSourceIp><alarmSourceName dateType="enum_str" enumValue="防火墙;IP设备;二层交换机;三层交换机;负载均衡设备;路由器;SNMP设备;Windows">SNMP设备;Windows</alarmSourceName><alarmType dateType="enum_str" enumValue="通讯告警;设备告警;处理错误告警;服务质量告警;环境告警;链路告警;数据库告警;应用系统告警;Vimware告警;未知类型告警">Vimware告警</alarmType><currentState dateType="enum_str" enumValue="未确认未清除;未确认已清除;已确认未清除;已确认已清除">已确认已清除</currentState><happenDate dateType="date" enumValue="">2019-12-12 11:12:33</happenDate><continueDate dateType="date" enumValue="">12H</continueDate><ensureDate dateType="date" enumValue="">2019-12-12 11:12:33</ensureDate><ensurePerson dateType="fixed" enumValue="">确认人xxx</ensurePerson><clearDate dateType="date" enumValue="">2019-12-12 11:12:33</clearDate><clearPerson dateType="fixed" enumValue="">清除人xxx</clearPerson></alarm></businessInfo></data></root>'
}
export const donghuanAlarmData =
{
//动环触发
'movingRingTrigerData': '<root><data type="中心机房监测-新风机监测"><sourceId dataType="sourceId" enumValue="">pau001</sourceId><collectTime dataType="date" enumValue="">2019-12-21 11:12:33</collectTime><describe dataType="fixed" enumValue="">中心机房监测-新风机监测</describe><businessInfo><monitorAlarm describe="西安中心机房,新风机高湿报警!"><highHumidityAlarm dataType="enum_str" enumValue="正常;异常">异常</highHumidityAlarm><filteringNetAlarm dataType="enum_str" enumValue="正常;异常">正常</filteringNetAlarm><lowHumidityAlarm dataType="enum_str" enumValue="正常;异常">正常</lowHumidityAlarm><leakWaterAlarm dataType="enum_str" enumValue="正常;异常">正常</leakWaterAlarm><goWrongAlarm dataType="enum_str" enumValue="正常;异常">正常</goWrongAlarm><lowWaterLevelAlarm dataType="enum_str" enumValue="正常;异常">正常</lowWaterLevelAlarm><smokeAndFireAlarm dataType="enum_str" enumValue="正常;异常">正常</smokeAndFireAlarm><multipleAlarmOut dataType="enum_str" enumValue="正常;异常">正常</multipleAlarmOut></monitorAlarm></businessInfo></data></root>',
//动环清除
'movingRingClsData': `<root><data type="中心机房监测-新风机监测"><sourceId dataType="sourceId" enumValue="">pau001</sourceId><collectTime dataType="date" enumValue="">2019-12-21 11:12:33</collectTime><describe dataType="fixed" enumValue="">中心机房监测-新风机监测</describe><businessInfo><monitorAlarm describe="西安中心机房,新风机高湿报警!"><highHumidityAlarm dataType="enum_str" enumValue="正常;异常">正常</highHumidityAlarm><filteringNetAlarm dataType="enum_str" enumValue="正常;异常">正常</filteringNetAlarm><lowHumidityAlarm dataType="enum_str" enumValue="正常;异常">正常</lowHumidityAlarm><leakWaterAlarm dataType="enum_str" enumValue="正常;异常">正常</leakWaterAlarm><goWrongAlarm dataType="enum_str" enumValue="正常;异常">正常</goWrongAlarm><lowWaterLevelAlarm dataType="enum_str" enumValue="正常;异常">正常</lowWaterLevelAlarm><smokeAndFireAlarm dataType="enum_str" enumValue="正常;异常">正常</smokeAndFireAlarm><multipleAlarmOut dataType="enum_str" enumValue="正常;异常">正常</multipleAlarmOut></monitorAlarm></businessInfo></data></root>`
}
//新增动环
export const newdonghuanAlarmData =
{
//新动环触发
'newmovingRingTrigerData': '<root><data type="中心机房监测-湿温度监测"><sourceId dataType="sourceId" enumValue="">shidu002</sourceId><collectTime dataType="date" enumValue="">2019-4-16 16:45:33</collectTime><describe dataType="fixed" enumValue="">中心机房监测-湿温度监测</describe><businessInfo><runParameter describe="运行参数"><temperature dataType="number" >35</temperature><humidity dataType="number" >41.4</humidity></runParameter><monitorAlarm describe="A中心机房-机房温湿度监测-温度过高报警-报警值:35℃"><temperatureAlarm dataType="enum_str" enumValue="正常;异常" >异常</temperatureAlarm><humidityAlarm dataType="enum_str" enumValue="正常;异常" >正常</humidityAlarm></monitorAlarm></businessInfo></data></root>',
//新动环清除
'newmovingRingClsData': `<root><data type="中心机房监测-湿温度监测"><sourceId dataType="sourceId" enumValue="">shidu002</sourceId><collectTime dataType="date" enumValue="">2019-4-16 16:45:33</collectTime><describe dataType="fixed" enumValue="">中心机房监测-湿温度监测</describe><businessInfo><runParameter describe="运行参数"><temperature dataType="number" >28.2</temperature><humidity dataType="number" >41.4</humidity></runParameter><monitorAlarm describe="A中心机房-机房温湿度监测-温度过高报警-报警值:35℃"><temperatureAlarm dataType="enum_str" enumValue="正常;异常" >正常</temperatureAlarm><humidityAlarm dataType="enum_str" enumValue="正常;异常" >正常</humidityAlarm></monitorAlarm></businessInfo></data></root>`
}
import Mock from 'mockjs';
// @title @ctitle
// @sentence @sentence(3, 5)
// @csentence
// @cparagraph
export default function accounts() {
return Mock.mock('@ctitle');
}
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<defs>
<style>
.cls-1 {
fill: none;
}
.cls-2 {
fill: #345fa6;
}
</style>
</defs>
<g id="巡检点" transform="translate(-556.461 -285.436)">
<rect id="图标框" class="cls-1" width="26" height="26" transform="translate(556.461 285.436)"/>
<g id="组_146" data-name="组 146" transform="translate(559.709 288.685)">
<path id="路径_410" data-name="路径 410" class="cls-2" d="M539.892,310.249a6.889,6.889,0,0,1,.13-1.28,2.8,2.8,0,1,0-2.2-.693,9.159,9.159,0,0,0,4.063,9.716l1.206-1.944A6.811,6.811,0,0,1,539.892,310.249Z" transform="translate(-536.884 -301.376)"/>
<path id="路径_411" data-name="路径 411" class="cls-2" d="M548.927,312.535a6.391,6.391,0,0,1-2.47,1.517,2.8,2.8,0,1,0,.438,2.249,8.628,8.628,0,0,0,6.208-8.33h-2.288A6.412,6.412,0,0,1,548.927,312.535Z" transform="translate(-534.527 -298.97)"/>
<path id="路径_412" data-name="路径 412" class="cls-2" d="M551.769,304.094a2.779,2.779,0,0,0-1.127.24,8.752,8.752,0,0,0-10.308-1.05l1.162,1.972a6.419,6.419,0,0,1,7.6.83,2.795,2.795,0,1,0,2.669-1.991Z" transform="translate(-535.072 -302.072)"/>
</g>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<defs>
<style>
.cls-1 {
fill: none;
}
.cls-2 {
fill: #345fa6;
stroke: rgba(0,0,0,0);
}
</style>
</defs>
<g id="返回" transform="translate(-42 -177)">
<rect id="图标框" class="cls-1" width="26" height="26" transform="translate(42 177)"/>
<path id="返回-2" data-name="返回" class="cls-2" d="M6.151,14.2.419,8.35A1.412,1.412,0,0,1,0,7.313,1.461,1.461,0,0,1,.419,6.262L6.151.428a1.425,1.425,0,0,1,2.038,0,1.471,1.471,0,0,1,0,2.076L4.942,5.814H12.4V2.568a1.619,1.619,0,1,1,3.237,0V7.433a1.622,1.622,0,0,1-1.628,1.631H5.193l3,3.056a1.471,1.471,0,0,1,0,2.076,1.425,1.425,0,0,1-2.038,0Z" transform="translate(46.875 183.497)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<defs>
<style>
.cls-1 {
fill: none;
}
.cls-2 {
fill: #345fa6;
}
.cls-3 {
fill: #fff;
}
</style>
</defs>
<g id="风险点" transform="translate(-12.107 -11.535)">
<rect id="图标框" class="cls-1" width="26" height="26" transform="translate(12.107 11.535)"/>
<path id="路径_29" data-name="路径 29" class="cls-2" d="M-24912.748-24948.816l8.176-2.795,8.146,2.795v5.088c0,7.236-8.189,11.711-8.189,11.711s-8.137-4.475-8.137-11.711" transform="translate(24929.695 24966.352)"/>
<path id="路径_33" data-name="路径 33" class="cls-3" d="M40.389,5.358A5.033,5.033,0,0,0,35.957.211V0a.272.272,0,0,0-.545,0V.211A4.988,4.988,0,0,0,30.634,5.13a2.3,2.3,0,0,0,0,.5h.485a.965.965,0,0,1,.918-.9.911.911,0,0,1,.918.9h.485A.918.918,0,0,1,35.265,5.5l-.008,4.005a.432.432,0,0,1-.863,0,.266.266,0,0,0-.133-.24.277.277,0,0,0-.278,0,.266.266,0,0,0-.133.24.976.976,0,0,0,1.952,0l.008-4.1h-.019a.919.919,0,0,1,1.805.226h.485c0-.03,0-.06,0-.089h0A.918.918,0,0,1,39.905,5.4v0h0a.868.868,0,0,1,.012.136H40.4a1.373,1.373,0,0,0-.013-.18Z" transform="translate(-10.409 18.87)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<defs>
<style>
.cls-1 {
fill: none;
}
.cls-2 {
fill: #345fa6;
}
.cls-3 {
fill: #fff;
}
</style>
</defs>
<g id="快键-键盘" transform="translate(-42 -78)">
<rect id="图标框" class="cls-1" width="26" height="26" transform="translate(42 78)"/>
<path id="快键" class="cls-2" d="M17.729,0H1.771A1.772,1.772,0,0,0,0,1.772v7.89a1.772,1.772,0,0,0,1.771,1.772H17.729A1.772,1.772,0,0,0,19.5,9.662V1.772A1.772,1.772,0,0,0,17.729,0Z" transform="translate(45.25 84.499)"/>
<path id="快键-2" data-name="快键" class="cls-3" d="M7.1.365A.365.365,0,0,1,7.464,0H8.6a.365.365,0,0,1,.365.365V1.5a.365.365,0,0,1-.365.366H7.464A.365.365,0,0,1,7.1,1.5Zm-3.55,0A.366.366,0,0,1,3.915,0H5.053a.366.366,0,0,1,.365.365V1.5a.366.366,0,0,1-.365.366H3.915A.366.366,0,0,1,3.549,1.5ZM1.868,5.041a.365.365,0,0,1-.365.365H.365A.365.365,0,0,1,0,5.041V3.9a.366.366,0,0,1,.365-.365H1.5a.365.365,0,0,1,.365.365Zm0-3.537a.365.365,0,0,1-.365.366H.365A.366.366,0,0,1,0,1.5V.365A.366.366,0,0,1,.365,0H1.5a.365.365,0,0,1,.365.365ZM12.517,4.9a.368.368,0,0,1-.367.367H3.916A.368.368,0,0,1,3.549,4.9v-1a.367.367,0,0,1,.367-.367H12.15a.367.367,0,0,1,.367.367Zm0-3.4a.366.366,0,0,1-.366.366H11.013a.366.366,0,0,1-.365-.366V.365A.366.366,0,0,1,11.013,0h1.138a.366.366,0,0,1,.366.365Zm3.549,3.537a.365.365,0,0,1-.365.365H14.563a.365.365,0,0,1-.365-.365V3.9a.365.365,0,0,1,.365-.365H15.7a.366.366,0,0,1,.365.365Zm0-3.537a.366.366,0,0,1-.365.366H14.563A.365.365,0,0,1,14.2,1.5V.365A.365.365,0,0,1,14.563,0H15.7a.366.366,0,0,1,.365.365Z" transform="translate(46.967 88.011)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<g id="取点" transform="translate(-140 -177)">
<rect id="图标框" width="26" height="26" transform="translate(140 177)" fill="none"/>
<path id="路径_1430" data-name="路径 1430" d="M55.786,37.646l-5.481-5.421a.74.74,0,0,0-1.144.12,5.508,5.508,0,0,0-.843,3.493,1.017,1.017,0,0,1-.181.6l-1.626,1.626a.792.792,0,0,1-.723.181,6.217,6.217,0,0,0-5.842.964.716.716,0,0,0-.06,1.084L43.2,43.669l-3.674,3.614a.937.937,0,0,0,1.325,1.325l3.674-3.614,3.192,3.252a.716.716,0,0,0,1.084-.06,6.284,6.284,0,0,0,1.024-5.963A.792.792,0,0,1,50,41.5l1.626-1.626a.773.773,0,0,1,.6-.241,5.456,5.456,0,0,0,3.493-.9.753.753,0,0,0,.06-1.084Z" transform="translate(105.471 149.633)" fill="#345fa6"/>
<path id="路径_1431" data-name="路径 1431" d="M153.979,192.309a2.815,2.815,0,0,1,.077,2.263" transform="translate(0.076 0.667)" fill="none" stroke="#fff" stroke-linecap="round" stroke-width="1"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<defs>
<style>
.cls-1 {
fill: none;
}
.cls-2 {
fill: #345fa6;
}
</style>
</defs>
<g id="动环" transform="translate(-140 -177)">
<rect id="图标框" class="cls-1" width="26" height="26" transform="translate(140 177)"/>
<path id="路径_1263" data-name="路径 1263" class="cls-2" d="M82.391,117.322a16.622,16.622,0,0,0,.55-4.681,8.631,8.631,0,0,1,1.361-5.228c-1.225.235-2.1,1.411-3.331,2.086-2.256,1.7-4.562,2.288-5.6,5.254a3.991,3.991,0,0,0,1.264,4.755c.484-2.375.738-3.291,2.611-5.066a10.914,10.914,0,0,0-2,5.427c1.761.831,4.114.271,5.152-2.547Zm-16.508-1.193a13.727,13.727,0,0,0,3.907,2.037,9.555,9.555,0,0,1,4.128,3.046c.178-1.341-.571-2.619-.774-4.1-.774-2.87-.562-5.438-2.821-7.449a3.275,3.275,0,0,0-4.539-.182,7.068,7.068,0,0,1,3.6,4.29,9.8,9.8,0,0,0-4.1-3.773,4.385,4.385,0,0,0,.6,6.13Zm9.108-14.746a13.8,13.8,0,0,0-3.8,2.257c-.456.34-3.874,1.978-4.683,1.861.893.943,2.282,1.032,3.5,1.718,2.588,1,4.374,2.69,7.191,1.872a3.763,3.763,0,0,0,2.793-3.9c-2.048.964-2.879,1.277-5.3.662a8.906,8.906,0,0,0,5.207-1.411,3.789,3.789,0,0,0-4.911-3.058Z" transform="translate(78.698 78.787)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<defs>
<style>
.cls-1 {
fill: none;
}
.cls-2 {
fill: #345fa6;
}
.cls-3 {
fill: #fff;
}
</style>
</defs>
<g id="监控点" transform="translate(-181.561 -12)">
<rect id="图标框" class="cls-1" width="26" height="26" transform="translate(181.561 12)"/>
<path id="路径_12" data-name="路径 12" class="cls-2" d="M202.643,89.25a8.125,8.125,0,1,0-8.125-8.125A8.125,8.125,0,0,0,202.643,89.25Z" transform="translate(-8.082 -57.75)"/>
<path id="路径_39" data-name="路径 39" class="cls-3" d="M199.393,82.75a4.875,4.875,0,1,0-4.875-4.875A4.875,4.875,0,0,0,199.393,82.75Z" transform="translate(-4.831 -54.5)"/>
<path id="路径_40" data-name="路径 40" class="cls-2" d="M197.768,79.5a3.25,3.25,0,1,0-3.25-3.25A3.25,3.25,0,0,0,197.768,79.5Z" transform="translate(-3.206 -52.875)"/>
<rect id="矩形_44" data-name="矩形 44" class="cls-2" width="16.25" height="3.25" rx="1" transform="translate(186.436 31.5)"/>
<rect id="矩形_45" data-name="矩形 45" class="cls-2" width="9.75" height="6.5" rx="2" transform="translate(189.686 28.25)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<defs>
<style>
.cls-1 {
fill: none;
}
.cls-2 {
fill: #345fa6;
}
.cls-3 {
fill: #fff;
}
</style>
</defs>
<g id="机房设备" transform="translate(37.001 -72.001) rotate(90)">
<rect id="图标框" class="cls-1" width="26" height="26" transform="translate(72.001 11.001)"/>
<path id="路径_929" data-name="路径 929" class="cls-2" d="M79.69,272.533a.822.822,0,0,0-.77-.532c-.063,0-.357.015-11.806,0a.828.828,0,0,0-.8.527l-2.169,3.735a1.152,1.152,0,0,0-.141.656c-.017.516,0,3.507,0,3.507a1.243,1.243,0,0,0,1.253,1.234H80.747A1.244,1.244,0,0,0,82,280.429v-3.81l-.019-.117Zm-12.716,6.839a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.431-.423h-.43a.435.435,0,0,0-.3.124.421.421,0,0,0-.126.3v.423a.426.426,0,0,0,.43.423h.431Zm1.721,0a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.431-.423h-.43a.428.428,0,0,0-.43.424v.423a.427.427,0,0,0,.43.423Zm1.722,0a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.43-.423h-.431a.428.428,0,0,0-.43.424v.423a.427.427,0,0,0,.43.423Zm6.455,0h2.582a.428.428,0,0,0,.431-.423v-.424a.428.428,0,0,0-.431-.423H76.873a.428.428,0,0,0-.43.424v.423A.426.426,0,0,0,76.873,279.371Z" transform="translate(12 -250)"/>
<path id="路径_930" data-name="路径 930" class="cls-3" d="M.515-.129H16.271a.439.439,0,0,1,.463.409V3.555a.439.439,0,0,1-.463.409H.515a.439.439,0,0,1-.463-.409V.28A.439.439,0,0,1,.515-.129Z" transform="translate(76.641 27)"/>
<path id="路径_928" data-name="路径 928" class="cls-2" d="M66.975,279.371a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.431-.423h-.43a.435.435,0,0,0-.3.124.421.421,0,0,0-.126.3v.423a.426.426,0,0,0,.43.423h.431Zm1.721,0a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.431-.423h-.43a.428.428,0,0,0-.43.424v.423a.427.427,0,0,0,.43.423Zm1.722,0a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.43-.423h-.431a.428.428,0,0,0-.43.424v.423a.427.427,0,0,0,.43.423Zm6.455,0h2.582a.428.428,0,0,0,.431-.423v-.424a.428.428,0,0,0-.431-.423H76.873a.428.428,0,0,0-.43.424v.423A.426.426,0,0,0,76.873,279.371Z" transform="translate(12 -250)"/>
<path id="路径_929-2" data-name="路径 929" class="cls-2" d="M79.69,272.533a.822.822,0,0,0-.77-.532c-.063,0-.357.015-11.806,0a.828.828,0,0,0-.8.527l-2.169,3.735a1.152,1.152,0,0,0-.141.656c-.017.516,0,3.507,0,3.507a1.243,1.243,0,0,0,1.253,1.234H80.747A1.244,1.244,0,0,0,82,280.429v-3.81l-.019-.117Zm-12.716,6.839a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.431-.423h-.43a.435.435,0,0,0-.3.124.421.421,0,0,0-.126.3v.423a.426.426,0,0,0,.43.423h.431Zm1.721,0a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.431-.423h-.43a.428.428,0,0,0-.43.424v.423a.427.427,0,0,0,.43.423Zm1.722,0a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.43-.423h-.431a.428.428,0,0,0-.43.424v.423a.427.427,0,0,0,.43.423Zm6.455,0h2.582a.428.428,0,0,0,.431-.423v-.424a.428.428,0,0,0-.431-.423H76.873a.428.428,0,0,0-.43.424v.423A.426.426,0,0,0,76.873,279.371Z" transform="translate(12 -256)"/>
<path id="路径_930-2" data-name="路径 930" class="cls-3" d="M.515-.129H16.271a.439.439,0,0,1,.463.409V3.555a.439.439,0,0,1-.463.409H.515a.439.439,0,0,1-.463-.409V.28A.439.439,0,0,1,.515-.129Z" transform="translate(76.641 21)"/>
<path id="路径_928-2" data-name="路径 928" class="cls-2" d="M66.975,279.371a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.431-.423h-.43a.435.435,0,0,0-.3.124.421.421,0,0,0-.126.3v.423a.426.426,0,0,0,.43.423h.431Zm1.721,0a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.431-.423h-.43a.428.428,0,0,0-.43.424v.423a.427.427,0,0,0,.43.423Zm1.722,0a.426.426,0,0,0,.43-.423v-.424a.428.428,0,0,0-.43-.423h-.431a.428.428,0,0,0-.43.424v.423a.427.427,0,0,0,.43.423Zm6.455,0h2.582a.428.428,0,0,0,.431-.423v-.424a.428.428,0,0,0-.431-.423H76.873a.428.428,0,0,0-.43.424v.423A.426.426,0,0,0,76.873,279.371Z" transform="translate(12 -256)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<defs>
<style>
.cls-1 {
fill: none;
}
.cls-2 {
fill: #345fa6;
}
.cls-3 {
fill: #fff;
}
</style>
</defs>
<g id="聚焦" transform="translate(-42 -144)">
<rect id="图标框" class="cls-1" width="26" height="26" transform="translate(42 144)"/>
<path id="路径_23" data-name="路径 23" class="cls-2" d="M574.028,295.286l.062-.25-.025-.117V294.9l-.039-.142c-1.356-3.551-4.076-5.834-6.929-5.834s-5.58,2.291-6.939,5.837l-.044.215v.142l.039.169c1.363,3.536,4.086,5.821,6.938,5.821S572.675,298.817,574.028,295.286Z" transform="translate(-512.105 -138.016)"/>
<path id="路径_23-2" data-name="路径 23" class="cls-3" d="M565.688,297.358a3.383,3.383,0,1,1,3.42-3.382A3.376,3.376,0,0,1,565.688,297.358Z" transform="translate(-510.689 -136.974)"/>
<path id="路径_47" data-name="路径 47" class="cls-2" d="M568.673,290.892a7.737,7.737,0,0,1,0,5.935v.007a.5.5,0,0,0,.861.358l2.967-2.967a.5.5,0,0,0,0-.715l-2.971-2.97A.5.5,0,0,0,568.673,290.892Z" transform="translate(-506.28 -136.863)"/>
<path id="路径_48" data-name="路径 48" class="cls-2" d="M561.394,290.892a7.73,7.73,0,0,0,0,5.935v.007a.506.506,0,0,1-.863.358l-2.967-2.967a.507.507,0,0,1,0-.715l2.971-2.97A.5.5,0,0,1,561.394,290.892Z" transform="translate(-513.791 -136.863)"/>
<path id="路径_49" data-name="路径 49" class="cls-2" d="M568.578,296.933a7.729,7.729,0,0,1-5.935,0h-.006a.506.506,0,0,0-.358.863l2.967,2.967a.507.507,0,0,0,.715,0l2.971-2.97A.5.5,0,0,0,568.578,296.933Z" transform="translate(-510.607 -132.536)"/>
<path id="路径_50" data-name="路径 50" class="cls-2" d="M568.578,289.655a7.739,7.739,0,0,0-5.935,0h-.006a.5.5,0,0,1-.358-.861l2.967-2.967a.5.5,0,0,1,.715,0l2.971,2.97A.5.5,0,0,1,568.578,289.655Z" transform="translate(-510.607 -140.048)"/>
<path id="路径_22" data-name="路径 22" class="cls-2" d="M565.209,293.445s-.018-1.929,0-2.145-.044-.3-.567-.192a2.4,2.4,0,1,0,2.954,2.618c.039-.2-.114-.3-.392-.286S565.209,293.445,565.209,293.445Z" transform="translate(-510.176 -136.444)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<defs>
<style>
.cls-1 {
fill: none;
}
.cls-2 {
fill: #345fa6;
stroke: rgba(0,0,0,0);
}
</style>
</defs>
<g id="消息" transform="translate(-72 -45)">
<rect id="图标框" class="cls-1" width="26" height="26" transform="translate(72 45)"/>
<path id="联合_3" data-name="联合 3" class="cls-2" d="M7.853,17.76,2.911,13.565H1.471A1.445,1.445,0,0,1,0,12.147v-6.3A1.445,1.445,0,0,1,1.471,4.434h1.44L7.853.24A.992.992,0,0,1,9.495.954V17.046A.97.97,0,0,1,8.5,18,.994.994,0,0,1,7.853,17.76Zm6.507-1.421a.79.79,0,0,1,.1-1.148,7.472,7.472,0,0,0,0-11.763.791.791,0,0,1-.1-1.149.881.881,0,0,1,1.2-.1,9.056,9.056,0,0,1,.005,14.256.88.88,0,0,1-1.2-.1ZM10.61,13.576a.761.761,0,0,1,.245-1.1,3.528,3.528,0,0,0-.014-6.133.761.761,0,0,1-.249-1.1.893.893,0,0,1,1.181-.232,5.155,5.155,0,0,1,2.564,4.4A5.153,5.153,0,0,1,11.793,13.8a.905.905,0,0,1-.469.131A.873.873,0,0,1,10.61,13.576Z" transform="translate(75.254 48.609)"/>
</g>
</svg>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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