mirror of
				https://github.com/yangjian102621/geekai.git
				synced 2025-11-04 08:13:43 +08:00 
			
		
		
		
	feat: reward verify is ready
This commit is contained in:
		
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 261 KiB  | 
							
								
								
									
										75
									
								
								web/src/components/RewardVerify.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								web/src/components/RewardVerify.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-dialog
 | 
			
		||||
      v-model="showDialog"
 | 
			
		||||
      :close-on-click-modal="false"
 | 
			
		||||
      :show-close="mobile !== ''"
 | 
			
		||||
      :before-close="close"
 | 
			
		||||
      :title="title"
 | 
			
		||||
  >
 | 
			
		||||
    <div class="form" id="bind-mobile-form">
 | 
			
		||||
      <el-alert v-if="mobile !== ''" type="info" show-icon :closable="false" style="margin-bottom: 20px;">
 | 
			
		||||
        <p>请输入您参与众筹的微信支付转账单号兑换相应的对话次数。</p>
 | 
			
		||||
      </el-alert>
 | 
			
		||||
 | 
			
		||||
      <el-form :model="form" label-width="120px">
 | 
			
		||||
        <el-form-item label="转账单号">
 | 
			
		||||
          <el-input v-model="form.tx_id"/>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <template #footer>
 | 
			
		||||
      <span class="dialog-footer">
 | 
			
		||||
        <el-button type="primary" @click="save">
 | 
			
		||||
          确认核销
 | 
			
		||||
        </el-button>
 | 
			
		||||
      </span>
 | 
			
		||||
    </template>
 | 
			
		||||
  </el-dialog>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup>
 | 
			
		||||
import {computed, ref} from "vue";
 | 
			
		||||
import {ElMessage} from "element-plus";
 | 
			
		||||
import {httpPost} from "@/utils/http";
 | 
			
		||||
 | 
			
		||||
const props = defineProps({
 | 
			
		||||
  show: Boolean,
 | 
			
		||||
  mobile: String
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const showDialog = computed(() => {
 | 
			
		||||
  return props.show
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
const title = ref('众筹码核销')
 | 
			
		||||
const form = ref({
 | 
			
		||||
  tx_id: '',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
const emits = defineEmits(['hide']);
 | 
			
		||||
 | 
			
		||||
const save = () => {
 | 
			
		||||
  if (form.value.tx_id === '') {
 | 
			
		||||
    return ElMessage.error({message: "请输入微信支付转账单号"});
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  httpPost('/api/reward/verify', form.value).then(() => {
 | 
			
		||||
    ElMessage.success({
 | 
			
		||||
      message: '核销成功',
 | 
			
		||||
      duration: 1000,
 | 
			
		||||
      onClose: () => emits('hide', false)
 | 
			
		||||
    })
 | 
			
		||||
  }).catch(e => {
 | 
			
		||||
    ElMessage.error({message: "核销失败:" + e.message});
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const close = function () {
 | 
			
		||||
  emits('hide', false);
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
@@ -67,6 +67,20 @@
 | 
			
		||||
                  <span>绑定手机号</span>
 | 
			
		||||
                </el-dropdown-item>
 | 
			
		||||
 | 
			
		||||
                <el-dropdown-item @click="showRewardDialog = true">
 | 
			
		||||
                  <el-icon>
 | 
			
		||||
                    <Present/>
 | 
			
		||||
                  </el-icon>
 | 
			
		||||
                  <span>加入众筹</span>
 | 
			
		||||
                </el-dropdown-item>
 | 
			
		||||
 | 
			
		||||
                <el-dropdown-item @click="showRewardVerifyDialog = true">
 | 
			
		||||
                  <el-icon>
 | 
			
		||||
                    <Checked/>
 | 
			
		||||
                  </el-icon>
 | 
			
		||||
                  <span>众筹核销</span>
 | 
			
		||||
                </el-dropdown-item>
 | 
			
		||||
 | 
			
		||||
                <el-dropdown-item @click="clearAllChats">
 | 
			
		||||
                  <el-icon>
 | 
			
		||||
                    <Delete/>
 | 
			
		||||
@@ -199,11 +213,14 @@
 | 
			
		||||
    <bind-mobile v-if="isLogin" :show="showBindMobileDialog" :mobile="loginUser.mobile"
 | 
			
		||||
                 @hide="showBindMobileDialog = false"/>
 | 
			
		||||
 | 
			
		||||
    <reward-verify v-if="isLogin" :show="showRewardVerifyDialog" @hide="showRewardVerifyDialog = false"/>
 | 
			
		||||
 | 
			
		||||
    <el-dialog
 | 
			
		||||
        v-model="showRewardDialog"
 | 
			
		||||
        :show-close="true"
 | 
			
		||||
        custom-class="donate-dialog"
 | 
			
		||||
        width="400px"
 | 
			
		||||
        top="5vh"
 | 
			
		||||
        title="参与众筹"
 | 
			
		||||
    >
 | 
			
		||||
      <el-alert type="info" :closable="false">
 | 
			
		||||
@@ -212,7 +229,7 @@
 | 
			
		||||
          账单和服务器的费用。</p>
 | 
			
		||||
      </el-alert>
 | 
			
		||||
      <p>
 | 
			
		||||
        <el-image :src="donateImg"/>
 | 
			
		||||
        <el-image :src="rewardImg"/>
 | 
			
		||||
      </p>
 | 
			
		||||
    </el-dialog>
 | 
			
		||||
  </div>
 | 
			
		||||
@@ -226,11 +243,13 @@ import ChatReply from "@/components/ChatReply.vue";
 | 
			
		||||
import {
 | 
			
		||||
  ArrowDown,
 | 
			
		||||
  Check,
 | 
			
		||||
  Checked,
 | 
			
		||||
  Close,
 | 
			
		||||
  Delete,
 | 
			
		||||
  Edit,
 | 
			
		||||
  Iphone,
 | 
			
		||||
  Plus,
 | 
			
		||||
  Present,
 | 
			
		||||
  Promotion,
 | 
			
		||||
  RefreshRight,
 | 
			
		||||
  Search,
 | 
			
		||||
@@ -249,9 +268,11 @@ import ConfigDialog from "@/components/ConfigDialog.vue";
 | 
			
		||||
import PasswordDialog from "@/components/PasswordDialog.vue";
 | 
			
		||||
import {checkSession} from "@/action/session";
 | 
			
		||||
import BindMobile from "@/components/BindMobile.vue";
 | 
			
		||||
import RewardVerify from "@/components/RewardVerify.vue";
 | 
			
		||||
 | 
			
		||||
const title = ref('ChatGPT-智能助手');
 | 
			
		||||
const logo = 'images/logo.png';
 | 
			
		||||
const rewardImg = ref('images/reward.png')
 | 
			
		||||
const models = ref([])
 | 
			
		||||
const model = ref('gpt-3.5-turbo')
 | 
			
		||||
const chatData = ref([]);
 | 
			
		||||
@@ -271,6 +292,7 @@ const showConfigDialog = ref(false);
 | 
			
		||||
const showPasswordDialog = ref(false);
 | 
			
		||||
const showBindMobileDialog = ref(false);
 | 
			
		||||
const showRewardDialog = ref(false);
 | 
			
		||||
const showRewardVerifyDialog = ref(false);
 | 
			
		||||
const isLogin = ref(false)
 | 
			
		||||
 | 
			
		||||
if (isMobile()) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user