lx-MOM-front

master
1024Tomx 1 year ago
commit aabfd08229

@ -0,0 +1,11 @@
# Editor configuration, see http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = tab
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true

20
.env

@ -0,0 +1,20 @@
VITE_BASE_URL=/
VITE_APP_NAME=领秀眼镜MOM
VITE_APP_TITLE=领秀眼镜MOM管理系统
VITE_APP_DESC=领秀眼镜MOM管理系统
# 权限路由模式: static dynamic
VITE_AUTH_ROUTE_MODE=dynamic
# 路由首页(根路由重定向), 用于static模式的权限路由dynamic模式取决于后端返回的路由首页
VITE_ROUTE_HOME_PATH=/home
# iconify图标作为组件的前缀
VITE_ICON_PREFIX=icon
# 本地SVG图标作为组件的前缀, 请注意一定要包含 VITE_ICON_PREFIX
# 格式 {VITE_ICON_PREFIX}-{本地图标集合名称}
VITE_ICON_LOCAL_PREFIX=icon-local

@ -0,0 +1,2 @@
VITE_HTTP_PROXY=Y
VITE_SOYBEAN_ROUTE_PLUGIN=Y

@ -0,0 +1,12 @@
VITE_VISUALIZER=N
VITE_COMPRESS=N
# gzip | brotliCompress | deflate | deflateRaw
VITE_COMPRESS_TYPE=gzip
VITE_PWA=N
VITE_PROD_MOCK=N
VITE_HASH_ROUTE=Y

@ -0,0 +1,8 @@
!.env-config.ts
router-page.d.ts
**/kanBan/**.vue
**/kanBan/**/**.vue
**/kanBan/**.js
**/kanBan/compents/dashboard/mixins/**.js
**/kanBan/compents/options/**.js

@ -0,0 +1,141 @@
module.exports = {
extends: ['soybeanjs/vue'],
overrides: [
{
files: ['./scripts/*.ts'],
rules: {
'no-unused-expressions': 'off'
}
},
{
files: ['*.vue'],
rules: {
'no-undef': 'off', // use tsc to check the ts code of the vue
'vue/no-setup-props-destructure': 'off' // wait to fix this rule
}
}
],
settings: {
'import/core-modules': ['uno.css', '~icons/*', 'virtual:svg-icons-register']
},
rules: {
'import/order': [
'error',
{
'newlines-between': 'never',
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'],
pathGroups: [
{
pattern: 'vue',
group: 'external',
position: 'before'
},
{
pattern: 'vue-router',
group: 'external',
position: 'before'
},
{
pattern: 'pinia',
group: 'external',
position: 'before'
},
{
pattern: 'naive-ui',
group: 'external',
position: 'before'
},
{
pattern: '@/constants',
group: 'internal',
position: 'before'
},
{
pattern: '@/config',
group: 'internal',
position: 'before'
},
{
pattern: '@/settings',
group: 'internal',
position: 'before'
},
{
pattern: '@/plugins',
group: 'internal',
position: 'before'
},
{
pattern: '@/layouts',
group: 'internal',
position: 'before'
},
{
pattern: '@/views',
group: 'internal',
position: 'before'
},
{
pattern: '@/components',
group: 'internal',
position: 'before'
},
{
pattern: '@/router',
group: 'internal',
position: 'before'
},
{
pattern: '@/service',
group: 'internal',
position: 'before'
},
{
pattern: '@/store',
group: 'internal',
position: 'before'
},
{
pattern: '@/context',
group: 'internal',
position: 'before'
},
{
pattern: '@/composables',
group: 'internal',
position: 'before'
},
{
pattern: '@/hooks',
group: 'internal',
position: 'before'
},
{
pattern: '@/utils',
group: 'internal',
position: 'before'
},
{
pattern: '@/assets',
group: 'internal',
position: 'before'
},
{
pattern: '@/**',
group: 'internal',
position: 'before'
}
],
pathGroupsExcludedImportTypes: ['vue', 'vue-router', 'pinia', 'naive-ui']
}
],
// 允许下划线开头的变量名
'no-underscore-dangle': ['error', { allow: ['_keyStr', '_utf8_encode', '_utf8_decode'] }],
// 允许 ++ 运算符
'no-plusplus': 'off',
// 允许位运算符
'no-bitwise': 'off',
// 允许多重赋值
'no-multi-assign': 'off'
}
};

17
.gitattributes vendored

@ -0,0 +1,17 @@
"*.vue" eol=lf
"*.js" eol=lf
"*.ts" eol=lf
"*.jsx" eol=lf
"*.tsx" eol=lf
"*.cjs" eol=lf
"*.cts" eol=lf
"*.mjs" eol=lf
"*.mts" eol=lf
"*.json" eol=lf
"*.html" eol=lf
"*.css" eol=lf
"*.less" eol=lf
"*.scss" eol=lf
"*.sass" eol=lf
"*.styl" eol=lf
"*.md" eol=lf

37
.gitignore vendored

@ -0,0 +1,37 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
dist.zip
coverage
*.local
stats.html
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
!.vscode/launch.json
!.vscode/settings.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
/src/typings/components.d.ts
package-lock.json
yarn.lock
pnpm-lock.yaml
README.md
.env-config.ts

@ -0,0 +1,2 @@
registry=https://registry.npmmirror.com/
shamefully-hoist=true

@ -0,0 +1,19 @@
{
"recommendations": [
"antfu.unocss",
"dbaeumer.vscode-eslint",
"editorconfig.editorconfig",
"esbenp.prettier-vscode",
"formulahendry.auto-complete-tag",
"formulahendry.auto-close-tag",
"formulahendry.auto-rename-tag",
"kisstkondoros.vscode-gutter-preview",
"lokalise.i18n-ally",
"mariusalchimavicius.json-to-ts",
"mhutchie.git-graph",
"sdras.vue-vscode-snippets",
"streetsidesoftware.code-spell-checker",
"vue.volar",
"vue.vscode-typescript-vue-plugin"
]
}

@ -0,0 +1,20 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Vue debugger",
"url": "http://localhost:3200",
"webRoot": "${workspaceFolder}"
},
{
"type": "node",
"request": "launch",
"name": "TS debugger",
"skipFiles": ["<node_internals>/**"],
"runtimeArgs": ["--loader", "tsx"],
"program": "${relativeFile}"
}
]
}

@ -0,0 +1,83 @@
{
"cSpell.ignorePaths": [
"package.json",
"package-lock.json",
"yarn.lock",
"pnpm-lock.yaml",
"node_modules",
"vscode-extension",
".git/objects",
".vscode",
".vscode-insiders",
"CHANGELOG.md",
"dist",
"public",
"styles"
],
"cSpell.words": [
"AMAP",
"antdesign",
"antv",
"apacheecharts",
"areaspline",
"bmapgl",
"colord",
"echarts",
"gitee",
"gridicons",
"iconify",
"jsapi",
"naiveui",
"Popconfirm",
"Posva",
"Shenzhen",
"Sider",
"tauri",
"unocss",
"unplugin",
"vditor",
"VERCEL",
"Vite",
"vitejs",
"vuedraggable",
"vueuse",
"wangeditor",
"wechat",
"xgplayer",
"yanbowe",
"ភាសាខ្មែរ"
],
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"editor.fontLigatures": true,
"editor.formatOnSave": false,
"editor.quickSuggestions": {
"strings": true
},
"editor.tabSize": 2,
"eslint.validate": ["json"],
"files.associations": {
"*.env.*": "dotenv",
"*.svg": "html"
},
"files.eol": "\n",
"i18n-ally.displayLanguage": "zh-CN",
"i18n-ally.enabledParsers": ["ts"],
"i18n-ally.enabledFrameworks": ["vue"],
"i18n-ally.editor.preferEditor": true,
"i18n-ally.keystyle": "nested",
"i18n-ally.localesPaths": ["src/locales/lang"],
"material-icon-theme.activeIconPack": "vue",
"[html][css][less][scss][sass][markdown][yaml][yml][jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"prettier": {},
"Codegeex.Comment.LanguagePreference": "中文",
"Codegeex.SidebarUI.LanguagePreference": "中文",
"Codegeex.Chat.LanguagePreference": "中文",
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 Soybean
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

@ -0,0 +1,16 @@
ImageTag ?=v0.9.6
SoybeanAdminImg ?= soybeanjs/soybean-admin:$(ImageTag)
VERSION=$(shell git rev-parse --short HEAD)
soybean-admin: soybean-admin-build soybean-admin-push
soybean-admin-build:
docker build --build-arg version=$(VERSION) -t ${SoybeanAdminImg} -f docker/Dockerfile .
soybean-admin-push:
docker push ${SoybeanAdminImg}
# run tauri app:
run:
pnpm tauri dev

@ -0,0 +1,8 @@
import dayjs from 'dayjs';
/** 项目构建时间 */
const PROJECT_BUILD_TIME = JSON.stringify(dayjs().format('YYYY-MM-DD HH:mm:ss'));
export const viteDefine = {
PROJECT_BUILD_TIME
};

@ -0,0 +1,2 @@
export * from './define';
export * from './proxy';

@ -0,0 +1,20 @@
import type { ProxyOptions } from 'vite';
/**
*
* @param isOpenProxy -
* @param envConfig - env
*/
export function createViteProxy(isOpenProxy: boolean, envConfig: ServiceEnvConfigWithProxyPattern) {
if (!isOpenProxy) return undefined;
const proxy: Record<string, string | ProxyOptions> = {
[envConfig.proxyPattern]: {
target: envConfig.url,
changeOrigin: true,
rewrite: path => path.replace(new RegExp(`^${envConfig.proxyPattern}`), '')
}
};
return proxy;
}

@ -0,0 +1,3 @@
export * from './plugins';
export * from './config';
export * from './utils';

@ -0,0 +1,6 @@
import ViteCompression from 'vite-plugin-compression';
export default (viteEnv: ImportMetaEnv) => {
const { VITE_COMPRESS_TYPE = 'gzip' } = viteEnv;
return ViteCompression({ algorithm: VITE_COMPRESS_TYPE });
};

@ -0,0 +1,47 @@
import type { PluginOption } from 'vite';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import unocss from '@unocss/vite';
import progress from 'vite-plugin-progress';
import VueDevtools from 'vite-plugin-vue-devtools';
import pageRoute from '@soybeanjs/vite-plugin-vue-page-route';
import unplugin from './unplugin';
import mock from './mock';
import visualizer from './visualizer';
import compress from './compress';
import pwa from './pwa';
/**
* vite
* @param viteEnv -
*/
export function setupVitePlugins(viteEnv: ImportMetaEnv): (PluginOption | PluginOption[])[] {
const plugins = [
vue({
script: {
defineModel: true
}
}),
vueJsx(),
VueDevtools(),
...unplugin(viteEnv),
unocss(),
mock(viteEnv),
progress()
];
if (viteEnv.VITE_VISUALIZER === 'Y') {
plugins.push(visualizer as PluginOption);
}
if (viteEnv.VITE_COMPRESS === 'Y') {
plugins.push(compress(viteEnv));
}
if (viteEnv.VITE_PWA === 'Y' || viteEnv.VITE_VERCEL === 'Y') {
plugins.push(pwa());
}
if (viteEnv.VITE_SOYBEAN_ROUTE_PLUGIN === 'Y') {
plugins.push(pageRoute());
}
return plugins;
}

@ -0,0 +1,14 @@
import { viteMockServe } from 'vite-plugin-mock';
export default (viteEnv: ImportMetaEnv) => {
const prodMock = viteEnv.VITE_PROD_MOCK === 'Y';
return viteMockServe({
mockPath: 'mock',
prodEnabled: prodMock,
injectCode: `
import { setupMockServer } from '../mock';
setupMockServer();
`
});
};

@ -0,0 +1,31 @@
import { VitePWA } from 'vite-plugin-pwa';
export default function setupVitePwa() {
return VitePWA({
registerType: 'autoUpdate',
includeAssets: ['favicon.ico'],
manifest: {
name: 'SoybeanAdmin',
short_name: 'SoybeanAdmin',
theme_color: '#fff',
icons: [
{
src: '/logo.png',
sizes: '192x192',
type: 'image/png'
},
{
src: '/logo.png',
sizes: '512x512',
type: 'image/png'
},
{
src: '/logo.png',
sizes: '512x512',
type: 'image/png',
purpose: 'any maskable'
}
]
}
});
}

@ -0,0 +1,44 @@
import Icons from 'unplugin-icons/vite';
import IconsResolver from 'unplugin-icons/resolver';
import Components from 'unplugin-vue-components/vite';
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers';
import { FileSystemIconLoader } from 'unplugin-icons/loaders';
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
import { getSrcPath } from '../utils';
export default function unplugin(viteEnv: ImportMetaEnv) {
const { VITE_ICON_PREFIX, VITE_ICON_LOCAL_PREFIX } = viteEnv;
const srcPath = getSrcPath();
const localIconPath = `${srcPath}/assets/svg-icon`;
/** 本地svg图标集合名称 */
const collectionName = VITE_ICON_LOCAL_PREFIX.replace(`${VITE_ICON_PREFIX}-`, '');
return [
Icons({
compiler: 'vue3',
customCollections: {
[collectionName]: FileSystemIconLoader(localIconPath, svg =>
svg.replace(/^<svg\s/, '<svg width="1em" height="1em" ')
)
},
scale: 1,
defaultClass: 'inline-block'
}),
Components({
dts: 'src/typings/components.d.ts',
types: [{ from: 'vue-router', names: ['RouterLink', 'RouterView'] }],
resolvers: [
NaiveUiResolver(),
IconsResolver({ customCollections: [collectionName], componentPrefix: VITE_ICON_PREFIX })
]
}),
createSvgIconsPlugin({
iconDirs: [localIconPath],
symbolId: `${VITE_ICON_LOCAL_PREFIX}-[dir]-[name]`,
inject: 'body-last',
customDomId: '__SVG_ICON_LOCAL__'
})
];
}

@ -0,0 +1,7 @@
import { visualizer } from 'rollup-plugin-visualizer';
export default visualizer({
gzipSize: true,
brotliSize: true,
open: true
});

@ -0,0 +1,20 @@
import path from 'path';
/**
*
* @descrition
*/
export function getRootPath() {
return path.resolve(process.cwd());
}
/**
* src
* @param srcName - src(: "src")
* @descrition
*/
export function getSrcPath(srcName = 'src') {
const rootPath = getRootPath();
return `${rootPath}/${srcName}`;
}

@ -0,0 +1,32 @@
node_modules
.DS_Store
dist
.npmrc
.cache
tests/server/static
tests/server/static/upload
.local
# local env files
.env.local
.env.*.local
.eslintcache
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
# .vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
yarn.lock
pnpm-lock.yaml
/vite-profile.cpuprofile

@ -0,0 +1,24 @@
FROM node:16.17.0 as builder
ENV WORKDIR=/soybean-admin
WORKDIR $WORKDIR
COPY ./ $WORKDIR/
ARG version
ENV COMMITID=$version
RUN npm i -g pnpm
RUN pnpm install
RUN pnpm build
FROM nginx:alpine as prod
RUN mkdir /soybean
COPY --from=builder /soybean-admin/dist /soybean-admin
COPY --from=builder /soybean-admin/docker/nginx.conf /etc/nginx/nginx.conf
EXPOSE 80

@ -0,0 +1,54 @@
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
# 不缓存html防止程序更新后缓存继续生效
if ($request_filename ~* .*\.(?:htm|html)$) {
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
access_log on;
}
root /soybean-admin/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# location /soybean/soybean-webserver/v1 {
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header REMOTE-HOST $remote_addr;
# # 后台接口地址
# proxy_pass http://192.168.1.99:30597/v1;
# proxy_redirect default;
# add_header Access-Control-Allow-Origin *;
# add_header Access-Control-Allow-Headers X-Requested-With;
# add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
# }
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}

@ -0,0 +1,19 @@
<!-- prettier-ignore -->
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="UTF-8" />
<!-- 标头logo -->
<!-- <link rel="icon" href="/logo.png" /> -->
<link rel="stylesheet" href="/print-lock.css" media="print" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>%VITE_APP_NAME%</title>
</head>
<body>
<div id="app">
<div id="appLoading"></div>
</div>
<script type="module" src="/src/main.ts"></script>
<script src="http://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js"></script>
</body>
</html>

