Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 39s
refactor(service): 修改banner和guild删除逻辑为软删除 fix(service): 修复删除操作使用软删除而非物理删除 build: 添加SQLite测试仓库实现 docs: 新增奖励管理字段拆分和批量抽奖UI改造文档 ci: 更新CI忽略文件 style: 清理无用资源文件
2 lines
7.8 KiB
JavaScript
2 lines
7.8 KiB
JavaScript
var e=(e,s,a)=>new Promise((l,t)=>{var i=e=>{try{o(a.next(e))}catch(s){t(s)}},r=e=>{try{o(a.throw(e))}catch(s){t(s)}},o=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);o((a=a.apply(e,s)).next())});import{d as s,aD as a,C as l,a as t,o as i,e as r,f as o,p as n,z as u,k as m,h as d,y as c,m as p,l as v,ab as f,u as _,b3 as b,aW as j,aY as x,aJ as y,O as g}from"./index-CZ0Lvzl5.js";/* empty css */import{E as h,a as w}from"./el-table-column-CioBjwcM.js";/* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{E as k}from"./el-alert-PelqwNJs.js";/* empty css *//* empty css */import{E as z}from"./message-box-mfsaE52U.js";/* empty css *//* empty css *//* empty css */import{i as C,j as E,k as I}from"./adminActivities-BFodRb8S.js";import{E as A}from"./index-BQ-mpgoy.js";import{E as J,a as L}from"./index-DJslzamN.js";import{E as N}from"./index-D9lGuZWz.js";import{E as O}from"./index-CWBrZtwn.js";import"./index-BierC7rd.js";import"./index-BW22oPP6.js";import"./index-C6fEXl-e.js";import"./index-K2zzami3.js";import"./use-form-item-BsnpemL_.js";import"./use-form-common-props-U6f9D53_.js";import"./_initCloneObject-DfOnBHdn.js";import"./isArrayLikeObject-CQAE3P4Q.js";import"./raf-C-iJO6ki.js";import"./_baseIteratee-iUx42eT-.js";import"./index-DH_vX4BK.js";import"./debounce-BWBxuUbE.js";import"./index-BZS0BBj4.js";import"./index-MV2EqMi7.js";import"./index-ZgXgJNHL.js";import"./index-6-f3xsy2.js";import"./index-CgoUqbdT.js";import"./vnode-C4RX5enz.js";import"./scroll-bFiZhqzI.js";import"./validator-BHWhHngj.js";import"./index-DaNWXg3-.js";const B={class:"p-4"},D={class:"flex items-center justify-between"},M={class:"flex items-center space-x-2"},P={key:0,class:"mb-6"},T={class:"flex items-center justify-between"},W={key:1,class:"mb-6"},q={key:2,class:"mb-6"},F={class:"flex items-center"},H={key:3,class:"mb-6"},K={class:"flex items-center"},R=s({__name:"index",setup(s){const R=a(),Y=l(),$=Number(R.params.activityId),G=Number(R.params.issueId),Q=t(null),S=t(!1),U=t([]),V=t(!1),X=t(""),Z=()=>e(this,null,function*(){try{X.value="";const e=yield C($,G);Q.value=e,e&&ee()}catch(e){const s=e.businessCode||e.code||e.data&&e.data.code||e.status,a=e.message||e.data&&e.data.message||"获取随机承诺失败";if(20515===s)return void(Q.value=null);20514===s?(X.value="当前期数状态不允许生成随机承诺",g.info("当前期数状态不允许生成随机承诺")):(X.value=a,g.error(a))}}),ee=()=>e(this,null,function*(){try{V.value=!0;const e=yield E($,G);U.value=e||[]}catch(e){g.warning("获取历史版本失败:"+(e.message||"未知错误")),U.value=[]}finally{V.value=!1}}),se=()=>e(this,null,function*(){try{X.value="",yield z.confirm("确定要生成随机承诺吗?此操作不可撤销,生成后将用于该期数的所有抽奖活动。","确认生成",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),S.value=!0;yield I($,G);g.success("随机承诺生成成功!"),X.value="",yield Z()}catch(e){if("cancel"!==e){const s=e.businessCode||e.code||e.data&&e.data.code||e.status,a=e.message||e.data&&e.data.message||"生成随机承诺失败";20514===s?(X.value='当前期数状态不允许生成随机承诺,请确保期数状态为"未开始"',g.warning(X.value)):20515===s?(X.value="期数不存在或已被删除",g.error(X.value)):a.includes("已存在随机承诺")?(X.value="该期数已存在随机承诺,不可重复生成",g.warning(X.value)):a.includes("未配置奖励")?(X.value="该期数未配置奖励,请先配置奖励后再生成随机承诺",g.warning(X.value)):a.includes("总权重必须大于0")?(X.value="奖池配置无效:总权重必须大于0",g.warning(X.value)):(X.value=a,g.error(X.value))}}finally{S.value=!1}}),ae=()=>{Y.back()};return i(()=>{Z()}),(e,s)=>{const a=f,l=O,t=A,i=k,g=L,z=J,C=w,E=h,I=N;return o(),r("div",B,[n(I,null,{header:u(()=>[d("div",D,[s[3]||(s[3]=d("span",{class:"text-lg font-medium"},"随机承诺管理",-1)),d("div",M,[n(l,{type:"primary",onClick:se,loading:S.value,disabled:!!Q.value},{default:u(()=>[n(a,{class:"mr-1"},{default:u(()=>[n(_(x))]),_:1}),s[1]||(s[1]=v(" 生成随机承诺 ",-1))]),_:1},8,["loading","disabled"]),n(l,{onClick:ae},{default:u(()=>[n(a,{class:"mr-1"},{default:u(()=>[n(_(y))]),_:1}),s[2]||(s[2]=v(" 返回 ",-1))]),_:1})])])]),default:u(()=>[Q.value?(o(),r("div",P,[n(i,{title:"当前期数已生成随机承诺",type:"success",closable:!1,class:"mb-4"},{default:u(()=>[d("div",T,[d("span",null,"版本号: v"+p(Q.value.state_version),1),U.value.length>1?(o(),c(t,{key:0,type:"info",size:"small"},{default:u(()=>[v(" 共 "+p(U.value.length)+" 个版本 ",1)]),_:1})):m("",!0)])]),_:1}),n(z,{column:2,border:""},{default:u(()=>[n(g,{label:"算法版本"},{default:u(()=>[v(p(Q.value.algo_version),1)]),_:1}),n(g,{label:"期数ID"},{default:u(()=>[v(p(Q.value.issue_id),1)]),_:1}),n(g,{label:"服务器种子哈希"},{default:u(()=>[n(t,{size:"small",class:"font-mono text-xs"},{default:u(()=>[v(p(Q.value.server_seed_hash),1)]),_:1})]),_:1}),n(g,{label:"奖励根哈希"},{default:u(()=>[n(t,{size:"small",class:"font-mono text-xs"},{default:u(()=>[v(p(Q.value.items_root),1)]),_:1})]),_:1}),n(g,{label:"总权重"},{default:u(()=>[v(p(Q.value.weights_total),1)]),_:1}),n(g,{label:"版本号"},{default:u(()=>[n(t,{type:"primary",size:"small"},{default:u(()=>[v(" v"+p(Q.value.state_version),1)]),_:1})]),_:1})]),_:1})])):(o(),r("div",W,[n(i,{title:"尚未生成随机承诺",type:"warning",closable:!1,class:"mb-4"},{default:u(()=>[...s[4]||(s[4]=[d("div",null,"当前期数尚未生成随机承诺,请点击下方按钮生成",-1)])]),_:1})])),U.value.length>1?(o(),r("div",q,[n(I,{shadow:"never",class:"bg-gray-50"},{header:u(()=>[d("div",F,[n(a,{class:"mr-2"},{default:u(()=>[n(_(b))]),_:1}),s[5]||(s[5]=d("span",{class:"font-medium"},"历史版本记录",-1))])]),default:u(()=>[n(E,{data:U.value,style:{width:"100%"},size:"small"},{default:u(()=>[n(C,{prop:"state_version",label:"版本号",width:"80"},{default:u(({row:e})=>{var s;return[n(t,{type:e.state_version===(null==(s=Q.value)?void 0:s.state_version)?"primary":"info",size:"small"},{default:u(()=>[v(" v"+p(e.state_version),1)]),_:2},1032,["type"])]}),_:1}),n(C,{prop:"server_seed_hash",label:"服务器种子哈希"},{default:u(({row:e})=>[n(t,{size:"small",class:"font-mono text-xs"},{default:u(()=>[v(p(e.server_seed_hash.substring(0,16))+"... ",1)]),_:2},1024)]),_:1}),n(C,{prop:"items_root",label:"奖励根哈希"},{default:u(({row:e})=>[n(t,{size:"small",class:"font-mono text-xs"},{default:u(()=>[v(p(e.items_root.substring(0,16))+"... ",1)]),_:2},1024)]),_:1}),n(C,{prop:"weights_total",label:"总权重",width:"100"})]),_:1},8,["data"])]),_:1})])):m("",!0),X.value?(o(),r("div",H,[n(i,{title:X.value,type:"error",closable:!0,onClose:s[0]||(s[0]=e=>X.value=""),class:"mb-4"},null,8,["title"])])):m("",!0),n(I,{shadow:"never",class:"bg-blue-50"},{header:u(()=>[d("div",K,[n(a,{class:"mr-2"},{default:u(()=>[n(_(j))]),_:1}),s[6]||(s[6]=d("span",{class:"font-medium"},"业务规则说明",-1))])]),default:u(()=>[s[7]||(s[7]=d("div",{class:"text-sm text-gray-600 space-y-2"},[d("p",null,[d("strong",null,"1. 生成限制:"),v('只能在期数状态为"未开始"时生成,且每个期数只能生成一次')]),d("p",null,[d("strong",null,"2. 生成时机:"),v("建议在期数开始前生成随机承诺,确保公平性")]),d("p",null,[d("strong",null,"3. 验证机制:"),v("用户可通过 receipt.json 文件离线验证抽奖结果")]),d("p",null,[d("strong",null,"4. 安全机制:"),v("采用 Commit-Reveal 模式,确保随机性不可预测")]),d("p",null,[d("strong",null,"5. 版本管理:"),v("系统会记录版本历史,抽奖始终使用最新版本")])],-1))]),_:1})]),_:1})])}}});export{R as default};
|