项目初始化

This commit is contained in:
tianfeng 2025-07-30 17:45:41 +08:00
commit d654b7f615
1061 changed files with 180853 additions and 0 deletions

14
.editorconfig Normal file
View File

@ -0,0 +1,14 @@
# http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false

26
.env.development Normal file
View File

@ -0,0 +1,26 @@
# just a flag
ENV = 'development'
# base api
VUE_APP_BASE_API = '/console'
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
# It only does one thing by converting all import() to require().
# This configuration can significantly increase the speed of hot updates,
# when you have a large number of pages.
# Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js
VUE_CLI_BABEL_TRANSPILE_MODULES = true
# application base url
# VUE_APP_BASE_URL = 'http://localhost:9528'
VUE_APP_BASE_URL ='http://local.consolepage.yuyinfang168.com'
# oss
VUE_APP_OSS_BUCKET = 'dev-yuyin'
VUE_APP_OSS_URL = 'https://dev-yuyin.oss-ap-southeast-1.aliyuncs.com'
# h5
VUE_APP_H5_BASE_URL = 'http://local.h5.yuyinfang168.com'
# start mock
VUE_APP_START_MOCK = false

18
.env.production Normal file
View File

@ -0,0 +1,18 @@
# just a flag
ENV = 'production'
# base api
VUE_APP_BASE_API = '/console'
# application base url
VUE_APP_BASE_URL = 'https://console.lotfuns.com'
# oss
VUE_APP_OSS_BUCKET = 'lotfun'
VUE_APP_OSS_URL = 'https://lotfun.oss-ap-southeast-1.aliyuncs.com'
# h5
VUE_APP_H5_BASE_URL = 'http://h5.lotfuns.com'
# start mock
VUE_APP_START_MOCK = false

20
.env.staging Normal file
View File

@ -0,0 +1,20 @@
NODE_ENV = production
# just a flag
ENV = 'staging'
# base api
VUE_APP_BASE_API = '/console'
# application base url 这个请求地址是后端请求 使用nginx去做转发配置请求内网地址
VUE_APP_BASE_URL = 'http://local.consolepage.yuyinfang168.com'
# oss
VUE_APP_OSS_BUCKET = 'dev-yuyin'
VUE_APP_OSS_URL = 'https://dev-yuyin.oss-ap-southeast-1.aliyuncs.com'
# h5
VUE_APP_H5_BASE_URL = 'http://local.h5.yuyinfang168.com'
# start mock
VUE_APP_START_MOCK = false

4
.eslintignore Normal file
View File

@ -0,0 +1,4 @@
build/*.js
src/assets
public
dist

198
.eslintrc.js Normal file
View File

@ -0,0 +1,198 @@
module.exports = {
root: true,
parserOptions: {
parser: 'babel-eslint',
sourceType: 'module'
},
env: {
browser: true,
node: true,
es6: true,
},
extends: ['plugin:vue/recommended', 'eslint:recommended'],
// add your custom rules here
//it is base on https://github.com/vuejs/eslint-config-vue
rules: {
"vue/max-attributes-per-line": [2, {
"singleline": 10,
"multiline": {
"max": 1,
"allowFirstLine": false
}
}],
"vue/singleline-html-element-content-newline": "off",
"vue/multiline-html-element-content-newline":"off",
"vue/name-property-casing": ["error", "PascalCase"],
"vue/no-v-html": "off",
'accessor-pairs': 2,
'arrow-spacing': [2, {
'before': true,
'after': true
}],
'block-spacing': [2, 'always'],
'brace-style': [2, '1tbs', {
'allowSingleLine': true
}],
'camelcase': [0, {
'properties': 'always'
}],
'comma-dangle': [2, 'never'],
'comma-spacing': [2, {
'before': false,
'after': true
}],
'comma-style': [2, 'last'],
'constructor-super': 2,
'curly': [2, 'multi-line'],
'dot-location': [2, 'property'],
'eol-last': 2,
'eqeqeq': ["error", "always", {"null": "ignore"}],
'generator-star-spacing': [2, {
'before': true,
'after': true
}],
'handle-callback-err': [2, '^(err|error)$'],
'indent': [2, 2, {
'SwitchCase': 1
}],
'jsx-quotes': [2, 'prefer-single'],
'key-spacing': [2, {
'beforeColon': false,
'afterColon': true
}],
'keyword-spacing': [2, {
'before': true,
'after': true
}],
'new-cap': [2, {
'newIsCap': true,
'capIsNew': false
}],
'new-parens': 2,
'no-array-constructor': 2,
'no-caller': 2,
'no-console': 'off',
'no-class-assign': 2,
'no-cond-assign': 2,
'no-const-assign': 2,
'no-control-regex': 0,
'no-delete-var': 2,
'no-dupe-args': 2,
'no-dupe-class-members': 2,
'no-dupe-keys': 2,
'no-duplicate-case': 2,
'no-empty-character-class': 2,
'no-empty-pattern': 2,
'no-eval': 2,
'no-ex-assign': 2,
'no-extend-native': 2,
'no-extra-bind': 2,
'no-extra-boolean-cast': 2,
'no-extra-parens': [2, 'functions'],
'no-fallthrough': 2,
'no-floating-decimal': 2,
'no-func-assign': 2,
'no-implied-eval': 2,
'no-inner-declarations': [2, 'functions'],
'no-invalid-regexp': 2,
'no-irregular-whitespace': 2,
'no-iterator': 2,
'no-label-var': 2,
'no-labels': [2, {
'allowLoop': false,
'allowSwitch': false
}],
'no-lone-blocks': 2,
'no-mixed-spaces-and-tabs': 2,
'no-multi-spaces': 2,
'no-multi-str': 2,
'no-multiple-empty-lines': [2, {
'max': 1
}],
'no-native-reassign': 2,
'no-negated-in-lhs': 2,
'no-new-object': 2,
'no-new-require': 2,
'no-new-symbol': 2,
'no-new-wrappers': 2,
'no-obj-calls': 2,
'no-octal': 2,
'no-octal-escape': 2,
'no-path-concat': 2,
'no-proto': 2,
'no-redeclare': 2,
'no-regex-spaces': 2,
'no-return-assign': [2, 'except-parens'],
'no-self-assign': 2,
'no-self-compare': 2,
'no-sequences': 2,
'no-shadow-restricted-names': 2,
'no-spaced-func': 2,
'no-sparse-arrays': 2,
'no-this-before-super': 2,
'no-throw-literal': 2,
'no-trailing-spaces': 2,
'no-undef': 2,
'no-undef-init': 2,
'no-unexpected-multiline': 2,
'no-unmodified-loop-condition': 2,
'no-unneeded-ternary': [2, {
'defaultAssignment': false
}],
'no-unreachable': 2,
'no-unsafe-finally': 2,
'no-unused-vars': [2, {
'vars': 'all',
'args': 'none'
}],
'no-useless-call': 2,
'no-useless-computed-key': 2,
'no-useless-constructor': 2,
'no-useless-escape': 0,
'no-whitespace-before-property': 2,
'no-with': 2,
'one-var': [2, {
'initialized': 'never'
}],
'operator-linebreak': [2, 'after', {
'overrides': {
'?': 'before',
':': 'before'
}
}],
'padded-blocks': [2, 'never'],
'quotes': [2, 'single', {
'avoidEscape': true,
'allowTemplateLiterals': true
}],
'semi': [2, 'never'],
'semi-spacing': [2, {
'before': false,
'after': true
}],
'space-before-blocks': [2, 'always'],
'space-before-function-paren': [2, 'never'],
'space-in-parens': [2, 'never'],
'space-infix-ops': 2,
'space-unary-ops': [2, {
'words': true,
'nonwords': false
}],
'spaced-comment': [2, 'always', {
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
}],
'template-curly-spacing': [2, 'never'],
'use-isnan': 2,
'valid-typeof': 2,
'wrap-iife': [2, 'any'],
'yield-star-spacing': [2, 'both'],
'yoda': [2, 'never'],
'prefer-const': 2,
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
'object-curly-spacing': [2, 'always', {
objectsInObjects: false
}],
'array-bracket-spacing': [2, 'never']
}
}

16
.gitignore vendored Normal file
View File

@ -0,0 +1,16 @@
.DS_Store
node_modules/
dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json
tests/**/coverage/
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln

5
.travis.yml Normal file
View File

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

6
Dockerfile Normal file
View File

@ -0,0 +1,6 @@
FROM 794038239327.dkr.ecr.ap-southeast-1.amazonaws.com/halar-dev:nginx-alpine3.17
COPY dist/ /usr/share/nginx/html/
COPY nginx/nginx.conf /etc/nginx/nginx.conf
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
EXPOSE 80

6
Dockerfile-hooka Normal file
View File

@ -0,0 +1,6 @@
FROM 794038239327.dkr.ecr.ap-southeast-1.amazonaws.com/halar-dev:nginx-alpine3.17
COPY dist/ /usr/share/nginx/html/
COPY nginx/nginx.conf /etc/nginx/nginx.conf
COPY nginx/default_hooka.conf /etc/nginx/conf.d/default.conf
EXPOSE 80

21
LICENSE Normal file
View File

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

1
README-zh.md Normal file
View File

@ -0,0 +1 @@
# Sugartime-admin

36
README.en.md Normal file
View File

@ -0,0 +1,36 @@
# red-circle-webconsole
#### Description
后台前端仓库
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

32
README.md Normal file
View File

@ -0,0 +1,32 @@
# 后台管理系统
建议开发人员使用 `Vscode`
* 必须安装启动 `ESLint` 严格统一代码风格
# 项目启动命令
```
# 初次下载
npm install
# 运行项目
npm run dev
# 打包发布
npm run build:prod
```
# 创建页面流程
```
1.创建页面已文件夹作为一个页面名称index作为入口
2.定义路由在router文件中定义本地路由
3.定义接口Api在api目录定义接口
4.定义Api mock 数据在mock目录定义mock服务数据
5.实现自己的逻辑 完成
```

79
admin-dashboard-svc.yaml Normal file
View File

@ -0,0 +1,79 @@
apiVersion: v1
kind: Namespace
metadata:
name: rc-service-admin-dashboard
labels:
elbv2.k8s.aws/pod-readiness-gate-inject: enabled
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: rc-service-admin-dashboard
name: admin-dashboard-deployment
labels:
app: admin-dashboard
spec:
replicas: 2
revisionHistoryLimit: 3
selector:
matchLabels:
app: admin-dashboard
template:
metadata:
labels:
app: admin-dashboard
spec:
containers:
- name: admin-dashboard
image: registry.ap-southeast-1.aliyuncs.com/rc1304/admin-dashboard:20230417v1
ports:
- containerPort: 80
resources:
requests:
cpu: ".5"
memory: "200Mi"
limits:
cpu: "1"
memory: "520Mi"
imagePullSecrets:
- name: rc-aliyun-secret
---
apiVersion: v1
kind: Service
metadata:
namespace: rc-service-admin-dashboard
name: admin-dashboard-service
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: external
service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
service.beta.kubernetes.io/aws-load-balancer-target-group-attributes: deregistration_delay.timeout_seconds=30
service.beta.kubernetes.io/aws-load-balancer-healthcheck-path: /
service.beta.kubernetes.io/aws-load-balancer-healthcheck-healthy-threshold: '2'
service.beta.kubernetes.io/aws-load-balancer-healthcheck-unhealthy-threshold: '2'
service.beta.kubernetes.io/aws-load-balancer-healthcheck-interval: '10'
#service.beta.kubernetes.io/aws-load-balancer-healthcheck-timeout: '2'
spec:
selector:
app: admin-dashboard
type: LoadBalancer
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: v1
data:
.dockerconfigjson: eyJhdXRocyI6eyJyZWdpc3RyeS5hcC1zb3V0aGVhc3QtMS5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiLnuqLlnIbnp5HmioDlhazlj7giLCJwYXNzd29yZCI6IjEzOTIyNDYwMDUwLiIsImF1dGgiOiI1N3FpNVp5RzU2ZVI1b3FBNVlXczVZKzRPakV6T1RJeU5EWXdNRFV3TGc9PSJ9fX0=
kind: Secret
metadata:
namespace: rc-service-admin-dashboard
creationTimestamp: "2023-04-12T08:35:59Z"
name: rc-aliyun-secret
resourceVersion: "2202094"
uid: 0ea42058-a318-4ead-af1c-441cbbc5e649
type: kubernetes.io/dockerconfigjson

5
babel.config.js Normal file
View File

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

35
build/index.js Normal file
View File

@ -0,0 +1,35 @@
const { run } = require('runjs')
const chalk = require('chalk')
const config = require('../vue.config.js')
const rawArgv = process.argv.slice(2)
const args = rawArgv.join(' ')
if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
const report = rawArgv.includes('--report')
run(`vue-cli-service build ${args}`)
const port = 9526
const publicPath = config.publicPath
var connect = require('connect')
var serveStatic = require('serve-static')
const app = connect()
app.use(
publicPath,
serveStatic('./dist', {
index: ['index.html', '/']
})
)
app.listen(port, function () {
console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`))
if (report) {
console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`))
}
})
} else {
run(`vue-cli-service build ${args}`)
}

24
jest.config.js Normal file
View File

@ -0,0 +1,24 @@
module.exports = {
moduleFileExtensions: ['js', 'jsx', 'json', 'vue'],
transform: {
'^.+\\.vue$': 'vue-jest',
'.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$':
'jest-transform-stub',
'^.+\\.jsx?$': 'babel-jest'
},
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1'
},
snapshotSerializers: ['jest-serializer-vue'],
testMatch: [
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
],
collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'],
coverageDirectory: '<rootDir>/tests/unit/coverage',
// 'collectCoverage': true,
'coverageReporters': [
'lcov',
'text-summary'
],
testURL: 'http://localhost/'
}

9
jsconfig.json Normal file
View File

@ -0,0 +1,9 @@
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
},
"exclude": ["node_modules", "dist"]
}

5
mock/activity.js Normal file
View File

@ -0,0 +1,5 @@
import Mock from 'mockjs'
export default [
]

85
mock/app-manager.js Normal file
View File

@ -0,0 +1,85 @@
import Mock from 'mockjs'
export default [
// 设置buildVersion
{
url: '/sys/version/manage/add/build-version',
type: 'get',
response: config => {
return {
status: 200,
result: {}
}
}
},
// 获取当前设置buildVersion
{
url: '/sys/version/manage/get/build-version',
type: 'get',
response: config => {
return {
status: 200,
result: 0
}
}
},
// app版本信息列表
{
url: '/sys/version/manage',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({
'items|30': [{
'id': '@id',
'clientType': 'iOS',
'version': '1.5.7',
'forceUpdate': 'true',
'updateDescribe': '强制更新',
'apkSize': '123M',
'review': 'true',
'del': 0,
'downloadUrl': 'xxx',
'publishTime': '2020-03-23 16:53:49'
}]
}).items, total: 0, size: 30, current: 1, searchCount: true, pages: 0
}
}
}
},
// 添加版本信息
{
url: '/sys/version/manage',
type: 'post',
response: config => {
return {
status: 200,
result: {}
}
}
},
// 修改版本信息
{
url: '/sys/version/manage/update',
type: 'put',
response: config => {
return {
status: 200,
result: {}
}
}
},
// 删除版本信息
{
url: '/sys/version/manage/\.',
type: 'get',
response: config => {
return {
status: 200,
result: {}
}
}
}
]

272
mock/app-user.js Normal file
View File

@ -0,0 +1,272 @@
import Mock from 'mockjs'
export default [
// 用户扩展资料
{
url: '/user/expand',
type: 'get',
response: () => {
return { 'status': 200, 'result': { 'createTime': '2022-05-24 18:55:46', 'updateTime': '2022-05-24 19:15:03', 'userId': '1529053537530519554', 'language': 'en', 'lastZoneId': 'UTC', 'lastActiveTime': '2022-05-24 19:15:03', 'unlockArchiveSize': 0, 'purchasing': false, 'signature': '', 'registerCountryCode': 'US' }}
}
},
// 货运代理账户分页列表
{
url: '/freight/page',
type: 'get',
response: () => {
return { 'status': 200, 'result': { 'records': [{ 'id': '123', 'sysOrigin': 'ASWAT', 'userId': '1408342064156770305', 'earnPoints': 10000.00, 'consumptionPoints': 4000.00, 'createTime': '2021-07-06 16:41:09', 'updateTime': '2021-07-06 17:21:58', 'userBaseInfo': { 'createTime': '2021-06-25 16:31:28', 'updateTime': '2021-06-25 16:31:28', 'id': '1408342064156770305', 'userAvatar': '', 'originSys': 'ASWAT', 'userNickname': '啦啦啦2', 'userSex': 1, 'userSexName': '男', 'userType': 0, 'age': 1, 'bornYear': 2020, 'bornMonth': 1, 'bornDay': 1, 'userTypeName': '真实', 'countryName': 'China', 'countryId': '1231833262813360130', 'countryCode': 'CN', 'accountStatus': 'NORMAL', 'accountStatusName': '正常', 'freezingTime': '2021-06-24 16:31:28', 'del': false, 'account': '41712' }, 'balance': 6000.00 }], 'total': 1, 'size': 1000, 'current': 1, 'searchCount': true, 'pages': 1 }}
}
},
// 用户糖果余额
{
url: '/user/base/info/account/status/\.',
type: 'get',
response: () => {
return {
'status': 200,
'result': {
'key': 'ARCHIVE',
'value': '封存'
}
}
}
},
// 账户余额信息
{
url: '/user/subscription/balance/\./name',
type: 'get',
response: config => {
return {
status: 200,
result: '-'
}
}
},
// 认证信息
{
url: '/user/auth/type/\.*',
type: 'get',
response: config => {
return {
status: 200,
result: {
'createTime': '2020-03-23 16:49:17',
'updateTime': '2020-03-23 16:49:17',
'userId': '1242010518727663617',
'openId': '123456',
'type': 'FACEBOOK',
'del': false
}
}
}
},
// 注册信息
{
url: '/user/register/info/\.*',
type: 'get',
response: config => {
return {
status: 200,
result: {
'createTime': '2020-03-23 16:49:17',
'updateTime': '2020-03-23 16:49:17',
'userId': '1242010518727663617',
'residentialAddress': '深圳市 软件产业基地 xxxx',
'authType': 'FACEBOOK',
'originPlatform': 'iOS',
'origin_phone_model': 'iphone 12'
}
}
}
},
// 正常照片墙
{
url: '/user/photo/wall/normal/\.*',
type: 'get',
response: config => {
return {
status: 200,
result: Mock.mock({
'items|6': [{
'id': '@id',
'resourceUrl': 'https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg',
'sort': '0',
'violation': 'NORMAL',
'createTime': '2020-03-23 16:53:49',
'updateTime': '2020-03-23 16:53:49'
}]
}).items
}
}
},
// 所有照片墙
{
url: '/user/photo/wall/all/\.*',
type: 'get',
response: config => {
return {
status: 200,
result: Mock.mock({
'items|6': [{
'id': '@id',
'resourceUrl': 'https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg',
'sort': '0',
'violation': 'NORMAL',
'createTime': '2020-03-23 16:53:49',
'updateTime': '2020-03-23 16:53:49'
}]
}).items
}
}
},
// app用户列表
{
url: '/user/base/info/page',
type: 'post',
response: config => {
return {
status: 200,
result: Mock.mock({
'items|30': [
{
'userProfile': {
'id': '@id',
'sysOrigin': 'SUGARTIME',
'account': '@id',
'candyNumber': '12',
'userAvatar': '',
'userNickname': '@sentence(2, 6)',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'userTypeName': '真实',
'countryName': 'Qatar',
'countryCode': 'QA',
'countryId': '1231833357432664065',
'createTime': '2021-07-25 10:36:17',
'vipStatusName': '-',
'authType': 'APPLE',
'level': 0,
'accountStatus': 'NORMAL',
'accountStatusName': '正常',
'age': 25,
'bornYear': 1996,
'bornMonth': 4,
'bornDay': 1
},
'userRegisterInfo': {
'originPlatform': 'iOS',
'originPhoneModel': 'iPhone 11 Pro'
},
'lastActiveTime': '2021-07-25 10:36:19',
'goldBalance': 123123
}]
}).items
}
}
},
// app用户列表
{
url: '/user/base/info/\.*',
type: 'get',
response: () => {
return {
'status': 200,
'result': {
'createTime': '2020-03-23 14:43:50',
'updateTime': '2020-03-23 14:45:10',
'id': '1241978948486668290',
'userAvatar': 'http://dev.qiniu.sugartimeapp.com/807E56D2-4E24-4048-BDCE-8C72BB39C723.png',
'userNickname': 'Betty Aldbhiidacbdi Lauberg',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'userTypeName': '真实',
'countryName': 'China',
'del': false
}
}
}
},
// 所有照片墙
{
url: '/user/photo/wall/page',
type: 'get',
response: () => {
return {
'status': 200,
result: {
records: Mock.mock({
'items|30': [{
'createTime': '2020-04-03 18:13:13',
'updateTime': '2020-04-03 18:13:13',
'id': '1246017905511866369',
'userId': '1245960976894763009',
'resourceUrl': 'http://dev.qiniu.sugartimeapp.com/3BBD3DBF-6086-444B-9AF0-77F16BF901F2.png',
'sort': 0,
'violation': 'NORMAL'
}]
}).items,
total: 30,
size: 30,
current: 1,
searchCount: true,
pages: 3
}
}
}
},
{
url: '/user/photo/wall/del/\.*',
type: 'get',
response: () => {
return {
'status': 200
}
}
},
// 修改用户信息
{
url: '/user/base/info',
type: 'put',
response: () => {
return {
'status': 200
}
}
},
// 修改用户等级
{
url: '/user/level/score',
type: 'post',
response: () => {
return {
'status': 200
}
}
},
// 用户糖果余额
{
url: '/user/candy/balance/\.',
type: 'get',
response: () => {
return {
'status': 200,
'result': {
'balance': 100
}
}
}
},
// 用户糖果余额-top表
{
url: '/user/candy/balance/top',
type: 'get',
response: () => {
return {
'status': 200,
'result': []
}
}
}
]

354
mock/approval.js Normal file
View File

