版本生成

This commit is contained in:
王创世 2025-04-08 09:16:44 +08:00
commit 81ae8bce02
550 changed files with 166172 additions and 0 deletions

3
.babelrc Normal file
View File

@ -0,0 +1,3 @@
{
"presets": ["@vue/app"]
}

13
.env.dev Normal file
View File

@ -0,0 +1,13 @@
# 环境
#NODE_ENV=development
#VUE_APP_ENV='dev'
# 环境
NODE_ENV=production
VUE_APP_ENV='prod'
# 页面 title
VUE_APP_TITLE=CRMEB
# 接口请求地址
VUE_APP_API_URL='http://naweigetetest2.hschool.com.cn/adminapi'

9
.env.production Normal file
View File

@ -0,0 +1,9 @@
# 环境
NODE_ENV=production
VUE_APP_ENV='production'
# 页面 title
VUE_APP_TITLE=CRMEB
# 接口请求地址
VUE_APP_API_URL=""

12
.eslintignore Normal file
View File

@ -0,0 +1,12 @@
# 忽略目录
build/
tests/
node_modules/
src/
public/
# node 覆盖率文件
coverage/
# 忽略文件
**/*-min.js
**/*.min.js

17
.eslintrc.js Normal file
View File

@ -0,0 +1,17 @@
module.exports = {
root: true,
parser: 'vue-eslint-parser',
parserOptions: {
ecmaVersion: 2020,
sourceType: 'module',
ecmaFeatures: {
jsx: true,
},
},
extends: ['prettier', 'plugin:prettier/recommended'],
rules: {
// override/add rules settings here, such as:
},
};

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
node_modules
.vscode

5
.postcssrc.js Normal file
View File

@ -0,0 +1,5 @@
module.exports = {
plugins: {
autoprefixer: {},
},
};

14
.prettierignore Normal file
View File

@ -0,0 +1,14 @@
# 忽略目录
/build
/tests
/node_modules
/public
/src/public
dist
# node 覆盖率文件
coverage/
# 忽略文件
**/*-min.js
**/*.min.js

35
.prettierrc.js Normal file
View File

@ -0,0 +1,35 @@
module.exports = {
// 一行最多 120 字符
printWidth: 120,
// 使用 2 个空格缩进
tabWidth: 2,
// 不使用 tab 缩进,而使用空格
useTabs: false,
// 行尾需要有分号
semi: true,
// 使用单引号代替双引号
singleQuote: true,
// 对象的 key 仅在必要时用引号
quoteProps: 'as-needed',
// jsx 不使用单引号,而使用双引号
jsxSingleQuote: false,
// 末尾使用逗号
trailingComma: 'all',
// 大括号内的首尾需要空格 { foo: bar }
bracketSpacing: true,
// 箭头函数,只有一个参数的时候,也需要括号
arrowParens: 'always',
// 每个文件格式化的范围是文件的全部内容
rangeStart: 0,
rangeEnd: Infinity,
// 不需要写文件开头的 @prettier
requirePragma: false,
// 不需要自动在文件开头插入 @prettier
insertPragma: false,
// 使用默认的折行标准
proseWrap: 'preserve',
// 根据显示样式决定 html 要不要折行
htmlWhitespaceSensitivity: 'css',
// 换行符使用 lf
endOfLine: 'lf',
};

5
.travis.yml Normal file
View File

@ -0,0 +1,5 @@
language: node_js
node_js: stable
script: npm run lint
notifications:
email: false

0
CHANGELOG.md Normal file
View File

21
LICENSE Normal file
View File

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

295
README.md Normal file
View File

@ -0,0 +1,295 @@
# CRMEB Admin
## 开发规范
统一使用ES6 语法
方法注释
/*
* th => 表头
* data => 数据
* fileName => 文件名
* fileType => 文件类型
* sheetName => sheet页名
*/
export default function toExcel ({ th, data, fileName, fileType, sheetName })
行注释 //
### 命名
页面目录 文件夹命名格式骆驼式命名法,例如:用户列表 userList
例如:商品模块
product 商品
├─ product 商品管理
├─ productList 商品管理目录
├─ index.vue 首页
├─ components 组建
├─ tableFrom.vue
├─ tableList.vue
├─ handle 操作功能页面目录
├─ delete.vue
├─ productCategory 商品分类目录
├─ index.vue 商品分类首页
页面命名、组建、文件夹 命名格式小驼峰命名法,例如:用户列表 userList
类名函数命名 大驼峰式 例如addUser
变量命名 小驼峰式 例如user 或者 userInfo _userinfo user-info
常量 采用全大些下划线命名 例如VUE_APP_API_URl
### 文件管理规范
pages 页面模块必须件文件夹区分
api 接口一个模块一个文件
组建 一个组建一个文件夹
plugins 插件一个插件一个文件夹
vuex 路由状态管理一个模块在modules 中建一个文件夹
router 一个模块一个模块在modules 中建一个文件夹
style 样式尽量采用iView自带组建common.less 系统通用样式不要轻易动
自定义通用样式 style.less,每次添加必须加注释页面独立样式在在页面内写后缀less 格式
组建样式 styles 中添加文件夹 composents 对应components 目录新建样式文件
utils 自定义工具js 独立命名,一般不用新建文件夹
## 模块命名
~~~
├─ product 商品管理
├─ user 用户管理
├─ order 系统订单管理
├─ setting 系统设置维护 系统权限管理、系统菜单管理 客服管理
├─ chat 客服管理(列表,添加,删除,编辑)
├─ application 各个应用模块功能管理公众号、小程序、支付宝、百度小程序、今日头条小程序
├─ system 系统更新日志 数据库管理
├─ finance 财务管理
├─ agent 分销管理
├─ marketing 优惠券、积分、拼团、砍价、秒杀
├─ echarts 数据统计分析
├─ notification 消息通知管理、模版消息(列表,通知,添加,编辑)、短信
├─ file 附件文件管理
├─ freight 运费模版管理 物流公司
├─ merchant 商户管理
├─ widget 组件 小插件
└─ cms 文章管理
~~~
## 目录结构
主要目录结构及说明:
~~~
├── public # 静态资源
│ ├── favicon.ico # favicon图标
│ └── index.html # html 模板
├── src # 源代码
│ ├── api # 所有请求
│ │ └──account.js # 有关登录的接口
│ │ └──agent.js # 有关分销的接口
│ │ └──app.js # 有关应用(小程序、公众号)的接口
│ │ └──cms.js # 有关内容(文章管理、分类)的接口
│ │ └──common.js # 表格删除、获取消息提醒的接口
│ │ └──finance.js # 有关财务的接口
│ │ └──index.js # 有关首页的接口
│ │ └──marketing.js # 有关营销的接口
│ │ └──order.js # 有关订单的接口
│ │ └──product.js # 有关商品的接口
│ │ └──setting.js # 有关设置的接口
│ │ └──system.js # 有关维护(开发配置、安全维护)的接口
│ │ └──systemAdmin.js # 有关管理员的接口(设置--管理权限--管理员列表)
│ │ └──systemMenus.js # 有关权限规则的接口(设置--管理权限--权限规则)
│ │ └──uploadPictures.js # 有关上传图片附件的接口
│ │ └──user.js # 有关会员的接口
│ ├── assets # 图片、svg 等静态资源
│ ├── components # 公共组件
│ │ └──cards # 统计
│ │ └──copyright # 页面footer的底部声明
│ │ └──customerInfo # 选择用户
│ │ └──echarts # 统计图
│ │ └──freightTemplate # 运费模板
│ │ └──from # 生成表单
│ │ └──goodsList # 商品列表
│ │ └──iconFrom # 导航添加图标
│ │ └──link # a连接
│ │ └──mde # 多文本框
│ │ └──modelSure # 确认模态框
│ │ └──newsCategory # 图文管理页
│ │ └──publicSearchFrom # 头部搜索(没用到)
│ │ └──quill # 编辑器(没用到)
│ │ └──referrerInfo # 推荐人信息
│ │ └──searchFrom # 订单页的搜索
│ │ └──sendCoupons # 发送优惠券
│ │ └──systemStore # 添加提货点
│ │ └──uploadPictures # 上传图片
│ │ └──uploadVideo # 上传视频(用于商品编辑器里面)
│ ├── i18n # 多语言
│ ├── layouts # 布局
│ │ └──header-breadcrumb # 头部面包屑样式
│ │ └──header-collapse # 头部控制折叠面板的图标
│ │ └──header-fullscreen # 头部控制是否全屏的图标
│ │ └──header-i18n # 头部控制多语言
│ │ └──header-log # 头部控制日志异常图标
│ │ └──header-logo # 头部logo
│ │ └──header-notice # 头部提示消息
│ │ └──header-reload # 头部控制刷新的图标
│ │ └──header-search # 头部搜索
│ │ └──header-setting # 设置页面风格
│ │ └──header-user # 我的(个人中心、退出登录)
│ │ └──menu-head #
│ │ └──menu-side # 侧边导航栏
│ │ └──tabs # 头部的横向导航标签
│ │ └──mixins # 用于横向滚动获取title的一个js
│ ├── libs # 公共方法
│ ├── menu # 菜单配置
│ ├── mixins # 通用混合
│ ├── mock # 数据模拟
│ ├── pages # 所有页面
│ │ └──account # 有关登录页
│ │ └──login # 登录
│ │ └──register # 注册
│ │ └──agent # 分销
│ │ └──agentManage # 分销员管理
│ │ └──app # 应用
│ │ └──routine # 小程序模板消息
│ │ └──wechat # 公众号
│ │ └──menus # 微信菜单
│ │ └──newsCategory # 图文管理
│ │ └──save # 图文添加
│ │ └──reply # 自动回复
│ │ └──follow # 微信关注回复/无效关键词回复
│ │ └──keyword # 关键字回复
│ │ └──user # 用户
│ │ └──tag # 用户标签
│ │ └──user # 微信用户
│ │ └──message # 用户行为记录
│ │ └──cms # 内容
│ │ └──addArticle # 添加文章/编辑文章
│ │ └──article # 文章管理
│ │ └──articleCategory # 文章分类
│ │ └──finance # 财务
│ │ └──commission # 佣金记录
│ │ └──financialRecords # 财务记录
│ │ └──bill # 资金记录
│ │ └──recharge # 充值记录
│ │ └──userExtract # 提现申请
│ │ └──index # 主页
│ │ └──marketing # 营销
│ │ └──storeBargain # 砍价商品
│ │ └──storeCombination # 拼团管理
│ │ └──combinaList # 拼团列表
│ │ └──create # 添加拼团商品
│ │ └──index # 拼团商品
│ │ └──storeCoupon # 优惠券制作
│ │ └──storeCouponIssue # 优惠券列表
│ │ └──storeCouponUser # 会员领取记录
│ │ └──storeSeckill # 秒杀管理
│ │ └──index # 秒杀商品
│ │ └──create # 添加秒杀商品
│ │ └──userPoint # 积分日志
│ │ └──notify # 短信设置
│ │ └──smsConfig # 短信账户
│ │ └──smsPay # 短信购买
│ │ └──smsTemplateApply # 短信模板
│ │ └──order # 订单管理
│ │ └──product # 商品
│ │ └──productAdd # 添加商品
│ │ └──productAttr # 商品规格
│ │ └──productClassify # 商品分类
│ │ └──productList # 商品管理
│ │ └──productReply # 商品评论管理
│ │ └──setting # 设置
│ │ └──cityDada # 城市数据
│ │ └──clerkList # 核销员管理
│ │ └──freight # 物流公司
│ │ └──setSystem # 系统设置
│ │ └──shippingTemplates # 运费模板
│ │ └──storeList # 提货点列表
│ │ └──storeService # 客服管理
│ │ └──systemAdmin # 管理员列表
│ │ └──systemMenus # 权限规则
│ │ └──systemRole # 身份管理
│ │ └──systemStore # 门店设置
│ │ └──user # 个人中心
│ │ └──verifyOrder # 核销订单
│ │ └──system # 维护
│ │ └──auth # 商业授权
│ │ └──clear # 刷新缓存
│ │ └──configTab # 配置
│ │ └──index # 配置分类
│ │ └──list # 配置列表
│ │ └──error # 错误页
│ │ └──403 # 403
│ │ └──404 # 404
│ │ └──500 # 500
│ │ └──group # 组合数据
│ │ └──maintain
│ │ └──systemCleardata # 清除数据
│ │ └──systemDatabackup # 数据备份
│ │ └──systemFile # 文件校验
│ │ └──opendir # 文件管理
│ │ └──systemLog # 系统日志
│ │ └──user # 会员
│ │ └──group # 会员分组
│ │ └──label # 会员标签
│ │ └──level # 会员等级
│ │ └──list # 会员管理
│ ├── plugins # 插件
│ ├── router # 路由配置
│ │ └──modules # 页面路由模块
│ │ └──agent.js # 有关分销
│ │ └──app.js # 有关应用(小程序、公众号)
│ │ └──cms.js # 有关内容(文章管理、文章分类)
│ │ └──echarts.js # 有关统计
│ │ └──finance.js # 有关财务
│ │ └──index.js # 有关主页
│ │ └──marketing.js # 有关营销
│ │ └──order.js # 有关订单
│ │ └──product.js # 有关商品
│ │ └──setting.js # 有关设置
│ │ └──system.js # 有关维护
│ │ └──user.js # 有关会员
│ │ └──index.js # 路由的导出以及拦截处理
│ │ └──routes.js # 路由的汇总
│ ├── store # Vuex 状态管理
│ ├── utils # js工具
│ │ └──authLapse.js # 授权提示框
│ │ └──modalForm.js # 表单模态框
│ │ └──videoCloud.js # 上传云储存视频(七牛、腾讯、阿里)
│ │ └──validate.js # 将时间戳转化成时间;
│ │ └──public.js # 询问模态框;
│ ├── styles # 样式管理
│ ├── setting.env.js # 开发配置文件
│ ├── setting.js # 业务配置文件
│ ├── main.js # 入口文件 加载组件 初始化等
│ └── App.vue # 入口页面
├── tests # 测试管理
├── alias.config.js # 别名,仅用于配置 WebStorm 识别别名,无实际用处
├── babel.config.js # babel 配置
├── jest.config.js # jest 配置
├── package.json # package.json
└── vue.config.js # Vue CLI 3 配置
~~~
## 开发打包项目
~~~
# 进入项目目录
$ cd admin
# 安装依赖
$ npm install
# 启动项目(本地开发环境)
$ npm run dev
# 打包项目
$ npm run build
~~~
## 配置请求域名
### 开发环境配置
配置文件地址:/.env.dev
*请求域名配置*
`$ VUE_APP_API_URL='http://自己的域名/adminapi'`
### 生产环境
*接口请求地址 (http)或 (https)://www.crmeb.com(换成你的域名)/adminapi 非独立部署默认为空*
`$ VUE_APP_API_URL=''`

3
babel.config.js Normal file
View File

@ -0,0 +1,3 @@
module.exports = {
presets: [['@vue/app', { useBuiltIns: 'entry' }]],
};

3
cypress.json Normal file
View File

@ -0,0 +1,3 @@
{
"pluginsFile": "tests/e2e/plugins/index.js"
}

29851
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

130
package.json Normal file
View File

