算力配置完成

This commit is contained in:
RockYang
2025-08-28 11:07:19 +08:00
parent b3b1981264
commit 77a8969f73
5 changed files with 74 additions and 71 deletions

View File

@@ -101,18 +101,6 @@
<span v-else>生成中...</span>
</el-button>
</div>
<div class="text-info">
<el-row :gutter="10">
<el-text type="primary"
>每次绘图消耗 <el-text type="warning">{{ dallPower }}算力</el-text></el-text
>
<el-text type="primary"
>当前可用
<el-text type="warning"> {{ power }}算力</el-text>
</el-text>
</el-row>
</div>
</el-form>
</div>
<div class="py-4">
@@ -122,7 +110,8 @@
>
<i v-if="isGenerating" class="iconfont icon-loading animate-spin"></i>
<i v-else class="iconfont icon-chuangzuo"></i>
<span>{{ isGenerating ? '创作中...' : '立即生成' }}</span>
<span v-if="isGenerating">创作中...</span>
<span v-else>立即生成({{ dallPower }}算力)</span>
</button>
</div>
</div>
@@ -347,8 +336,8 @@ const allowPulling = ref(true) // 是否允许轮询
const downloadPulling = ref(false) // 下载轮询
const tastPullHandler = ref(null)
const downloadPullHandler = ref(null)
const power = ref(0)
const dallPower = ref(0) // 画一张 SD 图片消耗算力
const userPower = ref(0)
const dallPower = ref(0)
const clipboard = ref(null)
const userId = ref(0)
const selectedModel = ref(null)
@@ -364,14 +353,6 @@ onMounted(() => {
showMessageError('复制失败!')
})
getSystemInfo()
.then((res) => {
dallPower.value = res.data['dall_power']
})
.catch((e) => {
showMessageError('获取系统配置失败:' + e.message)
})
// 获取模型列表
httpGet('/api/dall/models')
.then((res) => {
@@ -398,7 +379,7 @@ onUnmounted(() => {
const initData = () => {
checkSession()
.then((user) => {
power.value = user['power']
userPower.value = user['power']
userId.value = user.id
isLogin.value = true
page.value = 0
@@ -511,7 +492,7 @@ const generate = () => {
httpPost('/api/dall/image', params.value)
.then(() => {
ElMessage.success('任务执行成功!')
power.value -= dallPower.value
userPower.value -= dallPower.value
// 追加任务列表
runningJobs.value.push({
prompt: params.value.prompt,
@@ -589,7 +570,8 @@ const generatePrompt = () => {
}
const changeModel = (model) => {
if (model.value.startsWith('dall')) {
dallPower.value = model.power
if (model.name.startsWith('dall')) {
sizes.value = dalleSizes
} else {
sizes.value = fluxSizes

View File

@@ -18,12 +18,6 @@
placeholder="邀请新用户注册赠送算力"
/>
</el-form-item>
<el-form-item label="VIP每月赠送算力" prop="vip_month_power">
<el-input
v-model.number="system['vip_month_power']"
placeholder="VIP用户每月赠送算力"
/>
</el-form-item>
<el-form-item>
<template #label>
<div class="label-title">
@@ -62,27 +56,6 @@
placeholder="使用Stable-Diffusion画一张图消耗算力"
/>
</el-form-item>
<el-form-item>
<template #label>
<div class="label-title">
DALL-E-3算力
<el-tooltip
effect="dark"
content="使用DALL-E-3画一张图消耗算力"
raw-content
placement="right"
>
<el-icon>
<InfoFilled />
</el-icon>
</el-tooltip>
</div>
</template>
<el-input
v-model.number="system['dall_power']"
placeholder="使用DALL-E-3画一张图消耗算力"
/>
</el-form-item>
<el-form-item label="Suno 算力" prop="suno_power">
<el-input
v-model.number="system['suno_power']"
@@ -175,7 +148,6 @@ import { ElMessage } from 'element-plus'
import { onMounted, reactive, ref } from 'vue'
const system = ref({})
const configBak = ref({})
const systemFormRef = ref(null)
onMounted(() => {
@@ -197,7 +169,6 @@ onMounted(() => {
'kling-v1_pro_5': 420,
'kling-v1_pro_10': 840,
}
configBak.value = copyObj(system.value)
})
.catch((e) => {
ElMessage.error('加载系统配置失败: ' + e.message)
@@ -209,10 +180,18 @@ const rules = reactive({})
const save = function () {
systemFormRef.value.validate((valid) => {
if (valid) {
httpPost('/api/admin/config/update', {
key: 'system',
config: system.value,
config_bak: configBak.value,
httpPost('/api/admin/config/update/power', {
init_power: system.value.init_power,
invite_power: system.value.invite_power,
daily_power: system.value.daily_power,
mj_power: system.value.mj_power,
sd_power: system.value.sd_power,
dall_power: system.value.dall_power,
suno_power: system.value.suno_power,
luma_power: system.value.luma_power,
keling_powers: system.value.keling_powers,
advance_voice_power: system.value.advance_voice_power,
prompt_power: system.value.prompt_power,
})
.then(() => {
ElMessage.success('操作成功!')
@@ -226,8 +205,8 @@ const save = function () {
</script>
<style lang="scss" scoped>
@use '../../../assets/css/admin/form.scss' as *;
@use '../../../assets/css/main.scss' as *;
@use '@/assets/css/admin/form.scss' as *;
@use '@/assets/css/main.scss' as *;
.power-config {
display: flex;