@ -0,0 +1,148 @@
{
"name": "soybean-admin",
"version": "0.10.4",
"description": "A fresh and elegant admin template, based on Vue3、Vite3、TypeScript、NaiveUI and UnoCSS. 一个基于Vue3、Vite3、TypeScript、NaiveUI and UnoCSS的清新优雅的中后台模版。",
"author": {
"name": "Soybean",
"email": "soybeanjs@outlook.com",
"url": "https://github.com/soybeanjs"
},
"license": "MIT",
"homepage": "https://github.com/honghuangdc/soybean-admin",
"repository": {
"url": "https://github.com/honghuangdc/soybean-admin.git"
},
"bugs": {
"url": "https://github.com/honghuangdc/soybean-admin/issues"
},
"keywords": [
"Vue",
"Vue3",
"admin",
"admin-template",
"vue-admin",
"vue-admin-template",
"Vite3",
"Vite",
"vite-admin",
"TypeScript",
"TS",
"NaiveUI",
"naive-ui",
"naive-admin",
"NaiveUI-Admin",
"naive-ui-admin",
"UnoCSS"
],
"scripts": {
"dev": "cross-env VITE_SERVICE_ENV=dev vite",
"test": "cross-env VITE_SERVICE_ENV=test vite",
"dev:prod": "cross-env VITE_SERVICE_ENV=prod vite",
"build": "npm run typecheck && cross-env VITE_SERVICE_ENV=prod node --max_old_space_size=8192 node_modules/vite/bin/vite.js build",
"build:dev": "npm run typecheck && cross-env VITE_SERVICE_ENV=dev vite build",
"build:test": "npm run typecheck && cross-env VITE_SERVICE_ENV=test vite build",
"build:vercel": "cross-env VITE_HASH_ROUTE=Y VITE_VERCEL=Y vite build",
"preview": "vite preview",
"typecheck": "vue-tsc --noEmit --skipLibCheck",
"lint": "eslint . --fix",
"format": "soy prettier-write",
"commit": "soy git-commit",
"cleanup": "soy cleanup",
"update-pkg": "soy ncu",
"release": "soy release",
"tsx": "tsx",
"logo": "tsx ./scripts/logo.ts",
"prepare": "soy init-simple-git-hooks"
},
"dependencies": {
"@antv/data-set": "0.11.8",
"@antv/g2": "4.2.10",
"@better-scroll/core": "2.5.1",
"@kjgl77/datav-vue3": "^1.7.3",
"@soybeanjs/vue-materials": "0.2.0",
"@vue/composition-api": "^1.7.2",
"@vueuse/core": "10.4.1",
"@wecom/jssdk": "^1.4.5",
"ant-design-vue": "^4.2.3",
"axios": "1.5.0",
"clipboard": "2.0.11",
"colord": "2.9.3",
"crypto-js": "4.1.1",
"dayjs": "1.11.10",
"echarts": "^5.6.0",
"file-saver": "^2.0.5",
"form-data": "4.0.0",
"lodash-es": "4.17.21",
"mqtt": "^5.10.3",
"naive-ui": "2.37.0",
"pinia": "2.1.6",
"print-js": "1.6.0",
"qs": "6.11.2",
"socket.io-client": "4.7.2",
"swiper": "10.2.0",
"ua-parser-js": "1.0.36",
"vditor": "3.9.5",
"vue": "3.3.4",
"vue-i18n": "9.4.1",
"vue-ls": "4.2.0",
"vue-plugin-hiprint": "^0.0.56",
"vue-router": "4.2.4",
"vuedraggable": "4.1.0",
"wangeditor": "4.7.15",
"xgplayer": "3.0.9"
},
"devDependencies": {
"@amap/amap-jsapi-types": "0.0.13",
"@iconify/json": "2.2.118",
"@iconify/vue": "4.1.1",
"@soybeanjs/cli": "0.7.1",
"@soybeanjs/vite-plugin-vue-page-route": "0.0.10",
"@types/bmapgl": "0.0.7",
"@types/crypto-js": "4.1.2",
"@types/echarts": "^5.0.0",
"@types/node": "20.6.3",
"@types/qs": "6.9.8",
"@types/ua-parser-js": "0.7.37",
"@unocss/preset-uno": "0.56.0",
"@unocss/transformer-directives": "0.56.0",
"@unocss/vite": "0.56.0",
"@vicons/ionicons5": "^0.12.0",
"@vicons/utils": "^0.1.4",
"@vitejs/plugin-vue": "4.3.4",
"@vitejs/plugin-vue-jsx": "3.0.2",
"@wecom/jssdk": "^1.4.5",
"cross-env": "7.0.3",
"eslint": "8.49.0",
"eslint-config-soybeanjs": "0.5.6",
"less": "^4.2.0",
"mockjs": "1.1.0",
"rollup-plugin-visualizer": "5.9.2",
"sass": "1.67.0",
"simple-git-hooks": "2.9.0",
"terser": "^5.31.6",
"tsx": "3.12.10",
"typescript": "5.2.2",
"unplugin-icons": "0.17.0",
"unplugin-vue-components": "0.25.2",
"vite": "4.4.9",
"vite-plugin-compression": "0.5.1",
"vite-plugin-mock": "2.9.8",
"vite-plugin-progress": "0.0.7",
"vite-plugin-pwa": "0.16.5",
"vite-plugin-svg-icons": "2.0.1",
"vite-plugin-vue-devtools": "1.0.0-rc.4",
"vue-tsc": "1.8.13"
},
"pnpm": {
"patchedDependencies": {
"mockjs@1.1.0": "patches/mockjs@1.1.0.patch"
}
},
"simple-git-hooks": {
"commit-msg": "pnpm soy git-commit-verify",
"pre-commit": "pnpm typecheck && pnpm soy lint-staged"
},
"soybean": {
"useSoybeanToken": true
}
}

