初始化提交
30
.gitignore
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# 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
|
||||||
|
coverage
|
||||||
|
*.local
|
||||||
|
|
||||||
|
/cypress/videos/
|
||||||
|
/cypress/screenshots/
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/extensions.json
|
||||||
|
.idea
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
||||||
|
|
||||||
|
*.tsbuildinfo
|
3
.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"recommendations": ["Vue.volar"]
|
||||||
|
}
|
29
README.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# qnc-website
|
||||||
|
|
||||||
|
This template should help get you started developing with Vue 3 in Vite.
|
||||||
|
|
||||||
|
## Recommended IDE Setup
|
||||||
|
|
||||||
|
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
|
||||||
|
|
||||||
|
## Customize configuration
|
||||||
|
|
||||||
|
See [Vite Configuration Reference](https://vite.dev/config/).
|
||||||
|
|
||||||
|
## Project Setup
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pnpm install
|
||||||
|
```
|
||||||
|
|
||||||
|
### Compile and Hot-Reload for Development
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pnpm dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### Compile and Minify for Production
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pnpm build
|
||||||
|
```
|
107
index.html
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" href="/favicon.ico" />
|
||||||
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
|
||||||
|
/>
|
||||||
|
<title>天远查 - 婚恋评估、司法涉诉查询、婚姻状态、判决书查询工具</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="天远查提供婚恋评估报告、司法涉诉查询、婚姻状态查询、判决书查询、失信人、个人涉诉、企业涉诉、车辆核验等多项服务,帮助您查询婚姻信息、名下车辆、涉诉风险等,提供全面的法律与金融风险防范工具。"
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
name="keywords"
|
||||||
|
content="婚恋评估, 司法涉诉查询, 判决书查询, 婚姻状态查询, 失信人, 个人涉诉查询, 企业涉诉查询, 名下车辆核验, 车辆核验, 婚姻报告, 法律风险, 信用风险, 银行卡黑名单, 手机身份证核验, 学历核验, AI律师"
|
||||||
|
/>
|
||||||
|
<meta name="author" content="天远查" />
|
||||||
|
<meta
|
||||||
|
name="baidu-site-verification"
|
||||||
|
content="4d551d55896a88badef8dcdb14cf874c"
|
||||||
|
/>
|
||||||
|
<script>
|
||||||
|
(function (w, d, s, q, i) {
|
||||||
|
w[q] = w[q] || [];
|
||||||
|
var f = d.getElementsByTagName(s)[0],
|
||||||
|
j = d.createElement(s);
|
||||||
|
j.async = true;
|
||||||
|
j.id = "beacon-aplus";
|
||||||
|
j.src = "https://d.alicdn.com/alilog/mlog/aplus/" + i + ".js";
|
||||||
|
f.parentNode.insertBefore(j, f);
|
||||||
|
})(window, document, "script", "aplus_queue", "203467608");
|
||||||
|
|
||||||
|
aplus_queue.push({
|
||||||
|
action: "aplus.setMetaInfo",
|
||||||
|
arguments: ["appKey", "67930afd9a16fe6dcd36bb08"],
|
||||||
|
});
|
||||||
|
aplus_queue.push({
|
||||||
|
action: "aplus.setMetaInfo",
|
||||||
|
arguments: ["aplus-waiting", "MAN"],
|
||||||
|
});
|
||||||
|
aplus_queue.push({
|
||||||
|
action: "aplus.setMetaInfo",
|
||||||
|
arguments: ["DEBUG", false],
|
||||||
|
});
|
||||||
|
aplus_queue.push({
|
||||||
|
action: "aplus.setMetaInfo",
|
||||||
|
arguments: ["aplus-idtype", "uuid"], //取值参考见附表1
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
#app-loading {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
background-color: #fff;
|
||||||
|
z-index: 9999;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 加载动画 */
|
||||||
|
.loading-spinner {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
border: 5px solid #ccc;
|
||||||
|
border-top: 5px solid #3498db;
|
||||||
|
border-radius: 50%;
|
||||||
|
animation: spin 1s linear infinite;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
/* 与文字的间距 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 文字样式 */
|
||||||
|
.loading-text {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="app-loading">
|
||||||
|
<div class="loading-spinner"></div>
|
||||||
|
<div class="loading-text">加载中</div>
|
||||||
|
</div>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script type="module" src="/src/main.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
8
jsconfig.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"paths": {
|
||||||
|
"@/*": ["./src/*"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exclude": ["node_modules", "dist"]
|
||||||
|
}
|
5144
package-lock.json
generated
Normal file
37
package.json
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"name": "tyc-website",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"private": true,
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite",
|
||||||
|
"build": "vite build",
|
||||||
|
"preview": "vite preview"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@vueuse/core": "^11.3.0",
|
||||||
|
"axios": "^1.7.7",
|
||||||
|
"crypto-js": "^4.2.0",
|
||||||
|
"echarts": "^5.5.1",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"nprogress": "^0.2.0",
|
||||||
|
"pinia": "^2.2.6",
|
||||||
|
"vant": "^4.9.9",
|
||||||
|
"vue": "^3.5.12",
|
||||||
|
"vue-echarts": "^7.0.3",
|
||||||
|
"vue-router": "^4.4.5"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vant/auto-import-resolver": "^1.2.1",
|
||||||
|
"@vitejs/plugin-vue": "^5.1.4",
|
||||||
|
"@vitejs/plugin-vue-jsx": "^4.0.1",
|
||||||
|
"autoprefixer": "^10.4.20",
|
||||||
|
"postcss": "^8.4.49",
|
||||||
|
"sass-embedded": "^1.81.0",
|
||||||
|
"tailwindcss": "^3.4.15",
|
||||||
|
"unplugin-auto-import": "^0.18.5",
|
||||||
|
"unplugin-vue-components": "^0.27.5",
|
||||||
|
"vite": "^5.4.10",
|
||||||
|
"vite-plugin-vue-devtools": "^7.5.4"
|
||||||
|
}
|
||||||
|
}
|
3178
pnpm-lock.yaml
Normal file
6
postcss.config.js
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export default {
|
||||||
|
plugins: {
|
||||||
|
tailwindcss: {},
|
||||||
|
autoprefixer: {},
|
||||||
|
},
|
||||||
|
};
|
BIN
public/image/app_1.jpg
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
public/image/app_2.jpg
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
public/image/app_3.jpg
Normal file
After Width: | Height: | Size: 26 KiB |
44
src/App.vue
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<script setup>
|
||||||
|
import { RouterLink, RouterView } from 'vue-router'
|
||||||
|
import WechatOverlay from './components/WechatOverlay.vue';
|
||||||
|
onMounted(() => {
|
||||||
|
RefreshToken()
|
||||||
|
})
|
||||||
|
const RefreshToken = async () => {
|
||||||
|
const token = localStorage.getItem("token")
|
||||||
|
const refreshAfter = localStorage.getItem("refreshAfter")
|
||||||
|
const currentTime = new Date().getTime();
|
||||||
|
|
||||||
|
// 1. 如果没有 token,直接返回
|
||||||
|
if (!token) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 如果有 refreshAfter,检查当前时间是否超过 refreshAfter(refreshAfter 是秒级,需要转换为毫秒级)
|
||||||
|
if (refreshAfter) {
|
||||||
|
const refreshAfterInMilliseconds = parseInt(refreshAfter) * 1000; // 转换为毫秒级
|
||||||
|
if (currentTime < refreshAfterInMilliseconds) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. 如果没有 refreshAfter 或者时间超过 refreshAfter,执行刷新 token 的请求
|
||||||
|
const { data, error } = await useApiFetch("/user/getToken")
|
||||||
|
.post()
|
||||||
|
.json();
|
||||||
|
|
||||||
|
if (data.value && !error.value) {
|
||||||
|
if (data.value !== 200) {
|
||||||
|
localStorage.setItem("token", data.value.data.accessToken);
|
||||||
|
localStorage.setItem("refreshAfter", data.value.data.refreshAfter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<WechatOverlay />
|
||||||
|
<RouterView />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped></style>
|
24
src/assets/base.css
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
*,
|
||||||
|
*::before,
|
||||||
|
*::after {
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin: 0;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
margin: auto !important;
|
||||||
|
@apply max-w-lg;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
min-height: 100vh;
|
||||||
|
transition: color 0.5s, background-color 0.5s;
|
||||||
|
line-height: 1.6;
|
||||||
|
font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
||||||
|
Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue",
|
||||||
|
sans-serif;
|
||||||
|
font-size: 15px;
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
BIN
src/assets/images/ai_lvshi.webp
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
src/assets/images/ai_picture.webp
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
src/assets/images/banner.png
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
src/assets/images/baogao-icon.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
src/assets/images/bg_2.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
src/assets/images/bg_icon.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
src/assets/images/car_banner.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
src/assets/images/car_cheliangguohu.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/assets/images/car_cheliangguzhi.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
src/assets/images/car_cheliangshangxian.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/assets/images/car_chexian.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
src/assets/images/car_mingxiacheliang.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
src/assets/images/car_rencheheyan.png
Normal file
After Width: | Height: | Size: 941 B |
BIN
src/assets/images/car_vinchache.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/assets/images/car_vinchache2.png
Normal file
After Width: | Height: | Size: 1007 B |
BIN
src/assets/images/car_weibao.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
src/assets/images/car_xinnengyuan.png
Normal file
After Width: | Height: | Size: 991 B |
75
src/assets/images/empty.svg
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1024 1024" height="1024px" width="1024px">
|
||||||
|
<title>空空如也</title>
|
||||||
|
<defs>
|
||||||
|
<rect rx="22.1405405" height="1024" width="1024" y="0" x="0" id="path-1"></rect>
|
||||||
|
<linearGradient id="linearGradient-3" y2="64.8840762%" x2="50%" y1="-33.7184979%" x1="115.913479%">
|
||||||
|
<stop offset="0%" stop-color="#6CADFF"></stop>
|
||||||
|
<stop offset="100%" stop-opacity="0" stop-color="#FFFFFF"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="linearGradient-4" y2="100%" x2="70.4980572%" y1="-20.569195%" x1="10.5031837%">
|
||||||
|
<stop offset="0%" stop-color="#6CADFF"></stop>
|
||||||
|
<stop offset="100%" stop-opacity="0" stop-color="#FFFFFF"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="linearGradient-5" y2="104.73608%" x2="38.801584%" y1="-97.78046%" x1="100.191761%">
|
||||||
|
<stop offset="0%" stop-color="#6CADFF"></stop>
|
||||||
|
<stop offset="100%" stop-color="#FFFFFF"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="linearGradient-6" y2="100%" x2="50%" y1="-27.9013949%" x1="50%">
|
||||||
|
<stop offset="0%" stop-color="#6CADFF"></stop>
|
||||||
|
<stop offset="100%" stop-opacity="0" stop-color="#FFFFFF"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="linearGradient-7" y2="100%" x2="50%" y1="-27.9013949%" x1="50%">
|
||||||
|
<stop offset="0%" stop-color="#6CADFF"></stop>
|
||||||
|
<stop offset="100%" stop-opacity="0" stop-color="#FFFFFF"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="linearGradient-8" y2="100%" x2="50%" y1="-221.1569%" x1="50%">
|
||||||
|
<stop offset="0%" stop-color="#D2D2D2"></stop>
|
||||||
|
<stop offset="100%" stop-opacity="0" stop-color="#D2D2D2"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="linearGradient-9" y2="53.7335012%" x2="73.0360423%" y1="48.1527472%" x1="67.5652976%">
|
||||||
|
<stop offset="0%" stop-opacity="0" stop-color="#858585"></stop>
|
||||||
|
<stop offset="100%" stop-opacity="0.5" stop-color="#616161"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g fill-rule="evenodd" fill="none" stroke-width="1" stroke="none" id="空空如也">
|
||||||
|
<g>
|
||||||
|
<mask fill="white" id="mask-2">
|
||||||
|
<use xlink:href="#path-1"></use>
|
||||||
|
</mask>
|
||||||
|
<g id="蒙版"></g>
|
||||||
|
<g mask="url(#mask-2)" id="编组-3">
|
||||||
|
<g transform="translate(0, 238.0108)">
|
||||||
|
<g fill-rule="evenodd" fill="none" stroke-width="1" stroke="none" id="编组-2">
|
||||||
|
<g fill-rule="nonzero" transform="translate(162.5599, 0)" id="编组">
|
||||||
|
<polygon points="592.450826 498.100707 589.3555 489.432325 587.255101 479.632083 586.398359 469.500567 586.868185 459.341443 588.001295 452.660716 589.852963 446.421689 592.367915 440.541544 595.711972 435.158313 599.857498 430.520452 604.887401 426.517537 606.932527 428.091097 608.342006 430.133964 609.060564 432.508107 609.032927 435.075494 608.286732 439.989418 607.070711 451.308006 606.794343 463.813666 607.540538 469.25211 608.894743 472.371623 610.248947 473.448269 612.072979 473.393057 614.864299 471.791891 619.037461 467.319668 626.084854 456.884481 638.963619 434.136879 651.870021 411.527309 659.000324 400.705634 667.015006 390.325661 673.758394 383.451689 680.225413 378.42734 686.471338 374.921338 693.159452 372.491982 699.156645 371.470549 704.628738 371.691399 709.8521 373.126928 714.191083 375.639102 717.783871 379.283135 720.32646 383.755358 721.818849 389.331833 722.150491 396.343837 721.155565 403.328234 718.530066 411.610128 713.942351 421.493188 708.884811 429.471413 700.400302 443.19175 696.006046 451.031943 692.219799 458.706498 689.345568 466.270628 688.212458 472.09556 688.46119 475.601562 689.760121 477.920492 692.109252 479.438839 695.232214 479.714902 698.299903 479.052351 705.070927 476.540176 711.924862 473.393057 718.778797 470.383969 725.384001 468.258282 729.805894 467.595731 734.144877 467.8994 738.511497 469.224503 741.966102 471.377796 744.702148 474.055608 746.857821 477.368366 748.985858 483.000054 750.008421 489.349506 750.036057 495.864596 749.206952 502.158835 746.526179 511.40695 742.104286 520.737884 736.21764 529.406266 728.866242 537.16364 723.283601 541.608256 717.203498 545.25229 710.570657 548.123346 703.606175 550.000575 696.199503 550.745946 688.212458 550.359458 675.554788 548.09574 661.238907 544.396494 646.923027 539.537783 632.855878 533.464394 623.76336 528.688502 615.582857 523.526121 608.203822 517.977252 601.543344 511.683013 596.375256 505.140317 592.533736 498.349164" fill="url(#linearGradient-3)" id="路径"></polygon>
|
||||||
|
<polygon points="39.9075893 440.458725 31.7823599 436.096928 23.6571305 430.216783 16.222822 423.287598 9.75580266 415.447406 4.58771456 406.834236 1.21602073 397.834578 0.0552736694 391.623157 0 385.411737 1.05019972 379.117498 3.59278851 378.896647 5.99719313 379.421167 8.12522941 380.635845 9.83871316 382.54068 12.6023966 386.654021 19.2905106 395.87453 27.4986505 405.315889 31.6994494 408.849497 34.7947749 410.257419 36.5082587 410.146993 37.8348267 408.877103 38.8297528 405.840409 38.9403001 399.711807 37.1439059 387.26136 31.3401706 361.863552 25.7022563 336.465744 23.7676779 323.601202 22.8003886 310.488203 23.242578 300.881206 24.6520566 292.820163 26.9459139 286.056616 30.2899709 279.789983 34.0762172 275.014091 38.2770161 271.508089 43.1134622 269.078734 48.0051819 268.0573 53.1179963 268.333363 57.9820792 269.934529 62.8185253 273.081649 67.7655187 278.050785 71.6899493 283.903324 75.3103746 291.798729 78.5162474 302.206309 80.1191838 311.509637 83.0210515 327.383267 85.0385404 336.134468 87.4153082 344.361149 90.3448127 351.870067 93.4125013 356.977234 95.9550901 359.378984 98.4700421 360.234779 101.206089 359.765472 103.748678 357.888243 105.572709 355.320856 108.916766 348.916191 111.873907 342.014613 114.913959 335.195853 118.368563 329.23289 121.215157 325.782101 124.642125 323.159501 128.78765 321.254665 132.794991 320.509295 136.636511 320.674933 140.450394 321.696366 145.81194 324.429391 150.841844 328.459913 155.236101 333.291018 158.856526 338.508611 162.670409 345.575827 166.788298 354.823942 170.381086 364.762215 173.448775 375.639102 175.604448 386.764446 176.5441 397.641334 176.378279 404.874188 175.41099 411.499703 173.697506 417.628304 171.04437 423.315205 167.396308 428.173916 162.642772 432.314863 157.032495 435.62762 150.344381 438.691921 142.440246 441.424946 130.058944 444.572066 116.2958 446.835784 102.173378 448.160887 87.9956817 448.547375 74.0390802 447.967642 61.3537731 446.504508 49.4422973 443.964727 40.1563208 440.707182" fill="url(#linearGradient-4)" id="路径"></polygon>
|
||||||
|
<path fill="url(#linearGradient-5)" id="形状结合" d="M648.498327,284.510663 L644.71208,289.9215 L641.589118,295.939676 L639.350534,302.344341 L638.217424,308.914643 L638.355608,315.567765 L640.013818,322.165674 L642.224765,326.058164 L644.988449,328.92922 L647.94559,331.579426 L650.571089,334.505696 L652.284573,338.039304 L652.83731,343.588173 L651.648926,349.689168 L649.576163,355.458887 L646.619022,360.952544 L640.428371,370.780391 L633.408615,379.945687 L625.615028,388.53125 L630.092195,393.086292 L633.159883,398.524736 L634.735183,404.570518 L634.707546,410.947577 L633.215157,417.186603 L630.755479,423.066748 L627.411422,428.477585 L623.210623,433.336296 L620.115297,436.234959 L616.384325,438.25022 L612.459894,438.691921 L608.535464,438.25022 L595.960704,435.517195 L583.77286,431.624705 L571.944295,426.57275 L566.555112,423.729299 L561.608118,420.250904 L557.545504,416.027138 L554.864731,410.91997 L554.035626,406.723811 L554.25672,403.769935 L555.251646,401.699462 L557.877146,399.049256 L561.41466,396.895963 L562.685955,396.178199 L566.30638,393.886875 L569.180611,390.822574 L571.253374,386.129501 L572.524668,380.939514 L574.127604,370.55954 L575.150167,359.075314 L575.896362,352.781075 L577.444025,347.121781 L579.212782,343.864236 L581.783008,341.352061 L585.292886,339.557651 L592.533736,338.260154 L599.74695,336.935051 L604.389938,334.754152 L608.176185,331.827883 L611.243873,328.128637 L614.974846,321.696366 L618.180719,314.518725 L618.899277,312.751921 L622.630249,304.663271 L624.785922,300.908813 L627.273238,297.568449 L630.313289,294.86303 L634.292994,292.461281 L642.611681,288.430759 L646.28738,286.387892 L648.498327,284.510663 Z M619.009824,341.73855 L615.195941,346.514442 L606.158696,359.323771 L600.935334,367.854122 L595.463241,378.013245 L590.626795,388.807313 L586.702364,400.346752 L584.795423,408.269764 L583.717586,416.192776 L583.468855,424.115788 L595.325057,424.115788 L596.319983,416.109957 L599.912771,395.929742 L602.925186,383.313657 L607.153622,369.234437 L612.432257,355.238037 L619.009824,341.73855 Z"></path>
|
||||||
|
<polygon points="125.250135 60.7614951 125.250135 60.7614951 124.559214 54.3016178 122.431178 48.4214731 119.059484 43.2314863 114.55468 38.9249014 109.165497 35.7777818 102.947209 33.9005525 96.4525532 33.5416704 90.3171759 34.7011355 84.6239879 37.21331 79.6769945 40.9677686 75.6972903 45.7712671 72.8783332 51.6238055 66.8258663 52.3415696 61.3537731 54.5500746 56.6278743 58.111289 52.9245385 62.9147875 50.658318 68.5464754 49.9673972 74.3990138 50.8517759 80.2515521 53.3114542 85.8004211 57.1529742 90.4934943 61.9894203 93.8890708 67.5444241 95.931938 73.569254 96.4564579 123.011551 96.4564579 127.626903 95.7663001 131.634244 94.1375276 135.171759 91.5149279 137.963079 88.1193514 139.78711 84.1992549 140.699126 79.6442132 140.367484 74.9787463 139.013279 70.8654057 136.664148 67.1661597 133.513549 64.1294653 129.727302 62.0037792" fill="url(#linearGradient-6)" id="路径"></polygon>
|
||||||
|
<polygon points="329.569254 33.7073083 329.569254 33.5416704 329.127065 28.130833 327.911044 23.0788777 325.921192 18.3305919 321.665119 11.9259273 316.054842 6.65312145 311.715859 3.89249014 306.934686 1.84962298 301.656051 0.496913635 296.266868 0 291.071143 0.35888207 286.041239 1.49074091 278.993846 4.61025428 272.858469 9.22050857 269.376228 13.0301798 266.557271 17.3643709 264.318687 22.305901 259.205873 22.8856335 254.507611 24.2383429 250.196265 26.364029 246.299471 29.2074792 243.010688 32.6030557 240.302278 36.5783648 238.284789 40.9677686 237.096405 45.6608418 236.681853 50.7956161 237.234589 55.902784 238.588794 60.5682509 240.744467 64.8748357 243.591061 68.7673259 246.990392 72.0524771 250.970096 74.7855021 255.364353 76.7731567 260.062615 77.9878345 265.203066 78.3743228 326.612113 78.3743228 332.360574 77.6565587 337.501026 75.5860852 341.950556 72.3285403 345.488071 68.1047744 347.892475 63.1080317 348.997949 57.4211312 348.611033 51.6514118 346.842276 46.378606 343.885134 41.7683517 339.877793 37.9862868 335.041347 35.2808681 329.403433 33.8453398" fill="url(#linearGradient-7)" id="路径"></polygon>
|
||||||
|
</g>
|
||||||
|
<polygon points="1024 550.359458 999.596675 534.403009 973.839145 519.164324 946.672136 504.615797 918.040376 490.785034 889.159883 478.224161 859.118644 466.491478 827.833747 455.669804 795.305193 445.703925 762.693728 437.007936 729.114974 429.360987 694.541293 422.735472 658.917413 417.186603 623.348807 412.880018 587.034006 409.760505 549.945374 407.883276 512 407.193118 474.054626 407.883276 436.965994 409.760505 400.623556 412.880018 365.082587 417.186603 329.458707 422.735472 294.885026 429.360987 261.306272 437.007936 228.694807 445.703925 196.166253 455.669804 164.881356 466.491478 134.840117 478.224161 105.931987 490.785034 77.3278635 504.615797 50.160855 519.164324 24.4033251 534.403009 0 550.359458" fill-rule="nonzero" fill="url(#linearGradient-8)" id="路径"></polygon>
|
||||||
|
</g>
|
||||||
|
<polygon points="168.585366 389.215532 314.612039 389.215532 461.536985 469.266954 317.214646 465.594981" fill-rule="nonzero" fill="url(#linearGradient-9)" stroke="none" id="矩形"></polygon>
|
||||||
|
<polygon points="481.155803 208.25638 479.722777 299.451613 688.569371 236.303345" fill-rule="nonzero" fill="#B8D6FF" stroke="none" id="路径"></polygon>
|
||||||
|
<polygon points="314.788219 244.959395 481.155803 208.631248 481.155803 264.00952" fill-rule="nonzero" fill="#9CC6FF" stroke="none" id="路径"></polygon>
|
||||||
|
<polygon points="314.788219 244.959395 511.147006 264.384388 511.147006 512.547202 314.788219 465.075243" fill-rule="nonzero" fill="#64ADFF" stroke="none" id="路径"></polygon>
|
||||||
|
<polygon points="314.788219 244.959395 511.283486 263.617612 489.889892 383.428742 314.788219 346.994453" fill-rule="nonzero" fill="#429BFF" stroke="none" id="矩形"></polygon>
|
||||||
|
<polygon points="511.147006 264.384388 688.569371 236.303345 688.569371 458.600245 511.147006 512.547202" opacity="0.99" fill-rule="nonzero" fill="#9CC5FF" stroke="none" id="路径"></polygon>
|
||||||
|
<polygon points="511.283486 264.997809 671.897967 239.34913 688.569371 344.292902 535.025228 383.428742" fill-rule="nonzero" fill="#64ADFF" stroke="none" id="矩形"></polygon>
|
||||||
|
<polygon points="314.788219 244.959395 267.566573 324.806343 465.801946 362.565804 511.147006 264.384388" fill-rule="nonzero" fill="#9CC6FF" stroke="none" id="路径"></polygon>
|
||||||
|
<polygon points="511.147006 264.384388 566.898574 362.565804 745.583366 317.786082 688.569371 236.303345" opacity="0.99" fill-rule="nonzero" fill="#9DC6FF" stroke="none" id="路径"></polygon>
|
||||||
|
<path stroke-dasharray="11.05477807439905,8.29108355579929" fill="none" stroke-width="5.52738904" stroke="#9DC6FF" id="路径-19" d="M583.139543,151.843183 C532.695151,184.875351 501.824507,214.257045 511.001904,232.450753 C523.475834,257.179661 544.659409,246.913618 547.874,236.537816 C551.088588,226.162013 542.242035,205.908265 523.475834,216.933951 C504.709635,227.959637 484.261479,247.732311 479.722777,267.098145"></path>
|
||||||
|
<g transform="translate(555.0939, 41.4059)" fill-rule="evenodd" fill="none" stroke-width="1" stroke="none" id="飞机">
|
||||||
|
<polygon points="163.057977 9.09494702e-13 0 30.854292 41.4554178 58.3378535" fill-rule="nonzero" fill="#9DC6FF" id="路径-16备份"></polygon>
|
||||||
|
<polygon points="163.057977 0 41.4554178 58.3378535 41.4554178 104.894966" fill-rule="nonzero" fill="#64ADFF" id="路径-16备份-2"></polygon>
|
||||||
|
<polygon points="163.057977 0 41.4554178 58.3378535 65.4910753 84.1769753" fill-rule="nonzero" fill="#429BFF" id="路径-16备份-2"></polygon>
|
||||||
|
<polygon points="163.057977 0 58.9237102 70.0692202 108.951745 102.134572" fill-rule="nonzero" fill="#9DC6FF" id="路径-16备份"></polygon>
|
||||||
|
<line stroke-linecap="round" stroke-width="2.76369452" stroke="#429BFF" id="路径-16" y2="32.1173295" x2="0.501635492" y1="58.3378535" x1="41.4554178"></line>
|
||||||
|
<line stroke-linecap="round" stroke-width="2.76369452" stroke="#429BFF" id="路径-17" y2="101.744072" x2="107.648858" y1="71.0666294" x1="59.7211085"></line>
|
||||||
|
<line stroke-linecap="round" stroke-width="2.76369452" stroke="#429BFF" id="路径-18" y2="103.502333" x2="41.4554178" y1="58.3378535" x1="41.4554178"></line>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 15 KiB |
BIN
src/assets/images/favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
src/assets/images/fxpg_banner.png
Normal file
After Width: | Height: | Size: 78 KiB |
1
src/assets/images/gdrqgx_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733324501181" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6340" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M339.162366 1023.729653c-95.973119 0-127.972351-435.012601-127.97235-518.254842 0-63.900156 121.557758-115.167743 121.557758-115.167743h127.972351s6.390016 51.193856 31.950078 63.900156C466.962679 479.865595 441.476347 742.224889 460.670971 799.759606a214.974871 214.974871 0 0 0 51.193856 95.973119 227.681171 227.681171 0 0 0 63.900156-95.973119c6.414593-51.193856 0-307.212288-25.58464-345.503228a90.394144 90.394144 0 0 0 25.58464-63.900156h127.97235s115.143166 44.80384 108.753151 115.167743c0 76.778495-44.80384 505.450234-140.776959 518.254842z m511.864827-204.750846c12.780031-51.193856 19.170047-319.918589-19.194624-390.307068s-147.166975-89.558526-147.166974-102.363135c0-6.390016 25.584639-12.780031 44.80384-12.780031h211.140861a84.692284 84.692284 0 0 1 83.193088 83.168511l-25.682947 351.893244c-6.414593 51.193856-44.779263 70.38848-102.387712 70.388479z m-729.395704 0c-57.583871 0-89.583103-19.194624-102.363134-70.388479L0 396.697084a84.692284 84.692284 0 0 1 83.168511-83.168511h204.750846c19.170047 0 44.80384 0 44.80384 12.780031s-108.777727 31.950078-147.166975 102.363135-31.950078 339.162366-19.194624 390.307068z m230.261755-652.617209A169.384567 169.384567 0 0 1 518.254842 0a169.581183 169.581183 0 0 1 0 339.162366 170.785455 170.785455 0 0 1-166.361598-172.800768z m377.50246 12.780032a101.060554 101.060554 0 0 1 102.363134-102.363135 95.850234 95.850234 0 0 1 102.363135 95.973119 101.060554 101.060554 0 0 1-102.363135 102.363135 99.635089 99.635089 0 0 1-102.363134-95.973119z m-639.812601 0A101.060554 101.060554 0 0 1 191.946238 76.778495a99.659666 99.659666 0 0 1 102.363134 95.973119 101.060554 101.060554 0 0 1-102.363134 102.363135 95.850234 95.850234 0 0 1-102.363135-95.973119z" fill="#4B64FA" p-id="6341"></path></svg>
|
After Width: | Height: | Size: 2.0 KiB |
1
src/assets/images/grbl_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733326573199" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9341" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M390.063158 950.649263a104.286316 104.286316 0 0 0-10.644211 50.149053H26.947368v-150.042948c0-220.779789 177.259789-400.410947 395.290948-400.410947 68.985263 0 133.820632 18.081684 190.383158 49.744842l-222.558316 450.56z m32.175158-550.346105c-109.029053 0-197.658947-89.869474-197.658948-200.218947C224.579368 89.788632 313.236211 0 422.265263 0s197.632 89.734737 197.632 200.218947c0 110.322526-88.656842 200.084211-197.632 200.084211z m571.930947 583.895579c8.973474 18.270316-4.149895 39.801263-24.306526 39.801263H480.741053c-20.156632 0-33.306947-21.530947-24.306527-39.801263l244.601263-495.400421a27.028211 27.028211 0 0 1 48.613053 0l244.493474 495.400421z m-296.016842-42.738526h54.298947v-55.080422h-54.298947v55.080422z m0-110.133895h54.298947v-137.620211h-54.298947v137.620211z" fill="#4B64FA" p-id="9342"></path></svg>
|
After Width: | Height: | Size: 1.1 KiB |
1
src/assets/images/grss_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733326791000" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28866" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M425.3 245.5c80.1 0 126.4 50.8 126.4 147.4 0 55.2-19 102.2-47.9 132.4-9.1 15.2-13.9 37.5-13.9 47.4 0 5.9 4.6 13.7 13 21.9-20.1 9.4-32.7 29-32.5 50.5v22.8c0 24.7 16 45.4 38.5 52.9-8.7 19.1-6.1 41.1 6.7 57.9h-339c-12.7 0-23-10.1-23-24 0-30.9 4.6-51.4 13.7-61.4 22.5-24.7 70.7-46.4 118.3-62.9 47.6-16.4 74.5-42.8 74.5-57.6 0-10.2-5-33.6-14.6-48.8-28.2-30.2-46.6-76.7-46.6-131 0.1-96.8 46.4-147.5 126.4-147.5z m241 266.7l66.9 68.4-9.8 8.6 15.4 16.6-10.3 9 128.3 125.3c6.6 6.3 22.4 21.6 7.1 33.8-15.4 12.2-29.4-4.9-36-11.2l-125.6-124-12.2 10.8-15.4-16.6-8.9 7.6-66.4-68.4 66.9-59.9z m50.8 205.9c7.9 0 14.5 6.3 14.5 14l0.5 3.6c11.7 0 21 9 21 20.2v18h-201v-18c0-11.2 9.3-20.2 21-20.2h1.4v-3.6c0-7.7 6.6-14 14.5-14h128.1zM593.3 578.4l65.5 67.5c6.6 6.7 6.6 18-1 24.3l-10.3 9c-7 6.3-18.7 5.8-25.2-1l-65.5-67.5c-6.6-6.7-6.6-18 1-24.3l10.3-9c7-6.2 18.7-6.2 25.2 1z m116.5-104l65.5 67.5c6.6 6.7 6.6 18-1 24.3l-10.3 9c-7 6.3-18.7 6.3-25.2-0.9l-65.5-67.4c-6.6-6.7-6.6-18 1-24.3l10.3-9c6.9-6.4 18.1-5.9 25.2 0.8z" fill="#4B64FA" p-id="28867"></path></svg>
|
After Width: | Height: | Size: 1.3 KiB |
BIN
src/assets/images/hygj_banner.png
Normal file
After Width: | Height: | Size: 87 KiB |
BIN
src/assets/images/icon_1.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
src/assets/images/icon_2.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
src/assets/images/icon_3.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src/assets/images/icon_4.png
Normal file
After Width: | Height: | Size: 11 KiB |
1
src/assets/images/icon_index_apistore.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739431145867" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1589" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M795.442 73a38 38 0 0 1 35.204 23.693L951.218 393.37c7.042 17.326 0.43 37.2-15.589 46.854l-2.63 1.583L933 860c0 52.49-42.125 95.14-94.412 95.987L837 956H198c-52.49 0-95.14-42.125-95.987-94.412L102 860V450.436l-16.391-10.474c-15.605-9.972-21.727-29.72-14.57-46.741l0.22-0.515L201.222 95.764A38 38 0 0 1 236.034 73z m-77.406 373.306l-37.677 22.708c-41.905 25.255-94.4 24.824-135.854-1.01l-1.252-0.79-32.717-20.908-37.677 22.708c-41.905 25.255-94.4 24.824-135.854-1.01l-1.252-0.79-32.717-20.908-39.657 23.901c-30.927 18.64-67.792 22.875-101.38 12.828L162 860c0 19.683 15.797 35.677 35.405 35.995L198 896h639c19.683 0 35.677-15.797 35.995-35.405L873 860V476.714c-39.43 17.315-85.348 14.08-122.247-9.5l-32.717-20.908z m62.598-313.307H250.42L133.766 399.531l28.744 18.37a66.275 66.275 0 0 0 69.25 1.303l0.648-0.386 71.555-43.124 64.099 40.962a70 70 0 0 0 73.827 0.969l69.574-41.931 64.099 40.962a70 70 0 0 0 73.827 0.969l69.574-41.931 64.099 40.962a70 70 0 0 0 73.827 0.969l31.665-19.084-107.92-265.542z" fill="#1296db" p-id="1590"></path><path d="M335.81 565.173l54.876 0.41 82.301 190-55.056 23.85-16.649-38.434h-78.957l-17.52 38.844-54.693-24.67 85.699-190z m26.792 86.529l-13.215 29.297h25.905l-12.69-29.297zM502.395 561.66l60 0.11v0.236l0.492 0.005c45.692 0.736 82.613 37.772 82.613 83.489 0 45.717-36.92 82.753-82.613 83.489l-0.803 0.005-0.084 46.061-60-0.11 0.395-213.286z m59.888 60.352l-0.087 46.978c12.991-0.36 23.304-10.8 23.304-23.49 0-12.662-10.267-23.083-23.217-23.488zM691.697 561.66l60 0.11-0.394 213.285-60-0.11z" fill="#1296db" p-id="1591"></path></svg>
|
After Width: | Height: | Size: 1.9 KiB |
1
src/assets/images/icon_index_chacheliang.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1736930506398" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18562" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M997.307733 535.210667A353.09568 353.09568 0 0 1 791.893333 600.746667c-59.255467 0-115.0976-14.609067-164.2496-40.277334-149.9136 11.0592-300.987733 1.024-448.7168-30.378666 24.712533-67.9936 46.011733-131.549867 74.205867-193.262934a57.685333 57.685333 0 0 1 37.205333-25.463466l152.234667-2.389334C438.954667 288.426667 436.906667 267.332267 436.906667 245.76c0-8.055467 0.341333-16.042667 0.887466-23.9616-62.805333 0.6144-110.523733 3.345067-121.105066 5.3248-71.8848 5.870933-132.369067 56.1152-151.483734 125.610667-14.472533 47.104-31.470933 93.3888-50.926933 138.717866-3.549867 9.216-15.223467 21.367467-21.2992 21.367467C40.96 508.040533 20.548267 539.716267 5.3248 580.471467a61.269333 61.269333 0 0 0 0 24.917333l53.6576 13.789867c-3.072 74.205867-3.072 147.933867-3.072 221.5936 0 39.7312 0 78.301867 3.072 119.057066 0.136533 19.456 6.485333 38.2976 18.158933 53.8624a477.934933 477.934933 0 0 0 166.0928 0c11.127467-4.096 16.725333-61.986133 26.350934-96.597333h492.1344c12.0832 32.494933-11.195733 72.635733 26.282666 96.597333a475.436373 475.436373 0 0 0 162.133334-3.072 80.827733 80.827733 0 0 0 17.2032-46.557866V682.3936c-1.092267-20.48-3.4816-40.891733-7.031467-61.098667l57.7536-15.496533c2.594133-10.376533 2.594133-21.162667 0-31.5392-2.935467-15.428267-10.4448-28.808533-20.753067-39.048533z m-688.128 206.848a50.223787 50.223787 0 0 1-32.836266 24.917333c-17.885867 3.072-36.0448 4.096-54.203734 3.072l2.389334-1.160533c-28.330667-2.594133-53.179733-3.549867-79.0528-8.669867-32.904533-7.031467-43.281067-31.470933-32.904534-75.639467 5.051733-30.037333 29.422933-31.5392 50.722134-24.507733a1187.089067 1187.089067 0 0 1 126.634666 50.926933c10.103467 4.642133 21.845333 23.483733 19.2512 31.061334z m576.375467 17.681066c-26.282667 4.9152-52.8384 8.3968-79.530667 10.376534h-0.273066v-0.546134c-22.9376-0.6144-45.738667-2.594133-68.4032-6.075733-25.326933-5.597867-33.3824-35.157333-11.127467-45.806933 49.152-23.074133 99.9424-42.461867 152.029867-57.9584 20.753067-6.075733 34.542933 6.621867 35.976533 33.518933 1.4336 26.965333 9.216 58.026667-28.672 66.491733z" p-id="18563" fill="#1296db"></path><path d="M589.073067 230.263467h7.645866c0 88.064 72.772267 160.836267 160.836267 160.836266s160.836267-72.772267 160.836267-160.836266-72.772267-160.836267-160.836267-160.836267-160.836267 72.704-160.836267 160.836267h-7.645866z m421.205333 210.5344c11.4688 11.4688 11.4688 30.651733 0 42.120533s-30.651733 11.4688-42.120533 0L891.562667 406.3232c-38.2976 30.651733-84.241067 45.943467-134.075734 45.943467-122.538667 0-222.0032-99.601067-222.0032-222.0032 0-122.538667 99.601067-222.0032 222.0032-222.0032 122.538667 0 222.0032 99.601067 222.0032 222.0032 0 49.7664-15.291733 95.778133-45.943466 134.075733l76.731733 76.458667z" p-id="18564" fill="#1296db"></path></svg>
|
After Width: | Height: | Size: 3.1 KiB |
BIN
src/assets/images/index_icon_1.png
Normal file
After Width: | Height: | Size: 114 KiB |
BIN
src/assets/images/index_icon_2.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
src/assets/images/index_icon_3.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
src/assets/images/index_icon_4.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
src/assets/images/index_icon_4_1.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
src/assets/images/index_icon_5.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
src/assets/images/index_icon_6.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
src/assets/images/index_icon_7.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
src/assets/images/inquire_banner.png
Normal file
After Width: | Height: | Size: 173 KiB |
BIN
src/assets/images/inquire_banner_2.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
src/assets/images/liu.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
src/assets/images/llqdk.jpg
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
src/assets/images/login_bg.png
Normal file
After Width: | Height: | Size: 507 KiB |
BIN
src/assets/images/logo copy.png
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
src/assets/images/logo.jpg
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
src/assets/images/logo.png
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
src/assets/images/logo_title.png
Normal file
After Width: | Height: | Size: 16 KiB |
1
src/assets/images/mxcl_icon.svg
Normal file
After Width: | Height: | Size: 6.3 KiB |
87
src/assets/images/pendding.svg
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1024 1024" height="1024" width="1024">
|
||||||
|
<g clip-path="url(#clip0_1513_110780)">
|
||||||
|
<ellipse fill="url(#paint0_linear_1513_110780)" ry="127.5" rx="467" cy="762.5" cx="506"></ellipse>
|
||||||
|
<path fill="url(#paint1_linear_1513_110780)" d="M230.457 615.502C230.457 615.502 230.233 614.922 229.928 615.542C227.184 621.122 202.334 681.566 200.362 728.218C200.362 728.218 196.215 755.02 230.965 754.665C259.973 754.37 259.2 729.662 259.099 721.337C258.702 687.573 230.457 615.502 230.457 615.502Z"></path>
|
||||||
|
<path fill="url(#paint2_linear_1513_110780)" d="M229.664 784.343C229.105 784.343 228.647 783.886 228.647 783.327V631.754C228.647 631.195 229.105 630.737 229.664 630.737C230.223 630.737 230.68 631.195 230.68 631.754V783.327C230.68 783.896 230.223 784.343 229.664 784.343Z"></path>
|
||||||
|
<path fill="url(#paint3_linear_1513_110780)" d="M869.35 810.661C876.541 808.4 883.517 805.446 889.874 797.176C891.178 795.482 892.404 793.311 891.689 791.283C891.151 789.757 889.594 788.778 888.013 788.529C887.424 788.442 886.827 788.426 886.234 788.48H886.228C885.316 788.574 884.415 788.754 883.536 789.015L883.285 789.089C879.09 790.299 875.093 792.13 871.425 794.524C871.093 794.738 870.698 794.833 870.306 794.792C869.914 794.75 869.548 794.576 869.266 794.296C868.984 794.017 868.804 793.649 868.754 793.252C868.704 792.855 868.789 792.453 868.993 792.111C869.367 791.491 869.803 790.911 870.292 790.38C871.015 789.613 871.807 788.916 872.657 788.299C873.788 787.462 874.994 786.715 876.174 785.951C880.562 783.116 884.719 779.929 888.605 776.42C891.378 773.913 894.091 771.131 895.409 767.607C896.015 765.986 896.291 764.117 895.568 762.547C894.376 759.968 890.999 759.245 888.237 759.78C883.398 760.721 879.532 764.32 876.104 767.908C873.261 770.889 870.075 774.189 865.99 774.372C865.294 774.439 864.594 774.296 863.977 773.963C862.812 773.247 862.512 771.588 862.927 770.271C863.343 768.953 864.304 767.901 865.231 766.89C870.623 761.021 875.928 754.916 879.429 747.725C882.93 740.534 884.481 732.044 882.048 724.409C881.335 722.177 880.263 720.005 878.591 718.383C876.919 716.762 874.575 715.745 872.28 716.056C869.153 716.473 866.798 719.15 865.213 721.915C859.768 731.401 860.101 743.025 858.567 753.891C858.138 756.933 857.514 760.053 855.728 762.557C855.563 762.798 855.35 763 855.101 763.15C853.632 764.013 852.313 762.272 851.761 760.795C849.583 754.95 849.038 748.265 845.139 743.427C843.65 741.585 841.544 740.046 839.197 740.061C836.331 740.081 833.877 742.51 833.04 745.292C832.204 748.074 832.705 751.096 833.601 753.858C835.264 758.98 838.245 763.582 841.759 767.627C843.61 769.763 845.705 771.92 846.261 774.706C846.431 775.653 846.36 776.628 846.054 777.539C845.748 778.45 845.218 779.267 844.513 779.912C844.184 780.202 843.801 780.423 843.386 780.561C842.971 780.699 842.533 780.75 842.098 780.713C841.157 780.626 840.306 780.139 839.484 779.666C839.139 779.467 838.794 779.265 838.447 779.067C837.077 778.276 835.707 777.483 834.336 776.69C830.851 774.674 826.646 772.614 823.018 774.35C821.167 775.238 819.954 776.983 819.383 778.986C818.872 780.804 818.872 782.73 819.383 784.548C820.464 788.328 827.276 798.848 830.086 801.561C833.368 804.729 844.748 818.398 869.35 810.661Z"></path>
|
||||||
|
<path fill="url(#paint4_linear_1513_110780)" d="M649.638 740.684C650.38 738.632 650.88 736.312 651.021 733.581C651.097 732.138 650.946 730.46 649.772 729.604C648.888 728.959 647.648 729.008 646.674 729.474C646.314 729.65 645.975 729.869 645.667 730.126L645.663 730.129C645.193 730.529 644.761 730.974 644.373 731.455L644.261 731.592C642.394 733.869 640.875 736.417 639.754 739.152C639.651 739.399 639.468 739.602 639.235 739.729C639.001 739.856 638.73 739.899 638.467 739.851C638.203 739.802 637.962 739.666 637.782 739.464C637.603 739.262 637.495 739.006 637.478 738.737C637.448 738.249 637.468 737.759 637.537 737.276C637.644 736.573 637.817 735.882 638.053 735.213C638.302 734.488 638.6 733.776 638.897 733.067C638.968 732.898 639.038 732.73 639.108 732.561C640.46 729.305 641.548 725.941 642.363 722.501C642.944 720.045 643.385 717.458 642.767 714.99C642.483 713.856 641.92 712.709 640.917 712.11C639.267 711.129 637.113 712.017 635.783 713.37C633.455 715.744 632.686 719.226 632.155 722.535C631.718 725.282 631.212 728.339 629.013 730.001C628.651 730.304 628.208 730.492 627.737 730.543C626.815 730.589 626.013 729.779 625.739 728.886C625.465 727.994 625.596 727.04 625.724 726.122C626.471 720.792 627.08 715.364 626.27 710.019C625.46 704.675 623.069 699.352 618.792 696.028C617.541 695.056 616.113 694.256 614.563 693.991C613.012 693.727 611.32 694.056 610.164 695.106C608.586 696.534 608.303 698.925 608.482 701.071C608.942 706.634 611.7 711.617 614.449 716.583C615.34 718.193 616.23 719.801 617.041 721.426C617.968 723.285 618.816 725.262 618.783 727.34C618.784 727.537 618.743 727.731 618.662 727.909C618.177 728.952 616.777 728.486 615.904 727.874C614.781 727.084 613.72 726.179 612.661 725.276C610.467 723.405 608.281 721.54 605.57 720.728C604.037 720.27 602.277 720.217 600.979 721.122C599.394 722.229 598.961 724.52 599.562 726.389C600.163 728.259 601.599 729.751 603.155 730.948C606.042 733.166 609.462 734.591 612.964 735.502C613.144 735.549 613.325 735.595 613.507 735.641C615.193 736.072 616.935 736.516 618.178 737.726C618.635 738.189 618.969 738.759 619.148 739.384C619.328 740.008 619.346 740.666 619.201 741.294C619.13 741.582 619.001 741.852 618.824 742.087C618.646 742.322 618.422 742.518 618.166 742.664C617.61 742.975 616.95 743.029 616.312 743.079C616.226 743.086 616.14 743.092 616.053 743.099C615.871 743.113 615.689 743.126 615.507 743.142C614.442 743.224 613.378 743.306 612.312 743.388C609.603 743.596 606.477 744.055 605.127 746.409C604.438 747.611 604.433 749.047 604.883 750.381C605.296 751.589 606.034 752.662 607.014 753.48C608.305 754.547 611.561 756.243 614.443 757.461C618.506 760.98 630.194 760.946 644.502 760.905C646.078 760.9 647.685 760.896 649.318 760.896C650.95 760.896 652.558 760.9 654.133 760.905C671.968 760.956 685.732 760.996 685.732 754.158C685.732 746.756 669.602 740.748 649.638 740.684Z" clip-rule="evenodd" fill-rule="evenodd"></path>
|
||||||
|
<path fill="#E0EFFB" d="M398.378 606.003C398.378 552.319 432.932 506.743 480.916 490.497C432.932 474.257 398.378 428.681 398.378 374.997V340.028H370.877C361.556 340.028 354 332.438 354 323.074V320.955C354 311.591 361.556 304 370.877 304H668.935C678.256 304 685.812 311.591 685.812 320.954V323.074C685.812 332.438 678.256 340.028 668.935 340.028H640.982V374.997C640.982 428.681 606.427 474.257 558.444 490.503C606.427 506.743 640.982 552.319 640.982 606.003V640.972H669.123C678.444 640.972 686 648.562 686 657.926V660.045C686 669.409 678.444 677 669.123 677H371.065C361.744 677 354.189 669.409 354.189 660.046V657.926C354.189 648.562 361.744 640.972 371.065 640.972H398.378V606.003Z"></path>
|
||||||
|
<path fill="#81C2FA" d="M613 637C613 673.451 565.362 656 514 656C462.638 656 427 673.451 427 637C427 600.549 467.638 557 519 557C570.362 557 613 600.549 613 637Z"></path>
|
||||||
|
<path fill="url(#paint5_linear_1513_110780)" d="M668.668 304C678.011 304 685.585 311.591 685.585 320.954V323.074C685.585 332.438 678.011 340.028 668.668 340.028H369.916C360.574 340.028 353 332.438 353 323.074V320.955C353 311.591 360.574 304 369.916 304H668.668V304ZM669.084 640.972C678.426 640.972 686 648.562 686 657.926V660.045C686 669.409 678.426 677 669.084 677H370.331C360.989 677 353.415 669.409 353.415 660.046V657.926C353.415 648.562 360.989 640.972 370.331 640.972H669.084V640.972Z"></path>
|
||||||
|
<ellipse fill-opacity="0.1" fill="#7D7D7D" ry="15.5" rx="56.5" cy="744.5" cx="380.5"></ellipse>
|
||||||
|
<path fill="url(#paint6_linear_1513_110780)" d="M388.138 590.092H362.863V615.366H388.138V590.092Z"></path>
|
||||||
|
<path fill="#FEE0BC" d="M402.423 582.636C404.608 583.518 407.573 581.276 409.047 577.628C410.521 573.98 409.946 570.307 407.761 569.424C405.577 568.542 402.611 570.784 401.137 574.432C399.663 578.08 400.239 581.753 402.423 582.636Z"></path>
|
||||||
|
<path fill="#FEE0BC" d="M348.175 582.595C346.006 583.516 343.001 581.326 341.464 577.704C339.926 574.082 340.438 570.4 342.607 569.479C344.776 568.559 347.78 570.749 349.318 574.37C350.855 577.992 350.343 581.675 348.175 582.595Z"></path>
|
||||||
|
<path fill="url(#paint7_linear_1513_110780)" d="M376.181 600.131C392.089 600.131 404.984 587.403 404.984 571.702C404.984 556.001 392.089 543.272 376.181 543.272C360.274 543.272 347.378 556.001 347.378 571.702C347.378 587.403 360.274 600.131 376.181 600.131Z"></path>
|
||||||
|
<path fill="url(#paint8_linear_1513_110780)" d="M404.119 573.743C414.43 559.996 409.275 525.629 374.907 525.629C340.54 525.629 333.667 561.714 347.414 573.743C352.568 558.278 398.964 558.278 404.119 573.743Z"></path>
|
||||||
|
<path fill="#585449" d="M410.191 557.658C409.554 572.537 393.77 555.533 374.3 555.533C354.829 555.533 337.984 574.237 338.408 555.533C338.408 535.812 355.466 521.95 374.937 521.95C394.407 521.95 411.034 537.955 410.191 557.658Z"></path>
|
||||||
|
<path fill="#747169" d="M408.724 562.119C408.724 565.75 393.233 564.876 374.123 564.876C355.013 564.876 339.521 565.75 339.521 562.119C339.521 558.487 355.013 552.998 374.123 552.998C393.233 552.998 408.724 558.487 408.724 562.119Z"></path>
|
||||||
|
<path fill="url(#paint9_linear_1513_110780)" d="M386.491 606.175C387.05 605.65 387.608 605.068 388.164 604.428L388.174 604.432C388.384 604.433 388.64 604.475 389.128 604.824C391.595 605.916 393.875 607.539 395.959 609.51C419.437 620.293 448.133 651.929 449.682 659.957C451.485 669.295 447.834 674.286 444.137 676.077C442.286 676.974 429.317 681.461 415.201 685.27C416.83 704.65 418.718 723.386 420.606 728.15C421.865 731.327 412.177 732.54 398.561 732.695C371.08 735.371 324.372 734.768 326.993 728.154C328.875 723.404 330.757 704.767 332.382 685.448C320.048 682.577 309.039 679.178 307.296 678.307C303.692 676.505 296.482 669.295 298.285 658.481C299.675 650.138 334.524 615.04 357.975 605.055C358.455 604.827 358.941 604.619 359.435 604.432L359.454 604.453C359.491 604.439 359.528 604.425 359.564 604.411C359.567 604.426 359.57 604.441 359.572 604.455C361.418 603.115 362.636 602.608 362.931 602.608C365.835 606.378 371.949 611.363 378.778 610.25C381.883 609.361 384.592 607.826 386.491 606.175ZM334.655 656.861C334.874 654.069 335.081 651.452 335.276 649.074C332.93 650.984 330.236 652.93 327.122 654.877C329.488 655.215 332.023 655.912 334.655 656.861ZM413.042 658.12C412.851 655.675 412.669 653.353 412.495 651.194C414.72 652.904 417.239 654.639 420.105 656.375C417.878 656.683 415.505 657.292 413.042 658.12Z" clip-rule="evenodd" fill-rule="evenodd"></path>
|
||||||
|
<path fill="#FB955B" d="M391.434 605.947C391.434 605.947 389.643 604.093 387.853 604.093C378.206 614.08 367.28 607.14 362.782 602.24C362.613 602.048 360.991 602.238 359.2 604.093C374.959 618.925 387.256 611.509 391.434 605.947Z"></path>
|
||||||
|
<path fill="#FEE4C3" d="M334.332 746.796L331.538 734.637L317.4 737.47L319.526 748.074L334.332 746.796Z"></path>
|
||||||
|
<path fill="#7B7B7B" d="M321.766 736.133C318.964 740.512 320.757 746.368 322.003 748.748C318.467 752.42 303.692 755.992 303.692 746.802C303.691 737.784 312.722 734.501 321.766 736.133Z"></path>
|
||||||
|
<path fill="#FEE4C3" d="M415.233 746.796L418.027 734.637L432.165 737.47L430.04 748.074L415.233 746.796Z"></path>
|
||||||
|
<path fill="#7B7B7B" d="M427.798 736.133C430.6 740.512 428.808 746.368 427.561 748.748C431.097 752.42 445.872 755.992 445.873 746.802C445.873 737.784 436.842 734.501 427.798 736.133Z"></path>
|
||||||
|
<path fill="#DCDCDC" d="M426.623 696.181C426.623 696.181 446.29 692.531 452.543 706.678C457.11 723.22 440.502 727.377 440.502 727.377L427.51 729.924L421.852 749.064L375.903 740.046L329.917 749.064L324.251 729.908L311.397 727.387C311.397 727.387 293 720.449 299.37 706.697C307.428 689.3 325.262 696.204 325.262 696.204L375.881 710.561L426.623 696.181Z"></path>
|
||||||
|
<path fill="url(#paint10_linear_1513_110780)" d="M330.263 637.979C330.263 637.426 330.71 636.979 331.263 636.979H415.708C416.26 636.979 416.708 637.426 416.708 637.979V698.15H330.263V637.979Z"></path>
|
||||||
|
<rect fill="url(#paint11_linear_1513_110780)" rx="2" height="5.49441" width="94.1376" y="698.149" x="326.967"></rect>
|
||||||
|
<path fill="url(#paint12_linear_1513_110780)" d="M774.5 291.455C776.513 291.455 778.444 292.254 779.868 293.678C781.291 295.101 782.091 297.032 782.091 299.045V329.409C782.091 331.422 781.291 333.353 779.868 334.777C778.444 336.2 776.513 337 774.5 337C772.487 337 770.556 336.2 769.132 334.777C767.709 333.353 766.909 331.422 766.909 329.409V299.045C766.909 297.032 767.709 295.101 769.132 293.678C770.556 292.254 772.487 291.455 774.5 291.455V291.455ZM747.659 280.341C749.082 281.765 749.881 283.695 749.881 285.708C749.881 287.721 749.082 289.651 747.659 291.075L726.191 312.542C725.491 313.267 724.654 313.845 723.727 314.243C722.801 314.641 721.805 314.85 720.797 314.859C719.789 314.868 718.79 314.676 717.857 314.294C716.924 313.913 716.077 313.349 715.364 312.636C714.651 311.923 714.087 311.076 713.706 310.143C713.324 309.21 713.132 308.211 713.141 307.203C713.15 306.195 713.359 305.199 713.757 304.273C714.155 303.346 714.733 302.509 715.458 301.809L736.925 280.341C738.349 278.918 740.279 278.119 742.292 278.119C744.305 278.119 746.235 278.918 747.659 280.341V280.341ZM812.075 280.341L833.542 301.809C834.925 303.24 835.69 305.158 835.673 307.148C835.655 309.138 834.857 311.042 833.45 312.45C832.042 313.857 830.138 314.655 828.148 314.673C826.158 314.69 824.24 313.925 822.809 312.542L801.341 291.075C799.959 289.643 799.194 287.726 799.211 285.736C799.228 283.745 800.027 281.841 801.434 280.434C802.841 279.027 804.745 278.228 806.736 278.211C808.726 278.194 810.643 278.959 812.075 280.341ZM728.955 245.909C730.968 245.909 732.899 246.709 734.322 248.132C735.746 249.556 736.545 251.487 736.545 253.5C736.545 255.513 735.746 257.444 734.322 258.868C732.899 260.291 730.968 261.091 728.955 261.091H698.591C696.578 261.091 694.647 260.291 693.223 258.868C691.8 257.444 691 255.513 691 253.5C691 251.487 691.8 249.556 693.223 248.132C694.647 246.709 696.578 245.909 698.591 245.909H728.955ZM850.409 245.909C852.422 245.909 854.353 246.709 855.777 248.132C857.2 249.556 858 251.487 858 253.5C858 255.513 857.2 257.444 855.777 258.868C854.353 260.291 852.422 261.091 850.409 261.091H820.045C818.032 261.091 816.101 260.291 814.678 258.868C813.254 257.444 812.455 255.513 812.455 253.5C812.455 251.487 813.254 249.556 814.678 248.132C816.101 246.709 818.032 245.909 820.045 245.909H850.409ZM833.542 194.458C834.965 195.881 835.765 197.812 835.765 199.825C835.765 201.838 834.965 203.768 833.542 205.191L812.075 226.659C810.643 228.041 808.726 228.806 806.736 228.789C804.745 228.772 802.841 227.973 801.434 226.566C800.027 225.159 799.228 223.255 799.211 221.264C799.194 219.274 799.959 217.357 801.341 215.925L822.809 194.458C824.232 193.035 826.162 192.235 828.175 192.235C830.188 192.235 832.119 193.035 833.542 194.458V194.458ZM726.191 194.458L747.659 215.925C748.384 216.625 748.962 217.463 749.36 218.389C749.758 219.315 749.967 220.311 749.976 221.319C749.984 222.327 749.792 223.327 749.411 224.259C749.029 225.192 748.465 226.04 747.753 226.753C747.04 227.465 746.192 228.029 745.259 228.411C744.327 228.792 743.327 228.984 742.319 228.976C741.311 228.967 740.315 228.758 739.389 228.36C738.463 227.962 737.625 227.384 736.925 226.659L715.458 205.191C714.075 203.76 713.31 201.842 713.327 199.852C713.345 197.862 714.143 195.958 715.55 194.55C716.958 193.143 718.862 192.345 720.852 192.327C722.842 192.31 724.76 193.075 726.191 194.458V194.458ZM774.5 170C776.513 170 778.444 170.8 779.868 172.223C781.291 173.647 782.091 175.578 782.091 177.591V207.955C782.091 209.968 781.291 211.899 779.868 213.322C778.444 214.746 776.513 215.545 774.5 215.545C772.487 215.545 770.556 214.746 769.132 213.322C767.709 211.899 766.909 209.968 766.909 207.955V177.591C766.909 175.578 767.709 173.647 769.132 172.223C770.556 170.8 772.487 170 774.5 170Z"></path>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="890" x2="506" y1="635" x1="506" id="paint0_linear_1513_110780">
|
||||||
|
<stop stop-color="#BDDFFF"></stop>
|
||||||
|
<stop stop-opacity="0" stop-color="white" offset="0.95892"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="615.257" x2="229.66" y1="754.678" x1="229.66" id="paint1_linear_1513_110780">
|
||||||
|
<stop stop-color="#5FB2FF"></stop>
|
||||||
|
<stop stop-color="#DFF0FF" offset="0.7893"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="784.347" x2="229.661" y1="630.738" x1="229.661" id="paint2_linear_1513_110780">
|
||||||
|
<stop stop-color="#DFF0FF"></stop>
|
||||||
|
<stop stop-color="#A2D2FF" offset="0.818"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="802.968" x2="847.534" y1="720.042" x1="883.842" id="paint3_linear_1513_110780">
|
||||||
|
<stop stop-color="#C4E3FF" offset="0.365159"></stop>
|
||||||
|
<stop stop-color="#5FB2FF" offset="1"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="696.911" x2="605.494" y1="778.74" x1="649.318" id="paint4_linear_1513_110780">
|
||||||
|
<stop stop-color="#97CDFF" offset="0.568288"></stop>
|
||||||
|
<stop stop-color="#5FB2FF" offset="1"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="646.727" x2="206.755" y1="200" x1="686" id="paint5_linear_1513_110780">
|
||||||
|
<stop stop-color="#6CB8FF"></stop>
|
||||||
|
<stop stop-color="#B1D9FF" offset="0.865168"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="615.366" x2="375.5" y1="593.358" x1="375.5" id="paint6_linear_1513_110780">
|
||||||
|
<stop stop-color="#FFCDA5"></stop>
|
||||||
|
<stop stop-color="#FFE8D1" offset="1"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="600.131" x2="376.181" y1="543.272" x1="376.181" id="paint7_linear_1513_110780">
|
||||||
|
<stop stop-color="#FFF2DF"></stop>
|
||||||
|
<stop stop-color="#FEE0BC" offset="1"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="579.657" x2="358.148" y1="540.753" x1="396.189" id="paint8_linear_1513_110780">
|
||||||
|
<stop stop-color="#777CA7"></stop>
|
||||||
|
<stop stop-color="#636681" offset="1"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="749.353" x2="384.874" y1="591.568" x1="425.773" id="paint9_linear_1513_110780">
|
||||||
|
<stop stop-color="#FFE194"></stop>
|
||||||
|
<stop stop-color="#FFBF84" offset="1"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="690.962" x2="358.001" y1="640.104" x1="392.552" id="paint10_linear_1513_110780">
|
||||||
|
<stop stop-color="#94CBFF"></stop>
|
||||||
|
<stop stop-color="#DCEEFF" offset="1"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="703.644" x2="374.036" y1="698.149" x1="374.036" id="paint11_linear_1513_110780">
|
||||||
|
<stop stop-color="#94CBFF"></stop>
|
||||||
|
<stop stop-color="#DCEEFF" offset="1"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="304.871" x2="701.011" y1="178.533" x1="811.334" id="paint12_linear_1513_110780">
|
||||||
|
<stop stop-color="#6CB8FF"></stop>
|
||||||
|
<stop stop-color="#BDDFFF" offset="0.781833"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<clipPath id="clip0_1513_110780">
|
||||||
|
<rect fill="white" height="1024" width="1024"></rect>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 18 KiB |
BIN
src/assets/images/public_security_record_icon.png
Normal file
After Width: | Height: | Size: 11 KiB |
1
src/assets/images/qyss_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733326801081" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="29986" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M928 832 896 832 896 384c0-70.4-57.6-128-128-128L576 256l0 544C576 817.92 561.92 832 544 832S512 817.92 512 800L512 192c0-70.4-57.6-128-128-128L192 64C121.6 64 64 121.6 64 192l0 640L32 832C14.08 832 0 846.08 0 864 0 881.92 14.08 896 32 896l896 0c17.92 0 32-14.08 32-32C960 846.08 945.92 832 928 832zM352 704l-128 0C206.08 704 192 689.92 192 672S206.08 640 224 640l128 0C369.92 640 384 654.08 384 672S369.92 704 352 704zM352 512l-128 0C206.08 512 192 497.92 192 480 192 462.08 206.08 448 224 448l128 0C369.92 448 384 462.08 384 480 384 497.92 369.92 512 352 512zM352 320l-128 0C206.08 320 192 305.92 192 288 192 270.08 206.08 256 224 256l128 0C369.92 256 384 270.08 384 288 384 305.92 369.92 320 352 320zM800 704l-128 0c-17.92 0-32-14.08-32-32s14.08-32 32-32l128 0c17.92 0 32 14.08 32 32S817.92 704 800 704zM800 512l-128 0C654.08 512 640 497.92 640 480 640 462.08 654.08 448 672 448l128 0C817.92 448 832 462.08 832 480 832 497.92 817.92 512 800 512z" p-id="29987" fill="#4B64FA"></path></svg>
|
After Width: | Height: | Size: 1.3 KiB |
1
src/assets/images/rchy_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M179.2 665.6c0 46.933333 38.4 85.333333 85.333333 85.333333s85.333333-38.4 85.333334-85.333333-38.4-85.333333-85.333334-85.333333-85.333333 38.4-85.333333 85.333333z m110.933333 0c0 12.8-8.533333 21.333333-21.333333 21.333333s-21.333333-8.533333-21.333333-21.333333 8.533333-21.333333 21.333333-21.333333 21.333333 8.533333 21.333333 21.333333zM610.133333 290.133333c25.6 0 42.666667-17.066667 42.666667-42.666666s-17.066667-42.666667-42.666667-42.666667H371.2c-38.4 0-72.533333 25.6-81.066667 59.733333L256 405.333333c0 12.8 0 25.6 8.533333 38.4s21.333333 17.066667 34.133334 17.066667h221.866666c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666666h-170.666666l21.333333-85.333334h238.933333zM384 810.666667c-25.6 0-42.666667 17.066667-42.666667 42.666666s-17.066667 42.666667-42.666666 42.666667-42.666667-17.066667-42.666667-42.666667-17.066667-42.666667-42.666667-42.666666H128c-21.333333 0-42.666667-17.066667-42.666667-42.666667v-268.8c0-17.066667 8.533333-29.866667 25.6-38.4l46.933334-21.333333c12.8-4.266667 21.333333-17.066667 21.333333-29.866667l46.933333-213.333333c8.533333-38.4 42.666667-68.266667 85.333334-68.266667h362.666666c38.4 0 76.8 29.866667 85.333334 68.266667 4.266667 21.333333 29.866667 38.4 51.2 34.133333 21.333333-4.266667 38.4-25.6 34.133333-51.2-17.066667-76.8-85.333333-136.533333-166.4-136.533333H311.466667C230.4 42.666667 162.133333 98.133333 145.066667 174.933333l-42.666667 192-29.866667 17.066667C25.6 405.333333 0 448 0 499.2V768c0 72.533333 55.466667 128 128 128h51.2c17.066667 51.2 64 85.333333 119.466667 85.333333 72.533333 0 128-55.466667 128-128 0-25.6-17.066667-42.666667-42.666667-42.666666zM785.066667 691.2c68.266667-12.8 119.466667-76.8 119.466666-149.333333 0-85.333333-68.266667-149.333333-149.333333-149.333334s-149.333333 68.266667-149.333333 149.333334c0 72.533333 51.2 132.266667 119.466666 149.333333-136.533333 12.8-238.933333 119.466667-238.933333 247.466667 0 25.6 17.066667 42.666667 42.666667 42.666666s42.666667-17.066667 42.666666-42.666666c0-89.6 85.333333-162.133333 187.733334-162.133334S938.666667 849.066667 938.666667 938.666667c0 25.6 17.066667 42.666667 42.666666 42.666666s42.666667-17.066667 42.666667-42.666666c0-128-106.666667-230.4-238.933333-247.466667z m-98.133334-149.333333c0-38.4 29.866667-64 64-64s64 29.866667 64 64-29.866667 64-64 64-64-25.6-64-64z" /></svg>
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/assets/images/sfss_banner.png
Normal file
After Width: | Height: | Size: 166 KiB |
1
src/assets/images/sfzeys_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="29.56px" viewBox="0 0 1663 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M1624.062335 1024H39.123025A39.265143 39.265143 0 0 1 0 984.856673V39.123025A39.265143 39.265143 0 0 1 39.123025 0h1584.93931a39.24484 39.24484 0 0 1 39.123025 39.123025v945.733648a39.24484 39.24484 0 0 1-39.123025 39.143327zM570.70484 163.049825H179.352777a32.626207 32.626207 0 0 0 0 65.232111H570.70484a32.626207 32.626207 0 0 0 0-65.232111zM635.916648 306.568591H179.352777a32.626207 32.626207 0 0 0 0 65.232111h456.563871a32.626207 32.626207 0 0 0 0-65.232111z m0 143.47816H179.352777a32.626207 32.626207 0 0 0 0 65.232112h456.563871a32.626207 32.626207 0 0 0 0-65.232112z m130.443921 143.498464H179.352777a32.626207 32.626207 0 0 0 0 65.232111h587.007792a32.626207 32.626207 0 1 0 0-65.232111z m750.077919-6.517121c0-44.361084-77.61667-87.727343-146.422032-110.547415-3.268711-0.994825-23.165216-10.151278-10.435513-47.934334h-0.324841c32.281064-33.60073 57.050181-87.422805 57.050181-140.554593 0-81.880207-54.126613-124.596784-116.739695-124.596784-62.937923 0-116.414854 42.635367-116.414854 124.596784 0 53.476932 24.363067 107.603545 57.070484 140.879434 12.7094 33.580427-10.151278 45.985289-14.678748 47.609493-65.881793 23.794595-142.848782 67.505998-142.848782 110.547415V602.985903c0 58.694688 112.841604 72.074073 217.521582 72.074073s216.222218-13.379384 216.222218-72.074073zM1483.812281 828.344271H179.352777a32.626207 32.626207 0 0 0 0 65.232111h1304.459504a32.626207 32.626207 0 1 0 0-65.232111z" /></svg>
|
After Width: | Height: | Size: 1.7 KiB |
1
src/assets/images/sjeck_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M716.096 0c32.384 0 59.136 23.936 62.784 54.784l0.448 7.232-0.128 153.28c-29.696-13.76-46.464-24.448-46.464-24.448l-14.784-7.296v-18.88h-528.64v666.24h528.64v-16.256c10.304-2.368 33.344-13.184 61.248-29.888l0.128 177.216a62.464 62.464 0 0 1-55.872 61.568l-7.36 0.448H191.232a62.784 62.784 0 0 1-62.784-54.784L128 961.92V62.016c0-31.808 24.384-58.048 55.872-61.568L191.232 0h524.8z m-262.4 873.6a51.392 51.392 0 0 0-51.84 50.88c0 28.096 23.168 50.816 51.84 50.816 28.608 0 51.84-22.72 51.84-50.816a51.392 51.392 0 0 0-51.84-50.88z m260.16-644.864l15.616 7.68s33.28 21.184 88 40.448c50.88 19.264 82.176 19.264 82.176 19.264l23.424 1.92v265.92c0 98.304-187.712 204.224-209.216 204.224-23.488 0-209.28-105.92-209.28-204.16V297.984l25.472-1.92s29.312-1.92 82.112-19.2a585.024 585.024 0 0 0 83.904-38.144l3.648-2.112 0.448-0.256 13.696-7.68z m97.792 159.872L694.272 533.12l-62.528-55.872-29.376 36.608 97.792 88.64 146.688-181.12-35.2-32.768z m-299.456-311.04h-117.12a16.576 16.576 0 0 0-16.64 16.384c0 7.744 5.44 14.272 12.8 16l3.84 0.384h117.12a16.576 16.576 0 0 0 16.768-16.384 16.576 16.576 0 0 0-16.768-16.384z" /></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
src/assets/images/sjeys_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M909.824 457.728H738.816V60.416C738.304 27.136 711.68 0 678.4 0H116.736C83.456 0 56.32 27.136 56.32 60.416v782.336c0 33.28 27.136 60.416 60.416 60.416h485.376v62.464c0 32.256 26.112 57.856 57.856 57.856h249.344c32.256 0 57.856-26.112 57.856-57.856V515.584c0.512-31.744-25.6-57.856-57.344-57.856zM397.312 866.816c-19.968 0-36.352-16.384-36.352-36.352 0-19.968 16.384-36.352 36.352-36.352 19.968 0 36.352 16.384 36.352 36.352 0.512 19.968-15.872 36.352-36.352 36.352z m204.8-351.232v241.152H143.36c-18.944 0-34.816-15.872-34.816-34.816V87.04c0-18.944 15.872-34.816 34.816-34.816h508.416c18.944 0 34.816 15.872 34.816 34.816v370.688H660.48c-32.256 0-58.368 26.112-58.368 57.856zM915.456 939.52c0 17.92-14.336 32.256-32.256 32.256H686.592c-17.92 0-32.256-14.336-32.256-32.256V541.696c0-17.92 14.336-32.256 32.256-32.256H883.2c17.92 0 32.256 14.336 32.256 32.256V939.52z" /></svg>
|
After Width: | Height: | Size: 1.1 KiB |
1
src/assets/images/sjhmfx_icon.svg
Normal file
After Width: | Height: | Size: 4.9 KiB |
1
src/assets/images/sjsys_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M1023.842304 997.558272c-3.960832-128.258048-92.628992-235.188224-212.025344-266.9056 56.522752-27.35104 95.500288-85.18656 95.500288-152.119296 0-93.298688-75.743232-168.92928-169.187328-168.92928s-169.183232 75.630592-169.183232 168.92928c0 66.934784 38.975488 124.768256 95.49824 152.119296-119.3984 31.715328-208.06656 138.647552-212.025344 266.9056h-0.1536v26.425344h151.68512v-26.425344H478.9248c5.072896-134.557696 123.65824-250.073088 259.207168-250.073088s254.134272 115.515392 259.20512 250.073088h-125.022208v26.425344h151.683072v-26.425344h-0.155648zM595.412992 578.531328c0-73.996288 68.608-142.526464 142.716928-142.526464s142.716928 68.530176 142.716928 142.526464c0 74.008576-68.608 142.528512-142.716928 142.528512s-142.716928-68.519936-142.716928-142.528512z m-173.819904 343.062528H59.74016a17.065984 17.065984 0 0 1-17.068032-17.068032V85.331968a17.055744 17.055744 0 0 1 17.068032-17.057792h494.923776c9.424896 0 17.068032 7.634944 17.068032 17.057792v358.373376a214.53824 214.53824 0 0 1 42.65984-42.653696V85.331968C614.391808 38.203392 576.188416 0 529.05984 0H85.331968C38.213632 0 0 38.203392 0 85.331968v853.32992c0 47.118336 38.213632 85.321728 85.331968 85.321728h337.69472c-3.155968-18.024448-4.888576-36.538368-4.888576-55.451648 0-15.955968 1.200128-31.614976 3.454976-46.938112zM255.995904 29.87008c0-2.3552 1.910784-4.265984 4.265984-4.265984h93.868032c2.3552 0 4.268032 1.910784 4.268032 4.265984v8.534016c0 2.3552-1.912832 4.265984-4.268032 4.265984h-93.868032a4.268032 4.268032 0 0 1-4.265984-4.265984v-8.534016z m85.331968 959.987712c0 9.422848-7.634944 17.068032-17.057792 17.068032h-34.136064a17.072128 17.072128 0 0 1-17.068032-17.068032v-34.125824a17.072128 17.072128 0 0 1 17.068032-17.07008h34.136064c9.424896 0 17.057792 7.645184 17.057792 17.07008v34.125824z m20.946944-496.023552c15.214592-7.000064 26.691584-16.42496 34.44736-28.291072 7.757824-11.86816 11.636736-25.014272 11.636736-39.460864 0-15.212544-4.077568-29.591552-12.212224-43.116544-8.136704-13.545472-19.879936-24.225792-35.237888-32.059392-15.37024-7.835648-32.169984-11.757568-50.427904-11.757568-26.458112 0-48.582656 7.5776-66.38592 22.71232-17.790976 15.12448-29.192192 36.460544-34.213888 63.985664l41.060352 7.29088c3.045376-20.068352 9.889792-35.125248 20.533248-45.160448 10.647552-10.04544 23.959552-15.058944 39.927808-15.058944 16.111616 0 29.270016 4.94592 39.460864 14.835712s15.292416 22.358016 15.292416 37.404672c0 19.023872-7.002112 33.091584-20.992 42.203136-13.991936 9.13408-29.73696 13.69088-47.21664 13.69088-1.67936 0-3.889152-0.155648-6.623232-0.444416l-4.56704 36.038656c11.558912-3.043328 21.225472-4.56704 28.981248-4.56704 19.001344 0 34.670592 6.135808 46.993408 18.356224 12.324864 12.25728 18.479104 27.8016 18.479104 46.671872 0 19.769344-6.656 36.337664-19.95776 49.727488-13.32224 13.377536-29.626368 20.08064-48.939008 20.08064-16.279552 0-30.081024-5.134336-41.404416-15.403008-11.33568-10.268672-19.359744-27.035648-24.082432-50.305024l-41.050112 5.476352c2.736128 27.826176 13.80352 50.495488 33.193984 67.987456 19.390464 17.48992 43.759616 26.22464 73.107456 26.22464 32.548864 0 59.47392-10.145792 80.766976-30.447616 21.291008-20.314112 31.936512-45.049856 31.936512-74.252288 0-21.604352-5.480448-39.583744-16.42496-53.9648-10.944512-14.372864-26.312704-23.842816-46.082048-28.397568z" /></svg>
|
After Width: | Height: | Size: 3.5 KiB |
1
src/assets/images/sjzwsc_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M722.6624 108.928a86.6048 86.6048 0 0 1 86.6048 86.6048v245.76a21.6576 21.6576 0 0 1-43.3152 0v-245.76a43.2896 43.2896 0 0 0-43.2896-43.2896H246.3744a43.2896 43.2896 0 0 0-43.3152 43.2896v621.7728a43.2896 43.2896 0 0 0 43.3152 43.2896h297.0624a21.6576 21.6576 0 1 1 0 43.3152H246.3744a86.6048 86.6048 0 0 1-86.6048-86.6048V195.5328a86.6048 86.6048 0 0 1 86.6048-86.6048h476.288z m-106.24 213.3248c10.24 6.144 13.568 19.456 7.424 29.696l-158.72 274.7648a21.6576 21.6576 0 1 1-37.12-22.3232l158.72-274.7392c6.144-10.24 19.456-13.568 29.696-7.424z m-108.8512 1.9456c10.24 6.144 13.568 19.456 7.424 29.696l-102.8096 173.824a21.6576 21.6576 0 1 1-37.12-22.2976l102.8096-173.824c6.144-10.24 19.456-13.568 29.696-7.424z m-103.424-11.8528c10.24 6.144 13.568 19.456 7.3984 29.696l-66.8928 111.36a21.6576 21.6576 0 1 1-37.12-22.2976l66.8928-111.36c6.144-10.24 19.456-13.568 29.696-7.3984z" fill="#3B424C" /><path d="M489.088 809.9328a43.5712 43.5712 0 1 0 0-87.168 43.5712 43.5712 0 0 0 0 87.168zM742.4768 498.6368a194.8416 194.8416 0 0 1 194.0736 194.816 195.3024 195.3024 0 0 1-197.12 194.8416 194.8416 194.8416 0 0 1 3.0464-389.6576z m-3.072 45.824a148.992 148.992 0 1 0 4.608 297.984 148.992 148.992 0 0 0-4.608-297.984z m2.304 36.608c11.5968 0 21.0944 9.088 21.76 20.5312l0.0256 1.28v99.1744l56.1664 30.4896a21.7856 21.7856 0 0 1 9.344 28.3648l-0.5888 1.1776a21.7856 21.7856 0 0 1-28.3648 9.3696l-1.1776-0.6144-67.584-36.6592a21.7856 21.7856 0 0 1-11.3152-17.7664l-0.0512-1.3824V602.88c0-12.032 9.7536-21.7856 21.7856-21.7856z" fill="#4B7EFE" /></svg>
|
After Width: | Height: | Size: 1.8 KiB |
1
src/assets/images/srhy_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="44.77px" viewBox="0 0 1098 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M545.501953 292.942155l3.101943 3.101942 85.082433-82.423481a337.670781 337.670781 0 0 0 25.258535-24.816543l11.078796-11.520788 14.62273-14.623731a97.933196 97.933196 0 0 0 32.792396-74.003637 79.321539 79.321539 0 0 0-19.497641-60.26689 92.172302 92.172302 0 0 0-147.12229 19.054649A88.627368 88.627368 0 0 0 471.054324 0.028549a91.286319 91.286319 0 0 0-91.286319 91.286319 97.047213 97.047213 0 0 0 32.792396 70.901694z m441.363871 453.32865a35.451347 35.451347 0 0 0-22.156592-8.419845 32.349404 32.349404 0 0 0-22.599584 55.835972 300.004475 300.004475 0 0 1 88.627368 192.76445 33.67838 33.67838 0 1 0 66.913768 0 396.164703 396.164703 0 0 0-110.78496-240.180577z" /><path fill="#4B64FA" d="M761.308978 287.624253a214.921042 214.921042 0 0 0-214.035058 209.604139 217.137001 217.137001 0 0 0-214.035058-209.604139 215.365033 215.365033 0 0 0-125.40769 390.402809 272.085989 272.085989 0 0 0-97.490204 68.243743A381.097981 381.097981 0 0 0 0 988.667341a35.894339 35.894339 0 0 0 33.235388 33.679379 35.894339 35.894339 0 0 0 33.67838-33.679379 310.196287 310.196287 0 0 1 88.627367-192.76445 255.247299 255.247299 0 0 1 170.606858-73.560645h7.090869A214.921042 214.921042 0 0 0 547.27492 515.396057a215.808025 215.808025 0 0 0 88.626368 162.632005 278.732866 278.732866 0 0 0-88.627368 61.152874h-8.862836a32.349404 32.349404 0 0 0-22.599584 8.419845 33.235388 33.235388 0 0 0-10.191812 23.485567 26.58851 26.58851 0 0 0 3.101942 13.294755 363.815299 363.815299 0 0 0-78.878547 205.615213 35.894339 35.894339 0 0 0 33.235388 33.67838 36.337331 36.337331 0 0 0 33.67838-33.67838 279.61985 279.61985 0 0 1 55.834971-150.667225 274.301948 274.301948 0 0 1 53.619013 148.451266 33.67838 33.67838 0 0 0 66.914767 0 364.702283 364.702283 0 0 0-76.663588-197.63836 254.803307 254.803307 0 0 1 156.871111-67.800751h7.08987A215.365033 215.365033 0 0 0 974.902044 507.420204a218.022984 218.022984 0 0 0-213.592066-219.795951zM914.193162 502.545294a151.110217 151.110217 0 0 1-145.792314 150.223233h-11.521788a149.33725 149.33725 0 1 1 157.314102-150.666225z m-430.286075 0A151.110217 151.110217 0 0 1 338.113773 652.768527h-11.96478a149.33725 149.33725 0 1 1 157.757094-150.666225z" /></svg>
|
After Width: | Height: | Size: 2.4 KiB |
1
src/assets/images/sx_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742059026652" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2822" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 1024C229.86 1024 0 794.14 0 512S229.86 0 512 0s512 229.86 512 512-229.86 512-512 512z m0-964.63C262 59.37 58.83 262.53 58.83 512 58.83 762 262 965.18 512 965.18S965.18 762 965.18 512C965.18 262.53 762 59.37 512 59.37z" p-id="2823" fill="#4B64FA"></path><path d="M404.15 280.51a938.93 938.93 0 0 1-41.94 100.77v412.86h-61.55V488a661.56 661.56 0 0 1-41.39 54c-5.45-15.25-24-50.65-34.86-66.45 47.93-51.75 93.14-132.91 119.28-213z m350.24 68.09v55h-366v-55h162.83c-8.72-21.25-22.88-47.39-35.41-67.54l57.74-21.79c15.8 23.42 33.77 54.47 41.39 75.17l-32.67 14.16z m-335 252.73h301.23v188.46H660.7V774H477.14v17.43H419.4zM713 486.4H428.12v-52.83H713z m-284.87 30H713v52.83H428.12z m49 138.89v64.27h184.1v-64.31z" p-id="2824" fill="#4B64FA"></path><path d="M126.81 180.71L924.28 811.6l-39.53 50L87.28 230.67z" p-id="2825" fill="#4B64FA"></path></svg>
|
After Width: | Height: | Size: 1.2 KiB |
1
src/assets/images/xg_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742059114706" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8669" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M1009.06583799 168.961425c2.474663-21.73863001-19.88263399-36.58660601-40.36259899-35.541274C788.479539 143.361468 532.47996601 6.935028 529.91997001 5.37769799c-1.02399799-0.533332-1.535997-1.066665-2.55999602-1.57866398-14.847975-7.317321-32.25594601-3.64799401-43.51992699 7.31732099-49.663917 25.08795799-267.77555401 131.199781-428.543286 122.837128C34.816795 132.886819 17.408824 148.054793 15.360828 168.961425c-58.367903 515.327141 202.239663 799.636001 487.423187 853.993243 3.071995 0.533332 6.14398999 1.045332 9.215985 1.045332h6.655989c205.823657-38.143936 373.759377-189.20501799 449.535251-404.521992 7.167988-20.373299 6.186656-37.546604-13.781311-45.39725801-19.967967-7.317321-38.89060201 0-46.14392301 22.549296-60.970565 186.410356-221.674297 327.380788-396.77800499 362.38872901C287.232375 914.09085001 27.43547401 687.957893 79.80872 201.238705c168.447719-5.22665799 372.799379-105.535824 431.679281-135.317108C574.463896 97.281545 777.21555799 201.750704 947.199275 201.750704c7.167988 0 14.335976 0 21.503964-0.511999 20.991965-1.066665 37.887937-10.538649 40.36259901-32.27728z" fill="#4B64FA" p-id="8670"></path><path d="M277.333724 727.55249399V256.00128h158.719736v49.663917l-38.911935 136.19177301c28.671952 38.399936 42.495929 79.871867 40.959931 123.39179499 1.535997 54.783909-18.431969 83.96786-59.9039 86.527855-8.19198599 1.535997-19.455968 2.047997-32.767945 2.047997-1.535997-2.559996-2.559996-6.655989-4.09599301-12.28798-4.095993-17.91997001-8.19198599-31.743947-12.28798-40.95993099h30.71994901c20.47996601 1.535997 30.719949-13.823977 30.719949-45.567924 1.535997-32.767945-12.28798-67.071888-40.959932-102.91182901l38.911935-146.431756h-61.951896v422.399296H277.333724v-0.51199899z m453.119245-10.23998299c-94.71984201-39.935933-153.599744-108.543819-177.151705-205.82365701h-36.86393799v148.47975301c4.095993-1.535997 11.77598-4.095993 22.52796199-8.191987 9.727984-5.631991 28.671952-13.823977 57.855904-24.575959 0 6.655989 0.511999 17.407971 2.047997 30.71994899v18.43196901c-12.28798 4.095993-31.743947 11.77598-57.855904 22.52796299-12.28798 4.095993-21.503964 7.679987-26.623956 10.23998301-1.535997 0-2.559996 0.511999-4.095993 2.047996-13.823977 5.631991-24.575959 10.75198201-32.767945 16.38397299l-26.623956-43.007928c12.28798-10.75198201 17.91997001-24.575959 16.383973-40.959932V258.049277h249.343584v253.43957701h-111.103815c8.19198599 26.111956 17.91997001 48.639919 28.67195299 68.09588699 31.743947-19.455968 59.9039-38.399936 84.47985901-57.855904l30.71994899 38.911935c-6.655989 4.095993-17.407971 10.239983-30.71994899 18.43197001-24.575959 15.35997399-43.007928 26.623956-55.80790701 34.81594199 22.015963 22.015963 54.27190999 40.447933 96.76783901 55.807907a670.12154999 670.12154999 0 0 0-29.183952 47.61592zM515.925327 305.665197v57.855904h150.527749v-57.855904h-150.527749z m0 158.20773701h150.527749v-57.34390501h-150.527749v57.34390501z" fill="#4B64FA" p-id="8671"></path></svg>
|
After Width: | Height: | Size: 3.2 KiB |
1
src/assets/images/xlhy_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M938.666667 398.506667a45.653333 45.653333 0 0 0-19.626667-35.84L539.733333 95.573333a45.226667 45.226667 0 0 0-52.693333 0L106.666667 362.666667a42.666667 42.666667 0 0 0 0 75.733333l149.333333 104.533333V682.666667a256 256 0 0 0 512 0v-137.813334l85.333333-60.16V661.333333a42.666667 42.666667 0 0 0 85.333334 0V405.333333v-6.826666zM682.666667 682.666667a170.666667 170.666667 0 0 1-341.333334 0v-79.573334l145.706667 102.613334a45.866667 45.866667 0 0 0 52.693333 0l142.933334-100.693334z m0-190.506667l-169.386667 119.253333L341.333333 490.666667l-85.333333-60.16-42.666667-29.44 44.8-31.573334L513.28 189.866667 758.826667 362.666667H512a42.666667 42.666667 0 0 0 0 85.333333h233.173333z" /></svg>
|
After Width: | Height: | Size: 983 B |
1
src/assets/images/xunihaoma_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M716.096 0c32.384 0 59.136 23.936 62.784 54.784l0.448 7.232-0.128 153.28c-29.696-13.76-46.464-24.448-46.464-24.448l-14.784-7.296v-18.88h-528.64v666.24h528.64v-16.256c10.304-2.368 33.344-13.184 61.248-29.888l0.128 177.216a62.464 62.464 0 0 1-55.872 61.568l-7.36 0.448H191.232a62.784 62.784 0 0 1-62.784-54.784L128 961.92V62.016c0-31.808 24.384-58.048 55.872-61.568L191.232 0h524.8z m-262.4 873.6a51.392 51.392 0 0 0-51.84 50.88c0 28.096 23.168 50.816 51.84 50.816 28.608 0 51.84-22.72 51.84-50.816a51.392 51.392 0 0 0-51.84-50.88z m260.16-644.864l15.616 7.68s33.28 21.184 88 40.448c50.88 19.264 82.176 19.264 82.176 19.264l23.424 1.92v265.92c0 98.304-187.712 204.224-209.216 204.224-23.488 0-209.28-105.92-209.28-204.16V297.984l25.472-1.92s29.312-1.92 82.112-19.2a585.024 585.024 0 0 0 83.904-38.144l3.648-2.112 0.448-0.256 13.696-7.68z m97.792 159.872L694.272 533.12l-62.528-55.872-29.376 36.608 97.792 88.64 146.688-181.12-35.2-32.768z m-299.456-311.04h-117.12a16.576 16.576 0 0 0-16.64 16.384c0 7.744 5.44 14.272 12.8 16l3.84 0.384h117.12a16.576 16.576 0 0 0 16.768-16.384 16.576 16.576 0 0 0-16.768-16.384z" /></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
src/assets/images/yhk4ys_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M137.2622 508.74077l38.936801 0 0 218.511689-38.936801 0L137.2622 508.74077 137.2622 508.74077zM137.2622 508.74077" /><path fill="#4B64FA" d="M215.137849 508.74077l38.939871 0 0 218.511689-38.939871 0L215.137849 508.74077 215.137849 508.74077zM215.137849 508.74077" /><path fill="#4B64FA" d="M293.016567 508.74077l38.936801 0 0 218.511689-38.936801 0L293.016567 508.74077 293.016567 508.74077zM293.016567 508.74077" /><path fill="#4B64FA" d="M124.163881 783.822872c-25.908066-2.705622-46.272883-24.810059-46.272883-51.440579L77.890998 232.474702c0-28.441772 23.233144-49.553603 51.632961-49.553603l755.787352 0c28.399817 0 53.800323 21.112853 53.800323 49.553603l0 310.202994c12.725836 9.861602 24.509207 20.857027 35.21606 32.8205L974.327694 214.801181c0-38.150902-34.065863-66.464761-72.161506-66.464761L111.927185 148.33642c-38.089503 0-69.252247 28.313859-69.252247 66.464761l0 534.608927c0 35.719526 27.316136 65.36573 62.065568 68.997444l415.806147 0c-3.078105-11.249205-5.426593-22.791076-6.978948-34.58468L124.163881 783.822872 124.163881 783.822872zM124.163881 783.822872" /><path fill="#4B64FA" d="M65.239863 325.343833l873.871771 0 0 119.525234-873.871771 0 0-119.525234Z" /><path fill="#4B64FA" d="M768.32183 691.604564c-1.24741 3.070942-3.071965 6.478552-5.470595 10.221806l-50.103118 77.17059 58.741869 0 0-73.138764c0-6.239098 0.192382-13.389962 0.576121-21.452591l-0.86367 0C770.433934 686.23016 769.474073 688.629813 768.32183 691.604564z" /><path fill="#4B64FA" d="M776.145006 551.10053c-110.596887 0-200.25386 88.847537-200.25386 198.456934s89.656973 198.452841 200.25386 198.452841 200.251813-88.842421 200.251813-198.452841S886.741893 551.10053 776.145006 551.10053zM841.029782 812.399721 813.96231 812.399721l0 48.663326-42.472324 0 0-48.663326-98.04706 0 0-29.658484 94.15952-144.694473 46.359864 0 0 140.951219 27.067472 0L841.029782 812.399721z" /></svg>
|
After Width: | Height: | Size: 2.1 KiB |
1
src/assets/images/yhkhmd_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M992 96H32a32 32 0 0 0-32 32v704a32 32 0 0 0 32 32h416v-64H64v-288h384v-64H64v-128h896v96h64V128a32 32 0 0 0-32-32zM64 256V160h896v96zM128 608h64v64H128zM256 608h64v64H256zM768 416a256 256 0 1 0 256 256 256 256 0 0 0-256-256z m0 448a192 192 0 1 1 192-192 192 192 0 0 1-192 192zM841.28 553.28L768 626.88l-73.28-73.6-45.44 45.44 73.6 73.28-73.6 73.28 45.44 45.44 73.28-73.6 73.28 73.6 45.44-45.44-73.6-73.28 73.6-73.28-45.44-45.44z" /></svg>
|
After Width: | Height: | Size: 719 B |
1
src/assets/images/yhksys_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M225.8 491h30.8v173h-30.8zM287.4 491h30.8v173h-30.8zM349.1 491h30.8v173h-30.8zM215.4 708.8c-20.5-2.1-36.6-19.6-36.6-40.7V440.4h681.9v77.4c10.1 7.8 19.4 16.5 27.9 26V258.3c0-30.2-27-52.6-57.1-52.6H205.7c-30.2 0-54.8 22.4-54.8 52.6v423.3c0 28.3 21.6 51.8 49.1 54.6h329.2c-2.4-8.9-4.3-18-5.5-27.4H215.4z m4.2-475.8h598.5c22.5 0 42.6 16.7 42.6 39.2v73.5H178.8v-73.5c0-22.5 18.4-39.2 40.8-39.2z m0 0M731.7 524.6c-87.6 0-158.6 70.4-158.6 157.1s71 157.1 158.6 157.1 158.6-70.3 158.6-157.1-71.1-157.1-158.6-157.1z m42.9 234.3c-12.3 9.4-28.6 14.1-49.1 14.1-18.2 0-32.8-3-43.9-9v-32.5c11.8 8.8 25.5 13.2 41.3 13.2 10 0 17.9-2.2 23.7-6.6 5.9-4.4 8.8-10.7 8.8-18.8 0-8.4-3.5-14.7-10.4-19.2-7-4.4-16.7-6.6-29.2-6.6H700v-28.4h14.5c23.7 0 35.6-8 35.6-23.9 0-15-9.1-22.6-27.2-22.6-11.9 0-23.4 3.9-34.5 11.6v-30.4c12.2-6.3 26.5-9.5 43-9.5 16.7 0 30.3 3.9 40.7 11.6 10.4 7.7 15.6 18.4 15.6 32.1 0 23.1-11.7 37.6-35.1 43.5v0.6c12.3 1.4 22.2 5.9 29.5 13.5 7.4 7.6 11.1 16.9 11.1 27.9-0.2 16.9-6.3 30-18.6 39.4z m0 0" /></svg>
|
After Width: | Height: | Size: 1.3 KiB |
1
src/assets/images/zrrsczt_icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#4B64FA" d="M800.53 643.11L662.89 505.46l-11.12-11.12-33.66-33.66-0.41-0.42h-0.01l-246.8-246.8c-2.06-2.06-4.38-3.64-6.79-5.02 0.25-0.35 0.46-0.72 0.71-1.07l-45.18-45.19c-32.72 41.63-52.42 93.95-52.42 150.89 0 65.45 25.96 124.84 67.94 168.8-102.62 91.7-167.41 259.88-167.41 442.15 0 17.49 14.18 31.67 31.67 31.67h625.17c17.49 0 31.67-14.18 31.67-31.67 0.01-101.58-20.16-198.8-55.72-280.91zM330.55 313.09c0-15.44 2.02-30.39 5.7-44.68l220.43 220.44c-14.3 3.67-29.24 5.69-44.68 5.69-100.05 0-181.45-81.4-181.45-181.45z m-98.76 579.28c6.93-157.25 65.11-297.71 153.39-370.29 37.03 22.57 80.36 35.81 126.82 35.81 33.52 0 65.36-6.98 94.44-19.27l138.61 138.62c0.72 0.72 1.54 1.25 2.3 1.88 25.58 63.07 41.45 136.08 44.85 213.26H231.79zM512 131.63c100.05 0 181.44 81.4 181.44 181.45 0 37.76-11.61 72.85-31.44 101.92l45.18 45.19c30.99-41.01 49.6-91.86 49.6-147.11 0-134.99-109.81-244.8-244.79-244.8-55.24 0-106.11 18.61-147.11 49.6l45.19 45.19c29.08-19.82 64.17-31.44 101.93-31.44z" /></svg>
|
After Width: | Height: | Size: 1.2 KiB |
29
src/assets/main.css
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
@import "./base.css";
|
||||||
|
@import "./nprogress.css";
|
||||||
|
@tailwind base;
|
||||||
|
@tailwind components;
|
||||||
|
@tailwind utilities;
|
||||||
|
#app {
|
||||||
|
margin: 0 auto;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
a,
|
||||||
|
.green {
|
||||||
|
text-decoration: none;
|
||||||
|
color: hsla(160, 100%, 37%, 1);
|
||||||
|
transition: 0.4s;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (hover: hover) {
|
||||||
|
a:hover {
|
||||||
|
background-color: hsla(160, 100%, 37%, 0.2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.card {
|
||||||
|
@apply shadow rounded-xl bg-white p-6;
|
||||||
|
}
|
||||||
|
.ltitle {
|
||||||
|
@apply mx-auto mt-2 w-64 border rounded-3xl bg-gradient-to-r from-blue-400 via-green-500 to-teal-500 py-2 text-center text-white font-bold;
|
||||||
|
}
|
10
src/assets/nprogress.css
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/* 进度条颜色 */
|
||||||
|
#nprogress .bar {
|
||||||
|
background: #29d; /* 修改为你想要的颜色 */
|
||||||
|
height: 4px; /* 修改高度 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 圆圈颜色 */
|
||||||
|
#nprogress .peg {
|
||||||
|
box-shadow: 0 0 10px #29d, 0 0 5px #29d;
|
||||||
|
}
|
1
src/assets/uni-webview.js
Normal file
309
src/auto-imports.d.ts
vendored
Normal file
@ -0,0 +1,309 @@
|
|||||||
|
/* eslint-disable */
|
||||||
|
/* prettier-ignore */
|
||||||
|
// @ts-nocheck
|
||||||
|
// noinspection JSUnusedGlobalSymbols
|
||||||
|
// Generated by unplugin-auto-import
|
||||||
|
// biome-ignore lint: disable
|
||||||
|
export {}
|
||||||
|
declare global {
|
||||||
|
const EffectScope: typeof import('vue')['EffectScope']
|
||||||
|
const VanTabbar: typeof import('vant/es')['Tabbar']
|
||||||
|
const VanTabbarItem: typeof import('vant/es')['TabbarItem']
|
||||||
|
const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
|
||||||
|
const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
|
||||||
|
const closeToast: typeof import('vant/es')['closeToast']
|
||||||
|
const computed: typeof import('vue')['computed']
|
||||||
|
const computedAsync: typeof import('@vueuse/core')['computedAsync']
|
||||||
|
const computedEager: typeof import('@vueuse/core')['computedEager']
|
||||||
|
const computedInject: typeof import('@vueuse/core')['computedInject']
|
||||||
|
const computedWithControl: typeof import('@vueuse/core')['computedWithControl']
|
||||||
|
const controlledComputed: typeof import('@vueuse/core')['controlledComputed']
|
||||||
|
const controlledRef: typeof import('@vueuse/core')['controlledRef']
|
||||||
|
const createApp: typeof import('vue')['createApp']
|
||||||
|
const createEventHook: typeof import('@vueuse/core')['createEventHook']
|
||||||
|
const createGlobalState: typeof import('@vueuse/core')['createGlobalState']
|
||||||
|
const createInjectionState: typeof import('@vueuse/core')['createInjectionState']
|
||||||
|
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn']
|
||||||
|
const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate']
|
||||||
|
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable']
|
||||||
|
const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise']
|
||||||
|
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn']
|
||||||
|
const customRef: typeof import('vue')['customRef']
|
||||||
|
const debouncedRef: typeof import('@vueuse/core')['debouncedRef']
|
||||||
|
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch']
|
||||||
|
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
|
||||||
|
const defineComponent: typeof import('vue')['defineComponent']
|
||||||
|
const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
|
||||||
|
const effectScope: typeof import('vue')['effectScope']
|
||||||
|
const extendRef: typeof import('@vueuse/core')['extendRef']
|
||||||
|
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
||||||
|
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
||||||
|
const h: typeof import('vue')['h']
|
||||||
|
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
|
||||||
|
const inject: typeof import('vue')['inject']
|
||||||
|
const injectLocal: typeof import('@vueuse/core')['injectLocal']
|
||||||
|
const isDefined: typeof import('@vueuse/core')['isDefined']
|
||||||
|
const isProxy: typeof import('vue')['isProxy']
|
||||||
|
const isReactive: typeof import('vue')['isReactive']
|
||||||
|
const isReadonly: typeof import('vue')['isReadonly']
|
||||||
|
const isRef: typeof import('vue')['isRef']
|
||||||
|
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
|
||||||
|
const markRaw: typeof import('vue')['markRaw']
|
||||||
|
const nextTick: typeof import('vue')['nextTick']
|
||||||
|
const onActivated: typeof import('vue')['onActivated']
|
||||||
|
const onBeforeMount: typeof import('vue')['onBeforeMount']
|
||||||
|
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
|
||||||
|
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
|
||||||
|
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
|
||||||
|
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
|
||||||
|
const onClickOutside: typeof import('@vueuse/core')['onClickOutside']
|
||||||
|
const onDeactivated: typeof import('vue')['onDeactivated']
|
||||||
|
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
|
||||||
|
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke']
|
||||||
|
const onLongPress: typeof import('@vueuse/core')['onLongPress']
|
||||||
|
const onMounted: typeof import('vue')['onMounted']
|
||||||
|
const onRenderTracked: typeof import('vue')['onRenderTracked']
|
||||||
|
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
|
||||||
|
const onScopeDispose: typeof import('vue')['onScopeDispose']
|
||||||
|
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
|
||||||
|
const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
|
||||||
|
const onUnmounted: typeof import('vue')['onUnmounted']
|
||||||
|
const onUpdated: typeof import('vue')['onUpdated']
|
||||||
|
const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
|
||||||
|
const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
|
||||||
|
const provide: typeof import('vue')['provide']
|
||||||
|
const provideLocal: typeof import('@vueuse/core')['provideLocal']
|
||||||
|
const reactify: typeof import('@vueuse/core')['reactify']
|
||||||
|
const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
|
||||||
|
const reactive: typeof import('vue')['reactive']
|
||||||
|
const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed']
|
||||||
|
const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit']
|
||||||
|
const reactivePick: typeof import('@vueuse/core')['reactivePick']
|
||||||
|
const readonly: typeof import('vue')['readonly']
|
||||||
|
const ref: typeof import('vue')['ref']
|
||||||
|
const refAutoReset: typeof import('@vueuse/core')['refAutoReset']
|
||||||
|
const refDebounced: typeof import('@vueuse/core')['refDebounced']
|
||||||
|
const refDefault: typeof import('@vueuse/core')['refDefault']
|
||||||
|
const refThrottled: typeof import('@vueuse/core')['refThrottled']
|
||||||
|
const refWithControl: typeof import('@vueuse/core')['refWithControl']
|
||||||
|
const resolveComponent: typeof import('vue')['resolveComponent']
|
||||||
|
const resolveRef: typeof import('@vueuse/core')['resolveRef']
|
||||||
|
const resolveUnref: typeof import('@vueuse/core')['resolveUnref']
|
||||||
|
const shallowReactive: typeof import('vue')['shallowReactive']
|
||||||
|
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
||||||
|
const shallowRef: typeof import('vue')['shallowRef']
|
||||||
|
const showLoadingToast: typeof import('vant/es')['showLoadingToast']
|
||||||
|
const showToast: typeof import('vant/es')['showToast']
|
||||||
|
const syncRef: typeof import('@vueuse/core')['syncRef']
|
||||||
|
const syncRefs: typeof import('@vueuse/core')['syncRefs']
|
||||||
|
const templateRef: typeof import('@vueuse/core')['templateRef']
|
||||||
|
const throttledRef: typeof import('@vueuse/core')['throttledRef']
|
||||||
|
const throttledWatch: typeof import('@vueuse/core')['throttledWatch']
|
||||||
|
const toRaw: typeof import('vue')['toRaw']
|
||||||
|
const toReactive: typeof import('@vueuse/core')['toReactive']
|
||||||
|
const toRef: typeof import('vue')['toRef']
|
||||||
|
const toRefs: typeof import('vue')['toRefs']
|
||||||
|
const toValue: typeof import('vue')['toValue']
|
||||||
|
const triggerRef: typeof import('vue')['triggerRef']
|
||||||
|
const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount']
|
||||||
|
const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount']
|
||||||
|
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted']
|
||||||
|
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose']
|
||||||
|
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted']
|
||||||
|
const unref: typeof import('vue')['unref']
|
||||||
|
const unrefElement: typeof import('@vueuse/core')['unrefElement']
|
||||||
|
const until: typeof import('@vueuse/core')['until']
|
||||||
|
const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
|
||||||
|
const useAnimate: typeof import('@vueuse/core')['useAnimate']
|
||||||
|
const useApiFetch: typeof import('./composables/useApiFetch.js')['default']
|
||||||
|
const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference']
|
||||||
|
const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery']
|
||||||
|
const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter']
|
||||||
|
const useArrayFind: typeof import('@vueuse/core')['useArrayFind']
|
||||||
|
const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex']
|
||||||
|
const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast']
|
||||||
|
const useArrayIncludes: typeof import('@vueuse/core')['useArrayIncludes']
|
||||||
|
const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin']
|
||||||
|
const useArrayMap: typeof import('@vueuse/core')['useArrayMap']
|
||||||
|
const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce']
|
||||||
|
const useArraySome: typeof import('@vueuse/core')['useArraySome']
|
||||||
|
const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique']
|
||||||
|
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue']
|
||||||
|
const useAsyncState: typeof import('@vueuse/core')['useAsyncState']
|
||||||
|
const useAttrs: typeof import('vue')['useAttrs']
|
||||||
|
const useBase64: typeof import('@vueuse/core')['useBase64']
|
||||||
|
const useBattery: typeof import('@vueuse/core')['useBattery']
|
||||||
|
const useBluetooth: typeof import('@vueuse/core')['useBluetooth']
|
||||||
|
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints']
|
||||||
|
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel']
|
||||||
|
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
|
||||||
|
const useCached: typeof import('@vueuse/core')['useCached']
|
||||||
|
const useClipboard: typeof import('@vueuse/core')['useClipboard']
|
||||||
|
const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems']
|
||||||
|
const useCloned: typeof import('@vueuse/core')['useCloned']
|
||||||
|
const useColorMode: typeof import('@vueuse/core')['useColorMode']
|
||||||
|
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
|
||||||
|
const useCounter: typeof import('@vueuse/core')['useCounter']
|
||||||
|
const useCounterStore: typeof import('./stores/counter.js')['useCounterStore']
|
||||||
|
const useCssModule: typeof import('vue')['useCssModule']
|
||||||
|
const useCssVar: typeof import('@vueuse/core')['useCssVar']
|
||||||
|
const useCssVars: typeof import('vue')['useCssVars']
|
||||||
|
const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement']
|
||||||
|
const useCycleList: typeof import('@vueuse/core')['useCycleList']
|
||||||
|
const useDark: typeof import('@vueuse/core')['useDark']
|
||||||
|
const useDateFormat: typeof import('@vueuse/core')['useDateFormat']
|
||||||
|
const useDebounce: typeof import('@vueuse/core')['useDebounce']
|
||||||
|
const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn']
|
||||||
|
const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory']
|
||||||
|
const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion']
|
||||||
|
const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation']
|
||||||
|
const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio']
|
||||||
|
const useDevicesList: typeof import('@vueuse/core')['useDevicesList']
|
||||||
|
const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia']
|
||||||
|
const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility']
|
||||||
|
const useDraggable: typeof import('@vueuse/core')['useDraggable']
|
||||||
|
const useDropZone: typeof import('@vueuse/core')['useDropZone']
|
||||||
|
const useElementBounding: typeof import('@vueuse/core')['useElementBounding']
|
||||||
|
const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint']
|
||||||
|
const useElementHover: typeof import('@vueuse/core')['useElementHover']
|
||||||
|
const useElementSize: typeof import('@vueuse/core')['useElementSize']
|
||||||
|
const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility']
|
||||||
|
const useEnvironment: typeof import('./composables/useEnvironment.js')['useEnvironment']
|
||||||
|
const useEventBus: typeof import('@vueuse/core')['useEventBus']
|
||||||
|
const useEventListener: typeof import('@vueuse/core')['useEventListener']
|
||||||
|
const useEventSource: typeof import('@vueuse/core')['useEventSource']
|
||||||
|
const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper']
|
||||||
|
const useFavicon: typeof import('@vueuse/core')['useFavicon']
|
||||||
|
const useFetch: typeof import('@vueuse/core')['useFetch']
|
||||||
|
const useFileDialog: typeof import('@vueuse/core')['useFileDialog']
|
||||||
|
const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess']
|
||||||
|
const useFocus: typeof import('@vueuse/core')['useFocus']
|
||||||
|
const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin']
|
||||||
|
const useFps: typeof import('@vueuse/core')['useFps']
|
||||||
|
const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
|
||||||
|
const useGamepad: typeof import('@vueuse/core')['useGamepad']
|
||||||
|
const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
|
||||||
|
const useHttp: typeof import('./composables/useHttp.js')['useHttp']
|
||||||
|
const useId: typeof import('vue')['useId']
|
||||||
|
const useIdle: typeof import('@vueuse/core')['useIdle']
|
||||||
|
const useImage: typeof import('@vueuse/core')['useImage']
|
||||||
|
const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll']
|
||||||
|
const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver']
|
||||||
|
const useInterval: typeof import('@vueuse/core')['useInterval']
|
||||||
|
const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn']
|
||||||
|
const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier']
|
||||||
|
const useLastChanged: typeof import('@vueuse/core')['useLastChanged']
|
||||||
|
const useLink: typeof import('vue-router')['useLink']
|
||||||
|
const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage']
|
||||||
|
const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys']
|
||||||
|
const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory']
|
||||||
|
const useMediaControls: typeof import('@vueuse/core')['useMediaControls']
|
||||||
|
const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
|
||||||
|
const useMemoize: typeof import('@vueuse/core')['useMemoize']
|
||||||
|
const useMemory: typeof import('@vueuse/core')['useMemory']
|
||||||
|
const useMenuItems: typeof import('./composables/useMenuItems.js')['useMenuItems']
|
||||||
|
const useModel: typeof import('vue')['useModel']
|
||||||
|
const useMounted: typeof import('@vueuse/core')['useMounted']
|
||||||
|
const useMouse: typeof import('@vueuse/core')['useMouse']
|
||||||
|
const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement']
|
||||||
|
const useMousePressed: typeof import('@vueuse/core')['useMousePressed']
|
||||||
|
const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver']
|
||||||
|
const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage']
|
||||||
|
const useNetwork: typeof import('@vueuse/core')['useNetwork']
|
||||||
|
const useNow: typeof import('@vueuse/core')['useNow']
|
||||||
|
const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl']
|
||||||
|
const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination']
|
||||||
|
const useOnline: typeof import('@vueuse/core')['useOnline']
|
||||||
|
const usePageLeave: typeof import('@vueuse/core')['usePageLeave']
|
||||||
|
const useParallax: typeof import('@vueuse/core')['useParallax']
|
||||||
|
const useParentElement: typeof import('@vueuse/core')['useParentElement']
|
||||||
|
const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver']
|
||||||
|
const usePermission: typeof import('@vueuse/core')['usePermission']
|
||||||
|
const usePointer: typeof import('@vueuse/core')['usePointer']
|
||||||
|
const usePointerLock: typeof import('@vueuse/core')['usePointerLock']
|
||||||
|
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
|
||||||
|
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme']
|
||||||
|
const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast']
|
||||||
|
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark']
|
||||||
|
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
|
||||||
|
const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion']
|
||||||
|
const usePrevious: typeof import('@vueuse/core')['usePrevious']
|
||||||
|
const useRafFn: typeof import('@vueuse/core')['useRafFn']
|
||||||
|
const useRefHistory: typeof import('@vueuse/core')['useRefHistory']
|
||||||
|
const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver']
|
||||||
|
const useRoute: typeof import('vue-router')['useRoute']
|
||||||
|
const useRouter: typeof import('vue-router')['useRouter']
|
||||||
|
const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation']
|
||||||
|
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea']
|
||||||
|
const useScriptTag: typeof import('@vueuse/core')['useScriptTag']
|
||||||
|
const useScroll: typeof import('@vueuse/core')['useScroll']
|
||||||
|
const useScrollLock: typeof import('@vueuse/core')['useScrollLock']
|
||||||
|
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage']
|
||||||
|
const useShare: typeof import('@vueuse/core')['useShare']
|
||||||
|
const useSlots: typeof import('vue')['useSlots']
|
||||||
|
const useSorted: typeof import('@vueuse/core')['useSorted']
|
||||||
|
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition']
|
||||||
|
const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis']
|
||||||
|
const useStepper: typeof import('@vueuse/core')['useStepper']
|
||||||
|
const useStorage: typeof import('@vueuse/core')['useStorage']
|
||||||
|
const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync']
|
||||||
|
const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
|
||||||
|
const useSupported: typeof import('@vueuse/core')['useSupported']
|
||||||
|
const useSwipe: typeof import('@vueuse/core')['useSwipe']
|
||||||
|
const useTemplateRef: typeof import('vue')['useTemplateRef']
|
||||||
|
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
|
||||||
|
const useTextDirection: typeof import('@vueuse/core')['useTextDirection']
|
||||||
|
const useTextSelection: typeof import('@vueuse/core')['useTextSelection']
|
||||||
|
const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize']
|
||||||
|
const useThrottle: typeof import('@vueuse/core')['useThrottle']
|
||||||
|
const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn']
|
||||||
|
const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory']
|
||||||
|
const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo']
|
||||||
|
const useTimeout: typeof import('@vueuse/core')['useTimeout']
|
||||||
|
const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn']
|
||||||
|
const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll']
|
||||||
|
const useTimestamp: typeof import('@vueuse/core')['useTimestamp']
|
||||||
|
const useTitle: typeof import('@vueuse/core')['useTitle']
|
||||||
|
const useToNumber: typeof import('@vueuse/core')['useToNumber']
|
||||||
|
const useToString: typeof import('@vueuse/core')['useToString']
|
||||||
|
const useToggle: typeof import('@vueuse/core')['useToggle']
|
||||||
|
const useTransition: typeof import('@vueuse/core')['useTransition']
|
||||||
|
const useUni: typeof import('./composables/useUni.js')['useUni']
|
||||||
|
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
|
||||||
|
const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
|
||||||
|
const useVModel: typeof import('@vueuse/core')['useVModel']
|
||||||
|
const useVModels: typeof import('@vueuse/core')['useVModels']
|
||||||
|
const useVibrate: typeof import('@vueuse/core')['useVibrate']
|
||||||
|
const useVirtualList: typeof import('@vueuse/core')['useVirtualList']
|
||||||
|
const useWakeLock: typeof import('@vueuse/core')['useWakeLock']
|
||||||
|
const useWebNotification: typeof import('@vueuse/core')['useWebNotification']
|
||||||
|
const useWebSocket: typeof import('@vueuse/core')['useWebSocket']
|
||||||
|
const useWebView: typeof import('./composables/useWebView.js')['useWebView']
|
||||||
|
const useWebWorker: typeof import('@vueuse/core')['useWebWorker']
|
||||||
|
const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn']
|
||||||
|
const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus']
|
||||||
|
const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll']
|
||||||
|
const useWindowSize: typeof import('@vueuse/core')['useWindowSize']
|
||||||
|
const watch: typeof import('vue')['watch']
|
||||||
|
const watchArray: typeof import('@vueuse/core')['watchArray']
|
||||||
|
const watchAtMost: typeof import('@vueuse/core')['watchAtMost']
|
||||||
|
const watchDebounced: typeof import('@vueuse/core')['watchDebounced']
|
||||||
|
const watchDeep: typeof import('@vueuse/core')['watchDeep']
|
||||||
|
const watchEffect: typeof import('vue')['watchEffect']
|
||||||
|
const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable']
|
||||||
|
const watchImmediate: typeof import('@vueuse/core')['watchImmediate']
|
||||||
|
const watchOnce: typeof import('@vueuse/core')['watchOnce']
|
||||||
|
const watchPausable: typeof import('@vueuse/core')['watchPausable']
|
||||||
|
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
||||||
|
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
|
||||||
|
const watchThrottled: typeof import('@vueuse/core')['watchThrottled']
|
||||||
|
const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable']
|
||||||
|
const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter']
|
||||||
|
const whenever: typeof import('@vueuse/core')['whenever']
|
||||||
|
}
|
||||||
|
// for type re-export
|
||||||
|
declare global {
|
||||||
|
// @ts-ignore
|
||||||
|
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
|
||||||
|
import('vue')
|
||||||
|
}
|
175
src/components/Authorization.vue
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
<template>
|
||||||
|
<div class=" bg-gray-100 flex flex-col p-4">
|
||||||
|
<!-- 标题 -->
|
||||||
|
<div class="text-center text-2xl font-bold mb-4">授权书</div>
|
||||||
|
|
||||||
|
<!-- 授权书滚动区域 -->
|
||||||
|
<div class="card flex-1 overflow-y-auto" ref="agreementBox" @scroll="handleScroll">
|
||||||
|
<p class="my-2">广西福铭网络科技有限公司:</p>
|
||||||
|
<p class="indent-[2em]">
|
||||||
|
本人<span class="font-bold">
|
||||||
|
{{ signature ? props.name : "____________" }}</span>
|
||||||
|
拟向贵司申请大数据分析报告查询业务,贵司需要了解本人相关状况,用于查询大数据分析报告,因此本人同意向贵司提供本人的姓名和手机号等个人信息,并同意贵司向第三方(包括但不限于西部数据交易有限公司)传送上述信息。第三方将使用上述信息核实信息真实情况,查询信用记录,并生成报告。
|
||||||
|
</p>
|
||||||
|
<p class="mt-2 font-bold">授权内容如下:</p>
|
||||||
|
<ol class="list-decimal pl-6">
|
||||||
|
<li>
|
||||||
|
贵司向依法成立的第三方服务商(包括但不限于西部数据交易有限公司)根据本人提交的信息进行核实,并有权通过前述第三方服务机构查询、使用本人的身份信息、设备信息、运营商信息等,查询本人信息(包括但不限于学历、婚姻、资产状况及对信息主体产生负面影响的不良信息),出具相关报告。
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
依法成立的第三方服务商查询或核实、搜集、保存、处理、共享、使用(含合法业务应用)本人相关数据,且不再另行告知本人,但法律、法规、监管政策禁止的除外。
|
||||||
|
</li>
|
||||||
|
<!-- <li>本人授权本业务推广方( )可浏览本人大数据报告。</li> -->
|
||||||
|
<li>
|
||||||
|
本人授权有效期为自授权之日起
|
||||||
|
1个月。本授权为不可撤销授权,但法律法规另有规定的除外。
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
<p class="mt-2 font-bold">用户声明与承诺:</p>
|
||||||
|
<ul class="list-decimal pl-6">
|
||||||
|
<li>
|
||||||
|
本人在授权签署前,已通过实名认证及动态验证码验证(或其他身份验证手段),确认本授权行为为本人真实意思表示,平台已履行身份验证义务。
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
本人在此声明已充分理解上述授权条款含义,知晓并自愿承担因授权数据使用可能带来的后果,包括但不限于影响个人信用评分、生活行为等。本人确认授权范围内的相关信息由本人提供并真实有效。
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
若用户冒名签署或提供虚假信息,由用户自行承担全部法律责任,平台不承担任何后果。
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p class="mt-2 font-bold">特别提示:</p>
|
||||||
|
<ul class="list-decimal pl-6">
|
||||||
|
<li>
|
||||||
|
本产品所有数据均来自第三方。可能部分数据未公开、数据更新延迟或信息受到限制,贵司不对数据的准确性、真实性、完整性做任何承诺。用户需根据实际情况,结合报告内容自行判断与决策。
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
本产品仅供用户本人查询或被授权查询。除非用户取得合法授权,用户不得利用本产品查询他人信息。用户因未获得合法授权而擅自查询他人信息所产生的任何后果,由用户自行承担责任。
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
本授权书涉及对本人敏感信息(包括但不限于婚姻状况、资产状况等)的查询与使用。本人已充分知晓相关信息的敏感性,并明确同意贵司及其合作方依据授权范围使用相关信息。
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
平台声明:本授权书涉及的信息核实及查询结果由第三方服务商提供,平台不对数据的准确性、完整性、实时性承担责任;用户根据报告所作决策的风险由用户自行承担,平台对此不承担法律责任。
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
本授权书中涉及的数据查询和报告生成由依法成立的第三方服务商提供。若因第三方行为导致数据错误或损失,用户应向第三方主张权利,平台不承担相关责任。
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p class="mt-2 font-bold">附加说明:</p>
|
||||||
|
<ul class="list-decimal pl-6">
|
||||||
|
<li>
|
||||||
|
本人在授权的相关数据将依据法律法规及贵司内部数据管理规范妥善存储,存储期限为法律要求的最短必要时间。超过存储期限或在数据使用目的达成后,贵司将对相关数据进行销毁或匿名化处理。
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
本人有权随时撤回本授权书中的授权,但撤回前的授权行为及其法律后果仍具有法律效力。若需撤回授权,本人可通过贵司官方渠道提交书面申请,贵司将在收到申请后依法停止对本人数据的使用。
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
你通过“天远查”,自愿支付相应费用,用于购买广西福铭网络科技有限公司的大数据报告产品。如若对产品内容存在异议,可通过邮箱admin@iieeii.com或APP“联系客服”按钮进行反馈,贵司将在收到异议之日起20日内进行核查和处理,并将结果答复。
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
你向广西福铭网络科技有限公司的支付方式为:广西福铭网络科技有限公司及其经官方授权的相关企业的支付宝账户。
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p class="mt-2 font-bold">争议解决机制:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
若因本授权书引发争议,双方应友好协商解决;协商不成的,双方同意将争议提交至授权书签署地(海南省)有管辖权的人民法院解决。
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p class="mt-2 font-bold">签署方式的法律效力声明:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
本授权书通过用户在线勾选、电子签名或其他网络签署方式完成,与手写签名具有同等法律效力。平台已通过技术手段保存签署过程的完整记录,作为用户真实意思表示的证据。
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p class="mt-2">本授权书于 {{ signTime }}生效。</p>
|
||||||
|
<p class="mt-4 font-bold">
|
||||||
|
签署人:<span class="underline">{{
|
||||||
|
signature ? props.name : "____________"
|
||||||
|
}}</span>
|
||||||
|
<br />
|
||||||
|
手机号码:<span class="underline">
|
||||||
|
{{ signature ? props.mobile : "____________" }}
|
||||||
|
</span>
|
||||||
|
<br />
|
||||||
|
签署时间:<span class="underline">{{ signTime }}</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<!-- 操作按钮 -->
|
||||||
|
<div class="mt-4 flex justify-between">
|
||||||
|
<button class="flex-shrink-0 bg-red-500 text-white px-4 py-2 rounded-lg" @click="cancel">
|
||||||
|
取消
|
||||||
|
</button>
|
||||||
|
<div class="mt-2 px-2 text-center text-sm text-gray-500">
|
||||||
|
{{ scrollMessage }}
|
||||||
|
</div>
|
||||||
|
<button class="flex-shrink-0 bg-blue-500 text-white px-4 py-2 rounded-lg active:bg-blue-600" :class="!canAgree &&
|
||||||
|
'bg-gray-300 cursor-not-allowed active:bg-gray-300'
|
||||||
|
" :disabled="!canAgree" @click="agree">
|
||||||
|
{{ signature ? "同意" : "签署" }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import { ref, onMounted } from "vue";
|
||||||
|
const emit = defineEmits(['agreed', 'cancel']); // 定义事件
|
||||||
|
const props = defineProps({
|
||||||
|
name: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
idCard: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
mobile: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
const signature = ref(false);
|
||||||
|
const formatDate = (date) => {
|
||||||
|
const options = { year: "numeric", month: "long", day: "numeric" };
|
||||||
|
return new Intl.DateTimeFormat("zh-CN", options).format(date);
|
||||||
|
};
|
||||||
|
const signTime = ref(formatDate(new Date()));
|
||||||
|
|
||||||
|
const canAgree = ref(false); // 同意按钮状态
|
||||||
|
const scrollMessage = ref("请滑动并阅读完整授权书以继续");
|
||||||
|
|
||||||
|
// 滚动事件处理
|
||||||
|
let timeout = null;
|
||||||
|
|
||||||
|
const handleScroll = (event) => {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
timeout = setTimeout(() => {
|
||||||
|
const element = event.target;
|
||||||
|
if (
|
||||||
|
Math.abs(
|
||||||
|
element.scrollHeight - element.scrollTop - element.clientHeight
|
||||||
|
) <= 50
|
||||||
|
) {
|
||||||
|
canAgree.value = true;
|
||||||
|
scrollMessage.value = "您已阅读完整授权书,可以继续";
|
||||||
|
}
|
||||||
|
}, 100);
|
||||||
|
};
|
||||||
|
// 用户同意
|
||||||
|
const agree = () => {
|
||||||
|
if (signature.value) {
|
||||||
|
emit("agreed")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
signature.value = true
|
||||||
|
};
|
||||||
|
|
||||||
|
// 用户取消
|
||||||
|
const cancel = () => {
|
||||||
|
emit("cancel")
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
333
src/components/CarNumberInput.vue
Normal file
87
src/components/LButtonGroup.vue
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
<script setup>
|
||||||
|
// 接收 type 和 options props 以及 v-model
|
||||||
|
const props = defineProps({
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
default: 'purple-pink', // 默认颜色渐变
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
type: Array,
|
||||||
|
required: true, // 动态传入选项
|
||||||
|
},
|
||||||
|
modelValue: {
|
||||||
|
type: String,
|
||||||
|
default: '', // v-model 绑定的值
|
||||||
|
},
|
||||||
|
})
|
||||||
|
const emit = defineEmits(['update:modelValue'])
|
||||||
|
// 选中内容绑定 v-model
|
||||||
|
const selected = ref(props.modelValue)
|
||||||
|
|
||||||
|
// 监听 v-model 的变化
|
||||||
|
watch(() => props.modelValue, (newValue) => {
|
||||||
|
selected.value = newValue
|
||||||
|
})
|
||||||
|
|
||||||
|
// 根据type动态生成分割线的类名
|
||||||
|
const lineClass = computed(() => {
|
||||||
|
switch (props.type) {
|
||||||
|
case 'blue-green':
|
||||||
|
return 'bg-gradient-to-r from-blue-400 via-green-500 to-teal-500'
|
||||||
|
case 'orange-yellow':
|
||||||
|
return 'bg-gradient-to-r from-orange-400 via-yellow-500 to-yellow-600'
|
||||||
|
case 'red-purple':
|
||||||
|
return 'bg-gradient-to-r from-red-500 via-purple-500 to-purple-600'
|
||||||
|
default:
|
||||||
|
return 'bg-gradient-to-r from-purple-400 via-pink-500 to-red-500'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 计算滑动线的位置和宽度
|
||||||
|
const slideLineStyle = computed(() => {
|
||||||
|
const index = props.options.findIndex(option => option.value === selected.value)
|
||||||
|
const buttonWidth = 100 / props.options.length
|
||||||
|
return {
|
||||||
|
width: `${buttonWidth}%`,
|
||||||
|
transform: `translateX(${index * 100}%)`,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 选择选项函数
|
||||||
|
function selectOption(option) {
|
||||||
|
selected.value = option.value
|
||||||
|
// 触发 v-model 的更新
|
||||||
|
emit('update:modelValue', option.value)
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="relative flex">
|
||||||
|
<div
|
||||||
|
v-for="(option, index) in options"
|
||||||
|
:key="index"
|
||||||
|
class="flex-1 shrink-0 cursor-pointer py-2 text-center text-size-sm font-bold transition-transform duration-200 ease-in-out"
|
||||||
|
:class="{ 'text-gray-900': selected === option.value, 'text-gray-500': selected !== option.value }"
|
||||||
|
@click="selectOption(option)"
|
||||||
|
>
|
||||||
|
{{ option.label }}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="absolute bottom-0 h-[3px] rounded transition-all duration-300"
|
||||||
|
:style="slideLineStyle"
|
||||||
|
:class="lineClass"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* 自定义样式 */
|
||||||
|
button {
|
||||||
|
outline: none;
|
||||||
|
border: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
button:focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
</style>
|
44
src/components/LEmpty.vue
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<template>
|
||||||
|
<div class="card flex flex-col items-center justify-center text-center">
|
||||||
|
<!-- 图片插画 -->
|
||||||
|
<img src="@/assets/images/empty.svg" alt="空状态" class="w-64 h-64" />
|
||||||
|
|
||||||
|
<!-- 提示文字 -->
|
||||||
|
<h2 class="text-xl font-semibold text-gray-700 mb-2">
|
||||||
|
没有查询到相关结果
|
||||||
|
</h2>
|
||||||
|
<p class="text-lg font-semibold text-gray-700 mb-2 text-center">
|
||||||
|
由于民政部门升级维护,查询功能暂不能用<br />恢复正常后,我们将通过短信及时通知您。
|
||||||
|
|
||||||
|
<!-- 可能由于春节期间系统维护导致未能查询到相关信息<br />请过后再试 -->
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="text-gray-500 text-sm mb-2 leading-relaxed">
|
||||||
|
订单已申请退款,预计
|
||||||
|
<span class="text-blue-500 font-medium">24小时内到账</span>。
|
||||||
|
</p>
|
||||||
|
<p class="text-gray-400 text-xs">
|
||||||
|
如果已到账,您可以忽略本提示。
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!-- 返回按钮 -->
|
||||||
|
<button @click="goBack"
|
||||||
|
class="mt-4 px-6 py-2 text-white bg-blue-500 rounded-lg hover:bg-blue-600 transition duration-300 ease-in-out">
|
||||||
|
返回上一页
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
const route = useRoute();
|
||||||
|
|
||||||
|
|
||||||
|
// 返回上一页逻辑
|
||||||
|
function goBack() {
|
||||||
|
route.goBack()
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* 你可以添加一些额外的样式(如果需要) */
|
||||||
|
</style>
|
61
src/components/LExpandCollapse.vue
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<script setup>
|
||||||
|
import { computed, ref, useSlots } from 'vue'
|
||||||
|
|
||||||
|
// 接收最大长度的 prop,默认值 100
|
||||||
|
const props = defineProps({
|
||||||
|
maxLength: {
|
||||||
|
type: Number,
|
||||||
|
default: 100,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
// 记录当前是否展开
|
||||||
|
const isExpanded = ref(false)
|
||||||
|
|
||||||
|
// 获取 slot 内容
|
||||||
|
const slots = useSlots()
|
||||||
|
|
||||||
|
// 计算截断后的内容
|
||||||
|
const truncatedContent = computed(() => {
|
||||||
|
const slotContent = getSlotContent()
|
||||||
|
return slotContent.length > props.maxLength
|
||||||
|
? `${slotContent.slice(0, props.maxLength)}...`
|
||||||
|
: slotContent
|
||||||
|
})
|
||||||
|
|
||||||
|
// 获取 slot 内容,确保返回的内容为字符串
|
||||||
|
function getSlotContent() {
|
||||||
|
const slotVNode = slots.default ? slots.default()[0] : null
|
||||||
|
return slotVNode ? slotVNode.children.toString().trim() : '' // 获取并转化为字符串
|
||||||
|
}
|
||||||
|
|
||||||
|
// 切换展开/收起状态
|
||||||
|
function toggleExpand() {
|
||||||
|
isExpanded.value = !isExpanded.value
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<!-- 展开/收起按钮 -->
|
||||||
|
|
||||||
|
<!-- 展开/收起的内容 -->
|
||||||
|
<text v-if="isExpanded">
|
||||||
|
<slot /> <!-- 使用 slot 来展示传递的内容 -->
|
||||||
|
</text>
|
||||||
|
<text v-else>
|
||||||
|
<text>{{ truncatedContent }}</text>
|
||||||
|
</text>
|
||||||
|
<text
|
||||||
|
:title="isExpanded ? '点击收起' : '点击展开'"
|
||||||
|
class="cursor-pointer text-blue-500"
|
||||||
|
@click="toggleExpand"
|
||||||
|
>
|
||||||
|
{{ isExpanded ? '收起' : '展开' }}
|
||||||
|
</text>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
71
src/components/LPendding.vue
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
<template>
|
||||||
|
<div class="card flex flex-col items-center justify-center text-center">
|
||||||
|
<!-- 图片插画 -->
|
||||||
|
<img src="@/assets/images/pendding.svg" alt="查询中" class="w-64 h-64" />
|
||||||
|
|
||||||
|
<!-- 提示文字 -->
|
||||||
|
<h2 class="text-xl font-semibold text-gray-700 mb-2 floating-text">
|
||||||
|
报告正在查询中
|
||||||
|
</h2>
|
||||||
|
<p class="text-gray-500 text-sm mb-2 leading-relaxed">
|
||||||
|
请稍候,我们正在为您查询报告。查询过程可能需要一些时间。
|
||||||
|
</p>
|
||||||
|
<p class="text-gray-400 text-xs mb-4">
|
||||||
|
您可以稍后刷新页面查看结果,或之后访问历史报告列表查看。
|
||||||
|
</p>
|
||||||
|
<p class="text-gray-400 text-xs mb-4">
|
||||||
|
如过久未查询成功,请联系客服为您处理
|
||||||
|
</p>
|
||||||
|
<!-- 按钮组 -->
|
||||||
|
<div class="flex gap-4">
|
||||||
|
<!-- 刷新按钮 -->
|
||||||
|
<button @click="refreshPage"
|
||||||
|
class="px-6 py-2 text-white bg-blue-500 rounded-lg hover:bg-blue-600 transition duration-300 ease-in-out">
|
||||||
|
刷新页面
|
||||||
|
</button>
|
||||||
|
<!-- 历史报告按钮 -->
|
||||||
|
<button @click="viewHistory"
|
||||||
|
class="px-6 py-2 text-white bg-gray-500 rounded-lg hover:bg-gray-600 transition duration-300 ease-in-out">
|
||||||
|
查看历史报告
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
|
// 刷新页面逻辑
|
||||||
|
function refreshPage() {
|
||||||
|
location.reload(); // 浏览器刷新页面
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查看历史报告逻辑
|
||||||
|
function viewHistory() {
|
||||||
|
router.push({ path: '/historyQuery' }); // 假设历史报告页面的路由名为 'historyReports'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
@keyframes floatUpDown {
|
||||||
|
0% {
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: translateY(-10px);
|
||||||
|
/* 向上浮动 */
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translateY(0);
|
||||||
|
/* 返回原位 */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 给提示文字和其他需要浮动的元素添加动画 */
|
||||||
|
.floating-text {
|
||||||
|
animation: floatUpDown 3s ease-in-out infinite;
|
||||||
|
/* 动画持续3秒,缓入缓出,循环播放 */
|
||||||
|
}
|
||||||
|
</style>
|
98
src/components/LTable.vue
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
<script setup>
|
||||||
|
import { computed, onMounted } from "vue";
|
||||||
|
|
||||||
|
// 接收表格数据和类型的 props
|
||||||
|
const props = defineProps({
|
||||||
|
data: {
|
||||||
|
type: Array,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
default: "purple-pink", // 默认渐变颜色
|
||||||
|
},
|
||||||
|
});
|
||||||
|
// 根据 type 设置不同的渐变颜色(偶数行)
|
||||||
|
const evenClass = computed(() => {
|
||||||
|
switch (props.type) {
|
||||||
|
case "blue-green":
|
||||||
|
return "bg-teal-100/40";
|
||||||
|
// return 'bg-gradient-to-r from-blue-50 via-green-50 to-teal-50'
|
||||||
|
case "orange-yellow":
|
||||||
|
return "bg-gradient-to-r from-orange-50 via-yellow-50 to-yellow-100";
|
||||||
|
case "red-purple":
|
||||||
|
return "bg-gradient-to-r from-red-50 via-purple-50 to-purple-100";
|
||||||
|
default:
|
||||||
|
return "bg-gradient-to-r from-purple-50 via-pink-50 to-red-50";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 动态计算表头的背景颜色和文本颜色
|
||||||
|
const headerClass = computed(() => {
|
||||||
|
switch (props.type) {
|
||||||
|
case "blue-green":
|
||||||
|
return "bg-teal-200";
|
||||||
|
// return 'bg-gradient-to-r from-blue-200 via-green-200 to-teal-200'
|
||||||
|
case "orange-yellow":
|
||||||
|
return "bg-gradient-to-r from-orange-200 via-yellow-200 to-yellow-200";
|
||||||
|
case "red-purple":
|
||||||
|
return "bg-gradient-to-r from-red-200 via-purple-200 to-purple-200";
|
||||||
|
default:
|
||||||
|
return "bg-gradient-to-r from-purple-200 via-pink-200 to-red-200";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 斑马纹样式,偶数行带颜色,奇数行没有颜色,且从第二行开始
|
||||||
|
function zebraClass(index) {
|
||||||
|
return index % 2 === 1 ? evenClass.value : "";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="l-table overflow-x-auto">
|
||||||
|
<table
|
||||||
|
class="min-w-full border-collapse table-auto text-center text-size-xs"
|
||||||
|
>
|
||||||
|
<thead :class="headerClass">
|
||||||
|
<tr>
|
||||||
|
<!-- 插槽渲染表头 -->
|
||||||
|
<slot name="header" />
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr
|
||||||
|
v-for="(row, index) in props.data"
|
||||||
|
:key="index"
|
||||||
|
:class="zebraClass(index)"
|
||||||
|
class="border-t"
|
||||||
|
>
|
||||||
|
<slot :row="row" />
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* 基础表格样式 */
|
||||||
|
th {
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 12px;
|
||||||
|
text-align: left;
|
||||||
|
border: 1px solid #e5e7eb;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 表格行样式 */
|
||||||
|
td {
|
||||||
|
padding: 12px;
|
||||||
|
border: 1px solid #e5e7eb;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
.l-table {
|
||||||
|
@apply rounded-xl;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
</style>
|
58
src/components/LTitle.vue
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<script setup>
|
||||||
|
// 接收 props
|
||||||
|
const props = defineProps({
|
||||||
|
title: String,
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
default: 'purple-pink', // 默认渐变
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
// 根据type返回不同的背景类名
|
||||||
|
const titleClass = computed(() => {
|
||||||
|
switch (props.type) {
|
||||||
|
case 'blue-green':
|
||||||
|
return 'bg-gradient-to-r from-blue-400 via-green-500 to-teal-500'
|
||||||
|
case 'orange-yellow':
|
||||||
|
return 'bg-gradient-to-r from-orange-400 via-yellow-500 to-yellow-600'
|
||||||
|
case 'red-purple':
|
||||||
|
return 'bg-gradient-to-r from-red-500 via-purple-500 to-purple-600'
|
||||||
|
default:
|
||||||
|
return 'bg-gradient-to-r from-purple-400 via-pink-500 to-red-500'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 分割线颜色与背景对应
|
||||||
|
const lineClass = computed(() => {
|
||||||
|
switch (props.type) {
|
||||||
|
case 'blue-green':
|
||||||
|
return 'bg-gradient-to-r from-blue-400 via-green-500 to-teal-500'
|
||||||
|
case 'orange-yellow':
|
||||||
|
return 'bg-gradient-to-r from-orange-400 via-yellow-500 to-yellow-600'
|
||||||
|
case 'red-purple':
|
||||||
|
return 'bg-gradient-to-r from-red-500 via-purple-500 to-purple-600'
|
||||||
|
default:
|
||||||
|
return 'bg-gradient-to-r from-purple-400 via-pink-500 to-red-500'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="relative">
|
||||||
|
<!-- 标题部分 -->
|
||||||
|
<div :class="titleClass" class="inline-block rounded-lg px-2 py-1 text-white font-bold shadow-md">
|
||||||
|
{{ title }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 左上角修饰 -->
|
||||||
|
<div
|
||||||
|
class="absolute left-0 top-0 h-4 w-4 transform rounded-full bg-white shadow-md -translate-x-2 -translate-y-2" />
|
||||||
|
|
||||||
|
<!-- 分割线 -->
|
||||||
|
<div class="relative mt-1.5">
|
||||||
|
<div :class="lineClass" class="h-[2px] w-full rounded" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped></style>
|
100
src/components/Payment.vue
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
<template>
|
||||||
|
<van-popup v-model:show="show" position="bottom" class="flex flex-col justify-between p-6"
|
||||||
|
:style="{ height: '50%' }">
|
||||||
|
<div class=" text-center">
|
||||||
|
<h3 class="text-lg font-bold">支付</h3>
|
||||||
|
</div>
|
||||||
|
<div class="text-center">
|
||||||
|
<div class="font-bold text-xl">{{ data.product_name }}</div>
|
||||||
|
<div class="text-3xl text-red-500 font-bold">
|
||||||
|
<!-- 显示原价和折扣价格 -->
|
||||||
|
<div v-if="discountPrice" class="line-through text-gray-500 mt-4"
|
||||||
|
:class="{ 'text-2xl': discountPrice }">
|
||||||
|
¥ {{ data.sell_price }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
¥ {{ discountPrice ? (data.sell_price * 0.2).toFixed(2) : data.sell_price }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 仅在折扣时显示活动说明 -->
|
||||||
|
<div v-if="discountPrice" class="text-sm text-red-500 mt-1">
|
||||||
|
活动价:2折优惠
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 支付方式选择 -->
|
||||||
|
<div class="">
|
||||||
|
<van-cell-group inset>
|
||||||
|
<!-- 支付宝支付 -->
|
||||||
|
<van-cell title="支付宝支付" clickable @click="selectedPaymentMethod = 'alipay'">
|
||||||
|
<template #icon>
|
||||||
|
<van-icon size="24" name="alipay" color="#00A1E9" class="mr-2" />
|
||||||
|
</template>
|
||||||
|
<template #right-icon>
|
||||||
|
<van-radio v-model="selectedPaymentMethod" name="alipay" />
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
</van-cell-group>
|
||||||
|
</div>
|
||||||
|
<!-- 确认按钮 -->
|
||||||
|
<div class="">
|
||||||
|
<van-button class="w-full" round type="primary" @click="getPayment">确认支付</van-button>
|
||||||
|
</div>
|
||||||
|
</van-popup>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref, defineProps } from 'vue'
|
||||||
|
const props = defineProps({
|
||||||
|
data: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
id: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const show = defineModel()
|
||||||
|
const orderId = ref("")
|
||||||
|
const selectedPaymentMethod = ref('alipay')
|
||||||
|
const discountPrice = ref(false) // 是否应用折扣
|
||||||
|
onMounted(() => {
|
||||||
|
// let m = localStorage.getItem("m")
|
||||||
|
// let hour = "12"
|
||||||
|
// if (m === "shifenliangzai") {
|
||||||
|
// hour = "00"
|
||||||
|
// }
|
||||||
|
// const currentDate = new Date()
|
||||||
|
// const startDate = new Date(`2025-01-01T${hour}:00:00+08:00`) // 2025年1月1日中午12点
|
||||||
|
// const endDate = new Date('2025-01-02T12:00:00+08:00') // 2025年1月2日中午12点
|
||||||
|
// console.log(startDate, endDate)
|
||||||
|
// if (currentDate >= startDate && currentDate <= endDate) {
|
||||||
|
// discountPrice.value = true // 在折扣时间范围内,启用折扣
|
||||||
|
// } else {
|
||||||
|
// discountPrice.value = false // 否则不启用折扣
|
||||||
|
// }
|
||||||
|
})
|
||||||
|
|
||||||
|
async function getPayment() {
|
||||||
|
const { data, error } = await useApiFetch('/pay/payment')
|
||||||
|
.post({
|
||||||
|
id: props.id,
|
||||||
|
pay_method: selectedPaymentMethod.value
|
||||||
|
})
|
||||||
|
.json()
|
||||||
|
|
||||||
|
if (data.value && !error.value) {
|
||||||
|
orderId.value = data.value.data.order_id
|
||||||
|
const prepayUrl = data.value.data.prepay_id;
|
||||||
|
const paymentForm = document.createElement('form');
|
||||||
|
paymentForm.method = 'POST';
|
||||||
|
paymentForm.action = prepayUrl;
|
||||||
|
paymentForm.style.display = 'none';
|
||||||
|
document.body.appendChild(paymentForm);
|
||||||
|
paymentForm.submit();
|
||||||
|
}
|
||||||
|
show.value = false
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
35
src/components/RecordFooter.vue
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<template>
|
||||||
|
<div class="disclaimer">
|
||||||
|
<div class="flex flex-col items-center">
|
||||||
|
<div class="flex items-center">
|
||||||
|
<img class="w-4 h-4 mr-2" src="@/assets/images/public_security_record_icon.png" alt="公安备案" />
|
||||||
|
<text>琼公网安备46010002000443号</text>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="text-blue-500" href="https://beian.miit.gov.cn">
|
||||||
|
琼ICP备2024038584号-2
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
海南省学宇思网络科技有限公司版权所有
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.disclaimer {
|
||||||
|
/* margin-top: 24px; */
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #999;
|
||||||
|
text-align: center;
|
||||||
|
border-top: 1px solid #e0e0e0;
|
||||||
|
padding-bottom: 60px;
|
||||||
|
background: #ffffff;
|
||||||
|
}
|
||||||
|
</style>
|
72
src/components/WechatOverlay.vue
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<template>
|
||||||
|
<div v-if="isWeChat" class="wechat-overlay">
|
||||||
|
<div class="wechat-content">
|
||||||
|
<p class="wechat-message">
|
||||||
|
点击右上角的<van-icon class="ml-2" name="weapp-nav" /><br />然后点击在浏览器中打开
|
||||||
|
</p>
|
||||||
|
<img src="@/assets/images/llqdk.jpg" alt="In WeChat" class="wechat-image" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref, onMounted } from 'vue';
|
||||||
|
|
||||||
|
// 定义一个响应式变量,表示是否在微信环境
|
||||||
|
const isWeChat = ref(false);
|
||||||
|
|
||||||
|
// 检查是否为微信环境
|
||||||
|
const checkIfWeChat = () => {
|
||||||
|
const userAgent = navigator.userAgent.toLowerCase();
|
||||||
|
isWeChat.value = /micromessenger/.test(userAgent);
|
||||||
|
};
|
||||||
|
|
||||||
|
// 在组件挂载后检查环境
|
||||||
|
onMounted(() => {
|
||||||
|
checkIfWeChat();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* 遮罩层样式 */
|
||||||
|
.wechat-overlay {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background: rgba(0, 0, 0, 0.7);
|
||||||
|
z-index: 9999;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 遮罩中的内容 */
|
||||||
|
.wechat-content {
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 图片样式 */
|
||||||
|
.wechat-image {
|
||||||
|
/* position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0; */
|
||||||
|
margin-top: 20px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 提示信息的样式 */
|
||||||
|
.wechat-message {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 图标样式 */
|
||||||
|
.icon-more-vert {
|
||||||
|
font-size: 20px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
</style>
|
75
src/composables/useApiFetch.js
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
// src/plugins/fetch.js
|
||||||
|
import { createFetch } from "@vueuse/core";
|
||||||
|
import router from "@/router"; // 假设你使用 Vue Router
|
||||||
|
|
||||||
|
// 创建全局的 fetch 实例
|
||||||
|
const useApiFetch = createFetch({
|
||||||
|
baseUrl: "/api/v1", // 你的 API 基础路径
|
||||||
|
options: {
|
||||||
|
async beforeFetch({ options }) {
|
||||||
|
showLoadingToast({
|
||||||
|
message: "加载中...",
|
||||||
|
forbidClick: true,
|
||||||
|
duration: 0, // 设置为 0 表示不会自动关闭
|
||||||
|
loadingType: "spinner",
|
||||||
|
});
|
||||||
|
// 获取平台信息
|
||||||
|
|
||||||
|
let platform = "h5";
|
||||||
|
// 在请求前添加通用的 Header,例如 Authorization
|
||||||
|
const token = localStorage.getItem("token");
|
||||||
|
const webviewEnv = localStorage.getItem("webview_env");
|
||||||
|
if (webviewEnv) {
|
||||||
|
platform = webviewEnv;
|
||||||
|
}
|
||||||
|
options.headers = {
|
||||||
|
...options.headers,
|
||||||
|
"X-Platform": platform, // 添加平台信息
|
||||||
|
"X-Brand": "tyc", // 添加品牌信息
|
||||||
|
};
|
||||||
|
if (token) {
|
||||||
|
options.headers = {
|
||||||
|
...options.headers,
|
||||||
|
Authorization: `${token}`,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return { options };
|
||||||
|
},
|
||||||
|
async afterFetch({ data, response }) {
|
||||||
|
closeToast();
|
||||||
|
// 全局处理响应
|
||||||
|
if (response.status === 401) {
|
||||||
|
// 清除本地存储的 token
|
||||||
|
localStorage.removeItem("token");
|
||||||
|
|
||||||
|
// 跳转到登录页
|
||||||
|
router.replace("/login");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.code !== 200) {
|
||||||
|
if (data.code !== 200002 && data.code !== 200003) {
|
||||||
|
showToast({ message: data.msg });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return { data, response };
|
||||||
|
},
|
||||||
|
async onFetchError({ error, response }) {
|
||||||
|
console.log("error", error);
|
||||||
|
closeToast();
|
||||||
|
if (response.status === 401) {
|
||||||
|
// 清除本地存储的 token
|
||||||
|
localStorage.removeItem("token");
|
||||||
|
|
||||||
|
// 跳转到登录页
|
||||||
|
router.replace("/login");
|
||||||
|
} else {
|
||||||
|
if (typeof error === "string") {
|
||||||
|
showToast({ message: error });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return { error };
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
export default useApiFetch;
|
27
src/composables/useHttp.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import { useFetch, createFetch } from '@vueuse/core';
|
||||||
|
|
||||||
|
export function useHttp(url, options = {}, token) {
|
||||||
|
const fetch = createFetch(url, {
|
||||||
|
baseUrl: '/api/v1',
|
||||||
|
options: {
|
||||||
|
async beforeFetch({ url, options, cancel }) {
|
||||||
|
console.log("asdasd", options)
|
||||||
|
options.headers = {
|
||||||
|
...options.headers,
|
||||||
|
Authorization: `${token}`,
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
options,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async afterFetch(ctx) {
|
||||||
|
console.log("ctx", ctx)
|
||||||
|
// if (ctx.data.code !== 200) {
|
||||||
|
// throw new Error(ctx.data.message || '请求失败');
|
||||||
|
// }
|
||||||
|
return ctx;
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return fetch(url)
|
||||||
|
}
|
360
src/composables/useMenuItems.js
Normal file
@ -0,0 +1,360 @@
|
|||||||
|
// src/composables/useMenuItems.js
|
||||||
|
import { ref, computed, watch } from "vue";
|
||||||
|
import yhkhmdIcon from "@/assets/images/yhkhmd_icon.svg";
|
||||||
|
import sjsysIcon from "@/assets/images/sjsys_icon.svg"; // 手机三要素
|
||||||
|
import sfzeysIcon from "@/assets/images/sfzeys_icon.svg"; // 身份证二要素
|
||||||
|
import sjeysIcon from "@/assets/images/sjeys_icon.svg"; // 手机二要素
|
||||||
|
import sjzwscIcon from "@/assets/images/sjzwsc_icon.svg"; // 在网时长
|
||||||
|
import sjeckIcon from "@/assets/images/sjeck_icon.svg"; // 手机二次卡
|
||||||
|
import sjhmfxIcon from "@/assets/images/sjhmfx_icon.svg"; // 手机号码风险
|
||||||
|
import yhk4ysIcon from "@/assets/images/yhk4ys_icon.svg"; // 银行卡四要素
|
||||||
|
import yhksysIcon from "@/assets/images/yhksys_icon.svg"; // 银行卡三要素
|
||||||
|
import zrrscztIcon from "@/assets/images/zrrsczt_icon.svg"; // 自然人生存状态
|
||||||
|
import xlhyIcon from "@/assets/images/xlhy_icon.svg"; // 学历核验
|
||||||
|
import rchyIcon from "@/assets/images/rchy_icon.svg"; // 人车核验
|
||||||
|
import mxclIcon from "@/assets/images/mxcl_icon.svg"; // 名下车辆
|
||||||
|
import srhyIcon from "@/assets/images/srhy_icon.svg"; // 双人婚姻
|
||||||
|
import grblIcon from "@/assets/images/grbl_icon.svg";
|
||||||
|
import gdrqgxIcon from "@/assets/images/gdrqgx_icon.svg";
|
||||||
|
|
||||||
|
import sxIcon from "@/assets/images/sx_icon.svg";
|
||||||
|
import xgIcon from "@/assets/images/xg_icon.svg";
|
||||||
|
|
||||||
|
import carClgzIcon from "@/assets/images/car_cheliangguzhi.png";
|
||||||
|
import carClghIcon from "@/assets/images/car_cheliangguohu.png";
|
||||||
|
import carCxxxIcon from "@/assets/images/car_chexian.png";
|
||||||
|
import carCxsxIcon from "@/assets/images/car_cheliangshangxian.png";
|
||||||
|
import carCjhccIcon from "@/assets/images/car_vinchache.png";
|
||||||
|
import carWbxxIcon from "@/assets/images/car_weibao.png";
|
||||||
|
|
||||||
|
// 定义所有菜单项
|
||||||
|
const allMenuItems = [
|
||||||
|
{
|
||||||
|
title: "个人不良",
|
||||||
|
icon: grblIcon,
|
||||||
|
product: "toc_PersonalBadRecord",
|
||||||
|
category: "个人风险查询",
|
||||||
|
description:
|
||||||
|
"通过查询个人的不良记录,评估其风险等级(低、中、高风险)。帮助您识别潜在的信用和法律风险,确保合作方的合法合规。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "人企关系",
|
||||||
|
icon: gdrqgxIcon,
|
||||||
|
product: "toc_ShareholderBusinessRelation",
|
||||||
|
category: "个人风险查询",
|
||||||
|
description:
|
||||||
|
"通过个人关联的企业,了解其可能涉及的风险,帮助您判断该个人的风险水平,特别是与高风险企业有联系的个人。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "限制出境查询",
|
||||||
|
icon: xgIcon,
|
||||||
|
product: "toc_ExitRestriction",
|
||||||
|
category: "个人风险查询",
|
||||||
|
description:
|
||||||
|
"查询个人是否存在限制出境记录,帮助评估其信用风险和法律状态,为您提供更全面的风险评估依据。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "手机月消费档次",
|
||||||
|
icon: sjhmfxIcon,
|
||||||
|
product: "toc_MonthlyMobileConsumptionLevel",
|
||||||
|
category: "手机风险查询",
|
||||||
|
description:
|
||||||
|
"查询手机号的月消费水平档次,分析用户消费能力和行为特征,帮助您更准确地评估客户的消费潜力和风险。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "反诈反赌风险核验",
|
||||||
|
icon: sxIcon,
|
||||||
|
product: "toc_FraudGamblingCheck",
|
||||||
|
category: "手机风险查询",
|
||||||
|
description:
|
||||||
|
"对目标手机号进行反诈骗、反赌博风险评估,识别高风险号码,避免潜在的诈骗和违法风险。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "手机号空号检测",
|
||||||
|
icon: sjeckIcon,
|
||||||
|
product: "toc_MobileNumberValidation",
|
||||||
|
category: "手机风险查询",
|
||||||
|
description:
|
||||||
|
"检测手机号码是否为空号,确认号码的真实性和有效性,提高通讯和营销效率,减少无效联系。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "银行卡归属地查询",
|
||||||
|
icon: yhk4ysIcon,
|
||||||
|
product: "toc_BankCardLocation",
|
||||||
|
category: "银行卡查询",
|
||||||
|
description:
|
||||||
|
"查询银行卡的发卡行所在地区和支行信息,帮助确认银行卡的真实性和归属信息。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "银行卡姓名二要素验证",
|
||||||
|
icon: yhksysIcon,
|
||||||
|
product: "toc_BankCardNameElementVerification",
|
||||||
|
category: "银行卡查询",
|
||||||
|
description:
|
||||||
|
"验证银行卡号与持卡人姓名是否匹配,为支付和金融交易提供基础的安全验证。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "银行卡身份证号二要素验证",
|
||||||
|
icon: yhksysIcon,
|
||||||
|
product: "toc_BankCardIDElementVerification",
|
||||||
|
category: "银行卡查询",
|
||||||
|
description:
|
||||||
|
"验证银行卡号与持卡人身份证号是否匹配,提供更严格的身份验证,增强交易安全性。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "银行卡三要素综合验证",
|
||||||
|
icon: yhksysIcon,
|
||||||
|
product: "toc_BankCardThreeElementsVerification",
|
||||||
|
category: "银行卡查询",
|
||||||
|
description:
|
||||||
|
"同时验证银行卡号、姓名和身份证号三项要素的匹配情况,提供全面的银行卡身份验证服务。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "高风险特殊手机号核验",
|
||||||
|
icon: sjhmfxIcon,
|
||||||
|
product: "toc_MobileRiskAssessment",
|
||||||
|
category: "手机风险查询",
|
||||||
|
description:
|
||||||
|
"识别和核验高风险特殊手机号,包括诈骗号码、虚拟号码等,降低通讯和交易风险。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "手机归属地查询",
|
||||||
|
icon: sjsysIcon,
|
||||||
|
product: "toc_MobileLocation",
|
||||||
|
category: "手机风险查询",
|
||||||
|
description:
|
||||||
|
"查询手机号码的归属地信息,包括运营商、省份和城市,帮助了解联系人的地理位置。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "身份证归属地查询",
|
||||||
|
icon: sfzeysIcon,
|
||||||
|
product: "toc_IDCardLocation",
|
||||||
|
category: "个人风险查询",
|
||||||
|
description:
|
||||||
|
"查询身份证号码的归属地信息,包括发证地区和行政区划,验证身份信息的准确性。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "学历认证",
|
||||||
|
icon: xlhyIcon,
|
||||||
|
product: "toc_EducationVerification",
|
||||||
|
category: "个人风险查询",
|
||||||
|
description:
|
||||||
|
"验证个人学历信息的真实性,提供教育背景核实服务,帮助您确认所提供学历证明的准确性和可靠性。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "手机三要素",
|
||||||
|
icon: sjsysIcon,
|
||||||
|
product: "toc_PhoneThreeElements",
|
||||||
|
category: "手机风险查询",
|
||||||
|
description: "查询个人与手机号码是否匹配,确保手机号码的真实性。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "银行卡黑名单",
|
||||||
|
icon: yhkhmdIcon,
|
||||||
|
product: "toc_BankCardBlacklist",
|
||||||
|
category: "银行卡查询",
|
||||||
|
description: "查询银行卡是否被列入黑名单,帮助您识别潜在的金融风险。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "身份证二要素",
|
||||||
|
icon: sfzeysIcon,
|
||||||
|
product: "toc_IDCardTwoElements",
|
||||||
|
category: "个人风险查询",
|
||||||
|
description: "验证姓名与身份证号码的匹配情况,确保身份真实性。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "手机二要素",
|
||||||
|
icon: sjeysIcon,
|
||||||
|
product: "toc_PhoneTwoElements",
|
||||||
|
category: "手机风险查询",
|
||||||
|
description: "查询手机号码和身份证的匹配情况,用于验证身份的真实性。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "手机在网时长",
|
||||||
|
icon: sjzwscIcon,
|
||||||
|
product: "toc_NetworkDuration",
|
||||||
|
category: "手机风险查询",
|
||||||
|
description: "查询手机号码的在网时长,帮助评估号码的稳定性与历史。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "手机二次卡",
|
||||||
|
icon: sjeckIcon,
|
||||||
|
product: "toc_PhoneSecondaryCard",
|
||||||
|
category: "手机风险查询",
|
||||||
|
description: "检查手机是否有二次卡,防止诈骗等风险。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "手机号码风险",
|
||||||
|
icon: sjhmfxIcon,
|
||||||
|
product: "toc_PhoneNumberRisk",
|
||||||
|
category: "手机风险查询",
|
||||||
|
description: "评估手机号码的潜在风险,包括是否与违法行为关联。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "银行卡四要素",
|
||||||
|
icon: yhk4ysIcon,
|
||||||
|
product: "toc_BankCardFourElements",
|
||||||
|
category: "银行卡查询",
|
||||||
|
description:
|
||||||
|
"通过四要素核验银行卡与个人是否匹配,进一步验证银行账户的真实性。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "自然人生存状态",
|
||||||
|
icon: zrrscztIcon,
|
||||||
|
product: "toc_NaturalLifeStatus",
|
||||||
|
category: "个人风险查询",
|
||||||
|
description: "查询个人的生存状态,帮助验证其是否真实存在。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "银行卡三要素",
|
||||||
|
icon: yhksysIcon,
|
||||||
|
product: "toc_BankCardThreeElements",
|
||||||
|
category: "银行卡查询",
|
||||||
|
description: "查询银行卡的三要素,验证账户信息的安全性。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "人车核验",
|
||||||
|
icon: rchyIcon,
|
||||||
|
product: "toc_PersonVehicleVerification",
|
||||||
|
category: "车辆信息查询",
|
||||||
|
description: "查询个人与车辆的关联情况,帮助识别车辆的所有权和风险。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "名下车辆",
|
||||||
|
icon: mxclIcon,
|
||||||
|
product: "toc_VehiclesUnderName",
|
||||||
|
category: "车辆信息查询",
|
||||||
|
description: "查询个人名下拥有车辆的数量,了解其车辆资产。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "车辆出险信息",
|
||||||
|
icon: carCxxxIcon,
|
||||||
|
product: "toc_vehicleInsuranceSummary",
|
||||||
|
category: "车辆信息查询",
|
||||||
|
description:
|
||||||
|
"车辆出险综合信息查询功能可以帮助用户全面了解车辆的出险记录和历史,提供详尽的事故和保险信息,帮助用户做出更明智的决策。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "车辆维保记录",
|
||||||
|
icon: carWbxxIcon,
|
||||||
|
product: "toc_vehicleMaintenanceRecord",
|
||||||
|
category: "车辆信息查询",
|
||||||
|
description:
|
||||||
|
"车辆维修保养记录查询功能可以帮助用户查看车辆的所有维修和保养历史,确保车辆的状态和性能得到全面了解。",
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// title: "车辆上险信息",
|
||||||
|
// icon: "sxInfoIcon",
|
||||||
|
// product: "toc_vehicleInsuranceInfo",
|
||||||
|
// category: "车辆信息查询",
|
||||||
|
// description:
|
||||||
|
// "车辆上险信息查询功能可以帮助用户了解车辆的保险情况,包括是否已投保、保险公司及保单详情,确保车辆的风险得到保障。",
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
title: "车架号查车",
|
||||||
|
icon: carCjhccIcon,
|
||||||
|
product: "toc_chassisNumberCheck",
|
||||||
|
category: "车辆信息查询",
|
||||||
|
description:
|
||||||
|
"车架号查车功能帮助用户通过车辆的车架号查询车辆的详细信息,包括品牌、型号、生产年份等,有助于验证车辆的真实情况。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "车辆过户次数",
|
||||||
|
icon: carClghIcon,
|
||||||
|
product: "toc_vehicleTransferCount",
|
||||||
|
category: "车辆信息查询",
|
||||||
|
description:
|
||||||
|
"车辆过户次数查询功能可以帮助用户了解车辆的过户历史,提供车辆的转手记录和所有权变更情况,帮助用户判断车辆的历史背景。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "车辆估值",
|
||||||
|
icon: carClgzIcon,
|
||||||
|
product: "toc_vehicleValuation",
|
||||||
|
category: "车辆信息查询",
|
||||||
|
description:
|
||||||
|
"车辆估值功能帮助用户评估车辆的市场价值,提供基于车型、年限、车况等因素的估值报告,帮助用户做出购买或出售决策。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "双人婚姻",
|
||||||
|
icon: srhyIcon,
|
||||||
|
product: "toc_DualMarriage",
|
||||||
|
category: "个人风险查询",
|
||||||
|
description: "查询双人婚姻状况,帮助评估婚姻的法律状态和风险。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "个人失信",
|
||||||
|
icon: sxIcon,
|
||||||
|
product: "toc_PersonalDiscredit",
|
||||||
|
category: "个人风险查询",
|
||||||
|
description: "查询个人失信记录,帮助评估个人信用状况。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "个人限高",
|
||||||
|
icon: xgIcon,
|
||||||
|
product: "toc_PersonalConsumptionRestriction",
|
||||||
|
category: "个人风险查询",
|
||||||
|
description: "查询个人限高记录,帮助评估个人信用状况。",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
// 定义 Composable,返回过滤后的菜单项
|
||||||
|
export function useMenuItems() {
|
||||||
|
const availableProducts = ref([]);
|
||||||
|
const requestUrl = ref(`/product/render_list/`);
|
||||||
|
const { data, error, execute, isFetching, onFetchResponse } = useApiFetch(
|
||||||
|
requestUrl,
|
||||||
|
{ immediate: false, refetch: true }
|
||||||
|
)
|
||||||
|
.get()
|
||||||
|
.json();
|
||||||
|
|
||||||
|
onFetchResponse((response) => {
|
||||||
|
if (data.value && !error.value) {
|
||||||
|
if (data.value.code === 200) {
|
||||||
|
availableProducts.value = data.value.data.Product.map(
|
||||||
|
(product) => product.product_en
|
||||||
|
);
|
||||||
|
console.log("allMenuItems");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// fetchRenderData 支持外部传入 verify 参数
|
||||||
|
const fetchRenderData = async (verifyParam) => {
|
||||||
|
requestUrl.value = `/product/render_list/${verifyParam}`;
|
||||||
|
// execute()
|
||||||
|
};
|
||||||
|
|
||||||
|
// 返回过滤后的菜单项
|
||||||
|
const availableMenuItems = computed(() => {
|
||||||
|
return allMenuItems.filter((item) =>
|
||||||
|
availableProducts.value.includes(item.product)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 返回按分类分组的菜单项
|
||||||
|
const categorizedMenuItems = computed(() => {
|
||||||
|
const filtered = allMenuItems.filter((item) =>
|
||||||
|
availableProducts.value.includes(item.product)
|
||||||
|
);
|
||||||
|
|
||||||
|
// 根据分类进行分组
|
||||||
|
const grouped = {};
|
||||||
|
filtered.forEach(item => {
|
||||||
|
const category = item.category || '其他';
|
||||||
|
if (!grouped[category]) {
|
||||||
|
grouped[category] = [];
|
||||||
|
}
|
||||||
|
grouped[category].push(item);
|
||||||
|
});
|
||||||
|
|
||||||
|
return grouped;
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
fetchRenderData,
|
||||||
|
availableMenuItems,
|
||||||
|
categorizedMenuItems,
|
||||||
|
isFetching,
|
||||||
|
};
|
||||||
|
}
|