@ -0,0 +1,354 @@
import Mock from 'mockjs'
import { getPage, post, get } from './default_request'
export default [
// 获取审批信息列表
{
url: '/sys/video/call/censor/approval/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({
'items|30': [{
'createTime': '2020-03-20 17:52:52',
'updateTime': '2020-03-20 17:52:52',
'id': '1240939356966854657',
'userId': '1237225366122110977',
'userNickname': 'Linda',
'userSex': 1,
'userSexName': '男',
'userAvatar': 'http://dev.qiniu.sugartimeapp.com/1583812560900.jpg',
'age': 30,
'accountStatus': 'NORMAL',
'accountStatusName': '正常',
'countryName': 'China',
'labelNames': '色情/性感',
'scores': '0.55/0.95/0.68/0.85',
'approvalResult': '',
'approvalResultName': '',
'approvalStatus': 0,
'approvalStatusName': '待审批',
'censorViolationResources': Mock.mock({ 'items|1-6': [
{
'id': '1240939358531330050',
'relatedId': '1240939356966854657',
'groupId': '1240939358489387010',
'rate': 0.55,
'label': 0,
'labelName': '色情',
'imgUrl': 'http://dev.qiniu.sugartimeapp.com/1240939357029769218_20200320.png',
'review': true,
'createTime': '2020-03-20 17:52:53',
'updateTime': '2020-03-20 17:52:53'
}
] }).items,
'coverPicture': 'http://dev.qiniu.sugartimeapp.com/1240939357029769218_20200320.png'
}]
}).items,
total: 30,
size: 30,
current: 1,
searchCount: true,
pages: 3
}
}
}
},
// 用户账号违规
{
url: '/user/data/violation/expand/approval/account',
type: 'post',
response: config => {
return { 'status': 200 }
}
},
// 获取视频违规记录
{
url: '/sys/video/call/censor/approval/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({
'items|30': [{
'createTime': '2020-03-17 14:36:11',
'updateTime': '2020-03-18 10:33:16',
'updateUser': '23',
'id': '@id',
'userId': '1218488747672195074',
'userNickname': 'view~',
'userSex': 0,
'userSexName': '女',
'userAvatar': 'http://dev.qiniu.sugartimeapp.com/1584081528063.jpg',
'age': 26,
'accountStatus': 'NORMAL',
'accountStatusName': '正常',
'countryName': 'Taiwan, Province of China',
'labelNames': '男人',
'scores': '0.62',
'approvalResult': 'PRON,VIOLENT',
'approvalResultName': '涉黄/涉爆',
'approvalStatus': 2,
'approvalStatusName': '违规',
'censorViolationResources': Array[1],
'coverPicture': 'http://dev.qiniu.sugartimeapp.com/1239802694169763842_20200317.png',
'approvalNickname': 'admin'
}]
}).items,
total: 30,
size: 30,
current: 1,
searchCount: true,
pages: 3
}
}
}
},
// 审批违规审批图片
{
url: '/sys/video/call/censor/approval',
type: 'post',
response: config => {
return { 'status': 200 }
}
},
// 用户资料审批
{
url: '/user/data/violation/expand',
type: 'get',
response: config => {
return {
'status': 200,
'result': [
{
'userId': '1210502604691271681',
'nickname': 'Joyce ',
'avatar': 'http://dev.qiniu.sugartimeapp.com/425C923B-75AE-4C8E-A632-475F767BBB19.png',
'userPhotoWalls': Mock.mock({
'items|1-6': [{
'createTime': '2020-03-24 16:33:45',
'updateTime': '2020-03-24 16:33:45',
'id': '1242368996419805190',
'userId': '1210502604691271681',
'resourceUrl': 'http://dev.qiniu.sugartimeapp.com/912008AD-68AF-405F-BC66-62F303242A01.png',
'sort': 5,
'violation': 'NORMAL'
}]
}).items,
'audioUrl': '',
'accountStatus': '正常',
'identityName': '会员',
'violationTypes': [
'待实现'
],
'machineReviewSuggest': {
'PHOTO_WALL': '正常',
'AVATAR': ''
},
'avatarScore': 0,
'photoWallScore': 0.58,
'personReviewSuggest': {
'SOUND': '',
'PHOTO_WALL': '',
'NICKNAME': '',
'AVATAR': ''
},
'violationSize': 0,
'updateDataTime': '2020-03-24 16:33:46',
'userDataViolationLatest': Mock.mock({ 'items|1-6': [
{
'createTime': '2020-03-24 16:34:13',
'updateTime': '2020-03-24 16:34:13',
'id': '1242369115756142593',
'userId': '1210502604691271681',
'violationType': 'PHOTO_WALL',
'suggestion': 'pass',
'label': 'normal',
'labelName': '正常',
'politicianName': '',
'score': 0,
'contentId': '1242368996419805185',
'content': 'http://dev.qiniu.sugartimeapp.com/AF0B5BA6-5468-41B5-B702-84AD1B8E7026.png'
}
] }).items
}
]
}
}
},
// 用户资料审批
{
url: '/user/data/violation/expand/approval',
type: 'post',
response: config => {
return { 'status': 200 }
}
},
// 获取违规照片墙
{
url: '/user/data/violation/latest/photo/wall/\.*',
type: 'get',
response: config => {
return { 'status': 200,
'result':
Mock.mock({
'items|6': [{
'userPhotoWall': {
'createTime': '2020-03-24 16:33:45',
'updateTime': '2020-03-24 16:33:45',
'id': '1242368996419805185',
'userId': '1210502604691271681',
'resourceUrl': 'http://dev.qiniu.sugartimeapp.com/AF0B5BA6-5468-41B5-B702-84AD1B8E7026.png',
'sort': 0,
'violation': 'NORMAL'
},
'userDataViolationLatest': {
'createTime': '2020-03-24 16:34:13',
'updateTime': '2020-03-24 16:34:13',
'id': '1242369115756142593',
'userId': '1210502604691271681',
'violationType': 'PHOTO_WALL',
'suggestion': 'pass',
'label': 'normal',
'labelName': '正常',
'politicianName': '',
'score': 0,
'contentId': '1242368996419805185',
'content': 'http://dev.qiniu.sugartimeapp.com/AF0B5BA6-5468-41B5-B702-84AD1B8E7026.png'
}
}]
}).items
}
}
},
// 审批违规历史记录列表
{
url: '/approval/history/page',
type: 'get',
response: config => {
return {
'status': 200,
'result': {
'records':
Mock.mock({ 'items|2': [{
'id': '1255039948302983170',
'userId': '1254987013716664322',
'violationTypeName': '照片',
'labelNames': '',
'approvalResult': 'NOT_PASS',
'approvalResultName': '',
'contentId': '1254987013716664322',
'content': '',
'description': '',
'createTime': '2020-04-28 07:43:36',
'createUser': '23',
'approvalNickname': 'admin'
}]
}).items,
'total': 21,
'size': 20,
'current': 1,
'searchCount': true,
'pages': 2
}
}
}
},
// 最近账号审批记录
{
url: '/approval/user/account/status/log/latest',
type: 'get',
response: config => {
return {
'status': 200,
'result': []
}
}
},
// 照片墙审批-通过
{
url: '/approval/photo/wall/pass',
type: 'post',
response: config => {
return { 'status': 200 }
}
},
// 照片墙审批-不通过
{
url: '/approval/photo/wall/not/pass',
type: 'post',
response: config => {
return { 'status': 200 }
}
},
// 举报审批-通过
{
url: '/approval/reported/pass',
type: 'post',
response: config => {
return { 'status': 200 }
}
},
// 举报审批-不通过
{
url: '/approval/reported/not/pass',
type: 'post',
response: config => {
return { 'status': 200 }
}
},
// 内容审批
post('/data/approval', ''),
// 房间资料审批信息分页列表
getPage('/room/profile-manager/approval/page', {}),
// 房间资料审批信息分页列表
getPage('/data/approval/user_profile/page', {
'userId': '1336596463023435778',
'userAvatar': 'http://app.qiniu.sugartimeapp.com/3A5C04A2-92AE-4EBE-B551-1BB8D3A62DE0.png',
'userNickname': ' مي ع ',
'age': 20,
'userSex': 1,
'userSexName': '男',
'machineLabel': '鉴黄-正常:0.9313728,鉴暴恐-正常:0.7882,敏感人物识别-正常:0',
'updateTime': '2020-12-10 09:51:06',
'approvalUserName': '张三丰'
}),
// 用户个性签名审批列表
getPage('/data/approval/user_profile_desc/page', {}),
// 主题审批分页列表
getPage('/room/user/theme/page', {
'id': '324223',
'userId': '1348513431641104386',
'themeBack': 'http://dev.qiniu.sugartimeapp.com/19999.png',
'themeStatus': 'PENDING',
'themeMoney': 50.00,
'userBaseInfo': {
'createTime': '2021-01-11 14:13:50',
'updateTime': '2021-01-14 11:12:29',
'id': '1348513431641104386',
'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/1610435161102.png',
'originSys': 'TIM_CHAT',
'userNickname': '我',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'age': 120,
'bornYear': 1900,
'bornMonth': 1,
'bornDay': 1,
'userTypeName': '真实',
'countryName': 'China',
'countryId': '1231833262813360130',
'countryCode': 'CN',
'accountStatus': 'NORMAL',
'freezingTime': '2021-01-10 14:13:51',
'del': false,
'account': '399697'
}
}),
// 主题审批
post('/room/user/theme/approve', {})
]

35
mock/banner.js Normal file
View File

@ -0,0 +1,35 @@
import Mock from 'mockjs'
export default [
// banner信息
{
url: '/sys/banner/config',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'createTime': '2021-01-26 18:25:37',
'updateTime': '2021-01-26 18:32:17',
'updateUser': '23',
'id': '1354012611532255233',
'link': 'ddd',
'cover': 'http://sugartime-dev.oss-accelerate.aliyuncs.com/manager-e22186b3-e630-4451-8816-daeecf6377b2.jpg',
'showcase': true,
'expiredTime': '2021-01-11 02:03:02',
'depict': 'dee'
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
}
]

77
mock/bean.js Normal file
View File

@ -0,0 +1,77 @@
import { getPage } from "./default_request";
export default [
/**
* 用户豆子余额列表.
*/
getPage("/user-bean-balance/page", {
userId: "1443513452148449281",
earnPoints: 123123,
consumptionPoints: 12312,
userBaseInfo: {
createTime: "2021-09-30 17:50:00",
updateTime: "2021-09-30 17:50:04",
id: "1443513452148449281",
userAvatar:
"http://dev.img.sugartimeapp.com/avatar/B3894080-3EC8-486D-B402-6F5F6AF70716.png",
originSys: "TIM_CHAT",
userNickname: "Undo",
userSex: 1,
userSexName: "男",
userType: 0,
age: 21,
bornYear: 2000,
bornMonth: 1,
bornDay: 1,
userTypeName: "真实",
countryName: "United States",
countryId: "1231833389347123201",
countryCode: "US",
accountStatus: "NORMAL",
accountStatusName: "正常",
freezingTime: "2021-09-29 17:50:01",
del: false,
account: "41909"
}
}),
/**
* 用户豆子流水列表.
*/
getPage("/user-bean-balance/running-water/page", {
id: "1447763661450973186",
sysOrigin: "TIM_CHAT",
userId: "1443513452148449281",
associateId: "1447763661325144066",
quantity: 100,
balance: 110911,
origin: "REWARD_COINS",
originName: "Reward coins",
createTime: "2021-10-12 03:18:49",
userBaseInfo: {
createTime: "2021-09-30 17:50:00",
updateTime: "2021-09-30 17:50:04",
id: "1443513452148449281",
userAvatar:
"http://dev.img.sugartimeapp.com/avatar/B3894080-3EC8-486D-B402-6F5F6AF70716.png",
originSys: "TIM_CHAT",
userNickname: "Undo",
userSex: 1,
userSexName: "男",
userType: 0,
age: 21,
bornYear: 2000,
bornMonth: 1,
bornDay: 1,
userTypeName: "真实",
countryName: "United States",
countryId: "1231833389347123201",
countryCode: "US",
accountStatus: "NORMAL",
accountStatusName: "正常",
freezingTime: "2021-09-29 17:50:01",
del: false,
account: "41909"
}
})
];

28
mock/datav.js Normal file
View File

@ -0,0 +1,28 @@
import Mock from 'mockjs'
export default [
// 活跃用户分布国家
{
url: '/datav/active_user_country_code',
type: 'get',
response: config => {
return { 'status': 200 }
}
},
// 在线用户总数
{
url: '/datav/online/user/count',
type: 'get',
response: config => {
return { 'status': 200, 'result': 100 }
}
},
// 在线房间总数
{
url: '/datav/online/room/count',
type: 'get',
response: config => {
return { 'status': 200, 'result': 100 }
}
}
]

79
mock/default_request.js Normal file
View File

@ -0,0 +1,79 @@
/**
* 默认的mock请求声明数据
*/
import Mock from 'mockjs'
export function get(url, result) {
return {
url,
type: 'get',
response: config => {
return {
'status': 200,
'result': result
}
}
}
}
export function getPage(url, result) {
return {
url,
type: 'get',
response: config => {
return {
'status': 200,
'result': {
'records': Mock.mock({
'items|30': [result]
}).items,
'total': 30,
'size': 20,
'current': 1,
'searchCount': true,
'pages': 1
}
}
}
}
}
export function post(url, result) {
return {
url,
type: 'post',
response: config => {
return {
'status': 200,
'result': {}
}
}
}
}
export function del(url, result) {
return {
url,
type: 'delete',
response: config => {
return {
'status': 200,
result
}
}
}
}
export function put(url, result) {
return {
url,
type: 'put',
response: config => {
return {
'status': 200,
result
}
}
}
}

65
mock/dictionary.js Normal file
View File

@ -0,0 +1,65 @@
import Mock from 'mockjs'
export default [
// 系统字典信息
{
url: '/sys/dictionary/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'createTime': '2020-12-04 10:25:48',
'updateTime': '2020-12-04 10:25:48',
'id': '6666',
'type': 'ROOM_BLACK_TIME',
'dicCode': 'ONE_MONTH',
'dicParentCode': '',
'dicVal': '43200',
'dicDesc': '1 month',
'typeName': '房间黑名单过期时长'
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 修改字典信息
{
url: '/sys/dictionary',
type: 'put',
response: () => {
return {
'status': 200
}
}
},
// 增加字典信息
{
url: '/sys/dictionary',
type: 'post',
response: () => {
return {
'status': 200
}
}
},
// 删除字典
{
url: '/sys/dictionary/\/*',
type: 'delete',
response: () => {
return {
'status': 200
}
}
}
]

242
mock/family.js Normal file
View File

@ -0,0 +1,242 @@
import Mock from 'mockjs'
export default [
{
url: '/family/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({
'items|30': [
{
'createTime': '2021-07-30 10:01:08',
'updateTime': '2021-07-30 14:04:17',
'createUser': '1412983576920535042',
'id': '1420927408446341122',
'sysOrigin': 'ASWAT',
'familyAccount': '1005',
'familyAvatar': 'http://dev.img.sugartimeapp.com/avatar/8CB2584D-74D1-42AE-890B-650833790959.png',
'familyName': '把我啦',
'familyLevelId': '1419951513519673345',
'familyStatus': 'NORMAL',
'familyNotice': '考虑图哇路',
'memberCount': '1',
'levelKey': 'BLACK_IRON',
'familyExp': 1998,
'userBaseInfo': {
'createTime': '2021-07-08 11:55:11',
'updateTime': '2021-07-23 15:44:04',
'id': '1412983576920535042',
'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/72E33441-0AD8-47F9-80E4-A3115D3AC068.png',
'originSys': 'ASWAT',
'userNickname': '考虑一下',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'age': 21,
'bornYear': 2000,
'bornMonth': 1,
'bornDay': 1,
'userTypeName': '真实',
'countryName': 'United Kingdom',
'countryId': '1231833285743620097',
'countryCode': 'GB',
'accountStatus': 'NORMAL',
'accountStatusName': '正常',
'freezingTime': '2021-07-07 11:55:11',
'del': false,
'account': '41758'
}
},
{
'createTime': '2021-07-29 16:01:59',
'createUser': '1403599281328107522',
'id': '1420656112526315521',
'sysOrigin': 'ASWAT',
'familyAccount': '1004',
'familyAvatar': 'http://dev.img.sugartimeapp.com/avatar/ca82dbad-00fe-4d5f-9317-34581eaf4828.jpg',
'familyName': 'psg',
'familyLevelId': '1419951513519673345',
'familyStatus': 'NORMAsssL',
'familyNotice': 'hgjdjdhdb ',
'memberCount': '1',
'levelKey': 'BLACK_IRON',
'familyExp': 99,
'userBaseInfo': {
'createTime': '2021-06-12 14:25:21',
'updateTime': '2021-06-17 12:09:23',
'id': '1403599281328107522',
'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/8d9ac8af-149c-409b-9689-da6b30fab64a.jpg',
'originSys': 'ASWAT',
'userNickname': 'Samsung',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'age': 26,
'bornYear': 1995,
'bornMonth': 1,
'bornDay': 1,
'userTypeName': '真实',
'countryName': 'China',
'countryId': '1231833262813360130',
'countryCode': 'CN',
'accountStatus': 'NORMAL',
'accountStatusName': '正常',
'freezingTime': '2021-06-11 14:25:21',
'del': false,
'account': '41634'
}
},
{
'createTime': '2021-07-29 10:44:13',
'updateTime': '2021-07-29 15:25:49',
'createUser': '1407187450447503361',
'id': '1420575864802758658',
'sysOrigin': 'ASWAT',
'familyAccount': '1003',
'familyAvatar': '',
'familyName': 'st_3327445017982',
'familyLevelId': '1419951513519673345',
'familyStatus': 'NORMAL',
'familyNotice': '',
'memberCount': '2',
'levelKey': 'BLACK_IRON',
'familyExp': 0,
'userBaseInfo': {
'createTime': '2021-06-22 12:03:27',
'updateTime': '2021-06-22 12:04:09',
'id': '1407187450447503361',
'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/5a5cdb55-322c-4400-bc06-21e99cf26fc1.jpg',
'originSys': 'ASWAT',
'userNickname': 'HONOR 9x',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'age': 26,
'bornYear': 1995,
'bornMonth': 1,
'bornDay': 1,
'userTypeName': '真实',
'countryName': 'Azerbaijan',
'countryId': '1231833241778925570',
'countryCode': 'AZ',
'accountStatus': 'NORMAL',
'accountStatusName': '正常',
'freezingTime': '2021-06-21 12:03:27',
'del': false,
'account': '41681'
}
}
]
}).items,
total: 30,
size: 30,
current: 1,
searchCount: true,
pages: 3
}
}
}
},
{
url: '/family/level/config/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({
'items|30': [
{
'createTime': '2021-07-27 17:22:12',
'updateTime': '2021-07-28 15:06:24',
'id': '1419951513519673345',
'sysOrigin': 'ASWAT',
'levelKey': 'BLACK_IRON',
'avatarFrameId': '1419923318128943106',
'badgeId': '1419919035165745154',
'giftId': '1419936886396178433',
'levelExp': 20000,
'maxMember': 150,
'maxManager': 5,
'levelBackgroundPicture': 'http://dev.img.sugartimeapp.com/svga_cover/manager-58578f0d-72fd-410d-8ac3-b49ad29c9473.jpg',
'sort': 0
},
{
'createTime': '2021-07-27 17:25:41',
'updateTime': '2021-07-28 15:06:38',
'id': '1419952388564733953',
'sysOrigin': 'ASWAT',
'levelKey': 'BRONZE_I',
'avatarFrameId': '1419923459619594242',
'badgeId': '1419919170159419394',
'giftId': '1419937069750177793',
'levelExp': 50000,
'maxMember': 160,
'maxManager': 6,
'levelBackgroundPicture': 'http://dev.img.sugartimeapp.com/svga_cover/manager-bb499970-95d8-4f53-8a2e-7c77fa64f9ee.jpg',
'sort': 1
},
{
'createTime': '2021-07-28 15:11:59',
'updateTime': '2021-07-28 15:11:59',
'id': '1420281134152867842',
'sysOrigin': 'ASWAT',
'levelKey': 'BRONZE_II',
'avatarFrameId': '1419923318128943106',
'badgeId': '1419919035165745154',
'giftId': '1419936886396178433',
'levelExp': 25000,
'maxMember': 170,
'maxManager': 6,
'levelBackgroundPicture': 'http://dev.img.sugartimeapp.com/svga_cover/manager-ac57a8b1-3042-4d0b-9295-cb17b2d00800.jpg',
'sort': 2
}
]
}).items,
total: 30,
size: 30,
current: 1,
searchCount: true,
pages: 3
}
}
}
},
{
url: '/family/create/rule/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({
'items|30': [
{
'createTime': '2021-07-27 17:29:06',
'updateTime': '2021-07-28 14:25:07',
'id': '1419951513519673341',
'sysOrigin': 'ASWAT',
'payCandy': 30000
},
{
'createTime': '2021-07-28 14:23:33',
'updateTime': '2021-07-28 14:23:33',
'id': '1420268947057336322',
'sysOrigin': 'TIM_CHAT',
'payCandy': 20000
}
]
}).items,
total: 30,
size: 30,
current: 1,
searchCount: true,
pages: 3
}
}
}
}
]

128
mock/game.js Normal file
View File

@ -0,0 +1,128 @@
/**
* 游戏相关
*/
import Mock from 'mockjs'
export default [
// 飞行棋游戏-列表
{
url: '/game-ludo/flow',
type: 'get',
response: config => {
return {
'status': 200,
'result': [
{
'history': {
'id': '1522848508305948674',
'sysOrigin': 'ASWAT',
'roomId': '1000',
'gameStatus': 'END',
'gameStatusEvent': 'NORMAL_SETTLEMENT',
'joinAmount': 200,
'playerSize': 2,
'bonus': 280,
'lockSeat': '',
'victoryColor': 'GREEN',
'createTime': '2022-05-07 15:59:12'
},
'players': [
{
'players': {
'createTime': '2022-05-07 15:59:12',
'updateTime': '2022-05-07 15:59:12',
'id': '1522848508373057538',
'gameId': '1522848508305948674',
'userId': '1497138368407797762',
'consumeJoinAmount': 200,
'checkerboardColor': 'RED',
'initiator': true,
'rankingIndex': 0
},
'userProfile': {
'id': '1497138368407797762',
'account': '42041',
'userAvatar': 'http://img.sugartimeapp.com/halla_default_avatar_2.png',
'userNickname': '233445',
'userSex': 1,
'age': 15,
'accountStatus': 'NORMAL',
'freezingTime': '2022-02-24 17:16:17',
'countryId': '1231833241778925570',
'countryName': 'Azerbaijan',
'countryCode': 'AZ',
'originSys': 'ASWAT',
'sysOriginChild': 'ASWAT_LITE',
'del': false,
'bornYear': 2006,
'bornMonth': 2,
'bornDay': 25,
'createTime': '2022-02-25 17:16:17',
'ownSpecialId': {
'account': '433435',
'customizeField': {
}
},
'actualAccountStatus': 'NORMAL',
'actualAccount': '433435',
'accountStatusName': '正常',
'userSexName': '男'
}
},
{
'players': {
'createTime': '2022-05-07 15:59:12',
'updateTime': '2022-05-07 15:59:12',
'id': '1522848508373057539',
'gameId': '1522848508305948674',
'userId': '1522441430756216833',
'consumeJoinAmount': 200,
'checkerboardColor': 'GREEN',
'initiator': false,
'rankingIndex': 0
},
'userProfile': {
'id': '1522441430756216833',
'account': '42054',
'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/c48011dd-676f-4b75-953c-22389d1dde3c.jpg',
'userNickname': 'Dog',
'userSex': 1,
'age': 27,
'accountStatus': 'NORMAL',
'freezingTime': '2022-05-05 13:01:37',
'countryId': '1231833262813360130',
'countryName': 'China',
'countryCode': 'CN',
'originSys': 'ASWAT',
'sysOriginChild': 'ASWAT',
'del': false,
'bornYear': 1995,
'bornMonth': 1,
'bornDay': 1,
'createTime': '2022-05-06 13:01:37',
'actualAccountStatus': 'NORMAL',
'actualAccount': '42054',
'accountStatusName': '正常',
'userSexName': '男'
}
}
]
}
]
}
}
},
// lucky box
{
url: '/game/lucky/box/list',
type: 'get',
response: config => {
return {
'status': 200,
'result': []
}
}
}
]

91
mock/gift.js Normal file
View File

