初始版本
4
admin/.env.development.example
Normal file
@@ -0,0 +1,4 @@
|
||||
NODE_ENV = 'development'
|
||||
|
||||
# Base API
|
||||
VITE_APP_BASE_URL=''
|
||||
3
admin/.env.production.example
Normal file
@@ -0,0 +1,3 @@
|
||||
NODE_ENV = 'production'
|
||||
# Base API
|
||||
VITE_APP_BASE_URL=''
|
||||
4
admin/.eslintignore
Normal file
@@ -0,0 +1,4 @@
|
||||
.vscode
|
||||
.idea
|
||||
dist/
|
||||
node_modules/
|
||||
44
admin/.eslintrc.cjs
Normal file
@@ -0,0 +1,44 @@
|
||||
/* eslint-env node */
|
||||
require('@rushstack/eslint-patch/modern-module-resolution')
|
||||
|
||||
module.exports = {
|
||||
root: true,
|
||||
ignorePatterns: ['/auto-imports.d.ts', '/components.d.ts'],
|
||||
extends: [
|
||||
'plugin:vue/vue3-essential',
|
||||
'eslint:recommended',
|
||||
'@vue/eslint-config-typescript/recommended',
|
||||
'@vue/eslint-config-prettier',
|
||||
'./.eslintrc-auto-import.json'
|
||||
],
|
||||
plugins: ['simple-import-sort'],
|
||||
rules: {
|
||||
'simple-import-sort/imports': 'error', // 强制导入语句排序
|
||||
'prettier/prettier': [
|
||||
'warn',
|
||||
{
|
||||
semi: false,
|
||||
singleQuote: true,
|
||||
printWidth: 100,
|
||||
proseWrap: 'preserve',
|
||||
bracketSameLine: false,
|
||||
endOfLine: 'lf',
|
||||
tabWidth: 4,
|
||||
useTabs: false,
|
||||
trailingComma: 'none'
|
||||
}
|
||||
],
|
||||
'vue/multi-word-component-names': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'@typescript-eslint/ban-ts-comment': 'off',
|
||||
'no-undef': 'off',
|
||||
'vue/prefer-import-from-vue': 'off',
|
||||
'no-prototype-builtins': 'off',
|
||||
'prefer-spread': 'off',
|
||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||
'@typescript-eslint/no-non-null-asserted-optional-chain': 'off'
|
||||
},
|
||||
globals: {
|
||||
module: 'readonly'
|
||||
}
|
||||
}
|
||||
36
admin/.gitignore
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
# 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
|
||||
|
||||
# unplugin-auto-import
|
||||
auto-imports.d.ts
|
||||
components.d.ts
|
||||
.eslintrc-auto-import.json
|
||||
|
||||
/cypress/videos/
|
||||
/cypress/screenshots/
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
|
||||
# .env
|
||||
.env.development
|
||||
.env.production
|
||||
4
admin/.prettierignore
Normal file
@@ -0,0 +1,4 @@
|
||||
.vscode
|
||||
.idea
|
||||
dist/
|
||||
node_modules/
|
||||
11
admin/.prettierrc
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"semi": false,
|
||||
"singleQuote": true,
|
||||
"printWidth": 100,
|
||||
"proseWrap": "preserve",
|
||||
"bracketSameLine": false,
|
||||
"endOfLine": "lf",
|
||||
"tabWidth": 4,
|
||||
"useTabs": false,
|
||||
"trailingComma": "none"
|
||||
}
|
||||
46
admin/README.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# vue-project
|
||||
|
||||
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) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
|
||||
|
||||
## Type Support for `.vue` Imports in TS
|
||||
|
||||
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
|
||||
|
||||
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
|
||||
|
||||
1. Disable the built-in TypeScript Extension
|
||||
1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette
|
||||
2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
|
||||
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
|
||||
|
||||
## Customize configuration
|
||||
|
||||
See [Vite Configuration Reference](https://vitejs.dev/config/).
|
||||
|
||||
## Project Setup
|
||||
|
||||
```sh
|
||||
npm install
|
||||
```
|
||||
|
||||
### Compile and Hot-Reload for Development
|
||||
|
||||
```sh
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### Type-Check, Compile and Minify for Production
|
||||
|
||||
```sh
|
||||
npm run build
|
||||
```
|
||||
|
||||
### Lint with [ESLint](https://eslint.org/)
|
||||
|
||||
```sh
|
||||
npm run lint
|
||||
```
|
||||
1
admin/global.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/// <reference types="vite/client" />
|
||||
65
admin/index.html
Normal file
@@ -0,0 +1,65 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>后台管理系统</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.preload {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
}
|
||||
|
||||
.circular {
|
||||
height: 42px;
|
||||
width: 42px;
|
||||
animation: loading-rotate 2s linear infinite;
|
||||
}
|
||||
|
||||
.circular .path {
|
||||
animation: loading-dash 1.5s ease-in-out infinite;
|
||||
stroke-dasharray: 90, 150;
|
||||
stroke-dashoffset: 0;
|
||||
stroke-width: 2;
|
||||
stroke: #4073fa;
|
||||
stroke-linecap: round;
|
||||
}
|
||||
|
||||
@keyframes loading-rotate {
|
||||
100% {
|
||||
transform: rotate(1turn);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes loading-dash {
|
||||
0% {
|
||||
stroke-dasharray: 90, 150;
|
||||
stroke-dashoffset: -40px;
|
||||
}
|
||||
|
||||
100% {
|
||||
stroke-dasharray: 90, 150;
|
||||
stroke-dashoffset: -120px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
<div class="preload">
|
||||
<svg viewBox="25 25 50 50" class="circular">
|
||||
<circle cx="50" cy="50" r="20" fill="none" class="path"></circle>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
</body>
|
||||
</html>
|
||||
12416
admin/package-lock.json
generated
Normal file
67
admin/package.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "vue-project",
|
||||
"version": "0.0.0",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"preview": "vite preview --port 4173",
|
||||
"build": "vite build && node scripts/release.mjs",
|
||||
"type-check": "vue-tsc --noEmit",
|
||||
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@element-plus/icons-vue": "^2.3.1",
|
||||
"@highlightjs/vue-plugin": "^2.1.0",
|
||||
"@vue/shared": "^3.5.3",
|
||||
"@vueuse/core": "^11.0.3",
|
||||
"@wangeditor/editor": "^5.1.23",
|
||||
"@wangeditor/editor-for-vue": "^5.1.12",
|
||||
"axios": "^1.7.7",
|
||||
"css-color-function": "^1.3.3",
|
||||
"echarts": "^5.5.1",
|
||||
"element-plus": "^2.8.2",
|
||||
"highlight.js": "^11.10.0",
|
||||
"lodash": "^4.17.21",
|
||||
"lodash-es": "^4.17.21",
|
||||
"nprogress": "^0.2.0",
|
||||
"pinia": "^2.2.2",
|
||||
"vue": "^3.5.3",
|
||||
"vue-clipboard3": "^2.0.0",
|
||||
"vue-echarts": "^6.7.3",
|
||||
"vue-router": "^4.4.3",
|
||||
"vue3-video-play": "1.3.1-beta.6",
|
||||
"vuedraggable": "^4.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rushstack/eslint-patch": "^1.10.4",
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/node": "^22.5.4",
|
||||
"@types/nprogress": "^0.2.3",
|
||||
"@vitejs/plugin-legacy": "^5.4.2",
|
||||
"@vitejs/plugin-vue": "^5.1.3",
|
||||
"@vitejs/plugin-vue-jsx": "^4.0.1",
|
||||
"@vue/eslint-config-prettier": "^9.0.0",
|
||||
"@vue/eslint-config-typescript": "^13.0.0",
|
||||
"@vue/tsconfig": "^0.1.3",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"consola": "^3.2.3",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-plugin-simple-import-sort": "^12.1.1",
|
||||
"eslint-plugin-vue": "^9.28.0",
|
||||
"execa": "^9.3.1",
|
||||
"fs-extra": "^11.2.0",
|
||||
"postcss": "^8.4.45",
|
||||
"prettier": "^3.3.3",
|
||||
"sass": "^1.78.0",
|
||||
"tailwindcss": "^3.4.10",
|
||||
"terser": "^5.32.0",
|
||||
"typescript": "^5.6.2",
|
||||
"unplugin-auto-import": "^0.18.2",
|
||||
"unplugin-vue-components": "^0.27.4",
|
||||
"vite": "^5.4.3",
|
||||
"vite-plugin-style-import": "^2.0.0",
|
||||
"vite-plugin-svg-icons": "^2.0.1",
|
||||
"vite-plugin-vue-setup-extend": "^0.4.0",
|
||||
"vue-tsc": "^0.38.9"
|
||||
}
|
||||
}
|
||||
6
admin/postcss.config.js
Normal file
@@ -0,0 +1,6 @@
|
||||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
||||
36
admin/scripts/release.mjs
Normal file
@@ -0,0 +1,36 @@
|
||||
import fsExtra from 'fs-extra'
|
||||
import path from 'path'
|
||||
|
||||
const { existsSync, remove, copy } = fsExtra
|
||||
const cwd = process.cwd()
|
||||
//打包发布路径,谨慎改动
|
||||
const releaseRelativePath = '../server/public/admin'
|
||||
const distPath = path.resolve(cwd, 'dist')
|
||||
const releasePath = path.resolve(cwd, releaseRelativePath)
|
||||
|
||||
async function build() {
|
||||
if (existsSync(releasePath)) {
|
||||
await remove(releasePath)
|
||||
}
|
||||
console.log(`文件正在复制 ==> ${releaseRelativePath}`)
|
||||
try {
|
||||
await copyFile(distPath, releasePath)
|
||||
} catch (error) {
|
||||
console.log(`\n ${error}`)
|
||||
}
|
||||
console.log(`文件已复制 ==> ${releaseRelativePath}`)
|
||||
}
|
||||
|
||||
function copyFile(sourceDir, targetDir) {
|
||||
return new Promise((resolve, reject) => {
|
||||
copy(sourceDir, targetDir, (err) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
build()
|
||||
48
admin/src/App.vue
Normal file
@@ -0,0 +1,48 @@
|
||||
<script setup lang="ts">
|
||||
import { useDark, useThrottleFn, useWindowSize } from '@vueuse/core'
|
||||
import zhCn from 'element-plus/es/locale/lang/zh-cn'
|
||||
|
||||
import { ScreenEnum } from './enums/appEnums'
|
||||
import useAppStore from './stores/modules/app'
|
||||
import useSettingStore from './stores/modules/setting'
|
||||
|
||||
const appStore = useAppStore()
|
||||
const settingStore = useSettingStore()
|
||||
const elConfig = {
|
||||
zIndex: 3000,
|
||||
locale: zhCn
|
||||
}
|
||||
const isDark = useDark()
|
||||
onMounted(async () => {
|
||||
//设置主题色
|
||||
settingStore.setTheme(isDark.value)
|
||||
})
|
||||
|
||||
const { width } = useWindowSize()
|
||||
watch(
|
||||
width,
|
||||
useThrottleFn((value) => {
|
||||
if (value > ScreenEnum.SM) {
|
||||
appStore.setMobile(false)
|
||||
appStore.toggleCollapsed(false)
|
||||
} else {
|
||||
appStore.setMobile(true)
|
||||
appStore.toggleCollapsed(true)
|
||||
}
|
||||
if (value < ScreenEnum.MD) {
|
||||
appStore.toggleCollapsed(true)
|
||||
}
|
||||
}),
|
||||
{
|
||||
immediate: true
|
||||
}
|
||||
)
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<el-config-provider :locale="elConfig.locale" :z-index="elConfig.zIndex">
|
||||
<router-view />
|
||||
</el-config-provider>
|
||||
</template>
|
||||
|
||||
<style></style>
|
||||
67
admin/src/api/app.ts
Normal file
@@ -0,0 +1,67 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 配置
|
||||
export function getConfig() {
|
||||
return request.get({ url: '/config/getConfig' })
|
||||
}
|
||||
|
||||
// 工作台主页
|
||||
export function getWorkbench() {
|
||||
return request.get({ url: '/workbench/index' })
|
||||
}
|
||||
|
||||
export function apiFileCateAdd(params: any) {
|
||||
return request.post({ url: '/file/addCate', params })
|
||||
}
|
||||
|
||||
export function apiFileCateEdit(params: { id: number; name: string }) {
|
||||
return request.post({ url: '/file/editCate', params })
|
||||
}
|
||||
|
||||
// 文件分类删除
|
||||
export function apiFileCateDelete(params: { id: number }) {
|
||||
return request.post({ url: '/file/delCate', params })
|
||||
}
|
||||
|
||||
// 文件分类列表
|
||||
export function apiFileCateLists(params: any) {
|
||||
return request.get({ url: '/file/listCate', params })
|
||||
}
|
||||
|
||||
// 文件列表
|
||||
export function apiFileList(params: any) {
|
||||
return request.get({ url: '/file/lists', params })
|
||||
}
|
||||
|
||||
// 文件删除
|
||||
export function apiFileDelete(params: { ids: any[] }) {
|
||||
return request.post({ url: '/file/delete', params })
|
||||
}
|
||||
|
||||
// 文件移动
|
||||
export function apiFileMove(params: { ids: any[]; cid: number }) {
|
||||
return request.post({ url: '/file/move', params })
|
||||
}
|
||||
|
||||
// 文件重命名
|
||||
export function apiFileRename(params: { id: number; name: string }) {
|
||||
return request.post({ url: '/file/rename', params })
|
||||
}
|
||||
|
||||
// 配置
|
||||
export function apiConfig() {
|
||||
return request.get({ url: '/config/getConfig' })
|
||||
}
|
||||
//检测新版本
|
||||
export function apiCheckVersion(params: any) {
|
||||
return request.get({ url: '/config/checkVersion', params })
|
||||
}
|
||||
//正版检测
|
||||
export function apiCheckLegal(params: any) {
|
||||
return request.get({ url: '/config/checkLegal', params })
|
||||
}
|
||||
|
||||
//开通城市省市区列表
|
||||
export function apiRegionList(params?: any) {
|
||||
return request.get({ url: '/setting.city/getRegionLists', params })
|
||||
}
|
||||
14
admin/src/api/application.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function apiRechargeGetRule() {
|
||||
return request.get({ url: '/marketing.recharge/getSettings' })
|
||||
}
|
||||
export function apiRechargeSetRule(params: any) {
|
||||
return request.post({ url: '/marketing.recharge/setSettings', params })
|
||||
}
|
||||
export function getcustomerService() {
|
||||
return request.get({ url: '/setting.customerService/getConfig' })
|
||||
}
|
||||
export function setcustomerService(params: any) {
|
||||
return request.post({ url: '/setting.customerService/setConfig', params })
|
||||
}
|
||||
23
admin/src/api/business/bond.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
//保证金列表
|
||||
export function apiBondList(params: any) {
|
||||
return request.get({ url: '/shop.depositPackage/lists', params })
|
||||
}
|
||||
//添加保证金
|
||||
export function apiAddBond(params: any) {
|
||||
return request.post({ url: '/shop.depositPackage/add', params })
|
||||
}
|
||||
//编辑保证金
|
||||
export function apiEditBond(params: any) {
|
||||
return request.post({ url: '/shop.depositPackage/edit', params })
|
||||
}
|
||||
|
||||
//删除保证金
|
||||
export function apiDelBond(params: any) {
|
||||
return request.post({ url: '/shop.depositPackage/del', params })
|
||||
}
|
||||
//技能详情
|
||||
export function apiSkillDetial(params: any) {
|
||||
return request.get({ url: '/shop.skill/detail', params })
|
||||
}
|
||||
46
admin/src/api/business/list.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
//商家列表
|
||||
export function apiBusinessLists(params: any) {
|
||||
return request.get({ url: '/shop.shop/lists', params })
|
||||
}
|
||||
|
||||
//商家详情
|
||||
export function apiBusinessDetail(params: any) {
|
||||
return request.get({ url: '/shop.shop/detail', params })
|
||||
}
|
||||
|
||||
//商家添加
|
||||
export function apiBusinessAdd(params: any) {
|
||||
return request.post({ url: '/shop.shop/add', params })
|
||||
}
|
||||
|
||||
//商家编辑
|
||||
export function apiBusinessEdit(params: any) {
|
||||
return request.post({ url: '/shop.shop/edit', params })
|
||||
}
|
||||
|
||||
//商家申请列表
|
||||
export function apiBusinessApplyLists(params: any) {
|
||||
return request.get({ url: '/shop.shop/applyLists', params })
|
||||
}
|
||||
|
||||
//商家申请审核
|
||||
export function apiBusinessApplyAudit(params: any) {
|
||||
return request.post({ url: '/shop.shop/applyAudit', params })
|
||||
}
|
||||
|
||||
//调整商家佣金
|
||||
export function apiAdjustMoney(params: any) {
|
||||
return request.post({ url: '/shop.shop/adjustMoney', params })
|
||||
}
|
||||
|
||||
//调整商家保证金
|
||||
export function apiAdjustBond(params: any) {
|
||||
return request.post({ url: '/shop.shop/adjustDeposit', params })
|
||||
}
|
||||
|
||||
//申请状态调整
|
||||
export function apiApplyStatus(params: any) {
|
||||
return request.post({ url: '/shop.shop/shopAudit', params })
|
||||
}
|
||||
21
admin/src/api/business/project.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
//服务详情
|
||||
export function apiServiceDetail(params: any) {
|
||||
return request.get({ url: '/shop.goods/detail', params })
|
||||
}
|
||||
|
||||
//项目审核
|
||||
export function apiServiceAudit(params: any) {
|
||||
return request.post({ url: '/shop.goods/audit', params })
|
||||
}
|
||||
|
||||
//项目列表
|
||||
export function apiServiceLists(params: any) {
|
||||
return request.get({ url: '/shop.goods/lists', params })
|
||||
}
|
||||
|
||||
//项目上下架
|
||||
export function apiServiceStatus(params: any) {
|
||||
return request.post({ url: '/shop.goods/status', params })
|
||||
}
|
||||
58
admin/src/api/business/update.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
//商家列表
|
||||
export function apiUpdateShopLists(params: any) {
|
||||
return request.get({ url: '/shop.shop/updateShopLists', params })
|
||||
}
|
||||
|
||||
//商家详情
|
||||
export function apiBusinessDetail(params: any) {
|
||||
return request.get({ url: '/shop.shop/detail', params })
|
||||
}
|
||||
|
||||
//商家添加
|
||||
export function apiBusinessAdd(params: any) {
|
||||
return request.post({ url: '/shop.shop/add', params })
|
||||
}
|
||||
|
||||
//商家编辑
|
||||
export function apiBusinessEdit(params: any) {
|
||||
return request.post({ url: '/shop.shop/edit', params })
|
||||
}
|
||||
|
||||
//商家申请列表
|
||||
export function apiBusinessApplyLists(params: any) {
|
||||
return request.get({ url: '/shop.shop/applyLists', params })
|
||||
}
|
||||
|
||||
//商家申请审核
|
||||
export function apiBusinessApplyAudit(params: any) {
|
||||
return request.post({ url: '/shop.shop/applyAudit', params })
|
||||
}
|
||||
|
||||
//调整商家佣金
|
||||
export function apiAdjustMoney(params: any) {
|
||||
return request.post({ url: '/shop.shop/adjustMoney', params })
|
||||
}
|
||||
|
||||
//调整商家保证金
|
||||
export function apiAdjustBond(params: any) {
|
||||
return request.post({ url: '/shop.shop/adjustDeposit', params })
|
||||
}
|
||||
|
||||
//申请状态调整
|
||||
export function apiApplyStatus(params: any) {
|
||||
return request.post({ url: '/shop.shop/shopAudit', params })
|
||||
}
|
||||
|
||||
|
||||
//商家资料更改详情
|
||||
export function apiUpdateDetail(params: any) {
|
||||
return request.get({ url: '/shop.shop/updateDetail', params })
|
||||
}
|
||||
|
||||
// 商家资料审核
|
||||
export function apiUpdateAudit(params: any) {
|
||||
return request.post({ url: '/shop.shop/updateAudit', params })
|
||||
}
|
||||
|
||||
11
admin/src/api/channel/h5.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// H5渠道配置保存
|
||||
export function setH5Config(params: any) {
|
||||
return request.post({ url: '/channel.h5_setting/setConfig', params })
|
||||
}
|
||||
|
||||
// 获取H5设置
|
||||
export function getH5Config() {
|
||||
return request.get({ url: '/channel.h5_setting/getConfig' })
|
||||
}
|
||||
31
admin/src/api/channel/weapp.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 设置微信小程序配置
|
||||
export function setUserWeappConfig(params: any) {
|
||||
return request.post({ url: '/channel.mnp_settings/setConfig', params })
|
||||
}
|
||||
|
||||
// 获取微信小程序配置
|
||||
export function getUserWeappConfig() {
|
||||
return request.get({ url: '/channel.mnp_settings/getConfig' })
|
||||
}
|
||||
|
||||
// 设置微信小程序配置
|
||||
export function setCoachWeappConfig(params: any) {
|
||||
return request.post({ url: '/channel.mnp_settings/setCoachConfig', params })
|
||||
}
|
||||
|
||||
// 获取微信小程序配置
|
||||
export function getCoachWeappConfig() {
|
||||
return request.get({ url: '/channel.mnp_settings/getCoachConfig' })
|
||||
}
|
||||
|
||||
// 设置微信小程序配置
|
||||
export function setShopWeappConfig(params: any) {
|
||||
return request.post({ url: '/channel.mnp_settings/setShopConfig', params })
|
||||
}
|
||||
|
||||
// 获取微信小程序配置
|
||||
export function getShopWeappConfig() {
|
||||
return request.get({ url: '/channel.mnp_settings/getShopConfig' })
|
||||
}
|
||||
11
admin/src/api/channel/wx_dev.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 微信开发平台配置保存
|
||||
export function setWxDevConfig(params: any) {
|
||||
return request.post({ url: '/channel/wx/save', params })
|
||||
}
|
||||
|
||||
// 微信开发平台配置详情
|
||||
export function getWxDevConfig() {
|
||||
return request.get({ url: '/channel/wx/detail' })
|
||||
}
|
||||
110
admin/src/api/channel/wx_oa.ts
Normal file
@@ -0,0 +1,110 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 设置微信公众号配置
|
||||
export function setOaConfig(params: any) {
|
||||
return request.post({ url: '/channel.official_account_setting/setConfig', params })
|
||||
}
|
||||
|
||||
// 获取微信公众号配置
|
||||
export function getOaConfig() {
|
||||
return request.get({ url: '/channel.official_account_setting/getConfig' })
|
||||
}
|
||||
|
||||
export interface Menu {
|
||||
name: string // 菜单名称
|
||||
has_menu?: boolean // true-配置子菜单 false-不配置
|
||||
type?: string // 菜单类型 click-关键字 view-跳转网页链接 miniprogram - 小程序
|
||||
url?: string // 网页链接
|
||||
appid?: string
|
||||
pagepath?: string
|
||||
sub_button: Menu[] | any
|
||||
}
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @description 获取菜单详情
|
||||
*/
|
||||
export function getOaMenu() {
|
||||
return request.get({ url: '/channel.official_account_menu/detail' })
|
||||
}
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @param { Menu } Menu
|
||||
* @description 菜单保存
|
||||
*/
|
||||
export function setOaMenuSave(params: Menu | any) {
|
||||
return request.post({ url: '/channel.official_account_menu/save', params })
|
||||
}
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @param { Menu } Menu
|
||||
* @description 菜单发布
|
||||
*/
|
||||
export function setOaMenuPublish(params: Menu | any) {
|
||||
return request.post({ url: '/channel.official_account_menu/saveAndPublish', params })
|
||||
}
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @param { string } type
|
||||
* @description 获取回复列表
|
||||
*/
|
||||
export function getOaReplyList(params: { type: string }) {
|
||||
return request.get({ url: '/channel.official_account_reply/lists', params })
|
||||
}
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @param { number } id
|
||||
* @description 回复列表删除
|
||||
*/
|
||||
export function oaReplyDel(params: { id: number }) {
|
||||
return request.post({ url: '/channel.official_account_reply/delete', params })
|
||||
}
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @param { number } id
|
||||
* @description 回复状态修改
|
||||
*/
|
||||
export function changeOaReplyStatus(params: { id: number }) {
|
||||
return request.post({ url: '/channel.official_account_reply/status', params })
|
||||
}
|
||||
|
||||
export interface Reply {
|
||||
content: string // 内容
|
||||
content_type: number // 内容类型: 1=文本
|
||||
keyword?: string // 关键词
|
||||
matching_type?: number // 匹配方式: [1=全匹配, 2=模糊匹配]
|
||||
name: string // 规则名称
|
||||
status: number // 状态: 1=开启, 0=关闭
|
||||
type?: string // 类型: follow=关注, keyword=关键词, default=默认
|
||||
sort: number // 排序
|
||||
reply_type: number // 回复类型 1-关注回复 2-关键词回复 3-默认回复
|
||||
}
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @description 回复添加
|
||||
*/
|
||||
export function oaReplyAdd(params: Reply) {
|
||||
return request.post({ url: '/channel.official_account_reply/add', params })
|
||||
}
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @description 回复编辑
|
||||
*/
|
||||
export function oaReplyEdit(params: Reply) {
|
||||
return request.post({ url: '/channel.official_account_reply/edit', params })
|
||||
}
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @param { string } type
|
||||
* @description 获取回复详情
|
||||
*/
|
||||
export function getOaReplyDetail(params: { id: number }) {
|
||||
return request.get({ url: '/channel.official_account_reply/detail', params })
|
||||
}
|
||||
26
admin/src/api/decorate/index.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 页面装修详情
|
||||
export function getDecoratePages(params: any) {
|
||||
return request.get({ url: '/decorate.page/detail', params }, { ignoreCancelToken: true })
|
||||
}
|
||||
|
||||
// 页面装修保存
|
||||
export function setDecoratePages(params: any) {
|
||||
return request.post({ url: '/decorate.page/save', params })
|
||||
}
|
||||
|
||||
// 获取首页文章数据
|
||||
export function getDecorateArticle(params?: any) {
|
||||
return request.get({ url: '/decorate.data/article', params })
|
||||
}
|
||||
|
||||
// 底部导航详情
|
||||
export function getDecorateTabbar(params?: any) {
|
||||
return request.get({ url: '/decorate.tabbar/detail', params })
|
||||
}
|
||||
|
||||
// 底部导航保存
|
||||
export function setDecorateTabbar(params: any) {
|
||||
return request.post({ url: '/decorate.tabbar/save', params })
|
||||
}
|
||||
41
admin/src/api/decoration.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 页面装修详情
|
||||
export function getDecoratePages(params: any) {
|
||||
return request.get({ url: '/decorate.page/detail', params }, { ignoreCancelToken: true })
|
||||
}
|
||||
|
||||
// 页面装修保存
|
||||
export function setDecoratePages(params: any) {
|
||||
return request.post({ url: '/decorate.page/save', params })
|
||||
}
|
||||
|
||||
// 页面风格详情
|
||||
export function getStyleDetail(params: any) {
|
||||
return request.get({ url: '/decorate.style/detail', params }, { ignoreCancelToken: true })
|
||||
}
|
||||
|
||||
// 页面风格保存
|
||||
export function setStyleDetail(params: any) {
|
||||
return request.post({ url: '/decorate.style/save', params })
|
||||
}
|
||||
|
||||
// 获取首页文章数据
|
||||
export function getDecorateArticle(params?: any) {
|
||||
return request.get({ url: '/decorate.data/article', params })
|
||||
}
|
||||
|
||||
// 底部导航详情
|
||||
export function getDecorateTabbar(params?: any) {
|
||||
return request.get({ url: '/decorate.tabbar/detail', params })
|
||||
}
|
||||
|
||||
// 底部导航保存
|
||||
export function setDecorateTabbar(params: any) {
|
||||
return request.post({ url: '/decorate.tabbar/save', params })
|
||||
}
|
||||
|
||||
// pc装修数据
|
||||
export function getDecoratePc() {
|
||||
return request.get({ url: '/decorate.data/pc' })
|
||||
}
|
||||
39
admin/src/api/file.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function fileCateAdd(params: Record<string, any>) {
|
||||
return request.post({ url: '/file/addCate', params })
|
||||
}
|
||||
|
||||
export function fileCateEdit(params: Record<string, any>) {
|
||||
return request.post({ url: '/file/editCate', params })
|
||||
}
|
||||
|
||||
// 文件分类删除
|
||||
export function fileCateDelete(params: Record<string, any>) {
|
||||
return request.post({ url: '/file/delCate', params })
|
||||
}
|
||||
|
||||
// 文件分类列表
|
||||
export function fileCateLists(params: Record<string, any>) {
|
||||
return request.get({ url: '/file/listCate', params })
|
||||
}
|
||||
|
||||
// 文件列表
|
||||
export function fileList(params: Record<string, any>) {
|
||||
return request.get({ url: '/file/lists', params })
|
||||
}
|
||||
|
||||
// 文件删除
|
||||
export function fileDelete(params: Record<string, any>) {
|
||||
return request.post({ url: '/file/delete', params })
|
||||
}
|
||||
|
||||
// 文件移动
|
||||
export function fileMove(params: Record<string, any>) {
|
||||
return request.post({ url: '/file/move', params })
|
||||
}
|
||||
|
||||
// 文件重命名
|
||||
export function fileRename(params: { id: number; name: string }) {
|
||||
return request.post({ url: '/file/rename', params })
|
||||
}
|
||||
10
admin/src/api/finance/balance.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 余额明细
|
||||
export function apiAccountLogLists(params: any) {
|
||||
return request.get({ url: '/finance.account_log/lists', params })
|
||||
}
|
||||
|
||||
export function changeTypeLists(params: any) {
|
||||
return request.get({ url: '/finance.account_log/changeTypeLists', params })
|
||||
}
|
||||
29
admin/src/api/finance/center.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function getFinanceCenter(params: any) {
|
||||
return request.get({ url: '/finance.center/center', params })
|
||||
}
|
||||
|
||||
//获取提现列表
|
||||
export function getWithdrawtList(params: any) {
|
||||
return request.get({ url: '/finance.withdraw/lists', params })
|
||||
}
|
||||
|
||||
|
||||
//获取提现详情
|
||||
export function apiWithdrawDetail(params: any) {
|
||||
return request.get({ url: '/finance.withdraw/detail', params })
|
||||
}
|
||||
|
||||
|
||||
//提现审核
|
||||
export function apiWithdrawVerify(params: any) {
|
||||
return request.post({ url: '/finance.withdraw/audit', params })
|
||||
}
|
||||
|
||||
//提现转账
|
||||
export function apiWithdrawTransfer(params: any) {
|
||||
return request.post({ url: '/finance.withdraw/transfer', params })
|
||||
}
|
||||
|
||||
|
||||
9
admin/src/api/finance/master_work.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function apiList(params: any) {
|
||||
return request.get({ url: '/finance.coachAccountLog/lists', params })
|
||||
}
|
||||
|
||||
export function apiTypeList(params: any) {
|
||||
return request.get({ url: '/finance.coachAccountLog/changeTypeLists', params })
|
||||
}
|
||||
6
admin/src/api/finance/recharge.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 充值记录
|
||||
export function apiRechargeRecord(params: any) {
|
||||
return request.get({ url: '/finance.recharge/lists', params })
|
||||
}
|
||||
13
admin/src/api/finance/record.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function getRefundList(params: any = '') {
|
||||
return request.get({ url: '/order.order_refund/lists', params })
|
||||
}
|
||||
|
||||
export function getRefundlogLists(params: any) {
|
||||
return request.get({ url: '/order.order_refund/logLists', params })
|
||||
}
|
||||
|
||||
export function getreRefund(params: any) {
|
||||
return request.post({ url: '/order.order_refund/reRefund', params })
|
||||
}
|
||||
9
admin/src/api/finance/shop.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function apiList(params: any) {
|
||||
return request.get({ url: '/finance.shopAccountLog/lists', params })
|
||||
}
|
||||
|
||||
export function apiTypeList(params: any) {
|
||||
return request.get({ url: '/finance.shopAccountLog/changeTypeLists', params })
|
||||
}
|
||||
15
admin/src/api/master_worker/apply.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function apiList(params: any) {
|
||||
return request.get({ url: '/coach.coach/applyLists', params })
|
||||
}
|
||||
|
||||
//详情
|
||||
export function apiApplyDetial(params: any) {
|
||||
return request.get({ url: '/coach.coach/detail', params })
|
||||
}
|
||||
|
||||
//详情
|
||||
export function apiAudit(params: any) {
|
||||
return request.post({ url: '/coach.coach/coachAudit', params })
|
||||
}
|
||||
23
admin/src/api/master_worker/bond.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
//保证金列表
|
||||
export function apiBondList(params: any) {
|
||||
return request.get({ url: '/coach.depositPackage/lists', params })
|
||||
}
|
||||
//添加保证金
|
||||
export function apiAddBond(params: any) {
|
||||
return request.post({ url: '/coach.depositPackage/add', params })
|
||||
}
|
||||
//编辑保证金
|
||||
export function apiEditBond(params: any) {
|
||||
return request.post({ url: '/coach.depositPackage/edit', params })
|
||||
}
|
||||
|
||||
//删除保证金
|
||||
export function apiDelBond(params: any) {
|
||||
return request.post({ url: '/coach.depositPackage/del', params })
|
||||
}
|
||||
//技能详情
|
||||
export function apiSkillDetial(params: any) {
|
||||
return request.get({ url: '/coach.skill/detail', params })
|
||||
}
|
||||
20
admin/src/api/master_worker/improve_info.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function apiList(params: any) {
|
||||
return request.get({ url: '/coach.coach/updateCoachLists', params })
|
||||
}
|
||||
|
||||
//详情
|
||||
export function apiEditDetial(params: any) {
|
||||
return request.get({ url: '/coach.coach/updateDetail', params })
|
||||
}
|
||||
|
||||
//详情
|
||||
export function apiUpdate(params: any) {
|
||||
return request.post({ url: '/coach.coach/updateAudit', params })
|
||||
}
|
||||
|
||||
//审核资料详情
|
||||
// export function apiAuditDetail(params: any) {
|
||||
// return request.get({ url: '/coach.coach/updateDetail', params })
|
||||
// }
|
||||
56
admin/src/api/master_worker/index.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 师傅列表
|
||||
export function apiMasterWorkerLists(params: any) {
|
||||
return request.get({ url: '/coach.coach/lists', params })
|
||||
}
|
||||
|
||||
// 师傅详情
|
||||
export function apiMasterWorkerDetail(params: any) {
|
||||
return request.get({ url: '/coach.coach/detail', params })
|
||||
}
|
||||
|
||||
// 师傅添加
|
||||
export function apiMasterWorkerAdd(params: any) {
|
||||
return request.post({ url: '/coach.coach/add', params })
|
||||
}
|
||||
|
||||
// 师傅编辑
|
||||
export function apiMasterWorkerEdit(params: any) {
|
||||
return request.post({ url: '/coach.coach/edit', params })
|
||||
}
|
||||
|
||||
// 师傅状态
|
||||
export function apiMasterWorkerStatusEdit(params: any) {
|
||||
return request.post({ url: '/staff.staff/status', params })
|
||||
}
|
||||
|
||||
// 师傅删除
|
||||
export function apiMasterWorkerDel(params: any) {
|
||||
return request.post({ url: '/staff.staff/del', params })
|
||||
}
|
||||
|
||||
//服务技能列表
|
||||
export function apiSkillLists(params?: any) {
|
||||
return request.get({ url: '/coach.coach/skillLists', params })
|
||||
}
|
||||
|
||||
//城市列表
|
||||
export function apiCityList(params?: any) {
|
||||
return request.get({ url: '/setting.city/getCityLists', params })
|
||||
}
|
||||
|
||||
// 调整技师佣金
|
||||
export function apiAdjustMoney(params: any) {
|
||||
return request.post({ url: '/coach.coach/adjustMoney', params })
|
||||
}
|
||||
|
||||
// 调整技师保证金
|
||||
export function apiAdjustDeposit(params: any) {
|
||||
return request.post({ url: '/coach.coach/adjustDeposit', params })
|
||||
}
|
||||
|
||||
//技师审核/更换资料详情
|
||||
export function apiAuditDetail(params: any) {
|
||||
return request.get({ url: '/coach.coach/detail', params })
|
||||
}
|
||||
30
admin/src/api/master_worker/skill.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function apiList(params: any) {
|
||||
return request.get({ url: '/coach.skill/lists', params })
|
||||
}
|
||||
|
||||
//详情
|
||||
export function apiDetial(params: any) {
|
||||
return request.get({ url: 'coach.coach/detail', params })
|
||||
}
|
||||
|
||||
// 添加
|
||||
export function apiAdd(params: any) {
|
||||
return request.post({ url: '/coach.skill/add', params })
|
||||
}
|
||||
|
||||
// 编辑
|
||||
export function apiEdit(params: any) {
|
||||
return request.post({ url: '/coach.skill/edit', params })
|
||||
}
|
||||
|
||||
// 状态
|
||||
export function apiStatus(params: any) {
|
||||
return request.post({ url: '/coach.skill/status', params })
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function apiDelete(params: any) {
|
||||
return request.post({ url: '/coach.skill/del', params })
|
||||
}
|
||||
41
admin/src/api/message.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 通知设置列表
|
||||
export function noticeLists(params: any) {
|
||||
return request.get({ url: '/notice.notice/settingLists', params })
|
||||
}
|
||||
|
||||
// 通知设置详情
|
||||
export function noticeDetail(params: any) {
|
||||
return request.get({ url: '/notice.notice/detail', params })
|
||||
}
|
||||
|
||||
// 通知设置保存
|
||||
export function setNoticeConfig(params: any) {
|
||||
return request.post({ url: '/notice.notice/set', params })
|
||||
}
|
||||
|
||||
// 短信设置列表
|
||||
export function smsLists() {
|
||||
return request.get({ url: '/notice.sms_config/getConfig' })
|
||||
}
|
||||
|
||||
// 短信设置详情
|
||||
export function smsDetail(params: any) {
|
||||
return request.get({ url: '/notice.sms_config/detail', params })
|
||||
}
|
||||
|
||||
// 短信设置保存
|
||||
export function setSmsConfig(params: any) {
|
||||
return request.post({ url: '/notice.sms_config/setConfig', params })
|
||||
}
|
||||
|
||||
//获取邮箱设置
|
||||
export function getEmailConfig(params: any) {
|
||||
return request.get({ url: '/notice.email_config/getConfig', params })
|
||||
}
|
||||
|
||||
//设置邮箱设置
|
||||
export function setEmailConfig(params: any) {
|
||||
return request.post({ url: '/notice.email_config/setConfig', params })
|
||||
}
|
||||
102
admin/src/api/order/lists.ts
Normal file
@@ -0,0 +1,102 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 订单列表
|
||||
export function apiOrderLists(params: any) {
|
||||
return request.get({ url: '/order.order/lists', params })
|
||||
}
|
||||
|
||||
// 订单详情
|
||||
export function apiOrderDetail(params: any) {
|
||||
return request.get({ url: '/order.order/detail', params })
|
||||
}
|
||||
|
||||
// 订单取消
|
||||
export function apiOrderCancel(params: any) {
|
||||
return request.post({ url: '/order.order/cancel', params })
|
||||
}
|
||||
|
||||
// 订单商家备注
|
||||
export function apiOrderRemark(params: any) {
|
||||
return request.post({ url: '/order.order/remark', params })
|
||||
}
|
||||
|
||||
// 订单商家备注详情
|
||||
export function apiOrderRemarkDetail(params: any) {
|
||||
return request.get({ url: '/order.order/remarkDetail', params })
|
||||
}
|
||||
|
||||
// 订单删除
|
||||
export function apiOrderDel(params: any) {
|
||||
return request.post({ url: '/order.order/del', params })
|
||||
}
|
||||
|
||||
// 订单核销
|
||||
export function apiOrderVerification(params: any) {
|
||||
return request.post({ url: '/order.order/verification', params })
|
||||
}
|
||||
|
||||
// 师傅列表
|
||||
export function apiMasterLists(params: any) {
|
||||
return request.get({ url: '/order.order/staffLists', params })
|
||||
}
|
||||
|
||||
// 指派师傅
|
||||
export function apiDispatchStaff(params: any) {
|
||||
return request.post({ url: '/order.order/dispatchStaff', params })
|
||||
}
|
||||
|
||||
// 获取空闲技师
|
||||
export function getDispatchCoach(params: any) {
|
||||
return request.get({ url: '/order.order/coachLists', params })
|
||||
}
|
||||
|
||||
// 指派技师
|
||||
export function apiDispatchCoach(params: any) {
|
||||
return request.post({ url: '/order.order/dispatchCoach', params })
|
||||
}
|
||||
|
||||
|
||||
// 接单
|
||||
export function apiDispatchTake(params: any) {
|
||||
return request.post({ url: '/order.order/take', params })
|
||||
}
|
||||
|
||||
// 技师出发
|
||||
export function apiDispatchDepart(params: any) {
|
||||
return request.post({ url: '/order.order/depart', params })
|
||||
}
|
||||
|
||||
// 到达
|
||||
export function apiDispatchArrive(params: any) {
|
||||
return request.post({ url: '/order.order/arrive', params })
|
||||
}
|
||||
|
||||
// 服务开始
|
||||
export function apiDispatchStartServer(params: any) {
|
||||
return request.post({ url: '/order.order/startServer', params })
|
||||
}
|
||||
|
||||
// 服务完成
|
||||
export function apiDispatchFinishServer(params: any) {
|
||||
return request.post({ url: '/order.order/finishServer', params })
|
||||
}
|
||||
|
||||
// 获取订单子列表
|
||||
export function apiSubOrderLists(params: any) {
|
||||
return request.get({ url: '/order.order/subOrderLists', params })
|
||||
}
|
||||
|
||||
// 退款
|
||||
export function apiOrderRefund(params: any) {
|
||||
return request.post({ url: '/order.order/refund', params })
|
||||
}
|
||||
|
||||
// 获取订单退款信息
|
||||
export function apiRefundInfo(params: any) {
|
||||
return request.post({ url: '/order.order/getRefundInfo', params })
|
||||
}
|
||||
|
||||
// 获取订单结算信息
|
||||
export function apiGetOrderSettle(params: any) {
|
||||
return request.get({ url: '/order.order/getOrderSettle', params })
|
||||
}
|
||||
41
admin/src/api/order/subscribe.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import request from "@/utils/request";
|
||||
|
||||
// 获取预约天数
|
||||
export function apiGetOrderTime() {
|
||||
return request.get({ url: "/order.order_time/getTime" });
|
||||
}
|
||||
|
||||
// 设置预约天数
|
||||
export function apiSetOrderTime(params: any) {
|
||||
return request.post({ url: "/order.order_time/setTime", params });
|
||||
}
|
||||
|
||||
// 获取时间段列表
|
||||
export function apiOrderTimeLists(params: any) {
|
||||
return request.get({ url: "/order.order_time/lists", params });
|
||||
}
|
||||
|
||||
// 获取时间段详情
|
||||
export function apiOrderTimeDetail(params: any) {
|
||||
return request.get({ url: "/order.order_time/detail", params });
|
||||
}
|
||||
|
||||
// 添加时间段
|
||||
export function apiOrderTimeAdd(params: any) {
|
||||
return request.post({ url: "/order.order_time/add", params });
|
||||
}
|
||||
|
||||
// 编辑时间段
|
||||
export function apiOrderTimeEdit(params: any) {
|
||||
return request.post({ url: "/order.order_time/edit", params });
|
||||
}
|
||||
|
||||
// 删除时间段
|
||||
export function apiOrderTimeDel(params: any) {
|
||||
return request.post({ url: "/order.order_time/del", params });
|
||||
}
|
||||
|
||||
// 修改排序
|
||||
export function apiTimeSort(params: any) {
|
||||
return request.post({ url: "/order.order_time/sort", params });
|
||||
}
|
||||
26
admin/src/api/org/department.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 部门列表
|
||||
export function deptLists(params?: any) {
|
||||
return request.get({ url: '/dept.dept/lists', params })
|
||||
}
|
||||
|
||||
// 添加部门
|
||||
export function deptAdd(params: any) {
|
||||
return request.post({ url: '/dept.dept/add', params })
|
||||
}
|
||||
|
||||
// 编辑部门
|
||||
export function deptEdit(params: any) {
|
||||
return request.post({ url: '/dept.dept/edit', params })
|
||||
}
|
||||
|
||||
// 删除部门
|
||||
export function deptDelete(params: any) {
|
||||
return request.post({ url: '/dept.dept/delete', params })
|
||||
}
|
||||
|
||||
// 上级部门列表
|
||||
export function leaderDept() {
|
||||
return request.get({ url: 'dept.dept/leaderDept' })
|
||||
}
|
||||
21
admin/src/api/org/post.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 岗位列表
|
||||
export function jobsLists(params: any) {
|
||||
return request.get({ url: '/dept.jobs/lists', params })
|
||||
}
|
||||
|
||||
// 添加岗位
|
||||
export function jobsAdd(params: any) {
|
||||
return request.post({ url: '/dept.jobs/add', params })
|
||||
}
|
||||
|
||||
// 编辑岗位
|
||||
export function jobsEdit(params: any) {
|
||||
return request.post({ url: '/dept.jobs/edit', params })
|
||||
}
|
||||
|
||||
// 删除岗位
|
||||
export function jobsDelete(params: any) {
|
||||
return request.post({ url: '/dept.jobs/delete', params })
|
||||
}
|
||||
21
admin/src/api/perms/admin.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 管理员列表
|
||||
export function adminLists(params: any) {
|
||||
return request.get({ url: '/auth.admin/lists', params })
|
||||
}
|
||||
|
||||
// 管理员添加
|
||||
export function adminAdd(params: any) {
|
||||
return request.post({ url: '/auth.admin/add', params })
|
||||
}
|
||||
|
||||
// 管理员编辑
|
||||
export function adminEdit(params: any) {
|
||||
return request.post({ url: '/auth.admin/edit', params })
|
||||
}
|
||||
|
||||
// 管理员删除
|
||||
export function adminDelete(params: any) {
|
||||
return request.post({ url: '/auth.admin/delete', params })
|
||||
}
|
||||
26
admin/src/api/perms/menu.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 菜单列表
|
||||
export function menuLists(params: Record<string, any>) {
|
||||
return request.get({ url: '/auth.menu/lists', params })
|
||||
}
|
||||
|
||||
// 添加菜单
|
||||
export function menuAdd(params: Record<string, any>) {
|
||||
return request.post({ url: '/auth.menu/add', params })
|
||||
}
|
||||
|
||||
// 编辑菜单
|
||||
export function menuEdit(params: Record<string, any>) {
|
||||
return request.post({ url: '/auth.menu/edit', params })
|
||||
}
|
||||
|
||||
// 菜单删除
|
||||
export function menuDelete(params: Record<string, any>) {
|
||||
return request.post({ url: '/auth.menu/delete', params })
|
||||
}
|
||||
|
||||
// 菜单详情
|
||||
export function menuDetail(params: Record<string, any>) {
|
||||
return request.get({ url: '/auth.menu/detail', params })
|
||||
}
|
||||
23
admin/src/api/perms/role.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 角色列表
|
||||
export function roleLists(params: any) {
|
||||
return request.get({ url: '/auth.role/lists', params })
|
||||
}
|
||||
// 添加角色
|
||||
export function roleAdd(params: any) {
|
||||
return request.post({ url: '/auth.role/add', params })
|
||||
}
|
||||
// 编辑角色
|
||||
export function roleEdit(params: any) {
|
||||
return request.post({ url: '/auth.role/edit', params })
|
||||
}
|
||||
// 删除角色
|
||||
export function roleDelete(params: any) {
|
||||
return request.post({ url: '/auth.role/delete', params })
|
||||
}
|
||||
|
||||
// 角色详情
|
||||
export function roleDetail(params: any) {
|
||||
return request.get({ url: '/auth.role/detail', params })
|
||||
}
|
||||
47
admin/src/api/service/category.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 分类列表
|
||||
export function apiCategoryLists(params?: any) {
|
||||
return request.get({ url: '/goods.goodsCategory/lists', params })
|
||||
}
|
||||
|
||||
// 分类列表
|
||||
export function apiCategoryListsNoPager(params?: any) {
|
||||
return request.get({ url: '/goods.goods/categoryLists', params })
|
||||
}
|
||||
|
||||
// 添加分类
|
||||
export function apiCategoryAdd(params: any) {
|
||||
return request.post({ url: '/goods.goods_category/add', params })
|
||||
}
|
||||
|
||||
// 删除分类
|
||||
export function apiCategoryDel(params: any) {
|
||||
return request.post({ url: '/goods.goods_category/del', params })
|
||||
}
|
||||
|
||||
// 编辑分类
|
||||
export function apiCategoryEdit(params: any) {
|
||||
return request.post({ url: '/goods.goods_category/edit', params })
|
||||
}
|
||||
|
||||
// 编辑分类状态
|
||||
export function apiCategoryStatusEdit(params: any) {
|
||||
return request.post({ url: '/goods.goods_category/status', params })
|
||||
}
|
||||
|
||||
// 分类详情
|
||||
export function apiCategoryDetail(params: any) {
|
||||
return request.get({ url: '/goods.goods_category/detail', params })
|
||||
}
|
||||
|
||||
// 通用分类列表
|
||||
export function apiCategoryCommonLists() {
|
||||
return request.get({ url: '/goods.goods_category/commonLists' })
|
||||
}
|
||||
|
||||
|
||||
// 分类列表 is_son参数:0-全部(一级二级);1-拿二级分类
|
||||
export function apiGoodsCategoryCommonLists(params?: any) {
|
||||
return request.get({ url: '/goods.GoodsCategory/commonLists?', params })
|
||||
}
|
||||
21
admin/src/api/service/evaluate.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 评价列表
|
||||
export function apiCommentLists(params: any) {
|
||||
return request.get({ url: '/goods.goods_comment/lists', params })
|
||||
}
|
||||
|
||||
// 评价回复
|
||||
export function apiCommentReply(params: any) {
|
||||
return request.post({ url: '/goods.goods_comment/reply', params })
|
||||
}
|
||||
|
||||
// 删除评价
|
||||
export function apiCommentDel(params: any) {
|
||||
return request.post({ url: '/goods.goods_comment/del', params })
|
||||
}
|
||||
|
||||
// 评价详情
|
||||
export function apiCommentDetail(params: any) {
|
||||
return request.get({ url: '/goods.goods_comment/detail', params })
|
||||
}
|
||||
31
admin/src/api/service/lists.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 服务列表
|
||||
export function apiServiceLists(params: any) {
|
||||
return request.get({ url: '/goods.goods/lists', params })
|
||||
}
|
||||
|
||||
// 添加服务
|
||||
export function apiServiceAdd(params: any) {
|
||||
return request.post({ url: '/goods.goods/add', params })
|
||||
}
|
||||
|
||||
// 删除服务
|
||||
export function apiServiceDel(params: any) {
|
||||
return request.post({ url: '/goods.goods/del', params })
|
||||
}
|
||||
|
||||
// 编辑服务
|
||||
export function apiServiceEdit(params: any) {
|
||||
return request.post({ url: '/goods.goods/edit', params })
|
||||
}
|
||||
|
||||
// 编辑服务状态
|
||||
export function apiServiceStatus(params: any) {
|
||||
return request.post({ url: '/goods.goods/status', params })
|
||||
}
|
||||
|
||||
// 服务详情
|
||||
export function apiServiceDetail(params: any) {
|
||||
return request.get({ url: '/goods.goods/detail', params })
|
||||
}
|
||||
31
admin/src/api/service/unit.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 单位列表
|
||||
export function apiUnitLists(params: any) {
|
||||
return request.get({ url: '/goods.goods_unit/lists', params })
|
||||
}
|
||||
|
||||
// 添加单位
|
||||
export function apiUnitAdd(params: any) {
|
||||
return request.post({ url: '/goods.goods_unit/add', params })
|
||||
}
|
||||
|
||||
// 删除单位
|
||||
export function apiUnitDel(params: any) {
|
||||
return request.post({ url: '/goods.goods_unit/del', params })
|
||||
}
|
||||
|
||||
// 编辑单位
|
||||
export function apiUnitEdit(params: any) {
|
||||
return request.post({ url: '/goods.goods_unit/edit', params })
|
||||
}
|
||||
|
||||
// 单位详情
|
||||
export function apiUnitDetail(params: any) {
|
||||
return request.get({ url: '/goods.goods_unit/detail', params })
|
||||
}
|
||||
|
||||
// 通用单位列表
|
||||
export function apiUnitCommonLists() {
|
||||
return request.get({ url: '/goods.goods_unit/commonLists' })
|
||||
}
|
||||
56
admin/src/api/setting/dict.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 字典类型列表
|
||||
export function dictTypeLists(params: any) {
|
||||
return request.get({ url: '/setting.dict.dict_type/lists', params })
|
||||
}
|
||||
|
||||
// 添加字典类型
|
||||
export function dictTypeAdd(params: any) {
|
||||
return request.post({ url: '/setting.dict.dict_type/add', params })
|
||||
}
|
||||
|
||||
// 编辑字典类型
|
||||
export function dictTypeEdit(params: any) {
|
||||
return request.post({ url: '/setting.dict.dict_type/edit', params })
|
||||
}
|
||||
|
||||
// 删除字典类型
|
||||
export function dictTypeDelete(params: any) {
|
||||
return request.post({ url: '/setting.dict.dict_type/delete', params })
|
||||
}
|
||||
|
||||
// 字典类型详情
|
||||
export function dictTypeDetail(params: any) {
|
||||
return request.get({ url: '/setting.dict.dict_type/detail', params })
|
||||
}
|
||||
|
||||
// 字典数据列表
|
||||
export function dictDataLists(params: any) {
|
||||
return request.get(
|
||||
{ url: '/setting.dict.dict_data/lists', params },
|
||||
{
|
||||
ignoreCancelToken: true
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// 添加字典数据
|
||||
export function dictDataAdd(params: any) {
|
||||
return request.post({ url: '/setting.dict.dict_data/add', params })
|
||||
}
|
||||
|
||||
// 编辑字典数据
|
||||
export function dictDataEdit(params: any) {
|
||||
return request.post({ url: '/setting.dict.dict_data/edit', params })
|
||||
}
|
||||
|
||||
// 删除字典数据
|
||||
export function dictDataDelete(params: any) {
|
||||
return request.post({ url: '/setting.dict.dict_data/delete', params })
|
||||
}
|
||||
|
||||
// 字典数据详情
|
||||
export function dictDataDetail(params: any) {
|
||||
return request.get({ url: '/setting.dict.dict_data/detail', params })
|
||||
}
|
||||
31
admin/src/api/setting/map.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 地图key列表
|
||||
export function apiMapKeyLists(params: any) {
|
||||
return request.get({ url: '/setting.map_key/lists', params })
|
||||
}
|
||||
|
||||
// 地图key公共列表
|
||||
export function apiMapKeyCommonLists(params: any) {
|
||||
return request.get({ url: '/setting.map_key/commonLists', params })
|
||||
}
|
||||
|
||||
// 新增key
|
||||
export function apiMapKeyAdd(params: any) {
|
||||
return request.post({ url: '/setting.map_key/add', params })
|
||||
}
|
||||
|
||||
// 编辑key
|
||||
export function apiMapKeyEdit(params: any) {
|
||||
return request.post({ url: '/setting.map_key/edit', params })
|
||||
}
|
||||
|
||||
// key详情
|
||||
export function apiMapKeyDetail(params: any) {
|
||||
return request.get({ url: '/setting.map_key/detail', params })
|
||||
}
|
||||
|
||||
// 删除key
|
||||
export function apiMapKeyDel(params: any) {
|
||||
return request.post({ url: '/setting.map_key/del', params })
|
||||
}
|
||||
31
admin/src/api/setting/message.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 通知设置列表
|
||||
export function noticeLists(params: any) {
|
||||
return request.get({ url: '/notice.notice/settingLists', params })
|
||||
}
|
||||
|
||||
// 通知设置详情
|
||||
export function noticeDetail(params: any) {
|
||||
return request.get({ url: '/notice.notice/detail', params })
|
||||
}
|
||||
|
||||
// 通知设置保存
|
||||
export function setNoticeConfig(params: any) {
|
||||
return request.post({ url: '/notice.notice/set', params })
|
||||
}
|
||||
|
||||
// 短信设置列表
|
||||
export function smsLists(params: any) {
|
||||
return request.get({ url: '/notice.sms_config/getConfig', params })
|
||||
}
|
||||
|
||||
// 短信设置详情
|
||||
export function smsDetail(params: any) {
|
||||
return request.get({ url: '/notice.sms_config/detail', params })
|
||||
}
|
||||
|
||||
// 短信设置保存
|
||||
export function setSmsConfig(params: any) {
|
||||
return request.post({ url: '/notice.sms_config/setConfig', params })
|
||||
}
|
||||
18
admin/src/api/setting/open_city.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 城市列表
|
||||
export function cityList(params: any) {
|
||||
return request.get({ url: '/setting.city/lists', params })
|
||||
}
|
||||
// 添加城市
|
||||
export function addCity(params: any) {
|
||||
return request.post({ url: '/setting.city/add', params })
|
||||
}
|
||||
// 编辑城市
|
||||
export function editCity(params: any) {
|
||||
return request.post({ url: '/setting.city/edit', params })
|
||||
}
|
||||
// 删除城市
|
||||
export function delCity(params: any) {
|
||||
return request.post({ url: '/setting.city/del', params })
|
||||
}
|
||||
28
admin/src/api/setting/payment.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/** 支付配置 Start **/
|
||||
// 获取支付配置
|
||||
export function apiPaymentConfigLists() {
|
||||
return request.get({ url: '/setting.pay.pay_config/lists' })
|
||||
}
|
||||
|
||||
// 支付配置设置
|
||||
export function apiPaymentConfigSet(params: any) {
|
||||
return request.post({ url: '/setting.pay.pay_config/edit', params })
|
||||
}
|
||||
|
||||
// 支付配置详情
|
||||
export function apiPaymentConfigDetail(params: any) {
|
||||
return request.get({ url: '/setting.pay.pay_config/detail', params })
|
||||
}
|
||||
|
||||
// 获取支付方式列表
|
||||
export function apiPaymentWayLists() {
|
||||
return request.get({ url: '/setting.pay.pay_way/getPayWay' })
|
||||
}
|
||||
|
||||
// 支付方式设置
|
||||
export function apiPaymentWaySet(params: any) {
|
||||
return request.post({ url: '/setting.pay.pay_way/setPayWay', params })
|
||||
}
|
||||
/** 支付配置 End **/
|
||||
20
admin/src/api/setting/search.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取热门搜索数据
|
||||
export function getSearch() {
|
||||
return request.get({ url: '/setting.hot_search/getConfig' })
|
||||
}
|
||||
|
||||
export interface List {
|
||||
name: string // 搜索关键字
|
||||
sort: number // 热门搜索排序
|
||||
}
|
||||
|
||||
export interface Search {
|
||||
status: number // 是否开启搜索0/1
|
||||
data: List[]
|
||||
}
|
||||
|
||||
export function setSearch(params: Search) {
|
||||
return request.post({ url: '/setting.hot_search/setConfig', params })
|
||||
}
|
||||
21
admin/src/api/setting/storage.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取存储引擎列表
|
||||
export function storageLists() {
|
||||
return request.get({ url: '/setting.storage/lists' })
|
||||
}
|
||||
|
||||
// 设置存储引擎信息
|
||||
export function storageChange(params: any) {
|
||||
return request.post({ url: '/setting.storage/change', params })
|
||||
}
|
||||
|
||||
// 设置存储引擎信息
|
||||
export function storageSetup(params: any) {
|
||||
return request.post({ url: '/setting.storage/setup', params })
|
||||
}
|
||||
|
||||
// 获取存储配置信息
|
||||
export function storageDetail(params: any) {
|
||||
return request.get({ url: '/setting.storage/detail', params })
|
||||
}
|
||||
56
admin/src/api/setting/system.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取系统环境
|
||||
export function systemInfo() {
|
||||
return request.get({ url: '/setting.system.system/info' })
|
||||
}
|
||||
|
||||
// 获取系统日志列表
|
||||
export function systemLogLists(params: any) {
|
||||
return request.get({ url: '/setting.system.log/lists', params })
|
||||
}
|
||||
|
||||
// 清除系统缓存
|
||||
export function systemCacheClear() {
|
||||
return request.post({ url: '/setting.system.cache/clear' })
|
||||
}
|
||||
|
||||
// 定时任务列表
|
||||
export const apiCrontabLists = () => request.get({ url: '/crontab.crontab/lists' })
|
||||
|
||||
// 添加定时任务
|
||||
export const apiCrontabAdd = (params: any) => request.post({ url: '/crontab.crontab/add', params })
|
||||
|
||||
// 查看详情
|
||||
export const apiCrontabDetail = (params: any) =>
|
||||
request.get({ url: '/crontab.crontab/detail', params })
|
||||
|
||||
// 编辑定时任务
|
||||
export const apiCrontabEdit = (params: any) =>
|
||||
request.post({ url: '/crontab.crontab/edit', params })
|
||||
|
||||
// 删除定时任务
|
||||
export const apiCrontabDel = (params: any) =>
|
||||
request.post({ url: '/crontab.crontab/delete', params })
|
||||
|
||||
// 获取规则执行时间
|
||||
export const apiCrontabExpression = (params: any) =>
|
||||
request.get({ url: '/crontab.crontab/expression', params })
|
||||
|
||||
// 操作定时任务
|
||||
export const apiSrontabOperate = (params: any) =>
|
||||
request.post({ url: '/crontab.crontab/operate', params })
|
||||
|
||||
/** S 系统更新 **/
|
||||
// 系统更新列表
|
||||
export const apiSystemUpgradeLists = (params: any) =>
|
||||
request.get({ url: '/setting.system.upgrade/lists', params })
|
||||
|
||||
// 下载更新包
|
||||
export const apiSystemUpgradeDownloadPkg = (params: any) =>
|
||||
request.post({ url: '/setting.system.upgrade/downloadPkg', params })
|
||||
|
||||
// 一键更新
|
||||
export const apiSystemUpgrade = (params: any) =>
|
||||
request.post({ url: '/setting.system.upgrade/upgrade', params })
|
||||
/** E 系统更新 **/
|
||||
21
admin/src/api/setting/text.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 文本列表
|
||||
export function textLists(params: any) {
|
||||
return request.get({ url: '/setting.text/lists', params })
|
||||
}
|
||||
|
||||
// 文本新增
|
||||
export function textAdd(params: any) {
|
||||
return request.post({ url: '/setting.text/add', params })
|
||||
}
|
||||
|
||||
// 文本编辑
|
||||
export function textEdit(params: any) {
|
||||
return request.post({ url: '/setting.text/edit', params })
|
||||
}
|
||||
|
||||
// 文本删除
|
||||
export function textDel(params: any) {
|
||||
return request.post({ url: '/setting.text/del', params })
|
||||
}
|
||||
39
admin/src/api/setting/user.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取用户设置
|
||||
export function apiUserConfigGet() {
|
||||
return request.get({ url: '/setting.user.user/getConfig' })
|
||||
}
|
||||
|
||||
// 用户设置
|
||||
export function apiUserConfigSet(params: any) {
|
||||
return request.post({ url: '/setting.user.user/setConfig', params })
|
||||
}
|
||||
|
||||
// 获取登录注册设置
|
||||
export function apiLoginConfigGet() {
|
||||
return request.get({ url: '/setting.user.user/getRegisterConfig' })
|
||||
}
|
||||
|
||||
// 登录注册设置
|
||||
export function apiLoginConfigSet(params: any) {
|
||||
return request.post({ url: '/setting.user.user/setRegisterConfig', params })
|
||||
}
|
||||
|
||||
// 提现设置
|
||||
export function withdraw() {
|
||||
return request.get({ url: '/setting.user.user/getWithdrawConfig' })
|
||||
}
|
||||
|
||||
// 提现设置
|
||||
export function savewithdraw(params: any) {
|
||||
return request.post({ url: '/setting.user.user/setWithdrawConfig', params })
|
||||
}
|
||||
|
||||
export interface LoginSetup {
|
||||
login_way: any // 登录方式, 逗号隔开
|
||||
coerce_mobile: number // 强制绑定手机 0/1
|
||||
login_agreement?: number // 是否开启协议 0/1
|
||||
third_auth: number // 第三方登录 0/1
|
||||
wechat_auth: any // 第三方自动登录 逗号隔开
|
||||
}
|
||||
57
admin/src/api/setting/website.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取备案信息
|
||||
export function getCopyright() {
|
||||
return request.get({ url: '/setting.web.web_setting/getCopyright' })
|
||||
}
|
||||
// 设置备案信息
|
||||
export function setCopyright(params: any) {
|
||||
return request.post({ url: '/setting.web.web_setting/setCopyright', params })
|
||||
}
|
||||
// 获取网站信息
|
||||
export function getWebsite() {
|
||||
return request.get({ url: '/setting.web.web_setting/getWebsite' })
|
||||
}
|
||||
// 设置网站信息
|
||||
export function setWebsite(params: any) {
|
||||
return request.post({ url: '/setting.web.web_setting/setWebsite', params })
|
||||
}
|
||||
|
||||
// 获取政策协议
|
||||
export function getProtocol() {
|
||||
return request.get({ url: '/setting.web.web_setting/getAgreement' })
|
||||
}
|
||||
// 设置政策协议
|
||||
export function setProtocol(params: any) {
|
||||
return request.post({ url: '/setting.web.web_setting/setAgreement', params })
|
||||
}
|
||||
|
||||
// 获取基础配置
|
||||
export function getBaseConfig() {
|
||||
return request.get({ url: '/setting.base/getConfig' })
|
||||
}
|
||||
// 设置基础配置
|
||||
export function setBaseConfig(params: any) {
|
||||
return request.post({ url: '/setting.base/setConfig', params })
|
||||
}
|
||||
|
||||
// 获取文本列表
|
||||
export function getTextLists() {
|
||||
return request.get({ url: '/setting.text/lists' })
|
||||
}
|
||||
// 添加文本
|
||||
export function setTextAdd(params: any) {
|
||||
return request.post({ url: '/setting.text/add', params })
|
||||
}
|
||||
|
||||
// 编辑文本
|
||||
export function setTextEdit(params: any) {
|
||||
return request.post({ url: '/setting.text/edit', params })
|
||||
}
|
||||
|
||||
// 删除文本
|
||||
export function setTextDel(params: any) {
|
||||
return request.post({ url: '/setting.text/del', params })
|
||||
}
|
||||
|
||||
|
||||
46
admin/src/api/tools/code.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 代码生成已选数据表列表接口
|
||||
export function generateTable(params: any) {
|
||||
return request.get({ url: '/tools.generator/generateTable', params })
|
||||
}
|
||||
|
||||
// 数据表列表接口
|
||||
export function dataTable(params: any) {
|
||||
return request.get({ url: '/tools.generator/dataTable', params })
|
||||
}
|
||||
|
||||
//选择要生成代码的数据表
|
||||
export function selectTable(params: any) {
|
||||
return request.post({ url: '/tools.generator/selectTable', params })
|
||||
}
|
||||
|
||||
// 已选择的数据表详情
|
||||
export function tableDetail(params: any) {
|
||||
return request.get({ url: '/tools.generator/detail', params })
|
||||
}
|
||||
|
||||
//同步字段
|
||||
export function syncColumn(params: any) {
|
||||
return request.post({ url: '/tools.generator/syncColumn', params })
|
||||
}
|
||||
|
||||
//删除已选择的数据表
|
||||
export function generateDelete(params: any) {
|
||||
return request.post({ url: '/tools.generator/delete', params })
|
||||
}
|
||||
|
||||
//编辑已选表字段
|
||||
export function generateEdit(params: any) {
|
||||
return request.post({ url: '/tools.generator/edit', params })
|
||||
}
|
||||
|
||||
//预览代码
|
||||
export function generatePreview(params: any) {
|
||||
return request.post({ url: '/tools.generator/preview', params })
|
||||
}
|
||||
|
||||
//生成代码
|
||||
export function generateCode(params: any) {
|
||||
return request.post({ url: '/tools.generator/generate', params })
|
||||
}
|
||||
11
admin/src/api/transaction_settings/index.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取设置
|
||||
export function getConfig(params: any = '') {
|
||||
return request.get({ url: '/setting.system.system/getGeneralSetting', params })
|
||||
}
|
||||
|
||||
// 设置设置
|
||||
export function setConfig(params: any) {
|
||||
return request.post({ url: '/setting.system.system/setGeneralSetting', params })
|
||||
}
|
||||
46
admin/src/api/user.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import config from '@/config'
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 登录
|
||||
export function login(params: Record<string, any>) {
|
||||
return request.post({ url: '/login/account', params: { ...params, terminal: config.terminal } })
|
||||
}
|
||||
|
||||
// 退出登录
|
||||
export function logout() {
|
||||
return request.post({ url: '/login/logout' })
|
||||
}
|
||||
|
||||
// 用户信息
|
||||
export function getUserInfo() {
|
||||
return request.get({ url: '/auth.admin/mySelf' })
|
||||
}
|
||||
|
||||
// 编辑管理员信息
|
||||
export function setUserInfo(params: any) {
|
||||
return request.post({ url: '/auth.admin/editSelf', params })
|
||||
}
|
||||
|
||||
// 用户列表
|
||||
export function apiUserLists(params: any) {
|
||||
return request.get({ url: '/user.user/lists', params })
|
||||
}
|
||||
|
||||
// 设置用户信息
|
||||
export function apiSetUserInfo(params: {
|
||||
id: number | string
|
||||
field: string
|
||||
value: string | number
|
||||
}) {
|
||||
return request.post({ url: '/user.user/editInfo', params })
|
||||
}
|
||||
|
||||
// 用户详情
|
||||
export function apiUserDetail(params: any) {
|
||||
return request.get({ url: '/user.user/detail', params })
|
||||
}
|
||||
|
||||
//调整用户钱包
|
||||
export function adjustUserWallet(params: any) {
|
||||
return request.post({ url: '/user.user/adjustBalance', params })
|
||||
}
|
||||
58
admin/src/assets/data/nationData.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
export default [
|
||||
{ id: 1, name: '汉族' },
|
||||
{ id: 2, name: '蒙古族' },
|
||||
{ id: 3, name: '回族' },
|
||||
{ id: 4, name: '藏族' },
|
||||
{ id: 5, name: '维吾尔族' },
|
||||
{ id: 6, name: '苗族' },
|
||||
{ id: 7, name: '彝族' },
|
||||
{ id: 8, name: '壮族' },
|
||||
{ id: 9, name: '布依族' },
|
||||
{ id: 10, name: '朝鲜族' },
|
||||
{ id: 11, name: '满族' },
|
||||
{ id: 12, name: '侗族' },
|
||||
{ id: 13, name: '瑶族' },
|
||||
{ id: 14, name: '白族' },
|
||||
{ id: 15, name: '土家族' },
|
||||
{ id: 16, name: '哈尼族' },
|
||||
{ id: 17, name: '哈萨克族' },
|
||||
{ id: 18, name: '傣族' },
|
||||
{ id: 19, name: '黎族' },
|
||||
{ id: 20, name: '傈僳族' },
|
||||
{ id: 21, name: '佤族' },
|
||||
{ id: 22, name: '畲族' },
|
||||
{ id: 23, name: '高山族' },
|
||||
{ id: 24, name: '拉祜族' },
|
||||
{ id: 25, name: '水族' },
|
||||
{ id: 26, name: '东乡族' },
|
||||
{ id: 27, name: '纳西族' },
|
||||
{ id: 28, name: '景颇族' },
|
||||
{ id: 29, name: '柯尔克孜族' },
|
||||
{ id: 30, name: '土族' },
|
||||
{ id: 31, name: '达斡尔族' },
|
||||
{ id: 32, name: '仫佬族' },
|
||||
{ id: 33, name: '羌族' },
|
||||
{ id: 34, name: '布朗族' },
|
||||
{ id: 35, name: '撒拉族' },
|
||||
{ id: 36, name: '毛南族' },
|
||||
{ id: 37, name: '仡佬族' },
|
||||
{ id: 38, name: '锡伯族' },
|
||||
{ id: 39, name: '阿昌族' },
|
||||
{ id: 40, name: '普米族' },
|
||||
{ id: 41, name: '塔吉克族' },
|
||||
{ id: 42, name: '怒族' },
|
||||
{ id: 43, name: '乌孜别克族' },
|
||||
{ id: 44, name: '俄罗斯族' },
|
||||
{ id: 45, name: '鄂温克族' },
|
||||
{ id: 46, name: '德昂族' },
|
||||
{ id: 47, name: '保安族' },
|
||||
{ id: 48, name: '裕固族' },
|
||||
{ id: 49, name: '京族' },
|
||||
{ id: 50, name: '塔塔尔族' },
|
||||
{ id: 51, name: '独龙族' },
|
||||
{ id: 52, name: '鄂伦春族' },
|
||||
{ id: 53, name: '赫哲族' },
|
||||
{ id: 54, name: '门巴族' },
|
||||
{ id: 55, name: '珞巴族' },
|
||||
{ id: 56, name: '基诺族' }
|
||||
]
|
||||
1
admin/src/assets/icons/Androidfanhui.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M502.869333 201.408a32.853333 32.853333 0 0 1 0 45.44L276.906667 480h544.384a32 32 0 0 1 0 64H276.885333l225.984 233.130667a32.853333 32.853333 0 0 1 0 45.44 30.485333 30.485333 0 0 1-44.053333 0L179.776 534.741333a32.128 32.128 0 0 1-6.848-10.688 32.213333 32.213333 0 0 1-0.085333-23.808l0.106666-0.32c1.514667-3.861333 3.797333-7.488 6.826667-10.624L458.837333 201.386667a30.485333 30.485333 0 0 1 44.053334 0z" /></svg>
|
||||
|
After Width: | Height: | Size: 689 B |
25
admin/src/assets/icons/Frame.svg
Normal file
@@ -0,0 +1,25 @@
|
||||
<svg width="148" height="148" viewBox="0 0 148 148" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_779_17268)">
|
||||
<path opacity="0.01" d="M0 0H148V148H0V0Z" fill="white"/>
|
||||
<path d="M64.8536 42.032C64.4219 41.2775 63.7985 40.6504 63.0466 40.2142C62.2946 39.7781 61.4407 39.5484 60.5714 39.5484C59.7021 39.5484 58.8483 39.7781 58.0963 40.2142C57.3443 40.6504 56.721 41.2775 56.2893 42.032L5.58944 130.748C5.15972 131.498 4.93473 132.348 4.93703 133.213C4.93933 134.078 5.16883 134.927 5.60254 135.675C6.03624 136.423 6.65892 137.043 7.40817 137.475C8.15743 137.907 9.00694 138.134 9.87157 138.133H111.271C112.135 138.133 112.984 137.906 113.732 137.475C114.481 137.043 115.103 136.423 115.537 135.676C115.97 134.929 116.2 134.081 116.203 133.217C116.206 132.353 115.982 131.503 115.553 130.753L64.8585 42.0271L64.8536 42.032Z" fill="url(#paint0_linear_779_17268)"/>
|
||||
<path d="M128.744 28.1866C129.573 30.1886 130 32.3343 130 34.5013C130 38.8771 128.261 43.0736 125.167 46.1677C122.072 49.2618 117.876 51 113.5 51C109.124 51 104.927 49.2618 101.833 46.1677C98.7389 43.0736 97.0003 38.8771 97 34.5013C96.9998 32.3343 97.4265 30.1886 98.2556 28.1866C99.0847 26.1846 100.3 24.3655 101.832 22.8332C103.364 21.3009 105.183 20.0854 107.185 19.2561C109.187 18.4268 111.333 18 113.5 18C115.667 18 117.813 18.4268 119.815 19.2561C121.817 20.0854 123.636 21.3009 125.168 22.8332C126.7 24.3655 127.915 26.1846 128.744 28.1866Z" fill="url(#paint1_linear_779_17268)"/>
|
||||
<path d="M104.251 76.5653C104.683 75.8108 105.306 75.1837 106.058 74.7476C106.81 74.3114 107.664 74.0817 108.533 74.0817C109.403 74.0817 110.256 74.3114 111.008 74.7476C111.76 75.1837 112.384 75.8108 112.815 76.5653L143.782 130.753C144.21 131.503 144.434 132.353 144.432 133.217C144.429 134.081 144.199 134.929 143.765 135.676C143.332 136.423 142.71 137.043 141.961 137.475C141.212 137.906 140.364 138.133 139.5 138.133H77.5668C76.7028 138.133 75.8541 137.906 75.1056 137.475C74.357 137.043 73.7348 136.423 73.3012 135.676C72.8677 134.929 72.638 134.081 72.635 133.217C72.6321 132.353 72.8561 131.503 73.2846 130.753L104.251 76.5604V76.5653Z" fill="url(#paint2_linear_779_17268)"/>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_779_17268" x1="60.57" y1="39.5484" x2="60.57" y2="138.133" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#D4E2FF"/>
|
||||
<stop offset="1" stop-color="#EBEBEB" stop-opacity="0.2"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_779_17268" x1="113.5" y1="18" x2="113.5" y2="51" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#D4E2FF"/>
|
||||
<stop offset="1" stop-color="#EBEBEB" stop-opacity="0.2"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_779_17268" x1="108.533" y1="74.0817" x2="108.533" y2="138.133" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#D4E2FF"/>
|
||||
<stop offset="1" stop-color="#EBEBEB" stop-opacity="0.2"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_779_17268">
|
||||
<rect width="148" height="148" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
1
admin/src/assets/icons/KMSguanli.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M853.333333 170.666667a85.333333 85.333333 0 0 1 85.333334 85.333333v426.666667a85.333333 85.333333 0 0 1-85.333334 85.333333H576v42.666667h74.666667a32 32 0 0 1 0 64h-277.333334a32 32 0 0 1 0-64H448v-42.666667H170.666667a85.333333 85.333333 0 0 1-85.333334-85.333333V256a85.333333 85.333333 0 0 1 85.333334-85.333333h682.666666z m-127.957333 213.333333c-37.056 0.277333-77.824 17.258667-77.824 58.666667 0 45.12 37.909333 56.042667 78.976 60.928 26.709333 2.88 46.506667 10.666667 46.506667 29.632 0 21.845333-22.4 30.186667-46.229334 30.186666-24.405333 0-47.658667-9.792-56.576-31.914666l-31.573333 16.384c14.933333 36.8 46.506667 49.450667 87.573333 49.450666 44.8 0 84.437333-19.264 84.437334-64.106666 0-46.506667-36.650667-58.24-77.056-63.616l-3.925334-0.512c-24.106667-2.88-44.8-7.765333-44.8-25.301334 0-14.933333 13.504-26.730667 41.642667-26.730666 21.824 0 40.768 10.922667 47.658667 22.421333l30.165333-15.530667C789.12 392.917333 756.672 384 725.376 384z m-280 7.189333H401.706667v201.258667h37.909333v-146.346667l64.042667 87.68h7.466666l65.472-87.381333v146.048h37.909334v-201.258667h-43.370667l-62.890667 86.549334-62.890666-86.549334z m-194.133333-0.298666H213.333333v201.258666h37.909334V503.04l84.138666 89.109333h46.805334v-2.282666l-96.768-101.504 89.301333-96.32v-1.152h-47.082667l-76.394666 85.12v-85.12z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
1
admin/src/assets/icons/KTVyuding.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M385.6 371.242667c12.16 113.578667 92.906667 206.634667 200 236.949333l1.664 0.448-2.453333 2.005333-317.888 237.418667c-12.16 9.066667-28.8 8.533333-40.32-0.917333l-2.410667-2.154667-28.928-28.885333c0.213333 1.898667 0.490667 3.797333 0.810667 5.717333 6.186667 35.754667 31.338667 57.962667 79.808 49.322667 26.986667-4.821333 44.117333-11.242667 63.509333-22.464l6.336-3.776 11.541333-7.168 5.397334-3.285334c35.562667-21.248 64.96-29.909333 117.973333-30.442666 69.909333-0.704 129.088 21.056 175.701333 65.173333a32.853333 32.853333 0 0 1 1.28 46.4 32.746667 32.746667 0 0 1-46.293333 1.28c-33.898667-32.042667-76.608-47.744-130.026667-47.210667-40.597333 0.426667-59.029333 5.632-84.864 21.056l-17.642666 10.88c-28.266667 17.216-53.461333 27.413333-91.413334 34.176-87.808 15.658667-144-33.92-155.882666-102.741333a151.765333 151.765333 0 0 1 4.522666-72.042667l1.066667-2.965333-20.778667-20.736a32.853333 32.853333 0 0 1-3.968-41.706667l2.048-2.688 268.437334-318.72c0.874667-1.045333 1.813333-2.005333 2.773333-2.922666z m4.181333 169.344l-2.474666 2.24-46.357334 46.421333-2.24 2.496a32.853333 32.853333 0 0 0 2.24 43.925333 32.746667 32.746667 0 0 0 43.861334 2.24l2.496-2.24 46.336-46.421333 2.261333-2.496a32.853333 32.853333 0 0 0-2.261333-43.925333 32.746667 32.746667 0 0 0-43.861334-2.24zM661.333333 85.333333c141.376 0 256 114.624 256 256s-114.624 256-256 256-256-114.624-256-256S519.957333 85.333333 661.333333 85.333333z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
1
admin/src/assets/icons/a-tixingdengpao.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M579.2 874.666667a21.333333 21.333333 0 0 1 14.421333 37.056C574.037333 929.685333 546.837333 938.666667 512 938.666667s-62.037333-8.981333-81.621333-26.944A21.333333 21.333333 0 0 1 444.821333 874.666667h134.357334z m28.8-85.333334a32 32 0 0 1 0 64h-192a32 32 0 0 1 0-64h192zM512 85.333333c176.725333 0 320 143.274667 320 320 0 114.090667-59.733333 214.250667-149.610667 270.912A85.333333 85.333333 0 0 1 597.333333 768h-170.666666a85.333333 85.333333 0 0 1-85.098667-91.776C251.733333 619.584 192 519.424 192 405.333333c0-176.725333 143.274667-320 320-320z m29.098667 106.666667a29.098667 29.098667 0 1 0 0 58.176 126.08 126.08 0 0 1 126.058666 126.08 29.098667 29.098667 0 1 0 58.176 0A184.234667 184.234667 0 0 0 541.098667 192z" /></svg>
|
||||
|
After Width: | Height: | Size: 1008 B |
1
admin/src/assets/icons/agency.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32z m-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174c6.4 8.8 19.6 8.8 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z" /></svg>
|
||||
|
After Width: | Height: | Size: 775 B |
1
admin/src/assets/icons/aircraft.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M864.2 121.3a38.1 38.1 0 0 0-13.5 2.4l-33.9 12.4-112.2 41-112.1 41.1-224.3 82-112.2 41-112.1 41.1-55.2 20.2a38.7 38.7 0 0 0-14.1 63.7l28.3 28.2 71.1 71.1 101.9 101.9v232.8c0 23.6 19.3 40.1 40.1 40.1a40.1 40.1 0 0 0 22.7-7.2L458.5 850l99.3 99.4a38.7 38.7 0 0 0 63.7-14.1l20.2-55.2L682.8 768l41-112.2 41-112.1 41-112.2 82.1-224.3 12.4-33.9c9.6-26.3-10.7-52-36.1-52z m-84.9 173.3l-41.1 112.2-41 112.1-41 112.2-41.1 112.1-41 112.2-2.3 6.2-62.4-62.5-42.6-42.5-49.4 34.2-69.5 48.3V637.6L162.4 452.2l6.2-2.3 112.2-41 112.1-41.1 224.3-82 112.2-41.1L808 216zM575.9 405a4 4 0 0 0-5.6 0L394.9 580.4a4 4 0 0 0 0 5.7l39.6 39.6a4.2 4.2 0 0 0 5.7 0l175.3-175.4a4 4 0 0 0 0-5.7z" /></svg>
|
||||
|
After Width: | Height: | Size: 937 B |
1
admin/src/assets/icons/anquan.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M486.570667 97.216a33.130667 33.130667 0 0 1 51.264 0.512c34.709333 43.328 152.064 98.261333 307.776 117.034667 16.576 2.005333 29.056 16 29.056 32.64v372.629333a167.04 167.04 0 0 1-20.096 79.402667C761.813333 871.146667 633.770667 938.666667 511.530667 938.666667l-6.528-0.106667c-118.954667-3.413333-244.586667-70.741333-335.573334-239.125333a167.808 167.808 0 0 1-19.925333-71.914667L149.333333 620.032V247.402667c0-16.64 12.48-30.634667 29.056-32.64 152.426667-18.368 269.077333-72.277333 305.237334-114.005334z m25.408 67.178667l-1.792 1.450666c-52.693333 41.813333-163.456 91.882667-290.389334 109.802667l-4.416 0.597333v342.976l0.149334 5.866667c0.746667 15.104 4.864 29.866667 12.074666 43.221333 80.96 149.845333 188.714667 201.962667 278.826667 204.544l5.568 0.085334c92.522667 0 201.92-51.989333 284.373333-204.629334a101.546667 101.546667 0 0 0 12.224-48.277333V276.245333l-16.277333-2.325333c-120.938667-18.048-227.904-67.690667-278.954667-108.416l-1.386666-1.109333z m161.194666 250.517333a32.853333 32.853333 0 0 1 0 46.186667l-187.306666 190.656a32.256 32.256 0 0 1-45.845334 0l-89.173333-91.157334a32.853333 32.853333 0 0 1 0-46.208 32.256 32.256 0 0 1 45.845333 0l51.029334 52.416a21.333333 21.333333 0 0 0 30.165333 0.426667l0.341333-0.362667 149.077334-151.957333a32.256 32.256 0 0 1 45.866666 0z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
1
admin/src/assets/icons/anquan_mian.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M486.570667 97.216a33.130667 33.130667 0 0 1 51.264 0.512c34.709333 43.328 152.064 98.261333 307.776 117.034667 16.576 2.005333 29.056 16 29.056 32.64v372.629333a167.04 167.04 0 0 1-20.096 79.402667C761.813333 871.146667 633.770667 938.666667 511.530667 938.666667l-6.528-0.106667c-118.954667-3.413333-244.586667-70.741333-335.573334-239.125333a167.808 167.808 0 0 1-19.925333-71.914667L149.333333 620.032V247.402667c0-16.64 12.48-30.634667 29.056-32.64 152.426667-18.368 269.077333-72.277333 305.237334-114.005334z m186.602666 317.696a32.256 32.256 0 0 0-45.866666 0l-149.077334 151.957333-0.341333 0.341334a21.333333 21.333333 0 0 1-30.165333-0.405334l-51.029334-52.416a32.256 32.256 0 0 0-45.866666 0 32.853333 32.853333 0 0 0 0 46.208l89.194666 91.157334a32.256 32.256 0 0 0 45.866667 0l187.285333-190.656a32.853333 32.853333 0 0 0 0-46.186667z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
admin/src/assets/icons/anquan_mian1.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M486.570667 97.216a33.130667 33.130667 0 0 1 51.264 0.512c34.709333 43.328 152.064 98.261333 307.776 117.034667 16.576 2.005333 29.056 16 29.056 32.64v372.629333a167.04 167.04 0 0 1-20.096 79.402667C761.813333 871.146667 633.770667 938.666667 511.530667 938.666667l-6.528-0.106667c-118.954667-3.413333-244.586667-70.741333-335.573334-239.125333a167.808 167.808 0 0 1-19.925333-71.914667L149.333333 620.032V247.402667c0-16.64 12.48-30.634667 29.056-32.64 152.426667-18.368 269.077333-72.277333 305.237334-114.005334z m186.602666 317.696a32.256 32.256 0 0 0-45.866666 0l-149.077334 151.957333-0.341333 0.341334a21.333333 21.333333 0 0 1-30.165333-0.405334l-51.029334-52.416a32.256 32.256 0 0 0-45.866666 0 32.853333 32.853333 0 0 0 0 46.208l89.194666 91.157334a32.256 32.256 0 0 0 45.866667 0l187.285333-190.656a32.853333 32.853333 0 0 0 0-46.186667z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
admin/src/assets/icons/app.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M824 64H200a40 40 0 0 0-40 40v816a40 40 0 0 0 40 40h624a40 40 0 0 0 40-40V104a40 40 0 0 0-40-40z m-32 824H232V136h560z m-280-72a64 64 0 1 0-64-64 64.1 64.1 0 0 0 64 64z" /></svg>
|
||||
|
After Width: | Height: | Size: 443 B |
1
admin/src/assets/icons/applet.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 967.68c251.668 0 455.68-204.012 455.68-455.68S763.668 56.32 512 56.32 56.32 260.332 56.32 512 260.332 967.68 512 967.68z m0-71.68c-212.07 0-384-171.93-384-384s171.93-384 384-384 384 171.93 384 384-171.93 384-384 384z" /><path d="M544.297 405.279a77.599 77.599 0 1 1 77.599 77.578 30.72 30.72 0 0 0 0 61.44c76.78 0 139.028-62.249 139.028-139.029S698.675 266.24 621.896 266.24s-139.039 62.249-139.039 139.028a30.72 30.72 0 0 0 61.44 0z m-61.44 213.217a77.588 77.588 0 0 1-155.177 0 77.588 77.588 0 0 1 77.588-77.599 30.72 30.72 0 0 0 0-61.44c-76.769 0-139.028 62.239-139.028 139.039 0 76.78 62.249 139.028 139.028 139.028 76.79 0 139.029-62.248 139.029-139.028a30.72 30.72 0 0 0-61.44 0z" /><path d="M482.857 402.156V619.93h61.44V402.156z" /></svg>
|
||||
|
After Width: | Height: | Size: 1019 B |
1
admin/src/assets/icons/arrow-down.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M555.633778 726.300444a45.966222 45.966222 0 0 0 0-64.910222l-363.463111-363.52a45.909333 45.909333 0 0 0-64.910223 0 45.909333 45.909333 0 0 0 0 64.910222l363.52 363.463112a45.966222 45.966222 0 0 0 64.853334 0.056888zM490.723556 726.300444a45.852444 45.852444 0 0 0 64.853333 0l345.088-345.088a45.852444 45.852444 0 0 0 0-64.853333 45.511111 45.511111 0 0 0-64.796445 0l-345.144888 345.088a45.909333 45.909333 0 0 0 0 64.853333z" /></svg>
|
||||
|
After Width: | Height: | Size: 705 B |
1
admin/src/assets/icons/arrow-up.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M555.633778 297.870222a45.966222 45.966222 0 0 1 0 64.910222l-363.463111 363.52a45.909333 45.909333 0 0 1-64.910223 0 45.909333 45.909333 0 0 1 0-64.910222l363.52-363.463111a45.966222 45.966222 0 0 1 64.853334-0.056889zM490.723556 297.870222a45.852444 45.852444 0 0 1 64.853333 0l345.088 345.088a45.852444 45.852444 0 0 1 0 64.853334 45.511111 45.511111 0 0 1-64.796445 0L490.723556 362.723556a45.909333 45.909333 0 0 1 0-64.853334z" /></svg>
|
||||
|
After Width: | Height: | Size: 707 B |
1
admin/src/assets/icons/banxing_mian.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 107.136v707.093333l-221.248 99.434667a32 32 0 0 1-44.586667-34.986667l41.834667-227.413333-182.826667-195.84a32 32 0 0 1 18.474667-53.461333l228.586667-35.733334 141.226666-248.298666A21.333333 21.333333 0 0 1 512 107.136z" /></svg>
|
||||
|
After Width: | Height: | Size: 503 B |
1
admin/src/assets/icons/baoxian.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M486.570667 97.216a33.130667 33.130667 0 0 1 51.264 0.512c34.709333 43.328 152.064 98.261333 307.776 117.034667 16.576 2.005333 29.056 16 29.056 32.64v372.629333a167.04 167.04 0 0 1-20.096 79.402667C761.813333 871.146667 633.770667 938.666667 511.530667 938.666667l-6.528-0.106667c-118.954667-3.413333-244.586667-70.741333-335.573334-239.125333a167.808 167.808 0 0 1-19.925333-71.914667L149.333333 620.032V247.402667c0-16.64 12.48-30.634667 29.056-32.64 152.426667-18.368 269.077333-72.277333 305.237334-114.005334z m-10.026667 256.213333h-122.090667v346.026667h38.442667V389.845333h45.205333c-9.045333 30.997333-21.845333 65.493333-38.058666 104.234667 24.490667 32.170667 36.906667 61.226667 36.906666 87.189333 0 6.186667-1.493333 10.453333-4.117333 12.8-3.029333 2.304-9.045333 3.861333-17.706667 4.629334-5.290667 0-12.053333-0.768-20.352-2.325334l12.437334 40.32c26.752-0.405333 45.589333-5.44 56.874666-15.509333 7.552-8.149333 11.306667-21.333333 11.306667-39.914667-2.261333-26.346667-14.293333-57.344-36.906667-93.397333a1520.768 1520.768 0 0 0 38.037334-104.234667v-30.208z m155.946667 148.8c-11.306667 58.112-24.106667 107.306667-39.168 147.626667h-132.608v38.741333h226.773333v-38.741333h-55.744c15.445333-40.32 28.629333-85.632 39.189333-136.789333l-38.442666-10.837334z m-121.685334 11.221334l-33.514666 11.626666c12.8 34.88 23.722667 71.68 32 110.058667l33.92-8.533333c-9.813333-42.624-20.352-80.213333-32.405334-113.152z m59.904-13.952l-33.514666 11.626666c11.306667 33.706667 20.330667 68.970667 27.861333 106.176l33.536-8.917333c-8.277333-41.066667-17.322667-77.098667-27.882667-108.885333z m21.12-158.869334h-34.688c-23.338667 51.541333-57.258667 93.397333-101.333333 125.930667l19.968 31.786667c13.568-9.685333 26.752-20.928 39.189333-33.322667v20.522667h120.533334v-19.370667a338.133333 338.133333 0 0 0 38.826666 32.554667l21.461334-33.706667c-49.344-35.648-84.010667-77.12-103.978667-124.373333z m-17.344 39.530667a279.530667 279.530667 0 0 0 44.821334 68.970667h-90.026667a370.410667 370.410667 0 0 0 45.205333-68.970667z" /></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
1
admin/src/assets/icons/bargain.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M761.2 639.7c-10.6 0-21.1-4-29.2-12.1-16.1-16.1-16.1-42.3 0-58.4l97.5-97.5c5.6-5.6 7.1-13.9 7.3-19.9l8.6-242.5c0.1-3.9-2.8-11.2-9.5-17.9-6.7-6.7-14.7-9.5-17.9-9.5l-242.5 8.6c-6 0.2-14.2 1.7-19.9 7.3l-102 102.1c-16.1 16.1-42.3 16.1-58.4 0s-16.1-42.3 0-58.4l102.1-102.1c19.2-19.2 46-30.4 75.3-31.4l242.5-8.6c27.9-1 56.9 11.2 79.2 33.6 22.4 22.4 34.6 51.2 33.6 79.3l-8.6 242.5c-1.1 29.4-12.2 56.1-31.4 75.3l-97.5 97.5c-8.1 8.1-18.7 12.1-29.2 12.1zM444.4 925.3c-40.6 0-84.7-18.5-120.4-54.3L156.4 703.4C93.9 640.9 84 552.8 133.8 502.9l88.3-88.3c16.1-16.1 42.3-16.1 58.4 0s16.1 42.3 0 58.4l-88.3 88.3c-14.4 14.4-7.8 53.3 22.6 83.7l167.6 167.6c30.4 30.4 69.3 37 83.7 22.6l83.7-83.7c16.1-16.1 42.3-16.1 58.4 0s16.1 42.3 0 58.4l-83.7 83.7c-21.4 21.3-49.8 31.7-80.1 31.7z" /><path d="M705.8 326.3m-45.8 0a45.8 45.8 0 1 0 91.6 0 45.8 45.8 0 1 0-91.6 0Z" /><path d="M829.9 885.7c-10.6 0-21.1-4-29.2-12.1l-642-642c-16.1-16.1-16.1-42.3 0-58.4s42.3-16.1 58.4 0l642 642c16.1 16.1 16.1 42.3 0 58.4-8.1 8.1-18.6 12.1-29.2 12.1z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
admin/src/assets/icons/bendishenghuodaxue.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M789.333333 486.250667V746.666667c0 58.901333-124.16 106.666667-277.333333 106.666666-150.570667 0-273.109333-46.144-277.226667-103.68L234.666667 746.666667V486.250667l260.053333 115.285333a42.666667 42.666667 0 0 0 30.848 1.450667l3.733333-1.450667L789.333333 486.250667zM529.28 166.464l398.592 176.704a21.333333 21.333333 0 0 1 0 38.997333L874.666667 405.76 874.666667 603.093333A42.666667 42.666667 0 1 1 832 603.029333v-178.410666l-302.72 134.229333a42.666667 42.666667 0 0 1-34.56 0L96.106667 382.165333a21.333333 21.333333 0 0 1 0-38.997333l398.570666-176.704a42.666667 42.666667 0 0 1 34.602667 0z" /></svg>
|
||||
|
After Width: | Height: | Size: 880 B |
1
admin/src/assets/icons/bianji.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M864 832a32 32 0 0 1 0 64h-704a32 32 0 0 1 0-64h704zM710.613333 152.533333l3.541334 3.413334 89.92 89.898666a95.36 95.36 0 0 1 3.370666 131.285334l-3.370666 3.562666-332.309334 332.309334c-9.386667 9.386667-21.077333 16.042667-33.856 19.349333l-4.842666 1.088-178.261334 33.642667a52.970667 52.970667 0 0 1-62.464-57.984l0.576-3.904L226.56 526.933333c2.453333-13.013333 8.362667-25.130667 17.045333-35.072l3.392-3.626666L579.306667 155.946667a95.36 95.36 0 0 1 131.285333-3.370667z m-83.946666 46.165334l-2.410667 2.176-332.309333 332.309333a10.602667 10.602667 0 0 0-2.517334 3.989333l-0.405333 1.536-30.741333 162.986667 119.978666-22.634667-51.968-51.968a31.786667 31.786667 0 1 1 44.949334-44.949333l70.72 70.72 317.141333-317.12a31.786667 31.786667 0 0 0 2.197333-42.538667l-2.197333-2.410666-89.898667-89.92a31.786667 31.786667 0 0 0-42.538666-2.176z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
admin/src/assets/icons/biaoqing.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m0 64C311.701333 149.333333 149.333333 311.701333 149.333333 512s162.368 362.666667 362.666667 362.666667 362.666667-162.368 362.666667-362.666667S712.298667 149.333333 512 149.333333z m-145.173333 471.338667A180.970667 180.970667 0 0 0 512 693.333333a180.650667 180.650667 0 0 0 128.746667-53.653333c5.888-5.930667 11.370667-12.266667 16.384-18.944a32 32 0 0 1 51.2 38.421333c-6.784 9.024-14.186667 17.578667-22.122667 25.6A244.629333 244.629333 0 0 1 512 757.333333c-78.208 0-150.357333-36.906667-196.373333-98.261333a32 32 0 1 1 51.2-38.4zM341.333333 384a42.666667 42.666667 0 1 1 0 85.333333 42.666667 42.666667 0 0 1 0-85.333333z m341.333334 0a42.666667 42.666667 0 1 1 0 85.333333 42.666667 42.666667 0 0 1 0-85.333333z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
1
admin/src/assets/icons/block.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M884.1 282.4L542.5 85a60 60 0 0 0-60.1 0.1L140.9 283.8a39.9 39.9 0 0 0-16.3 18.2 40.2 40.2 0 0 0-7.6 23.2l-1 366.9a60 60 0 0 0 30 52.1l341.5 197.4a39.8 39.8 0 0 0 20 5.4 29.7 29.7 0 0 0 4.2-0.3 24.8 24.8 0 0 0 3.8 0.2 39.9 39.9 0 0 0 20.1-5.4l341.5-198.7a60.1 60.1 0 0 0 29.9-51.7l1-366.9a40.6 40.6 0 0 0-7.4-23.3 40.5 40.5 0 0 0-16.5-18.5zM476 737.6l-0.3 114L188 685.4l0.9-304.7 212 122.5 75.6 43.7z m36.5-253L226.7 319.4l-1.9-1.1 287.7-167.4 287.8 166.3-44.1 25.6zM835 684.1L547.7 851.2l0.2-97.6 0.6-206.7 250.4-145.6 36.9-21.5z" /></svg>
|
||||
|
After Width: | Height: | Size: 805 B |
1
admin/src/assets/icons/brand.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M531.626667 915.228444a66.616889 66.616889 0 0 1-51.598223-24.462222L120.092444 484.181333a66.503111 66.503111 0 0 1-4.835555-74.296889l130.844444-269.027555a66.673778 66.673778 0 0 1 56.888889-32.142222h456.362667a66.787556 66.787556 0 0 1 57.173333 32.312889l1.308445 2.503111 130.844444 266.524444a66.673778 66.673778 0 0 1-5.688889 74.296889l-1.194666 1.479111-358.741334 404.935111a66.787556 66.787556 0 0 1-51.655111 24.462222z m-359.253334-472.177777l359.253334 405.731555 1.194666-1.479111 358.115556-404.252444-1.365333-2.503111-129.877334-264.988445H303.616z" /><path d="M531.626667 668.16a53.930667 53.930667 0 0 1-41.472-20.195556L270.165333 400.156444l49.948445-44.316444 211.512889 238.933333 211.740444-238.933333 49.948445 44.316444-220.216889 247.808a53.930667 53.930667 0 0 1-41.472 20.195556z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
admin/src/assets/icons/bukejian.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512.042667 213.333333c82.752 0 161.088 24.106667 234.88 71.786667l53.525333-53.482667a32 32 0 1 1 45.248 45.248L287.573333 835.029333a32 32 0 1 1-45.248-45.248l44.693334-44.714666c-62.72-38.528-122.154667-93.909333-178.261334-165.802667a108.522667 108.522667 0 0 1-3.093333-130.56l3.136-4.202667 6.805333-8.64C233.045333 288.533333 365.546667 213.333333 512.042667 213.333333z m334.506666 153.216a842.88 842.88 0 0 1 68.693334 78.08 108.522667 108.522667 0 0 1 3.029333 130.688l-3.136 4.202667-6.826667 8.64C790.570667 735.466667 658.133333 810.666667 512.042667 810.666667a410.88 410.88 0 0 1-97.898667-11.733334l53.013333-52.970666a344.32 344.32 0 0 0 44.885334 2.901333c120.896 0 233.088-62.229333 337.408-189.482667l6.784-8.405333 6.613333-8.341333a49.344 49.344 0 0 0 0-61.226667 787.370667 787.370667 0 0 0-61.205333-69.973333l44.906666-44.885334z m-334.506666-91.413333c-121.28 0-233.493333 62.229333-337.557334 189.44l-6.784 8.405333-6.570666 8.341334a49.344 49.344 0 0 0 0.042666 61.205333c54.954667 70.442667 112.106667 122.581333 171.562667 156.8l92.864-92.885333a128 128 0 1 1 180.842667-180.842667l94.976-94.933333c-60.650667-37.184-123.733333-55.530667-189.376-55.530667zM512 443.072a68.906667 68.906667 0 0 0-44.522667 121.536l97.130667-97.130667A68.778667 68.778667 0 0 0 512 443.072z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
admin/src/assets/icons/caipinguanli.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M384 554.666667a85.333333 85.333333 0 0 1 85.333333 85.333333v170.666667a85.333333 85.333333 0 0 1-85.333333 85.333333h-170.666667a85.333333 85.333333 0 0 1-85.333333-85.333333v-170.666667a85.333333 85.333333 0 0 1 85.333333-85.333333h170.666667z m245.333333 213.333333a32 32 0 0 1 32 32v42.666667a32 32 0 0 1-64 0v-42.666667a32 32 0 0 1 32-32z m192-21.333333a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0v-64a32 32 0 0 1 32-32zM384 618.666667h-170.666667a21.333333 21.333333 0 0 0-21.184 18.837333L192 640v170.666667a21.333333 21.333333 0 0 0 18.837333 21.184L213.333333 832h170.666667a21.333333 21.333333 0 0 0 21.184-18.837333L405.333333 810.666667v-170.666667a21.333333 21.333333 0 0 0-18.837333-21.184L384 618.666667z m245.333333-42.666667a32 32 0 0 1 32 32v85.333333a32 32 0 0 1-64 0v-85.333333a32 32 0 0 1 32-32z m192 0a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0v-64a32 32 0 0 1 32-32zM384 128a85.333333 85.333333 0 0 1 85.333333 85.333333v170.666667a85.333333 85.333333 0 0 1-85.333333 85.333333h-170.666667a85.333333 85.333333 0 0 1-85.333333-85.333333v-170.666667a85.333333 85.333333 0 0 1 85.333333-85.333333h170.666667z m426.666667 0a85.333333 85.333333 0 0 1 85.333333 85.333333v170.666667a85.333333 85.333333 0 0 1-85.333333 85.333333h-170.666667a85.333333 85.333333 0 0 1-85.333333-85.333333v-170.666667a85.333333 85.333333 0 0 1 85.333333-85.333333h170.666667zM384 192h-170.666667a21.333333 21.333333 0 0 0-21.184 18.837333L192 213.333333v170.666667a21.333333 21.333333 0 0 0 18.837333 21.184L213.333333 405.333333h170.666667a21.333333 21.333333 0 0 0 21.184-18.837333L405.333333 384v-170.666667a21.333333 21.333333 0 0 0-18.837333-21.184L384 192z m426.666667 0h-170.666667a21.333333 21.333333 0 0 0-21.184 18.837333L618.666667 213.333333v170.666667a21.333333 21.333333 0 0 0 18.837333 21.184L640 405.333333h170.666667a21.333333 21.333333 0 0 0 21.184-18.837333L832 384v-170.666667a21.333333 21.333333 0 0 0-18.837333-21.184L810.666667 192z" /></svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
1
admin/src/assets/icons/caiwu.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64z m265.9 713.9a377.2 377.2 0 0 1-119.6 80.6 377.5 377.5 0 0 1-292.6 0 377.1 377.1 0 0 1-200.2-200.2 377.5 377.5 0 0 1 0-292.6 377.1 377.1 0 0 1 200.2-200.2 377.5 377.5 0 0 1 292.6 0 377.1 377.1 0 0 1 200.2 200.2 377.5 377.5 0 0 1 0 292.6 377.2 377.2 0 0 1-80.6 119.6zM651.3 258.8a3.9 3.9 0 0 0-5.6 0L512 392.5 378.3 258.8a3.9 3.9 0 0 0-5.6 0l-39.6 39.6a3.9 3.9 0 0 0 0 5.6l102.3 102.4H376a4 4 0 0 0-4 4v56a4 4 0 0 0 4 4h104v80H376a4 4 0 0 0-4 4v56a4 4 0 0 0 4 4h104v148a4 4 0 0 0 4 4h56a4 4 0 0 0 4-4v-148h104a4 4 0 0 0 4-4v-56a4 4 0 0 0-4-4H544v-80h104a4 4 0 0 0 4-4v-56a4 4 0 0 0-4-4h-59.4L690.9 304a3.9 3.9 0 0 0 0-5.6z" /></svg>
|
||||
|
After Width: | Height: | Size: 981 B |
1
admin/src/assets/icons/caiwu_jifen.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M511 64C263.6 64 63 264.6 63 512s200.6 448 448 448 448-200.6 448-448S758.4 64 511 64z m265.9 713.9a377.2 377.2 0 0 1-119.6 80.6 377.5 377.5 0 0 1-292.6 0 377.1 377.1 0 0 1-200.2-200.2 377.5 377.5 0 0 1 0-292.6 377.1 377.1 0 0 1 200.2-200.2 377.5 377.5 0 0 1 292.6 0 377.1 377.1 0 0 1 200.2 200.2 377.5 377.5 0 0 1 0 292.6 377.2 377.2 0 0 1-80.6 119.6zM513.8 288.6a3.9 3.9 0 0 0-5.6 0L287.6 509.2a3.9 3.9 0 0 0 0 5.6l220.6 220.6a3.9 3.9 0 0 0 5.6 0l220.6-220.6a3.9 3.9 0 0 0 0-5.6zM511 636.5L386.5 512 511 387.5 635.5 512z" /></svg>
|
||||
|
After Width: | Height: | Size: 796 B |
1
admin/src/assets/icons/caiwu_tixian.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M285.8 406.9l137.3 83.7a7.7 7.7 0 0 0 11.8-6.6v-51.7h175a68.1 68.1 0 0 1 67.9 64.1 4.1 4.1 0 0 0 4 3.9h56.1a4.1 4.1 0 0 0 4-4.2c-2.2-70.8-60.6-127.8-132-127.8h-175v-51.8a7.7 7.7 0 0 0-11.8-6.6l-137.3 83.7a7.8 7.8 0 0 0 0 13.3z m452.4 210.2l-137.3-83.7a7.7 7.7 0 0 0-11.8 6.6v51.7h-175a68.1 68.1 0 0 1-67.9-64.1 4.1 4.1 0 0 0-4-3.9h-56.1a4.1 4.1 0 0 0-4 4.2c2.2 70.8 60.6 127.8 132 127.8h175v51.8a7.7 7.7 0 0 0 11.8 6.6l137.3-83.7a7.8 7.8 0 0 0 0-13.3zM856 128H168a40 40 0 0 0-40 40v688a40 40 0 0 0 40 40h688a40 40 0 0 0 40-40V168a40 40 0 0 0-40-40z m-32 696H200V200h624z" /></svg>
|
||||
|
After Width: | Height: | Size: 845 B |
1
admin/src/assets/icons/calendar.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32z m-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z" /><path d="M416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM416 632H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM724.2 454.6L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2c6.4 8.8 19.4 8.8 25.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-0.1-9.8 2.4-12.8 6.5z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
1
admin/src/assets/icons/canyinfuwu.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 106.666667c103.68 0 192.96 61.632 233.194667 150.250666C853.717333 266.944 938.666667 358.186667 938.666667 469.333333c0 95.509333-62.762667 176.362667-149.333334 203.562667V832a85.333333 85.333333 0 0 1-85.333333 85.333333H320a85.333333 85.333333 0 0 1-85.333333-85.333333v-180.437333C148.117333 624.384 85.333333 543.530667 85.333333 448c0-114.986667 90.944-208.704 204.8-213.162667A255.893333 255.893333 0 0 1 512 106.666667z m-104.725333 583.893333a25.557333 25.557333 0 0 0-36.949334 0 27.605333 27.605333 0 0 0 0 38.186667c78.250667 80.789333 205.098667 80.789333 283.349334 0a27.605333 27.605333 0 0 0 0-38.186667 25.557333 25.557333 0 0 0-36.949334 0 144.810667 144.810667 0 0 1-209.450666 0z" /></svg>
|
||||
|
After Width: | Height: | Size: 981 B |
1
admin/src/assets/icons/carryout.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="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32z m-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174c6.4 8.8 19.6 8.8 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z" /></svg>
|
||||
|
After Width: | Height: | Size: 775 B |
1
admin/src/assets/icons/cascade-1.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M725.546667 597.333333c26.24 0 50.496 14.08 63.509333 36.864l43.541333 76.181334a73.152 73.152 0 0 1 0 72.576l-43.52 76.181333A73.152 73.152 0 0 1 725.546667 896h-85.76c-26.24 0-50.496-14.08-63.509334-36.864l-43.541333-76.181333a73.152 73.152 0 0 1 0-72.576l43.52-76.181334A73.152 73.152 0 0 1 639.786667 597.333333h85.76zM523.093333 169.002667l235.690667 138.474666a64 64 0 0 1 0 110.378667l-33.194667 19.477333 33.194667 19.477334a64 64 0 0 1 7.466667 105.258666 115.2 115.2 0 0 0-34.666667-7.253333L725.546667 554.666667h-71.808l72.618666-42.666667-63.936-37.568-139.328 81.898667a64 64 0 0 1-64.853333 0l-139.370667-81.92L254.976 512 490.666667 650.474667l40.896-24.064-35.861334 62.805333c-4.565333 7.978667-8.106667 16.362667-10.624 24.981333a63.552 63.552 0 0 1-26.837333-8.533333l-139.370667-81.92L254.976 661.333333 490.666667 799.808l2.069333-1.194667 1.429333 2.773334 1.536 2.730666 28.629334 50.133334-1.237334 0.746666a64 64 0 0 1-64.853333 0l-235.690667-138.474666a64 64 0 0 1 0-110.378667l33.152-19.498667-33.152-19.456a64 64 0 0 1 0-110.378666l33.152-19.477334-33.152-19.477333a64 64 0 0 1 0-110.378667l235.690667-138.453333a64 64 0 0 1 64.853333 0zM725.546667 661.333333h-85.76a9.152 9.152 0 0 0-7.936 4.608l-43.541334 76.181334a9.152 9.152 0 0 0 0 9.088l43.52 76.181333a9.152 9.152 0 0 0 7.957334 4.608h85.76a9.152 9.152 0 0 0 7.936-4.608l43.541333-76.181333 0.768-1.770667a9.152 9.152 0 0 0-0.768-7.317333l-43.52-76.181334A9.152 9.152 0 0 0 725.546667 661.333333zM682.666667 704a42.666667 42.666667 0 1 1 0 85.333333 42.666667 42.666667 0 0 1 0-85.333333z m-192-479.808L254.976 362.666667 490.666667 501.141333 726.357333 362.666667 490.666667 224.192z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
1
admin/src/assets/icons/cascade-2.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M168.106667 621.44l120.746666 57.962667 223.274667 108.138666 215.317333-104.32 128.768-61.674666a64 64 0 0 1-29.952 84.970666l-286.229333 138.624a64 64 0 0 1-55.808 0L197.994667 706.517333A64 64 0 0 1 168.106667 621.44z m687.829333-133.930667a64 64 0 0 1-29.674667 85.546667L540.010667 711.68a64 64 0 0 1-55.808 0L197.994667 573.056A64 64 0 0 1 166.826667 490.88l317.013333 149.525333 28.288 13.696 286.229333-138.624-0.149333-0.064 57.728-27.882666zM540.032 185.792l286.208 138.602667a64 64 0 0 1 0 115.2l-286.208 138.624a64 64 0 0 1-55.808 0L197.994667 439.594667a64 64 0 0 1 0-115.2L484.224 185.813333a64 64 0 0 1 55.808 0z m-27.904 57.6l-286.229333 138.602667 286.229333 138.624 286.229333-138.624-286.229333-138.602667z" /></svg>
|
||||
|
After Width: | Height: | Size: 1000 B |
1
admin/src/assets/icons/cascade.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M832 341.333333v554.666667H405.333333v-64h362.666667V341.333333h64z m-106.666667-106.666666v554.666666H298.666667v-64h362.666666V234.666667h64z m-106.666666-106.666667v554.666667H192V128h426.666667z m-64 64H256v426.666667h298.666667V192z" /></svg>
|
||||
|
After Width: | Height: | Size: 512 B |
1
admin/src/assets/icons/channel-1.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="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M199.5 832a127.8 127.8 0 0 0 37.8-5.7 384 384 0 0 0 539.7 9.6 128 128 0 0 0 138-209.4 129.7 129.7 0 0 0-22.3-17.9A382.9 382.9 0 0 0 896 558c0-166.1-105.5-307.6-253.2-361.1a128 128 0 0 0-254.3-2.6C237 245.7 128 389.1 128 558c0 13 0.7 25.9 1.9 38.5a134.1 134.1 0 0 0-20.9 17A128 128 0 0 0 199.5 832z m-39.6-88.4a56.1 56.1 0 0 1 0-79.2 56 56 0 0 1 79.2 0 56.1 56.1 0 0 1 0 79.2 56 56 0 0 1-79.2 0z m3.6-162.5z m4.1-1.1z m4.7-1.1z m4.1-0.8z m4.9-0.8z m4.1-0.5z m5-0.5z m4-0.2z m57.2 244.8a0.1 0.1 0 0 1-0.1 0.1 0.1 0.1 0 0 0 0.1-0.1z m3.5-1.6l-0.3 0.2z m34.9-24.8a23.9 23.9 0 0 0 2.2-2.3 23.9 23.9 0 0 1-2.2 2.3z m-31.6 23.2z m6.7-3.7l0.3-0.3z m3-1.9l0.7-0.5z m3.2-2.1l0.7-0.5z m3.3-2.4l0.4-0.2z m3.4-2.5l0.4-0.3z m2.8-2.2l0.9-0.8z m2.8-2.4l1-0.9z m2.9-2.6a6 6 0 0 0 0.8-0.8 6 6 0 0 1-0.8 0.8z m476.1 31.2zM734 807.5l0.3 0.3z m2.4 2.3a4.6 4.6 0 0 0 0.7 0.7 4.6 4.6 0 0 1-0.7-0.7z m2.4 2.3l0.8 0.7z m2.5 2.2l0.7 0.6z m2.5 2.1l0.6 0.5z m2.6 2l0.5 0.4z m2.6 2l0.4 0.3z m2.7 1.9l0.3 0.2z m2.6 1.8l0.3 0.2z m2.8 1.7c0 0.1 0.1 0.1 0.2 0.1s-0.2 0-0.2-0.1z m2.7 1.7c0.1 0 0.1 0 0.1 0.1s0-0.1-0.1-0.1z m104.3-70.9a56 56 0 1 1 16.4-39.6 55.5 55.5 0 0 1-16.4 39.6z m3.8-160l0.7 0.2z m8.5 3.4l0.5 0.2z m12.2 6.2z m-8-4.3a0.1 0.1 0 0 1 0.1 0.1 0.1 0.1 0 0 0-0.1-0.1z m4.1 2.1zM475.9 170.4a56 56 0 1 1 0 79.2 56.1 56.1 0 0 1 0-79.2z m-88.4 37.5z m0.5-9.2z m-0.3 4.8zM200 558a312.5 312.5 0 0 1 190.6-287.5l10-4a128.1 128.1 0 0 0 228.6 2.3l4.2 1.7A311.7 311.7 0 0 1 824 558c0 10.4-0.5 20.8-1.5 31h2a128 128 0 0 0-104.7 201.7 311.6 311.6 0 0 1-421.5-5.4c41.5-50.3 38.8-124.9-8.3-171.9a127.5 127.5 0 0 0-90.5-37.4h1c-0.3-6-0.5-12-0.5-18z m187.5-345.3z m0.2 4.4z m0.4 4.8z m0.4 4.4a1.3 1.3 0 0 1 0.1 0.6 1.3 1.3 0 0 0-0.1-0.6z m0.7 4.8z m0.8 4.3c0.1 0.2 0.1 0.4 0.2 0.6s-0.1-0.4-0.2-0.6z m1.1 4.7z m1.1 4.3a1.4 1.4 0 0 0 0.2 0.6 1.4 1.4 0 0 1-0.2-0.6z m1.4 4.7z m1.4 4.1a2.5 2.5 0 0 1 0.2 0.7 2.5 2.5 0 0 0-0.2-0.7z m1.8 4.7z m1.7 4l0.3 0.7zM860 594l-0.7-0.2z m-4.4-1.2z m-4.3-1z m-4.2-0.8z m-4.6-0.7z m-4.1-0.5z m-4.9-0.5z m-4-0.2z m-99 214.7l-0.6-0.5z m-3.8-4.3c-0.2-0.1-0.3-0.3-0.4-0.4s0.2 0.3 0.4 0.4z m-432.8-9.1l0.4-0.4zM150.6 585.7z m8.7-3.2z m-4.5 1.5z" /></svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |