fix:项目初始化
This commit is contained in:
@@ -0,0 +1,180 @@
|
||||
<template>
|
||||
<div class='center'>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-form ref="form" :model="form" label-width="200px" label-position="top" style="width:900px;margin-left: 80px;">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="上部图片条">
|
||||
<UploadImg @changeImgUrl="changeCoverImgUrl('lotteryBannerImage',$event)" @onRemove="onRemoveImage('lotteryBannerImage',$event)" :img="form.lotteryBannerImage"></UploadImg>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="奖池背景图">
|
||||
<UploadImg @changeImgUrl="changeCoverImgUrl('lotteryPoolImage',$event)" @onRemove="onRemoveImage('lotteryPoolImage',$event)" :img="form.lotteryPoolImage"></UploadImg>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="抽奖规则图">
|
||||
<UploadImg @changeImgUrl="changeCoverImgUrl('lotteryRuleImage',$event)" @onRemove="onRemoveImage('lotteryRuleImage',$event)" :img="form.lotteryRuleImage"></UploadImg>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="奖品盒子图片">
|
||||
<UploadImg @changeImgUrl="changeCoverImgUrl('lotteryPrizeBoxImage',$event)" @onRemove="onRemoveImage('lotteryPrizeBoxImage',$event)" :img="form.lotteryPrizeBoxImage"></UploadImg>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="抽奖失败图片">
|
||||
<UploadImg @changeImgUrl="changeCoverImgUrl('lotteryErrMsgImage',$event)" @onRemove="onRemoveImage('lotteryErrMsgImage',$event)" :img="form.lotteryErrMsgImage"></UploadImg>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="抽奖成功图片">
|
||||
<UploadImg @changeImgUrl="changeCoverImgUrl('lotteryWinMsgImage',$event)" @onRemove="onRemoveImage('lotteryWinMsgImage',$event)" :img="form.lotteryWinMsgImage"></UploadImg>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="我的奖品图片">
|
||||
<UploadImg @changeImgUrl="changeCoverImgUrl('lotteryMyPrizeImage',$event)" @onRemove="onRemoveImage('lotteryMyPrizeImage',$event)" :img="form.lotteryMyPrizeImage"></UploadImg>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="金币抽奖确认图片">
|
||||
<UploadImg @changeImgUrl="changeCoverImgUrl('lotteryGoldConfirmImage',$event)" @onRemove="onRemoveImage('lotteryGoldConfirmImage',$event)" :img="form.lotteryGoldConfirmImage"></UploadImg>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="奖池规则描述" prop="status">
|
||||
<el-input type="textarea" placeholder="请输入描述内容" v-model="form.lotteryRuleDesc" maxlength="500" show-word-limit style="width:500px"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="抽奖金币价格">
|
||||
<el-input placeholder="请输入价格" v-model.number="form.lotteryGoldPrice" style="width:150px"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<!-- <el-form-item label="抽奖规则文字颜色">
|
||||
<el-input placeholder="请写入十六进制颜色代码" v-model="form.lotteryTextColor" style="width:150px"></el-input>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="抽奖规则文字颜色" prop="goldBase">
|
||||
<el-color-picker v-model="form.lotteryTextColor"></el-color-picker>
|
||||
<div style="color:#">值:{{ form.lotteryTextColor }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="是否启用抽奖" prop="status">
|
||||
<el-switch v-model="form.lotteryEnable" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">提交</el-button>
|
||||
<el-button>取消</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getSyscfg, updateSyscfg } from '@/api/system/systemConfig'
|
||||
import UploadImg from '@/components/UploadImg/index'
|
||||
export default {
|
||||
name: 'SystemConfig',
|
||||
components: {
|
||||
UploadImg,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
lotteryEnable: false, // 是否启用抽奖
|
||||
lotteryTextColor: '', // 抽奖规则文字颜色
|
||||
lotteryGoldPrice: undefined, // 抽奖金币价格
|
||||
lotteryBannerImage: undefined, // 上部的图片条
|
||||
lotteryPoolImage: undefined, // 奖池的背景图
|
||||
lotteryRuleImage: undefined, // 奖池的规则图
|
||||
lotteryRuleDesc: undefined, // 抽奖规则描述
|
||||
|
||||
lotteryPrizeBoxImage: undefined, // 奖品盒子图片
|
||||
lotteryErrMsgImage: undefined, // 抽奖失败图片
|
||||
lotteryWinMsgImage: undefined, // 抽奖成功图片
|
||||
lotteryMyPrizeImage: undefined, // 我的抽奖图片
|
||||
lotteryGoldConfirmImage: undefined // 金币抽奖确认图片
|
||||
},
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
//TODO:请求抽奖配置列表数据
|
||||
getData() {
|
||||
getSyscfg({}).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.form = res.data.lotteryConfig
|
||||
this.form.lotteryGoldPrice = this.form.lotteryGoldPrice / 100
|
||||
} else {
|
||||
this.$message.error('请求系统配置失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
//TODO:提交抽奖配置列表数据
|
||||
onSubmit() {
|
||||
const data = JSON.parse(JSON.stringify(this.form))
|
||||
data.lotteryGoldPrice = data.lotteryGoldPrice * 100
|
||||
updateSyscfg(data).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success('配置成功')
|
||||
} else {
|
||||
this.$message.error('配置失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
// 移除图片地址到form表单
|
||||
onRemoveImage(key) {
|
||||
this.form[key] = undefined
|
||||
},
|
||||
// 上传图片返回地址
|
||||
changeCoverImgUrl(name, data) {
|
||||
this.form[name] = data
|
||||
},
|
||||
addCdn() {
|
||||
this.form.cdns.push({ url: '', ratio: 0 })
|
||||
},
|
||||
deletCdn(index) {
|
||||
this.form.cdns.splice(index, 1)
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '@/styles/variables.scss';
|
||||
.center {
|
||||
width: 100%;
|
||||
height: calc(100vh - 140px);
|
||||
padding: 45px 0;
|
||||
margin: 0 auto;
|
||||
overflow: auto;
|
||||
border-radius: 6px;
|
||||
background-color: $themeBg;
|
||||
.el-row{
|
||||
.el-col {
|
||||
margin-right: 70px;
|
||||
}
|
||||
}
|
||||
.el-textarea{
|
||||
::v-deep{
|
||||
textarea{
|
||||
min-height: 160px!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,127 @@
|
||||
<template>
|
||||
<div class="pf-warpper userList">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" :model="searchData" class="form-inline" size="mini">
|
||||
<el-form-item>
|
||||
<el-input placeholder="请输入请求接口" clearable v-model="searchData.path" @clear="onClear('path')" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input placeholder="请输入操作目的" clearable v-model="searchData.action" @clear="onClear('action')" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input placeholder="请输入操作人id" clearable v-model.number="searchData.actId" @clear="onClear('actId')" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker :default-time="['00:00:00', '23:59:59']" end-placeholder="结束日期" range-separator="至" start-placeholder="开始日期" type="datetimerange" v-model="time" value-format="yyyy-MM-ddTHH:mm:ss+08:00" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="onSeach" icon="el-icon-search" plain type="primary">搜索</el-button>
|
||||
<el-button @click="refreshView" icon="el-icon-refresh" plain size="small" type="info">刷新</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="tableData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%" v-loading="loading" :row-style="{height: '70px'}">
|
||||
<el-table-column align="center" label="操作人Id" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.actId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作目的" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.action }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作内容" :show-overflow-tooltip='true'>
|
||||
<template slot-scope="scope">{{ scope.row.param }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作时间" width="160">
|
||||
<template slot-scope="scope">{{ scope.row.createdAt |BeiJingTime}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作人" width="160">
|
||||
<template slot-scope="scope">{{ scope.row.actName }}</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 分页 -->
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="totals" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { accOps } from '@/api/system/operationLog'
|
||||
export default {
|
||||
name: 'OperationLog',
|
||||
data() {
|
||||
return {
|
||||
loading: true, // 列表加载状态
|
||||
totals: 0, // 数据总条数
|
||||
searchData: {
|
||||
pageNum: 1,
|
||||
pageSize: 50,
|
||||
path: undefined,
|
||||
action: undefined,
|
||||
actId: undefined,
|
||||
startTime: undefined,
|
||||
endTime: undefined,
|
||||
},
|
||||
time: undefined,
|
||||
tableData: [],
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
onSeach() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 50
|
||||
this.getData()
|
||||
},
|
||||
//TODO:请求操作日志数据列表
|
||||
getData() {
|
||||
if (this.time) {
|
||||
this.searchData.startTime = this.time[0]
|
||||
this.searchData.endTime = this.time[1]
|
||||
} else {
|
||||
this.searchData.startTime = undefined
|
||||
this.searchData.endTime = undefined
|
||||
}
|
||||
accOps(this.searchData).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.tableData = res.data.list
|
||||
this.totals = res.data.total
|
||||
} else {
|
||||
this.tableData = []
|
||||
this.totals = 0
|
||||
this.$message.error('请求列表失败')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
|
||||
// 刷新
|
||||
refreshView() {
|
||||
this.getData()
|
||||
},
|
||||
|
||||
// 切换列表条数
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = Number(val)
|
||||
this.getData()
|
||||
},
|
||||
|
||||
// 切换列表页码
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = Number(val)
|
||||
this.getData()
|
||||
},
|
||||
// 清空某一项筛选列表
|
||||
onClear(key) {
|
||||
this.searchData[key] = undefined
|
||||
this.getData()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,388 @@
|
||||
<template>
|
||||
<div class="center">
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-form ref="form" :model="form" label-width="180px" style="width: 800px; margin: 0 auto">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="域名管理" name="first">
|
||||
<el-form-item label="API域名">
|
||||
<el-input placeholder="请输入API域名" v-model="form.appApi"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="在线客服域名">
|
||||
<el-input placeholder="请输入在线客服域名" v-model="form.customerServiceHost"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="片头m3u8">
|
||||
<el-input placeholder="请输入片头m3u8" v-model="form.headerM3U8"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="图片请求域名(app)">
|
||||
<el-input placeholder="请输入图片请求域名(app)" v-model="form.imgReq"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="图片请求域名(web)">
|
||||
<el-input placeholder="请输入图片请求域名(web)" v-model="form.webImgReq"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="图片上传地址">
|
||||
<el-input placeholder="请输入图片上传地址" v-model="form.imgUpload"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户最低折扣">
|
||||
<el-input placeholder="请输入用户最低折扣" v-model.number="form.minimumDiscount"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="首页活动图片">
|
||||
<UploadImg @changeImgUrl="changeCoverImgUrl" @onRemove="onRemoveImage('firstImg', $event)" :img="form.firstImg"></UploadImg>
|
||||
</el-form-item>
|
||||
<el-form-item label="首页活动图片跳转url">
|
||||
<el-input placeholder="请输入首页活动图片跳转url" v-model="form.firstImgUrl"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="视频请求地址">
|
||||
<el-input placeholder="请输入视频请求地址" v-model="form.videoReq"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="视频上传地址">
|
||||
<el-input placeholder="请输入视频上传地址" v-model="form.videoUpload"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户邀请地址(复制)">
|
||||
<el-input placeholder="请输入用户邀请地址" v-model="form.inviteAddr"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户邀请地址(展示)">
|
||||
<el-input placeholder="请输入用户邀请地址" v-model="form.inviteShowAddr"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="H5分享域名">
|
||||
<el-input placeholder="请输入H5分享域名" v-model="form.h5ShareUrl"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="官方邮箱">
|
||||
<el-input placeholder="请输入官方邮箱" v-model="form.officialEmail"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="支付引导页面地址">
|
||||
<el-input placeholder="请输入支付引导页面地址" v-model="form.payGuidPageUrl"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-for="(item, index) in form.cdns" :key="index" :label="'cdns' + (index + 1) + ':'">
|
||||
<el-input placeholder="请输入cdn" v-model="item.url" style="width: 300px"></el-input>
|
||||
<span style="margin-left: 50px">权重:</span>
|
||||
<el-input placeholder="请输入权重" v-model.number="item.ratio" style="width: 150px"></el-input>
|
||||
<el-button type="danger" @click="deletCdn(index)">删除</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addCdn">新增cdn</el-button>
|
||||
</el-form-item>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="广告配置管理" name="second">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="我的广告模式">
|
||||
<el-select placeholder="请选择广告模式" clearable v-model="form.adsType.newMineAdsType" @clear="onClear('mine')">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in videoNewTypeMode" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="播放页广告模式">
|
||||
<el-select placeholder="请选择广告模式" clearable v-model="form.adsType.newMediaPlayAdsType" @clear="onClear('mediaPlay')">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in videoNewTypeMode" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="搜索页广告模式">
|
||||
<el-select placeholder="请选择广告模式" clearable v-model="form.adsType.searchPageAdsType" @clear="onClear('mediaPlay')">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in videoNewTypeMode" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="主题详情广告模式">
|
||||
<el-select placeholder="请选择广告模式" clearable v-model="form.adsType.topicDetailAdsType" @clear="onClear('mediaPlay')">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in videoNewTypeMode" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- <el-col :span="12">
|
||||
<el-form-item label="浮窗图片">
|
||||
<UploadImg @changeImgUrl="changeFloatImgUrl"
|
||||
@onRemove="onRemoveImage('floatingWindow','iamge', $event)" :img="form.floatingWindow.image">
|
||||
</UploadImg>
|
||||
<template #label></template>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="浮窗图片">
|
||||
<UploadImgArr @changeImgUrl="changeImagesFn" :img="form.aiFloatingWindow.imageInfos"></UploadImgArr>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="浮窗链接">
|
||||
<el-input placeholder="请输入首页活动图片跳转url" v-model="form.floatingWindow.url"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="浮窗开关" prop="status">
|
||||
<el-switch v-model="form.floatingWindow.enable" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="AI悬浮开关" prop="status">
|
||||
<el-switch v-model="form.aiFloatingWindow.enable" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item label="AI浮窗链接">
|
||||
<el-input placeholder="请输入AI浮窗链接" v-model="form.aiFloatingWindow.url"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="AI浮窗图片">
|
||||
<UploadImg @changeImgUrl="changeAiFloatImgUrl" @onRemove="onRemoveImage('aiFloatingWindow', 'image', $event)" :img="form.aiFloatingWindow.image"> </UploadImg>
|
||||
<template #label></template>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="AI浮窗关闭图片">
|
||||
<UploadImg @changeImgUrl="changeAiFloatCloseImgUrl" @onRemove="onRemoveImage('aiFloatingWindow', 'imageClose', $event)" :img="form.aiFloatingWindow.imageClose"></UploadImg>
|
||||
<template #label></template>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否开启折扣券" prop="status">
|
||||
<el-switch v-model="form.userShowDiscountCardEnable" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
|
||||
<el-form-item label="漫画头像背景颜色">
|
||||
<el-color-picker v-model="form.comicDefaultColor"></el-color-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
|
||||
<el-form-item label="视频头像背景颜色">
|
||||
<el-color-picker v-model="form.mediaDefaultColor"></el-color-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24">
|
||||
<el-form-item label="动漫头像背景颜色">
|
||||
<el-color-picker v-model="form.cartoonDefaultColor"></el-color-picker>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="热度值规则管理" name="third">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="上架时间权重">
|
||||
<el-input placeholder="上架时间权重" v-model.number="form.hotScoreConf.addTimeWeight"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="控制播放量很大时,点赞率对于推荐的相对影响力系数">
|
||||
<el-input placeholder="控制播放量很大时,点赞率对于推荐的相对影响力系数" v-model.number="form.hotScoreConf.afInfluenceWeight"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="控制影响的转折点系数">
|
||||
<el-input placeholder="控制影响的转折点系数" v-model.number="form.hotScoreConf.afTransitionWeight"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="点赞量权重系数">
|
||||
<el-input placeholder="点赞量权重系数" v-model.number="form.hotScoreConf.likeCountWeight"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="点赞率权重系数">
|
||||
<el-input placeholder="点赞率权重系数" v-model.number="form.hotScoreConf.likeRateWeight"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="播放量权重系数">
|
||||
<el-input placeholder="播放量权重系数" v-model.number="form.hotScoreConf.playCountWeight"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="其他配置" name="seven">
|
||||
<el-form-item label="节日主题展示">
|
||||
<el-select placeholder="请选择节日主题" clearable v-model="form.theme">
|
||||
<el-option label="默认" :value="0" />
|
||||
<el-option label="端午节" :value="1" />
|
||||
<el-option label="中秋国庆" :value="2" />
|
||||
<el-option label="七夕" :value="3" />
|
||||
<el-option label="双十一" :value="4" />
|
||||
<el-option label="圣诞节" :value="5" />
|
||||
<el-option label="春节" :value="6" />
|
||||
<el-option label="五一劳动节" :value="7" />
|
||||
</el-select>
|
||||
|
||||
</el-form-item>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="AI管理" name="second">
|
||||
<el-form-item label="" style="margin-bottom:10px;">
|
||||
<el-input placeholder="请输入Ai图片生成视频所需金币" v-model.number="form.aiImageToVideoPrice">
|
||||
<template slot="append">金币</template>
|
||||
</el-input>
|
||||
<p style="margin:0;color:red">*Ai图片生成视频所需金币</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="AI女友链接">
|
||||
<el-input placeholder="请输入AI女友链接" v-model="form.aiMateH5"></el-input>
|
||||
</el-form-item>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">提交</el-button>
|
||||
<el-button>取消</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getSyscfg, updateSyscfg } from '@/api/system/systemConfig'
|
||||
import { arryToString, stringToArry } from '@/filters/index'
|
||||
import UploadImg from '@/components/UploadImg/index'
|
||||
import UploadImgArr from '@/components/UploadImgArr/indexPlus.vue'
|
||||
import { videoNewTypeMode } from '@/filters/videoManagement/videoType'
|
||||
import { changeMoneyYuan, changeMoneyFen } from '@/filters/index'
|
||||
|
||||
export default {
|
||||
name: 'SystemConfig',
|
||||
components: {
|
||||
UploadImg,
|
||||
UploadImgArr
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
videoNewTypeMode: videoNewTypeMode(),
|
||||
activeName: 'first',
|
||||
form: {
|
||||
customerServiceHost: undefined,
|
||||
payGuidPageUrl: undefined,
|
||||
appApi: undefined, // API域名
|
||||
cdns: undefined, // CDN节点
|
||||
headerM3U8: undefined, // 片头m3u8
|
||||
id: 0,
|
||||
firstImg: undefined, // 首页活动图
|
||||
firstImgUrl: undefined, // 首页活动图调整地址
|
||||
webImgReq: undefined,
|
||||
imgReq: undefined, // 图片请求域名(app使用)
|
||||
imgUpload: undefined, // 图片上传地址
|
||||
inviteAddr: undefined, // 用户邀请地址
|
||||
h5ShareUrl: undefined, // h5分享域名
|
||||
officialEmail: undefined, // 官方邮箱
|
||||
videoReq: undefined, // 视频请求地址
|
||||
videoUpload: undefined, // 视频上传地址
|
||||
theme: undefined,
|
||||
floatingWindow: {
|
||||
enable: undefined,
|
||||
image: undefined,
|
||||
url: undefined
|
||||
},
|
||||
aiImageToVideoPrice: undefined,
|
||||
cartoonDefaultColor: undefined,
|
||||
comicDefaultColor: undefined,
|
||||
userShowDiscountCardEnable: undefined, // 是否开启折扣券
|
||||
mediaDefaultColor: undefined,
|
||||
aiFloatingWindow: {
|
||||
enable: undefined,
|
||||
image: undefined,
|
||||
url: undefined,
|
||||
imageInfos: undefined,
|
||||
imageClose: undefined
|
||||
},
|
||||
adsType: {
|
||||
mediaPlay: undefined,
|
||||
mine: undefined
|
||||
},
|
||||
hotScoreConf: {
|
||||
addTimeWeight: undefined, // 上架时间权重系数
|
||||
afInfluenceWeight: undefined, // 控制播放量很大时,点赞率对于推荐的相对影响力系数
|
||||
afTransitionWeight: undefined, // 控制影响的转折点系数
|
||||
likeCountWeight: undefined, // 点赞量权重系数
|
||||
likeRateWeight: undefined, // 点赞率权重系数
|
||||
playCountWeight: undefined // 播放量权重系数
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
// TODO:请求系统配置列表数据
|
||||
getData() {
|
||||
getSyscfg({}).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.form = res.data
|
||||
this.$store.dispatch('system/setConfig', res.data)
|
||||
this.form.rewardNumList = arryToString(this.form.rewardNumList)
|
||||
this.form.aiImageToVideoPrice = changeMoneyYuan(this.form.aiImageToVideoPrice)
|
||||
} else {
|
||||
this.$message.error('请求系统配置失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
// TODO:提交系统配置列表数据
|
||||
onSubmit() {
|
||||
const data = { ...this.form }
|
||||
const a = stringToArry(data.rewardNumList)
|
||||
const rewardNumList = []
|
||||
a.filter(item => {
|
||||
rewardNumList.push(Number(item))
|
||||
})
|
||||
data.withdrawRate = Number(data.withdrawRate)
|
||||
data.rewardNumList = rewardNumList
|
||||
data.taxRate = Number(data.taxRate)
|
||||
data.aiImageToVideoPrice = changeMoneyFen(data.aiImageToVideoPrice)
|
||||
updateSyscfg(data).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success('配置成功')
|
||||
} else {
|
||||
this.$message.error('配置失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
// 移除图片地址到form表单
|
||||
onRemoveImage(key, type) {
|
||||
if (type) {
|
||||
this.form[key].type = ''
|
||||
} else {
|
||||
this.form[key] = ''
|
||||
}
|
||||
},
|
||||
// 浮窗图片
|
||||
changeImagesFn(data) {
|
||||
console.log(data)
|
||||
this.form.aiFloatingWindow.imageInfos = data
|
||||
},
|
||||
// 上传图片返回地址
|
||||
changeCoverImgUrl(data) {
|
||||
this.form.firstImg = data
|
||||
},
|
||||
// changeFloatImgUrl(data) {
|
||||
// this.form.floatingWindow.image = data;
|
||||
// },
|
||||
changeAiFloatImgUrl(data) {
|
||||
this.form.aiFloatingWindow.image = data
|
||||
},
|
||||
changeAiFloatCloseImgUrl(data) {
|
||||
this.form.aiFloatingWindow.imageClose = data
|
||||
},
|
||||
addCdn() {
|
||||
this.form.cdns.push({ url: '', ratio: 0 })
|
||||
},
|
||||
deletCdn(index) {
|
||||
this.form.cdns.splice(index, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import '@/styles/variables.scss';
|
||||
|
||||
.center {
|
||||
width: 100%;
|
||||
height: calc(100vh - 140px);
|
||||
padding: 45px 0;
|
||||
margin: 0 auto;
|
||||
overflow: auto;
|
||||
border-radius: 6px;
|
||||
background-color: $themeBg;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user