新增系统配置

This commit is contained in:
zjian135@gmail.com
2025-06-18 09:02:36 +07:00
parent 87f2c9e7a3
commit 3310f6e22e
+82 -102
View File
@@ -38,18 +38,21 @@
<el-form-item label="视频上传地址"> <el-form-item label="视频上传地址">
<el-input placeholder="请输入视频上传地址" v-model="form.videoUpload"></el-input> <el-input placeholder="请输入视频上传地址" v-model="form.videoUpload"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="用户邀请地址(复制)"> <el-form-item label="用户邀请地址(落地页主域名)">
<el-input placeholder="请输入用户邀请地址" v-model="form.inviteAddr"></el-input> <el-input placeholder="请输入用户邀请地址" v-model="form.inviteAddr"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="用户邀请地址(展示)"> <el-form-item label="H5分享域名(H5外部域名)">
<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-input placeholder="请输入H5分享域名" v-model="form.h5ShareUrl"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="AI女友地址">
<el-input placeholder="请输入AI女友地址" v-model="form.aiGirlFriendUrl"></el-input>
</el-form-item>
<el-form-item label="官方邮箱"> <el-form-item label="官方邮箱">
<el-input placeholder="请输入官方邮箱" v-model="form.officialEmail"></el-input> <el-input placeholder="请输入官方邮箱" v-model="form.officialEmail"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="账号凭证分享域名">
<el-input placeholder="请输入账号凭证分享域名" v-model="form.shareQRCodeUrl"></el-input>
</el-form-item>
<el-form-item label="支付引导页面地址"> <el-form-item label="支付引导页面地址">
<el-input placeholder="请输入支付引导页面地址" v-model="form.payGuidPageUrl"></el-input> <el-input placeholder="请输入支付引导页面地址" v-model="form.payGuidPageUrl"></el-input>
</el-form-item> </el-form-item>
@@ -96,73 +99,38 @@
</el-col> </el-col>
</el-row> </el-row>
<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-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item label="视频播放前广告时长">
<el-input placeholder="请输入时长" v-model.number="form.mediaAdsDuration"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<el-form-item label="浮窗图片"> <el-form-item label="浮窗图片">
<UploadImgArr @changeImgUrl="changeImagesFn" :img="form.aiFloatingWindow.imageInfos"></UploadImgArr> <UploadImgArr @changeImgUrl="changeImagesFn" :img="form.floatingWindow.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-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="浮窗开关" prop="status"> <el-form-item label="浮窗开关" prop="status">
<el-switch v-model="form.floatingWindow.enable" active-color="#13ce66" inactive-color="#ff4949"></el-switch> <el-switch v-model="form.floatingWindow.enable" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
</el-form-item> </el-form-item>
</el-col> </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-col :span="12">
<el-form-item label="是否开启折扣券" prop="status"> <el-form-item label="是否开启折扣券" prop="status">
<el-switch v-model="form.userShowDiscountCardEnable" active-color="#13ce66" inactive-color="#ff4949"></el-switch> <el-switch v-model="form.userShowDiscountCardEnable" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<!-- <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="24"> <el-form-item label="是否展示导航板块" prop="status">
<el-form-item label="漫画头像背景颜色"> <el-switch v-model="form.navigationShow" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
<el-color-picker v-model="form.comicDefaultColor"></el-color-picker>
</el-form-item> </el-form-item>
</el-col> </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-row>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="热度值规则管理" name="third"> <!-- <el-tab-pane label="热度值规则管理" name="third">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="上架时间权重"> <el-form-item label="上架时间权重">
@@ -195,33 +163,55 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-tab-pane> -->
<el-tab-pane label="禁区管理" name="fourth">
<el-row>
<el-col :span="12">
<el-form-item label="禁区的遮罩开关" prop="darkMaskShow">
<el-switch v-model="form.darkMaskShow" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
</el-form-item>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="充值赠送管理" name="fifth">
<el-form-item label="赠送金币支付方式">
<el-select placeholder="请选择赠送金币支付方式" clearable v-model="form.payGiftCoinMode">
<el-option label="支付宝" value="alipay" />
<el-option label="微信" value="wechat" />
</el-select>
</el-form-item>
<el-form-item label="赠送金额">
<el-input placeholder="请输入赠送金额" v-model.number="form.payGiftCoinCount" style="width: 200px">
<template slot="append">金币</template>
</el-input>
</el-form-item>
</el-tab-pane>
<el-tab-pane label="用户福利配置" name="sixth">
<el-form-item label="VIP内容免费观看次数">
<el-input placeholder="VIP内容免费观看次数" v-model.number="form.vipMediaFreeCount" style="width: 200px"></el-input>
</el-form-item>
<el-form-item label="免费内容免费观看次数">
<el-input placeholder="免费内容免费观看次数" v-model.number="form.freeMediaFreeCount" style="width: 200px"></el-input>
</el-form-item>
<el-form-item label="up主简介模板">
<el-input placeholder="up主简介模板" type="textarea" v-model="form.introductionTemp" style="width: 600px"></el-input>
</el-form-item>
<el-form-item label="每日免费抽奖次数">
<el-input placeholder="每日免费抽奖次数" v-model.number="form.lotteryDailyFreeCount" style="width: 200px"></el-input>
</el-form-item>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="其他配置" name="seven"> <el-tab-pane label="其他配置" name="seven">
<el-form-item label="节日主题展示"> <el-form-item label="app默认启动页">
<el-select placeholder="请选择节日主题" clearable v-model="form.theme"> <el-select placeholder="请选择默认启动页" clearable v-model="form.defaultPage">
<el-option label="默认" :value="0" /> <el-option label="首页" :value="1" />
<el-option label="端午节" :value="1" /> <el-option label="Ai专区" :value="2" />
<el-option label="中秋国庆" :value="2" /> <el-option label="二次元" :value="3" />
<el-option label="七夕" :value="3" /> <el-option label="导航" :value="4" />
<el-option label="双十一" :value="4" /> <el-option label="社区" :value="5" />
<el-option label="圣诞节" :value="5" /> <el-option label="我的" :value="6" />
<el-option label="春节" :value="6" />
<el-option label="五一劳动节" :value="7" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-tab-pane> </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-tabs>
<el-form-item> <el-form-item>
@@ -235,12 +225,10 @@
</template> </template>
<script> <script>
import { getSyscfg, updateSyscfg } from '@/api/system/systemConfig' import { getSyscfg, updateSyscfg } from '@/api/system/systemConfig'
import { arryToString, stringToArry } from '@/filters/index' import { arryToString, changeMoneyFen, changeMoneyYuan, stringToArry } from '@/filters/index'
import UploadImg from '@/components/UploadImg/index' import UploadImg from '@/components/UploadImg/index'
import UploadImgArr from '@/components/UploadImgArr/indexPlus.vue' import UploadImgArr from '@/components/UploadImgArr/indexPlus.vue'
import { videoNewTypeMode } from '@/filters/videoManagement/videoType' import { videoNewTypeMode } from '@/filters/videoManagement/videoType'
import { changeMoneyYuan, changeMoneyFen } from '@/filters/index'
export default { export default {
name: 'SystemConfig', name: 'SystemConfig',
components: { components: {
@@ -252,6 +240,8 @@ export default {
videoNewTypeMode: videoNewTypeMode(), videoNewTypeMode: videoNewTypeMode(),
activeName: 'first', activeName: 'first',
form: { form: {
payGiftCoinCount: 0,
payGiftCoinMode: undefined,
customerServiceHost: undefined, customerServiceHost: undefined,
payGuidPageUrl: undefined, payGuidPageUrl: undefined,
appApi: undefined, // API域名 appApi: undefined, // API域名
@@ -265,29 +255,28 @@ export default {
imgUpload: undefined, // 图片上传地址 imgUpload: undefined, // 图片上传地址
inviteAddr: undefined, // 用户邀请地址 inviteAddr: undefined, // 用户邀请地址
h5ShareUrl: undefined, // h5分享域名 h5ShareUrl: undefined, // h5分享域名
aiGirlFriendUrl: undefined, // ai女友地址
officialEmail: undefined, // 官方邮箱 officialEmail: undefined, // 官方邮箱
videoReq: undefined, // 视频请求地址 videoReq: undefined, // 视频请求地址
videoUpload: undefined, // 视频上传地址 videoUpload: undefined, // 视频上传地址
theme: undefined, shareQRCodeUrl: undefined, // 账号凭证分享域名
mediaAdsDuration: undefined, // 视频播放前广告时长
defaultPage: undefined, // 默认启动页
lotteryDailyFreeCount: undefined, // 每日免费抽奖次数
floatingWindow: { floatingWindow: {
enable: undefined, enable: undefined,
image: undefined, image: undefined,
url: undefined url: undefined
}, },
aiImageToVideoPrice: undefined,
cartoonDefaultColor: undefined, cartoonDefaultColor: undefined,
comicDefaultColor: undefined, comicDefaultColor: undefined,
userShowDiscountCardEnable: undefined, // 是否开启折扣券 userShowDiscountCardEnable: undefined, // 是否开启折扣券
mediaDefaultColor: undefined, mediaDefaultColor: undefined,
aiFloatingWindow: {
enable: undefined,
image: undefined,
url: undefined,
imageInfos: undefined,
imageClose: undefined
},
adsType: { adsType: {
mediaPlay: undefined, mediaPlay: undefined,
topicDetailAdType: undefined,
tagDetailAdType: undefined,
mine: undefined mine: undefined
}, },
hotScoreConf: { hotScoreConf: {
@@ -309,10 +298,10 @@ export default {
getData() { getData() {
getSyscfg({}).then(res => { getSyscfg({}).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.form = res.data this.form = JSON.parse(JSON.stringify(res.data))
this.$store.dispatch('system/setConfig', res.data) this.$store.dispatch('system/setConfig', res.data)
this.form.rewardNumList = arryToString(this.form.rewardNumList) this.form.rewardNumList = arryToString(this.form.rewardNumList)
this.form.aiImageToVideoPrice = changeMoneyYuan(this.form.aiImageToVideoPrice) this.form.payGiftCoinCount = changeMoneyYuan(this.form.payGiftCoinCount)
} else { } else {
this.$message.error('请求系统配置失败') this.$message.error('请求系统配置失败')
} }
@@ -329,7 +318,7 @@ export default {
data.withdrawRate = Number(data.withdrawRate) data.withdrawRate = Number(data.withdrawRate)
data.rewardNumList = rewardNumList data.rewardNumList = rewardNumList
data.taxRate = Number(data.taxRate) data.taxRate = Number(data.taxRate)
data.aiImageToVideoPrice = changeMoneyFen(data.aiImageToVideoPrice) data.payGiftCoinCount = changeMoneyFen(this.form.payGiftCoinCount)
updateSyscfg(data).then(res => { updateSyscfg(data).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.$message.success('配置成功') this.$message.success('配置成功')
@@ -348,22 +337,13 @@ export default {
}, },
// 浮窗图片 // 浮窗图片
changeImagesFn(data) { changeImagesFn(data) {
console.log(data) this.form.floatingWindow.imageInfos = data
this.form.aiFloatingWindow.imageInfos = data
}, },
// 上传图片返回地址 // 上传图片返回地址
changeCoverImgUrl(data) { changeCoverImgUrl(data) {
this.form.firstImg = 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() { addCdn() {
this.form.cdns.push({ url: '', ratio: 0 }) this.form.cdns.push({ url: '', ratio: 0 })
}, },