@ -0,0 +1,130 @@
{
"name": "from-crmeb-admin",
"version": "5.2.1",
"private": true,
"scripts": {
"serve": "vue-cli-service serve --open --mode=dev",
"dev": "vue-cli-service serve --open --mode=dev",
"build": "vue-cli-service build --mode=production",
"eslint:comment": "使用 ESLint 检查并自动修复 src 目录下所有扩展名为 .js 和 .vue 的文件",
"eslint": "eslint --ext .js,.vue,.ts --ignore-path .gitignore --fix src",
"prettier:comment": "自动格式化当前目录下的所有文件",
"prettier": "prettier --write ."
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.2.0",
"@better-scroll/core": "^2.0.5",
"@form-create/element-ui": "^2.5.31",
"async-validator": "^3.4.0",
"awe-dnd": "^0.3.4",
"better-scroll": "^1.15.2",
"clipboard": "^2.0.0",
"codemirror": "^5.38.0",
"core-js": "^3.32.2",
"cos-js-sdk-v5": "^0.5.26",
"countup": "^1.8.2",
"cropperjs": "^1.2.2",
"crypto-js": "^4.1.1",
"dayjs": "^1.7.7",
"echarts": "^4.8.0",
"editor": "^1.0.0",
"element-ui": "2.15.6",
"emoji-awesome": "0.0.2",
"exceljs": "^4.3.0",
"file-saver": "^2.0.5",
"html2canvas": "^1.0.0-alpha.12",
"js-cookie": "^2.2.0",
"js-md5": "^0.7.3",
"lodash": "^4.17.10",
"moment": "^2.29.1",
"monaco-editor": "^0.28.1",
"monaco-editor-webpack-plugin": "^4.2.0",
"oss": "0.0.1",
"print-js": "^1.6.0",
"qiniu-js": "^2.5.5",
"qrcodejs2": "0.0.2",
"qs": "^6.6.0",
"quill": "^1.3.6",
"screenfull": "^5.0.2",
"sortablejs": "^1.15.0",
"swiper": "^5.4.5",
"tree-table-vue": "^1.1.0",
"uglifyjs-webpack-plugin": "^2.2.0",
"v-org-tree": "^1.0.6",
"v-viewer": "^1.5.1",
"vue": "^2.5.10",
"vue-awesome-swiper": "^4.1.1",
"vue-clipboard2": "^0.3.3",
"vue-codemirror": "^4.0.6",
"vue-cropper": "^0.5.11",
"vue-happy-scroll": "^2.1.1",
"vue-i18n": "^7.8.0",
"vue-pickers": "^2.5.3",
"vue-puzzle-vcode": "^1.1.9",
"vue-router": "^3.0.1",
"vue-tree-list": "^1.5.0",
"vue-ydui": "^1.2.6",
"vuedraggable": "^2.16.0",
"vuescroll": "^4.16.1",
"vuex": "^3.0.1",
"vuex-persist": "^2.2.0",
"vxe-table": "^3.4.15",
"wangeditor": "^4.7.9",
"xe-utils": "^3.5.4",
"xlsx": "^0.13.5"
},
"devDependencies": {
"@babel/cli": "^7.21.0",
"@babel/core": "^7.21.0",
"@babel/node": "^7.20.7",
"@babel/plugin-transform-runtime": "^7.2.0",
"@babel/preset-env": "^7.20.2",
"@vue/cli-plugin-babel": "^4.4.6",
"@vue/cli-plugin-eslint": "^5.0.8",
"@vue/cli-plugin-unit-jest": "^3.2.3",
"@vue/cli-plugin-unit-mocha": "^3.0.1",
"@vue/cli-service": "^3.0.1",
"@vue/eslint-config-prettier": "^7.0.0",
"@vue/eslint-config-standard": "^3.0.0-beta.10",
"axios": "^0.18.1",
"compression-webpack-plugin": "^6.1.1",
"eslint": "^7.15.0",
"eslint-loader": "^4.0.2",
"eslint-plugin-cypress": "^2.0.1",
"eslint-plugin-prettier": "^3.4.1",
"eslint-plugin-vue": "^7.2.0",
"jsencrypt": "^3.3.2",
"lint-staged": "^6.0.0",
"prettier": "^2.5.1",
"sass": "^1.69.5",
"sass-loader": "^10.4.1",
"script-loader": "^0.7.2",
"style-loader": "^1.2.1",
"stylus": "^0.54.7",
"stylus-loader": "^3.0.2",
"svg-sprite-loader": "^3.8.0",
"text-loader": "0.0.1",
"vue-lazyload": "^1.3.3",
"vue-template-compiler": "^2.5.13",
"vue-waterfall-easy": "^2.4.4"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
],
"gitHooks": {
"pre-commit": "lint-staged"
},
"lint-staged": {
"*.js": [
"vue-cli-service lint",
"git add"
],
"*.vue": [
"vue-cli-service lint",
"git add"
]
}
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

17
public/index.html Normal file
View File

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title></title>
</head>
<body>
<noscript>
<strong>We're sorry but iview-admin doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

141
src/App.vue Normal file
View File

@ -0,0 +1,141 @@
<template>
<div id="app">
<router-view />
<Setings ref="setingsRef" />
<!-- 检测版本更新 -->
<!-- <Upgrade v-if="isVersion" /> -->
</div>
</template>
<script>
import { mapMutations } from 'vuex';
import Setings from '@/layout/navBars/breadcrumb/setings.vue';
import Upgrade from '@/layout/upgrade/index.vue';
import setting from './setting';
import { Local } from '@/utils/storage.js';
import config from '../package.json';
export default {
name: 'app',
components: { Setings, Upgrade },
provide() {
return {
reload: this.reload,
};
},
data() {
return {
isVersion: false,
};
},
methods: {
...mapMutations('media', ['setDevice']),
handleWindowResize() {
this.handleMatchMedia();
},
handleMatchMedia() {
const matchMedia = window.matchMedia;
if (matchMedia('(max-width: 600px)').matches) {
var deviceWidth = document.documentElement.clientWidth || window.innerWidth;
let css = 'calc(100vw/7.5)';
document.documentElement.style.fontSize = css;
this.setDevice('Mobile');
} else if (matchMedia('(max-width: 992px)').matches) {
this.setDevice('Tablet');
} else {
this.setDevice('Desktop');
}
},
reload() {
this.isRouterAlive = false;
this.$nextTick(function () {
this.isRouterAlive = true;
});
},
//
openSetingsDrawer() {
this.bus.$on('openSetingsDrawer', () => {
this.$refs.setingsRef.openDrawer();
});
},
//
getLayoutThemeConfig() {
if (Local.get('themeConfigPrev')) {
this.$store.dispatch('themeConfig/setThemeConfig', Local.get('themeConfigPrev'));
document.documentElement.style.cssText = Local.get('themeConfigStyle');
} else {
Local.set('themeConfigPrev', this.$store.state.themeConfig.themeConfig);
}
},
getVersion() {
this.isVersion = false;
if (this.$route.path !== `${setting.routePre}/login` && this.$route.path !== '/') {
if ((Local.get('version') && Local.get('version') !== config.version) || !Local.get('version'))
this.isVersion = true;
}
},
},
mounted() {
this.handleMatchMedia();
this.openSetingsDrawer();
this.getLayoutThemeConfig();
this.$nextTick((e) => {
// this.getVersion();
});
},
destroyed() {
this.bus.$off('openSetingsDrawer');
},
};
</script>
<style lang="scss">
html,
body {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
padding: 0;
}
#app {
width: 100%;
height: 100%;
font-family: PingFang SC, Arial, Microsoft YaHei, sans-serif;
}
// .dialog-fade-enter-active {
// animation: anim-open 0.3s;
// }
// .dialog-fade-leave-active {
// animation: anim-close 0.3s;
// }
// @keyframes anim-open {
// 0% {
// transform: translate3d(100%, 0, 0);
// opacity: 0;
// }
// 100% {
// transform: translate3d(0, 0, 0);
// opacity: 1;
// }
// }
// @keyframes anim-close {
// 0% {
// transform: translate3d(0, 0, 0);
// opacity: 1;
// }
// 100% {
// transform: translate3d(100%, 0, 0);
// opacity: 0;
// }
// }
.ivu-modal-wrap ::v-deep .connect_customerServer_img {
display: none;
}
.right-box .ivu-color-picker .ivu-select-dropdown {
position: absolute;
// width: 300px !important;
left: -73px !important;
}
</style>

65
src/api/account.js Normal file
View File

@ -0,0 +1,65 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/*
* 登录
* */
export function AccountLogin(data) {
return request({
url: '/login',
method: 'post',
data,
});
}
/**
* 退出登陆
* @constructor
*/
export function AccountLogout() {
return request({
url: '/setting/admin/logout',
method: 'get',
});
}
/**
* 获取轮播图和logo
*/
export function loginInfoApi() {
return request({
url: '/login/info',
method: 'get',
});
}
/**
* 获取菜单数据
*/
export function menusApi() {
return request({
url: '/menus',
method: 'get',
});
}
/**
* 搜索菜单数据
*/
export function menusListApi() {
return request({
url: '/menusList',
method: 'get',
});
}
export function AccountRegister() {}

407
src/api/app.js Normal file
View File

@ -0,0 +1,407 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 小程序模板消息 -- 列表
* @param {Object} param data {Object} 传值参数
*/
export function routineListApi(data) {
return request({
url: 'app/routine',
method: 'get',
params: data,
});
}
/**
* @description 同步订阅消息
*/
export function routineSyncTemplate() {
return request({
url: `app/routine/syncSubscribe`,
method: 'GET',
});
}
/**
* @description 同步微信模版消息
*/
export function wechatSyncTemplate() {
return request({
url: `app/wechat/syncSubscribe`,
method: 'GET',
});
}
/**
* @description 小程序模板消息 -- 新增表单
* @param {Object} param data {Object} 传值参数
*/
export function routineCreateApi() {
return request({
url: 'app/routine/create',
method: 'get',
});
}
/**
* @description 小程序模板消息 -- 编辑表单
* @param {Object} param data {Object} 传值参数
*/
export function routineEditApi(id) {
return request({
url: `app/routine/${id}/edit`,
method: 'get',
});
}
/**
* @description 小程序模板消息 -- 修改状态
* @param {Object} param data {Object} 传值参数
*/
export function routineSetStatusApi(data) {
return request({
url: `app/routine/set_status/${data.id}/${data.status}`,
method: 'PUT',
});
}
/**
* @description 公众号 --公众号配置-- 微信菜单
* @param {Object} param data {Object} 传值参数
*/
export function wechatMenuApi(data) {
return request({
url: `app/wechat/menu`,
method: 'get',
});
}
/**
* @description 公众号 --公众号配置-- 微信菜单提交
* @param {Object} param data {Object} 传值参数
*/
export function MenuApi(data) {
return request({
url: `app/wechat/menu`,
method: 'post',
data,
});
}
/**
* @description 微信模板消息 -- 列表
* @param {Object} param data {Object} 传值参数
*/
export function wechatListApi(data) {
return request({
url: 'app/wechat/template',
method: 'get',
params: data,
});
}
/**
* @description 微信模板消息 -- 新增表单
* @param {Object} param data {Object} 传值参数
*/
export function wechatCreateApi() {
return request({
url: 'app/wechat/template/create',
method: 'get',
});
}
/**
* @description 微信模板消息 -- 编辑表单
* @param {Object} param data {Object} 传值参数
*/
export function wechatEditApi(id) {
return request({
url: `app/wechat/template/${id}/edit`,
method: 'get',
});
}
/**
* @description 微信模板消息 -- 修改状态
* @param {Object} param data {Object} 传值参数
*/
export function wechatSetStatusApi(data) {
return request({
url: `app/wechat/template/set_status/${data.id}/${data.status}`,
method: 'PUT',
});
}
/**
* @description 自动回复 -- 关注回复 关键字回复 保存
* @param {Object} param data {Object} 传值参数
*/
export function replyApi(data) {
return request({
url: data.url,
method: 'post',
data: data.key,
});
}
/**
* @description 小程序包下载
* @param {Object} param data {Object} 传值参数
*/
export function routineDownload(data) {
return request({
url: 'app/routine/download',
method: 'post',
data,
});
}
/**
* @description 小程序下载页面数据
*/
export function routineInfo() {
return request({
url: 'app/routine/info',
method: 'get',
});
}
/**
* @description 自动回复 -- 关键字 列表
* @param {Object} param data {Object} 传值参数
*/
export function keywordListApi(params) {
return request({
url: `app/wechat/keyword`,
method: 'get',
params,
});
}
/**
* @description 自动回复 -- 关键字 修改状态
* @param {Object} param data {Object} 传值参数
*/
export function keywordsetStatusApi(data) {
return request({
url: `app/wechat/keyword/set_status/${data.id}/${data.status}`,
method: 'PUT',
});
}
/**
* @description 自动回复 -- 详情
* @param {Object} param data {Object} 传值参数
*/
export function keywordsinfoApi(url, data) {
return request({
url: url,
method: 'get',
params: data.key,
});
}
/**
* @description 图文管理 -- 新增
* @param {Object} param data {Object} 传值参数
*/
export function wechatNewsAddApi(data) {
return request({
url: `/app/wechat/news`,
method: 'POST',
data,
});
}
/**
* @description 图文管理 -- 列表
* @param {Object} param data {Object} 传值参数
*/
export function wechatNewsListApi(params) {
return request({
url: `app/wechat/news`,
method: 'GET',
params,
});
}
/**
* @description 图文管理 -- 详情
* @param {Object} param data {Object} 传值参数
*/
export function wechatNewsInfotApi(id) {
return request({
url: `app/wechat/news/${id}`,
method: 'GET',
});
}
/**
* @description 图文管理 -- 发送图文
* @param {Object} param data {Object} 传值参数
*/
export function wechatPushApi(data) {
return request({
url: `app/wechat/push`,
method: 'POST',
data,
});
}
/**
* @description 微信用户 -- 列表
* @param {Object} param params {Object} 传值参数
*/
export function wechatUserListtApi(params) {
return request({
url: `app/wechat/user`,
method: 'GET',
params,
});
}
/**
* @description 微信用户 -- 用户分组和标签
*/
export function tagListtApi() {
return request({
url: `app/wechat/user/tag_group`,
method: 'GET',
});
}
/**
* @description 微信用户 -- 用户分组和标签编辑
* @param {String} param url {String} 请求地址
*/
export function groupsEditApi(url) {
return request({
url: url,
method: 'GET',
});
}
/**
* @description 用户标签 -- 列表
*/
export function wechatTagListApi() {
return request({
url: `app/wechat/tag`,
method: 'GET',
});
}
/**
* @description 用户标签 -- 添加表单
*/
export function wechatTagCreateApi() {
return request({
url: `app/wechat/tag/create`,
method: 'GET',
});
}
/**
* @description 用户标签 -- 编辑表单
* @param {Number} param id {Number} 标签id
*/
export function wechatTagEditApi(id) {
return request({
url: `app/wechat/tag/${id}/edit`,
method: 'GET',
});
}
/**
* @description 用户分组 -- 列表
*/
export function wechatGroupListApi() {
return request({
url: `app/wechat/group`,
method: 'GET',
});
}
/**
* @description 用户分组 -- 添加表单
*/
export function wechatGroupCreateApi() {
return request({
url: `app/wechat/group/create`,
method: 'GET',
});
}
/**
* @description 用户分组 -- 编辑表单
* @param {Number} param id {Number} 标签id
*/
export function wechatGroupEditApi(id) {
return request({
url: `app/wechat/group/${id}/edit`,
method: 'GET',
});
}
/**
* @description 用户行为 -- 列表
*/
export function wechatActionListApi(params) {
return request({
url: `app/wechat/action`,
method: 'GET',
params,
});
}
/**
* 下载二维码
* @param id
*/
export function downloadReplyCode(id) {
return request({
url: `app/wechat/code_reply/${id}`,
method: 'GET',
});
}
/**
* 城市列表
*/
export function cityList() {
return request({
url: `setting/city/full_list`,
method: 'GET',
});
}
/**
* @description 客服自动回复 -- 关键字 列表
* @param {Object} param data {Object} 传值参数
*/
export function kefuAutoReplyListApi(params) {
return request({
url: `app/kefu/auto_reply/list`,
method: 'get',
params,
});
}
/**
* @description 客服自动回复添加编辑表单
* @param {Object} param data {Object} 传值参数
*/
export function kefuAutoReplyForm(id) {
return request({
url: `app/kefu/auto_reply/form/` + id,
method: 'get',
});
}

