// ==UserScript== // @name 综合素质评价5界面填充工具(悬浮窗口版) // @namespace http://tampermonkey.net/ // @version 5.0 // @description 适配5个界面(思想品德/研究性学习/运动经历/艺术素养/社会实践),自动识别界面并显示对应填充方案 // @author 刘仁驰(请保留版权,谢谢合作) // @match https://pjxt.lnen.cn/content/student/studentSxpd.jsp // @match https://pjxt.lnen.cn/content/student/studentYjxDetail.jsp // @match https://pjxt.lnen.cn/content/student/studentSport.jsp // @match https://pjxt.lnen.cn/content/student/studentYssz.jsp // @match https://pjxt.lnen.cn/content/student/studentShsj.jsp // @grant none // ==/UserScript== (function() { 'use strict'; // -------------------------- 核心配置:5个界面的字段定位+填充方案 -------------------------- const INTERFACE_CONFIG = { // 界面1:学生思想品德信息 studentSxpd: { url: "studentSxpd.jsp", title: "学生思想品德信息填充方案", fields: { semester: "xq_sxpd", activityType: "hdlb_sxpd", activityForm: "hdxs_sxpd", activityTheme: "hdzt_sxpd", orgUnit: "zzdw_sxpd", activityStartTime: "hdksrq_sxpd", activityEndTime: "hdjsrq_sxpd", activityHour: "hdsc_sxpd", activityPlace: "hddd_sxpd", taskRole: "cdrw_sxpd", prover: "zmr_sxpd", activityRecord: "hdjs_sxpd", saveBtn: "saveButton" }, plans: { plan1: { name: "方案1:社区敬老志愿服务", semester: "高二上学期", activityType: "志愿服务", activityForm: "集体活动", activityTheme: "“情暖夕阳”社区敬老志愿服务", orgUnit: "学校志愿者协会", activityStartTime: "2025-10-26", activityEndTime: "2025-10-26", activityHour: "3", activityPlace: "XX街道幸福养老院", taskRole: "参与者", prover: "张老师", activityRecord: "本次志愿服务中,我负责为养老院老人打扫房间、整理生活用品,陪老人读报纸、聊家常。通过与老人交流,我了解到他们的生活现状和精神需求,深刻体会到“老吾老以及人之老”的内涵。打扫时,我学会了耐心细致地处理细节;倾听老人的人生故事时,我收获了宝贵的人生经验。这次活动让我明白,志愿服务不仅是付出,更是自我成长的过程,也让我树立了更强的社会责任感,今后会持续参与敬老爱老活动。" }, plan2: { name: "方案2:校园环保公益劳动", semester: "高二上学期", activityType: "公益劳动", activityForm: "集体活动", activityTheme: "“绿色校园”环保公益劳动", orgUnit: "学校德育处", activityStartTime: "2025-11-08", activityEndTime: "2025-11-08", activityHour: "2.5", activityPlace: "学校教学楼广场及周边绿地", taskRole: "组织者", prover: "李老师", activityRecord: "作为活动组织者,我牵头策划了校园环保劳动方案,组织班级同学清理校园垃圾、分类回收可利用物资,并在绿地种植小树苗。活动中,我负责分配任务、协调工具,带领大家分工合作:有的清理白色垃圾,有的整理落叶,有的给新种树苗浇水。通过这次公益劳动,我提升了统筹协调能力,也深刻体会到“劳动最光荣”的意义。看到整洁的校园和嫩绿的树苗,我明白环保需要从点滴行动做起,今后会带动身边人共同维护校园环境,践行绿色生活理念。" }, plan3: { name: "方案3:红色研学党团活动", semester: "高二上学期", activityType: "党团活动", activityForm: "集体活动", activityTheme: "“追寻红色足迹”革命圣地研学活动", orgUnit: "学校党支部", activityStartTime: "2025-11-15", activityEndTime: "2025-11-15", activityHour: "4", activityPlace: "XX革命纪念馆", taskRole: "参与者", prover: "刘老师", activityRecord: "在革命纪念馆研学活动中,我跟随讲解员参观了历史展区,认真聆听革命先辈的战斗故事,观看了珍贵的历史照片和实物。作为入党积极分子,我在活动中担任小组记录员,整理了研学笔记,并在分享环节交流了自己对“红色精神”的理解。通过这次党团活动,我深刻认识到今天的幸福生活来之不易,是无数革命先烈用鲜血和生命换来的。红色文化的熏陶让我坚定了理想信念,今后我会以先辈为榜样,努力学习、报效祖国,积极向党组织靠拢,将红色精神传承下去。" }, plan4: { name: "方案4:校园社团文化宣传", semester: "高二上学期", activityType: "社团活动", activityForm: "集体活动", activityTheme: "“文化传承”校园书法社团宣传活动", orgUnit: "学校书法社团", activityStartTime: "2025-10-12", activityEndTime: "2025-10-12", activityHour: "3", activityPlace: "学校图书馆大厅", taskRole: "组织者", prover: "王老师", activityRecord: "作为书法社团社长,我策划了本次文化宣传活动,旨在弘扬中华优秀传统文化。活动中,我组织社团成员展示书法作品、现场书写示范,并为师生讲解书法基础知识和执笔技巧。我负责统筹活动流程、接待咨询师生,累计为50余名同学提供了书法指导。通过这次社团活动,我提升了组织协调和沟通表达能力,也让更多同学感受到了书法艺术的魅力。看到大家对传统文化的热情,我更加坚定了传承和弘扬中华优秀传统文化的决心,今后会组织更多类似活动,丰富校园文化生活。" }, plan5: { name: "方案5:社区防疫志愿服务", semester: "高二上学期", activityType: "志愿服务", activityForm: "集体活动", activityTheme: "“守护家园”社区防疫志愿服务", orgUnit: "社区居委会", activityStartTime: "2025-09-20", activityEndTime: "2025-09-20", activityHour: "4", activityPlace: "XX社区出入口及核酸检测点", taskRole: "参与者", prover: "陈老师", activityRecord: "本次防疫志愿服务中,我负责在社区出入口查验健康码、测量体温,并引导居民有序进行核酸检测。活动期间,我耐心解答居民疑问,协助老年人操作手机扫码,维持现场秩序。虽然工作繁琐且需要长时间站立,但看到社区居民的理解和配合,我感受到了志愿服务的价值。通过这次活动,我学会了换位思考、委婉沟通,也深刻体会到防疫工作者的不易。这次经历让我增强了社会责任感和担当精神,今后在需要的时候,我会毫不犹豫地再次投身志愿服务,为社会贡献自己的一份力量。" }, plan6: { name: "方案6:校园文明督导公益劳动", semester: "高二上学期", activityType: "公益劳动", activityForm: "集体活动", activityTheme: "“文明校园”行为规范督导公益劳动", orgUnit: "学校学生会", activityStartTime: "2025-10-01", activityEndTime: "2025-10-01", activityHour: "2", activityPlace: "学校食堂、教学楼走廊及操场", taskRole: "督导员", prover: "赵老师", activityRecord: "作为文明督导员,我参与了本次校园文明规范督导公益劳动。活动中,我负责引导同学遵守食堂就餐秩序、杜绝餐饮浪费,提醒大家保持教学楼走廊安静整洁,劝阻操场内的不文明行为。我耐心向同学宣传文明校园的重要性,协助保洁阿姨清理散落垃圾,整理操场健身器材。通过这次活动,我学会了礼貌劝阻、换位思考,也发现身边同学的文明意识在逐步提升。督导工作虽然琐碎,但能为营造良好的校园环境贡献力量,让我感受到“小事坚持做”的意义。今后我会继续以身作则,带动更多同学参与文明校园建设,共同维护整洁、有序、文明的校园氛围。" } } }, // 界面2:学生研究性学习 studentYjxDetail: { url: "studentYjxDetail.jsp", title: "学生研究性学习填充方案", fields: { semester: "xqid_yjx", subjectType: "lx_yjx", startTime: "qirq_yjx", endTime: "zhirq_yjx", subjectName: "kcmc_yjx", orgForm: "zzxs_yjx", partner: "hzhb_yjx", myTask: "brcdrw_yjx", background: "xtbjyy_yjx", summary: "yjnrzy_yjx", resultForm: "cgcxxs_yjx", studyHour: "xszs_yjx", credit: "xf_yjx", saveBtn: "saveButton" }, plans: { plan1: { name: "方案1:校园垃圾分类现状及优化建议", semester: "高二上学期", subjectType: "课题研究", startTime: "2025-09-10", endTime: "2025-12-20", subjectName: "校园垃圾分类现状调查及优化建议研究", orgForm: "小组合作", partner: "张三、李四、王五", myTask: "负责实地调研数据收集、垃圾分类知识普及问卷设计与发放,整理调研结果并撰写优化建议部分。", background: "随着环保意识的提升,垃圾分类成为校园文明建设的重要内容。但目前校园内存在垃圾分类标识不清晰、学生分类意识薄弱、回收体系不完善等问题,影响了垃圾分类的实际效果。为改善这一现状,我们小组决定开展本次研究,通过实地调研、问卷分析等方式,找出问题根源并提出可行的优化建议。", summary: "本研究通过实地观察、问卷调查、访谈等方法,对校园垃圾分类现状进行了全面调研。发现校园垃圾分类主要存在标识不统一、投放点布局不合理、学生分类知识匮乏、回收处理不及时等问题。基于调研结果,提出了优化垃圾分类标识系统、合理布局投放点、开展分类知识宣传活动、建立长效监督机制等建议,为校园垃圾分类工作的完善提供了参考。", resultForm: "研究报告+PPT展示+垃圾分类宣传手册", studyHour: "60", credit: "2" }, plan2: { name: "方案2:校园植物多样性调查与应用", semester: "高二下学期", subjectType: "课题研究", startTime: "2026-03-05", endTime: "2026-06-15", subjectName: "校园植物多样性调查及绿化应用研究", orgForm: "小组合作", partner: "赵六、孙七、周八", myTask: "负责植物种类识别、分布区域绘图,收集植物生长习性资料,撰写植物绿化应用建议。", background: "校园植物不仅具有美化环境、净化空气的作用,还能为师生提供良好的学习生活氛围。但目前师生对校园内植物种类了解较少,部分植物布局不合理,未能充分发挥其生态和教育价值。因此,我们开展本次研究,旨在摸清校园植物资源现状,为校园绿化优化和植物科普教育提供支持。", summary: "本研究采用实地踏查法,对校园内植物种类、数量、分布区域进行了全面调查,共识别出植物32种,其中乔木15种、灌木10种、草本7种。通过分析植物生长习性和校园环境特点,发现部分植物存在生长空间不足、病虫害影响等问题。提出了按植物生态习性合理布局、增设植物科普标识牌、开展校园植物认养活动等建议,促进校园植物资源的保护与合理利用。", resultForm: "研究报告+校园植物分布图+科普海报", studyHour: "55", credit: "2" }, plan3: { name: "方案3:中学生手机使用现状及合理管控研究", semester: "高二上学期", subjectType: "课题研究", startTime: "2025-10-08", endTime: "2026-01-15", subjectName: "中学生手机使用现状、影响及合理管控策略研究", orgForm: "小组合作", partner: "吴九、郑十、王十一", myTask: "负责设计调查问卷,对不同年级学生进行抽样调查,统计分析数据并撰写手机使用影响部分。", background: "随着智能手机的普及,中学生手机使用日益普遍。手机在为学生学习和生活带来便利的同时,也出现了沉迷游戏、上课玩手机、影响视力和睡眠等问题,引发了学校和家长的广泛关注。为了解中学生手机使用的真实情况,分析其积极与消极影响,探索合理的管控策略,我们开展了本次研究。", summary: "本研究通过问卷调查、访谈和文献研究等方法,对300名中学生的手机使用现状进行了调查。结果显示,85%的学生拥有个人手机,60%的学生每天使用手机超过2小时,主要用于社交、娱乐和学习。手机使用对学生的学习效率、视力健康和人际交往产生了一定影响。基于研究结果,提出了学校制定合理手机管理规定、家长加强引导监督、学生提高自我管控能力等多维度管控策略。", resultForm: "研究报告+访谈记录+手机使用建议手册", studyHour: "65", credit: "2" }, plan4: { name: "方案4:简易太阳能充电宝设计与制作", semester: "高二下学期", subjectType: "项目设计", startTime: "2026-04-10", endTime: "2026-07-05", subjectName: "简易太阳能充电宝的设计与制作", orgForm: "小组合作", partner: "刘十二、陈十三、杨十四", myTask: "负责电路设计、元器件选型与采购,参与充电宝组装和性能测试。", background: "在户外学习、旅行等场景中,手机等电子设备电量不足是常见问题。太阳能作为清洁可再生能源,具有广泛的应用前景。为解决户外充电难题,我们决定设计制作一款简易太阳能充电宝,既锻炼动手实践能力,又能满足实际使用需求,同时传播绿色能源理念。", summary: "本项目通过查阅资料、方案论证,确定了太阳能充电宝的总体设计方案,包括太阳能电池板选型、充电控制电路设计、电池组选择等。选用10W单晶硅太阳能电池板,配备5000mAh锂电池,设计了充放电保护电路。经过多次试验和优化,成功制作出一款简易太阳能充电宝,在阳光下照射4小时可充满手机电量,具有便携、环保、实用的特点。", resultForm: "实物作品+设计说明书+制作过程视频", studyHour: "70", credit: "3" }, plan5: { name: "方案5:校园节水装置改进设计", semester: "高二上学期", subjectType: "项目设计", startTime: "2025-11-05", endTime: "2026-02-20", subjectName: "校园卫生间节水装置的改进设计与应用", orgForm: "小组合作", partner: "黄十五、林十六、张十七", myTask: "负责现状调研、节水装置原理研究,参与改进方案设计和原型制作。", background: "水资源短缺是全球性问题,校园作为用水大户,节水潜力巨大。目前校园卫生间的水龙头和冲水装置存在漏水、用水量过大等问题,造成了水资源的浪费。为响应节水号召,降低校园用水成本,我们决定开展校园节水装置改进设计项目,设计一款高效、实用的节水装置。", summary: "本项目通过对校园卫生间用水现状的调研,发现水龙头滴漏和冲水装置耗水量大是主要节水痛点。基于流体力学原理,设计了两种改进方案:一是在水龙头加装限流阀,控制出水流量;二是优化冲水装置的冲水结构,实现按需冲水。制作了原型装置并进行了测试,结果显示,改进后的节水装置可使水龙头用水量减少30%,冲水装置用水量减少40%,节水效果显著。", resultForm: "原型作品+改进设计报告+节水效果测试数据", studyHour: "58", credit: "2" }, plan6: { name: "方案6:校园二手物品交易平台设计", semester: "高二下学期", subjectType: "项目设计", startTime: "2026-03-20", endTime: "2026-06-30", subjectName: "校园二手物品交易平台(小程序)设计与开发", orgForm: "小组合作", partner: "赵十八、吴十九、郑二十", myTask: "负责需求分析、功能模块设计,参与小程序界面设计和测试。", background: "校园内学生之间存在大量闲置物品(如书籍、文具、电子产品等),这些物品丢弃可惜,转让困难。为促进资源循环利用,减少浪费,同时为学生提供便捷的二手交易渠道,我们决定设计开发一款校园二手物品交易小程序,满足学生的交易需求。", summary: "本项目通过问卷调查了解学生二手交易需求,确定了小程序的核心功能:物品发布、搜索浏览、在线沟通、交易担保等。采用微信小程序开发框架,设计了简洁易用的界面,实现了用户注册登录、物品发布与管理、订单处理等功能。小程序支持按物品类别、价格等条件筛选,方便用户快速找到所需物品,为校园二手交易提供了安全、便捷的平台。", resultForm: "小程序成品+需求分析报告+开发文档", studyHour: "75", credit: "3" } } }, // 界面3:运动经历和水平信息 studentSport: { url: "studentSport.jsp", title: "运动经历和水平信息填充方案", fields: { sportItem: "ydxm_sport", awardLevel: "hjjb_sport", semester: "xqid_sport", projectName: "xmmc_sport", startTime: "qirq_sport", endTime: "zhirq_sport", activityPlace: "hddd_sport", organizer: "zbdw_sport", sportResult: "ydcj_sport", prover: "zmr_sport", projectRecord: "xmjs_sport", saveBtn: "saveButton" }, plans: { plan1: { name: "方案1:校运会100米短跑项目", sportItem: "田径", awardLevel: "学校", semester: "高二上学期", projectName: "学校第20届运动会100米短跑", startTime: "2025-10-28", endTime: "2025-10-28", activityPlace: "学校田径场", organizer: "学校体育组", sportResult: "第三名", prover: "李老师", projectRecord: "为备战校运会100米短跑项目,我坚持了两个月的系统训练,每天早晚利用课余时间进行爆发力、速度和耐力训练。训练过程中,我克服了肌肉酸痛、疲劳等困难,不断调整跑步姿势和呼吸节奏。比赛当天,我全力以赴,凭借稳定的发挥进入决赛,并最终获得第三名的成绩。通过这次比赛,我不仅提升了运动技能,还培养了坚韧不拔的意志品质和团队协作精神,深刻体会到“一分耕耘,一分收获”的道理。" }, plan2: { name: "方案2:市级中学生篮球联赛", sportItem: "球类", awardLevel: "市级", semester: "高二下学期", projectName: "2026年市级中学生篮球联赛", startTime: "2026-04-15", endTime: "2026-05-20", activityPlace: "市体育中心篮球馆", organizer: "市教育局、市体育局", sportResult: "团体二等奖", prover: "王教练", projectRecord: "作为校篮球队的后卫,我参与了2026年市级中学生篮球联赛。赛前三个月,我们团队进行了高强度的集训,包括体能训练、技术训练和战术配合训练。我主要负责组织进攻、传球和外线投篮,在训练中不断提升自己的传球视野和投篮稳定性。联赛中,我们先后战胜了6支队伍,晋级半决赛。决赛中,虽然我们遗憾落败,但凭借顽强的拼搏精神获得了团体二等奖。这次比赛让我感受到了团队协作的重要性,也积累了宝贵的大赛经验。" }, plan3: { name: "方案3:区级游泳锦标赛自由泳项目", sportItem: "游泳", awardLevel: "区县", semester: "高二上学期", projectName: "2025年区级中学生游泳锦标赛50米自由泳", startTime: "2025-12-05", endTime: "2025-12-06", activityPlace: "区游泳馆", organizer: "区教育局、区体育局", sportResult: "第二名", prover: "张教练", projectRecord: "我从初中开始学习游泳,自由泳是我的强项。为参加区级游泳锦标赛,我制定了详细的训练计划,每周训练4次,重点提升划水效率和转身速度。训练中,我注重技术细节的打磨,不断纠正自己的呼吸节奏和身体姿态。比赛中,我凭借流畅的动作和稳定的节奏,在预赛中以小组第一晋级决赛。决赛中,我发挥出色,最终以0.5秒的微弱差距获得第二名。这次比赛让我明白,只有不断突破自我,才能取得更好的成绩,同时也培养了我的竞争意识和抗压能力。" }, plan4: { name: "方案4:校园武术套路比赛", sportItem: "武术", awardLevel: "学校", semester: "高二下学期", projectName: "校园武术文化节套路比赛(长拳)", startTime: "2026-06-10", endTime: "2026-06-10", activityPlace: "学校体育馆", organizer: "学校德育处、体育组", sportResult: "一等奖", prover: "刘教练", projectRecord: "我从小学习武术,长拳是我的拿手套路。为参加校园武术文化节比赛,我提前一个月进行专项训练,每天放学后练习套路动作、基本功和体能。训练中,我注重动作的规范性、连贯性和精气神的展现,不断打磨每个细节。比赛当天,我身着武术服,精神饱满地完成了整套动作,动作舒展大方、刚劲有力,赢得了评委的一致好评,最终获得一等奖。通过这次比赛,我不仅展示了自己的武术功底,还弘扬了中华传统武术文化,增强了文化自信。" }, plan5: { name: "方案5:省级中学生羽毛球单打比赛", sportItem: "球类", awardLevel: "省级", semester: "高二上学期", projectName: "2025年省级中学生羽毛球单打比赛", startTime: "2025-11-18", endTime: "2025-11-22", activityPlace: "省体育中心羽毛球馆", organizer: "省教育厅、省体育局", sportResult: "第八名", prover: "陈教练", projectRecord: "作为学校羽毛球校队成员,我有幸参加了省级中学生羽毛球单打比赛。赛前,我进行了为期两个月的封闭训练,针对自己的技术短板进行强化训练,提升发球、接发球和网前小球技术。比赛中,我面对来自全省各地的优秀选手,沉着冷静,充分发挥自己的技术水平,先后战胜了3名对手,成功晋级八强。虽然在四分之一决赛中落败,但这次比赛让我开阔了眼界,认识到了自己的不足,也积累了宝贵的大赛经验,为今后的训练和比赛指明了方向。" }, plan6: { name: "方案6:校园跳绳团体赛", sportItem: "其他", awardLevel: "学校", semester: "高二下学期", projectName: "校园春季运动会跳绳团体赛(8人长绳)", startTime: "2026-04-28", endTime: "2026-04-28", activityPlace: "学校操场", organizer: "学校体育组", sportResult: "一等奖", prover: "赵老师", projectRecord: "我所在的班级组建了8人长绳队,参加校园春季运动会跳绳团体赛。为了取得好成绩,我们团队利用课间和放学后的时间进行训练,每天训练1小时。训练中,我们重点练习跳绳的节奏配合、衔接技巧和耐力,不断调整队形和跳绳速度。经过一个月的刻苦训练,我们的配合越来越默契。比赛中,我们发挥稳定,在3分钟内跳绳320次,最终获得团体一等奖。这次比赛让我深刻体会到团队协作的重要性,只有每个人都齐心协力,才能发挥出团队的最大力量。" } } }, // 界面4:艺术素养信息 studentYssz: { url: "studentYssz.jsp", title: "艺术素养信息填充方案", fields: { artItem: "yslb_yssz", activityWay: "hdfs_yssz", awardLevel: "hjjb_yssz", activityName: "yshdmc_yssz", organizer: "zbdw_yssz", semester: "xqid_yssz", startTime: "qirq_yssz", endTime: "zhirq_yssz", activityPlace: "hddd_yssz", achievement: "qdcj_yssz", prover: "zmr_yssz", projectRecord: "xmjs_yssz", saveBtn: "saveButton" }, plans: { plan1: { name: "方案1:校园合唱比赛(声乐)", artItem: "音乐", activityWay: "艺术展演", awardLevel: "学校", activityName: "校园“青春之歌”合唱比赛", organizer: "学校艺术组、团委", semester: "高二上学期", startTime: "2025-12-15", endTime: "2025-12-15", activityPlace: "学校大礼堂", achievement: "一等奖", prover: "李老师", projectRecord: "我作为班级合唱队的领唱,参与了校园“青春之歌”合唱比赛。我们演唱的曲目是《我和我的祖国》,为了呈现最佳效果,我们利用课余时间进行了一个月的集中训练。训练中,我们重点练习发声技巧、声部配合和情感表达,我也不断提升自己的领唱水平,带领大家把握歌曲的节奏和情感。比赛当天,我们身着统一服装,精神饱满地完成了演唱,凭借和谐的和声、真挚的情感和出色的表现,赢得了评委和观众的阵阵掌声,最终获得一等奖。通过这次比赛,我不仅提升了自己的声乐水平,还增强了集体荣誉感和团队协作能力。" }, plan2: { name: "方案2:市级中学生绘画比赛(美术)", artItem: "美术", activityWay: "艺术创作", awardLevel: "市级", activityName: "2026年市级中学生“绿水青山”主题绘画比赛", organizer: "市教育局、市文联", semester: "高二下学期", startTime: "2026-03-20", endTime: "2026-05-10", activityPlace: "市美术馆", achievement: "二等奖", prover: "王老师", projectRecord: "我从小热爱绘画,擅长水彩画。为参加市级中学生“绿水青山”主题绘画比赛,我围绕“生态保护”这一核心主题,进行了为期一个半月的创作。创作过程中,我多次深入郊外写生,收集素材,不断调整画面构图和色彩搭配,力求通过画笔展现绿水青山的美丽景色和生态保护的重要性。我的作品《家园》以细腻的笔触、清新的色彩,描绘了一幅山水相依、人与自然和谐共生的画面。最终,作品获得市级二等奖。这次比赛让我提升了自己的绘画技巧和创作能力,也增强了我的环保意识和社会责任感。" }, plan3: { name: "方案3:校园舞蹈大赛(古典舞)", artItem: "舞蹈", activityWay: "艺术展演", awardLevel: "学校", activityName: "校园“舞动青春”舞蹈大赛", organizer: "学校艺术组、学生会", semester: "高二上学期", startTime: "2025-11-20", endTime: "2025-11-20", activityPlace: "学校体育馆", achievement: "一等奖", prover: "张老师", projectRecord: "我学习古典舞已有6年时间,这次我以独舞《采薇》参加校园“舞动青春”舞蹈大赛。为了在比赛中展现最佳状态,我提前两个月进行专项训练,每天练习基本功、舞蹈动作和情感表达,不断打磨每个细节。训练中,我克服了动作难度大、体能消耗大等困难,坚持每天训练2小时。比赛当天,我身着古典舞服装,伴随着悠扬的音乐,流畅地完成了整套动作,动作舒展优美、情感真挚动人,赢得了评委的高度评价,最终获得一等奖。通过这次比赛,我不仅提升了自己的舞蹈水平,还培养了坚韧不拔的意志品质。" }, plan4: { name: "方案4:区级中学生书法比赛(硬笔)", artItem: "书法", activityWay: "艺术创作", awardLevel: "区县", activityName: "2025年区级中学生“墨韵书香”硬笔书法比赛", organizer: "区教育局、区书协", semester: "高二下学期", startTime: "2026-04-10", endTime: "2026-05-20", activityPlace: "区青少年活动中心", achievement: "一等奖", prover: "刘老师", projectRecord: "我从小学开始练习硬笔书法,主攻楷书。为参加区级中学生“墨韵书香”硬笔书法比赛,我选择了范仲淹的《岳阳楼记》作为参赛作品,进行了为期一个半月的集中训练。训练中,我注重字体的结构、笔画的粗细和整体布局,每天练习3小时,不断提升自己的书写水平。比赛中,我沉着冷静,认真书写,作品字体工整、笔画流畅、布局合理,最终获得区级一等奖。通过这次比赛,我不仅展示了自己的书法功底,还感受到了中华传统文化的魅力,增强了文化自信和传承传统文化的责任感。" }, plan5: { name: "方案5:校园戏剧节(话剧表演)", artItem: "戏剧", activityWay: "艺术展演", awardLevel: "学校", activityName: "校园“青春剧场”戏剧节", organizer: "学校艺术组、语文组", semester: "高二上学期", startTime: "2025-10-25", endTime: "2025-10-25", activityPlace: "学校大礼堂", achievement: "最佳表演奖", prover: "陈老师", projectRecord: "我所在的小组编排了话剧《雷雨》片段,我在剧中饰演繁漪这一角色。为了演好这个角色,我认真研读剧本,分析人物性格和情感变化,利用课余时间进行台词背诵和表演练习。训练中,我和组员们不断打磨台词、调整表演细节,力求真实展现人物的内心世界。比赛当天,我们凭借精湛的演技、默契的配合和精良的舞台布置,赢得了评委和观众的一致好评,我也获得了“最佳表演奖”。通过这次戏剧节,我不仅提升了自己的表演能力和语言表达能力,还培养了团队协作精神和创新思维。" }, plan6: { name: "方案6:省级中学生摄影比赛", artItem: "影视", activityWay: "艺术创作", awardLevel: "省级", activityName: "2026年省级中学生“校园风采”摄影比赛", organizer: "省教育厅、省摄影家协会", semester: "高二下学期", startTime: "2026-03-15", endTime: "2026-06-10", activityPlace: "省科技馆", achievement: "三等奖", prover: "赵老师", projectRecord: "我热爱摄影,擅长捕捉校园生活中的美好瞬间。为参加省级中学生“校园风采”摄影比赛,我围绕“校园生活、师生情谊、青春活力”等主题,进行了为期两个月的拍摄。拍摄过程中,我利用课余时间,走遍校园的各个角落,捕捉课堂学习、体育锻炼、社团活动等精彩瞬间。我最终选送的作品《晨曦中的早读》,以温暖的色调、生动的画面,展现了中学生勤奋好学的精神风貌。作品最终获得省级三等奖。通过这次比赛,我不仅提升了自己的摄影技巧,还学会了用镜头发现美、记录美,增强了自己的观察力和审美能力。" } } }, // 界面5:学生社会实践 studentShsj: { url: "studentShsj.jsp", title: "学生社会实践填充方案", fields: { practiceType: "xmlb_shsj", practiceForm: "xmxs_shsj", practiceProject: "sjxm_shsj", orgUnit: "zzdw_shsj", semester: "xqid_shsj", startTime: "qirq_shsj", endTime: "zhirq_shsj", practiceDays: "sjts_shsj", practicePlace: "sjdd_shsj", partner: "cyhb_shsj", guideTeacher: "zdjs_shsj", practicePurpose: "sjmd_shsj", practiceContent: "sjnr_shsj", practiceProcess: "sjgcjcdrw_shsj", practiceResult: "sjcg_shsj", saveBtn: "saveButton" }, plans: { plan1: { name: "方案1:社区敬老社会实践", practiceType: "社会体验类", practiceForm: "社会服务", practiceProject: "“关爱空巢老人”社区敬老志愿服务", orgUnit: "XX街道XX社区居委会", semester: "高二上学期", startTime: "2025-10-01", endTime: "2025-10-07", practiceDays: "7", practicePlace: "XX街道XX社区", partner: "张三、李四、王五", guideTeacher: "李老师", practicePurpose: "关爱空巢老人,为老人提供生活照料和精神慰藉,弘扬尊老敬老的传统美德,增强社会责任感和服务意识。", practiceContent: "为社区空巢老人提供上门服务,包括打扫房间、清洗衣物、代购生活用品等;陪伴老人聊天、读报纸、讲解健康知识;为老人表演文艺节目,丰富老人的精神文化生活。", practiceProcess: "实践前,我们与社区居委会沟通,了解空巢老人的基本情况和需求,制定了详细的服务计划。实践期间,我们分成3个小组,每天为6位空巢老人提供服务。我负责陪伴老人聊天和讲解健康知识,耐心倾听老人的心声,为老人普及养生常识。在服务过程中,我学会了与老人沟通的技巧,也体会到了老人的孤独和对陪伴的渴望。我们还为老人组织了一场小型文艺表演,表演了歌曲、舞蹈等节目,赢得了老人的阵阵掌声。", practiceResult: "通过为期7天的敬老志愿服务,我们为18位空巢老人提供了帮助和陪伴,改善了老人的生活质量,丰富了老人的精神文化生活。同时,我们也提升了自己的社会交往能力和服务意识,深刻体会到尊老敬老的重要性,弘扬了传统美德。实践活动得到了社区居委会和老人的高度评价。" }, plan2: { name: "方案2:乡村教育帮扶社会实践", practiceType: "社会体验类", practiceForm: "社会服务", practiceProject: "“助力乡村教育”偏远地区小学帮扶实践", orgUnit: "学校团委、XX县XX乡中心小学", semester: "高二下学期", startTime: "2026-01-15", endTime: "2026-01-21", practiceDays: "7", practicePlace: "XX县XX乡中心小学", partner: "赵六、孙七、周八", guideTeacher: "王老师", practicePurpose: "为偏远地区小学生提供学习辅导和兴趣培养,帮助他们拓宽视野、提升能力,同时锻炼自己的实践能力和社会责任感。", practiceContent: "为小学生提供语文、数学、英语等学科的学习辅导;开展兴趣课堂,包括美术、音乐、体育、科普等;为学校捐赠书籍、文具等学习用品;与小学生结对子,进行一对一交流。", practiceProcess: "实践前,我们提前准备了学习辅导资料和兴趣课堂课件,筹集了200余册书籍和一批文具。实践期间,我负责四年级的英语辅导和科普兴趣课堂。在英语辅导中,我采用趣味教学的方式,通过游戏、歌曲等形式帮助学生巩固英语单词和语法;在科普课堂上,我为学生讲解了天文、地理等方面的知识,激发了学生的学习兴趣。我还与一名小学生结对子,每天课后与他交流,了解他的学习和生活情况,给予他鼓励和帮助。", practiceResult: "通过为期7天的帮扶实践,我们为3个年级的80余名小学生提供了学习辅导和兴趣培养,捐赠了价值5000余元的学习用品。小学生的学习兴趣和成绩得到了一定提升,视野也得到了拓宽。我们也在实践中提升了自己的教学能力、沟通能力和组织能力,深刻体会到了教育的重要性和社会责任的意义。" }, plan3: { name: "方案3:生态环境调查社会实践", practiceType: "考察调查类", practiceForm: "社会调查", practiceProject: "“保护母亲河”XX河水质现状调查及保护建议", orgUnit: "学校地理组、XX市环境保护协会", semester: "高二上学期", startTime: "2025-11-05", endTime: "2025-11-12", practiceDays: "8", practicePlace: "XX河沿岸(市区段)", partner: "吴九、郑十、王十一", guideTeacher: "张老师", practicePurpose: "调查XX河市区段的水质现状,分析污染原因,提出保护建议,增强公众的环保意识,为河流生态保护提供参考。", practiceContent: "对XX河市区段的5个监测点进行水质采样,检测pH值、溶解氧、化学需氧量等指标;通过访谈、问卷调查等方式,了解周边居民的环保意识和河流污染的主要原因;查阅相关资料,分析河流生态保护的成功案例;撰写调查报告和保护建议。", practiceProcess: "实践期间,我们每天前往XX河沿岸进行水质采样,利用专业仪器对水质指标进行检测,并做好记录。我们还在周边社区发放了300份调查问卷,访谈了20位居民和环保部门工作人员。我主要负责问卷调查和数据统计分析,通过分析发现,生活污水排放、垃圾倾倒和工业废水排放是河流污染的主要原因。我们还查阅了国内外河流生态保护的成功案例,结合XX河的实际情况,提出了针对性的保护建议。", practiceResult: "完成了《XX河市区段水质现状调查及保护建议》调查报告,明确了河流的污染现状和原因,提出了加强污水治理、完善垃圾回收体系、开展环保宣传教育等保护建议。调查报告已提交给当地环保部门,为河流生态保护提供了参考。我们还通过校园公众号发布了调查结果,增强了师生的环保意识。" }, plan4: { name: "方案4:校园周边交通安全调查", practiceType: "考察调查类", practiceForm: "社会调查", practiceProject: "校园周边交通安全现状调查及优化建议", orgUnit: "学校德育处、XX市交警支队XX大队", semester: "高二下学期", startTime: "2026-04-01", endTime: "2026-04-08", practiceDays: "8", practicePlace: "学校周边道路及路口", partner: "刘十二、陈十三、杨十四", guideTeacher: "刘老师", practicePurpose: "调查校园周边的交通安全现状,分析存在的安全隐患,提出优化建议,保障师生出行安全,提升交通管理水平。", practiceContent: "观察校园周边道路的交通流量、交通设施配置情况;统计闯红灯、逆行、超速等交通违法行为;通过问卷调查了解师生的交通安全意识和出行需求;访谈交警和学校安保人员,了解交通安全管理中的难点问题;撰写调查报告和优化建议。", practiceProcess: "实践期间,我们分成2个小组,在上下学高峰期对校园周边的3个主要路口进行交通观察和数据统计,每天记录交通流量、违法行为数量等信息。我们还发放了200份调查问卷,了解师生的交通安全意识和出行需求。我主要负责数据统计和分析,发现校园周边存在交通设施不完善、部分车辆超速行驶、行人闯红灯等安全隐患。我们访谈了交警和学校安保人员,了解到交通管理的难点在于高峰期流量大、部分驾驶员安全意识薄弱。基于调查结果,我们提出了完善交通设施、加强交通执法、开展交通安全宣传等优化建议。", practiceResult: "完成了《校园周边交通安全现状调查及优化建议》调查报告,提出了5条具体的优化建议。学校已采纳部分建议,联合交警部门在校园周边增设了交通标志和减速带,开展了交通安全宣传活动。实践活动提升了师生的交通安全意识,也为校园周边交通管理提供了参考,有效改善了校园周边的交通环境。" }, plan5: { name: "方案5:研学旅行社会实践", practiceType: "社会体验类", practiceForm: "研学旅行", practiceProject: "“走进古都西安”历史文化研学旅行", orgUnit: "学校教务处、XX旅行社", semester: "高二上学期", startTime: "2025-12-20", endTime: "2025-12-25", practiceDays: "6", practicePlace: "西安(兵马俑、华清池、陕西历史博物馆等)", partner: "黄十五、林十六、张十七", guideTeacher: "陈老师", practicePurpose: "走进古都西安,感受历史文化魅力,了解中华文明的发展历程,增强文化自信和历史责任感,拓宽视野,提升综合素养。", practiceContent: "参观兵马俑、华清池、陕西历史博物馆、大雁塔等历史文化景点;聆听导游讲解,了解历史背景和文化内涵;开展小组讨论,交流学习心得;撰写研学日记和心得体会。", practiceProcess: "研学旅行期间,我们先后参观了多个历史文化景点,在导游的详细讲解下,了解了秦始皇陵兵马俑的雄伟壮观、华清池的历史典故、陕西历史博物馆馆藏文物的文化价值。我认真记录每个景点的历史背景和文化内涵,积极参与小组讨论,与组员交流自己的学习心得。每天晚上,我都会撰写研学日记,记录当天的所见所闻所感。在研学过程中,我不仅感受到了中华文明的博大精深,还学会了独立生活、团队协作和自主学习。", practiceResult: "通过为期6天的研学旅行,我们深入了解了西安的历史文化,增强了文化自信和历史责任感。每个人都撰写了5篇研学日记和1篇心得体会,形成了研学成果集。研学旅行不仅拓宽了我们的视野,还提升了我们的自主学习能力、沟通能力和团队协作能力,是一次难忘的社会实践经历。" }, plan6: { name: "方案6:校园劳动实践活动", practiceType: "社会劳动类", practiceForm: "生产劳动", practiceProject: "“校园小菜园”劳动实践", orgUnit: "学校德育处、后勤组", semester: "高二下学期", startTime: "2026-03-10", endTime: "2026-06-20", practiceDays: "45", practicePlace: "学校劳动实践基地(小菜园)", partner: "赵十八、吴十九、郑二十", guideTeacher: "赵老师", practicePurpose: "参与蔬菜种植的全过程,学习农业生产知识和劳动技能,培养劳动习惯和艰苦奋斗的精神,体会劳动的价值和乐趣。", practiceContent: "学习蔬菜种植的基本知识,包括选种、耕地、播种、浇水、施肥、除草、病虫害防治等;参与小菜园的日常管理和维护;收获成熟的蔬菜,进行简单的加工和分享。", practiceProcess: "实践期间,我们每周利用课余时间前往小菜园劳动2-3次。从选种开始,我们学习了如何选择适合当地气候和土壤的蔬菜品种;在耕地、播种环节,我们掌握了基本的劳动技能;在日常管理中,我们定期浇水、施肥、除草,认真观察蔬菜的生长情况,学习病虫害防治的方法。我主要负责浇水和除草工作,每天记录蔬菜的生长情况。经过三个多月的辛勤劳动,我们种植的黄瓜、西红柿、茄子等蔬菜获得了丰收。", practiceResult: "通过为期45天的劳动实践,我们收获了各类蔬菜50余公斤,部分蔬菜捐赠给了学校食堂,部分用于班级分享。我们不仅学习了农业生产知识和劳动技能,还培养了劳动习惯和艰苦奋斗的精神,深刻体会到了“一分耕耘,一分收获”的道理。劳动实践活动提升了我们的动手能力和团队协作能力,也让我们更加珍惜粮食和劳动成果。" } } } }; // -------------------------- 通用配置 -------------------------- const CONFIG = { AUTO_FILL: false, DELAY: 600, AUTO_SAVE: false, LOAD_WAIT_TIME: 1500, WINDOW_STYLE: { top: "50px", right: "20px", width: "280px", padding: "15px" } }; // -------------------------- 通用工具函数 -------------------------- const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms)); const findElement = (selector) => { const elem = document.getElementById(selector); if (!elem) console.warn(`未找到字段:${selector}`); return elem; }; const fillInput = (elem, value) => { if (!elem) return; elem.value = value; elem.dispatchEvent(new Event('input', { bubbles: true })); elem.dispatchEvent(new Event('change', { bubbles: true })); elem.dispatchEvent(new Event('blur', { bubbles: true })); }; const selectDropdown = (selector, targetText) => { const selectElem = findElement(selector); if (!selectElem) return; Array.from(selectElem.options).forEach(option => { if (option.text.trim() === targetText.trim()) { option.selected = true; selectElem.dispatchEvent(new Event('change', { bubbles: true })); } }); }; const clickSaveBtn = (saveBtnSelector) => { const saveBtn = findElement(saveBtnSelector); saveBtn && saveBtn.click(); }; // -------------------------- 识别当前界面 -------------------------- const getCurrentInterface = () => { const currentUrl = window.location.href; for (const key in INTERFACE_CONFIG) { if (currentUrl.includes(INTERFACE_CONFIG[key].url)) { return INTERFACE_CONFIG[key]; } } return null; }; // -------------------------- 核心填充函数 -------------------------- const fillFormByPlan = async (currentInterface, plan) => { const fields = currentInterface.fields; alert(`即将填充:${plan.name}\n填充后可手动修改细节并上传佐证材料`); console.log(`开始填充【${plan.name}】`); // 填充逻辑(按每个界面的字段顺序) if (currentInterface.url === "studentSxpd.jsp") { // 思想品德界面 selectDropdown(fields.semester, plan.semester); await sleep(CONFIG.DELAY); selectDropdown(fields.activityType, plan.activityType); await sleep(CONFIG.DELAY); selectDropdown(fields.activityForm, plan.activityForm); await sleep(CONFIG.DELAY); fillInput(findElement(fields.activityTheme), plan.activityTheme); await sleep(CONFIG.DELAY); fillInput(findElement(fields.orgUnit), plan.orgUnit); await sleep(CONFIG.DELAY); fillInput(findElement(fields.activityStartTime), plan.activityStartTime); await sleep(CONFIG.DELAY); fillInput(findElement(fields.activityEndTime), plan.activityEndTime); await sleep(CONFIG.DELAY); fillInput(findElement(fields.activityHour), plan.activityHour); await sleep(CONFIG.DELAY); fillInput(findElement(fields.activityPlace), plan.activityPlace); await sleep(CONFIG.DELAY); fillInput(findElement(fields.taskRole), plan.taskRole); await sleep(CONFIG.DELAY); fillInput(findElement(fields.prover), plan.prover); await sleep(CONFIG.DELAY); fillInput(findElement(fields.activityRecord), plan.activityRecord); await sleep(CONFIG.DELAY); } else if (currentInterface.url === "studentYjxDetail.jsp") { // 研究性学习界面 selectDropdown(fields.semester, plan.semester); await sleep(CONFIG.DELAY); selectDropdown(fields.subjectType, plan.subjectType); await sleep(CONFIG.DELAY); fillInput(findElement(fields.startTime), plan.startTime); await sleep(CONFIG.DELAY); fillInput(findElement(fields.endTime), plan.endTime); await sleep(CONFIG.DELAY); fillInput(findElement(fields.subjectName), plan.subjectName); await sleep(CONFIG.DELAY); fillInput(findElement(fields.orgForm), plan.orgForm); await sleep(CONFIG.DELAY); fillInput(findElement(fields.partner), plan.partner); await sleep(CONFIG.DELAY); fillInput(findElement(fields.myTask), plan.myTask); await sleep(CONFIG.DELAY); fillInput(findElement(fields.background), plan.background); await sleep(CONFIG.DELAY); fillInput(findElement(fields.summary), plan.summary); await sleep(CONFIG.DELAY); fillInput(findElement(fields.resultForm), plan.resultForm); await sleep(CONFIG.DELAY); fillInput(findElement(fields.studyHour), plan.studyHour); await sleep(CONFIG.DELAY); fillInput(findElement(fields.credit), plan.credit); await sleep(CONFIG.DELAY); } else if (currentInterface.url === "studentSport.jsp") { // 运动经历界面 selectDropdown(fields.sportItem, plan.sportItem); await sleep(CONFIG.DELAY); selectDropdown(fields.awardLevel, plan.awardLevel); await sleep(CONFIG.DELAY); selectDropdown(fields.semester, plan.semester); await sleep(CONFIG.DELAY); fillInput(findElement(fields.projectName), plan.projectName); await sleep(CONFIG.DELAY); fillInput(findElement(fields.startTime), plan.startTime); await sleep(CONFIG.DELAY); fillInput(findElement(fields.endTime), plan.endTime); await sleep(CONFIG.DELAY); fillInput(findElement(fields.activityPlace), plan.activityPlace); await sleep(CONFIG.DELAY); fillInput(findElement(fields.organizer), plan.organizer); await sleep(CONFIG.DELAY); fillInput(findElement(fields.sportResult), plan.sportResult); await sleep(CONFIG.DELAY); fillInput(findElement(fields.prover), plan.prover); await sleep(CONFIG.DELAY); fillInput(findElement(fields.projectRecord), plan.projectRecord); await sleep(CONFIG.DELAY); } else if (currentInterface.url === "studentYssz.jsp") { // 艺术素养界面 selectDropdown(fields.artItem, plan.artItem); await sleep(CONFIG.DELAY); selectDropdown(fields.activityWay, plan.activityWay); await sleep(CONFIG.DELAY); selectDropdown(fields.awardLevel, plan.awardLevel); await sleep(CONFIG.DELAY); fillInput(findElement(fields.activityName), plan.activityName); await sleep(CONFIG.DELAY); fillInput(findElement(fields.organizer), plan.organizer); await sleep(CONFIG.DELAY); selectDropdown(fields.semester, plan.semester); await sleep(CONFIG.DELAY); fillInput(findElement(fields.startTime), plan.startTime); await sleep(CONFIG.DELAY); fillInput(findElement(fields.endTime), plan.endTime); await sleep(CONFIG.DELAY); fillInput(findElement(fields.activityPlace), plan.activityPlace); await sleep(CONFIG.DELAY); fillInput(findElement(fields.achievement), plan.achievement); await sleep(CONFIG.DELAY); fillInput(findElement(fields.prover), plan.prover); await sleep(CONFIG.DELAY); fillInput(findElement(fields.projectRecord), plan.projectRecord); await sleep(CONFIG.DELAY); } else if (currentInterface.url === "studentShsj.jsp") { // 社会实践界面 selectDropdown(fields.practiceType, plan.practiceType); await sleep(CONFIG.DELAY); selectDropdown(fields.practiceForm, plan.practiceForm); await sleep(CONFIG.DELAY); fillInput(findElement(fields.practiceProject), plan.practiceProject); await sleep(CONFIG.DELAY); fillInput(findElement(fields.orgUnit), plan.orgUnit); await sleep(CONFIG.DELAY); selectDropdown(fields.semester, plan.semester); await sleep(CONFIG.DELAY); fillInput(findElement(fields.startTime), plan.startTime); await sleep(CONFIG.DELAY); fillInput(findElement(fields.endTime), plan.endTime); await sleep(CONFIG.DELAY); fillInput(findElement(fields.practiceDays), plan.practiceDays); await sleep(CONFIG.DELAY); fillInput(findElement(fields.practicePlace), plan.practicePlace); await sleep(CONFIG.DELAY); fillInput(findElement(fields.partner), plan.partner); await sleep(CONFIG.DELAY); fillInput(findElement(fields.guideTeacher), plan.guideTeacher); await sleep(CONFIG.DELAY); fillInput(findElement(fields.practicePurpose), plan.practicePurpose); await sleep(CONFIG.DELAY); fillInput(findElement(fields.practiceContent), plan.practiceContent); await sleep(CONFIG.DELAY); fillInput(findElement(fields.practiceProcess), plan.practiceProcess); await sleep(CONFIG.DELAY); fillInput(findElement(fields.practiceResult), plan.practiceResult); await sleep(CONFIG.DELAY); } // 自动保存(可选) if (CONFIG.AUTO_SAVE) { await sleep(CONFIG.DELAY * 2); clickSaveBtn(fields.saveBtn); } alert(`【${plan.name}】填充完成!\n请检查字段是否正确,手动上传佐证材料后点击保存`); }; // -------------------------- 创建悬浮窗口 -------------------------- const createFloatWindow = (currentInterface) => { const floatWindow = document.createElement('div'); floatWindow.style.cssText = ` position: fixed; top: ${CONFIG.WINDOW_STYLE.top}; right: ${CONFIG.WINDOW_STYLE.right}; width: ${CONFIG.WINDOW_STYLE.width}; background: #fff; border: 2px solid #4CAF50; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.3); z-index: 9999; padding: ${CONFIG.WINDOW_STYLE.padding}; font-family: "Microsoft YaHei", sans-serif; `; // 窗口标题 const title = document.createElement('div'); title.style.cssText = ` font-size: 16px; font-weight: bold; color: #4CAF50; margin-bottom: 15px; text-align: center; border-bottom: 1px solid #eee; padding-bottom: 8px; `; title.textContent = currentInterface.title; floatWindow.appendChild(title); // 方案按钮 const plans = currentInterface.plans; Object.values(plans).forEach(plan => { const btn = document.createElement('button'); btn.style.cssText = ` width: 100%; padding: 10px; margin-bottom: 8px; background: #f5f5f5; border: 1px solid #ddd; border-radius: 4px; text-align: left; cursor: pointer; font-size: 14px; transition: all 0.2s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; `; btn.textContent = plan.name; btn.title = plan.name; // 鼠标悬浮显示完整名称 btn.onmouseover = () => { btn.style.background = "#4CAF50"; btn.style.color = "#fff"; btn.style.borderColor = "#45a049"; }; btn.onmouseout = () => { btn.style.background = "#f5f5f5"; btn.style.color = "#333"; btn.style.borderColor = "#ddd"; }; btn.onclick = () => fillFormByPlan(currentInterface, plan); floatWindow.appendChild(btn); }); // 关闭按钮 const closeBtn = document.createElement('button'); closeBtn.style.cssText = ` width: 100%; padding: 8px; background: #f44336; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; margin-top: 5px; `; closeBtn.textContent = "关闭窗口"; closeBtn.onclick = () => floatWindow.remove(); floatWindow.appendChild(closeBtn); document.body.appendChild(floatWindow); }; // -------------------------- 初始化 -------------------------- window.addEventListener('load', () => { setTimeout(() => { const currentInterface = getCurrentInterface(); if (currentInterface) { createFloatWindow(currentInterface); console.log(`✅ 悬浮窗口已创建!当前界面:${currentInterface.title}`); } else { console.log("❌ 未识别到当前界面,脚本未生效"); } }, CONFIG.LOAD_WAIT_TIME); }); })();