diff --git a/pets-be/internal/database/articles_more.go b/pets-be/internal/database/articles_more.go deleted file mode 100644 index db4de18..0000000 --- a/pets-be/internal/database/articles_more.go +++ /dev/null @@ -1,501 +0,0 @@ -package database - -import "github.com/sundynix/pets-be/internal/model" - -// moreArticles 第二批新手文章。 -// 与 AI 助手同一套安全护栏:不做诊断、不给具体药物剂量, -// 凡是可能延误病情的情况一律写清「什么时候必须去医院」。 -func moreArticles() []model.Article { - return []model.Article{ - // ── 猫 ── - { - Icon: "🏠", Title: "新猫到家第一周该怎么过?", - Description: "别急着抱、别急着换粮,头七天做对这几件事就够了。", - Category: "care", RelatedSheetType: "poop", Published: true, - Content: `换环境对猫来说是一次不小的应激。头一周的目标只有一个:让它觉得安全。 - -【第 1-2 天:只给一个小空间】 -· 一个房间就够,里面放好猫砂盆、食盆、水碗和一个能躲的窝或纸箱。 -· 猫砂盆和食盆分开放,猫不喜欢在吃饭的地方排泄。 -· 不要把它从躲藏的地方拽出来。它躲是在观察,不是在害怕你。 - -【第 3-4 天:让它主动出来】 -· 你坐在地上、不盯着它看,反而更容易让它靠近。 -· 用逗猫棒隔着距离玩,别用手直接逗,容易被当成玩具咬。 - -【第 5-7 天:逐步开放空间】 -· 确认它肯吃、肯喝、能正常排泄后再放开其它房间。 - -【粮先别换】 -先用它原来吃的粮。换环境已经够折腾了,再换粮很容易软便。要换也等适应之后按 7 天过渡。 - -【什么情况要就医】 -· 超过 24 小时完全不吃不喝 -· 软便或腹泻超过 3 天不见好转 -· 精神明显萎靡、一直躲着不动、呼吸急促 -这几种情况别再"观察观察",直接去医院。`, - }, - { - Icon: "💩", Title: "猫砂盆怎么放,猫才肯好好用?", - Description: "乱尿十有八九不是脾气问题,是猫砂盆没配对。", - Category: "poop", RelatedSheetType: "poop", Published: true, - Content: `猫在盆外排泄,绝大多数时候是在表达"这个盆我不满意"或者身体不舒服,很少是"报复"。 - -【数量】 -经验做法是"猫数 + 1"。一只猫配两个盆,两只猫配三个。 - -【位置】 -· 安静、进出方便、不会被突然惊到的角落。 -· 别放在洗衣机、垃圾桶旁边,也别放在食盆边上。 -· 多层住宅每层至少一个。 - -【盆本身】 -· 大小至少是猫身长的 1.5 倍,很多猫不爱用是因为盆太小。 -· 幼猫和老年猫需要低边的盆,迈不进去它就不用了。 -· 封闭式猫砂盆气味积聚更快,如果猫开始在外面尿,先试试拿掉盖子。 - -【猫砂】 -· 多数猫偏好细颗粒、无香型的凝结砂。 -· 换砂要混着慢慢换,直接换一种新砂常引发拒用。 -· 铺 5-7 厘米厚,太薄猫刨不动。 - -【清理】 -每天至少铲一次。猫的嗅觉比人灵敏得多,你觉得还行的味道对它可能已经难以忍受。 - -【先排除疾病】 -突然开始乱尿、频繁进出猫砂盆却尿不出多少、排尿时叫唤——这些是泌尿道问题的典型表现,尤其公猫可能是尿闭,属于急症。先去医院,不要当成行为问题来纠正。`, - }, - { - Icon: "⚠️", Title: "公猫尿闭:24 小时内可能致命", - Description: "所有养公猫的人都该知道的一个急症,早一小时都是命。", - Category: "symptom", RelatedSheetType: "symptom", Published: true, - Content: `这是养猫最需要提前知道的急症之一,尤其是绝育后的公猫。 - -【什么是尿闭】 -尿道被结晶、栓子或炎症堵住,尿排不出去。毒素在体内累积,可以在 24-48 小时内造成肾衰竭甚至死亡。 - -【怎么识别】 -· 频繁进出猫砂盆,蹲很久却只有几滴甚至没有 -· 排尿时叫唤、显得痛苦 -· 舔下腹部和生殖器异常频繁 -· 尿里带血 -· 后期精神萎靡、呕吐、腹部摸上去发硬发胀 - -很多铲屎官会把"频繁进猫砂盆"误认为便秘或拉肚子。区别在于:尿闭时猫是在努力排尿而不是排便,蹲的时间长、姿势紧张。 - -【怎么办】 -立刻去医院,不要等到第二天。这不是可以观察一晚上的情况。 -路上不要试图挤压它的腹部——膀胱过度充盈时有破裂风险。 - -【怎么预防】 -· 保证饮水量:湿粮、流动水、多点位放水碗都有帮助 -· 控制体重,肥胖是明确的风险因素 -· 减少应激,换环境、家里来人都可能诱发 -· 有过一次发作的猫复发率很高,遵医嘱使用处方粮 - -女猫尿道更短更粗,尿闭风险低很多,但也会有泌尿道炎症。`, - }, - { - Icon: "📖", Title: "猫一直掉毛、吐毛球,正常吗?", - Description: "什么程度算正常,什么时候是身体在报警。", - Category: "care", RelatedSheetType: "symptom", Published: true, - Content: `【掉毛】 -猫常年掉毛,春秋换毛季更明显,这是正常的。可以做的是: -· 每周梳 2-3 次,短毛猫也需要 -· 换毛季可以每天梳 -· 梳下来的毛比吞进肚子里的毛安全得多 - -不正常的掉毛长这样:局部秃斑、皮肤发红结痂、掉毛处对称分布、猫频繁舔同一个地方舔到秃。这些指向皮肤病、寄生虫、过敏或压力,需要看医生。 - -【毛球】 -猫理毛时吞进大量被毛,在胃里聚成团。偶尔吐出一条状毛球是正常现象,频率通常是每月一两次。 - -需要警惕的是: -· 一周吐好几次 -· 干呕但吐不出东西 -· 伴随食欲下降、便秘或拉稀 -· 呕吐物里有血或者呈咖啡渣样 - -反复呕吐并不总是毛球,也可能是异物、炎症性肠病、胰腺炎甚至甲亢。频繁呕吐不要默认"又是毛球",把呕吐次数记下来给医生看。 - -【怎么减少】 -· 梳毛是最有效的 -· 保证饮水和纤维摄入 -· 化毛膏按产品说明使用,不要长期天天用 -· 有条件可以种一点猫草 - -顺手在 App 里记一条"异常观察",几次之后你自己就能看出规律。`, - }, - { - Icon: "🐱", Title: "老年猫的三个早期信号", - Description: "7 岁以后,这三件事比食欲变化更早暴露问题。", - Category: "symptom", RelatedSheetType: "weight", Published: true, - Content: `猫非常擅长掩饰不适,等到"看起来不对劲"往往已经不早了。7 岁以后,盯住下面三项。 - -【一、体重】 -最容易被忽略也最有价值的指标。 -· 慢性肾病、甲亢、糖尿病、肿瘤,早期几乎都会先反映在体重上 -· 每两周称一次,用同一个秤 -· 半年内掉了 10% 以上,即使精神食欲都正常,也该做一次血检 - -【二、饮水量和尿量】 -· 突然变得很爱喝水、猫砂结块明显变大变多,是慢性肾病和糖尿病的典型早期表现 -· 这个变化常常比食欲下降早出现几个月 -· 记不住就在 App 里记一笔,一周下来趋势很明显 - -【三、活动方式的变化】 -· 不再跳上以前常待的高处 -· 理毛变少,毛发变得毛糙打绺 -· 睡觉姿势变化、不愿被摸后半身 -这些往往是关节炎,猫的关节炎非常普遍但很少被诊断出来,因为猫不会像狗那样明显跛行。 - -【建议的体检节奏】 -7 岁以上每 6-12 个月一次,项目包含血常规、生化和尿检。尿检很关键,肾病在血检出现异常之前尿液往往已经有变化。 - -这些不是要你紧张,而是让你在有选择的时候发现问题。`, - }, - - // ── 狗 ── - { - Icon: "🐶", Title: "幼犬社会化:错过就补不回来的窗口", - Description: "3-16 周龄决定它一辈子怕不怕人、怕不怕车。", - Category: "care", RelatedSheetType: "", Published: true, - Content: `幼犬 3-16 周龄是社会化的关键期。这段时间接触过的东西,它长大后大概率能坦然面对;没接触过的,之后要花十倍力气去脱敏,而且未必成功。 - -【要接触什么】 -· 人:不同年龄、性别、穿着(戴帽子的、拿伞的、坐轮椅的) -· 声音:吸尘器、门铃、汽车、鞭炮录音(从小音量开始) -· 地面:瓷砖、草地、金属格栅、楼梯 -· 场景:电梯、车里、宠物医院(只是进去待一会儿也算) -· 身体接触:摸耳朵、摸爪子、看牙齿——为将来剪指甲和看病打基础 - -【疫苗没打全怎么办】 -这是最现实的矛盾:社会化窗口和免疫窗口重叠。折中做法: -· 抱着它出门,不落地 -· 在自家院子或干净的室内环境接触 -· 只和确认已免疫、健康的狗接触 -· 不去公共遛狗区、宠物店、草地 - -【关键原则:质量比数量重要】 -每次接触都要是愉快的。一次被大狗扑倒的经历,可能造成长期的恐惧。观察它的状态:夹尾巴、耳朵后压、想躲,就说明超出承受范围了,退回去、降低强度。 - -【常见误区】 -· "让它自己适应适应就好了"——恐惧不会自愈,只会加深 -· "多和狗玩就行"——和人、和环境的社会化同样重要 -· "长大再训"——4 个月以后难度陡增 - -这段时间的投入,换来的是之后十几年不用天天和一只怕这怕那的狗较劲。`, - }, - { - Icon: "💩", Title: "定点排便训练:两周能学会", - Description: "关键不是惩罚,是把成功的次数堆起来。", - Category: "poop", RelatedSheetType: "poop", Published: true, - Content: `幼犬控制不住是生理限制,不是不听话。月龄数 + 1 大约就是它能憋住的小时数——2 个月的狗大概 3 小时。 - -【核心方法】 -一、掌握时间点。幼犬最容易排泄的时刻是:睡醒后、吃完后 15-30 分钟、玩耍中途、每隔 1-2 小时。 -二、这几个时间点主动带它去指定位置。 -三、成功了立刻表扬 + 给零食。要在它排完的 3 秒内,晚了它就不知道你在奖励什么。 -四、失败了什么都不说,安静清理干净。 - -【为什么不能惩罚】 -事后惩罚它无法把"挨骂"和"几分钟前在客厅尿了"联系起来,只会得出"在主人面前排泄=挨骂"的结论,于是学会躲着你拉——问题从此更难解决。 - -【清理很重要】 -用含酶的清洁剂,普通清洁剂去不掉尿液里的信息素,残留的气味会持续吸引它回到同一个地方。氨水类清洁剂尤其不能用,气味和尿液相似。 - -【室内 vs 室外】 -如果打算最终在室外解决,越早开始越好,中间多一次"从尿垫过渡到室外"的转换会拖长整个周期。疫苗没打全之前可以先在自家院子或阳台固定一处。 - -【什么时候该怀疑是身体问题】 -· 已经学会了又突然频繁失禁 -· 排尿次数明显增多、每次量很少 -· 喝水量突然变大 -这些要去医院查泌尿系统,不是训练问题。`, - }, - { - Icon: "📅", Title: "遛狗到底遛多久才够?", - Description: "拆家、乱叫、挖沙发,八成是运动量没到。", - Category: "care", RelatedSheetType: "", Published: true, - Content: `【一个大致的量】 -成年犬每天 2 次、合计 30-60 分钟是基础线。但品种差异很大: -· 边牧、哈士奇、可卡这类工作犬和运动犬,1-2 小时可能还嫌少 -· 法斗、巴哥这类短鼻犬,反而要控制强度和时长,天热时更要小心 -· 幼犬遵循"月龄 × 5 分钟"的粗略上限,3 个月大约每次 15 分钟,过量运动伤关节 -· 老年犬缩短单次时长、增加次数,避免跳跃和长时间爬楼梯 - -【时长不是唯一维度】 -很多狗遛完还是精力过剩,是因为只是"走了一圈"。加进这几样效果完全不同: -· 嗅闻:让它自由闻,嗅闻消耗的精力远超同样时间的行走 -· 训练:路上穿插几次坐下、召回、等待 -· 变化路线:新环境本身就是消耗 - -15 分钟的嗅闻散步,对多数狗比 30 分钟的匀速快走更解乏。 - -【什么时候不适合遛】 -· 地面烫手时——用手背贴地面 5 秒,你觉得烫,它的肉垫也烫 -· 高温高湿的正午,短鼻犬尤其容易中暑 -· 疫苗没打全的幼犬不要去公共遛狗区 - -【运动量不够的表现】 -拆家、无目标吠叫、在家里来回踱步、见人过度兴奋扑跳。这些常被当成"性格问题"来纠正,实际上先把运动量补够,一多半会自己消失。`, - }, - { - Icon: "📖", Title: "狗狗要刷牙吗?要,而且很关键", - Description: "3 岁以上的狗多数已有牙周问题,代价不只是口臭。", - Category: "care", RelatedSheetType: "", Published: true, - Content: `【为什么必须重视】 -牙菌斑在 24-72 小时内会矿化成牙结石,刷牙就刷不掉了。牙周病不只是牙齿问题——细菌进入血液会影响心脏、肝脏和肾脏。狗不会喊牙疼,往往是长期忍着。 - -【怎么开始】 -不要一上来就撬开嘴。分几步: -一、先用手指蘸一点狗用牙膏让它舔,建立"这是好事"的印象 -二、用手指隔着纱布轻轻擦外侧牙面,每次几秒 -三、换成指套刷,再换成软毛牙刷 -四、重点刷外侧——舌头能处理内侧的一部分 - -每次不用久,30 秒到 1 分钟,重要的是频率。每周 2-3 次是底线,能每天最好。 - -【一定要用狗专用牙膏】 -人的牙膏含氟,狗会吞下去,长期有害。有些无糖产品含木糖醇,对狗是剧毒。 - -【刷牙之外的辅助】 -· 洁牙棒、洁齿玩具有一定帮助,但替代不了刷牙 -· 生骨头风险大(碎骨、崩牙、细菌),不建议自行尝试 -· 干粮比湿粮略好,但差别没有很多人以为的那么大 - -【什么时候需要洗牙】 -· 明显的黄褐色牙结石 -· 牙龈红肿、碰一下出血 -· 持续口臭 -· 咀嚼时偏向一侧、突然不肯啃硬的东西 -宠物洗牙需要全身麻醉,所谓"免麻醉洁牙"只能清除肉眼可见的表面结石,龈下部分处理不了,那才是牙周病的重点。`, - }, - { - Icon: "⚠️", Title: "夏天中暑、冬天防护,都别大意", - Description: "狗的散热方式和人完全不同,中暑死亡率很高。", - Category: "symptom", RelatedSheetType: "symptom", Published: true, - Content: `【夏天:中暑是真会致命的】 -狗几乎不靠皮肤排汗,主要靠喘气散热。环境闷热潮湿时这套系统效率极低。 - -高风险的情况: -· 短鼻犬(法斗、巴哥、斗牛、波士顿㹴)——气道结构决定了散热能力差 -· 肥胖犬、老年犬、有心肺问题的犬 -· 密闭车内——哪怕开一条缝、哪怕只有 10 分钟 - -中暑的表现:剧烈喘气停不下来、流大量口水、牙龈发红或发紫、走路摇晃、呕吐腹泻、意识不清。 - -现场处理: -· 立刻转移到阴凉通风处 -· 用常温水(不是冰水)打湿身体,重点是腹部、腋下、大腿内侧 -· 对着吹风 -· 同时联系医院,路上继续降温 -不要用冰水或冰袋,剧烈降温会导致血管收缩,反而妨碍散热。 - -即使现场缓过来了也要就医。中暑可能引发凝血障碍和多器官损伤,症状会延迟出现。 - -【冬天】 -· 短毛犬、小型犬、幼犬和老年犬需要保暖,长毛工作犬通常不用 -· 融雪剂对肉垫有腐蚀性,回家用温水擦干净爪子 -· 防冻液有甜味,对犬猫是剧毒,极少量就能致命,车库地面的积液要特别小心 -· 关节不好的老年犬冬天症状会加重,缩短单次遛狗时长 - -【全年】 -车内、阳台、封闭房间,这三个地方的温度变化都比你以为的快。`, - }, - - // ── 通用 ── - { - Icon: "⚖️", Title: "体重怎么称、趋势怎么看?", - Description: "单次数字没什么意义,一条曲线能救命。", - Category: "weight", RelatedSheetType: "weight", Published: true, - Content: `体重是家里能做的成本最低、信息量最大的健康监测。 - -【怎么称】 -· 小型犬猫:抱着一起站上体重秤,再减去你自己的体重。误差有限但足够看趋势 -· 中大型犬:宠物医院一般都有专用秤,去打疫苗时顺手称 -· 关键是每次条件一致:同一个秤、大致同一时间(比如都在早餐前) - -【多久称一次】 -· 幼年期:每周 1-2 次,稳定增长是发育正常的直接证据 -· 成年期:每月一次 -· 老年期:每两周一次 - -【怎么判断胖瘦】 -比数字更实用的是体况评分: -· 用手轻轻摸肋骨,能清楚摸到、但看不见明显轮廓——标准 -· 要用力按才摸得到——偏胖 -· 隔着皮就是骨头、腰部凹陷明显——偏瘦 -· 从上往下看有腰线,从侧面看腹部上收 - -【什么样的变化要在意】 -· 半年内体重变化超过 10%,无论增减 -· 吃得不少却在掉秤——查甲亢、糖尿病、寄生虫、肿瘤 -· 体重不变但腹部变大——可能是腹水或器官肿大 - -App 的体重趋势图点任意一个点都能看到当次备注。称完顺手写一句"换粮第三天"或者"最近运动少了",几个月后这些备注比数字本身更有用。`, - }, - { - Icon: "🛡️", Title: "驱虫:体内体外分别多久一次?", - Description: "只在室内也要驱虫,这是最常见的误解。", - Category: "medicine", RelatedSheetType: "medicine", Published: true, - Content: `【体内驱虫】 -· 6 月龄前:每月一次 -· 6 月龄后:一般每 3 个月一次 -· 会接触生食、经常外出、家里有小孩的,可能需要更频繁,听医生的 - -【体外驱虫(跳蚤、蜱虫、螨虫)】 -· 通常每月一次 -· 蜱虫活跃的季节和地区(草地、灌木、郊外)不能省 -· 狗因为遛弯接触环境多,风险明显高于猫 - -【"我家猫从不出门也要驱虫吗"】 -要。跳蚤卵可以被你的鞋底、裤脚带回家;蚊子能进屋,而蚊子是心丝虫的传播媒介;家里其他宠物出门也会带回来。纯室内猫的驱虫频率可以和医生商量放宽,但不是不做。 - -【用药注意】 -· 剂量按体重,幼小动物必须用对应规格的产品 -· 犬用产品绝对不能给猫用——某些成分(如高浓度拟除虫菊酯)对猫有致命毒性,这是每年都在发生的事故 -· 滴剂滴在颈后舔不到的位置,用药后 48 小时内不洗澡 -· 具体产品和剂量请遵兽医处方,本文不提供用药建议 - -【记录很重要】 -驱虫是典型的"做完就忘"的事。在 App 里设好提醒,用药当天记一笔,下次到期自动提醒你。 - -【驱虫后的正常反应】 -少数动物会有短暂的食欲下降或软便。持续超过 2 天,或出现呕吐、抽搐、皮肤严重红肿,立刻联系医院。`, - }, - { - Icon: "💊", Title: "绝育:什么时候做、有什么影响?", - Description: "一篇讲清收益、风险和时间点的实用参考。", - Category: "care", RelatedSheetType: "", Published: true, - Content: `【时间点】 -· 猫:通常 6-8 月龄,部分医院会更早 -· 小型犬:6-9 月龄 -· 大型犬:建议 12-18 月龄,等骨骼发育接近完成——过早绝育与部分大型犬的关节问题和某些肿瘤风险相关 -具体时间和你的医生商量,品种、体型和个体发育情况都会影响判断。 - -【明确的好处】 -· 母猫母犬:显著降低乳腺肿瘤风险(越早做降低越明显),杜绝子宫蓄脓——后者是中老年未绝育母犬的常见急症,会致命 -· 公猫:大幅减少喷尿标记、离家出走和打架,降低外伤和传染病风险 -· 公犬:消除睾丸肿瘤风险,减少前列腺问题 - -【要有心理准备的部分】 -· 代谢率下降,术后食量不调整很容易发胖。这是最普遍的副作用,也是最好控制的——减少 10-20% 的喂食量并保持运动 -· 极少数母犬可能出现激素相关的尿失禁,可治疗 -· 手术本身有麻醉风险,虽然在正规医院很低 - -【术后护理】 -· 伊丽莎白圈或术后服要戴满,舔舐是伤口感染和裂开的主要原因 -· 控制活动量,别让它跳上跳下 -· 每天看一眼伤口:红肿加重、渗液、有异味要马上回院 -· 按医嘱复诊拆线 - -【不绝育的选择】 -如果不打算绝育,需要更严格的管理:母猫的发情周期会反复、未生育的母犬子宫蓄脓风险随年龄上升、公犬公猫的走失和打架风险更高。这不是"顺其自然"就能省心的选项。`, - }, - { - Icon: "⚠️", Title: "什么情况必须立刻去医院?", - Description: "把这张清单存下来,别在慌乱时才判断。", - Category: "symptom", RelatedSheetType: "symptom", Published: true, - Content: `下面这些情况不要"再观察观察",直接去医院,很多是以小时计的。 - -【呼吸和意识】 -· 呼吸困难:张口呼吸(猫张口呼吸几乎总是急症)、腹部用力起伏、牙龈发白发紫 -· 昏迷、抽搐、站不起来 -· 持续超过 2 分钟的抽搐,或短时间内反复抽搐 - -【排泄】 -· 公猫排不出尿(见《公猫尿闭》一文) -· 持续呕吐或腹泻超过 24 小时,尤其伴随精神差 -· 呕吐物或粪便带血、呈黑色柏油样 -· 干呕但吐不出东西、腹部胀大——大型深胸犬要警惕胃扭转,这是几小时内致命的急症 - -【外伤和中毒】 -· 车祸、高处坠落——即使外表看不出伤也要检查内出血 -· 误食:巧克力、木糖醇、葡萄葡萄干、洋葱大蒜、百合(对猫致命)、防冻液、老鼠药、人用药物 -· 误食异物:绳线类尤其危险,猫吞线后不要试图往外拽 - -【体温和状态】 -· 中暑表现(见《夏天中暑》一文) -· 体温过低、身体发凉、牙龈苍白 -· 难产:母犬母猫开始用力超过 30 分钟没有产出 - -【眼睛】 -· 眼球突出、角膜浑浊、眼睛突然睁不开或大量分泌物——眼科问题恶化很快 - -【去之前可以做的】 -· 先打电话,让医院准备 -· 记下发生时间、可能误食的东西及分量、异常持续多久 -· 用 App 的"就医前摘要"把体重、疫苗驱虫记录和近期异常一次带齐 - -本文只帮你判断"要不要立刻走",具体诊断和处理请交给医生。`, - }, - { - Icon: "📄", Title: "去医院前,先准备好这些", - Description: "医生问的问题你答得上来,诊断效率完全不同。", - Category: "care", RelatedSheetType: "", Published: true, - Content: `一次高效的就诊,一半取决于你能提供多少信息。医生看不到过去一周发生了什么,只能靠你说。 - -【提前整理好的信息】 -· 品种、年龄、性别、是否绝育 -· 当前体重,以及最近的体重变化 -· 疫苗和驱虫记录:打了什么、什么时候打的 -· 长期用药:药名、剂量、用了多久 -· 既往病史和过敏史 - -【关于这次异常】 -· 什么时候开始的(具体到天,能到小时更好) -· 频率:一天几次、有没有加重 -· 有没有诱因:换粮、搬家、家里来人、接触过什么 -· 食欲、饮水、排便排尿有没有变化 -· 精神状态和活动量的变化 - -【建议带上的东西】 -· 新鲜粪便样本(怀疑消化道或寄生虫问题时)——装在干净容器里,冷藏可保存几小时 -· 呕吐物、异常排泄物的照片——比描述准确得多 -· 视频:抽搐、跛行、异常呼吸这类间歇性症状,到了医院常常"表演不出来",视频是最有力的证据 -· 之前的化验单和病历 - -【携带方式】 -· 猫必须用航空箱,不要抱着或用牵引绳,医院环境陌生,受惊的猫窜出去很危险 -· 箱子里铺上它熟悉的毛巾,能减少应激 -· 盖一块布遮住视线,猫会安定很多 - -【在 App 里】 -"记录 → 摘要"能直接生成一份就医前摘要,把体重趋势、疫苗驱虫记录和近期异常整理成一段文字,出门前截图或复制给医生看。`, - }, - { - Icon: "💰", Title: "养一只宠物一年要花多少钱?", - Description: "一份可以照着做预算的开销清单。", - Category: "cost", RelatedSheetType: "cost", Published: true, - Content: `具体金额因城市、品种和消费习惯差异很大,这里给的是结构和相对比例,帮你把预算搭起来。 - -【第一年:一次性支出比较集中】 -· 疫苗:猫三针 + 狂犬,犬 2-3 针联苗 + 狂犬 -· 驱虫:前 6 个月每月一次,之后每季一次 -· 绝育:单笔里较大的一项,母比公贵 -· 装备:猫砂盆、猫爬架、航空箱、牵引绳、食盆水碗、窝 -· 首次体检 - -【每年的固定支出】 -· 主粮:占日常开销的大头,按体重和品牌差异大 -· 猫砂(猫):仅次于粮的固定消耗 -· 驱虫:体内每季一次、体外每月一次 -· 年度疫苗加强 -· 零食、玩具、日用消耗品 - -【容易被低估的部分】 -· 医疗:这是方差最大的一项。一次肠胃炎、一次外伤、一次牙科处理,单次就可能超过全年粮费 -· 老年后的慢病管理:处方粮 + 长期用药 + 定期复查,是持续性支出 -· 寄养:出差和长假,按天计费 -· 洗澡美容:长毛犬猫是固定支出 - -【建议的做法】 -一、按月记账。App 的"消费"记录支持按类别统计,月底在成长报告里能看到钱花在了哪里。 -二、单独留一笔应急医疗金。多数人低估的不是日常开销,而是突发医疗。 -三、宠物保险可以考虑,但要看清条款:等待期、既往症除外、报销比例和年度上限。 - -真正的建议是:在决定养之前,把"一次三五千的突发医疗"当成必然会发生的事来做准备,而不是当成小概率事件。`, - }, - } -} diff --git a/pets-be/internal/database/seed.go b/pets-be/internal/database/seed.go index f615a87..521270d 100644 --- a/pets-be/internal/database/seed.go +++ b/pets-be/internal/database/seed.go @@ -8,16 +8,11 @@ import ( "github.com/sundynix/pets-be/internal/model" ) -// Seed 初始化种子数据:管理员账号 + 新手文章 +// Seed 初始化种子数据:只建管理员账号。 +// 文章这类内容数据不放代码里——正文几百字塞进 Go 源文件,既看不清也 +// 没法在后台改完再同步回来。上线时直接同步数据库。 func Seed(db *gorm.DB, cfg *config.Config) error { - if err := seedAdmin(db, cfg); err != nil { - return err - } - if err := seedArticles(db); err != nil { - return err - } - // 早期版本 seed 出来的文章没有正文,这里补上(不覆盖已在后台编辑过的) - return backfillArticleContent(db) + return seedAdmin(db, cfg) } func seedAdmin(db *gorm.DB, cfg *config.Config) error { @@ -38,174 +33,3 @@ func seedAdmin(db *gorm.DB, cfg *config.Config) error { Role: "admin", }).Error } - -// 按标题补齐:库里没有的才插入。这样以后往内置清单里加文章, -// 老库启动时也能自动拿到新的,而管理员改过或删掉的不会被复活…… -// 删掉的会被复活是这个做法的代价,所以只在标题完全不存在时插。 -func seedArticles(db *gorm.DB) error { - all := append(builtinArticles(), moreArticles()...) - var titles []string - if err := db.Model(&model.Article{}).Pluck("title", &titles).Error; err != nil { - return err - } - exists := make(map[string]bool, len(titles)) - for _, t := range titles { - exists[t] = true - } - var missing []model.Article - for _, a := range all { - if !exists[a.Title] { - missing = append(missing, a) - } - } - if len(missing) == 0 { - return nil - } - return db.Create(&missing).Error -} - -// backfillArticleContent 给早期 seed 出来的空正文文章补内容(按标题匹配,只补空的,不覆盖已编辑过的) -func backfillArticleContent(db *gorm.DB) error { - for _, a := range builtinArticles() { - if err := db.Model(&model.Article{}). - Where("title = ? AND (content IS NULL OR content = '')", a.Title). - Updates(map[string]any{"content": a.Content, "description": a.Description}).Error; err != nil { - return err - } - } - return nil -} - -// builtinArticles 内置新手文章。内容遵循与 AI 助手一致的安全护栏: -// 不做诊断、不给药物剂量,异常一律说明何时就医。 -func builtinArticles() []model.Article { - return []model.Article{ - { - Icon: "💉", Title: "幼猫疫苗和驱虫怎么安排?", - Description: "疫苗针次、驱虫间隔和常见误区,看完顺手设个提醒。", - Category: "vaccine", RelatedSheetType: "vaccine", Published: true, - Content: `刚接回家的猫,疫苗和驱虫是最容易漏掉、也最不能漏的两件事。 - -【核心疫苗:猫三联】 -· 一般从 8 周龄左右开始,共打 3 针,每针间隔 3-4 周。 -· 之后每年加强 1 针。 -· 狂犬疫苗按当地规定接种,多数地区建议满 3 月龄后接种。 - -【接种前后注意】 -· 只有健康的猫才能打疫苗。有腹泻、打喷嚏、精神差时先缓一缓。 -· 接种前后一周不要洗澡、不要换粮、不要长途出行,减少应激。 -· 打完在医院观察 20-30 分钟,回家后再留意 24 小时。 -· 少数猫会精神略差或轻微发热,通常一两天缓解。 - -【驱虫】 -· 体内驱虫:幼猫期约每月 1 次,成年后每 3 个月 1 次。 -· 体外驱虫:出门或家里有狗时更要做,按产品说明周期。 -· 完全室内、不接触其他动物的成年猫可适当拉长间隔,但不要长期不做。 - -【常见误区】 -· 「猫不出门就不用打疫苗」——你的鞋底、衣物都可能带病原回家。 -· 「三针打完就一劳永逸」——每年仍需加强。 -· 「驱虫药随便买」——务必按体重选择,剂量以医生或说明书为准。 - -【什么时候要去医院】 -接种后出现持续呕吐、面部肿胀、呼吸急促、精神明显萎靡,请立即就医。 - -小程序里可以直接把下一针疫苗和驱虫时间设成提醒,到期会通知你。`, - }, - { - Icon: "💩", Title: "猫咪软便要不要去医院?", - Description: "先分清程度,学会记录观察,明确什么情况必须就医。", - Category: "symptom", RelatedSheetType: "symptom", Published: true, - Content: `软便很常见,但「常见」不等于「不用管」。关键是分清程度和持续时间。 - -【先看程度】 -· 成形但偏软、能捡起来:多数是饮食或轻微应激,可以先观察。 -· 糊状、不成形:需要留意,记录次数和颜色。 -· 水样、喷射状:脱水风险高,别拖。 - -【常见诱因】 -· 换粮太快(最常见):新旧粮要 7 天以上过渡。 -· 应激:刚到家、搬家、家里来客人。 -· 吃多了、吃了人食或零食过量。 -· 寄生虫:尤其是没做过驱虫的幼猫。 -· 着凉、毛球、食物不耐受。 - -【在家可以做的】 -· 记录:什么时候开始、一天几次、颜色形状、有没有带血或黏液。 -· 暂停新食物和零食,回到之前吃惯的粮。 -· 保证饮水,注意保暖。 -· 不要自行喂人用止泻药。 - -【出现这些情况,尽快就医】 -· 持续超过 24 小时没有好转; -· 便中带血、发黑,或有大量黏液; -· 伴随呕吐、不吃不喝、精神明显变差; -· 幼猫、老年猫或本身有基础病的猫——它们脱水很快,标准要更严。 - -【就医时带上什么】 -排便照片、开始时间、次数、近期饮食变化、驱虫和疫苗记录。小程序里的「异常观察」可以直接生成一份就医前摘要。 - -本文只提供观察思路,不能替代医生诊断。`, - }, - { - Icon: "🍽️", Title: "7 天换粮计划怎么做?", - Description: "按比例过渡,配合排便记录,把换粮的肠胃风险降到最低。", - Category: "food", RelatedSheetType: "applyPlan", Published: true, - Content: `直接换粮是软便的头号原因。正确做法是按比例、分阶段过渡。 - -【标准 7 天方案】 -· 第 1-2 天:新粮 25% + 旧粮 75% -· 第 3-4 天:新粮 50% + 旧粮 50% -· 第 5-6 天:新粮 75% + 旧粮 25% -· 第 7 天起:新粮 100% - -肠胃敏感、幼猫或老年猫,把周期拉长到 10-14 天更稳。 - -【过渡期要盯什么】 -· 每天记录排便状态:成形 / 软便 / 拉稀。 -· 食欲有没有下降,有没有呕吐。 -· 一旦出现软便:退回上一个比例,稳定 2-3 天再往前推,别硬推。 - -【几个细节】 -· 一次只换一种变量。别同时换粮又换猫砂、又带去洗澡。 -· 新旧粮要拌匀,不然它会挑出爱吃的。 -· 换粮期间别加新零食,否则出问题分不清是谁的锅。 -· 湿粮开封后冷藏并尽快吃完,别放到下一顿还常温摆着。 - -【什么时候暂停换粮去看医生】 -拉稀持续超过 24 小时、便中带血、频繁呕吐或精神变差,先就医,别继续过渡。 - -在小程序里每天记一次「饮食」和「便便」,7 天后能直接看到这次换粮顺不顺。`, - }, - { - Icon: "💰", Title: "一个月养猫大概花多少钱?", - Description: "拆开算固定支出和一次性支出,重点是留出医疗备用金。", - Category: "cost", RelatedSheetType: "cost", Published: true, - Content: `养猫的花销差异很大,但结构是固定的。看清结构再决定预算。 - -【每月固定支出】 -· 猫粮:口粮占大头,按体重和粮的档次浮动。 -· 猫砂:用量比想象中大,膨润土和豆腐砂消耗速度不同。 -· 零食 / 营养品:可选,不是必需。 - -【周期性支出】 -· 驱虫:体内体外,按周期。 -· 疫苗:幼猫第一年针次多,之后每年一次。 -· 体检:成年猫每年 1 次,老年猫建议每半年 1 次。 - -【一次性支出(第一年)】 -猫砂盆、猫窝、food/水碗、猫爬架、航空箱、指甲剪、梳子;绝育是第一年最大的一笔。 - -【最容易被低估的一项:医疗】 -真正让预算失控的从来不是猫粮,是突发医疗。常见的口炎、尿闭、异物、肾病,一次就可能超过全年口粮开销。 - -建议:单独留一笔医疗备用金,或了解一下宠物医疗保险。这比省几十块钱的粮重要得多。 - -【怎么省得聪明】 -· 该省:花哨玩具、频繁换的网红零食。 -· 不该省:口粮质量、驱虫疫苗、该做的体检——省这些通常是把钱挪到医疗账单上。 - -在小程序里每次消费顺手记一笔,月底就能看到自己的真实结构,比拍脑袋估算准得多。`, - }, - } -}