113
src/api/case.js Normal file
View File

@ -0,0 +1,113 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 案例管理--列表
* @param {Object} param data {Object} 传值参数
*/
export function caseinfoListApi(data) {
return request({
url: 'caseinfo/caseinfo',
method: 'get',
params: data,
});
}
/**
* @description 案例管理--新增编辑
* @param {Object} param data {Object} 传值参数
*/
export function caseinfoAddApi(data) {
return request({
url: 'caseinfo/caseinfo',
method: 'post',
data,
});
}
/**
* @description 案例管理--案例详情
* @param {Number} param id {Number} 案例id
*/
export function createApi(id) {
return request({
url: `caseinfo/caseinfo/${id}`,
method: 'get',
});
}
/**
* @description 案例分类--新增表单
*/
export function categoryAddApi() {
return request({
url: `caseinfo/category/create`,
method: 'GET',
});
}
/**
* @description 案例分类--列表
* @param {Object} param params {Object} 传值
*/
export function categoryListApi(params) {
return request({
url: `caseinfo/category`,
method: 'GET',
params,
});
}
/**
* @description 案例分类--新版列表
* @param {Object} param params {Object} 传值
*/
export function categoryTreeListApi() {
return request({
url: `caseinfo/category_tree_list`,
method: 'GET',
});
}
/**
* @description 案例分类--编辑表单
* @param {Number} param id {Number} 案例id
*/
export function categoryEditApi(id) {
return request({
url: `caseinfo/category/${id}/edit`,
method: 'GET',
});
}
/**
* @description 案例分类--修改状态
* @param {Object} param data {Object} 传值
*/
export function statusApi(data) {
return request({
url: `caseinfo/category/set_status/${data.id}/${data.status}`,
method: 'put',
});
}
/**
* @description 案例分类--关联商品
* @param {Number} param id {Number} 案例id
* @param {Object} param data {Object} 传值
*/
export function relationApi(data, id) {
return request({
url: `caseinfo/caseinfo/relation/${id}`,
method: 'put',
data,
});
}

113
src/api/cms.js Normal file
View File

@ -0,0 +1,113 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 文章管理--列表
* @param {Object} param data {Object} 传值参数
*/
export function cmsListApi(data) {
return request({
url: 'cms/cms',
method: 'get',
params: data,
});
}
/**
* @description 文章管理--新增编辑
* @param {Object} param data {Object} 传值参数
*/
export function cmsAddApi(data) {
return request({
url: 'cms/cms',
method: 'post',
data,
});
}
/**
* @description 文章管理--文章详情
* @param {Number} param id {Number} 文章id
*/
export function createApi(id) {
return request({
url: `cms/cms/${id}`,
method: 'get',
});
}
/**
* @description 文章分类--新增表单
*/
export function categoryAddApi() {
return request({
url: `cms/category/create`,
method: 'GET',
});
}
/**
* @description 文章分类--列表
* @param {Object} param params {Object} 传值
*/
export function categoryListApi(params) {
return request({
url: `cms/category`,
method: 'GET',
params,
});
}
/**
* @description 文章分类--新版列表
* @param {Object} param params {Object} 传值
*/
export function categoryTreeListApi() {
return request({
url: `cms/category_tree_list`,
method: 'GET',
});
}
/**
* @description 文章分类--编辑表单
* @param {Number} param id {Number} 文章id
*/
export function categoryEditApi(id) {
return request({
url: `cms/category/${id}/edit`,
method: 'GET',
});
}
/**
* @description 文章分类--修改状态
* @param {Object} param data {Object} 传值
*/
export function statusApi(data) {
return request({
url: `cms/category/set_status/${data.id}/${data.status}`,
method: 'put',
});
}
/**
* @description 文章分类--关联商品
* @param {Number} param id {Number} 文章id
* @param {Object} param data {Object} 传值
*/
export function relationApi(data, id) {
return request({
url: `cms/cms/relation/${id}`,
method: 'put',
data,
});
}

60
src/api/common.js Normal file
View File

@ -0,0 +1,60 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
export function ajCaptcha(params) {
return request({
url: 'ajcaptcha',
method: 'get',
params: params,
});
}
export function ajCaptchaCheck(data) {
return request({
url: 'ajcheck',
method: 'post',
data: data,
});
}
/**
* @description 表格--删除
* @param {Number} param id {Number} 配置id
*/
export function tableDelApi(data) {
return request({
url: data.url,
method: data.method,
data: data.ids,
kefu: data.kefu || '',
});
}
/**
* 获取消息提醒
*/
export function jnoticeRequest() {
return request({
url: 'jnotice',
method: 'GET',
});
}
/**
* 获取logo
*/
export function getLogo() {
return request({
url: 'logo',
method: 'GET',
});
}

59
src/api/crud.js Normal file
View File

@ -0,0 +1,59 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 获取接口配置
* @param {Object} param data {Object} 传值参数
*/
export function crudApi(table_name) {
return request({
url: `crud/${table_name}`,
method: 'get',
});
}
/**
* @description 列表接口
*/
export function getList(url, params) {
return request({
url: url,
method: 'get',
params,
});
}
/**
* @description 创建接口
*/
export function getCreateApi(url) {
return request({
url: url,
method: 'get',
});
}
export function getStatusApi(url, data) {
return request({
url: url,
method: 'put',
data
});
}
/**
* @description 创建接口
*/
export function getEditApi(url) {
return request({
url: url,
method: 'get',
});
}

304
src/api/diy.js Normal file
View File

@ -0,0 +1,304 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 获取分类
*/
export function categoryList() {
return request({
url: '/cms/category_list',
method: 'get',
});
}
/**
* @description 恢复模板初始数据
* @param {Object} param data {Object} 传值参数
*/
export function recovery(id) {
return request({
url: 'diy/recovery/' + id,
method: 'get',
});
}
/**
* @description 设置初始数据
* @param {Object} param data {Object} 传值参数
*/
export function setDefault(id) {
return request({
url: 'diy/set_recovery/' + id,
method: 'get',
});
}
/**
* @description 保存DIY数据
* @param {Object} param data {Object} 传值参数
*/
export function diySave(id, data) {
return request({
url: 'diy/save/' + id,
method: 'post',
data: data,
});
}
/**
* @description 保存DIY数据
* @param {Object} param data {Object} 传值参数
*/
export function saveDiy(id, data) {
return request({
url: 'diy/diy_save/' + id,
method: 'post',
data: data,
});
}
/**
* @description 获取可视化数据
* @param {Object} param data {Object} 传值参数
*/
export function diyGetInfo(id, data) {
return request({
url: 'diy/get_info/' + id,
method: 'get',
params: data,
});
}
/**
* @description 使用diy模板(活动商品)
* @param {Object} param data {Object} 传值参数
*/
export function getGroomList(type, data) {
return request({
url: 'diy/groom_list/' + type,
method: 'get',
params: data,
});
}
/**
* @description 获取商品列表
*/
export function getProduct(data) {
return request({
url: 'diy/get_product',
method: 'get',
params: data,
});
}
/**
* @description 获取DIY数据
* @param {Object} param data {Object} 传值参数
*/
export function getDiyInfo(id) {
return request({
url: 'diy/get_diy_info/' + id,
method: 'get',
});
}
/**
* @description 获取链接列表
*/
export function getUrl() {
return request({
url: 'diy/get_url',
method: 'get',
});
}
/**
* @description 获取产品分类
*/
export function getCategory() {
return request({
url: 'diy/get_category',
method: 'get',
});
}
/**
* @description 获取产品一或二级分类
*/
export function getByCategory(data) {
return request({
url: 'diy/get_by_category',
method: 'get',
params: data,
});
}
/**
* @description DIY模板列表
* @param {Object} param data {Object} 传值参数
*/
export function diyList(data) {
return request({
url: 'diy/get_list',
method: 'get',
params: data,
});
}
/**
* @description 删除DIY数据
* @param {Object} param data {Object} 传值参数
*/
export function diyDel(id) {
return request({
url: 'diy/del/' + id,
method: 'delete',
});
}
/**
* @description 使用diy模板
* @param {Object} param data {Object} 传值参数
*/
export function setStatus(id) {
return request({
url: 'diy/set_status/' + id,
method: 'put',
});
}
/**
* @description 使用diy模板(判断是否显示周边门店列表)
* @param {Object} param data {Object} 传值参数
*/
export function storeStatus() {
return request({
url: 'diy/get_store_status',
method: 'get',
});
}
/**
* @description 添加模板
* @param {Object} param data {Object} 传值参数
*/
export function getDiyCreate() {
return request({
url: 'diy/create',
method: 'get',
});
}
/**
* @description 设置默认数据
* @param {Object} param data {Object} 传值参数
*/
export function getRecovery(id) {
return request({
url: 'diy/set_recovery/' + id,
method: 'get',
});
}
/**
* @description 手动添加,弹窗列表数据
* @param {Object} param data {Object} 传值参数
*/
export function getProductList(params) {
return request({
url: 'diy/get_product_list',
method: 'get',
params,
});
}
/**
* @description 换色 -- 一键换色分类提交
*/
export function colorChange(status, name) {
return request({
url: `diy/color_change/${status}/${name}`,
method: 'put',
});
}
/**
* @description 换色 -- 一键换色分类信息
*/
export function getColorChange(name) {
return request({
url: `diy/get_color_change/${name}`,
method: 'get',
});
}
/**
* @description 个人中心-获取信息
*/
export function getMember() {
return request({
url: `diy/get_member`,
method: 'get',
});
}
/**
* @description 小程序 -- 二维码
*/
export function getRoutineCode(id) {
return request({
url: `diy/get_routine_code/${id}`,
method: 'get',
});
}
/**
* @description 个人中心-提交信息
*/
export function memberSave(data) {
return request({
url: `diy/member_save`,
method: 'post',
data: data,
});
}
/**
* @description 页面链接-获取分类
*/
export function pageCategory() {
return request({
url: `diy/get_page_category`,
method: 'get',
});
}
/**
* @description 页面链接-获取链接
*/
export function pageLink(id) {
return request({
url: `diy/get_page_link/${id}`,
method: 'get',
});
}
/**
* @description 页面链接-自定义链接提交
*/
export function saveLink(data, id) {
return request({
url: `diy/save_link/${id}`,
method: 'post',
data: data,
});
}

46
src/api/export.js Normal file
View File

@ -0,0 +1,46 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* 用户列表导出
*/
export function exportUserList(data) {
return request({
url: '/export/user_list',
method: 'get',
params: data,
});
}
/**
* 商品列表导出
*/
export function exportProductList(data) {
return request({
url: '/export/product_list',
method: 'get',
params: data,
});
}
/**
* 会员卡导出
*/
export function exportmberCardList(id) {
return request({
url: `/export/member_card/${id}`,
method: 'get',
});
}

51
src/api/index.js Normal file
View File

@ -0,0 +1,51 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 首页头部
*/
export function headerApi() {
return request({
url: 'home/header',
method: 'get',
});
}
/**
* @description 首页订单图表
*/
export function orderApi(params) {
return request({
url: 'home/order',
method: 'get',
params,
});
}
/**
* @description 首页订单图表
*/
export function userApi() {
return request({
url: 'home/user',
method: 'get',
});
}
/**
* @description 首页商品交易额排行
*/
export function rankApi() {
return request({
url: 'home/rank',
method: 'get',
});
}

86
src/api/kefu.js Normal file
View File

@ -0,0 +1,86 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/*
* 登录
* */
export function AccountLogin(data) {
return request({
url: '/login',
method: 'post',
data,
kefu: true,
});
}
/**
* 获取左侧客服聊天用户列表
* @constructor
*/
export function record(params) {
return request({
url: '/user/record',
method: 'get',
params,
kefu: true,
});
}
/**
* 获取左侧用户详情
* @constructor
*/
export function userInfo(id) {
return request({
url: '/user/info/' + id,
method: 'get',
kefu: true,
});
}
/**
* 商品足记
* @constructor
*/
export function productVisit(uid, params) {
return request({
url: 'product/visit/' + uid,
method: 'get',
params,
kefu: true,
});
}
/**
* 热销商品
* @constructor
*/
export function productHot(uid, params) {
return request({
url: 'product/hot/' + uid,
method: 'get',
params,
kefu: true,
});
}
/**
* 客服链接获取
* @constructor
*/
export function getWorkermanUrl() {
return request({
url: `get_workerman_url`,
method: 'get',
});
}

55
src/api/notification.js Normal file
View File

@ -0,0 +1,55 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 获取消息管理列表数据
* @param {Object} param params {Object} 传值参数
*/
export function getNotificationList(type) {
return request({
url: `setting/notification/index?type=${type}`,
method: 'get',
});
}
/**
* @description 获取消息管理设置数据获取
* @param {Object} param params {Object} 传值参数
*/
export function getNotificationInfo(id, type) {
return request({
url: `setting/notification/info?id=${id}&type=${type}`,
method: 'get',
});
}
/**
* @description 获取消息管理设置数据获取
* @param {Object} param params {Object} 传值参数
*/
export function getNotificationSave(data) {
return request({
url: `setting/notification/save`,
method: 'post',
data,
});
}
/**
* @description 设置站内消息
* @param {Number} param id {Number}
*/
export function noticeStatus(type, status, id) {
return request({
url: `setting/notification/set_status/${type}/${status}/${id}`,
method: 'put',
});
}

112
src/api/process.js Normal file
View File

@ -0,0 +1,112 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* 获取列表数据
* @param params
* @return {*}
*/
export function getProcessListApi(params) {
return request({
url: 'crud/process',
method: 'get',
params,
});
}
/**
* 获取添加表单数据
* @return {*}
*/
export function getProcessCreateApi() {
return request({
url: 'crud/process/create',
method: 'get',
});
}
/**
* 添加数据
* @param data
* @return {*}
*/
export function processSaveApi(data) {
return request({
url: 'crud/process',
method: 'post',
data
});
}
/**
* 获取编辑表单数据
* @param id
* @return {*}
*/
export function getProcessEditApi(id) {
return request({
url: `crud/process/${id}/edit`,
method: 'get'
});
}
/**
* 修改数据
* @param id
* @return {*}
*/
export function processUpdateApi(id, data) {
return request({
url: `crud/process/${id}`,
method: 'put',
data
});
}
/**
* 修改状态
* @param id
* @return {*}
*/
export function processStatusApi(id, data) {
return request({
url: `crud/process/status/${id}`,
method: 'put',
data
});
}
/**
* 删除数据
* @param id
* @return {*}
*/
export function processDeleteApi(id) {
return request({
url: `crud/process/${id}`,
method: 'delete'
});
}
/**
* 获取数据
* @param id
* @return {*}
*/
export function getProcessReadApi(id) {
return request({
url: `crud/process/${id}`,
method: 'get'
});
}

