init: 初始化 hgmj 后台管理项目
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@@ -0,0 +1,12 @@
|
||||
---
|
||||
description: 用户要求 git commit、提交代码、写 commit message 或创建提交时,必须先加载 commit-convention skill 并严格遵守
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Git 提交规范自动激活
|
||||
|
||||
当用户要求**提交代码**、**git commit**、**写提交说明**或执行提交流程时:
|
||||
|
||||
1. 必须先加载 `.cursor/skills/commit-convention/SKILL.md`。
|
||||
2. Agent 代提交时 subject **必须**以 `[Ai]` 开头,并写清业务变更或 Bug 修复,禁止敷衍 subject。
|
||||
3. 未获用户明确授权不得 commit;不得提交 `.env` 等含密钥文件;默认不 push。
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"plugins": {
|
||||
"superpowers": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
# Skills 导航
|
||||
|
||||
本目录提供项目级 Cursor Skills,面向本仓库的 `Vue2 + Element UI` 管理端开发。
|
||||
|
||||
## 当前可用 Skills
|
||||
|
||||
### 1) 页面与组件开发
|
||||
|
||||
- 路径:`vue2-element-dev/SKILL.md`
|
||||
- 适用:新增/修改列表页、表单弹窗、复用组件
|
||||
- 重点:页面结构、状态管理、方法组织、交付前检查
|
||||
|
||||
### 2) 接口联调
|
||||
|
||||
- 路径:`vue2-api-integration/SKILL.md`
|
||||
- 适用:接口接入、参数映射、错误处理、鉴权异常处理
|
||||
- 重点:请求层与页面层分工、响应兜底、401/403、防重复提交
|
||||
|
||||
### 3) 路由与权限接入
|
||||
|
||||
- 路径:`vue2-route-permission/SKILL.md`
|
||||
- 适用:新增页面后接菜单、接路由、排查可见性/可访问问题
|
||||
- 重点:模块路由拆分、`permissionRouter` 聚合、菜单激活与一致性
|
||||
|
||||
## 推荐使用顺序
|
||||
|
||||
新增业务功能时,建议按以下顺序使用:
|
||||
|
||||
1. 先看 `vue2-element-dev`,把页面骨架与交互结构搭好
|
||||
2. 再用 `vue2-api-integration` 完成查询/提交联调和异常兜底
|
||||
3. 最后用 `vue2-route-permission` 接入路由菜单并做入口验证
|
||||
|
||||
## 每套 Skill 的配套文件
|
||||
|
||||
每个 skill 目录都包含:
|
||||
|
||||
- `SKILL.md`:主规范与流程
|
||||
- `examples.md`:可参考的最小示例
|
||||
- `checklist.md`:提交前自检项
|
||||
|
||||
## 团队使用建议
|
||||
|
||||
- 优先复用现有页面模式,不做无关重构
|
||||
- 新功能至少走一遍对应 `checklist.md`
|
||||
- 若出现同类问题反复发生,可在对应 skill 中沉淀新增规则
|
||||
@@ -0,0 +1,97 @@
|
||||
---
|
||||
name: commit-convention
|
||||
description: 为本仓库生成符合团队规范的 Git 提交信息,并在用户要求提交代码时执行完整提交流程。用于 git commit、提交代码、写 commit message、创建提交、push 前整理提交等场景;Agent 代提交时必须使用 [Ai] 标记并写清业务变更。
|
||||
---
|
||||
|
||||
# Git 提交规范(Agent 代提交)
|
||||
|
||||
## 触发条件
|
||||
|
||||
满足任一条件,**必须先加载本 skill**,再执行 `git add` / `git commit`:
|
||||
|
||||
- 用户明确要求:提交、commit、git commit、保存提交、push 前先 commit 等
|
||||
- 用户规则中的「committing-changes-with-git」流程已启动
|
||||
|
||||
**未获用户明确授权时,不得执行 commit。**
|
||||
|
||||
---
|
||||
|
||||
## Agent 代提交:标记规则(强制)
|
||||
|
||||
由 Cursor Agent 发起的提交,**必须**在 subject 前加 `[Ai]`:
|
||||
|
||||
```text
|
||||
[Ai] <type>(<scope>): <subject>
|
||||
|
||||
<body 可选:业务背景、影响范围、关联 Bug>
|
||||
```
|
||||
|
||||
- `type`:`feat` | `fix` | `refactor` | `style` | `perf` | `chore` | `docs` | `test` | `build` | `ci`
|
||||
- `scope`:模块/页面,如 `benefits`、`mine`、`community`、`player`
|
||||
- 可在正文末尾追加 trailer(可选):
|
||||
|
||||
```text
|
||||
Co-Authored-By: Cursor <noreply@cursor.com>
|
||||
```
|
||||
|
||||
用户本人手动提交、且明确说明「人工提交」时,建议使用 `[Human]`;Agent **不要**替用户假标 `[Human]`。
|
||||
|
||||
---
|
||||
|
||||
## Subject 质量(强制)
|
||||
|
||||
提交说明必须让人一眼看懂**改了什么业务**或**修了什么问题**。
|
||||
|
||||
### 必须做到
|
||||
|
||||
1. 先并行执行:`git status`、`git diff`(含 staged)、`git log -5 --oneline` 了解风格与变更范围
|
||||
2. subject 用**完整语义**描述,优先中文;可中英混用 scope
|
||||
3. 多文件、多模块时:一条 commit 只包同一业务目标;若混杂无关改动,先询问是否拆分
|
||||
4. body 写:原因、用户可见变化、风险点(如有)
|
||||
|
||||
### 严禁(subject 不得仅为或等同于)
|
||||
|
||||
`test`、`修改`、`update`、`fix`、`xxx`、`111`、`wip`、`temp`、`提交`、`save`、纯标点、纯数字、单字
|
||||
|
||||
### 示例
|
||||
|
||||
```text
|
||||
# ✅
|
||||
[Ai] feat(benefits): 新增七日签到弹窗与连续签到奖励展示
|
||||
[Ai] fix(player): 修复横屏切换后 HLS 首帧黑屏
|
||||
[Ai] refactor(mine): 签到任务列表抽离 useSignTask composable
|
||||
|
||||
# ❌
|
||||
[Ai] fix: 修改
|
||||
[Ai] feat: test
|
||||
修改播放器
|
||||
111
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 提交流程(与 user rule 对齐)
|
||||
|
||||
1. `git status` + `git diff` + `git log`(可并行)
|
||||
2. 根据 diff **撰写**符合本规范的 message(HEREDOC 传 `-m`)
|
||||
3. 只 `git add` 与本次任务相关的文件
|
||||
4. **不得**提交 `.env`、密钥、凭据类文件;若用户在 staged 中含此类文件,警告并排除
|
||||
5. `git commit` 后 `git status` 确认成功
|
||||
6. hook 失败时:**不要** `commit --amend`,修 message 后**新建 commit**
|
||||
7. **除非用户明确要求,否则不 `git push`**
|
||||
|
||||
---
|
||||
|
||||
## 输出给用户
|
||||
|
||||
提交完成后简要说明:
|
||||
|
||||
- commit hash(若有)
|
||||
- 本次纳入的文件范围
|
||||
- message 摘要(一行)
|
||||
|
||||
---
|
||||
|
||||
## 与本地 Hook / CI 的关系
|
||||
|
||||
本 skill 约束 **Agent 行为**。若仓库后续接入 `husky` + `commitlint` 或 CI,以仓库脚本校验为准;Agent 仍须预先满足 `[Ai]` 与 subject 质量,避免 hook 拒绝。
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
name: vue2-api-integration
|
||||
description: Use when implementing or debugging API integration in this Vue2 project, including request parameter mapping, response normalization, business error handling, auth expiry handling, and submit/list flow consistency.
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
# Vue2 API Integration
|
||||
|
||||
## 适用场景
|
||||
|
||||
- 新增或修改 `src/api/*.js` 接口方法
|
||||
- 页面查询、提交、删除、状态切换的接口联调
|
||||
- 线上/测试环境出现接口报错、数据格式不一致、权限失效
|
||||
|
||||
## 联调核心原则
|
||||
|
||||
- **一处定义接口**:请求方法统一维护在 `src/api`,页面层不写裸请求
|
||||
- **参数先整形再发送**:空值、时间范围、布尔值、数字类型先归一化
|
||||
- **响应做兜底**:列表、分页、详情都要有默认值,避免空指针
|
||||
- **错误统一反馈**:用户看得懂、可操作;开发可定位
|
||||
- **鉴权失效可恢复**:401/403 走统一处理,避免页面卡死
|
||||
|
||||
## 请求层约定
|
||||
|
||||
- GET 查询使用 `params`,POST/PUT 使用 `data`
|
||||
- 接口函数命名表达业务动作:`getXxxList`、`createXxx`、`updateXxx`
|
||||
- 同类接口保持参数结构一致,降低页面层分支逻辑
|
||||
|
||||
## 页面层约定
|
||||
|
||||
- 页面只做调用、状态切换、提示和数据映射
|
||||
- 所有异步方法都要有 `loading` 生命周期(开始/结束)
|
||||
- 提交类动作默认防重复:`submitLoading` 或按钮禁用
|
||||
- 删除/危险操作必须确认后调用
|
||||
|
||||
## 常见数据映射
|
||||
|
||||
- 时间区间:`[startTime, endTime]` 拆成后端需要字段
|
||||
- 开关状态:`true/false` 映射为后端约定值(如 `1/0`)
|
||||
- 数字输入:提交前转数字,避免 `"1"`/`1` 混用
|
||||
- 列表响应:`list`、`total` 必须有默认值
|
||||
|
||||
## 错误与鉴权处理
|
||||
|
||||
- 业务失败:提示明确失败原因,不吞错误
|
||||
- 网络异常:提示“网络异常,请稍后重试”
|
||||
- 401:提示登录失效并引导重新登录
|
||||
- 403:提示无权限并保持当前页面可回退
|
||||
- 异常分支必须收尾:关闭 loading、恢复按钮状态
|
||||
|
||||
## 推荐联调流程
|
||||
|
||||
1. 先确认接口文档字段和返回结构
|
||||
2. 在 `src/api` 定义/更新请求函数
|
||||
3. 页面接入并补齐参数整形与响应兜底
|
||||
4. 跑通成功路径(查询/提交)
|
||||
5. 验证失败路径(业务报错/网络异常/无权限)
|
||||
6. 执行 lint 或 test-build 确认无新增阻断问题
|
||||
|
||||
## 快速参考
|
||||
|
||||
- 示例代码:见 [examples.md](examples.md)
|
||||
- 联调检查表:见 [checklist.md](checklist.md)
|
||||
@@ -0,0 +1,30 @@
|
||||
# Checklist
|
||||
|
||||
## 接口定义检查
|
||||
|
||||
- [ ] 接口方法统一定义在 `src/api/*.js`
|
||||
- [ ] GET 使用 `params`,POST/PUT 使用 `data`
|
||||
- [ ] 方法名与业务动作匹配(get/create/update/delete)
|
||||
- [ ] 请求路径、method、参数字段与后端约定一致
|
||||
|
||||
## 页面联调检查
|
||||
|
||||
- [ ] 查询参数已整形(时间范围、布尔、数字、空值)
|
||||
- [ ] 列表响应有默认值(`list`、`total`)
|
||||
- [ ] 提交按钮有防重复(`submitLoading`/禁用)
|
||||
- [ ] 删除/危险动作有二次确认
|
||||
- [ ] 异常场景会关闭 loading 并提示用户
|
||||
|
||||
## 错误与权限检查
|
||||
|
||||
- [ ] 业务错误提示清晰,不吞异常
|
||||
- [ ] 网络异常提示可理解(可重试)
|
||||
- [ ] 401 有登录失效处理
|
||||
- [ ] 403 有无权限处理与回退路径
|
||||
|
||||
## 交付前检查
|
||||
|
||||
- [ ] 成功路径通过(查询/提交/删除)
|
||||
- [ ] 失败路径通过(业务失败/网络异常/权限失败)
|
||||
- [ ] 执行 `npm run lint` 或 `npm run test-build`
|
||||
- [ ] 不提交无关改动
|
||||
@@ -0,0 +1,78 @@
|
||||
# Examples
|
||||
|
||||
## API 方法定义示例
|
||||
|
||||
```js
|
||||
import request from "@/utils/request";
|
||||
|
||||
export function getCheckInList(params) {
|
||||
return request({
|
||||
url: "/signin/checkin/list",
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
}
|
||||
|
||||
export function saveCheckInConfig(data) {
|
||||
return request({
|
||||
url: "/signin/checkin/config/save",
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
## 查询参数整形示例
|
||||
|
||||
```js
|
||||
buildQueryParams() {
|
||||
const { dateRange, status, pageNum, pageSize, keyword } = this.queryForm;
|
||||
return {
|
||||
pageNum,
|
||||
pageSize,
|
||||
keyword: keyword ? keyword.trim() : "",
|
||||
status: typeof status === "boolean" ? (status ? 1 : 0) : status,
|
||||
startTime: dateRange && dateRange.length ? dateRange[0] : "",
|
||||
endTime: dateRange && dateRange.length ? dateRange[1] : ""
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
## 列表请求与兜底示例
|
||||
|
||||
```js
|
||||
async fetchList() {
|
||||
this.loading = true;
|
||||
try {
|
||||
const params = this.buildQueryParams();
|
||||
const res = await getCheckInList(params);
|
||||
const data = (res && res.data) || {};
|
||||
this.tableData = Array.isArray(data.list) ? data.list : [];
|
||||
this.total = Number(data.total || 0);
|
||||
} catch (e) {
|
||||
this.$message.error("列表加载失败,请稍后重试");
|
||||
} finally {
|
||||
this.loading = false;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 提交流程与防重复示例
|
||||
|
||||
```js
|
||||
async handleSubmit() {
|
||||
if (this.submitLoading) return;
|
||||
this.submitLoading = true;
|
||||
try {
|
||||
await this.$refs.formRef.validate();
|
||||
await saveCheckInConfig(this.formData);
|
||||
this.$message.success("保存成功");
|
||||
this.dialogVisible = false;
|
||||
this.fetchList();
|
||||
} catch (e) {
|
||||
this.$message.error("保存失败,请检查后重试");
|
||||
} finally {
|
||||
this.submitLoading = false;
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,70 @@
|
||||
---
|
||||
name: vue2-element-dev
|
||||
description: Use when implementing or modifying Vue2 + Element UI pages/components in this repository, especially for list pages, form dialogs, API integration, route/menu wiring, and pre-delivery checks.
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
# Vue2 Element Dev
|
||||
|
||||
## 适用场景
|
||||
|
||||
- 新增或修改 `src/views` 下的页面(列表、表单、弹窗)
|
||||
- 新增或修改 `src/components` 下的复用组件
|
||||
- 做接口联调、参数映射、提交与回显
|
||||
- 做路由接入、导航菜单接入、权限相关入口调整
|
||||
|
||||
## 项目默认约定(平衡型)
|
||||
|
||||
- **优先复用现有模式**:先参考同目录页面写法,再补差异
|
||||
- **命名可读**:页面目录、组件名、方法名优先语义化
|
||||
- **数据分层**:查询参数、表单数据、UI 状态分开管理
|
||||
- **接口调用单点化**:统一放到 `src/api/*.js`,页面仅做调用和状态处理
|
||||
- **样式就近维护**:页面样式写在组件内,避免全局污染
|
||||
|
||||
## 页面开发流程
|
||||
|
||||
1. 先找一个同类型页面作为参考(表格页/配置页/弹窗页)
|
||||
2. 搭出页面骨架:筛选区、操作区、表格区、分页区
|
||||
3. 补齐数据结构:`list`、`loading`、`query`、`pagination`
|
||||
4. 接入接口:查询、重置、增删改、状态切换
|
||||
5. 完成交互反馈:确认弹窗、成功提示、失败兜底
|
||||
6. 执行构建或 lint 验证,修复明显问题后再交付
|
||||
|
||||
## 推荐代码组织
|
||||
|
||||
- `data`
|
||||
- 查询模型:`queryForm`
|
||||
- 列表模型:`tableData`
|
||||
- 状态模型:`loading` / `dialogVisible` / `submitLoading`
|
||||
- `computed`
|
||||
- 放衍生值,不放有副作用逻辑
|
||||
- `methods`
|
||||
- `fetchList`:统一列表查询入口
|
||||
- `handleSearch` / `handleReset`
|
||||
- `handleAdd` / `handleEdit` / `handleDelete`
|
||||
- `handleSubmit`:表单提交统一出口
|
||||
|
||||
## 接口联调约定
|
||||
|
||||
- API 文件里维护请求函数,页面中只做调用
|
||||
- 参数透传前做必要整形(时间范围、数字布尔转换)
|
||||
- 提交前做前端必填校验;提交后统一提示
|
||||
- 失败场景要收敛:关闭 loading、保留用户输入、提示可理解信息
|
||||
|
||||
## 路由与菜单接入约定
|
||||
|
||||
- 新页面需要补路由入口与导航入口
|
||||
- 菜单文案与页面标题保持一致,避免多处命名不一致
|
||||
- 权限字段沿用现有规则,不自创新字段名
|
||||
|
||||
## 交付前最低检查
|
||||
|
||||
- 页面可正常进入,主流程可跑通(查、增/改、删)
|
||||
- 列表页分页/筛选联动正常
|
||||
- 弹窗表单可回显、可校验、可提交
|
||||
- 无明显控制台报错,构建或 lint 不出现新增阻断错误
|
||||
|
||||
## 快速参考
|
||||
|
||||
- 详细示例:见 [examples.md](examples.md)
|
||||
- 提交前清单:见 [checklist.md](checklist.md)
|
||||
@@ -0,0 +1,25 @@
|
||||
# Checklist
|
||||
|
||||
## 开发中检查
|
||||
|
||||
- [ ] 页面结构完整(筛选、表格、分页/操作区)
|
||||
- [ ] `loading` 状态在请求前后正确切换
|
||||
- [ ] 查询、重置、分页逻辑一致
|
||||
- [ ] 新增/编辑弹窗支持回显、校验、提交
|
||||
- [ ] 删除/状态切换有确认提示与成功反馈
|
||||
- [ ] API 参数字段与后端约定一致
|
||||
|
||||
## 接入检查
|
||||
|
||||
- [ ] 新页面路由已添加
|
||||
- [ ] 导航菜单已添加或已挂接
|
||||
- [ ] 页面标题、菜单名称、权限标识一致
|
||||
- [ ] 未破坏已有页面入口
|
||||
|
||||
## 交付前检查
|
||||
|
||||
- [ ] 至少执行一次 `npm run lint` 或 `npm run test-build`
|
||||
- [ ] 控制台无新增阻断错误
|
||||
- [ ] 主流程可复现(查、增/改、删)
|
||||
- [ ] 异常分支有兜底(失败提示、loading 关闭)
|
||||
- [ ] 仅提交与本需求相关改动
|
||||
@@ -0,0 +1,127 @@
|
||||
# Examples
|
||||
|
||||
## 列表页最小骨架(Vue2 + Element UI)
|
||||
|
||||
```vue
|
||||
<template>
|
||||
<div class="page-wrap">
|
||||
<el-form :inline="true" :model="queryForm">
|
||||
<el-form-item label="关键词">
|
||||
<el-input v-model="queryForm.keyword" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="handleSearch">查询</el-button>
|
||||
<el-button @click="handleReset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table :data="tableData" v-loading="loading" border>
|
||||
<el-table-column prop="id" label="ID" width="100" />
|
||||
<el-table-column prop="name" label="名称" min-width="160" />
|
||||
</el-table>
|
||||
|
||||
<el-pagination
|
||||
:current-page="queryForm.pageNum"
|
||||
:page-size="queryForm.pageSize"
|
||||
:total="total"
|
||||
layout="total, prev, pager, next"
|
||||
@current-change="handlePageChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getList } from "@/api/demo";
|
||||
|
||||
export default {
|
||||
name: "DemoList",
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
tableData: [],
|
||||
total: 0,
|
||||
queryForm: {
|
||||
keyword: "",
|
||||
pageNum: 1,
|
||||
pageSize: 20
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.fetchList();
|
||||
},
|
||||
methods: {
|
||||
async fetchList() {
|
||||
this.loading = true;
|
||||
try {
|
||||
const res = await getList(this.queryForm);
|
||||
this.tableData = res?.data?.list || [];
|
||||
this.total = res?.data?.total || 0;
|
||||
} finally {
|
||||
this.loading = false;
|
||||
}
|
||||
},
|
||||
handleSearch() {
|
||||
this.queryForm.pageNum = 1;
|
||||
this.fetchList();
|
||||
},
|
||||
handleReset() {
|
||||
this.queryForm.keyword = "";
|
||||
this.queryForm.pageNum = 1;
|
||||
this.fetchList();
|
||||
},
|
||||
handlePageChange(page) {
|
||||
this.queryForm.pageNum = page;
|
||||
this.fetchList();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
```
|
||||
|
||||
## API 文件示例
|
||||
|
||||
```js
|
||||
import request from "@/utils/request";
|
||||
|
||||
export function getList(params) {
|
||||
return request({
|
||||
url: "/api/demo/list",
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
}
|
||||
|
||||
export function createItem(data) {
|
||||
return request({
|
||||
url: "/api/demo/create",
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
## 表单弹窗处理示例
|
||||
|
||||
```js
|
||||
methods: {
|
||||
openDialog(row) {
|
||||
this.dialogVisible = true;
|
||||
this.formData = row
|
||||
? { id: row.id, name: row.name }
|
||||
: { id: "", name: "" };
|
||||
},
|
||||
async handleSubmit() {
|
||||
this.submitLoading = true;
|
||||
try {
|
||||
await this.$refs.formRef.validate();
|
||||
await createItem(this.formData);
|
||||
this.$message.success("保存成功");
|
||||
this.dialogVisible = false;
|
||||
this.fetchList();
|
||||
} finally {
|
||||
this.submitLoading = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,56 @@
|
||||
---
|
||||
name: vue2-route-permission
|
||||
description: Use when adding or modifying route/menu/permission access in this Vue2 admin project, including module router files, permissionRouter aggregation, sidebar visibility, and route metadata consistency.
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
# Vue2 Route Permission
|
||||
|
||||
## 适用场景
|
||||
|
||||
- 新增一个业务页面,需要接入菜单与路由
|
||||
- 新增一个模块路由文件并接入 `permissionRouter`
|
||||
- 调整页面可见性、菜单结构、入口名称
|
||||
- 排查“路由已写但菜单不显示 / 可见但不可访问”问题
|
||||
|
||||
## 本项目路由结构认知
|
||||
|
||||
- 模块路由拆分在 `src/router/*.js`(例如 `signin.js`)
|
||||
- 聚合路由在 `src/router/permissionRouter.js`
|
||||
- 侧边栏使用 `store.state.routerList` 渲染(见 `src/views/main/components/nav.vue`)
|
||||
|
||||
## 接入原则
|
||||
|
||||
- **单模块独立**:每个业务域维护自己的路由文件
|
||||
- **统一聚合出口**:模块路由必须在 `permissionRouter.js` 引入并加入数组
|
||||
- **元信息一致**:`title`、`meta.title`、`name`、`path` 保持语义一致
|
||||
- **层级清晰**:一级菜单挂在 `Main` 下,子页面在 `children`
|
||||
|
||||
## 新页面接入流程
|
||||
|
||||
1. 在 `src/views` 创建页面组件并命名清晰
|
||||
2. 在对应模块路由文件新增子路由(或新建模块路由文件)
|
||||
3. 设置基础字段:`path`、`name`、`title`、`meta.title`
|
||||
4. 需要缓存时补 `meta.keepAlive`
|
||||
5. 在 `permissionRouter.js` 引入并追加模块路由
|
||||
6. 验证菜单显示、点击跳转、激活状态、刷新后可访问
|
||||
|
||||
## 字段约定
|
||||
|
||||
- `path`:使用短横线风格,避免含糊缩写
|
||||
- `name`:驼峰命名,保持唯一
|
||||
- `title`:用于菜单与页面文案,避免同义不同字
|
||||
- `icon`:仅一级菜单使用,沿用 Element 图标
|
||||
- `meta.title`:与 `title` 保持一致,方便统一读取
|
||||
|
||||
## 常见问题处理
|
||||
|
||||
- **菜单不显示**:检查模块路由是否已加入 `permissionRouter` 聚合数组
|
||||
- **菜单显示但跳转异常**:检查 `path` 与组件导入是否正确
|
||||
- **激活态不正确**:检查路由跳转后 `activeRouter` 是否对应当前 `path`
|
||||
- **刷新丢失访问**:检查路由注册时机和权限数据初始化顺序
|
||||
|
||||
## 快速参考
|
||||
|
||||
- 接入示例:见 [examples.md](examples.md)
|
||||
- 自检清单:见 [checklist.md](checklist.md)
|
||||
@@ -0,0 +1,28 @@
|
||||
# Checklist
|
||||
|
||||
## 新增路由检查
|
||||
|
||||
- [ ] 页面组件已创建且导出正常
|
||||
- [ ] 模块路由文件中已添加对应子路由
|
||||
- [ ] 子路由包含 `path`、`name`、`title`、`meta.title`
|
||||
- [ ] `name` 唯一,`path` 可读且与业务语义一致
|
||||
|
||||
## 聚合与菜单检查
|
||||
|
||||
- [ ] 新模块路由已在 `permissionRouter.js` 引入
|
||||
- [ ] 已加入聚合数组并保持风格一致
|
||||
- [ ] 一级菜单 `title/icon` 设置合理
|
||||
- [ ] 侧边栏可见,点击可跳转
|
||||
|
||||
## 权限与体验检查
|
||||
|
||||
- [ ] 刷新页面后路由仍可访问
|
||||
- [ ] 无权限场景有明确反馈(如项目已有拦截逻辑)
|
||||
- [ ] 当前菜单激活态与页面路径一致
|
||||
- [ ] 页面标题与菜单文案一致
|
||||
|
||||
## 交付前检查
|
||||
|
||||
- [ ] 至少执行一次 `npm run lint` 或 `npm run test-build`
|
||||
- [ ] 无新增阻断报错
|
||||
- [ ] 仅提交与路由接入相关改动
|
||||
@@ -0,0 +1,65 @@
|
||||
# Examples
|
||||
|
||||
## 模块路由文件示例(`src/router/demo.js`)
|
||||
|
||||
```js
|
||||
import Main from "../views/main";
|
||||
import DemoList from "../views/demo/list";
|
||||
import DemoConfig from "../views/demo/config";
|
||||
|
||||
const DemoRouter = {
|
||||
path: "/demo",
|
||||
component: Main,
|
||||
title: "示例管理",
|
||||
icon: "el-icon-menu",
|
||||
meta: {
|
||||
keepAlive: true
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/demo-list",
|
||||
component: DemoList,
|
||||
name: "demoList",
|
||||
title: "示例列表",
|
||||
meta: {
|
||||
title: "示例列表",
|
||||
keepAlive: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/demo-config",
|
||||
component: DemoConfig,
|
||||
name: "demoConfig",
|
||||
title: "示例配置",
|
||||
meta: {
|
||||
title: "示例配置",
|
||||
keepAlive: true
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default DemoRouter;
|
||||
```
|
||||
|
||||
## 聚合接入示例(`src/router/permissionRouter.js`)
|
||||
|
||||
```js
|
||||
import DemoRouter from "./demo";
|
||||
|
||||
const authRouter = [
|
||||
// ...existing routers
|
||||
DemoRouter
|
||||
];
|
||||
|
||||
export default authRouter;
|
||||
```
|
||||
|
||||
## 路由排查最小步骤
|
||||
|
||||
```js
|
||||
// 1. 看 router 文件是否 export default
|
||||
// 2. 看 permissionRouter 是否 import + push
|
||||
// 3. 看 path/name/title/meta.title 是否齐全
|
||||
// 4. 看页面组件路径是否正确
|
||||
```
|
||||
@@ -0,0 +1,2 @@
|
||||
NODE_ENV = 'production'
|
||||
VUE_APP_TITLE = 'production'
|
||||
@@ -0,0 +1,21 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
@@ -0,0 +1 @@
|
||||
12
|
||||
@@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
'@vue/app'
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"name": "admin-server",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vue-cli-service serve",
|
||||
"build": "NODE_ENV=production vue-cli-service build",
|
||||
"test-build": "vue-cli-service build --mode test",
|
||||
"lint": "vue-cli-service lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"@liripeng/vue-audio-player": "1.1.1",
|
||||
"core-js": "^2.6.5",
|
||||
"dplayer": "^1.26.0",
|
||||
"echarts": "^4.5.0",
|
||||
"element-ui": "^2.15.8",
|
||||
"gif.js": "^0.2.0",
|
||||
"gifuct-js": "^2.1.2",
|
||||
"hls.js": "^1.0.0",
|
||||
"js-base64": "^2.5.2",
|
||||
"js-md5": "^0.7.3",
|
||||
"libphonenumber-js": "^1.7.48",
|
||||
"lodash": "^4.17.15",
|
||||
"moment": "^2.24.0",
|
||||
"qrcodejs2": "0.0.2",
|
||||
"spark-md5": "^3.0.1",
|
||||
"video.js": "^7.6.5",
|
||||
"videojs-contrib-hls": "^5.15.0",
|
||||
"vue": "^2.6.10",
|
||||
"vue-aplayer": "^1.6.1",
|
||||
"vue-count-to": "^1.0.13",
|
||||
"vue-router": "^3.0.3",
|
||||
"vue-simple-uploader": "^0.7.2",
|
||||
"vuex": "^3.0.1",
|
||||
"vuex-persistedstate": "^2.7.1",
|
||||
"wangeditor": "^4.6.12",
|
||||
"xlsx": "^0.15.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "^3.11.0",
|
||||
"@vue/cli-plugin-eslint": "^3.11.0",
|
||||
"@vue/cli-service": "^4.1.1",
|
||||
"axios": "^0.19.0",
|
||||
"babel-eslint": "^10.0.1",
|
||||
"compression-webpack-plugin": "^3.1.0",
|
||||
"eslint": "^5.16.0",
|
||||
"eslint-plugin-vue": "^5.0.0",
|
||||
"node-sass": "^4.9.0",
|
||||
"qs": "^6.9.0",
|
||||
"sass-loader": "^7.1.0",
|
||||
"vue-cropper": "^0.4.9",
|
||||
"vue-template-compiler": "^2.6.10"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"root": true,
|
||||
"env": {
|
||||
"node": true
|
||||
},
|
||||
"extends": [
|
||||
"plugin:vue/essential",
|
||||
"eslint:recommended"
|
||||
],
|
||||
"rules": {
|
||||
"no-console": "off",
|
||||
"no-debugger": "off",
|
||||
"no-restricted-syntax": [
|
||||
"error",
|
||||
{
|
||||
"selector": "CallExpression[callee.object.name='console'][callee.property.name!=/^(log|warn|error|info|trace)$/]",
|
||||
"message": "Unexpected property on console object was called"
|
||||
}
|
||||
]
|
||||
},
|
||||
"parserOptions": {
|
||||
"parser": "babel-eslint"
|
||||
}
|
||||
},
|
||||
"postcss": {
|
||||
"plugins": {
|
||||
"autoprefixer": {}
|
||||
}
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
"last 2 versions"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
# sh 执行打包到正式服上
|
||||
npm run build
|
||||
zip -q -r dist.zip dist
|
||||
scp dist.zip root@172.104.39.32:/tmp/dist.zip
|
||||
ssh root@172.104.39.32 "cd /server/hgmj/webadmin/dist/ && rm -rf ./* && unzip -q /tmp/dist.zip -d /tmp/extract && mv /tmp/extract/dist/* . && rm -rf /tmp/extract /tmp/dist.zip && echo DEPLOY_OK"
|
||||
rm dist.zip
|
||||
@@ -0,0 +1,162 @@
|
||||
---
|
||||
项目名称: 91短剧 管理后台客户端 # 与 DMP 或内部命名一致时请自行替换
|
||||
一级部门: 北斗 # 请填写一级部门名称
|
||||
二级部门: 瑞升 # 请填写二级部门名称,无则留空
|
||||
|
||||
DMP编码: JHA-214 # 无则留空
|
||||
|
||||
项目类型: PC
|
||||
# 可选值:
|
||||
# H5 / APP / PC / 服务 / 组件 / 工具 / AI / 中间件
|
||||
|
||||
开发语言: Node
|
||||
# 可选值:
|
||||
# GO / Java / PHP / Node
|
||||
|
||||
项目负责人: DN3634,DN8161 # 员工编号,多个用逗号隔开,这里的负责是这套代码的负责人
|
||||
|
||||
运维负责人: DN9460,DN9651,DN4792 # 负责部署、监控、K8S、发布、证书等
|
||||
|
||||
产品负责人: YY1145,YY1208 # 项目产品经理
|
||||
|
||||
项目成员: DN3634,DN8161
|
||||
|
||||
项目状态: 开发中
|
||||
# 可选值:
|
||||
# 开发中 / 维护中 / 已停止 / 已归档
|
||||
|
||||
项目级别: 中
|
||||
# 可选值:
|
||||
# 高 / 中 / 低
|
||||
|
||||
核心分支: main
|
||||
|
||||
代码仓库:
|
||||
- https://bd-git.jsyyds.com/ruisheng/jha-214-91/frontend/91dj-admin-client
|
||||
|
||||
最后审计人:
|
||||
|
||||
最后审计时间:
|
||||
|
||||
告警群:
|
||||
|
||||
备注:
|
||||
- `package.json` 中 `name` 为 `admin-server`,仓库/目录名为 `91dj-admin-client`。
|
||||
- 业务 API 根路径由 **`src/utils/serverUrlConfig.js`** 中的 **`baseServerUrl`** 决定,与 **`NODE_ENV`**、**`VUE_APP_TITLE`**(见 `.env.build` / `.env.test` 等)组合有关;请勿将含密钥、内网或未脱敏的生产地址对外发布。
|
||||
---
|
||||
|
||||
# 1. 项目说明
|
||||
|
||||
本仓库为面向 **桌面浏览器** 的 **Vue 2 + Vue CLI + Webpack** 单页 **管理后台**,UI 基于 **Element UI 2**,状态管理为 **Vuex 3**(`vuex-persistedstate` 在依赖中,当前 `src/stroe/index.js` 内持久化插件为注释状态),路由为 **Vue Router 3**,模式为 **`hash`**(见 `src/router/index.js`)。入口为 **`src/main.js`**,挂载 Vuex、Router、Element、全局组件/过滤器、**LoginPlugin**、分片上传与音频播放等插件;全局路由守卫见 **`src/permission.js`**(登录态、权限路由刷新、多页签相关 store 动作)。
|
||||
|
||||
动态业务路由由 **`src/router/permissionRouter.js`** 聚合各业务子路由文件(如 `activity.js`、`user` 相关、`cinema.js` 等),经 **`src/stroe/actions.js`** 中 `refreshRouter` 与用户 **`localStorage` 中的 `role`** 做 **`recursionRouter`** 过滤后注入 **`/main`** 子路由;基础白名单路由见 **`src/router/baseRouter.js`**(登录、`/main` 下欢迎页与角色页等)。
|
||||
|
||||
业务页面在 **`src/views/`** 下按模块划分,示例包括:**用户**(`user`)、**视频/媒资**(`videoManagement`、`mediaLibrary`、`lsjMediaLibrary`)、**影院**(`cinemaManagement`)、**渠道与落地**(`channelManagement`、`channelBackground`、`landManagement`)、**活动/签到/产品/交易**(`activityManagement`、`signinManagement`、`productManagement`、`transactionManagement`)、**代理与区县**(`agentManagement`、`agentDistrictProvider`)、**AI / ACG / 小说**(`aiManagement`、`animationManage`、`fiction`)、**统计与系统**(`statistics`、`systemManagement`、`systemMessage`、`administrators`)等;接口封装在 **`src/api/`**,按域拆分为多个 `.js` 文件,请求统一走 **`src/utils/request.js`** 封装的 **`axios`** 实例。
|
||||
|
||||
**技术栈要点:**
|
||||
|
||||
- 构建:**Vue CLI 4**(`vue-cli-service`),生产可选 **compression-webpack-plugin** 对 js/css/html/mp4 等做 gzip(见 `vue.config.js`);**`publicPath: './'`**,适合静态目录或相对路径部署。
|
||||
- 样式:**node-sass** + **sass-loader**,通过 `vue.config.js` 的 `css.loaderOptions.sass.data` 向各组件注入 **`@/assets/scss/base.scss`**;Element 主题变量见 **`src/assets/scss/element-variables.scss`**。
|
||||
- 网络:**axios**(`baseURL` 在实例中空字符串,真实前缀在 `request.js` 的 `ajax` 内拼接 **`config.baseServerUrl`**),**Authorization** 头、**refresh-authorization** 触发的 token 刷新与请求队列、`code === 1003` 时登出确认等逻辑均在 **`src/utils/request.js`**。
|
||||
- 媒体与编辑:**video.js**、**hls.js**、**dplayer**、**wangeditor**、**vue-cropper**、**vue-simple-uploader**、**echarts** 等。
|
||||
- 其他:**lodash**、**moment**、**js-md5** / **spark-md5**、**xlsx**、**qrcodejs2** 等。
|
||||
|
||||
**Node 版本:** 仓库 `README.md` 建议使用 **12.18.1**。
|
||||
|
||||
**常用脚本(`package.json`):**
|
||||
|
||||
| 命令 | 说明 |
|
||||
|------|------|
|
||||
| `npm run dev` | 本地开发(`vue-cli-service serve`) |
|
||||
| `npm run build` | 生产构建(`NODE_ENV=production vue-cli-service build`,默认读取项目根目录 `.env` 系列中变量) |
|
||||
| `npm run test-build` | 测试环境构建(`--mode test`,配合 `.env.test` 等) |
|
||||
| `npm run lint` | ESLint(`vue-cli-service lint`) |
|
||||
|
||||
**开发环境代理:** 当前 `vue.config.js` 未配置 `devServer.proxy`;本地联调后端地址主要在 **`serverUrlConfig.js`** 中维护(以文件内实际配置为准)。
|
||||
|
||||
**项目目录结构(核心):**
|
||||
|
||||
```
|
||||
91pron-admin-client/
|
||||
├── public/
|
||||
├── src/
|
||||
│ ├── main.js # 入口:Vuex、Router、Element、插件、permission
|
||||
│ ├── App.vue
|
||||
│ ├── permission.js # 路由守卫:登录、动态路由刷新、页签状态
|
||||
│ ├── router/
|
||||
│ │ ├── index.js # Router(hash)
|
||||
│ │ ├── baseRouter.js # 登录 / main / welcome / role
|
||||
│ │ ├── permissionRouter.js # 全量业务子路由聚合
|
||||
│ │ └── *.js # 各业务模块路由片段
|
||||
│ ├── stroe/ # Vuex(目录名为 stroe,非 store)
|
||||
│ ├── views/ # 管理端各业务页面
|
||||
│ ├── api/ # 接口方法(按域拆分 .js)
|
||||
│ ├── components/ # 通用组件
|
||||
│ ├── utils/ # request、serverUrlConfig、过滤器、全局方法等
|
||||
│ ├── plugins/ # 如 LoginPlugin
|
||||
│ └── assets/ # scss、图片等
|
||||
├── vue.config.js
|
||||
├── prod_build.sh # 示例打包/发布脚本(环境差异大,使用前请内部确认)
|
||||
└── project.md # 本文件
|
||||
```
|
||||
|
||||
**接口基址:**
|
||||
|
||||
- 详见 **`src/utils/serverUrlConfig.js`**:根据 **`NODE_ENV`** 与 **`VUE_APP_TITLE`** 切换 **`baseServerUrl`**(例如生产构建下相对路径 **`/api/web/admin`** 与测试包差异);**`playVideoUrl` / `imgUrl` / `downLoadUrl`** 等同文件内字段用于播放与资源地址拼接。
|
||||
- 静态部署若使用相对 **`/api/web/admin`**,需由 **网关 / Nginx** 将浏览器同源下的路径转发到实际管理端后端。
|
||||
|
||||
---
|
||||
|
||||
# 2. 基础设施与中间件
|
||||
|
||||
本仓库为 **纯前端工程**,不内置后端;运行时依赖:
|
||||
|
||||
- **业务 API**:由 `serverUrlConfig.js` 的 **`baseServerUrl`** 决定;部署时需保证管理端 **API 反代** 与 HTTPS 策略一致。
|
||||
- **静态资源托管**:`build` / `test-build` 产物在 **`dist/`**,由 Web 服务器或 CDN 提供;当前为 **hash 路由**,服务器层面对路径回退要求通常低于 history 模式,但仍需正确配置 **`publicPath`** 与资源根路径。
|
||||
- **媒体、图片与下载域名**:见 `serverUrlConfig` 与接口返回(勿在文档中粘贴未脱敏的内网或密钥配置)。
|
||||
|
||||
---
|
||||
|
||||
# 3. 运维部署
|
||||
|
||||
**构建产物:** 执行 `npm run build` 或 `npm run test-build` 后,在 **`dist/`** 生成静态资源;生产构建可能生成 gzip 压缩产物(见 `vue.config.js` 插件配置)。
|
||||
|
||||
**推荐发布流程(示例):**
|
||||
|
||||
1. 使用约定 **Node** 版本安装依赖:`npm ci` 或 `npm install`。
|
||||
2. 确认 **`.env.*`** 或构建 **mode** 下 **`VUE_APP_TITLE`** 等与 **`serverUrlConfig.js`** 逻辑一致。
|
||||
3. 执行 `npm run build` 或 `npm run test-build`。
|
||||
4. 将 **`dist/`** 同步至静态服务器;确认 **API 反代** 与 **`publicPath: './'`** 的访问路径一致。
|
||||
5. 仓库内 **`prod_build.sh`** 为示例流程,**主机与路径以实际运维规范为准**,避免泄露账号与内网信息。
|
||||
|
||||
**环境变量说明(摘录,完整以实际 `.env.*` 与构建命令为准):**
|
||||
|
||||
| 变量 | 作用 |
|
||||
|------|------|
|
||||
| `NODE_ENV` | 构建/运行环境标识 |
|
||||
| `VUE_APP_TITLE` | 与 `serverUrlConfig.js` 中测试/生产基址分支等逻辑配合(见 `.env.build`、`.env.test`) |
|
||||
|
||||
---
|
||||
|
||||
# 4. 风险说明
|
||||
|
||||
- **强依赖后端与反代**:`baseServerUrl` 或网关配置错误会导致 **整站接口不可用**。
|
||||
- **登录与权限**:`permission.js` 依赖 **`localStorage`** 中 `userInfo`、`role` 与 Vuex **`routerList`** 刷新逻辑,权限数据异常可能导致无法进入业务页或反复刷新路由。
|
||||
- **Token 刷新**:`request.js` 中刷新队列与 **1003** 等业务码处理与后端约定强相关,变更需联调。
|
||||
- **配置敏感信息**:联调用的完整域名、内网 IP 等 **勿提交到公开仓库**;依赖锁定文件建议纳入审计流程。
|
||||
- **目录命名**:Vuex 目录为 **`stroe`**,新人接手时注意路径与导入,避免误认为缺失 `store`。
|
||||
|
||||
---
|
||||
|
||||
# 5. 历史事故(可选)
|
||||
|
||||
- 暂无(请运维/研发后续补充)
|
||||
|
||||
---
|
||||
|
||||
# 6. 交接说明(可选)
|
||||
|
||||
- 路由与权限核心在 **`src/permission.js`**、**`src/stroe/actions.js`** 的 **`refreshRouter`**、**`src/router/permissionRouter.js`** 及各 **`src/router/*.js`**;新增菜单需在权限路由与后端角色配置侧同步。
|
||||
- 用户信息、标签页等多与 **`src/stroe/`** 及 **`localStorage`** 配合;业务请求请统一走 **`src/utils/request.js`**,避免散落裸 **`axios`**。
|
||||
- 接口目录:**`src/api/`**。
|
||||
- **请勿将含密钥、生产内网地址的环境文件或未脱敏脚本提交至对外可见仓库**;YAML 头部元数据若与真实组织不一致,请在内部系统中核对后修改。
|
||||
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 124 KiB |
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<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" />
|
||||
<link rel="icon" href="<%= BASE_URL %>icon.ico" />
|
||||
<title>91短剧后台管理系统</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- <script src="https://cdn.bootcss.com/vue/2.6.10/vue.runtime.min.js"></script> -->
|
||||
<!-- <script src="https://cdn.bootcss.com/vue-router/3.0.2/vue-router.min.js"></script>
|
||||
<script src="https://cdn.bootcss.com/vuex/3.1.0/vuex.min.js"></script>
|
||||
<script src="https://cdn.bootcss.com/axios/0.18.0/axios.min.js"></script>
|
||||
<script src="https://cdn.bootcss.com/mint-ui/2.2.13/index.js"></script> -->
|
||||
<noscript>
|
||||
<strong>We're sorry but admin-server 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>
|
||||
@@ -0,0 +1,2 @@
|
||||
User-agent: *
|
||||
Disallow: /
|
||||
@@ -0,0 +1,37 @@
|
||||
<template>
|
||||
<div id="app">
|
||||
<keep-alive v-if="isLoggedIn">
|
||||
<router-view v-if="$route.meta.keepAlive" style="min-height:100%"></router-view>
|
||||
</keep-alive>
|
||||
<router-view v-if="!$route.meta.keepAlive ||!isLoggedIn" style="min-height:100%"></router-view>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import local from "./utils/localStroage.js";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
isLoggedIn: false
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
$route(to, from) {
|
||||
// if the route changes...
|
||||
let token = local.get("userInfo") ? local.get("userInfo").token : "";
|
||||
this.isLoggedIn = token ? true : false;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
#app {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
font-family: "Avenir", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -0,0 +1,439 @@
|
||||
import ajax from "../utils/request";
|
||||
const activeApi = {
|
||||
/********************************活动列表*********************************** */
|
||||
// 活动列表
|
||||
getWebActivity(params) {
|
||||
return ajax({
|
||||
url: "/activity",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增活动
|
||||
addWebActivity(params) {
|
||||
return ajax({
|
||||
url: "/activity",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
//编辑活动
|
||||
editWebActive(params) {
|
||||
return ajax({
|
||||
url: "/activity",
|
||||
type: "put",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/********************************新版活动列表*********************************** */
|
||||
// 活动列表
|
||||
getActivity(params) {
|
||||
return ajax({
|
||||
url: "/actv/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增活动
|
||||
addActivity(params) {
|
||||
return ajax({
|
||||
url: "/actv/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
//编辑活动
|
||||
editActive(params) {
|
||||
return ajax({
|
||||
url: "/actv/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/********************************一次活动列表*********************************** */
|
||||
// 活动列表
|
||||
getOneActivity(params) {
|
||||
return ajax({
|
||||
url: "/task/once/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增活动
|
||||
addOneActivity(params) {
|
||||
return ajax({
|
||||
url: "/task/once/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
//编辑活动
|
||||
editOneActive(params) {
|
||||
return ajax({
|
||||
url: "/task/once/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************每日活动列表*********************************** */
|
||||
// 活动列表
|
||||
getDailyActivity(params) {
|
||||
return ajax({
|
||||
url: "/task/daily/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增活动
|
||||
addDailyActivity(params) {
|
||||
return ajax({
|
||||
url: "/task/daily/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
//编辑活动
|
||||
editDailyActive(params) {
|
||||
return ajax({
|
||||
url: "/task/daily/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************成长活动任务列表*********************************** */
|
||||
// 活动列表
|
||||
getGrowthList(params) {
|
||||
return ajax({
|
||||
url: "/task/growth/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增活动
|
||||
addGrowthActivity(params) {
|
||||
return ajax({
|
||||
url: "/task/growth/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
//编辑活动
|
||||
editGrowthActive(params) {
|
||||
return ajax({
|
||||
url: "/task/growth/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************活动奖品列表*********************************** */
|
||||
//获取奖品
|
||||
getWebPrice(params) {
|
||||
return ajax({
|
||||
url: "/activity/prize",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//新增奖品
|
||||
addWebPrice(params) {
|
||||
return ajax({
|
||||
url: "/activity/prize",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//修改奖品
|
||||
editWebPrice(params) {
|
||||
return ajax(
|
||||
{
|
||||
url: "/activity/prize",
|
||||
type: "put",
|
||||
params: params,
|
||||
},
|
||||
true
|
||||
);
|
||||
},
|
||||
//获取活动ID
|
||||
getActiveityId(params) {
|
||||
return ajax({
|
||||
url: "/activity/box",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//获取会员卡ID
|
||||
getVipcardId(params) {
|
||||
return ajax({
|
||||
url: "/activity/prize/vipBox",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/********************************奖池*********************************** */
|
||||
// 获取奖池
|
||||
getPrizePool(params) {
|
||||
return ajax({
|
||||
url: "/activity/prizePool",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增奖池
|
||||
addPrizePool(params) {
|
||||
return ajax({
|
||||
url: "/activity/prizePool",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改奖池
|
||||
editPrizePool(params) {
|
||||
return ajax({
|
||||
url: "/activity/prizePool",
|
||||
type: "put",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/********************************奖池*********************************** */
|
||||
|
||||
/********************************活动奖品列表*********************************** */
|
||||
/**
|
||||
* 奖品列表
|
||||
* @param {object} [params] - 需要的参数
|
||||
* @param {string} [params.actID] - 活动id
|
||||
* @param {number} [params.pageNumber] - 页码【从1开始计数】
|
||||
* @param {number} [params.pageSize] - 每页显示的条数【从1开始计数】
|
||||
*/
|
||||
getActivityPrize(params) {
|
||||
return ajax({
|
||||
url: "/activity/reward/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 新增奖品
|
||||
* @param {object} [params] - 需要的参数
|
||||
* @param {string} [params.actID] - 活动id
|
||||
* @param {number} [params.pageNumber] - 页码【从1开始计数】
|
||||
* @param {number} [params.pageSize] - 每页显示的条数【从1开始计数】
|
||||
*/
|
||||
addActivityPrize(params) {
|
||||
return ajax({
|
||||
url: "/activity/reward/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 编辑奖品
|
||||
* @param {object} [params] - 需要的参数
|
||||
* @param {string} [params.actID] - 活动id
|
||||
* @param {number} [params.pageNumber] - 页码【从1开始计数】
|
||||
* @param {number} [params.pageSize] - 每页显示的条数【从1开始计数】
|
||||
*/
|
||||
editActivityPrize(params) {
|
||||
return ajax({
|
||||
url: "/activity/reward/modify",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************兑换码列表*********************************** */
|
||||
// 兑换码列表
|
||||
redemptionCodeList(params) {
|
||||
return ajax({
|
||||
url: "/exchange/code/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加兑换码
|
||||
addCode(params) {
|
||||
return ajax({
|
||||
url: "/exchange/code/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改兑换码
|
||||
editCode(params) {
|
||||
return ajax({
|
||||
url: "/exchange/code/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除兑换码
|
||||
delCode(params) {
|
||||
return ajax({
|
||||
url: "/exchange/code/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************兑换码兑换日志*********************************** */
|
||||
redemptionLogList(params) {
|
||||
return ajax({
|
||||
url: "/exchange/log/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/********************************获奖记录列表(嫩模活动)*********************************** */
|
||||
|
||||
//添加获奖记录列表
|
||||
addWinRecord(params) {
|
||||
return ajax({
|
||||
url: "/newactivity/addWinRecord",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
//导入所有嫩模
|
||||
importModels(params) {
|
||||
return ajax({
|
||||
url: "/newactivity/importModels",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
//写入参数活动人数
|
||||
updateJoinNum(params) {
|
||||
return ajax({
|
||||
url: "/newactivity/updateJoinNum",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//
|
||||
// 嫩模获奖记录
|
||||
winRecordPage(params) {
|
||||
return ajax({
|
||||
url: "/newactivity/winRecordPage",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/********************************购买列表*********************************** */
|
||||
|
||||
//购买列表
|
||||
buyPage(params) {
|
||||
return ajax({
|
||||
url: "/newactivity/buyPage",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/******************************** 摇奖号列表*********************************** */
|
||||
|
||||
//请求列表
|
||||
getLottery(params) {
|
||||
return ajax({
|
||||
url: "/lottnum/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/********************************兑换码类型*********************************** */
|
||||
// 兑换码类型列表
|
||||
// redemptionTypeList(params) {
|
||||
// return ajax({
|
||||
// url: '/exchange/type/list',
|
||||
// type: 'get',
|
||||
// params: params
|
||||
// })
|
||||
// },
|
||||
// // 添加兑换码类型
|
||||
// addType(params) {
|
||||
// return ajax({
|
||||
// url: '/exchange/type/add',
|
||||
// type: 'post',
|
||||
// params: params
|
||||
// })
|
||||
// },
|
||||
// // 删除兑换码类型
|
||||
// delType(params) {
|
||||
// return ajax({
|
||||
// url: '/exchange/type/del',
|
||||
// type: 'delete',
|
||||
// params: params
|
||||
// })
|
||||
// },
|
||||
// // 修改兑换码类型
|
||||
// editType(params) {
|
||||
// return ajax({
|
||||
// url: '/exchange/type/update',
|
||||
// type: 'post',
|
||||
// params: params
|
||||
// })
|
||||
// }
|
||||
/** ********************楼凤列表************************* */
|
||||
// 获取楼凤列表
|
||||
getLouFengList(params) {
|
||||
return ajax({
|
||||
url: "/loufeng/list",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增
|
||||
addLoufeng(params) {
|
||||
return ajax({
|
||||
url: "/loufeng/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改
|
||||
updateLoufeng(params) {
|
||||
return ajax({
|
||||
url: "/loufeng/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除
|
||||
deleteLoufeng(params) {
|
||||
return ajax({
|
||||
url: "/loufeng/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/** **************砸蛋活动流水********************* */
|
||||
// 获取砸蛋活动流水
|
||||
getWinRecord(params) {
|
||||
return ajax({
|
||||
url: "/activity/record",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取奖品名字列表
|
||||
getPrizeNames(params) {
|
||||
return ajax({
|
||||
url: "/sge/winRecord/prizeNames",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export default activeApi;
|
||||
@@ -0,0 +1,32 @@
|
||||
import ajax from "../utils/request";
|
||||
const actressApi = {
|
||||
/********************************活动列表*********************************** */
|
||||
// 女优列表
|
||||
queryActressList(params) {
|
||||
return ajax({
|
||||
url: "/actor/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增女优
|
||||
addActress(params) {
|
||||
return ajax({
|
||||
url: "/actor/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
//编辑女优
|
||||
editActress(params) {
|
||||
return ajax({
|
||||
url: "/actor/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default actressApi;
|
||||
@@ -0,0 +1,53 @@
|
||||
import ajax from '../utils/request';
|
||||
const admApi = {
|
||||
/********************************系统管理*********************************** */
|
||||
// 添加管理员
|
||||
addAdm(params) {
|
||||
return ajax({
|
||||
url: '/manage/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 请求管理员列表
|
||||
getAdmList(params) {
|
||||
return ajax({
|
||||
url: '/manage/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 修改权限
|
||||
updateAdm(params) {
|
||||
return ajax({
|
||||
url: '/manage/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 删除权限
|
||||
delAdm(params) {
|
||||
return ajax({
|
||||
url: '/manage/del',
|
||||
type: 'delete',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 请求管理员日志
|
||||
getAdminLog(params) {
|
||||
return ajax({
|
||||
url: '/log/operator',
|
||||
type: 'get',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 编辑管理员操作日志
|
||||
editAdminLog(params) {
|
||||
return ajax({
|
||||
url: '/log/operator/modify',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
};
|
||||
export default admApi;
|
||||
@@ -0,0 +1,79 @@
|
||||
import ajax from '../utils/request'
|
||||
const adsApi = {
|
||||
/********************************广告管理*********************************** */
|
||||
// 请求广告列表
|
||||
getAdList(params) {
|
||||
return ajax({
|
||||
url: '/ads/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增广告
|
||||
addAds(params) {
|
||||
return ajax({
|
||||
url: '/ads/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑广告
|
||||
editAds(params) {
|
||||
return ajax({
|
||||
url: '/ads/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除广告
|
||||
delAds(params) {
|
||||
return ajax({
|
||||
url: '/ads/del',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 请求点击日志列表
|
||||
getClickLog(params) {
|
||||
return ajax({
|
||||
url: '/log/ads',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/********************************公告管理*********************************** */
|
||||
// 请求公告列表
|
||||
getAnnouList(params) {
|
||||
return ajax({
|
||||
url: '/annou/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增公告
|
||||
addAnnou(params) {
|
||||
return ajax({
|
||||
url: '/annou/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑公告
|
||||
editAnnou(params) {
|
||||
return ajax({
|
||||
url: '/annou/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除公告
|
||||
delAnnou(params) {
|
||||
return ajax({
|
||||
url: '/annou/del',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
|
||||
}
|
||||
export default adsApi
|
||||
@@ -0,0 +1,260 @@
|
||||
import ajax from "../utils/request";
|
||||
|
||||
const angentDistrictApi = {
|
||||
/*************************代理列表*************************/
|
||||
// 获取商区代理列表 or 下级代理 (共用接口,传参数不同)
|
||||
getDistrictList(params) {
|
||||
return ajax({
|
||||
url: "/district/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增商区代理
|
||||
addDistrict(params) {
|
||||
return ajax({
|
||||
url: "/district/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
//编辑---修改基础数据
|
||||
updateBase(params) {
|
||||
return ajax({
|
||||
url: "/district/update/update/base",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//编辑---修改充值配置
|
||||
updateDedRecharge(params) {
|
||||
return ajax({
|
||||
url: "/district/update/update/dedRecharge",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//编辑---修改用户配置
|
||||
updateDedNewUser(params) {
|
||||
return ajax({
|
||||
url: "/district/update/update/dedNewUser",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//编辑---修改落地页配置
|
||||
updateLandPage(params) {
|
||||
return ajax({
|
||||
url: "/district/update/update/ldy",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// // 编辑商区代理
|
||||
// updateDistrict(params) {
|
||||
// return ajax({
|
||||
// url: "/district/update",
|
||||
// type: "post",
|
||||
// params: params,
|
||||
// });
|
||||
// },
|
||||
|
||||
// 删除商区代理
|
||||
delDistrict(params) {
|
||||
return ajax({
|
||||
url: "/district/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/*** 禁用 */
|
||||
disDistrict(params) {
|
||||
return ajax({
|
||||
url: "/district/disable",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/*** 购买记录 */
|
||||
getPayHisList(params) {
|
||||
return ajax({
|
||||
url: "/district/agent/trans/BuyVip/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/** 每日统计 */
|
||||
getStatDailyList(params) {
|
||||
return ajax({
|
||||
url: "/district/agent/stat/daily/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/** 结算账单*/
|
||||
getStatSettlementList(params) {
|
||||
return ajax({
|
||||
url: "/district/agent/bill/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 提现记录
|
||||
getWithdrawLists(params) {
|
||||
return ajax({
|
||||
url: "/district/agent/order/withdraw/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 充值记录
|
||||
getRechargeList(params) {
|
||||
return ajax({
|
||||
url: "/district/agent/order/recharge/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//编辑--扣用户
|
||||
handleNewUserAnalysis(params) {
|
||||
return ajax({
|
||||
url: "/district/deduct/newUser/analysis",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
//编辑--扣充值
|
||||
handleRechargeAnalysis(params) {
|
||||
return ajax({
|
||||
url: "/district/deduct/recharge/analysis",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
//下级代理--添加
|
||||
addSubAgent(params) {
|
||||
return ajax({
|
||||
url: "/district/agent/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/************************* 代理权限*************************/
|
||||
//获取权限列表
|
||||
getRoleList(params) {
|
||||
return ajax({
|
||||
url: "/district/author/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增权限列表
|
||||
addRole(params) {
|
||||
return ajax({
|
||||
url: "/district/author/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改权限列表
|
||||
updateRole(params) {
|
||||
return ajax({
|
||||
url: "/district/author/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除权限列表
|
||||
deleteRole(params) {
|
||||
return ajax({
|
||||
url: "/district/author/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 克隆权限
|
||||
clone(params) {
|
||||
return ajax({
|
||||
url: "/district/author/cloneToChild",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/************************* 每日报表*************************/
|
||||
// 获取每日报表列表
|
||||
getDailyList(params) {
|
||||
return ajax({
|
||||
url: "/district/agent/report/daily/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/************************* 每日报表*************************/
|
||||
// 获取每日报表列表
|
||||
getMonthlyList(params) {
|
||||
return ajax({
|
||||
url: "/district/agent/report/monthly/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/************************* 域名列表*************************/
|
||||
// 获取域名表列表
|
||||
getDomainList(params) {
|
||||
return ajax({
|
||||
url: "/district/domain/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改域名
|
||||
updateDomain(params) {
|
||||
return ajax({
|
||||
url: "/district/domain/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除域名
|
||||
delDomain(params) {
|
||||
return ajax({
|
||||
url: "/district/domain/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//添加域名
|
||||
addDomain(params) {
|
||||
return ajax({
|
||||
url: "/district/domain/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/*********************广告审核**************************/
|
||||
// 请求广告审核列表
|
||||
getAdReviewList(params) {
|
||||
return ajax({
|
||||
url: "/district/ad/review/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//广告审核
|
||||
AdReview(params) {
|
||||
return ajax({
|
||||
url: "/district/ad/review/check",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export default angentDistrictApi;
|
||||
@@ -0,0 +1,230 @@
|
||||
import ajax from "../utils/request";
|
||||
const voteApi = {
|
||||
/********************************AI交易列表*********************************** */
|
||||
// 请求AI交易列表
|
||||
getAiTransList(params) {
|
||||
return ajax({
|
||||
url: "/ai/undress/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// AI交易审核
|
||||
aiTransExamine(params) {
|
||||
return ajax({
|
||||
url: "/ai/undress/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// AI交易自动处理
|
||||
aiTransAuto(params) {
|
||||
return ajax({
|
||||
url: "/ai/undress/auto",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// AI交易批量自动处理
|
||||
aiTransBatchAuto(params) {
|
||||
return ajax({
|
||||
url: "/ai/undress/auto/batch",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************AI图片换脸交易列表*********************************** */
|
||||
// 请求AI图片换脸交易列表
|
||||
getAiImgTransList(params) {
|
||||
return ajax({
|
||||
url: "/ai/change_face_img/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// AI图片换脸交易审核
|
||||
aiImgTransExamine(params) {
|
||||
return ajax({
|
||||
url: "/ai/change_face_img/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************AI换脸模版*********************************** */
|
||||
// 获取AI换脸模版列表
|
||||
getChangeFaceModList(params) {
|
||||
return ajax({
|
||||
url: "/ai/changeface/mod/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加AI换脸模版
|
||||
addChangeFaceMod(params) {
|
||||
return ajax({
|
||||
url: "/ai/changeface/mod/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改AI换脸模版
|
||||
updateChangeFaceMod(params) {
|
||||
return ajax(
|
||||
{
|
||||
url: "/ai/changeface/mod/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
},
|
||||
true
|
||||
);
|
||||
},
|
||||
// 获取AI换脸交易列表
|
||||
getChangeFaceList(params) {
|
||||
return ajax({
|
||||
url: "/ai/changeface/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑AI换脸交易列表
|
||||
updChangeFaceList(params) {
|
||||
return ajax({
|
||||
url: "/ai/changeface/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 给用户添加AI换脸折扣券
|
||||
addUserAiChangeFaceDiscount(params) {
|
||||
return ajax({
|
||||
url: "/user/generate/aiChangeFaceDiscount",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 查询AI换脸折扣券奖品列表
|
||||
getAiChangeFaceDiscountList() {
|
||||
return ajax({
|
||||
url: "/user/gainAiPrize",
|
||||
type: "get",
|
||||
});
|
||||
},
|
||||
/********************************AI模块列表*********************************** */
|
||||
getTemplateList(params) {
|
||||
return ajax({
|
||||
url: "/ai_template_module/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
addTemplate(params) {
|
||||
return ajax({
|
||||
url: "/ai_template_module/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
updateTemplate(params) {
|
||||
return ajax({
|
||||
url: "/ai_template_module/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
deleteTemplate(params) {
|
||||
return ajax({
|
||||
url: "/ai_template_module/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
getTemplateAll() {
|
||||
return ajax({
|
||||
url: "/ai_template_module/all",
|
||||
type: "get",
|
||||
});
|
||||
},
|
||||
setTemplateAll(params) {
|
||||
return ajax({
|
||||
url: "/ai/changeface/mod/batch/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************AI广场列表*********************************** */
|
||||
geTaiplazaList(params) {
|
||||
return ajax({
|
||||
url: "/aiplaza/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
createAiplaza(params) {
|
||||
return ajax({
|
||||
url: "/aiplaza/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
updateAiplaza(params) {
|
||||
return ajax({
|
||||
url: "/aiplaza/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 批量修改
|
||||
updateBatchAiplaza(params) {
|
||||
return ajax({
|
||||
url: "/aiplaza/batch/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
deleteAiplaza(params) {
|
||||
return ajax({
|
||||
url: "/aiplaza/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
getAllScene(params) {
|
||||
return ajax({
|
||||
url: "/ai/changeface/mod/all/scene",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
/******************************** AI小说订单 *********************************** */
|
||||
getAiNovelList(params) {
|
||||
return ajax({
|
||||
url: "/ai/text_to_novel/list",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
delAiNovel(params) {
|
||||
return ajax({
|
||||
url: "/ai/text_to_novel/delete",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
updateAiNovel(params) {
|
||||
return ajax({
|
||||
url: "/ai/text_to_novel/update",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
/********************************AI女友V2消费流水*********************************** */
|
||||
getAimatev2OrderLogs(params) {
|
||||
return ajax({
|
||||
url: "/aimatev2/order_logs",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
};
|
||||
export default voteApi;
|
||||
@@ -0,0 +1,42 @@
|
||||
import ajax from '../utils/request';
|
||||
|
||||
const angentApi = {
|
||||
/***************************金币流水管理****************************** */
|
||||
// 获取用户推广日志
|
||||
getExtensionList(params) {
|
||||
return ajax({
|
||||
url: '/proxy/log',
|
||||
type: 'get',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 获取用户推广查询列表
|
||||
getUserExtensionList(parmas) {
|
||||
return ajax({
|
||||
url: '/proxy/promotion',
|
||||
type: 'get',
|
||||
params: parmas
|
||||
});
|
||||
},
|
||||
|
||||
/***************************代理列表****************************** */
|
||||
// 代理列表配置
|
||||
getProxyList(params) {
|
||||
return ajax({
|
||||
url: '/proxy/totalIncome',
|
||||
type: 'get',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 代理列表详情记录
|
||||
getProxyDetails(params) {
|
||||
return ajax({
|
||||
url: '/proxy/income/details',
|
||||
type: 'get',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
export default angentApi;
|
||||
@@ -0,0 +1,340 @@
|
||||
import ajax from "../utils/request";
|
||||
const animationApi = {
|
||||
/********************************动漫列表*********************************** */
|
||||
// 获取动漫列表
|
||||
getAnimeList(params) {
|
||||
return ajax({
|
||||
url: "/media/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加动漫
|
||||
addAnime(params) {
|
||||
return ajax({
|
||||
url: "/media/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除动漫
|
||||
delAnime(params) {
|
||||
return ajax({
|
||||
url: "/media/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改动漫
|
||||
updateAnime(params) {
|
||||
return ajax({
|
||||
url: "/media/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 动漫导出
|
||||
exportMediaList(params) {
|
||||
return ajax({
|
||||
url: "/media/export",
|
||||
type: "post",
|
||||
responseType: "blob",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 批量删除动漫列表
|
||||
batchDelMedia(params) {
|
||||
return ajax({
|
||||
url: "/media/batch/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************动漫推荐列表*********************************** */
|
||||
// 获取动漫推荐列表
|
||||
getMediaRecommendList(params) {
|
||||
return ajax({
|
||||
url: "/media_recommend/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加动漫推荐
|
||||
addMediaRecommend(params) {
|
||||
return ajax({
|
||||
url: "/media_recommend/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除动漫推荐
|
||||
delMediaRecommend(params) {
|
||||
return ajax({
|
||||
url: "/media_recommend/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改动漫推荐
|
||||
updateMediaRecommend(params) {
|
||||
return ajax({
|
||||
url: "/media_recommend/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取动漫推荐信息
|
||||
getMediaRecommendInfo(params) {
|
||||
return ajax({
|
||||
url: "/media_recommend/info",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************动漫任务列表*********************************** */
|
||||
// 获取动漫任务列表
|
||||
getMediaTaskList(params) {
|
||||
return ajax({
|
||||
url: "/media_task/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加动漫任务
|
||||
addMediaTask(params) {
|
||||
return ajax({
|
||||
url: "/media_task/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除动漫任务
|
||||
delMediaTask(params) {
|
||||
return ajax({
|
||||
url: "/media_task/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改动漫任务
|
||||
updateMediaTask(params) {
|
||||
return ajax({
|
||||
url: "/media_task/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************动漫上传列表*********************************** */
|
||||
// 视频上传
|
||||
uploadMedia(params) {
|
||||
return ajax({
|
||||
url: "/media/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 子媒体上传
|
||||
subUploadMedia(params) {
|
||||
return ajax({
|
||||
url: "/media_content/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 校验媒体是否存在
|
||||
getMediaInfo(params) {
|
||||
return ajax({
|
||||
url: "/media/find",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取种类、维度下的标签
|
||||
getMediaTagByKindDimension(params) {
|
||||
return ajax({
|
||||
url: "/media_tag/all",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 设置媒体状态
|
||||
setMediaStatus(params) {
|
||||
return ajax({
|
||||
url: "/media/batch/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取动漫专题
|
||||
queryModuleCartoonAll(params) {
|
||||
return ajax({
|
||||
url: "/module/conf/cartoon/all",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************动漫内容列表*********************************** */
|
||||
// 获取动漫内容列表
|
||||
getAnimeContentList(params) {
|
||||
return ajax({
|
||||
url: "/media_content/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加动漫内容
|
||||
addAnimeContent(params) {
|
||||
return ajax({
|
||||
url: "/media_content/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除动漫内容
|
||||
delAnimeContent(params) {
|
||||
return ajax({
|
||||
url: "/media_content/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改动漫内容
|
||||
updateAnimeContent(params) {
|
||||
return ajax({
|
||||
url: "/media_content/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改动漫内容
|
||||
setSubMediaStatus(params) {
|
||||
return ajax({
|
||||
url: "/media_content/batch/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 查询剧集转码状态
|
||||
getMediaContentView(id) {
|
||||
return ajax({
|
||||
url: "/media_content/view/" + id,
|
||||
type: "get",
|
||||
});
|
||||
},
|
||||
/********************************动漫标签列表*********************************** */
|
||||
// 获取动漫标签列表
|
||||
getAnimeTagList(params) {
|
||||
return ajax({
|
||||
url: "/media_tag/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取动漫所有纬度
|
||||
getAnimeAllLatitude(params) {
|
||||
return ajax({
|
||||
url: "/media_tag_dimension/all",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加动漫标签
|
||||
addAnimeTag(params) {
|
||||
return ajax({
|
||||
url: "/media_tag/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除动漫标签
|
||||
delAnimeTag(params) {
|
||||
return ajax({
|
||||
url: "/media_tag/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改动漫标签
|
||||
updateAnimeTag(params) {
|
||||
return ajax({
|
||||
url: "/media_tag/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************纬度列表*********************************** */
|
||||
// 获取纬度列表
|
||||
getLatitudeList(params) {
|
||||
return ajax({
|
||||
url: "/media_tag_dimension/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加纬度
|
||||
addLatitude(params) {
|
||||
return ajax({
|
||||
url: "/media_tag_dimension/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除纬度
|
||||
delLatitude(params) {
|
||||
return ajax({
|
||||
url: "/media_tag_dimension/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改纬度
|
||||
updateLatitude(params) {
|
||||
return ajax({
|
||||
url: "/media_tag_dimension/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/***********************acg媒体资源库************************ */
|
||||
// 查询acg媒体资源库列表
|
||||
queryAcgMediaResConfig(params) {
|
||||
return ajax({
|
||||
url: "/mediaResource/media/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 查询acg媒体资源库列表(子)
|
||||
queryAcgMediaContentResConfig(params) {
|
||||
return ajax({
|
||||
url: "/mediaResource/media/content_list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// acg媒体使用
|
||||
useAcgMediaRes(params) {
|
||||
return ajax({
|
||||
url: "/mediaResource/media/use",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// acg媒体使用
|
||||
ignoreAcgMediaRes(params) {
|
||||
return ajax({
|
||||
url: "/mediaResource/media/ignore",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// acg媒体同步
|
||||
acgMediaSync(params) {
|
||||
return ajax({
|
||||
url: "/mediaResource/media/sync",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
};
|
||||
export default animationApi;
|
||||
@@ -0,0 +1,38 @@
|
||||
import ajax from '../utils/request'
|
||||
const authorApi = {
|
||||
/********************************主后台权限管理*********************************** */
|
||||
// 删除权限
|
||||
delAuthor(params) {
|
||||
return ajax({
|
||||
url: '/author/del',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 获取权限/角色列表
|
||||
getAuthorList(params) {
|
||||
return ajax({
|
||||
url: '/author/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 修改权限
|
||||
updateAuthor(params) {
|
||||
return ajax({
|
||||
url: '/author/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 添加角色
|
||||
addAuthor(params) {
|
||||
return ajax({
|
||||
url: '/author/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
|
||||
}
|
||||
export default authorApi
|
||||
@@ -0,0 +1,28 @@
|
||||
import ajax from '../utils/request'
|
||||
const avCommentApi = {
|
||||
// 获取AV解说列表
|
||||
getAvCommentList(params) {
|
||||
return ajax({
|
||||
url: '/avcomment/list',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 添加
|
||||
addAvComment(params) {
|
||||
return ajax({
|
||||
url: '/avcomment/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑
|
||||
editAvComment(params) {
|
||||
return ajax({
|
||||
url: '/avcomment/edit',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
}
|
||||
export default avCommentApi
|
||||
@@ -0,0 +1,14 @@
|
||||
import ajax from '../utils/request';
|
||||
const balanceApi = {
|
||||
/*******************************商人上分管理*********************************** */
|
||||
|
||||
getBalanceList(params) {
|
||||
return ajax({
|
||||
url:'/daichong/merchant/balanceList',
|
||||
type:'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
}
|
||||
export default balanceApi;
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
import ajax from '../utils/request';
|
||||
const businessmanApi = {
|
||||
/********************************代充,商人管理*********************************** */
|
||||
/**
|
||||
* 编辑商人
|
||||
* @param {*} params
|
||||
* @param {String} params.uid 商户id
|
||||
* @param {String} params.name 账户名
|
||||
* @param {String} params.password 密码
|
||||
* @param {String} params.nickname 昵称
|
||||
* @param {String} params.email 邮箱
|
||||
* @param {String} params.mobile 手机号
|
||||
* @param {String} params.cid 商人所属聚商ID
|
||||
* @param {String} params.channel 商人所属渠道
|
||||
* @param {String} params.wechat 微信号码
|
||||
* @param {Number} params.balance 商人余额
|
||||
*/
|
||||
editBusinessman(params) {
|
||||
return ajax({
|
||||
url: '/daichong/merchant/edit',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 删除商人
|
||||
* @param {*} params
|
||||
* @param {Array} params.uids 商人id
|
||||
*/
|
||||
delBusinessman(params){
|
||||
return ajax({
|
||||
url:'/daichong/merchant/del',
|
||||
type:'delete',
|
||||
params,
|
||||
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 商人列表
|
||||
* @param {*} params
|
||||
* @param {String} params.uid 商户id
|
||||
* @param {String} params.name 账户名
|
||||
* @param {String} params.nickname 昵称
|
||||
* @param {String} params.mobile 手机号
|
||||
* @param {String} params.cid 商人所属聚商ID
|
||||
* @param {String} params.channel 商人所属渠道
|
||||
* @param {Number} params.pageNumber 当前页
|
||||
* @param {Number} params.pageSize 每页条数
|
||||
*/
|
||||
getBusinessmanList(params) {
|
||||
return ajax({
|
||||
url:'/daichong/merchant/list',
|
||||
type:'get',
|
||||
params
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 增加商人
|
||||
* @param {*} params
|
||||
* @param {String} params.name 账户名
|
||||
* @param {String} params.password 密码
|
||||
* @param {String} params.nickname 昵称
|
||||
* @param {String} params.email 邮箱
|
||||
* @param {String} params.mobile 手机号
|
||||
* @param {String} params.cid 商人所属聚商ID
|
||||
* @param {String} params.channel 商人所属渠道
|
||||
* @param {String} params.wechat 微信号码
|
||||
* @param {Number} params.balance 商人余额
|
||||
*/
|
||||
addBusinessman(params) {
|
||||
return ajax({
|
||||
url:'/daichong/merchant/add',
|
||||
type:'post',
|
||||
params,
|
||||
// headers: {
|
||||
// 'Content-Type': 'multipart/form-data'
|
||||
// }
|
||||
})
|
||||
},
|
||||
//商人上分
|
||||
addOrDebitScore(params) {
|
||||
return ajax({
|
||||
url:'/daichong/merchant/addOrDebitScore',
|
||||
type:'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 商人追分
|
||||
seekScore(params) {
|
||||
return ajax({
|
||||
url:'/daichong/merchant/seekScore',
|
||||
type:'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// ----------------------聚商管理模块
|
||||
// 增
|
||||
addGatheringList(params) {
|
||||
return ajax({
|
||||
url: '/jushang/merchant/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 删
|
||||
delGatheringList(params) {
|
||||
return ajax({
|
||||
url: '/jushang/merchant/del',
|
||||
type: 'delete',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 改
|
||||
editGatheringList(params) {
|
||||
return ajax({
|
||||
url: '/jushang/merchant/edit',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 查询
|
||||
getGatheringList(params) {
|
||||
return ajax({
|
||||
url: '/jushang/merchant/list',
|
||||
type: 'get',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 商人余额信息
|
||||
businessblBalance(params) {
|
||||
return ajax({
|
||||
url: '/jushang/merchant/info',
|
||||
type: 'get',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 商人上分
|
||||
onPointsGathering(params) {
|
||||
return ajax({
|
||||
url: '/jushang/merchant/addOrDebitScore',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 商人追分
|
||||
chasePointsGathering(params) {
|
||||
return ajax({
|
||||
url: '/jushang/merchant/seekScore',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 聚商商人上分列表
|
||||
JushangList(params) {
|
||||
return ajax({
|
||||
url: '/jushang/merchant/balanceList',
|
||||
type: 'get',
|
||||
params
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
export default businessmanApi;
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
import ajax from '../utils/request'
|
||||
|
||||
const channelBApi = {
|
||||
/***************************渠道明细****************************** */
|
||||
// 请求渠道查询,日志(同一个)列表列表
|
||||
getChannelDetailList(params) {
|
||||
return ajax({
|
||||
url: '/channel/manage/detail',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************渠道账簿****************************** */
|
||||
getBookList(params) {
|
||||
return ajax({
|
||||
url: '/channel/manage/accountbook',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************自助结算审核****************************** */
|
||||
// 自助结算审核列表数据
|
||||
getAutoAccountList(params) {
|
||||
return ajax({
|
||||
url: '/channel/manage/autoaccount',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑账单
|
||||
automaticBillGeneration(params) {
|
||||
return ajax({
|
||||
url: '/channel/manage/autoaccount/modify',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑银行卡信息
|
||||
editBank(params) {
|
||||
return ajax({
|
||||
url: '/channel/manage/autoaccount/addbank',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************银行卡配置****************************** */
|
||||
// 银行卡列表数据
|
||||
getBankList(params) {
|
||||
return ajax({
|
||||
url: '/channel/manage/bank',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default channelBApi
|
||||
@@ -0,0 +1,131 @@
|
||||
import ajax from '../utils/request'
|
||||
|
||||
const channelApi = {
|
||||
/***************************渠道查询****************************** */
|
||||
// 请求渠道查询,日志(同一个)列表列表
|
||||
getChannelLogList(params) {
|
||||
return ajax({
|
||||
url: '/channel/channelLog/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 修改渠道日志
|
||||
updateChannelLog(params) {
|
||||
return ajax({
|
||||
url: '/channel/channelLog/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************渠道号管理****************************** */
|
||||
// 请求渠道号列表
|
||||
getNumberList(params) {
|
||||
return ajax({
|
||||
url: '/channel/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除渠道号
|
||||
delNumberList(params) {
|
||||
return ajax({
|
||||
url: '/channel/delete',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 请求渠道成本列表
|
||||
getChannelCostList(params) {
|
||||
return ajax({
|
||||
url: '/channel/channelCost/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 请求渠道成本列表
|
||||
updateChannelCost(params) {
|
||||
return ajax({
|
||||
url: '/channel/channelCost/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增渠道号
|
||||
addNumber(params) {
|
||||
return ajax({
|
||||
url: '/channel/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑渠道号
|
||||
updateNumber(params) {
|
||||
return ajax({
|
||||
url: '/channel/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************渠道商管理****************************** */
|
||||
// 请求渠道商列表
|
||||
getAgentList(params) {
|
||||
return ajax({
|
||||
url: '/channel/channelAgent/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增渠道商
|
||||
addAgent(params) {
|
||||
return ajax({
|
||||
url: '/channel/channelAgent/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑渠道商
|
||||
updateAgent(params) {
|
||||
return ajax({
|
||||
url: '/channel/channelAgent/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除渠道商
|
||||
delAgent(params) {
|
||||
return ajax({
|
||||
url: '/channel/channelAgent/delete',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************渠道页面配置****************************** */
|
||||
// 渠道页面配置列表
|
||||
getChannelConfigList(params) {
|
||||
return ajax({
|
||||
url: '/channel/channelPage/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 渠道页面修改
|
||||
updateChannelConfig(params) {
|
||||
return ajax({
|
||||
url: '/channel/channelPage/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************渠道页面配置****************************** */
|
||||
// 渠道成本修改记录
|
||||
getChannelUpdateList(params) {
|
||||
return ajax({
|
||||
url: '/channel/changeRecord/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export default channelApi
|
||||
@@ -0,0 +1,123 @@
|
||||
import ajax from "../utils/request";
|
||||
import axios from "axios";
|
||||
import config from "../utils/serverUrlConfig";
|
||||
import local from "../utils/localStroage.js";
|
||||
|
||||
function authHeaders() {
|
||||
const token = local.get("userInfo") ? local.get("userInfo").token : "";
|
||||
return token ? { Authorization: token } : {};
|
||||
}
|
||||
|
||||
const contentReviewApi = {
|
||||
/** 敏感词列表 */
|
||||
sensitiveWordList(params) {
|
||||
return ajax({
|
||||
url: "/sensitive-word/list",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
sensitiveWordAdd(params) {
|
||||
return ajax({
|
||||
url: "/sensitive-word/add",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
sensitiveWordUpdate(params) {
|
||||
return ajax({
|
||||
url: "/sensitive-word/update",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
sensitiveWordDelete(params) {
|
||||
return ajax({
|
||||
url: "/sensitive-word/delete",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
/** xlsx 导出(GET + query) */
|
||||
sensitiveWordExport(params) {
|
||||
return ajax({
|
||||
url: "/sensitive-word/export",
|
||||
type: "get",
|
||||
params,
|
||||
responseType: "blob",
|
||||
});
|
||||
},
|
||||
/** 下载导入模版(空 xlsx) */
|
||||
sensitiveWordTemplate() {
|
||||
return ajax({
|
||||
url: "/sensitive-word/template",
|
||||
type: "get",
|
||||
responseType: "blob",
|
||||
});
|
||||
},
|
||||
/** 发起检测任务 */
|
||||
contentReviewCreate(params) {
|
||||
return ajax({
|
||||
url: "/content-review/create",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
contentReviewList(params) {
|
||||
return ajax({
|
||||
url: "/content-review/list",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
contentReviewDetail(params) {
|
||||
return ajax({
|
||||
url: "/content-review/detail",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
contentReviewIssues(params) {
|
||||
return ajax({
|
||||
url: "/content-review/issues",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
contentReviewIssueResolve(params) {
|
||||
return ajax({
|
||||
url: "/content-review/issue/resolve",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
contentReviewIssueReject(params) {
|
||||
return ajax({
|
||||
url: "/content-review/issue/reject",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
/** 批量下架命中记录对应资源 */
|
||||
contentReviewIssueBatchOffshelf(params) {
|
||||
return ajax({
|
||||
url: "/content-review/issue/batch-offshelf",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
/** 敏感词 xlsx 导入(multipart) */
|
||||
sensitiveWordImport(file) {
|
||||
const fd = new FormData();
|
||||
fd.append("upload", file);
|
||||
return axios
|
||||
.post(`${config.baseServerUrl}/sensitive-word/import`, fd, {
|
||||
headers: {
|
||||
...authHeaders(),
|
||||
},
|
||||
})
|
||||
.then((r) => r.data);
|
||||
},
|
||||
};
|
||||
|
||||
export default contentReviewApi;
|
||||
@@ -0,0 +1,71 @@
|
||||
import ajax from "../utils/request";
|
||||
const discountAreaManagementApi = {
|
||||
/********************************折扣专区列表*********************************** */
|
||||
// 请求折扣专区列表
|
||||
getDiscountAreaList(params) {
|
||||
return ajax({
|
||||
url: "/discount_area/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加折扣专区
|
||||
addDiscountArea(params) {
|
||||
return ajax({
|
||||
url: "/discount_area/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改折扣专区
|
||||
updateDiscountArea(params) {
|
||||
return ajax({
|
||||
url: "/discount_area/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除折扣专区
|
||||
deleteDiscountArea(params) {
|
||||
return ajax({
|
||||
url: "/discount_area/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************折扣专区视频列表*********************************** */
|
||||
// 请求折扣专区视频列表
|
||||
getDiscountAreaVideoList(params) {
|
||||
return ajax({
|
||||
url: "/discount_area/vid/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加折扣专区视频
|
||||
addDiscountAreaVideo(params) {
|
||||
return ajax({
|
||||
url: "/discount_area/vid/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改折扣专区视频
|
||||
updateDiscountAreaVideo(params) {
|
||||
return ajax({
|
||||
url: "/discount_area/vid/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除折扣专区视频
|
||||
deleteDiscountAreaVideo(params) {
|
||||
return ajax({
|
||||
url: "/discount_area/vid/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export default discountAreaManagementApi;
|
||||
@@ -0,0 +1,126 @@
|
||||
/*
|
||||
* @Author: 王枫叶
|
||||
* @Date: 2020-12-17 20:38:54
|
||||
* @LastEditors: 王枫叶
|
||||
* @LastEditTime: 2020-12-26 14:38:36
|
||||
*/
|
||||
import ajax from '../utils/request'
|
||||
|
||||
const fictionApi = {
|
||||
/***************************小说列表****************************** */
|
||||
// 获取列表
|
||||
getfFiction(params) {
|
||||
return ajax({
|
||||
url: '/fiction/list',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 修改
|
||||
updateFiction(params) {
|
||||
return ajax({
|
||||
url: '/fiction/edit',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增
|
||||
addFiction(params) {
|
||||
return ajax({
|
||||
url: '/fiction/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
deleteFiction(params) {
|
||||
return ajax({
|
||||
url: '/fiction/del',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 查看报错小详情
|
||||
getErr(params) {
|
||||
return ajax({
|
||||
url: '/fiction/get',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************举报列表****************************** */
|
||||
// 获取列表
|
||||
getErrFeedback(params) {
|
||||
return ajax({
|
||||
url: '/errFeedback/list',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 修改
|
||||
updateErrFeedback(params) {
|
||||
return ajax({
|
||||
url: '/errFeedback/edit',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增
|
||||
addErrFeedback(params) {
|
||||
return ajax({
|
||||
url: '/errFeedback/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
deleteErrFeedback(params) {
|
||||
return ajax({
|
||||
url: '/errFeedback/del',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************有声小说列表****************************** */
|
||||
// 获取列表
|
||||
getAudiobook(params) {
|
||||
return ajax({
|
||||
url: '/audiobook/list',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 本书配置
|
||||
updateAudiobook(params) {
|
||||
return ajax({
|
||||
url: '/audiobook/edit',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增
|
||||
addAudiobook(params) {
|
||||
return ajax({
|
||||
url: '/audiobook/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
deleteAudiobook(params) {
|
||||
return ajax({
|
||||
url: '/audiobook/del',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
} ,
|
||||
// 一键配置
|
||||
editPrice(params) {
|
||||
return ajax({
|
||||
url: '/audiobook/editBatch',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
}
|
||||
export default fictionApi
|
||||
@@ -0,0 +1,86 @@
|
||||
import ajax from '../utils/request'
|
||||
const groupChatManagementApi = {
|
||||
// 群组列表
|
||||
getImgroupList(params) {
|
||||
return ajax({
|
||||
url: '/imgroup/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 群组新增
|
||||
createImgroup(params) {
|
||||
return ajax({
|
||||
url: '/imgroup/create',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 群组修改
|
||||
updateImgroup(params) {
|
||||
return ajax({
|
||||
url: '/imgroup/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
|
||||
// 群成员列表
|
||||
getImgroupmemberList(params) {
|
||||
return ajax({
|
||||
url: '/imgroupmember/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 群成员新增
|
||||
createImgroupmember(params) {
|
||||
return ajax({
|
||||
url: '/imgroupmember/create',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 群成员修改
|
||||
updateImgroupmember(params) {
|
||||
return ajax({
|
||||
url: '/imgroupmember/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
|
||||
// 群消息列表
|
||||
getImmessageList(params) {
|
||||
return ajax({
|
||||
url: '/immessage/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 群消息新增
|
||||
createImmessage(params) {
|
||||
return ajax({
|
||||
url: '/immessage/create',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 群消息修改
|
||||
updateImmessage(params) {
|
||||
return ajax({
|
||||
url: '/immessage/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 群消息删除
|
||||
deleteImmessage(params) {
|
||||
return ajax({
|
||||
url: '/immessage/delete',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
}
|
||||
export default groupChatManagementApi
|
||||
@@ -0,0 +1,46 @@
|
||||
import ajax from '../utils/request'
|
||||
const homeApi = {
|
||||
/********************************首页*********************************** */
|
||||
// 登陆
|
||||
getStatData(params) {
|
||||
return ajax({
|
||||
url: '/home/statData',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 上传图片接口
|
||||
uploadImg(param) {
|
||||
return ajax({
|
||||
url: '/vid/uploadStatic',
|
||||
type: 'post',
|
||||
params: param
|
||||
})
|
||||
},
|
||||
// 视频上传成功回调通知接口
|
||||
uploadSuccess(param) {
|
||||
return ajax({
|
||||
url: '/vid/uploadSuccess',
|
||||
type: 'post',
|
||||
params: param
|
||||
})
|
||||
},
|
||||
// 访问量折线图数据接口
|
||||
getViewsData(params) {
|
||||
return ajax({
|
||||
url: '/home/points/visit',
|
||||
type: 'get',
|
||||
params:params
|
||||
})
|
||||
},
|
||||
// 注册量折线图数据接口
|
||||
getRegisteredChart(params) {
|
||||
return ajax({
|
||||
url: '/home/points/regist',
|
||||
type: 'get',
|
||||
params:params
|
||||
})
|
||||
},
|
||||
|
||||
}
|
||||
export default homeApi
|
||||
@@ -0,0 +1,40 @@
|
||||
import ajax from '../utils/request'
|
||||
const hotApi = {
|
||||
/***************************热点管理****************************** */
|
||||
/*************************排行页面***************************** */
|
||||
// 排行列表
|
||||
getRankList(params) {
|
||||
return ajax({
|
||||
ulr: '',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑排行
|
||||
updateRank(params) {
|
||||
return ajax({
|
||||
url: '',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/*************************发现精彩***************************** */
|
||||
// 发现精彩列表
|
||||
getWonderfulList(params) {
|
||||
return ajax({
|
||||
url: '',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑精彩
|
||||
updateWonderful(params) {
|
||||
return ajax({
|
||||
url: '',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default hotApi
|
||||
@@ -0,0 +1,121 @@
|
||||
/*
|
||||
* @Author: 王枫叶
|
||||
* @Date: 2020-10-13 17:37:19
|
||||
* @LastEditors: 王枫叶
|
||||
* @LastEditTime: 2020-12-17 21:44:43
|
||||
*/
|
||||
// 首页统计数据接口
|
||||
// 活动管理接口
|
||||
import activeApi from "./activeManagement";
|
||||
// 女优管理接口
|
||||
import actressApi from "./actressManagement";
|
||||
// 系统管理接口
|
||||
import admApi from "./administrators";
|
||||
// 广告管理api接口
|
||||
import adsApi from "./advertisingManagement";
|
||||
// 代理管理Api接口
|
||||
import angentApi from "./angentManagement";
|
||||
// 权限管理接口
|
||||
import authorApi from "./author";
|
||||
import businessmanApi from "./businessman";
|
||||
import balanceApi from "./balance";
|
||||
// 渠道后台管理api
|
||||
import channelBApi from "./channelBackground";
|
||||
// 渠道管理api
|
||||
import channelApi from "./channelManagement";
|
||||
import homeApi from "./home";
|
||||
// 热点管理接口
|
||||
import hotApi from "./hotManagement";
|
||||
// 落地页配置接口
|
||||
import LandPageApi from "./landPage";
|
||||
// 登陆api接口
|
||||
import loginApi from "./login";
|
||||
// 产品管理api接口
|
||||
import productApi from "./productManagement";
|
||||
// 用户配置api接口
|
||||
import discountAreaManagementApi from "./discountAreaManagement";
|
||||
// 机器人借口管理
|
||||
import roBotApi from "./robot";
|
||||
// 统计管理接口
|
||||
import staticsAPi from "./statistics";
|
||||
// 系统管理api接口
|
||||
import systemApi from "./systemManagement";
|
||||
// 热点管理接口
|
||||
import systemMessage from "./systemMessage";
|
||||
// 交易管理api接口
|
||||
import transApi from "./transactionManagement";
|
||||
// 用户api接口
|
||||
import userApi from "./user";
|
||||
// 视频api接口
|
||||
import videoApi from "./videoManagement";
|
||||
// 商区代理接口
|
||||
import angentDistrictApi from "./agentDistrictProvider";
|
||||
//楼凤模块接口
|
||||
import loufApi from "./loufeng";
|
||||
//裸聊专区接口
|
||||
import nakedChatApi from "./nakedChatManage";
|
||||
//小说管理接口
|
||||
import fictionApi from "./fiction";
|
||||
//av解说管理接口
|
||||
import avCommentApi from "./avComment";
|
||||
//标签配置接口
|
||||
import tagConfigAPi from "./tagConfigList";
|
||||
//模块配置接口
|
||||
import moduleConfigApi from "./moduleConfig";
|
||||
//签到管理
|
||||
import signinApi from "./signin";
|
||||
//AI
|
||||
import aiApi from "./ai";
|
||||
//动漫
|
||||
import animationApi from "./animation";
|
||||
// 群组
|
||||
import groupChatManagementApi from "./groupChatManagement";
|
||||
//老司机媒体模块接口
|
||||
import lsjMediaLibApi from './lsjMediaLib';
|
||||
//二部媒资库接口
|
||||
import mediaLibApi from './mediaLib';
|
||||
import contentReviewApi from './contentReview';
|
||||
import officialWebsiteApi from './officialWebsite';
|
||||
import shortVideoRecommendApi from './shortVideoRecommend';
|
||||
const Api = Object.assign({
|
||||
...loginApi,
|
||||
...videoApi,
|
||||
...userApi,
|
||||
...productApi,
|
||||
...discountAreaManagementApi,
|
||||
...transApi,
|
||||
...adsApi,
|
||||
...admApi,
|
||||
...authorApi,
|
||||
...systemApi,
|
||||
...activeApi,
|
||||
...actressApi,
|
||||
...angentApi,
|
||||
...staticsAPi,
|
||||
...channelApi,
|
||||
...channelBApi,
|
||||
...homeApi,
|
||||
...LandPageApi,
|
||||
...hotApi,
|
||||
...systemMessage,
|
||||
...roBotApi,
|
||||
...businessmanApi,
|
||||
...balanceApi,
|
||||
...angentDistrictApi,
|
||||
...loufApi,
|
||||
...nakedChatApi,
|
||||
...fictionApi,
|
||||
...avCommentApi,
|
||||
...signinApi,
|
||||
...tagConfigAPi,
|
||||
...moduleConfigApi,
|
||||
...aiApi,
|
||||
...animationApi,
|
||||
...groupChatManagementApi,
|
||||
...lsjMediaLibApi,
|
||||
...mediaLibApi,
|
||||
...contentReviewApi,
|
||||
...officialWebsiteApi,
|
||||
...shortVideoRecommendApi,
|
||||
});
|
||||
export default Api;
|
||||
@@ -0,0 +1,88 @@
|
||||
import ajax from "../utils/request";
|
||||
const landPageApi = {
|
||||
/******************* 域名配置**********************8*/
|
||||
// 域名配置请求列表
|
||||
getLangPageList(params) {
|
||||
return ajax({
|
||||
url: "/webplt/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增域名配置
|
||||
addLandPage(params) {
|
||||
return ajax({
|
||||
url: "/webplt/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除域名配置
|
||||
deleteLandPage(params) {
|
||||
return ajax({
|
||||
url: "/webplt/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑落地页配置
|
||||
editLandPage(params) {
|
||||
return ajax({
|
||||
url: "/webplt/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************* 落地页配置************************/
|
||||
// 获取落地页配置
|
||||
getLdyList(params) {
|
||||
return ajax({
|
||||
url: "/ldy/cfg",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//编辑
|
||||
updateLdy(params) {
|
||||
return ajax({
|
||||
url: "/ldy/update",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
|
||||
// // 添加按钮状态
|
||||
// addSwitchFlag(params) {
|
||||
// return ajax({
|
||||
// url: '/switch/add',
|
||||
// type: 'post',
|
||||
// params: params
|
||||
// });
|
||||
// },
|
||||
// // 获取开关
|
||||
// getSwitchList(params) {
|
||||
// return ajax({
|
||||
// url: '/switch/list',
|
||||
// type: 'get',
|
||||
// params: params
|
||||
// });
|
||||
// }
|
||||
// // 删除开关
|
||||
// deleteSwitch(params) {
|
||||
// return ajax({
|
||||
// url: '/switch/del',
|
||||
// type: 'delete',
|
||||
// params: params
|
||||
// });
|
||||
// },
|
||||
// // 获取开关
|
||||
// getSwitchList(params) {
|
||||
// return ajax({
|
||||
// url: '/switch/list',
|
||||
// type: 'get',
|
||||
// params: params
|
||||
// });
|
||||
// }
|
||||
};
|
||||
|
||||
export default landPageApi;
|
||||
@@ -0,0 +1,45 @@
|
||||
import ajax from '../utils/request'
|
||||
const loginApi = {
|
||||
/********************************登陆管理*********************************** */
|
||||
// 登陆
|
||||
login(params) {
|
||||
return ajax({
|
||||
url: '/login',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// sso登陆
|
||||
slogin(params) {
|
||||
return ajax({
|
||||
url: '/slogin',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 登陆验证
|
||||
verify(params) {
|
||||
return ajax({
|
||||
url: '/verify',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 刷新token
|
||||
refreshToken(params) {
|
||||
return ajax({
|
||||
url: '/refresh',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 登出
|
||||
logout(params) {
|
||||
return ajax({
|
||||
url: '/logout',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
}
|
||||
export default loginApi
|
||||
@@ -0,0 +1,121 @@
|
||||
/*
|
||||
* @Author: 王枫叶
|
||||
* @Date: 2020-10-21 14:11:47
|
||||
* @LastEditors: 王枫叶
|
||||
* @LastEditTime: 2020-12-17 19:43:50
|
||||
*/
|
||||
import ajax from "../utils/request";
|
||||
const loufApi={
|
||||
/** ********************楼凤列表************************* */
|
||||
// 获取楼凤列表
|
||||
getLouFengList(params) {
|
||||
return ajax({
|
||||
url: '/loufeng/list',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增
|
||||
addLoufeng(params) {
|
||||
return ajax({
|
||||
url: '/loufeng/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 修改
|
||||
updateLoufeng(params) {
|
||||
return ajax({
|
||||
url: '/loufeng/edit',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
deleteLoufeng(params) {
|
||||
return ajax({
|
||||
url: '/loufeng/del',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 取消置顶
|
||||
cancelToplf(params) {
|
||||
return ajax({
|
||||
url: '/loufeng/cancelTop',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/**************楼凤配置******************/
|
||||
// 获取楼凤列表
|
||||
getLoufCfgList(params) {
|
||||
return ajax({
|
||||
url: '/loufeng/getConfig',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 修改
|
||||
editLoufCfg(params) {
|
||||
return ajax({
|
||||
url: '/loufeng/setConfig',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
|
||||
/**************举报信息列表******************/
|
||||
// 获取举报信息
|
||||
getFeedbList(params) {
|
||||
return ajax({
|
||||
url: '/loufeng/getFeedback',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 修改举报信息
|
||||
editFeedb (params) {
|
||||
return ajax({
|
||||
url: '/loufeng/processFeedback',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
|
||||
/** ********************楼凤广告配置************************* */
|
||||
// 获取列表
|
||||
getLfAdList(params) {
|
||||
return ajax({
|
||||
url: '/loufengad/list',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增
|
||||
addLfAd(params) {
|
||||
return ajax({
|
||||
url: '/loufengad/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 修改
|
||||
updateLfAd(params) {
|
||||
return ajax({
|
||||
url: '/loufengad/edit',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
deleteLfAd(params) {
|
||||
return ajax({
|
||||
url: '/loufengad/del',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default loufApi;
|
||||
@@ -0,0 +1,143 @@
|
||||
import request from "../utils/request";
|
||||
|
||||
export default {
|
||||
/**
|
||||
* 动漫相关接口
|
||||
*/
|
||||
// 获取视频列表
|
||||
lsjComicsList(params) {
|
||||
return request({
|
||||
url: '/laosiji/comics/search',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
// 获取视频列表
|
||||
lsjComicsDel(params) {
|
||||
return request({
|
||||
url: '/laosiji/comics/search',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
lsjComicsDetail(params) {
|
||||
return request({
|
||||
url: '/laosiji/comics/detail',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
lsjComicsAdd(params) {
|
||||
return request({
|
||||
url: '/laosiji/comics/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 小说相关接口
|
||||
*/
|
||||
|
||||
// 获取视频列表
|
||||
lsjNovelList(params) {
|
||||
return request({
|
||||
url: '/laosiji/novel/search',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
// 获取视频列表
|
||||
lsjNovelDel(params) {
|
||||
return request({
|
||||
url: '/laosiji/novel/search',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
lsjNovelDetail(params) {
|
||||
return request({
|
||||
url: '/laosiji/novel/detail',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
lsjNovelAdd(params) {
|
||||
return request({
|
||||
url: '/laosiji/novel/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 帖子相关接口
|
||||
*/
|
||||
// 获取视频列表
|
||||
lsjPostList(params) {
|
||||
return request({
|
||||
url: '/laosiji/post/search',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
// 获取视频列表
|
||||
lsjPostDel(params) {
|
||||
return request({
|
||||
url: '/laosiji/post/search',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
lsjPostDetail(params) {
|
||||
return request({
|
||||
url: '/laosiji/post/detail',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
lsjPostAdd(params) {
|
||||
return request({
|
||||
url: '/laosiji/post/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 视频相关接口
|
||||
*/
|
||||
// 获取视频列表
|
||||
lsjVideoList(params) {
|
||||
return request({
|
||||
url: '/laosiji/movie/search',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
// 获取视频列表
|
||||
lsjVideoDel(params) {
|
||||
return request({
|
||||
url: '/laosiji/movie/search',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
lsjVideoDetail(params) {
|
||||
return request({
|
||||
url: '/laosiji/movie/detail',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
lsjVideoAdd(params) {
|
||||
return request({
|
||||
url: '/laosiji/movie/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
import axios from '../utils/request';
|
||||
|
||||
// 获取跑马灯列表
|
||||
export function getAnnounceList(params) {
|
||||
return axios({
|
||||
url: '/announce/list',
|
||||
type: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 新增跑马灯
|
||||
export function addAnnounce(params) {
|
||||
return axios({
|
||||
url: '/announce/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 修改跑马灯
|
||||
export function updateAnnounce(params) {
|
||||
return axios({
|
||||
url: '/announce/update',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 删除跑马灯
|
||||
export function deleteAnnounce(params) {
|
||||
return axios({
|
||||
url: '/announce/del',
|
||||
type: 'delete',
|
||||
params
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
import request from "../utils/request";
|
||||
|
||||
export default {
|
||||
/**
|
||||
* 视频相关接口
|
||||
*/
|
||||
// 获取视频列表
|
||||
mediaSearch(params) {
|
||||
return request({
|
||||
url: '/tianyu/search',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
// 删除视频
|
||||
mediaDel(params) {
|
||||
return request({
|
||||
url: '/mediafile/del',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 添加资源
|
||||
mediaAdd(params) {
|
||||
return request({
|
||||
url: '/tianyu/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 资源更新
|
||||
mediaUpdate(params) {
|
||||
return request({
|
||||
url: '/mediafile/update',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 资源更新预览时长
|
||||
updatePreTime(params) {
|
||||
return request({
|
||||
url: '/mediafile/update/prefile',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,178 @@
|
||||
import axios from '../utils/request';
|
||||
|
||||
// 模块配置
|
||||
const moduleConfApi = {
|
||||
// 获取标签配置列表
|
||||
getTagConfigs(params) {
|
||||
return axios({
|
||||
url: '/tag/conf',
|
||||
type: 'get',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 获取模块配置列表
|
||||
getModules(params) {
|
||||
return axios({
|
||||
url: '/module/conf/list',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 新增模块
|
||||
addModule(params, noFiltering) {
|
||||
return axios({
|
||||
url: '/module/conf/add',
|
||||
type: 'post',
|
||||
params
|
||||
}, noFiltering)
|
||||
},
|
||||
// 修改模块
|
||||
editModule(params, noFiltering) {
|
||||
return axios({
|
||||
url: '/module/conf/edit',
|
||||
type: 'post',
|
||||
params
|
||||
}, noFiltering)
|
||||
},
|
||||
// 删除模块
|
||||
deleteModule(params) {
|
||||
return axios({
|
||||
url: '/module/conf/delete',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
// 获取专题列表
|
||||
getSections(params) {
|
||||
return axios({
|
||||
url: '/module/section/list',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 新增专题
|
||||
addSection(params) {
|
||||
return axios({
|
||||
url: '/module/section/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 修改专题
|
||||
editSection(params) {
|
||||
return axios({
|
||||
url: '/module/section/edit',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 删除专题
|
||||
deleteSection(params) {
|
||||
return axios({
|
||||
url: '/module/section/delete',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 查询专题点击量
|
||||
queryClicks(params) {
|
||||
return axios({
|
||||
url: '/module/section/clicks',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
// 获取视频列表
|
||||
getVideos(params) {
|
||||
return axios({
|
||||
url: '/module/video/list',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 新增视频
|
||||
addVideo(params) {
|
||||
return axios({
|
||||
url: '/module/video/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 批量新增视频
|
||||
addVideos(params) {
|
||||
return axios({
|
||||
url: '/module/video/add/batch',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 修改视频
|
||||
editVideo(params) {
|
||||
return axios({
|
||||
url: '/module/video/edit',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 删除视频
|
||||
deleteVideo(params) {
|
||||
return axios({
|
||||
url: '/module/video/delete',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 获取跑马灯内容
|
||||
queryMarquee(params) {
|
||||
return axios({
|
||||
url: '/module/conf/marquee',
|
||||
type: 'get',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 编辑跑马灯
|
||||
modifyMarquee(params) {
|
||||
return axios({
|
||||
url: '/module/conf/marquee',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 金刚区
|
||||
// 金刚区列表查询
|
||||
queryKingKongList(params) {
|
||||
return axios({
|
||||
url: '/jingang/list',
|
||||
type: 'get',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 金刚区添加
|
||||
addKingKong(params) {
|
||||
return axios({
|
||||
url: '/jingang/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 金刚区修改
|
||||
modifyKingKong(params) {
|
||||
return axios({
|
||||
url: '/jingang/update',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 金刚区删除
|
||||
delKingKong(params) {
|
||||
return axios({
|
||||
url: '/jingang/delete',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default moduleConfApi;
|
||||
@@ -0,0 +1,104 @@
|
||||
import ajax from "../utils/request";
|
||||
|
||||
const nakedChatApi = {
|
||||
/** ********************裸聊专区列表************************* */
|
||||
// 商品复选框
|
||||
getProductCheckbox(params) {
|
||||
return ajax({
|
||||
url: '/business/product/checkbox',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 获取裸聊列表
|
||||
getNakedChatList(params) {
|
||||
return ajax({
|
||||
url: '/nakedchat/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增
|
||||
addNakedChat(params) {
|
||||
return ajax({
|
||||
url: '/nakedchat/create',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 修改
|
||||
updateNakedChat(params) {
|
||||
return ajax({
|
||||
url: '/nakedchat/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 批量修改裸聊模块
|
||||
batchUpdateNakedChat(params) {
|
||||
return ajax({
|
||||
url: '/nakedchat/batch/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 官方公告
|
||||
nakedChatConfig(params) {
|
||||
return ajax({
|
||||
url: '/nude/chat/config',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 修改官方公告
|
||||
updateNakedChatConfig(params) {
|
||||
return ajax({
|
||||
url: '/nude/chat/config',
|
||||
type: 'put',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 获取裸聊购买列表
|
||||
getNakedChatBuyList(params) {
|
||||
return ajax({
|
||||
url: '/nakedchatorder/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 更新裸聊购买
|
||||
updateNakedchatorder(params) {
|
||||
return ajax({
|
||||
url: '/nakedchatorder/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 获取裸聊购买列表
|
||||
confirmUseCode(params) {
|
||||
return ajax({
|
||||
url: '/nude/chat/use/code',
|
||||
type: 'put',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
|
||||
// 获取裸聊举报信息列表
|
||||
queryFeedback(params) {
|
||||
return ajax({
|
||||
url: '/nude/chat/feedback',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
|
||||
operateFeedback(params) {
|
||||
return ajax({
|
||||
url: '/nude/chat/feedback/operate',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default nakedChatApi;
|
||||
@@ -0,0 +1,171 @@
|
||||
import ajax from '../utils/request';
|
||||
|
||||
const BASE = '/officialWebsite';
|
||||
|
||||
const officialWebsiteApi = {
|
||||
// 基础数据
|
||||
getOfficialWebsiteBasic() {
|
||||
return ajax({ url: BASE, type: 'get' });
|
||||
},
|
||||
createOfficialWebsiteBasic(params) {
|
||||
return ajax({ url: BASE, type: 'post', params });
|
||||
},
|
||||
updateOfficialWebsiteBasic(params) {
|
||||
return ajax({ url: BASE, type: 'put', params }, true);
|
||||
},
|
||||
deleteOfficialWebsiteBasic(params) {
|
||||
return ajax({ url: BASE, type: 'delete', params });
|
||||
},
|
||||
|
||||
// 创作者
|
||||
getHeroList(params) {
|
||||
return ajax({ url: `${BASE}/hero/list`, type: 'get', params });
|
||||
},
|
||||
createHero(params) {
|
||||
return ajax({ url: `${BASE}/hero/create`, type: 'post', params });
|
||||
},
|
||||
updateHero(params) {
|
||||
return ajax({ url: `${BASE}/hero/update`, type: 'put', params }, true);
|
||||
},
|
||||
deleteHero(params) {
|
||||
return ajax({ url: `${BASE}/hero/delete`, type: 'delete', params });
|
||||
},
|
||||
|
||||
// 专辑
|
||||
getAlbumList(params) {
|
||||
return ajax({ url: `${BASE}/album/list`, type: 'get', params });
|
||||
},
|
||||
createAlbum(params) {
|
||||
return ajax({ url: `${BASE}/album/create`, type: 'post', params });
|
||||
},
|
||||
updateAlbum(params) {
|
||||
return ajax({ url: `${BASE}/album/update`, type: 'put', params }, true);
|
||||
},
|
||||
deleteAlbum(params) {
|
||||
return ajax({ url: `${BASE}/album/delete`, type: 'delete', params });
|
||||
},
|
||||
|
||||
// 视频
|
||||
getOfficialVideoList(params) {
|
||||
return ajax({ url: `${BASE}/video/list`, type: 'get', params });
|
||||
},
|
||||
createOfficialVideo(params) {
|
||||
return ajax({ url: `${BASE}/video/create`, type: 'post', params });
|
||||
},
|
||||
updateOfficialVideo(params) {
|
||||
return ajax({ url: `${BASE}/video/update`, type: 'put', params }, true);
|
||||
},
|
||||
deleteOfficialVideo(params) {
|
||||
return ajax({ url: `${BASE}/video/delete`, type: 'delete', params });
|
||||
},
|
||||
batchOfficialVideo(params) {
|
||||
return ajax({ url: `${BASE}/video/batch`, type: 'put', params }, true);
|
||||
},
|
||||
// 导入后台视频库视频
|
||||
importOfficialVideo(params) {
|
||||
return ajax({ url: `${BASE}/video/import`, type: 'put', params }, true);
|
||||
},
|
||||
getOfficialVideoListFromVid(params) {
|
||||
return ajax({ url: `${BASE}/video/listFromVid`, type: 'get', params });
|
||||
},
|
||||
|
||||
// 写真
|
||||
getPhotographList(params) {
|
||||
return ajax({ url: `${BASE}/photograph/list`, type: 'get', params });
|
||||
},
|
||||
createPhotograph(params) {
|
||||
return ajax({ url: `${BASE}/photograph/create`, type: 'post', params });
|
||||
},
|
||||
updatePhotograph(params) {
|
||||
return ajax({ url: `${BASE}/photograph/update`, type: 'put', params }, true);
|
||||
},
|
||||
deletePhotograph(params) {
|
||||
return ajax({ url: `${BASE}/photograph/delete`, type: 'delete', params });
|
||||
},
|
||||
batchPhotograph(params) {
|
||||
return ajax({ url: `${BASE}/photograph/batch`, type: 'put', params }, true);
|
||||
},
|
||||
|
||||
// 标签
|
||||
getOfficialTagList(params) {
|
||||
return ajax({ url: `${BASE}/tag/list`, type: 'get', params });
|
||||
},
|
||||
createOfficialTag(params) {
|
||||
return ajax({ url: `${BASE}/tag/create`, type: 'post', params });
|
||||
},
|
||||
updateOfficialTag(params) {
|
||||
return ajax({ url: `${BASE}/tag/update`, type: 'put', params }, true);
|
||||
},
|
||||
deleteOfficialTag(params) {
|
||||
return ajax({ url: `${BASE}/tag/delete`, type: 'delete', params });
|
||||
},
|
||||
|
||||
// 招聘表单
|
||||
getRecruitFormList(params) {
|
||||
return ajax({ url: `${BASE}/recruitForm/list`, type: 'get', params });
|
||||
},
|
||||
updateRecruitForm(params) {
|
||||
return ajax({ url: `${BASE}/recruitForm/update`, type: 'put', params }, true);
|
||||
},
|
||||
deleteRecruitForm(params) {
|
||||
return ajax({ url: `${BASE}/recruitForm/delete`, type: 'delete', params });
|
||||
},
|
||||
|
||||
// 职位
|
||||
getJobList(params) {
|
||||
return ajax({ url: `${BASE}/jobList/list`, type: 'get', params });
|
||||
},
|
||||
createJob(params) {
|
||||
return ajax({ url: `${BASE}/jobList/create`, type: 'post', params });
|
||||
},
|
||||
updateJob(params) {
|
||||
return ajax({ url: `${BASE}/jobList/update`, type: 'put', params }, true);
|
||||
},
|
||||
deleteJob(params) {
|
||||
return ajax({ url: `${BASE}/jobList/delete`, type: 'delete', params });
|
||||
},
|
||||
|
||||
// 新闻
|
||||
getNewsList(params) {
|
||||
return ajax({ url: `${BASE}/news/list`, type: 'get', params });
|
||||
},
|
||||
createNews(params) {
|
||||
return ajax({ url: `${BASE}/news/create`, type: 'post', params });
|
||||
},
|
||||
updateNews(params) {
|
||||
return ajax({ url: `${BASE}/news/update`, type: 'put', params }, true);
|
||||
},
|
||||
deleteNews(params) {
|
||||
return ajax({ url: `${BASE}/news/delete`, type: 'delete', params });
|
||||
},
|
||||
|
||||
// 合作伙伴
|
||||
getPartnerList(params) {
|
||||
return ajax({ url: `${BASE}/partner/list`, type: 'get', params });
|
||||
},
|
||||
createPartner(params) {
|
||||
return ajax({ url: `${BASE}/partner/create`, type: 'post', params });
|
||||
},
|
||||
updatePartner(params) {
|
||||
return ajax({ url: `${BASE}/partner/update`, type: 'put', params }, true);
|
||||
},
|
||||
deletePartner(params) {
|
||||
return ajax({ url: `${BASE}/partner/delete`, type: 'delete', params });
|
||||
},
|
||||
|
||||
// Business
|
||||
getBusinessList(params) {
|
||||
return ajax({ url: `${BASE}/business/list`, type: 'get', params });
|
||||
},
|
||||
createBusiness(params) {
|
||||
return ajax({ url: `${BASE}/business/create`, type: 'post', params });
|
||||
},
|
||||
updateBusiness(params) {
|
||||
return ajax({ url: `${BASE}/business/update`, type: 'put', params }, true);
|
||||
},
|
||||
deleteBusiness(params) {
|
||||
return ajax({ url: `${BASE}/business/delete`, type: 'delete', params });
|
||||
},
|
||||
};
|
||||
|
||||
export default officialWebsiteApi;
|
||||
@@ -0,0 +1,458 @@
|
||||
import ajax from "../utils/request";
|
||||
|
||||
const productApi = {
|
||||
/********************************产品和订单管理*********************************** */
|
||||
/********************************VIP商品列表*********************************** */
|
||||
// VIP商品列表
|
||||
getPruductList(params) {
|
||||
return ajax({
|
||||
url: "/business/product/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// VIP所有权益列表
|
||||
getProductAllList() {
|
||||
return ajax({
|
||||
url: "/productBenefit/all/list",
|
||||
type: "get",
|
||||
});
|
||||
},
|
||||
// 新增栏目
|
||||
getNewSection(params) {
|
||||
return ajax({
|
||||
url: "/business/product",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑栏目
|
||||
getEditSection(params) {
|
||||
return ajax({
|
||||
url: "/business/product/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除栏目
|
||||
getDeleteSection(params) {
|
||||
return ajax({
|
||||
url: "/business/product",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************VIP权益列表*********************************** */
|
||||
// VIP权益列表
|
||||
getProductBenefitList(params) {
|
||||
return ajax({
|
||||
url: "/productBenefit/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增权益
|
||||
newProductBenefit(params) {
|
||||
return ajax({
|
||||
url: "/productBenefit/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑权益
|
||||
editProductBenefit(params) {
|
||||
return ajax({
|
||||
url: "/productBenefit/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除权益
|
||||
deleteProductBenefit(params) {
|
||||
return ajax({
|
||||
url: "/productBenefit/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************金币列表*********************************** */
|
||||
// 新增金币
|
||||
addGold(params) {
|
||||
return ajax({
|
||||
url: "/recharge/gold/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取金币配置列表
|
||||
getGoldList(params) {
|
||||
return ajax({
|
||||
url: "/recharge/gold/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改金币配置
|
||||
updateGold(params) {
|
||||
return ajax({
|
||||
url: "/recharge/gold/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除金币配置
|
||||
delGold(params) {
|
||||
return ajax({
|
||||
url: "/recharge/gold/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************积分配置列表*********************************** */
|
||||
// 获取积分配置列表
|
||||
getIntegralConfigList(params) {
|
||||
return ajax({
|
||||
url: "/integral_config",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加积分配置
|
||||
addIntegralConfig(params) {
|
||||
return ajax({
|
||||
url: "/integral_config",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改积分配置
|
||||
updateIntegralConfig(params) {
|
||||
return ajax({
|
||||
url: "/integral_config",
|
||||
type: "put",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************预售配置列表*********************************** */
|
||||
// 获取预售配置
|
||||
getAdvanceConfigList(params) {
|
||||
return ajax({
|
||||
url: "/advance_config/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加预售配置
|
||||
addAdvanceConfig(params) {
|
||||
return ajax({
|
||||
url: "/advance_config/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除预售配置
|
||||
delAdvanceConfig(params) {
|
||||
return ajax({
|
||||
url: "/advance_config/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改预售配置
|
||||
updateAdvanceConfig(params) {
|
||||
return ajax({
|
||||
url: "/advance_config/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************游戏金币列表*********************************** */
|
||||
// 新增游戏金币
|
||||
addGameGold(params) {
|
||||
return ajax({
|
||||
url: "/recharge/game/gold/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取游戏金币配置列表
|
||||
getGameGoldList(params) {
|
||||
return ajax({
|
||||
url: "/recharge/game/gold/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改游戏金币配置
|
||||
updateGameGold(params) {
|
||||
return ajax({
|
||||
url: "/recharge/game/gold/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除游戏金币配置
|
||||
delGameGold(params) {
|
||||
return ajax({
|
||||
url: "/recharge/game/gold/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/********************************货币列表*********************************** */
|
||||
// 新增货币
|
||||
addCurrency(params) {
|
||||
return ajax({
|
||||
url: "/currency",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取货币配置列表
|
||||
getCurrencyList(params) {
|
||||
return ajax({
|
||||
url: "/currency",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改货币配置
|
||||
updateCurrency(params, noFiltering) {
|
||||
return ajax(
|
||||
{
|
||||
url: "/currency",
|
||||
type: "put",
|
||||
params: params,
|
||||
},
|
||||
noFiltering
|
||||
);
|
||||
},
|
||||
|
||||
/********************************金币优惠配置*********************************** */
|
||||
// 新增金币优惠配置
|
||||
addPayGold(params) {
|
||||
return ajax({
|
||||
url: "/gold/cfg/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取金币支付配置列表
|
||||
getPayGoldList(params) {
|
||||
return ajax({
|
||||
url: "/gold/cfg/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑金币支付配置
|
||||
updatePayGold(params) {
|
||||
return ajax({
|
||||
url: "/gold/cfg/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除金币支付配置
|
||||
delPayGold(params) {
|
||||
return ajax({
|
||||
url: "/gold/cfg/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************推广落地页列表*********************************** */
|
||||
// 新增推广落地页
|
||||
addPromote(params) {
|
||||
return ajax({
|
||||
url: "/promoteUrl/insert",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取推广落地页配置列表
|
||||
getPromoteList(params) {
|
||||
return ajax({
|
||||
url: "/promoteUrl/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改推广落地页配置
|
||||
updatePromote(params) {
|
||||
return ajax({
|
||||
url: "/promoteUrl/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除推广落地页配置
|
||||
delPromote(params) {
|
||||
return ajax({
|
||||
url: "/promoteUrl/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************支付方式列表*********************************** */
|
||||
// 新增支付方式
|
||||
addChannel(params) {
|
||||
return ajax({
|
||||
url: "/recharge/channel/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取支付方式配置列表
|
||||
getChannelList(params) {
|
||||
return ajax({
|
||||
url: "/recharge/channel/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改支付方式配置
|
||||
updateChannel(params) {
|
||||
return ajax({
|
||||
url: "/recharge/channel/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除支付方式配置
|
||||
delChannel(params) {
|
||||
return ajax({
|
||||
url: "/recharge/channel/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/********************************产品展示位置配置列表*********************************** */
|
||||
// 获取列表
|
||||
getPositionList(params) {
|
||||
return ajax({
|
||||
url: "/business/productPosition/list",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增
|
||||
addPosition(params) {
|
||||
return ajax({
|
||||
url: "/business/productPosition/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑
|
||||
editPosition(params) {
|
||||
return ajax({
|
||||
url: "/business/productPosition/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//删除
|
||||
deletePosition(params) {
|
||||
return ajax({
|
||||
url: "/business/productPosition/del",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 产品展示位置
|
||||
getNames(params) {
|
||||
return ajax({
|
||||
url: "/business/productPosition/names",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************VIP升级配置*********************************** */
|
||||
// 获取VIP升级配置信息
|
||||
getConfig(params) {
|
||||
return ajax({
|
||||
url: "/business/getConfig",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//编辑配置信息
|
||||
setConfig(params) {
|
||||
return ajax({
|
||||
url: "/business/setConfig",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************官方下载管理*********************************** */
|
||||
// 官方下载管理列表
|
||||
getOfficialList(params) {
|
||||
return ajax({
|
||||
url: "/official/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增官方下载
|
||||
addOfficial(params) {
|
||||
return ajax({
|
||||
url: "/official/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑官方下载
|
||||
updOfficial(params) {
|
||||
return ajax({
|
||||
url: "/official/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除栏目
|
||||
delOfficial(params) {
|
||||
return ajax({
|
||||
url: "/official/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************banner活动管理*********************************** */
|
||||
// 获取banner活动列表
|
||||
getBannerjumpList(params) {
|
||||
return ajax({
|
||||
url: "/bannerjump/list",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 新增banner活动
|
||||
addBannerjump(params) {
|
||||
return ajax({
|
||||
url: "/bannerjump/create",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 修改banner活动
|
||||
updateBannerjump(params) {
|
||||
return ajax({
|
||||
url: "/bannerjump/update",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 删除banner活动
|
||||
deleteBannerjump(params) {
|
||||
return ajax({
|
||||
url: "/bannerjump/delete",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export default productApi;
|
||||
@@ -0,0 +1,57 @@
|
||||
import ajax from '../utils/request';
|
||||
|
||||
const robotApi = {
|
||||
|
||||
/***************************机器人配置****************************** */
|
||||
// 请求机器人列表
|
||||
getRbotList(params) {
|
||||
return ajax({
|
||||
url: '/robot/conf/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 添加机器人配置
|
||||
addRbot(params) {
|
||||
return ajax({
|
||||
url: '/robot/conf/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 修改机器人列表
|
||||
updateRbot(params) {
|
||||
return ajax({
|
||||
url: '/robot/conf/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
/***************************聊天内容****************************** */
|
||||
// 机器人聊天内容列表
|
||||
getContentList(params) {
|
||||
return ajax({
|
||||
url: '/robot/content/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 增加聊天内容
|
||||
addContent(params) {
|
||||
return ajax({
|
||||
url: '/robot/content/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除聊天内容
|
||||
delContent(params) {
|
||||
return ajax({
|
||||
url: '/robot/content/del',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
export default robotApi;
|
||||
@@ -0,0 +1,97 @@
|
||||
import ajax from '../utils/request';
|
||||
|
||||
const shortVideoRecommendApi = {
|
||||
// 付费引导配置
|
||||
getPaymentGuideList(params) {
|
||||
return ajax({
|
||||
url: '/payment-guide/list',
|
||||
type: 'get',
|
||||
params,
|
||||
});
|
||||
},
|
||||
addPaymentGuide(params) {
|
||||
return ajax({
|
||||
url: '/payment-guide/add',
|
||||
type: 'post',
|
||||
params,
|
||||
});
|
||||
},
|
||||
editPaymentGuide(params) {
|
||||
return ajax({
|
||||
url: '/payment-guide/edit',
|
||||
type: 'post',
|
||||
params,
|
||||
});
|
||||
},
|
||||
deletePaymentGuide(params) {
|
||||
// id 走 query(params),request 对非 get 会把 params 放进 data
|
||||
return ajax({
|
||||
url: `/payment-guide/delete?id=${encodeURIComponent(params.id)}`,
|
||||
type: 'delete',
|
||||
});
|
||||
},
|
||||
|
||||
// 评论 Banner 配置
|
||||
getCommentBannerList(params) {
|
||||
return ajax({
|
||||
url: '/banner/list',
|
||||
type: 'get',
|
||||
params: {
|
||||
scene: 'COMMENT_TOP',
|
||||
...params,
|
||||
},
|
||||
});
|
||||
},
|
||||
addCommentBanner(params) {
|
||||
return ajax({
|
||||
url: '/banner/add',
|
||||
type: 'post',
|
||||
params,
|
||||
});
|
||||
},
|
||||
editCommentBanner(params) {
|
||||
return ajax({
|
||||
url: '/banner/edit',
|
||||
type: 'post',
|
||||
params,
|
||||
});
|
||||
},
|
||||
deleteCommentBanner(params) {
|
||||
return ajax({
|
||||
url: '/banner/delete',
|
||||
type: 'delete',
|
||||
params,
|
||||
});
|
||||
},
|
||||
|
||||
// VIP 卡片实验
|
||||
getVipCardExperimentCurrent() {
|
||||
return ajax({
|
||||
url: '/vip-card-experiment/current',
|
||||
type: 'get',
|
||||
});
|
||||
},
|
||||
publishVipCardExperiment(params) {
|
||||
return ajax({
|
||||
url: '/vip-card-experiment/publish',
|
||||
type: 'post',
|
||||
params,
|
||||
});
|
||||
},
|
||||
disableVipCardExperiment(params) {
|
||||
return ajax({
|
||||
url: '/vip-card-experiment/disable',
|
||||
type: 'post',
|
||||
params,
|
||||
});
|
||||
},
|
||||
getVipCardExperimentStatistics(params) {
|
||||
return ajax({
|
||||
url: '/vip-card-experiment/statistics',
|
||||
type: 'get',
|
||||
params,
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export default shortVideoRecommendApi;
|
||||
@@ -0,0 +1,125 @@
|
||||
import ajax from '../utils/request';
|
||||
|
||||
const signinApi = {
|
||||
// 新增奖品
|
||||
addSignin(params) {
|
||||
return ajax({
|
||||
url: '/task/prize',
|
||||
type: 'post',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 修改奖品
|
||||
editSignin(params) {
|
||||
return ajax({
|
||||
url: '/task/prize',
|
||||
type: 'put',
|
||||
params: params
|
||||
}, true);
|
||||
},
|
||||
// 查询奖品
|
||||
querySignin(params) {
|
||||
return ajax({
|
||||
url: '/task/prize',
|
||||
type: 'get',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
|
||||
// 查询奖品--配置页面
|
||||
queryPrizeBox(params) {
|
||||
return ajax({
|
||||
url: '/activity/prize/box',
|
||||
type: 'get',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 新增配置
|
||||
addSigninConfig(params) {
|
||||
return ajax({
|
||||
url: '/task/sign/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 修改配置
|
||||
editSigninConfig(params) {
|
||||
return ajax({
|
||||
url: '/task/sign/edit',
|
||||
type: 'post',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
// 查询配置
|
||||
querySigninConfig(params) {
|
||||
return ajax({
|
||||
url: '/task/sign/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
});
|
||||
},
|
||||
|
||||
// 签到历史记录(参考 qiyou2_admin_client)
|
||||
getCheckinHistoryList(params) {
|
||||
return ajax({
|
||||
url: '/checkin/history/list',
|
||||
type: 'post',
|
||||
params
|
||||
});
|
||||
},
|
||||
deleteCheckinHistory(params) {
|
||||
return ajax({
|
||||
url: '/checkin/history/del',
|
||||
type: 'post',
|
||||
params
|
||||
});
|
||||
},
|
||||
|
||||
// 签到奖品配置列表(参考 qiyou2_admin_client)
|
||||
checkinCfgAdd(params) {
|
||||
return ajax({
|
||||
url: '/checkinprize/add',
|
||||
type: 'post',
|
||||
params
|
||||
});
|
||||
},
|
||||
checkinCfgDel(params) {
|
||||
return ajax({
|
||||
url: '/checkinprize/del',
|
||||
type: 'post',
|
||||
params
|
||||
});
|
||||
},
|
||||
checkinCfgSearch(params) {
|
||||
return ajax({
|
||||
url: '/checkinprize/list',
|
||||
type: 'post',
|
||||
params
|
||||
});
|
||||
},
|
||||
checkinCfgUpdate(params) {
|
||||
return ajax({
|
||||
url: '/checkinprize/update',
|
||||
type: 'post',
|
||||
params
|
||||
});
|
||||
},
|
||||
|
||||
// 文档后台管理接口
|
||||
getCheckingCg(params = {}) {
|
||||
return ajax({
|
||||
url: '/checkin/conf/get',
|
||||
type: 'post',
|
||||
params
|
||||
});
|
||||
},
|
||||
updateCheckingCg(params) {
|
||||
return ajax({
|
||||
url: '/checkin/conf/update',
|
||||
type: 'post',
|
||||
params
|
||||
});
|
||||
},
|
||||
}
|
||||
|
||||
export default signinApi;
|
||||
@@ -0,0 +1,98 @@
|
||||
import ajax from '../utils/request'
|
||||
|
||||
const staticsApi = {
|
||||
/***************************金币流水统计管理****************************** */
|
||||
// 请求金币流水列表
|
||||
getGlodList(params) {
|
||||
return ajax({
|
||||
url: '/log/gold',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 请求金币流水-用途列表
|
||||
getUseList(params) {
|
||||
return ajax({
|
||||
url: '/log/goldType',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************营收数据****************************** */
|
||||
getRevenue(params) {
|
||||
return ajax({
|
||||
url: '/stats/revenue/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************用户今日统计****************************** */
|
||||
getUserTody(params) {
|
||||
return ajax({
|
||||
url: '/stats/user/daily/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************提现充值成功统计****************************** */
|
||||
getOrderStats(params) {
|
||||
return ajax({
|
||||
url: '/stats/order/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取交易统计里 趋势图详情接口
|
||||
* @param {*} params
|
||||
*/
|
||||
getEchartData(data) {
|
||||
return ajax({
|
||||
url: '/stats/order/sucRate',
|
||||
type: 'post',
|
||||
params:data
|
||||
})
|
||||
},
|
||||
/***************************视频收入统计****************************** */
|
||||
getVIncomeList(params) {
|
||||
return ajax({
|
||||
url: '/stats/video/earn/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************广告点击统计****************************** */
|
||||
getClickStatistics(params) {
|
||||
return ajax({
|
||||
url: '/log/ads/statistical',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************广告ab用户分析****************************** */
|
||||
getAdgroupList(params) {
|
||||
return ajax({
|
||||
url: '/adgroup/list',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************视频销售金币统计****************************** */
|
||||
getVideoPayGoldStat(params) {
|
||||
return ajax({
|
||||
url: '/stats/video/earn/aggregate',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/***************************视频扣量金币统计****************************** */
|
||||
getVideoKlGoldStat(params) {
|
||||
return ajax({
|
||||
url: '/stats/video/publisher/deduction',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default staticsApi
|
||||
@@ -0,0 +1,70 @@
|
||||
import ajax from '../utils/request'
|
||||
const systemApi = {
|
||||
/********************************版本管理*********************************** */
|
||||
// 请求版本管理模块配置列表
|
||||
getVersionList(params) {
|
||||
return ajax({
|
||||
url: '/ver/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除tags
|
||||
getVersionDelets(params) {
|
||||
return ajax({
|
||||
url: '/ver',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑tags
|
||||
getVersionPut(params) {
|
||||
return ajax({
|
||||
url: '/ver/update',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 增加tags
|
||||
getVersionPost(params) {
|
||||
return ajax({
|
||||
url: '/ver',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
/** ***********************ip配置************************** */
|
||||
// 请求列表
|
||||
getIpConfigList(params) {
|
||||
return ajax({
|
||||
url: '/ipwhite/list',
|
||||
type: 'get',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 新增
|
||||
addIpConfig(params) {
|
||||
return ajax({
|
||||
url: '/ipwhite/add',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 编辑
|
||||
updateIpConfig(params) {
|
||||
return ajax({
|
||||
url: '/ipwhite/edit',
|
||||
type: 'post',
|
||||
params: params
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
delIpConfig(params) {
|
||||
return ajax({
|
||||
url: '/ipwhite/del',
|
||||
type: 'delete',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
}
|
||||
export default systemApi
|
||||
@@ -0,0 +1,104 @@
|
||||
import ajax from "../utils/request";
|
||||
const systemMessageApi = {
|
||||
/********************************系统管理*********************************** */
|
||||
// 获取消息通知列表
|
||||
getSystemMessage(params) {
|
||||
return ajax({
|
||||
url: "/infmt/notice/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除消息通知
|
||||
removeMessage(params) {
|
||||
return ajax({
|
||||
url: "/infmt/notice/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
addMessage(params) {
|
||||
return ajax({
|
||||
url: "/infmt/notice/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑通知
|
||||
editMessage(params) {
|
||||
return ajax({
|
||||
url: "/infmt/notice/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取邮件列表
|
||||
getEmailList(params) {
|
||||
return ajax({
|
||||
url: "/infmt/mail/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加邮件
|
||||
addEmail(params) {
|
||||
return ajax({
|
||||
url: "/infmt/mail/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除邮件
|
||||
removeEmail(params) {
|
||||
return ajax({
|
||||
url: "/infmt/mail/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************系统配置列表*********************************** */
|
||||
// 获取系统配置列表
|
||||
getSysconfAll(params) {
|
||||
return ajax({
|
||||
url: "/sysconf/all",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加系统配置
|
||||
addSysconf(params) {
|
||||
return ajax({
|
||||
url: "/sysconf/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除系统配置
|
||||
delSysconf(params) {
|
||||
return ajax({
|
||||
url: "/sysconf/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改系统配置
|
||||
updateSysconf(params) {
|
||||
return ajax(
|
||||
{
|
||||
url: "/sysconf/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
},
|
||||
true
|
||||
);
|
||||
},
|
||||
// selectValues下拉框选项修改
|
||||
updateSysSelect(params) {
|
||||
return ajax({
|
||||
url: "/sysconf/update/select",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
};
|
||||
export default systemMessageApi;
|
||||
@@ -0,0 +1,30 @@
|
||||
import ajax from "../utils/request";
|
||||
|
||||
const tagConfigsListApi = {
|
||||
// 新增标签配置
|
||||
addTagConfig(params) {
|
||||
return ajax({
|
||||
url: '/tag/conf/add',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 删除标签配置
|
||||
delTagConfig(params) {
|
||||
return ajax({
|
||||
url: '/tag/conf/delete',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
},
|
||||
// 修改标签配置
|
||||
editTagConfig(params) {
|
||||
return ajax({
|
||||
url: '/tag/conf/update',
|
||||
type: 'post',
|
||||
params
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export default tagConfigsListApi;
|
||||
@@ -0,0 +1,250 @@
|
||||
import ajax from "../utils/request";
|
||||
|
||||
const transApi = {
|
||||
/********************************充值订单管理列表*********************************** */
|
||||
// 请求充值订单列表
|
||||
getOrderList(params) {
|
||||
return ajax({
|
||||
url: "/recharge/order/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑状态说明
|
||||
editStatusText(params) {
|
||||
return ajax({
|
||||
url: "/recharge/order/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 把订单信息通知到第三方平台
|
||||
handAddScore(params) {
|
||||
return ajax({
|
||||
url: "/daichong/order/handScore",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************积分兑换列表*********************************** */
|
||||
// 获取积分兑换列表
|
||||
getIntegralExchangeList(params) {
|
||||
return ajax({
|
||||
url: "/integral_exchange",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改积分兑换
|
||||
updateIntegralExchange(params) {
|
||||
return ajax({
|
||||
url: "/integral_exchange",
|
||||
type: "put",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************提现订单管理列表*********************************** */
|
||||
// 请求提现列表
|
||||
getWithdrawList(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 提现审核
|
||||
WithdrawExamine(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/check",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************预售订单管理列表*********************************** */
|
||||
// 请求预售订单列表
|
||||
getAdvanceOrderList(params) {
|
||||
return ajax({
|
||||
url: "/advance_order",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
exportAdvanceOrder(params) {
|
||||
return ajax({
|
||||
url: "/advance_order/export",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************提现方式*********************************** */
|
||||
// 新增提现方式
|
||||
addWChannel(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/channel/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取提现方式配置列表
|
||||
getWChannelList(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/channel/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改提现方式配置
|
||||
updateWChannel(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/channel/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改提现税率
|
||||
updateTax(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/channel/batch",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除提现方式配置
|
||||
delWChannel(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/channel/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************提现银行配置*********************************** */
|
||||
// 提现银行配置列表配置
|
||||
cashBankList(params) {
|
||||
return ajax({
|
||||
url: "/bankType/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 提现银行配置新增
|
||||
addCashBank(params) {
|
||||
return ajax({
|
||||
url: "/bankType/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 提现银行配置编辑
|
||||
editCashBank(params) {
|
||||
return ajax({
|
||||
url: "/bankType/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 提现银行配置删除
|
||||
delCashBank(params) {
|
||||
return ajax({
|
||||
url: "/bankType/del ",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/******************************财务转账列表******************************/
|
||||
// 获取财务转账列表
|
||||
getTransferList(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/finan/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 回执请求
|
||||
receipt(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/finan/receipt",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/******************************会员购买记录******************************/
|
||||
getVipCardPurchaseRecord(params) {
|
||||
return ajax({
|
||||
url: "/business/product/order",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
// 导出会员购买记录(POST)
|
||||
exportVipCardPurchaseRecord(params) {
|
||||
return ajax({
|
||||
url: "/business/product/order/export",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/******************************退款列表******************************/
|
||||
// 获取退款列表
|
||||
getRefundList(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/refund/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求
|
||||
Refund(params) {
|
||||
return ajax({
|
||||
url: "/withdraw/refund/dealwith ",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/******************************** AI图生视频订单 *********************************** */
|
||||
getAiImageToVideoList(params) {
|
||||
return ajax({
|
||||
url: "/ai/image_to_video/list",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
delAiImageToVideo(params) {
|
||||
return ajax({
|
||||
url: "/ai/image_to_video/delete",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
updateAiImageToVideo(params) {
|
||||
return ajax({
|
||||
url: "/ai/image_to_video/update",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
getAiTextImage(params) {
|
||||
return ajax({
|
||||
url: "/ai/text_to_image/list",
|
||||
type: "get",
|
||||
params
|
||||
});
|
||||
},
|
||||
delAiTextImage(params) {
|
||||
return ajax({
|
||||
url: "/ai/text_to_image/delete",
|
||||
type: "post",
|
||||
params
|
||||
});
|
||||
},
|
||||
updateAiTextImage(params) {
|
||||
return ajax({
|
||||
url: "/ai/text_to_image/update",
|
||||
type: "post",
|
||||
params
|
||||
});
|
||||
},
|
||||
};
|
||||
export default transApi;
|
||||
@@ -0,0 +1,556 @@
|
||||
import ajax from "../utils/request";
|
||||
const userApi = {
|
||||
/********************************用户管理*********************************** */
|
||||
// 添加用户
|
||||
addUser(params) {
|
||||
return ajax({
|
||||
url: "/user/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 更新用户设备id
|
||||
resetDev(params) {
|
||||
return ajax({
|
||||
url: "/user/devID/reset",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求用户管理模块禁言用户
|
||||
getUserBan(params) {
|
||||
return ajax({
|
||||
url: "/user/banned",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 设置用户是否打广告
|
||||
setUserAdv(params) {
|
||||
return ajax({
|
||||
url: "/user/advertiser",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 神评或者取消神评
|
||||
updateComment(params) {
|
||||
return ajax({
|
||||
url: "/comment/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除用户评论
|
||||
delUserComment(params) {
|
||||
return ajax({
|
||||
url: "/user/deleteComment",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求用户列表
|
||||
getUserList(params) {
|
||||
return ajax({
|
||||
url: "/user/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 更新用户禁止上传状态
|
||||
resetForbid(params) {
|
||||
return ajax({
|
||||
url: "/user/forbid",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求查看或生成验证码
|
||||
getViewCaptcha(params) {
|
||||
return ajax({
|
||||
url: "/extend/viewCaptcha",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求用户观看视频详情列表
|
||||
getUserPlay(params) {
|
||||
return ajax({
|
||||
url: "/user/record/play",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求用户管理模块禁止用户登陆
|
||||
getUserLock(params) {
|
||||
return ajax({
|
||||
url: "/user/lock",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 设置ai伴侣余额
|
||||
creditAiMateBalance(params) {
|
||||
return ajax({
|
||||
url: "/user/credit/aiMateBalance",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑用户
|
||||
editUser(params) {
|
||||
return ajax({
|
||||
url: "/user/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//重置用户银行卡姓名
|
||||
restBankUserName(params) {
|
||||
return ajax(
|
||||
{
|
||||
url: "/user/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
},
|
||||
true
|
||||
);
|
||||
},
|
||||
// 理由列表
|
||||
getReasonList(params) {
|
||||
return ajax({
|
||||
url: "/rejectTemp/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增理由
|
||||
addReasonList(params) {
|
||||
return ajax({
|
||||
url: "/rejectTemp/insert",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除理由
|
||||
delReasonList(params) {
|
||||
return ajax({
|
||||
url: "/rejectTemp/del",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑理由
|
||||
editReasonList(params) {
|
||||
return ajax({
|
||||
url: "/rejectTemp/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
// 用户加金币
|
||||
addUserGold(params) {
|
||||
return ajax({
|
||||
url: "/user/credit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 用户加AI脱衣免费次数
|
||||
addAiUndressFreeTimes(params) {
|
||||
return ajax({
|
||||
url: "/user/update/freeTimes",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 用户加下载次数
|
||||
addDownloadTimes(params) {
|
||||
return ajax({
|
||||
url: "/user/update/download",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 用户加抽奖次数
|
||||
addLotteryTimes(params) {
|
||||
return ajax({
|
||||
url: "/user/update/lotteryTimes",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 用户加积分
|
||||
addUserIntegral(params) {
|
||||
return ajax({
|
||||
url: "/user/integral",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 用户加果币
|
||||
addUserFruitCoin(params) {
|
||||
return ajax({
|
||||
url: "/user/credit/fruitCoin",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 用户VIP权益
|
||||
getUserVipInfo(params) {
|
||||
return ajax({
|
||||
url: "/user/vipInfo",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取账号凭证
|
||||
getQrcode(params) {
|
||||
return ajax({
|
||||
url: "/user/qr_code",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 查询会员卡
|
||||
queryVipCard(params) {
|
||||
return ajax({
|
||||
url: "/business/product/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 查询游戏码
|
||||
queryUserGameCode(params) {
|
||||
return ajax({
|
||||
url: "/user/queryGameCode",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 用户导出
|
||||
exportUserList(params) {
|
||||
return ajax({
|
||||
url: "/export/userList",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************背包列表*********************************** */
|
||||
// 获取背包列表
|
||||
getBackpackList(params) {
|
||||
return ajax({
|
||||
url: "/backpack",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************用户私信列表*********************************** */
|
||||
// 请求用户私信列表
|
||||
getChatMessageList(params) {
|
||||
return ajax({
|
||||
url: "/user/chatMessage/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求用户私信列表
|
||||
chatMessageSend(params) {
|
||||
return ajax({
|
||||
url: "/user/chatMessage/send",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************用户登陆日志*********************************** */
|
||||
// 请求用户登陆日志列表
|
||||
getLoginLog(params) {
|
||||
return ajax({
|
||||
url: "/user/login/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************用户ip限制*********************************** */
|
||||
// 请求ip限制列表
|
||||
getIpBlock(params) {
|
||||
return ajax({
|
||||
url: "/ipblock/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改IP限制
|
||||
editIpBlock(params) {
|
||||
return ajax({
|
||||
url: "/ipblock/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除IP限制
|
||||
delIpBlock(params) {
|
||||
return ajax({
|
||||
url: "/ipblock/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加IP限制
|
||||
addIpBlock(params) {
|
||||
return ajax({
|
||||
url: "/ipblock/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************用户观看日志*********************************** */
|
||||
// 请求用户观看记录列表
|
||||
getWatchLog(params) {
|
||||
return ajax({
|
||||
url: "/user/play/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************用户常见问题*********************************** */
|
||||
//请求用户常见问题列表
|
||||
|
||||
//请求用户常见问题列表
|
||||
getUserQuestionList(params) {
|
||||
return ajax({
|
||||
url: "/user/faq/list",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
//请求用户常见问题分类列表
|
||||
getClassificationList(params) {
|
||||
return ajax({
|
||||
url: "/user/faq/cate/list ",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 新增问题
|
||||
AddQuestion(params) {
|
||||
return ajax({
|
||||
url: "/user/faq/add",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 编辑问题
|
||||
EditQuestion(params) {
|
||||
return ajax({
|
||||
url: "/user/faq/update",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 删除问题
|
||||
DeleteQuestion(params) {
|
||||
return ajax({
|
||||
url: "/user/faq/del",
|
||||
type: "delete",
|
||||
params,
|
||||
});
|
||||
},
|
||||
/********************************用户举报列表*********************************** */
|
||||
// 请求用户举报列表
|
||||
getUserReport(params) {
|
||||
return ajax({
|
||||
url: "/user/report/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求用户举报列表
|
||||
setRept(params) {
|
||||
return ajax({
|
||||
url: "/user/report/setStatus",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求举报分类列表
|
||||
getReportTypes(params) {
|
||||
return ajax({
|
||||
url: "/user/report/types/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************黑名单列表*********************************** */
|
||||
//请求黑名单列表
|
||||
getBlackList(params) {
|
||||
return ajax({
|
||||
url: "/blacklist/list",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 移除黑名单
|
||||
removeBlackList(params) {
|
||||
return ajax({
|
||||
url: "/blacklist/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加黑名单
|
||||
addBlackList(params) {
|
||||
return ajax({
|
||||
url: "/blacklist/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/********************************用户推荐列表*********************************** */
|
||||
// 请求用户推荐列表
|
||||
getRecommendationList(params) {
|
||||
return ajax({
|
||||
url: "/user/reco/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 用户推荐修改
|
||||
updateRecommendation(params) {
|
||||
return ajax({
|
||||
url: "/user/reco/modify",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 用户推荐新增
|
||||
addRecommendation(params) {
|
||||
return ajax({
|
||||
url: "/user/reco/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 用户推荐删除
|
||||
delRecommendation(params) {
|
||||
return ajax({
|
||||
url: "/user/reco/del",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/**********************用户反馈列表******************** */
|
||||
// 请求用户反馈列表
|
||||
getFeedbackList(params) {
|
||||
return ajax({
|
||||
url: "/user/feedback/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//用户反馈修改
|
||||
updateFeedback(params) {
|
||||
return ajax({
|
||||
url: "/user/feedback/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//用户反馈删除
|
||||
delFeedback(params) {
|
||||
return ajax({
|
||||
url: "/user/feedback/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//查询游戏余额
|
||||
queryBalance(params) {
|
||||
return ajax({
|
||||
url: "/game/wali/balance/get",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//回收游戏余额
|
||||
recycleGameBal(params) {
|
||||
return ajax({
|
||||
url: "/game/wali/transfer",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
//回收金币
|
||||
recycleIncome(params) {
|
||||
return ajax({
|
||||
url: "/user/credit/gold",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/**********************用户操作日志列表******************** */
|
||||
// 请求用户日志列表
|
||||
getUserLogList(params) {
|
||||
return ajax({
|
||||
url: "/operation/log/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
// 查询所有工作室用户
|
||||
queryStudioList(params) {
|
||||
return ajax({
|
||||
url: "/user/madou/list ",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************用户资源配置*********************************** */
|
||||
// 请求用户资源配置列表
|
||||
getResource(params) {
|
||||
return ajax({
|
||||
url: "/user/resource/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除用户资源配置
|
||||
delResource(params) {
|
||||
return ajax({
|
||||
url: "/user/resource/del",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增用户资源配置
|
||||
addResource(params) {
|
||||
return ajax({
|
||||
url: "/user/resource/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑用户资源配置
|
||||
updResource(params) {
|
||||
return ajax({
|
||||
url: "/user/resource/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求用户ai伴侣交易列表
|
||||
getUserAiMateTransList(params) {
|
||||
return ajax({
|
||||
url: "/aimate/trans_list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export default userApi;
|
||||
@@ -0,0 +1,813 @@
|
||||
import ajax from "../utils/request";
|
||||
const videoApi = {
|
||||
/********************************审核视频相关接口*********************************** */
|
||||
queryTagList(params) {
|
||||
return ajax({
|
||||
url: "/tag/pure/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
getVideoList(params) {
|
||||
return ajax({
|
||||
url: "/vid/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
queryHappTopList(params) {
|
||||
return ajax({
|
||||
url: "/image/list",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
delHappTopList(params) {
|
||||
return ajax({
|
||||
url: "/image/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
updataHappTopList(params) {
|
||||
return ajax({
|
||||
url: "/image/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
queryVidHot(params) {
|
||||
return ajax({
|
||||
url: "/vid/search",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
exportVideoList(params) {
|
||||
return ajax({
|
||||
url: "/vid/export",
|
||||
type: "post",
|
||||
// responseType: "blob",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 视频删除接口
|
||||
deleteVideos(params) {
|
||||
return ajax({
|
||||
url: "/vid/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 单个视频审核接口
|
||||
examineVideo(params) {
|
||||
return ajax({
|
||||
url: "/vid/batch/pass",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 批量视频审核接口
|
||||
batchReview(params) {
|
||||
return ajax({
|
||||
url: "/vid/batch/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 从专题批量视频删除接口
|
||||
batchDelete(params) {
|
||||
return ajax({
|
||||
url: "/module/video/delete/batch",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 视频编辑
|
||||
editVideoInfo(params) {
|
||||
return ajax(
|
||||
{
|
||||
url: "/vid/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
},
|
||||
true
|
||||
);
|
||||
},
|
||||
// 上传图片
|
||||
fileUpload(params) {
|
||||
return ajax({
|
||||
url: "/vid/uploadStatic",
|
||||
type: "post",
|
||||
headers: {
|
||||
"Content-Type": "multipart/form-data",
|
||||
},
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 推送为精选
|
||||
setChosen(params) {
|
||||
return ajax({
|
||||
url: "/vid/batch/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
// 是否推荐
|
||||
setRecommend(params) {
|
||||
return ajax({
|
||||
url: "/vid/push",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 批量是否推荐
|
||||
batchSetRecommend(params) {
|
||||
return ajax({
|
||||
url: "/vid/batch/reco",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 批量修改帖子类型
|
||||
batchSetVideoType(params) {
|
||||
return ajax({
|
||||
url: "/vid/batch/newsType/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 取消推送
|
||||
cancelRecommend(params) {
|
||||
return ajax({
|
||||
url: "/vid/push/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 推送列表
|
||||
recommendList(params) {
|
||||
return ajax({
|
||||
url: "/vid/push/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
// 视频上传
|
||||
uploadVideo(params) {
|
||||
return ajax({
|
||||
url: "/vid/submit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 精选视频推送
|
||||
pushVideo(params) {
|
||||
return ajax({
|
||||
url: "/vid/push",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 审核不通过理由列表
|
||||
// 查询
|
||||
queryFailList(params) {
|
||||
return ajax({
|
||||
url: "/rejectTemp/vid/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增
|
||||
addFailList(params) {
|
||||
return ajax({
|
||||
url: "/rejectTemp/vid/insert",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除
|
||||
delFailList(params) {
|
||||
return ajax({
|
||||
url: "/rejectTemp/vid/del",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑
|
||||
editFailList(params) {
|
||||
return ajax({
|
||||
url: "/rejectTemp/vid/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 视频审查
|
||||
videoFeviewList(params, urll) {
|
||||
return ajax({
|
||||
url: "/vid/view/" + urll,
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取专题
|
||||
sectionList(params) {
|
||||
return ajax({
|
||||
url: "/module/section/all",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 批量新增视频
|
||||
batch(params) {
|
||||
return ajax({
|
||||
url: "/module/video/add/batch",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 批量新增视频
|
||||
getVideoActivity(params) {
|
||||
return ajax({
|
||||
url: "/video_activity/box",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 断点续传视频验证是否分片上传完毕
|
||||
* @param {*} data
|
||||
*/
|
||||
uploadDotJson(params) {
|
||||
return ajax({
|
||||
url: "/vid/uploadDotJson",
|
||||
type: "post",
|
||||
params: params,
|
||||
headers: {
|
||||
"Content-Type": "application/json; charset=utf-8",
|
||||
},
|
||||
});
|
||||
},
|
||||
uploadDotStream(params) {
|
||||
return ajax({
|
||||
url: "/vid/uploadDotStream",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 批量编辑标签
|
||||
batchEditTags(params) {
|
||||
return ajax({
|
||||
url: "/vid/batch/update/tags",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************城市列表*********************************** */
|
||||
// 删除城市
|
||||
deleteCity(params) {
|
||||
return ajax({
|
||||
url: "/vid/location/hotCity/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取城市列表
|
||||
getCityList(params) {
|
||||
return ajax({
|
||||
url: "/vid/location/city/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑
|
||||
updateCity(params) {
|
||||
return ajax({
|
||||
url: "/vid/location/city/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************热门城市*********************************** */
|
||||
// 新增热门城市
|
||||
addHotCity(params) {
|
||||
return ajax({
|
||||
url: "/vid/location/hotCity/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除热门城市
|
||||
deleteHotCity(params) {
|
||||
return ajax({
|
||||
url: "/vid/location/hotCity/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取热门城市列表
|
||||
getHotCityList(params) {
|
||||
return ajax({
|
||||
url: "/vid/location/hotCity/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑热门城市
|
||||
editHotCity(params) {
|
||||
return ajax({
|
||||
url: "/vid/location/hotCity/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************评论管理*********************************** */
|
||||
// 回复评论
|
||||
replyComment(params) {
|
||||
return ajax({
|
||||
url: "/comment/send",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求评论管理模块配置列表
|
||||
getCommentList(params) {
|
||||
return ajax({
|
||||
url: "/comment/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求评论管理模块封禁用户
|
||||
getCommentBan(params) {
|
||||
return ajax({
|
||||
url: "/comment/ban",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求评论管理模块通过审核
|
||||
getCommentAccess(params) {
|
||||
return ajax({
|
||||
url: "/comment/access",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 评论批量通过
|
||||
commentBatchPass(params) {
|
||||
return ajax({
|
||||
url: "/comment/batch/access",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除评论
|
||||
delComment(params) {
|
||||
return ajax({
|
||||
url: "/comment/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 根据评论内容删除评论
|
||||
deleteContent(params) {
|
||||
return ajax({
|
||||
url: "/web/comment/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 根据评论内容删除评论
|
||||
// upLoadContent(params) {
|
||||
// return ajax({
|
||||
// url: '/comment/importExcel',
|
||||
// type: 'post',
|
||||
// params: params
|
||||
// })
|
||||
// },
|
||||
|
||||
//导入评论内容
|
||||
iExcel(params) {
|
||||
return ajax({
|
||||
url: "/comment/importExcel",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************短视频最热*********************************** */
|
||||
// 请求萝莉岛最热模块配置列表
|
||||
getVideoHotList(params) {
|
||||
return ajax({
|
||||
url: "/vid/tone/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑萝莉岛最热
|
||||
editVideoHot(params) {
|
||||
return ajax({
|
||||
url: "/vid/tone/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************标签管理*********************************** */
|
||||
// 添加标签
|
||||
addTags(params) {
|
||||
return ajax({
|
||||
url: "/tag/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求标签列表
|
||||
getTagList(params) {
|
||||
return ajax({
|
||||
url: "/tag/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求推荐标签列表
|
||||
getRecmdList(params) {
|
||||
return ajax({
|
||||
url: "/recmd/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 请求新增推荐标签
|
||||
addRecmdList(params) {
|
||||
return ajax({
|
||||
url: "/recmd/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑推荐标签
|
||||
editRecmdList(params) {
|
||||
return ajax({
|
||||
url: "/recmd/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除推荐标签
|
||||
deleteRecmdList(params) {
|
||||
return ajax({
|
||||
url: "/recmd/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除tags
|
||||
deleteTags(params) {
|
||||
return ajax({
|
||||
url: "/tag/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑标签
|
||||
editTags(params) {
|
||||
return ajax({
|
||||
url: "/tag/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 推送至精彩
|
||||
pushWonder(params) {
|
||||
return ajax({
|
||||
url: "/vid/wonder/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************发现精彩*********************************** */
|
||||
// 删除推荐精彩
|
||||
deleteWonder(params) {
|
||||
return ajax({
|
||||
url: "/vid/wonder/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取精彩视频列表
|
||||
getWonderList(params) {
|
||||
return ajax({
|
||||
url: "/vid/wonder/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑发现精彩
|
||||
editWonder(params) {
|
||||
return ajax({
|
||||
url: "/vid/wonder/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************视频热度计算方式*********************************** */
|
||||
// 获取视频热度计算方式
|
||||
queryVidPopularity(params) {
|
||||
return ajax({
|
||||
url: "/vid/popularity/config",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 修改视频热度计算方式
|
||||
modifyVidPopularity(params) {
|
||||
return ajax({
|
||||
url: "/vid/popularity/config",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
/********************************资源管理*********************************** */
|
||||
// 删除资源
|
||||
deleteSource(params) {
|
||||
return ajax({
|
||||
url: "/source/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取资源列表
|
||||
getSourceList(params) {
|
||||
return ajax({
|
||||
url: "/source/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加资源
|
||||
addSource(params) {
|
||||
return ajax({
|
||||
url: "/source/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑资源
|
||||
editSource(params) {
|
||||
return ajax({
|
||||
url: "/source/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************过滤词管理*********************************** */
|
||||
// 过滤词列表
|
||||
filterList(params) {
|
||||
return ajax({
|
||||
url: "/filter/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 过滤词删除
|
||||
filterDelete(params) {
|
||||
return ajax({
|
||||
url: "/filter/delete",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 过滤词添加
|
||||
filterAdd(params) {
|
||||
return ajax({
|
||||
url: "/filter/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/***********************免费视频观看配置列表************************ */
|
||||
// 过滤词列表
|
||||
// 删除
|
||||
deletefreeVid(params) {
|
||||
return ajax({
|
||||
url: "/freeVid/cfg/del",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 获取请求列表
|
||||
getfreeVidList(params) {
|
||||
return ajax({
|
||||
url: "/freeVid/cfg/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加
|
||||
addfreeVid(params) {
|
||||
return ajax({
|
||||
url: "/freeVid/cfg/add",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑
|
||||
editfreeVid(params) {
|
||||
return ajax({
|
||||
url: "/freeVid/cfg/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
/***********************活动配置************************ */
|
||||
|
||||
// 查询活动配置
|
||||
queryActiveConfig(params) {
|
||||
return ajax({
|
||||
url: "/video_activity",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
// 新增活动配置
|
||||
addActiveConfig(params) {
|
||||
return ajax({
|
||||
url: "/video_activity",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
|
||||
// 编辑活动配置
|
||||
eidtActiveConfig(params) {
|
||||
return ajax({
|
||||
url: "/video_activity",
|
||||
type: "put",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************金币视频配置*********************************** */
|
||||
// 请求金币视频配置
|
||||
getVideoGoldCoin(params) {
|
||||
return ajax({
|
||||
url: "/video_gold_coin",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 添加金币视频配置
|
||||
addVideoGoldCoin(params) {
|
||||
return ajax({
|
||||
url: "/video_gold_coin",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 修改金币视频配置
|
||||
editVideoGoldCoin(params) {
|
||||
return ajax({
|
||||
url: "/video_gold_coin",
|
||||
type: "put",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除金币视频配置
|
||||
deleteVideoGoldCoin(params) {
|
||||
return ajax({
|
||||
url: "/video_gold_coin",
|
||||
type: "delete",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/***********************视频资源库************************ */
|
||||
// 查询资源库列表
|
||||
queryMediaResConfig(params) {
|
||||
return ajax({
|
||||
url: "/mediaResource/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 使用
|
||||
useMediaRes(params) {
|
||||
return ajax({
|
||||
url: "/mediaResource/use",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 使用
|
||||
ignoreMediaRes(params) {
|
||||
return ajax({
|
||||
url: "/mediaResource/ignore",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/**************************自动上线视频配置**************************/
|
||||
// 视频自动上线列表接口
|
||||
getVidTimeOnlineList(params) {
|
||||
return ajax({
|
||||
url: "/vid/timeOnline/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 视频自动上线新增接口
|
||||
editVidTimeOnline(params) {
|
||||
return ajax({
|
||||
url: "/vid/timeOnline/edit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 视频自动上线删除接口
|
||||
delVidTimeOnline(params) {
|
||||
return ajax({
|
||||
url: "/vid/timeOnline/del",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 视频自动上线批量新增接口
|
||||
batchVidTimeOnline(params) {
|
||||
return ajax({
|
||||
url: "/vid/timeOnline/batchAudit",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/********************************快捷搜索管理*********************************** */
|
||||
// 获取快捷搜索列表
|
||||
getQuickSearchList(params) {
|
||||
return ajax({
|
||||
url: "/quickSearch/list",
|
||||
type: "get",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 新增快捷搜索
|
||||
addQuickSearch(params) {
|
||||
return ajax({
|
||||
url: "/quickSearch/create",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 删除快捷搜索
|
||||
deleteQuickSearch(params) {
|
||||
return ajax({
|
||||
url: "/quickSearch/delete",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
// 编辑快捷搜索
|
||||
editQuickSearch(params) {
|
||||
return ajax({
|
||||
url: "/quickSearch/update",
|
||||
type: "post",
|
||||
params: params,
|
||||
});
|
||||
},
|
||||
/***********************表情包管理************************ */
|
||||
// 获取表情包列表
|
||||
getEmojiList(params) {
|
||||
return ajax({
|
||||
url: "/emoji/list",
|
||||
type: "get",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 新增表情包
|
||||
addEmoji(params) {
|
||||
return ajax({
|
||||
url: "/emoji/create",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 修改表情包
|
||||
updateEmoji(params) {
|
||||
return ajax({
|
||||
url: "/emoji/update",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
// 删除表情包
|
||||
deleteEmoji(params) {
|
||||
return ajax({
|
||||
url: "/emoji/delete",
|
||||
type: "post",
|
||||
params,
|
||||
});
|
||||
},
|
||||
};
|
||||
export default videoApi;
|
||||
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 1014 B |
|
After Width: | Height: | Size: 971 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 203 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 971 B |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 734 B |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,291 @@
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
li {
|
||||
list-style: none;
|
||||
}
|
||||
i {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/*公共样式*/
|
||||
.el-pagination {
|
||||
margin-top: 4px;
|
||||
float: right;
|
||||
}
|
||||
.el-dialog__header {
|
||||
text-align: center;
|
||||
}
|
||||
.el-menu-item-group {
|
||||
.el-menu-item {
|
||||
font-size: 14px;
|
||||
padding-left: 60px !important;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
.el-table {
|
||||
.el-button--mini {
|
||||
padding: 7px 11px !important;
|
||||
font-weight: normal !important;
|
||||
}
|
||||
}
|
||||
// 表头数据可以复制
|
||||
.el-table th {
|
||||
user-select: unset;
|
||||
}
|
||||
/*操作栏样式*/
|
||||
.action-bar {
|
||||
width: 100%;
|
||||
//height: 30px;
|
||||
height: auto;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
margin-bottom: 15px !important;
|
||||
.el-select {
|
||||
width: 150px;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.el-button {
|
||||
margin-left: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.block {
|
||||
margin-top: 30px;
|
||||
}
|
||||
.param-input {
|
||||
width: 180px;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.color-1 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#25aae1,
|
||||
#40e495,
|
||||
#30dd8a,
|
||||
#2bb673
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(49, 196, 190, 0.75);
|
||||
}
|
||||
.color-2 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#f5ce62,
|
||||
#e43603,
|
||||
#fa7199,
|
||||
#e85a19
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(229, 66, 10, 0.75);
|
||||
}
|
||||
.color-3 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#667eea,
|
||||
#764ba2,
|
||||
#6b8dd6,
|
||||
#8e37d7
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(116, 79, 168, 0.75);
|
||||
}
|
||||
.color-4 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#fc6076,
|
||||
#ff9a44,
|
||||
#ef9d43,
|
||||
#e75516
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(252, 104, 110, 0.75);
|
||||
}
|
||||
.color-5 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#0ba360,
|
||||
#3cba92,
|
||||
#30dd8a,
|
||||
#2bb673
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(23, 168, 108, 0.75);
|
||||
}
|
||||
.color-6 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#009245,
|
||||
#fcee21,
|
||||
#00a8c5,
|
||||
#d9e021
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(83, 176, 57, 0.75);
|
||||
}
|
||||
.color-7 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#6253e1,
|
||||
#852d91,
|
||||
#a3a1ff,
|
||||
#f24645
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(126, 52, 161, 0.75);
|
||||
}
|
||||
.color-8 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#29323c,
|
||||
#485563,
|
||||
#2b5876,
|
||||
#4e4376
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(45, 54, 65, 0.75);
|
||||
}
|
||||
.color-9 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#25aae1,
|
||||
#4481eb,
|
||||
#04befe,
|
||||
#3f86ed
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(65, 132, 234, 0.75);
|
||||
}
|
||||
.color-10 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#ed6ea0,
|
||||
#ec8c69,
|
||||
#f7186a,
|
||||
#fbb03b
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(236, 116, 149, 0.75);
|
||||
}
|
||||
.color-11 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#eb3941,
|
||||
#04befe,
|
||||
#e14e53,
|
||||
#3f86ed
|
||||
);
|
||||
box-shadow: 0 5px 15px rgba(242, 97, 103, 0.4);
|
||||
}
|
||||
.color-12 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#ed6ea0,
|
||||
#ec8c69,
|
||||
#ec8c69,
|
||||
#ed6ea0
|
||||
);
|
||||
box-shadow: 0 5px 15px rgba(242, 97, 103, 0.4);
|
||||
}
|
||||
.color-13 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#25aae1,
|
||||
#40e495,
|
||||
#30dd8a,
|
||||
#2bb673
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(49, 196, 190, 0.75);
|
||||
}
|
||||
.color-14 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#f5ce62,
|
||||
#e43603,
|
||||
#fa7199,
|
||||
#e85a19
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(229, 66, 10, 0.75);
|
||||
}
|
||||
.color-15 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#667eea,
|
||||
#764ba2,
|
||||
#6b8dd6,
|
||||
#8e37d7
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(116, 79, 168, 0.75);
|
||||
}
|
||||
.color-16 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#fc6076,
|
||||
#ff9a44,
|
||||
#ef9d43,
|
||||
#e75516
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(252, 104, 110, 0.75);
|
||||
}
|
||||
.color-17 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#0ba360,
|
||||
#3cba92,
|
||||
#30dd8a,
|
||||
#2bb673
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(23, 168, 108, 0.75);
|
||||
}
|
||||
.color-18 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#009245,
|
||||
#fcee21,
|
||||
#00a8c5,
|
||||
#d9e021
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(83, 176, 57, 0.75);
|
||||
}
|
||||
.color-19 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#6253e1,
|
||||
#852d91,
|
||||
#a3a1ff,
|
||||
#f24645
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(126, 52, 161, 0.75);
|
||||
}
|
||||
.color-20 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#29323c,
|
||||
#485563,
|
||||
#2b5876,
|
||||
#4e4376
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(45, 54, 65, 0.75);
|
||||
}
|
||||
.color-9 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#25aae1,
|
||||
#4481eb,
|
||||
#04befe,
|
||||
#3f86ed
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(65, 132, 234, 0.75);
|
||||
}
|
||||
.color-10 {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
#ed6ea0,
|
||||
#ec8c69,
|
||||
#f7186a,
|
||||
#fbb03b
|
||||
);
|
||||
box-shadow: 0 4px 15px 0 rgba(236, 116, 149, 0.75);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/* 改变主题色变量 */
|
||||
$--color-primary: #e63765;
|
||||
|
||||
/* 改变 icon 字体路径变量,必需 */
|
||||
$--font-path: '~element-ui/lib/theme-chalk/fonts';
|
||||
|
||||
@import '~element-ui/packages/theme-chalk/src/index';
|
||||