@ -0,0 +1,91 @@
import Mock from 'mockjs'
export default [
// 获取指定平台礼物
{
url: '/sys/gift/config/sys_origin/\.',
type: 'get',
response: config => {
return {
status: 200,
result: Mock.mock({ 'items|30': [
{
'createTime': '2020-06-08 11:56:53',
'updateTime': '2020-06-08 11:56:53',
'id': '@id',
'giftPhoto': 'http://dev.qiniu.sugartimeapp.com/sports_car.png',
'giftSourceUrl': '',
'giftName': '跑车',
'giftCode': 'SPORTS_CAR',
'giftCandy': 100000.00,
'giftIntegral': 100000.00,
'sort': 0,
'del': false
}
] }
).items
}
}
},
// 礼物信息
{
url: '/sys/gift/config',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'createTime': '2020-06-08 11:56:53',
'updateTime': '2020-06-08 11:56:53',
'id': '1269808328087785480',
'giftPhoto': 'http://dev.qiniu.sugartimeapp.com/sports_car.png',
'giftSourceUrl': '',
'giftName': '跑车',
'giftCode': 'SPORTS_CAR',
'giftCandy': 100000.00,
'giftIntegral': 100000.00,
'sort': 0,
'del': false
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 修改礼物信息
{
url: '/sys/gift/config',
type: 'put',
response: () => {
return {
'status': 200
}
}
},
// 新增礼物信息
{
url: '/sys/gift/config',
type: 'post',
response: () => {
return {
'status': 200
}
}
},
// 礼物赠送记录列表
{
url: '/running-water-log/gift-give',
type: 'get',
response: config => {
return { 'status': 200, 'result': [{ 'id': '1551860122988666881', 'trackId': '1551860117456379905', 'originId': '1407188479826173954', 'sysOrigin': 'ASWAT', 'requestPlatform': 'Android', 'userId': '1403635539530207234', 'anchor': true, 'giftId': '1524225254146154497', 'giftCover': 'http://dev.img.sugartimeapp.com/gifts/manager-abc56280-5d5f-4df9-9728-93394e5e676b.png', 'giftType': 'GOLD', 'giftValue': { 'currencyType': 'GOLD', 'giftType': 'ORDINARY', 'unitPrice': 1999.00, 'quantity': 1, 'userSize': 1, 'giftValue': 1999.00, 'actualAmount': 1999.00, 'percentage': 2, 'selfPercentage': 1 }, 'acceptUsers': [{ 'acceptUserId': '1403635539530207234', 'anchor': true, 'receiptId': '0', 'acceptAmount': 199, 'targetAmount': 1999.00, 'userProfile': { 'id': '1403635539530207234', 'account': '41640', 'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/0aba61c0-bdfa-49b0-8b27-564a4cbe6ec9.jpg', 'userNickname': '推广的', 'userSex': 0, 'age': 66, 'accountStatus': 'NORMAL', 'freezingTime': '2021-08-20 15:44:59', 'countryId': '1231833262813360130', 'countryName': 'China', 'countryCode': 'CN', 'originSys': 'ASWAT', 'sysOriginChild': '', 'del': false, 'bornYear': 1955, 'bornMonth': 1, 'bornDay': 1, 'createTime': '2021-06-12 16:49:25', 'userSexName': '女', 'accountStatusName': '正常', 'actualAccountStatus': 'NORMAL', 'actualAccount': '41640' }}, { 'acceptUserId': '1406947844938510338', 'anchor': true, 'receiptId': '0', 'acceptAmount': 399, 'targetAmount': 1999.00, 'userProfile': { 'id': '1406947844938510338', 'account': '41680', 'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/8f36b375-c943-4562-ae31-2d061ec3a9c4.png', 'userNickname': 'OnePlus ', 'userSex': 1, 'age': 122, 'accountStatus': 'NORMAL', 'freezingTime': '2021-06-20 20:11:21', 'countryId': '1231833262813360130', 'countryName': 'China', 'countryCode': 'CN', 'originSys': 'ASWAT', 'sysOriginChild': '', 'del': false, 'bornYear': 1900, 'bornMonth': 1, 'bornDay': 24, 'createTime': '2021-06-21 20:11:20', 'userSexName': '男', 'accountStatusName': '正常', 'actualAccountStatus': 'NORMAL', 'actualAccount': '41680' }}], 'logs': [{ 'content': '流水入库', 'createTime': '2022-07-26 17:21:00' }], 'roomProfile': { 'id': '1407188479826173954', 'roomAccount': '41680', 'userId': '1406947844938510338', 'roomCover': 'http://dev.img.sugartimeapp.com/avatar/4d73749d-209e-47c7-97db-dc0e99739527.jpg', 'roomName': 'oneplus', 'roomDesc': '欢迎大家! 让我们一起聊天,一起玩吧。', 'event': 'AVAILABLE', 'sysOrigin': 'ASWAT', 'countryCode': 'CN', 'countryName': 'China', 'del': false, 'createTime': '2021-06-22 12:07:32', 'updateTime': '2022-07-26 17:02:22' }, 'userProfile': { 'id': '1403635539530207234', 'account': '41640', 'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/0aba61c0-bdfa-49b0-8b27-564a4cbe6ec9.jpg', 'userNickname': '推广的', 'userSex': 0, 'age': 66, 'accountStatus': 'NORMAL', 'freezingTime': '2021-08-20 15:44:59', 'countryId': '1231833262813360130', 'countryName': 'China', 'countryCode': 'CN', 'originSys': 'ASWAT', 'sysOriginChild': '', 'del': false, 'bornYear': 1955, 'bornMonth': 1, 'bornDay': 1, 'createTime': '2021-06-12 16:49:25', 'userSexName': '女', 'accountStatusName': '正常', 'actualAccountStatus': 'NORMAL', 'actualAccount': '41640' }, 'createTime': '2022-07-26 17:20:58', 'updateTime': '2022-07-26 17:20:58', 'expiredTime': '2022-08-10 17:21:00' }] }
}
}
]

8
mock/im-account.js Normal file
View File

@ -0,0 +1,8 @@
import { getPage, post, put, del } from './default_request'
export default [
// 系统im账号分页列表
getPage('/sys/im/account/page', {}),
post('/sys/im/account', {}),
put('/sys/im/account/rest', {}),
del('/sys/im/account', {})
]

114
mock/index.js Normal file
View File

@ -0,0 +1,114 @@
import Mock from 'mockjs'
import { param2Obj } from '../src/utils'
import user from './user'
import table from './table'
import appUser from './app-user'
import purchase from './purchase'
import statistics from './statistics'
import approval from './approval'
import message from './message'
import gift from './gift'
import integral from './integral'
import appManager from './app-manager'
import product from './product'
import datav from './datav'
import imAccount from './im-account'
import props from './props'
import room from './room'
import game from './game'
import family from './family'
import tootls from './tootls'
import bean from './bean'
import sysEmoji from './sys-emoji'
import sys from './sys'
import userSpecialId from './user-special-id'
import activity from './activity'
import team from './team'
import opsSystem from './ops-system'
const mocks = [
...opsSystem,
...team,
...activity,
...userSpecialId,
...sys,
...sysEmoji,
...user,
...table,
...appUser,
...purchase,
...statistics,
...approval,
...message,
...gift,
...integral,
...appManager,
...product,
...datav,
...imAccount,
...props,
...room,
...room,
...game,
...family,
...tootls,
...bean
]
// for front mock
// please use it cautiously, it will redefine XMLHttpRequest,
// which will cause many of your third-party libraries to be invalidated(like progress event).
export function mockXHR() {
// mock patch
// https://github.com/nuysoft/Mock/issues/300
Mock.XHR.prototype.proxy_send = Mock.XHR.prototype.send
Mock.XHR.prototype.send = function() {
if (this.custom.xhr) {
this.custom.xhr.withCredentials = this.withCredentials || false
if (this.responseType) {
this.custom.xhr.responseType = this.responseType
}
}
this.proxy_send(...arguments)
}
function XHR2ExpressReqWrap(respond) {
return function(options) {
let result = null
if (respond instanceof Function) {
const { body, type, url } = options
// https://expressjs.com/en/4x/api.html#req
result = respond({
method: type,
body: JSON.parse(body),
query: param2Obj(url)
})
} else {
result = respond
}
return Mock.mock(result)
}
}
for (const i of mocks) {
Mock.mock(new RegExp(i.url), i.type || 'get', XHR2ExpressReqWrap(i.response))
}
}
// for mock server
const responseFake = (url, type, respond) => {
return {
url: new RegExp(`${process.env.VUE_APP_BASE_API}${url}`),
type: type || 'get',
response(req, res) {
console.log('request invoke:' + req.path)
res.json(Mock.mock(respond instanceof Function ? respond(req, res) : respond))
}
}
}
export default mocks.map(route => {
return responseFake(route.url, route.type, route.response)
})

157
mock/integral.js Normal file
View File

@ -0,0 +1,157 @@
import Mock from 'mockjs'
export default [
// 积分信息
{
url: '/user/integral/info/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'userId': '1269191486680850433',
'balance': 719300.00,
'redeemed': 0.00,
'lastBalanceTime': '2020-06-10 12:29:28',
'integralCount': 719300.00,
'userAvatar': 'http://dev.qiniu.sugartimeapp.com/8058D607-30D9-4492-95AD-C7413C177545.png',
'userNickname': 'Clad',
'userSex': 1,
'userSexName': '男',
'age': 20,
'level': 0
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 积分详情
{
url: '/user/integral/origin/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
'createTime': '2020-06-06 16:56:45',
'updateTime': '2020-06-09 14:39:07',
'id': '1269191486680850433',
'userAvatar': 'http://dev.qiniu.sugartimeapp.com/8058D607-30D9-4492-95AD-C7413C177545.png',
'userNickname': 'Clad',
'liveUrl': '',
'liveCover': '',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'age': 20,
'bornYear': 2000,
'bornMonth': 1,
'bornDay': 1,
'countryName': 'United States',
'countryId': '1231833389347123201',
'countryCode': 'US',
'accountStatus': 'NORMAL',
'freezingTime': '2020-06-05 16:56:46'
}
}
}
},
{
url: '/user/base/info/level/\/*',
type: 'get',
response: () => {
return {
'status': 200
}
}
},
{
url: '/team/billing/integral/record/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 用户积分流水列表
{
url: '/user/integral/origin/stream/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
'createTime': '2020-06-06 16:56:45',
'updateTime': '2020-06-09 14:39:07',
'id': '1269191486680850433',
'userAvatar': 'http://dev.qiniu.sugartimeapp.com/8058D607-30D9-4492-95AD-C7413C177545.png',
'userNickname': 'Clad',
'liveUrl': '',
'liveCover': '',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'age': 20,
'bornYear': 2000,
'bornMonth': 1,
'bornDay': 1,
'countryName': 'United States',
'countryId': '1231833389347123201',
'countryCode': 'US',
'accountStatus': 'NORMAL',
'freezingTime': '2020-06-05 16:56:46'
}
}
}
},
// 用户积分历史流水列表
{
url: '/user/integral/origin/history/stream/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
'createTime': '2020-06-06 16:56:45',
'updateTime': '2020-06-09 14:39:07',
'id': '1269191486680850433',
'userAvatar': 'http://dev.qiniu.sugartimeapp.com/8058D607-30D9-4492-95AD-C7413C177545.png',
'userNickname': 'Clad',
'liveUrl': '',
'liveCover': '',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'age': 20,
'bornYear': 2000,
'bornMonth': 1,
'bornDay': 1,
'countryName': 'United States',
'countryId': '1231833389347123201',
'countryCode': 'US',
'accountStatus': 'NORMAL',
'freezingTime': '2020-06-05 16:56:46'
}
}
}
}
]

165
mock/message.js Normal file
View File