429
src/api/product.js Normal file
View File

@ -0,0 +1,429 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/*
* 获取商品表单头数量
* */
export function getGoodHeade(data) {
return request({
url: 'product/product/type_header',
method: 'get',
params: data,
});
}
/*
* 获取商品表单头数量
* */
export function getGoodsCategory(data) {
return request({
url: '/goods/goods_category',
method: 'get',
params: data,
});
}
/**
* @description 商品管理-- 列表
*/
export function getGoods(params) {
return request({
url: 'product/product',
method: 'get',
params,
});
}
/**
* @description 商品管理-- 临时保存
*/
export function productCache() {
return request({
url: 'product/cache',
method: 'get',
});
}
/**
* @description 商品管理-- 取消临时保存
*/
export function cacheDelete() {
return request({
url: 'product/cache',
method: 'delete',
});
}
/**
* @description 商品管理-- 上下架
*/
export function PostgoodsIsShow(id, isShow) {
return request({
url: `product/product/set_show/${id}/${isShow}`,
method: 'put',
});
}
/**
* @description 商品属性 -- 批量上下架
* @param {Object} param data {Object} 传值对象
*/
export function productShowApi(data) {
return request({
url: `product/product/product_show`,
method: 'put',
data,
});
}
/**
* 添加虚拟评论
* @param {*} data
* @returns
*/
export function saveFictitiousReply(data) {
return request({
url: 'product/reply/save_fictitious_reply',
method: 'post',
data,
});
}
/**
* @description 商品属性 -- 批量下架
* @param {Object} param data {Object} 传值对象
*/
export function productUnshowApi(data) {
return request({
url: `product/product/product_unshow`,
method: 'put',
data,
});
}
/**
* @description 商品管理-- 分类
*/
export function treeListApi(type) {
return request({
url: `product/category/tree/${type}`,
method: 'get',
});
}
/**
* @description 商品管理-- 分类 new
*/
export function cascaderListApi(type) {
return request({
url: `product/category/cascader/${type}`,
method: 'get',
});
}
/**
* @description 商品管理-- 详情
*/
export function productInfoApi(id) {
return request({
url: `product/product/${id}`,
method: 'get',
});
}
/**
* @description 商品管理-- 提交
*/
export function productAddApi(data) {
return request({
url: `product/product/${data.id}`,
method: 'POST',
data,
});
}
/**
* @description 商品分类 -- 列表
* @param {Object} param params {Object} 传值参数
*/
export function productListApi(params) {
return request({
url: 'product/category',
method: 'get',
params,
});
}
/**
* @description 商品分类 -- 添加表单
* @param {Object} param params {Object} 传值参数
*/
export function productCreateApi() {
return request({
url: 'product/category/create',
method: 'get',
});
}
/**
* @description 商品分类 -- 编辑表单
* @param {Object} param params {Object} 传值参数
*/
export function productEditApi(id) {
return request({
url: `product/category/${id}`,
method: 'get',
});
}
/**
* @description 商品分类 -- 修改状态
* @param {Object} param params {Object} 传值参数
*/
export function setShowApi(data) {
return request({
url: `product/category/set_show/${data.id}/${data.is_show}`,
method: 'PUT',
});
}
/**
* @description 选择商品 -- 列表
*/
export function changeListApi(params) {
return request({
url: `product/product/list`,
method: 'GET',
params,
});
}
/**
* @description 商品评论 -- 列表
* @param {Object} param params {Object} 传值参数
*/
export function replyListApi(params) {
return request({
url: `product/reply`,
method: 'get',
params,
});
}
/**
* @description 商品评论 -- 回复
* @param {Object} param data {Object} 传值参数
*/
export function setReplyApi(data, id) {
return request({
url: `product/reply/set_reply/${id}`,
method: 'PUT',
data,
});
}
/**
* @description 获取复制商品配置
*/
export function copyConfigApi() {
return request({
url: `product/copy_config`,
method: 'get',
});
}
/**
* @description 商品管理 -- 获取京东淘宝商品数据
* @param {Object} param data {Object} 传值参数
*/
export function crawlFromApi(data) {
return request({
url: `product/copy`,
method: 'POST',
data,
});
}
/**
* @description 商品管理 -- 京东淘宝商品数据提交
* @param {Object} param data {Object} 传值参数
*/
export function crawlSaveApi(data) {
return request({
url: `product/crawl/save`,
method: 'POST',
data,
});
}
/**
* @description 商品管理 -- 生成属性
* @param {Object} param data {Object} 传值参数
*/
export function generateAttrApi(data, id, type) {
return request({
url: `product/generate_attr/${id}/${type}`,
method: 'POST',
data,
});
}
/**
* @description 商品属性 -- 列表
* @param {Object} param params {Object} 传值参数
*/
export function ruleListApi(params) {
return request({
url: `product/product/rule`,
method: 'GET',
params,
});
}
/**
* @description 商品属性 -- 添加
* @param {Number} param id {Number} 属性id
* @param {Object} param data {Object} 传值参数
*/
export function ruleAddApi(data, id) {
return request({
url: `product/product/rule/${id}`,
method: 'POST',
data,
});
}
/**
* @description 商品属性 -- 详情
* @param {Number} param id {Number} 属性id
*/
export function ruleInfoApi(id) {
return request({
url: `product/product/rule/${id}`,
method: 'get',
});
}
/**
* @description 商品评价 -- 虚拟评价
* @id--产品id
*/
export function fictitiousReply(id) {
return request({
url: `product/reply/fictitious_reply/${id}`,
method: 'get',
});
}
/**
* @description 商品属性 -- 获取规则属性模板
*/
export function productGetRuleApi() {
return request({
url: `product/product/get_rule`,
method: 'get',
});
}
/**
* @description 商品 -- 获取运费模板
*/
export function productGetTemplateApi() {
return request({
url: `product/product/get_template`,
method: 'get',
});
}
/**
* @description 获取上传参数
*/
export function productGetTempKeysApi(data) {
return request({
url: `product/product/get_temp_keys`,
method: 'get',
params: data,
});
}
/**
* @description 商铺产品 -- 导出
*/
export function storeProductApi(data) {
return request({
url: `export/storeProduct`,
method: 'get',
params: data,
});
}
/**
* @description 添加商品 -- 检测活动存在
*/
export function checkActivityApi(id) {
return request({
url: `product/product/check_activity/${id}`,
method: 'get',
});
}
/**
* @description 商品添加编辑-- 用户标签
*/
export function labelListApi() {
return request({
url: 'user/user_label',
method: 'get',
});
}
/**
* @description 组件获取用户标签
*/
export function productUserLabel() {
return request({
url: 'user/user_tree_label',
method: 'get',
});
}
/**
* @description 上传类型
*/
export function uploadType() {
return request({
url: 'file/upload_type',
method: 'get',
});
}
/**
* @description 导入卡密
*/
export function importCard(data) {
return request({
url: 'product/product/import_card',
method: 'get',
params: data,
});
}
/**
* @description 商品批量设置
* @param {Number} param id {Number} 属性id
* @param {Object} param data {Object} 传值参数
*/
export function batchSetting(data) {
return request({
url: `product/batch/setting`,
method: 'POST',
data,
});
}

1130
src/api/setting.js Normal file

File diff suppressed because it is too large Load Diff

112
src/api/shareList.js Normal file
View File

@ -0,0 +1,112 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* 获取列表数据
* @param params
* @return {*}
*/
export function getShareListListApi(params) {
return request({
url: 'crud/share_list',
method: 'get',
params,
});
}
/**
* 获取添加表单数据
* @return {*}
*/
export function getShareListCreateApi() {
return request({
url: 'crud/share_list/create',
method: 'get',
});
}
/**
* 添加数据
* @param data
* @return {*}
*/
export function shareListSaveApi(data) {
return request({
url: 'crud/share_list',
method: 'post',
data
});
}
/**
* 获取编辑表单数据
* @param id
* @return {*}
*/
export function getShareListEditApi(id) {
return request({
url: `crud/share_list/${id}/edit`,
method: 'get'
});
}
/**
* 修改数据
* @param id
* @return {*}
*/
export function shareListUpdateApi(id, data) {
return request({
url: `crud/share_list/${id}`,
method: 'put',
data
});
}
/**
* 修改状态
* @param id
* @return {*}
*/
export function shareListStatusApi(id, data) {
return request({
url: `crud/share_list/status/${id}`,
method: 'put',
data
});
}
/**
* 删除数据
* @param id
* @return {*}
*/
export function shareListDeleteApi(id) {
return request({
url: `crud/share_list/${id}`,
method: 'delete'
});
}
/**
* 获取数据
* @param id
* @return {*}
*/
export function getShareListReadApi(id) {
return request({
url: `crud/share_list/${id}`,
method: 'get'
});
}

811
src/api/system.js Normal file
View File

@ -0,0 +1,811 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 配置分类--列表
* @param {Object} param data {Object} 传值参数
*/
export function classListApi(data) {
return request({
url: 'setting/config_class',
method: 'get',
params: data,
});
}
/**
* @description 配置分类--新增表单
* @param {Object} param data {Object} 传值参数
*/
export function classAddApi(data) {
return request({
url: 'setting/config_class/create',
method: 'get',
});
}
/**
* @description 配置分类--编辑表单
* @param {Number} param id {Number} 配置分类id
*/
export function classEditApi(id) {
return request({
url: `setting/config_class/${id}/edit`,
method: 'get',
});
}
/**
* @description 配置分类--修改状态
* @param {Number} param id {Number} 文章id
*/
export function setStatusApi(data) {
return request({
url: `setting/config_class/set_status/${data.id}/${data.status}`,
method: 'PUT',
});
}
/**
* @description 配置--列表
* @param {Object} param data {Object} 传值参数
*/
export function configTabListApi(data) {
return request({
url: 'setting/config',
method: 'get',
params: data,
});
}
/**
* @description 配置--新增表单
* @param {Object} param data {Object} 传值参数
*/
export function configTabAddApi(data) {
return request({
url: 'setting/config/create',
method: 'get',
params: data,
});
}
/**
* @description 配置--编辑表单
* @param {Number} param id {Number} 配置id
*/
export function configTabEditApi(id) {
return request({
url: `/setting/config/${id}/edit`,
method: 'get',
});
}
/**
* @description 配置--修改状态
* @param {Number} param id {Number} 文章id
*/
export function configSetStatusApi(id, status) {
return request({
url: `setting/config/set_status/${id}/${status}`,
method: 'PUT',
});
}
/**
* @description 组合数据--列表
* @param {Object} param data {Object} 传值参数
*/
export function groupListApi(data) {
return request({
url: 'setting/group',
method: 'get',
params: data,
});
}
/**
* @description 组合数据--新增
* @param {Object} param data {Object} 传值参数
*/
export function groupAddApi(data) {
return request({
url: data.url,
method: data.method,
data: data.datas,
});
}
/**
* @description 组合数据--详情
* @param {Number} param id {Number} 组合数据id
*/
export function groupInfoApi(id) {
return request({
url: `setting/group/${id}`,
method: 'get',
});
}
/**
* @description 组合数据列表
* @param {Number} param id {Number} 组合数据id
*/
export function groupDataListApi(id, url) {
return request({
url: url,
method: 'get',
params: id,
});
}
/**
* @description 组合数据列表 -- 新增表单
* @param {Number} param id {Number} 组合数据id
*/
export function groupDataAddApi(id, url) {
return request({
url: url,
method: 'get',
params: id,
});
}
/**
* @description 组合数据列表 -- 编辑表单
* @param {Number} param id {Number} 组合数据列表id
* @param {Object} param data {Object} 组合数据id对象
*/
export function groupDataEditApi(data, url) {
return request({
url: url,
method: 'get',
params: data,
});
}
/**
* @description 组合数据列表 -- 编辑表单
* @param {Number} param id {Number} 组合数据id
*/
export function groupDataHeaderApi(data, url) {
return request({
url: url,
method: 'get',
params: data,
});
}
/**
* @description 组合数据列表 -- 修改状态
* @param {Object} param data {Object} 组合数据列表传值
*/
export function groupDataSetApi(url) {
return request({
url: url,
method: 'PUT',
});
}
/**
* @description 系统日志 -- 搜索条件
*/
export function searchAdminApi(data) {
return request({
url: `system/log/search_admin`,
method: 'GET',
});
}
/**
* @description 系统日志 -- 搜索条件
*/
export function systemListApi(params) {
return request({
url: `system/log`,
method: 'GET',
params,
});
}
/**
* @description 文件校验 -- 列表
*/
export function fileListApi() {
return request({
url: `system/file`,
method: 'GET',
});
}
/**
* @description 数据备份 -- 数据库列表
*/
export function backupListApi() {
return request({
url: `system/backup`,
method: 'GET',
});
}
/**
* @description 数据备份 -- 查看表结构详情
*/
export function backupReadListApi(params) {
return request({
url: `system/backup/read`,
method: 'GET',
params,
});
}
/**
* @description 数据备份 -- 备份表
*/
export function backupBackupApi(data) {
return request({
url: `system/backup/backup`,
method: 'put',
data,
});
}
/**
* @description 数据备份 -- 优化表
*/
export function backupOptimizeApi(data) {
return request({
url: `system/backup/optimize`,
method: 'put',
data,
});
}
/**
* @description 数据备份 -- 修复表
*/
export function backupRepairApi(data) {
return request({
url: `system/backup/repair`,
method: 'put',
data,
});
}
/**
* @description 数据备份 -- 备份记录表
*/
export function filesListApi(data) {
return request({
url: `system/backup/file_list`,
method: 'GET',
});
}
/**
* @description 数据备份 -- 下载备份记录表
*/
export function filesDownloadApi(params) {
return request({
url: `backup/download`,
method: 'get',
params,
});
}
/**
* @description 数据备份 -- 导入
*/
export function filesImportApi(data) {
return request({
url: `system/backup/import`,
method: 'POST',
data,
});
}
/**
* @description 文件管理 -- 登录
*/
export function opendirLoginApi(data) {
return request({
url: `system/file/login`,
method: 'POST',
data,
});
}
/**
* @description 文件管理 -- 列表
*/
export function opendirListApi(params) {
return request({
url: `system/file/opendir`,
method: 'GET',
params,
file_edit: true,
});
}
/**
* @description 文件管理 -- 读取文件
*/
export function openfileApi(params) {
return request({
url: `system/file/openfile`,
method: 'GET',
params,
file_edit: true,
});
}
/**
* @description 文件管理 -- 保存
*/
export function savefileApi(data) {
return request({
url: `system/file/savefile?fileToken=${data.fileToken}`,
method: 'post',
data,
file_edit: true,
});
}
/**
* @description 文件管理 -- 新建文件夹
*/
export function createFolder(params) {
return request({
url: `system/file/createFolder`,
method: 'GET',
params,
file_edit: true,
});
}
/**
* @description 文件管理 -- 新建文件
*/
export function createFile(params) {
return request({
url: `system/file/createFile`,
method: 'GET',
params,
file_edit: true,
});
}
/**
* @description 文件管理 -- 删除文件或文件夹
*/
export function rename(params) {
return request({
url: `system/file/rename`,
method: 'GET',
params,
file_edit: true,
});
}
/**
* @description 文件管理 -- 删除文件或文件夹
*/
export function delFolder(params) {
return request({
url: `system/file/delFolder`,
method: 'GET',
params,
file_edit: true,
});
}
/**
* 文件备注
* @param {*} id
* @param {*} params
* @returns
*/
export function fileMark(params) {
return request({
url: `system/file/mark`,
method: 'get',
params,
file_edit: true,
});
}
/**
* @description 安全维护 -- 更换域名
*/
export function replaceSiteUrlApi(data) {
return request({
url: `system/replace_site_url`,
method: 'post',
data,
});
}
/**
*
*/
export function auth() {
return request({
url: 'auth',
method: 'get',
});
}
/**
* @description 申请授权
* @param data
*/
export function authApply(data) {
return request({
url: 'auth_apply',
method: 'post',
data,
});
}
/**
* @description 获取客服页面广告
* @param data
*/
export function getKfAdv() {
return request({
url: 'setting/get_kf_adv',
method: 'get',
});
}
/**
* @description 设置客服页面广告
* @param data
*/
export function setKfAdv(data) {
return request({
url: 'setting/set_kf_adv',
method: 'post',
data,
});
}
/**
* @description 数据配置
* @param data
*/
export function groupAllApi() {
return request({
url: 'setting/group_all',
method: 'get',
});
}
/**
* APP版本列表
*/
export function versionList(params) {
return request({
url: `system/version_list`,
method: 'get',
params,
});
}
/**
* APP版本列表
*/
export function versionCrate(id) {
return request({
url: `system/version_crate/${id}`,
method: 'get',
});
}
/**
* @description 数据配置保存
*/
export function groupSaveApi(data) {
return request({
url: `setting/group_data/save_all`,
method: 'POST',
data,
});
}
/**
* @description 引导页数据配置保存
*/
/**
* @description 获取pc商城端logo
*/
export function pcLogoApi(id) {
return request({
url: `setting/config/get_system/${id}`,
method: 'get',
});
}
/**
* @description pc商城端logo
*/
export function pcLogoSave(data) {
return request({
url: `setting/config/save_basics`,
method: 'POST',
data,
});
}
/**
* @description 获取隐私协议
* @param data
*/
export function getAgreement() {
return request({
url: 'setting/get_user_agreement',
method: 'get',
});
}
/**
* @description 设置隐私协议
* @param data
*/
export function setAgreement(data) {
return request({
url: 'setting/set_user_agreement',
method: 'post',
data,
});
}
/**
* @description 获取协议
* @param data
*/
export function getAgreements(type) {
return request({
url: `setting/get_agreement/${type}`,
method: 'get',
});
}
/**
* @description 设置隐私协议
* @param data
*/
export function setAgreements(data, type) {
return request({
url: `setting/save_agreement`,
method: 'post',
data,
});
}
/**
* @description 获取授权产品
*/
export function crmebProduct(params) {
return request({
url: 'crmeb_product',
method: 'get',
params,
});
}
/**
* @description 获取授权订单
*/
export function getVersion() {
return request({
url: `setting/get_version`,
method: 'get',
});
}
/**
* @description 获取版权
*/
export function getCrmebCopyRight() {
return request({
url: `copyright`,
method: 'get',
});
}
/**
* @description 保存版权
*/
export function saveCrmebCopyRight(data) {
return request({
url: `copyright`,
method: 'post',
data,
});
}
/**
* @description 升级包 -- 列表
* @param data
*/
export function upgradeListApi(params) {
return request({
url: '/system/upgrade/list',
method: 'get',
params,
});
}
/**
* @description 升级进度
*/
export function upgradeProgressApi() {
return request({
url: `/system/upgrade_progress`,
method: 'get',
});
}
/**
* @description 升级协议
*/
export function upgradeAgreementApi() {
return request({
url: `/system/upgrade/agreement`,
method: 'get',
});
}
/**
* @description 升级状态
*/
export function upgradeStatusApi() {
return request({
url: `/system/upgrade_status`,
method: 'get',
});
}
/**
* @description 升级包 -- 升级记录
* @param data
*/
export function upgradeLogListApi(params) {
return request({
url: '/system/upgrade_log/list',
method: 'get',
params,
});
}
/**
* 导出备份文件
*/
export function upgradeExportApi(id) {
return request({
url: `system/upgrade_export/${id}`,
method: 'get',
responseType: 'blob',
});
}
/**
* @description 下载升级包
*/
export function downloadApi(params) {
return request({
url: '/system/upgrade_download/' + params,
method: 'POST',
});
}
/**
* @description 升级包 -- 可升级列表
* @param data
*/
export function upgradeableListApi(params) {
return request({
url: '/system/upgradeable/list',
method: 'get',
params,
});
}
/**
* 定时任务列表
* @param {*} params
* @returns
*/
export function timerIndex(params) {
return request({
url: `system/crontab/list`,
params,
});
}
/**
* 修改定时任务状态
* @param {*} params
* @returns
*/
export function showTimer(id, is_open) {
return request({
url: `system/crontab/set_open/${id}/${is_open}`,
});
}
/**
* 获取定时任务信息
* @param {*} params
* @returns
*/
export function timerInfo(id) {
return request({
url: `system/crontab/info/${id}`,
});
}
/**
* 保存定时任务
* @param {*} data
* @returns
*/
export function saveTimer(data) {
return request({
url: `system/crontab/save`,
method: 'post',
data,
});
}
/**
* 更新定时任务
* @param {*} id
* @param {*} data
* @returns
*/
export function updateTimer(id, data) {
return request({
url: `system/crontab/update/${id}`,
method: 'post',
data,
});
}
/**
* 更新备注
* @param {*} data
* @returns
*/
export function updateMark(data) {
return request({
url: `system/database/update_mark`,
method: 'post',
data,
});
}
/**
* 文件管理 更新备注
* @param {*} data
* @returns
*/
export function markSave(fileToken, data) {
return request({
url: `system/file/mark/save?fileToken=${fileToken}`,
method: 'post',
data,
});
}
/**
* 定时任务名称及标识
* @returns
*/
export function timerTask() {
return request({
url: `system/crontab/mark`,
});
}

