【主账号平台】 新增# 账号中心
|  | @ -0,0 +1,2 @@ | ||||||
|  | VITE_APP_BASE_URL = 'http://124.220.209.120:8082' | ||||||
|  | VITE_MAP_KEY = '2SABZ-S4TWH-AMCDO-W742B-SKEOE-UWBKJ' | ||||||
|  | @ -0,0 +1,42 @@ | ||||||
|  | /* 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', | ||||||
|  |         './.eslintrc-auto-import.json' | ||||||
|  |     ], | ||||||
|  |     rules: { | ||||||
|  |         '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', | ||||||
|  |         'vue/no-mutating-props': 'off' | ||||||
|  |     }, | ||||||
|  |     globals: { | ||||||
|  |         module: 'readonly' | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,38 @@ | ||||||
|  | # 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 | ||||||
|  | *.suo | ||||||
|  | *.ntvs* | ||||||
|  | *.njsproj | ||||||
|  | *.sln | ||||||
|  | *.sw? | ||||||
|  | 
 | ||||||
|  | # .env | ||||||
|  | .env.development | ||||||
|  | .env.production | ||||||
|  | 
 | ||||||
|  | yarn.lock | ||||||
|  | package-lock.json | ||||||
|  | @ -0,0 +1,3 @@ | ||||||
|  | { | ||||||
|  | 	"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] | ||||||
|  | } | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | { | ||||||
|  |     "editor.detectIndentation": false, | ||||||
|  |     "editor.tabSize": 4, | ||||||
|  |     "editor.formatOnSave": true, | ||||||
|  |     "editor.codeActionsOnSave": { | ||||||
|  |         "source.fixAll.eslint": "explicit" | ||||||
|  |     }, | ||||||
|  |     "css.validate": false, | ||||||
|  |     "less.validate": false, | ||||||
|  |     "scss.validate": false, | ||||||
|  |     "prettier.printWidth": 150, // 超过最大值换行 | ||||||
|  |     "prettier.tabWidth": 4, // 缩进字节数 | ||||||
|  |     "prettier.useTabs": false, // 缩进不使用tab,使用空格 | ||||||
|  |     "prettier.semi": false, // 句尾添加分号 | ||||||
|  |     "prettier.singleQuote": true, // 使用单引号代替双引号 | ||||||
|  |     "prettier.proseWrap": "preserve", // 默认值。因为使用了一些折行敏感型的渲染器(如GitHub comment)而按照markdown文本样式进行折行 | ||||||
|  |     "prettier.arrowParens": "avoid", // (x) => {} 箭头函数参数只有一个时是否要有小括号。avoid:省略括号 | ||||||
|  |     "prettier.bracketSpacing": true, // 在对象,数组括号与文字之间加空格 "{ foo: bar }" | ||||||
|  | 
 | ||||||
|  |     "prettier.endOfLine": "auto", // 结尾是 \n \r \n\r auto | ||||||
|  |     "prettier.htmlWhitespaceSensitivity": "ignore", | ||||||
|  |     "prettier.ignorePath": ".prettierignore", // 不使用prettier格式化的文件填写在项目的.prettierignore文件中 | ||||||
|  |     "prettier.jsxSingleQuote": false, // 在jsx中使用单引号代替双引号 | ||||||
|  |     "prettier.requireConfig": false, // Require a 'prettierconfig' to format prettier | ||||||
|  |     "prettier.trailingComma": "none" // 函数最后不需要逗号 | ||||||
|  | } | ||||||
|  | @ -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 | ||||||
|  | ``` | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | /// <reference types="vite/client" />
 | ||||||
|  | @ -0,0 +1,71 @@ | ||||||
|  | <!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> | ||||||
|  |     <script src="https://map.qq.com/api/gljs?libraries=tools&v=1.exp&key=2SABZ-S4TWH-AMCDO-W742B-SKEOE-UWBKJ"></script> | ||||||
|  | </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> | ||||||
|  | @ -0,0 +1,67 @@ | ||||||
|  | { | ||||||
|  |   "name": "vue-project", | ||||||
|  |   "version": "0.0.0", | ||||||
|  |   "license": "MIT", | ||||||
|  |   "scripts": { | ||||||
|  |     "dev": "vite", | ||||||
|  |     "preview": "vite preview --port 4173", | ||||||
|  |     "build": "node ./scripts/build.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.0.6", | ||||||
|  |     "@highlightjs/vue-plugin": "^2.1.0", | ||||||
|  |     "@wangeditor/editor": "^5.1.12", | ||||||
|  |     "@wangeditor/editor-for-vue": "^5.1.12", | ||||||
|  |     "axios": "^0.27.2", | ||||||
|  |     "css-color-function": "^1.3.3", | ||||||
|  |     "echarts": "^5.3.3", | ||||||
|  |     "element-plus": "^2.2.27", | ||||||
|  |     "highlight.js": "^11.6.0", | ||||||
|  |     "js-table2excel": "^1.1.2", | ||||||
|  |     "nprogress": "^0.2.0", | ||||||
|  |     "pinia": "^2.0.14", | ||||||
|  |     "qrcodejs2-fix": "^0.0.1", | ||||||
|  |     "sortablejs": "^1.15.0", | ||||||
|  |     "vue": "^3.2.37", | ||||||
|  |     "vue-clipboard3": "^2.0.0", | ||||||
|  |     "vue-echarts": "^6.2.3", | ||||||
|  |     "vue-pdf-embed": "1", | ||||||
|  |     "vue-router": "^4.0.16", | ||||||
|  |     "vue3-eventbus": "^2.0.0", | ||||||
|  |     "vue3-video-play": "^1.3.1-beta.6", | ||||||
|  |     "vuedraggable": "^4.1.0" | ||||||
|  |   }, | ||||||
|  |   "devDependencies": { | ||||||
|  |     "@rushstack/eslint-patch": "^1.1.0", | ||||||
|  |     "@tailwindcss/line-clamp": "^0.4.2", | ||||||
|  |     "@types/lodash-es": "^4.17.6", | ||||||
|  |     "@types/node": "^16.11.41", | ||||||
|  |     "@types/nprogress": "^0.2.0", | ||||||
|  |     "@types/sortablejs": "^1.15.5", | ||||||
|  |     "@vitejs/plugin-vue": "^3.0.0", | ||||||
|  |     "@vitejs/plugin-vue-jsx": "^2.0.0", | ||||||
|  |     "@vue/eslint-config-prettier": "^7.0.0", | ||||||
|  |     "@vue/eslint-config-typescript": "^11.0.0", | ||||||
|  |     "@vue/tsconfig": "^0.1.3", | ||||||
|  |     "autoprefixer": "^10.4.7", | ||||||
|  |     "consola": "^2.15.3", | ||||||
|  |     "eslint": "^8.5.0", | ||||||
|  |     "eslint-plugin-vue": "^9.0.0", | ||||||
|  |     "execa": "^6.1.0", | ||||||
|  |     "fs-extra": "^10.1.0", | ||||||
|  |     "postcss": "^8.4.14", | ||||||
|  |     "prettier": "^2.5.1", | ||||||
|  |     "sass": "^1.53.0", | ||||||
|  |     "tailwindcss": "^3.0.24", | ||||||
|  |     "typescript": "~4.7.4", | ||||||
|  |     "unplugin-auto-import": "^0.9.2", | ||||||
|  |     "unplugin-vue-components": "^0.19.9", | ||||||
|  |     "vite": "^3.0.0", | ||||||
|  |     "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.1" | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,6 @@ | ||||||
|  | module.exports = { | ||||||
|  |     plugins: { | ||||||
|  |         tailwindcss: {}, | ||||||
|  |         autoprefixer: {} | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,37 @@ | ||||||
|  | import { execaCommand } from 'execa' | ||||||
|  | import path from 'path' | ||||||
|  | import fsExtra from 'fs-extra' | ||||||
|  | const { existsSync, remove, copy } = fsExtra | ||||||
|  | const cwd = process.cwd() | ||||||
|  | //打包发布路径,谨慎改动
 | ||||||
|  | const releaseRelativePath = './public/admin' | ||||||
|  | const distPath = path.resolve(cwd, 'dist') | ||||||
|  | const releasePath = path.resolve(cwd, releaseRelativePath) | ||||||
|  | 
 | ||||||
|  | async function build() { | ||||||
|  |     await execaCommand('vite build', { stdio: 'inherit', encoding: 'utf-8', cwd }) | ||||||
|  |     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() | ||||||
|  | @ -0,0 +1,58 @@ | ||||||
|  | <script setup lang="ts"> | ||||||
|  | import { useDark, useWindowSize, useThrottleFn } from '@vueuse/core' | ||||||
|  | import zhCn from 'element-plus/es/locale/lang/zh-cn' | ||||||
|  | import useAppStore from './stores/modules/app' | ||||||
|  | import useSettingStore from './stores/modules/setting' | ||||||
|  | import { ScreenEnum } from './enums/appEnums' | ||||||
|  | const appStore = useAppStore() | ||||||
|  | const settingStore = useSettingStore() | ||||||
|  | const elConfig = { | ||||||
|  |     zIndex: 3000, | ||||||
|  |     locale: zhCn | ||||||
|  | } | ||||||
|  | const isDark = useDark() | ||||||
|  | onMounted(async () => { | ||||||
|  |     //设置主题色 | ||||||
|  |     settingStore.setTheme(isDark.value) | ||||||
|  |     // 获取配置 | ||||||
|  |     const data: any = await appStore.getConfig() | ||||||
|  |     // 设置网站logo | ||||||
|  |     let favicon: HTMLLinkElement = document.querySelector('link[rel="icon"]')! | ||||||
|  |     if (favicon) { | ||||||
|  |         favicon.href = data.webFavicon | ||||||
|  |         return | ||||||
|  |     } | ||||||
|  |     favicon = document.createElement('link') | ||||||
|  |     favicon.rel = 'icon' | ||||||
|  |     favicon.href = data.webFavicon | ||||||
|  |     document.head.appendChild(favicon) | ||||||
|  | }) | ||||||
|  | 
 | ||||||
|  | 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> | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 配置
 | ||||||
|  | export function getConfig() { | ||||||
|  |     return request.get({ url: '/common/index/config' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 工作台主页
 | ||||||
|  | export function getWorkbench() { | ||||||
|  |     return request.get({ url: '/common/index/workbench' }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 获取充值配置
 | ||||||
|  | export function apiRechargeGetRule() { | ||||||
|  |     return request.get({ url: '/recharge/config/getConfig' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 设置充值配置
 | ||||||
|  | export function apiRechargeSetRule(params: any) { | ||||||
|  |     return request.post({ url: '/recharge/config/setConfig', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,70 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | //优惠券基本信息/adminapi/marketing.coupon/info
 | ||||||
|  | export function getBaseCoupon(params: any) { | ||||||
|  |     return request.get({ url: '/marketing.coupon/info', params }) | ||||||
|  | } | ||||||
|  | //领取记录
 | ||||||
|  | export function getCouponlists(params: any) { | ||||||
|  |     return request.get({ url: '/marketing.coupon_lists/lists', params }) | ||||||
|  | } | ||||||
|  | //作废
 | ||||||
|  | export function setCouponlists(params: any) { | ||||||
|  |     return request.post({ url: '/marketing.coupon_lists/void', params }) | ||||||
|  | } | ||||||
|  | //优惠券详情/adminapi/marketing.coupon/detail
 | ||||||
|  | export function getCoupondetail(params: any) { | ||||||
|  |     return request.get({ url: '/marketing.coupon/detail', params }) | ||||||
|  | } | ||||||
|  | //添加优惠券
 | ||||||
|  | export function addCoupon(params: any) { | ||||||
|  |     return request.post({ url: '/coupon/add', params }) | ||||||
|  | } | ||||||
|  | //优惠券列表
 | ||||||
|  | export function GetcouponLists(params?: any) { | ||||||
|  |     return request.get({ url: '/coupon/list', params }) | ||||||
|  | } | ||||||
|  | //删除优惠券
 | ||||||
|  | export function delCoupon(params: any) { | ||||||
|  |     return request.post({ url: '/coupon/del', params }) | ||||||
|  | } | ||||||
|  | //切换发放状态
 | ||||||
|  | export function switchCouponStatus(params: any) { | ||||||
|  |     return request.post({ url: '/channelCoupon/edit', params }) | ||||||
|  | } | ||||||
|  | // 优惠券指定分销员
 | ||||||
|  | export function getCouponListsByChannel(params: any) { | ||||||
|  |     return request.get({ url: '/channelCoupon/list', params }) | ||||||
|  | } | ||||||
|  | // 用户领取优惠券
 | ||||||
|  | export function getCouponByUser(params: any) { | ||||||
|  |     return request.get({ url: '/userCoupon/queryUserGetRecord', params }) | ||||||
|  | } | ||||||
|  | // 删除指定分销员优惠券
 | ||||||
|  | export function delCouponByDistributor(params: any) { | ||||||
|  |     return request.post({ url: '/channelCoupon/del', params }) | ||||||
|  | } | ||||||
|  | // 优惠券详情
 | ||||||
|  | export function getCouponDetailApi(params: any) { | ||||||
|  |     return request.get({ url: '/coupon/detail', params }) | ||||||
|  | } | ||||||
|  | // 优惠券发放状态
 | ||||||
|  | export function CouponStatusApi(params: any) { | ||||||
|  |     return request.post({ url: '/coupon/setCouponStatus', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //开始领取/adminapi/marketing.coupon/open
 | ||||||
|  | export function startCoupon(params: any) { | ||||||
|  |     return request.post({ url: '/marketing.coupon/open', params }) | ||||||
|  | } | ||||||
|  | export function overCoupon(params: any) { | ||||||
|  |     return request.post({ url: '/marketing.coupon/stop', params }) | ||||||
|  | } | ||||||
|  | //系统发放优惠券
 | ||||||
|  | export function sendCoupon(params: any) { | ||||||
|  |     return request.post({ url: '/marketing.coupon/send', params }) | ||||||
|  | } | ||||||
|  | //抢购列表/adminapi/marketing.seckill/lists
 | ||||||
|  | export function getSeckillLists(params: any) { | ||||||
|  |     return request.get({ url: '/marketing.seckill/lists', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 获取充值配置
 | ||||||
|  | export function apiRechargeGetRule() { | ||||||
|  |     return request.get({ url: '/recharge/config/getConfig' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 设置充值配置
 | ||||||
|  | export function apiRechargeSetRule(params: any) { | ||||||
|  |     return request.post({ url: '/recharge/config/setConfig', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 抖音小程序配置保存
 | ||||||
|  | export function setDyappConfig(params: any) { | ||||||
|  |     return request.post({ url: '/channel/mp/save', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 抖音小程序配置详情
 | ||||||
|  | export function getDyappConfig() { | ||||||
|  |     return request.get({ url: '/channel/mp/detail' }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // H5渠道配置保存
 | ||||||
|  | export function setH5Config(params: any) { | ||||||
|  |     return request.post({ url: '/channel/h5/save', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // H5渠道配置详情
 | ||||||
|  | export function getH5Config() { | ||||||
|  |     return request.get({ url: '/channel/h5/detail' }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 微信小程序配置保存
 | ||||||
|  | export function setWeappConfig(params: any) { | ||||||
|  |     return request.post({ url: '/channel/mp/save', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 微信小程序配置详情
 | ||||||
|  | export function getWeappConfig() { | ||||||
|  |     return request.get({ url: '/channel/mp/detail' }) | ||||||
|  | } | ||||||
|  | @ -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' }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,105 @@ | ||||||
|  | import request from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | // 微信公众号配置保存
 | ||||||
|  | export function setOaConfig(params: any) { | ||||||
|  |   return request.post({ url: "/channel/oa/save", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 微信公众号配置详情
 | ||||||
|  | export function getOaConfig() { | ||||||
|  |   return request.get({ url: "/channel/oa/detail" }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface Menu { | ||||||
|  |   name: string; | ||||||
|  |   menuType?: number; | ||||||
|  |   visitType?: string; | ||||||
|  |   url?: string; | ||||||
|  |   appId?: string; | ||||||
|  |   pagePath?: string; | ||||||
|  |   subButtons: Menu[] | any; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @description 获取菜单 | ||||||
|  |  */ | ||||||
|  | export function getOaMenu() { | ||||||
|  |   return request.get({ url: "/channel/oaMenu/detail" }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @param { Menu } Menu | ||||||
|  |  * @description 菜单保存 | ||||||
|  |  */ | ||||||
|  | export function setOaMenuSave(params: Menu | any) { | ||||||
|  |   return request.post({ url: "/channel/oaMenu/save", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @param { Menu } Menu | ||||||
|  |  * @description 菜单发布 | ||||||
|  |  */ | ||||||
|  | export function setOaMenuPublish(params: Menu | any) { | ||||||
|  |   return request.post({ url: "/channel/oaMenu/publish", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @description 默认回复列表 | ||||||
|  |  */ | ||||||
|  | export function getOaReplyList(params: any) { | ||||||
|  |   return request.get({ url: `/channel/oaReply/list`, params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @param { number } id | ||||||
|  |  * @description 回复列表删除 | ||||||
|  |  */ | ||||||
|  | export function oaReplyDel(params: any) { | ||||||
|  |   return request.post({ url: `/channel/oaReply/del`, params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @param { number } id | ||||||
|  |  * @description 回复状态修改 | ||||||
|  |  */ | ||||||
|  | export function changeOaReplyStatus(params: any) { | ||||||
|  |   return request.post({ url: `/channel/oaReply/status`, params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface Reply { | ||||||
|  |   content: string; // 内容
 | ||||||
|  |   contentType: number; // 内容类型: 1=文本
 | ||||||
|  |   keyword?: string; // 关键词
 | ||||||
|  |   matchingType?: number; // 匹配方式: [1=全匹配, 2=模糊匹配]
 | ||||||
|  |   name: string; // 规则名称
 | ||||||
|  |   status: number; // 状态: 1=开启, 0=关闭
 | ||||||
|  |   type: string; // 类型: follow=关注, keyword=关键词, default=默认
 | ||||||
|  |   sort: number; // 排序
 | ||||||
|  | } | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @description 默认回复编辑 | ||||||
|  |  */ | ||||||
|  | export function oaReplyAdd(params: Reply) { | ||||||
|  |   return request.post({ url: `/channel/oaReply/add`, params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @description 默认回复编辑 | ||||||
|  |  */ | ||||||
|  | export function oaReplyEdit(params: Reply) { | ||||||
|  |   return request.post({ url: `/channel/oaReply/edit`, params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @description 默认回复详情 | ||||||
|  |  */ | ||||||
|  | export function getOaReplyDetail(params: any) { | ||||||
|  |   return request.get({ url: `/channel/oaReply/detail`, params }); | ||||||
|  | } | ||||||
|  | @ -0,0 +1,16 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 用户列表
 | ||||||
|  | export function getUserList(params: any) { | ||||||
|  |     return request.get({ url: '/user/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 用户详情
 | ||||||
|  | export function getUserDetail(params: any) { | ||||||
|  |     return request.get({ url: '/user/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 用户编辑
 | ||||||
|  | export function userEdit(params: any) { | ||||||
|  |     return request.post({ url: '/user/edit', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,24 @@ | ||||||
|  | import request from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | // 页面装修详情
 | ||||||
|  | export function getDecoratePages(params: any) { | ||||||
|  |   return request.get( | ||||||
|  |     { url: "/decorate/pages/detail", params }, | ||||||
|  |     { ignoreCancelToken: true } | ||||||
|  |   ); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 页面装修保存
 | ||||||
|  | export function setDecoratePages(params: any) { | ||||||
|  |   return request.post({ url: "/decorate/pages/save", 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 }); | ||||||
|  | } | ||||||
|  | @ -0,0 +1,39 @@ | ||||||
|  | /* | ||||||
|  |  * @Author: micky 1254597151@qq.com | ||||||
|  |  * @Date: 2023-08-30 18:34:02 | ||||||
|  |  * @LastEditors: micky 1254597151@qq.com | ||||||
|  |  * @LastEditTime: 2023-08-30 18:34:10 | ||||||
|  |  * @FilePath: \housekeeping-admin\src\api\distributor\group.ts | ||||||
|  |  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 | ||||||
|  |  */ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | import axios from 'axios' | ||||||
|  | 
 | ||||||
|  | // 分销组别列表
 | ||||||
|  | export function apiDistributorGroupLists(params: any) { | ||||||
|  |     return request.get({ url: '/distributorsGroup/list', params }) | ||||||
|  | } | ||||||
|  | // 添加分销组别
 | ||||||
|  | export function apiDistributorGroupAdd(params: any) { | ||||||
|  |     return request.post({ url: '/distributorsGroup/add', params }) | ||||||
|  | } | ||||||
|  | // 编辑分销组别
 | ||||||
|  | export function apiDistributorGroupEdit(params: any) { | ||||||
|  |     return request.post({ url: '/distributorsGroup/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除分销组别
 | ||||||
|  | export function apiDistributorGroupDel(params: any) { | ||||||
|  |     return request.post({ url: '/distributorsGroup/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 分销组别详情
 | ||||||
|  | export function apiDistributorGroupDetail(params: any) { | ||||||
|  |     return request.get({ url: '/distributorsGroup/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface DistributorGroup { | ||||||
|  |     id: number | ||||||
|  |     groupName: string | ||||||
|  |     remark: string | ||||||
|  | } | ||||||
|  | @ -0,0 +1,61 @@ | ||||||
|  | /* | ||||||
|  |  * @Author: micky 1254597151@qq.com | ||||||
|  |  * @Date: 2023-09-04 09:43:15 | ||||||
|  |  * @LastEditors: micky 1254597151@qq.com | ||||||
|  |  * @LastEditTime: 2023-10-05 09:34:05 | ||||||
|  |  * @FilePath: \housekeeping-admin\src\api\distributor\lists.ts | ||||||
|  |  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 | ||||||
|  |  */ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | import axios from 'axios' | ||||||
|  | 
 | ||||||
|  | // 分销列表
 | ||||||
|  | export function apiDistributorLists(params: any) { | ||||||
|  |     return request.get({ url: '/distributor/list', params }) | ||||||
|  | } | ||||||
|  | // 添加分销
 | ||||||
|  | export function apiDistributorAdd(params: any) { | ||||||
|  |     return request.post({ url: '/distributor/add', params }) | ||||||
|  | } | ||||||
|  | // 编辑分销
 | ||||||
|  | export function apiDistributorEdit(params: any) { | ||||||
|  |     return request.post({ url: '/distributor/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除分销
 | ||||||
|  | export function apiDistributorDel(params: any) { | ||||||
|  |     return request.post({ url: '/distributor/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 分销详情
 | ||||||
|  | export function apiDistributorDetail(params: any) { | ||||||
|  |     return request.get({ url: '/distributor/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 二维码
 | ||||||
|  | export function apiDistributorQrcode(params: any) { | ||||||
|  |     return request.post({ url: '/distributor/genQRCode', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查看订单
 | ||||||
|  | export function apiDistributorQrder(params: any) { | ||||||
|  |     return request.post({ url: '/order/listDistributionOrder', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出订单
 | ||||||
|  | export function apiDistributorExcel(params: any) { | ||||||
|  |     return request.post( | ||||||
|  |         { responseType: 'blob', url: '/order/exportDistOrderExcel', params }, | ||||||
|  |         { | ||||||
|  |             isTransformResponse: false | ||||||
|  |         } | ||||||
|  |     ) | ||||||
|  | } | ||||||
|  | // 获取未绑定分销商用户
 | ||||||
|  | export function apiUnBindingDistributor(params: any) { | ||||||
|  |     return request.get({ url: '/user/getNotBindingDistributorUser', params }) | ||||||
|  | } | ||||||
|  | // 查看优惠券
 | ||||||
|  | export function apiDistributorCoupon(params: any) { | ||||||
|  |     return request.get({ url: '/channelCoupon/getDistributorCoupon', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,39 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | export function fileCateAdd(params: Record<string, any>) { | ||||||
|  |     return request.post({ url: '/common/album/cateAdd', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function fileCateEdit(params: Record<string, any>) { | ||||||
|  |     return request.post({ url: '/common/album/cateRename', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 文件分类删除
 | ||||||
|  | export function fileCateDelete(params: Record<string, any>) { | ||||||
|  |     return request.post({ url: '/common/album/cateDel', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 文件分类列表
 | ||||||
|  | export function fileCateLists(params: Record<string, any>) { | ||||||
|  |     return request.get({ url: '/common/album/cateList', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 文件列表
 | ||||||
|  | export function fileList(params: Record<string, any>) { | ||||||
|  |     return request.get({ url: '/common/album/albumList', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 文件删除
 | ||||||
|  | export function fileDelete(params: Record<string, any>) { | ||||||
|  |     return request.post({ url: '/common/album/albumDel', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 文件移动
 | ||||||
|  | export function fileMove(params: Record<string, any>) { | ||||||
|  |     return request.post({ url: '/common/album/albumMove', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 文件重命名
 | ||||||
|  | export function fileRename(params: { id: number; name: string }) { | ||||||
|  |     return request.post({ url: '/common/album/albumRename', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,10 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 余额明细
 | ||||||
|  | export function apiAccountLogLists(params: any) { | ||||||
|  |     return request.get({ url: '/account/log/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function changeTypeLists(params: any) { | ||||||
|  |     return request.get({ url: '/finance.account_log/changeTypeLists', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | export function getFinanceCenter(params: any) { | ||||||
|  |     return request.get({ url: '/finance/statistics', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,6 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 充值记录
 | ||||||
|  | export function apiRechargeRecord(params: any) { | ||||||
|  |     return request.get({ url: '/recharge/list', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 列表
 | ||||||
|  | export function getRefundList(params: any = '') { | ||||||
|  |     return request.post({ url: '/refund/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 退款详情
 | ||||||
|  | export function getRefundlogLists(params: any) { | ||||||
|  |     return request.get({ url: '/refund/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 重新退款
 | ||||||
|  | export function getreRefund(params: any) { | ||||||
|  |     return request.post({ url: '/refund/repeat', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 统计金额
 | ||||||
|  | export function getAmount(params: any) { | ||||||
|  |     return request.get({ url: '/refund/statistics/amount', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 统计数量
 | ||||||
|  | export function getCount(params: any) { | ||||||
|  |     return request.post({ url: '/refund/statistics/count', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,10 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 提现申请列表
 | ||||||
|  | export function applyForList(params: any) { | ||||||
|  |     return request.post({ url: '/withdraw/applyForList', params }) | ||||||
|  | } | ||||||
|  | // 审核提现编辑
 | ||||||
|  | export function applyForEdit(params: any) { | ||||||
|  |     return request.post({ url: '/withdraw/applyForEdit', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,113 @@ | ||||||
|  | /* | ||||||
|  |  * @Author: micky 1254597151@qq.com | ||||||
|  |  * @Date: 2023-08-14 15:56:31 | ||||||
|  |  * @LastEditors: micky 1254597151@qq.com | ||||||
|  |  * @LastEditTime: 2023-11-09 17:18:09 | ||||||
|  |  * @FilePath: \housekeeping-admin\src\api\master_worker\index.ts | ||||||
|  |  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 | ||||||
|  |  */ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 师傅列表
 | ||||||
|  | export function apiMasterWorkerLists(params: any) { | ||||||
|  |     return request.post({ url: '/staff/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 师傅详情
 | ||||||
|  | export function apiMasterWorkerDetail(params: any) { | ||||||
|  |     return request.get({ url: '/staff/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 师傅添加
 | ||||||
|  | export function apiMasterWorkerAdd(params: any) { | ||||||
|  |     return request.post({ url: '/staff/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 师傅编辑
 | ||||||
|  | export function apiMasterWorkerEdit(params: any) { | ||||||
|  |     return request.post({ url: '/staff/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 师傅状态
 | ||||||
|  | export function apiMasterWorkerStatusEdit(params: any) { | ||||||
|  |     return request.post({ url: '/staff/receiveOrderStatus', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 师傅删除
 | ||||||
|  | export function apiMasterWorkerDel(params: any) { | ||||||
|  |     return request.get({ url: '/staff/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询选择的服务区域
 | ||||||
|  | export function apiMasterWorkerArea(params: any) { | ||||||
|  |     return request.get({ url: '/serviceAreaStaff/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 单独服务区域添加
 | ||||||
|  | export function apiMasterWorkerAreaAdd(params: any) { | ||||||
|  |     return request.post({ url: '/serviceAreaStaff/edit', params }) | ||||||
|  | } | ||||||
|  | // 师傅申请列表
 | ||||||
|  | export function apiMasterWorkerApply(params: any) { | ||||||
|  |     return request.get({ url: '/StaffApplyFor/list', params }) | ||||||
|  | } | ||||||
|  | // 师傅审核申请
 | ||||||
|  | export function apiMasterWorkerApplyAgreement(params: any) { | ||||||
|  |     return request.post({ url: '/StaffApplyFor/checkStaffApplyFor', params }) | ||||||
|  | } | ||||||
|  | // 师傅资料详情
 | ||||||
|  | export function apiMasterWorkerAuthDetail(params: any) { | ||||||
|  |     return request.get({ url: '/StaffApplyFor/detail', params }) | ||||||
|  | } | ||||||
|  | // 师傅体检报告申请列表
 | ||||||
|  | export function apiMasterWorkerPhysical(params: any) { | ||||||
|  |     return request.get({ url: '/physical/examination/list', params }) | ||||||
|  | } | ||||||
|  | // 师傅审核体检报告申请
 | ||||||
|  | export function apiMasterWorkerPhysicalAgreement(params: any) { | ||||||
|  |     return request.post({ url: '/physical/examination/checkApplyFor', params }) | ||||||
|  | } | ||||||
|  | // 未绑定师傅用户列表
 | ||||||
|  | export function apiUserNotStaff(params: any) { | ||||||
|  |     return request.get({ url: '/user/getNotBindingStaffUser', params }) | ||||||
|  | } | ||||||
|  | // 文件上传
 | ||||||
|  | export function apiUploadFile(params: any) { | ||||||
|  |     return request.post({ url: '/common/upload/image', params, headers: { 'Content-Type': 'multipart/form-data' } }) | ||||||
|  | } | ||||||
|  | // 申诉列表
 | ||||||
|  | export function apiFeedbackList(params: any) { | ||||||
|  |     return request.get({ url: '/feedback/list', params }) | ||||||
|  | } | ||||||
|  | // 删除申诉
 | ||||||
|  | export function apiFeedbackDel(params: any) { | ||||||
|  |     return request.post({ url: '/feedback/del', params }) | ||||||
|  | } | ||||||
|  | // 审核申诉
 | ||||||
|  | export function apiFeedbackAgreement(params: any) { | ||||||
|  |     return request.post({ url: '/feedback/checkFeedback', params }) | ||||||
|  | } | ||||||
|  | // 师傅退单规则
 | ||||||
|  | export function apiOrderRule(params: any) { | ||||||
|  |     return request.post({ url: '/cancel/order/config/add', params }) | ||||||
|  | } | ||||||
|  | // 获取设置规则列表
 | ||||||
|  | export function apiRuleList(params: any) { | ||||||
|  |     return request.get({ url: '/cancel/order/config/list', params }) | ||||||
|  | } | ||||||
|  | // 师傅改派单列表
 | ||||||
|  | export function apiStaffCancelOrderList(params: any) { | ||||||
|  |     return request.get({ url: '/reassignment/list', params }) | ||||||
|  | } | ||||||
|  | // 获取未上传体检报告师傅
 | ||||||
|  | export function apiStaffUnUploadPdfList(params: any) { | ||||||
|  |     return request.get({ url: '/staff/getNotPhysicalExaminationStaff', params }) | ||||||
|  | } | ||||||
|  | // 师傅提交体检报告
 | ||||||
|  | export function apiStaffPhysical(params: any) { | ||||||
|  |     return request.post({ url: '/physical/examination/uploadPhysicalExamination', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function apiStaffIsOperationalUpdate(params: any) { | ||||||
|  |     return request.post({ url: '/staff/updateStaffOperationalStatus', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,31 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 通知设置列表
 | ||||||
|  | export function noticeLists(params: any) { | ||||||
|  |     return request.get({ url: '/setting/notice/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 通知设置详情
 | ||||||
|  | export function noticeDetail(params: any) { | ||||||
|  |     return request.get({ url: '/setting/notice/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 通知设置保存
 | ||||||
|  | export function setNoticeConfig(params: any) { | ||||||
|  |     return request.post({ url: '/setting/notice/save', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 短信设置列表
 | ||||||
|  | export function smsLists() { | ||||||
|  |     return request.get({ url: '/setting/sms/list' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 短信设置详情
 | ||||||
|  | export function smsDetail(params: any) { | ||||||
|  |     return request.get({ url: '/setting/sms/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 短信设置保存
 | ||||||
|  | export function setSmsConfig(params: any) { | ||||||
|  |     return request.post({ url: '/setting/sms/save', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,60 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 订单列表
 | ||||||
|  | export function apiOrderLists(params: any) { | ||||||
|  |     return request.post({ url: '/order/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 订单详情
 | ||||||
|  | export function apiOrderDetail(params: any) { | ||||||
|  |     return request.get({ url: '/order/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 订单取消
 | ||||||
|  | export function apiOrderCancel(params: any) { | ||||||
|  |     return request.post({ url: '/order/cancel', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 订单商家备注
 | ||||||
|  | export function apiOrderRemark(params: any) { | ||||||
|  |     return request.get({ url: '/order/remark', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 订单商家备注详情
 | ||||||
|  | export function apiOrderRemarkDetail(params: any) { | ||||||
|  |     return request.get({ url: '/order.order/remarkDetail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 订单删除
 | ||||||
|  | export function apiOrderDel(params: any) { | ||||||
|  |     return request.get({ url: '/order/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 统计订单状态数据
 | ||||||
|  | export function apiOrderStatis(params: any) { | ||||||
|  |     return request.get({ url: '/order/statistics', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 订单核销
 | ||||||
|  | export function apiOrderVerification(params: any) { | ||||||
|  |     return request.get({ url: '/order/verification', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 师傅列表
 | ||||||
|  | export function apiMasterLists(params: any) { | ||||||
|  |     return request.post({ url: '/staff/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 指派师傅
 | ||||||
|  | export function apiDispatchStaff(params: any) { | ||||||
|  |     return request.get({ url: '/order/dispatch', params }) | ||||||
|  | } | ||||||
|  | // 重新指派师傅获取分数
 | ||||||
|  | export function apiDispatchStaffScore(params: any) { | ||||||
|  |     return request.get({ url: '/cancel/order/config/getCancelOrderConfigByOrder', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 确认服务
 | ||||||
|  | export function apiConfirmService(params: any) { | ||||||
|  |     return request.post({ url: '/order/staff/confirm', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 部门列表
 | ||||||
|  | export function deptLists(params?: any) { | ||||||
|  |     return request.get({ url: '/system/dept/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加部门
 | ||||||
|  | export function deptAdd(params: any) { | ||||||
|  |     return request.post({ url: '/system/dept/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑部门
 | ||||||
|  | export function deptEdit(params: any) { | ||||||
|  |     return request.post({ url: '/system/dept/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除部门
 | ||||||
|  | export function deptDelete(params: any) { | ||||||
|  |     return request.post({ url: '/system/dept/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 部门详情
 | ||||||
|  | export function deptDetail(params?: any) { | ||||||
|  |     return request.get({ url: '/system/dept/detail', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,30 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 岗位列表
 | ||||||
|  | export function postLists(params?: any) { | ||||||
|  |     return request.get({ url: '/system/post/list', params }) | ||||||
|  | } | ||||||
|  | // 岗位列表
 | ||||||
|  | export function postAll(params?: any) { | ||||||
|  |     return request.get({ url: '/system/post/all', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加岗位
 | ||||||
|  | export function postAdd(params: any) { | ||||||
|  |     return request.post({ url: '/system/post/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑岗位
 | ||||||
|  | export function postEdit(params: any) { | ||||||
|  |     return request.post({ url: '/system/post/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除岗位
 | ||||||
|  | export function postDelete(params: any) { | ||||||
|  |     return request.post({ url: '/system/post/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 岗位详情
 | ||||||
|  | export function postDetail(params: any) { | ||||||
|  |     return request.get({ url: '/system/post/detail', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,31 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 管理员列表
 | ||||||
|  | export function adminLists(params: any) { | ||||||
|  |     return request.get({ url: '/system/admin/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 管理员添加
 | ||||||
|  | export function adminAdd(params: any) { | ||||||
|  |     return request.post({ url: '/system/admin/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 管理员编辑
 | ||||||
|  | export function adminDetail(params: any) { | ||||||
|  |     return request.get({ url: '/system/admin/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 管理员编辑
 | ||||||
|  | export function adminEdit(params: any) { | ||||||
|  |     return request.post({ url: '/system/admin/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 管理员删除
 | ||||||
|  | export function adminDelete(params: any) { | ||||||
|  |     return request.post({ url: '/system/admin/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 管理员删除
 | ||||||
|  | export function adminStatus(params: any) { | ||||||
|  |     return request.post({ url: '/system/admin/disable', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 菜单列表
 | ||||||
|  | export function menuLists(params?: Record<string, any>) { | ||||||
|  |     return request.get({ url: '/system/menu/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加菜单
 | ||||||
|  | export function menuAdd(params: Record<string, any>) { | ||||||
|  |     return request.post({ url: '/system/menu/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑菜单
 | ||||||
|  | export function menuEdit(params: Record<string, any>) { | ||||||
|  |     return request.post({ url: '/system/menu/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 菜单删除
 | ||||||
|  | export function menuDelete(params: Record<string, any>) { | ||||||
|  |     return request.post({ url: '/system/menu/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 菜单删除
 | ||||||
|  | export function menuDetail(params: Record<string, any>) { | ||||||
|  |     return request.get({ url: '/system/menu/detail', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,29 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 角色列表
 | ||||||
|  | export function roleLists(params: any) { | ||||||
|  |     return request.get({ url: '/system/role/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 角色列表
 | ||||||
|  | export function roleAll(params?: any) { | ||||||
|  |     return request.get({ url: '/system/role/all', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 角色列表
 | ||||||
|  | export function roleDetail(params: any) { | ||||||
|  |     return request.get({ url: '/system/role/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加角色
 | ||||||
|  | export function roleAdd(params: any) { | ||||||
|  |     return request.post({ url: '/system/role/add', params }) | ||||||
|  | } | ||||||
|  | // 编辑角色
 | ||||||
|  | export function roleEdit(params: any) { | ||||||
|  |     return request.post({ url: '/system/role/edit', params }) | ||||||
|  | } | ||||||
|  | // 删除角色
 | ||||||
|  | export function roleDelete(params: any) { | ||||||
|  |     return request.post({ url: '/system/role/del', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,39 @@ | ||||||
|  | /* | ||||||
|  |  * @Author: micky 1254597151@qq.com | ||||||
|  |  * @Date: 2023-12-19 15:41:58 | ||||||
|  |  * @LastEditors: micky 1254597151@qq.com | ||||||
|  |  * @LastEditTime: 2023-12-20 18:11:06 | ||||||
|  |  * @FilePath: \housekeeping-admin\src\api\service\activity.ts | ||||||
|  |  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 | ||||||
|  |  */ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 活动专区列表
 | ||||||
|  | export function apiActivityLists(params: any) { | ||||||
|  |     return request.get({ url: '/activity/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加活动专区
 | ||||||
|  | export function apiActivityAdd(params: any) { | ||||||
|  |     return request.post({ url: '/activity/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除活动专区
 | ||||||
|  | export function apiActivityDel(params: any) { | ||||||
|  |     return request.post({ url: '/activity/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑活动专区
 | ||||||
|  | export function apiActivityEdit(params: any) { | ||||||
|  |     return request.post({ url: '/activity/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑活动专区状态
 | ||||||
|  | export function apiActivityStatusEdit(params: any) { | ||||||
|  |     return request.post({ url: '/activity/status', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 活动专区详情
 | ||||||
|  | export function apiActivityDetail(params: any) { | ||||||
|  |     return request.get({ url: '/activity/detail', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,29 @@ | ||||||
|  | import axios from 'axios' | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 获取当前位置
 | ||||||
|  | export function apiMapLocation(params) { | ||||||
|  |     return new Promise(async (resolve, reject) => { | ||||||
|  |         const { data } = await axios.get('/tecent/ws/location/v1/ip', { params }) | ||||||
|  |         data.status === 0 ? resolve(data) : reject(data.message) | ||||||
|  |     }) | ||||||
|  | } | ||||||
|  | // 根据地址获取经纬度
 | ||||||
|  | export function getLonAndLatByArea(params) { | ||||||
|  |     return new Promise(async (resolve, reject) => { | ||||||
|  |         const { data } = await axios.get('/tecent/ws/geocoder/v1', { params }) | ||||||
|  |         data.status === 0 ? resolve(data) : reject(data.message) | ||||||
|  |     }) | ||||||
|  | } | ||||||
|  | // 根据当前位置获取区域列表
 | ||||||
|  | export function getAreaListByLocation(params) { | ||||||
|  |     return request.get({ url: '/serviceArea/list', params }); | ||||||
|  | } | ||||||
|  | // 添加区域
 | ||||||
|  | export function addArea(params) { | ||||||
|  |     return request.post({ url: '/serviceArea/add', params }) | ||||||
|  | } | ||||||
|  | // 删除区域
 | ||||||
|  | export function delArea(params) { | ||||||
|  |     return request.get({ url: '/serviceArea/del', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,36 @@ | ||||||
|  | import request from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | // 分类列表
 | ||||||
|  | export function apiCategoryLists(params: any) { | ||||||
|  |   return request.get({ url: "/category/list", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加分类
 | ||||||
|  | export function apiCategoryAdd(params: any) { | ||||||
|  |   return request.post({ url: "/category/add", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除分类
 | ||||||
|  | export function apiCategoryDel(params: any) { | ||||||
|  |   return request.get({ url: "/category/del", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑分类
 | ||||||
|  | export function apiCategoryEdit(params: any) { | ||||||
|  |   return request.post({ url: "/category/edit", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑分类状态
 | ||||||
|  | export function apiCategoryStatusEdit(params: any) { | ||||||
|  |   return request.post({ url: "/category/status", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 分类详情
 | ||||||
|  | export function apiCategoryDetail(params: any) { | ||||||
|  |   return request.get({ url: "/category/detail", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 通用分类列表
 | ||||||
|  | export function apiCategoryCommonLists() { | ||||||
|  |   return request.get({ url: "/category/commonList" }); | ||||||
|  | } | ||||||
|  | @ -0,0 +1,28 @@ | ||||||
|  | import request from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | // 评价列表
 | ||||||
|  | export function apiCommentLists(params: any) { | ||||||
|  |     return request.post({ url: "/comment/list", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 评价回复
 | ||||||
|  | export function apiCommentReply(params: any) { | ||||||
|  |     return request.post({ url: "/comment/reply", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除评价
 | ||||||
|  | export function apiCommentDel(params: any) { | ||||||
|  |     return request.get({ url: "/comment/del", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 评价详情
 | ||||||
|  | export function apiCommentDetail(params: any) { | ||||||
|  |     return request.get({ url: "/goods.goods_comment/detail", params }); | ||||||
|  | } | ||||||
|  | // 修改客服评分
 | ||||||
|  | export function apiCustomerServiceAppraise(params: any) { | ||||||
|  |     return request.post({ url: "/comment/customerServiceAppraiseScore", params }); | ||||||
|  | } | ||||||
|  | export function apiStaffScore(params: any) { | ||||||
|  |     return request.get({ url: "/comment/calculateStaffScore", params }); | ||||||
|  | } | ||||||
|  | @ -0,0 +1,46 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 服务列表
 | ||||||
|  | export function apiServiceLists(params: any) { | ||||||
|  |     return request.get({ url: '/goods/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 统计状态数据
 | ||||||
|  | export function apiServiceStatis(params: any) { | ||||||
|  |     return request.get({ url: '/goods/statistics', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加服务
 | ||||||
|  | export function apiServiceAdd(params: any) { | ||||||
|  |     return request.post({ url: '/goods/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除服务
 | ||||||
|  | export function apiServiceDel(params: any) { | ||||||
|  |     return request.post({ url: '/goods/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑服务
 | ||||||
|  | export function apiServiceEdit(params: any) { | ||||||
|  |     return request.post({ url: '/goods/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑服务状态
 | ||||||
|  | export function apiServiceStatus(params: any) { | ||||||
|  |     console.log("apiServiceStatus", params) | ||||||
|  |     return request.post({ url: '/goods/status', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑服务新品推荐
 | ||||||
|  | export function apiServiceNewRecommend(params: any) { | ||||||
|  |     return request.post({ url: '/goods/newRecommend', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function apiServicesBatchUpdatePrice(params: any) { | ||||||
|  |     return request.post({ url: '/goods/batchUpdatePrice', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 服务详情
 | ||||||
|  | export function apiServiceDetail(params: any) { | ||||||
|  |     return request.get({ url: '/goods/detail', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,86 @@ | ||||||
|  | /* | ||||||
|  |  * @Author: micky 1254597151@qq.com | ||||||
|  |  * @Date: 2023-08-14 15:56:31 | ||||||
|  |  * @LastEditors: micky 1254597151@qq.com | ||||||
|  |  * @LastEditTime: 2023-10-13 16:28:32 | ||||||
|  |  * @FilePath: \housekeeping-admin\src\api\order\subscribe.ts | ||||||
|  |  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 | ||||||
|  |  */ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 获取预约天数
 | ||||||
|  | export function apiGetOrderTime() { | ||||||
|  |     return request.get({ url: '/time/getTime' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 设置预约时长
 | ||||||
|  | export function apiSetOrderTime(params: any) { | ||||||
|  |     return request.post({ url: '/time/setTime', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取时间段列表
 | ||||||
|  | export function apiOrderTimeLists(params: any) { | ||||||
|  |     return request.get({ url: '/time/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取时间段详情
 | ||||||
|  | export function apiOrderTimeDetail(params: any) { | ||||||
|  |     return request.get({ url: '/time/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加时间段
 | ||||||
|  | export function apiOrderTimeAdd(params: any) { | ||||||
|  |     return request.post({ url: '/time/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑时间段
 | ||||||
|  | export function apiOrderTimeEdit(params: any) { | ||||||
|  |     return request.post({ url: '/time/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除时间段
 | ||||||
|  | export function apiOrderTimeDel(params: any) { | ||||||
|  |     return request.post({ url: '/time/batchDel', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // --------------------------------------------------------------------
 | ||||||
|  | 
 | ||||||
|  | // 服务时间列表
 | ||||||
|  | export function apiGoodsTimeList(params: any) { | ||||||
|  |     return request.get({ url: '/goods/time/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑服务时间
 | ||||||
|  | export function apiGoodsTimeEdit(params: any) { | ||||||
|  |     return request.post({ url: '/goods/time/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 服务时间修改状态
 | ||||||
|  | export function apiGoodsTimeUpdateStatus(params: any) { | ||||||
|  |     return request.post({ url: '/goods/time/updateStatus', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 服务时间新增
 | ||||||
|  | export function apiAddGoodsTime(params: any) { | ||||||
|  |     return request.post({ url: '/goods/time/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 服务时间编辑
 | ||||||
|  | export function apiEditGoodsTime(params: any) { | ||||||
|  |     return request.post({ url: '/goods/time/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 服务时间详情
 | ||||||
|  | export function apiGetGoodsTimeDetail(params: any) { | ||||||
|  |     return request.get({ url: '/goods/time/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 服务时间删除
 | ||||||
|  | export function apiGetGoodsTimeDel(params: any) { | ||||||
|  |     return request.post({ url: '/goods/time/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 服务时间所有数据
 | ||||||
|  | export function apiGetGoodsTimeAllList(params: any) { | ||||||
|  |     return request.get({ url: '/goods/time/all', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,31 @@ | ||||||
|  | import request from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | // 单位列表
 | ||||||
|  | export function apiUnitLists(params: any) { | ||||||
|  |   return request.get({ url: "/unit/list", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加单位
 | ||||||
|  | export function apiUnitAdd(params: any) { | ||||||
|  |   return request.post({ url: "/unit/add", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除单位
 | ||||||
|  | export function apiUnitDel(params: any) { | ||||||
|  |   return request.get({ url: "/unit/del", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑单位
 | ||||||
|  | export function apiUnitEdit(params: any) { | ||||||
|  |   return request.post({ url: "/unit/edit", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 单位详情
 | ||||||
|  | export function apiUnitDetail(params: any) { | ||||||
|  |   return request.get({ url: "/unit/detail", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 通用单位列表
 | ||||||
|  | export function apiUnitCommonLists() { | ||||||
|  |   return request.get({ url: "/goods.goods_unit/commonLists" }); | ||||||
|  | } | ||||||
|  | @ -0,0 +1,61 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 字典类型列表
 | ||||||
|  | export function dictTypeLists(params?: any) { | ||||||
|  |     return request.get({ url: '/setting/dict/type/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 字典类型列表
 | ||||||
|  | export function dictTypeAll(params?: any) { | ||||||
|  |     return request.get({ url: '/setting/dict/type/all', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加字典类型
 | ||||||
|  | export function dictTypeAdd(params: any) { | ||||||
|  |     return request.post({ url: '/setting/dict/type/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑字典类型
 | ||||||
|  | export function dictTypeEdit(params: any) { | ||||||
|  |     return request.post({ url: '/setting/dict/type/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除字典类型
 | ||||||
|  | export function dictTypeDelete(params: any) { | ||||||
|  |     return request.post({ url: '/setting/dict/type/del', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 字典数据列表
 | ||||||
|  | export function dictDataLists(params: any) { | ||||||
|  |     return request.get( | ||||||
|  |         { url: '/setting/dict/data/list', params }, | ||||||
|  |         { | ||||||
|  |             ignoreCancelToken: true | ||||||
|  |         } | ||||||
|  |     ) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 字典数据列表
 | ||||||
|  | export function dictDataAll(params: any) { | ||||||
|  |     return request.get( | ||||||
|  |         { url: '/setting/dict/data/all', params }, | ||||||
|  |         { | ||||||
|  |             ignoreCancelToken: true | ||||||
|  |         } | ||||||
|  |     ) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 添加字典数据
 | ||||||
|  | export function dictDataAdd(params: any) { | ||||||
|  |     return request.post({ url: '/setting/dict/data/add', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑字典数据
 | ||||||
|  | export function dictDataEdit(params: any) { | ||||||
|  |     return request.post({ url: '/setting/dict/data/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除字典数据
 | ||||||
|  | export function dictDataDelete(params: any) { | ||||||
|  |     return request.post({ url: '/setting/dict/data/del', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 获取地图配置
 | ||||||
|  | export function getMapConfig(params: any = '') { | ||||||
|  |     return request.get({ url: '/setting/website/getMapKey', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 设置地图配置
 | ||||||
|  | export function setMapConfig(params: any) { | ||||||
|  |     return request.post({ url: '/setting/website/setMapKey', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,28 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | /** 支付配置 Start **/ | ||||||
|  | // 获取支付配置
 | ||||||
|  | export function apiPaymentConfigLists() { | ||||||
|  |     return request.get({ url: '/pay/list' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 设置支付配置
 | ||||||
|  | export function apiPaymentConfigSet(params: any) { | ||||||
|  |     return request.post({ url: '/pay/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 支付配置详情
 | ||||||
|  | export function apiPaymentConfigDetail(params: any) { | ||||||
|  |     return request.get({ url: '/pay/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取支付方式列表
 | ||||||
|  | export function apiPaymentWayLists() { | ||||||
|  |     return request.get({ url: '/way/list' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 设置支付方式
 | ||||||
|  | export function apiPaymentWaySet(params: any) { | ||||||
|  |     return request.post({ url: '/way/edit', params }) | ||||||
|  | } | ||||||
|  | /** 支付配置 End **/ | ||||||
|  | @ -0,0 +1,27 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @description 获取热门搜索数据 | ||||||
|  |  */ | ||||||
|  | export function getSearch() { | ||||||
|  |     return request.get({ url: '/setting/search/detail' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface List { | ||||||
|  |     name: string // 搜索关键字
 | ||||||
|  |     sort: number // 热门搜索排序
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface Search { | ||||||
|  |     isHotSearch: number // 是否开启搜索0/1
 | ||||||
|  |     list: List[] | ||||||
|  | } | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @param { Search } Search | ||||||
|  |  * @description 设置热门搜索 | ||||||
|  |  */ | ||||||
|  | export function setSearch(params: Search) { | ||||||
|  |     return request.post({ url: '/setting/search/save', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,21 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 获取存储引擎列表
 | ||||||
|  | export function storageLists() { | ||||||
|  |     return request.get({ url: '/setting/storage/list' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 设置存储引擎信息
 | ||||||
|  | export function storageChange(params: any) { | ||||||
|  |     return request.post({ url: '/setting/storage/change', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 设置存储引擎信息
 | ||||||
|  | export function storageSetup(params: any) { | ||||||
|  |     return request.post({ url: '/setting/storage/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取存储配置信息
 | ||||||
|  | export function storageDetail(params: any) { | ||||||
|  |     return request.get({ url: '/setting/storage/detail', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,38 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 获取系统环境
 | ||||||
|  | export function systemInfo() { | ||||||
|  |     return request.get({ url: '/monitor/server' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取系统日志列表
 | ||||||
|  | export function systemLogLists(params: any) { | ||||||
|  |     return request.get({ url: '/system/log/operate', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 系统缓存监控
 | ||||||
|  | export function systemCache() { | ||||||
|  |     return request.get({ url: '/monitor/cache' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 定时任务列表
 | ||||||
|  | export const apiCrontabLists = () => request.get({ url: '/crontab/list' }) | ||||||
|  | 
 | ||||||
|  | // 添加定时任务
 | ||||||
|  | export const apiCrontabAdd = (params: any) => request.post({ url: '/crontab/add', params }) | ||||||
|  | 
 | ||||||
|  | // 查看详情
 | ||||||
|  | export const apiCrontabDetail = (params: any) => request.get({ url: '/crontab/detail', params }) | ||||||
|  | 
 | ||||||
|  | // 编辑定时任务
 | ||||||
|  | export const apiCrontabEdit = (params: any) => request.post({ url: '/crontab/edit', params }) | ||||||
|  | 
 | ||||||
|  | // 删除定时任务
 | ||||||
|  | export const apiCrontabDel = (params: any) => request.post({ url: '/crontab/del', params }) | ||||||
|  | 
 | ||||||
|  | // 获取规则执行时间
 | ||||||
|  | export const apiCrontabExpression = (params: any) => | ||||||
|  |     request.get({ url: '/crontab/expression', params }) | ||||||
|  | 
 | ||||||
|  | // 操作定时任务
 | ||||||
|  | export const apiSrontabOperate = (params: any) => request.post({ url: '/crontab/operate', params }) | ||||||
|  | @ -0,0 +1,43 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @description 获取用户设置 | ||||||
|  |  */ | ||||||
|  | export function getUserSetup() { | ||||||
|  |     return request.get({ url: '/setting/user/detail' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @param { string } defaultAvatar 默认用户头像 | ||||||
|  |  * @description 设置用户设置 | ||||||
|  |  */ | ||||||
|  | export function setUserSetup(params: { defaultAvatar: string }) { | ||||||
|  |     return request.post({ url: '/setting/user/save', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @description 设置登录注册规则 | ||||||
|  |  */ | ||||||
|  | export function getLogin() { | ||||||
|  |     return request.get({ url: '/setting/login/detail' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface LoginSetup { | ||||||
|  |     loginWay: number[] | any // 登录方式, 逗号隔开
 | ||||||
|  |     forceBindMobile: number // 强制绑定手机 0/1
 | ||||||
|  |     openAgreement: number // 是否开启协议 0/1
 | ||||||
|  |     openOtherAuth: number // 第三方登录 0/1
 | ||||||
|  |     autoLoginAuth: number[] | any // 第三方自动登录 逗号隔开
 | ||||||
|  |     tokenValidity: number | ||||||
|  | } | ||||||
|  | /** | ||||||
|  |  * @return { Promise } | ||||||
|  |  * @param { LoginSetup } LoginSetup | ||||||
|  |  * @description 设置登录注册规则 | ||||||
|  |  */ | ||||||
|  | export function setLogin(params: LoginSetup) { | ||||||
|  |     return request.post({ url: '/setting/login/save', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,27 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 获取备案信息
 | ||||||
|  | export function getCopyright() { | ||||||
|  |     return request.get({ url: '/setting/copyright/detail' }) | ||||||
|  | } | ||||||
|  | // 设置备案信息
 | ||||||
|  | export function setCopyright(params: any) { | ||||||
|  |     return request.post({ url: '/setting/copyright/save', params }) | ||||||
|  | } | ||||||
|  | // 获取网站信息
 | ||||||
|  | export function getWebsite() { | ||||||
|  |     return request.get({ url: '/setting/website/detail' }) | ||||||
|  | } | ||||||
|  | // 设置网站信息
 | ||||||
|  | export function setWebsite(params: any) { | ||||||
|  |     return request.post({ url: '/setting/website/save', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取政策协议
 | ||||||
|  | export function getProtocol() { | ||||||
|  |     return request.get({ url: '/setting/protocol/detail' }) | ||||||
|  | } | ||||||
|  | // 设置政策协议
 | ||||||
|  | export function setProtocol(params: any) { | ||||||
|  |     return request.post({ url: '/setting/protocol/save', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,28 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | //首页数据
 | ||||||
|  | export function getIndex() { | ||||||
|  |     return request.get({ url: '/index' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 装修页面
 | ||||||
|  | export function getDecorate(data: any) { | ||||||
|  |     return request.get({ url: '/decorate', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @description 热门搜索 | ||||||
|  |  * @return { Promise } | ||||||
|  |  */ | ||||||
|  | export function getHotSearch() { | ||||||
|  |     return request.get({ url: '/hotSearch' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @description 搜索 | ||||||
|  |  * @param { string } keyword 关键词 | ||||||
|  |  * @return { Promise } | ||||||
|  |  */ | ||||||
|  | export function getSearch(data: { keyword: string; pageNo: number; pageSize: number }) { | ||||||
|  |     return request.get({ url: '/search', data }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,66 @@ | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 代码生成已选数据表列表接口
 | ||||||
|  | export function generateTable(params: any) { | ||||||
|  |     return request.get({ url: '/gen/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 数据表列表接口
 | ||||||
|  | export function dataTable(params: any) { | ||||||
|  |     return request.get({ url: '/gen/db', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //选择要生成代码的数据表
 | ||||||
|  | export function selectTable(params: any) { | ||||||
|  |     return request.post( | ||||||
|  |         { url: '/gen/importTable', params }, | ||||||
|  |         { | ||||||
|  |             isParamsToData: false | ||||||
|  |         } | ||||||
|  |     ) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 已选择的数据表详情
 | ||||||
|  | export function tableDetail(params: any) { | ||||||
|  |     return request.get({ url: '/gen/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //同步字段
 | ||||||
|  | export function syncColumn(params: any) { | ||||||
|  |     return request.post( | ||||||
|  |         { url: '/gen/syncTable', params }, | ||||||
|  |         { | ||||||
|  |             isParamsToData: false | ||||||
|  |         } | ||||||
|  |     ) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //删除已选择的数据表
 | ||||||
|  | export function generateDelete(params: any) { | ||||||
|  |     return request.post({ url: '/gen/delTable', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //编辑已选表字段
 | ||||||
|  | export function generateEdit(params: any) { | ||||||
|  |     return request.post({ url: '/gen/editTable', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //预览代码
 | ||||||
|  | export function generatePreview(params: any) { | ||||||
|  |     return request.get({ url: '/gen/previewCode', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //生成代码
 | ||||||
|  | export function generateCode(params: any) { | ||||||
|  |     return request.get({ url: '/gen/genCode', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //下载代码
 | ||||||
|  | export function downloadCode(params: any) { | ||||||
|  |     return request.get( | ||||||
|  |         { responseType: 'blob', url: '/gen/downloadCode', params }, | ||||||
|  |         { | ||||||
|  |             isTransformResponse: false | ||||||
|  |         } | ||||||
|  |     ) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | import request from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | // 获取交易设置
 | ||||||
|  | export function getConfig(params: any = "") { | ||||||
|  |   return request.get({ url: "/setting/transaction", params }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 设置交易设置
 | ||||||
|  | export function setConfig(params: any) { | ||||||
|  |   return request.post({ url: "/setting/transaction", params }); | ||||||
|  | } | ||||||
|  | @ -0,0 +1,58 @@ | ||||||
|  | import config from '@/config' | ||||||
|  | import request from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | // 登录
 | ||||||
|  | export function login(params: Record<string, any>) { | ||||||
|  |     return request.post({ | ||||||
|  |         url: '/system/login', | ||||||
|  |         params: { ...params, terminal: config.terminal } | ||||||
|  |     }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 退出登录
 | ||||||
|  | export function logout() { | ||||||
|  |     return request.post({ url: '/system/logout' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 用户信息
 | ||||||
|  | export function getUserInfo() { | ||||||
|  |     return request.get({ url: '/system/admin/self' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 菜单路由
 | ||||||
|  | export function getMenu() { | ||||||
|  |     return request.get({ url: '/system/menu/route' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 编辑管理员信息
 | ||||||
|  | export function setUserInfo(params: any) { | ||||||
|  |     return request.post({ url: '/system/admin/upInfo', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 用户列表
 | ||||||
|  | export function apiUserLists(params: any) { | ||||||
|  |     return request.get({ url: '/user/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 设置用户信息
 | ||||||
|  | export function apiSetUserInfo(params: { | ||||||
|  |     id: number | string | ||||||
|  |     field: string | ||||||
|  |     value: string | number | ||||||
|  | }) { | ||||||
|  |     return request.post({ url: '/user/edit', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 用户详情
 | ||||||
|  | export function apiUserDetail(params: any) { | ||||||
|  |     return request.get({ url: '/user/detail', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 调整余额
 | ||||||
|  | export function adjustUserWallet(params: any) { | ||||||
|  |     return request.post({ url: '/user/adjustWallet', params }) | ||||||
|  | } | ||||||
|  | // 用户退款配置列表
 | ||||||
|  | export function apiUserRefundList(params: any) { | ||||||
|  |     return request.get({ url: '/goods/cancelOrderConfig/list', params }) | ||||||
|  | } | ||||||
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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 | 
|  | @ -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="M332.202667 347.136c12.16 12.373333 12.16 32.426667 0 44.821333-12.16 12.373333-31.893333 12.373333-44.053334 0l-151.04-115.584a32.085333 32.085333 0 0 1 0-44.842666l151.04-115.584c12.16-12.373333 31.893333-12.373333 44.053334 0 12.16 12.373333 12.16 32.448 0 44.842666l-85.290667 61.589334H565.333333c182.613333 0 330.666667 146.026667 330.666667 326.144 0 177.92-144.426667 322.538667-323.925333 326.08L565.333333 874.666667h-213.333333a31.786667 31.786667 0 0 1-32-31.573334c0-16.384 12.693333-29.866667 28.928-31.402666l3.072-0.149334h213.333333c147.285333 0 266.666667-117.76 266.666667-263.018666 0-143.082667-115.84-259.477333-260.096-262.933334l-6.570667-0.064-318.442666-0.021333 85.333333 61.632z"  /></svg> | ||||||
| After Width: | Height: | Size: 982 B | 
|  | @ -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 338.944V537.6c-32-16.362667-68.266667-25.6-106.666666-25.6-129.6 0-234.666667 105.066667-234.666667 234.666667 0 79.381333 39.424 149.546667 99.754667 192.021333L256 938.666667a85.333333 85.333333 0 0 1-85.333333-85.333334V338.965333a510.229333 510.229333 0 0 0 257.216 123.498667 85.312 85.312 0 0 0 168.192 0 510.165333 510.165333 0 0 0 257.28-123.52zM768 85.333333a85.333333 85.333333 0 0 1 85.333333 85.333334l0.021334 108.778666a468.437333 468.437333 0 0 1-260.842667 140.330667 85.354667 85.354667 0 0 0-161.088 0 468.373333 468.373333 0 0 1-260.778667-140.330667L170.666667 170.666667a85.333333 85.333333 0 0 1 85.333333-85.333334h512z m-21.354667 469.333334a191.957333 191.957333 0 0 1 168.597334 100.053333L746.666667 746.666667l135.765333 135.744A192 192 0 1 1 746.645333 554.666667z m32 106.666666a32 32 0 1 0 0-64 32 32 0 0 0 0 64z"  /></svg> | ||||||
| After Width: | Height: | Size: 1.1 KiB | 
|  | @ -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="M103.082667 632.704c1.493333 1.130667 3.093333 2.176 4.778666 3.136l2.56 1.344L490.666667 822.421333a49.066667 49.066667 0 0 0 38.976 1.621334l3.690666-1.621334 380.224-185.237333c2.624-1.28 5.077333-2.773333 7.36-4.458667 17.216 12.650667 22.954667 35.477333 12.544 54.4a45.162667 45.162667 0 0 1-19.904 18.752L533.333333 891.093333a49.024 49.024 0 0 1-42.666666 0L110.442667 705.877333c-22.784-11.093333-31.701333-37.482667-19.904-58.922666 3.072-5.546667 7.338667-10.410667 12.544-14.250667z m0-153.6c1.493333 1.130667 3.093333 2.176 4.778666 3.136l2.56 1.344L490.666667 668.821333a49.066667 49.066667 0 0 0 38.976 1.621334l3.690666-1.621334 380.224-185.237333c2.624-1.28 5.077333-2.773333 7.36-4.458667 17.216 12.650667 22.954667 35.477333 12.544 54.4a45.162667 45.162667 0 0 1-19.904 18.752L533.333333 737.493333a49.024 49.024 0 0 1-42.666666 0L110.442667 552.277333c-22.784-11.093333-31.701333-37.482667-19.904-58.922666 3.072-5.546667 7.338667-10.410667 12.544-14.250667zM533.333333 132.970667l380.224 187.968c22.784 11.264 31.701333 38.037333 19.904 59.776a45.44 45.44 0 0 1-19.904 19.008L533.333333 587.733333c-13.376 6.613333-29.290667 6.613333-42.666666 0L110.442667 399.722667c-22.784-11.264-31.701333-38.016-19.904-59.776a45.44 45.44 0 0 1 19.904-18.986667L490.666667 132.949333a48.362667 48.362667 0 0 1 42.666666 0z"  /></svg> | ||||||
| After Width: | Height: | Size: 1.6 KiB | 
|  | @ -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 725.034667v64H170.666667v-64h682.666666z m-149.333333-309.333334l149.333333 106.666667-149.333333 106.666667v-213.333334z m-85.333333 74.666667v64H170.666667v-64h448zM853.333333 256v64H170.666667v-64h682.666666z" /></svg> | ||||||
| After Width: | Height: | Size: 498 B | 
|  | @ -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="M857.770667 163.882667c75.157333 75.136 72.448 209.237333 6.122666 346.944-17.792 36.309333-41.130667 72.725333-69.248 107.904a64 64 0 1 0 48.533334 41.792 697.173333 697.173333 0 0 0 51.328-72.682667c33.962667 109.098667 24.277333 208.938667-36.736 269.930667-67.84 67.84-183.701333 72.234667-306.922667 23.658666l-1.642667-0.938666-2.816-1.237334a475.690667 475.690667 0 0 1-34.410666-14.784v-0.021333c-40.170667-19.093333-80.64-44.842667-119.530667-76.288a32 32 0 0 0-40.234667 49.792c26.368 21.312 53.504 40.32 80.96 56.746667-108.842667 33.728-208.426667 23.957333-269.290666-36.906667-73.749333-73.749333-72.533333-204.309333-9.749334-339.328l3.434667-7.253333c19.882667-34.432 45.141333-68.693333 74.986667-101.482667a64 64 0 1 0-43.733334-46.997333 688.085333 688.085333 0 0 0-60.394666 75.093333c-35.477333-110.656-26.304-212.202667 35.456-273.941333 75.136-75.157333 209.237333-72.448 346.944-6.122667 137.706667-66.325333 271.808-69.034667 346.944 6.122667z m-347.306667 261.248a85.333333 85.333333 0 1 0 0 170.666666 85.333333 85.333333 0 0 0 0-170.666666z"  /></svg> | ||||||
| After Width: | Height: | Size: 1.3 KiB | 
|  | @ -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="M683.918222 910.222222h-341.333333a227.555556 227.555556 0 0 1-227.555556-227.555555V341.333333a227.555556 227.555556 0 0 1 227.555556-227.555555h341.333333a227.555556 227.555556 0 0 1 227.555556 227.555555v341.333334a227.555556 227.555556 0 0 1-227.555556 227.555555z m-341.333333-728.177778a159.288889 159.288889 0 0 0-159.288889 159.288889v341.333334a159.288889 159.288889 0 0 0 159.288889 159.288889h341.333333a159.288889 159.288889 0 0 0 159.288889-159.288889V341.333333a159.288889 159.288889 0 0 0-159.288889-159.288889z"  /><path d="M513.251556 711.111111a199.111111 199.111111 0 1 1 199.111111-199.111111 199.395556 199.395556 0 0 1-199.111111 199.111111z m0-329.955555a130.844444 130.844444 0 1 0 130.844444 130.844444 130.844444 130.844444 0 0 0-130.844444-130.901333z"  /></svg> | ||||||
| After Width: | Height: | Size: 1.0 KiB | 
|  | @ -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"  /></svg> | ||||||
| After Width: | Height: | Size: 639 B | 
|  | @ -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 m0 149.333334c117.824 0 213.333333 95.509333 213.333333 213.333333s-95.509333 213.333333-213.333333 213.333333-213.333333-95.509333-213.333333-213.333333 95.509333-213.333333 213.333333-213.333333z"  /></svg> | ||||||
| After Width: | Height: | Size: 837 B | 
|  | @ -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="M714.666667 106.666667a74.666667 74.666667 0 0 1 74.56 70.570666L789.333333 181.333333V213.333333h10.666667a117.333333 117.333333 0 0 1 117.248 112.618667L917.333333 330.666667v320a117.333333 117.333333 0 0 1-112.618666 117.248L800 768H789.333333v10.666667a117.333333 117.333333 0 0 1-117.333333 117.333333h-320a117.333333 117.333333 0 0 1-117.333333-117.333333V768h-10.666667a117.333333 117.333333 0 0 1-117.248-112.618667L106.666667 650.666667v-320a117.333333 117.333333 0 0 1 112.618666-117.248L224 213.333333h10.666667V181.333333a74.666667 74.666667 0 0 1 70.570666-74.56L309.333333 106.666667h405.333334z m-42.666667 490.666666h-320a53.333333 53.333333 0 0 0-53.333333 53.333334v128a53.333333 53.333333 0 0 0 53.333333 53.333333h320a53.333333 53.333333 0 0 0 53.333333-53.333333v-128a53.333333 53.333333 0 0 0-53.333333-53.333334z m128-320h-576a53.333333 53.333333 0 0 0-53.226667 49.834667L170.666667 330.666667v320a53.333333 53.333333 0 0 0 49.834666 53.226666L224 704h10.666667v-53.333333a117.333333 117.333333 0 0 1 117.333333-117.333334h320a117.333333 117.333333 0 0 1 117.333333 117.333334V704h10.666667a53.333333 53.333333 0 0 0 53.226667-49.834667L853.333333 650.666667v-320a53.333333 53.333333 0 0 0-49.834666-53.226667L800 277.333333z m-42.666667 64a32 32 0 0 1 0 64h-42.666666a32 32 0 0 1 0-64h42.666666z m-42.666666-170.666666h-405.333334a10.666667 10.666667 0 0 0-10.496 8.746666L298.666667 181.333333V213.333333h426.666666V181.333333a10.666667 10.666667 0 0 0-8.746666-10.496L714.666667 170.666667z"  /></svg> | ||||||
| After Width: | Height: | Size: 1.8 KiB | 
|  | @ -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="M672 640a53.333333 53.333333 0 0 1 53.333333 53.333333v128a53.333333 53.333333 0 0 1-53.333333 53.333334h-320a53.333333 53.333333 0 0 1-53.333333-53.333334v-128a53.333333 53.333333 0 0 1 53.333333-53.333333h320z m42.666667-490.666667a74.666667 74.666667 0 0 1 74.56 70.570667L789.333333 224V256h10.666667a117.333333 117.333333 0 0 1 117.248 112.618667L917.333333 373.333333v320a117.333333 117.333333 0 0 1-112.618666 117.248L800 810.666667H789.333333v-117.333334a117.333333 117.333333 0 0 0-117.333333-117.333333h-320a117.333333 117.333333 0 0 0-117.333333 117.333333V810.666667h-10.666667a117.333333 117.333333 0 0 1-117.248-112.618667L106.666667 693.333333v-320a117.333333 117.333333 0 0 1 112.618666-117.248L224 256h10.666667v-32a74.666667 74.666667 0 0 1 70.570666-74.56L309.333333 149.333333h405.333334z m42.666666 234.666667h-42.666666a32 32 0 0 0-3.072 63.850667L714.666667 448h42.666666a32 32 0 0 0 0-64z m-42.666666-170.666667h-405.333334a10.666667 10.666667 0 0 0-10.496 8.746667L298.666667 224V256h426.666666v-32a10.666667 10.666667 0 0 0-8.746666-10.496L714.666667 213.333333z"  /></svg> | ||||||
| After Width: | Height: | Size: 1.3 KiB | 
|  | @ -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="M889.287111 219.420444h-178.005333V154.737778a97.28 97.28 0 0 0-96.995556-96.711111h-193.991111a97.28 97.28 0 0 0-96.995555 96.711111v64.682666H145.464889a32.312889 32.312889 0 0 0-32.312889 32.312889 32.312889 32.312889 0 0 0 32.312889 32.369778h48.469333v517.290667a129.706667 129.706667 0 0 0 129.308445 129.308444h387.982222a129.706667 129.706667 0 0 0 129.308444-129.308444V284.103111h48.469334a32.369778 32.369778 0 0 0 32.369777-32.369778 32.312889 32.312889 0 0 0-32.369777-32.312889zM388.152889 154.737778a32.426667 32.426667 0 0 1 32.312889-32.312889h193.991111a32.426667 32.426667 0 0 1 32.312889 32.312889v64.682666H388.152889z m387.982222 646.599111a64.853333 64.853333 0 0 1-64.682667 64.682667h-387.982222a64.910222 64.910222 0 0 1-64.682666-64.682667V284.046222h517.290666zM420.750222 413.411556a32.426667 32.426667 0 0 0-32.312889 32.312888v258.616889a32.312889 32.312889 0 0 0 32.369778 32.312889 32.312889 32.312889 0 0 0 32.312889-32.312889V445.724444a32.426667 32.426667 0 0 0-32.312889-32.312888z m193.991111 0a32.426667 32.426667 0 0 0-32.312889 32.312888v258.616889a32.312889 32.312889 0 0 0 32.369778 32.312889 32.312889 32.312889 0 0 0 32.312889-32.312889V445.724444a32.426667 32.426667 0 0 0-32.312889-32.312888z" /></svg> | ||||||
| After Width: | Height: | Size: 1.5 KiB | 
|  | @ -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.016 789.333333l37.056 64H96a32 32 0 0 1 0-64h406.016zM512 149.333333a106.666667 106.666667 0 0 1 105.770667 120.597334 406.122667 406.122667 0 0 1 240.384 180.416 72.981333 72.981333 0 0 0-27.562667-5.397334h-210.517333c-26.090667 0-50.197333 13.866667-63.253334 36.416l-95.488 164.906667a72.64 72.64 0 0 0 0 72.810667l3.626667 6.250666H96a32 32 0 0 1 0-64H106.666667c0-187.264 126.997333-344.874667 299.584-391.402666A106.666667 106.666667 0 0 1 512 149.333333z m0 64a42.666667 42.666667 0 0 0-42.602667 44.864 411.584 411.584 0 0 1 85.184 0L554.666667 256a42.666667 42.666667 0 0 0-42.666667-42.666667z"  /><path d="M802.496 490.666667c21.077333 0 40.554667 11.2 51.114667 29.397333l77.141333 133.205333a58.645333 58.645333 0 0 1 0 58.794667l-77.141333 133.205333A59.050667 59.050667 0 0 1 802.496 874.666667h-154.325333a59.050667 59.050667 0 0 1-51.114667-29.397334l-77.141333-133.205333a58.645333 58.645333 0 0 1 0-58.794667l77.141333-133.205333A59.050667 59.050667 0 0 1 648.170667 490.666667zM725.333333 618.666667a64 64 0 1 0 0 128 64 64 0 0 0 0-128z"  /></svg> | ||||||
| After Width: | Height: | Size: 1.3 KiB | 
|  | @ -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="M219.093333 197.717333l-2.986666 3.2c-1.898667 2.24-3.626667 4.608-5.141334 7.125334l-0.938666 1.514666 1.984-2.432a172.8 172.8 0 0 0-28.586667 47.488C139.114667 365.589333 214.037333 546.133333 348.821333 680.533333c108.693333 108.373333 262.4 194.176 362.24 194.133334 28.757333 0 55.68-4.714667 79.786667-14.314667 22.549333-8.917333 42.154667-21.482667 58.133333-37.418667l30.848-30.762666a54.976 54.976 0 0 0 0-77.824l-141.696-141.226667-2.986666-2.773333a55.082667 55.082667 0 0 0-74.816 2.816l-48.768 48.64-5.077334 0.042666c-35.221333-0.725333-74.794667-21.738667-118.72-65.514666l-5.610666-5.696c-40.085333-41.493333-59.306667-79.04-59.84-112.704l0.042666-5.077334 48.512-48.384a54.869333 54.869333 0 0 0 0-77.824L329.344 165.546667a54.997333 54.997333 0 0 0-77.994667 0L219.093333 197.717333z m49.152 47.018667l22.101334-22.058667 123.242666 122.88-42.282666 42.24a56.661333 56.661333 0 0 0-16.426667 35.264c-5.162667 60.437333 24.213333 120.96 84.885333 181.418667 60.586667 60.373333 121.045333 89.749333 181.312 84.906667l4.416-0.554667a56.682667 56.682667 0 0 0 31.04-15.829333l42.730667-42.624 123.306667 122.88-21.589334 21.525333c-9.258667 9.216-20.992 16.746667-35.2 22.357333-15.829333 6.293333-34.218667 9.536-54.72 9.536-78.314667 0.021333-217.024-77.44-314.176-174.293333-117.653333-117.290667-182.165333-272.725333-150.293333-352.576 3.328-8.341333 7.722667-16.170667 13.162667-23.488l5.909333-7.509333 1.493333-2.24 1.088-1.834667z"  /></svg> | ||||||
| After Width: | Height: | Size: 1.7 KiB | 
|  | @ -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="M197.76 197.717333l-2.986667 3.2c-1.898667 2.24-3.626667 4.608-5.141333 7.125334l-0.938667 1.514666 1.984-2.432a172.8 172.8 0 0 0-28.586666 47.488C117.781333 365.589333 192.704 546.133333 327.488 680.533333c108.693333 108.373333 262.4 194.176 362.24 194.133334 28.757333 0 55.68-4.714667 79.786667-14.314667 22.549333-8.917333 42.154667-21.482667 58.133333-37.418667l30.848-30.762666a54.976 54.976 0 0 0 0-77.824l-141.696-141.226667-2.986667-2.773333a55.082667 55.082667 0 0 0-74.816 2.816l-48.768 48.64-5.077333 0.042666c-35.221333-0.725333-74.794667-21.738667-118.72-65.514666l-5.610667-5.696c-40.085333-41.493333-59.306667-79.04-59.84-112.704l0.042667-5.077334 48.512-48.384a54.869333 54.869333 0 0 0 0-77.824L308.010667 165.546667a54.997333 54.997333 0 0 0-77.994667 0L197.76 197.717333z"  /></svg> | ||||||
| After Width: | Height: | Size: 1.0 KiB | 
|  | @ -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 65C264.6 65 64 265.6 64 513.1a448.9 448.9 0 0 0 19.2 130.3c28.8 43.7 88.5 57.2 124.8 64.8 198 41 235 20 348.8 250.8C783.2 936.5 960 745.5 960 513.1 960 265.6 759.4 65 512 65z m278.1 701.3a375.3 375.3 0 0 1-193 113.2c-17.2-32.3-32.6-58.4-47.3-80.2-24.6-36.2-48.6-62.6-75.8-83.2s-54.6-33.6-90.4-44.4c-29.3-8.8-61.4-14.9-98.6-21.9-19.5-3.7-39.7-7.4-62.4-12.1-16.4-3.4-35.3-7.7-51.7-14.6-9.6-4.1-17.2-8.7-22.4-13.4a377.6 377.6 0 0 1-12.5-96.6 376 376 0 1 1 725.9 138.1 377.6 377.6 0 0 1-71.8 115.1zM512 208a48 48 0 1 0 48 48 48 48 0 0 0-48-48z m-181 75a48 48 0 1 0 0 96 48 48 0 1 0 0-96z m-75 181a48 48 0 1 0 48 48 48 48 0 0 0-48-48z m437 157a72 72 0 1 0 50.9 21.1A71.5 71.5 0 0 0 693 621z m75-157a48 48 0 1 0 48 48 48 48 0 0 0-48-48z m-75-85a48.1 48.1 0 1 0-33.9-14.1A47.9 47.9 0 0 0 693 379z" /></svg> | ||||||
| After Width: | Height: | Size: 1.0 KiB | 
|  | @ -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="M377.258667 597.333333c39.68 28.437333 84.608 42.666667 134.741333 42.666667 7.914667 0 15.701333-0.362667 23.36-1.066667-22.314667 41.6-34.026667 87.637333-34.026667 130.581334 0 65.834667 25.173333 114.752 67.477334 147.84L238.037333 917.333333a85.333333 85.333333 0 0 1-85.333333-85.333333V618.666667c29.930667 14.229333 59.882667 21.333333 89.813333 21.333333 29.952 0 74.88-14.229333 134.741334-42.666667zM746.666667 469.333333c58.901333 0 106.666667 28.650667 106.666666 64 0 15.786667-9.514667 30.208-25.28 41.386667C897.813333 611.541333 938.666667 693.376 938.666667 768c0 100.138667-85.973333 149.333333-192 149.333333s-192-49.194667-192-149.333333c0-74.602667 40.832-156.437333 110.613333-193.344C649.493333 563.562667 640 549.12 640 533.333333c0-35.349333 47.765333-64 106.666667-64z m-38.378667 171.989334l-2.026667 0.938666-0.981333 0.554667-1.024 0.64a14.613333 14.613333 0 0 0-5.056 18.389333l1.066667 1.877334 12.757333 19.008H688a16 16 0 0 0-2.176 31.850666l2.176 0.149334h42.666667v21.312h-32a16 16 0 0 0-2.176 31.850666l2.176 0.149334 32-0.021334v37.312a16 16 0 0 0 31.850666 2.176l0.149334-2.176V768l32 0.042667a16 16 0 0 0 2.176-31.850667l-2.176-0.149333h-32v-21.333334l42.666666 0.021334a16 16 0 0 0 2.176-31.829334l-2.176-0.149333h-25.045333l12.778667-19.029333 1.066666-1.877334a14.634667 14.634667 0 0 0-3.2-16.896l-1.856-1.493333-1.024-0.64-0.981333-0.554667-2.026667-0.938666a16 16 0 0 0-17.536 4.053333l-1.536 1.941333-19.328 28.8-19.285333-28.8a16 16 0 0 0-19.072-5.994666zM811.413333 106.666667c57.216 0 104.981333 40.789333 111.530667 94.293333l0.469333 4.608 13.632 199.573333a144.042667 144.042667 0 0 1-31.637333 113.408C895.488 460.736 828.16 416 746.666667 416c-88.362667 0-160 52.522667-160 117.333333 0 7.893333 1.066667 15.637333 3.114666 23.125334-19.754667 10.730667-42.24 17.493333-66.197333 19.136l-6.186667 0.32L512 576c-53.973333 0-101.632-25.856-129.92-65.258667l-3.2-4.608-1.621333-2.538666-1.621334 2.56c-25.898667 39.04-70.314667 65.92-121.536 69.44l-6.186666 0.32-5.397334 0.085333C155.733333 576 85.333333 509.141333 85.333333 426.666667c0-5.930667 0.362667-11.84 1.002667-16.853334l0.512-3.626666 13.738667-200.597334c4.16-54.208 50.474667-96.512 107.114666-98.816L212.586667 106.666667h598.826666z"  /></svg> | ||||||
| After Width: | Height: | Size: 2.5 KiB | 
|  | @ -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="M768 85.333333a85.333333 85.333333 0 0 1 85.333333 85.333334v768a42.666667 42.666667 0 0 1-42.56-39.466667L810.666667 896a42.666667 42.666667 0 0 0-85.226667-3.2L725.333333 896a42.666667 42.666667 0 0 1-85.226666 3.2L640 896a42.666667 42.666667 0 0 0-85.226667-3.2L554.666667 896a42.666667 42.666667 0 0 1-85.226667 3.2L469.333333 896a42.666667 42.666667 0 0 0-85.226666-3.2L384 896a42.666667 42.666667 0 0 1-85.226667 3.2L298.666667 896a42.666667 42.666667 0 0 0-85.226667-3.2L213.333333 896a42.666667 42.666667 0 0 1-39.466666 42.56L170.666667 938.666667V170.666667a85.333333 85.333333 0 0 1 85.333333-85.333334h512z m-53.333333 469.333334h-405.333334a32 32 0 0 0 0 64h405.333334a32 32 0 0 0 0-64z m0-234.666667h-405.333334a32 32 0 0 0 0 64h405.333334a32 32 0 0 0 0-64z"  /></svg> | ||||||
| After Width: | Height: | Size: 1.0 KiB | 
|  | @ -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="M928 789.333333a32 32 0 0 1 0 64h-832a32 32 0 0 1 0-64h832zM512 149.333333a106.666667 106.666667 0 0 1 105.770667 120.597334c170.346667 45.930667 296.298667 200.106667 299.52 384.213333L917.333333 661.333333h10.666667a32 32 0 0 1 0 64h-832a32 32 0 0 1 0-64H106.666667c0-187.264 126.997333-344.874667 299.584-391.402666A106.666667 106.666667 0 0 1 512 149.333333z m0 64a42.666667 42.666667 0 0 0-42.602667 44.864 411.584 411.584 0 0 1 85.184 0L554.666667 256a42.666667 42.666667 0 0 0-42.666667-42.666667z"  /></svg> | ||||||
| After Width: | Height: | Size: 780 B | 
|  | @ -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="M810.666667 85.333333a85.333333 85.333333 0 0 1 85.333333 85.333334v682.666666a85.333333 85.333333 0 0 1-85.333333 85.333334H213.333333a85.333333 85.333333 0 0 1-85.333333-85.333334V170.666667a85.333333 85.333333 0 0 1 85.333333-85.333334h597.333334z m0 64H213.333333a21.333333 21.333333 0 0 0-21.184 18.837334L192 170.666667v682.666666a21.333333 21.333333 0 0 0 18.837333 21.184L213.333333 874.666667h597.333334a21.333333 21.333333 0 0 0 21.184-18.837334L832 853.333333V170.666667a21.333333 21.333333 0 0 0-18.837333-21.184L810.666667 149.333333z m-117.333334 362.666667a32 32 0 0 1 0 64h-362.666666a32 32 0 0 1 0-64h362.666666z m-170.666666-170.666667a32 32 0 0 1 0 64h-192a32 32 0 0 1 0-64h192z"  /></svg> | ||||||
| After Width: | Height: | Size: 973 B | 
|  | @ -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 106.666667a85.333333 85.333333 0 0 1 85.333334 85.333333v640a85.333333 85.333333 0 0 1-85.333334 85.333333H277.333333a85.333333 85.333333 0 0 1-85.333333-85.333333v-64a42.666667 42.666667 0 1 1 0-85.333333v-128a42.666667 42.666667 0 1 1 0-85.333334v-128a42.666667 42.666667 0 1 1 0-85.333333V192a85.333333 85.333333 0 0 1 85.333333-85.333333h512z m-74.666666 426.666666h-362.666667a32 32 0 0 0 0 64h362.666667a32 32 0 0 0 0-64z m-170.666667-170.666666h-192a32 32 0 0 0 0 64h192a32 32 0 0 0 0-64z"  /></svg> | ||||||
| After Width: | Height: | Size: 783 B | 
|  | @ -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="M810.666667 85.333333a85.333333 85.333333 0 0 1 85.333333 85.333334v682.666666a85.333333 85.333333 0 0 1-85.333333 85.333334H213.333333a85.333333 85.333333 0 0 1-85.333333-85.333334V170.666667a85.333333 85.333333 0 0 1 85.333333-85.333334h597.333334z m-117.333334 426.666667h-362.666666a32 32 0 0 0 0 64h362.666666a32 32 0 0 0 0-64z m-170.666666-170.666667h-192a32 32 0 0 0 0 64h192a32 32 0 0 0 0-64z"  /></svg> | ||||||
| After Width: | Height: | Size: 676 B | 
|  | @ -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.333333c188.373333 0 341.333333 150.250667 341.333333 335.914667 0 108.032-82.453333 263.402667-246.293333 471.274667a120.96 120.96 0 0 1-190.144-0.064l-16.746667-21.44C247.509333 673.92 170.666667 525.568 170.666667 421.248 170.666667 235.584 323.626667 85.333333 512 85.333333z m0 64c-153.322667 0-277.333333 121.642667-277.333333 271.36 0 87.296 74.816 229.717333 225.472 422.250667l8.32 10.624a55.445333 55.445333 0 0 0 87.061333 0C711.744 655.637333 789.333333 509.632 789.333333 420.693333 789.333333 270.954667 665.322667 149.333333 512 149.333333z m0 128a128 128 0 1 1 0 256 128 128 0 0 1 0-256z m0 64a64 64 0 1 0 0 128 64 64 0 0 0 0-128z"  /></svg> | ||||||
| After Width: | Height: | Size: 929 B |