diff --git a/src/api/demands.js b/src/api/demands.js index bf29480..b8e0ba7 100644 --- a/src/api/demands.js +++ b/src/api/demands.js @@ -49,13 +49,9 @@ export const addDemand = async (demandData) => { */ export const updateDemand = async (id, dataToUpdate) => { try { - const payload = { - sendcontent: dataToUpdate.sendcontent, - requester: dataToUpdate.requester || '', - qq_code: dataToUpdate.qq_code || '', - content: dataToUpdate.content || '', // 直接使用传入的 content,如果为空则使用空字符串 - reward: dataToUpdate.reward || '', - date: dataToUpdate.date || new Date().toISOString().slice(0, 19).replace('T', ' ') + const payload = { + ...dataToUpdate, + content: dataToUpdate.content // 直接使用传入的 content }; console.log('更新需求的数据:', payload); const response = await axiosInstance.put(`/demands/update/${id}`, payload); diff --git a/src/components/backend/ServiceHallView.vue b/src/components/backend/ServiceHallView.vue index f30bf1c..d0b6b02 100644 --- a/src/components/backend/ServiceHallView.vue +++ b/src/components/backend/ServiceHallView.vue @@ -108,12 +108,15 @@ + + \ No newline at end of file diff --git a/src/views/index/WeaponMatch.vue b/src/views/index/WeaponMatch.vue index c55fce3..4fc1a3d 100644 --- a/src/views/index/WeaponMatch.vue +++ b/src/views/index/WeaponMatch.vue @@ -725,24 +725,316 @@ const allAttributes = computed(() => { const attrs = new Set(); // 属性名翻译映射表 + //标了问号的就是我不确定是啥的 const attributeTranslations = { - 'id': '单位ID', - 'weapon': '武器', - 'name': '名称', - 'type': '类型', - 'damage': '伤害值', - 'range': '射程', - 'speed': '速度', - 'accuracy': '精准度', - 'ammo': '弹药量', - 'reload': '装弹时间', - 'level': '等级', - 'cost': '消耗', - 'cooldown': '冷却时间', - 'effect': '效果', - 'target': '目标类型', - 'radius': '作用半径', - 'duration': '持续时间' + // ================= 武器模板核心属性 ================= + 'id': '武器ID', + 'inheritFrom': '继承自', + 'AttackRange': '射程', + 'MinimumAttackRange': '最小射程', + 'RangeBonusMinHeight': '射程加成最小高度',// 高度相关射程加成,没出现过 + 'RangeBonus': '射程加成值',// 高度相关射程加成,没出现过 + 'RangeBonusPerFoot': '每英尺射程加成',// 高度相关射程加成,没出现过 + 'RequestAssistRange': '请求援助范围',// 意义不明且没出现过 + 'AcceptableAimDelta': '允许瞄准偏差角', + 'AimDirection': '基准瞄准方向', // 意义不明 + 'ScatterRadius': '散射半径', + 'ScatterLength': '散射长度', + 'ScatterIndependently': '多抛射物独立散射', //只在V4散弹那里出现一次 + 'WeaponSpeed': '武器/抛射物速度', + 'MinWeaponSpeed': '最小抛射物速度', + 'MaxWeaponSpeed': '最大抛射物速度', + 'ScaleWeaponSpeed': '缩放抛射物速度',// 意义不明且没出现过 + 'IgnoresContactPoints': '忽略碰撞体积(将武器瞄准目标几何中心)', + 'ScaleAttackRangeByAmmoRemaining': '射程随弹药剩余量缩放',//意义姑且不明,只在世纪轰炸机那里出现一次 + 'CanBeDodged': '可被躲避',// 意义不明且没出现过 + 'IdleAfterFiringDelaySeconds': '开火后待机延迟',//似乎是让自己在攻击后会瘫痪一段时间? + 'HoldAfterFiringDelaySeconds': '开火后保持延迟',// 意义不明且没出现过 + 'HoldDuringReload': '保持先前姿态时即可装填', + 'CanFireWhileMoving': '移动射击能力', + 'WeaponRecoil': '启用后坐力', + 'MinTargetPitch': '最小俯仰角', + 'MaxTargetPitch': '最大俯仰角', + 'PreferredTargetBone': '首选目标骨骼', + 'FireSound': '开火音效', + 'FireSoundPerClip': '整弹匣开火音效', + 'FiringLoopSound': '持续开火音效', + 'FiringLoopSoundContinuesDuringReload': '装填时保持开火音效', + 'FireFX': '开火特效', + 'FireVeteranFX': '升级后开火特效', // 升级后的单位不一定是三星单位 + 'FireFlankFX': '侧翼开火特效', + 'PreAttackFX': '预攻击特效', + 'ClipSize': '弹匣容量', + 'ContinuousFireOne': '第一阶段连续射击次数', + 'ContinuousFireTwo': '第二阶段连续射击次数', + 'ContinuousFireCoastSeconds': '连续射击间隔', // 意义不明且没出现过 + 'AutoReloadWhenIdleSeconds': '空闲时自动装弹时间',// 意义不明且没出现过 + 'ShotsPerBarrel': '每炮管射弹数', + 'DamageDealtAtSelfPosition': '伤害作用于自身位置', //在鬼王和大和的撞击武器那里出现,似乎是用来让武器在路径全程都造成效果的? + 'RequiredFiringObjectStatus': '开火所需状态标志', + 'ForbiddenFiringObjectStatus': '禁止开火的状态标志', + 'CheckStatusFlagsInRangeChecks': '射程检查时包含状态标志', + 'ProjectileSelf': '发射自身作为抛射物', // 用于跳跃类单位和神风特攻队 + 'MeleeWeapon': '近战武器', + 'ChaseWeapon': '追击武器', // 意义不明 + 'LeechRangeWeapon': '吸血射程武器', + 'HitStoredTarget': '会攻击预设目标', + 'CapableOfFollowingWaypoints': '能否跟随路径点', + 'ShowsAmmoPips': '是否显示弹药指示器', + 'AllowAttackGarrisonedBldgs': '能否攻击驻军建筑', + 'PlayFXWhenStealthed': '隐身时是否播放特效',// 没出现过 + 'ContinueAttackRange': '持续攻击范围', //意义姑且不明,只在世纪轰炸机那里出现一次 + 'SuspendFXDelaySeconds': '特效暂停延迟',// 意义不明且没出现过 + 'IsAimingWeapon': '是否为瞄准武器', + 'NoVictimNeeded': '是否需要攻击目标', + 'HitPercentage': '命中率', //用处可以很大,但原作中只是用来控制跳跃类单位让它不会把自己一头创死的 + 'HitPassengerPercentage': '乘客命中概率', + 'PassengerProportionalAttack': '是否按乘客比例攻击', + 'HealthProportionalResolution': '生命值比例分辨率', // 在鬼王和大和的撞击武器那里出现,似乎是用来让武器在路径全程都造成效果的? + 'MaxAttackPassengers': '最大攻击乘客数', + 'FinishAttackOnceStarted': '强制完成已开始攻击',// 大部分近战武器都启用了这个,所以会出现二☆人☆幸☆终的情况 + 'RestrictedHeightRange': '高度限制范围', + 'CannotTargetCastleVictims': '能否攻击城堡保护目标', + 'RequireFollowThru': '攻击动作必须完整执行', // 攻击动作必须完整执行 + 'ShareTimers': '共享计时器',// 意义不明且没出现过 + 'ShouldPlayUnderAttackEvaEvent': '是否播放受袭语音', + 'InstantLoadClipOnActivate': '激活武器时才开始装填(无法立刻发射)', + 'Flags': '行为控制标志集', + 'LockWhenUsing': '使用时锁定',// 意义不明且没出现过 + 'BombardType': '轰炸类型武器',// 意义不明且没出现过 + 'UseInnateAttributes': '使用先天属性',// 意义不明且没出现过 + 'PreAttackType': '攻击前准备类型', + 'ReAcquireDetailType': '目标重锁定模式', + 'AutoReloadsClip': '自动装填机制 (AUTO-自动再装填/NONE-无法再装填/RETURN_TO_BASE-只能在基地再装填)', + 'SingleAmmoReloadedNotFullSound': '单发装填音效', // 在注释里出现过,CC3遗留代码 + 'ClipReloadedSound': '弹匣重装音效', // 在注释里出现过,CC3遗留代码 + 'RadiusDamageAffects': '范围伤害影响对象', + 'FXTrigger': '特效触发类型', + 'ProjectileCollidesWith': '抛射物碰撞对象类型', + 'RequiredAntiMask': '可攻击的目标类型', + 'ForbiddenAntiMask': '禁止攻击的目标类型', + 'StopFiringOnCanBeInvisible': '隐身时停止开火',// 没出现过 + 'ProjectileStreamName': '投射物流名称', + 'ContactWeapon': '接触式武器', + 'UseCenterForRangeCheck': '使用几何中心点计算射程', + 'VirtualDamage': '自动分弹模式/虚拟伤害类型(NONE-不进行自动分弹/SOLO-自动分弹时只计算自己/SHARED-自动分弹时计算所有单位的总火力)', + 'PreAttackWeapon': '预攻击武器', + 'RevealShroudOnFire': '开火时揭露战争迷雾', + 'ShouldPlayTargetDeadEvaEvent': '目标死亡时播放语音', + + // ================= 时间控制元素属性 ================= + 'MinSeconds': '最小持续时间(秒)', + 'MaxSeconds': '最大持续时间(秒)', + + // ================= AI智能提示属性 ================= + 'IsAntiGarrisonWeapon': '反驻军武器', + 'MaxSpeedOfTarget': '可命中的目标最大速度', + 'UseLongLockOnTimeCode': '使用长锁定时间逻辑', // 如标枪兵锁定模式 + 'UseAsWarheadForDamageCalculations': 'AI伤害计算弹头', + + // ================= 武器效果组件通用属性 ================= + 'Radius': '作用半径', + 'PartitionFilterTestType': '属性过滤器作用区域形状', + 'ForbiddenTargetObjectStatus': '瘫痪/冲击波失效的目标对象状态', + 'ForbiddenTargetModelCondition': '瘫痪/冲击波失效的目标模型状态', + 'RequiredUpgrade': '所需升级', + 'ForbiddenUpgrade': '禁止升级', + + // ================= 伤害弹头属性 ================= + 'Damage': '基础伤害值', + 'DamageTaperOff': '伤害衰减系数', // 随距离伤害递减 + 'MinRadius': '最小作用半径', // 伤害生效最小距离,没出现过 + 'DamageArc': '扇形伤害范围角度', // 扇形伤害区域 + 'DamageArcInverted': '反转伤害扇形', // 反转扇形区域,没出现过 + 'DamageMaxHeight': '伤害最大高度', // 不确定,仅电船的F使用这个参数 + 'DamageMaxHeightAboveTerrain': '伤害最大离地高度',// 不确定,没出现过 + 'FlankingBonus': '侧翼攻击加成', // 从侧面攻击伤害加成,没出现过 + 'FlankedScalar': '被侧翼攻击倍率', // 被侧击时的伤害倍率,没出现过 + 'DelayTimeSeconds': '伤害延迟时间(秒)', // 伤害生效延迟 + 'DamageType': '伤害类型', // 穿甲/高爆等 + 'DeathType': '死亡效果类型', // 爆炸/融化等 + 'DamageFXType': '伤害特效类型', + 'DamageSubType': '伤害子类型', // 进一步细分伤害类型,没出现过 + 'OnlyKillOwnerWhenTriggered': '仅在被触发时杀死拥有者', + 'DrainLifeMultiplier': '生命吸取倍率', // 吸血比例,没出现过,在RAAA中只出现了Leech的吸血弹头 + 'DrainLife': '生命吸取', // 吸血效果开关,没出现过,在RAAA中只出现了Leech的吸血弹头 + 'DamageSpeed': '伤害传播速度', // 只在将军刽子手的F弹头中出现过,可能是伤害蔓延速度 + 'UnderAttackOverrideEvaEvent': '覆盖受袭语音事件', + 'VictimShroudRevealer': '目标战争迷雾揭示者', // 意义不明且没出现过 + 'NotifyOwnerOnVictimDeath': '目标死亡通知拥有者', //Leech类属性——吸到武器了。投稿者:变态BUG锤 + 'NotifyObserversOnPreDamageEffectPosition': '伤害位置预报', // 超武特有属性 + 'ForceFXPositionToVictim': '特效绑定目标位置', // 意义不明,只在真空内爆弹和城管的弹头里出现过 + 'RadiusAffectsBridges': '影响桥梁', + 'InvalidTargetStatus': '无效目标状态标志', + 'DamageScalarDetails': '伤害比例详情', + 'Scalar': '伤害比例', + 'Filter': '对象过滤器', + + // ================= 持续伤害弹头属性 ================= + 'DamageInterval': '伤害间隔(秒)', // 仅空投有毒罐头使用 + 'DamageDuration': '伤害总时长(秒)', // 仅空投有毒罐头使用 + 'RemoveIfHealed': '治疗时移除效果', // 仅空投有毒罐头使用 + + // ================= 生命吸取弹头属性 ================= + 'PercentDamageToHeal': '伤害转化为治疗百分比',// 没出现过 + 'PercentMaxHealthToTake': '最大生命值吸取比例', // 在苏联碾压回血技能处出现,按目标最大生命比例吸血 + + // ================= 投射物弹头属性 ================= + 'ProjectileTemplate': '抛射物模板', + 'WarheadTemplate': '弹头模板', + 'WeaponLaunchBoneSlotOverride': '武器发射骨骼槽', // 指定发射骨骼,没出现过 + 'AttackOffset': '攻击位置偏移', + 'VeterancyLevel': '老兵等级', + 'SpecificBarrelOverride': '特定炮管覆盖', + 'x': 'X轴偏移', + 'y': 'Y轴偏移', + 'z': 'Z轴偏移', + + // ================= 压制弹头属性 ================= + 'Suppression': '压制强度', // 士气打击值 + 'DurationSeconds': '效果持续时间(秒)', + 'SuppressionTaperOff': '压制衰减系数', // 随距离压制效果递减 + 'SuppressionArc': '压制扇形角度', // 扇形压制区域,没出现过 + 'SuppressionArcInverted': '反转压制扇形', // 反转扇形区域,没出现过 + + // ================= 激光弹头属性 ================= + 'Lifetime': '激光持续时间', + 'LaserId': '激光ID', //谁能告诉我那一大串数字是啥? + 'HitGroundFX': '命中地面特效', + 'OverShootDistance': '激光延长线距离', + + // ================= 对象创建弹头属性 ================= + 'WeaponOCL': '武器对象创建列表', // 武器会从OCL列表创建对象 + 'TargetAsPrimaryObject': '设目标为主要对象', //意义姑且不明,只在天皇之怒和点防御无人机上出现 + + // ================= 麻痹弹头属性 ================= + 'EffectArc': '麻痹效果扇形角度',// 扇形麻痹区域,没出现过 + 'DurationSeconds': '麻痹持续时间(秒)', + 'ParalyzeType': '麻痹类型', // EMP/瘫痪等 + 'RemoveParalyzeType': '解除麻痹类型', // 狗叫和镰刀武器使用 + 'ParalyzeFX': '麻痹特效', + + // ================= 信息战弹头属性 ================= + 'InfoWarType': '信息战类型', // 没出现过 + 'RadarJamRadius': '雷达干扰半径',// 没出现过 + 'RadarJamDuration': '雷达干扰持续时间',// 没出现过 + + // ================= 泰矿消耗弹头属性 ================= + 'AmountToSpend': '消耗泰矿数量', + + // ================= 冲击波弹头属性 ================= + 'ShockWaveAmount': '冲击波强度', + 'ShockWaveRadius': '冲击波半径', + 'ShockWaveArc': '扇形冲击波范围角度', + 'ShockWaveTaperOff': '冲击波衰减', + 'ShockWaveSpeed': '冲击波速度',// 没出现过 + 'ShockWaveZMult': '垂直方向冲击波系数', // 垂直方向效果强度 + 'CyclonicFactor': '气旋因子', // 意义不明且没出现过 + 'ShockwaveDelaySeconds': '冲击波延迟时间(秒)', + 'InvertShockWave': '反转冲击波方向', //不确定,在且只在电磁奇点上出现 + 'FlipDirection': '翻转方向', + 'OnlyWhenJustDied': '仅在目标刚死亡时触发', + 'ShockWaveClearRadius': '冲击波清除半径', //只在百合子那里出现一次,而且和默认值是一样的 + 'ShockWaveClearWaveMult': '清除冲击波倍数', + 'ShockWaveClearFlingHeight': '清除抛射高度', + 'KillObjectFilter': '击杀对象过滤器', + + // ================= 特殊能力弹头属性 ================= + 'SpecialPowerTemplate': '特殊能力模板', + + // ================= 属性修改弹头属性 ================= + 'AttributeModifierName': '属性修改器名称', + 'AttributeModifierOwnerName': '属性修改器所有者', //不确定 + 'DamageFXType': '伤害特效类型', + 'DamageArc': '伤害作用弧度', + 'AntiCategories': '反制类别', // 意义不明且没出现过 + 'AntiFX': '反制特效', // 意义不明且没出现过 + + // ================= 线性伤害弹头属性 ================= + //线性伤害指的是莎莎和波能坦克那种伤害类型 + 'OffsetAngle': '线性伤害偏移角度', // 不确定且没出现过 + 'LineWidth': '线性伤害宽度', // 波能坦克等 + 'LineLengthLeadIn': '起始线长',// 没出现过 + 'LineLengthLeadOut': '结束线长',// 没出现过 + 'UseDynamicLineLength': '线性伤害使用动态线长', + 'OverShootDistance': '线性伤害延长距离', + + // ================= 着色弹头属性 ================= + //Tint类属性会给整个建筑/单位上色 + 'PreColorTime': '着色淡入时间', + 'SustainedColorTime': '持续着色时间', + 'PostColorTime': '着色淡出时间', + 'Frequency': '脉冲频率', // 意义不明 + 'Amplitude': '脉冲幅度', // 意义不明 + 'Color': '着色颜色', + 'r': '红色分量', + 'g': '绿色分量', + 'b': '蓝色分量', + + // ================= 地形弹坑弹头属性 ================= + 'Depth': '弹坑深度',// 没出现过 + 'Lift': '地形隆起比例', // 弹坑边缘隆起程度,没出现过 + + // ================= 泰伯利亚矿弹头属性 ================= + 'FieldAmount': '矿场数量',// 没出现过 + 'SpawnedInFieldBonus': '矿场内生成加成',// 没出现过 + + // ================= 散射弹头属性 ================= + 'ScatterMin': '最小散射角度',// 没出现过 + 'ScatterMax': '最大散射角度',// 没出现过 + + // ================= 附加弹头属性 ================= + 'AttachModuleId': 'ATTR模块ID', + + // ================= 生命值剥离弹头属性 ================= + 'AmountToStrip': '生命值剥离百分比', //只在百合子那里出现一次,因为她是按生命值上限百分比扣血的 + + // ================= 对象攻击弹头属性 ================= + 'Weapon': '使用的武器', + 'FireOnVictimObject': '对目标使用武器', // 天皇之怒和点防御无人机使用 + 'VictimMustBeAlive': '目标必须存活',// 没出现过 + 'Filter': '对象过滤器', + + // ================= 通知目标弹头属性 ================= + 'MinTimeToImpactFudgeFactor': '最小命中时间容差', //不确定,在且只在海翼和盟军的小火箭上出现 + 'MaxTimeToImpactFudgeFactor': '最大命中时间容差', //不确定,在且只在海翼和盟军的小火箭上出现 + + // ================= 规则与过滤属性 ================= + 'Rule': '生效规则(ALL/ANY/NONE)', + 'Include': '包含对象类型', + 'Exclude': '排除对象类型', + 'Relationship': '阵营关系(敌/友/中等)', + 'StatusBitFlags': '目标需要的状态标志', // 意义不明 + 'StatusBitFlagsExclude': '排除目标的状态标志', + 'RequiredModelConditions': '所需模型状态', + + // ================= 武器模板子元素属性 ================= + 'SpecialObjectFilter': '特殊对象过滤器', + 'OverrideVoiceAttackSound': '覆盖攻击语音',// 意义不明且没出现过 + 'OverrideVoiceEnterStateAttackSound': '覆盖状态切换攻击语音',// 意义不明且没出现过 + 'SurpriseAttackObjectFilter': '突袭攻击对象过滤器', + 'CombinedAttackObjectFilter': '联合攻击对象过滤器', + 'HitStoredObjectFilter': '命中存储对象过滤器', + 'ScatterRadiusVsType': '散射类型设置', + 'IncompatibleAttributeModifier': '不兼容属性修改器', + + // ================= 其他弹头属性 ================= + 'SpawnTemplate': '生成模板', + 'SpawnProbability': '生成概率', + 'SpawnedModelConditionFlags': '生成模型状态标志', + 'Amount': '伤害量', + 'PercentDamageToContained': '对包含单位的伤害比例', + 'DamageObjectFilter': '伤害对象过滤器', + 'MaxUnitsToDamage': '最大伤害单位数', + 'WindowBlastFX': '窗口爆炸特效', + 'EventName': '事件名称', + 'SendToEnemies': '发送给敌人', + 'SendToAllies': '发送给盟友', + 'SendToNeutral': '发送给中立单位', + + // ================= 散射类型子属性 ================= + 'ScatterRadiusVsType.Radius': '散射半径', + 'ScatterRadiusVsType.RequiredModelConditions': '散射所需模型状态' // 可以根据需要添加更多翻译 };