@ -0,0 +1,165 @@
/**
* 消息相关
*/
import Mock from 'mockjs'
export default [
// 新建push
{
url: '/push',
type: 'post',
response: config => {
return {
status: 200,
result: { 'status': 200 }
}
}
},
// push文案库
{
url: '/message/copywriting/page',
type: 'get',
response: config => {
return {
'status': 200,
'result': {
'records': Mock.mock({ 'items|30': [
{
'createTime': '2020-03-11 20:30:19',
'updateTime': '2020-03-11 20:30:19',
'createUser': '23',
'id': '1237717479216648193',
'pushType': 'STRATEGY',
'pushTypeName': '策略类',
'businessScene': 'CARD_LIKE',
'businessSceneName': '谁右滑了你',
'pushUserType': 'BUY_CANDY',
'pushUserTypeName': '购买过糖果',
'sysPushTextContents': [
{
'createTime': '2020-03-11 20:30:17',
'updateTime': '2020-03-11 20:30:17',
'updateUser': '23',
'id': '1237717479539609602',
'textTypeId': '1237717479216648193',
'language': 'en',
'languageName': '英语',
'title': 'English title',
'content': 'content',
'sort': 0
},
{
'createTime': '2020-03-11 20:30:17',
'updateTime': '2020-03-11 20:30:17',
'updateUser': '23',
'id': '1237717479539609603',
'textTypeId': '1237717479216648193',
'language': 'zh_CN',
'languageName': '中文',
'title': '中文标题',
'content': '内容',
'sort': 1
}
],
'user': {
'id': 23,
'loginName': 'admin',
'password': '$apr1$admin$3NsFmc5jCaK5R97pgHRX21',
'nickname': 'admin',
'ip': '127.0.0.1',
'status': 0,
'createUid': 1,
'createTime': '2019-11-13 18:28:38',
'updateTime': '2019-12-15 18:49:53'
}
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// push 日志
{
url: '/push/page',
type: 'get',
response: config => {
return {
'status': 200,
'result': {
'records': Mock.mock({ 'items|30': [
{
'id': '@id',
'title': 'qe1',
'content': '12312',
'platform': 'Android',
'pushType': '通知类',
'pushBusinessScene': '版本更新',
'pushUserType': '会员',
'fixedUserIds': '12',
'link': '123',
'pushStatus': '成功',
'sendUserName': 'admin',
'createTime': '2020-03-30 15:32:32'
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 添加push文案库
{
url: '/message/copywriting',
type: 'post',
response: config => {
return {
status: 200
}
}
},
// 删除push文案
{
url: '/message/copywriting/\.',
type: 'delete',
response: config => {
return {
status: 200
}
}
},
// 已录入文案内容
{
url: '/sys/push/text/content/\.*',
type: 'get',
response: config => {
return {
status: 200,
result: Mock.mock({ 'items|30': [
{
'createTime': '2020-03-11 20:30:17',
'updateTime': '2020-03-11 20:30:17',
'updateUser': '23',
'id': '@id',
'textTypeId': '1237717479216648193',
'language': 'en',
'languageName': '英语',
'title': '123',
'content': '123',
'sort': 0
}
] }).items
}
}
}
]

68
mock/mock-server.js Normal file
View File

@ -0,0 +1,68 @@
const chokidar = require('chokidar')
const bodyParser = require('body-parser')
const chalk = require('chalk')
const path = require('path')
const mockDir = path.join(process.cwd(), 'mock')
function registerRoutes(app) {
let mockLastIndex
const { default: mocks } = require('./index.js')
for (const mock of mocks) {
app[mock.type](mock.url, mock.response)
mockLastIndex = app._router.stack.length
}
const mockRoutesLength = Object.keys(mocks).length
return {
mockRoutesLength: mockRoutesLength,
mockStartIndex: mockLastIndex - mockRoutesLength
}
}
function unregisterRoutes() {
Object.keys(require.cache).forEach(i => {
if (i.includes(mockDir)) {
delete require.cache[require.resolve(i)]
}
})
}
module.exports = app => {
// es6 polyfill
require('@babel/register')
// parse app.body
// https://expressjs.com/en/4x/api.html#req.body
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
}))
const mockRoutes = registerRoutes(app)
var mockRoutesLength = mockRoutes.mockRoutesLength
var mockStartIndex = mockRoutes.mockStartIndex
// watch files, hot reload mock server
chokidar.watch(mockDir, {
ignored: /mock-server/,
ignoreInitial: true
}).on('all', (event, path) => {
if (event === 'change' || event === 'add') {
try {
// remove mock routes stack
app._router.stack.splice(mockStartIndex, mockRoutesLength)
// clear routes cache
unregisterRoutes()
const mockRoutes = registerRoutes(app)
mockRoutesLength = mockRoutes.mockRoutesLength
mockStartIndex = mockRoutes.mockStartIndex
console.log(chalk.magentaBright(`\n > Mock Server hot reload success! changed ${path}`))
} catch (error) {
console.log(chalk.redBright(error))
}
}
})
}

208
mock/ops-system.js Normal file
View File

@ -0,0 +1,208 @@
import Mock from 'mockjs'
export default [
// user login
{
url: '/account/login',
type: 'post',
response: config => {
return {
status: true,
errorCode: 0,
body: {
'uid': 1,
'token': 'F6C849D9A7B2CBF5F7BEED86B0E8F094.djElM0EyMyUzQU9QUyUzQTE2ODQ1MDA3NzUzNzglM0ExNjg0NDkzNTc1Mzc4'
}
}
}
},
// user logout
{
url: '/logout',
type: 'post',
response: _ => {
return {
status: true,
errorCode: 0
}
}
},
// get user info
{
url: '/account/info',
type: 'get',
response: config => {
return {
status: true,
errorCode: 0,
body: {
loginName: 'admin',
nickname: 'admin'
}
}
}
},
// 账号菜单
{
url: '/account/menus',
type: 'get',
response: config => {
return { 'status': true, 'body': [] }
}
},
// 权限按钮
{
url: '/account/buttons/aliases',
type: 'get',
response: config => {
return { 'status': true, 'body': ['sys:user:add', 'user:table:edit:account:handler', 'user:table:edit', 'user:table:query:gold', 'user:table:query:list', 'dashboard:details', 'sys:user:edit', 'user:table:edit:deduction:gold', 'user:table:query:violation', 'user:table:query:account:handler', 'user:table:edit:reward:gold', 'user:table:query:details', 'sys:user:resetpwd'] }
}
},
// 获取用户列表
{
url: '/users',
type: 'get',
response: config => {
return {
'status': true,
'errorCode': 0,
'body': Mock.mock({
'items|30': [{
'id': '@id',
'loginName': '@sentence(5, 10)',
'nickname': '@sentence(3, 8)',
'email': '',
'phone': '',
'ip': '0:0:0:0:0:0:0:1',
'status|1': ['published', 'draft', 'deleted'],
createTime: '@datetime',
updateTime: '@datetime',
'userRoles': [
{
'roleId': '@id',
'uid': '@id',
'roleName': '管理员',
'remark': '管理员'
}
]
}]
}).items
}
}
},
// 角色列表
{
url: '/roles',
type: 'get',
response: config => {
return {
'status': true,
'errorCode': 0,
'body': {
'records': Mock.mock({
'items|30': [{
'id': '@id',
'roleName': '@sentence(5, 10)',
'remark': '@sentence(5, 10)',
'menuIds': [],
'createTime': '@datetime',
'updateTime': '@datetime'
}]
}).items,
'total': 20,
'size': 20,
'current': 1
}
}
}
},
// 所有菜单
{
url: '/menus',
type: 'get',
response: config => {
return {
'status': true,
'errorCode': 0,
'body': Mock.mock({
'items|30': [{
'id': '@id',
'parentId': 1,
'menuName': '@sentence(5, 10)',
'path': '@sentence(5, 10)',
'router': '@sentence(5, 10)',
'menuType': 2,
'icon': 'sys_manager_1',
'alias': '@sentence(5, 10)',
'status': 0,
'sort': 99999
}]
}).items
}
}
},
// 资源列表
{
url: '/resources/list',
type: 'get',
response: config => {
return {
'status': true,
'errorCode': 0,
'body': Mock.mock({
'id': '@id',
'resourceName': '@sentence(5, 10)',
'mapping': '/family/del/{familyId}',
'method': 'GET',
'authType': 1,
'perm': 'GET:/family/del/{familyId}',
'updateTime': [
2023,
5,
19,
8,
58,
47
]
}).items
}
}
},
// 资源分页列表
{
url: '/resources',
type: 'get',
response: config => {
return {
'status': true,
'errorCode': 0,
'body': {
'records': Mock.mock({
'id': '@id',
'resourceName': '@sentence(5, 10)',
'mapping': '/family/del/{familyId}',
'method': 'GET',
'authType': 1,
'perm': 'GET:/family/del/{familyId}',
'updateTime': [
2023,
5,
19,
8,
58,
47
]
}).items,
'total': 20,
'size': 20,
'current': 1
}
}
}
}
]

146
mock/pet.js Normal file
View File

@ -0,0 +1,146 @@
import { getPage } from './default_request'
export default [
/**
* 喂养分页列表.
*/
getPage('/pet_pool/feeding/page', {}),
/**
* 宠物分页列表.
*/
getPage('/pet_pool/page', {
'petPool': {
'id': '1448172780357816321',
'sysOrigin': 'TIM_CHAT',
'petCode': 'tuzi',
'petName': '兔子',
'level': 1,
'rewardGroupId': '1402442046035218434',
'shelf': false,
'createTime': '2021-10-13 14:24:31',
'updateTime': '2021-10-13 14:24:31',
'createUser': '23',
'updateUser': '23'
},
'petStages': [
{
'id': '1448172780722720769',
'sysOrigin': 'TIM_CHAT',
'petId': '1448172780357816321',
'level': 1,
'cover': 'http://dev.img.sugartimeapp.com/svga_cover/manager-4ac77ee7-9e25-4e27-8fef-f3396607308e.png',
'sourceUrl': 'http://dev.img.sugartimeapp.com/other/manager-d89cd926-56ac-4487-8e9d-46f577c17281.svga',
'upgradeFeedingNum': 0,
'foodFeedingNum': 0,
'revenue': 0,
'revenueNum': 1,
'revenueIntervalMinute': 1,
'feedingIntervalMinute': 1,
'freeFeedingNum': 1
},
{
'id': '1448172780722720770',
'sysOrigin': 'TIM_CHAT',
'petId': '1448172780357816321',
'level': 2,
'cover': 'http://dev.img.sugartimeapp.com/svga_cover/manager-8a2207e8-2d9e-4373-8a77-506a20b8d97f.png',
'sourceUrl': 'http://dev.img.sugartimeapp.com/other/manager-0bd41ca9-29e2-4249-9859-39d5223e21d3.svga',
'upgradeFeedingNum': 0,
'foodFeedingNum': 0,
'revenue': 0,
'revenueNum': 1,
'revenueIntervalMinute': 1,
'feedingIntervalMinute': 1,
'freeFeedingNum': 1
},
{
'id': '1448172780722720771',
'sysOrigin': 'TIM_CHAT',
'petId': '1448172780357816321',
'level': 3,
'cover': 'http://dev.img.sugartimeapp.com/svga_cover/manager-22c40b43-8f90-4902-8a89-1126fe962462.png',
'sourceUrl': 'http://dev.img.sugartimeapp.com/other/manager-62c6977b-61a6-4873-8703-4d60e9a0f057.svga',
'upgradeFeedingNum': 0,
'foodFeedingNum': 0,
'revenue': 0,
'revenueNum': 1,
'revenueIntervalMinute': 1,
'feedingIntervalMinute': 1,
'freeFeedingNum': 1
},
{
'id': '1448172780722720772',
'sysOrigin': 'TIM_CHAT',
'petId': '1448172780357816321',
'level': 4,
'cover': 'http://dev.img.sugartimeapp.com/svga_cover/manager-5a91d0c1-178d-45d4-8bfb-4e50316fff79.png',
'sourceUrl': 'http://dev.img.sugartimeapp.com/other/manager-15367223-e5f7-4ab2-bced-0305fa2ef123.svga',
'upgradeFeedingNum': 0,
'foodFeedingNum': 0,
'revenue': 0,
'revenueNum': 1,
'revenueIntervalMinute': 1,
'feedingIntervalMinute': 1,
'freeFeedingNum': 1
}
],
'petUnlockConditions': [
{
'id': '1448172780865327105',
'sysOrigin': 'TIM_CHAT',
'petId': '1448172780357816321',
'conditionType': 'WEALTH_LEVEL',
'unit': 'LE',
'quantity': 1
}
],
'rewards': {
'createTime': '2021-06-09 09:46:54',
'updateTime': '2021-08-22 19:37:54',
'id': '1402442046035218434',
'name': '312312',
'sysOrigin': 'TIM_CHAT',
'shelfStatus': true,
'rewardConfigList': [
{
'createTime': '2021-06-23 11:50:43',
'updateTime': '2021-06-23 11:50:43',
'id': '1407546634501410818',
'groupId': '1402442046035218434',
'type': 'PROPS',
'detailType': '',
'content': '1398094409879130114',
'quantity': 1,
'cover': 'http://dev.img.sugartimeapp.com/other/manager-90e3a4aa-518b-450d-8ac7-593bceec71a4.png',
'sourceUrl': 'http://dev.img.sugartimeapp.com/other/manager-28f6f187-5b95-4557-9f11-aa00869cccc7.svga',
'amount': 1398094409879130114,
'sort': 1
},
{
'createTime': '2021-06-23 11:50:43',
'updateTime': '2021-06-23 11:50:43',
'id': '1407546634501410819',
'groupId': '1402442046035218434',
'type': 'GOLD',
'detailType': '',
'content': '12321',
'quantity': 0,
'amount': 12321,
'sort': 2
},
{
'createTime': '2021-06-23 11:50:43',
'updateTime': '2021-06-23 11:50:43',
'id': '1407546634501410820',
'groupId': '1402442046035218434',
'type': 'DIAMOND',
'detailType': '',
'content': '123',
'quantity': 0,
'amount': 123,
'sort': 3
}
]
}
})
]

42
mock/photowall.js Normal file
View File

@ -0,0 +1,42 @@
/**
* 照片墙
*/
import Mock from 'mockjs'
export default [
// 照片墙审核
{
url: '/user/photo/wall/page/all',
type: 'get',
response: config => {
return {
'status': 200,
'result': {
'records': Mock.mock({ 'items|30': [
{
'createTime': '2020-04-27 19:29:50',
'updateTime': '2020-04-27 19:29:51',
'id': '1254734492813185027',
'userId': '1254677709117698049',
'resourceUrl': 'http://dev.qiniu.sugartimeapp.com/1587974769775.jpg',
'width': 360,
'height': 780,
'sort': 2,
'violation': 'SUSPECTED',
'labelNames': '鉴黄-正常:0.92142,鉴暴恐-特殊字符文字:0.42707,敏感人物识别-正常:0',
'userNickname': '123456789101112',
'age': 27,
'userSexName': '男'
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
}
]

67
mock/product.js Normal file
View File

@ -0,0 +1,67 @@
/**
* 产品信息
*/
import Mock from 'mockjs'
export default [
// 内购产品配置
{
url: '/sys/product/config/list',
type: 'get',
response: config => {
return { 'status': 200, 'result': [{ 'createTime': '2020-09-09 17:32:35', 'updateTime': '2020-09-09 18:15:13', 'createUser': '23', 'id': '1303627348529004546', 'productId': 'WASTE_MATERIAL_VIP', 'productPackage': 'com.hongyuan.1.99Vip', 'productType': 'AUTO_RENEWAL_SUBSCRIPTION', 'description': '废材VIP', 'groupName': 'VIP', 'unitPrice': 1.99, 'obtainCandy': 0.00, 'platform': 'iOS', 'sort': 6, 'discountRate': 0, 'showcase': true, 'recommend': false, 'tags': '', 'positionIndex': 0 }, { 'createTime': '2020-08-10 15:32:17', 'updateTime': '2020-09-09 18:15:13', 'updateUser': '23', 'id': '1292725083076419586', 'productId': 'VIP', 'productPackage': 'com.hongyuan.sugartimeVip', 'productType': 'AUTO_RENEWAL_SUBSCRIPTION', 'description': '订阅会员', 'groupName': 'VIP', 'unitPrice': 19.99, 'obtainCandy': 2500.00, 'platform': 'iOS', 'sort': 5, 'discountRate': 0, 'showcase': true, 'recommend': false, 'tags': '', 'positionIndex': 0 }, { 'createTime': '2020-08-31 11:51:39', 'updateTime': '2020-09-09 18:15:13', 'createUser': '23', 'updateUser': '23', 'id': '1300280062414716929', 'productId': 'THREE_DAYS_FREE', 'productPackage': 'com.hongyuan.sugartime19.99', 'productType': 'AUTO_RENEWAL_SUBSCRIPTION', 'description': '3天免費', 'groupName': 'VIP', 'unitPrice': 19.90, 'obtainCandy': 2500.00, 'platform': 'iOS', 'sort': 4, 'discountRate': 0, 'showcase': true, 'recommend': false, 'tags': '', 'positionIndex': 0 }, { 'createTime': '2020-08-25 16:43:20', 'updateTime': '2020-09-01 17:24:11', 'createUser': '23', 'id': '1298179138910146561', 'productId': 'SCRAP_IRON_VIP', 'productPackage': 'com.hongyuan.3.99vip', 'productType': 'AUTO_RENEWAL_SUBSCRIPTION', 'description': '废铁VIP', 'groupName': 'VIP', 'unitPrice': 3.99, 'obtainCandy': 0.00, 'platform': 'iOS', 'sort': 3, 'discountRate': 0, 'showcase': true, 'recommend': false, 'tags': '', 'positionIndex': 0 }, { 'createTime': '2020-08-10 15:33:46', 'updateTime': '2020-09-01 17:24:11', 'id': '1292725083076419588', 'productId': 'GOLD_VIP', 'productPackage': 'com.hongyuan.goldvip', 'productType': 'AUTO_RENEWAL_SUBSCRIPTION', 'description': '订阅会员', 'groupName': 'VIP', 'unitPrice': 89.99, 'obtainCandy': 14000.00, 'platform': 'iOS', 'sort': 2, 'discountRate': 0, 'showcase': true, 'recommend': false, 'tags': '', 'positionIndex': 0 }, { 'createTime': '2020-08-10 15:32:25', 'updateTime': '2020-09-01 12:20:56', 'id': '1292725083076419587', 'productId': 'SILVER_VIP', 'productPackage': 'com.hongyuan.silvervip', 'productType': 'AUTO_RENEWAL_SUBSCRIPTION', 'description': '订阅会员', 'groupName': 'VIP', 'unitPrice': 59.99, 'obtainCandy': 9000.00, 'platform': 'iOS', 'sort': 1, 'discountRate': 0, 'showcase': true, 'recommend': false, 'tags': '', 'positionIndex': 0 }] }
}
},
// 内购产品配置信息
{
url: '/sys/product/config/\.',
type: 'get',
response: config => {
return { 'status': 200, 'result': { 'createTime': '2020-09-09 17:32:35', 'updateTime': '2020-09-09 18:15:13', 'createUser': '23', 'id': '1303627348529004546', 'productId': 'WASTE_MATERIAL_VIP', 'productPackage': 'com.hongyuan.1.99Vip', 'productType': 'AUTO_RENEWAL_SUBSCRIPTION', 'description': '废材VIP', 'groupName': 'VIP', 'unitPrice': 1.99, 'obtainCandy': 0.00, 'platform': 'iOS', 'sort': 6, 'discountRate': 0, 'showcase': true, 'recommend': false, 'tags': '', 'positionIndex': 0 }}
}
},
// 推荐商品,同步所以平台
{
url: '/sys/product/config/sync/all/recommend',
type: 'post',
response: config => {
return {
'status': 200,
'result': {}
}
}
},
// 推荐商品
{
url: '/sys/product/config/single/recommend',
type: 'post',
response: config => {
return {
'status': 200,
'result': {}
}
}
},
// 取消推荐
{
url: '/cancel/recommend/recommend',
type: 'delete',
response: config => {
return {
'status': 200,
'result': {}
}
}
},
// 修改排序
{
url: '/cancel/recommend/sort',
type: 'post',
response: config => {
return {
'status': 200,
'result': {}
}
}
}
]

122
mock/props.js Normal file
View File

@ -0,0 +1,122 @@
import Mock from 'mockjs'
export default [
// 道具购买流水
{
url: '/room/props/receipt',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'createTime': '2021-01-20 14:34:44',
'updateTime': '2021-01-20 14:34:44',
'id': '3243322',
'userId': '1351021829418778626',
'propsId': '1351727566616408065',
'propsCandy': 50.00,
'propsPhoto': 'http://sugartime-dev.oss-accelerate.aliyuncs.com/manager-80db3c54-4164-4f9b-a1d3-28ae96525c64.jpg',
'propsName': 'yy',
'typeName': '头像框',
'userBaseInfo': {
'createTime': '2021-01-18 12:21:19',
'updateTime': '2021-01-18 12:21:20',
'id': '1351021829418778626',
'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/2211A700-6413-4064-9810-197306DDEE20.png',
'originSys': 'ASWAT',
'userNickname': '呢你',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'age': 20,
'bornYear': 2000,
'bornMonth': 1,
'bornDay': 1,
'userTypeName': '真实',
'countryName': 'China',
'countryId': '1231833262813360130',
'countryCode': 'CN',
'accountStatus': 'NORMAL',
'accountStatusName': '正常',
'freezingTime': '2021-01-17 12:21:20',
'del': false,
'account': '399823'
}
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 道具资源分页列表
{
url: '/props/source/record/page',
type: 'get',
response: config => {
return {
status: 200,
body: []
}
}
},
// 活动道具奖励配置-分页列表
{
url: '/props/activity/reward/group/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'createTime': '2021-06-09 09:46:54',
'updateTime': '2021-06-09 09:46:54',
'id': '1402442046035218434',
'code': '12312',
'sysOrigin': 'ASWAT',
'name': '312312',
'shelfStatus': true,
'rewardConfigList': [
{
'createTime': '2021-06-09 09:46:55',
'updateTime': '2021-06-09 09:46:55',
'id': '1402442046827941889',
'groupId': '1402442046035218434',
'type': 'PROPS',
'content': '1352931737504518145',
'quantity': 123123
}
]
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 道具商店-分页
{
url: '/props/store/page',
type: 'get',
response: config => {
return {
status: 200,
result: {}
}
}
}
]

141
mock/purchase.js Normal file
View File

@ -0,0 +1,141 @@
import Mock from 'mockjs'
import { get, getPage, post, put, del } from './default_request'
export default [
// 金币收支 列表
{
url: '/user-wallet/list',
type: 'get',
response: config => {
return {
status: 200,
result: Mock.mock({
'items|30': [{
userProfile: {
'createTime': '2020-03-23 16:49:17',
'utcCreateTime': '2020-03-23 16:49:17',
'updateTime': '2020-03-23 16:49:23',
'id': '1242010518727663617',
'userAvatar': '',
'userNickname': 'Dcvv ',
'userSex': 0,
'userSexName': '女',
'userType': 0,
'userTypeName': '真实',
'countryName': 'China',
'del': false
},
runningWater: {
id: '@id',
userId: '@id',
trackId: '@sentence(2, 6)',
quantity: 550,
balance: 2550,
type: 0,
origin: 'TEST',
originName: '糖果包 4.99',
createTime: '2020-03-20 16:03:21'
}
}]
}).items
}
}
},
// 购买记录
{
url: '/order/purchase/history/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: [],
total: 30,
size: 30,
current: 1,
searchCount: true,
pages: 3
}
}
}
},
// 每日糖果收回總和
{
url: '/statistics/candy/incomeRate/sum',
type: 'get',
response: config => {
return {
status: 200,
result: '48462'
}
}
},
// 每日糖果收回
{
url: '/statistics/candy/incomeRate',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({
'items|30': [{
'createTime': '2020-06-10 08:20:00',
'updateTime': '2020-06-10 08:20:00',
'id': '1270510992397119490',
'incomeTotal': 691700.00,
'incomePeopleTotal': '2',
'femaleMatch': 10.00,
'callSuccess': 50.00,
'greetTask': 0.00,
'imChat': 90.00,
'callVideo': 0.00,
'giftGiveAway': 691550.00,
'toLikeMe': 0.00,
'unblockAccount': 0.00,
'other': 0.00,
'handlerDate': '2020-06-09',
'arppuCandy': 345850.00
}]
}).items,
total: 30,
size: 30,
current: 1,
searchCount: true,
pages: 3
}
}
}
},
// 今日内购总额
{
url: '/order/purchase/history/purchase/today/total',
type: 'get',
response: config => {
return {
status: 200,
result: 10
}
}
},
// 获取异常订单日志列表
getPage('/order/abnormal/log/page', {
'id': '@id',
'platform': 'iOS',
'originalOrderId': '123',
'orderId': '321',
'productCode': '123',
'status': 'IGNORE',
'create_time': '2020-11-24 14:03:00'
}),
// 获取异常订单日志,凭证
get('/order/abnormal/log/certificate', 'test'),
// 获取异常订单日志,凭证
put('/order/abnormal/log/status'),
// 产品池列表
get('/sys/product/pool', [{}]),
// 添加指定产品信息到池子
post('/sys/product/pool', ''),
// 删除产品池中指定信息
del('/sys/product/pool/\.', '')
]

54
mock/room-theme.js Normal file
View File

@ -0,0 +1,54 @@
import Mock from 'mockjs'
export default [
// 房间主题信息
{
url: '/room/theme/list',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'createTime': '2020-12-09 17:15:00',
'updateTime': '2020-12-15 17:56:50',
'updateUser': '23',
'id': '4232232422',
'themeCode': 'DEFAULT_THEME',
'themeBack': 'http://dev.qiniu.sugartimeapp.com/19999.png',
'showcase': true,
'themeMoney': 0.00
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 修改房间主题信息
{
url: '/room/theme',
type: 'put',
response: () => {
return {
'status': 200
}
}
},
// 删除房间主题
{
url: '/room/theme/\/*',
type: 'delete',
response: () => {
return {
'status': 200
}
}
}
]

145
mock/room.js Normal file
View File

@ -0,0 +1,145 @@
import Mock from 'mockjs'
export default [
// 房间贡献余额列表
{
url: '/room/contribution/balance/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'createTime': '2021-03-01 20:05:20',
'updateTime': '2021-03-01 20:05:20',
'roomId': '1364518645829402625',
'totalQuantity': 70.00,
'withdrawQuantity': 0.00,
'roomProfile': {
'createTime': '2021-02-24 18:12:51',
'updateTime': '2021-02-24 18:12:51',
'id': '1364518645829402625',
'roomAccount': '400374',
'userId': '1364396133145575425',
'roomCover': 'http://dev.img.sugartimeapp.com/avatar/10DEFAD7-A188-4115-A31C-1ACF2422A706.png',
'roomName': '恶魔哦ok',
'roomDesc': "Welcome everyone! Let's chat and have fun together.",
'roomTag': 'CHAT'
}
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 老虎机开奖记录
{
url: '/game/slot/machine/lottery/record/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'createTime': '2021-03-18 18:04:52',
'updateTime': '2021-03-18 18:04:52',
'id': '1372489167350652930',
'userId': '1369599569717846018',
'consumeGolds': 123.00,
'prizeType': 'NONE',
'prizeTypeName': '没有中奖',
'multiple': 0,
'obtainGolds': 0.00,
'prize': false,
'userBaseInfo': {
'createTime': '2021-02-19 19:38:21',
'updateTime': '2021-02-19 19:38:31',
'id': '1362728225851977730',
'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/B55EF836-D632-4FD2-8347-92099E29DF65.png',
'originSys': 'TIM_CHAT',
'userNickname': '不见了',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'age': 21,
'bornYear': 2000,
'bornMonth': 1,
'bornDay': 1,
'userTypeName': '真实',
'countryName': 'China',
'countryId': '1231833262813360130',
'countryCode': 'CN',
'accountStatus': 'NORMAL',
'accountStatusName': '正常',
'freezingTime': '2021-02-18 19:38:22',
'del': false,
'account': '400315'
}
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 红包发送记录
{
url: '/game-red-packet/flow',
type: 'get',
response: config => {
return {
status: 200,
result: Mock.mock({ 'items|30': [
{
'id': '1394536136562552833',
'sysOrigin': 'TIM_CHAT',
'roomId': '1',
'userId': '1394493636222013442',
'amount': 290,
'quantity': 6,
'status': 'REIMBURSE',
'createTime': '2021-05-18 14:11:40',
'available': false
},
{
'id': '1394535868311646210',
'sysOrigin': 'TIM_CHAT',
'roomId': '1',
'userId': '1394493636222013442',
'amount': 290,
'quantity': 6,
'status': 'REIMBURSE',
'createTime': '2021-05-18 14:10:36',
'available': false
},
{
'id': '1394535667182186498',
'sysOrigin': 'TIM_CHAT',
'roomId': '1',
'userId': '1394493636222013442',
'amount': 290,
'quantity': 6,
'status': 'REIMBURSE',
'createTime': '2021-05-18 14:09:48',
'available': false
}
] }
).items
}
}
}
]

70
mock/statistics.js Normal file
View File

@ -0,0 +1,70 @@
/**
* 统计相关
*/
import Mock from 'mockjs'
import { get, put } from './default_request'
export default [
// 获取最新货币收支情况
get('/count/currency/daily/platform', {}),
// 最新平台内购情况
get('/count/purchase/daily/list/sys-origin', []),
// 变更工资
put('/statistics/support/work/user/change/wag', ''),
// 获取最近30天最订单购买退款统计数据
get('/count/purchase/latest/order', [{ 'id': '1', 'platform': 'iOS', 'purchase': 1.00, 'refund': 4.00, 'statisticsTime': '2020-11-02 22:20:27' }]),
// 推荐人信息
{
url: '/statistics/quality/users/details/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'sysOrigin': 'TIM_CHAT',
'userId': '1438693762037395457',
'onlineQuantity': 0,
'freightQuantity': 12312.31,
'salaryQuantity': 0,
'userBaseInfo': {
'createTime': '2021-09-17 10:38:17',
'updateTime': '2021-09-17 10:38:19',
'id': '1438693762037395457',
'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/1A71A687-888B-49D4-902D-8E2BFA918426.png',
'originSys': 'TIM_CHAT',
'userNickname': 'KKK',
'userSex': 0,
'userSexName': '女',
'userType': 0,
'age': 21,
'bornYear': 2000,
'bornMonth': 1,
'bornDay': 1,
'userTypeName': '真实',
'countryName': 'China',
'countryId': '1231833262813360130',
'countryCode': 'CN',
'accountStatus': 'NORMAL',
'accountStatusName': '正常',
'freezingTime': '2021-09-16 10:38:17',
'del': false,
'account': '41902'
},
'totalQuantity': 12312
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
}
]

47
mock/sys-dictionary.js Normal file
View File

@ -0,0 +1,47 @@
import Mock from 'mockjs'
export default [
// 国家分页列表
{
url: '/sys/country/code/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'createTime': '2021-03-08 15:25:33',
'updateTime': '2021-03-08 15:52:43',
'updateUser': '23',
'id': '111111111111111111',
'alphaTwo': 'ZZ',
'alphaThree': 'ZZZ',
'countryNumeric': 222,
'enName': 'ce shis',
'assignment': 'CESHI',
'nationalFlag': 'http://dev.img.sugartimeapp.com/other/manager-59edd6ef-f06c-475c-b90c-ab5690810c6e/3b39690be0b2740770f323546bf499aa.jpg',
'sort': 1000,
'top': 1,
'open': 0
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 周星礼物分组列表
{
url: '/sys_week_star_group/page',
type: 'get',
response: config => {
return { 'status': 200, 'result': { 'records': [{ 'createTime': '2021-04-20 16:30:58', 'updateTime': '2021-04-20 16:31:02', 'id': '2', 'sysOrigin': '', 'displayNumber': 1, 'sysGiftConfigs': [{ 'createTime': '2021-01-26 12:03:39', 'updateTime': '2021-04-16 18:18:55', 'updateUser': '33', 'id': '1269808328087785475', 'giftPhoto': 'http://app.qiniu.sugartimeapp.com/coffee.png', 'giftName': '咖啡', 'giftSourceUrl': 'http://images.prod.ricomapp.com/COFFEE.svga', 'giftCode': 'COFFEE', 'giftCandy': 100.00, 'giftIntegral': 10.00, 'special': 'ANIMATION,MUSIC,NOTICE,STAR', 'type': 'GOLD', 'sort': 98, 'del': false, 'giftTab': 'NATIONAL_FLAG' }, { 'createTime': '2021-01-26 12:03:39', 'updateTime': '2021-04-16 18:21:08', 'updateUser': '33', 'id': '1269808328087785478', 'giftPhoto': 'http://app.qiniu.sugartimeapp.com/perfume.png', 'giftName': '香水', 'giftSourceUrl': 'http://images.prod.ricomapp.com/PERFUME.svga', 'giftCode': 'PERFUME', 'giftCandy': 5000.00, 'giftIntegral': 500.00, 'special': 'ANIMATION', 'type': 'GOLD', 'sort': 95, 'del': false, 'giftTab': 'CP' }, { 'createTime': '2021-01-26 12:03:39', 'updateTime': '2021-03-03 09:35:54', 'updateUser': '33', 'id': '1269808328087785480', 'giftPhoto': 'http://app.qiniu.sugartimeapp.com/sports_car.png', 'giftName': '跑车', 'giftSourceUrl': 'http://images.prod.ricomapp.com/SPORTS_CAR.svga', 'giftCode': 'SPORTS_CAR', 'giftCandy': 20000.00, 'giftIntegral': 2000.00, 'special': 'ANIMATION', 'type': 'GOLD', 'sort': 93, 'del': false, 'giftTab': 'ORDINARY' }] }], 'total': 1, 'size': 20, 'current': 1, 'searchCount': true, 'pages': 1 }}
}
}
]

57
mock/sys-emoji.js Normal file
View File

@ -0,0 +1,57 @@
import Mock from 'mockjs'
export default [
// 表情列表-分组分页列表
{
url: '/emoji/config/group/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({ 'items|30': [
{
'id': '1452527059287973890',
'sysOrigin': 'TIM_CHAT',
'groupCode': '123123',
'groupName': '111',
'cover': 'http://dev.img.sugartimeapp.com/svga_cover/manager-9d4d8fe5-4ae6-4279-8062-79a4d67b08fa.png',
'shelfStatus': 1,
'sort': 123,
'createTime': '2021-10-25 14:46:52'
}
] }
).items,
'total': 30,
'size': 30,
'current': 1,
'searchCount': true,
'pages': 3
}
}
}
},
// 表情列表-根据系统查找
{
url: '/emoji/config/group/sys_origin_list',
type: 'get',
response: config => {
return {
status: 200,
result: Mock.mock({ 'items|30': [
{
'id': '1452527059287973890',
'sysOrigin': 'TIM_CHAT',
'groupCode': '123123',
'groupName': '111',
'cover': 'http://dev.img.sugartimeapp.com/svga_cover/manager-9d4d8fe5-4ae6-4279-8062-79a4d67b08fa.png',
'shelfStatus': 1,
'sort': 123,
'createTime': '2021-10-25 14:46:52'
}
] }
).items
}
}
}
]

158
mock/sys-pay.js Normal file
View File

@ -0,0 +1,158 @@
// import Mock from 'mockjs'
import { get, getPage, del, post } from './default_request'
export default [
// 支付渠道-分页
getPage('/sys-pay-channel/page', {
'channelCode': '@id',
'channelName': '@string',
'channelIcon': 'http://img.sugartimeapp.com/avatar/b6f7c4d0-c4c1-42cd-b7cb-968aa62d03a7.jpg',
'channelType': 0,
'createTime': '2021-11-15 12:12:32'
}),
// 支付渠道-列表
get('/sys-pay-channel/list', {
'channelCode': '@id',
'channelName': '@string',
'channelIcon': 'http://img.sugartimeapp.com/avatar/b6f7c4d0-c4c1-42cd-b7cb-968aa62d03a7.jpg',
'channelType': 0,
'createTime': '2021-11-15 12:12:32'
}),
// 支付厂商-分页
getPage('/sys-pay-factory/page', {
'factoryCode': '@id',
'factoryName': '@string',
'factoryIcon': 'http://img.sugartimeapp.com/avatar/b6f7c4d0-c4c1-42cd-b7cb-968aa62d03a7.jpg',
'createTime': '2021-11-15 12:12:32'
}),
// 支付厂商-列表
get('/sys-pay-factory/list', {
'factoryCode': '@id',
'factoryName': '@string',
'factoryIcon': 'http://img.sugartimeapp.com/avatar/b6f7c4d0-c4c1-42cd-b7cb-968aa62d03a7.jpg',
'createTime': '2021-11-15 12:12:32'
}),
// 支付厂商-列表
get('/sys_pay_application/list', {
'id': '@id',
'appName': '@string',
'appCode': 'TIM_CHAT',
'androidLink': '',
'iosLink': ''
}),
// 开放支付国家-分页列表
getPage('/sys-pay-open-country/list/page', {
'id': '@id',
'countryId': '@id',
'currency': '@id',
'usdExchangeRate': '1',
'shelf': true,
'country': {
'alphaTwo': 'CN',
'enName': 'asdsa',
'aliasName': 'aliasName'
}
}),
// 开放支付国家-列表
get('/sys-pay-open-country/list', {
'id': '@id',
'countryId': '@id',
'currency': '@id',
'usdExchangeRate': '1',
'shelf': true,
'country': {
'alphaTwo': 'CN',
'enName': 'asdsa',
'aliasName': 'aliasName'
}
}),
// 开放支付国家-已关联渠道列表
get('/sys-pay-channel-factory/country', {
'associated': {
'id': '1468036919836319746',
'payCountryId': '1467683339950387202',
'channelCode': '123123',
'shelf': false
},
'channel': {
'id': '1465645906115207170',
'channelCode': '123123',
'channelName': '12312234234',
'channelIcon': 'http://dev.img.sugartimeapp.com/svgasource/manager-d27b6be6-d29b-4fc5-8851-aa1ffb83e5e2.png',
'channelType': 'ELECTRONIC_WALLET',
'createTime': '2021-11-30 19:36:29'
},
'countryChannels': [
{
'payFactory': {
'id': '1467745759100231682',
'factoryCode': 'test2',
'factoryName': '测试2',
'factoryIcon': 'http://dev.img.sugartimeapp.com/svgasource/manager-bf5c7314-3e56-4380-89c7-61a2188ea16d.png',
'createTime': '2021-12-06 14:40:33'
},
'countryChannelDetails': {
'payCountryId': '1467683339950387202',
'countryChannelId': '1468036919836319746',
'channelCode': '123123',
'factoryCode': 'test2',
'shelf': false
}
}
]
}),
// 根据限额获取支付的付款渠道-列表
get('/sys-pay-channel-factory/support_amount', {
'computedAmount': 123,
'amountUsd': 12,
'channels': [{
'associated': {
'id': '1468036919836319746',
'payCountryId': '1467683339950387202',
'channelCode': '123123',
'shelf': false
},
'channel': {
'id': '1465645906115207170',
'channelCode': '123123',
'channelName': '12312234234',
'channelIcon': 'http://dev.img.sugartimeapp.com/svgasource/manager-d27b6be6-d29b-4fc5-8851-aa1ffb83e5e2.png',
'channelType': 'ELECTRONIC_WALLET',
'createTime': '2021-11-30 19:36:29'
},
'countryChannels': [
{
'payFactory': {
'id': '1467745759100231682',
'factoryCode': 'test2',
'factoryName': '测试2',
'factoryIcon': 'http://dev.img.sugartimeapp.com/svgasource/manager-bf5c7314-3e56-4380-89c7-61a2188ea16d.png',
'createTime': '2021-12-06 14:40:33'
},
'countryChannelDetails': {
'payCountryId': '1467683339950387202',
'countryChannelId': '1468036919836319746',
'channelCode': '123123',
'factoryCode': 'test2',
'shelf': false
}
}
]
}]
}),
// 渠道关联厂商列表-列表
get('/sys-pay-channel-factory/associate', {
'channel': {
'channelCode': '@id',
'channelName': '@string',
'channelIcon': 'http://img.sugartimeapp.com/avatar/b6f7c4d0-c4c1-42cd-b7cb-968aa62d03a7.jpg',
'channelType': 0,
'createTime': '2021-11-15 12:12:32'
},
'payFactorys': {
'factoryCode': '@id',
'factoryName': '@string',
'factoryIcon': 'http://img.sugartimeapp.com/avatar/b6f7c4d0-c4c1-42cd-b7cb-968aa62d03a7.jpg',
'createTime': '2021-11-15 12:12:32'
}
})
]

28
mock/sys.js Normal file

File diff suppressed because one or more lines are too long

96
mock/table.js Normal file
View File

@ -0,0 +1,96 @@
// import Mock from 'mockjs'
import { get, getPage, del, post } from './default_request'
export default [
// 意见反馈
getPage('/sys/feedback/page', {
'id': '@id',
'userId': '1198154451673640962',
'content': 'ghjjjjhgg',
'imageUrls': 'DA66D98A-1A0F-4FA3-A86D-DE2DC9C95DB9.png,023CAF95-58F5-4942-9606-A177B175CF2D.png',
'approvalStatus': 0,
'approvalStatusName': '未处理',
'approvalRemarks': '132132132',
'createTime': '2019-11-29 03:58:10',
'updateTime': '2020-01-09 03:54:05',
'updateUser': '23',
'lastUpdateUser': {
'id': 23,
'loginName': 'admin',
'nickname': 'admin',
'ip': '127.0.0.1',
'status': 0,
'createUid': 1,
'createTime': '2019-11-13 18:28:38',
'updateTime': '2019-12-15 18:49:53'
}
}),
// 举报管理
getPage('/sys/reported/user/page', {
'createTime': '2020-03-31 17:34:57',
'updateTime': '2020-03-31 17:34:57',
'id': '@id',
'originName': '视频',
'censorRemarks': '',
'approvalStatusName': '系统已审批',
'reportUser': {
'createTime': '2020-03-31 10:51:08',
'updateTime': '2020-03-31 17:28:50',
'id': '1244819490287362050',
'userAvatar': 'http://dev.qiniu.sugartimeapp.com/F83FAD34-96AA-467E-8581-2253005EB8D7.png',
'userNickname': '松毛',
'userSex': 1,
'userSexName': '男',
'userType': 0,
'userTypeName': '真实',
'countryName': 'China',
'del': false
},
'reportedUser': {
'createTime': '2019-12-27 10:47:25',
'updateTime': '2020-02-24 17:01:14',
'id': '1210169958483365892',
'userAvatar': 'http://app.qiniu.sugartimeapp.com/1210169958483365893_20191226.jpg',
'userNickname': 'Renee Keppel',
'userSex': 0,
'userSexName': '女',
'userType': 1,
'userTypeName': '马甲',
'countryName': '',
'del': false
},
'reportType': 0,
'reportTypeName': '非法信息',
'reportedContent': '',
'approvalStatus': false
}),
// 参数配置
getPage('/sys/enum/config/page', {
'createTime': '2020-10-13 16:03:51',
'updateTime': '2020-10-19 12:24:53',
'createUser': '23',
'updateUser': '26',
'id': '1315926207577972737',
'name': 'SHORT_VIDEO_WATCH_AD_INTEGRAL',
'val': '0.1',
'title': '短视频广告积分',
'groupName': 'OTHER',
'description': '短视频观看广告获得积分',
'dataType': 'double',
'sort': 1,
'inoperable': false,
'returnApp': false,
'platform': 'ALL'
}),
// 获取系统枚举分组列表
get('/sys/enum/config/list/\.', [{ 'createTime': '2020-07-28 19:01:41', 'updateTime': '2020-07-31 14:21:55', 'createUser': '23', 'updateUser': '23', 'id': '1288067094097670145', 'name': 'NORMAL_MATCH_ALL_AI_FEMALE_PROBABILITY', 'val': 'true', 'groupName': 'VIDEO_MATCH', 'title': '开关bool', 'description': '开关bool', 'dataType': 'bool', 'sort': 0, 'inoperable': false }, { 'createTime': '2020-07-29 10:33:24', 'updateTime': '2020-07-31 12:29:07', 'createUser': '23', 'updateUser': '23', 'id': '1288301568651632642', 'name': 'NORMAL_MATCH_ALL_AI_PROBABILITY', 'val': '55', 'groupName': 'VIDEO_MATCH', 'description': '视频匹配所有(正常用户)-AI概率', 'dataType': 'int', 'sort': 0, 'inoperable': false }, { 'createTime': '2020-07-28 19:01:18', 'updateTime': '2020-07-31 14:22:01', 'createUser': '23', 'updateUser': '23', 'id': '1288067001030258689', 'name': 'T0_MATCH_ALL_AI_FEMALE_PROBABILITY', 'val': '70', 'groupName': 'VIDEO_MATCH', 'description': 'T0匹配所有-AI女性概率', 'dataType': 'int', 'sort': 0, 'inoperable': false }, { 'createTime': '2020-07-28 19:00:49', 'updateTime': '2020-07-31 14:22:06', 'createUser': '23', 'updateUser': '23', 'id': '1288066876207771649', 'name': 'T0_MATCH_ALL_AI_PROBABILITY', 'val': '70', 'groupName': 'VIDEO_MATCH', 'description': 'T0匹配所有-AI概率', 'dataType': 'int', 'sort': 0, 'inoperable': false }, { 'createTime': '2020-07-28 19:02:09', 'updateTime': '2020-07-31 14:21:48', 'createUser': '23', 'updateUser': '23', 'id': '1288067215082369025', 'name': 'VIDEO_MATCH_ALL_FEMALE_PROBABILITY', 'val': '70', 'groupName': 'VIDEO_MATCH', 'description': '视频匹配所有(正常用户)-女性概率', 'dataType': 'int', 'sort': 0, 'inoperable': false }]),
// 保存配置序号
post('/sys/enum/config/sort', {}),
// 获取app崩溃版本信息
post('/sys/breakdown/info/flow', []),
// 清空指定平台崩溃日志
del('/sys/breakdown/info/\./delete'),
// 清空指定平台日期崩溃日志
del('/sys/breakdown/info/\./\./\./delete'),
// 站内评分
getPage('/sys/app/score/page', { 'id': '@id', 'userId': '@id', 'platform': 'iOS', 'score': 1, 'createTime': '2020-11-24 14:47:00', 'userBaseInfo': {}})
]

43
mock/team.js Normal file
View File

@ -0,0 +1,43 @@
export default [
// 团列表
{
url: '/team/list',
type: 'get',
response: config => {
return { 'status': 200, 'result': [{ 'teamProfile': { 'id': '1600424626181439489', 'region': 'shanghai', 'account': '', 'sysOrigin': 'ASWAT', 'nickname': 'hhhiii8', 'ownUserId': '1600013750836187138', 'remarks': [], 'status': 'AVAILABLE', 'setting': { 'maxMember': 1000, 'billType': 'MONTH', 'billCycle': 1 }, 'counter': { 'memberQuantity': '1', 'adminQuantity': '0' }, 'contacts': [{ 'type': 'FACEBOOK', 'contact': '12312', 'remarks': '12312' }], 'createTime': '2022-12-07 17:38:59', 'updateTime': '2022-12-07 17:38:59' }, 'ownUserProfile': { 'id': '1600013750836187138', 'account': '42155', 'userAvatar': 'http://dev.img.sugartimeapp.com/avatar/151e099f-8779-4219-9f33-cafe8db2cf0e.png', 'userNickname': 'hhhiii8', 'userSex': 1, 'age': 27, 'accountStatus': 'NORMAL', 'freezingTime': '2022-12-05 14:26:20', 'countryName': 'United States', 'countryCode': 'en', 'originSys': 'ASWAT', 'sysOriginChild': 'ASWAT', 'del': false, 'bornYear': 1995, 'bornMonth': 1, 'bornDay': 1, 'createTime': '2022-12-06 14:26:19', 'actualAccountStatus': 'NORMAL', 'actualAccount': '42155', 'accountStatusName': '正常', 'userSexName': '男' }}, { 'teamProfile': { 'id': '1600416069822275585', 'region': 'shanghai', 'account': '1234321', 'sysOrigin': 'ASWAT', 'nickname': 'kaka', 'ownUserId': '1600059496931332097', 'remarks': [{ 'remarkId': '1600416069860024321', 'remark': 'test', 'createTime': '2022-12-07 17:05:00' }], 'status': 'AVAILABLE', 'counter': { 'memberQuantity': '1', 'adminQuantity': '0' }, 'contacts': [], 'createTime': '2022-12-07 17:04:59', 'updateTime': '2022-12-07 17:04:59' }, 'ownUserProfile': { 'id': '1600059496931332097', 'account': '42156', 'userAvatar': '', 'userNickname': 'kaka', 'userSex': 1, 'age': 27, 'accountStatus': 'NORMAL', 'freezingTime': '2022-12-05 17:28:06', 'countryName': 'United States', 'countryCode': 'en', 'originSys': 'ASWAT', 'sysOriginChild': 'ASWAT', 'del': false, 'bornYear': 1995, 'bornMonth': 1, 'bornDay': 1, 'createTime': '2022-12-06 17:28:06', 'actualAccountStatus': 'NORMAL', 'actualAccount': '42156', 'accountStatusName': '正常', 'userSexName': '男' }}] }
}
},
// 成员列表
{
url: '/team/member/list',
type: 'get',
response: config => {
return { 'status': 200, 'result': [] }
}
},
// 团队账单列表
{
url: '/team/bill/list',
type: 'get',
response: config => {
return { 'status': 200, 'result': [] }
}
},
// 系统区域政策
{
url: '/team/policy/manager/sys-region',
type: 'get',
response: config => {
return { 'status': 200, 'result': [] }
}
},
// 团队通过银行卡
{
url: '/team/bank-card/pass-list',
type: 'get',
response: config => {
return { 'status': 200, 'result': [] }
}
}
]

10
mock/tootls.js Normal file
View File

@ -0,0 +1,10 @@
// import Mock from 'mockjs'
import { get } from './default_request'
export default [
// 分析金币来源
get('/tools/gold_analyze', [{ name: 'aaa', value: 123 }]),
// api请求日志
get('/tools/api-operation-log', [])
]

18
mock/user-special-id.js Normal file
View File

@ -0,0 +1,18 @@
import Mock from 'mockjs'
export default [
{
url: '/user-special-id/flow',
type: 'get',
response: config => {
return { 'status': 200, 'result': [{ 'userSpecialId': { 'id': 'TIM_CHAT_123321', 'timeId': '1493866636127289346', 'sysOrigin': 'TIM_CHAT', 'userId': '1493138116758827009', 'account': '123321', 'expiredTime': '2022-02-25 16:35:35', 'createTime': '2022-02-16 16:35:35', 'updateTime': '2022-02-16 16:35:35', 'customizeField': { 'tesrr': '1' }}, 'userBaseInfo': { 'createTime': '2022-02-14 16:20:42', 'updateTime': '2022-02-14 16:20:42', 'id': '1493138116758827009', 'userAvatar': '', 'originSys': 'TIM_CHAT', 'sysOriginChild': 'TIM_CHAT', 'userNickname': '啦啦啦2', 'userSex': 1, 'userSexName': '男', 'userType': 0, 'age': 2, 'bornYear': 2020, 'bornMonth': 1, 'bornDay': 1, 'userTypeName': '真实', 'countryName': 'China', 'countryId': '1231833262813360130', 'countryCode': 'CN', 'accountStatus': 'NORMAL', 'accountStatusName': '正常', 'freezingTime': '2022-02-13 16:20:43', 'del': false, 'account': '42032' }}] }
}
},
{
url: '/user-special-id/latest-log',
type: 'get',
response: config => {
return {}
}
}]

142
mock/user.js Normal file
View File

@ -0,0 +1,142 @@
import Mock from 'mockjs'
export default [
{
url: '/account/buttons/aliases',
type: 'get',
response: config => {
return {
status: 200,
result: []
}
}
},
// user login
{
url: '/account/token',
type: 'post',
response: config => {
return {
status: 200,
result: {
token: 'admin-token',
uid: 1
}
}
}
},
// get user info
{
url: '/account/info',
type: 'get',
response: config => {
return {
status: 200,
result: {
loginName: 'admin',
nickname: 'admin'
}
}
}
},
// user logout
{
url: '/mock/user/logout',
type: 'post',
response: _ => {
return {
code: 200,
data: 'success'
}
}
},
// 账号菜单
{
url: '/account/menus',
type: 'get',
response: config => {
return { 'status': 200, 'result': [] }
}
},
// 用户道具流水
{
url: '/running/water/user/props/page',
type: 'get',
response: config => {
return {
status: 200,
result: {
records: Mock.mock({
'items|30': [{
'id': '1403253727628857346',
'propsCandy': 0,
'propsId': '1402547029989617665',
'propsCode': 'Aswat-vip3-ride',
'propsName': 'Aswat-vip3-ride',
'propsCover': 'http://dev.img.sugartimeapp.com/svga_cover/manager-4aeab7ae-7c0d-4406-bfd3-e50e058b8444.png',
'buyerId': '1402831237773488130',
'buyerNickname': 'xiaomi',
'receiverId': '1402831237773488130',
'receiverNickname': 'xiaomi',
'createTime': '2021-06-11 15:32:14'
},
{
'id': '1403253727314284545',
'propsCandy': 14000,
'propsId': '1402550414344155137',
'propsCode': 'Aswat-vip3-badge',
'propsName': 'MARQUIS',
'propsCover': 'http://dev.img.sugartimeapp.com/svga_cover/manager-76e13b50-bff3-40ff-acb1-2cd1913f0336.png',
'buyerId': '1392405692929675266',
'buyerNickname': 'Samsung ',
'receiverId': '1402831237773488130',
'receiverNickname': 'xiaomi',
'createTime': '2021-06-11 15:32:14'
},
{
'id': '1403226439239589889',
'propsCandy': 7,
'propsId': '1377919753268461569',
'propsCode': '1',
'propsName': 'VISCOUNT',
'propsCover': 'http://img.sugartimeapp.com/nobleVip/manager-3ed6ca82-6240-4fff-95c8-7ab29c875b8f.png',
'buyerId': '1396765544959414273',
'buyerNickname': 'Donkor',
'receiverId': '1398094185093890049',
'receiverNickname': '李易峰',
'createTime': '2021-06-11 13:43:48'
},
{
'id': '1402953820829376514',
'propsCandy': 0,
'propsId': '1357931892593101005',
'propsCode': '1012',
'propsName': '凤凰',
'propsCover': 'http://img.sugartimeapp.com/theme/cars_1012.png',
'buyerId': '1376452751777554434',
'buyerNickname': 'st_1',
'receiverId': '1376452751777554434',
'receiverNickname': 'st_1',
'createTime': '2021-06-10 19:40:31'
}]
}).items,
total: 30,
size: 30,
current: 1,
searchCount: true,
pages: 3
}
}
}
},
// 权限菜单
{
url: '/account/buttons/aliases',
type: 'get',
response: config => {
return { 'status': 200, 'result': ['sys:user:add', 'user:table:edit:account:handler', 'user:table:edit', 'user:table:query:gold', 'user:table:query:list', 'dashboard:details', 'sys:user:edit', 'user:table:edit:deduction:gold', 'user:table:query:violation', 'user:table:query:account:handler', 'user:table:edit:reward:gold', 'user:table:query:details', 'sys:user:resetpwd'] }
}
}
]

34
nginx/default.conf Normal file
View File

@ -0,0 +1,34 @@
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
# 此处的 @router 实际上是引用下面的转发,否则在 Vue 路由刷新时可能会抛出 404
try_files $uri $uri/ @router;
# 请求指向的首页
index index.html;
}
location /console {
proxy_pass http://console.prod.svc.cluster.local/console;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30s;
proxy_read_timeout 60s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

34
nginx/default_hooka.conf Normal file
View File

@ -0,0 +1,34 @@
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
# 此处的 @router 实际上是引用下面的转发,否则在 Vue 路由刷新时可能会抛出 404
try_files $uri $uri/ @router;
# 请求指向的首页
index index.html;
}
location /console {
proxy_pass http://console.prod-hooka.svc.cluster.local/console;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30s;
proxy_read_timeout 60s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

67
nginx/nginx.conf Normal file
View File

@ -0,0 +1,67 @@
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
gzip on;
gzip_static on;
gzip_min_length 10k;
gzip_buffers 4 16k;
gzip_comp_level 5;
gzip_http_version 1.0;
gzip_types
application/atom+xml
application/javascript
application/json
application/ld+json
application/manifest+json
application/rss+xml
application/vnd.geo+json
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/bmp
image/svg+xml
image/x-icon
text/cache-manifest
text/css
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vtt
text/x-component
application/octet-stream
text/x-cross-domain-policy;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";
}

83
package.json Normal file
View File

@ -0,0 +1,83 @@
{
"name": "sugartime-admin",
"version": "4.2.1",
"description": "sugartime admin",
"author": "1427985322@qq.com",
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src",
"test:unit": "jest --clearCache && vue-cli-service test:unit",
"test:ci": "npm run lint && npm run test:unit",
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
"@lucky-canvas/vue": "0.0.5",
"ali-oss": "^6.12.0",
"axios": "0.18.1",
"codemirror": "5.45.0",
"current-device": "0.10.2",
"echarts": "4.8.0",
"element-ui": "2.15.14",
"fuse.js": "3.4.4",
"js-cookie": "2.2.0",
"jsonlint": "^1.6.3",
"libpag": "^4.2.84",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
"path-to-regexp": "2.4.0",
"screenfull": "5.0.2",
"sockjs-client": "^1.5.1",
"sortablejs": "1.10.2",
"stompjs": "^2.3.3",
"svgaplayerweb": "^2.3.2",
"video.js": "^8.10.0",
"vue": "2.6.10",
"vue-count-to": "1.0.13",
"vue-json-viewer": "2.2.14",
"vue-router": "3.0.6",
"vue-seamless-scroll": "1.1.21",
"vuex": "3.1.0",
"vuex-along": "1.2.11"
},
"devDependencies": {
"@babel/core": "7.0.0",
"@babel/register": "7.0.0",
"@vue/cli-plugin-babel": "3.6.0",
"@vue/cli-plugin-eslint": "^3.9.1",
"@vue/cli-plugin-unit-jest": "3.6.3",
"@vue/cli-service": "3.6.0",
"@vue/test-utils": "1.0.0-beta.29",
"autoprefixer": "^9.5.1",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "10.0.1",
"babel-jest": "23.6.0",
"chalk": "2.4.2",
"connect": "3.6.6",
"eslint": "5.15.3",
"eslint-plugin-vue": "5.2.2",
"html-webpack-plugin": "3.2.0",
"mockjs": "1.0.1-beta3",
"node-sass": "^4.9.0",
"runjs": "^4.3.2",
"sass": "^1.26.11",
"sass-loader": "^7.1.0",
"script-ext-html-webpack-plugin": "2.1.3",
"script-loader": "0.7.2",
"serve-static": "^1.13.2",
"svg-sprite-loader": "4.1.3",
"svgo": "1.2.2",
"vue-template-compiler": "2.6.10"
},
"engines": {
"node": ">=8.9",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}

57
pipeline Normal file
View File

@ -0,0 +1,57 @@
pipeline {
agent {
label "prod"
}
environment {
BUILD_IMAGE = "${sh(script:'echo -n halar:page-console-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}"
IMAGE_REP_TAG = "794038239327.dkr.ecr.ap-southeast-1.amazonaws.com/"
K8S_NAMESPACE = "prod"
K8S_DEPLOYMENT = "console-page"
K8S_APP_LABEL = "console-page"
}
stages {
stage('Build') {
steps {
sh 'export PATH=$HOME/bin:$PATH &&export NODE_HOME=/usr/local/node &&export PATH=$NODE_HOME/bin:$PATH &&export PATH=$PATH:/usr/local/go/bin && npm install'
sh 'export PATH=$HOME/bin:$PATH &&export NODE_HOME=/usr/local/node &&export PATH=$NODE_HOME/bin:$PATH &&export PATH=$PATH:/usr/local/go/bin && npm run build:prod'
sh 'du -sh dist'
script {
IMAGE_REP_TAG="${sh(script:'echo -n ${IMAGE_REP_TAG}${BUILD_IMAGE}', returnStdout: true)}"
}
}
}
stage('Build image') {
steps {
sh "aws ecr get-login-password --region ap-southeast-1 | docker login --username AWS --password-stdin 794038239327.dkr.ecr.ap-southeast-1.amazonaws.com"
sh "docker build -t ${BUILD_IMAGE} ."
}
}
stage('Upload image') {
steps {
sh "docker tag ${BUILD_IMAGE} ${IMAGE_REP_TAG}"
sh "docker push ${IMAGE_REP_TAG}"
sh "docker rmi -f ${BUILD_IMAGE} ${IMAGE_REP_TAG}"
}
}
stage('Apply') {
steps {
sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}"
}
}
stage('Clear Cahe') {
steps {
sh 'sleep 40s'
sh 'aws cloudfront create-invalidation --distribution-id E4G8BEOY3HP3T --paths "/*"'
}
}
}
post {
always {
cleanWs()
}
}
}

57
pipeline-dev Normal file
View File

@ -0,0 +1,57 @@
pipeline {
agent {
label "dev"
}
environment {
BUILD_IMAGE = "${sh(script:'echo -n halar-dev:page-console-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}"
IMAGE_REP_TAG = "794038239327.dkr.ecr.ap-southeast-1.amazonaws.com/"
K8S_NAMESPACE = "local"
K8S_DEPLOYMENT = "console-page"
K8S_APP_LABEL = "console-page"
}
stages {
stage('Build') {
steps {
sh 'export PATH=$HOME/bin:$PATH &&export NODE_HOME=/usr/local/node &&export PATH=$NODE_HOME/bin:$PATH &&export PATH=$PATH:/usr/local/go/bin &&npm install'
sh 'export PATH=$HOME/bin:$PATH &&export NODE_HOME=/usr/local/node &&export PATH=$NODE_HOME/bin:$PATH &&export PATH=$PATH:/usr/local/go/bin &&npm run build:stage'
sh 'du -sh dist'
script {
IMAGE_REP_TAG="${sh(script:'echo -n ${IMAGE_REP_TAG}${BUILD_IMAGE}', returnStdout: true)}"
}
}
}
stage('Build image') {
steps {
sh "aws ecr get-login-password --region ap-southeast-1 | docker login --username AWS --password-stdin 794038239327.dkr.ecr.ap-southeast-1.amazonaws.com"
sh "docker build -t ${BUILD_IMAGE} ."
}
}
stage('Upload image') {
steps {
sh "docker tag ${BUILD_IMAGE} ${IMAGE_REP_TAG}"
sh "docker push ${IMAGE_REP_TAG}"
sh "docker rmi -f ${BUILD_IMAGE} ${IMAGE_REP_TAG}"
}
}
stage('Apply') {
steps {
sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}"
}
}
// stage('Clear Cahe') {
// steps {
// sh 'sleep 40s'
// sh 'aws cloudfront create-invalidation --distribution-id E3PFTQHTUMCCVT --paths "/*"'
// }
// }
}
post {
always {
cleanWs()
}
}
}

52
pipeline-hooka Normal file
View File

@ -0,0 +1,52 @@
pipeline {
agent {
label "prod"
}
environment {
BUILD_IMAGE = "${sh(script:'echo -n halar:page-console-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}"
IMAGE_REP_TAG = "794038239327.dkr.ecr.ap-southeast-1.amazonaws.com/"
K8S_NAMESPACE = "prod-hooka"
K8S_DEPLOYMENT = "console-page"
K8S_APP_LABEL = "console-page"
}
stages {
stage('Build') {
steps {
sh 'export PATH=$HOME/bin:$PATH &&export NODE_HOME=/usr/local/node &&export PATH=$NODE_HOME/bin:$PATH &&export PATH=$PATH:/usr/local/go/bin && npm install'
sh 'export PATH=$HOME/bin:$PATH &&export NODE_HOME=/usr/local/node &&export PATH=$NODE_HOME/bin:$PATH &&export PATH=$PATH:/usr/local/go/bin && npm run build:prod'
sh 'du -sh dist'
script {
IMAGE_REP_TAG="${sh(script:'echo -n ${IMAGE_REP_TAG}${BUILD_IMAGE}', returnStdout: true)}"
}
}
}
stage('Build image') {
steps {
sh "aws ecr get-login-password --region ap-southeast-1 | docker login --username AWS --password-stdin 794038239327.dkr.ecr.ap-southeast-1.amazonaws.com"
sh "docker build -t ${BUILD_IMAGE} . -f Dockerfile-hooka"
}
}
stage('Upload image') {
steps {
sh "docker tag ${BUILD_IMAGE} ${IMAGE_REP_TAG}"
sh "docker push ${IMAGE_REP_TAG}"
sh "docker rmi -f ${BUILD_IMAGE} ${IMAGE_REP_TAG}"
}
}
stage('Apply') {
steps {
sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG} --kubeconfig=/data/kube/hooka-config"
}
}
}
post {
always {
cleanWs()
}
}
}

8
postcss.config.js Normal file
View File

@ -0,0 +1,8 @@
// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
'plugins': {
// to edit target browsers: use "browserslist" field in package.json
'autoprefixer': {}
}
}

View File

View File

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
public/favicon_new.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

88
public/index.html Normal file
View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="icon" href="<%= BASE_URL %>favicon_new.ico">
<title><%= webpackConfig.name %></title>
<style>
html,
body,
#app {
height: 100%;
margin: 0;
padding: 0;
}
.main-loading {
background-color: #23232b;
height: 100%;
display: flex;
flex-direction: column;
}
.main-loading__main {
user-select: none;
width: 100%;
flex-grow: 1;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.main-loading__footer {
width: 100%;
flex-grow: 0;
text-align: center;
padding: 1em 0;
}
.main-loading__footer>a {
font-size: 12px;
color: #FFF;
text-decoration: none;
}
.main-loading__loading {
height: 32px;
width: 32px;
margin-bottom: 20px;
}
.main-loading__title {
color: #FFF;
font-size: 14px;
margin-bottom: 10px;
}
.main-loading__sub-title {
color: #FFF;
font-size: 12px;
}
</style>
</head>
<body>
<noscript>
<strong>We're sorry but <%= webpackConfig.name %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app">
<div class="main-loading">
<div class="main-loading__main">
<img class="main-loading__loading" src="./loading.svg" alt="loading">
<div class="main-loading__title">
正在加载资源
</div>
<div class="main-loading__sub-title">
初次加载资源可能需要较多时间 请耐心等待
</div>
</div>
<div class="main-loading__footer">
<a href="javascript:void(0)" target="_blank"></a>
</div>
</div>
</div>
<!-- built files will be auto injected -->
</body>
</html>

6
public/loading.svg Normal file
View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32" fill="white">
<path opacity=".25" d="M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4"/>
<path d="M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z">
<animateTransform attributeName="transform" type="rotate" from="0 16 16" to="360 16 16" dur="0.8s" repeatCount="indefinite" />
</path>
</svg>

After

Width:  |  Height:  |  Size: 422 B

10
src/App.vue Normal file
View File

@ -0,0 +1,10 @@
<template>
<div id="app">
<router-view />
</div>
</template>
<script>
export default {
name: 'App'
}
</script>

107
src/api/activity.js Normal file
View File

@ -0,0 +1,107 @@
/**
* 活动相关.
*/
import request from '@/utils/request'
// //////////////////// 名人堂 ///////////////////////////////
// 名人堂列表
export function hallFameTable(params) {
return request({
url: '/activity/hall-fame/page',
method: 'get',
params
})
}
// 修改或新增名人堂
export function addOrUpdateHallFame(data) {
return request({
url: '/activity/hall-fame/add-or-update',
method: 'post',
data
})
}
// ////////////////////// 国际化描述 //////////////////////////////////
// 删除
export function globalizationDelete(id) {
return request({
url: '/activity/globalization/description/del',
method: 'get',
params: { id }
})
}
// 国际化描述列表
export function globalizationTable(id) {
return request({
url: '/activity/globalization/description/list',
method: 'get',
params: { id }
})
}
// 修改或新增国际化描述
export function addOrUpdateGlobalization(data) {
return request({
url: '/activity/globalization/description/add-or-update',
method: 'post',
data
})
}
// ////////////////////// 房间支持活动 //////////////////////////////////
// 房间支持活动金币领取记录
export function pageRoomContribution(params) {
return request({
url: '/activity/room-contribution/page',
method: 'get',
params
})
}
// ////////////////////// 代理活动 //////////////////////////////////
// 代理活动历史记录
export function pageAgentActivity(params) {
return request({
url: '/activity/agent-count/page',
method: 'get',
params
})
}
// ////////////////////// 活动图片配置 //////////////////////////////////
// 活动图片列表
export function activityPicture(params) {
return request({
url: '/activity-picture/config',
method: 'get',
params
})
}
// 修改活动图片信息
export function updateActivityPicture(data) {
return request({
url: '/activity-picture/config',
method: 'put',
data
})
}
// 删除活动图片
export function deleteActivityPicture(id) {
return request({
url: `/activity-picture/config/delete/${id}`,
method: 'delete'
})
}
// 新增活动图片
export function addActivityPicture(data) {
return request({
url: '/activity-picture/config',
method: 'post',
data
})
}

94
src/api/app-manager.js Normal file
View File

@ -0,0 +1,94 @@
/**
* app管理相关
*/
import request from '@/utils/request'
// 获取版本信息列表
export function getAppVersionTable(params) {
return request({
url: '/sys/version/manage',
method: 'get',
params
})
}
// 添加版本信息
export function addAppVersion(data) {
return request({
url: '/sys/version/manage',
method: 'post',
data
})
}
// 修改版本信息
export function updateAppVersion(data) {
return request({
url: '/sys/version/manage/update',
method: 'post',
data
})
}
// 删除版本信息
export function delAppVersion(id) {
return request({
url: `/sys/version/manage/${id}`,
method: 'get'
})
}
// 添加buildVersion
export function addServerBuildVersion(params) {
return request({
url: '/sys/version/manage/add/build-version',
method: 'get',
params
})
}
// 获取当前添加buildVersion
export function getServerBuildVersion(params) {
return request({
url: '/sys/version/manage/get/build-version',
method: 'get',
params
})
}
// 版本更新描述
// 获取版本更新描述列表
export function getAppVersionDescriptionTable(params) {
return request({
url: '/sys/version/update/description',
method: 'get',
params
})
}
// 添加版本更新描述列表
export function addAppVersionDescription(data) {
return request({
url: '/sys/version/update/description',
method: 'post',
data
})
}
// 修改版本更新描述列表
export function updateAppVersionDescription(data) {
return request({
url: '/sys/version/update/description/update',
method: 'post',
data
})
}
// 删除版本更新描述列表
export function delAppVersionDescription(id) {
return request({
url: `/sys/version/update/description/${id}`,
method: 'get'
})
}

109
src/api/app-server3.yml Normal file
View File

@ -0,0 +1,109 @@
apiVersion: v1
items:
- apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "13"
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"labels":{"app":"app-service"},"name":"app-service-deployment","namespace":"rc-service-api"},"spec":{"replicas":6,"revisionHistoryLimit":3,"selector":{"matchLabels":{"app":"app-service"}},"template":{"metadata":{"labels":{"app":"app-service"}},"spec":{"containers":[{"image":"registry.ap-southeast-1.aliyuncs.com/rc1304/appservice:20230413tmpv1","livenessProbe":{"failureThreshold":2,"httpGet":{"path":"/probe/healthy","port":9000},"periodSeconds":5,"timeoutSeconds":2},"name":"app-service","ports":[{"containerPort":9000}],"readinessProbe":{"failureThreshold":2,"httpGet":{"path":"/probe/healthy","port":9000},"periodSeconds":5,"timeoutSeconds":2},"resources":{"limits":{"cpu":"2","memory":"2Gi"},"requests":{"cpu":"1","memory":"1Gi"}},"startupProbe":{"failureThreshold":60,"httpGet":{"path":"/probe/healthy","port":9000},"periodSeconds":5,"timeoutSeconds":2}}],"imagePullSecrets":[{"name":"rc-aliyun-secret"}],"terminationGracePeriodSeconds":30}}}}
creationTimestamp: "2023-04-13T14:02:33Z"
generation: 13
labels:
app: app-service
name: app-service-deployment
namespace: rc-service-api
resourceVersion: "2895428"
uid: 039244b7-8b7d-419f-9340-8072ac05527a
spec:
progressDeadlineSeconds: 600
replicas: 6
revisionHistoryLimit: 3
selector:
matchLabels:
app: app-service
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
annotations:
kubectl.kubernetes.io/restartedAt: "2023-04-14T02:36:07Z"
creationTimestamp: null
labels:
app: app-service
spec:
containers:
- image: registry.ap-southeast-1.aliyuncs.com/rc1304/appservice:20230413tmpv3
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 2
httpGet:
path: /probe/healthy
port: 9000
scheme: HTTP
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 2
name: app-service
ports:
- containerPort: 9000
protocol: TCP
readinessProbe:
failureThreshold: 2
httpGet:
path: /probe/healthy
port: 9000
scheme: HTTP
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 2
resources:
limits:
cpu: "2"
memory: 2Gi
requests:
cpu: "1"
memory: 1Gi
startupProbe:
failureThreshold: 60
httpGet:
path: /probe/healthy
port: 9000
scheme: HTTP
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 2
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: rc-aliyun-secret
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
status:
availableReplicas: 6
conditions:
- lastTransitionTime: "2023-04-13T14:02:44Z"
lastUpdateTime: "2023-04-13T14:02:44Z"
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: "True"
type: Available
- lastTransitionTime: "2023-04-13T14:02:33Z"
lastUpdateTime: "2023-04-14T02:40:39Z"
message: ReplicaSet "app-service-deployment-7559b95b9" has successfully progressed.
reason: NewReplicaSetAvailable
status: "True"
type: Progressing
observedGeneration: 13
readyReplicas: 6
replicas: 6
updatedReplicas: 6
kind: List
metadata:
resourceVersion: ""

View File

@ -0,0 +1,102 @@
apiVersion: v1
kind: Namespace
metadata:
name: rc-service-api
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: rc-service-api
name: app-service-deployment
labels:
app: app-service
spec:
replicas: 6
revisionHistoryLimit: 3
selector:
matchLabels:
app: app-service
template:
metadata:
labels:
app: app-service
spec:
containers:
- name: app-service
image: registry.ap-southeast-1.aliyuncs.com/rc1304/appservice:20230413tmpv3
ports:
- containerPort: 9000
resources:
requests:
cpu: "1"
memory: "1Gi"
limits:
cpu: "2"
memory: "2Gi"
livenessProbe:
httpGet:
path: /probe/healthy
port: 9000
failureThreshold: 2
periodSeconds: 5
timeoutSeconds: 2
# initialDelaySeconds: 180
readinessProbe:
httpGet:
path: /probe/healthy
port: 9000
failureThreshold: 2
periodSeconds: 5
timeoutSeconds: 2
# initialDelaySeconds: 180
startupProbe:
httpGet:
path: /probe/healthy
port: 9000
timeoutSeconds: 2
failureThreshold: 60
periodSeconds: 5
# lifecycle:
# preStop:
# httpGet:
# path: /probe/shutdown?key=ZDk1p0M36tpxKobK
# port: 9000
terminationGracePeriodSeconds: 30
imagePullSecrets:
- name: rc-aliyun-secret
---
apiVersion: v1
kind: Service
metadata:
namespace: rc-service-api
name: app-service-service
spec:
selector:
app: app-service
ports:
- port: 80
targetPort: 9000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: rc-service-api
name: app-service-ingress
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/target-group-attributes: deregistration_delay.timeout_seconds=30
spec:
ingressClassName: alb
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: app-service-service
port:
number: 80

View File

@ -0,0 +1,160 @@
import request from '@/utils/request'
import { httpGetExport } from '@/utils/export-excel'
// 用户银行账户分页列表
export function pageBank(params) {
return request({
url: '/user-bank-balance/page',
method: 'get',
params
})
}
// 用户银行账户-导出
export function exprotBank(params) {
return httpGetExport(
'/user-bank-balance/export',
params,
'ExportUserBankAccount'
)
}
// 用户银行账户-导入
export function confirmImport(form) {
return request({
url: '/user-bank-balance/import',
method: 'post',
headers: {
'Content-Type': 'multipart/form-data'
},
data: form
})
}
// 用户银行流水列表
export function pageRunningWater(params) {
return request({
url: '/user-bank-balance/running-water-page',
method: 'get',
params
})
}
// 用户银行流水列表
export function calculateTotalAmount(params) {
return request({
url: '/user-bank-balance/calculate/total',
method: 'get',
params
})
}
// 发送用户银行现金
export function sendMoney(data) {
return request({
url: '/user-bank-balance/send-money',
method: 'post',
data
})
}
// 创建用户银行现金账户
export function createBankBalance(data) {
return request({
url: '/user-bank-balance/create-bank-balance',
method: 'post',
data
})
}
// 扣除用户银行现金
export function deductMoney(data) {
return request({
url: '/user-bank-balance/deduct-money',
method: 'post',
data
})
}
// 转账用户银行现金
export function transferMoney(data) {
return request({
url: '/user-bank-balance/transfer-money',
method: 'post',
data
})
}
// 用户银行卡金币兑换申请列表
export function pageBankWithdrawGoldApply(params) {
return request({
url: '/user-bank-balance/withdraw-gold-apply-page',
method: 'get',
params
})
}
// 用户银行卡提现现金申请
export function pageBankWithdrawMoneyApply(params) {
return request({
url: '/user-bank-balance/withdraw-money-apply-page',
method: 'get',
params
})
}
// 用户银行卡提现现金申请-导出
export function exportBankWithdrawMoneyApply(params) {
return httpGetExport(
'/user-bank-balance/withdraw-money-apply/export',
params,
'ExportWithdrawMoneyApply'
)
}
// 用户银行卡提现现金申请
export function getBankWithdrawMoneyApply(id) {
return request({
url: '/user-bank-balance/withdraw-money-apply/info',
method: 'get',
params: { id }
})
}
// 审核用户银行卡提现现金申请
export function approvalMoneyApply(data) {
return request({
url: '/user-bank-balance/approval-money-apply',
method: 'post',
data
})
}
// //////////////////////// 自动化支付工资凭证 ///////////////////////////////////
// 给用户自动发送工资凭证记录
export function pageSalary(params) {
return request({
url: '/team/salary/list',
method: 'get',
params
})
}
// //////////////////////// 将主播剩余目标兑换成美元记录 ///////////////////////////////////
// 将主播剩余目标兑换成美元记录
export function pageTeamExchangeTarget(params) {
return request({
url: '/team/exchange/target/list',
method: 'get',
params
})
}
// 将主播剩余目标兑换成美元总额
export function calculateExchangeUsdTotalAmount(params) {
return request({
url: '/team/exchange/target/usd-total',
method: 'get',
params
})
}

View File

@ -0,0 +1,56 @@
import request from '@/utils/request'
// 用户银行账户分页列表
export function pageSalaryDiamond(params) {
return request({
url: '/user-salary-diamond/page',
method: 'get',
params
})
}
// 用户银行流水列表
export function pageRunningWater(params) {
return request({
url: '/user-salary-diamond/running-water-page',
method: 'get',
params
})
}
// 发送用户银行现金
export function sendSalaryDiamond(data) {
return request({
url: '/user-salary-diamond/send',
method: 'post',
data
})
}
// 创建用户银行现金账户
export function createSalaryDiamondBalance(data) {
return request({
url: '/user-salary-diamond/create',
method: 'post',
data
})
}
// 扣除用户银行现金
export function deductSalaryDiamond(data) {
return request({
url: '/user-salary-diamond/deduct',
method: 'post',
data
})
}
// 转账用户银行现金
export function transferSalaryDiamond(data) {
return request({
url: '/user-salary-diamond/transfer',
method: 'post',
data
})
}

634
src/api/app-user.js Normal file
View File

@ -0,0 +1,634 @@
import request from '@/utils/request'
import { httpGetExport } from '@/utils/export-excel'
// 获取用户认证信息
export function getNotExpiredSubscriptionName(userId) {
return request({
url: `/user/subscription/balance/${userId}/name`,
method: 'get'
})
}
// 获取用户认证信息
export function getUserAuthType(userId) {
return request({
url: `/user/auth/type/${userId}`,
method: 'get'
})
}
// 登录令牌查看
export function getLoginToken(userId) {
return request({
url: '/user/auth/type/longin/token',
method: 'get',
params: { userId }
})
}
// 删除登录令牌
export function delLoginToken(userId) {
return request({
url: '/user/auth/type/longin/token',
method: 'delete',
params: { userId }
})
}
// 获取用户糖果
export function getUserCandyBalance(userId) {
return request({
url: `/user/candy/balance/${userId}`,
method: 'get'
})
}
// 获取用户余额top表
export function listUserCandyTop(params) {
return request({
url: `/user/candy/balance/top`,
method: 'get',
params
})
}
// 获取用户游戏券
export function getUserGameCouponBalance(userId) {
return request({
url: `/user/game/coupon/balance/${userId}`,
method: 'get'
})
}
// 获取用户注册信息
export function getUserRegister(userId) {
return request({
url: `/user/register/info/${userId}`,
method: 'get'
})
}
// 获取用户正常照片墙
export function getUserPhotoWallNormal(userId) {
return request({
url: `/user/photo/wall/normal/${userId}`,
method: 'get'
})
}
// 获取用户所有照片墙
export function getUserPhotoWallAll(userId) {
return request({
url: `/user/photo/wall/all/${userId}`,
method: 'get'
})
}
// app用户列表
export function getUserTable(data) {
return request({
url: '/user/base/info/page',
method: 'post',
data
})
}
// 修改用户基本信息
export function updateBaseInfo(data) {
return request({
url: '/user/base/info',
method: 'put',
data
})
}
// 用户基本信息
export function getUserBaseInfo(id) {
return request({
url: `/user/base/info/${id}`,
method: 'get'
})
}
// 用户基本信息
export function getUserBaseInfoByAccount(id) {
return request({
url: `/user/base/info/account/${id}`,
method: 'get'
})
}
// 用户基本信息
export function getUserBaseInfoBySysOriginAccount(sysOrigin, id) {
return request({
url: `/user/base/info/${sysOrigin}/account/${id}`,
method: 'get'
})
}
// 所有照片墙
export function getPotoWallTable(params) {
return request({
url: '/user/photo/wall/page',
method: 'get',
params
})
}
// 删除照片墙
export function deletePhotoWall(id) {
return request({
url: `/user/photo/wall/del/${id}`,
method: 'get'
})
}
// 所有照片墙按条件筛选
export function getPotoWallTableSeach(params) {
return request({
url: '/user/photo/wall/page/all',
method: 'get',
params
})
}
// 修改用户等级
export function updateLevelScore(data) {
return request({
url: '/user/level/score',
method: 'post',
data
})
}
// 用户积分
export function getUserLevel(id) {
return request({
url: `/user/base/info/level/${id}`,
method: 'get'
})
}
// 在线女性用户分页列表
export function getOnlineUserTable(params) {
return request({
url: '/user/real/time/status/online/female/page',
method: 'get',
params
})
}
// 在线女性用户总数
export function getOnlineTotal() {
return request({
url: '/user/real/time/status/online/female/total',
method: 'get'
})
}
// 在线男性用户分页列表
export function getOnlineMaleUserTable(params) {
return request({
url: '/user/real/time/status/online/male/page',
method: 'get',
params
})
}
// 在线男性用户总数
export function getOnlineMaleTotal() {
return request({
url: '/user/real/time/status/online/male/total',
method: 'get'
})
}
// 获取男性用户等级
export function getUserMaleLevel(id) {
return request({
url: `/user/base/info/male/level/${id}`,
method: 'get'
})
}
// 修改男性用户等级
export function updateMaleLevelScore(data) {
return request({
url: '/user/male/level/score',
method: 'post',
data
})
}
// 修改ai用户基本信息
export function updateVestBaseInfo(data) {
return request({
url: '/user/base/info/vest',
method: 'put',
data
})
}
// 获取用户当前账号状态
export function getAccountStatus(userId) {
return request({
url: `/user/base/info/account/status/${userId}`,
method: 'get'
})
}
// 获取礼物墙
export function getGiftWall(userId) {
return request({
url: `/user/gift/wall/${userId}`,
method: 'get'
})
}
// 用户游戏券奖励
export function rewardGameCoupon(userId, coupon, remarks, rewardType) {
return request({
url: `/user/game/coupon/income/expenditure/reward/coupon`,
method: 'post',
params: { userId, coupon, remarks, rewardType }
})
}
// 用户游戏券扣除
export function deductGameCoupon(userId, coupon, remarks) {
return request({
url: `/user/game/coupon/income/expenditure/deduct/coupon`,
method: 'post',
params: { userId, coupon, remarks }
})
}
// 发送金币
export function sendGold(data) {
return request({
url: '/user-wallet/send-gold',
method: 'post',
data
})
}
// 用户金币扣除
export function deductGold(data) {
return request({
url: '/user-wallet/deduct-gold',
method: 'post',
data
})
}
// 发送钻石
export function sendDiamond(data) {
return request({
url: '/user-wallet/send-diamond',
method: 'post',
data
})
}
// 用户钻石扣除
export function deductDiamond(data) {
return request({
url: '/user-wallet/deduct-diamond',
method: 'post',
data
})
}
// APP管理员分页列表
export function getAdministratorTable(params) {
return request({
url: '/sys/administrator/page',
method: 'get',
params
})
}
// 禁用/启用APP管理员
export function changeStatusAdministrator(data) {
return request({
url: '/sys/administrator',
method: 'put',
data
})
}
// 改变角色
export function changeSysAdministratorRoles(params) {
return request({
url: `/sys/administrator/change_roles/${params.id}/${params.roles}`,
method: 'get'
})
}
// APP权限列表
export function getAdministratorAuthTable() {
return request({
url: '/sys/administrator/auth/resource',
method: 'get'
})
}
export function deleteAdministratorAuth(id) {
return request({
url: `/sys/administrator/auth/resource/delete/${id}`,
method: 'get'
})
}
export function updateAdministratorAuth(data) {
return request({
url: '/sys/administrator/auth/resource',
method: 'put',
data
})
}
export function addAdministratorAuth(data) {
return request({
url: '/sys/administrator/auth/resource',
method: 'post',
data
})
}
// 获取用户选中的权限信息
export function getSysAdministratorAuthResourceByUserId(userId) {
return request({
url: `/sys/administrator/auth/resource/select/${userId}`,
method: 'get'
})
}
// 修改权限
export function deleteAndAddAdministratorAuth(data) {
return request({
url: '/sys/administrator/auth',
method: 'put',
data
})
}
// 获取用户的设备信息
export function getUserImei(id) {
return request({
url: `/user/base/info/user/imei/${id}`,
method: 'get'
})
}
// 获取用户的最新设备信息
export function getDeviceByUserId(userId) {
return request({
url: `/user/base/info/device/${userId}`,
method: 'get'
})
}
// 用户最新设备列表
export function getUserDeviceTable(params) {
return request({
url: `/user/latest/mobile/device/page`,
method: 'get',
params
})
}
// 货运代理账户分页列表
export function pageFreight(params) {
return request({
url: '/freight/page',
method: 'get',
params
})
}
// 发货给代理账户
export function shipFreight(data) {
return request({
url: '/freight/ship',
method: 'post',
data
})
}
// 代理账户扣除货款
export function deductionFreight(data) {
return request({
url: '/freight/deduction',
method: 'post',
data
})
}
// 货运流水列表
export function pageRunningWater(params) {
return request({
url: '/freight/running-water-page',
method: 'get',
params
})
}
// 货运流水列表-导出
export function exportFreightWaters(params, excelName) {
return httpGetExport('/freight/running-water/export', params, excelName)
}
// 货运流水列表
export function pageFreightSellerRunningWater(params) {
return request({
url: '/freight/freight-seller-running-water-page',
method: 'get',
params
})
}
// 切换关闭账号状态
export function switchStatusFreight(id, status) {
return request({
url: `/freight/switch-status/${id}/${status}`,
method: 'post'
})
}
// 切换显示/不显示在H5页面显示账号信息
export function showStatusFreight(id, status) {
return request({
url: `/freight/show-status/${id}/${status}`,
method: 'post'
})
}
// 是否经销商切换
export function switchStatusDealer(id, status) {
return request({
url: `/freight/switch-dealer-status/${id}/${status}`,
method: 'post'
})
}
// 经销商卖家列表
export function pageFreightSeller(params) {
return request({
url: '/freight-seller/page',
method: 'get',
params
})
}
// 修改经销商卖家数量
export function updateSellerQuantity(data) {
return request({
url: '/freight/update-seller-quantity',
method: 'post',
data
})
}
// 删除经销商卖家
export function removeFreightSeller(id) {
return request({
url: `/freight-seller/delete/${id}`,
method: 'delete'
})
}
// 获取指定用户运行资料
export function getUserRunProfileById(userId) {
return request({
url: `/user-run-profile/${userId}`,
method: 'get'
})
}
// 移除用户运行资料
export function removeUserRunProfileById(userId) {
return request({
url: `/user-run-profile/${userId}`,
method: 'delete'
})
}
// 获取扩展信息
export function getUserExpend(userId) {
return request({
url: '/user/expand',
method: 'get',
params: { userId }
})
}
// 获得认证详情
export function getUserAuthTypeDetails(userId) {
return request({
url: '/user/auth/type/details/' + userId,
method: 'get',
params: { userId }
})
}
// 修改绑定手机认证信息
export function editUserMobileAuth(data) {
return request({
url: '/user/auth/type/edit/mobile-auth',
method: 'post',
data
})
}
// 删除绑定手机认证信息
export function deleteUserMobileAuth(userId) {
return request({
url: '/user/auth/type/delete/mobile-auth/' + userId,
method: 'get'
})
}
// 重置用户账号密码登录信息
export function initUserAccountLogin(userId) {
return request({
url: '/user/auth/type/init/account-auth/' + userId,
method: 'get'
})
}
// 删除用户账号密码登录信息
export function deleteUserAccountLogin(userId) {
return request({
url: '/user/auth/type/delete/account-auth/' + userId,
method: 'get'
})
}
// 重置用户支付密码
export function initUserPayAuth(userId) {
return request({
url: '/user/auth/type/init/pay-auth/' + userId,
method: 'get'
})
}
// 删除用户支付密码
export function deleteUserPayAuth(userId) {
return request({
url: '/user/auth/type/delete/pay-auth/' + userId,
method: 'get'
})
}
// 获取用户vip实际权益信息
export function getUserVipEquity(userId) {
return request({
url: '/user/base/info/user/vip/equity/' + userId,
method: 'get'
})
}
// 用户身份信息
export function getUserIdentity(userId) {
return request({
url: '/user/base/info/' + userId + '/identity',
method: 'get'
})
}
// 用户认证身份信息
export function getUserBankIdentityInfo(params) {
return request({
url: '/user/bank-identity-info/page',
method: 'get',
params
})
}
// 用户认证身份信息审核
export function auditUserBankIdentityInfo(data) {
return request({
url: '/user/bank-identity-info',
method: 'put',
data
})
}
// 用户认证身份信息-导出
export function exportUserBankIdentityInfo(params, excelName) {
return httpGetExport('/user/bank-identity-info/export', params, excelName)
}
// 用户钻石流水列表
export function pageUserDiamondRunWater(params) {
return request({
url: '/user/diamond/run/water/page',
method: 'get',
params
})
}
// 用户钻石余额列表
export function pageUserDiamondBalance(params) {
return request({
url: '/user/diamond/balance/page',
method: 'get',
params
})
}

293
src/api/approval.js Normal file
View File

@ -0,0 +1,293 @@
/**
* 审批相关
*/
import request from '@/utils/request'
// 获取家族审批资料列表
export function getFamilyApprovalPage(params) {
return request({
url: '/family/approval/page',
method: 'get',
params
})
}
// 修改不通过审批的家族头像,公告,昵称
export function notPassFamilyApproval(data) {
return request({
url: `/family/approval/not-pass`,
method: 'post',
data
})
}
// 用户管理列表
export function getUserVideoCensorApprvalTable(params) {
return request({
url: '/sys/video/call/censor/approval/page',
method: 'get',
params
})
}
// 账号处理
export function accountHandle(data) {
return request({
url: '/user/data/violation/expand/approval/account',
method: 'post',
data
})
}
// 视频违规记录
export function getVideoCallCensorApproval(params) {
return request({
url: '/sys/video/call/censor/approval/page',
method: 'get',
params
})
}
// 审批违规审批图片
export function approvalVideoCallCensor(data) {
return request({
url: '/sys/video/call/censor/approval',
method: 'post',
data
})
}
// 获取用户审批资料列表
export function getUserApprovalData(params) {
return request({
url: '/user/data/violation/expand',
method: 'get',
params
})
}
// 用户资料审批
export function approvalUserInfo(data) {
return request({
url: '/user/data/violation/expand/approval',
method: 'post',
data
})
}
// 获取违规照片墙信息
export function getViolationLatestPhotowall(userId) {
return request({
url: `/user/data/violation/latest/photo/wall/${userId}`,
method: 'get'
})
}
// 审批违规历史记录列表
export function pageViolationHistory(params) {
return request({
url: '/approval/history/page',
method: 'get',
params
})
}
// 用户积分详情列表
export function pageUserIntegralOrigin(params) {
return request({
url: '/user/integral/origin/page',
method: 'get',
params
})
}
// 用户积分流水列表
export function pageUserIntegralOriginStream(params) {
return request({
url: '/user/integral/origin/stream/page',
method: 'get',
params
})
}
// 用户积分历史流水列表
export function pageUserIntegralOriginHistoryStream(params) {
return request({
url: '/user/integral/origin/history/stream/page',
method: 'get',
params
})
}
// 用户积分兑换账单列表
export function pageTeamBillingIntegralRecord(params) {
return request({
url: '/team/billing/integral/record/page',
method: 'get',
params
})
}
// 用户账户审核历史记录
export function getUserStatusLogTable(params) {
return request({
url: '/approval/user/account/status/log/page',
method: 'get',
params
})
}
// 最近审批列表
export function getUserStatusLogLatestList(params) {
return request({
url: '/approval/user/account/status/log/latest',
method: 'get',
params
})
}
// 用户积分详情列表导出
export function integralExport(params) {
return request({
url: '/user/integral/origin/excel',
method: 'get',
responseType: 'blob',
params
})
}
// 用户积分兑换记录导出
export function integralRecodeExport(params) {
return request({
url: '/team/billing/integral/record/excel',
method: 'get',
responseType: 'blob',
params
})
}
// 用户签到日志
export function pageUserCheckLog(params) {
return request({
url: '/user/check/inLog',
method: 'get',
params
})
}
// 照片墙审批-通过
export function approvalPhotoWallPass(data) {
return request({
url: '/approval/photo/wall/pass',
method: 'post',
data
})
}
// 照片墙审批-不通过
export function approvalPhotoWallNotPass(data) {
return request({
url: '/approval/photo/wall/not/pass',
method: 'post',
data
})
}
// 举报审批-通过
export function approvalReportedPass(data) {
return request({
url: '/approval/reported/pass',
method: 'post',
data
})
}
// 举报审批-不通过
export function approvalReportedNotPass(data) {
return request({
url: '/approval/reported/not/pass',
method: 'post',
data
})
}
// 房间资料审批信息分页列表
export function pageRoomApproval(params) {
return request({
url: '/room/profile-manager/approval/page',
method: 'get',
params
})
}
// 审批违规资料
export function approvalData(data) {
return request({
url: '/data/approval',
method: 'post',
data
})
}
// 用户个性签名审批列表
export function pageUserProfileDescApproval(params) {
return request({
url: '/data/approval/user-profile-desc/page',
method: 'get',
params
})
}
// 用户头像昵称审批列表
export function pageUserProfileApproval(params) {
return request({
url: '/data/approval/user-profile/page',
method: 'get',
params
})
}
// 房间主题审批信息分页列表
export function pageRoomThemeApproval(params) {
return request({
url: '/room/user/theme/page',
method: 'get',
params
})
}
// 审批房间主题
export function themeApprove(data) {
return request({
url: '/room/user/theme/approve',
method: 'post',
data
})
}
// 用户银行卡列表
export function pageUserBankCard(params) {
return request({
url: '/user/bank-card/page',
method: 'get',
params
})
}
// 用户银行卡审核通过
export function userBankCardPass(data) {
return request({
url: '/user/bank-card/pass',
method: 'post',
data
})
}
// 用户银行卡审核驳回
export function userBankCardNotPass(data) {
return request({
url: '/user/bank-card/not-pass',
method: 'post',
data
})
}

103
src/api/badge.js Normal file
View File

@ -0,0 +1,103 @@
import request from '@/utils/request'
// 徽章规则列表
export function badgeTable(params) {
return request({
url: '/sys/badge/config',
method: 'get',
params
})
}
// 修改徽章规则信息
export function updateBadge(data) {
return request({
url: '/sys/badge/config',
method: 'put',
data
})
}
// 删除徽章规则信息
export function deleteBadge(id) {
return request({
url: `/sys/badge/config/delete/${id}`,
method: 'get'
})
}
// 新增徽章规则信息
export function addBadge(data) {
return request({
url: '/sys/badge/config',
method: 'post',
data
})
}
// 徽章赠送 - 非成就徽章
export function giveBadgeTable(params) {
return request({
url: '/sys/badge/config/getGiveBadgePage',
method: 'get',
params
})
}
// 发送管理员徽章
export function giveBadge(badgeId, userId) {
return request({
url: `/sys/badge/config/give/badge/${badgeId}/${userId}`,
method: 'get'
})
}
// 收回管理员徽章
export function retrieveBadge(badgeId, userId) {
return request({
url: `/sys/badge/config/retrieve/badge/${badgeId}/${userId}`,
method: 'get'
})
}
/**
* 获取活动徽章列表.
*/
export function listBadgeByType(type) {
return request({
url: '/sys/badge/config/list/badge-by-type',
method: 'get',
params: { type }
})
}
/**
* 添加或修改资源.
*/
export function saveOrUpdateBadgePicture(data) {
return request({
url: '/sys/badge/picture/config/add-or-update',
method: 'post',
data
})
}
/**
* 获取平台徽章信息.
*/
export function listBadgePictureBySysOrigin(sysOrigin, type) {
return request({
url: '/sys/badge/config/sys-origin',
method: 'post',
params: { sysOrigin, type }
})
}
// 查询用户非成就徽章
export function listUserNotAchieveBadge(userId) {
return request({
url: '/user/badge/backpack/not-achieve/' + userId,
method: 'get'
})
}

38
src/api/banner.js Normal file
View File

@ -0,0 +1,38 @@
import request from '@/utils/request'
// banner列表
export function bannerTable(params) {
return request({
url: '/sys/banner/config',
method: 'get',
params
})
}
// 修改banner信息
export function updateBanner(data) {
return request({
url: '/sys/banner/config',
method: 'put',
data
})
}
// 删除banner信息
export function deleteBanner(id, sysOrigin) {
return request({
url: `/sys/banner/config/${id}/${sysOrigin}`,
method: 'delete'
})
}
// 新增banner信息
export function addBanner(data) {
return request({
url: '/sys/banner/config',
method: 'post',
data
})
}

28
src/api/bean.js Normal file
View File

@ -0,0 +1,28 @@
import request from '@/utils/request'
// 用户豆子余额列表
export function pageUserBeanBalance(params) {
return request({
url: '/user-bean-balance/page',
method: 'get',
params
})
}
// 用户豆子流水列表
export function pageUserBeanRunningWater(params) {
return request({
url: '/user-bean-balance/running-water/page',
method: 'get',
params
})
}
// 添加或扣除豆子
export function addOrSubtract(data) {
return request({
url: '/user-bean-balance/add-or-subtract/beans',
method: 'post',
data
})
}

54
src/api/cp-cabin.js Normal file
View File

@ -0,0 +1,54 @@
import request from '@/utils/request'
// cpCabin列表
export function cpCabinTable(params) {
return request({
url: '/sys/cp-cabin/config',
method: 'get',
params
})
}
// 修改cpCabin信息
export function updateCpCabin(data) {
return request({
url: '/sys/cp-cabin/config',
method: 'put',
data
})
}
// 删除cpCabin信息
export function deleteCpCabin(id) {
return request({
url: `/sys/cp-cabin/config/${id}`,
method: 'delete'
})
}
// 新增cpCabin信息
export function addCpCabin(data) {
return request({
url: '/sys/cp-cabin/config',
method: 'post',
data
})
}
// cp告白信息
export function userConfessionRecordPage(params) {
return request({
url: '/user/confession/record/page',
method: 'get',
params
})
}
// cp告白审核
export function auditUserConfession(data) {
return request({
url: '/user/confession/record',
method: 'put',
data
})
}

30
src/api/datav.js Normal file
View File

@ -0,0 +1,30 @@
import request from '@/utils/request'
// 活跃用户分布国家
export function latestActiveUserCountryCode(params) {
return request({
url: '/datav/active/user-country-code',
method: 'get',
params
})
}
// 活跃用户分布国家
export function onlineUserCount(params) {
return request({
url: '/datav/online/user/count',
method: 'get',
params
})
}
// TimChat在线房间数
export function onlineRoomCount(params) {
return request({
url: '/datav/online/room/count',
method: 'get',
params
})
}

38
src/api/dictionary.js Normal file
View File

@ -0,0 +1,38 @@
import request from '@/utils/request'
// 字典列表
export function pageDictionary(params) {
return request({
url: '/sys/dictionary/page',
method: 'get',
params
})
}
// 修改字典主题信息
export function updateSysDictionary(data) {
return request({
url: '/sys/dictionary',
method: 'put',
data
})
}
// 删除字典信息
export function deleteSysDictionary(id) {
return request({
url: `/sys/dictionary/${id}`,
method: 'delete'
})
}
// 添加字典信息
export function addSysDictionary(data) {
return request({
url: '/sys/dictionary',
method: 'post',
data
})
}

143
src/api/dynamic.js Normal file
View File

@ -0,0 +1,143 @@
// 动态
import request from '@/utils/request'
// 黑名单列表
export function blacklistTable(params) {
return request({
url: '/dynamic/blacklist/page',
method: 'get',
params
})
}
// 新增黑名单
export function addBlacklist(data) {
return request({
url: '/dynamic/blacklist/add',
method: 'post',
data
})
}
// 删除黑名单
export function deleteBlacklist(userId) {
return request({
url: '/dynamic/blacklist/delete/' + userId,
method: 'get'
})
}
// Tag列表
export function tagTable(params) {
return request({
url: '/dynamic/tag/page',
method: 'get',
params
})
}
// 修改或新增Tag信息
export function addOrUpdate(data) {
return request({
url: '/dynamic/tag/add-or-update',
method: 'post',
data
})
}
// 投诉动态列表
export function reportTable(params) {
return request({
url: '/dynamic/report/page',
method: 'get',
params
})
}
// 设置置顶
export function setUpTop(data) {
return request({
url: '/user/dynamic/setUpTop',
method: 'post',
data
})
}
// 取消置顶
export function closeTop(dynamicId) {
return request({
url: '/user/dynamic/closeTop/' + dynamicId,
method: 'get'
})
}
// 处理投诉
export function report(data) {
return request({
url: '/dynamic/report',
method: 'post',
data
})
}
// 动态内容
export function getContentTable(params) {
return request({
url: '/approval/dynamic/content/page',
method: 'get',
params
})
}
// 动态内容审批-通过
export function approvalContentPass(data) {
return request({
url: '/approval/dynamic/content/pass',
method: 'post',
data
})
}
// 动态内容审批-不通过
export function approvalContentNotPass(data) {
return request({
url: '/approval/dynamic/content/not/pass',
method: 'post',
data
})
}
// 热门权重配置
export function getPopularConfig() {
return request({
url: '/dynamic/popular/config',
method: 'get'
})
}
// 热门权重配置
export function savePopularConfig(data) {
return request({
url: '/dynamic/popular/config',
method: 'post',
data
})
}
// 用户动态列表
export function userDynamicTable(params) {
return request({
url: '/user/dynamic/page',
method: 'get',
params
})
}
// 删除用户动态
export function deleteUserDynamic(data) {
return request({
url: '/user/dynamic/delete',
method: 'post',
data
})
}

89
src/api/family.js Normal file
View File

@ -0,0 +1,89 @@
import request from '@/utils/request'
// 家族成员列表
export function pageFamilyMember(params) {
return request({
url: '/family/member/page',
method: 'get',
params
})
}
// 家族列表
export function pageFamily(params) {
return request({
url: '/family/page',
method: 'get',
params
})
}
// 家族等级列表
export function pageLevel(params) {
return request({
url: '/family/level/config/page',
method: 'get',
params
})
}
// 修改或新增家族等级
export function addOrUpdateLevel(data) {
return request({
url: `/family/level/config/add-or-update`,
method: 'post',
data
})
}
// 家族等级配置list
export function pageCreateRule(params) {
return request({
url: '/family/create/rule/page',
method: 'get',
params
})
}
// 修改家族等级配置
export function addOrUpdateCreateRule(data) {
return request({
url: '/family/create/rule/add-or-update',
method: 'post',
data
})
}
// 家族每周奖励配置列表
export function pageFamilyRewardRule(params) {
return request({
url: '/family/reward/rule/page',
method: 'get',
params
})
}
// 修改家族每周奖励配置
export function addOrUpdateFamilyRewardRule(data) {
return request({
url: '/family/reward/rule/add-or-update',
method: 'post',
data
})
}
// 解散家族
export function delFamily(familyId) {
return request({
url: `/family/del/${familyId}`,
method: 'get'
})
}
// 移出家族成员
export function removeFamilyMember(familyId, memberId) {
return request({
url: `/family/member/del/${familyId}/${memberId}`,
method: 'get'
})
}

18
src/api/game-coupon.js Normal file
View File

@ -0,0 +1,18 @@
import request from '@/utils/request'
// 游戏券收支详情流水
export function getGameCouponRunningWaterDetailsTable(params) {
return request({
url: '/user/game/coupon/income/expenditure/details/page',
method: 'get',
params
})
}
// 来源
export function originList(params) {
return request({
url: '/user/game/coupon/income/expenditure/origin/list',
method: 'get'
})
}

View File

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 赏金任务配置
export function getGameFruitBountyConfigTable(params) {
return request({
url: '/game/fruit/bounty-config',
method: 'get',
params
})
}
// 新增/修改赏金任务配置
export function addOrUpdateGameFruitBountyConfig(data) {
return request({
url: '/game/fruit/bounty-config',
method: 'post',
data
})
}
// 删除赏金任务配置信息
export function deleteGameFruitBountyConfig(id) {
return request({
url: `/game/fruit/bounty-config/${id}`,
method: 'delete'
})
}
// 任务配置
export function getGameFruitTaskConfig(params) {
return request({
url: '/game/fruit/task-config',
method: 'get',
params
})
}
// 新增/修改任务配置
export function addGameFruitTaskConfig(data) {
return request({
url: '/game/fruit/task-config',
method: 'post',
data
})
}
// 删除任务配置信息
export function deleteGameFruitTaskConfig(id) {
return request({
url: `/game/fruit/task-config/${id}`,
method: 'delete'
})
}
// 获取游戏奖项图片信息
export function getGameFruitImages(sysOrigin) {
return request({
url: `/game/fruit/images/${sysOrigin}`,
method: 'get'
})
}

View File

@ -0,0 +1,222 @@
import request from '@/utils/request'
// 获取LuckyBox抽奖记录
export function pageLuckyBoxGameRecord(params) {
return request({
url: '/game/lucky-box/page/record',
method: 'get',
params
})
}
// 根据条件获取LuckyBox抽奖统计信息
export function countLuckyBoxGame(params) {
return request({
url: '/game/lucky-box/count',
method: 'get',
params
})
}
// 获取幸运值规则配置
export function getLuckyBoxFortuneConfig(params) {
return request({
url: '/game/lucky-box/fortune-config',
method: 'get',
params
})
}
// 新增/修改幸运值规则配置
export function addLuckyBoxFortuneConfig(data) {
return request({
url: '/game/lucky-box/fortune-config',
method: 'post',
data
})
}
// 赏金任务配置
export function getBountyConfigTable(params) {
return request({
url: '/game/lucky-box/bounty-config',
method: 'get',
params
})
}
// 新增/修改赏金任务配置
export function addOrUpdateBountyConfig(data) {
return request({
url: '/game/lucky-box/bounty-config',
method: 'post',
data
})
}
// 删除赏金任务配置信息
export function deleteBountyConfig(id) {
return request({
url: `/game/lucky-box/bounty-config/${id}`,
method: 'delete'
})
}
// 获取赏金任务配置详情
export function getBountyDetialsConfigTable(params) {
return request({
url: '/game/lucky-box/bounty-details-config',
method: 'get',
params
})
}
// 新增/修改赏金任务配置详情.
export function addOrUpdateBountyDetialsConfig(data) {
return request({
url: '/game/lucky-box/bounty-details-config',
method: 'post',
data
})
}
// 删除赏金任务配置详情信息
export function deleteBountyDetailsConfig(id) {
return request({
url: `/game/lucky-box/bounty-details-config/${id}`,
method: 'delete'
})
}
// 累计抽奖奖励配置列表.
export function getAwardConfig(params) {
return request({
url: '/game/lucky-box/award-config',
method: 'get',
params
})
}
// 新增/修改累计抽奖奖励配置.
export function addGameLuckyBoxAwardConfig(data) {
return request({
url: '/game/lucky-box/award-config',
method: 'post',
data
})
}
// 删除累计抽奖奖励配置
export function deleteAwardConfig(id) {
return request({
url: `/game/lucky-box/award-config/${id}`,
method: 'delete'
})
}
// 获取累计抽奖奖励配置详情
export function getGameLuckyBoxAwardDetailsConfig(params) {
return request({
url: '/game/lucky-box/award-details-config',
method: 'get',
params
})
}
// 新增/修改累计抽奖奖励配置详情.
export function addGameLuckyBoxAwardDetailsConfig(data) {
return request({
url: '/game/lucky-box/award-details-config',
method: 'post',
data
})
}
// 删除赏金任务配置详情信息
export function deleteAwardDetailsConfig(id) {
return request({
url: `/game/lucky-box/award-details-config/${id}`,
method: 'delete'
})
}
// 获取抽奖规格配置信息.
export function getStandardConfig(params) {
return request({
url: '/game/lucky-box/standard-config',
method: 'get',
params
})
}
// 新增/修改抽奖规格配置信息.
export function addStandardConfig(data) {
return request({
url: '/game/lucky-box/standard-config',
method: 'post',
data
})
}
// 切换抽奖规格状态
export function switchStatus(id, status) {
return request({
url: `/game/lucky-box/switch_status/${id}/${status}`,
method: 'post'
})
}
// 删除抽奖规格配置
export function deleteStandardConfig(id) {
return request({
url: `/game/lucky-box/standard-config/${id}`,
method: 'delete'
})
}
// 获取抽奖礼物配置
export function getGameLuckyBoxGiftConfig(params) {
return request({
url: '/game/lucky-box/gift-config',
method: 'get',
params
})
}
// 新增/修改抽奖礼物配置
export function addOrUpdateGiftConfig(data) {
return request({
url: '/game/lucky-box/gift-config',
method: 'post',
data
})
}
// 获取luckyBox礼物规格配置Map
export function mapLuckyBoxGiftMap(params) {
return request({
url: '/game/lucky-box/map/gift',
method: 'get',
params
})
}
// 获取抽奖规格配置详情
export function getGameLuckyBoxStandardDetailsConfig(params) {
return request({
url: '/game/lucky-box/standard-details-config',
method: 'get',
params
})
}
// 新增/修改抽奖规格配置详情.
export function addGameLuckyBoxStandardDetailsConfig(data) {
return request({
url: '/game/lucky-box/standard-details-config',
method: 'post',
data
})
}

View File

@ -0,0 +1,98 @@
import request from '@/utils/request'
// 获取幸运礼物规则配置
export function getLuckyGiftRuleConfig(params) {
return request({
url: '/game/lucky-gift/rule-config',
method: 'get',
params
})
}
// 新增/修改幸运礼物规则配置
export function addLuckyGiftRuleConfig(data) {
return request({
url: '/game/lucky-gift/rule-config',
method: 'post',
data
})
}
// 幸运礼物规格列表
export function standardConfigTable(params) {
return request({
url: '/game/lucky-gift/standard-config',
method: 'get',
params
})
}
// 新增/修改幸运礼物规格配置
export function addOrUpdateStandardConfig(data) {
return request({
url: '/game/lucky-gift/standard-config',
method: 'post',
data
})
}
// 删除幸运礼物规格信息
export function deleteStandardConfig(id) {
return request({
url: `/game/lucky-gift/standard-config/${id}`,
method: 'delete'
})
}
// 获取幸运礼物规格配置Map
export function mapLuckyGiftStandard(sysOrigin) {
return request({
url: '/game/lucky-gift/map/probability?sysOrigin=' + sysOrigin,
method: 'get'
})
}
// 新增/修改幸运礼物规格概率配置
export function addOrUpdateProbabilityConfig(data) {
return request({
url: '/game/lucky-gift/probability-config',
method: 'post',
data
})
}
// 获取幸运礼物规格概率以及详情配置信息
export function gameLuckyGiftProbabilityInfoConfig(params) {
return request({
url: '/game/lucky-gift/probability-info-config',
method: 'get',
params
})
}
// 新增/修改礼物规格概率基础配置和详情配置.
export function addLuckyGiftProbabilityInfoConfig(data) {
return request({
url: '/game/lucky-gift/probability-info-config',
method: 'post',
data
})
}
// 获取幸运礼物送礼记录
export function pageLuckyGiftGameRecord(params) {
return request({
url: '/game/lucky-gift/page/game/record',
method: 'get',
params
})
}
// 根据条件获取幸运礼物统计信息
export function countLuckyGiftGame(params) {
return request({
url: '/game/lucky-gift/count',
method: 'get',
params
})
}

View File

@ -0,0 +1,47 @@
import request from '@/utils/request'
// 歌曲列表
export function songTable(params) {
return request({
url: '/game-ktv/config',
method: 'get',
params
})
}
// 修改歌曲信息
export function updateSong(data) {
return request({
url: '/game-ktv/config',
method: 'put',
data
})
}
// 切换歌曲上下架状态
export function switchShelfStatus(id, status) {
return request({
url: `/game-ktv/config/switch/${id}/${status}`,
method: 'put'
})
}
// 新增歌曲信息
export function addSong(data) {
return request({
url: '/game-ktv/config',
method: 'post',
data
})
}
// 删除歌曲信息
export function deleteSong(data) {
return request({
url: `/game-ktv/config/delete`,
method: 'put',
data
})
}

View File

@ -0,0 +1,21 @@
import request from '@/utils/request'
// ktv热门歌曲列表
export function hotSongCount(params) {
return request({
url: '/game-ktv-hot-song',
method: 'get',
params
})
}
// ktv点歌记录列表
export function userSongCount(params) {
return request({
url: '/game-ktv-user-song',
method: 'get',
params
})
}

47
src/api/game-song-gift.js Normal file
View File

@ -0,0 +1,47 @@
import request from '@/utils/request'
// ktv礼物列表
export function songGiftTable(params) {
return request({
url: '/game-ktv-gift-config',
method: 'get',
params
})
}
// 修改ktv礼物信息
export function updateSongGift(data) {
return request({
url: '/game-ktv-gift-config',
method: 'put',
data
})
}
// 新增ktv礼物信息
export function addSongGift(data) {
return request({
url: '/game-ktv-gift-config',
method: 'post',
data
})
}
// 删除ktv礼物信息
export function deleteSongGift(id) {
return request({
url: `/game-ktv-gift-config/delete/${id}`,
method: 'put'
})
}
// 查询ktv礼物和表情包信息
export function listGiftOrEmoji(params) {
return request({
url: '/game-ktv-gift-config/list',
method: 'get',
params
})
}

424
src/api/game.js Normal file
View File

@ -0,0 +1,424 @@
import request from '@/utils/request'
// /////////////////////////////////////////////////////// 2种水果游戏 ///////////////////////////////////////////////////////////
// 水果游戏记录 50s
export function pageFruitMachine(params) {
return request({
url: '/game/fruit/machine/page',
method: 'get',
params
})
}
// 水果游戏用户记录 50s
export function pageFruitMachineUserBet(params) {
return request({
url: '/game/fruit/machine/user/page',
method: 'get',
params
})
}
// /////////////////////////////////////////////////////// lucky box 游戏 ///////////////////////////////////////////////////////////
// lucky box 抽奖列表.
export function listGameLuckyBox(params) {
return request({
url: '/game/lucky/box/list',
method: 'get',
params
})
}
// 获得系统盈亏数量.
export function getProfitLossAmount(params) {
return request({
url: '/game/lucky/box/profit-loss',
method: 'get',
params
})
}
// 奖金池.
export function getPrizePoolAmount(sysOrigin) {
return request({
url: '/game/lucky/box/prize-pool',
method: 'get',
params: { sysOrigin }
})
}
// 幸运奖金池.
export function getLuckyPrizePoolAmount(sysOrigin) {
return request({
url: '/game/lucky/box/lucky-prize-pool',
method: 'get',
params: { sysOrigin }
})
}
// 获取设置抽成比率-幸运.
export function getLuckyDrawRatio(sysOrigin) {
return request({
url: '/game/lucky/box/lucky-draw-ratio',
method: 'get',
params: { sysOrigin }
})
}
// 设置抽成比率-幸运.
export function setLuckyDrawRatio(sysOrigin, ratio) {
return request({
url: '/game/lucky/box/lucky-draw-ratio',
method: 'post',
params: { sysOrigin, ratio }
})
}
// 获取设置抽成比率-投入奖金.
export function getPoolPutRatio(sysOrigin) {
return request({
url: '/game/lucky/box/pool-put-ratio',
method: 'get',
params: { sysOrigin }
})
}
// 设置抽成比率-投入奖金.
export function setPoolPutRatio(sysOrigin, ratio) {
return request({
url: '/game/lucky/box/pool-put-ratio',
method: 'post',
params: { sysOrigin, ratio }
})
}
// /////////////////////////////////////////////////////// 砸金蛋游戏 ///////////////////////////////////////////////////////////
// 碎片兑换记录
export function pageEggExchangeRecord(params) {
return request({
url: '/game/egg/exchange/page',
method: 'get',
params
})
}
// 抽奖记录
export function pageEggLotteryRecord(params) {
return request({
url: '/game/egg/lottery/record/page',
method: 'get',
params
})
}
// 配置信息-获取
export function getEggConfig(params) {
return request({
url: '/game/egg/config',
method: 'get',
params
})
}
// 配置信息-编辑
export function updateEggConfig(data) {
return request({
url: '/game/egg/config',
method: 'post',
data
})
}
// 配置信息-编辑
export function resetEggConsumeStockQuantity(id) {
return request({
url: '/game/egg/config/reset-consume-stock',
method: 'get',
params: { id }
})
}
// 抽取概率-获取
export function getEggExtractRatio(sysOrigin) {
return request({
url: '/game/egg/config/extract-pool',
method: 'get',
params: { sysOrigin }
})
}
// 抽取概率-编辑
export function setEggExtractRatio(sysOrigin, ratio) {
return request({
url: '/game/egg/config/set-extract-pool',
method: 'get',
params: { sysOrigin, ratio }
})
}
// 抽取概率-编辑
export function getEggPrizePool(sysOrigin) {
return request({
url: '/game/egg/config/prize-pool',
method: 'get',
params: { sysOrigin }
})
}
// /////////////////////////////////////////////////////// 抽奖游戏 ///////////////////////////////////////////////////////////
// 抽奖奖励配置-分页
export function pageGameLotteryGroup(params) {
return request({
url: '/game/lottery/reward/group/page',
method: 'get',
params
})
}
// 抽奖奖励配置-修改/添加
export function saveOrUpdateGameLotteryGroup(data) {
return request({
url: '/game/lottery/reward/group/save_or_update',
method: 'post',
data
})
}
// 抽奖奖励配置-上下架
export function offGameLotteryGroup(id, offShelf) {
return request({
url: `/game/lottery/reward/group/off/shelf/${id}/${offShelf}`,
method: 'get'
})
}
// /////////////////////////////////////////////////////// 果游戏 ///////////////////////////////////////////////////////////
// 双层糖果总额By条件
export function totalDoubleLayerFruitUserBet(params) {
return request({
url: '/game/double/layer/fruit/total',
method: 'get',
params
})
}
// /////////////////////////////////////////////////////// Ludo飞行棋游戏 ///////////////////////////////////////////////////////////
// 飞行棋游戏-列表
export function flowLudoGame(params) {
return request({
url: '/game-ludo/flow',
method: 'get',
params
})
}
// 飞行棋游戏-解散
export function dismissLudoGame(roomId) {
return request({
url: '/game-ludo/dismiss',
method: 'get',
params: { roomId }
})
}
// /////////////////////////////////////////////////////// 炸金花游戏 ///////////////////////////////////////////////////////////
// 游戏记录分页列表-炸金花
export function pageTableTeenPatti(params) {
return request({
url: '/game/teen-patti/page',
method: 'get',
params
})
}
// 游戏记录分页列表,用户押注-炸金花
export function pageTableUserBetTeenPatti(params) {
return request({
url: '/game/teen-patti/user-bet/page',
method: 'get',
params
})
}
// 收支情况-炸金花
export function getIncomeAndExpenditureTeenPatti(params) {
return request({
url: '/game/teen-patti/total',
method: 'get',
params
})
}
// 配置信息-炸金花
export function getConfigTeenPatti() {
return request({
url: '/game/teen-patti/config',
method: 'get'
})
}
// 配置信息,修改-炸金花
export function updateConfigTeenPatti(data) {
return request({
url: '/game/teen-patti/config',
method: 'post',
data
})
}
// 奖金池余额-炸金花
export function getBonusAmountBalanceTeenPatti() {
return request({
url: '/game/teen-patti/bonus-balance',
method: 'get'
})
}
// /////////////////////////////////////////////////////// 喇叭 ///////////////////////////////////////////////////////////
// 获得前50个喇叭列表.
export function listTrumpet(params) {
return request({
url: '/game/trumpet/list',
method: 'get',
params
})
}
// 根根据id删除喇叭.
export function deleteTrumpet(id) {
return request({
url: `/game/trumpet/delete/${id}`,
method: 'get'
})
}
// 黑名单列表
export function trumpetBlacklistTable(params) {
return request({
url: '/game-trumpet-blacklist/page',
method: 'get',
params
})
}
// 新增黑名单
export function addTrumpetBlacklist(data) {
return request({
url: '/game-trumpet-blacklist/add',
method: 'post',
data
})
}
// 删除黑名单
export function deleteTrumpetBlacklist(userId) {
return request({
url: '/game-trumpet-blacklist/delete/' + userId,
method: 'get'
})
}
// /////////////////////////////////////////////////////// PK记录 /////////////////////////////
// 房间PK列表.
export function listRoomPk(params) {
return request({
url: '/game/pk/list-room-pk',
method: 'get',
params
})
}
// 团队PK列表.
export function listTeamPk(params) {
return request({
url: '/game/pk/list-team-pk',
method: 'get',
params
})
}
// /////////////////////////////////////////////////////// 摩天轮游戏 /////////////////////////////
// 游戏奖项.
export function prizeList(params) {
return request({
url: '/game/fruit/config/list/prize',
method: 'get',
params
})
}
// 编辑游戏奖项.
export function updatePrize(data) {
return request({
url: '/game/fruit/config/update/prize',
method: 'post',
data
})
}
// 新增游戏奖项.
export function addPrize(data) {
return request({
url: '/game/fruit/config/add/prize',
method: 'post',
data
})
}
// 编辑游戏规则配置.
export function updateGameFruitRule(data) {
return request({
url: '/game/fruit/config/update/rule',
method: 'post',
data
})
}
// 新增游戏规则配置.
export function addGameFruitRule(data) {
return request({
url: '/game/fruit/config/add/rule',
method: 'post',
data
})
}
// 查询游戏规则配置.
export function getGameFruitRule(params) {
return request({
url: '/game/fruit/config/get/rule',
method: 'get',
params
})
}
// 查询游戏历史记录.
export function getGameFruitDaysRecord(params) {
return request({
url: '/game/fruit/history/pageGameFruitDaysRecord',
method: 'get',
params
})
}
// 查询游戏下注记录.
export function pageUserBetRecord(params) {
return request({
url: '/game/fruit/history/pageUserBetRecord',
method: 'get',
params
})
}
// 查询用户每日记录.
export function pageDaysUserData(params) {
return request({
url: '/game/fruit/history/pageDaysUserData',
method: 'get',
params
})
}

87
src/api/gift-pack.js Normal file
View File

@ -0,0 +1,87 @@
import request from '@/utils/request'
// 礼包列表
export function giftPackTable(params) {
return request({
url: '/sys/gift/pack',
method: 'get',
params
})
}
// 修改礼包信息
export function updateGiftPack(data) {
return request({
url: '/sys/gift/pack',
method: 'put',
data
})
}
// 删除礼包信息
export function deleteGiftPack(id) {
return request({
url: `/sys/gift/pack/delete/${id}`,
method: 'get'
})
}
// 新增礼包信息
export function addGiftPack(data) {
return request({
url: '/sys/gift/pack',
method: 'post',
data
})
}
// 获取礼包详情
export function getGiftPackInfo(giftPackId) {
return request({
url: `/sys/gift/pack/config/${giftPackId}`,
method: 'get'
})
}
// 礼包配置
export function giftPackConfig(data) {
return request({
url: '/sys/gift/pack/config',
method: 'post',
data
})
}
// 新增礼包配置
export function addGiftPackConfig(data) {
return request({
url: '/sys/gift/pack/config/add',
method: 'post',
data
})
}
// 获取礼包赠送金币
export function getGiftPackGold(giftPackId) {
return request({
url: `/sys/gift/pack/config/gold/${giftPackId}`,
method: 'get'
})
}
export function getGiftPackConfigInfo(params) {
return request({
url: '/sys/gift/pack/config/info',
method: 'get',
params
})
}
export function getGiftPackGrade() {
return request({
url: '/sys/product/config/pack/grade',
method: 'get'
})
}

106
src/api/gift.js Normal file
View File

@ -0,0 +1,106 @@
import request from '@/utils/request'
// 根据条件获得礼物列表
export function listByTab(sysOrigin, giftTab) {
return request({
url: `/sys/gift/config/listByTab/${sysOrigin}/${giftTab}`,
method: 'get'
})
}
// 礼物列表
export function giftTable(params) {
return request({
url: '/sys/gift/config',
method: 'get',
params
})
}
// 修改礼物信息
export function updateGift(data) {
return request({
url: '/sys/gift/config',
method: 'put',
data
})
}
// 切换礼物上下架状态
export function switchDelStatus(id, status) {
return request({
url: `/sys/gift/config/switch/${id}/${status}`,
method: 'get'
})
}
// 新增礼物信息
export function addGift(data) {
return request({
url: '/sys/gift/config',
method: 'post',
data
})
}
// 获取指定平台礼物
export function listGiftBySysOrigin(sysOrigin) {
return request({
url: `/sys/gift/config/sys-origin/${sysOrigin}`,
method: 'get'
})
}
// 礼物赠送列表
export function listGiftGiveAwayRunningWater(params) {
return request({
url: '/running-water-log/gift-give',
method: 'get',
params
})
}
// 用户房间赠送流水
export function listUserRoomGiftGiveAwayRunningWater(params) {
return request({
url: '/running-water-log/gift-give-room',
method: 'get',
params
})
}
// 礼物赠送列表-总价值
export function countGiftAmount(params) {
return request({
url: '/running-water-log/total-count',
method: 'get',
params
})
}
// 礼物赠送列表-接收礼物数量
export function countGiftAcceptQuantity(params) {
return request({
url: '/running-water-log/accept-gift-quantity',
method: 'get',
params
})
}
// 获取赠送Cp组合礼物ID
export function getPairCpGiveGiftId(sysOrigin) {
return request({
url: `/sys/gift/config/pair/cp/give/gift/${sysOrigin}`,
method: 'get'
})
}
// 保存赠送Cp组合礼物ID
export function pushPairCpGiveGiftId(giftId, sysOrigin) {
return request({
url: `/sys/gift/config/pair/cp/give/gift/${giftId}/${sysOrigin}`,
method: 'get'
})
}

37
src/api/im-account.js Normal file
View File

@ -0,0 +1,37 @@
import request from '@/utils/request'
// 系统im账号分页列表
export function pageSysImAccount(params) {
return request({
url: '/sys/im/account/page',
method: 'get',
params
})
}
// 添加im账号
export function addSysImAccount(data) {
return request({
url: '/sys/im/account',
method: 'post',
data
})
}
// 重置密码
export function resetSysImAccountPassword(params) {
return request({
url: '/sys/im/account/reset',
method: 'put',
params
})
}
// 删除
export function delSysImAccountPassword(params) {
return request({
url: '/sys/im/account',
method: 'delete',
params
})
}

13
src/api/invite-reward.js Normal file
View File

@ -0,0 +1,13 @@
/**
* 用户邀请奖励相关操作
*/
import request from '@/utils/request'
// 用户管理列表
export function getUserInviteRewardRecord(params) {
return request({
url: '/invite/user/reward/page',
method: 'get',
params
})
}

4
src/api/menu-manager.js Normal file
View File

@ -0,0 +1,4 @@
/**
* 菜单管理相关操作
*/
import request from '@/utils/request'

88
src/api/message.js Normal file
View File

@ -0,0 +1,88 @@
import request from '@/utils/request'
// 新建push
export function newPush(data) {
return request({
url: '/push',
method: 'post',
data
})
}
// push文案库
export function messageCopywritingPage(params) {
return request({
url: '/message/copywriting/page',
method: 'get',
params
})
}
// 定时推送消息列表
export function pushTaskPage(params) {
return request({
url: '/push/task/page',
method: 'get',
params
})
}
// 保存定时推送任务
export function savePushTask(data) {
return request({
url: '/push/task/save',
method: 'post',
data
})
}
// 删除推送任务
export function deletePushTask(id) {
return request({
url: '/push/task/delete/' + id,
method: 'get'
})
}
// push日志
export function pushLogTable(params) {
return request({
url: '/push/page',
method: 'get',
params
})
}
// 添加push文案
export function addMessageCopywriting(data) {
return request({
url: '/message/copywriting',
method: 'post',
data
})
}
// 删除push文案
export function removeMessageCopywriting(id) {
return request({
url: `/message/copywriting/${id}`,
method: 'delete'
})
}
// 已录入文案
export function getPushTextHistory(id) {
return request({
url: `/sys/push/text/content/${id}`,
method: 'get'
})
}
// 消息同步
export function synchronPushText() {
return request({
url: '/sys/push/text/content/synchronize',
method: 'get'
})
}

38
src/api/mike-type.js Normal file
View File

@ -0,0 +1,38 @@
import request from '@/utils/request'
// mikeType列表
export function mikeTypeTable(params) {
return request({
url: '/sys/mike-type/config',
method: 'get',
params
})
}
// 修改mikeType信息
export function updateMikeType(data) {
return request({
url: '/sys/mike-type/config',
method: 'put',
data
})
}
// 删除mikeType信息
export function deleteMikeType(id) {
return request({
url: `/sys/mike-type/config/delete/${id}`,
method: 'delete'
})
}
// 新增mikeType信息
export function addMikeType(data) {
return request({
url: '/sys/mike-type/config',
method: 'post',
data
})
}

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