import sys import os base_dir = os.path.dirname(os.path.abspath(__file__)) if '__file__' in globals() else os.getcwd() project_root = os.path.abspath(os.path.join(base_dir, "..", "..")) sys.path.append(project_root) from pre_data.common.client_tools import write_jinja,del_jinja key_d_common = "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:common" value_d_common =""" {% set up_prog_map = { "1": {"name":"棉麻","desc":"适用于耐磨、耐热的棉、麻及其混纺衣物。"}, "2": {"name":"化纤","desc":"适用于合成纤维及轻薄棉织物。精准控温,快速干燥的同时有效避免面料损伤,保护纤维弹性。"}, "3": {"name":"羽绒","desc":"适用于可烘干的羽绒衣物及合成纤维填充的棉服。通过气流和翻转确保羽绒蓬松轻盈。"}, "6": {"name":"衬衣","desc":"适用于纯棉、亚麻、合成纤维及其混纺的衬衫,合理烘干档位可有效减少衣物褶皱,烘后即穿。"}, "7": {"name":"童装","desc":"适用于婴幼儿棉质及其混纺衣物。例如:婴儿服、爬服、婴儿床品等。"}, "10":{"name":"羊毛","desc":"适用于可烘干的羊毛及其混纺类衣物,可根据需求自定义烘干时间,呵护羊毛纤维不损伤。​"}, "14": {"name":"内衣","desc":"适用于耐热的贴身衣物。烘干过程同步除菌,守护家人健康。​"}, "15": {"name":"速烘","desc":"适用于少量棉麻、化纤类衣物的快速烘干。"}, "17": {"name":"大件","desc":"适用于床单、被罩等家纺织物,精准温控配合智能翻转,确保大件家纺均匀受热,降低褶皱。"}, "18": {"name":"运动服","desc":"适用于化纤或棉麻材质的运动类衣物。烘干前请查看水洗标,确保衣物适用于滚筒烘干。"}, "22": {"name":"丝绸","desc":"适用于可滚筒烘干的丝绸衣物。建议烘干前查看水洗标,确保衣物适用于滚筒烘干。"}, "34": {"name":"支架烘","desc":"适用于不可滚筒烘干的衣物,如羊毛衫、毛绒玩具等,请将衣物展开放在支架上,确保烘干效果。​"}, "43": {"name":"定时","desc":"适用于可滚筒烘干的衣物,可根据衣物重量及含水量自定义烘干时间,此程序无自动判干功能。​"}, "52": {"name":"冲锋衣","desc":"适用于冲锋衣、户外裤等功能性户外衣物。可有效保护防水涂层,维持衣物功能性。​"}, "56": {"name":"智慧烘","desc":"适用于棉、麻、合成纤维类织物。​程序会根据衣物的重量自动调节烘干时间。"}, "58": {"name":"浴巾","desc":"适用于耐热的浴巾、毛巾等家纺用品。能有效避免纤维板结,使浴巾蓬松柔软,吸水性更佳。​"}, "92": {"name":"亚麻","desc":"适用于可滚筒烘干的亚麻及其混纺织物。有效降低衣物磨损和褶皱。"} } %} {# 干燥度枚举映射 #} {% set dry_level_map = { "1": "潮湿", "2": "即熨", "3": "即穿", "4": "储藏", "5": "特干" } %} {# 温度枚举映射 #} {% set dry_temp_map = { "0": "冷风", "1": "低温", "2": "中温", "3": "高温" } %} {# 烘干参数对应关系 #} {% macro commands_params(changed_params) -%} {% set DryLevel = changed_params.DryLevel |string |trim %} {% set DryTemp = changed_params.DryTemp |string |trim %} {% set FanLevel = changed_params.FanLevel |string |trim %} {{ [ "干燥度:{}".format(dry_level_map.get(DryLevel)) if DryLevel and DryLevel != "0" else "", "温度:{}".format(dry_temp_map.get(DryTemp)) if DryTemp and DryTemp != "0" else "", "风力{}挡".format(FanLevel) if FanLevel and FanLevel != "0" else "" ] | reject("equalto", "") | join(",") }} {%- endmacro %} """ # 人气模板 key_d_popular = "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:time_popularity:1" value_d_popular = """ {% set program_id = program_id | string | trim %} {% set prog = up_prog_map.get(program_id) %} {% if prog %} {{ [ "{0}程序,是{1}当前人气最高的程序。{2}".format( up_prog_map[program_id].name, city, "它"~up_prog_map[program_id].desc ), "{0}程序,在{1}人气最高哦。{2}".format( up_prog_map[program_id].name, city, "它"~up_prog_map[program_id].desc ), "{0}程序,在{1}很受欢迎呢。{2}".format( up_prog_map[program_id].name, city, "它"~up_prog_map[program_id].desc ), "{0}程序,是全网人气最高的程序。{1}".format( up_prog_map[program_id].name, "它"~up_prog_map[program_id].desc ), "{0}程序,在全网都很受欢迎呢。{1}".format( up_prog_map[program_id].name, "它"~up_prog_map[program_id].desc ) ] | random }} {% else %} 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。 {% endif %} """ # 定制模板 key_d_made = "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:time_made:2" value_d_made =""" {% set program_id = program_id | string | trim %} {% set prog = up_prog_map.get(program_id) %} {% if prog %} {% if feature_name != "" %} {% set commands_text = commands_params(changed_params) %} {% if commands_text != "" %} {{ [[ "{0}程序,是你{1}的程序呢".format( up_prog_map[program_id].name, feature_name ), "发现你{0}{1}程序呢".format( feature_name, up_prog_map[program_id].name ), "这是你{0}的程序呢".format( feature_name ) ] | random, [ commands_text ~ "的习惯参数也帮你记着了。", commands_text ~ "的习惯参数也帮你准备好了。", "AI守护帮你设置了习惯的" ~ commands_text ~ "。" ] | random] | reject("equalto", "") | join(",") }} {% else %} {{ [ "{0}程序,是你{1}的程序呢,{2}".format( up_prog_map[program_id].name, feature_name, "它" ~ up_prog_map[program_id].desc ), "发现你{0}{1}程序呢。{2}".format( feature_name, up_prog_map[program_id].name, "它" ~ up_prog_map[program_id].desc ), "这是你{0}的程序呢,{1}".format( feature_name, "它" ~ up_prog_map[program_id].desc ) ] | random }} {% endif %} {% else %} 帮你准备了{{up_prog_map[program_id].name}}程序,它{{up_prog_map[program_id].desc}} {% endif %} {% else %} 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。 {% endif %} """ # # 季节模板——当季推荐——姜磊 key_d_season_in = "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:time_season_in:0" value_d_season_in = """ {% set program_id = program_id | trim %} {% set prog = up_prog_map.get(program_id) %} {% if prog %} {{ ( "立春启新,暖意渐浓!轻盈的春装该提前准备了。" if time_term == '立春' else "立夏时节,暑气渐长。轻薄的夏日穿搭该提前准备好啦。" if time_term == '立夏' else "立秋已至,暑去凉来。是时候取出压箱底的秋装,准备添衣了。" if time_term == '立秋' else "立冬安康,寒潮将至。保暖的冬装该登场了。" if time_term == '立冬' else '' )}} {% else %} 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。 {% endif %} """ # 季节模板——收纳推荐————姜磊 key_d_season_storage = "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:time_season_storage:0" value_d_season_storage = """ {% set program_id = program_id | trim %} {% set prog = up_prog_map.get(program_id) %} {% if prog %} {{ ( "立春时节,天气渐暖。厚重冬衣,烘干后收纳才靠谱。" if time_term == '立春' else "立夏潮闷,春装收纳正当时。" if time_term == '立夏' else "立秋换季,夏装可以功成身退啦。" if time_term == '立秋' else "立冬时节,薄款秋装该收纳入库啦。" if time_term == '立冬' else '' )}} {% else %} 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。 {% endif %} """ # 关怀模板 Key_d_care = "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:time_care:0" value_d_care = """ {% set name_dry = "夜间烘" %} {% set name_wind = "延取防皱" %} {% set night_dry = DryNight if DryNight !="0" else ""%} {% set wind_cruise = WFreeCn if WFreeCn !="0" else ""%} {{ [ ["夜深了,AI守护已为您开启{0}和{1}啦,衣服就放心交给我吧。".format(name_dry, name_wind) , "时间有点晚了,已为你开启{0}和{1},衣物久放也不皱。".format(name_dry, name_wind), "{0}已开启,静音干衣,不扰眠。{1}为您守护衣物至天明。".format(name_dry, name_wind), "AI守护已开启{0}和{1},降噪烘干,防止衣物产生褶皱。".format(name_dry, name_wind) ] |random if night_dry and wind_cruise else ["夜深了,AI守护已为您开启{}功能,静音洗衣不扰眠。".format(name_dry), "时间有点晚了,我会静悄悄的。", "夜间干衣,AI守护已自动开启静音模式,守护您的安宁。", "{}功能已开启,干衣机会低噪运行,让您静享安宁。".format(name_dry) ] |random if night_dry else ["夜深了,AI守护已帮你打开{},智能保管衣物。".format(name_wind) , "时间有点晚了,{}功能会帮你守护衣物到天明。".format(name_wind), "夜间干衣,帮你开启{}了,衣物久放也不用怕。".format(name_wind), "{}准备好了,烘干完会帮你智能保管衣物。".format(name_wind) ]|random if wind_cruise else "" ] | first }} """ # 环保模板——姜磊 key_d_environmental = "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:time_environmental:0" value_d_environmental = """ AI守护提醒您,马上就到错峰用电时间段了,建议您预约烘干。 """ # 默认模板——姜磊 key_d_default = "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:time_basic:0" value_d_default = """ {% set program_id = program_id | string | trim %} {% set program_data = up_prog_map.get(program_id)%} {% set program_name = program_data.name if program_data else '' %} {% set program_desc = program_data.desc if program_data else '' %} {% set commands_text = commands_params(changed_params)|trim %} {% if program_name %} {% if commands_text %} {{ ["AI守护为你准备好了,{0}程序最常用的{1}哦。".format(program_name,commands_text), "发现你使用{0}程序时,喜欢调节{1}呢,帮你准备好了。".format(program_name,commands_text), "{0}程序,已按照你的习惯备好,{1}直接启动就可以啦。".format(program_name,commands_text), "AI守护为你贴心定制{0}程序,{1}已就绪。".format(program_name,commands_text), "根据你的使用习惯,{0} 已调整为{1}".format(program_name,commands_text) ]|random }} {% else %} {{ "{0}程序{1}".format(program_name, program_desc) }} {% endif %} {% else %} {{ [ "AI守护会持续守护您的衣物健康。", "AI守护会根据衣物情况,自动帮你匹配最优烘干方案哦。", "衣服交给我你就放心吧。" ]|random }} {% endif %} """ # 通用 write_jinja(key_d_common,value_d_common) # 写入上筒干衣机模板 # 人气 write_jinja(key_d_popular,value_d_popular) # #定制 write_jinja(key_d_made,value_d_made) # # 季节 write_jinja(key_d_season_in,value_d_season_in) write_jinja(key_d_season_storage,value_d_season_storage) # # 关怀 write_jinja(Key_d_care,value_d_care) # # 环保 write_jinja(key_d_environmental,value_d_environmental) # # 默认 write_jinja(key_d_default,value_d_default) #分析下key的大小 # text=""" # """ # kb_size = get_size_in_kb(text) # # print(f"字符串长度: {len(text)} 字符") # print(f"存储大小: {kb_size:.2f} KB") # del_jinja(key_d_season_in) # print(read_jinja(key_d_season_in))