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': '散射所需模型状态'
// 可以根据需要添加更多翻译
};