Up_template.jinja 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539
  1. {# templates/wm_messages.jinja seekerUp模板 #}
  2. {# 计算数字的整数部分 #}
  3. {% macro count_round(value) %}
  4. {% set value = value | int %}
  5. {{ (value / 10) | round(0) | int * 10 }}
  6. {% endmacro %}
  7. {% macro approx_fraction(p) -%}
  8. {%- set p = 99 if p |int >= 100 else p -%}
  9. {%- if p >= 50 -%}
  10. 百分之{{ ['','一','二','三','四','五','六','七','八','九'][p//10] }}{{ '十' if p >= 10 else '' }}{{
  11. ['','一','二','三','四','五','六','七','八','九'][p%10] if p%10 else '' }}
  12. {%- elif p >= 40 -%}一半
  13. {%- else -%}三分之一
  14. {%- endif -%}
  15. {%- endmacro %}
  16. {# ---------------------内部随机用的数组 --------------------- #}
  17. {% set greeting = ["嗨", "哈喽"] %}
  18. {% set assistant1 = ["小优来啦", "你的洗护小管家来啦", "你的洗护小助手来啦", "你的洗护小精灵来啦", "你的洗护小管家上线啦", "你的洗护小助手上线啦", "你的洗护小精灵上线啦", "小优前来报到",
  19. "洗护小管家前来报道", "洗护小助手前来报道", "洗护小精灵前来报到"] %}
  20. {% set assistant2 = ["干衣推荐来啦", "干衣小贴士来啦", "又要烘干衣服啦", "又来烘干衣服啦", "干衣时间到啦"] %}
  21. {% set user1 = [ "位用户", "位邻居", "位朋友", "户家庭", "个小伙伴"] %}
  22. {% set user2 = ["用户", "小伙伴", "邻居"] %}
  23. {% set program_name_map={
  24. "56":"智慧烘",
  25. "15":"速烘",
  26. "17":"大物",
  27. "3":"羽绒",
  28. "52":"冲锋衣",
  29. "6":"衬衣",
  30. "7":"童装",
  31. "14":"内衣",
  32. "118":"除菌螨",
  33. "30":"除毛烘",
  34. "131":"夏凉被",
  35. "58":"浴巾",
  36. "1":"棉麻",
  37. "45":"云程序",
  38. "43":"定时烘",
  39. "34":"静筒烘",
  40. "22":"丝绸",
  41. "10":"羊毛"
  42. } %}
  43. {# 烘干参数对应关系 #}
  44. {%macro commands_params(changed_params) -%}
  45. {# {{ [
  46. "干燥度:{}".format(changed_params.DryLevel) if changed_params.DryLevel and changed_params.DryLevel != "0" else "",
  47. "温度:{}".format(changed_params.DryTemp) if changed_params.DryTemp and changed_params.DryTemp != "0" else "",
  48. "风力{}挡".format(changed_params.FanLevel) if changed_params.FanLevel and changed_params.FanLevel != "0" else ""
  49. ] | reject("equalto", "") | join(",") }} #}
  50. {# 干燥度枚举映射 #}
  51. {% set dry_level_map = {
  52. "1": "即熨",
  53. "2": "即穿",
  54. "3": "储藏",
  55. "4": "特干"
  56. } %}
  57. {# 温度枚举映射 #}
  58. {% set dry_temp_map = {
  59. "1": "冷风",
  60. "2": "低温",
  61. "3": "中温",
  62. "4": "高温"
  63. } %}
  64. {# 烘干参数对应关系 #}
  65. {% macro commands_params(changed_params) -%}
  66. {{ [
  67. "干燥度:{}".format(dry_level_map.get(changed_params.DryLevel)) if changed_params.DryLevel and changed_params.DryLevel != "0" else "",
  68. "温度:{}".format(dry_temp_map.get(changed_params.DryTemp)) if changed_params.DryTemp and changed_params.DryTemp != "0" else "",
  69. "风力{}挡".format(changed_params.FanLevel) if changed_params.FanLevel and changed_params.FanLevel != "0" else ""
  70. ] | reject("equalto", "") | join(",") }}
  71. {%- endmacro %}
  72. {# --------------------- 人气/定制简短模板函数 --------------------- #}
  73. {% macro brief_popularity_message(city, program_id, period, season ,card_type, changed_params,recommend_type) -%}
  74. {% set prefix_message %}
  75. {% set program_id = program_id | string | trim %}
  76. {% set program_name = program_name_map.get(program_id) %}
  77. {% if program_name %}
  78. {% if rerank_reason |upper == "PIN_CONSECUTIVE" %}
  79. {%set commands_text = commands_params(changed_params)%}
  80. {{[
  81. "{0}好呀,小优发现你最近几次干衣都喜欢用{1}程序,{2}给你准备好了。".format(period, program_name,
  82. commands_text~"," if commands_text else ""
  83. ),
  84. "{0},发现你最近几次干衣都使用{1},{2}给你准备好了。".format(assistant1 | random, program_name,
  85. commands_text~"," if commands_text else ""
  86. ),
  87. "{0},为你推荐最近几次常用的{1}程序,{2}赶快启动吧!".format(assistant2 | random, program_name,
  88. commands_text~"," if commands_text else ""
  89. ),
  90. "{0},最懂你的小优来啦,你最近几次干衣都使用了{1}程序,{2}这次还这么用吧。".format(greeting |random, program_name,
  91. commands_text~"," if commands_text else ""
  92. ),
  93. "又能帮你烘干衣服了,小优很开心哦。前几次干衣你都使用{0}程序,我猜你这次还想用它。".format(
  94. program_name
  95. )
  96. ] | random
  97. }}
  98. {% elif rerank_reason |upper == "PIN_WEEKLY" %}
  99. {%set feature_week_name="每周这个时间都喜欢用"%}
  100. {%set commands_text = commands_params(changed_params)%}
  101. {{[
  102. "{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。".format(
  103. period,
  104. feature_week_name,
  105. program_name,
  106. commands_text~"," if commands_text else ""
  107. ),
  108. "{0}好呀,小优准备了你{1}的{2}程序。{3}快来启动吧。".format(
  109. period,
  110. feature_week_name,
  111. program_name,
  112. commands_text~"," if commands_text else ""
  113. ),
  114. "{0},{1},推荐你{2}的{3}程序。{4}".format(
  115. greeting |random,
  116. assistant1 | random,
  117. feature_week_name,
  118. program_name,
  119. commands_text~"。" if commands_text else ""
  120. ),
  121. "{0},你{1}的{2}程序,{3}给你准备好了。".format(
  122. assistant1 | random,
  123. feature_week_name,
  124. program_name,
  125. commands_text~"这个使用习惯" if commands_text else ""
  126. ),
  127. "{0},小优准备了你{1}的{2}程序,{3}赶快启动吧!".format(
  128. assistant2 | random,
  129. feature_week_name,
  130. program_name,
  131. commands_text~"," if commands_text else ""
  132. )
  133. ] | random}}
  134. {% elif recommend_type |upper == "POPULAR" %}
  135. {{ [
  136. "{0},给你准备了{1}人气最高的{2}程序。".format(assistant1 | random, city, program_name),
  137. "{0},这个时间{1}程序在{2}使用率最高哦。".format(assistant2 | random, program_name, city),
  138. "{0}好呀,为你推荐{1}人气最高的{2}程序。".format(period, city, program_name),
  139. "嗨,小优发现这个时间{0},{1}程序人气最高哦。".format(city, program_name),
  140. "{0}洗衣推荐来啦,{1}程序是{2}当前的热门程序哦。".format(season, program_name, city)
  141. ] | random
  142. }}
  143. {% elif recommend_type |upper == "CUSTOM" %}
  144. {%set commands_text = commands_params(changed_params)%}
  145. {{ [
  146. "{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。".format(period, feature_name, program_name, commands_text~"," if commands_text else ""),
  147. "{0}好呀,小优准备了你{1}的{2}程序。{3}".format(period, feature_name, program_name, commands_text~"。" if commands_text else ""),
  148. "{0},推荐你{1}的{2}程序。{3}".format(assistant1 | random, feature_name, program_name, commands_text~"。" if commands_text else ""),
  149. "{0},为你准备了你{1}的{2}程序。{3}".format(assistant1 | random, feature_name, program_name, commands_text~"。" if commands_text else ""),
  150. "{0},你{1}的{2}程序,{3}已经准备就绪。".format(assistant2 | random, feature_name, program_name, commands_text if commands_text else "")
  151. ]| random }}
  152. {% endif %}
  153. {% else %}
  154. 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。
  155. {% endif %}
  156. {% endset %}
  157. {%- endmacro %}
  158. {# --------------------- 人气模板 --------------------- #}
  159. {% macro popular(period, city, program_id, count, user_count, user_proportion) -%}
  160. {% set program_id = program_id | string | trim %}
  161. {% set program_name = program_name_map.get(program_id) %}
  162. {% set count = count_round(count) | int %}
  163. {% set user_count = count_round(user_count) |int %}
  164. {% set user_proportion = user_proportion | int %}
  165. {% if program_name %}
  166. {{ [
  167. "{0}好呀,为你推荐{1}人气最高的{2}程序。{3}".format(
  168. period,
  169. city,
  170. program_name,
  171. ("近期有" ~ user_count ~ "多" ~ (user1 | random) ~ "都喜欢用呢。" if user_count >= 30 else "")
  172. ),
  173. "{0}好呀,为你推荐{1}人气最高的{2}程序。{3}".format(
  174. period,
  175. city,
  176. program_name,
  177. ("近期有" ~ approx_fraction(user_proportion) ~ "的" ~ (user2 | random) ~ "都喜欢用呢。" if user_proportion >= 30 else "")
  178. ),
  179. "{0}好呀,小优发现{1}程序在{2}的人气很高哦,{3}咱也来试试吧!".format(
  180. period,
  181. program_name,
  182. city,
  183. ("近期有" ~ count ~"多次使用记录呢," if count >= 100 else "")
  184. ),
  185. "{0},给你准备了{1}人气最高的{2}程序,{3}".format(
  186. assistant1 |random,
  187. city,
  188. program_name,
  189. ("近期有"~ user_count ~"多" ~ (user1 | random) ~ "都喜欢用呢。咱们也来试试看吧!" if user_count >= 30 else "快来试试看吧!")
  190. ),
  191. "{0},{1}程序在{2}很受欢迎呢,{3}咱们也来试试看吧!".format(
  192. assistant1 |random,
  193. program_name,
  194. city,
  195. ("是" ~ user_count ~"多"~ (user1 | random) ~ "的共同选择。" if user_count >= 30 else "")
  196. ),
  197. "{0},{1},这个时间段{2}在{3}人气最高,{4}给你也准备好了。".format(
  198. greeting | random,
  199. assistant1 | random,
  200. program_name,
  201. city,
  202. ("超过" ~ approx_fraction(user_proportion) ~ "的" ~ (user2 |random) ~ "都在用呢," if user_proportion >= 30 else "")
  203. ),
  204. "{0},为你推荐当前人气最高的{1}程序,{2}".format(
  205. assistant2 | random,
  206. program_name,
  207. (city ~ "超过"~ approx_fraction(user_proportion) ~"的"~ (user2 |random) ~"都在用哦" if user_proportion >= 30 else "都准备好了,直接启动就行。")
  208. ),
  209. "{0},给你准备了{1}人气最高的{2}程序,{3}".format(
  210. assistant2 | random,
  211. city,
  212. program_name,
  213. ("近期有"~ user_count ~"多" ~ (user1 | random) ~ "都喜欢用呢。咱们也来试试看吧!" if user_count >= 30 else "快启动试试吧!")
  214. ),
  215. "{0},{1}程序在{2}人气最高,{3}咱们也来试试看吧!".format(
  216. assistant2 | random,
  217. program_name,
  218. city,
  219. ("是"~ user_count ~"多"~ (user1 | random) ~ "的共同选择。" if user_count >= 30 else "")
  220. ),
  221. "{0},{1},{2}程序给你准备好了,{3}快来试试看吧!".format(
  222. greeting | random,
  223. assistant2 | random,
  224. program_name,
  225. ("这个时间"~ city ~"有超过"~ approx_fraction(user_proportion) ~"的"~ (user2 |random) ~"都在用它," if user_proportion >= 30 else "")
  226. ),
  227. "{0}好呀,根据全网用户的使用偏好,我帮你选好了{1}程序,你放心用就好了。".format(
  228. period,
  229. program_name
  230. ),
  231. "{0}好呀,小优发现大家都爱用{1}程序,今天我们也来试试吧。".format(
  232. period,
  233. program_name
  234. ),
  235. "{0},为你准备好了全网使用率最高的{1}程序,来试试效果怎么样吧。".format(
  236. assistant1 | random,
  237. program_name
  238. ),
  239. "{0}!{1},{2}程序程序很受欢迎,给你也准备好了,快启动体验一下吧".format(
  240. greeting | random,
  241. assistant2 | random,
  242. program_name
  243. ),
  244. "{0}!{1},今天我们来试试这个人气最高的程序吧。".format(
  245. greeting | random,
  246. assistant2 | random
  247. )
  248. ] | random }}
  249. {% else %}
  250. 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。
  251. {% endif %}
  252. {%- endmacro %}
  253. {# --------------------- 定制模板 --------------------- #}
  254. {% macro custom(period, city, program_id, feature_name, changed_params,count, user_count, user_proportion) -%}
  255. {% set program_id = program_id | string | trim %}
  256. {% set program_name = program_name_map.get(program_id) %}
  257. {% if program_name %}
  258. {% if feature_name!="" %}
  259. {# 干燥度枚举映射 #}
  260. {% set dry_level_map = {
  261. "1": "即熨",
  262. "2": "即穿",
  263. "3": "储藏",
  264. "4": "特干"
  265. } %}
  266. {# 温度枚举映射 #}
  267. {% set dry_temp_map = {
  268. "1": "冷风",
  269. "2": "低温",
  270. "3": "中温",
  271. "4": "高温"
  272. } %}
  273. {# 烘干参数对应关系 #}
  274. {# {% set commands_text = [
  275. "水温{}度".format(changed_params.setTemp) if changed_params.setTemp and changed_params.setTemp != "0" else "",
  276. "转速{}转".format(changed_params.speed) if changed_params.speed and changed_params.speed != "0" else "",
  277. "漂洗{}次".format(changed_params.spinTime) if changed_params.spinTime and changed_params.spinTime != "0" else "",
  278. "洗涤{}分钟".format(changed_params.washTime) if changed_params.washTime and changed_params.washTime != "0" else ""
  279. ] | reject("equalto", "") | join(",")%} #}
  280. {% set commands_text = [
  281. "干燥度:{}".format(dry_level_map.get(changed_params.DryLevel)) if changed_params.DryLevel and changed_params.DryLevel != "0" else "",
  282. "温度:{}".format(dry_temp_map.get(changed_params.DryTemp)) if changed_params.DryTemp and changed_params.DryTemp != "0" else "",
  283. "风力{}挡".format(changed_params.FanLevel) if changed_params.FanLevel and changed_params.FanLevel != "0" else ""
  284. ] | reject("equalto", "") | join(",")%}
  285. {{ [
  286. "{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。".format(
  287. period,
  288. feature_name,
  289. program_name,
  290. commands_text~"," if commands_text else ""
  291. ),
  292. "{0}好呀,小优准备了你{1}的{2}程序。{3}快来启动吧".format(
  293. period,
  294. feature_name,
  295. program_name,
  296. commands_text~"。" if commands_text else ""
  297. ),
  298. "{0}好呀,{1}程序已经准备就绪了,它可是你{2}的程序。{3}赶快启动吧".format(
  299. period,
  300. program_name,
  301. feature_name,
  302. commands_text~"的习惯参数也帮你设置好了。" if commands_text else ""
  303. ),
  304. "{0},{1},推荐你{2}的{3}程序,{4}".format(
  305. greeting | random,
  306. assistant1 | random,
  307. feature_name,
  308. program_name,
  309. commands_text~"。" if commands_text else ""
  310. ),
  311. "{0},{1},为你准备了你{2}的{3}程序。{4}".format(
  312. greeting | random,
  313. assistant1 | random,
  314. feature_name,
  315. program_name,
  316. commands_text~"。" if commands_text else ""
  317. ),
  318. "{0},你{1}的{2}程序{3}".format(
  319. assistant2 | random,
  320. feature_name,
  321. program_name,
  322. "和"~commands_text~"的习惯参数给你准备好了。" if commands_text else ",给你准备好了。"
  323. ),
  324. "{0},为你推荐{1}的{2}程序,{3}赶快启动吧!".format(
  325. assistant2 | random,
  326. feature_name,
  327. program_name,
  328. commands_text~"。" if commands_text else ""
  329. ),
  330. "{0},你{1}的{2}程序,{3}已经准备就绪。".format(
  331. assistant2 | random,
  332. feature_name,
  333. program_name,
  334. commands_text~"。" if commands_text else ""
  335. ),
  336. "我发现你喜欢这么用,我给你准备好了,现在开始烘干吗?",
  337. "又是为你贴心服务的一天,今天为你专属定制{0}程序,{1}赶快启动吧。".format(
  338. program_name,
  339. commands_text~"。" if commands_text else ""
  340. ),
  341. ]| random }}
  342. {% else %}
  343. {{"你好,推荐您常用的{0}程序,已准备好了,快开始启动吧。"format(program_name)}}
  344. {% endif %}
  345. {% else %}
  346. 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。
  347. {% endif %}
  348. {%- endmacro %}
  349. {# --------------------- 天气拼接模板 --------------------- #}
  350. {#根据推荐类型拼接对应简短模板#}
  351. {# {{ [ prefix_message |trim,
  352. [
  353. [
  354. "今天阴天,晾晒衣物会比较慢,帮你打开洗烘联动啦。",
  355. "今天阴天,晾晒衣物会比较慢,洗烘联动更省心哦。"
  356. ] | random if weather == '阴' and wash_dry_link else
  357. "今天阴天,室外晾晒衣物会比较慢,建议您在室内晾晒。" if weather == '阴' else
  358. [
  359. "今天预报有{},不适合室外晾晒,帮你打开洗烘联动啦。".format(weather),
  360. "今天预报有{},不适合室外晾晒,洗烘联动更省心哦。".format(weather)
  361. ] | random if weather in ['小雨','中雨','大雨','暴雨','小雪','中雪','大雪','暴雪'] and wash_dry_link else
  362. "天气预报今天有{},建议您在室内晾晒。".format(weather) if weather in ['小雨','中雨','大雨','暴雨','小雪','中雪','大雪','暴雪'] else
  363. [
  364. "今天有{},室外晾晒容易导致二次污染,帮你打开洗烘联动啦。".format(weather),
  365. "今天有{},室外晾晒容易导致二次污染,洗烘联动更省心哦。".format(weather)
  366. ] | random if weather in ['雾霾','中度雾霾','重度雾霾','沙尘'] and wash_dry_link else
  367. "天气预报今天有{},室外晾晒容易导致二次污染,建议您在室内晾晒。".format(weather) if weather in ['雾霾','中度雾霾','重度雾霾','沙尘'] else
  368. [
  369. "今天天气不太好,帮你打开洗烘联动啦。",
  370. "今天天气不太好,洗烘联动更省心哦。"
  371. ] | random if wash_dry_link else
  372. "今天天气不太好,建议您在室内晾晒。"
  373. ] | first ]| reject("equalto", "") | join("")
  374. }} #}
  375. {# --------------------- 季节模板 --------------------- #}
  376. {% macro dry_season(time_term, filter_rule_code, program_id) -%}
  377. {% set program_id = program_id | string | trim %}
  378. {% set program_name = program_name_map.get(program_id) %}
  379. {{ [
  380. "立春启新,暖意渐浓!轻盈的春装该提前准备了。{}".format(
  381. "为您推荐"~program_name~"程序,烘干同时守护面料防水性能,春日出行清爽随行。"
  382. if program_name == '冲锋衣' else "")
  383. if time_term == '立春' and filter_rule_code== 'time_season_in' else
  384. "立春时节,天气渐暖。厚重冬衣,烘干后收纳才靠谱。{}".format(
  385. "为您推荐"~program_name~"程序,将冬日暖意妥善封存。" if program_name in ["羽绒","羊毛"] else "")
  386. if time_term == '立春' and filter_rule_code== 'time_season_storage' else
  387. "立夏时节,暑气渐长。轻薄的夏日穿搭该提前准备好啦。{}".format(
  388. "为您推荐"~program_name~"程序,低温烘干防止变形起皱,让您的夏日穿搭清爽挺括。" if program_name == "丝绸" else "")
  389. if time_term == '立夏' and filter_rule_code== 'time_season_in' else
  390. "立夏潮闷,春装收纳正当时。{}".format(
  391. "推荐使用"~program_name~"程序,彻底烘干衣物潮气与风尘,防止霉变,便于安心久存。" if program_name == '冲锋衣' else "")
  392. if time_term == '立夏' and filter_rule_code== 'time_season_storage' else
  393. "立秋已至,暑去凉来。是时候取出压箱底的秋装,准备添衣了。{}".format(
  394. "为您推荐"~program_name~"程序,守护面料防水与防风性能,伴您从容出行。" if program_name == '冲锋衣' else "")
  395. if time_term == '立秋' and filter_rule_code== 'time_season_in' else
  396. "立秋换季,夏装可以功成身退啦。{}".format(
  397. "推荐使用"~program_name~"程序,低温烘干防止衣物变形,帮您留住夏日风采~"
  398. if program_name == "丝绸" else "")
  399. if time_term == '立秋' and filter_rule_code== 'time_season_storage' else
  400. "立冬安康,寒潮将至。保暖的冬装该登场了。{}".format(
  401. "为您推荐"~program_name~"程序,均匀烘干去除潮气,让衣物恢复蓬松柔软,为您锁住冬日温暖。" if program_name in ["羊毛","羽绒"] else "")
  402. if time_term == '立冬' and filter_rule_code== 'time_season_in' else
  403. "立冬时节,薄款秋装该收纳入库啦。{}".format(
  404. "为您推荐"~program_name~"程序,温和烘干去除潮气,让衣物处于最佳储存状态,静待明年春日。" if program_name == '冲锋衣' else "")
  405. if time_term == '立冬' and filter_rule_code== 'time_season_storage'
  406. ]| first}}
  407. {%- endmacro %}
  408. {#----------------关怀-----------------#}
  409. {% macro dry_care(program_id, DryNight, WFreeCn) -%}
  410. {% set name_dry = "夜间烘" %}
  411. {% set name_wind = "延取防皱" %}
  412. {% set night_dry = DryNight if DryNight !="0" else ""%}
  413. {% set wind_cruise = WFreeCn if WFreeCn !="0" else ""%}
  414. {{ [prefix_message |trim, [
  415. ["夜深了,帮你打开{0}和{1}功能啦。".format(name_dry, name_wind) ,
  416. "时间有点晚了,已为你开启{0}和{1},衣物久放也不皱。".format(name_dry, name_wind),
  417. "{0}已开启,静音干衣,{1}为您守护衣物至天明。".format(name_dry, name_wind),
  418. "已开启{0},自动降噪并开启{1}防止褶皱。".format(name_dry, name_wind)
  419. ] |random if night_dry and wind_cruise else
  420. ["夜深了,帮你打开{0}啦,静音不扰眠。".format(name_dry),
  421. "时间有点晚了,我会静悄悄的。",
  422. "夜间干衣,已自动开启静音功能,守护您的安宁。",
  423. "夜间烘也准备好了,干衣机会低噪运行,让您静享安宁。"
  424. ] |random if night_dry else
  425. ["夜深了,帮你打开{},智能保管衣物。".format(name_wind) ,
  426. "时间有点晚了,{}功能帮你守护衣物到天明。".format(name_wind),
  427. "夜间干衣,帮你打开{}了,衣物久放也不用怕。".format(name_wind),
  428. "{}也准备好了,烘干完成会帮你智能保管衣物。".format(name_wind)
  429. ]|random if wind_cruise else
  430. ""
  431. ] | first] | reject("equalto", "") | join("") }}
  432. {%- endmacro %}
  433. {#-----------环保---------------#}
  434. {% macro dry_env() -%}
  435. {{ [prefix_message |trim,"马上就到错峰用电时间段了,建议您预约烘干。"] |reject("equalto", "") | join("")}}
  436. {%- endmacro %}
  437. {#-----------健康---------------#}
  438. {# {% macro wash_health(program_id) -%}
  439. {% set program_id = program_id | string | trim %}
  440. {% set program_name = program_name_map.get(program_id) %}
  441. {{"你的洗衣机该清洁了,快启用{}程序给它洗个澡吧!注意不要放入衣服和洗衣液哦。".format(program_name)}}
  442. {%- endmacro %} #}
  443. {# --------------------- 拼接模板测试 --------------------- #}
  444. {# {% macro add_test(period, city, program_id, season,card_type="popularity") -%}
  445. {% set program_id = program_id | string | trim %}
  446. {% set program_name = program_name_map.get(program_id) %}
  447. {{
  448. [ brief_popularity_message(city, program_name, period, season) if card_type == "popularity" else brief_custom_message(city, program_name, period, season) ,
  449. [
  450. "你好这是拼接测试",
  451. "你好这是拼接测试2"
  452. ]|random ]| reject("equalto", "") | join("")
  453. }}
  454. {%- endmacro %}
  455. {# --------------------- 拼接模板测试2 --------------------- #}
  456. {% macro add_test2(period, city, program_id, season,card_type, changed_params) -%}
  457. {% set program_id = program_id | string | trim %}
  458. {% set program_name = program_name_map.get(program_id) %}
  459. {{
  460. [ message,
  461. [
  462. "你好这是拼接测试",
  463. "你好这是拼接测试2"
  464. ]|random ]| reject("equalto", "") | join("")
  465. }}
  466. {%- endmacro %} #}
  467. {# ----------------参数组合 ----------------#}
  468. {# {% macro custom_param_group(temperature, spinSpeed, rinseTimes, mainWashTime) -%}
  469. {{ [
  470. "水温{}度".format(temperature) if temperature and temperature != "0" else "",
  471. "转速{}转".format(spinSpeed) if spinSpeed and spinSpeed != "0" else "",
  472. "漂洗{}次".format(rinseTimes) if rinseTimes and rinseTimes != "0" else "",
  473. "洗涤{}分钟".format(mainWashTime) if mainWashTime and mainWashTime != "0" else ""
  474. ] | reject("equalto", "") | join(",") }}
  475. {%- endmacro %} #}