66
src/api/systemAdmin.js Normal file
View File

@ -0,0 +1,66 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 列表
* @param {Object} param data {Object} 传值参数
*/
export function adminListApi(data) {
return request({
url: '/setting/admin',
method: 'get',
params: data,
});
}
/**
* @description 管理员添加表单
*/
export function adminFromApi() {
return request({
url: '/setting/admin/create',
method: 'get',
});
}
/**
* @description 管理员编辑表单
* @param {Number} param id {Number} 管理员id
*/
export function adminEditFromApi(id) {
return request({
url: `/setting/admin/${id}/edit`,
method: 'get',
});
}
/**
* @description 管理员删除
* @param {Number} param id {Number} 管理员id
*/
export function adminDelFromApi(id) {
return request({
url: `/setting/admin/${id}`,
method: 'DELETE',
});
}
/**
* @description 管理员 修改状态
* @param {Object} param data {Object} 传值
*/
export function setShowApi(data) {
return request({
url: `setting/set_status/${data.id}/${data.status}`,
method: 'PUT',
});
}

View File

@ -0,0 +1,119 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* 同步路由权限
*/
export function syncRoute(appName) {
return request({
url: `system/route/sync_route/${appName}`,
method: 'get',
});
}
/**
* 新增路由分类
*/
export function routeCate(appName) {
return request({
url: `system/route_cate/create?app_name=${appName}`,
method: 'get',
});
}
/**
* 路由树
*/
export function routeList(apiType) {
return request({
url: `system/route/tree?app_name=${apiType}`,
method: 'get',
});
}
/**
* 添加/编辑接口
* @param {*} data
* @returns
*/
export function routeSave(data) {
return request({
url: `system/route/${data.id}`,
method: 'post',
data,
});
}
/**
* 接口信息详情
* @param {*} data
* @returns
*/
export function routeDet(id) {
return request({
url: `system/route/${id}`,
method: 'get',
});
}
/**
* 接口分类编辑
* @param {*} data
* @returns
*/
export function routeEdit(id, appName) {
return request({
url: `system/route_cate/${id}/edit?app_name=${appName}`,
method: 'get',
});
}
/**
* @description 修改名称
* @param {Object} data data {Object} 传值
*/
export function interfaceEditName(data) {
return request({
url: `setting/system_out_interface/edit_name`,
method: 'PUT',
data,
});
}
/**
* @description 删除
*/
export function routeDel(id) {
return request({
url: 'system/route/' + id,
method: 'delete',
});
}
/**
* @description 删除
*/
export function routeCateDel(id) {
return request({
url: 'system/route_cate/' + id,
method: 'delete',
});
}
/**
* 接口信息详情
* @param {*} data
* @returns
*/
export function textOutUrl(data) {
return request({
url: `setting/system_out_account/text_out_url`,
method: 'post',
data,
});
}

View File

@ -0,0 +1,127 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 代码生成 - 菜单选择列表
*/
export function crudMenus() {
return request({
url: '/system/crud/menus',
method: 'get',
});
}
/**
* @description 代码生成 - sql表选择列表
*/
export function crudColumnType() {
return request({
url: '/system/crud/column_type',
method: 'get',
});
}
/**
* @description 代码生成 - 第一步提交
*/
export function crudFilePath(data) {
return request({
url: '/system/crud/file_path',
method: 'post',
data,
});
}
/**
* @description 代码生成 - 列表
*/
export function crudList(data) {
return request({
url: '/system/crud',
method: 'get',
params: data,
});
}
/**
* @description 代码生成 - 列表查看文件
*/
export function crudDet(id) {
return request({
url: `/system/crud/${id}`,
method: 'get',
});
}
/**
* @description 代码生成 - 下载
*/
export function crudDownload(id) {
return request({
url: `/system/crud/download/${id}`,
method: 'get',
});
}
/**
* @description 数据字典列表
*/
export function crudDataDictionary(where) {
return request({
url: `/system/crud/data_dictionary`,
method: 'get',
params: where,
});
}
/**
* @description 获取可以进行关联的表名
*/
export function crudAssociationTable() {
return request({
url: `/system/crud/association_table`,
method: 'get',
});
}
/**
* @description 获取表的详细信息
*/
export function crudAssociationTableName(tableName) {
return request({
url: `/system/crud/association_table/${tableName}`,
method: 'get',
});
}
/**
* @description 查看数据字典
*/
export function crudDataDictionaryList(id) {
return request({
url: `/system/crud/data_dictionary/${id}`,
method: 'get',
});
}
/**
* @description 保存数据字典
*/
export function saveCrudDataDictionaryList(id, data) {
return request({
url: `/system/crud/data_dictionary/${id}`,
method: 'post',
data,
});
}
/**
* @description 代码生成 - 文件编辑
*/
export function crudSaveFile(id, data) {
return request({
url: `/system/crud/save_file/${id}`,
method: 'post',
data,
});
}

124
src/api/systemMenus.js Normal file
View File

@ -0,0 +1,124 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 权限--列表
* @param {Object} param data {Object} 传值参数
*/
export function getTable(data) {
return request({
url: '/setting/menus',
method: 'get',
params: data,
});
}
/**
* @description 权限--刷新菜单及权限
* @param {Object} param data {Object} 传值参数
*/
export function getMenusUnique(data) {
return request({
url: '/setting/menus/unique',
method: 'get',
params: data,
});
}
/**
* 权限 -- 添加
*/
export function addMenus() {
return request({
url: '/setting/menus/create',
method: 'get',
});
}
/**
* 权限 -- 编辑
* @param id
*/
export function editMenus(id) {
return request({
url: '/setting/menus/' + id + '/edit',
method: 'get',
});
}
/**
* @description 添加 编辑
* @param {Object} param data {Object} 集合
* @param {String} param data.url {String} 地址
* @param {String} param data.method {String} 请求方式
* @param {Object} param data.datas {Object} 传值参数
*/
export function addMenusApi(data) {
return request({
url: data.url,
method: data.method,
data: data.datas,
});
}
/**
* @description 表单详情
* @param {Number} param id {Number} 规则id
*/
export function menusDetailsApi(id) {
return request({
url: `/setting/menus/${id}`,
method: 'get',
});
}
/**
* @description 修改显示
* @param {Number} param data.id {Number} 规则id
* @param {Number} param data.is_show {Number} 状态值
*/
export function isShowApi(data) {
return request({
url: `/setting/menus/show/${data.id}`,
method: 'put',
data,
});
}
/**
* @description 权限列表
*/
export function getRuleList(cate_id) {
return request({
url: `/setting/ruleList?cate_id=${cate_id}`,
method: 'get',
});
}
/**
* @description 权限列表
*/
export function menusBatch(data) {
return request({
url: `setting/menus/batch`,
method: 'post',
data,
});
}
/**
* @description 权限分类树列表
*/
export function menusRuleCate(data) {
return request({
url: `setting/rule_cate`,
method: 'get',
});
}

153
src/api/systemOutAccount.js Normal file
View File

@ -0,0 +1,153 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 列表
* @param {Object} param data {Object} 传值参数
*/
export function accountListApi(data) {
return request({
url: '/setting/system_out_account/index',
method: 'get',
params: data,
});
}
/**
* @description 对外账号 修改状态
* @param {Object} param data {Object} 传值
*/
export function setShowApi(data) {
return request({
url: `setting/system_out_account/set_status/${data.id}/${data.status}`,
method: 'PUT',
});
}
/**
* @description 添加对外账号
* @param {Object} param data {Object} 传值
*/
export function outSaveApi(data) {
return request({
url: `setting/system_out_account/save`,
method: 'post',
data,
});
}
/**
* @description 修改对外账号
* @param {Object} param id {Number} 账号ID
* @param {Object} param data {Object} 传值
*/
export function outSavesApi(data) {
return request({
url: `setting/system_out_account/update/${data.id}`,
method: 'post',
data,
});
}
/**
* 对外账号设置推送
* @param {*} id
* @returns
*/
export function outSetUp(id) {
return request({
url: `setting/system_out_account/set_up/${id}`,
method: 'get',
});
}
/**
* 对外接口列表
*/
export function interfaceList() {
return request({
url: `setting/system_out_interface/list`,
method: 'get',
});
}
/**
* 设置推送信息
* @param {*} data
* @returns
*/
export function setUpPush(data) {
return request({
url: `setting/system_out_account/set_up/${data.id}`,
method: 'put',
data,
});
}
/**
* 添加/编辑接口
* @param {*} data
* @returns
*/
export function interfaceSave(data) {
return request({
url: `setting/system_out_interface/save/${data.id}`,
method: 'post',
data,
});
}
/**
* 接口信息详情
* @param {*} data
* @returns
*/
export function interfaceDet(id) {
return request({
url: `setting/system_out_interface/info/${id}`,
method: 'get',
});
}
/**
* @description 修改名称
* @param {Object} data data {Object} 传值
*/
export function interfaceEditName(data) {
return request({
url: `setting/system_out_interface/edit_name`,
method: 'PUT',
data,
});
}
/**
* @description 删除
*/
export function interfaceDel(id) {
return request({
url: 'setting/system_out_interface/del/' + id,
method: 'delete',
});
}
/**
* 接口信息详情
* @param {*} data
* @returns
*/
export function textOutUrl(data) {
return request({
url: `setting/system_out_account/text_out_url`,
method: 'post',
data,
});
}

36
src/api/upload.js Normal file
View File