@ -0,0 +1,732 @@
diff --git a/dist/mock.js b/dist/mock.js
index 35d5b9af3eff34324656879705dcb81470fc9697..3e6a52e0fbfdd39d3aaf1592ffd19ecde33320f3 100644
--- a/dist/mock.js
+++ b/dist/mock.js
@@ -126,17 +126,17 @@ return /******/ (function(modules) { // webpackBootstrap
/* 1 */
/***/ (function(module, exports, __webpack_require__) {
- /*
+ /*
## Handler
处理数据模板。
-
+
* Handler.gen( template, name?, context? )
入口方法。
* Data Template Definition, DTD
-
+
处理数据模板定义。
* Handler.array( options )
@@ -146,7 +146,7 @@ return /******/ (function(modules) { // webpackBootstrap
* Handler.string( options )
* Handler.function( options )
* Handler.regexp( options )
-
+
处理路径(相对和绝对)。
* Handler.getValueByKeyPath( key, options )
@@ -177,7 +177,7 @@ return /******/ (function(modules) { // webpackBootstrap
Handle.gen(template, name, options)
context
- currentContext, templateCurrentContext,
+ currentContext, templateCurrentContext,
path, templatePath
root, templateRoot
*/
@@ -456,7 +456,7 @@ return /******/ (function(modules) { // webpackBootstrap
phed = Handler.placeholder(ph, options.context.currentContext, options.context.templateCurrentContext, options)
// 只有一个占位符,并且没有其他字符
- if (placeholders.length === 1 && ph === result && typeof phed !== typeof result) { //
+ if (placeholders.length === 1 && ph === result && typeof phed !== typeof result) { //
result = phed
break
@@ -627,7 +627,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
// 引用的值已经计算好
if (currentContext && (key in currentContext)) return currentContext[key]
-
+
// 尚未计算,递归引用数据模板中的属性
if (templateCurrentContext &&
(typeof templateCurrentContext === 'object') &&
@@ -816,13 +816,13 @@ return /******/ (function(modules) { // webpackBootstrap
var tpl = Mock.heredoc(function() {
/*!
{{email}}{{age}}
- <!-- Mock {
+ <!-- Mock {
email: '@EMAIL',
age: '@INT(1,100)'
} -->
*\/
})
-
+
**相关阅读**
* [Creating multiline strings in JavaScript](http://stackoverflow.com/questions/805107/creating-multiline-strings-in-javascript)、
*/
@@ -850,7 +850,7 @@ return /******/ (function(modules) { // webpackBootstrap
解析数据模板(属性名部分)。
* Parser.parse( name )
-
+
```json
{
parameters: [ name, inc, range, decimal ],
@@ -922,7 +922,7 @@ return /******/ (function(modules) { // webpackBootstrap
/*
## Mock.Random
-
+
工具类,用于生成各种随机数据。
*/
@@ -1251,7 +1251,7 @@ return /******/ (function(modules) { // webpackBootstrap
替代图片源
http://fpoimg.com/
- 参考自
+ 参考自
http://rensanning.iteye.com/blog/1933310
http://code.tutsplus.com/articles/the-top-8-placeholders-for-web-designers--net-19485
*/
@@ -1541,7 +1541,7 @@ return /******/ (function(modules) { // webpackBootstrap
var bg_colour = Math.floor(Math.random() * 16777215).toString(16);
bg_colour = "#" + ("000000" + bg_colour).slice(-6);
document.bgColor = bg_colour;
-
+
http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/
Creating random colors is actually more difficult than it seems. The randomness itself is easy, but aesthetically pleasing randomness is more difficult.
https://github.com/devongovett/color-generator
@@ -1561,7 +1561,7 @@ return /******/ (function(modules) { // webpackBootstrap
http://tool.c7sky.com/webcolor
网页设计常用色彩搭配表
-
+
https://github.com/One-com/one-color
An OO-based JavaScript color parser/computation toolkit with support for RGB, HSV, HSL, CMYK, and alpha channels.
API 很赞
@@ -1593,7 +1593,7 @@ return /******/ (function(modules) { // webpackBootstrap
color += letters[Math.floor(Math.random() * 16)]
}
return color
-
+
// 随机生成一个无脑的颜色,格式为 '#RRGGBB'。
// _brainlessColor()
var color = Math.floor(
@@ -1959,7 +1959,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
return result.join(' ')
},
- //
+ //
cparagraph: function(min, max) {
var len = range(3, 7, min, max)
var result = []
@@ -2282,17 +2282,17 @@ return /******/ (function(modules) { // webpackBootstrap
随机生成一个 URL。
[URL 规范](http://www.w3.org/Addressing/URL/url-spec.txt)
- http Hypertext Transfer Protocol
- ftp File Transfer protocol
- gopher The Gopher protocol
- mailto Electronic mail address
- mid Message identifiers for electronic mail
- cid Content identifiers for MIME body part
- news Usenet news
- nntp Usenet news for local NNTP access only
- prospero Access using the prospero protocols
+ http Hypertext Transfer Protocol
+ ftp File Transfer protocol
+ gopher The Gopher protocol
+ mailto Electronic mail address
+ mid Message identifiers for electronic mail
+ cid Content identifiers for MIME body part
+ news Usenet news
+ nntp Usenet news for local NNTP access only
+ prospero Access using the prospero protocols
telnet rlogin tn3270 Reference to interactive sessions
- wais Wide Area Information Servers
+ wais Wide Area Information Servers
*/
url: function(protocol, host) {
return (protocol || this.protocol()) + '://' + // protocol?
@@ -2422,9 +2422,9 @@ return /******/ (function(modules) { // webpackBootstrap
西南 重庆市 四川省 贵州省 云南省 西藏自治区
西北 陕西省 甘肃省 青海省 宁夏回族自治区 新疆维吾尔自治区
港澳台 香港特别行政区 澳门特别行政区 台湾省
-
+
**排序**
-
+
```js
var map = {}
_.each(_.keys(REGIONS),function(id){
@@ -6527,7 +6527,7 @@ return /******/ (function(modules) { // webpackBootstrap
"0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" /
"a" / "b" / "c" / "d" / "e" / "f" /
"A" / "B" / "C" / "D" / "E" / "F"
-
+
https://github.com/victorquinn/chancejs/blob/develop/chance.js#L1349
*/
guid: function() {
@@ -6629,7 +6629,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
function CaptureGroup(n) {
- Group.call(this, "capture-group"), this.index = cgs[this.offset] || (cgs[this.offset] = index++),
+ Group.call(this, "capture-group"), this.index = cgs[this.offset] || (cgs[this.offset] = index++),
this.body = n;
}
@@ -6711,7 +6711,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
return r = l ? '"' + u(l) + '"' : "end of input", "Expected " + t + " but " + r + " found.";
}
- this.expected = n, this.found = l, this.offset = u, this.line = t, this.column = r,
+ this.expected = n, this.found = l, this.offset = u, this.line = t, this.column = r,
this.name = "SyntaxError", this.message = e(n, l);
}
function u(n) {
@@ -6724,8 +6724,8 @@ return /******/ (function(modules) { // webpackBootstrap
function r(l) {
function u(l, u, t) {
var r, e;
- for (r = u; t > r; r++) e = n.charAt(r), "\n" === e ? (l.seenCR || l.line++, l.column = 1,
- l.seenCR = !1) : "\r" === e || "\u2028" === e || "\u2029" === e ? (l.line++, l.column = 1,
+ for (r = u; t > r; r++) e = n.charAt(r), "\n" === e ? (l.seenCR || l.line++, l.column = 1,
+ l.seenCR = !1) : "\r" === e || "\u2028" === e || "\u2029" === e ? (l.line++, l.column = 1,
l.seenCR = !0) : (l.column++, l.seenCR = !1);
}
return Mt !== l && (Mt > l && (Mt = 0, Dt = {
@@ -6743,19 +6743,19 @@ return /******/ (function(modules) { // webpackBootstrap
}
function c() {
var l, u, t, r, o;
- return l = qt, u = i(), null !== u ? (t = qt, 124 === n.charCodeAt(qt) ? (r = fl,
- qt++) : (r = null, 0 === Wt && e(sl)), null !== r ? (o = c(), null !== o ? (r = [ r, o ],
- t = r) : (qt = t, t = il)) : (qt = t, t = il), null === t && (t = al), null !== t ? (Lt = l,
- u = hl(u, t), null === u ? (qt = l, l = u) : l = u) : (qt = l, l = il)) : (qt = l,
+ return l = qt, u = i(), null !== u ? (t = qt, 124 === n.charCodeAt(qt) ? (r = fl,
+ qt++) : (r = null, 0 === Wt && e(sl)), null !== r ? (o = c(), null !== o ? (r = [ r, o ],
+ t = r) : (qt = t, t = il)) : (qt = t, t = il), null === t && (t = al), null !== t ? (Lt = l,
+ u = hl(u, t), null === u ? (qt = l, l = u) : l = u) : (qt = l, l = il)) : (qt = l,
l = il), l;
}
function i() {
var n, l, u, t, r;
- if (n = qt, l = f(), null === l && (l = al), null !== l) if (u = qt, Wt++, t = d(),
+ if (n = qt, l = f(), null === l && (l = al), null !== l) if (u = qt, Wt++, t = d(),
Wt--, null === t ? u = al : (qt = u, u = il), null !== u) {
- for (t = [], r = h(), null === r && (r = a()); null !== r; ) t.push(r), r = h(),
+ for (t = [], r = h(), null === r && (r = a()); null !== r; ) t.push(r), r = h(),
null === r && (r = a());
- null !== t ? (r = s(), null === r && (r = al), null !== r ? (Lt = n, l = dl(l, t, r),
+ null !== t ? (r = s(), null === r && (r = al), null !== r ? (Lt = n, l = dl(l, t, r),
null === l ? (qt = n, n = l) : n = l) : (qt = n, n = il)) : (qt = n, n = il);
} else qt = n, n = il; else qt = n, n = il;
return n;
@@ -6766,148 +6766,148 @@ return /******/ (function(modules) { // webpackBootstrap
}
function f() {
var l, u;
- return l = qt, 94 === n.charCodeAt(qt) ? (u = pl, qt++) : (u = null, 0 === Wt && e(vl)),
+ return l = qt, 94 === n.charCodeAt(qt) ? (u = pl, qt++) : (u = null, 0 === Wt && e(vl)),
null !== u && (Lt = l, u = wl()), null === u ? (qt = l, l = u) : l = u, l;
}
function s() {
var l, u;
- return l = qt, 36 === n.charCodeAt(qt) ? (u = Al, qt++) : (u = null, 0 === Wt && e(Cl)),
+ return l = qt, 36 === n.charCodeAt(qt) ? (u = Al, qt++) : (u = null, 0 === Wt && e(Cl)),
null !== u && (Lt = l, u = gl()), null === u ? (qt = l, l = u) : l = u, l;
}
function h() {
var n, l, u;
- return n = qt, l = a(), null !== l ? (u = d(), null !== u ? (Lt = n, l = bl(l, u),
+ return n = qt, l = a(), null !== l ? (u = d(), null !== u ? (Lt = n, l = bl(l, u),
null === l ? (qt = n, n = l) : n = l) : (qt = n, n = il)) : (qt = n, n = il), n;
}
function d() {
var n, l, u;
- return Wt++, n = qt, l = p(), null !== l ? (u = k(), null === u && (u = al), null !== u ? (Lt = n,
- l = Tl(l, u), null === l ? (qt = n, n = l) : n = l) : (qt = n, n = il)) : (qt = n,
+ return Wt++, n = qt, l = p(), null !== l ? (u = k(), null === u && (u = al), null !== u ? (Lt = n,
+ l = Tl(l, u), null === l ? (qt = n, n = l) : n = l) : (qt = n, n = il)) : (qt = n,
n = il), Wt--, null === n && (l = null, 0 === Wt && e(kl)), n;
}
function p() {
var n;
- return n = v(), null === n && (n = w(), null === n && (n = A(), null === n && (n = C(),
+ return n = v(), null === n && (n = w(), null === n && (n = A(), null === n && (n = C(),
null === n && (n = g(), null === n && (n = b()))))), n;
}
function v() {
var l, u, t, r, o, c;
- return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)),
- null !== u ? (t = T(), null !== t ? (44 === n.charCodeAt(qt) ? (r = ml, qt++) : (r = null,
- 0 === Wt && e(Rl)), null !== r ? (o = T(), null !== o ? (125 === n.charCodeAt(qt) ? (c = Fl,
- qt++) : (c = null, 0 === Wt && e(Ql)), null !== c ? (Lt = l, u = Sl(t, o), null === u ? (qt = l,
- l = u) : l = u) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l,
+ return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)),
+ null !== u ? (t = T(), null !== t ? (44 === n.charCodeAt(qt) ? (r = ml, qt++) : (r = null,
+ 0 === Wt && e(Rl)), null !== r ? (o = T(), null !== o ? (125 === n.charCodeAt(qt) ? (c = Fl,
+ qt++) : (c = null, 0 === Wt && e(Ql)), null !== c ? (Lt = l, u = Sl(t, o), null === u ? (qt = l,
+ l = u) : l = u) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l,
l = il)) : (qt = l, l = il), l;
}
function w() {
var l, u, t, r;
- return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)),
- null !== u ? (t = T(), null !== t ? (n.substr(qt, 2) === Ul ? (r = Ul, qt += 2) : (r = null,
- 0 === Wt && e(El)), null !== r ? (Lt = l, u = Gl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)),
+ null !== u ? (t = T(), null !== t ? (n.substr(qt, 2) === Ul ? (r = Ul, qt += 2) : (r = null,
+ 0 === Wt && e(El)), null !== r ? (Lt = l, u = Gl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il)) : (qt = l, l = il)) : (qt = l, l = il), l;
}
function A() {
var l, u, t, r;
- return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)),
- null !== u ? (t = T(), null !== t ? (125 === n.charCodeAt(qt) ? (r = Fl, qt++) : (r = null,
- 0 === Wt && e(Ql)), null !== r ? (Lt = l, u = Bl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)),
+ null !== u ? (t = T(), null !== t ? (125 === n.charCodeAt(qt) ? (r = Fl, qt++) : (r = null,
+ 0 === Wt && e(Ql)), null !== r ? (Lt = l, u = Bl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il)) : (qt = l, l = il)) : (qt = l, l = il), l;
}
function C() {
var l, u;
- return l = qt, 43 === n.charCodeAt(qt) ? (u = jl, qt++) : (u = null, 0 === Wt && e($l)),
+ return l = qt, 43 === n.charCodeAt(qt) ? (u = jl, qt++) : (u = null, 0 === Wt && e($l)),
null !== u && (Lt = l, u = ql()), null === u ? (qt = l, l = u) : l = u, l;
}
function g() {
var l, u;
- return l = qt, 42 === n.charCodeAt(qt) ? (u = Ll, qt++) : (u = null, 0 === Wt && e(Ml)),
+ return l = qt, 42 === n.charCodeAt(qt) ? (u = Ll, qt++) : (u = null, 0 === Wt && e(Ml)),
null !== u && (Lt = l, u = Dl()), null === u ? (qt = l, l = u) : l = u, l;
}
function b() {
var l, u;
- return l = qt, 63 === n.charCodeAt(qt) ? (u = Hl, qt++) : (u = null, 0 === Wt && e(Ol)),
+ return l = qt, 63 === n.charCodeAt(qt) ? (u = Hl, qt++) : (u = null, 0 === Wt && e(Ol)),
null !== u && (Lt = l, u = Wl()), null === u ? (qt = l, l = u) : l = u, l;
}
function k() {
var l;
- return 63 === n.charCodeAt(qt) ? (l = Hl, qt++) : (l = null, 0 === Wt && e(Ol)),
+ return 63 === n.charCodeAt(qt) ? (l = Hl, qt++) : (l = null, 0 === Wt && e(Ol)),
l;
}
function T() {
var l, u, t;
- if (l = qt, u = [], zl.test(n.charAt(qt)) ? (t = n.charAt(qt), qt++) : (t = null,
- 0 === Wt && e(Il)), null !== t) for (;null !== t; ) u.push(t), zl.test(n.charAt(qt)) ? (t = n.charAt(qt),
+ if (l = qt, u = [], zl.test(n.charAt(qt)) ? (t = n.charAt(qt), qt++) : (t = null,
+ 0 === Wt && e(Il)), null !== t) for (;null !== t; ) u.push(t), zl.test(n.charAt(qt)) ? (t = n.charAt(qt),
qt++) : (t = null, 0 === Wt && e(Il)); else u = il;
- return null !== u && (Lt = l, u = Jl(u)), null === u ? (qt = l, l = u) : l = u,
+ return null !== u && (Lt = l, u = Jl(u)), null === u ? (qt = l, l = u) : l = u,
l;
}
function x() {
var l, u, t, r;
- return l = qt, 40 === n.charCodeAt(qt) ? (u = Kl, qt++) : (u = null, 0 === Wt && e(Nl)),
- null !== u ? (t = R(), null === t && (t = F(), null === t && (t = m(), null === t && (t = y()))),
- null !== t ? (41 === n.charCodeAt(qt) ? (r = Pl, qt++) : (r = null, 0 === Wt && e(Vl)),
- null !== r ? (Lt = l, u = Xl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ return l = qt, 40 === n.charCodeAt(qt) ? (u = Kl, qt++) : (u = null, 0 === Wt && e(Nl)),
+ null !== u ? (t = R(), null === t && (t = F(), null === t && (t = m(), null === t && (t = y()))),
+ null !== t ? (41 === n.charCodeAt(qt) ? (r = Pl, qt++) : (r = null, 0 === Wt && e(Vl)),
+ null !== r ? (Lt = l, u = Xl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il)) : (qt = l, l = il)) : (qt = l, l = il), l;
}
function y() {
var n, l;
- return n = qt, l = c(), null !== l && (Lt = n, l = Yl(l)), null === l ? (qt = n,
+ return n = qt, l = c(), null !== l && (Lt = n, l = Yl(l)), null === l ? (qt = n,
n = l) : n = l, n;
}
function m() {
var l, u, t;
- return l = qt, n.substr(qt, 2) === Zl ? (u = Zl, qt += 2) : (u = null, 0 === Wt && e(_l)),
- null !== u ? (t = c(), null !== t ? (Lt = l, u = nu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ return l = qt, n.substr(qt, 2) === Zl ? (u = Zl, qt += 2) : (u = null, 0 === Wt && e(_l)),
+ null !== u ? (t = c(), null !== t ? (Lt = l, u = nu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il)) : (qt = l, l = il), l;
}
function R() {
var l, u, t;
- return l = qt, n.substr(qt, 2) === lu ? (u = lu, qt += 2) : (u = null, 0 === Wt && e(uu)),
- null !== u ? (t = c(), null !== t ? (Lt = l, u = tu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ return l = qt, n.substr(qt, 2) === lu ? (u = lu, qt += 2) : (u = null, 0 === Wt && e(uu)),
+ null !== u ? (t = c(), null !== t ? (Lt = l, u = tu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il)) : (qt = l, l = il), l;
}
function F() {
var l, u, t;
- return l = qt, n.substr(qt, 2) === ru ? (u = ru, qt += 2) : (u = null, 0 === Wt && e(eu)),
- null !== u ? (t = c(), null !== t ? (Lt = l, u = ou(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ return l = qt, n.substr(qt, 2) === ru ? (u = ru, qt += 2) : (u = null, 0 === Wt && e(eu)),
+ null !== u ? (t = c(), null !== t ? (Lt = l, u = ou(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il)) : (qt = l, l = il), l;
}
function Q() {
var l, u, t, r, o;
- if (Wt++, l = qt, 91 === n.charCodeAt(qt) ? (u = iu, qt++) : (u = null, 0 === Wt && e(au)),
- null !== u) if (94 === n.charCodeAt(qt) ? (t = pl, qt++) : (t = null, 0 === Wt && e(vl)),
+ if (Wt++, l = qt, 91 === n.charCodeAt(qt) ? (u = iu, qt++) : (u = null, 0 === Wt && e(au)),
+ null !== u) if (94 === n.charCodeAt(qt) ? (t = pl, qt++) : (t = null, 0 === Wt && e(vl)),
null === t && (t = al), null !== t) {
- for (r = [], o = S(), null === o && (o = U()); null !== o; ) r.push(o), o = S(),
+ for (r = [], o = S(), null === o && (o = U()); null !== o; ) r.push(o), o = S(),
null === o && (o = U());
- null !== r ? (93 === n.charCodeAt(qt) ? (o = fu, qt++) : (o = null, 0 === Wt && e(su)),
- null !== o ? (Lt = l, u = hu(t, r), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ null !== r ? (93 === n.charCodeAt(qt) ? (o = fu, qt++) : (o = null, 0 === Wt && e(su)),
+ null !== o ? (Lt = l, u = hu(t, r), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il)) : (qt = l, l = il);
} else qt = l, l = il; else qt = l, l = il;
return Wt--, null === l && (u = null, 0 === Wt && e(cu)), l;
}
function S() {
var l, u, t, r;
- return Wt++, l = qt, u = U(), null !== u ? (45 === n.charCodeAt(qt) ? (t = pu, qt++) : (t = null,
- 0 === Wt && e(vu)), null !== t ? (r = U(), null !== r ? (Lt = l, u = wu(u, r), null === u ? (qt = l,
- l = u) : l = u) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l, l = il), Wt--,
+ return Wt++, l = qt, u = U(), null !== u ? (45 === n.charCodeAt(qt) ? (t = pu, qt++) : (t = null,
+ 0 === Wt && e(vu)), null !== t ? (r = U(), null !== r ? (Lt = l, u = wu(u, r), null === u ? (qt = l,
+ l = u) : l = u) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l, l = il), Wt--,
null === l && (u = null, 0 === Wt && e(du)), l;
}
function U() {
var n, l;
- return Wt++, n = G(), null === n && (n = E()), Wt--, null === n && (l = null, 0 === Wt && e(Au)),
+ return Wt++, n = G(), null === n && (n = E()), Wt--, null === n && (l = null, 0 === Wt && e(Au)),
n;
}
function E() {
var l, u;
- return l = qt, Cu.test(n.charAt(qt)) ? (u = n.charAt(qt), qt++) : (u = null, 0 === Wt && e(gu)),
+ return l = qt, Cu.test(n.charAt(qt)) ? (u = n.charAt(qt), qt++) : (u = null, 0 === Wt && e(gu)),
null !== u && (Lt = l, u = bu(u)), null === u ? (qt = l, l = u) : l = u, l;
}
function G() {
var n;
- return n = L(), null === n && (n = Y(), null === n && (n = H(), null === n && (n = O(),
- null === n && (n = W(), null === n && (n = z(), null === n && (n = I(), null === n && (n = J(),
- null === n && (n = K(), null === n && (n = N(), null === n && (n = P(), null === n && (n = V(),
- null === n && (n = X(), null === n && (n = _(), null === n && (n = nl(), null === n && (n = ll(),
+ return n = L(), null === n && (n = Y(), null === n && (n = H(), null === n && (n = O(),
+ null === n && (n = W(), null === n && (n = z(), null === n && (n = I(), null === n && (n = J(),
+ null === n && (n = K(), null === n && (n = N(), null === n && (n = P(), null === n && (n = V(),
+ null === n && (n = X(), null === n && (n = _(), null === n && (n = nl(), null === n && (n = ll(),
null === n && (n = ul(), null === n && (n = tl()))))))))))))))))), n;
}
function B() {
@@ -6916,154 +6916,154 @@ return /******/ (function(modules) { // webpackBootstrap
}
function j() {
var l, u;
- return l = qt, 46 === n.charCodeAt(qt) ? (u = ku, qt++) : (u = null, 0 === Wt && e(Tu)),
+ return l = qt, 46 === n.charCodeAt(qt) ? (u = ku, qt++) : (u = null, 0 === Wt && e(Tu)),
null !== u && (Lt = l, u = xu()), null === u ? (qt = l, l = u) : l = u, l;
}
function $() {
var l, u;
- return Wt++, l = qt, mu.test(n.charAt(qt)) ? (u = n.charAt(qt), qt++) : (u = null,
- 0 === Wt && e(Ru)), null !== u && (Lt = l, u = bu(u)), null === u ? (qt = l, l = u) : l = u,
+ return Wt++, l = qt, mu.test(n.charAt(qt)) ? (u = n.charAt(qt), qt++) : (u = null,
+ 0 === Wt && e(Ru)), null !== u && (Lt = l, u = bu(u)), null === u ? (qt = l, l = u) : l = u,
Wt--, null === l && (u = null, 0 === Wt && e(yu)), l;
}
function q() {
var n;
- return n = M(), null === n && (n = D(), null === n && (n = Y(), null === n && (n = H(),
- null === n && (n = O(), null === n && (n = W(), null === n && (n = z(), null === n && (n = I(),
- null === n && (n = J(), null === n && (n = K(), null === n && (n = N(), null === n && (n = P(),
- null === n && (n = V(), null === n && (n = X(), null === n && (n = Z(), null === n && (n = _(),
- null === n && (n = nl(), null === n && (n = ll(), null === n && (n = ul(), null === n && (n = tl()))))))))))))))))))),
+ return n = M(), null === n && (n = D(), null === n && (n = Y(), null === n && (n = H(),
+ null === n && (n = O(), null === n && (n = W(), null === n && (n = z(), null === n && (n = I(),
+ null === n && (n = J(), null === n && (n = K(), null === n && (n = N(), null === n && (n = P(),
+ null === n && (n = V(), null === n && (n = X(), null === n && (n = Z(), null === n && (n = _(),
+ null === n && (n = nl(), null === n && (n = ll(), null === n && (n = ul(), null === n && (n = tl()))))))))))))))))))),
n;
}
function L() {
var l, u;
- return l = qt, n.substr(qt, 2) === Fu ? (u = Fu, qt += 2) : (u = null, 0 === Wt && e(Qu)),
+ return l = qt, n.substr(qt, 2) === Fu ? (u = Fu, qt += 2) : (u = null, 0 === Wt && e(Qu)),
null !== u && (Lt = l, u = Su()), null === u ? (qt = l, l = u) : l = u, l;
}
function M() {
var l, u;
- return l = qt, n.substr(qt, 2) === Fu ? (u = Fu, qt += 2) : (u = null, 0 === Wt && e(Qu)),
+ return l = qt, n.substr(qt, 2) === Fu ? (u = Fu, qt += 2) : (u = null, 0 === Wt && e(Qu)),
null !== u && (Lt = l, u = Uu()), null === u ? (qt = l, l = u) : l = u, l;
}
function D() {
var l, u;
- return l = qt, n.substr(qt, 2) === Eu ? (u = Eu, qt += 2) : (u = null, 0 === Wt && e(Gu)),
+ return l = qt, n.substr(qt, 2) === Eu ? (u = Eu, qt += 2) : (u = null, 0 === Wt && e(Gu)),
null !== u && (Lt = l, u = Bu()), null === u ? (qt = l, l = u) : l = u, l;
}
function H() {
var l, u;
- return l = qt, n.substr(qt, 2) === ju ? (u = ju, qt += 2) : (u = null, 0 === Wt && e($u)),
+ return l = qt, n.substr(qt, 2) === ju ? (u = ju, qt += 2) : (u = null, 0 === Wt && e($u)),
null !== u && (Lt = l, u = qu()), null === u ? (qt = l, l = u) : l = u, l;
}
function O() {
var l, u;
- return l = qt, n.substr(qt, 2) === Lu ? (u = Lu, qt += 2) : (u = null, 0 === Wt && e(Mu)),
+ return l = qt, n.substr(qt, 2) === Lu ? (u = Lu, qt += 2) : (u = null, 0 === Wt && e(Mu)),
null !== u && (Lt = l, u = Du()), null === u ? (qt = l, l = u) : l = u, l;
}
function W() {
var l, u;
- return l = qt, n.substr(qt, 2) === Hu ? (u = Hu, qt += 2) : (u = null, 0 === Wt && e(Ou)),
+ return l = qt, n.substr(qt, 2) === Hu ? (u = Hu, qt += 2) : (u = null, 0 === Wt && e(Ou)),
null !== u && (Lt = l, u = Wu()), null === u ? (qt = l, l = u) : l = u, l;
}
function z() {
var l, u;
- return l = qt, n.substr(qt, 2) === zu ? (u = zu, qt += 2) : (u = null, 0 === Wt && e(Iu)),
+ return l = qt, n.substr(qt, 2) === zu ? (u = zu, qt += 2) : (u = null, 0 === Wt && e(Iu)),
null !== u && (Lt = l, u = Ju()), null === u ? (qt = l, l = u) : l = u, l;
}
function I() {
var l, u;
- return l = qt, n.substr(qt, 2) === Ku ? (u = Ku, qt += 2) : (u = null, 0 === Wt && e(Nu)),
+ return l = qt, n.substr(qt, 2) === Ku ? (u = Ku, qt += 2) : (u = null, 0 === Wt && e(Nu)),
null !== u && (Lt = l, u = Pu()), null === u ? (qt = l, l = u) : l = u, l;
}
function J() {
var l, u;
- return l = qt, n.substr(qt, 2) === Vu ? (u = Vu, qt += 2) : (u = null, 0 === Wt && e(Xu)),
+ return l = qt, n.substr(qt, 2) === Vu ? (u = Vu, qt += 2) : (u = null, 0 === Wt && e(Xu)),
null !== u && (Lt = l, u = Yu()), null === u ? (qt = l, l = u) : l = u, l;
}
function K() {
var l, u;
- return l = qt, n.substr(qt, 2) === Zu ? (u = Zu, qt += 2) : (u = null, 0 === Wt && e(_u)),
+ return l = qt, n.substr(qt, 2) === Zu ? (u = Zu, qt += 2) : (u = null, 0 === Wt && e(_u)),
null !== u && (Lt = l, u = nt()), null === u ? (qt = l, l = u) : l = u, l;
}
function N() {
var l, u;
- return l = qt, n.substr(qt, 2) === lt ? (u = lt, qt += 2) : (u = null, 0 === Wt && e(ut)),
+ return l = qt, n.substr(qt, 2) === lt ? (u = lt, qt += 2) : (u = null, 0 === Wt && e(ut)),
null !== u && (Lt = l, u = tt()), null === u ? (qt = l, l = u) : l = u, l;
}
function P() {
var l, u;
- return l = qt, n.substr(qt, 2) === rt ? (u = rt, qt += 2) : (u = null, 0 === Wt && e(et)),
+ return l = qt, n.substr(qt, 2) === rt ? (u = rt, qt += 2) : (u = null, 0 === Wt && e(et)),
null !== u && (Lt = l, u = ot()), null === u ? (qt = l, l = u) : l = u, l;
}
function V() {
var l, u;
- return l = qt, n.substr(qt, 2) === ct ? (u = ct, qt += 2) : (u = null, 0 === Wt && e(it)),
+ return l = qt, n.substr(qt, 2) === ct ? (u = ct, qt += 2) : (u = null, 0 === Wt && e(it)),
null !== u && (Lt = l, u = at()), null === u ? (qt = l, l = u) : l = u, l;
}
function X() {
var l, u;
- return l = qt, n.substr(qt, 2) === ft ? (u = ft, qt += 2) : (u = null, 0 === Wt && e(st)),
+ return l = qt, n.substr(qt, 2) === ft ? (u = ft, qt += 2) : (u = null, 0 === Wt && e(st)),
null !== u && (Lt = l, u = ht()), null === u ? (qt = l, l = u) : l = u, l;
}
function Y() {
var l, u, t;
- return l = qt, n.substr(qt, 2) === dt ? (u = dt, qt += 2) : (u = null, 0 === Wt && e(pt)),
- null !== u ? (n.length > qt ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(vt)),
- null !== t ? (Lt = l, u = wt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ return l = qt, n.substr(qt, 2) === dt ? (u = dt, qt += 2) : (u = null, 0 === Wt && e(pt)),
+ null !== u ? (n.length > qt ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(vt)),
+ null !== t ? (Lt = l, u = wt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il)) : (qt = l, l = il), l;
}
function Z() {
var l, u, t;
- return l = qt, 92 === n.charCodeAt(qt) ? (u = At, qt++) : (u = null, 0 === Wt && e(Ct)),
- null !== u ? (gt.test(n.charAt(qt)) ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(bt)),
- null !== t ? (Lt = l, u = kt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ return l = qt, 92 === n.charCodeAt(qt) ? (u = At, qt++) : (u = null, 0 === Wt && e(Ct)),
+ null !== u ? (gt.test(n.charAt(qt)) ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(bt)),
+ null !== t ? (Lt = l, u = kt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il)) : (qt = l, l = il), l;
}
function _() {
var l, u, t, r;
- if (l = qt, n.substr(qt, 2) === Tt ? (u = Tt, qt += 2) : (u = null, 0 === Wt && e(xt)),
+ if (l = qt, n.substr(qt, 2) === Tt ? (u = Tt, qt += 2) : (u = null, 0 === Wt && e(xt)),
null !== u) {
- if (t = [], yt.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(mt)),
- null !== r) for (;null !== r; ) t.push(r), yt.test(n.charAt(qt)) ? (r = n.charAt(qt),
+ if (t = [], yt.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(mt)),
+ null !== r) for (;null !== r; ) t.push(r), yt.test(n.charAt(qt)) ? (r = n.charAt(qt),
qt++) : (r = null, 0 === Wt && e(mt)); else t = il;
- null !== t ? (Lt = l, u = Rt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ null !== t ? (Lt = l, u = Rt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il);
} else qt = l, l = il;
return l;
}
function nl() {
var l, u, t, r;
- if (l = qt, n.substr(qt, 2) === Ft ? (u = Ft, qt += 2) : (u = null, 0 === Wt && e(Qt)),
+ if (l = qt, n.substr(qt, 2) === Ft ? (u = Ft, qt += 2) : (u = null, 0 === Wt && e(Qt)),
null !== u) {
- if (t = [], St.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(Ut)),
- null !== r) for (;null !== r; ) t.push(r), St.test(n.charAt(qt)) ? (r = n.charAt(qt),
+ if (t = [], St.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(Ut)),
+ null !== r) for (;null !== r; ) t.push(r), St.test(n.charAt(qt)) ? (r = n.charAt(qt),
qt++) : (r = null, 0 === Wt && e(Ut)); else t = il;
- null !== t ? (Lt = l, u = Et(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ null !== t ? (Lt = l, u = Et(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il);
} else qt = l, l = il;
return l;
}
function ll() {
var l, u, t, r;
- if (l = qt, n.substr(qt, 2) === Gt ? (u = Gt, qt += 2) : (u = null, 0 === Wt && e(Bt)),
+ if (l = qt, n.substr(qt, 2) === Gt ? (u = Gt, qt += 2) : (u = null, 0 === Wt && e(Bt)),
null !== u) {
- if (t = [], St.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(Ut)),
- null !== r) for (;null !== r; ) t.push(r), St.test(n.charAt(qt)) ? (r = n.charAt(qt),
+ if (t = [], St.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(Ut)),
+ null !== r) for (;null !== r; ) t.push(r), St.test(n.charAt(qt)) ? (r = n.charAt(qt),
qt++) : (r = null, 0 === Wt && e(Ut)); else t = il;
- null !== t ? (Lt = l, u = jt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ null !== t ? (Lt = l, u = jt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il);
} else qt = l, l = il;
return l;
}
function ul() {
var l, u;
- return l = qt, n.substr(qt, 2) === Tt ? (u = Tt, qt += 2) : (u = null, 0 === Wt && e(xt)),
+ return l = qt, n.substr(qt, 2) === Tt ? (u = Tt, qt += 2) : (u = null, 0 === Wt && e(xt)),
null !== u && (Lt = l, u = $t()), null === u ? (qt = l, l = u) : l = u, l;
}
function tl() {
var l, u, t;
- return l = qt, 92 === n.charCodeAt(qt) ? (u = At, qt++) : (u = null, 0 === Wt && e(Ct)),
- null !== u ? (n.length > qt ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(vt)),
- null !== t ? (Lt = l, u = bu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
+ return l = qt, 92 === n.charCodeAt(qt) ? (u = At, qt++) : (u = null, 0 === Wt && e(Ct)),
+ null !== u ? (n.length > qt ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(vt)),
+ null !== t ? (Lt = l, u = bu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
l = il)) : (qt = l, l = il), l;
}
var rl, el = arguments.length > 1 ? arguments[1] : {}, ol = {
@@ -7234,7 +7234,7 @@ return /******/ (function(modules) { // webpackBootstrap
var Util = __webpack_require__(3)
var Random = __webpack_require__(5)
/*
-
+
*/
var Handler = {
extend: Util.extend
@@ -7481,7 +7481,7 @@ return /******/ (function(modules) { // webpackBootstrap
return Random.integer(min, max)
},
/*
-
+
*/
charset: function(node, result, cache) {
// node.invert
@@ -7642,11 +7642,11 @@ return /******/ (function(modules) { // webpackBootstrap
## valid(template, data)
校验真实数据 data 是否与数据模板 template 匹配。
-
+
实现思路:
1. 解析规则。
先把数据模板 template 解析为更方便机器解析的 JSON-Schame
- name 属性名
+ name 属性名
type 属性值类型
template 属性值模板
properties 对象属性数组
@@ -7655,7 +7655,7 @@ return /******/ (function(modules) { // webpackBootstrap
2. 递归验证规则。
然后用 JSON-Schema 校验真实数据,校验项包括属性名、值类型、值、值生成规则。
- 提示信息
+ 提示信息
https://github.com/fge/json-schema-validator/blob/master/src/main/resources/com/github/fge/jsonschema/validator/validation.properties
[JSON-Schama validator](http://json-schema-validator.herokuapp.com/)
[Regexp Demo](http://demos.forbeslindesay.co.uk/regexp/)
@@ -7693,8 +7693,8 @@ return /******/ (function(modules) { // webpackBootstrap
+step
整数部分
小数部分
- boolean
- string
+ boolean
+ string
min-max
count
## properties
@@ -7949,9 +7949,9 @@ return /******/ (function(modules) { // webpackBootstrap
/*
完善、友好的提示信息
-
+
Equal, not equal to, greater than, less than, greater than or equal to, less than or equal to
- 路径 验证类型 描述
+ 路径 验证类型 描述
Expect path.name is less than or equal to expected, but path.name is actual.
@@ -8264,7 +8264,7 @@ return /******/ (function(modules) { // webpackBootstrap
Util.extend(MockXMLHttpRequest.prototype, {
// https://xhr.spec.whatwg.org/#the-open()-method
// Sets the request method, request URL, and synchronous flag.
- open: function(method, url, async, username, password) {
+ open: function(method, url, async = true, username, password) {
var that = this
Util.extend(this.custom, {
@@ -8310,6 +8310,8 @@ return /******/ (function(modules) { // webpackBootstrap
var xhr = createNativeXMLHttpRequest()
this.custom.xhr = xhr
+ MockXMLHttpRequest.prototype.upload = xhr.upload
+
// 初始化所有事件,用于监听原生 XHR 对象的事件
for (var i = 0; i < XHR_EVENTS.length; i++) {
xhr.addEventListener(XHR_EVENTS[i], handle)
@@ -8360,6 +8362,7 @@ return /******/ (function(modules) { // webpackBootstrap
// 原生 XHR
if (!this.match) {
+ this.custom.xhr.responseType = this.responseType || ''
this.custom.xhr.send(data)
return
}

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 165.1 50.7" style="enable-background:new 0 0 165.1 50.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FEFEFE;}
.st1{fill:#1A8D44;}
.st2{fill:#E7251B;}
.st3{fill:#114679;}
.st4{fill:#396592;}
.st5{fill:#095183;}
.st6{enable-background:new ;}
.st7{fill:#323333;}
</style>
<path fill="#FEFEFE" d="M165.1,1.6c0,9.1,0,18.2,0,27.3c0,0.6-0.1,0.7-0.7,0.7H0.7c-0.6,0-0.7-0.1-0.7-0.7c0-9.4,0-18.8,0-28.1
C0,0.1,0.1,0,0.7,0c54.6,0,109.1,0,163.7,0c0.6,0,0.8,0.1,0.7,0.7c-2.3,0-4.6,0-6.9,0c-0.5,0-1,0.2-1.3,0.6
c-2.5,3.2-5.1,6.3-7.7,9.4c-0.2,0.3-0.4,0.6-0.7,0.8c0-0.2,0-0.4,0.1-0.6c0.6-3.1,1.1-6.2,1.7-9.3c0.1-0.6,0.1-0.9-0.7-0.9
c-1.6,0.1-3.2,0-4.8,0c-0.6,0-0.8,0.2-0.9,0.8c-0.8,4.5-1.6,8.9-2.4,13.4c-0.7,4-1.4,8-2.1,12c1.9,0,3.9,0,5.8,0
c0.6,0,0.8-0.2,0.9-0.8c0.4-2.3,0.8-4.6,1.2-7c0-0.2,0-0.5,0.2-0.6l2.7-2.5c0.2,0.4,0.3,0.6,0.4,0.9c1.3,3.1,2.5,6.2,3.8,9.3
c0.1,0.5,0.5,0.8,1,0.7c1.8,0,3.6,0,5.4,0c1.1,0,1.1,0,0.6-0.9c-1.9-4.5-3.8-8.9-5.8-13.4c-0.3-0.4-0.2-0.9,0.2-1.2
c3-3.1,6-6.3,9-9.4C164.7,1.8,164.8,1.6,165.1,1.6z M33.6,6.8C31,7.3,29,9.2,28.3,11.7c-0.6,1.7-0.4,3.6,0.6,5.2
c0.6-2.4,2.4-3.5,4.3-4.6l1.1-0.4l2.9-0.9c0.2,0,0.5-0.1,0.3-0.3c-0.7-0.8,0-0.7,0.4-0.7s0.6-0.4,0.7-0.7s0.4-0.4,0.6-0.1
c0.2,0.5,0.7,0.9,1.3,0.9c0.3,0,0.3,0.3,0.1,0.4c-0.7,0.4-0.6,1-0.4,1.8c-0.8-0.4-1.4-0.6-2.1-0.1c-0.3,0.2-0.3-0.1-0.3-0.3
c0.1-0.4-0.2-0.5-0.5-0.4c-0.7,0.1-1.5,0.4-2.2,0.7c-0.6,0.1-1.2,0.4-1.8,0.8c-0.6,0.3-1.2,0.6-1.7,1.1c-1.5,1.6-1.4,4.1,0.2,5.5
c0.3,0.3,0.7,0.6,1.2,0.8c3.3,1.2,7.1,0,9.1-2.9c0.6-1,0.9-2.1,1.1-3.2c0.2-1,0-2-0.5-2.8c0.2-0.6-0.4-1-0.6-1.4
c-1.3-2-3.5-3.3-5.9-3.4C35.3,6.4,34.4,6.5,33.6,6.8z M132.6,14.7c0.9-0.4,1.7-0.8,2.5-1.3c2.4-1.5,3.7-4.4,3.1-7.2
c-0.3-2.5-2.2-4.5-4.7-5c-4.3-1.2-8.7-0.8-13.1-0.1c-0.4,0.1-0.5,0.4-0.6,0.7c-0.2,1.2-0.4,2.5-0.7,3.7c-1.2,6.9-2.5,13.7-3.7,20.6
c-0.1,0.6,0,0.8,0.6,0.8c1.7,0,3.5,0,5.2,0c0.5,0,0.6-0.1,0.7-0.6c0.4-2.6,0.9-5.1,1.4-7.6c0.3-1.6,0.3-1.6,1.9-1.6
c1.3-0.1,2.5,0.7,2.8,1.9c0.2,0.5,0.3,1,0.3,1.4c0.3,1.9,0.4,3.9,0.9,5.8c0.1,0.4,0.1,0.7,0.6,0.7c2.1,0,4.1,0,6.3,0
c-0.7-2.7-0.8-5.4-1.2-8C134.8,17.3,133.9,15.7,132.6,14.7L132.6,14.7z M27.8,0.7c-2.3,0-4.6,0.1-6.8,0c-0.9-0.1-1.8,0.3-2.3,1.1
c-2.4,3.1-4.9,6-7.3,9c-0.2,0.2-0.3,0.5-0.6,0.4s0-0.4,0.1-0.6c0.5-3.1,1-6.1,1.6-9.2c0.1-0.6-0.1-0.7-0.6-0.6c-1.6,0-3.3,0-4.9,0
c-0.7,0-0.9,0.2-1,0.8c-0.5,2.8-1,5.7-1.5,8.5c-1,5.4-1.9,10.7-2.9,16.1c-0.1,0.6-0.1,0.9,0.7,0.8c1.7-0.1,3.3,0,5,0
c0.5,0,0.7-0.2,0.8-0.7c0.4-2.3,0.8-4.6,1.2-6.9c0-0.4,0.1-0.7,0.3-1c0.8-0.8,1.7-1.6,2.6-2.4c0.2,0.4,0.3,0.7,0.4,1
c1.2,3.1,2.5,6.1,3.7,9.2c0.1,0.4,0.6,0.7,1,0.6c1.9,0,3.8,0,5.6,0c0.8,0,0.8-0.2,0.6-0.9c-1.9-4.5-3.9-9-5.8-13.5
c-0.3-0.4-0.2-1,0.2-1.3C21,8,24.1,4.7,27.3,1.4C27.5,1.3,27.7,1,27.8,0.7L27.8,0.7z M109.2,26.9c0.9,0,1.8,0,2.6,0
c0.9,0.1,0.9-0.2,0.8-1c-1.1-8.2-2.2-16.4-3.3-24.6c-0.1-0.6-0.3-0.7-0.8-0.7c-2.4,0-4.8,0-7.2,0c-0.6-0.1-1.1,0.3-1.2,0.8
c-1.6,3.5-3.3,7-4.9,10.4c-2.2,4.7-4.5,9.5-6.7,14.2c-0.3,0.7-0.2,0.9,0.6,0.8c1.8,0,3.6-0.1,5.4,0c0.6,0.1,1.1-0.3,1.2-0.8
c0.7-1.7,1.4-3.4,2.1-5.1c0.1-0.4,0.4-0.6,0.8-0.6c2,0,4,0,6.1,0c0.5,0,0.7,0.2,0.7,0.7c0.1,1.7,0.3,3.4,0.3,5.1
c0,0.6,0.2,0.8,0.8,0.8C107.4,26.9,108.3,26.9,109.2,26.9L109.2,26.9z M80.8,0.5c-2.1,0-4.2,0.2-6.3,0.6c-0.4,0.1-0.8,0.2-0.9,0.8
c-1.4,8.1-2.9,16.3-4.3,24.4c-0.1,0.6,0.1,0.7,0.6,0.7c1.6,0,3.1-0.1,4.7,0c0.8,0,1.1-0.2,1.2-1c0.4-2.4,0.9-4.8,1.3-7.2
c0.1-0.6,0.3-0.8,0.9-0.7c1.9,0.3,3.8,0.2,5.6-0.3c3.7-0.8,6.6-2.7,7.8-6.5c1.2-4.2,0.3-9.2-6.2-10.4C83.7,0.6,82.3,0.5,80.8,0.5
L80.8,0.5z M61.4,0.2c-2.9-0.1-5.8,0.9-8.1,2.7c-3.1,2.6-4.6,8.8,0.7,12.2c1,0.6,2,1.1,3,1.6c0.8,0.3,1.6,0.8,2.3,1.3
c0.8,0.6,0.9,1.6,0.4,2.4c-0.2,0.3-0.5,0.5-0.8,0.6c-0.3,0.2-0.7,0.3-1.1,0.4c-2.6,0.3-5.2-0.2-7.5-1.5c-0.5-0.3-0.7-0.2-0.9,0.3
c-0.6,1.4-1.1,2.8-1.7,4.2c-0.3,0.6-0.2,0.9,0.4,1.3c2.5,1.3,5.3,1.9,8.1,1.7c2.5,0,5-0.7,7.2-2c4-2.4,6-10-0.1-13.4
c-0.8-0.5-1.7-0.9-2.6-1.3c-0.7-0.3-1.5-0.7-2.1-1.2c-0.6-0.4-1.1-0.9-0.9-1.7s0.8-1.1,1.5-1.3c0.2-0.1,0.4-0.1,0.6-0.1
c2-0.3,4.1,0,5.9,0.8c0.7,0.3,0.9,0.1,1.1-0.5c0.5-1.5,1-2.9,1.6-4.3c0.2-0.5,0.1-0.7-0.4-0.9C65.7,0.6,63.6,0.2,61.4,0.2L61.4,0.2z
"/>
<path fill="#1A8D44" d="M165.1,1.6c-0.3,0-0.4,0.2-0.5,0.4c-3,3.1-6,6.3-9,9.4c-0.4,0.3-0.4,0.8-0.2,1.2c1.9,4.4,3.9,8.9,5.8,13.4
c0.4,0.9,0.4,0.9-0.6,0.9c-1.8,0-3.6,0-5.4,0c-0.5,0.1-0.9-0.2-1-0.7c-1.2-3.1-2.5-6.2-3.8-9.3c-0.1-0.3-0.2-0.5-0.4-0.9l-2.7,2.5
c-0.2,0.2-0.2,0.4-0.2,0.6c-0.4,2.3-0.9,4.6-1.2,7c-0.1,0.6-0.2,0.8-0.9,0.8c-1.9,0-3.8,0-5.8,0c0.7-4.1,1.4-8,2.1-12
c0.8-4.5,1.6-8.9,2.4-13.4c0.1-0.6,0.3-0.8,0.9-0.8c1.6,0,3.2,0.1,4.8,0c0.8,0,0.8,0.3,0.7,0.9c-0.6,3.1-1.1,6.2-1.7,9.3
c0,0.2,0,0.4-0.1,0.6c0.4-0.2,0.5-0.5,0.7-0.8c2.6-3.1,5.1-6.3,7.7-9.4c0.3-0.4,0.8-0.6,1.3-0.6c2.3,0,4.6,0,6.9,0L165.1,1.6z"/>
<path fill="#1A8D44" d="M132.6,14.7c1.3,1,2.2,2.6,2.3,4.2c0.5,2.6,0.5,5.3,1.2,8c-2.1,0-4.2,0-6.3,0c-0.5,0-0.5-0.3-0.6-0.7
c-0.4-1.9-0.6-3.9-0.9-5.8c-0.1-0.5-0.2-1-0.3-1.4c-0.4-1.2-1.5-2-2.8-1.9c-1.7-0.1-1.7-0.1-1.9,1.6c-0.4,2.6-0.9,5.1-1.4,7.6
c-0.1,0.5-0.2,0.6-0.7,0.6c-1.7,0-3.5,0-5.2,0c-0.6,0-0.7-0.2-0.6-0.8c1.3-6.9,2.5-13.7,3.7-20.6c0.2-1.2,0.4-2.5,0.7-3.7
c0.1-0.4,0.1-0.6,0.6-0.7c4.4-0.8,8.7-1.1,13.1,0.1c2.5,0.5,4.4,2.5,4.7,5c0.6,2.8-0.6,5.7-3.1,7.2
C134.3,13.9,133.4,14.3,132.6,14.7z M126,12c0.3,0,0.6,0,1,0c1.1,0,2.3-0.4,3.2-1c1-0.7,1.4-1.9,1.2-3c-0.2-1.1-1.2-1.8-2.2-1.9
c-1-0.2-2-0.2-3.1-0.1c-0.4,0-0.7,0.3-0.7,0.7c0,0,0,0,0,0c-0.2,1.3-0.4,2.5-0.7,3.8C124.4,12,124.4,12,126,12z"/>
<path fill="#E7251B" d="M27.8,0.7c-0.1,0.3-0.3,0.6-0.6,0.8c-3.1,3.3-6.3,6.6-9.5,9.9c-0.4,0.3-0.5,0.9-0.2,1.3c2,4.5,3.9,9,5.8,13.5
c0.3,0.7,0.2,0.9-0.6,0.9c-1.9-0.1-3.8,0-5.6,0c-0.4,0.1-0.9-0.2-1-0.6c-1.2-3.1-2.5-6.1-3.7-9.2c-0.1-0.3-0.3-0.6-0.4-1
c-0.9,0.8-1.7,1.6-2.6,2.4c-0.2,0.3-0.4,0.6-0.3,1c-0.4,2.3-0.8,4.6-1.2,6.9C7.8,26.8,7.6,27,7.1,27c-1.7,0-3.3,0-5,0
c-0.7,0-0.8-0.2-0.7-0.8c1-5.4,1.9-10.7,2.9-16.1c0.5-2.8,1-5.7,1.5-8.5c0.1-0.6,0.3-0.9,1-0.8c1.6,0,3.3,0,4.9,0
c0.5,0,0.7,0,0.6,0.6c-0.6,3.1-1.1,6.1-1.6,9.2c0,0.2-0.3,0.5-0.1,0.6s0.4-0.2,0.6-0.4c2.5-3,5-6,7.3-9c0.5-0.8,1.4-1.2,2.3-1.1
C23.2,0.8,25.5,0.7,27.8,0.7z"/>
<path fill="#1A8D44" d="M109.2,26.9c-0.9,0-1.8,0-2.7,0c-0.6,0-0.8-0.1-0.8-0.8c-0.1-1.7-0.2-3.4-0.3-5.1c0-0.5-0.2-0.7-0.7-0.7
c-2,0-4,0-6.1,0c-0.4,0-0.7,0.2-0.8,0.6c-0.7,1.7-1.4,3.4-2.1,5.1c-0.1,0.5-0.6,0.9-1.2,0.8c-1.8-0.1-3.6-0.1-5.4,0
c-0.8,0-0.9-0.1-0.6-0.8c2.3-4.7,4.5-9.5,6.7-14.2c1.6-3.5,3.3-6.9,4.9-10.4c0.2-0.5,0.7-0.9,1.2-0.8c2.4,0,4.8,0,7.2,0
c0.6,0,0.8,0.1,0.8,0.7c1.1,8.2,2.2,16.4,3.3,24.6c0.1,0.7,0,1.1-0.8,1C111,26.9,110.1,26.9,109.2,26.9z M104,5.9h-0.1l-3.7,8.8
c-0.2,0.4,0,0.5,0.4,0.5c1.3,0,2.6,0,3.9,0c0.5,0,0.6-0.2,0.5-0.6c-0.1-0.9-0.2-1.7-0.2-2.6C104.4,10,104.2,7.9,104,5.9L104,5.9z"/>
<path fill="#1A8D44" d="M80.8,0.5c1.4,0,2.9,0.1,4.3,0.3c6.6,1.2,7.5,6.2,6.2,10.4c-1.1,3.8-4,5.7-7.8,6.5c-1.8,0.5-3.7,0.5-5.6,0.3
c-0.6-0.1-0.8,0.1-0.9,0.7c-0.4,2.4-0.9,4.8-1.3,7.2c-0.1,0.8-0.4,1-1.2,1c-1.6-0.1-3.1,0-4.7,0c-0.5,0-0.7-0.1-0.6-0.7
c1.5-8.1,2.9-16.3,4.3-24.4c0.1-0.6,0.4-0.7,0.9-0.8C76.6,0.7,78.7,0.5,80.8,0.5z M81.2,5.9c-0.4,0-0.9,0.1-1.3,0.1
s-0.5,0.2-0.6,0.6c-0.3,1.7-0.6,3.5-0.9,5.2c-0.1,0.2-0.1,0.5,0.3,0.6c1.8,0.5,3.7,0.1,5.3-0.9c1.1-0.8,1.6-2.3,1.2-3.6
c-0.3-1.3-1.4-1.8-2.6-2C82,6,81.6,6,81.2,5.9z"/>
<path fill="#1A8D44" d="M61.4,0.2c2.2,0,4.3,0.4,6.4,1.1c0.5,0.2,0.6,0.4,0.4,0.9c-0.6,1.4-1.1,2.9-1.6,4.3c-0.2,0.6-0.4,0.8-1.1,0.5
c-1.9-0.8-3.9-1.1-5.9-0.8c-0.2,0-0.4,0.1-0.6,0.1c-0.7,0.2-1.3,0.5-1.5,1.3s0.4,1.3,0.9,1.7c0.7,0.5,1.4,0.9,2.1,1.2
c0.9,0.4,1.7,0.9,2.6,1.3c6.1,3.4,4.1,11,0.1,13.4c-2.2,1.3-4.6,2-7.2,2c-2.8,0.1-5.6-0.5-8.1-1.7c-0.6-0.3-0.7-0.6-0.4-1.3
c0.6-1.4,1.2-2.8,1.7-4.2c0.2-0.5,0.4-0.6,0.9-0.3c2.3,1.3,4.9,1.8,7.5,1.5c0.4-0.1,0.7-0.2,1.1-0.4c0.9-0.3,1.3-1.3,1-2.2
c-0.1-0.3-0.3-0.6-0.6-0.8c-0.7-0.6-1.4-1-2.3-1.3c-1-0.5-2-1-3-1.6c-5.3-3.4-3.8-9.6-0.7-12.2C55.6,1.1,58.5,0.2,61.4,0.2z"/>
<path fill="#114679" d="M43.3,14.2c-0.2,1.1-0.5,2.2-1.1,3.2c-2,2.9-5.7,4.1-9.1,2.9c-2-0.8-2.9-3.1-2.1-5.1c0.2-0.4,0.4-0.8,0.8-1.2
c0.5-0.5,1-0.8,1.7-1.1c0,0.3,0,0.6,0.2,0.8c1.6,2.1,4.4,2.9,6.8,2.1C41.4,15.3,42.4,14.8,43.3,14.2z"/>
<path fill="#396592" d="M35.2,12.1c0.7-0.3,1.4-0.6,2.2-0.7c0.3-0.1,0.6-0.1,0.5,0.4c0,0.2,0,0.5,0.3,0.3c0.7-0.5,1.4-0.2,2.1,0.1
c-0.1-0.7-0.3-1.4,0.4-1.8c0.2-0.1,0.2-0.4-0.1-0.4c-0.6,0-1.1-0.3-1.3-0.9c-0.2-0.4-0.4-0.4-0.6,0.1S38.4,9.9,38,9.9
s-1.1-0.1-0.4,0.7c0.2,0.2-0.2,0.3-0.3,0.3l-2.9,0.9C33.7,10.1,34.4,8.1,36,7c0.2-0.1,0.3-0.3,0.2-0.5c2.4,0.1,4.6,1.3,5.9,3.4
c0.3,0.4,0.8,0.8,0.6,1.4c-0.3,0.1-0.5,0.5-0.7,0.8c-1.1,2-3.6,2.7-5.6,1.6c-0.1-0.1-0.2-0.1-0.3-0.2C35.6,13.3,35.2,12.7,35.2,12.1
z"/>
<path fill="#114679" d="M33.2,12.3c-1.9,1.1-3.7,2.1-4.3,4.6c-1-1.6-1.2-3.5-0.6-5.2C29,9.2,31,7.3,33.6,6.8c0,0.8-0.6,1.3-0.8,2
C32.3,10,32.5,11.3,33.2,12.3z"/>
<path fill="#396592" d="M35.2,12.1c0,0.6,0.4,1.2,1,1.4c1.9,1.3,4.4,0.8,5.7-1c0.1-0.1,0.1-0.2,0.2-0.3c0.2-0.3,0.3-0.6,0.7-0.8
c0.5,0.8,0.7,1.9,0.5,2.8c-0.9,0.6-1.9,1.1-2.8,1.6c-2.5,0.8-5.2,0-6.8-2.1c-0.2-0.2-0.2-0.6-0.2-0.8C33.9,12.5,34.5,12.2,35.2,12.1
z"/>
<path fill="#396592" d="M33.2,12.3c-0.7-1-0.9-2.3-0.4-3.5c0.3-0.7,0.9-1.2,0.8-2c0.8-0.3,1.7-0.4,2.6-0.3c0,0.2-0.1,0.4-0.2,0.5
c-1.6,1-2.3,3-1.7,4.8L33.2,12.3z"/>
<path fill="#FEFEFE" d="M126,12c-1.6,0-1.6,0-1.3-1.5c0.2-1.3,0.5-2.5,0.7-3.8c0-0.4,0.3-0.7,0.7-0.7c0,0,0,0,0,0c1-0.1,2-0.1,3.1,0.1
c1.1,0.1,2,0.9,2.2,1.9c0.3,1.1-0.2,2.3-1.2,3c-0.9,0.6-2.1,1-3.2,1C126.7,12.1,126.4,12,126,12z"/>
<path fill="#FEFEFE" d="M104,5.9c0.2,2,0.4,4,0.6,6.1c0.1,0.9,0.1,1.7,0.2,2.6c0.1,0.4,0,0.6-0.5,0.6c-1.3,0-2.6,0-3.9,0
c-0.4,0-0.5-0.1-0.4-0.5l3.7-8.8L104,5.9z"/>
<path fill="#FEFEFE" d="M81.2,5.9c0.5,0,0.9,0,1.3,0.1c1.2,0.2,2.3,0.6,2.6,2c0.4,1.3-0.1,2.8-1.2,3.6c-1.6,1-3.5,1.3-5.3,0.9
c-0.4-0.1-0.3-0.3-0.3-0.6c0.3-1.8,0.6-3.5,0.9-5.2c0.1-0.4,0.2-0.6,0.6-0.6S80.8,6,81.2,5.9z"/>
<g>
<g>
<defs>
<rect id="SVGID_1_" x="0" y="341.8" width="596.7" height="843"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<g style="clip-path:url(#SVGID_2_);">
</g>
</g>
</g>
<g class="st6" enable-background="new">
<path fill="#323333" d="M19.7,47.3c0,0.3,0.2,0.5,0.5,0.5h0.2v2.5h-1.9c-1.2,0-1.8-0.6-1.8-1.8V35.1h-1.4v13.4c0,1.2-0.6,1.8-1.8,1.8
h-1.9h-1h-6c-1.2,0-1.8-0.6-1.8-1.8v-5.3h1.5h1.5h0.8h0.8h0.5c0.3,0,0.5-0.2,0.5-0.5v-0.7H2.6v-2.5h5.8h1.5h1.5v4.4
c0,1.2-0.6,1.8-1.8,1.8H7.4H6.6H5.7v1.7c0,0.3,0.2,0.5,0.5,0.5h3.9h1.4h0.1c0.3,0,0.5-0.2,0.5-0.5V32.6h1.5h1.5h1.4h1.5h1.5V47.3z
M9.9,38.6H2.6v-1.3v-1.2V33h2.2v3.1h0.7v-3.7h3.1v3.7h0.1c0.4,0,0.6-0.2,0.6-0.6V33h2.2v4C11.5,38.1,11,38.6,9.9,38.6z"/>
<path fill="#323333" d="M62.9,37.5h3.1v1.3h1.3v2.5h-1.3v3l-4.7,3.1l0.1,0c0.3,0.2,0.8,0.3,1.4,0.3h4.7v2.5h-6.2c-0.5,0-1-0.2-1.6-0.7
l-0.8-0.5l-0.5,0.3c-0.7,0.6-1.4,0.8-2,0.8h-6.5l-0.4-2.5h5.3c0.5,0,1-0.1,1.3-0.3l-5.2-3.1v-3.1h-1.3v-2.5h1.3v-1.3h3.1v1.3h9
V37.5z M52.8,36.9h-3.1v-1.2v-1.3v-1.2h7.2v-1H60v1h4.1h1.5h1.5v3.7h-3.1v-1.2H52.8V36.9z M53.9,41.3v2l4.7,2.6l4.3-2.6v-2H53.9z"
/>
<path fill="#323333" d="M104.1,43.1h-6.8v-1v-0.9v-4.4h-0.5l-0.4-2.2h0.4c0.3,0,0.5-0.2,0.6-0.5l0.4-1.7h3l-0.3,0.8h4.9v-1h3.1v1h5.6
v1.9h-5.6V36h5.4v1.7h-5.4v0.9h5.4v1.7h-5.4v0.8h5.6v1.9h-6.9v0.8h7.2v2.2h-7.2v4.1h-3.1v-4.1h-7.6v-2.2h7.6V43.1z M101.6,46.9
l-0.7,2.1c-0.3,0.9-0.9,1.3-1.8,1.3H97l-0.4-2.2h1c0.3,0,0.5-0.2,0.6-0.6l0.2-0.6H101.6z M105.5,36v-0.9h-5.1V36H105.5z
M105.5,38.6v-0.9h-5.1v0.9H105.5z M105.5,41.2v-0.8h-5.1v0.8H105.5z M112.7,47.5c0.1,0.4,0.4,0.6,0.7,0.6h1v2.2h-2.6
c-1,0-1.6-0.4-1.8-1.3l-0.5-2h3.1L112.7,47.5z"/>
<path fill="#323333" d="M159.4,50.2H144v-1.2v-1.2V32.5h1.5h1.5h11.2h1.5h1.5v15.9C161.2,49.6,160.6,50.2,159.4,50.2z M147,47.9h10.7
c0.3,0,0.5-0.2,0.5-0.5V34.9H147V47.9z M152.2,40.1l-1.1,5.4c-0.3,0.9-0.9,1.3-2,1.3H148l-0.4-2.5h0.5c0.4,0,0.6-0.2,0.7-0.5
l0.7-3.7H152.2z M152.8,35.5h2.9v1.4h1.7v2.3h-1.7v6.2c0,0.4-0.2,0.8-0.5,1.2c-0.3,0.4-0.8,0.6-1.3,0.6h-2.1l-0.4-2.3h0.6
c0.2,0,0.4-0.1,0.5-0.2c0.1-0.1,0.1-0.3,0.1-0.5v-5h-5.1v-2.3h5.1V35.5z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

@ -0,0 +1,349 @@
@media print {
body {
margin: 0px;
padding: 0px;
}
}
@page {
margin: 0;
}
.hiprint-printPaper * {
box-sizing: border-box;
-moz-box-sizing: border-box; /* Firefox */
-webkit-box-sizing: border-box; /* Safari */
}
.hiprint-printPaper *:focus {
outline: -webkit-focus-ring-color auto 0px;
}
.hiprint-printPaper {
position: relative;
padding: 0 0 0 0;
page-break-after: always;
-webkit-user-select: none; /* Chrome/Safari/Opera */
-moz-user-select: none; /* Firefox */
user-select: none;
overflow-x: hidden;
overflow: hidden;
}
.hiprint-printPaper .hiprint-printPaper-content {
position: relative;
}
/* 火狐浏览器打印 第一页过后 重叠问题 */
@-moz-document url-prefix() {
.hiprint-printPaper .hiprint-printPaper-content {
position: relative;
margin-top: 20px;
top: -20px
}
}
.hiprint-printPaper.design {
overflow: visible;
}
.hiprint-printTemplate .hiprint-printPanel {
page-break-after: always;
}
.hiprint-printPaper, hiprint-printPanel {
box-sizing: border-box;
border: 0px;
}
.hiprint-printPanel .hiprint-printPaper:last-child {
page-break-after: avoid;
}
.hiprint-printTemplate .hiprint-printPanel:last-child {
page-break-after: avoid;
}
.hiprint-printPaper .hideheaderLinetarget {
border-top: 0px dashed rgb(201, 190, 190) !important;
}
.hiprint-printPaper .hidefooterLinetarget {
border-top: 0px dashed rgb(201, 190, 190) !important;
}
.hiprint-printPaper.design {
border: 1px dashed rgba(170, 170, 170, 0.7);
}
.design .hiprint-printElement-table-content, .design .hiprint-printElement-longText-content {
overflow: hidden;
box-sizing: border-box;
}
.design .resize-panel {
box-sizing: border-box;
border: 1px dotted;
}
.hiprint-printElement-text {
background-color: transparent;
background-repeat: repeat;
padding: 0 0 0 0;
border: 0.75pt none rgb(0, 0, 0);
direction: ltr;
font-family: 'SimSun';
font-size: 9pt;
font-style: normal;
font-weight: normal;
padding-bottom: 0pt;
padding-left: 0pt;
padding-right: 0pt;
padding-top: 0pt;
text-align: left;
text-decoration: none;
line-height: 9.75pt;
box-sizing: border-box;
word-wrap: break-word;
word-break: break-all;
}
.design .hiprint-printElement-text-content {
border: 1px dashed rgb(206, 188, 188);
box-sizing: border-box;
}
.hiprint-printElement-longText {
background-color: transparent;
background-repeat: repeat;
border: 0.75pt none rgb(0, 0, 0);
direction: ltr;
font-family: 'SimSun';
font-size: 9pt;
font-style: normal;
font-weight: normal;
padding-bottom: 0pt;
padding-left: 0pt;
padding-right: 0pt;
padding-top: 0pt;
text-align: left;
text-decoration: none;
line-height: 9.75pt;
box-sizing: border-box;
word-wrap: break-word;
word-break: break-all;
/*white-space: pre-wrap*/
}
.hiprint-printElement-table {
background-color: transparent;
background-repeat: repeat;
color: rgb(0, 0, 0);
border-color: rgb(0, 0, 0);
border-style: none;
direction: ltr;
font-family: 'SimSun';
font-size: 9pt;
font-style: normal;
font-weight: normal;
padding-bottom: 0pt;
padding-left: 0pt;
padding-right: 0pt;
padding-top: 0pt;
text-align: left;
text-decoration: none;
padding: 0 0 0 0;
box-sizing: border-box;
line-height: 9.75pt;
}
.hiprint-printElement-table thead {
background: #e8e8e8;
font-weight: 700;
}
table.hiprint-printElement-tableTarget {
width: 100%;
}
.hiprint-printElement-tableTarget, .hiprint-printElement-tableTarget tr, .hiprint-printElement-tableTarget td {
border-color: rgb(0, 0, 0);
/*border-style: none;*/
/*border: 1px solid rgb(0, 0, 0);*/
font-weight: normal;
direction: ltr;
padding-bottom: 0pt;
padding-left: 4pt;
padding-right: 4pt;
padding-top: 0pt;
text-decoration: none;
vertical-align: middle;
box-sizing: border-box;
word-wrap: break-word;
word-break: break-all;
/*line-height: 9.75pt;
font-size: 9pt;*/
}
.hiprint-printElement-tableTarget-border-all {
border: 1px solid;
}
.hiprint-printElement-tableTarget-border-none {
border: 0px solid;
}
.hiprint-printElement-tableTarget-border-lr {
border-left: 1px solid;
border-right: 1px solid;
}
.hiprint-printElement-tableTarget-border-left {
border-left: 1px solid;
}
.hiprint-printElement-tableTarget-border-right {
border-right: 1px solid;
}
.hiprint-printElement-tableTarget-border-tb {
border-top: 1px solid;
border-bottom: 1px solid;
}
.hiprint-printElement-tableTarget-border-top {
border-top: 1px solid;
}
.hiprint-printElement-tableTarget-border-bottom {
border-bottom: 1px solid;
}
.hiprint-printElement-tableTarget-border-td-none td {
border: 0px solid;
}
.hiprint-printElement-tableTarget-border-td-all td:not(:nth-last-child(-n+2)) {
border-right: 1px solid;
}
.hiprint-printElement-tableTarget-border-td-all td:last-child {
border-left: 1px solid;
}
.hiprint-printElement-tableTarget-border-td-all td:last-child:first-child {
border-left: none;
}
/*.hiprint-printElement-tableTarget tr,*/
.hiprint-printElement-tableTarget td {
height: 18pt;
}
.hiprint-printPaper .hiprint-paperNumber {
font-size: 9pt;
}
.design .hiprint-printElement-table-handle {
position: absolute;
height: 21pt;
width: 21pt;
background: red;
z-index: 1;
}
.hiprint-printPaper .hiprint-paperNumber-disabled {
float: right !important;
right: 0 !important;
color: gainsboro !important;
}
.hiprint-printElement-vline, .hiprint-printElement-hline {
border: 0px none rgb(0, 0, 0);
}
.hiprint-printElement-vline {
border-left: 0.75pt solid #000;
border-right: 0px none rgb(0, 0, 0) !important;
border-bottom: 0px none rgb(0, 0, 0) !important;
border-top: 0px none rgb(0, 0, 0) !important;
}
.hiprint-printElement-hline {
border-top: 0.75pt solid #000;
border-right: 0px none rgb(0, 0, 0) !important;
border-bottom: 0px none rgb(0, 0, 0) !important;
border-left: 0px none rgb(0, 0, 0) !important;
}
.hiprint-printElement-oval, .hiprint-printElement-rect {
border: 0.75pt solid #000;
}
.hiprint-text-content-middle {
}
.hiprint-text-content-middle > div {
display: grid;
align-items: center;
}
.hiprint-text-content-bottom {
}
.hiprint-text-content-bottom > div {
display: grid;
align-items: flex-end;
}
.hiprint-text-content-wrap {
}
.hiprint-text-content-wrap .hiprint-text-content-wrap-nowrap {
white-space: nowrap;
}
.hiprint-text-content-wrap .hiprint-text-content-wrap-clip {
white-space: nowrap;
overflow: hidden;
text-overflow: clip;
}
.hiprint-text-content-wrap .hiprint-text-content-wrap-ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/*hi-grid-row */
.hi-grid-row {
position: relative;
height: auto;
margin-right: 0;
margin-left: 0;
zoom: 1;
display: block;
box-sizing: border-box;
}
.hi-grid-row::after, .hi-grid-row::before {
display: table;
content: '';
box-sizing: border-box;
}
.hi-grid-col {
display: block;
box-sizing: border-box;
position: relative;
float: left;
flex: 0 0 auto;
}
.table-grid-row {
margin-left: -0pt;
margin-right: -0pt;
}
.tableGridColumnsGutterRow {
padding-left: 0pt;
padding-right: 0pt;
}
.hiprint-gridColumnsFooter {
text-align: left;
clear: both;
}

@ -0,0 +1,12 @@
import { readFile, writeFile } from 'fs/promises';
import themeSettings from '../src/settings/theme.json';
async function updateFavicon(svgPath: string, color: string) {
const svgStr = await readFile(svgPath, 'utf-8');
const svgStrWithColor = svgStr.replace(/currentColor/g, color);
await writeFile('./public/favicon.svg', svgStrWithColor);
}
updateFavicon('./src/assets/svg-icon/logo.svg', themeSettings.themeColor);

@ -0,0 +1,127 @@
<template>
<n-config-provider
:theme="theme.naiveTheme"
:theme-overrides="theme.naiveThemeOverrides"
:locale="zhCN"
:date-locale="dateZhCN"
class="h-full"
>
<naive-provider>
<router-view />
</naive-provider>
</n-config-provider>
<loadingAwait v-show="app.isLoading" />
</template>
<script setup>
import { ref, watch, onMounted } from 'vue';
import { dateZhCN, zhCN } from 'naive-ui';
import { hiprint } from 'vue-plugin-hiprint';
import { subscribeStore, useThemeStore, useAppStore } from '@/store';
import { useGlobalEvents } from '@/composables';
import { getPrintTemplateList } from '@/service/api/md/printTemplate';
import { useSocketStore } from '@/store/modules/socket/index';
import { addReprintRecord } from '@/service/api/monitor/reprintRecord';
import { formatDate } from '~/src/utils/form/rule';
const app = useAppStore();
const socketStore = useSocketStore();
const theme = useThemeStore();
subscribeStore();
useGlobalEvents();
const temp = ref({});
const hiprintTemplate = ref(null);
const livePrint = ref(null);
function print(printData, title) {
if (window.hiwebSocket.opened && window.hiwebSocket.printerList.length) {
hiprintTemplate.value.print2(printData, { printer: livePrint.value, title });
// hiprintTemplate.value.on('printSuccess', function (e) {
// console.log('printSuccess');
// })
// //
// hiprintTemplate.value.on('printError', function (e) {
// console.log('printError');
// })
}
}
function isValidJSON(data) {
try {
JSON.parse(data);
return true;
} catch (e) {
return false;
}
}
watch(
() => socketStore.msg,
async newValue => {
// console.log('newValue ==> ', newValue);
// console.log('JSON.parse(newValue) ==> ', JSON.parse(newValue));
if (!newValue) return;
if (isValidJSON(newValue)) {
// const msgData = JSON.parse(JSON.parse(newValue));
const msgData = JSON.parse(newValue);
const data = JSON.parse(JSON.stringify(msgData));
socketStore.setMsg(null);
let baclkTemp;
//
if (data.templateType.includes('enamelCoverReport') && !data.reprintData) {
const result = await getPrintTemplateList({ templateCode: 'enamelCoverBlank' });
baclkTemp = JSON.parse(result.rows[0].content);
hiprintTemplate.value = await new hiprint.PrintTemplate({
template: baclkTemp
});
print({}, '');
}
getPrintTemplateList({ templateCode: data.templateType }).then(async res => {
if (res.code === 200) {
if (!res.rows[0].content) return;
temp.value = JSON.parse(res.rows[0].content);
// hiprint.PrintElementTypeManager.buildByHtml($('.ep-draggable-item'));
// $('#hiprint-printTemplate').empty();
hiprintTemplate.value = await new hiprint.PrintTemplate({
template: temp.value
});
livePrint.value = temp.value.panels[0].livePrint;
data.printValue.forEach(item => {
//
if (data.templateType.includes('enamelCoverReport')) {
item.machineBatchNumber = `${item.qbPrintValue}/${item.alexLot}`;
if (item.createTime) {
item.createTime = formatDate(new Date(item.createTime), 'yyyy-MM-dd');
}
item.groupStartName = `${item.workgroupValue} ${item.standardName}`;
}
//
if (data.reprintData) {
addReprintRecord(data.reprintData);
}
print(item, '测试打印');
});
}
});
}
}
);
onMounted(() => {
const socket = localStorage.getItem('socket');
if (socket) {
socketStore.setOpenSocket(socket);
}
});
</script>
<style>
@import url('@/assets/css/global.css');
</style>

@ -0,0 +1,35 @@
.n-data-table-base-table {
overflow-x: auto !important;
scrollbar-width: thin !important;
}
.n-form {
display: flex;
flex-wrap: wrap;
}
/* .n-data-table {
max-height: 420px !important;
overflow: auto;
} */
/* .n-data-table-thead {
position: sticky !important;
top: 0 !important;
z-index: 2;
} */
/*
.n-data-table-tbody {
max-height: 420px !important;
overflow: auto;
} */
.n-data-table-td,
.n-data-table-th {
text-align: center !important;
}
.n-data-table .n-data-table-th.n-data-table-th--fixed-right,
.n-data-table .n-data-table-td.n-data-table-td--fixed-right {
box-shadow: -7px 2px 10px rgba(0, 0, 0, 0.15);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1013 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 940 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 521 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg>

After

Width:  |  Height:  |  Size: 202 B

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 165.1 50.7" style="enable-background:new 0 0 165.1 50.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FEFEFE;}
.st1{fill:#1A8D44;}
.st2{fill:#E7251B;}
.st3{fill:#114679;}
.st4{fill:#396592;}
.st5{fill:#095183;}
.st6{enable-background:new ;}
.st7{fill:#323333;}
</style>
<path fill="#FEFEFE" d="M165.1,1.6c0,9.1,0,18.2,0,27.3c0,0.6-0.1,0.7-0.7,0.7H0.7c-0.6,0-0.7-0.1-0.7-0.7c0-9.4,0-18.8,0-28.1
C0,0.1,0.1,0,0.7,0c54.6,0,109.1,0,163.7,0c0.6,0,0.8,0.1,0.7,0.7c-2.3,0-4.6,0-6.9,0c-0.5,0-1,0.2-1.3,0.6
c-2.5,3.2-5.1,6.3-7.7,9.4c-0.2,0.3-0.4,0.6-0.7,0.8c0-0.2,0-0.4,0.1-0.6c0.6-3.1,1.1-6.2,1.7-9.3c0.1-0.6,0.1-0.9-0.7-0.9
c-1.6,0.1-3.2,0-4.8,0c-0.6,0-0.8,0.2-0.9,0.8c-0.8,4.5-1.6,8.9-2.4,13.4c-0.7,4-1.4,8-2.1,12c1.9,0,3.9,0,5.8,0
c0.6,0,0.8-0.2,0.9-0.8c0.4-2.3,0.8-4.6,1.2-7c0-0.2,0-0.5,0.2-0.6l2.7-2.5c0.2,0.4,0.3,0.6,0.4,0.9c1.3,3.1,2.5,6.2,3.8,9.3
c0.1,0.5,0.5,0.8,1,0.7c1.8,0,3.6,0,5.4,0c1.1,0,1.1,0,0.6-0.9c-1.9-4.5-3.8-8.9-5.8-13.4c-0.3-0.4-0.2-0.9,0.2-1.2
c3-3.1,6-6.3,9-9.4C164.7,1.8,164.8,1.6,165.1,1.6z M33.6,6.8C31,7.3,29,9.2,28.3,11.7c-0.6,1.7-0.4,3.6,0.6,5.2
c0.6-2.4,2.4-3.5,4.3-4.6l1.1-0.4l2.9-0.9c0.2,0,0.5-0.1,0.3-0.3c-0.7-0.8,0-0.7,0.4-0.7s0.6-0.4,0.7-0.7s0.4-0.4,0.6-0.1
c0.2,0.5,0.7,0.9,1.3,0.9c0.3,0,0.3,0.3,0.1,0.4c-0.7,0.4-0.6,1-0.4,1.8c-0.8-0.4-1.4-0.6-2.1-0.1c-0.3,0.2-0.3-0.1-0.3-0.3
c0.1-0.4-0.2-0.5-0.5-0.4c-0.7,0.1-1.5,0.4-2.2,0.7c-0.6,0.1-1.2,0.4-1.8,0.8c-0.6,0.3-1.2,0.6-1.7,1.1c-1.5,1.6-1.4,4.1,0.2,5.5
c0.3,0.3,0.7,0.6,1.2,0.8c3.3,1.2,7.1,0,9.1-2.9c0.6-1,0.9-2.1,1.1-3.2c0.2-1,0-2-0.5-2.8c0.2-0.6-0.4-1-0.6-1.4
c-1.3-2-3.5-3.3-5.9-3.4C35.3,6.4,34.4,6.5,33.6,6.8z M132.6,14.7c0.9-0.4,1.7-0.8,2.5-1.3c2.4-1.5,3.7-4.4,3.1-7.2
c-0.3-2.5-2.2-4.5-4.7-5c-4.3-1.2-8.7-0.8-13.1-0.1c-0.4,0.1-0.5,0.4-0.6,0.7c-0.2,1.2-0.4,2.5-0.7,3.7c-1.2,6.9-2.5,13.7-3.7,20.6
c-0.1,0.6,0,0.8,0.6,0.8c1.7,0,3.5,0,5.2,0c0.5,0,0.6-0.1,0.7-0.6c0.4-2.6,0.9-5.1,1.4-7.6c0.3-1.6,0.3-1.6,1.9-1.6
c1.3-0.1,2.5,0.7,2.8,1.9c0.2,0.5,0.3,1,0.3,1.4c0.3,1.9,0.4,3.9,0.9,5.8c0.1,0.4,0.1,0.7,0.6,0.7c2.1,0,4.1,0,6.3,0
c-0.7-2.7-0.8-5.4-1.2-8C134.8,17.3,133.9,15.7,132.6,14.7L132.6,14.7z M27.8,0.7c-2.3,0-4.6,0.1-6.8,0c-0.9-0.1-1.8,0.3-2.3,1.1
c-2.4,3.1-4.9,6-7.3,9c-0.2,0.2-0.3,0.5-0.6,0.4s0-0.4,0.1-0.6c0.5-3.1,1-6.1,1.6-9.2c0.1-0.6-0.1-0.7-0.6-0.6c-1.6,0-3.3,0-4.9,0
c-0.7,0-0.9,0.2-1,0.8c-0.5,2.8-1,5.7-1.5,8.5c-1,5.4-1.9,10.7-2.9,16.1c-0.1,0.6-0.1,0.9,0.7,0.8c1.7-0.1,3.3,0,5,0
c0.5,0,0.7-0.2,0.8-0.7c0.4-2.3,0.8-4.6,1.2-6.9c0-0.4,0.1-0.7,0.3-1c0.8-0.8,1.7-1.6,2.6-2.4c0.2,0.4,0.3,0.7,0.4,1
c1.2,3.1,2.5,6.1,3.7,9.2c0.1,0.4,0.6,0.7,1,0.6c1.9,0,3.8,0,5.6,0c0.8,0,0.8-0.2,0.6-0.9c-1.9-4.5-3.9-9-5.8-13.5
c-0.3-0.4-0.2-1,0.2-1.3C21,8,24.1,4.7,27.3,1.4C27.5,1.3,27.7,1,27.8,0.7L27.8,0.7z M109.2,26.9c0.9,0,1.8,0,2.6,0
c0.9,0.1,0.9-0.2,0.8-1c-1.1-8.2-2.2-16.4-3.3-24.6c-0.1-0.6-0.3-0.7-0.8-0.7c-2.4,0-4.8,0-7.2,0c-0.6-0.1-1.1,0.3-1.2,0.8
c-1.6,3.5-3.3,7-4.9,10.4c-2.2,4.7-4.5,9.5-6.7,14.2c-0.3,0.7-0.2,0.9,0.6,0.8c1.8,0,3.6-0.1,5.4,0c0.6,0.1,1.1-0.3,1.2-0.8
c0.7-1.7,1.4-3.4,2.1-5.1c0.1-0.4,0.4-0.6,0.8-0.6c2,0,4,0,6.1,0c0.5,0,0.7,0.2,0.7,0.7c0.1,1.7,0.3,3.4,0.3,5.1
c0,0.6,0.2,0.8,0.8,0.8C107.4,26.9,108.3,26.9,109.2,26.9L109.2,26.9z M80.8,0.5c-2.1,0-4.2,0.2-6.3,0.6c-0.4,0.1-0.8,0.2-0.9,0.8
c-1.4,8.1-2.9,16.3-4.3,24.4c-0.1,0.6,0.1,0.7,0.6,0.7c1.6,0,3.1-0.1,4.7,0c0.8,0,1.1-0.2,1.2-1c0.4-2.4,0.9-4.8,1.3-7.2
c0.1-0.6,0.3-0.8,0.9-0.7c1.9,0.3,3.8,0.2,5.6-0.3c3.7-0.8,6.6-2.7,7.8-6.5c1.2-4.2,0.3-9.2-6.2-10.4C83.7,0.6,82.3,0.5,80.8,0.5
L80.8,0.5z M61.4,0.2c-2.9-0.1-5.8,0.9-8.1,2.7c-3.1,2.6-4.6,8.8,0.7,12.2c1,0.6,2,1.1,3,1.6c0.8,0.3,1.6,0.8,2.3,1.3
c0.8,0.6,0.9,1.6,0.4,2.4c-0.2,0.3-0.5,0.5-0.8,0.6c-0.3,0.2-0.7,0.3-1.1,0.4c-2.6,0.3-5.2-0.2-7.5-1.5c-0.5-0.3-0.7-0.2-0.9,0.3
c-0.6,1.4-1.1,2.8-1.7,4.2c-0.3,0.6-0.2,0.9,0.4,1.3c2.5,1.3,5.3,1.9,8.1,1.7c2.5,0,5-0.7,7.2-2c4-2.4,6-10-0.1-13.4
c-0.8-0.5-1.7-0.9-2.6-1.3c-0.7-0.3-1.5-0.7-2.1-1.2c-0.6-0.4-1.1-0.9-0.9-1.7s0.8-1.1,1.5-1.3c0.2-0.1,0.4-0.1,0.6-0.1
c2-0.3,4.1,0,5.9,0.8c0.7,0.3,0.9,0.1,1.1-0.5c0.5-1.5,1-2.9,1.6-4.3c0.2-0.5,0.1-0.7-0.4-0.9C65.7,0.6,63.6,0.2,61.4,0.2L61.4,0.2z
"/>
<path fill="#1A8D44" d="M165.1,1.6c-0.3,0-0.4,0.2-0.5,0.4c-3,3.1-6,6.3-9,9.4c-0.4,0.3-0.4,0.8-0.2,1.2c1.9,4.4,3.9,8.9,5.8,13.4
c0.4,0.9,0.4,0.9-0.6,0.9c-1.8,0-3.6,0-5.4,0c-0.5,0.1-0.9-0.2-1-0.7c-1.2-3.1-2.5-6.2-3.8-9.3c-0.1-0.3-0.2-0.5-0.4-0.9l-2.7,2.5
c-0.2,0.2-0.2,0.4-0.2,0.6c-0.4,2.3-0.9,4.6-1.2,7c-0.1,0.6-0.2,0.8-0.9,0.8c-1.9,0-3.8,0-5.8,0c0.7-4.1,1.4-8,2.1-12
c0.8-4.5,1.6-8.9,2.4-13.4c0.1-0.6,0.3-0.8,0.9-0.8c1.6,0,3.2,0.1,4.8,0c0.8,0,0.8,0.3,0.7,0.9c-0.6,3.1-1.1,6.2-1.7,9.3
c0,0.2,0,0.4-0.1,0.6c0.4-0.2,0.5-0.5,0.7-0.8c2.6-3.1,5.1-6.3,7.7-9.4c0.3-0.4,0.8-0.6,1.3-0.6c2.3,0,4.6,0,6.9,0L165.1,1.6z"/>
<path fill="#1A8D44" d="M132.6,14.7c1.3,1,2.2,2.6,2.3,4.2c0.5,2.6,0.5,5.3,1.2,8c-2.1,0-4.2,0-6.3,0c-0.5,0-0.5-0.3-0.6-0.7
c-0.4-1.9-0.6-3.9-0.9-5.8c-0.1-0.5-0.2-1-0.3-1.4c-0.4-1.2-1.5-2-2.8-1.9c-1.7-0.1-1.7-0.1-1.9,1.6c-0.4,2.6-0.9,5.1-1.4,7.6
c-0.1,0.5-0.2,0.6-0.7,0.6c-1.7,0-3.5,0-5.2,0c-0.6,0-0.7-0.2-0.6-0.8c1.3-6.9,2.5-13.7,3.7-20.6c0.2-1.2,0.4-2.5,0.7-3.7
c0.1-0.4,0.1-0.6,0.6-0.7c4.4-0.8,8.7-1.1,13.1,0.1c2.5,0.5,4.4,2.5,4.7,5c0.6,2.8-0.6,5.7-3.1,7.2
C134.3,13.9,133.4,14.3,132.6,14.7z M126,12c0.3,0,0.6,0,1,0c1.1,0,2.3-0.4,3.2-1c1-0.7,1.4-1.9,1.2-3c-0.2-1.1-1.2-1.8-2.2-1.9
c-1-0.2-2-0.2-3.1-0.1c-0.4,0-0.7,0.3-0.7,0.7c0,0,0,0,0,0c-0.2,1.3-0.4,2.5-0.7,3.8C124.4,12,124.4,12,126,12z"/>
<path fill="#E7251B" d="M27.8,0.7c-0.1,0.3-0.3,0.6-0.6,0.8c-3.1,3.3-6.3,6.6-9.5,9.9c-0.4,0.3-0.5,0.9-0.2,1.3c2,4.5,3.9,9,5.8,13.5
c0.3,0.7,0.2,0.9-0.6,0.9c-1.9-0.1-3.8,0-5.6,0c-0.4,0.1-0.9-0.2-1-0.6c-1.2-3.1-2.5-6.1-3.7-9.2c-0.1-0.3-0.3-0.6-0.4-1
c-0.9,0.8-1.7,1.6-2.6,2.4c-0.2,0.3-0.4,0.6-0.3,1c-0.4,2.3-0.8,4.6-1.2,6.9C7.8,26.8,7.6,27,7.1,27c-1.7,0-3.3,0-5,0
c-0.7,0-0.8-0.2-0.7-0.8c1-5.4,1.9-10.7,2.9-16.1c0.5-2.8,1-5.7,1.5-8.5c0.1-0.6,0.3-0.9,1-0.8c1.6,0,3.3,0,4.9,0
c0.5,0,0.7,0,0.6,0.6c-0.6,3.1-1.1,6.1-1.6,9.2c0,0.2-0.3,0.5-0.1,0.6s0.4-0.2,0.6-0.4c2.5-3,5-6,7.3-9c0.5-0.8,1.4-1.2,2.3-1.1
C23.2,0.8,25.5,0.7,27.8,0.7z"/>
<path fill="#1A8D44" d="M109.2,26.9c-0.9,0-1.8,0-2.7,0c-0.6,0-0.8-0.1-0.8-0.8c-0.1-1.7-0.2-3.4-0.3-5.1c0-0.5-0.2-0.7-0.7-0.7
c-2,0-4,0-6.1,0c-0.4,0-0.7,0.2-0.8,0.6c-0.7,1.7-1.4,3.4-2.1,5.1c-0.1,0.5-0.6,0.9-1.2,0.8c-1.8-0.1-3.6-0.1-5.4,0
c-0.8,0-0.9-0.1-0.6-0.8c2.3-4.7,4.5-9.5,6.7-14.2c1.6-3.5,3.3-6.9,4.9-10.4c0.2-0.5,0.7-0.9,1.2-0.8c2.4,0,4.8,0,7.2,0
c0.6,0,0.8,0.1,0.8,0.7c1.1,8.2,2.2,16.4,3.3,24.6c0.1,0.7,0,1.1-0.8,1C111,26.9,110.1,26.9,109.2,26.9z M104,5.9h-0.1l-3.7,8.8
c-0.2,0.4,0,0.5,0.4,0.5c1.3,0,2.6,0,3.9,0c0.5,0,0.6-0.2,0.5-0.6c-0.1-0.9-0.2-1.7-0.2-2.6C104.4,10,104.2,7.9,104,5.9L104,5.9z"/>
<path fill="#1A8D44" d="M80.8,0.5c1.4,0,2.9,0.1,4.3,0.3c6.6,1.2,7.5,6.2,6.2,10.4c-1.1,3.8-4,5.7-7.8,6.5c-1.8,0.5-3.7,0.5-5.6,0.3
c-0.6-0.1-0.8,0.1-0.9,0.7c-0.4,2.4-0.9,4.8-1.3,7.2c-0.1,0.8-0.4,1-1.2,1c-1.6-0.1-3.1,0-4.7,0c-0.5,0-0.7-0.1-0.6-0.7
c1.5-8.1,2.9-16.3,4.3-24.4c0.1-0.6,0.4-0.7,0.9-0.8C76.6,0.7,78.7,0.5,80.8,0.5z M81.2,5.9c-0.4,0-0.9,0.1-1.3,0.1
s-0.5,0.2-0.6,0.6c-0.3,1.7-0.6,3.5-0.9,5.2c-0.1,0.2-0.1,0.5,0.3,0.6c1.8,0.5,3.7,0.1,5.3-0.9c1.1-0.8,1.6-2.3,1.2-3.6
c-0.3-1.3-1.4-1.8-2.6-2C82,6,81.6,6,81.2,5.9z"/>
<path fill="#1A8D44" d="M61.4,0.2c2.2,0,4.3,0.4,6.4,1.1c0.5,0.2,0.6,0.4,0.4,0.9c-0.6,1.4-1.1,2.9-1.6,4.3c-0.2,0.6-0.4,0.8-1.1,0.5
c-1.9-0.8-3.9-1.1-5.9-0.8c-0.2,0-0.4,0.1-0.6,0.1c-0.7,0.2-1.3,0.5-1.5,1.3s0.4,1.3,0.9,1.7c0.7,0.5,1.4,0.9,2.1,1.2
c0.9,0.4,1.7,0.9,2.6,1.3c6.1,3.4,4.1,11,0.1,13.4c-2.2,1.3-4.6,2-7.2,2c-2.8,0.1-5.6-0.5-8.1-1.7c-0.6-0.3-0.7-0.6-0.4-1.3
c0.6-1.4,1.2-2.8,1.7-4.2c0.2-0.5,0.4-0.6,0.9-0.3c2.3,1.3,4.9,1.8,7.5,1.5c0.4-0.1,0.7-0.2,1.1-0.4c0.9-0.3,1.3-1.3,1-2.2
c-0.1-0.3-0.3-0.6-0.6-0.8c-0.7-0.6-1.4-1-2.3-1.3c-1-0.5-2-1-3-1.6c-5.3-3.4-3.8-9.6-0.7-12.2C55.6,1.1,58.5,0.2,61.4,0.2z"/>
<path fill="#114679" d="M43.3,14.2c-0.2,1.1-0.5,2.2-1.1,3.2c-2,2.9-5.7,4.1-9.1,2.9c-2-0.8-2.9-3.1-2.1-5.1c0.2-0.4,0.4-0.8,0.8-1.2
c0.5-0.5,1-0.8,1.7-1.1c0,0.3,0,0.6,0.2,0.8c1.6,2.1,4.4,2.9,6.8,2.1C41.4,15.3,42.4,14.8,43.3,14.2z"/>
<path fill="#396592" d="M35.2,12.1c0.7-0.3,1.4-0.6,2.2-0.7c0.3-0.1,0.6-0.1,0.5,0.4c0,0.2,0,0.5,0.3,0.3c0.7-0.5,1.4-0.2,2.1,0.1
c-0.1-0.7-0.3-1.4,0.4-1.8c0.2-0.1,0.2-0.4-0.1-0.4c-0.6,0-1.1-0.3-1.3-0.9c-0.2-0.4-0.4-0.4-0.6,0.1S38.4,9.9,38,9.9
s-1.1-0.1-0.4,0.7c0.2,0.2-0.2,0.3-0.3,0.3l-2.9,0.9C33.7,10.1,34.4,8.1,36,7c0.2-0.1,0.3-0.3,0.2-0.5c2.4,0.1,4.6,1.3,5.9,3.4
c0.3,0.4,0.8,0.8,0.6,1.4c-0.3,0.1-0.5,0.5-0.7,0.8c-1.1,2-3.6,2.7-5.6,1.6c-0.1-0.1-0.2-0.1-0.3-0.2C35.6,13.3,35.2,12.7,35.2,12.1
z"/>
<path fill="#114679" d="M33.2,12.3c-1.9,1.1-3.7,2.1-4.3,4.6c-1-1.6-1.2-3.5-0.6-5.2C29,9.2,31,7.3,33.6,6.8c0,0.8-0.6,1.3-0.8,2
C32.3,10,32.5,11.3,33.2,12.3z"/>
<path fill="#396592" d="M35.2,12.1c0,0.6,0.4,1.2,1,1.4c1.9,1.3,4.4,0.8,5.7-1c0.1-0.1,0.1-0.2,0.2-0.3c0.2-0.3,0.3-0.6,0.7-0.8
c0.5,0.8,0.7,1.9,0.5,2.8c-0.9,0.6-1.9,1.1-2.8,1.6c-2.5,0.8-5.2,0-6.8-2.1c-0.2-0.2-0.2-0.6-0.2-0.8C33.9,12.5,34.5,12.2,35.2,12.1
z"/>
<path fill="#396592" d="M33.2,12.3c-0.7-1-0.9-2.3-0.4-3.5c0.3-0.7,0.9-1.2,0.8-2c0.8-0.3,1.7-0.4,2.6-0.3c0,0.2-0.1,0.4-0.2,0.5
c-1.6,1-2.3,3-1.7,4.8L33.2,12.3z"/>
<path fill="#FEFEFE" d="M126,12c-1.6,0-1.6,0-1.3-1.5c0.2-1.3,0.5-2.5,0.7-3.8c0-0.4,0.3-0.7,0.7-0.7c0,0,0,0,0,0c1-0.1,2-0.1,3.1,0.1
c1.1,0.1,2,0.9,2.2,1.9c0.3,1.1-0.2,2.3-1.2,3c-0.9,0.6-2.1,1-3.2,1C126.7,12.1,126.4,12,126,12z"/>
<path fill="#FEFEFE" d="M104,5.9c0.2,2,0.4,4,0.6,6.1c0.1,0.9,0.1,1.7,0.2,2.6c0.1,0.4,0,0.6-0.5,0.6c-1.3,0-2.6,0-3.9,0
c-0.4,0-0.5-0.1-0.4-0.5l3.7-8.8L104,5.9z"/>
<path fill="#FEFEFE" d="M81.2,5.9c0.5,0,0.9,0,1.3,0.1c1.2,0.2,2.3,0.6,2.6,2c0.4,1.3-0.1,2.8-1.2,3.6c-1.6,1-3.5,1.3-5.3,0.9
c-0.4-0.1-0.3-0.3-0.3-0.6c0.3-1.8,0.6-3.5,0.9-5.2c0.1-0.4,0.2-0.6,0.6-0.6S80.8,6,81.2,5.9z"/>
<g>
<g>
<defs>
<rect id="SVGID_1_" x="0" y="341.8" width="596.7" height="843"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<g style="clip-path:url(#SVGID_2_);">
</g>
</g>
</g>
<g class="st6" enable-background="new">
<path fill="#323333" d="M19.7,47.3c0,0.3,0.2,0.5,0.5,0.5h0.2v2.5h-1.9c-1.2,0-1.8-0.6-1.8-1.8V35.1h-1.4v13.4c0,1.2-0.6,1.8-1.8,1.8
h-1.9h-1h-6c-1.2,0-1.8-0.6-1.8-1.8v-5.3h1.5h1.5h0.8h0.8h0.5c0.3,0,0.5-0.2,0.5-0.5v-0.7H2.6v-2.5h5.8h1.5h1.5v4.4
c0,1.2-0.6,1.8-1.8,1.8H7.4H6.6H5.7v1.7c0,0.3,0.2,0.5,0.5,0.5h3.9h1.4h0.1c0.3,0,0.5-0.2,0.5-0.5V32.6h1.5h1.5h1.4h1.5h1.5V47.3z
M9.9,38.6H2.6v-1.3v-1.2V33h2.2v3.1h0.7v-3.7h3.1v3.7h0.1c0.4,0,0.6-0.2,0.6-0.6V33h2.2v4C11.5,38.1,11,38.6,9.9,38.6z"/>
<path fill="#323333" d="M62.9,37.5h3.1v1.3h1.3v2.5h-1.3v3l-4.7,3.1l0.1,0c0.3,0.2,0.8,0.3,1.4,0.3h4.7v2.5h-6.2c-0.5,0-1-0.2-1.6-0.7
l-0.8-0.5l-0.5,0.3c-0.7,0.6-1.4,0.8-2,0.8h-6.5l-0.4-2.5h5.3c0.5,0,1-0.1,1.3-0.3l-5.2-3.1v-3.1h-1.3v-2.5h1.3v-1.3h3.1v1.3h9
V37.5z M52.8,36.9h-3.1v-1.2v-1.3v-1.2h7.2v-1H60v1h4.1h1.5h1.5v3.7h-3.1v-1.2H52.8V36.9z M53.9,41.3v2l4.7,2.6l4.3-2.6v-2H53.9z"
/>
<path fill="#323333" d="M104.1,43.1h-6.8v-1v-0.9v-4.4h-0.5l-0.4-2.2h0.4c0.3,0,0.5-0.2,0.6-0.5l0.4-1.7h3l-0.3,0.8h4.9v-1h3.1v1h5.6
v1.9h-5.6V36h5.4v1.7h-5.4v0.9h5.4v1.7h-5.4v0.8h5.6v1.9h-6.9v0.8h7.2v2.2h-7.2v4.1h-3.1v-4.1h-7.6v-2.2h7.6V43.1z M101.6,46.9
l-0.7,2.1c-0.3,0.9-0.9,1.3-1.8,1.3H97l-0.4-2.2h1c0.3,0,0.5-0.2,0.6-0.6l0.2-0.6H101.6z M105.5,36v-0.9h-5.1V36H105.5z
M105.5,38.6v-0.9h-5.1v0.9H105.5z M105.5,41.2v-0.8h-5.1v0.8H105.5z M112.7,47.5c0.1,0.4,0.4,0.6,0.7,0.6h1v2.2h-2.6
c-1,0-1.6-0.4-1.8-1.3l-0.5-2h3.1L112.7,47.5z"/>
<path fill="#323333" d="M159.4,50.2H144v-1.2v-1.2V32.5h1.5h1.5h11.2h1.5h1.5v15.9C161.2,49.6,160.6,50.2,159.4,50.2z M147,47.9h10.7
c0.3,0,0.5-0.2,0.5-0.5V34.9H147V47.9z M152.2,40.1l-1.1,5.4c-0.3,0.9-0.9,1.3-2,1.3H148l-0.4-2.5h0.5c0.4,0,0.6-0.2,0.7-0.5
l0.7-3.7H152.2z M152.8,35.5h2.9v1.4h1.7v2.3h-1.7v6.2c0,0.4-0.2,0.8-0.5,1.2c-0.3,0.4-0.8,0.6-1.3,0.6h-2.1l-0.4-2.3h0.6
c0.2,0,0.4-0.1,0.5-0.2c0.1-0.1,0.1-0.3,0.1-0.5v-5h-5.1v-2.3h5.1V35.5z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="prefix__prefix__feather prefix__prefix__feather-at-sign"><circle cx="12" cy="12" r="4"/><path d="M16 8v5a3 3 0 006 0v-1a10 10 0 10-3.92 7.94"/></svg>

After

Width:  |  Height:  |  Size: 315 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="prefix__prefix__feather prefix__prefix__feather-cast"><path d="M2 16.1A5 5 0 015.9 20M2 12.05A9 9 0 019.95 20M2 8V6a2 2 0 012-2h16a2 2 0 012 2v12a2 2 0 01-2 2h-6M2 20h.01"/></svg>

After

Width:  |  Height:  |  Size: 345 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="4"/><path d="M21.17 8H12M3.95 6.06L8.54 14m2.34 7.94L15.46 14"/></svg>

After

Width:  |  Height:  |  Size: 288 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>

After

Width:  |  Height:  |  Size: 283 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M19 10c0 1.38-2.12 2.5-3.5 2.5s-2.75-1.12-2.75-2.5h-1.5c0 1.38-1.37 2.5-2.75 2.5S5 11.38 5 10h-.75c-.16.64-.25 1.31-.25 2a8 8 0 008 8 8 8 0 008-8c0-.69-.09-1.36-.25-2H19m-7-6C9.04 4 6.45 5.61 5.07 8h13.86C17.55 5.61 14.96 4 12 4m10 8a10 10 0 01-10 10A10 10 0 012 12 10 10 0 0112 2a10 10 0 0110 10m-10 5.23c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81z"/></svg>

After

Width:  |  Height:  |  Size: 544 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 77 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z"/></svg>

After

Width:  |  Height:  |  Size: 309 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg"><path d="M0 0h160v160H0V0z" fill="currentColor"/><path d="M94.322 51.888A69.12 69.12 0 0187.806 80.9a1.732 1.732 0 00.191 2.014c6.124 8.338 13.677 14.894 23.356 18.821a46.564 46.564 0 0017.273 3.414 29.101 29.101 0 003.364-.252 6.245 6.245 0 017.051 5.156 6.112 6.112 0 01-5.187 7.19 50.758 50.758 0 01-18.19-1.007c-15.964-3.686-28.2-12.84-37.709-25.88a2.165 2.165 0 00-2.246-1.098c-14.1 1.38-26.357 6.475-35.754 17.331a38.721 38.721 0 00-6.275 9.808 6.255 6.255 0 01-8.229 3.444 6.184 6.184 0 01-3.293-8.258 49.662 49.662 0 019.699-14.722c10.636-11.52 23.97-17.663 39.37-19.677a14.06 14.06 0 012.86-.342c1.622.14 2.197-.735 2.75-2.014a54.752 54.752 0 004.865-23.463 44.302 44.302 0 00-8.057-25.175 6.152 6.152 0 01-.655-6.506 6.043 6.043 0 015.318-3.564 6.386 6.386 0 015.7 3.02 53.98 53.98 0 017.222 14.38 59.734 59.734 0 013.092 18.368z" fill="#fff"/><path d="M47.257 119.468a6.04 6.04 0 011.36-3.907 38.165 38.165 0 0122.66-14.098 6.124 6.124 0 016.699 2.487 6.223 6.223 0 01-3.868 9.698 26.276 26.276 0 00-15.823 9.838 6.245 6.245 0 01-11.028-4.028v.01zm77.935-26.01a34.908 34.908 0 01-9.89-2.498 35.717 35.717 0 01-14.756-10.523 6.233 6.233 0 012.861-10 5.832 5.832 0 016.486 1.742 26.986 26.986 0 0016.628 8.912 6.042 6.042 0 015.036 5.58 6.253 6.253 0 01-4.32 6.504 6.588 6.588 0 01-2.045.282zM69.817 53.65a33.69 33.69 0 01-2.286 12.607 6.255 6.255 0 01-11.018 1.007 6.132 6.132 0 01-.655-5.438 26.178 26.178 0 00-.534-18.377 6.256 6.256 0 0111.572-4.753 40.515 40.515 0 012.921 14.954z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1 @@
<svg viewBox="0 0 160 160" xmlns="http://www.w3.org/2000/svg"><path d="M81.28 55.9c-.1-11.67-2.93-22.55-9.37-32.38-1-1.5-2.14-2.86-2.5-4.71a8.1 8.1 0 014-8.61 7.89 7.89 0 019.3 1.23 35.999 35.999 0 015.9 8.83 75.18 75.18 0 018.44 28.58 83.211 83.211 0 01-5.23 36.74 102.983 102.983 0 01-3 7.28 1.2 1.2 0 000 1.41c9.58 13.3 21.76 23 37.85 27.24a54.37 54.37 0 0019.68 1.57 7.72 7.72 0 018.36 6.9 7.903 7.903 0 01-6.7 9 64.744 64.744 0 01-23-1.33 77.68 77.68 0 01-36.93-19.88 93.628 93.628 0 01-11.91-13.71 2.18 2.18 0 00-2.3-1.06 72.744 72.744 0 00-27.38 7.55c-11.6 6-20.67 14.58-26.4 26.45a10.134 10.134 0 01-3.7 4.7 8 8 0 01-9.19-.7 7.86 7.86 0 01-2.36-9.28 60.324 60.324 0 018.72-14.52c12.2-15.43 28.21-24.59 47.32-28.57A85.085 85.085 0 0173.07 87c.524.015 1-.307 1.18-.8a76.06 76.06 0 006.53-22.3c.351-2.652.518-5.325.5-8z" fill="currentColor"/><path d="M136.26 108.34a44.742 44.742 0 01-11.13-2.87 46.108 46.108 0 01-19.66-13.76 8 8 0 015.72-13.22 7.93 7.93 0 016.54 2.93 33.27 33.27 0 0018.87 10.75c1.546.155 3.058.553 4.48 1.18a8.08 8.08 0 013.84 9.21c-.92 3.52-4.13 5.81-8.66 5.78zm-80.6-75.02a7.61 7.61 0 016.64 5 49.139 49.139 0 013.64 17 46.33 46.33 0 01-2.46 17.28c-2 5.77-8.24 7.79-12.89 4.15a8.1 8.1 0 01-2.39-9 31.679 31.679 0 001.68-12.36 35.77 35.77 0 00-2.43-11c-2.1-5.45 1.75-11.07 8.21-11.07zm22.26 93.25a8 8 0 01-6.68 7.86 32.88 32.88 0 00-19.7 12.19 8.13 8.13 0 01-11.21 1.62 8 8 0 01-1.41-11.58A51.043 51.043 0 0154 123.81a45.842 45.842 0 0114-5.1c5.35-1.04 9.91 2.56 9.92 7.86z" fill="currentColor"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 50 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save