mirror of
				https://github.com/yangjian102621/geekai.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	release v4.1.2
This commit is contained in:
		@@ -143,10 +143,6 @@ type SystemConfig struct {
 | 
			
		||||
	RegisterWays    []string `json:"register_ways,omitempty"`    // 注册方式:支持手机(mobile),邮箱注册(email),账号密码注册
 | 
			
		||||
	EnabledRegister bool     `json:"enabled_register,omitempty"` // 是否开放注册
 | 
			
		||||
 | 
			
		||||
	RewardImg     string  `json:"reward_img,omitempty"`     // 众筹收款二维码地址
 | 
			
		||||
	EnabledReward bool    `json:"enabled_reward,omitempty"` // 启用众筹功能
 | 
			
		||||
	PowerPrice    float64 `json:"power_price,omitempty"`    // 算力单价
 | 
			
		||||
 | 
			
		||||
	OrderPayTimeout int    `json:"order_pay_timeout,omitempty"` //订单支付超时时间
 | 
			
		||||
	VipInfoText     string `json:"vip_info_text,omitempty"`     // 会员页面充值说明
 | 
			
		||||
	DefaultModels   []int  `json:"default_models,omitempty"`    // 默认开通的 AI 模型
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,9 @@
 | 
			
		||||
ALTER TABLE `chatgpt_suno_jobs` MODIFY `id` INT AUTO_INCREMENT;
 | 
			
		||||
ALTER TABLE `chatgpt_mj_jobs` CHANGE `channel_id` `channel_id` VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '频道ID';
 | 
			
		||||
 | 
			
		||||
ALTER TABLE chatgpt_reward RENAME TO chatgpt_redeems;
 | 
			
		||||
truncate table chatgpt_rewards; -- 清空数据表
 | 
			
		||||
 | 
			
		||||
ALTER TABLE chatgpt_rewards RENAME TO chatgpt_redeems;
 | 
			
		||||
ALTER TABLE chatgpt_redeems COMMENT '兑换码';
 | 
			
		||||
ALTER TABLE `chatgpt_redeems` CHANGE `tx_id` `power` INT NOT NULL COMMENT '算力';
 | 
			
		||||
ALTER TABLE `chatgpt_redeems` DROP `remark`;
 | 
			
		||||
 
 | 
			
		||||
@@ -80,7 +80,7 @@ export function getLicenseInfo() {
 | 
			
		||||
        httpGet('/api/config/license').then(res => {
 | 
			
		||||
            item.data = res
 | 
			
		||||
            // cache expires after 10 minutes
 | 
			
		||||
            item.expire = Date.now() + 1000 * 60 * 60
 | 
			
		||||
            item.expire = Date.now() + 1000 * 60 * 10
 | 
			
		||||
            Storage.set(licenseInfoKey, item)
 | 
			
		||||
            resolve(item.data)
 | 
			
		||||
        }).catch(err => {
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@
 | 
			
		||||
              <el-button type="primary" @click="showBindMobileDialog = true">更改账号</el-button>
 | 
			
		||||
            </el-col>
 | 
			
		||||
            <el-col :span="24">
 | 
			
		||||
              <el-button type="success" v-if="enableReward" @click="showRedeemVerifyDialog = true">兑换码核销
 | 
			
		||||
              <el-button type="success" @click="showRedeemVerifyDialog = true">兑换码核销
 | 
			
		||||
              </el-button>
 | 
			
		||||
            </el-col>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -195,6 +195,24 @@
 | 
			
		||||
                  </div>
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
 | 
			
		||||
                <el-form-item label="会员充值说明" prop="order_pay_timeout">
 | 
			
		||||
                  <div class="tip-input">
 | 
			
		||||
                    <el-input v-model="system['vip_info_text']" placeholder=""/>
 | 
			
		||||
                    <div class="info">
 | 
			
		||||
                      <el-tooltip
 | 
			
		||||
                          effect="dark"
 | 
			
		||||
                          content="会员充值页面的充值说明文字"
 | 
			
		||||
                          raw-content
 | 
			
		||||
                          placement="right"
 | 
			
		||||
                      >
 | 
			
		||||
                        <el-icon>
 | 
			
		||||
                          <InfoFilled/>
 | 
			
		||||
                        </el-icon>
 | 
			
		||||
                      </el-tooltip>
 | 
			
		||||
                    </div>
 | 
			
		||||
                  </div>
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
 | 
			
		||||
                <el-form-item label="MJ默认API模式" prop="mj_mode">
 | 
			
		||||
                  <el-select v-model="system['mj_mode']" placeholder="请选择模式">
 | 
			
		||||
                    <el-option v-for="item in mjModels" :value="item.value" :label="item.name" :key="item.value">{{
 | 
			
		||||
@@ -267,84 +285,6 @@
 | 
			
		||||
                  <el-input v-model.number="system['suno_power']" placeholder="使用 Suno 生成一首音乐消耗算力"/>
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
              </el-tab-pane>
 | 
			
		||||
              <el-tab-pane label="众筹支付">
 | 
			
		||||
                <el-form-item label="启用众筹功能" prop="enabled_reward">
 | 
			
		||||
                  <div class="tip-input">
 | 
			
		||||
                    <el-switch v-model="system['enabled_reward']"/>
 | 
			
		||||
                    <div class="info">
 | 
			
		||||
                      <el-tooltip
 | 
			
		||||
                          effect="dark"
 | 
			
		||||
                          content="如果关闭次功能将不在用户菜单显示众筹二维码"
 | 
			
		||||
                          raw-content
 | 
			
		||||
                          placement="right"
 | 
			
		||||
                      >
 | 
			
		||||
                        <el-icon>
 | 
			
		||||
                          <InfoFilled/>
 | 
			
		||||
                        </el-icon>
 | 
			
		||||
                      </el-tooltip>
 | 
			
		||||
                    </div>
 | 
			
		||||
                  </div>
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
 | 
			
		||||
                <div v-if="system['enabled_reward']">
 | 
			
		||||
                  <el-form-item label="算力单价" prop="power_price">
 | 
			
		||||
                    <el-input v-model="system['power_price']"
 | 
			
		||||
                              placeholder="单位算力的价格,比如设置 0.1 表示捐赠1元钱可以得到10个单位算力"/>
 | 
			
		||||
                  </el-form-item>
 | 
			
		||||
                  <el-form-item label="收款二维码" prop="reward_img">
 | 
			
		||||
                    <el-input v-model="system['reward_img']" placeholder="众筹收款二维码地址">
 | 
			
		||||
                      <template #append>
 | 
			
		||||
                        <el-upload
 | 
			
		||||
                            :auto-upload="true"
 | 
			
		||||
                            :show-file-list="false"
 | 
			
		||||
                            @click="beforeUpload('reward_img')"
 | 
			
		||||
                            :http-request="uploadImg"
 | 
			
		||||
                        >
 | 
			
		||||
                          <el-icon class="uploader-icon">
 | 
			
		||||
                            <UploadFilled/>
 | 
			
		||||
                          </el-icon>
 | 
			
		||||
                        </el-upload>
 | 
			
		||||
                      </template>
 | 
			
		||||
                    </el-input>
 | 
			
		||||
                  </el-form-item>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <el-form-item label="订单超时时间" prop="order_pay_timeout">
 | 
			
		||||
                  <div class="tip-input">
 | 
			
		||||
                    <el-input v-model.number="system['order_pay_timeout']" placeholder="单位:秒"/>
 | 
			
		||||
                    <div class="info">
 | 
			
		||||
                      <el-tooltip
 | 
			
		||||
                          effect="dark"
 | 
			
		||||
                          content="系统会定期清理超时未支付的订单<br/>默认值:900秒"
 | 
			
		||||
                          raw-content
 | 
			
		||||
                          placement="right"
 | 
			
		||||
                      >
 | 
			
		||||
                        <el-icon>
 | 
			
		||||
                          <InfoFilled/>
 | 
			
		||||
                        </el-icon>
 | 
			
		||||
                      </el-tooltip>
 | 
			
		||||
                    </div>
 | 
			
		||||
                  </div>
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
 | 
			
		||||
                <el-form-item label="会员充值说明" prop="order_pay_timeout">
 | 
			
		||||
                  <div class="tip-input">
 | 
			
		||||
                    <el-input v-model="system['vip_info_text']" placeholder=""/>
 | 
			
		||||
                    <div class="info">
 | 
			
		||||
                      <el-tooltip
 | 
			
		||||
                          effect="dark"
 | 
			
		||||
                          content="会员充值页面的充值说明文字"
 | 
			
		||||
                          raw-content
 | 
			
		||||
                          placement="right"
 | 
			
		||||
                      >
 | 
			
		||||
                        <el-icon>
 | 
			
		||||
                          <InfoFilled/>
 | 
			
		||||
                        </el-icon>
 | 
			
		||||
                      </el-tooltip>
 | 
			
		||||
                    </div>
 | 
			
		||||
                  </div>
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
              </el-tab-pane>
 | 
			
		||||
            </el-tabs>
 | 
			
		||||
 | 
			
		||||
            <div style="padding: 10px;">
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user