@ -0,0 +1,36 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 上传
* @param {Object} param data {Object} 传值参数
*/
export function upload(data, config) {
return request({
url: 'file/video_upload',
method: 'post',
file: true,
data,
});
}
/**
* @description 云存储 url 上传
* @param {Object} param data {Object} 传值参数
*/
export function ossUpload(url, data) {
return request({
url,
method: 'post',
file: true,
data,
});
}

125
src/api/uploadPictures.js Normal file
View File

@ -0,0 +1,125 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 附件分类--列表
* @param {Object} param data {Object} 传值参数
*/
export function getCategoryListApi(data) {
return request({
url: 'file/category',
method: 'get',
params: data,
});
}
/**
* @description 添加分类
*/
export function createApi(id) {
return request({
url: 'file/category/create',
method: 'get',
params: id,
});
}
/**
* @description 编辑分类
* @param {Number} param id {Number} 分类id
*/
export function categoryEditApi(id) {
return request({
url: `file/category/${id}/edit`,
method: 'get',
});
}
/**
* @description 删除分类
* @param {Number} param id {Number} 分类id
*/
export function categoryDelApi(id) {
return request({
url: `file/category/${id}`,
method: 'DELETE',
});
}
/**
* @description 附件列表
* @param {Object} param data {Object} 传值
*/
export function fileListApi(data) {
return request({
url: 'file/file',
method: 'get',
params: data,
});
}
/**
* @description 移动分类修改附件分类表单
* @param {Object} param data {Object} 传值
*/
export function moveApi(data) {
return request({
url: 'file/file/do_move',
method: 'put',
data,
});
}
/**
* @description 修改附件名称
* @param {String} param ids {String} 图片id拼接成的字符串
*/
export function fileUpdateApi(ids, data) {
return request({
url: 'file/file/update/' + ids,
method: 'put',
data,
});
}
/**
* @description 删除附件
* @param {String} param ids {String} 图片id拼接成的字符串
*/
export function fileDelApi(ids) {
return request({
url: 'file/file/delete',
method: 'post',
data: ids,
});
}
/**
* @description 网络图片上传
*/
export function onlineUpload(data) {
return request({
url: 'file/online_upload',
method: 'post',
data,
});
}
/**
* @description 清除扫码上传 code
*/
export function scanUploadCode() {
return request({
url: 'file/scan_upload/qrcode ',
method: 'delete'
});
}

654
src/api/user.js Normal file
View File

