feat: 初始化

This commit is contained in:
dengtongyu committed 2023-04-14 01:07:19 +08:00
commit 13970b6062
62 files changed
+1854

No files matched your search

+4
View File
@@ -0,0 +1,4 @@
build
dist
node_modules
.vscode
+67
View File
@@ -0,0 +1,67 @@
module.exports = {
root: true,
env: {
"browser": true,
"es2021": true,
"node": true,
"vue/setup-compiler-macros": true
},
extends: ["eslint:recommended", "plugin:vue/vue3-recommended", "@vue/typescript/recommended", "prettier"],
parser: "vue-eslint-parser",
parserOptions: {
ecmaVersion: "latest",
parser: "@typescript-eslint/parser",
sourceType: "module"
},
plugins: ["vue", "html", "@typescript-eslint"],
rules: {
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
"semi": [2, "always"],
"comma-dangle": [2, "never"],
"eqeqeq": "warn",
"quotes": ["warn", "double"],
"@typescript-eslint/ban-types": [
"warn",
{
types: {
"{}": false
}
}
],
"@typescript-eslint/no-explicit-any": "off",
"vue/no-unused-vars": "warn",
"vue/multi-word-component-names": "off",
"vue/no-mutating-props": "off",
"@typescript-eslint/ban-ts-comment": "off",
"vue/html-closing-bracket-newline": [
"error",
{
singleline: "never",
multiline: "always"
}
],
"vue/html-indent": [
"error",
2,
{
attribute: 1,
baseIndent: 1,
closeBracket: 0,
alignAttributesVertically: true,
ignores: []
}
],
"vue/max-attributes-per-line": [
"error",
{
singleline: {
max: 2
},
multiline: {
max: 1
}
}
]
}
};
+22
View File
@@ -0,0 +1,22 @@
.DS_Store
node_modules
/dist
package-lock.json
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
+11
View File
@@ -0,0 +1,11 @@
module.exports = {
semi: false,
singleQuote: false,
tabWidth: 2,
useTabs: false,
printWidth: 120,
proseWrap: 'preserve',
trailingComma: 'es5',
bracketSpacing: true,
quoteProps: "consistent",
}
+88
View File
@@ -0,0 +1,88 @@
# home
一个h5项目
## 安装
```
npm install
```
## 运行
```
npm run serve:dev //本地运行,并且代理到开发环境
npm run serve:test //本地运行,并且代理到测试环境
npm run serve:uat //本地运行,并且代理到预发布环境
npm run serve:prod //本地运行,并且代理到生产环境
```
## 打包
```
// 测试环境
npm run build:test
// 预发布环境
npm run build:uat
// 生产环境
npm run build:prod
```
## 说明
项目采用vue3.0 + vite搭建,组件库默认引入了vant,状态管理使用pinia。
使用vw适配方案,默认375宽度,可在vite.config.ts里配置更改默认宽度。
## 常见问题
### 按需引入组件
项目使用 unplugin-vue-components 插件,它可以自动引入组件,并按需引入组件的样式,无需手动引入样式。
```JS
import {
Button
} from 'vant';
```
### 引入函数组件的样式
Vant 中有个别组件是以函数的形式提供的,包括 Toast,Dialog,Notify 和 ImagePreview 组件。在使用函数组件时,unplugin-vue-components 无法自动引入对应的样式,因此需要手动引入样式。
```JS
// Toast
import {
Toast
} from 'vant';
import 'vant/es/toast/style';
// Dialog
import {
Dialog
} from 'vant';
import 'vant/es/dialog/style';
// Notify
import {
Notify
} from 'vant';
import 'vant/es/notify/style';
// ImagePreview
import {
ImagePreview
} from 'vant';
import 'vant/es/image-preview/style';
```
### 本地代理
运行项目时的接口代理,可在 proxy.config.ts 中配置。
## 相关文档
[vue3.0 文档](https://cn.vuejs.org/guide/quick-start.html).
[vite 文档](https://vitejs.cn/).
[vant 文档](https://vant-contrib.gitee.io/vant/#/zh-CN/).
+18
View File
@@ -0,0 +1,18 @@
// generated by unplugin-vue-components
// We suggest you to commit this file into source control
// Read more: https://github.com/vuejs/core/pull/3399
import '@vue/runtime-core'
export {}
declare module '@vue/runtime-core' {
export interface GlobalComponents {
_index: typeof import('./src/components/abnormal/_index.vue')['default']
Abnormal: typeof import('./src/components/abnormal/index.vue')['default']
HelloWorld: typeof import('./src/components/HelloWorld.vue')['default']
IconAndText: typeof import('./src/components/abnormal/iconAndText.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
VanButton: typeof import('vant/es')['Button']
}
}
+15
View File
@@ -0,0 +1,15 @@
export declare const appName: string;
export declare const passid: string;
export declare const VITE_APP_ENV: string;
export declare let proxyTarget: string;
export declare const vconsoleDebug: boolean;
export declare const scriptSrcStr: string;
export declare let temp: string;
export declare const injectScriptStr: string;
+39
View File
@@ -0,0 +1,39 @@
const appName = "协同办公XX管理后台";
const passid = "paasid";
const ENV: any = import.meta.env || process.env;
const VITE_APP_ENV: string = ENV.VITE_APP_ENV;
let proxyTarget = "";
switch (VITE_APP_ENV) {
case "test":
proxyTarget = "https://xxxxxx.com";
break;
case "uat":
proxyTarget = "https://xxxxxx.com";
break;
case "prod":
proxyTarget = "https://xxxxxx.com";
break;
default:
proxyTarget = "https://xxxxxx.com";
break;
}
const vconsoleDebug = true;
const scriptSrcStr = "var src = '/midjs/mjs/vconsole/v3.14.6/vconsole.min.js';document.write('<scr' + 'ipt src=\"' + src + '\"></scr' + 'ipt>');document.write('<scr' + 'ipt>new window.VConsole();</scr' + 'ipt>');";
let temp = "";
if (vconsoleDebug && (VITE_APP_ENV === "test" || VITE_APP_ENV === "uat")) {
temp = scriptSrcStr;
} else {
temp = `if (/vconsole=true/.test(window.location)) {${scriptSrcStr}};`;
}
const injectScriptStr = `<script>;(function () {${temp}})();</script>`;
export {
appName,
proxyTarget,
passid,
injectScriptStr
};
Vendored
+13
View File
@@ -0,0 +1,13 @@
/// <reference types="vite/client" />
declare interface ImportMetaEnv {
readonly VITE_APP_ENV: string
// 更多环境变量...
}
declare interface ImportMeta {
readonly env: ImportMetaEnv
}
declare interface Window {
wx: any;
}
+20
View File
@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="zh-Hans">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="icon" type="image/png" href="/logo.png"/>
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0"/>
<title><%- title %></title>
<style>.xtbg-loading {display:inline-block;width:80px;height:80px;background-image:url("/logo.png");background-size:40px auto;background-repeat:no-repeat;background-position:center;position:fixed;margin-left:-40px;margin-top:-40px;left:50%;top:50%;}
.xtbg-loading:after {content:" ";display:block;width:80px;height:80px;box-sizing:border-box;border-radius:50%;border:4px solid #ffef30;border-color:#ffef30 transparent #ffef30 transparent;animation:xtbg-loading 1.3s linear infinite;}
@keyframes xtbg-loading {0% {transform:rotate(0deg);}
100% {transform:rotate(360deg);}
}body {background-color: #fffdf4;};</style>
</head>
<body>
<div id="app"><div class="xtbg-loading"></div></div>
<%- injectScript %>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
+48
View File
@@ -0,0 +1,48 @@
{
"name": "home",
"description": "一个h5项目",
"author": "dengtongyu",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"serve:test": "cross-env VITE_APP_ENV=test vite",
"serve:uat": "cross-env VITE_APP_ENV=uat vite",
"serve:prod": "cross-env VITE_APP_ENV=prod vite",
"build:test": "vue-tsc --noEmit && cross-env VITE_APP_ENV=test vite build",
"build:uat": "vue-tsc --noEmit && cross-env VITE_APP_ENV=uat vite build",
"build:prod": "vue-tsc --noEmit && cross-env VITE_APP_ENV=prod vite build",
"preview": "vite preview",
"lint": "eslint --fix config/*.{ts} && eslint --fix src/*.{ts,vue} && eslint --fix src/**/*.{ts,vue}"
},
"dependencies": {
"axios": "^0.27.2",
"pinia": "^2.0.19",
"vant": "^3.5.4",
"vue": "^3.2.37",
"vue-router": "^4.1.3"
},
"devDependencies": {
"@types/node": "^18.11.18",
"@typescript-eslint/eslint-plugin": "^5.40.1",
"@typescript-eslint/parser": "^5.40.1",
"@vitejs/plugin-legacy": "^2.0.1",
"@vitejs/plugin-vue": "^3.0.0",
"@vue/eslint-config-prettier": "^7.0.0",
"@vue/eslint-config-typescript": "^11.0.2",
"cross-env": "^7.0.3",
"eslint": "^8.25.0",
"eslint-plugin-html": "^7.1.0",
"eslint-plugin-vue": "^9.6.0",
"less": "^4.1.3",
"postcss-px-to-viewport": "^1.1.1",
"prettier": "^2.7.1",
"typescript": "^4.6.4",
"unplugin-vue-components": "^0.22.4",
"vite": "^3.0.9",
"vite-plugin-html": "^3.2.0",
"vite-plugin-vue-setup-extend": "^0.4.0",
"vue-tsc": "^0.38.4"
}
}
+26
View File
@@ -0,0 +1,26 @@
import { proxyTarget } from "./config"
let proxyTable = {
"/zuul": {
target: proxyTarget,
changeOrigin: true
},
"/media/": {
target: proxyTarget,
changeOrigin: true
},
"/zwwxgzt": {
target: proxyTarget,
changeOrigin: true
},
"/midjs": {
target: proxyTarget,
changeOrigin: true
},
"/irc": {
target: proxyTarget,
changeOrigin: true
},
};
export default proxyTable;
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

+7
View File
@@ -0,0 +1,7 @@
<script setup lang="ts" name="App">
import Home from "@/pages/Home.vue";
</script>
<template>
<Home />
</template>
+14
View File
@@ -0,0 +1,14 @@
import ajax from "../lib/ajax";
// import { passid } from "../../config";
const HOST = "/zwwxgzt/workstation";
// 获取用户信息
const getUserInfo = function (param: any) {
return ajax.post(`${HOST}/LoginUserInfo`, param);
};
export {
getUserInfo
};
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

+33
View File
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="144px" height="129px" viewBox="0 0 144 129" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>404</title>
<defs>
<polygon id="path-1" points="0 2.001 143.9988 2.001 143.9988 126 0 126"></polygon>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="空白页" transform="translate(-1380.000000, -251.000000)">
<g id="404" transform="translate(1380.000000, 251.000000)">
<g id="编组" transform="translate(0.000000, 0.999900)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="Clip-2"></g>
<path d="M8.6148,55.539 C8.6148,57.18 6.1548,57.18 6.1548,55.539 L6.1548,50.922 C6.1548,50.244 6.7038,49.692 7.3848,49.692 L11.9988,49.692 C13.6398,49.692 13.6398,52.155 11.9988,52.155 L8.6148,52.155 L8.6148,55.539 Z M120.1548,7.386 L124.3068,7.386 C125.9478,7.386 125.9478,9.846 124.3068,9.846 L120.1548,9.846 L120.1548,14.001 C120.1548,15.642 117.6918,15.642 117.6918,14.001 L117.6918,9.846 L113.5398,9.846 C111.8988,9.846 111.8988,7.386 113.5398,7.386 L117.6918,7.386 L117.6918,3.231 C117.6918,1.59 120.1548,1.59 120.1548,3.231 L120.1548,7.386 Z M6.1548,46.308 C6.1548,44.667 8.6148,44.667 8.6148,46.308 L8.6148,50.922 C8.6148,51.603 8.0628,52.155 7.3848,52.155 L2.7678,52.155 C1.1268,52.155 1.1268,49.692 2.7678,49.692 L6.1548,49.692 L6.1548,46.308 Z M125.5398,92.463 C125.5398,94.101 123.0768,94.101 123.0768,92.463 L123.0768,87.846 C123.0768,87.165 123.6288,86.616 124.3068,86.616 L128.9238,86.616 C130.5648,86.616 130.5648,89.076 128.9238,89.076 L125.5398,89.076 L125.5398,92.463 Z M123.0768,83.229 C123.0768,81.591 125.5398,81.591 125.5398,83.229 L125.5398,87.846 C125.5398,88.527 124.9878,89.076 124.3068,89.076 L119.6928,89.076 C118.0518,89.076 118.0518,86.616 119.6928,86.616 L123.0768,86.616 L123.0768,83.229 Z M54.3078,126 C53.6268,126 53.0778,125.448 53.0778,124.77 C53.0778,124.089 53.6268,123.54 54.3078,123.54 L101.2308,123.54 C101.9118,123.54 102.4608,124.089 102.4608,124.77 C102.4608,125.448 101.9118,126 101.2308,126 L54.3078,126 Z M36.6138,126 C35.9358,126 35.3838,125.448 35.3838,124.77 C35.3838,124.089 35.9358,123.54 36.6138,123.54 L47.3838,123.54 C48.0648,123.54 48.6138,124.089 48.6138,124.77 C48.6138,125.448 48.0648,126 47.3838,126 L36.6138,126 Z M128.9238,114.462 C128.2428,114.462 127.6908,113.91 127.6908,113.229 C127.6908,112.551 128.2428,111.999 128.9238,111.999 L142.7688,111.999 C143.4498,111.999 143.9988,112.551 143.9988,113.229 C143.9988,113.91 143.4498,114.462 142.7688,114.462 L128.9238,114.462 Z M115.0758,114.462 C114.3978,114.462 113.8458,113.91 113.8458,113.229 C113.8458,112.551 114.3978,111.999 115.0758,111.999 L118.9248,111.999 C119.6028,111.999 120.1548,112.551 120.1548,113.229 C120.1548,113.91 119.6028,114.462 118.9248,114.462 L115.0758,114.462 Z M1.2318,114.462 C0.5508,114.462 -0.0012,113.91 -0.0012,113.229 C-0.0012,112.551 0.5508,111.999 1.2318,111.999 L108.9228,111.999 C109.6038,111.999 110.1528,112.551 110.1528,113.229 C110.1528,113.91 109.6038,114.462 108.9228,114.462 L1.2318,114.462 Z" id="Fill-1" fill="#C3CBD6" mask="url(#mask-2)"></path>
</g>
<path d="M33.0879,20.889 C32.3619,21.615 31.2759,20.526 31.9989,19.803 L33.6309,18.171 C33.9309,17.871 34.4199,17.871 34.7199,18.171 L36.3519,19.803 C37.0779,20.526 35.9889,21.615 35.2629,20.889 L34.1769,19.803 L33.0879,20.889 Z M35.2629,16.539 C35.9889,15.813 37.0779,16.899 36.3519,17.628 L34.7199,19.26 C34.4199,19.56 33.9309,19.56 33.6309,19.26 L31.9989,17.628 C31.2759,16.899 32.3619,15.813 33.0879,16.539 L34.1769,17.628 L35.2629,16.539 Z M19.5069,101.418 C18.7809,102.141 17.6919,101.055 18.4179,100.329 L20.0499,98.7 C20.3499,98.397 20.8389,98.397 21.1389,98.7 L22.7709,100.329 C23.4939,101.055 22.4049,102.141 21.6819,101.418 L20.5929,100.329 L19.5069,101.418 Z M21.6819,97.068 C22.4049,96.342 23.4939,97.428 22.7709,98.154 L21.1389,99.786 C20.8389,100.086 20.3499,100.086 20.0499,99.786 L18.4179,98.154 C17.6919,97.428 18.7809,96.342 19.5069,97.068 L20.5929,98.154 L21.6819,97.068 Z" id="Fill-3" fill="#C3CBD6"></path>
<path d="M94.3785,55.0125 L102.5055,58.2945 L100.7745,62.5755 C100.1385,64.1505 98.3475,64.9125 96.7695,64.2735 L69.6675,53.3265 C68.0925,52.6875 67.3305,50.8935 67.9665,49.3215 L69.6975,45.0405 L76.3965,47.7465 C70.3545,44.3685 68.3205,40.2285 70.3035,35.3295 C74.4405,25.0875 86.0955,20.1375 96.3375,24.2775 C106.5795,28.4145 111.5265,40.0725 107.3895,50.3145 C105.4095,55.2135 101.0715,56.7795 94.3785,55.0125 L85.3875,51.3795 C81.7695,50.2875 78.7725,49.0755 76.3965,47.7465 L94.3785,55.0125 Z" id="Fill-5" fill="#F5F7F9"></path>
<path d="M94.8399,53.8716 C100.7409,55.4226 104.5239,54.1236 106.2489,49.8516 C110.1249,40.2576 105.4719,29.2956 95.8779,25.4196 C91.2279,23.5386 86.1249,23.5836 81.5139,25.5456 C76.8969,27.5016 73.3209,31.1406 71.4429,35.7906 C69.7239,40.0416 71.5209,43.5906 76.9299,46.6356 L94.8399,53.8716 Z M70.3779,46.6416 L69.1089,49.7826 C68.7279,50.7246 69.1869,51.8016 70.1289,52.1856 L97.2309,63.1326 C97.6869,63.3156 98.1879,63.3126 98.6439,63.1206 C99.0969,62.9286 99.4509,62.5716 99.6339,62.1156 L100.9029,58.9746 L84.9249,52.5216 C81.3819,51.4536 78.2979,50.2116 75.8649,48.8586 L70.3779,46.6416 Z M97.9239,65.7336 C97.3779,65.7336 96.8319,65.6256 96.3099,65.4156 L69.2079,54.4656 C67.0059,53.5746 65.9379,51.0606 66.8259,48.8586 L69.0189,43.4376 L69.9249,43.8066 C67.7619,40.5816 68.1519,37.3626 69.1599,34.8696 C71.2839,29.6106 75.3309,25.4946 80.5509,23.2776 C85.7709,21.0606 91.5429,21.0126 96.7989,23.1366 C107.6529,27.5226 112.9149,39.9216 108.5289,50.7756 C107.5239,53.2656 105.5649,55.8546 101.7729,56.6736 L104.1069,57.6156 L101.9169,63.0366 C101.4849,64.1046 100.6659,64.9386 99.6069,65.3886 C99.0669,65.6166 98.4939,65.7336 97.9239,65.7336 L97.9239,65.7336 Z" id="Fill-7" fill="#C3CBD6"></path>
<polygon id="Fill-9" fill="#FFFFFF" points="60.4203 34.323 115.1943 56.454 111.5073 65.583 56.7333 43.452"></polygon>
<path d="M58.3344,42.7722 L110.8284,63.9792 L113.5914,57.1332 L61.1004,35.9262 L58.3344,42.7722 Z M112.1874,67.1862 L55.1304,44.1312 L59.7414,32.7192 L116.7984,55.7742 L112.1874,67.1862 Z" id="Fill-11" fill="#C3CAD7"></path>
<path d="M101.5035,58.7202 C100.3215,58.2432 99.7515,56.8992 100.2285,55.7172 C100.7055,54.5352 102.0525,53.9652 103.2315,54.4422 C104.4135,54.9192 104.9865,56.2632 104.5065,57.4452 C104.0295,58.6272 102.6855,59.1972 101.5035,58.7202 M91.5195,54.6852 C90.3375,54.2082 89.7645,52.8642 90.2445,51.6822 C90.7215,50.5002 92.0655,49.9302 93.2475,50.4072 C94.4295,50.8842 94.9995,52.2282 94.5225,53.4102 C94.0455,54.5922 92.6985,55.1622 91.5195,54.6852 M78.6825,49.4982 C77.5005,49.0212 76.9275,47.6772 77.4045,46.4952 C77.8815,45.3132 79.2285,44.7432 80.4105,45.2202 C81.5925,45.6972 82.1625,47.0412 81.6855,48.2232 C81.2055,49.4082 79.8615,49.9752 78.6825,49.4982 M68.6955,45.4662 C67.5135,44.9862 66.9435,43.6422 67.4205,42.4632 C67.8975,41.2812 69.2445,40.7082 70.4235,41.1852 C71.6055,41.6622 72.1785,43.0092 71.6985,44.1912 C71.2215,45.3732 69.8775,45.9432 68.6955,45.4662" id="Fill-13" fill="#C3CAD7"></path>
<path d="M39.0807,75.5643 C39.4137,75.3033 39.8967,75.3633 40.1607,75.6963 C40.4217,76.0323 40.3617,76.5153 40.0257,76.7763 L31.1397,83.7213 C30.8037,83.9823 30.3207,83.9223 30.0597,83.5863 C29.7987,83.2533 29.8587,82.7703 30.1917,82.5063 L39.0807,75.5643 Z M45.2997,70.7043 C45.6357,70.4433 46.1187,70.5033 46.3797,70.8363 C46.6437,71.1723 46.5807,71.6553 46.2477,71.9163 L43.3107,74.2113 C42.9747,74.4723 42.4917,74.4123 42.2307,74.0793 C41.9697,73.7433 42.0267,73.2603 42.3627,72.9993 L45.2997,70.7043 Z M65.1237,55.2153 C65.4567,54.9543 65.9427,55.0143 66.2037,55.3503 C66.4647,55.6833 66.4047,56.1663 66.0717,56.4303 L50.3277,68.7303 C49.9917,68.9913 49.5087,68.9313 49.2477,68.5983 C48.9837,68.2623 49.0437,67.7793 49.3797,67.5183 L65.1237,55.2153 Z" id="Fill-15" fill="#C3CAD7"></path>
<path d="M98.5869,68.7366 C98.5269,68.3166 98.1399,68.0226 97.7169,68.0826 C97.2969,68.1396 97.0059,68.5296 97.0629,68.9496 L101.3829,91.8126 C101.4429,92.2356 101.8299,92.5266 102.2529,92.4696 C102.6729,92.4096 102.9639,92.0196 102.9039,91.5996 L98.5869,68.7366 Z" id="Fill-17" fill="#C3CAD7"></path>
<path d="M59.6616,53.6943 C60.0606,53.5503 60.5016,53.7573 60.6486,54.1533 C60.7926,54.5553 60.5856,54.9963 60.1866,55.1403 L51.6846,58.8183 C51.2856,58.9653 50.8446,58.7583 50.7006,58.3593 C50.5536,57.9603 50.7606,57.5193 51.1596,57.3753 L59.6616,53.6943 Z" id="Fill-19" fill="#C3CAD7"></path>
<path d="M102.3399,73.7949 C102.1809,73.4019 102.3699,72.9519 102.7659,72.7959 C103.1589,72.6339 103.6059,72.8259 103.7679,73.2189 L107.9919,83.6769 C108.1509,84.0699 107.9619,84.5199 107.5659,84.6759 C107.1729,84.8379 106.7229,84.6459 106.5639,84.2529 L102.3399,73.7949 Z" id="Fill-21" fill="#C3CAD7"></path>
<path d="M56.3394,86.1054 L54.3084,81.3234 L52.2744,87.8304 L56.3394,86.1054 Z M57.7314,89.3814 L50.0334,92.6484 L48.5604,89.1744 L52.3734,76.7604 L56.0544,75.1974 L60.0234,84.5424 L61.9284,83.7324 L63.3204,87.0084 L61.4124,87.8184 L62.6184,90.6624 L58.9374,92.2254 L57.7314,89.3814 Z" id="Fill-23" fill="#C3CBD6"></path>
<path d="M73.5264,79.4022 C74.0364,81.4422 74.5644,82.7922 75.1104,83.4492 C75.6564,84.1062 76.2744,84.3492 76.9614,84.1782 C77.4114,84.0672 77.7624,83.8092 78.0174,83.4102 C78.2694,83.0112 78.3894,82.4502 78.3744,81.7242 C78.3594,81.0012 78.1704,79.9122 77.8104,78.4632 C77.2794,76.3332 76.7424,74.9502 76.1994,74.3052 C75.6534,73.6632 75.0234,73.4322 74.3004,73.6122 C73.5654,73.7952 73.1274,74.3022 72.9834,75.1302 C72.8424,75.9612 73.0254,77.3832 73.5264,79.4022 M69.1074,80.4942 C68.3484,77.4462 68.3634,75.1782 69.1584,73.6872 C69.9534,72.1962 71.4714,71.1702 73.7154,70.6092 C74.7954,70.3422 75.7134,70.2552 76.4724,70.3482 C77.2314,70.4412 77.8824,70.6482 78.4254,70.9632 C78.9684,71.2812 79.4244,71.6442 79.7934,72.0522 C80.1624,72.4602 80.5014,72.9582 80.8104,73.5462 C81.4074,74.6652 81.8694,75.8742 82.1934,77.1732 C82.9164,80.0802 82.9554,82.3332 82.3074,83.9262 C81.6594,85.5192 80.1324,86.6172 77.7264,87.2142 C76.3794,87.5532 75.2364,87.6072 74.2974,87.3852 C73.3584,87.1632 72.5214,86.7042 71.7804,86.0052 C71.2494,85.5102 70.7454,84.7782 70.2774,83.8062 C69.8064,82.8372 69.4164,81.7302 69.1074,80.4942" id="Fill-25" fill="#C3CBD6"></path>
<path d="M83.3409,101.4597 L86.2449,97.1517 L79.6779,98.9877 L83.3409,101.4597 Z M81.3489,104.4117 L74.4189,99.7347 L76.5279,96.6057 L89.0199,93.0417 L92.3349,95.2797 L86.6559,103.6977 L88.3749,104.8557 L86.3859,107.8077 L84.6669,106.6467 L82.9389,109.2087 L79.6239,106.9707 L81.3489,104.4117 Z" id="Fill-27" fill="#C3CBD6"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+50
View File
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="122px" height="104px" viewBox="0 0 122 104" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
<title>服务器异常</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="空白页" transform="translate(-502.000000, -508.000000)">
<g id="服务器异常" transform="translate(502.000000, 508.000000)">
<g id="分组-2">
<g id="背景/线" fill="#C3CBD6">
<g id="-">
<g id="编组" transform="translate(14.200000, 9.200000)" fill-rule="nonzero">
<path
d="M0.8,73.1 C0.3581722,73.1 -5.68434189e-14,72.7418278 -5.68434189e-14,72.3 C-5.68434189e-14,71.8581722 0.3581722,71.5 0.8,71.5 L70.8,71.5 C71.2418278,71.5 71.6,71.8581722 71.6,72.3 C71.6,72.7418278 71.2418278,73.1 70.8,73.1 L0.8,73.1 Z M74.8,73.1 C74.3581722,73.1 74,72.7418278 74,72.3 C74,71.8581722 74.3581722,71.5 74.8,71.5 L77.3,71.5 C77.7418278,71.5 78.1,71.8581722 78.1,72.3 C78.1,72.7418278 77.7418278,73.1 77.3,73.1 L74.8,73.1 Z M83.8,73.1 C83.3581722,73.1 83,72.7418278 83,72.3 C83,71.8581722 83.3581722,71.5 83.8,71.5 L92.8,71.5 C93.2418278,71.5 93.6,71.8581722 93.6,72.3 C93.6,72.7418278 93.2418278,73.1 92.8,73.1 L83.8,73.1 Z M23.8,80.6 C23.3581722,80.6 23,80.2418278 23,79.8 C23,79.3581722 23.3581722,79 23.8,79 L30.8,79 C31.2418278,79 31.6,79.3581722 31.6,79.8 C31.6,80.2418278 31.2418278,80.6 30.8,80.6 L23.8,80.6 Z M35.3,80.6 C34.8581722,80.6 34.5,80.2418278 34.5,79.8 C34.5,79.3581722 34.8581722,79 35.3,79 L65.8,79 C66.2418278,79 66.6,79.3581722 66.6,79.8 C66.6,80.2418278 66.2418278,80.6 65.8,80.6 L35.3,80.6 Z M80,52.8 C80,51.7333333 81.6,51.7333333 81.6,52.8 L81.6,55.8 C81.6,56.2418278 81.2418278,56.6 80.8,56.6 L77.8,56.6 C76.7333333,56.6 76.7333333,55 77.8,55 L80,55 L80,52.8 Z M81.6,58.8 C81.6,59.8666667 80,59.8666667 80,58.8 L80,55.8 C80,55.3581722 80.3581722,55 80.8,55 L83.8,55 C84.8666667,55 84.8666667,56.6 83.8,56.6 L81.6,56.6 L81.6,58.8 Z M4,28.8 C4,27.7333333 5.6,27.7333333 5.6,28.8 L5.6,31.8 C5.6,32.2418278 5.2418278,32.6 4.8,32.6 L1.8,32.6 C0.733333333,32.6 0.733333333,31 1.8,31 L4,31 L4,28.8 Z M78.1,3.5 L80.8,3.5 C81.8666667,3.5 81.8666667,5.1 80.8,5.1 L78.1,5.1 L78.1,7.8 C78.1,8.86666667 76.5,8.86666667 76.5,7.8 L76.5,5.1 L73.8,5.1 C72.7333333,5.1 72.7333333,3.5 73.8,3.5 L76.5,3.5 L76.5,0.8 C76.5,-0.266666667 78.1,-0.266666667 78.1,0.8 L78.1,3.5 Z M5.6,34.8 C5.6,35.8666667 4,35.8666667 4,34.8 L4,31.8 C4,31.3581722 4.3581722,31 4.8,31 L7.8,31 C8.86666667,31 8.86666667,32.6 7.8,32.6 L5.6,32.6 L5.6,34.8 Z"
id="Path-2"></path>
<path
d="M14.0928932,61.1431458 C14.5642977,60.6717412 15.2714045,61.378848 14.8,61.8502525 L13.7393398,62.9109127 C13.5440777,63.1061748 13.2274952,63.1061748 13.032233,62.9109127 L11.9715729,61.8502525 C11.5001684,61.378848 12.2072751,60.6717412 12.6786797,61.1431458 L13.3857864,61.8502525 L14.0928932,61.1431458 Z M12.6786797,63.9715729 C12.2072751,64.4429774 11.5001684,63.7358706 11.9715729,63.2644661 L13.032233,62.2038059 C13.2274952,62.0085438 13.5440777,62.0085438 13.7393398,62.2038059 L14.8,63.2644661 C15.2714045,63.7358706 14.5642977,64.4429774 14.0928932,63.9715729 L13.3857864,63.2644661 L12.6786797,63.9715729 Z M22.9213203,8.8 C23.3927249,8.32859548 24.0998316,9.03570226 23.6284271,9.50710678 L22.567767,10.567767 C22.3725048,10.7630291 22.0559223,10.7630291 21.8606602,10.567767 L20.8,9.50710678 C20.3285955,9.03570226 21.0357023,8.32859548 21.5071068,8.8 L22.2142136,9.50710678 L22.9213203,8.8 Z M21.5071068,11.6284271 C21.0357023,12.0998316 20.3285955,11.3927249 20.8,10.9213203 L21.8606602,9.86066017 C22.0559223,9.66539803 22.3725048,9.66539803 22.567767,9.86066017 L23.6284271,10.9213203 C24.0998316,11.3927249 23.3927249,12.0998316 22.9213203,11.6284271 L22.2142136,10.9213203 L21.5071068,11.6284271 Z"
id="Path复制"></path>
</g>
</g>
</g>
<g id="分组" transform="translate(37.000000, 28.000000)">
<g id="分组-4" transform="translate(0.000000, 17.000000)" stroke="#C3CBD6">
<path
d="M9,0 L39,0 C40.6568542,-3.04359188e-16 42,1.34314575 42,3 L42,26 C42,27.6568542 40.6568542,29 39,29 L9,29 C7.34314575,29 6,27.6568542 6,26 L6,3 C6,1.34314575 7.34314575,3.04359188e-16 9,0 Z"
id="矩形" stroke-width="1.6" fill="#F5F7F9"></path>
<path
d="M3,0 L45,0 C46.6568542,-3.04359188e-16 48,1.34314575 48,3 L48,10 C48,11.6568542 46.6568542,13 45,13 L3,13 C1.34314575,13 -9.21676495e-14,11.6568542 -9.23705556e-14,10 L-9.23705556e-14,3 C-9.25734618e-14,1.34314575 1.34314575,3.04359188e-16 3,0 Z M3,17 L45,17 C46.6568542,17 48,18.3431458 48,20 L48,27 C48,28.6568542 46.6568542,30 45,30 L3,30 C1.34314575,30 -4.59823717e-14,28.6568542 -4.61852778e-14,27 L-4.61852778e-14,20 C-4.63881839e-14,18.3431458 1.34314575,17 3,17 Z"
id="矩形-copy-2" stroke-width="1.6" fill="#FFFFFF"></path>
<path
d="M15.5,9 C14.1192881,9 13,7.88071187 13,6.5 C13,5.11928813 14.1192881,4 15.5,4 C16.8807119,4 18,5.11928813 18,6.5 C18,7.88071187 16.8807119,9 15.5,9 Z M7.5,9 C6.11928813,9 5,7.88071187 5,6.5 C5,5.11928813 6.11928813,4 7.5,4 C8.88071187,4 10,5.11928813 10,6.5 C10,7.88071187 8.88071187,9 7.5,9 Z M15.5,26 C14.1192881,26 13,24.8807119 13,23.5 C13,22.1192881 14.1192881,21 15.5,21 C16.8807119,21 18,22.1192881 18,23.5 C18,24.8807119 16.8807119,26 15.5,26 Z M7.5,26 C6.11928813,26 5,24.8807119 5,23.5 C5,22.1192881 6.11928813,21 7.5,21 C8.88071187,21 10,22.1192881 10,23.5 C10,24.8807119 8.88071187,26 7.5,26 Z"
id="椭圆形-2" fill="#F5F7F9"></path>
</g>
<g id="分组-3" transform="translate(26.000000, 0.000000)">
<path
d="M9.14833827,6.45810967 L29.9558632,10.3539337 C31.5844183,10.6588505 32.6574391,12.2262392 32.3525223,13.8547943 C32.2412082,14.4493209 31.9527817,14.9963151 31.5250828,15.4240139 L14.6133819,32.3357148 C13.4418091,33.5072877 11.5423141,33.5072877 10.3707413,32.3357148 C9.94304237,31.9080159 9.65461582,31.3610217 9.54330172,30.7664952 L5.64747767,9.95897027 C5.34256086,8.33041516 6.41558171,6.76302648 8.04413682,6.45810967 C8.40903359,6.3897895 8.7834415,6.3897895 9.14833827,6.45810967 Z"
id="矩形" stroke="#C3CBD6" stroke-width="1.6" fill="#F5F7F9"
transform="translate(19.000000, 19.810632) rotate(-315.000000) translate(-19.000000, -19.810632) ">
</path>
<path
d="M21.3233535,11.0759985 L20.4899269,16.7790538 C20.4181425,17.270267 19.9968675,17.6344528 19.5004368,17.6344528 L18.94425,17.6344528 C18.4478194,17.6344528 18.0265443,17.270267 17.95476,16.7790538 L17.1213334,11.0759985 C16.9616115,9.98303798 17.718151,8.96753829 18.8111115,8.80781647 C18.9068766,8.79382166 19.0035312,8.78679656 19.1003135,8.78679656 L19.3443734,8.78679656 C20.4489429,8.78679656 21.3443734,9.68222706 21.3443734,10.7867966 C21.3443734,10.8835788 21.3373483,10.9802334 21.3233535,11.0759985 Z M19.3102341,21.4430466 L19.1930466,21.4430466 C18.4487566,21.4430466 17.8453903,20.8396803 17.8453903,20.0953903 L17.8453903,20.0953903 C17.8453903,19.3511003 18.4487566,18.7477341 19.1930466,18.7477341 L19.3102341,18.7477341 C20.0545241,18.7477341 20.6578903,19.3511003 20.6578903,20.0953903 L20.6578903,20.0953903 C20.6578903,20.8396803 20.0545241,21.4430466 19.3102341,21.4430466 Z"
id="!" fill="#C3CBD6" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

+57
View File
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="122px" height="104px" viewBox="0 0 122 104" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
<title>设备异常</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="空白页" transform="translate(-194.000000, -664.000000)">
<g id="设备异常" transform="translate(194.000000, 664.000000)">
<g id="分组-10">
<g id="背景/线" fill="#C3CBD6">
<g id="-">
<g id="编组" transform="translate(14.200000, 9.200000)" fill-rule="nonzero">
<path
d="M0.8,73.1 C0.3581722,73.1 -5.68434189e-14,72.7418278 -5.68434189e-14,72.3 C-5.68434189e-14,71.8581722 0.3581722,71.5 0.8,71.5 L70.8,71.5 C71.2418278,71.5 71.6,71.8581722 71.6,72.3 C71.6,72.7418278 71.2418278,73.1 70.8,73.1 L0.8,73.1 Z M74.8,73.1 C74.3581722,73.1 74,72.7418278 74,72.3 C74,71.8581722 74.3581722,71.5 74.8,71.5 L77.3,71.5 C77.7418278,71.5 78.1,71.8581722 78.1,72.3 C78.1,72.7418278 77.7418278,73.1 77.3,73.1 L74.8,73.1 Z M83.8,73.1 C83.3581722,73.1 83,72.7418278 83,72.3 C83,71.8581722 83.3581722,71.5 83.8,71.5 L92.8,71.5 C93.2418278,71.5 93.6,71.8581722 93.6,72.3 C93.6,72.7418278 93.2418278,73.1 92.8,73.1 L83.8,73.1 Z M23.8,80.6 C23.3581722,80.6 23,80.2418278 23,79.8 C23,79.3581722 23.3581722,79 23.8,79 L30.8,79 C31.2418278,79 31.6,79.3581722 31.6,79.8 C31.6,80.2418278 31.2418278,80.6 30.8,80.6 L23.8,80.6 Z M35.3,80.6 C34.8581722,80.6 34.5,80.2418278 34.5,79.8 C34.5,79.3581722 34.8581722,79 35.3,79 L65.8,79 C66.2418278,79 66.6,79.3581722 66.6,79.8 C66.6,80.2418278 66.2418278,80.6 65.8,80.6 L35.3,80.6 Z M80,52.8 C80,51.7333333 81.6,51.7333333 81.6,52.8 L81.6,55.8 C81.6,56.2418278 81.2418278,56.6 80.8,56.6 L77.8,56.6 C76.7333333,56.6 76.7333333,55 77.8,55 L80,55 L80,52.8 Z M81.6,58.8 C81.6,59.8666667 80,59.8666667 80,58.8 L80,55.8 C80,55.3581722 80.3581722,55 80.8,55 L83.8,55 C84.8666667,55 84.8666667,56.6 83.8,56.6 L81.6,56.6 L81.6,58.8 Z M4,28.8 C4,27.7333333 5.6,27.7333333 5.6,28.8 L5.6,31.8 C5.6,32.2418278 5.2418278,32.6 4.8,32.6 L1.8,32.6 C0.733333333,32.6 0.733333333,31 1.8,31 L4,31 L4,28.8 Z M78.1,3.5 L80.8,3.5 C81.8666667,3.5 81.8666667,5.1 80.8,5.1 L78.1,5.1 L78.1,7.8 C78.1,8.86666667 76.5,8.86666667 76.5,7.8 L76.5,5.1 L73.8,5.1 C72.7333333,5.1 72.7333333,3.5 73.8,3.5 L76.5,3.5 L76.5,0.8 C76.5,-0.266666667 78.1,-0.266666667 78.1,0.8 L78.1,3.5 Z M5.6,34.8 C5.6,35.8666667 4,35.8666667 4,34.8 L4,31.8 C4,31.3581722 4.3581722,31 4.8,31 L7.8,31 C8.86666667,31 8.86666667,32.6 7.8,32.6 L5.6,32.6 L5.6,34.8 Z"
id="Path-2"></path>
<path
d="M14.0928932,61.1431458 C14.5642977,60.6717412 15.2714045,61.378848 14.8,61.8502525 L13.7393398,62.9109127 C13.5440777,63.1061748 13.2274952,63.1061748 13.032233,62.9109127 L11.9715729,61.8502525 C11.5001684,61.378848 12.2072751,60.6717412 12.6786797,61.1431458 L13.3857864,61.8502525 L14.0928932,61.1431458 Z M12.6786797,63.9715729 C12.2072751,64.4429774 11.5001684,63.7358706 11.9715729,63.2644661 L13.032233,62.2038059 C13.2274952,62.0085438 13.5440777,62.0085438 13.7393398,62.2038059 L14.8,63.2644661 C15.2714045,63.7358706 14.5642977,64.4429774 14.0928932,63.9715729 L13.3857864,63.2644661 L12.6786797,63.9715729 Z M22.9213203,8.8 C23.3927249,8.32859548 24.0998316,9.03570226 23.6284271,9.50710678 L22.567767,10.567767 C22.3725048,10.7630291 22.0559223,10.7630291 21.8606602,10.567767 L20.8,9.50710678 C20.3285955,9.03570226 21.0357023,8.32859548 21.5071068,8.8 L22.2142136,9.50710678 L22.9213203,8.8 Z M21.5071068,11.6284271 C21.0357023,12.0998316 20.3285955,11.3927249 20.8,10.9213203 L21.8606602,9.86066017 C22.0559223,9.66539803 22.3725048,9.66539803 22.567767,9.86066017 L23.6284271,10.9213203 C24.0998316,11.3927249 23.3927249,12.0998316 22.9213203,11.6284271 L22.2142136,10.9213203 L21.5071068,11.6284271 Z"
id="Path复制"></path>
</g>
</g>
</g>
<g id="分组" transform="translate(40.000000, 29.000000)">
<g id="分组-6" transform="translate(0.000000, 17.000000)" stroke="#C3CBD6">
<path
d="M1.6,33.4 L30.4,33.4 L30.4,5 C30.4,3.12223185 28.8777681,1.6 27,1.6 L5,1.6 C3.12223185,1.6 1.6,3.12223185 1.6,5 L1.6,33.4 Z"
id="路径" stroke-width="3.2" fill="#F5F7F9"></path>
<path
d="M5.6,33.4 L26.4,33.4 L26.4,10 C26.4,9.22680135 25.7731986,8.6 25,8.6 L7,8.6 C6.22680135,8.6 5.6,9.22680135 5.6,10 L5.6,33.4 Z"
id="路径" stroke-width="3.2" fill="#FFFFFF"></path>
<path d="M12,4.5 L20,4.5" id="Path-13" stroke-linecap="round" stroke-linejoin="round">
</path>
</g>
<g id="分组-4" transform="translate(11.000000, 33.000000)">
<path
d="M9,7.69933183 C8.03828322,6.56786449 6.60463859,5.85 5.00332771,5.85 C3.39831876,5.85 1.96175136,6.57118399 1,7.70717749"
id="Oval-5" stroke="#C3CBD7" stroke-width="1.6" stroke-linecap="round"
stroke-linejoin="round"></path>
<rect id="Rectangle-2" fill="#C3CBD7" x="1.13242749e-14" y="0" width="1.6" height="3">
</rect>
<rect id="Rectangle-2-Copy" fill="#C3CBD7" x="8.4" y="0" width="1.6" height="3"></rect>
</g>
<g id="分组-5" transform="translate(34.000000, 0.000000)">
<path
d="M8.09857103,21.4055708 L1.83242187,23.0667969 L3.3491463,18.6233981 C1.2750795,16.6462038 0,13.9595985 0,11 C0,4.92486775 5.372583,-3.37507799e-14 12,-3.37507799e-14 C18.627417,-3.37507799e-14 24,4.92486775 24,11 C24,17.0751322 18.627417,22 12,22 C10.634219,22 9.32172977,21.7908451 8.09857103,21.4055708 Z"
id="椭圆形-2" stroke="#C3CBD7" stroke-width="1.6" fill="#FFFFFF" stroke-linecap="round"
stroke-linejoin="round"></path>
<path
d="M14.536557,7.28920195 L13.7031303,12.9922572 C13.631346,13.4834704 13.210071,13.8476562 12.7136403,13.8476562 L12.1574535,13.8476562 C11.6610228,13.8476562 11.2397478,13.4834704 11.1679634,12.9922572 L10.3345368,7.28920195 C10.174815,6.19624142 10.9313544,5.18074173 12.0243149,5.0210199 C12.12008,5.00702509 12.2167346,5 12.3135169,5 L12.5575769,5 C13.6621464,5 14.5575769,5.8954305 14.5575769,7 C14.5575769,7.09678226 14.5505518,7.19343687 14.536557,7.28920195 Z M12.5234375,17.65625 L12.40625,17.65625 C11.66196,17.65625 11.0585938,17.0528837 11.0585938,16.3085937 L11.0585938,16.3085937 C11.0585938,15.5643038 11.66196,14.9609375 12.40625,14.9609375 L12.5234375,14.9609375 C13.2677275,14.9609375 13.8710938,15.5643038 13.8710938,16.3085937 L13.8710938,16.3085937 C13.8710938,17.0528837 13.2677275,17.65625 12.5234375,17.65625 Z"
id="!" fill="#C3CBD6" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.6 KiB

+50
View File
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="122px" height="104px" viewBox="0 0 122 104" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
<title>加载失败</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="空白页" transform="translate(-656.000000, -196.000000)">
<g id="加载失败" transform="translate(656.000000, 196.000000)">
<g id="分组-2">
<g id="背景/线" fill="#C3CBD6">
<g id="-">
<g id="编组" transform="translate(14.200000, 9.200000)" fill-rule="nonzero">
<path
d="M0.8,73.1 C0.3581722,73.1 -5.68434189e-14,72.7418278 -5.68434189e-14,72.3 C-5.68434189e-14,71.8581722 0.3581722,71.5 0.8,71.5 L70.8,71.5 C71.2418278,71.5 71.6,71.8581722 71.6,72.3 C71.6,72.7418278 71.2418278,73.1 70.8,73.1 L0.8,73.1 Z M74.8,73.1 C74.3581722,73.1 74,72.7418278 74,72.3 C74,71.8581722 74.3581722,71.5 74.8,71.5 L77.3,71.5 C77.7418278,71.5 78.1,71.8581722 78.1,72.3 C78.1,72.7418278 77.7418278,73.1 77.3,73.1 L74.8,73.1 Z M83.8,73.1 C83.3581722,73.1 83,72.7418278 83,72.3 C83,71.8581722 83.3581722,71.5 83.8,71.5 L92.8,71.5 C93.2418278,71.5 93.6,71.8581722 93.6,72.3 C93.6,72.7418278 93.2418278,73.1 92.8,73.1 L83.8,73.1 Z M23.8,80.6 C23.3581722,80.6 23,80.2418278 23,79.8 C23,79.3581722 23.3581722,79 23.8,79 L30.8,79 C31.2418278,79 31.6,79.3581722 31.6,79.8 C31.6,80.2418278 31.2418278,80.6 30.8,80.6 L23.8,80.6 Z M35.3,80.6 C34.8581722,80.6 34.5,80.2418278 34.5,79.8 C34.5,79.3581722 34.8581722,79 35.3,79 L65.8,79 C66.2418278,79 66.6,79.3581722 66.6,79.8 C66.6,80.2418278 66.2418278,80.6 65.8,80.6 L35.3,80.6 Z M80,52.8 C80,51.7333333 81.6,51.7333333 81.6,52.8 L81.6,55.8 C81.6,56.2418278 81.2418278,56.6 80.8,56.6 L77.8,56.6 C76.7333333,56.6 76.7333333,55 77.8,55 L80,55 L80,52.8 Z M81.6,58.8 C81.6,59.8666667 80,59.8666667 80,58.8 L80,55.8 C80,55.3581722 80.3581722,55 80.8,55 L83.8,55 C84.8666667,55 84.8666667,56.6 83.8,56.6 L81.6,56.6 L81.6,58.8 Z M4,28.8 C4,27.7333333 5.6,27.7333333 5.6,28.8 L5.6,31.8 C5.6,32.2418278 5.2418278,32.6 4.8,32.6 L1.8,32.6 C0.733333333,32.6 0.733333333,31 1.8,31 L4,31 L4,28.8 Z M78.1,3.5 L80.8,3.5 C81.8666667,3.5 81.8666667,5.1 80.8,5.1 L78.1,5.1 L78.1,7.8 C78.1,8.86666667 76.5,8.86666667 76.5,7.8 L76.5,5.1 L73.8,5.1 C72.7333333,5.1 72.7333333,3.5 73.8,3.5 L76.5,3.5 L76.5,0.8 C76.5,-0.266666667 78.1,-0.266666667 78.1,0.8 L78.1,3.5 Z M5.6,34.8 C5.6,35.8666667 4,35.8666667 4,34.8 L4,31.8 C4,31.3581722 4.3581722,31 4.8,31 L7.8,31 C8.86666667,31 8.86666667,32.6 7.8,32.6 L5.6,32.6 L5.6,34.8 Z"
id="Path-2"></path>
<path
d="M14.0928932,61.1431458 C14.5642977,60.6717412 15.2714045,61.378848 14.8,61.8502525 L13.7393398,62.9109127 C13.5440777,63.1061748 13.2274952,63.1061748 13.032233,62.9109127 L11.9715729,61.8502525 C11.5001684,61.378848 12.2072751,60.6717412 12.6786797,61.1431458 L13.3857864,61.8502525 L14.0928932,61.1431458 Z M12.6786797,63.9715729 C12.2072751,64.4429774 11.5001684,63.7358706 11.9715729,63.2644661 L13.032233,62.2038059 C13.2274952,62.0085438 13.5440777,62.0085438 13.7393398,62.2038059 L14.8,63.2644661 C15.2714045,63.7358706 14.5642977,64.4429774 14.0928932,63.9715729 L13.3857864,63.2644661 L12.6786797,63.9715729 Z M22.9213203,8.8 C23.3927249,8.32859548 24.0998316,9.03570226 23.6284271,9.50710678 L22.567767,10.567767 C22.3725048,10.7630291 22.0559223,10.7630291 21.8606602,10.567767 L20.8,9.50710678 C20.3285955,9.03570226 21.0357023,8.32859548 21.5071068,8.8 L22.2142136,9.50710678 L22.9213203,8.8 Z M21.5071068,11.6284271 C21.0357023,12.0998316 20.3285955,11.3927249 20.8,10.9213203 L21.8606602,9.86066017 C22.0559223,9.66539803 22.3725048,9.66539803 22.567767,9.86066017 L23.6284271,10.9213203 C24.0998316,11.3927249 23.3927249,12.0998316 22.9213203,11.6284271 L22.2142136,10.9213203 L21.5071068,11.6284271 Z"
id="Path复制"></path>
</g>
</g>
</g>
<g id="Group-5" transform="translate(37.000000, 31.000000)">
<path
d="M3.6,-2.84217094e-14 L30.4072871,-2.84217094e-14 L27.4517754,3.85678998 L35.6344891,8.39734605 L35.7782771,17.5 L41.0920043,8.39734605 L35.7782771,3.85678998 L41.017146,-2.84217094e-14 L42.4,-2.84217094e-14 C44.3882251,-2.87869405e-14 46,1.6117749 46,3.6 L46,38.4 C46,40.3882251 44.3882251,42 42.4,42 L3.6,42 C1.6117749,42 2.01984419e-15,40.3882251 1.77635684e-15,38.4 L-4.4408921e-16,3.6 C-6.8757656e-16,1.6117749 1.6117749,-2.71683e-14 3.6,-2.7533531e-14 Z"
id="Rectangle-5-Copy" stroke="#C3CBD7" stroke-width="1.6" fill="#FFFFFF"
stroke-linejoin="round"></path>
<g id="分组" transform="translate(15.000000, 16.000000)">
<path
d="M15.9730021,16.9792648 C14.0528141,14.7201485 11.190363,13.2868421 7.99314522,13.2868421 C4.78854382,13.2868421 1.92025706,14.7267763 -8.52651283e-14,16.9949296"
id="Oval-5" stroke="#C3CBD6" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round"></path>
<rect id="Rectangle-2" fill="#C3CBD6" x="0.343145224" y="5.77315973e-15" width="2.41578947"
height="5.63684211"></rect>
<rect id="Rectangle-2-Copy" fill="#C3CBD6" x="14.0326189" y="5.77315973e-15"
width="2.41578947" height="5.63684211"></rect>
</g>
<path
d="M5.22972094,8.02029448 C4.48081619,7.51339926 4.22785484,6.39804561 4.66471594,5.52908238 C5.10157705,4.66011915 6.0628302,4.36660503 6.81173495,4.87350025 L14.3470633,9.97377755 C15.095968,10.4806728 15.3489294,11.5960264 14.9120683,12.4649897 C14.4752072,13.3339529 13.513954,13.627467 12.7650493,13.1205718 L5.22972094,8.02029448 Z"
id="Path-4" stroke="#C3CBD7" stroke-width="0.9" fill="#F5F7F9" fill-rule="nonzero"></path>
<path
d="M11.8360167,3.81761246 C12.48046,3.14463266 13.4730665,3.20525021 14.0530655,3.95300555 C14.6330645,4.70076088 14.580822,5.85249428 13.9363787,6.52547408 L7.65693847,13.0829735 C7.01249518,13.7559533 6.01988861,13.6953357 5.43988965,12.9475804 C4.85989069,12.1998251 4.91213314,11.0480917 5.55657643,10.3751119 L11.8360167,3.81761246 Z"
id="Path-4-Copy" stroke="#C3CBD7" stroke-width="0.9" fill="#F5F7F9" fill-rule="nonzero">
</path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

+89
View File
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="128px" height="128px" viewBox="0 0 128 128" enable-background="new 0 0 128 128" xml:space="preserve"> <image id="image0" width="128" height="128" x="0" y="0"
href="data:image/png;base64,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" />
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

+43
View File
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="122px" height="104px" viewBox="0 0 122 104" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
<title>暂无数据</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="空白页" transform="translate(-810.000000, -352.000000)">
<g id="暂无数据" transform="translate(810.000000, 352.000000)">
<g id="分组-6">
<g id="背景/线" fill="#C3CBD6">
<g id="-">
<g id="编组" transform="translate(14.200000, 9.200000)" fill-rule="nonzero">
<path
d="M0.8,73.1 C0.3581722,73.1 -5.68434189e-14,72.7418278 -5.68434189e-14,72.3 C-5.68434189e-14,71.8581722 0.3581722,71.5 0.8,71.5 L70.8,71.5 C71.2418278,71.5 71.6,71.8581722 71.6,72.3 C71.6,72.7418278 71.2418278,73.1 70.8,73.1 L0.8,73.1 Z M74.8,73.1 C74.3581722,73.1 74,72.7418278 74,72.3 C74,71.8581722 74.3581722,71.5 74.8,71.5 L77.3,71.5 C77.7418278,71.5 78.1,71.8581722 78.1,72.3 C78.1,72.7418278 77.7418278,73.1 77.3,73.1 L74.8,73.1 Z M83.8,73.1 C83.3581722,73.1 83,72.7418278 83,72.3 C83,71.8581722 83.3581722,71.5 83.8,71.5 L92.8,71.5 C93.2418278,71.5 93.6,71.8581722 93.6,72.3 C93.6,72.7418278 93.2418278,73.1 92.8,73.1 L83.8,73.1 Z M23.8,80.6 C23.3581722,80.6 23,80.2418278 23,79.8 C23,79.3581722 23.3581722,79 23.8,79 L30.8,79 C31.2418278,79 31.6,79.3581722 31.6,79.8 C31.6,80.2418278 31.2418278,80.6 30.8,80.6 L23.8,80.6 Z M35.3,80.6 C34.8581722,80.6 34.5,80.2418278 34.5,79.8 C34.5,79.3581722 34.8581722,79 35.3,79 L65.8,79 C66.2418278,79 66.6,79.3581722 66.6,79.8 C66.6,80.2418278 66.2418278,80.6 65.8,80.6 L35.3,80.6 Z M80,52.8 C80,51.7333333 81.6,51.7333333 81.6,52.8 L81.6,55.8 C81.6,56.2418278 81.2418278,56.6 80.8,56.6 L77.8,56.6 C76.7333333,56.6 76.7333333,55 77.8,55 L80,55 L80,52.8 Z M81.6,58.8 C81.6,59.8666667 80,59.8666667 80,58.8 L80,55.8 C80,55.3581722 80.3581722,55 80.8,55 L83.8,55 C84.8666667,55 84.8666667,56.6 83.8,56.6 L81.6,56.6 L81.6,58.8 Z M4,28.8 C4,27.7333333 5.6,27.7333333 5.6,28.8 L5.6,31.8 C5.6,32.2418278 5.2418278,32.6 4.8,32.6 L1.8,32.6 C0.733333333,32.6 0.733333333,31 1.8,31 L4,31 L4,28.8 Z M78.1,3.5 L80.8,3.5 C81.8666667,3.5 81.8666667,5.1 80.8,5.1 L78.1,5.1 L78.1,7.8 C78.1,8.86666667 76.5,8.86666667 76.5,7.8 L76.5,5.1 L73.8,5.1 C72.7333333,5.1 72.7333333,3.5 73.8,3.5 L76.5,3.5 L76.5,0.8 C76.5,-0.266666667 78.1,-0.266666667 78.1,0.8 L78.1,3.5 Z M5.6,34.8 C5.6,35.8666667 4,35.8666667 4,34.8 L4,31.8 C4,31.3581722 4.3581722,31 4.8,31 L7.8,31 C8.86666667,31 8.86666667,32.6 7.8,32.6 L5.6,32.6 L5.6,34.8 Z"
id="Path-2"></path>
<path
d="M14.0928932,61.1431458 C14.5642977,60.6717412 15.2714045,61.378848 14.8,61.8502525 L13.7393398,62.9109127 C13.5440777,63.1061748 13.2274952,63.1061748 13.032233,62.9109127 L11.9715729,61.8502525 C11.5001684,61.378848 12.2072751,60.6717412 12.6786797,61.1431458 L13.3857864,61.8502525 L14.0928932,61.1431458 Z M12.6786797,63.9715729 C12.2072751,64.4429774 11.5001684,63.7358706 11.9715729,63.2644661 L13.032233,62.2038059 C13.2274952,62.0085438 13.5440777,62.0085438 13.7393398,62.2038059 L14.8,63.2644661 C15.2714045,63.7358706 14.5642977,64.4429774 14.0928932,63.9715729 L13.3857864,63.2644661 L12.6786797,63.9715729 Z M22.9213203,8.8 C23.3927249,8.32859548 24.0998316,9.03570226 23.6284271,9.50710678 L22.567767,10.567767 C22.3725048,10.7630291 22.0559223,10.7630291 21.8606602,10.567767 L20.8,9.50710678 C20.3285955,9.03570226 21.0357023,8.32859548 21.5071068,8.8 L22.2142136,9.50710678 L22.9213203,8.8 Z M21.5071068,11.6284271 C21.0357023,12.0998316 20.3285955,11.3927249 20.8,10.9213203 L21.8606602,9.86066017 C22.0559223,9.66539803 22.3725048,9.66539803 22.567767,9.86066017 L23.6284271,10.9213203 C24.0998316,11.3927249 23.3927249,12.0998316 22.9213203,11.6284271 L22.2142136,10.9213203 L21.5071068,11.6284271 Z"
id="Path复制"></path>
</g>
</g>
</g>
<g id="Group-3" transform="translate(44.000000, 33.000000)">
<path
d="M34,13 C34,14 34,36.3333333 34,38 C34,39.1045695 33.1045695,40 32,40 L2,40 C0.8954305,40 0,39.1045695 0,38 L0,2 C0,0.8954305 0.8954305,0 2,0 L22,0"
id="Rectangle-4" fill="#FFFFFF"></path>
<path
d="M32.4,13.6255741 L21.29947,1.6 L2,1.6 C1.7790861,1.6 1.6,1.7790861 1.6,2 L1.6,38 C1.6,38.2209139 1.7790861,38.4 2,38.4 L32,38.4 C32.2209139,38.4 32.4,38.2209139 32.4,38 C32.4,37.536087 32.4,37.536087 32.4,36.5248672 C32.4,35.2790874 32.4,35.2790874 32.4,33.6423742 C32.4,29.8998278 32.4,29.8998278 32.4,25.531788 C32.4,21.0228437 32.4,21.0228437 32.4,17.201898 C32.4,15.5494247 32.4,15.5494247 32.4,14.3269505 C32.4,13.9990726 32.4,13.7826584 32.4,13.6255741 Z"
id="Rectangle-4-Copy-2" stroke="#C3CBD6" stroke-width="3.2"></path>
<path
d="M22.8,2.0461204 L22.8,11 C22.8,11.6627417 23.3372583,12.2 24,12.2 L32.1728119,12.2 L22.8,2.0461204 Z"
id="Rectangle-4-Copy" stroke="#C3CBD6" stroke-width="1.6"></path>
<path
d="M11.4542125,11.4239785 L11.4542125,16.3586731 L11.4542125,11.4239785 Z M20.5805173,16.7015396 L16.650796,19.8070435 L20.5805173,16.7015396 Z M23.7751015,26.6475524 L18.8480956,25.5374876 L23.7751015,26.6475524 Z"
id="路径-7" stroke="#C3CAD7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
transform="translate(17.000000, 20.000000) rotate(-52.000000) translate(-17.000000, -20.000000) ">
</path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

+48
View File
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="122px" height="104px" viewBox="0 0 122 104" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
<title>暂无网络</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="空白页" transform="translate(-194.000000, -352.000000)">
<g id="暂无网络" transform="translate(194.000000, 352.000000)">
<g id="分组-9">
<g id="背景/线" fill="#C3CBD6">
<g id="-">
<g id="编组" transform="translate(14.200000, 9.200000)" fill-rule="nonzero">
<path
d="M0.8,73.1 C0.3581722,73.1 -5.68434189e-14,72.7418278 -5.68434189e-14,72.3 C-5.68434189e-14,71.8581722 0.3581722,71.5 0.8,71.5 L70.8,71.5 C71.2418278,71.5 71.6,71.8581722 71.6,72.3 C71.6,72.7418278 71.2418278,73.1 70.8,73.1 L0.8,73.1 Z M74.8,73.1 C74.3581722,73.1 74,72.7418278 74,72.3 C74,71.8581722 74.3581722,71.5 74.8,71.5 L77.3,71.5 C77.7418278,71.5 78.1,71.8581722 78.1,72.3 C78.1,72.7418278 77.7418278,73.1 77.3,73.1 L74.8,73.1 Z M83.8,73.1 C83.3581722,73.1 83,72.7418278 83,72.3 C83,71.8581722 83.3581722,71.5 83.8,71.5 L92.8,71.5 C93.2418278,71.5 93.6,71.8581722 93.6,72.3 C93.6,72.7418278 93.2418278,73.1 92.8,73.1 L83.8,73.1 Z M23.8,80.6 C23.3581722,80.6 23,80.2418278 23,79.8 C23,79.3581722 23.3581722,79 23.8,79 L30.8,79 C31.2418278,79 31.6,79.3581722 31.6,79.8 C31.6,80.2418278 31.2418278,80.6 30.8,80.6 L23.8,80.6 Z M35.3,80.6 C34.8581722,80.6 34.5,80.2418278 34.5,79.8 C34.5,79.3581722 34.8581722,79 35.3,79 L65.8,79 C66.2418278,79 66.6,79.3581722 66.6,79.8 C66.6,80.2418278 66.2418278,80.6 65.8,80.6 L35.3,80.6 Z M80,52.8 C80,51.7333333 81.6,51.7333333 81.6,52.8 L81.6,55.8 C81.6,56.2418278 81.2418278,56.6 80.8,56.6 L77.8,56.6 C76.7333333,56.6 76.7333333,55 77.8,55 L80,55 L80,52.8 Z M81.6,58.8 C81.6,59.8666667 80,59.8666667 80,58.8 L80,55.8 C80,55.3581722 80.3581722,55 80.8,55 L83.8,55 C84.8666667,55 84.8666667,56.6 83.8,56.6 L81.6,56.6 L81.6,58.8 Z M4,28.8 C4,27.7333333 5.6,27.7333333 5.6,28.8 L5.6,31.8 C5.6,32.2418278 5.2418278,32.6 4.8,32.6 L1.8,32.6 C0.733333333,32.6 0.733333333,31 1.8,31 L4,31 L4,28.8 Z M78.1,3.5 L80.8,3.5 C81.8666667,3.5 81.8666667,5.1 80.8,5.1 L78.1,5.1 L78.1,7.8 C78.1,8.86666667 76.5,8.86666667 76.5,7.8 L76.5,5.1 L73.8,5.1 C72.7333333,5.1 72.7333333,3.5 73.8,3.5 L76.5,3.5 L76.5,0.8 C76.5,-0.266666667 78.1,-0.266666667 78.1,0.8 L78.1,3.5 Z M5.6,34.8 C5.6,35.8666667 4,35.8666667 4,34.8 L4,31.8 C4,31.3581722 4.3581722,31 4.8,31 L7.8,31 C8.86666667,31 8.86666667,32.6 7.8,32.6 L5.6,32.6 L5.6,34.8 Z"
id="Path-2"></path>
<path
d="M14.0928932,61.1431458 C14.5642977,60.6717412 15.2714045,61.378848 14.8,61.8502525 L13.7393398,62.9109127 C13.5440777,63.1061748 13.2274952,63.1061748 13.032233,62.9109127 L11.9715729,61.8502525 C11.5001684,61.378848 12.2072751,60.6717412 12.6786797,61.1431458 L13.3857864,61.8502525 L14.0928932,61.1431458 Z M12.6786797,63.9715729 C12.2072751,64.4429774 11.5001684,63.7358706 11.9715729,63.2644661 L13.032233,62.2038059 C13.2274952,62.0085438 13.5440777,62.0085438 13.7393398,62.2038059 L14.8,63.2644661 C15.2714045,63.7358706 14.5642977,64.4429774 14.0928932,63.9715729 L13.3857864,63.2644661 L12.6786797,63.9715729 Z M22.9213203,8.8 C23.3927249,8.32859548 24.0998316,9.03570226 23.6284271,9.50710678 L22.567767,10.567767 C22.3725048,10.7630291 22.0559223,10.7630291 21.8606602,10.567767 L20.8,9.50710678 C20.3285955,9.03570226 21.0357023,8.32859548 21.5071068,8.8 L22.2142136,9.50710678 L22.9213203,8.8 Z M21.5071068,11.6284271 C21.0357023,12.0998316 20.3285955,11.3927249 20.8,10.9213203 L21.8606602,9.86066017 C22.0559223,9.66539803 22.3725048,9.66539803 22.567767,9.86066017 L23.6284271,10.9213203 C24.0998316,11.3927249 23.3927249,12.0998316 22.9213203,11.6284271 L22.2142136,10.9213203 L21.5071068,11.6284271 Z"
id="Path复制"></path>
</g>
</g>
</g>
<g id="分组-6" transform="translate(27.500000, 15.500000)" stroke="#C3CBD6" stroke-linecap="round">
<polygon id="矩形" stroke-width="1.6" fill="#F5F7F9" points="19.5 49.5 27.5 54.5 28.5 66 16.5 66">
</polygon>
<g id="分组-5"
transform="translate(35.500000, 35.000000) rotate(-51.000000) translate(-35.500000, -35.000000) translate(12.000000, 9.000000)">
<path
d="M0.42054796,31.1181657 C2.52157938,43.6998318 11.9709042,51.960893 16.8,51.875 L16.8,51.875 C16.8,51.875 16.8,2.6897583 16.8,0.125 C12.9202424,-0.247549371 0.0138708573,10.5896135 -2.89901436e-12,26"
id="路径" stroke-width="1.792" fill="#F5F7F9"></path>
<path
d="M27.8973291,22.4816327 C27.1543301,9.85556681 22.4690335,0.125 16.8,0.125 C10.6144108,0.125 5.6,11.7096321 5.6,26 C5.6,40.2903679 10.6144108,51.875 16.8,51.875 L16.8,51.875 C22.444067,51.875 27.1130429,42.2299514 27.8872834,29.685014"
id="路径" stroke-width="1.792" fill="#FFFFFF"></path>
<path d="M17.8,26.5 L31.8,25.4599698" id="路径-2" stroke-width="1.6"></path>
<path
d="M41.4065227,35.920355 C44.7777499,33.6814529 47,29.8502436 47,25.5 C47,21.1103143 44.7372705,17.2491173 41.314543,15.0191405"
id="路径" stroke-width="1.6"></path>
<path
d="M37.7782636,32.2474861 C40.2775986,31.0309243 42,28.4666063 42,25.5 C42,22.4666448 40.1992184,19.8538847 37.6083888,18.6724534"
id="路径" stroke-width="1.6"></path>
<circle id="椭圆形" stroke-width="1.6" fill="#F5F7F9" cx="34.5" cy="25.5" r="2.5"></circle>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

+47
View File
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="122px" height="104px" viewBox="0 0 122 104" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
<title>暂无权限</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="空白页" transform="translate(-40.000000, -352.000000)">
<g id="暂无权限" transform="translate(40.000000, 352.000000)">
<g id="分组-4">
<path
d="M15,82.3 C14.5581722,82.3 14.2,81.9418278 14.2,81.5 C14.2,81.0581722 14.5581722,80.7 15,80.7 L85,80.7 C85.4418278,80.7 85.8,81.0581722 85.8,81.5 C85.8,81.9418278 85.4418278,82.3 85,82.3 L15,82.3 Z M89,82.3 C88.5581722,82.3 88.2,81.9418278 88.2,81.5 C88.2,81.0581722 88.5581722,80.7 89,80.7 L91.5,80.7 C91.9418278,80.7 92.3,81.0581722 92.3,81.5 C92.3,81.9418278 91.9418278,82.3 91.5,82.3 L89,82.3 Z M98,82.3 C97.5581722,82.3 97.2,81.9418278 97.2,81.5 C97.2,81.0581722 97.5581722,80.7 98,80.7 L107,80.7 C107.441828,80.7 107.8,81.0581722 107.8,81.5 C107.8,81.9418278 107.441828,82.3 107,82.3 L98,82.3 Z M38,89.8 C37.5581722,89.8 37.2,89.4418278 37.2,89 C37.2,88.5581722 37.5581722,88.2 38,88.2 L45,88.2 C45.4418278,88.2 45.8,88.5581722 45.8,89 C45.8,89.4418278 45.4418278,89.8 45,89.8 L38,89.8 Z M49.5,89.8 C49.0581722,89.8 48.7,89.4418278 48.7,89 C48.7,88.5581722 49.0581722,88.2 49.5,88.2 L80,88.2 C80.4418278,88.2 80.8,88.5581722 80.8,89 C80.8,89.4418278 80.4418278,89.8 80,89.8 L49.5,89.8 Z M94.2,62 C94.2,60.9333333 95.8,60.9333333 95.8,62 L95.8,65 C95.8,65.4418278 95.4418278,65.8 95,65.8 L92,65.8 C90.9333333,65.8 90.9333333,64.2 92,64.2 L94.2,64.2 L94.2,62 Z M95.8,68 C95.8,69.0666667 94.2,69.0666667 94.2,68 L94.2,65 C94.2,64.5581722 94.5581722,64.2 95,64.2 L98,64.2 C99.0666667,64.2 99.0666667,65.8 98,65.8 L95.8,65.8 L95.8,68 Z M18.2,38 C18.2,36.9333333 19.8,36.9333333 19.8,38 L19.8,41 C19.8,41.4418278 19.4418278,41.8 19,41.8 L16,41.8 C14.9333333,41.8 14.9333333,40.2 16,40.2 L18.2,40.2 L18.2,38 Z M92.3,12.7 L95,12.7 C96.0666667,12.7 96.0666667,14.3 95,14.3 L92.3,14.3 L92.3,17 C92.3,18.0666667 90.7,18.0666667 90.7,17 L90.7,14.3 L88,14.3 C86.9333333,14.3 86.9333333,12.7 88,12.7 L90.7,12.7 L90.7,10 C90.7,8.93333333 92.3,8.93333333 92.3,10 L92.3,12.7 Z M19.8,44 C19.8,45.0666667 18.2,45.0666667 18.2,44 L18.2,41 C18.2,40.5581722 18.5581722,40.2 19,40.2 L22,40.2 C23.0666667,40.2 23.0666667,41.8 22,41.8 L19.8,41.8 L19.8,44 Z M28.2928932,70.3431458 C28.7642977,69.8717412 29.4714045,70.578848 29,71.0502525 L27.9393398,72.1109127 C27.7440777,72.3061748 27.4274952,72.3061748 27.232233,72.1109127 L26.1715729,71.0502525 C25.7001684,70.578848 26.4072751,69.8717412 26.8786797,70.3431458 L27.5857864,71.0502525 L28.2928932,70.3431458 Z M26.8786797,73.1715729 C26.4072751,73.6429774 25.7001684,72.9358706 26.1715729,72.4644661 L27.232233,71.4038059 C27.4274952,71.2085438 27.7440777,71.2085438 27.9393398,71.4038059 L29,72.4644661 C29.4714045,72.9358706 28.7642977,73.6429774 28.2928932,73.1715729 L27.5857864,72.4644661 L26.8786797,73.1715729 Z M54.1213203,22 C54.5927249,21.5285955 55.2998316,22.2357023 54.8284271,22.7071068 L53.767767,23.767767 C53.5725048,23.9630291 53.2559223,23.9630291 53.0606602,23.767767 L52,22.7071068 C51.5285955,22.2357023 52.2357023,21.5285955 52.7071068,22 L53.4142136,22.7071068 L54.1213203,22 Z M52.7071068,24.8284271 C52.2357023,25.2998316 51.5285955,24.5927249 52,24.1213203 L53.0606602,23.0606602 C53.2559223,22.865398 53.5725048,22.865398 53.767767,23.0606602 L54.8284271,24.1213203 C55.2998316,24.5927249 54.5927249,25.2998316 54.1213203,24.8284271 L53.4142136,24.1213203 L52.7071068,24.8284271 Z"
id="Path" fill="#C3CBD6" fill-rule="nonzero"></path>
<g id="分组" transform="translate(35.000000, 35.000000)">
<path
d="M2,0 L50,0 C51.1045695,-2.02906125e-16 52,0.8954305 52,2 L52,36 C52,37.1045695 51.1045695,38 50,38 L2,38 C0.8954305,38 1.3527075e-16,37.1045695 0,36 L0,2 C-1.3527075e-16,0.8954305 0.8954305,2.02906125e-16 2,0 Z"
id="矩形" stroke="#C3CBD6" stroke-width="1.6" fill="#FFFFFF" stroke-linecap="round"
stroke-linejoin="round"></path>
<g id="Group-7" transform="translate(19.000000, 16.000000)">
<path
d="M11.3076923,7 L11.3076923,2.15384615 C11.3076923,0.964384615 10.3433077,0 9.15384615,0 L4.84615385,0 C3.65669231,0 2.69230769,0.964384615 2.69230769,2.15384615 L2.69230769,7"
id="Stroke-3" stroke="#C3CBD6" stroke-width="1.63333333" stroke-linecap="round"
stroke-linejoin="round"></path>
<path
d="M12.9230769,7 L1.07692308,7 C0.482461538,7 0,7.48246154 0,8.07692308 L0,12.9230769 C0,13.5175385 0.482461538,14 1.07692308,14 L12.9230769,14 C13.5175385,14 14,13.5175385 14,12.9230769 L14,8.07692308 C14,7.48246154 13.5175385,7 12.9230769,7 Z"
id="Stroke-1" stroke="#C3CBD6" stroke-width="1.16666667" fill="#F5F7F9"
stroke-linecap="round" stroke-linejoin="round"></path>
<path
d="M6.84709814,10.15 L7.15290186,10.15 C7.31868836,10.15 7.46173214,10.2663143 7.495545,10.428616 L7.78721167,11.828616 C7.82663596,12.0178526 7.7051891,12.2032189 7.51595251,12.2426431 C7.49247276,12.2475348 7.4685524,12.25 7.44456852,12.25 L6.55543148,12.25 C6.36213182,12.25 6.20543148,12.0932997 6.20543148,11.9 C6.20543148,11.8760161 6.20789672,11.8520958 6.21278833,11.828616 L6.504455,10.428616 C6.53826786,10.2663143 6.68131164,10.15 6.84709814,10.15 Z"
id="Path" fill="#C3CBD6"></path>
</g>
<path
d="M2,0 L50,0 C51.1045695,-2.02906125e-16 52,0.8954305 52,2 L52,7 L0,7 L0,2 C-1.3527075e-16,0.8954305 0.8954305,2.02906125e-16 2,0 Z"
id="矩形-copy" stroke="#C3CBD6" stroke-width="1.6" fill="#F5F7F9" stroke-linecap="round"
stroke-linejoin="round"></path>
<circle id="椭圆形" fill="#C3CBD6" cx="10.5" cy="3.5" r="1.5"></circle>
<path
d="M4.49841309,3.04333496 L4.49841309,2.04333496 C4.49841309,1.76719259 4.72227071,1.54333496 4.99841309,1.54333496 C5.27455546,1.54333496 5.49841309,1.76719259 5.49841309,2.04333496 L5.49841309,3.04333496 L6.49841309,3.04333496 C6.77455546,3.04333496 6.99841309,3.26719259 6.99841309,3.54333496 C6.99841309,3.81947734 6.77455546,4.04333496 6.49841309,4.04333496 L5.49841309,4.04333496 L5.49841309,5.04333496 C5.49841309,5.31947734 5.27455546,5.54333496 4.99841309,5.54333496 C4.72227071,5.54333496 4.49841309,5.31947734 4.49841309,5.04333496 L4.49841309,4.04333496 L3.49841309,4.04333496 C3.22227071,4.04333496 2.99841309,3.81947734 2.99841309,3.54333496 C2.99841309,3.26719259 3.22227071,3.04333496 3.49841309,3.04333496 L4.49841309,3.04333496 Z"
id="路径" fill="#C3CBD6" fill-rule="nonzero"
transform="translate(4.998413, 3.543335) rotate(-45.000000) translate(-4.998413, -3.543335) ">
</path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.4 KiB

+35
View File
@@ -0,0 +1,35 @@
<script setup lang="ts" name="HelloWorld">
defineProps<{
msg?: string;
}>();
const logo = new URL(
"../assets/svg/logo.svg",
import.meta.url
).href;
</script>
<template>
<div class="logo">
<img :src="logo" />
</div>
<h1 class="title">你好,{{ msg }}</h1>
</template>
<style lang="less" scoped>
.title {
font-size: 24px;
line-height: 30px;
color: #1989fa;
}
.logo {
// margin-top: 20px;
margin-bottom: 20px;
width: 120px;
height: 120px;
& > img {
width: 100%;
height: 100%;
}
}
</style>
+39
View File
@@ -0,0 +1,39 @@
<script setup lang="ts" name="IconAndText">
import { computed } from "vue";
const props = defineProps<{
icon?: string;
text?: string;
width?: number;
height?: number;
}>();
const defaultIcon = new URL("../../assets/svg/failed.svg", import.meta.url).href;
const defaultText = "抱歉,出现意外错误了";
const viewportWidth = 375;
const unit = "vw";
const pxToVw = (val:number) => {
return viewportWidth/100 * val + unit;
};
const iconStyle = computed(() => {
let str = "";
if (props.width) str += "width:" + pxToVw(props.width);
if (props.height) {
str += props.width ? ";" : "";
str += "height:" + pxToVw(props.height);
}
return str;
});
</script>
<template>
<div class="xtbg-tips-page-image" :style="iconStyle">
<img :src="icon || defaultIcon">
</div>
<div class="xtbg-tips-page-text">
<p>{{ text || defaultText }}</p>
</div>
</template>
+107
View File
@@ -0,0 +1,107 @@
<script setup lang="ts" name="Abnormal">
import { computed } from "vue";
import { useRouter } from "vue-router";
import { ButtonType } from "vant/es/button/types";
import IconAndText from "./iconAndText.vue";
interface buttonItem {
text: string;
code: string;
type: ButtonType;
handler(): void;
}
interface buttonInfo {
back: buttonItem;
reload: buttonItem;
home: buttonItem;
}
const props = defineProps<{
icon?: string;
text?: string;
from?: string;
buttonHidden?: boolean;
buttonList?: Array<string>;
}>();
const router = useRouter();
const defaultIcon = new URL("../../assets/svg/failed.svg", import.meta.url).href;
const defaultText = "抱歉,出现意外错误了";
const backHandler = () => {
router.back();
};
const homeHandler = () => {
router.push({
path: "/"
});
};
const reloadHandler = () => {
router.push({
path: props.from || "/"
});
};
const defaultButtonList = ["back", "reload"]; // back, reload, home
const renderButtonList = (props.buttonList && props.buttonList.length > 0) ? props.buttonList : defaultButtonList;
const buttonItemInfo: buttonInfo = {
"reload": {
text: "重试",
type: "primary",
code: "reload",
handler: reloadHandler
},
"back": {
text: "返回",
type: "default",
code: "back",
handler: backHandler
},
"home": {
text: "首页",
type: "primary",
code: "home",
handler: homeHandler
}
};
const renderItemList = computed(() => {
const arr = [];
for (let index = 0; index < renderButtonList.length; index++) {
const key = renderButtonList[index];
const item = buttonItemInfo[key as keyof typeof buttonItemInfo];
arr.push(item);
}
return arr;
});
</script>
<template>
<div class="xtbg-tips-page">
<IconAndText :icon="icon || defaultIcon" :text="text || defaultText" />
<div v-if="!buttonHidden" class="xtbg-tips-page-btn">
<template v-if="$slots.button">
<slot name="button"></slot>
</template>
<template v-else>
<van-button
v-for="item in renderItemList"
:key="item.code"
class="xtbg-tips-page-btn-class"
:type="item.type"
@click="item.handler"
>
{{ item.text }}
</van-button>
</template>
</div>
</div>
</template>
+10
View File
@@ -0,0 +1,10 @@
import { Button, Empty } from "vant";
const install = function (app: any) {
app.use(Button);
app.use(Empty);
};
export {
install
};
+3
View File
@@ -0,0 +1,3 @@
import axios from "./request";
export default axios;
+34
View File
@@ -0,0 +1,34 @@
import axios from "axios";
axios.defaults.headers.common["Request-Type"] = "ajax";
axios.interceptors.response.use(
function (response) {
// 对响应数据做点什么
const { errcode } = response.data || {};
if (errcode === 401) {
const {
data: { authorizeURI }
} = response.data;
let currentURI = location.href;
currentURI = encodeURIComponent(currentURI);
currentURI = encodeURIComponent(currentURI);
let redirectURI = authorizeURI;
redirectURI = redirectURI.replace("REDIRECT_URI", currentURI);
const hostNames = ["127.0.0.1", "localhost"];
if (hostNames.includes(location.hostname)) {
console.log("当前cookie失效");
} else {
location.replace(redirectURI);
}
}
const data = response.data || JSON.parse(response.request.responseText);
return data;
},
function (error) {
return Promise.reject(error);
}
);
export default axios;
+35
View File
@@ -0,0 +1,35 @@
// 设备信息
const browser = {
versions: (function () {
const u = navigator.userAgent;
return {
trident: u.indexOf("Trident") > -1, //IE内核
presto: u.indexOf("Presto") > -1, //opera内核
webKit: u.indexOf("AppleWebKit") > -1, //苹果、谷歌内核
gecko: u.indexOf("Gecko") > -1 && u.indexOf("KHTML") === -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf("Android") > -1 || u.indexOf("Adr") > -1, //android终端
iPad: u.indexOf("iPad") > -1, //是否iPad
webApp: u.indexOf("Safari") === -1, //是否web应该程序,没有头部与底部
zwwx: u.indexOf("zwwx-customized") > -1 //是否政务微信
};
})()
};
// 随机长度字符串
const randomString = function (len: number) {
len = len || 10;
const chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
const maxPos = chars.length;
let str = "";
for (let i = 0; i < len; i++) {
str += chars.charAt(Math.floor(Math.random() * maxPos));
}
return str;
};
export {
browser,
randomString
};
+15
View File
@@ -0,0 +1,15 @@
import { createApp } from "vue";
// import routes from "./routes";
import App from "./App.vue";
import pinia from "./store/pinia";
import { install } from "./installComponents";
import "./styles/index.less";
const app = createApp(App);
app.use(pinia);
// app.use(routes);
install(app);
app.mount("#app");
+19
View File
@@ -0,0 +1,19 @@
<script setup lang="ts" name="Home">
import { ref } from "vue";
import appH5 from "./h5.vue";
import appWeb from "./web.vue";
</script>
<template>
<div class="home">
<!-- <appH5 /> -->
<appWeb />
</div>
</template>
<style lang="less" scoped>
.home {
height: 100%;
}
</style>
+56
View File
@@ -0,0 +1,56 @@
<script setup lang="ts" name="Login">
import { useRoute, useRouter } from "vue-router";
import pinia from "../store/pinia";
import { baseInfo } from "../store";
const route = useRoute();
const router = useRouter();
const baseInfoStore = baseInfo(pinia);
const rediret: any = route.query.rediret;
baseInfoStore
.loginUserInfo()
.then((res: any) => {
const { errcode, errmsg } = res;
if (errcode === 401) return;
if (errcode === 0) {
router.replace(rediret);
}
else if (errcode === 400) {
router.replace({
path: "/noaccess",
query: {
from: rediret,
text: errmsg || "未能获取您的用户信息"
}
});
}
else {
router.replace({
path: "/500",
query: {
from: rediret,
text: errmsg || "服务器发生未知错误!"
}
});
}
})
.catch(() => {
router.replace({
path: "/failed",
query: {
from: rediret,
text: "出现意外错误!"
}
});
});
</script>
<template>
<div class="xtbg-loading"></div>
</template>
<style lang="less" scoped>
</style>
+26
View File
@@ -0,0 +1,26 @@
<script setup lang="ts" name="404">
import { useRoute } from "vue-router";
import Abnormal from "@/components/abnormal/index.vue";
defineProps<{
text?: string;
}>();
const route = useRoute();
const from: any = route.query.from;
const icon = new URL("../../assets/svg/404.svg", import.meta.url).href;
const defaultText = "您访问的页面飞走了";
</script>
<template>
<Abnormal
:icon="icon"
:text="text || defaultText"
:from="from"
:button-list="['back', 'home']"
/>
</template>
+21
View File
@@ -0,0 +1,21 @@
<script setup lang="ts" name="500">
import { useRoute } from "vue-router";
import Abnormal from "../../components/abnormal/index.vue";
defineProps<{
text?: string;
}>();
const route = useRoute();
const from: any = route.query.from;
const msg: any = route.query.text;
const icon = new URL("../../assets/svg/500.svg", import.meta.url).href;
const defaultText = "抱歉,服务器出了一点小问题";
</script>
<template>
<Abnormal :icon="icon" :text="text || msg || defaultText" :from="from" />
</template>
+25
View File
@@ -0,0 +1,25 @@
<script setup lang="ts" name="DeviceAbnormal">
import { useRoute } from "vue-router";
import Abnormal from "@/components/abnormal/index.vue";
defineProps<{
text?: string;
}>();
const route = useRoute();
const from: any = route.query.from;
const msg: any = route.query.text;
const icon = new URL("../../assets/svg/device_abnormal.svg", import.meta.url).href;
const defaultText = "您的设备好像无法打开该网页";
</script>
<template>
<Abnormal
:icon="icon"
:text="text || msg || defaultText"
:from="from"
/>
</template>
+25
View File
@@ -0,0 +1,25 @@
<script setup lang="ts" name="Failed">
import { useRoute } from "vue-router";
import Abnormal from "@/components/abnormal/index.vue";
defineProps<{
text?: string;
}>();
const route = useRoute();
const from: any = route.query.from;
const msg: any = route.query.text;
const icon = new URL("../../assets/svg/failed.svg", import.meta.url).href;
const defaultText = "发生未知错误";
</script>
<template>
<Abnormal
:icon="icon"
:text="text || msg || defaultText"
:from="from"
/>
</template>
+25
View File
@@ -0,0 +1,25 @@
<script setup lang="ts" name="NoAccess">
import { useRoute } from "vue-router";
import Abnormal from "@/components/abnormal/index.vue";
defineProps<{
text?: string;
}>();
const route = useRoute();
const from: any = route.query.from;
const msg: any = route.query.text;
const icon = new URL("../../assets/svg/no_permission.svg", import.meta.url).href;
const defaultText = "您尚未开通访问权限";
</script>
<template>
<Abnormal
:icon="icon"
:text="text || msg || defaultText"
:from="from"
/>
</template>
+26
View File
@@ -0,0 +1,26 @@
<script setup lang="ts" name="NoNetwork">
import { useRoute } from "vue-router";
import Abnormal from "@/components/abnormal/index.vue";
defineProps<{
text?: string;
}>();
const route = useRoute();
const from: any = route.query.from;
const msg: any = route.query.text;
const icon = new URL("../../assets/svg/no_data.svg", import.meta.url).href;
const defaultText = "暂无数据";
</script>
<template>
<Abnormal
:icon="icon"
:text="text || msg || defaultText"
:from="from"
:button-list="['back', 'home']"
/>
</template>
+25
View File
@@ -0,0 +1,25 @@
<script setup lang="ts" name="NoNetwork">
import { useRoute } from "vue-router";
import Abnormal from "@/components/abnormal/index.vue";
defineProps<{
text?: string;
}>();
const route = useRoute();
const from: any = route.query.from;
const msg: any = route.query.text;
const icon = new URL("../../assets/svg/no_network.svg", import.meta.url).href;
const defaultText = "糟糕,好像网络出现了异常";
</script>
<template>
<Abnormal
:icon="icon"
:text="text || msg || defaultText"
:from="from"
/>
</template>
+75
View File
@@ -0,0 +1,75 @@
<script setup lang="ts" name="appH5">
</script>
<template>
<div class="h5">
<div class="h5-main">
<div class="h5-main-mask">
<div class="h5-main-mask-btnbox">
<van-button
class="h5-main-mask-btnbox-download"
round
color="#222222"
size="large"
block
>立即下载</van-button>
</div>
<div class="h5-main-mask-text">
<p>粤ICP备1000000000号-1 粤公网安备00000000000000</p>
</div>
</div>
</div>
</div>
</template>
<style lang="less" scoped>
.h5 {
width: 100%;
height: 100%;
&-main {
width: 100%;
height: 100%;
background-image: url(../assets/images/h5_bg.png);
background-size: cover;
background-repeat: no-repeat;
padding: 20px;
box-sizing: border-box;
&-mask {
width: 100%;
height: 222px;
background-image: url(../assets/images/h5_mask.png);
background-size: cover;
position: fixed;
left: 0;
bottom: 0;
&-btnbox {
width: 250px;
height: 55px;
margin-top: 80px;
margin-left: auto;
margin-right: auto;
&-download {
height: 100%;
}
}
&-text {
font-size: 12px;
font-family: PingFang SC;
font-weight: 500;
color: #666666;
line-height: 18px;
text-align: center;
margin-top: 36px;
}
}
}
}
</style>
+96
View File
@@ -0,0 +1,96 @@
<script setup lang="ts" name="appWeb">
</script>
<template>
<div class="web">
<div class="web-main">
<div class="web-main-middle">
<div class="web-main-middle-btnbox">
<a href="###" class="web-main-middle-btnbox-andriod"></a>
<a href="###" class="web-main-middle-btnbox-ios"></a>
</div>
</div>
</div>
<div class="web-footer">
<div class="web-footer-text">
<p>粤ICP备1000000000号-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;粤公网安备00000000000000</p>
</div>
</div>
</div>
</template>
<style lang="less" scoped>
.web {
width: 100%;
height: 100%;
min-width: 1280px;
min-height: 1000px;
overflow: auto;
&-main {
width: 100%;
height: 100%;
background-image: url(../assets/images/web_bg.png);
background-position: top center;
// background-size: 100%;
background-repeat: no-repeat;
padding: 20px;
box-sizing: border-box;
max-width: 1920px;
margin: 0 auto;
&-middle {
width: 1280px;
height: 100%;
margin: 0 auto;
overflow: hidden;
&-btnbox {
margin-top: 600px;
margin-left: 90px;
display: flex;
&>a {
display: block;
text-decoration: none;
width: 247px;
height: 72px;
background-repeat: no-repeat;
background-size: cover;
outline: none;
margin-right: 30px;
}
&-andriod {
background-image: url(../assets/images/download_andriod.png);
}
&-ios {
background-image: url(../assets/images/download_ios.png);
}
}
}
}
&-footer {
width: 100%;
height: 28.3vh;
background-color: #222222;
position: fixed;
left: 0;
bottom: 0;
&-text {
margin-top: 6vh;
height: 16px;
font-size: 16px;
font-family: PingFang SC;
font-weight: 500;
color: rgba(255, 255, 255, 0.8);
line-height: 36px;
text-align: center;
}
}
}
</style>
+33
View File
@@ -0,0 +1,33 @@
import { createWebHashHistory, createRouter } from "vue-router";
import routes from "./routes";
import pinia from "../store/pinia";
import { baseInfo } from "../store";
const baseInfoStore = baseInfo(pinia);
const history = createWebHashHistory();
const router = createRouter({
history,
routes: routes
});
router.beforeEach((to, from, next) => {
if (to.meta && to.meta.power) {
const user = baseInfoStore.userInfo.value;
if (user.uin) {
next();
} else {
next({
path: "/loginfo",
query: {
rediret: to.fullPath
}
});
}
} else {
next();
}
});
export default router;
+15
View File
@@ -0,0 +1,15 @@
const routes = [
{ path: "/", name: "root", redirect: "/home" },
{ path: "/home", name: "home", meta: { power: true }, component: () => import("../pages/Home.vue") },
{ path: "/loginfo", name: "loginfo", component: () => import("../pages/Login.vue") },
{ path: "/nonetwork:text?", name: "nonetwork", props: true, component: () => import("../pages/error/NoNetwork.vue") },
{ path: "/noaccess/:text?", name: "noaccess", props: true, component: () => import("../pages/error/NoAccess.vue") },
{ path: "/empty/:text?", name: "empty", props: true, component: () => import("../pages/error/NoData.vue") },
{ path: "/deviceabnormal/:text?", name: "deviceabnormal", props: true, component: () => import("../pages/error/DeviceAbnormal.vue") },
{ path: "/failed/:text?", name: "failed", props: true, component: () => import("../pages/error/Failed.vue") },
{ path: "/500/:text?", name: "500", props: true, component: () => import("../pages/error/500.vue") },
{ path: "/404", name: "404", component: () => import("../pages/error/404.vue") },
{ path: "/:catchAll(.*)", redirect: "/404", hidden: true }
];
export default routes;
+30
View File
@@ -0,0 +1,30 @@
import { defineStore } from "pinia";
import { ref, computed } from "vue";
import { getUserInfo } from "../api";
const baseInfo = defineStore("baseInfo", () => {
const user = ref<any>({});
const loginUserInfo = () => {
return new Promise((resolve, reject) => {
getUserInfo({})
.then((res: any) => {
const { errcode, data } = res;
if (errcode === 0) {
const info = data.data;
user.value = info;
}
resolve(res);
})
.catch((err: any) => {
reject(err);
});
});
};
const userInfo = computed(() => {
return user;
});
return { loginUserInfo, userInfo };
});
export default baseInfo;
+5
View File
@@ -0,0 +1,5 @@
import baseInfo from "./baseInfo";
export {
baseInfo
};
+5
View File
@@ -0,0 +1,5 @@
import { createPinia } from "pinia";
const pinia = createPinia();
export default pinia;
+1
View File
@@ -0,0 +1 @@
// --van-button-default-color:var(--van-text-color);
+49
View File
@@ -0,0 +1,49 @@
:root {
font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 24px;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
}
html,
body,
#app {
width: 100%;
height: 100%;
margin: 0;
}
ul,
li,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0;
}
#app {
background-color: #fff;
color: #000;
font-size: 14px;
font-family: "Helvetica", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", SimSun, sans-serif;
}
a {
-webkit-tap-highlight-color:rgba(255,0,0,0);
-moz-tap-highlight-color:rgba(255,0,0,0);
tap-highlight-color:rgba(255,0,0,0);
}
+2
View File
@@ -0,0 +1,2 @@
@import './cover.less';
@import './global.less';
+7
View File
@@ -0,0 +1,7 @@
/// <reference types="vite/client" />
declare module "*.vue" {
import type { DefineComponent } from "vue";
const component: DefineComponent<{}, {}, any>;
export default component;
}
+48
View File
@@ -0,0 +1,48 @@
import axios from "axios";
// 初始化微信js-sdk配置
const initConfig = (config: any) => {
function jsdkCB(data: any) {
let jsApiList = ["showWatermark"];
if (typeof window.wx !== "object") {
return;
}
if (!config) {
config = {};
}
jsApiList = jsApiList.concat(config.jsApiList || []);
const wxError = {
status: "",
errmsg: "配置失败,请退出重试"
};
if (data.appid) {
window.wx.config({
beta: true,
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: data.appid, // 必填,政务微信的cropID
timestamp: data.timestamp, // 必填,生成签名的时间戳
nonceStr: data.nonce, // 必填,生成签名的随机串
signature: data.signature, // 必填,签名,见附录1
jsApiList: jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
window.wx.ready(function (e: any) {
console.log("config注册成功");
// window['_initSuccess'] = true;
// 注册政务微信权限API,需要AgentId
// wxApi.registerAgentConfig(data, config);
typeof config.sucesscb === "function" && config.sucesscb(e);
});
window.wx.error(function (e: any) {
console.log("initConfig wx error:", e);
typeof config.errorcb === "function" && config.errorcb(wxError);
});
}
}
axios.get("/zwwxgzt/jsapi").then((res) => {
res && jsdkCB(res);
});
};
export {
initConfig
};
+43
View File
@@ -0,0 +1,43 @@
{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"module": "ESNext",
"moduleResolution": "Node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"lib": [
"ESNext",
"DOM"
],
"skipLibCheck": true,
"allowSyntheticDefaultImports": true,
"baseUrl": "./",
"paths": {
"@/*": [
"src/*"
]
},
"types": [
"vite/client",
"node"
],
},
"include": [
"./*.d.ts",
"src/**/*.ts",
"src/**/*.d.ts",
"src/**/*.tsx",
"src/**/*.vue",
"config/**/*.ts"
],
"references": [
{
"path": "./tsconfig.node.json"
}
]
}
+9
View File
@@ -0,0 +1,9 @@
{
"compilerOptions": {
"composite": true,
"module": "ESNext",
"moduleResolution": "Node",
"allowSyntheticDefaultImports": true
},
"include": ["vite.config.ts", "proxy.config.ts", "config/**/*.ts", "./*.d.ts",]
}
+101
View File
@@ -0,0 +1,101 @@
import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
import Components from "unplugin-vue-components/vite";
import { VantResolver } from "unplugin-vue-components/resolvers";
import postcsspxtoviewport from "postcss-px-to-viewport";
import { createHtmlPlugin } from "vite-plugin-html";
import VueSetupExtend from "vite-plugin-vue-setup-extend";
import legacy from "@vitejs/plugin-legacy";
import proxyConfig from "./proxy.config";
import { appName, injectScriptStr } from "./config";
import path from "path";
type enforceType = "post" | "pre";
const enforceValue:enforceType = "post";
const setCrossoriginUseCredentials = () => {
return {
name: "set-crossorigin",
enforce: enforceValue,
transformIndexHtml(html) {
return html.replace(/crossorigin/g, "crossorigin=\"use-credentials\"");
}
};
};
// https://vitejs.dev/config/
export default (opt: any) => {
const { mode } = opt;
const env: any = loadEnv(mode, process.cwd());
return defineConfig({
base: "./",
envDir: "./env",
build: {
target: "es2015"
},
plugins: [
createHtmlPlugin({
inject: {
data: {
title: appName,
injectScript: injectScriptStr
}
}
}),
vue(),
VueSetupExtend(),
Components({
resolvers: [VantResolver()]
}),
legacy({
// targets: ['defaults', 'not IE 11'],
targets: ["chrome 52"],
additionalLegacyPolyfills: ["regenerator-runtime/runtime"],
renderLegacyChunks: true,
polyfills: [
"es.symbol",
"es.array.filter",
"es.promise",
"es.promise.finally",
"es/map",
"es/set",
"es.array.for-each",
"es.object.define-properties",
"es.object.define-property",
"es.object.get-own-property-descriptor",
"es.object.get-own-property-descriptors",
"es.object.keys",
"es.object.to-string",
"web.dom-collections.for-each",
"esnext.global-this",
"esnext.string.match-all"
]
}),
setCrossoriginUseCredentials()
],
css: {
preprocessorOptions: {
less: {
javascriptEnabled: true
}
},
postcss: {
// plugins: [
// postcsspxtoviewport({
// viewportWidth: 375
// })
// ]
}
},
server: {
proxy: proxyConfig
},
resolve: {
alias: {
"@": path.resolve(__dirname, "src")
}
}
});
};