@ -0,0 +1,654 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from '@/libs/request';
/**
* @description 用户管理--列表
* @param {Object} param data {Object} 传值参数
*/
export function userList(data) {
return request({
url: 'user/user',
method: 'get',
params: data,
});
}
/**
* @description 编辑表单数据
* @param {Number} param id {Number} 会员id
*/
export function getUserData(id) {
return request({
url: `user/user/${id}/edit`,
method: 'get',
});
}
/**
* @description 开关
* @param {Number} param id {Number}
*/
export function memberCard(data) {
return request({
url: `user/member_ship/set_ship_status`,
method: 'get',
params: data,
});
}
/**
* @description 会员列表开关
* @param {Number} param id {Number}
*/
export function memberCardStatus(data) {
return request({
url: `user/member_card/set_status`,
method: 'get',
params: data,
});
}
/**
* @description 会员管理修改显示
* @param {Object} param data {Object} 传入的状态值用户id
*/
export function isShowApi(data) {
return request({
url: `user/set_status/${data.status}/${data.id}`,
method: 'put',
});
}
/**
* @description 修改积分余额表单
* @param {Number} param id {Number} 用户id
*/
export function editOtherApi(id) {
return request({
url: `user/edit_other/${id}`,
method: 'get',
});
}
/**
* @description 会员管理-详情
* @param {Number} param id {Number} 用户id
*/
export function detailsApi(id) {
return request({
url: `user/user/${id}`,
method: 'get',
});
}
/**
* @description 会员管理详情中tab选项
* @param {Number} param id {Number} 用户id
*/
export function infoApi(data) {
return request({
url: `user/one_info/${data.id}`,
method: 'get',
params: data.datas,
});
}
/**
* @description 会员等级-列表
* @param {Object} param data {Object} 传值参数
*/
export function levelListApi(data) {
return request({
url: 'user/user_level/vip_list',
method: 'get',
params: data,
});
}
/**
* @description 会员等级-编辑表单
* @param {Number} param id {Number} 会员等级id
*/
export function levelEditApi(id) {
return request({
url: `user/user_level/set_value/${id}`,
method: 'PUT',
});
}
/**
* @description 会员等级-修改显示隐藏
* @param {Number} param id {Number} 会员等级id
*/
export function setShowApi(data) {
return request({
url: `user/user_level/set_show/${data.id}/${data.is_show}`,
method: 'PUT',
});
}
/**
* @description 会员等级-编辑表单
* @param {Number} param id {Number} 会员等级id
*/
// export function addApi (data) {
// return request({
// url: 'user/user_level',
// method: 'post',
// data
// });
// }
/**
* @description 会员等级任务-列表
* @param {Object} param data {Object} 传值参数
*/
export function taskListApi(id, data) {
return request({
url: `user/user_level/task/${id}`,
method: 'get',
params: data,
});
}
/**
* @description 会员等级任务-修改显示隐藏
* @param {Number} param data.id {Number} 会员等级任务id
* @param {Number} param data.is_show {Number} 会员等级任务显示隐藏
*/
export function setTaskShowApi(data) {
return request({
url: `user/user_level/set_task_show/${data.id}/${data.is_show}`,
method: 'PUT',
});
}
/**
* @description 会员等级任务-任务是否达成
* @param {Number} param data.id {Number} 会员等级任务id
* @param {Number} param data.is_must {Number} 会员等级任务是否务必达成
*/
export function setTaskMustApi(data) {
return request({
url: `user/user_level/set_task_must/${data.id}/${data.is_must}`,
method: 'PUT',
});
}
/**
* @description 会员等级任务-新建表单 编辑表单
* @param {Object} param data {Object} 会员等级任务对象传值
*/
export function createTaskApi(data) {
return request({
url: `/user/user_level/create_task`,
method: 'get',
params: data,
});
}
/**
* @description 会员等级-创建表单
* @param {Object} param data {Object} 会员等级任务对象传值
*/
export function createApi(id) {
return request({
url: `user/user_level/create`,
method: 'get',
params: id,
});
}
/**
* @description 会员管理 --- 赠送会员等级
* @param {Number} param id {Number} 会员id
*/
export function giveLevelApi(id) {
return request({
url: `user/give_level/${id}`,
method: 'get',
});
}
/**
* @description 会员管理 --- 赠送会员时长
* @param {Number} param id {Number} 会员id
*/
export function giveLevelTimeApi(id) {
return request({
url: `user/give_level_time/${id}`,
method: 'get',
});
}
/**
* @description 会员等级-删除
* @param {Number} param id {Number} 会员等级id
*/
export function delLevelApi(id) {
return request({
url: `user/user_level/delete/${id}`,
method: 'PUT',
});
}
/**
* @description 会员分组-列表
* @param {Object} param data {Object} 传值参数
*/
export function userGroupApi(data) {
return request({
url: 'user/user_group/list',
method: 'get',
params: data,
});
}
/**
* @description 会员删除 --- 删除分组
* @param {Number} param id {Number} 会员id
*/
export function groupDelApi(id) {
return request({
url: `user/user_group/del/${id}`,
method: 'DELETE',
});
}
/**
* @description 会员添加表单/删除表单 --- 表单
* @param {Number} param id {Number} 会员id
*/
export function groupAddApi(id) {
return request({
url: `user/user_group/add/${id}`,
method: 'get',
});
}
/**
* @description 个人中心 --- 修改密码
* data 请求参数
*/
export function updtaeAdmin(data) {
return request({
url: `setting/update_admin`,
method: 'PUT',
data,
});
}
/**
* @description 文件管理 --- 设置密码
* data 请求参数
*/
export function setFilePassword(data) {
return request({
url: `setting/set_file_password`,
method: 'PUT',
data,
});
}
/**
* @description 个人中心 --- 设置会员等级
* data 请求参数
*/
export function userSetGroup(data) {
return request({
url: `user/set_group`,
method: 'post',
data,
});
}
/**
* @description 个人中心 --- 会员标签列表
* data 请求参数
*/
export function userLabelApi(data) {
return request({
url: `user/user_label`,
method: 'get',
params: data,
});
}
/**
* @description 获取标签分类全部
* data 请求参数
*/
export function userLabelAll(data) {
return request({
url: `user/user_label_cate/all`,
method: 'get',
params: data,
});
}
/**
* 添加用户
*/
export function getUserSaveForm() {
return request({
url: `/user/user/create`,
method: 'get',
});
}
/**
* 同步用户
*/
export function userSynchro() {
return request({
url: `/user/user/syncUsers`,
method: 'get',
});
}
/**
* @description 获取用户标签分类编辑表单
* data 请求参数
*/
export function userLabelEdit(id) {
return request({
url: `user/user_label_cate/${id}/edit`,
method: 'get',
});
}
/**
* @description 获取用户标签分类创建表单
* data 请求参数
*/
export function userLabelCreate(id) {
return request({
url: `user/user_label_cate/create`,
method: 'get',
});
}
/**
* @description 个人中心 --- 会员标签表单生成
* data 请求参数
*/
export function userLabelAddApi(id, cate_id) {
return request({
url: `user/user_label/add/${id}?cate_id=${cate_id ? cate_id : 0}`,
method: 'get',
});
}
/**
* @description 个人中心 --- 获取设置会员标签表单
* data 请求参数
*/
export function userSetLabelApi(data) {
return request({
url: `user/set_label`,
method: 'post',
data,
});
}
/**
* 批次卡列表
*/
export function userMemberBatch(data) {
return request({
url: '/user/member_batch/index',
method: 'get',
params: data,
});
}
/**
* 生成批次卡
* @param {*} id id
*/
export function memberBatchSave(id, data) {
return request({
url: `/user/member_batch/save/${id}`,
method: 'post',
data,
});
}
/**
* 列表操作启用名称修改
* @param {*} id id
*/
export function memberBatchSetValue(id, data) {
return request({
url: `/user/member_batch/set_value/${id}`,
method: 'get',
params: data,
});
}
/**
* 会员卡列表
* @param {*} id id
*/
export function userMemberCard(id, data) {
return request({
url: `/user/member_card/index/${id}`,
method: 'get',
params: data,
});
}
/**
* 会员卡导出
* @param {*} id id
*/
export function exportMemberCard(id) {
return request({
url: `/export/memberCard/${id}`,
method: 'get',
});
}
/**
* 会员类型
*/
export function userMemberShip() {
return request({
url: '/user/member/ship',
method: 'get',
});
}
/**
* 编辑会员类型
* @param {*} id id
* @param {*} data data
*/
export function memberShipSave(id, data) {
return request({
url: `/user/member_ship/save/${id}`,
method: 'post',
data,
});
}
/**
* 兑换会员卡二维码
*/
export function userMemberScan() {
return request({
url: '/user/member_scan',
method: 'get',
});
}
/**
* 会员卡记录
*/
export function memberRecord(data) {
return request({
url: '/user/member/record',
method: 'get',
params: data,
});
}
/**
* 会员权益
*/
export function memberRight() {
return request({
url: 'user/member/right',
method: 'get',
});
}
/**
* 会员权益编辑
* @param {*} data
*/
export function memberRightSave(data) {
return request({
url: `user/member_right/save/${data.id}`,
method: 'post',
data,
});
}
/**
* 编辑会员协议
* @param {*} id
*/
export function memberAgreementSave(id, data) {
return request({
url: `user/member_agreement/save/${id}`,
method: 'post',
data,
});
}
/**
* 会员协议
*/
export function memberAgreement() {
return request({
url: `user/member/agreement`,
method: 'get',
});
}
/**
* 代理商申请协议
*/
export function agentAgreement() {
return request({
url: `agent/division/agent_agreement/info`,
method: 'get',
});
}
/**
* 代理商保存协议
* @param {*} id
*/
export function agentAgreementSave(data) {
return request({
url: `agent/division/agent_agreement/save`,
method: 'post',
data,
});
}
/**
* 获取用户标签
*/
export function getUserLabel(uid) {
return request({
url: `user/label/${uid}`,
method: 'get',
});
}
/**
* 设置用户标签
*/
export function putUserLabel(uid, data) {
return request({
url: `user/label/${uid}`,
method: 'post',
data,
});
}
/**
* @description 创建用户
* @param {Object} param data {Object} 传值参数
*/
export function setUser(data) {
return request({
url: 'user/user',
method: 'post',
data,
});
}
/**
* @description 编辑用户
* @param {Object} param data {Object} 传值参数
*/
export function editUser(data) {
return request({
url: 'user/user/' + data.uid,
method: 'put',
data,
});
}
/**
* @description 编辑用户
* @param {Object} param data {Object} 传值参数
*/
export function saveSetLabel(data) {
return request({
url: 'user/save_set_label',
method: 'put',
data,
});
}
/**
* 获取用户信息
*/
export function getUserInfo(uid) {
return request({
url: `user/user/user_save_info/${uid}`,
method: 'get',
});
}
/**
* 用户注销列表
*/
export function userCancelList(data) {
return request({
url: '/user/cancel_list',
method: 'get',
params: data,
});
}
/**
* 用户注销列表
*/
export function userCancelSetMark(data) {
return request({
url: '/user/cancel/set_mark',
method: 'post',
data,
});
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,917 @@
@font-face {
font-family: 'iconfont'; /* Project id 1945396 */
src: url('iconfont.woff2?t=1627630374916') format('woff2'), url('iconfont.woff?t=1627630374916') format('woff'),
url('iconfont.ttf?t=1627630374916') format('truetype');
}
.iconfont {
font-family: 'iconfont' !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.iconzuixin:before {
content: '\e683';
}
.iconxuanzhong6:before {
content: '\e76d';
}
.icontianjia:before {
content: '\e76c';
}
.iconbianji2:before {
content: '\e682';
}
.icongengduozhankai1:before {
content: '\e67e';
}
.icontupian3:before {
content: '\e67f';
}
.iconbiaoqing2:before {
content: '\e680';
}
.iconhuashu1:before {
content: '\e681';
}
.iconshangpintuikuanjine:before {
content: '\e679';
}
.iconjiaoyijine:before {
content: '\e67a';
}
.iconyuezhifujine:before {
content: '\e67b';
}
.iconzhifuyongjinjine:before {
content: '\e67c';
}
.iconxianxiashouyinjine:before {
content: '\e67d';
}
.iconliaotian:before {
content: '\e769';
}
.iconbianji11:before {
content: '\e678';
}
.iconjinru:before {
content: '\e676';
}
.iconfanhui:before {
content: '\e677';
}
.icongengduo:before {
content: '\e66d';
}
.iconfasong:before {
content: '\e66e';
}
.iconcha1:before {
content: '\e66f';
}
.iconmima:before {
content: '\e670';
}
.iconsousuo:before {
content: '\e671';
}
.iconshouji:before {
content: '\e672';
}
.icontuichu:before {
content: '\e673';
}
.iconshangpinxinxi:before {
content: '\e674';
}
.iconzhanghao:before {
content: '\e675';
}
.iconbiaoqing:before {
content: '\e668';
}
.icongengduozhankai:before {
content: '\e669';
}
.iconhuashu:before {
content: '\e66b';
}
.icontupian2:before {
content: '\e66c';
}
.icontianjia11:before {
content: '\e662';
}
.iconbianji1:before {
content: '\e663';
}
.iconshezhi1:before {
content: '\e664';
}
.iconshanchu1:before {
content: '\e665';
}
.iconjiahao:before {
content: '\e666';
}
.iconcha:before {
content: '\e667';
}
.iconshanchu:before {
content: '\e767';
}
.iconbianji:before {
content: '\e768';
}
.iconduihao:before {
content: '\e6ba';
}
.icondaipingjia:before {
content: '\e65d';
}
.icondaishouhuo:before {
content: '\e65e';
}
.iconshouhou-tuikuan:before {
content: '\e65f';
}
.icondaifahuo:before {
content: '\e660';
}
.icondaifukuan:before {
content: '\e661';
}
.iconzhuanjie:before {
content: '\e766';
}
.iconliulanqi:before {
content: '\e65c';
}
.iconfangkeshu:before {
content: '\e63f';
}
.iconfangwenliang:before {
content: '\e642';
}
.iconchengjiaoyonghushu:before {
content: '\e63d';
}
.iconchongzhijianshu:before {
content: '\e63e';
}
.iconchengbenjine:before {
content: '\e640';
}
.iconfufeihuiyuanshu:before {
content: '\e641';
}
.iconchongzhiyonghushu:before {
content: '\e643';
}
.icongoumaihuiyuanjine:before {
content: '\e644';
}
.iconfangke-zhifuzhuanhuashuai:before {
content: '\e645';
}
.iconjingzengyonghu:before {
content: '\e646';
}
.iconkedanjia:before {
content: '\e647';
}
.iconjiagoujianshu:before {
content: '\e648';
}
.iconleijichongzhiyonghu:before {
content: '\e649';
}
.iconleijichengjiaoyonghu:before {
content: '\e64a';
}
.iconleijihuiyuanshu:before {
content: '\e64b';
}
.iconshangpinliulanliang:before {
content: '\e64c';
}
.iconshangpinzhifujine:before {
content: '\e64d';
}
.icontuikuanjianshu:before {
content: '\e64e';
}
.iconleijiguanzhuyonghu:before {
content: '\e64f';
}
.icontuikuan:before {
content: '\e650';
}
.iconxiadanjianshu:before {
content: '\e651';
}
.iconleijiquguanyonghu:before {
content: '\e652';
}
.iconleijiyonghu:before {
content: '\e653';
}
.iconxinzengquguanyonghu:before {
content: '\e654';
}
.iconshangpinfangkeshu:before {
content: '\e655';
}
.iconxinzengyonghushu:before {
content: '\e656';
}
.iconxinzengguanzhuyonghu:before {
content: '\e657';
}
.iconzhifujine:before {
content: '\e658';
}
.iconyingyee:before {
content: '\e659';
}
.iconzhifujianshu:before {
content: '\e65a';
}
.iconzhichujine:before {
content: '\e65b';
}
.iconguanji:before {
content: '\e6ed';
}
.iconshengyinjingyinxianxing:before {
content: '\e94f';
}
.iconshengyinyinliang:before {
content: '\e66a';
}
.iconguanbi5:before {
content: '\e761';
}
.icontupian1:before {
content: '\e762';
}
.iconbiaoqing1:before {
content: '\e764';
}
.iconzhanghaomima:before {
content: '\e763';
}
.iconerweima2:before {
content: '\e765';
}
.iconjuxing:before {
content: '\e628';
}
.iconzidongxuanze:before {
content: '\e625';
}
.iconshoudongxuanze:before {
content: '\e626';
}
.icondanlie:before {
content: '\e622';
}
.iconlianglie:before {
content: '\e623';
}
.iconsanlie:before {
content: '\e624';
}
.iconzhibozhong:before {
content: '\e621';
}
.iconyijieshu:before {
content: '\e61f';
}
.iconweikaishi:before {
content: '\e620';
}
.icondrag2:before {
content: '\e61e';
}
.iconbanner_3:before {
content: '\e613';
}
.iconxiaochengxuzhibo:before {
content: '\e63c';
}
.iconSolidline:before {
content: '\e61b';
}
.iconDottedline:before {
content: '\e61c';
}
.iconDotline:before {
content: '\e61d';
}
.icondrop-down:before {
content: '\e619';
}
.iconDot:before {
content: '\e605';
}
.iconSquarepoint:before {
content: '\e60d';
}
.icondel_2:before {
content: '\e608';
}
.iconaddto:before {
content: '\e60c';
}
.icondel_1:before {
content: '\e610';
}
.icondrag:before {
content: '\e617';
}
.iconComm_number:before {
content: '\e600';
}
.iconComm_whole:before {
content: '\e603';
}
.iconComm_Price:before {
content: '\e616';
}
.iconPic_square:before {
content: '\e60e';
}
.iconPic_fillet:before {
content: '\e60f';
}
.iconsearch_2:before {
content: '\e615';
}
.iconsearch_1:before {
content: '\e618';
}
.iconbanner_2:before {
content: '\e602';
}
.iconPic_small:before {
content: '\e609';
}
.iconPic_big:before {
content: '\e60a';
}
.iconbanner_1:before {
content: '\e60b';
}
.icondoc_skew:before {
content: '\e601';
}
.icondoc_bold:before {
content: '\e604';
}
.icondoc_general:before {
content: '\e61a';
}
.iconfive:before {
content: '\e606';
}
.iconFour:before {
content: '\e614';
}
.icondoc_center:before {
content: '\e607';
}
.icondoc_right:before {
content: '\e611';
}
.icondoc_left:before {
content: '\e612';
}
.icontupian:before {
content: '\e63b';
}
.iconkefu:before {
content: '\e633';
}
.iconfuzhuxian:before {
content: '\e63a';
}
.iconbiaoti:before {
content: '\e627';
}
.icondaohangzu:before {
content: '\e629';
}
.iconfuzhukongbai:before {
content: '\e62a';
}
.iconfenleidaohang:before {
content: '\e62b';
}
.iconcuxiaoliebiao:before {
content: '\e62c';
}
.iconkanjia:before {
content: '\e62d';
}
.iconguanzhugongzhonghao:before {
content: '\e62e';
}
.iconhuodongmofang:before {
content: '\e62f';
}
.iconfuwenben:before {
content: '\e630';
}
.iconmiaosha:before {
content: '\e631';
}
.iconshangpinliebiao:before {
content: '\e632';
}
.iconpintuan:before {
content: '\e634';
}
.iconsousukuang:before {
content: '\e635';
}
.icontupianguanggao:before {
content: '\e636';
}
.iconxinwenbobao:before {
content: '\e637';
}
.iconwenzhangliebiao:before {
content: '\e638';
}
.iconyouhuiquan:before {
content: '\e639';
}
.iconshezhi:before {
content: '\e6d4';
}
.icons-kefu:before {
content: '\e6d3';
}
.iconduohang:before {
content: '\e6b4';
}
.icontupianguanggao1:before {
content: '\e6fe';
}
.iconsousukuang1:before {
content: '\e6ff';
}
.iconwenzhangliebiao1:before {
content: '\e700';
}
.iconpintuan1:before {
content: '\e701';
}
.iconshangpinliebiao1:before {
content: '\e702';
}
.iconyouhuiquan1:before {
content: '\e703';
}
.iconxiaochengxuzhibo1:before {
content: '\e704';
}
.iconmiaosha1:before {
content: '\e705';
}
.iconxinwenbobao1:before {
content: '\e706';
}
.icondaohangzu1:before {
content: '\e6f3';
}
.iconbiaoti1:before {
content: '\e6f4';
}
.iconfenleidaohang1:before {
content: '\e6f5';
}
.iconcuxiaoliebiao1:before {
content: '\e6f6';
}
.iconfuzhukongbai1:before {
content: '\e6f7';
}
.iconhuodongmofang1:before {
content: '\e6f8';
}
.iconguanzhugongzhonghao1:before {
content: '\e6f9';
}
.iconkanjia1:before {
content: '\e6fa';
}
.iconfuzhuxian1:before {
content: '\e6fb';
}
.iconkefu1:before {
content: '\e6fc';
}
.iconfuwenben1:before {
content: '\e6fd';
}
.icondantu:before {
content: '\e6f0';
}
.iconlashen:before {
content: '\e6f1';
}
.iconpingpu:before {
content: '\e6f2';
}
.iconshouhou-tuikuan-lan:before {
content: '\e6ea';
}
.icondaifukuan-lan:before {
content: '\e6eb';
}
.icondaishouhuo-lan:before {
content: '\e6ec';
}
.icondaipingjia-lan:before {
content: '\e6ee';
}
.icondaifahuo-lan:before {
content: '\e6ef';
}
.icondaifukuan-ju:before {
content: '\e6e5';
}
.iconshouhou-tuikuan-ju:before {
content: '\e6e6';
}
.icondaishouhuo-ju:before {
content: '\e6e7';
}
.icondaipingjia-ju:before {
content: '\e6e8';
}
.icondaifahuo-ju:before {
content: '\e6e9';
}
.icondaipingjia-fen:before {
content: '\e6e0';
}
.icondaishouhuo-fen:before {
content: '\e6e1';
}
.icondaifukuan-fen:before {
content: '\e6e2';
}
.icondaifahuo-fen:before {
content: '\e6e3';
}
.icona-shouhoutuikuan-fen:before {
content: '\e6e4';
}
.icondaifahuo-lv:before {
content: '\e6db';
}
.icondaishouhuo-lv:before {
content: '\e6dc';
}
.icondaifukuan-lv:before {
content: '\e6dd';
}
.icondaipingjia-lv:before {
content: '\e6de';
}
.iconshouhou-tuikuan-lv:before {
content: '\e6df';
}
.icondaifukuan1:before {
content: '\e6d5';
}
.icondaipingjia1:before {
content: '\e6d6';
}
.iconshouhou_tuikuan:before {
content: '\e6d7';
}
.icondaifahuo1:before {
content: '\e6d8';
}
.icondaishouhuo1:before {
content: '\e6d9';
}
.iconshezhi:before {
content: '\e6d4';
}
.icons-kefu:before {
content: '\e6d3';
}
.iconduohang:before {
content: '\e6b4';
}
.icon4ge1:before {
content: '\e6b5';
}
.icon5ge1:before {
content: '\e6b6';
}
.icondayuanjiao:before {
content: '\e6b7';
}
.icon3ge1:before {
content: '\e6b8';
}
.icondanhang:before {
content: '\e6b9';
}
.iconzuoyoutuwen:before {
content: '\e6b3';
}
.iconyangshi8:before {
content: '\e6b1';
}
.iconyangshi9:before {
content: '\e6b2';
}
.iconyangshi1:before {
content: '\e6aa';
}
.iconyangshi4:before {
content: '\e6ab';
}
.iconyangshi5:before {
content: '\e6ac';
}
.iconyangshi6:before {
content: '\e6ad';
}
.iconyangshi2:before {
content: '\e6ae';
}
.iconyangshi7:before {
content: '\e6af';
}
.iconyangshi3:before {
content: '\e6b0';
}
.iconshuzi:before {
content: '\e6a8';
}
.iconjinyong:before {
content: '\e6a9';
}
.icon4ge:before {
content: '\e6a5';
}
.icon3ge:before {
content: '\e6a6';
}
.icon5ge:before {
content: '\e6a7';
}
.icon2hang:before {
content: '\e6a2';
}
.icon3hang:before {
content: '\e6a3';
}
.icon4hang:before {
content: '\e6a4';
}
.iconxiayi:before {
content: '\e69e';
}
.iconshangyi:before {
content: '\e6a1';
}
.iconshanchu2:before {
content: '\e69f';
}

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,58 @@
@font-face {
font-family: 'iconfont';
src: url('iconfont.eot?t=1541579316141'); /* IE9*/
src: url('iconfont.eot?t=1541579316141#iefix') format('embedded-opentype'),
/* IE6-IE8 */
url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAiEAAsAAAAADmgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY8eUnXY21hcAAAAYAAAACjAAACLi+YJuBnbHlmAAACJAAABAgAAAcg4dRWHmhlYWQAAAYsAAAAMQAAADYTL8piaGhlYQAABmAAAAAgAAAAJAfdA4xobXR4AAAGgAAAABQAAAAsLAD//2xvY2EAAAaUAAAAGAAAABgImgpGbWF4cAAABqwAAAAfAAAAIAEcAG5uYW1lAAAGzAAAAUUAAAJtPlT+fXBvc3QAAAgUAAAAbgAAAI54roygeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeMTx/ytzwv4EhhrmBoRkozAiSAwDuUwzMeJzlkUEKwkAMRd/YabXFhQvxFF6qPYPrUujGY7jyIr1JoZNjtMnEhag3MOEN5MMk8D9QAoVyVSKEJwGrh6oh6wVN1iM3nc+cVImJVKdOehlklElmWdYVstp+ql8VdIv15a1NLW0zFXsO7Kjz3erH/3+rY37vr6kxnx1LKNWOJZlaxxJNnWOpSu+ot8jgqMvI6KjfyOSo88jsaAbI4tBsig89rQB4nLVUTWwbRRSeNzO767i2g7N/FP9s7MRrE5ON4/V6rSZyU0PiINSSNImES4IUoapWz6hEiqiMBDQqEojkAkiFStyKRC+9VSoFCeUEyqESVUAqEkcu3OAQb3hrJxAXwSGI3X0/szPz5vvm2x0i7O/vf8IJe5VkSJnUyUtklRBQJE1VIjRtUafkmk6pSu2ipleh4+xikkKxSksWTUeo8m8NoagpYtoslTmxrLl37z64e33esuJjU8P5Wd262LxoPVnPZ06Pxfe+C0YjkhSJygPhQCA8ABPOykwuN7NyuRvgUnAgLEnhATkaCQQiUe/7XKUyV6nQz+t2o7l66+rs7NVbq82GXTdrdjxjRGU5amTids2bUDMFtzCsqsMYMqr3IDY6OT05GjsI8Exv/6CSkOWEQigh+y3clxY5QVTcEZFIGtHLxDUJs6WsHR1y9SFKdr1HggCp3V1ICYL36OOpVmvKN9bC1u6R3vZ0qwWtVovgJfqOfUvfIYxIWL+fyETHNVJqSkIT1JTjW8ZWh3yDJDz0ctvsyt51etvrg9/QHhqGlzMM+vbmizPnDWPLMNbW19e7tffvsBzL99aWEfBRY46t+tbe3PypXv/IMDYN43WsQBe9HL2NC33RuxABrPsG+xH3o4bVRE2KgCRqulbWNf8W/UYVHM129aKra24VshZkq+CWD/Oy6Xt8cGYEthgHVlVliCfynAlqjo6oysTKlYUAD4docMI5/1ZioN+GwZNBcTwWUmTdBUqhTwX29QebXzF4An4JJMzwfMl+WQ01+IlQZVR4yhie53ycA16pOI/ODiYNGK4MChdCgXNnX5gIJXPCSYnf2OF850aQ+zJIyOs+u8+mMO8jQdwtg1TIWVRjKAnFcslMi8KfGUPoSUCergUyUk77dMyS69Ms6tijKZKYwUGKbpfdzu+iYeZYAHMFiOVi+MD7h9mb99qC0L7X8c+XatMfTj97KZ5IxJt/pd43tYYQKEjAnXMOB6kQEBrwg+LPjindAPOHNdC3q3ait0I3/ZIunZEARLNYNEUA6czSP3N/7j9wz6ZESdX0VNl1zGNS/szbQaQSIGk4DtVPcZf8AgXpf9A2OyTit5s2syZmand46bhEe2WtodLHkvaoqtTXuXN2/c42WADP9HGfbUcUW7JgqHss4xHtlMys679FqUomdP9VJBQBdnlPABBubpuNwqnmQj6/0HwNQzKxDUJFgKiXurBG6dqFjmeBzsvtRPJgGIZThYa5fdOvsReOticPh6JHHXxsv7ItJpOniYPYsmZ/x0QD/o5P105DeQwF6MH33ogoLi+KQp7zpY3HQV5bFMURzheXeds7gpP+jKNXljjHuYvXHke7cdCxLLZf6YX7B63UcCV4nGNgZGBgAOKAN2ZR8fw2Xxm4WRhA4AbHYRMY/f///1oWBuYGIJeDgQkkCgAvWgs2AAAAeJxjYGRgYG7438AQw8Lw/z8DAwsDA1AEBXADAHXiBHJ4nGNhYGBgYfj/nwVM48cATwECKwAAAAAAjAC6AOgBFAGAAf4CbgLqAzgDkHicY2BkYGDgZkhiYGcAASYg5gJCBob/YD4DABOmAYsAeJxlj01OwzAQhV/6B6QSqqhgh+QFYgEo/RGrblhUavdddN+mTpsqiSPHrdQDcB6OwAk4AtyAO/BIJ5s2lsffvHljTwDc4Acejt8t95E9XDI7cg0XuBeuU38QbpBfhJto41W4Rf1N2MczpsJtdGF5g9e4YvaEd2EPHXwI13CNT+E69S/hBvlbuIk7/Aq30PHqwj7mXle4jUcv9sdWL5xeqeVBxaHJIpM5v4KZXu+Sha3S6pxrW8QmU4OgX0lTnWlb3VPs10PnIhVZk6oJqzpJjMqt2erQBRvn8lGvF4kehCblWGP+tsYCjnEFhSUOjDFCGGSIyujoO1Vm9K+xQ8Jee1Y9zed0WxTU/3OFAQL0z1xTurLSeTpPgT1fG1J1dCtuy56UNJFezUkSskJe1rZUQuoBNmVXjhF6XNGJPyhnSP8ACVpuyAAAAHicbYhdDoIwEAb3a6k/YIIX8VArWewmdJFWJOnpJTG+OQ+TzJCjLy39p4ODR4OAA4444YwWHS7U3IVzn6Voldtb8ksHnvohrlqjjmw1rmzXsvdT7fEbblnCmOfNfJIYStJJfGIL27yb6AOCGR89AAA=')
format('woff'),
url('iconfont.ttf?t=1541579316141') format('truetype'),
/* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url('iconfont.svg?t=1541579316141#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: 'iconfont' !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-bear:before {
content: '\e600';
}
.icon-resize-vertical:before {
content: '\e7c3';
}
.icon-chuizhifanzhuan:before {
content: '\e661';
}
.icon-shuipingfanzhuan:before {
content: '\e662';
}
.icon-qq:before {
content: '\e609';
}
.icon-frown:before {
content: '\e77e';
}
.icon-meh:before {
content: '\e780';
}
.icon-smile:before {
content: '\e783';
}
.icon-man:before {
content: '\e7e2';
}
.icon-woman:before {
content: '\e7e5';
}

Binary file not shown.

View File

@ -0,0 +1,56 @@
<?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" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="bear" unicode="&#58880;" d="M1024 683.008q0-70.656-46.08-121.856 46.08-89.088 46.08-193.536 0-96.256-39.936-181.248t-109.568-147.968-162.816-99.328-199.68-36.352-199.68 36.352-162.304 99.328-109.568 147.968-40.448 181.248q0 104.448 46.08 193.536-46.08 51.2-46.08 121.856 0 37.888 13.824 71.168t37.376 58.368 55.808 39.424 68.096 14.336q43.008 0 78.848-18.432t59.392-50.176q46.08 17.408 96.256 26.624t102.4 9.216 102.4-9.216 96.256-26.624q24.576 31.744 59.904 50.176t78.336 18.432q36.864 0 68.608-14.336t55.296-39.424 37.376-58.368 13.824-71.168zM205.824 268.288q10.24 0 18.944 10.24t15.36 28.672 10.24 42.496 3.584 51.712-3.584 51.712-10.24 41.984-15.36 28.16-18.944 10.24q-9.216 0-17.92-10.24t-15.36-28.16-10.752-41.984-4.096-51.712 4.096-51.712 10.752-42.496 15.36-28.672 17.92-10.24zM512-31.744000000000028q53.248 0 99.84 13.312t81.408 35.84 54.784 52.736 19.968 65.024q0 33.792-19.968 64t-54.784 52.736-81.408 35.84-99.84 13.312-99.84-13.312-81.408-35.84-54.784-52.736-19.968-64q0-34.816 19.968-65.024t54.784-52.736 81.408-35.84 99.84-13.312zM818.176 268.288q10.24 0 18.944 10.24t15.36 28.672 10.24 42.496 3.584 51.712-3.584 51.712-10.24 41.984-15.36 28.16-18.944 10.24q-9.216 0-17.92-10.24t-15.36-28.16-10.752-41.984-4.096-51.712 4.096-51.712 10.752-42.496 15.36-28.672 17.92-10.24zM512 235.51999999999998q39.936 0 68.096-9.728t28.16-24.064-28.16-24.064-68.096-9.728-68.096 9.728-28.16 24.064 28.16 24.064 68.096 9.728z" horiz-adv-x="1024" />
<glyph glyph-name="resize-vertical" unicode="&#59331;" d="M512 896C229.248 896 0 666.752 0 384s229.248-512 512-512 512 229.248 512 512S794.752 896 512 896zM576 192l64 0-128-128-128 128 64 0L448 576l-64 0 128 128 128-128-64 0L576 192z" horiz-adv-x="1024" />
<glyph glyph-name="chuizhifanzhuan" unicode="&#58977;" d="M286.01856 645.08416l472.4224 0 0-146.2784-472.4224 0 0 146.2784ZM87.19872 420.37248l885.80096 0 0-70.87104-885.80096 0 0 70.87104ZM773.55008 268.05248l0-31.0016L270.6688 237.05088l0 31.0016L773.55008 268.05248zM773.55008 121.4208l0-31.0016L270.6688 90.4192l0 31.0016L773.55008 121.4208zM742.54848 240.75776l31.0016 0 0-123.04896-31.0016 0L742.54848 240.75776zM270.70464 240.57856l31.0016 0 0-123.04896-31.0016 0L270.70464 240.57856z" horiz-adv-x="1024" />
<glyph glyph-name="shuipingfanzhuan" unicode="&#58978;" d="M252.76928 596.096l146.2784 0 0-472.42752-146.2784 0 0 472.42752ZM477.48096 810.65472l70.87104 0 0-885.80608-70.87104 0 0 885.80608ZM629.80096 611.2l31.0016 0 0-502.88128-31.0016 0L629.80096 611.2zM776.42752 611.2l31.0016 0 0-502.88128-31.0016 0L776.42752 611.2zM657.09056 580.1984l0 31.0016 123.04896 0 0-31.0016L657.09056 580.1984zM657.27488 108.35456l0 31.0016 123.04896 0 0-31.0016L657.27488 108.35456z" horiz-adv-x="1024" />
<glyph glyph-name="qq" unicode="&#58889;" d="M147.372058 491.394284c-5.28997-13.909921 2.431986-22.698872 0-75.732573-0.682996-14.25092-62.165649-78.762555-86.569511-145.791177-24.192863-66.517625-27.519845-135.978232 9.811944-163.285078 37.419789-27.305846 72.191593 90.879487 76.757567 73.685584 1.961989-7.509958 4.436975-15.317914 7.423958-23.338868a331.945126 331.945126 0 0 1 61.140655-101.162429c5.929967-6.783962-36.009797-19.199892-61.140655-61.99365-25.173858-42.751759 7.209959-120.49032 132.223254-120.49032 161.27909 0 197.288886 56.70368 200.574868 56.447681 12.031932-0.895995 12.841928 0 25.599855 0 15.572912 0 9.129948-1.279993 23.593867 0 7.807956 0.682996 86.186514-67.839617 194.686901-56.447681 184.873956 19.45589 156.586116 81.40754 142.079198 120.48932-15.103915 40.83277-68.692612 59.946662-66.303626 62.549647 44.28775 48.938724 51.285711 79.018554 66.346626 123.9463 6.143965 18.473896 49.066723-101.674426 82.089537-73.685584 13.781922 11.690934 41.301767 60.24566 13.781922 163.285078-27.519845 102.996419-80.767544 126.505286-79.615551 145.791177 2.389987 40.191773 1.023994 68.436614-1.023994 75.732573-9.812945 35.4128-30.378829 27.604844-30.378829 35.4128C858.450044 730.752933 705.10691 896 515.966978 896s-342.398067-165.289067-342.398068-369.192916c0-16.169909-14.378919-4.223976-26.154852-35.4128z" horiz-adv-x="1024" />
<glyph glyph-name="frown" unicode="&#59262;" d="M336 475m-48 0a48 48 0 1 1 96 0 48 48 0 1 1-96 0ZM688 475m-48 0a48 48 0 1 1 96 0 48 48 0 1 1-96 0ZM512 832C264.6 832 64 631.4 64 384s200.6-448 448-448 448 200.6 448 448S759.4 832 512 832z m263-711c-34.2-34.2-74-61-118.3-79.8C611 21.8 562.3 12 512 12c-50.3 0-99 9.8-144.8 29.2-44.3 18.7-84.1 45.6-118.3 79.8-34.2 34.2-61 74-79.8 118.3C149.8 285 140 333.7 140 384s9.8 99 29.2 144.8c18.7 44.3 45.6 84.1 79.8 118.3 34.2 34.2 74 61 118.3 79.8C413 746.2 461.7 756 512 756c50.3 0 99-9.8 144.8-29.2 44.3-18.7 84.1-45.6 118.3-79.8 34.2-34.2 61-74 79.8-118.3C874.2 483 884 434.3 884 384s-9.8-99-29.2-144.8c-18.7-44.3-45.6-84.1-79.8-118.2zM512 363c-85.5 0-155.6-67.3-160-151.6-0.2-4.6 3.4-8.4 8-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 259.9 461.5 299 512 299s92.1-39.1 95.8-88.6c0.3-4.2 3.9-7.4 8.1-7.4H664c4.6 0 8.2 3.8 8 8.4-4.4 84.3-74.5 151.6-160 151.6z" horiz-adv-x="1024" />
<glyph glyph-name="meh" unicode="&#59264;" d="M336 475m-48 0a48 48 0 1 1 96 0 48 48 0 1 1-96 0ZM688 475m-48 0a48 48 0 1 1 96 0 48 48 0 1 1-96 0ZM512 832C264.6 832 64 631.4 64 384s200.6-448 448-448 448 200.6 448 448S759.4 832 512 832z m263-711c-34.2-34.2-74-61-118.3-79.8C611 21.8 562.3 12 512 12c-50.3 0-99 9.8-144.8 29.2-44.3 18.7-84.1 45.6-118.3 79.8-34.2 34.2-61 74-79.8 118.3C149.8 285 140 333.7 140 384s9.8 99 29.2 144.8c18.7 44.3 45.6 84.1 79.8 118.3 34.2 34.2 74 61 118.3 79.8C413 746.2 461.7 756 512 756c50.3 0 99-9.8 144.8-29.2 44.3-18.7 84.1-45.6 118.3-79.8 34.2-34.2 61-74 79.8-118.3C874.2 483 884 434.3 884 384s-9.8-99-29.2-144.8c-18.7-44.3-45.6-84.1-79.8-118.2zM664 331H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8z" horiz-adv-x="1024" />
<glyph glyph-name="smile" unicode="&#59267;" d="M336 475m-48 0a48 48 0 1 1 96 0 48 48 0 1 1-96 0ZM688 475m-48 0a48 48 0 1 1 96 0 48 48 0 1 1-96 0ZM512 832C264.6 832 64 631.4 64 384s200.6-448 448-448 448 200.6 448 448S759.4 832 512 832z m263-711c-34.2-34.2-74-61-118.3-79.8C611 21.8 562.3 12 512 12c-50.3 0-99 9.8-144.8 29.2-44.3 18.7-84.1 45.6-118.3 79.8-34.2 34.2-61 74-79.8 118.3C149.8 285 140 333.7 140 384s9.8 99 29.2 144.8c18.7 44.3 45.6 84.1 79.8 118.3 34.2 34.2 74 61 118.3 79.8C413 746.2 461.7 756 512 756c50.3 0 99-9.8 144.8-29.2 44.3-18.7 84.1-45.6 118.3-79.8 34.2-34.2 61-74 79.8-118.3C874.2 483 884 434.3 884 384s-9.8-99-29.2-144.8c-18.7-44.3-45.6-84.1-79.8-118.2zM664 363h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 306.1 562.5 267 512 267s-92.1 39.1-95.8 88.6c-0.3 4.2-3.9 7.4-8.1 7.4H360c-4.6 0-8.2-3.8-8-8.4 4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6c0.2 4.6-3.4 8.4-8 8.4z" horiz-adv-x="1024" />
<glyph glyph-name="man" unicode="&#59362;" d="M874 776H622c-3.3 0-6-2.7-6-6v-56c0-3.3 2.7-6 6-6h160.4L583.1 508.7c-50 38.5-111 59.3-175.1 59.3-76.9 0-149.3-30-203.6-84.4S120 356.9 120 280s30-149.3 84.4-203.6C258.7 22 331.1-8 408-8s149.3 30 203.6 84.4C666 130.7 696 203.1 696 280c0 64.1-20.8 124.9-59.2 174.9L836 654.1V494c0-3.3 2.7-6 6-6h56c3.3 0 6 2.7 6 6V746c0 16.5-13.5 30-30 30zM408 68c-116.9 0-212 95.1-212 212s95.1 212 212 212 212-95.1 212-212-95.1-212-212-212z" horiz-adv-x="1024" />
<glyph glyph-name="woman" unicode="&#59365;" d="M909.7 739.4l-42.2 42.2c-3.1 3.1-8.2 3.1-11.3 0L764 689.4l-84.2 84.2c-3.1 3.1-8.2 3.1-11.3 0l-42.1-42.1c-3.1-3.1-3.1-8.1 0-11.3l84.2-84.2-135.5-135.3c-50 38.5-111 59.3-175.1 59.3-76.9 0-149.3-30-203.6-84.4S112 348.9 112 272s30-149.3 84.4-203.6C250.7 14 323.1-16 400-16s149.3 30 203.6 84.4C658 122.7 688 195.1 688 272c0 64.2-20.9 125.1-59.3 175.1l135.4 135.4 84.2-84.2c3.1-3.1 8.2-3.1 11.3 0l42.1 42.1c3.1 3.1 3.1 8.1 0 11.3l-84.2 84.2 92.2 92.2c3.1 3.1 3.1 8.2 0 11.3zM400 60c-116.9 0-212 95.1-212 212s95.1 212 212 212 212-95.1 212-212-95.1-212-212-212z" horiz-adv-x="1024" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

BIN
src/assets/images/bg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
src/assets/images/bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

BIN
src/assets/images/bg2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

BIN
src/assets/images/bg3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

BIN
src/assets/images/bjt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
src/assets/images/bule.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 26 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
src/assets/images/f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

BIN
src/assets/images/file.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

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