From 436d1917eadfff5dee5bfd6fe8f26172c81c9255 Mon Sep 17 00:00:00 2001 From: zejie_chen <1347094647@qq.com> Date: Fri, 25 Jul 2025 17:13:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B5=B7=E6=8A=A5=E6=A8=A1?= =?UTF-8?q?=E5=9D=97api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/__pycache__/__init__.cpython-312.pyc | Bin 222 -> 270 bytes api/__pycache__/dependencies.cpython-312.pyc | Bin 3856 -> 3904 bytes api/__pycache__/main.cpython-312.pyc | Bin 3233 -> 3281 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 183 -> 231 bytes .../content_integration.cpython-312.pyc | Bin 8276 -> 8323 bytes .../__pycache__/document.cpython-312.pyc | Bin 12019 -> 12067 bytes .../__pycache__/integration.cpython-312.pyc | Bin 23081 -> 23131 bytes api/models/__pycache__/poster.cpython-312.pyc | Bin 4314 -> 4283 bytes api/models/__pycache__/tweet.cpython-312.pyc | Bin 9875 -> 9923 bytes api/models/poster.py | 24 +- .../__pycache__/__init__.cpython-312.pyc | Bin 184 -> 232 bytes .../content_integration.cpython-312.pyc | Bin 5995 -> 6043 bytes api/routers/__pycache__/data.cpython-312.pyc | Bin 17090 -> 17106 bytes .../__pycache__/document.cpython-312.pyc | Bin 14460 -> 14534 bytes .../__pycache__/integration.cpython-312.pyc | Bin 16716 -> 16755 bytes .../__pycache__/poster.cpython-312.pyc | Bin 5986 -> 6114 bytes .../__pycache__/prompt.cpython-312.pyc | Bin 8899 -> 8947 bytes api/routers/__pycache__/tweet.cpython-312.pyc | Bin 14671 -> 14752 bytes api/routers/poster.py | 16 +- .../__pycache__/__init__.cpython-312.pyc | Bin 185 -> 233 bytes ...ontent_integration_service.cpython-312.pyc | Bin 12250 -> 12314 bytes .../database_service.cpython-312.pyc | Bin 42883 -> 42946 bytes .../document_service.cpython-312.pyc | Bin 9922 -> 9968 bytes .../integration_service.cpython-312.pyc | Bin 38915 -> 39064 bytes .../__pycache__/poster.cpython-312.pyc | Bin 15504 -> 15778 bytes .../prompt_builder.cpython-312.pyc | Bin 18609 -> 18563 bytes .../prompt_service.cpython-312.pyc | Bin 31390 -> 31550 bytes .../__pycache__/tweet.cpython-312.pyc | Bin 16419 -> 16471 bytes api/services/database_service.py | 2 +- api/services/poster.py | 94 +-- config/database.json | 4 +- core/__pycache__/__init__.cpython-312.pyc | Bin 764 -> 812 bytes .../cookie_manager.cpython-312.pyc | Bin 12976 -> 13072 bytes .../document_adapter.cpython-312.pyc | Bin 9940 -> 9994 bytes .../__pycache__/media_manager.cpython-312.pyc | Bin 19835 -> 19939 bytes core/__pycache__/models.cpython-312.pyc | Bin 26450 -> 26497 bytes core/__pycache__/xhs_adapter.cpython-312.pyc | Bin 10066 -> 10134 bytes core/ai/__pycache__/__init__.cpython-312.pyc | Bin 263 -> 311 bytes core/ai/__pycache__/ai_agent.cpython-312.pyc | Bin 9146 -> 9216 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 577 -> 625 bytes .../__pycache__/manager.cpython-312.pyc | Bin 12424 -> 12517 bytes .../config/__pycache__/models.cpython-312.pyc | Bin 9594 -> 9656 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 581 -> 629 bytes .../content_integrator.cpython-312.pyc | Bin 6158 -> 6233 bytes .../content_transformer.cpython-312.pyc | Bin 8857 -> 8881 bytes .../text_extractor.cpython-312.pyc | Bin 16788 -> 16976 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 704 -> 752 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 12572 -> 12630 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 412 -> 460 bytes .../__pycache__/main.cpython-312.pyc | Bin 7321 -> 7393 bytes .../apis/__pycache__/__init__.cpython-312.pyc | Bin 345 -> 393 bytes .../xhs_creator_apis.cpython-312.pyc | Bin 2467 -> 2515 bytes .../__pycache__/xhs_pc_apis.cpython-312.pyc | Bin 41775 -> 41817 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 161 -> 209 bytes .../__pycache__/common_util.cpython-312.pyc | Bin 1627 -> 1680 bytes .../__pycache__/cookie_util.cpython-312.pyc | Bin 872 -> 914 bytes .../__pycache__/data_util.cpython-312.pyc | Bin 13409 -> 13530 bytes .../xhs_creator_util.cpython-312.pyc | Bin 3194 -> 3252 bytes .../__pycache__/xhs_util.cpython-312.pyc | Bin 6709 -> 6779 bytes main.py | 139 ----- poster/__pycache__/__init__.cpython-312.pyc | Bin 258 -> 306 bytes poster/__pycache__/utils.cpython-312.pyc | Bin 25575 -> 33201 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 503 -> 551 bytes .../__pycache__/base_template.cpython-312.pyc | Bin 4573 -> 4640 bytes .../business_template.cpython-312.pyc | Bin 25268 -> 25344 bytes .../collage_template.cpython-312.pyc | Bin 6817 -> 6853 bytes .../vibrant_template.cpython-312.pyc | Bin 23203 -> 24133 bytes poster/templates/vibrant_template.py | 55 +- poster/utils.py | 199 ++++++ requirements_complete.txt | 36 ++ travel_content_2025-07-23_102402.sql | 589 ++++++++++++++++++ tweet/__pycache__/__init__.cpython-312.pyc | Bin 253 -> 301 bytes .../content_generator.cpython-312.pyc | Bin 7711 -> 7753 bytes .../content_judger.cpython-312.pyc | Bin 9467 -> 9509 bytes .../topic_generator.cpython-312.pyc | Bin 7113 -> 7155 bytes .../__pycache__/topic_parser.cpython-312.pyc | Bin 2612 -> 2667 bytes utils/__pycache__/__init__.cpython-312.pyc | Bin 416 -> 464 bytes utils/__pycache__/file_io.cpython-312.pyc | Bin 10973 -> 11054 bytes .../image_processor.cpython-312.pyc | Bin 12250 -> 12347 bytes utils/__pycache__/prompts.cpython-312.pyc | Bin 25292 -> 25401 bytes 80 files changed, 935 insertions(+), 223 deletions(-) delete mode 100644 main.py create mode 100644 requirements_complete.txt create mode 100644 travel_content_2025-07-23_102402.sql diff --git a/api/__pycache__/__init__.cpython-312.pyc b/api/__pycache__/__init__.cpython-312.pyc index 27dc06870f85f4d6e439e389da4a641df373b1be..3159eccc2f309b1ada8fcd854c0172f0bb75fa43 100644 GIT binary patch delta 117 zcmcb|*vG_snwOW00SI`1)Mk`UDJaU%N=+__2Xh=f<8u>>vNQA2 zKk<1_OzOXB18 L3Mzk1+^7oxr0p#9 delta 69 zcmeBUy2r?SnwOW00SHQ;mS*HlxNzE&9E=o--$uH7R XEXdT4kI&4@EQycTE2z9R@u4mN7dROZ diff --git a/api/__pycache__/dependencies.cpython-312.pyc b/api/__pycache__/dependencies.cpython-312.pyc index ff6f81cb4da7bb6dcbab4a4a2844e73aa06e354d..2b8ac02263d9c5737a14f5a79a3a5a99f23bdec9 100644 GIT binary patch delta 121 zcmbOrcR-H!G%qg~0}$~3sLhzZk@r7SK%9$JOiE%&VoX6%epYI7Nj#Y2=oz1zSd^Wa zmmXhSSzMBu8&gnOl98Vm4^ Q<}|k7?2NxAC-JQV0D>(p3IG5A delta 73 zcmX>gH$jf~G%qg~0}$v6mSwnaDypI@RMQj}Phn&X_GSCX1n;#`!PSdw3) cpIDHozd454l9}<==4oud*%@z5p2W8f073T|0ssI2 diff --git a/api/__pycache__/main.cpython-312.pyc b/api/__pycache__/main.cpython-312.pyc index 834e7c3d16f9e450ab31dff484181a08d93275a3..7cf96c95f253a083ab1de657a80f22471ae41870 100644 GIT binary patch delta 122 zcmZ1|c~O$@G%qg~0}vR_YRGWm+{l;D77*rQ6_b)!k{DA^l%JKFToMoFIC{qCCKhF9 z=B39MR~DC~=Ef9MmSp7T#Y0uagcK!~rRF&2=ar=9l{gorCYIzE#UvJF#w?!8#>Dt* O^E?hU5OtL64kG|5`7K8P delta 74 zcmca8xloetG%qg~0}yOqUy<>HV>M eu^>}FH$Npcr&vEeJ~J<~BtBlRpz_wlgK7ZX`Wx5) diff --git a/api/models/__pycache__/content_integration.cpython-312.pyc b/api/models/__pycache__/content_integration.cpython-312.pyc index e973d15d8eaa34ffa524c8aec1ac75389f85a197..0092f1e7d90ae6ca6426b7d3f2806bdfbb096beb 100644 GIT binary patch delta 174 zcmccO(Co;2nwOW00SI`1)Mnh@$oqjUJjcZKPxr4Bp%Fh^o-9xFlt}LU4oOcJqzqTP=Zlhn6pI@RMQj}Phn&X_GSCX1n;#`!PSdw3) zpIDHopPQeOnp3R5IfVTJBjc^fs+|5x@<0P#F#Kp>xFBV_GI53A2E*;<8_l;`&M=&B eKGS@@<;uj#Q#p?_uS~qWIi72RC{Wi2`N;qgW-o&P diff --git a/api/models/__pycache__/document.cpython-312.pyc b/api/models/__pycache__/document.cpython-312.pyc index ca9bf22685ff82ef7560592da3da41d0e3fd75aa..7feaf92415ab068fb4eae13bc8f2ff0109132411 100644 GIT binary patch delta 122 zcmewyyEu;TG%qg~0}$~3sLjyR-N<*1IXuzDDkdedBr&F-C_gJTxg;LUarBJOO)SdJ z%uA0it}HG|&5bFjEXl~vi-)R;2`Ne}OU-f4&nrpID{(GLO)SYTib*WUjLFSUNzEya Q+04zNqQ&@YvVq=V0K*_IFaQ7m delta 74 zcmZ1+_c@mDG%qg~0}%AAF3I?#y^-%4v$~;vQGR}jen?SbS!#}ReqKpxUWs#2YGO%# dk$z%9rhaaIN@`BA{$^_y6)nbFlN0m~0|4R`8vXzP diff --git a/api/models/__pycache__/integration.cpython-312.pyc b/api/models/__pycache__/integration.cpython-312.pyc index 72f2ff704c9ae2749d23233644f9856c3e301eae..3efba98599c04437c906be6bcf8a60321aa8f2fc 100644 GIT binary patch delta 153 zcmZ3vh4J%!`^)(pE_H3ii=fDN@7W3OhHk8R%&udJecF?8K0Y2 zl%1KE9$#EpT#}j_Q&3rwk)Ib2RTUFblvtLU-m6=MM&pp6X-3mBJkFXUd#+rY4SwTg)emH;M!wU$yj%=GFpIe?W0~tlK6N&A6aAw6{1W|;qQtV)9OwMJlGMBs=c3fa zlKdk5#DYxy-29Z(oMQdWJ#4&kjJGDwQZeQO8PUM7fN?qZLhdEJoA0Wam@wYjEEMU< F2msl?A(a3C diff --git a/api/models/__pycache__/poster.cpython-312.pyc b/api/models/__pycache__/poster.cpython-312.pyc index 9a06ba79d4c299db1262ad7dc2a84f4544312f48..7261658746465f8ba410c2a343b04dbb31ab88dd 100644 GIT binary patch delta 2041 zcmZuxTWl0n7(R2KoxOEiiY-uk#de@ASO_I;qiM^nq-hgV9^9;KhR)Eg?Cfr4riOiS zYg&v(gyJMpl*Gnp6d}e$qYwcTpGZs$qzzf-1s>WWPl8k))Cd3nEW)yOcF%Xt`R1Je zKEGH0V}0nCU{E3O)b5xXKdPJxRpoBN?ljR!l<17kCK;2BvJ9@dBxmwb-V~yODMm$8 zib|B{ld|cH`b;INFoY$0i7reNT{L{>Ih0ID)K6InShmQpCO%q_iLCKoK3H zY!KK`5gVp#7}&BRwv4h7V9SfxNVY;CSz!9=;NqWWD)XvqcOnn$d)FzuNL z11^1bZuz^SA7eQxo}+~O7Y-dD#LFTTHcadLU?hr1t5 z7w#=ydT;skF_rZMC*dRwPqdTiF)gLa7HY7{5Y{2AUxSD~TNMa&8*#rEcIV=|x?;NK zXt9iye%%;#;&jtH5H~gJNFp^Bx3jimn6XUO8BeF;k59!$EbR>=*`H21M#|~849!Vf zF)fpbnQ7ff+ObR;ZdvV_tS7>u!-+Ag1{7DpusZ;z$(=xD{`uy7uC5_p-;m$9DZilx z|Fv~@Hniny4m=RJ`tk>nKvn2I7phTi$kkReTCM`9l~x0;8xfiSJSiU6)1&dY&B5Xdl~h)WEP$0bruQG^Py!x#LabUI0uTQA^g zYD){QurMeDVPXI5Mx=F>4b5Nj*Sm%m8ipqaXIf^roobushuz)MiEvm@{vZGa0e)BW zSG#{p(@DRw}i_H)*UUkN@vRL1^15 zLOYQ|z)abd0LREJz9Ap3m>IkguAk@Y^JNv&!v!BYskW`kmEP5~QSsDz>IYR`;zBoS zL+Etd{cUyB1>BCpc=F&yd>$TkUsRgiPyLm>K7%)u!z}gz+6x3-eB28}!+$|K&(I4b z3LWd|NkhmQ+}2E@++Y0znpaNx&7B zk;m(aQODYY`w~C^UAC F`WNjB)I9(I delta 2013 zcmZuxU2GIp6u$F6J3BkO-Tu&)vbAL^9ZOjP2}-Rd&{Em}g+_dEA8fXrp={irIx{tH zOxz}I`SF1+xesh94~UWwF-p`#i~)ZVW1=sRu1R-ZFZHDXS3HYmRJ4 zsFYR-?W=J1QC1_Yzk<~$8z5{=1?$fQ^;*m_2k{UyzzpIXGbkyhw}~W(i%hFWH9e-! z6ip2?Y=__{D=+S1TZI6%juWefS~k0#3zByW?ADH2v(A)^re2~!V>XkRTW_*ZG%342 zBkC<~J$_E8$A7RVS~NnI7Vnm3=7;)A=Po_|@P;eLld%bN$gsa0;~E*phu`B*zbMh| z2>sPbj7!KwQHERr3s*3K4DK3Z@P=TBhIEBBx1b>9i9$X~o_#6MgBFW2T%w%Zxc`D-xTGN0Mp7OxTghwC$MIuE~rm5~ow~39E%@ zY$1R9c>=TOfm**D+TpfzEVs2k*w(Wg>R%PO_TZ{VZq%M~$~NV`++=~P1t+FASZ!dp zHv(=a;7X&TMtXd7)RKYH@T%Bsl5CMB0zjL(Ts-Ai0a)??0zeHw5TF)-R@O``mmf=~ z6Ev9B0dHvR9bmx#QBa9t|BT;~nw!J=jqttRqlNIX>A`cSb56eRV&=Zqw!|O9m!%7S zub}*i2$WS6oboi`6Y?x+hTmkpw_FOSLM4_C@B%;=KsUgq6e7R@gmI5&mq>Gq5Y>eP z)wG~^>RlGxSw(OkZ~)zSPzjX<_t7-xlsi>LsR~Vyrb=UM%CZMU0rub-Z+BU=2Sk}K z@QAzvKl9dSc{p*Cw0e2K$Z&c-m2NVGB)_O)%H{DT9&%L=m3a8pH9Y@$XcZcMGhp&& z%_(->O98KpS6AJJ6KOo6zQSmDUfsi}_(!!Xt4`UbF|)3Nz;iL zF()>x2iH50h*iBd+J=4b7LLZ{6LH(I4#Aq9+yGc`HZE_(#~tf1ta+3rD1f=?C=UP! z09))a0&}Ryw=esHGsDY)+L`0Uuzqh}tPmc%$2a8p{A&xIC4Q_J+J39Q5ZXU|G#Ad< z7xg86f3a)#_jQG?f$8B~e?D}-u5*bWD7J=goh-EWkk+j=a(nY!?xpjo0^d{a)&sN+ ze(=3H4%3f@b*XCQv;j7nVpIM{$W99YPQ(Ts$iH)03+DEoj~DnY% z6`u(aGLa`UMl9vT$1V7Lmp?T0V?f7|ju4GbFN;=8!~H)6SMDX>#Hob&sx<=ppw;a- zfu|h9Fsm}l@Xut#bT6TuzoU*dv4K(YLu-gU)^_8`Kvu*uC&Da}c>D`Ep$%?QNBAV+*)W@MbWmKy+lH8nv1 delta 77 zcmaFCxPy`RG%qg~0}u$@Dai1g$Qx*4q+gVuU!osUlvtLUKPxr4Bp%Fh^o-9AF6KPL%Q$bcgSf5i4Rf1o{I)Aft_Uby6wq1_a#=v@62I*Q4%?qVYVrkD|IKg3 zZP^*;0u^gc4v`lTzG3Bbjo*1i`4oPTdUcTc&GquXSQ)2H($Q29l)f&geNj;RvY>7U z+YJ+|Yy8$LOsDW(6i{2hdRaj2(&po;7Ho{uC+V1p+^}`K#_zsC;);O6MFE`!7MBHd zE^YSHNnm4~IeDRt=Hwej{36&~xB0)31~cOfkQyan+3UiF7ljQsXk8Yz?cl)XwsNzl kOc2$R+bsEovAJoD>Mu^7|4e}!5H?5p5^E>ae=zR^=7HX<~Jm-+H6l3ezdP7X{Q7uwE8W+u(L_^J`TLHtyMI8hmwlC2rcf zUFLV+8M#5?ih#mJ0i6XFmj!foL|)vSr<1_OICt`SBMaQFl{VI3W}E|519B~klHo;R z!wp)Og>5@Ha5=o+>?spe$2?1ZoX$O9`GpB=x#r}1HvG69$!J^0$argWgIy2{05}Vv AEdT%j diff --git a/api/routers/__pycache__/document.cpython-312.pyc b/api/routers/__pycache__/document.cpython-312.pyc index 98c22f6a45e5a8377beed89754b9dc89033b9abc..24359acbbd8114563e4104e6528abc0587a8e621 100644 GIT binary patch delta 400 zcmexUaIBE;G%qg~0}$~3sLil9+{ow59+Bi?6_b)!k{DA^l%JKFToMoFIC{qCCKhF9 z=B39MR~DC~=Ef9MmSp7T#Y0uagcK!~rRF&2=ar=9l{gorCYIzE#UvJF#uVk3mZTOH z$84@-7vNyrJh_WsR`8;>?KN?`1wnIIW(3XUxFl{jc_O#i<}3VfMH$adKBPL0<1(-B z2L={St;x}98q6TNU9Fh|NP`783#yB9GWJbYH!$FMAR+sSL5Np;a+E<4$7Rvb4-9OA z;*-xCI2Z$IFz16LQ2L_=gNWQ6G35=+7i{9Mh$UPQNch0Upl5MS(qaYU48<94vo$YB zT1<8_wB@|4=JbhySGwqi$O%=qOjo#H6ZbUgF#N?69Wscm zEw=d||65VU6O-SlPGi2p>pQtiO@oDj&yR8PR<&k!5aR-`?`8*eQBKC<$zcWt%#S5x zC-)f?F<%i4oy=kAV9X#E#&|(A^n)aWq})dh1`)YCV#*tsFWAIi5lgrrknoX>LC@l{ zq{Ygp6^t_!XSmJQToE<7+R&Eynwrz(gN80*4C>B|U$_`VG%gAou22IKpE(%hG$tz; zN$CLT57rFw20y+tgKW7d8v5sx1cQ|22PPIVzMmg77zHJ7ib(wa%n8vT!T;j}6GZIS UN08X&$wsT07;kO1H*IGI0O#s(EdT%j diff --git a/api/routers/__pycache__/integration.cpython-312.pyc b/api/routers/__pycache__/integration.cpython-312.pyc index 823d171169fb7ec285487e9b12ba54dcbb38ca8c..461a2e5d582127e08375b72053269440b7590fd2 100644 GIT binary patch delta 232 zcmX@p#Q3?1k?%AwFBbz4@cyXHP`B8~_nXr^)x|0%C9xzirl2T4D>bL;LFBTj|8<$zh1m;IR=8dYkC_#6 TK_+(dTfIlTKtnIs)UW^mOd3~R delta 193 zcmey|#CWEOk?%AwFBbz4B=VGHtT5Zi_nVX5RKF-czeIns1D6P|equo;kXu@kT2!pR zIgx8M7vrtTyrR}Jl0ZE#7=AP`T#$CXsBXSMafji4%iWf99D$t4iK6<9w>D1{03o0K5`LH~;_u diff --git a/api/routers/__pycache__/poster.cpython-312.pyc b/api/routers/__pycache__/poster.cpython-312.pyc index 65a4290d550b8407c4ad45a57532077101e1ccf7..3149d30e5839d0ccadc4d9310def11343c5de45c 100644 GIT binary patch delta 449 zcmYL_K}!Nb6o4}fQd$!w3^$Ceix{Z~3Cf7dBBTyNAs!aiX`OUycV>Az3Z6Pd*Dlt- z=n@Ojf9SM_Q1?Vhyf^RhzBe<@j|;I+Ns7+#GcG-J;)%CdBiv}7?5Qop zkZJ?H#X8f1u%+64)}ch3cBxl@df2Q`!Z2YKz=%;$k!`3zy9|S) zx=-PsXht$D)W(i>jU2pF@?)fHX*~o6Vg@D7;APpm_oIBgZ6b!NEnl)Jx50F-AJHcQ zUWssXtE)2}E;%|ThJI<&Ae$(TCkBZd>i+^iaYI4J7p8TF35LK5asB~*w2sU!J_Q); z#z`gTt>#AZ#!xPLa&eT(3{zPzm7N8mRPf}&D6I_Bc`u!xH7nVnQudUx`yGFr-|{2D zHk#3LAi+JbEsz%|2rLK`1&koR E56T{&A^-pY delta 306 zcmaE)|45JTG%qg~0}yQ8Uy(6Ya3fy?i-v)IQGR}jen?SbS!#}ReqKpxUWs#2YGO%# zk$z%9CQ!DtB(ddtFTZqL}&(S(WRurWa*RZzyV9SG2vTXuCN@u$4&_Vz>~QuDkdedBr&F-C_gJTxg;LUarBJOO)SdJ z%uA0it}HG|&5bFjEXl~vi-)R;2`Ne}OU-f4&nrpID{(GLO)SYTib*WUj48@5ElDjZ Sj@iu4Vj#=-YqN!7HzNQt6)wa8 delta 76 zcmezDdf1ikG%qg~0}xy|TAHy|dL!ROW(@=VqWt_4{g9%>veX>s{JfIXyb|Z4)Wnkf dBK^dIOrUIONorBC{$_I)16jsfn==%<837n)8&?1T diff --git a/api/routers/__pycache__/tweet.cpython-312.pyc b/api/routers/__pycache__/tweet.cpython-312.pyc index 8108c724a53a2d5327ea33af3ded41fe6c9c2bb1..d2593e8e3941dcf37702f8672d1420faf1017c9a 100644 GIT binary patch delta 277 zcmX?Kw4j*pG%qg~0}$~3sLe33*~k~oVIJ>d6_b)!k{DA^l%JKFToMoFIC{qCCKhF9 z=B39MR~DC~=Ef9MmSp7T#Y0uaOfKLM;f+Zw$c!naOWoh>d91=Ig)IjR|87IdI8nS>H z69q+q+Lb`UevFe>3K}SZ7$EIJH>6aqOIci$ve+SYS<0n@|Av? b#Wx2_crr3G2uW<7FWD)>cx$t!SvfNREeA9{ diff --git a/api/routers/poster.py b/api/routers/poster.py index 802a606..6e650c3 100644 --- a/api/routers/poster.py +++ b/api/routers/poster.py @@ -95,14 +95,14 @@ async def generate_poster( """ try: result = await poster_service.generate_poster( - template_id=request.template_id, - poster_content=request.poster_content, - content_id=request.content_id, - product_id=request.product_id, - scenic_spot_id=request.scenic_spot_id, - image_ids=request.image_ids, - generate_collage=request.generate_collage, - force_llm_generation=request.force_llm_generation + template_id=request.templateId, + poster_content=request.posterContent, + content_id=request.contentId, + product_id=request.productId, + scenic_spot_id=request.scenicSpotId, + images_base64=request.imagesBase64, + num_variations=request.numVariations, + force_llm_generation=request.forceLlmGeneration ) return PosterGenerateResponse(**result) diff --git a/api/services/__pycache__/__init__.cpython-312.pyc b/api/services/__pycache__/__init__.cpython-312.pyc index 95178cbf213a5f5bded0fa3f0a7c640b71e316f9..fbeb6115ff024c15d2b3696e83fe5fc7342840fb 100644 GIT binary patch delta 152 zcmdnV_>z(LG%qg~0}$~3sLk-3$QxLn>|zy@l30=$Q&5zjm6}`<59T;}#^)v$WoPE4 z#}`)?m!#jYXElIY~;;_lhPbtkwwJTx++RX^W#UNLFU}l`SmInZVXEl@n delta 78 zcmaFKxRa6hG%qg~0}wnsUXbBAkvGuPSidMgzeGQzD6uRx$2mW*BsH(ZxhOTUB)>>M gu^>~wIJKxOGdZ{Nj-80%ZZTl(Wj$Vu&n1^%Y9Kja`SmH zZblw;xDwsm$uGram~?YDvrBAeVVp2|zswHK2hz%)82ETI87EiCPGSKuHuK9(W#ql6 zZ1atmT}kW%4}+}2oWr%r|RZQ T+I)=6AjV^zP9~uCT>V@C_L++( delta 354 zcmbQ0a4VkgG%qg~0}z~+D9gC4xslI|RntwsC_leMKcpzJEH%eDKd&S;uf(}1HL)bW zNI$V4Q@=R1s4O!%wOD`iT-GlFjJGCF67!dn2Ac7L;YS0*1@*{-oI6-fgq)8)9le5O zJ@;DfgPfcHiE%UPYQfd$=3Y$Bxey({B4vHn%B&qG`)zmHUexnAVRGL3r1e$3Fre&a zV~Oo7jIEPj%j{r&EUi3wjqD_51{syjPI6Nj`7bHkeCB0W68p%*pkh12dGZr^MfML| zK=w!8$?OW6q6axIt4Cf|iM%Wybw^A0BG|gilU)@e6t4%*Z==t!ggwH7Uo*N^0FK r4AM@Fn>VOQurel3KB?`P9~tPwfeaL7V&>Z diff --git a/api/services/__pycache__/database_service.cpython-312.pyc b/api/services/__pycache__/database_service.cpython-312.pyc index 43360921243422ae6bb5d28a40cec67e03e8cb0e..9298ba1209f8df21ab825ab467859c694b25d699 100644 GIT binary patch delta 288 zcmZoZ&vfWK6W?iGUM>b8_^aQXp)zqJUp-r7wu@CvN@7W3OhHk8R%&udJecF?8K0Y2 zl%1KE9$#EpT#}j_Q&3rwk)Ib2RTUFblvtLUz22%wA+Os+g&jA7LlL`)kJo69$7%PZJ@B$VM zXaV3fJGe;EG)31mOVKn-)HF@hB4N=qO{qkvL8x)iQBu%WVAD}xpfR9fp)}AmO_R$G zZv)g7Dw9GFB?AB!E0byuB_seCEA%n|2@j79i44#cKGX<5*bfu=^Dh7+VgdIS02V9I z6)Ll~58(j;+LM?O#{qhiU=kGpo|AhLTmt|bDYM!VG8X~bvkfX=ZUHj0ZI~Pa1XO8l PWwVT$*9-yLlVqn}{5D^X diff --git a/api/services/__pycache__/document_service.cpython-312.pyc b/api/services/__pycache__/document_service.cpython-312.pyc index 7f1006a8e31e3955c59da03084f0fa1b50a36b36..18fb76a5a89ebe82b6d8bae7c6cf3b8f34644d50 100644 GIT binary patch delta 188 zcmX@)`@xs*G%qg~0}$~3sLj}{v5~KWB{JK^DkdedBr&F-C_gJTxg;LUarBJOO)SdJ z%uA0it}HG|&5bFjEXl~vi-)R;2`Ne}OU-f4&nrpID{(GLO)SYTib*WUj44hnD$7hx zEsoi|o@E|CqugXa5iyPjvg)50IC;err33AE_eGp)fl$oq7 bYQ_GE8N?Nv%)^tu`GV*K0mfgG6V(y{59>h% delta 142 zcmez1d&rmXG%qg~0}wPblx56Q-^f?NqG_#Pl%HRsA5xT9mYU<7pI4HaSK?fhnpl!w zq@P%jsb8F0RF;{XTCBhMKFd6QMuo|BB4W&sWz{Fo5z%F4kkgoaMxGsIC@ z{KE#2mpxe+23^T8>zvsjr;$0QELk#)G3jy5+L$FW|I$PU6yg^CFg}Gzyg#1L?|%2a z-+iC&-F>(icV#I~{1Zhb0(?-g=<) zdV8GqPWO=8W9u^y40#;=&dwJqbGyrO-gd6G-|4YAJ+&^I#nbOHTLyZ}Zky|TPnXSY zW@pLENpK5krFVt1$x)C>>CvCk_esp1Jdl%*26Hpnk7T2XFo4o>+)`fG8kU>qPy5>g z`n9)Ce^M8eo6%g(Et1Q4H421OIclMg5}52L{WAe~Q3vD2YnW-xO2=FJ9XuZaYw~(O zylF!ga0U;_tPR%J9=1wBWQecVyz3bk2FRw9#*k3e^ z0PbEYY!Syo8UcZ}+h=Z^83D*t_&E2kz1Dh~)F+H6Rbi!pQyRj`Do$C&E32a*NtB1) zEc%wfWK)ZW1bOsDT+N4l9G?q4i94 z6r_msXuiCQz+{CLKZ+Dt2R<~`fF;;r3U^re4$GI2(^%0)&7J=VRMr4}AXqSRDl7Z2 z_B%-PW$hu2mCv(2&QalJz!TOsa@xkQww2Si^4b$2cA>s2;YDaTeZw6C4(+ApO1R6O zXnu-cFk5|!fg~@lkAisWWn}NTMqsjHQ*E+LvbTi*eVe(#EG8}+`Bz>W0c^MJD+qNc z%icxu*=11xsUzqEJ59uR&E7<=)5TFBrZUim{XP*R>nIoTS*2JhIt$TLM}r_%u!f$L zxV)*oM?6W%exfd&s`SI@>R@u^vH&le2_Qoi1p-kvvh`{SOm?RCA89^wkXp^~sw8N7 zJ8ZIYCTqyl9dz^r`!1|GE<7mVYKGDGBde+U|HM%MjIb>Z&0eI1Tl+P8?_#D9ma&g~ zVpzasXtqI3oQUx?MzU4DHzJB0U&~GcP|*I2Fsyr9om@8DT`FrK2p{#s{IMqljf5?r`D8p5v6*I63Wvy z#Xu_a>lY=PDL`^)2M8s)XGHA2hN;VmF{@kqhJTw{C2@NzHj`bPUWv#5_2A5H>H~0=3@Lf5i&sC- zSzR+nBVEzzmFJGW*UVa7@O{Z=m{(T9Te^CT3e3!+?mJAaL0BImF_(5}R7BDP^v7w$ zsvVr6HlmB0zp>r2P1{KVC+Od)Z=ug%!AYeF<_w1wsGxE)6R9+u+7UT97n%w2hS~&^ zw?i)^{cOA1vn8b8X%y|e*8Nd8T-} z8>5{I_B*YMt+$_L4|TC_|H>i%?7+N{d053!)Jgc-`VziwOn{;KOIHH!I#fd5)RABw zIC@3@IzVi!y;%#MwgzgAdAIG?Olp=ndst85q}l=3-B*Q3(?T(BPg8cD^dHM~*YqFi zW0`R~U(v|Ke4kTP8TkCYI9Y4~)~~}zYlTgJD_++b!4X)*sMG`*!8)8&Rl$K^3r2+& z=3-DP(2hRocVAk3pRO8jh)@%I+3be6kc3Afq%4Cw$4r|c_x zo+Bww59jIOJuk9>Ap7#EmB6Xn=4C%<&n)Fx|6^|;WT!d>Tw4GhpV480jP{KJF@>1A zcXBDbsx-jCb1IxtS2F|W@<~B&gYakwr>fc^f2VNG8@WiXh*Za9 t8&V`I+(crTm1x{v56SUMVxpDe%nmp)u_PijPG(~qlMCC(*APuj{te&$cR2t6 diff --git a/api/services/__pycache__/poster.cpython-312.pyc b/api/services/__pycache__/poster.cpython-312.pyc index 65a876887c977fa181b8881019ed92ae735cd982..83e6a3bfd2fd57df5e85ef2fa11f56834f5fa281 100644 GIT binary patch delta 3816 zcmZ8k4Qx}_6@J&x|NlRUV>@x;#KFcPPDq?TLI^TRNtzT05Llt1#^k*O=g;naFVMg< zv}J9>*0s>9wQK=3tgNMlc46tXXst9@X-V6)wHvg!PfVhly0T5vOp7#$w$kpkF;K3o z@1Aq+Ip_Yod(J&RGV!bZ`j2!vHHF((b%%C;+;~oZNCJ+d=OupzY80ZqpcFkxR|6UP z9lalv&DKa?1>3^y&3#Om5BJ4jbcpTeLm4J`e`queha+QyA#Q@>+0nk(1iw2v7P_U? z*9*gY*pasA7|)LJZIBJ~QP>xbMfx}v?uqoXTpt4RWxze_mrv00D!e4_O>|aOVo5c& z{iUpZrgXYyy7y$`>EOxc&u0IodIR`0yTfD52n&0{{BBXzKN9A+_2E%g)G#d94fPl5D>h?4=&1w^4h6 z&xrnOSYK0$)m&e_^M@~Ij=JtT4c9*=UvS+%5J>#_05sqZJ!SMrZ-T0uXvVk<=+G78 z2GnaRbEu&Uk3w=jq7Hw(*hrXXLy@t8D0)^?h^9={YFL8@IdWOhzf9}o8wpp7R++;! z&V_=;No^{>Y%$-H%=b+1U&s$ks=qK4o@~CNH9z;j;RlX2POqHyC#riA_Klado6x7` zI!W4y)>?RL(AgHC-VGSqJ@iG1qrH^ASSoAx%qA=b0EF4Ac^;4_sv=w{+|Nh$us$g) z!V|+blxGcqF4Sq=SagW2{&Ih$M`*Wp#F(aD;;CP8yhCn(Np&d^!qxIr**8eVqG7T?jF(Gy^h ziW?bS+$2y#r6^dGXBB{8x@~9{%+N0whumbHb`!rO=Rz>&Twp^lF?8evjQ%*CqXC77 zeb_ip%P+faYeau6T1^{xKl-<`2t}RBrXh0K?rDrM=LJXAT~qUcoZ?U&3OO98rBbP9 zWQ^HC;gFKz^&8Q1#g%!CWlGBAosbAhP9jJ+7hXvN`od`eO#}}%=e*qM#{eVaNlav# zaC?3x|2WN9k4raGjnonF%#@qr9XTx=)AqQYcjkDU3-lzib8F8;wJfebpvRUQm<&bY zx+fdh_qci(yOQTz4Xw^mcY3BE>z=Wlwdd~DokNx|4!rfCuJEo8rAL1)wp;N0ce2SF zG|nhRv#OF+bmKl5$>+^CLFGTmRUX%4xc2JHUrj&$<*9Sm-uiX3%SVff{%jr><=Gg4 zgJ^%5PnO9v=v3Kg%^&5-5BNBH|Q@wFx!UUlwuDwinb zBcnK@qo26zw~1GY=Jd9z#qH0$|9mDoV85WWl6s6G^I|j+!hJM1! zVlXnsi^@TEjDVxiXSEjx1#Ud0k9J-FKS$LEVOHaXE``Z2FZ;S6~@(jq{-xev6)8vQB;+D|5d@ zo0mMh$*NT?y=o|0GlqHceysw>KU@4|#VSB+2-RpuejKT&M<}YUzdLCQScH60~>fsCSFn{hhVcyh?&) z^Ey>$H9c?DcUI8z<#HmakP%5WP3T%xmz|zp8MJrh(I4i?F!Q0E42beupM4C^)Gx)5 zYb35_txLZL@~1HcCy~8kh2{l9l8}dEXh%gSID}rQD3M6P?4^niK=BkAAm4VMY@8qP zH~Hk*Yxfe7$IzRVOAAk7Qk3r+9~fXENA9G{<$~m$hEJmFm2Tje&G)Ya;B~aI>QVXY zM1BT+T4e)Ip=(t>;6mo=rzK_5*{SMDAmOFx6NPhyT2THlgQzG8B`Ai>*!rHv*dvsn zJO!QwaaGp3K$ER3?&Kf*EKoy5BvO*$2l)AHwR9i ztK(|C^b>j~(4wQY7M<=cKMr)RHlM~t68fOF(EceSkE;);?Y2B&HxK&0)~_iL z)MO^SHyf%C_<#e20{#}#On>%CR@pq~cHzzBLXU@zDw&!j`w zJ{?gb)hxDZ##LdU%h!u*hllXOMa^Afq8c+Hj>i@5=uNQyCWymf8LJwAbjq>H? z>W#^|p8N_dgC~d&Wj8xfHXNr^LR z4Cf*i{sIlxhZU7LcXJvETB!FqtLDlUY^x@9sglaYlI6*g<%yd6&clV0u7tAab7XJW z8@!^_Kc_jYIWlmp_t@Ga8!ju$({h<=7^EEa2}jkUqdrM~tLCH_Cc8;Z*L}GAnE$k9 zI-aoAU)DCDvkf+Dnxfhy9g>76_zgvQJ0<_4sM1ae`nch@65KuBSa;CgX#npQRjf5r z7Zs%)CDg^Gpu;J>=nEP!^Ij9c!|$!IVfuX&q2D*FIvn)-h4mfz^d+MVOD^Thu;h}1 zCbSb^%}XV!PAz?DsiRXt&r68Tyh4U0^ID>_-Y0>>_>k7(@^=^q4TY+k)*t*aIW`3W z3xOU2n+TBX07+E@Np67K2yDS1()c}rI|=)90_4?!S^|d%Jc&V+4U9y?Jba1>1Oo36 zAhDB;ep0AGy$Eq@{npzf^3B2Y{Yci~s!cNL(xO2XwuO+R^$n?~*sNJ%DA|O_Qzqyzmp;iHecv;2{2M2oIA(APECrAka=A zhQ4p!0y@yi6b6h_>!kfyL(I_)M!nVRIScOz49ElSAo&a!NNdxIOT2$Av P&cI25?Q4o)W-0#%`sU>K delta 3546 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 Roh^Hnhxx$xm?D^5{eM~4v5)`& diff --git a/api/services/__pycache__/prompt_builder.cpython-312.pyc b/api/services/__pycache__/prompt_builder.cpython-312.pyc index 6b7f46bdd080c4ed89bbf829a93f80808a66a1cc..faaf8fdcd0b741ca959b9130e87e711fee5a5337 100644 GIT binary patch delta 466 zcmdluk+FFqBj0IWUM>b8;QdjX;pwxHuZGn;)5R(#C9xzirl2T4D>bDeN z4fn~G`YMc{CeM=zX1h>Ob4|T=@@svNIz?G;whLu-*EH%Umm7ct?%Miqel07^%lK>a zf31g1jP8>k>h5GiG5eIBiui@3oNM;E7b4>hC>;nrVRkU~fd3_jkV})f^`)`do2suR zbs?+#nq$RUK2P!TEgk5wGzu*>e$tm*Em0|3vQw^jfE delta 501 zcmZpk$hdJLBj0IWUM>b8xNx*IBh_moUkxj}rG8OS@F3>xlC5YA*XeHD%m5b=+bcgX~EUM#4&tX>NwC*RNq>Mf|b zIN8e9oAY8>-DQn>AUV0)7ARa+cX9H1TmQ|!WrcYeZ*At+e#pdFIr*dRPEIU#U(r*M zy_l49**+IYUWkl4pmZSggxSH^1OAsBLM|lbT%63WFHP8W(fV2n7qiMQJ5~V63vp=& zoDNi62nf6A9)7_s;*wM3g{<<6ljrLjWAnlveHF)xF{ziW(}3iKkcb^g2Sg5}9h5o1 zcge>8LQLvK>$J;;=@(_wJN!PdF-XgH@ZaPXz9FYHKXYa#rq?&u7&!AVZkc?*CIFjd S*u!h{dfQSi##@tBJ>mcbJ|!ewONGCVK%f3lcbeiZ8SAEn`>eeL=e~) zQ3v||SVX1RC-+ak`V)mD#Kb|D3X=L0{kl$bOCmaF3iYe==XpP#=Xu}v-2MSyE<)85 z%Vq-n*wk@F0#t%murHnk*4`&^9FSboP-0vNpX@_UV(fq!Y zA8#0|A3Gdt-4$!^nrZEd+N1nkN34{;qz%$D+6oC!nlcp9nka(TwI(w$Tv!hn^##>w zRV@ENoc4+8)j#KLz}O9wd6<^g2w$}!IjlqNIs^7uF9Alg0Ug!t&cQfG5=jLLij!(m z{;cEZ=>mMXoH3%`y82>_xSeB+Zj4&T_Q%wlV)UkD6%i4ou$MD1FpQ3yo-iU;o&Yr4 z0@1p%b~Op4JfOEE07Gi$%Ff70AQYM(E8u-(ui1iD*#iHlhHY&!q7vTOx)tyNW)M%T zPkVl;S?=E3SgVA!$muFq&Kj(X6jh=U3-u`I$}f;e63gQ7(IqM=6X>hvfr<4(bj7uY ziyImx0QHVZ`zN#Y;mF;QXPSG*qOv4~Ye>;BRTMXQFu~xQJSkI~%E#6E~uNETu5IWlx9$zdNH z8k|c>71oeds)b+f1qO;}ZpR~hs5t>x@=^AV?dbbXkBlTjZEKSPencnt5C;C<6~^V| z?%R%=3bjN7W5uF^;;hmtpj(56`NoU{K(BervLut3&hf)C5(xd>uV}a+*!qo77uVF_ zJy_EVyO^!HqPVEIs*Go^#W%4ge0v IsQhT;56Id+2LJ#7 delta 887 zcmZ{hO-vI(6vt;+V0S6~!gl%Es-+a#E?B@SAQ(fS7E(|!V$`Uy)hdWmt%w0lG$uxr z1L`}7QDF%OAo!W};K>9vk;KbZORQiF9!)eBi&jmHP8&(QIEQ&}-v9mnlQ;AD8y@V z$l?Pao9|L{yag^4Y-5nY8s*3a9}6x~Buc%7cW68W*ULA+L3?MS@11>XLRwqmrSUM4 z;E8=C_=y-(!n_!~WvgW-}h*H!_)f=NQs0(N2UhBEqBi4;Ij5OTWz06%s7!-Bevu2F0>C(4_!dTBp&wcIaX)!rQp}cwwXX;*XGiLYnv2aoG zJ@R diff --git a/api/services/__pycache__/tweet.cpython-312.pyc b/api/services/__pycache__/tweet.cpython-312.pyc index 2ba49f262d7ee98b00ebf82d8a978b4ee5d2a7d5..32eb1e33c584680df900c558e7ccd947395517b9 100644 GIT binary patch delta 339 zcmZ47z<9lZk?%AwFBbz4@cyXHxM9DMZwGs1f{Rs5N@7W3OhHk8R%&udJecF?8K0Y2 zl%1KE9$#EpT#}j_Q&3rwk)Ib2RTUFblvtLUN6VazQSBbA#+* z9>!anU9?OX*)HqYUzduQ+^8+WBo(oFy0#K0VP z$bZvHUYK#9A(?d0Fh;Yj9m5O(-Lr8jGyxyfEI-s5SkWv$p+ulTpmD%4$Pd#)SC}!F zVVN}0EI+fsD2jjR-gf>aj$i$b+A{fe!v>jFH4*u zp;og*HSPfcgOf8ixdY=B8 diff --git a/api/services/database_service.py b/api/services/database_service.py index 8d61c90..0f42401 100644 --- a/api/services/database_service.py +++ b/api/services/database_service.py @@ -1037,7 +1037,7 @@ class DatabaseService: errorCount = errorCount + %s, avgProcessingTime = (avgProcessingTime * (usageCount - 1) + %s) / usageCount, lastUsedAt = NOW(), - updateTime = NOW() + updatedAt = NOW() """, ( template_id, 1 if success else 0, diff --git a/api/services/poster.py b/api/services/poster.py index 37fde4d..473a366 100644 --- a/api/services/poster.py +++ b/api/services/poster.py @@ -6,6 +6,7 @@ 封装核心功能,支持基于模板的动态内容生成和海报创建 """ + import logging import uuid import time @@ -62,18 +63,18 @@ class PosterService: 'vibrant': { 'id': 'vibrant', 'name': '活力风格', - 'handler_path': 'poster.templates.vibrant_template', - 'class_name': 'VibrantTemplate', + 'handlerPath': 'poster.templates.vibrant_template', + 'className': 'VibrantTemplate', 'description': '适合景点、活动等充满活力的场景', - 'is_active': True + 'isActive': True }, 'business': { 'id': 'business', 'name': '商务风格', - 'handler_path': 'poster.templates.business_template', - 'class_name': 'BusinessTemplate', + 'handlerPath': 'poster.templates.business_template', + 'className': 'BusinessTemplate', 'description': '适合酒店、房地产等商务场景', - 'is_active': True + 'isActive': True } } @@ -88,11 +89,11 @@ class PosterService: return self._template_instances[template_id] template_info = self._templates[template_id] - handler_path = template_info.get('handler_path') - class_name = template_info.get('class_name') + handler_path = template_info.get('handlerPath') + class_name = template_info.get('className') if not handler_path or not class_name: - logger.error(f"模板 {template_id} 缺少 handler_path 或 class_name") + logger.error(f"模板 {template_id} 缺少 handlerPath 或 className") return None try: @@ -105,11 +106,11 @@ class PosterService: # 设置字体目录(如果配置了) from core.config import PosterConfig - poster_config = self.config_manager.get_config('poster', PosterConfig) - if poster_config: - font_dir = poster_config.font_dir - if font_dir and hasattr(template_instance, 'set_font_dir'): - template_instance.set_font_dir(font_dir) + # poster_config = self.config_manager.get_config('poster', PosterConfig) + # if poster_config: + # font_dir = poster_config.font_dir + # if font_dir and hasattr(template_instance, 'set_font_dir'): + # template_instance.set_font_dir(font_dir) # 缓存实例以便重用 self._template_instances[template_id] = template_instance @@ -158,7 +159,7 @@ class PosterService: content_id: Optional[int], product_id: Optional[int], scenic_spot_id: Optional[int], - image_ids: Optional[List[int]], + images_base64: Optional[List[str]] , num_variations: int = 1, force_llm_generation: bool = False) -> Dict[str, Any]: """ @@ -193,12 +194,28 @@ class PosterService: if not final_content: raise ValueError("无法获取用于生成海报的内容") - # 3. 准备图片 - images = [] - if image_ids: - images = self.db_service.get_images_by_ids(image_ids) - if not images: - raise ValueError("无法获取指定的图片") + # # 3. 准备图片 + # images = [] + # if image_ids: + # images = self.db_service.get_images_by_ids(image_ids) + # if not images: + # raise ValueError("无法获取指定的图片") + + + # # 3. 图片解码 + try: + # 移除可能存在的MIME类型前缀 + if images_base64.startswith("data:"): + images_base64 = images_base64.split(",", 1)[1] + + # 解码base64 + image_bytes = base64.b64decode(images_base64) + + # 创建PIL Image对象 + images = Image.open(BytesIO(image_bytes)) + + except Exception as e: + print(f"解码失败: {e}") # 4. 调用模板生成海报 try: @@ -213,22 +230,22 @@ class PosterService: # 5. 保存海报并返回结果 variations = [] - for i, poster in enumerate(posters): - output_path = self._save_poster(poster, template_id, i) - if output_path: - variations.append({ - "variation_id": i, - "poster_path": str(output_path), - "base64": self._image_to_base64(poster) - }) + i=0 ## 用于多个海报时,指定海报的编号,此时只有一个没有用上,但是接口开放着。 + output_path = self._save_poster(posters, template_id, i) + if output_path: + variations.append({ + "variation_id": i, + "poster_path": str(output_path), + "base64": self._image_to_base64(posters) + }) # 记录模板使用情况 self._update_template_stats(template_id, bool(variations), time.time() - start_time) return { - "request_id": f"poster-{datetime.now().strftime('%Y%m%d-%H%M%S')}-{str(uuid.uuid4())[:8]}", - "template_id": template_id, - "variations": variations, + "requestId": f"poster-{datetime.now().strftime('%Y%m%d-%H%M%S')}-{str(uuid.uuid4())[:8]}", + "templateId": template_id, + "resultImagesBase64": variations, "metadata": { "generation_time": f"{time.time() - start_time:.2f}s", "model_used": self.ai_agent.config.model if force_llm_generation or not poster_content else None, @@ -240,7 +257,7 @@ class PosterService: self._update_template_stats(template_id, False, time.time() - start_time) raise ValueError(f"生成海报失败: {str(e)}") - def _save_poster(self, poster: Image.Image, template_id: str, variation_id: int) -> Optional[Path]: + def _save_poster(self, poster: Image.Image, template_id: str, variation_id: int=1) -> Optional[Path]: """保存海报到文件系统""" try: # 创建唯一的主题ID用于保存 @@ -285,9 +302,8 @@ class PosterService: """使用LLM生成海报内容""" # 获取提示词 template_info = self._templates.get(template_id, {}) - system_prompt = template_info.get('system_prompt', "") - user_prompt_template = template_info.get('user_prompt_template', "") - + system_prompt = template_info.get('systemPrompt', "") + user_prompt_template = template_info.get('userPromptTemplate', "") if not system_prompt or not user_prompt_template: logger.error(f"模板 {template_id} 缺少提示词配置") return None @@ -300,16 +316,18 @@ class PosterService: data['product'] = self.db_service.get_product_by_id(product_id) if scenic_spot_id: data['scenic_spot'] = self.db_service.get_scenic_spot_by_id(scenic_spot_id) - + logger.info(f"data: {data}") + # 格式化提示词 try: user_prompt = user_prompt_template.format(**data) + logger.info(f"user_prompt: {user_prompt}") except KeyError as e: logger.warning(f"格式化提示词时缺少键: {e}") user_prompt = user_prompt_template + f"\n可用数据: {json.dumps(data, ensure_ascii=False)}" try: - response, _, _, _ = await self.ai_agent.generate_text(system_prompt=system_prompt, user_prompt=user_prompt) + response, _, _, _ = await self.ai_agent.generate_text(system_prompt=system_prompt, user_prompt=user_prompt,use_stream=True) json_start = response.find('{') json_end = response.rfind('}') + 1 if json_start != -1 and json_end != -1: diff --git a/config/database.json b/config/database.json index 67f7c88..407858c 100644 --- a/config/database.json +++ b/config/database.json @@ -1,8 +1,8 @@ { "host": "localhost", "user": "root", - "password": "password", - "database": "travel_content", + "password": "mysql2025.", + "database": "bangbang", "port": 3306, "charset": "utf8mb4" } \ No newline at end of file diff --git a/core/__pycache__/__init__.cpython-312.pyc b/core/__pycache__/__init__.cpython-312.pyc index 2959084835fd4526aeeb6addc056fc113cfaca91..7ea1e2aa654a894c6b8a70004c8ee5184e1d7abf 100644 GIT binary patch delta 120 zcmeyvx`vJSG%qg~0}$~3sLhDk$Xm=58=Ybmlag4H7*kM`pOuB^G=4F<| O$LkeT{+hg&$sYhSV=eCh delta 72 zcmZ3(_J@`CG%qg~0}#k)m1XE|)z&Y{&o9vrDM~C$&2i4pD@n~OaV|@$Zb&`gc$LQuXfjY{awESi7l;8-xOoYGHVdQnWC0Obj?3~UpBOlKg(n+`#505F zNg_6!R|M^VDtSE^Ctnm1lLaxJ@Cfz$boyM7G`Y%S`kfUd1W~d1zlZ~yOfWDE8yFtw z8LiJ*nR8vw;i8_yWj&|w42%NNjFaP}H5fl{?vfT^X1qChzFY#w18I#<3>=(VlbPf* znSu1?JoyMN#$A(-YdUdURy6&@z|P4(nMccq8AxxA)?#Opj)j;H3^SXVHrJ)~E=ucN emNxjrz|5&Pxk5*S8Axwlth17p@z-QuqhtV{FqVS= delta 420 zcmbP`wjq`8G%qg~0}woWQkwBbZ6n_fW<^8&qWt_4{g9%>veX>s{JfIXyb|Z4)Wnkf zBK_q2qE!9O;w%nqjG2=oxb!uyiaH%gydy0?-*Tqqg234}6I{MCGl)4eeqduz(O7P= z&|-z>hN5fAR+D#fbucriSWkB4_F@MqxG3thc{=wjX2vy>jrjBJuku>$NW8-%(C^vl zIU#RB;)c`%j#qiyfQIo|KjGl(=kDabAZD;ZWIE?W&KcSZ3OAG<2)rub z4m4WG{t1szzfY&n1xb^uJf=XygzPT}+HDRKbzqZ^1cpij!vj5|^*JkZuIo8m)N{C^ z=k$evQ6QS}qMp;_P0|`H7xbJyZN4on!pwMO@&~yD=Eu?+lOyCanHgj>Hy@FY;9}f5 zSys!5`I@5XW&?xGW~R+`X}ycmde@{4Cg0G}0BSYd%&fbT LmGRc(wMNMR3IC5p diff --git a/core/__pycache__/document_adapter.cpython-312.pyc b/core/__pycache__/document_adapter.cpython-312.pyc index 3fce418f7ef17c6a5f2b0f56c9d3d3088ec31a4a..8e8cac5e72df1416a2d45b19f66d37be077590dc 100644 GIT binary patch delta 341 zcmccO+vUf1nwOW00SI`1)MhBkZ{%ZQ3ru#gib+WIK7(28K%t?i-Sq2rmd;9=$O7x}xDl1^3O<1gjYt6DA7@>vP z4J8vou8Zni6xCS~a#hsmf{0%SCy;o;uW&<5{)SB24UwQ*;ud!#Wq_J@NM4!DuTaeR QYjd;05>}uOHPqGs0QS9kW&i*H delta 287 zcmeD3yW-1tnwOW00SI_k>^JhM4>fnY0@sLAS&$ d?nug91Q~aEva3QdthHoVGu zFQN~p7tPVy`q=5B?(oW1U2r@awsp~mTir#}M(Ngi51H4Uo9BK1&-455JF-@()HM{h?qiP`I@04Gd7x)2G5G1H&W3vCx2j za3t0j2?thF{zFmfZ0Jl|BpeHcV{Oq86^lgu!ALaZr<24a4?Kh&!YgE2zAuLXfi>=2 z6iKhS$J~invN!Ht5LvP~8q=SJY64gwkW^RCEB0hDAlvrB^sbzoY`E1h)p^G;?#$z8 zmgQqLrbq7k?gyS6CXy+kS2BWg`dVTX=8L!lhteyO5Ds2JYQx4$Z0#O|%J+h|s;cpG zQya55rl?5tXEZw*%}!QhX5?nXAV2Q>R?r`OtW-JPn^9IV%BrOAS>3#>4JE`aAT{(( zD!(bXE=cI7z+>JsYC+nJb|Ys=RC>)b=1Hq93nJ^U@9VjJc|PX|{-P^C`0%%+hTblp zE&|ImqiikO(SiCO#n3O6>EohBc_mkn1r?+sGb#h4G9-y)kX4z-I=G4~v_pN5K1qe_FxXf z6;}9?tSm;F$59Y|C#y>lowZ}qZFvKl6nMI}@~I3=!X;B>F;ihhoVXsYGaGQEw8?xG zRGSKqf3GuSbQVTu$>{8i&d%x_ZzM+(TT;AP@r*d#+08b0-{8&BUo2hd>9DDOze`Evm$qAAv^TO%+Ijv^RQ};~qQlU)yVW$0X`WVHwQ+KtDx`)2o@EmN_ zt;NbB$*#1oJL3y7zF_)fnDvGKZH&+t8}}CxtnI)&Oz$cuSYzuv{QB=u(u5|QRkM1a zJxxMB_yCVMjRLm9mcvTKUH}cQ&Bg52-CS*(p~pqyoJL%AM8V~`$p6jK_g&s~sDWkA FZO delta 822 zcmZ`%OH30{6n&3rs|5-znf}0jh5_nW$UuRXVnZt}tyVy=N>CSCppg(mLsN~$g_>wm zqDJH`Eck(ii|WEp#)ZZWEDR=Y<~gNPg+vosxGV{YCML!y8g{5EGR%z%k%J)@UvcYyYdnNn%qdKW)xqvAzmBeJn9&6<((AoDk#Wy zD}C@Q+bXhN%z8z(2eUm{Hnc@R@(}#QhOpi~b8)e{c-xeo5Y5fl+$@+Km~`aXki@Dq zo1iG&Qh+Mm%$TUNW1T${dF@)&_?M>E)#N?pU1hp%5x$VWj;^YGQoyPJ+$cvhN$x5_ zUgPHukhv20nKS6SOVs|qxfH-qmnvT)ttf8PNyjNJWqd4?L`~+)u;Ml>hTqWdNuSE; z8T8f?tj=ofnW;R*h?Emk&ZW8)cA4cVXO23G>aA8KsExp4IgO~#+NcJGeT7b--uuHQ zF}&8!-L$^azQ7xNWZU3O5l9AfAUs^-})JK diff --git a/core/__pycache__/models.cpython-312.pyc b/core/__pycache__/models.cpython-312.pyc index f2dfde286f3ad638cc40274ff1f68bc6b9b9a863..27d55dfad5a9c703af9f1ba3a3226eac337514a5 100644 GIT binary patch delta 196 zcmca~jb8;QdjX(doI7FPAMaGQ}z;C9xzirl2T4D>bxNzE&9E=o--$uEjY&M!)h**u4h zo00L?b85ZABD`0u`vFPBYGQ@>MIlm}XfAbkOZbrsilW(wV@qsiqFf3qP&b^R(3GZeh4k;<1jINTmybMt01;dX9 xh6~Ce7af9k2rqG7!MvV(CHHj|6Ci)`6s4ssmmGpGZ?;vw=EQhwvq)MlBLGcEGUNaN diff --git a/core/__pycache__/xhs_adapter.cpython-312.pyc b/core/__pycache__/xhs_adapter.cpython-312.pyc index 68b71ca9d9155c0f61e3b0cd654e8b2f835b0cf7..3b36ded5eb98ff2d145b91b0f95cc8a6b75387c0 100644 GIT binary patch delta 221 zcmccQH_e~#G%qg~0}$~3sLd!>-pE(P8W@*i6_b)!k{DA^l%JKFToMoFIC{qCCKhF9 z=B39MR~DC~=Ef9MmSp7T#Y0uagcK!~rRF&2=ar=9l{gorCYIzE#U$q!rN(St$oiLu ziH&*k0-;kJH)NGQGpO-uPtFw%mAx!)_lbc;RBZ* z@>O9&4j}!38K`12pNKRgGf>}V9Z?=u#?O;2rA#?4il~2L;O5ksTqqUI45T-om%7T$ K_-pb~wY2~R!%IW} delta 153 zcmV;K0A~M|Ptr~f%MA?*00000qW5)Zgd(vHas?qSFLG~hbT3qLVRmI~LvL<$Wo~ps za%Ew3Z*nhVZ*pZXv(W|p3LH3QTXCzG`rTLSxNzE&9E=o--$uH7R c&M!*UPt4ShkI&4@EQycTE2z9RnU&E908k+qnE(I) diff --git a/core/ai/__pycache__/ai_agent.cpython-312.pyc b/core/ai/__pycache__/ai_agent.cpython-312.pyc index 4e281073bf7bb3dd47b09e530af950359fedf9a2..02e8ac9d8dd46770b2eb61f20947495b60eb0a94 100644 GIT binary patch delta 267 zcmdnx-r&J^nwOW00SKmiY|N;a-N+Zu5)$WP6_b)!k{DA^l%JKFToMoFIC{qCCKhF9 z=B39MR~DC~=Ef9MmSp7T#Y0uagcK!~rRF&2=ar=9l{gorCYIzE#U$q!rN$&?#%!L* zvVfE27i09V&8B?vjEuiFhw=+CGZs$H5cfpU0t^A#VnN#n>=2D6OY>fVsOXb};FU#6|V&LQrVVt~Q-jw5ttn&v3 zW=Xxt-{mcofb@@#oFKUm5)1<3{k5I7-SrnZ3>*A)HXA3JcGBZe+ zZ9XV+omr?HXu}JJ9}Nr-B&0fcZ%QkF-@IPpKO3X-IOM(yf@ChpI&Yq)z{JdWYw}FxbO6}LLlXc1 diff --git a/core/config/__pycache__/__init__.cpython-312.pyc b/core/config/__pycache__/__init__.cpython-312.pyc index 2fc169abc06709af191f94995b2f81cdbc433bcf..44280960c2e060294f74206bd827d54bbb451d46 100644 GIT binary patch delta 127 zcmX@e@{xt_G%qg~0}$~3sLc>y+Q_$$F(t{xDkdedBr&F-C_gJTxg;LUarBJOO)SdJ z%uA0it}HG|&5bFjEXl~vi-)R;2`Ne}OU-f4&nrpID{(GLO)SYTib>8dN(B;mX_@IU U@$s2?nI-Y@dIgogCNVhz08EB2`~Uy| delta 80 zcmey!a*&1ZG%qg~0}x0>2QLrDdk;$H!;pWtPOp>lIYqnry)22mmB)8|(l8 diff --git a/core/config/__pycache__/manager.cpython-312.pyc b/core/config/__pycache__/manager.cpython-312.pyc index 5b3d31c1e438a75dbe5cb8e18a2480c98922760e..b180f266556af0324294f89c4283884e1a8bb6b1 100644 GIT binary patch delta 480 zcmeB3e45C2nwOW00SI`1)MjXEZsc3Z5|QX)6_b)!k{DA^l%JKFToMoFIC{qCCKhF9 z=B39MR~DC~=Ef9MmSp7T#Y0uagcK!~rRF&2=ar=9l{gorCYIzE#U$q!r2>h(w9NFF z&G%WFxfy?LP8N8?%J^rpn^=qU6-mbr42+^i2LkV?YA%ml7`dWwam);^@61542YMD0 zT&|0#UKCMXkaAH(`-ZgY1rgN`Tnqw29h~0I zd4B!O`s?z>7v+sNcwCmZ{lp;58^$>Kh>WAm6;WHDEGP3nDAeA3<7F`^xIr#Ap8QIwjRQ!7+-JPGT=@etYf~zmCZgeFmc*W-lDF-45II= zYjIpwGW`T}lKo^J4OyTw>^JLZyklm3FAvl0c9pH)RE=_F(3*zAJQ>rX8bkzmwq1rx&Wg> delta 324 zcmaEw*pbM0nwOW00SM~v6l4f$Y~)+XqG70Cl%HRsA5xT9mYU<7pI4HaSK?fhnpl!w zq@SE$lnNyB(lXQaH}kVLb2HxBJXzooE93XcWnwK7S0x<}1m02ATpqbFaz)|dm>FE( znHi*<7$=K~%d>+R7bG1w+ltR;WptW+S4NWgn!N4g|1yr^S4C|P2;NarTduiKbA{t# zoeADRePVW#V`S?k85Hb3=rHgKUguH0$fJ6dNBz4rQ0juH?dI>Y=U5n(CLdGshgz(r zwLEiS<_5;aIWxGS78@$J!7bje{DGPA<>U?Op3K*j%_cKyXfQLVm`~Qx&|KrpOshT139>XVTbbpksa0z43q!KpWpI@RMQj}Phn&X_GSCX1n;#`!PSdw3) zpPXNm3MBH&*pnHi+DH_Nl#VP%{<`46`m z^A!ob$yz)X%nXwHn^Sof3NzlC%&wry!vWU1!});7PV3253a2<(!2*|^(>C)fu3-kM I+N1IZ0O5`^!vFvP diff --git a/core/document/__pycache__/__init__.cpython-312.pyc b/core/document/__pycache__/__init__.cpython-312.pyc index 4c3186a079e5b62aa74b6fb9bb0b2349293e204c..f459e6a9ecc19b627ba5637aab075ef990f3f318 100644 GIT binary patch delta 130 zcmX@g@|A_}G%qg~0}$~3sLc>$+Q@g3F)hW#DkdedBr&F-C_gJTxg;LUarBJOO)SdJ z%uA0it}HG|&5bFjEXl~vi-)R;2`Ne}OU-f4&nrpID{(GLO)SYTib>8dN{va$PcF>` X3dY38XXa&=#K-FuRQ{UG%VYrn>nkw= delta 82 zcmey$a+HPdG%qg~0}#w(D9iZ6xRLK9qnU|*QGR}jen?SbS!#}ReqKpxUWs#2YGO%# jk$!T1QL27QesXCpP*6WUJ~J<~BtBlRpz_vaTP6ztb+a8O diff --git a/core/document/__pycache__/content_integrator.cpython-312.pyc b/core/document/__pycache__/content_integrator.cpython-312.pyc index 610332f4465a69ad491268330a742ce0bccb5680..b7420b46bd1e35d7768ad8a6a1f0e0d5dfb8a703 100644 GIT binary patch delta 338 zcmeA(xM{$5nwOW00SI`1)Mju9ZRDH99F^x{6_b)!k{DA^l%JKFToMoFIC{qCCKhF9 z=B39MR~DC~=Ef9MmSp7T#Y0uagcK!~rRF&2=ar=9l{gorCYIzE#U$q!rN*S>Czs{| z1!E>(V)kN8pDfEF%`vg=69W^kKjUO87CROYV{GXfzRbH)>N(K44Ga&2MLRg2h{-SDTw!=wO!pH57pKDHiF|vRf%N7; z{y9vHn#H0A`$F>%H*PF4|00h$%ZxVc;C1tZX`5)pSkklz~^4lo{2Jjl|(F!{L1 z0mf;QJ4DqvZiq;NoM1nBlc**$h`uMPAbLT=@;bl!Oz9aSGfH=a9thkWIf>=+W=XLY Jka6?G3jq1tZ|ML4 delta 263 zcmca<&}YDRnwOW00SNwIDa~jX+{ibJS<6npC_leMKcpzJEH%eDKd&S;uf(}1HL)bW zNIyBhC{;ftKe;p)D5yV~iN%XCVX`laG}Dy2$ptKS%nTB0n>VqPvocKPxr4Bp%Fh^o-9Kxex*&ZK-=)o!Li<@63nyDjC<zw<+z_}xae?px z#|4QCf>*H2s=F)~d08Z?gY$-%)bz}WnLEO-+xlO$^}nVNu)%eK$qLp5<%{GlZ9Xm& L#tJl0PN^CIsl#h} delta 245 zcmdn!I@6W+G%qg~0}%YbQkucMkyoEt%U-`IKfgpjq$sg0HODzWuOv0E#JMOnu_V7p zKRLfBRX-&^xil9jsK0p{vm77et;t&jcQIB>E)Y@@zi1P5Sw0v@ZZKV-vY>Q9`Xasy zHbECRFBaO*%2+-*Swd0#qIJ+^gmb_{0P>t3&z=8WaYNt&#Rb9(92X=m2wuT5tL}nT#3i}N%OX)7oHxXzre{vf t+!21=*8h^N|7C@Mi?;q7To;(EU|mqYNbZ8I|HaMsWx`m2hMOr>0{~MNV<-Rs diff --git a/core/document/__pycache__/text_extractor.cpython-312.pyc b/core/document/__pycache__/text_extractor.cpython-312.pyc index 5167d77b2544276461b081f71f3c7183514e5ef9..2a5eba17ff9624dfc74f47360a11e2e07c4d43e5 100644 GIT binary patch delta 1083 zcmcIjUr19?7(Zusx?T0Ece`%hwSVQf>8c58^WRK|npp__F$i1OvXOt%$()svDHybu zVsZjCA$uVG@4M&s{l4>^?|07Q zQMhs+X1-yVG=M*5XQ;ix`7$#~wRF~1c&>YcUQchp-|1@$wkChvjji3@Kvzf4jn=+_ zzM!w$(>oAs_xH5^%5b!qV}o&^ zWU9iHWVVLWC8K4!ak4QEAX|ZE1QSL4lE70q1+58oC83M-;c5yZ)M&R2ud=6P02yJq zPBNIM3nmMuj)YYS3a`i+z+zi*o{ebFh161(ZbH41WnEEQ6Ilc#oUgJ{K?`eaPPk)6 zJKH~hX_Y;>SIqWju>{GF5%ayT9IG&%<>tUM)-A5vGpOOMq%NCWO^B9=I8v@5#BAgq zi~|+Thfc|gREA&6;U@}aF3gp!=D1|6gkec3nGa2OOm<9lg&QQ>(QuQ*@d*`1Vg!~` zFgK3MaKgQ z?xOmlYF>w%-Ud4(;H}Ozs|*K;6ytXzIv09cv<0bgo7S@g}L`;d@iT#%}!0B;;x%5??>z&pmaR=XX`4KLEmV3cJ=jSS;1=a7knixxJ z$TX=dc9l33@E&^NG}Fmz2bl(l7MvDkGWg&$q>+HA(g4M8&T9(X{nhfN!wg-y=! fUq=4xPW;Qrrz6J-DHBx0I6f!MA1z6MLvLnJ>Qd(1FA6aQMD+KECfuKZcW! zpz5Ig-hcjPTMbDZ|gd zwxu9^k3vknWQIm>7^W6bwRr{5o8kkL1F?3|OvidegE=0ZjPis?SMimi**e=b(}iTL z#R@FUhT4)-+cIj~T<=2ve1GD>@+ogt?aRx7u^P3qb^_?Dgga~t0iU3x-KNiyovAjF zqG#)->ZTpMtbp}*LG;s3am7QL?EIaVO61HsspCiHjwi+zuVzVq%65d(0du53L;3~3 zgCgJ(3b?f0o5qu|&b*{tX}DqyMFRRFCaQ)Dlr?;NcF#zt)F30K~XoV5;tI|n83E;{d_57NHo zv0@`xG~uCe5!f`2_?73n1gnuXeHz?3=-3afD<&6iz04f(8egFUf diff --git a/core/exception/__pycache__/exceptions.cpython-312.pyc b/core/exception/__pycache__/exceptions.cpython-312.pyc index 8a3c146c7036b1773f17651e7c96d32236e6d1c6..e1c37b5b126850aafec352e7221ce8e074d1989a 100644 GIT binary patch delta 221 zcmbP}bS;VRG%qg~0}$~3sLd!)+Q=8fVxI0|6_b)!k{DA^l%JKFToMoFIC{qCCKhF9 z=B39MR~DC~=Ef9MmSp7T#Y0uaOfF;*5r|37FG`I`tw>HSD9Oyvi}ET&4O delta 143 zcmcbXG$)DgG%qg~0}x0>(=%Fi#+pS+MoL_j||zbI8dwIVsSpd>Rt zPk-`JmM@IAHt%A+&n?T!$iVQUf#HFyVu#-i8O09YC(;TFq*oL!l)olzIC;0ABr}7I u(dO%d;o<_RKpPquK1eW#Ni_J~7F3w*tf|b*Af&iCQ+9*lag4H7*kM`pOulIY~njFt)3jp31F+l(T delta 83 zcmX@ZJcpV0G%qg~0}#kuEzJ<#$ScKYVWwY{pI@RMQj}Phn&X_GSCX1n;#`!PSdw3) lpPXNms$Y>&9A8|JnUY$hA0MBYmst`YuUAlcYjQuMEdWCM9KHYm diff --git a/core/xhs_spider/__pycache__/main.cpython-312.pyc b/core/xhs_spider/__pycache__/main.cpython-312.pyc index 64bb6be84a3ed47067c8ae8f1fd76d574b33eeec..e9072f628090cb377c1b743eb64c1a6f1fe81f89 100644 GIT binary patch delta 276 zcmbPf`OuR0G%qg~0}$~3sLi;#k++#CCdtJrCMB^XF{Yp>KPxr4Bp%Fh^o-9P%+kGUWr(A2=AKls_>rae6UMcH&ZD0Wmgb za^)~{{$kXB`5y>=ZNA5=%E)LnnT0=upTfzW}wzh($4|l CWL{|i delta 204 zcmaE8In$E&G%qg~0}%K&9A8|JnUY$hzxfT5I6LEm$t+xY%(o?ECtGouaxh5Bedb`0Ql4DPrNRuP zH!tPNVdlKWsQ>am5Zu}<#iz>1Xgb+}KZNW`Z)mF C%|kf= diff --git a/core/xhs_spider/apis/__pycache__/__init__.cpython-312.pyc b/core/xhs_spider/apis/__pycache__/__init__.cpython-312.pyc index be2203efabaf45549f92673e14a7c4d8b6748f67..251f463cc44a6f435780f37f1490e8bb356bbfd0 100644 GIT binary patch delta 135 zcmcb~)XB_ynwOW00SI`1)Mi|t$a^(6+r=s-C9xzirl2T4D>bxNzE&9E=o--$uEjY&M!)hsmLgfFD}ST dNiB*=EXXX5iI30B%PfhH*DI*}HCdj~3IJ{oG*|!t delta 87 zcmeBVzRARUnwOW00SM9_m1dlr$a~e+TE8eizeGQzD6uRx$2mW*BsH(ZxhOTUB)>>M pIlm}XzapbJzPKPWCACODu^_WpKR!M)FS8^*Uaz3?)?|N1D*!^PAOQdX diff --git a/core/xhs_spider/apis/__pycache__/xhs_creator_apis.cpython-312.pyc b/core/xhs_spider/apis/__pycache__/xhs_creator_apis.cpython-312.pyc index 9ed2c8fd6eeff8cd856d1508da30bfd0ffec5bd4..ed2ec29bcef497bebbb0017cb84187da3a6822f4 100644 GIT binary patch delta 131 zcmZ21d|8KPxr4Bp%Fh^o-9%~w;=vq8&-mQL zqU_AP^!Vb+;*!+dn1afZjQqTKsH&KdqQtV)9OwMJlGMBs=c3falKi5Wb_#DdJ?n9X0=<>h&PG3vkk4+Os$)qZVOP`6}ctePC95zcnQ+3lLB`{Y0y zW#$W_?wjvvgmVIA%#6@wCg0Q0-2B*xk8`rAQ3RSUpq$C(RW_$t89gVLIR&A~ZvN^t zlbhuiqt36*ll-1&Fd9xSFAqjjGx>YDCC3eE?N1EMyqc4ZE3BA-^yY$!rLv5_Hj7Q; kW@MC@tTf${`+}M8H6_0lp^Ho}ZO)l)#R-&MzMz8%0FhOOz5oCK delta 308 zcmcb4jA{KbCce|Wyj%=G5b(G(cMmoQqNu zOY)2Klk$jkHGV$^^69|&$Ss@>Wgpl->?SUtH* zBb?)=v)g4+_k+fhYi*R74j6Cd)ePsHEN>HmE-{%`Q**PRF&`&m&13}|41GXplg-y{ zPO~z4OIzdd!oUpJ9%+=FuJ12N)?vOx23fwCs$Z8Gsx&{ zUQn@AmhskRw`tsrjB=BMrdtYLH1oZz$H!;pWtPOp>lIYqnz%s`03@&=N&o-= diff --git a/core/xhs_spider/xhs_utils/__pycache__/common_util.cpython-312.pyc b/core/xhs_spider/xhs_utils/__pycache__/common_util.cpython-312.pyc index bd31fa954374af3e4dcde2f99a62e3e6eecfdc27..a0ac01a476e8927f963cb8761556485a247271cc 100644 GIT binary patch delta 164 zcmcc3Gl7@yG%qg~0}$~3sLfzw-pD7$m{#m!6_b)!k{DA^l%JKFToMoFIC{qCCKhF9 z=B39MR~DC~=Ef9MmSp7T#Y0uagcK!~rRF&2=ar=9l{gorCYIzE#U$q!rN&fb6vr1A zWTvDRftjTxnK{KVo1+*PGcz8W{EsDr^mkK5HrCugRipZUDO4 BI_>}f delta 111 zcmbQhdz**vG%qg~0}zI%-`vHxn3?h5WIfgl=F6hyljpG-Gc$-;OuoWe L%6MzC7n>UZ65S=o diff --git a/core/xhs_spider/xhs_utils/__pycache__/cookie_util.cpython-312.pyc b/core/xhs_spider/xhs_utils/__pycache__/cookie_util.cpython-312.pyc index 651c71b444459f01bc6839bfa14d5df31ff13842..5f3410546528203d7437be202692ba6a460579ef 100644 GIT binary patch delta 206 zcmaFCHi@10G%qg~0}$~3sLc@E$a|EL@z>$RQEFmIeo;(veo<;n zMMiOaaY1HEY7v-OT9TPl95dOHNu6=?H;f?NKy1*O#fsKKO rufg*JGlL7GKjU@hkc-YC7eXU0J4asQjRGlT0#Y2zmOvLfF{=Rpr?N`t delta 140 zcmbQl{(_D7G%qg~0}wD?EzRKG$a|EL@z&(aj0R@T`bGKqCHf&niDjud&iQ#Isd**N zMX8A;`9=E4`9-Pv6&c0x#RZuusYPIBX-Q^IvHs*tCUwT0lP5Asa$Iqay38AW(Rnf> nvp$n^)Z_~w;=vq8 z&-mQLqU_AP^!Vb+;*!+dn1afZjQqTKsH&KdqQtV)9OwMJlGMBs=c3falKi5Whh zZ{`4CtM^E-P93>&V)rSosof|f#D7(?*x$vY!k9C@F}ej-cWvp z)BXbkFRSimZ)JN%ULfN;i1!gJG)3hNE2HM*MlDeeurd)=%gNr#%A5CS-DBhha=tSF ziH{&+^Aa5?7RKz!`weCTl{y1`&Z;*#)=-WaMAsYYab8w(`2-9mKgP)$K%$&}lP?;2 TasXw)N;fMS%>$*n1I7yhQDw~d delta 552 zcmcbW`7nd;G%qg~0}wD?EzLNov5{{nBjc^fTNw4s9QBLx^GozYiW19GbDZ<@N>cMm zoQqNuOY)2KlkoVKm+^@)GT#j^<{CsW;h<32tFf`pRwNYw| z%oTpSjWR1mRtTD3df zC)ZvUQoYKd26U>R*ya#vMJ8all*!&^ygoTd&Q$U$uf-0>8$7)I?w#%v+^_J+d}n6h zv%J7-F?qS1nHWS?Li)Od#zhH@4PF-{G_Fb5PyQ<>tHdDbzz9?Ofs=tt@;fU;pQI^_Z_I ixlGnDl4E92cAe~L3 diff --git a/core/xhs_spider/xhs_utils/__pycache__/xhs_creator_util.cpython-312.pyc b/core/xhs_spider/xhs_utils/__pycache__/xhs_creator_util.cpython-312.pyc index 152fbae36bd7623a508143093f1d325c4532de70..420bc25ad301cef9ba9e35a015dd54736144b8ba 100644 GIT binary patch delta 218 zcmew*u|<;iG%qg~0}$~3sLlAdk#`3(%P&TqUz1NV7o}CWSjD6ymL$d$6y;~7CYQv6 zIgXz3xrs&DnR)5)#g)Y+skt!)l_eSZdGSzHF(E~XWvMyN`FSO&c_q$8sfi`|MKQ_w zMX50r8O8C%1(_+SMPO!WNoG!Q%;rLtbXLY+lW%f{G6ql9=MrU~ocD==nN@wV8G%qg~0}$~3sLeRJkynPzyuigOCMB^XF{Yp>KPxr4Bp%Fh^o-9k{Lwrk;vz`At((I)RVLZ J3+70k1OQFMT&Dm4 delta 221 zcmexuvekt5G%qg~0}wpTEzdC7$ScFf?x0_kpI@RsIe|??T0c3zC{@2Aqd2~}ATuSk z2+S-k$;>I%pWM%;BV-TM*}!l^ShT_C4zJJz2KczG$)vl--sDTlPi)ALuO3Y!t%`ZOrpoAqegMh^3zY_V(w*{pqmq=PO MGYH8{-XwVv0L>0VY5)KL diff --git a/main.py b/main.py deleted file mode 100644 index 712683d..0000000 --- a/main.py +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -Travel Content Creator -主入口文件 -""" - -import os -import sys -import time -import logging -import asyncio -import argparse -from datetime import datetime -from pathlib import Path - -from core.config import get_config_manager -from core.ai import AIAgent -from utils.file_io import OutputManager -from tweet.topic_generator import TopicGenerator -from tweet.content_generator import ContentGenerator -from tweet.content_judger import ContentJudger -from poster.poster_generator import PosterGenerator - -# 配置日志 -logging.basicConfig( - level=logging.INFO, - format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", - datefmt="%Y-%m-%d %H:%M:%S" -) -logger = logging.getLogger(__name__) - - -class Pipeline: - """ - 内容生成流水线 - 协调各个模块的工作 - """ - - def __init__(self): - # 初始化配置 - self.config_manager = get_config_manager() - self.config_manager.load_from_directory("config") - - # 初始化输出管理器 - run_id = f"run_{datetime.now().strftime('%Y%m%d_%H%M%S')}" - self.output_manager = OutputManager("result", run_id) - - # 初始化AI代理 - ai_config = self.config_manager.get_config('ai_model', AIModelConfig) - self.ai_agent = AIAgent(ai_config) - - # 初始化各个组件 - self.topic_generator = TopicGenerator(self.ai_agent, self.config_manager, self.output_manager) - self.content_generator = ContentGenerator(self.ai_agent, self.config_manager, self.output_manager) - self.content_judger = ContentJudger(self.ai_agent, self.config_manager, self.output_manager) - self.poster_generator = PosterGenerator(self.config_manager, self.output_manager) - - async def run(self): - """运行完整流水线""" - start_time = time.time() - logger.info("--- 开始执行内容生成流水线 ---") - - # 步骤1: 生成选题 - logger.info("--- 步骤 1: 开始生成选题 ---") - topics = await self.topic_generator.generate_topics() - if not topics: - logger.error("未能生成任何选题,流程终止。") - return - - logger.info(f"成功生成 {len(topics)} 个选题") - - # 步骤2: 为每个选题生成内容 - logger.info("--- 步骤 2: 开始生成内容 ---") - contents = {} - for topic in topics: - topic_index = topic.get('index', 'unknown') - logger.info(f"--- 步骤 2: 开始为选题 {topic_index} 生成内容 ---") - content = await self.content_generator.generate_content_for_topic(topic) - contents[topic_index] = content - - # 步骤3: 审核内容 - logger.info("--- 步骤 3: 开始审核内容 ---") - judged_contents = {} - for topic_index, content in contents.items(): - topic = next((t for t in topics if t.get('index') == topic_index), None) - if not topic: - logger.warning(f"找不到选题 {topic_index} 的原始数据,跳过审核") - continue - - logger.info(f"--- 步骤 3: 开始审核选题 {topic_index} 的内容 ---") - try: - judged_data = await self.content_judger.judge_content(content, topic) - judged_contents[topic_index] = judged_data - except Exception as e: - logger.critical(f"为选题 {topic_index} 处理内容审核时发生意外错误: {e}", exc_info=True) - - # 步骤4: 生成海报 - # logger.info("--- 步骤 4: 开始生成海报 ---") - # posters = {} - # for topic_index, content in judged_contents.items(): - # if not content.get('judge_success', False): - # logger.warning(f"选题 {topic_index} 的内容审核未通过,跳过海报生成") - # continue - - # logger.info(f"--- 步骤 4: 开始为选题 {topic_index} 生成海报 ---") - # poster_path = self.poster_generator.generate_poster(content, topic_index) - # if poster_path: - # posters[topic_index] = poster_path - - # 完成 - logger.info("--- 所有任务已完成 ---") - end_time = time.time() - logger.info(f"--- 运行结束 --- 耗时: {end_time - start_time:.2f} 秒 ---") - - -async def main(): - """主函数""" - parser = argparse.ArgumentParser(description="Travel Content Creator") - parser.add_argument("--config-dir", default="config", help="配置目录路径") - args = parser.parse_args() - - # 检查配置目录 - if not os.path.isdir(args.config_dir): - logger.error(f"配置目录不存在: {args.config_dir}") - sys.exit(1) - - # 运行流水线 - pipeline = Pipeline() - await pipeline.run() - - -if __name__ == "__main__": - # 导入这里避免循环导入 - from core.config import AIModelConfig - - asyncio.run(main()) - \ No newline at end of file diff --git a/poster/__pycache__/__init__.cpython-312.pyc b/poster/__pycache__/__init__.cpython-312.pyc index 4739e927b2b1d553b6a3678ae5cb732d9fbc37d2..6ab730f83308b2d11cab95e49e6dbf2e2d09b3b5 100644 GIT binary patch delta 120 zcmZo-+Qh_rnwOW00SI`1)MiYZ$U8GW*2O9&C9xzirl2T4D>bxNzE&9E=o--$uEj2$OkGdiiwZU%*!l^ NkJl@x{5A2aE&wvBE{p&G delta 73 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 S5dKfEVylo&nW7MqmHjWis#8P& delta 2531 zcmbW2dr(x@8NlzkclWZm?6N%e#j?v9c3JLXFfyNECQFlv)?;_t!M&#+#BGDr1$c)pMmq|zZOa}f%tGGzY>a&r0 zeO{wp(ui4-LE8zS4Ubk&RcArHCN1`8H@`V zXb#)AIUf9fa^%w7x5=Z=7xQSI?7;Mc?2-<}Me-acv zzz+d?h*WboJIlz2YZ_3tCLwK0C^~wdLWxi;Dxa$@(%KabWX2vaUq*41#rr^RA^PQZ zb1R5XQ7Afaj)#UMoFw-x_kS-5Ga~>s=Z`?D20RUT2CyCg!4$MjL4#y;c|)dxLW(9F zib~|-@=g48IvGDnnpeEe9$ZayO{+M@yqE-<{M=cqkBl@uwTQ8m&J{8yb23YQx_L&k zb3eo+fW3fc0XNr$}s0!RTy0cpSsfENKj2fPG$nY6YA`Fi^9;@ioIwrcLYy_kH}CUEC% zPExk6`Ci8Ex|+|J3TI9BPfhMglRI5FV=A8$m;%pSIb*VoXp$&dF>5JG`z9?yQh&kf zPTS8~%b;u=V_QP%*B7r~Tkxwio1k6z;vPs{MbRSgx2i5{RJ{pXz^E4x0`!s0Kv@k2 z5pDv8-i0~9D}ZBw2*3#_0K~q5OojL`A_oE$?3HTLwedI`V9Ch$(y$t zzk*WgsMRj!RK=;*w=2o&jyCiLNq01$BjkKXfZq!iZ;}T(Te)*)2T667aEzspywzE3 zo-C=G&aS5%ElqjTIs3H}C3REseCK+N{sgS#w}5VPy1VHP=(;WH(vGqUTYeXQk1FDz zb$`7+@}|`2{3A^^Z>HMMnJ;%S6OQU}-?KPKfp z_v`;eW8hEd9R3|mz1pf)`S!MTfBx2%ItWJW1;08#J>VqZ6ota$U{s7n6h0n|^oJ!y zOUFGD8S8Pagh!%qVJWI`@qvht`mHNS9cEVGYTsdLAhjzvS_df0K z*96WKZuoHPsX%Jor_PE=XT@>v3CoPL?t`slb7+Zy8qH-f4rg-JIY%)$8Y(Rw_nmQ6 zpRrZ%(|%@iOhSqOYfP?%nmDG=Lu&e59FyyiAMeXY85dw57a20Rxg5=qvCYNo6(oPW zIh#eB$R8rd+3QH&8~sbBX%pDZ0X%?qvU{7rUgpRzx81e#3TUnZ)YdW&k^q{csp>H_TDuUK zdX+&Bg1BCAS~F!RyBRh)oTl%}N0#hx!9qyej=@TBFscq}muSIVbYlXG{{@>ALB37f zK|7r_AArGmKo~Fs_zEx%aKoj)rT4rJ6MzvUKeDqDSwR*YxDWILfPBCdd1cqV8R{Wk xV#vi^RUWlzsowt?k@lNNOdJSHwb(;ycW)?cKPxr4Bp%Fh^o-9KPxr4Bp%Fh^o-9$`|A$mZTQPY@W{2$j&%-vLsIc z=Vej#PYkTQUW}7-c>3f)j1Mvl0%9G!U-%isq-U7Sx0-2nSyTh0V0bL7Fgc9hjF~}1adSVv852c_kv192q7pG#2~VW==ef;KAit^&hz{K&*6!_0;8`% z#yhoICBsX-b;GS@o@LCFmwolMTsJTBoG;+*b9IT%odeV49OMK2y`CPYFf53!LC!ZU zy1gFf9>ui<_#xK->-C5(kH`jGyyy*ZJ}*WC9L9YEyyy}*^p$*@0barnM{3|V?Qt?m z9ZSpPqys=Y+osqq(6wwq4xVG8T?uu2O_Q#1w|QN+t^%2mFS@Tx(zR)sf;Pb-%wU(kRzn6l<8 z*QmU-j35p0hqZ#hicU5Clxx4>@s7&Y^e5uVyfIbq{Hm@nEmM(Iu-5j1z>0p`y5-<5 zoCNyZ!pOldXlQLds>4wmvaL~BLQ_3MNI=q0mIwVI zYC^bI6W3IuV5Uiq;sX8Th_^ z>Ck^Trx8Bs$R^@g-*g0t*^v~y*jY@(gcQ8hX)Jr(lA_H?jd_gysG+et%EpKoi)<;H zNop8;dpHMMqe84|u>g&v(5Fr-vG2RNmbvnXDPj-#B`PdP_Gx!K*Mb@@wE_Z_rO*TJ M=>a^prmOvb0SxLB+W-In delta 697 zcmYk2UrbVA7{>WHR!Tt~s2xBciBJsj=+t86hHzZ|35S?yTU|(ong2k}sV-c@?zjv6 z)S%%!ELX5>aXe=Ywp`xST3rM?PPg)+)|{^EF6yGKZ)+>xi}&Jrp8eiu@AO+Bya9?2 za=A=`=J&neaMr;oR?BQHWH=aP$lkF3PGF1*PB4K9h6)G#OfXD_f;1BdlT2VdH0Eal zG|B5_?-k$`#C3L9p*f9h;-_Gj#*ImoCVo*vOTi0d`J@XvIH7Aps)5hzc4Xi%T&jA6 zZ4&39({dA&s4wu(EWr{Gh2^$x#HfLc?Ey;L_(QepO7Me!*Rl%09-MNS%ZdXdV#O%h z@QKS(QWzL1!jG;U#HxX76pdImzOmI`0t|4Wz4hp_dIJxo)N!ZKl*3=z;rI5s>a0Cx zX4TPyMLe{vHY~{#a&~BCP%veOcx#RpYbjCP8kK*;4Y0GL5w$qU-|zS(RqdiTO-sHQ ztBa+Es4Uj`Syu^X-LEl;zKZYdx*-KgnD^Y$Y?vM5v6iCQ!Gbwe%p0R;eDm6Z*-_-1 zx}8$+3Eu6wRG~+#J;~2$NkMro6-i+%V2yJPvB@|-LqD{qBK+4LGq74v>gV4WLFMV3 zF^R>U$wAh%JeW47FJ>%{$3;WqmbxiV!@AzJeN>`3<4Ij+y(}We>l3Q@+e)HHI0Y()8R+MCu7`QQIcaxwGpgAtLhD tEA806!g?1+W*XAy<1pRjio(i0xa$QL6qLA8kA;XJ8h8q;G3YlCG^zUE; z5;qjpuLK~7>xYO(%g9u6DEtCKxBj5r?Jd0rOu-1wsFt zit3jI^%siGP+ny`NqK?T=JgyCSs7&}JM!5{U9k$dEERasDqut49JBehGi_IhU6nSt zU=?t2@?<_U&Wiz2mnEZtq)wMtHo6Bfs#eRHR<1~cQz$(zKY cnJ){gO%@e*VP+6f-y9>(!_0VVa;8)a0N>eK4FCWD diff --git a/poster/templates/__pycache__/vibrant_template.cpython-312.pyc b/poster/templates/__pycache__/vibrant_template.cpython-312.pyc index 91a22947f63045ed70564c4cee963a47566f0c28..e70a2af1ad3c4b0fb6be46847d5ac7f49b6c60f8 100644 GIT binary patch delta 7404 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 delta 6709 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 Ux?{Q7ujHEe6M;`<3}Hh47cEn>1^@s6 diff --git a/poster/templates/vibrant_template.py b/poster/templates/vibrant_template.py index 4d49f5f..06af8e3 100644 --- a/poster/templates/vibrant_template.py +++ b/poster/templates/vibrant_template.py @@ -4,6 +4,7 @@ """ Vibrant风格(活力风格)海报模板 """ +from ast import List import logging import math from typing import Dict, Any, Optional, Tuple @@ -44,19 +45,21 @@ class VibrantTemplate(BaseTemplate): } def generate(self, - image_path: str, + images: List, content: Optional[Dict[str, Any]] = None, theme_color: Optional[str] = None, glass_intensity: float = 1.5, + num_variations: int = 1, **kwargs) -> Image.Image: """ 生成Vibrant风格海报 Args: - image_path (str): 主图路径 + images (List): 主图 content (Optional[Dict[str, Any]]): 包含所有文本信息的字典 theme_color (Optional[str]): 预设颜色主题的名称 glass_intensity (float): 毛玻璃效果强度 + num_variations (int): 生成海报数量 Returns: Image.Image: 生成的海报图像 @@ -66,12 +69,13 @@ class VibrantTemplate(BaseTemplate): self.config['glass_effect']['intensity_multiplier'] = glass_intensity - main_image = self.image_processor.load_image(image_path) + main_image = images + logger.info(f"main_image的类型: {np.shape(main_image)}") if not main_image: - logger.error(f"无法加载图片: {image_path}") + logger.error(f"无法加载图片: ") return None - main_image = self.image_processor.resize_and_crop(main_image, self.size) + main_image = self.image_processor.resize_image(image=main_image, target_size=self.size) estimated_height = self._estimate_content_height(content) gradient_start = self._detect_gradient_start_position(main_image, estimated_height) @@ -254,13 +258,13 @@ class VibrantTemplate(BaseTemplate): def _calculate_content_margins(self, content: Dict[str, Any], width: int, center_x: int) -> Tuple[int, int]: """计算内容区域的左右边距""" title_text = content.get("title", "") - title_size, title_width = self.text_renderer.calculate_font_size_and_width( - title_text, int(width * 0.95), max_size=130) + title_size=self.text_renderer.calculate_optimal_font_size(title_text,int(width * 0.95),max_size=130) + title_width,title_height=self.text_renderer.get_text_size(title_text,self.text_renderer._load_default_font(title_size)) title_x = center_x - title_width // 2 slogan_text = content.get("slogan", "") - subtitle_size, subtitle_width = self.text_renderer.calculate_font_size_and_width( - slogan_text, int(width * 0.9), max_size=50) + subtitle_size=self.text_renderer.calculate_optimal_font_size(slogan_text,int(width * 0.9),max_size=50) + subtitle_width,subtitle_height=self.text_renderer.get_text_size(slogan_text,self.text_renderer._load_default_font(subtitle_size)) subtitle_x = center_x - subtitle_width // 2 padding = 20 @@ -276,7 +280,7 @@ class VibrantTemplate(BaseTemplate): def _render_footer(self, draw: ImageDraw.Draw, content: Dict[str, Any], y: int, left: int, right: int): """渲染页脚文本""" - font = self.text_renderer.load_font(18) + font = self.text_renderer._load_default_font(18) if tag := content.get("tag"): draw.text((left, y), tag, font=font, fill=(255, 255, 255)) if pagination := content.get("pagination"): @@ -288,8 +292,8 @@ class VibrantTemplate(BaseTemplate): # 标题 title_text = content.get("title", "默认标题") title_target_width = int((right - left) * 0.98) - title_size, _ = self.text_renderer.calculate_font_size_and_width(title_text, title_target_width, max_size=140, min_size=40) - title_font = self.text_renderer.load_font(title_size) + title_size=self.text_renderer.calculate_optimal_font_size(title_text,title_target_width,max_size=140,min_size=40) + title_font = self.text_renderer._load_default_font(title_size) text_w, text_h = self.text_renderer.get_text_size(title_text, title_font) title_x = center_x - text_w // 2 @@ -299,8 +303,8 @@ class VibrantTemplate(BaseTemplate): # 副标题 (slogan) subtitle_text = content.get("slogan", "") subtitle_target_width = int((right - left) * 0.95) - subtitle_size, _ = self.text_renderer.calculate_font_size_and_width(subtitle_text, subtitle_target_width, max_size=75, min_size=20) - subtitle_font = self.text_renderer.load_font(subtitle_size) + subtitle_size=self.text_renderer.calculate_optimal_font_size(subtitle_text,subtitle_target_width,max_size=75,min_size=20) + subtitle_font = self.text_renderer._load_default_font(subtitle_size) sub_text_w, sub_text_h = self.text_renderer.get_text_size(subtitle_text, subtitle_font) subtitle_x = center_x - sub_text_w // 2 @@ -321,18 +325,18 @@ class VibrantTemplate(BaseTemplate): def _render_left_column(self, draw: ImageDraw.Draw, content: Dict[str, Any], y: int, x: int, width: int, canvas_height: int): """渲染左栏内容:按钮和项目列表""" - button_font = self.text_renderer.load_font(30) + button_font = self.text_renderer._load_default_font(30) button_text = content.get("content_button", "套餐内容") button_width, _ = self.text_renderer.get_text_size(button_text, button_font) button_width += 40 button_height = 50 - self.text_renderer.draw_rounded_rectangle(draw, (x, y), (button_width, button_height), 20, fill=(0, 140, 210, 180), outline=(255, 255, 255, 255), width=1) + self.text_renderer.draw_rounded_rectangle(draw=draw, position=(x, y), size=(button_width, button_height), radius=20, fill_color=(0, 140, 210, 180), outline_color=(255, 255, 255, 255), outline_width=1) draw.text((x + 20, y + (button_height - 30) // 2), button_text, font=button_font, fill=(255, 255, 255)) items = content.get("content_items", []) if not items: return - font = self.text_renderer.load_font(28) + font = self.text_renderer._load_default_font(28) list_y = y + button_height + 20 available_h = canvas_height - 30 - (len(content.get("remarks", [])) * 25 + 10) - list_y - 20 total_items_h = len(items) * 36 @@ -346,11 +350,12 @@ class VibrantTemplate(BaseTemplate): def _render_right_column(self, draw: ImageDraw.Draw, content: Dict[str, Any], y: int, x: int, right_margin: int): """渲染右栏内容:价格、票种和备注""" price_text = content.get('price', '') - price_size, price_width = self.text_renderer.calculate_font_size_and_width( - price_text, int((right_margin - x) * 0.7), max_size=120, min_size=40) - price_font = self.text_renderer.load_font(price_size) + price_size=self.text_renderer.calculate_optimal_font_size(price_text,int((right_margin - x) * 0.7),max_size=120,min_size=40) + price_width,_=self.text_renderer.get_text_size(price_text,self.text_renderer._load_default_font(price_size)) + + price_font = self.text_renderer._load_default_font(price_size) - suffix_font = self.text_renderer.load_font(int(price_size * 0.3)) + suffix_font = self.text_renderer._load_default_font(int(price_size * 0.3)) _, price_height = self.text_renderer.get_text_size(price_text, price_font) suffix_width, suffix_height = self.text_renderer.get_text_size("CNY起", suffix_font) @@ -364,9 +369,9 @@ class VibrantTemplate(BaseTemplate): draw.line([(price_x - 10, underline_y), (right_margin, underline_y)], fill=(255, 255, 255, 80), width=2) ticket_text = content.get("ticket_type", "") - ticket_size, ticket_width = self.text_renderer.calculate_font_size_and_width( - ticket_text, int((right_margin - x) * 0.7), max_size=60, min_size=30) - ticket_font = self.text_renderer.load_font(ticket_size) + ticket_size=self.text_renderer.calculate_optimal_font_size(ticket_text,int((right_margin - x) * 0.7),max_size=60,min_size=30) + ticket_width,_=self.text_renderer.get_text_size(ticket_text,self.text_renderer._load_default_font(ticket_size)) + ticket_font = self.text_renderer._load_default_font(ticket_size) ticket_x = right_margin - ticket_width ticket_y = y + price_height + 35 self.text_renderer.draw_text_with_shadow(draw, (ticket_x, ticket_y), ticket_text, ticket_font) @@ -374,7 +379,7 @@ class VibrantTemplate(BaseTemplate): remarks = content.get("remarks", []) if remarks: - remarks_font = self.text_renderer.load_font(16) + remarks_font = self.text_renderer._load_default_font(16) remarks_y = ticket_y + ticket_height + 30 for i, remark in enumerate(remarks): remark_width, _ = self.text_renderer.get_text_size(remark, remarks_font) diff --git a/poster/utils.py b/poster/utils.py index 9f1964a..6117f06 100644 --- a/poster/utils.py +++ b/poster/utils.py @@ -212,6 +212,141 @@ class TextRenderer: except Exception as e: self.logger.warning(f"加载默认字体失败: {e}") return ImageFont.load_default() + + def draw_text_with_outline(self, draw: ImageDraw.Draw, + position: Tuple[int, int], + text: str, + font: ImageFont.FreeTypeFont, + text_color: Tuple[int, int, int, int] = (255, 255, 255, 255), + outline_color: Tuple[int, int, int, int] = (0, 0, 0, 255), + outline_width: int = 2): + """ + 绘制带描边的文字 + + Args: + draw: PIL绘图对象 + position: 文字位置 + text: 文字内容 + font: 字体对象 + text_color: 文字颜色 + outline_color: 描边颜色 + outline_width: 描边宽度 + """ + x, y = position + + # 绘制描边 + for offset_x in range(-outline_width, outline_width + 1): + for offset_y in range(-outline_width, outline_width + 1): + if offset_x == 0 and offset_y == 0: + continue + draw.text((x + offset_x, y + offset_y), text, font=font, fill=outline_color) + + # 绘制文字 + draw.text(position, text, font=font, fill=text_color) + def draw_rounded_rectangle(self, draw: ImageDraw.Draw, + position: Tuple[int, int], + size: Tuple[int, int], + radius: int, + fill_color: Tuple[int, int, int, int], + outline_color: Optional[Tuple[int, int, int, int]] = None, + outline_width: int = 0): + """ + 绘制圆角矩形 + + Args: + draw: PIL绘图对象 + position: 左上角位置 + size: 矩形大小 + radius: 圆角半径 + fill_color: 填充颜色 + outline_color: 边框颜色 + outline_width: 边框宽度 + """ + x, y = position + width, height = size + + # 确保尺寸有效 + if width <= 0 or height <= 0: + return + + # 限制圆角半径 + radius = min(radius, width // 2, height // 2) + + # 创建圆角矩形路径 + # 这是一个简化版本,PIL的较新版本有更好的圆角矩形支持 + if radius > 0: + # 绘制中心矩形 + draw.rectangle([x + radius, y, x + width - radius, y + height], fill=fill_color) + draw.rectangle([x, y + radius, x + width, y + height - radius], fill=fill_color) + + # 绘制四个圆角 + draw.pieslice([x, y, x + 2*radius, y + 2*radius], 180, 270, fill=fill_color) + draw.pieslice([x + width - 2*radius, y, x + width, y + 2*radius], 270, 360, fill=fill_color) + draw.pieslice([x, y + height - 2*radius, x + 2*radius, y + height], 90, 180, fill=fill_color) + draw.pieslice([x + width - 2*radius, y + height - 2*radius, x + width, y + height], 0, 90, fill=fill_color) + else: + # 普通矩形 + draw.rectangle([x, y, x + width, y + height], fill=fill_color) + + # 绘制边框(如果需要) + if outline_color and outline_width > 0: + # 简化的边框绘制 - 使用线条而不是矩形避免坐标错误 + for i in range(outline_width): + offset = i + # 确保坐标有效 + if radius > 0: + # 上边 + if x + radius + offset < x + width - radius - offset: + draw.line([x + radius + offset, y + offset, + x + width - radius - offset, y + offset], + fill=outline_color, width=1) + # 下边 + if x + radius + offset < x + width - radius - offset and y + height - offset >= y + offset: + draw.line([x + radius + offset, y + height - offset, + x + width - radius - offset, y + height - offset], + fill=outline_color, width=1) + # 左边 + if y + radius + offset < y + height - radius - offset: + draw.line([x + offset, y + radius + offset, + x + offset, y + height - radius - offset], + fill=outline_color, width=1) + # 右边 + if y + radius + offset < y + height - radius - offset: + draw.line([x + width - offset, y + radius + offset, + x + width - offset, y + height - radius - offset], + fill=outline_color, width=1) + else: + # 普通矩形边框 + draw.rectangle([x + offset, y + offset, x + width - offset, y + height - offset], + outline=outline_color, width=1) + + def draw_text_with_shadow(self, draw: ImageDraw.Draw, + position: Tuple[int, int], + text: str, + font: ImageFont.FreeTypeFont, + text_color: Tuple[int, int, int, int] = (255, 255, 255, 255), + shadow_color: Tuple[int, int, int, int] = (0, 0, 0, 128), + shadow_offset: Tuple[int, int] = (2, 2)): + """ + 绘制带阴影的文字 + + Args: + draw: PIL绘图对象 + position: 文字位置 + text: 文字内容 + font: 字体对象 + text_color: 文字颜色 + shadow_color: 阴影颜色 + shadow_offset: 阴影偏移 + """ + x, y = position + shadow_x, shadow_y = shadow_offset + + # 绘制阴影 + draw.text((x + shadow_x, y + shadow_y), text, font=font, fill=shadow_color) + + # 绘制文字 + draw.text(position, text, font=font, fill=text_color) def get_font(self, font_name: Optional[str] = None, size: int = 24) -> ImageFont.FreeTypeFont: """ @@ -317,6 +452,70 @@ class TextRenderer: draw.text((line_x, line_y), line, font=font, fill=color) return image + + def calculate_optimal_font_size(self, text: str, + target_width: int, + font_name: Optional[str] = None, + max_size: int = 120, + min_size: int = 10) -> int: + """ + 计算最适合的字体大小 + + Args: + text: 文字内容 + target_width: 目标宽度 + font_name: 字体文件名 + max_size: 最大字体大小 + min_size: 最小字体大小 + + Returns: + 最适合的字体大小 + """ + if not text.strip(): + return min_size + + + # 二分查找最佳字体大小 + left, right = min_size, max_size + best_size = min_size + + while left <= right: + mid_size = (left + right) // 2 + + try: + if font_path: + font = self._load_default_font(mid_size) + else: + font = ImageFont.load_default() + + # 获取文字边界框 + bbox = font.getbbox(text) + text_width = bbox[2] - bbox[0] + + if text_width <= target_width: + best_size = mid_size + left = mid_size + 1 + else: + right = mid_size - 1 + + except Exception: + right = mid_size - 1 + + return best_size + + def get_text_size(self, text: str, font: ImageFont.FreeTypeFont) -> Tuple[int, int]: + """ + 获取文字的尺寸 + + Args: + text: 文字内容 + font: 字体对象 + + Returns: + 文字尺寸 (width, height) + """ + bbox = font.getbbox(text) + return bbox[2] - bbox[0], bbox[3] - bbox[1] def draw_multiline_text(self, image: Image.Image, text: str, position: Tuple[int, int], font_name: Optional[str] = None, font_size: int = 24, diff --git a/requirements_complete.txt b/requirements_complete.txt new file mode 100644 index 0000000..e55705c --- /dev/null +++ b/requirements_complete.txt @@ -0,0 +1,36 @@ +# 原有依赖 +json_repair==0.47.6 +numpy==2.3.1 +openai==1.93.3 +opencv_python==4.11.0.86 +opencv_python_headless==4.11.0.86 +Pillow==11.3.0 +psutil==6.1.0 +pydantic==2.11.7 +scikit_learn==1.7.0 +scipy==1.16.0 +simplejson==3.20.1 +tiktoken==0.9.0 + +# Web框架相关 +fastapi>=0.104.1 +uvicorn[standard]>=0.24.0 +python-multipart>=0.0.6 + +# 数据库相关 +sqlalchemy>=2.0.0 +asyncpg>=0.29.0 +aiosqlite>=0.19.0 + +# 认证和安全 +python-jose[cryptography]>=3.3.0 +passlib[bcrypt]>=1.7.4 + +# 工具库 +python-dotenv>=1.0.0 +aiofiles>=23.2.1 +requests>=2.31.0 + +# 可选依赖 +pyyaml>=6.0.1 +jinja2>=3.1.2 \ No newline at end of file diff --git a/travel_content_2025-07-23_102402.sql b/travel_content_2025-07-23_102402.sql new file mode 100644 index 0000000..15ac994 --- /dev/null +++ b/travel_content_2025-07-23_102402.sql @@ -0,0 +1,589 @@ +-- MySQL dump 10.13 Distrib 8.0.42, for Linux (x86_64) +-- +-- Host: 127.0.0.1 Database: travel_content +-- ------------------------------------------------------ +-- Server version 8.0.42-0ubuntu0.20.04.1 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `content` +-- + +DROP TABLE IF EXISTS `content`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `content` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `requestId` varchar(64) NOT NULL COMMENT '请求ID', + `userId` bigint NOT NULL COMMENT '用户ID', + `topicIndex` varchar(32) NOT NULL COMMENT '主题索引', + `title` varchar(255) NOT NULL COMMENT '文章标题', + `content` text NOT NULL COMMENT '文章内容', + `tag` text NOT NULL COMMENT '文章标签', + `judgeSuccess` tinyint(1) DEFAULT NULL COMMENT '判断是否成功 true-成功 false-失败 null-未判断', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `isDelete` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除 0-否 1-是', + PRIMARY KEY (`id`), + KEY `idx_requestId` (`requestId`) +) ENGINE=InnoDB AUTO_INCREMENT=1947254378650869763 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='内容表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `content` +-- + +/*!40000 ALTER TABLE `content` DISABLE KEYS */; +INSERT INTO `content` VALUES (1946607699127934978,'content-20250720-002656-427ba947',1945869111411052547,'1','杭州亲子一日游|吴山广场家庭套票攻略✨','杭州亲子一日游|吴山广场家庭套票攻略✨\n带娃解锁家门口的历史宝藏,玩出文化范儿!\n-\n🏡【行程亮点】\n✅城隍阁登高俯瞰西湖\n✅吴山天风听古树故事\n✅免费儿童游乐区(沙坑+攀爬架)\n✅纪念馆儿童版导览图\n-\n🌤【天气贴士】\n春秋季:15°C~25°C(备薄外套+遮阳帽)\n夏季:穿轻便运动鞋防石板路滑\n-\n👶【亲子必备清单】\n✅推车:景区坡道多,2岁以上可选登山步道\n✅趣味手册:纪念馆提供儿童版导览图\n-\n🚗【交通指南】\n🚇地铁1号线「龙翔桥站」步行10分钟直达\n🚌公交31路/游2线直达景区门口\n-\n🗺【3小时精华路线】\n9:00 吴山广场南入口集合\n→ 9:30 登城隍阁顶层观景台\n→ 10:30 参观吴山脚下的南宋御街遗址\n→ 11:30 在套票包含的餐厅享用午餐\n→ 13:00 带娃玩转吴山大草坪游乐区\n-\n⚠【贴心Tips】\n🔥 安全第一:台阶较多请牵好小朋友\n🔥 摄影彩蛋:城隍阁二楼回廊拍剪影超美\n-\n📸【出片秘籍】\n✔城隍阁前摆造型,背景是西湖山水\n✔南宋御街石碑旁比耶,秒变古风大片\n❗PS:记得带充电宝!景区信号稳定无死角\n-','#杭州旅游 #浙江旅游 #杭州周边游 #吴山广场 #吴山广场攻略 #吴山广场推荐 #周末去哪儿玩 #小众旅游地 #杭州周末好去处',1,'2025-07-20 00:26:56','2025-07-20 00:26:56',0),(1946610050890964993,'content-20250720-003617-98d13962',1945869111411052547,'1','杭州遛娃天花板!吴山广场全天游玩攻略✨','发现杭州最宝藏的遛娃地!\n吴山广场全天亲子文化之旅攻略来啦\n-\n🗼【3大必打卡场景】\n✅城隍阁顶层观景台:凭套票可登顶俯瞰西湖+城市天际线,免费空中摄影框\n✅吴山脚下的南宋御街:持票可免费游览,推婴儿车畅行老字号一条街\n✅露天非遗体验区:凭票进入,每周六有剪纸/油纸伞制作亲子课堂(需提前预约)\n-\n👶【亲子友好细节】\n✔全景区无障碍通道贯通,婴儿车通行无压力\n✔城隍阁入口配备母婴室+儿童座椅\n✔纪念品商店提供免费儿童口罩\n-\n🍽️【套票含午餐指南】\n🔥必吃TOP3: \n▪知味观小笼包(套票含午餐券可兑换半成品)\n▪方回春堂养生茶饮(红枣银耳羹儿童款不加糖)\n▪吴山小吃城鲜肉小笼(套票用户享专属折扣)\n-\n⚠避坑Tips:\n❗建议下午4点后光线最佳时段入园\n❗带娃爬山注意台阶防滑,建议穿防泼水鞋\n❗城隍阁电梯限流,建议走楼梯感受古建筑魅力\n-\n🎁【景区限定活动】\n▶每周日下午2点\n中山中路地铁口有民间艺人表演皮影戏(免费观看)\n▶节假日限定\n吴山天风广场设置投壶/射箭亲子互动区(凭票参与)\n-\n💡行程建议:\n9:00-10:30 南宋御街早餐+逛老字号\n10:30-12:00 登城隍阁拍全家福\n12:00-13:30 使用套票午餐券用餐\n14:00-15:30 参与非遗手作课(需提前3天公众号预约)\n16:00-17:30 漫步露天园林区找十二生肖石雕\n-\n*eBay时刻:\n日落时分站在观景台,看孩子指着远处雷峰塔喊\"妈妈你看保俶塔在眨眼\"的瞬间,值回全天时光','#杭州旅游 #浙江旅游 #杭州周边游 #杭州吴山广场 #吴山广场攻略 #吴山广场推荐 #周末去哪儿玩 #小众旅游地 #杭州周末好去处',1,'2025-07-20 00:36:17','2025-07-20 00:36:17',0),(1946640401214451714,'content-20250720-023653-7d17db41',1945869111411052546,'3','冒险湾套票2大2小畅玩一整天','天津人周末不出城也能玩high!\n这个水上乐园直接承包你全家快乐值🌊\n\n🚗【交通指南】\n✅自驾:市区1小时直达,停车场超宽裕\n✅地铁:5号线直达「冒险湾站」,出站直通园区\n\n🎁【套票超值】\n💰2大2小套票含:\n✔全天游乐权限\n✔自助午餐\n\n🎢【必玩项目】\n🔥尖叫系:巨兽碗滑道、飓风漩涡\n👶亲子向:彩虹漂流河、泡泡水寨\n📸出片王:27米高天幕滑道俯冲视角\n\n⚠【贴心Tips】\n🔥穿速干衣!更衣室提供免费浴巾\n🔥存包柜提前占!入口右手边就是\n\n📸【拍照玄学】\n✔彩虹滑道出口逆光拍,自带柔光滤镜\n✔中央喷泉广场无人机视角,全景入镜\n✔日落时分摩天轮背景,童话感拉满\n\n❗PS:工作日16:00后入园人最少,套票提前3天预约!','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-20 02:36:53','2025-07-21 10:07:12',0),(1946642594839638017,'content-20250720-024536-0fb5cad5',1945869111411052546,'9','天津冒险湾2大2小套票 水上狂欢','天津38℃水狂欢!🔥2大2小套票秒变夏日快乐星球!\n\n暑假遛娃不用愁!天津冒险湾全新水世界开玩啦~\n-\n🌤【避暑指南】\n全家畅玩多种水上游乐设施!儿童戏水区/彩虹滑道/巨型滑道全覆盖\n全天玩水到日落都不想走!\n-\n🧳【套票超值攻略】\n✅2大2小全天通玩\n✅含午餐(多样美食任选)\n-\n🎢【必打卡项目】\n✔彩虹滑道组合:多条不同坡度滑道,尖叫指数爆表!\n✔巨型造浪池:每小时定时巨浪,畅享清凉\n✔儿童水寨乐园:喷泉/水枪/攀爬网,娃能疯玩3小时\n-\n⚠【实用贴士】\n🔥穿速干衣!园区地表温度较高\n🔥带防水袋!手机/钥匙需妥善保管\n🔥错峰入园!10:00前或16:00后玩项目更顺畅\n-\n🍴【园区餐饮】\n午餐包含海鲜/冰镇西瓜等多样美食\n别错过特色冰淇淋船!\n-\n🚗【出行TIPS】\n自驾:津滨高速直达\n地铁:9号线中山门站换乘专线巴士\n-\n📸【出片机位】\n✔彩虹滑道出口抓拍\n✔全家福拍摄点\n✔夜场灯光秀时刻\n-\n💡划重点:套票需提前预约!立即抢购开启夏日玩水计划~','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-20 02:45:36','2025-07-20 02:45:36',0),(1946642867385511938,'content-20250720-024641-f2276da2',1945869111411052546,'9','天津遛娃天花板!2大2小套票玩水出片🌊','这个夏天不用挤海边!\n天津人遛娃终于有了新据点🌊\n2大2小套票直接承包全家快乐\n-\n🏨【天津冒险湾】\n市区出发1小时直达的水上乐园\n✅套票包含:全天游玩+午餐\n✅全园游乐设施畅玩\n-\n🚗【交通指南】\n▪自驾:津滨高速直达\n▪地铁:9号线直达站口,步行5分钟入园\n-\n🎢【必玩项目清单】\n🔥尖叫系:\n✔️超级大喇叭(3人组队急速回旋)\n✔️巨兽碗滑道(高空俯冲体验)\n-\n👶亲子友好区:\n✔️暴雪湾造浪池(配备儿童安全区)\n✔️彩虹水寨(多种互动装置)\n-\n☀️【避坑指南】\n🔥防晒保命:园区紫外线强烈!必备:\n✅防水防晒霜+速干衣\n✅儿童泳圈+防滑拖鞋\n✅手机防水袋\n-\n📸【出片机位】\n✔无边泳池跳水瞬间(自带天空滤镜)\n✔彩虹滑道出口抓拍(梦幻水花)\n✔夜场灯光秀(每晚19:30开演)\n-\n⚠️重要提示:\n❗漂流河需穿专用鞋❗\n❗儿童1.4米以下需戴救生衣❗\n-\n💰2大2小家庭套票火热销售中,这个周末就逃离暑热!','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-20 02:46:41','2025-07-20 02:46:41',0),(1946642897756467202,'content-20250720-024648-8527be44',1945869111411052546,'9','天津遛娃优选!2大2小套票玩水含餐💦','这个夏天不用远行!天津周边遛娃天花板来啦💦\n2大2小套票直接省心安排,玩水+美食一站式搞定\n\n🌤【出行指南】\n📍地址:天津生态城鲲鹏北路\n🚗自驾:市区1小时直达,园区3000+停车位\n🚇地铁:9号线东海路站转公交\n⏰开放时间:10:00-20:00(暑期延长至21:00)\n💰套票福利:含自助午餐+无限次畅玩全园设施\n\n🌊【必玩项目清单】\n✅彩虹竞赛道:8层楼高滑道尖叫指数MAX!\n✅巨兽碗组合:冲浪池+滑梯一体,大人孩子都能嗨\n✅儿童水寨:喷泉/水战/攀爬设施超全,解放双手神器\n✅漂流河:躺着欣赏全园景观,还能偶遇美人鱼表演\n✅无边泳池:拍ins风大片绝绝子!\n\n🧳【家长必看Tips】\n✔️自带防水袋装手机证件\n✔️租储物柜建议选B区(离更衣室最近)\n✔️餐厅推荐「椰林风情餐吧」海鲜饭yyds\n\n⚠️避坑指南\n🔥穿速干衣别带厚棉袜!滑道容易打滑\n🔥中午紫外线暴击!物理防晒比擦防晒霜管用\n🔥每小时补涂防水型防晒!不然会变黑炭\n\n📸出片秘诀\n✔️彩虹滑道出口抓拍起飞瞬间\n✔️无边泳池夕阳时拍剪影\n✔️儿童区用慢动作捕捉嬉水画面\n\n❗PS:套票限时优惠中,手慢无警告!','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-20 02:46:48','2025-07-20 02:46:48',0),(1946643120616615937,'content-20250720-024741-4c2a57e0',1945869111411052546,'9','天津遛娃必去!冒险湾2大2小套票全家嗨玩攻略💦','打工人周末救星来啦!不用请假也能全家嗨玩🌊\n天津冒险湾水上乐园攻略速递,全家畅玩攻略抢先看!\n-\n🚇【交通指南】\n▪️自驾:导航「天津生态城冒险湾」,停车场超大\n▪️地铁:9号线中央大道站换乘公交\n-\n🎁【2大2小套票必囤】\n✅全天入园+午餐(园区餐厅使用)\n✅套票已包含2位成人及2位儿童费用(建议带泳衣备用)\n-\n🎢【必玩项目清单】\n🔥刺激组:\n▫️超级大喇叭——六层楼高俯冲体验\n▫️巨洪峡——模拟山洪暴发的激流滑道\n▫️垂直极限——40km/h极速坠落\n\n👶亲子友好区:\n▫️彩虹滑道——3-8岁宝贝最爱\n▫️儿童戏水城堡——喷泉/水枪全都有\n▫️造浪池——躺着等波浪超惬意\n-\n📸【出片机位】\n✔️彩虹滑道入口:蓝白配色背景超显清爽\n✔️造浪池边沿:抓拍跳跃接浪瞬间\n✔️椰林长廊:午后光影氛围感拉满\n-\n⚠️【实用贴士】\n🔥储物柜提前占位,高峰时段需求量大\n🔥防晒霜隔1小时补涂,水面反光强烈\n🔥自带防水手机袋,园区售卖68r\n🔥午餐建议错峰12:30前吃,排队人少\n-\n💡TIPS:穿亮色系泳装出片率翻倍!园区周边有便利店,零食饮料别手滑买贵~','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-20 02:47:41','2025-07-20 02:47:41',0),(1946643648377499649,'content-20250720-024947-f26e911b',1945869111411052546,'9','🌊天津遛娃必囤!2大2小套票攻略','天津人周末遛娃不用愁!🌊冒险湾2大2小套票承包全家快乐!\n\n🚗【自驾5分钟直达】市区出发半小时可达,地铁6号线转公交直达,周末说走就走\n\n🎁【套票超值】2成人+2儿童全天畅玩,含营养午餐\n\n💦【必玩项目清单】\n✅「超级大喇叭」3层楼高滑道尖叫到底\n✅「巨兽碗」亲子漂流圈一起冲浪\n✅「儿童水寨」彩虹滑梯+互动水枪区\n✅「暴雪湾」人造海浪戏水区(深水区需穿救生衣)\n✅「漂流河」躺着看全景的悠闲之选\n\n🍽️【餐饮指南】\n园区内设多个餐厅,建议携带轻便饮品\n⚠️自带零食可进园\n\n🌞【实用Tips】\n🔥建议穿速干衣,做好防晒措施\n💰储物柜需自费租用\n👶婴儿车租赁服务可用,更衣室提供基础用品\n\n📸【出片机位】\n✔入口彩虹拱门全家福\n✔大喇叭出口俯拍滑行轨迹\n\n💡PS:套票需提前3天预约,1.2米以下儿童全程需家长陪同!','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-20 02:49:47','2025-07-20 02:49:47',0),(1946644217108344833,'content-20250720-025202-fe2ea638',1945869111411052546,'5','天津冒险湾2大2小套票!','天津人周末遛娃新姿势!不用远行也能玩到嗨~\n\n🌊【冒险湾玩水全攻略】\n市区出发1小时直达!2大2小套票含午餐+全天畅玩,打工人周末说走就走\n\n🚗交通指南\n✅自驾:导航「天津生态城冒险湾」,停车场免费\n✅地铁:9号线东海路站换乘公交直达\n✅高铁:滨海站打车20分钟即达\n\n🍽️套票超值亮点\n✔门票+午餐二合一(园区餐厅任选套餐)\n✔午间休息时段可离园,下午凭手环再入园\n\n🎢必玩项目清单\n🔥成人区:巨兽碗、彩虹滑道、飓风眼\n🔥亲子区:漂流河、泡泡池、儿童水寨\n🔥拍照点:彩虹滑道出口打卡墙、冲天大滑梯观景台\n\n⚠️血泪经验Tips\n🔥穿速干衣!园区地暖恒温28℃,玩完秒变汗人\n🔥租储物柜!更衣室空间有限,贵重物品别离身\n🔥错峰玩法:上午先玩激烈项目,午后泡水疗区\n\n📸出片玄学\n✔彩虹滑道穿亮色泳衣,逆光拍摄自带光晕\n✔漂流河躺浮圈闭眼摆拍,自动出ins风大片\n✔傍晚入园抓夕阳,玻璃栈道拍剪影\n\n💡实用贴士\n✅自带防水手机袋/防水包\n✅园区内有免费淋浴间\n✅儿童可租防走失牵引绳\n\n这个夏天,把空调房留给热浪,带着256G手机内存来解锁天津人的快乐星球吧!','#天津旅游 #天津市周边游 #滨海新区周边游 #天津冒险湾 #天津冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',0,'2025-07-20 02:52:03','2025-07-20 03:20:24',0),(1946651423639842818,'content-20250720-032041-3eeb5fdb',1945869111411052546,'1','天津遛娃天花板!2大2小套票玩水不费妈💦','发现天津遛娃天花板!2大2小套票玩水不费妈💦\n\n暑假带娃不想挤景区?天津冒险湾直接承包你们的夏日快乐!\n\n🌤️【天气装备指南】\n✅7-8月平均气温30°C+,记得备好:\n▫️防晒三件套:帽子+墨镜+50+防晒霜(水边反光强!)\n▫️速干T恤+防滑拖鞋+防水手机袋\n▫️替换衣物+浴巾(园区有更衣室但自带更安心)\n\n🎁【套票隐藏福利】\n✔️含自助午餐\n✔️适合全年龄段的游乐设施\n\n🎢【必打卡项目】\n👶3-6岁宝宝:\n▫️彩虹泡泡池(会喷水的卡通造型设施)\n▫️童话城堡戏水区(浅水区+安全防护网)\n\n청소년7-12岁孩子:\n▫️巨兽碗滑道(从三层楼高俯冲入水)\n▫️飓风漩涡池(体验离心力的刺激感)\n\n👨👩亲子同乐区:\n▫️家庭漂流河(可躺可划船的懒人玩法)\n▫️水上闯关乐园(攀爬网+浮圈接力赛)\n\n⚠️【避坑Tips】\n🔥泳圈需提前准备(入口处有租赁服务)\n🔥园区餐车价格透明,自带零食可进园\n\n📸【出片机位】\n✔️入口巨型水滴雕塑(蓝天下拍全家福)\n✔️飓风池观景台(俯拍旋转水流特效)\n✔️黄昏时分的彩虹滑道(灯光亮起超梦幻)\n\n💡专业提示:建议选择凉爽时段游玩,享受最佳体验~','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #亲子好去处 #天津周末遛娃',1,'2025-07-20 03:20:41','2025-07-20 03:20:41',0),(1946653521588760577,'content-20250720-032901-fffce889',1945869111411052546,'1','天津遛娃必冲!2大2小套票玩水攻略💦全家畅玩指南','刚带娃刷完天津冒险湾全套!这2大2小套票真的太划算了💦\n\n作为新手爸妈终于找到能全家安心玩水的地方了!先说重点:套票含午餐+无限次玩水,人均不到150r就能嗨整天!\n\n🌊【必囤套票解析】\n✅2位成人及2位儿童全天通玩\n✅含自助午餐(烤肉档口超管饱!)\n✅儿童救生衣免费领(园区入口服务台)\n\n🎢【亲子游玩路线】\n上午场:先冲温和区培养娃兴趣\n①彩虹水寨:3岁以上宝贝最爱的造浪池+滑梯组合\n②漂流河:全家手牵手漂浮20分钟,超治愈\n\n中午场:餐厅占座吃自助\n记得提前1小时在「椰林餐厅」门口排队,海鲜刺身/儿童面套餐都有专门餐具\n\n下午场:解锁刺激项目\n③垂直极限:1.2米以上宝贝可体验45°俯冲(全程安全护具)\n④巨洪峡:爸妈带娃组队玩造浪对抗赛\n\n⚠️血泪经验Tips\n🔥穿防滑拖鞋!更衣室提供租赁\n🔥每1小时补涂防水防晒(园区商店有售)\n🔥租个儿童浮圈解放双手\n\n📸出片秘诀\n白色泡泡袖+亮色泳衣最显肤白\n水寨顶层平台拍全家福超上镜\n\n这个夏天终于不用再被烈日暴击啦!','#天津旅游 #天津市周边游 #天津亲子游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #亲子好去处 #天津遛娃',1,'2025-07-20 03:29:01','2025-07-20 03:29:01',0),(1947111631369502722,'content-20250721-094923-6456f251',1945869111411052546,'4','天津冒险湾全家畅玩攻略🔥','天津人周末遛娃不用愁!这个水上乐园真的能玩疯‼️\n\n🌊【冒险湾全家畅玩指南】\n2大2小套票直接封神!含午餐+全天游玩权限,解锁N种尖叫玩法\n\n🧳出行装备清单\n✅泳衣/拖鞋(园区可租借但自带更方便)\n✅防晒三件套:帽子+墨镜+50+防晒霜(暴晒预警!)\n✅防水手机袋+塑料袋(救命神器!别问我怎么知道的)\n✅替换衣物3套起步(玩水消耗战开始了懂?)\n\n🎢必打卡项目路线\nDay Plan:9:30开园冲!按这个顺序玩最省时间\n1⃣超级大喇叭 ➡️2⃣巨兽碗(双人浮圈更欢乐!)\n3⣪暴雪湾造浪池(下午5点电音派对超嗨)\n4⣪勇士漂流河(全程2公里沉浸式探险)\n5⣪儿童戏水区(小宝贝专属快乐星球)\n\n⚠️血泪经验分享\n🔥套票记得提前预约日期!周末热门场次秒没\n🔥1.2米以下儿童需家长全程陪同滑道体验\n🔥餐厅排队2小时起…建议直接在储物柜放零食\n🔥更衣室手环比金条珍贵!丢了要重新排队\n\n📸出片密码\n✔️彩虹滑道出口逆光抓拍(飞起来的妈耶瞬间)\n✔️无边泳池边缘俯拍(蓝天白云入镜绝了)\n✔️夜场灯光亮起时的全景模式(梦幻蓝紫色调)\n\n📌Tips:\n1. 套票包含2大2小全天游玩权限及午餐\n2. 周末场次需提前预约\n\n这个五一,带娃解锁天津冒险湾的尖叫之旅!家门口的水上狂欢,全家畅玩一整天~','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 09:49:23','2025-07-21 09:49:23',0),(1947155901166067713,'content-20250721-124517-9ecbe6a6',1945869111411052546,'4','🚗天津亲子游必囤!2大2小套票玩水','冲就完事了‼️天津亲子游天花板!1h直达水上乐园2大2小套票封神!\n\n姐妹们听我说!这个夏天带娃不用愁——天津冒险湾真的太懂家长了!2大2小套票直接省心,全程玩水+美食+拍照一站式搞定,快收藏这篇避坑攻略👇\n\n🌤【天气提醒】\n6-8月最佳游玩期 25°C~35°C(记得带遮阳伞!)\n⚠️防暑防晒双管齐下:儿童防晒霜+泳衣+备用换洗衣物必备!\n\n🧳【亲子装备清单】\n✅证件:身份证(入园必带)\n✅保命三件套:儿童浮力臂圈/救生衣、防水手机袋、防滑拖鞋\n✅贴心准备:便携小风扇、独立水杯、急救包(肠胃药+创可贴)\n\n🎡【必玩项目指南】\n🔥刺激系:超级大喇叭(适合身高较高儿童)、巨洪峡(家长可陪同)\n🔥亲子友好:彩虹漂流河(全家同乐)、抓鱼池(孩子超爱)\n\n🍽️【吃货地图】\n✔️套餐包含午餐,推荐椰林餐厅海鲜炒饭+鲜榨果汁\n✔️网红冰淇淋车必尝抹茶味!避开排队高峰11:30-13:00\n\n⚠【血泪经验】\n🔥 ‌儿童安全第一‌:每小时检查防晒霜补涂,危险区域不离视线\n🔥 ‌更衣室攻略‌:提前租储物柜,带娃换衣用母婴室更私密\n🔥 ‌隐藏玩法‌:闭园前半小时去造浪池,人少还能抢到躺椅\n\n📸【出片秘籍】\n✔️彩虹滑道出口抓拍尖叫瞬间\n✔️亲子装搭配亮色系更出片(蓝白条纹/荧光色)\n❗PS:穿防滑凉鞋!去年看到好多小朋友在湿滑地面摔跤😭\n','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 12:45:18','2025-07-21 12:45:18',0),(1947176455738695682,'content-20250721-140658-11844b89',1945869111411052546,'1','家庭出游优选!冒险湾2大2小套票','想找全家畅玩的水上乐园吗?天津冒险湾2大2小套票带您体验清凉一夏!🌊\n\n📌家庭专享权益:\n✅ 全天畅玩激流勇进、巨兽碗浪池等20+水上游乐设施\n✅ 含营养午餐一份/人(中式套餐+饮品)\n✅ 儿童专属戏水区+免费储物柜\n\n🔥三大亲子亮点:\n 1️⃣ 水上竞技场\n - 家庭竞速滑道组队PK\n - 漂流河亲子协作任务\n - 泳圈接力趣味赛\n \n 2️⃣ 探险乐园\n - 悬浮岛平衡挑战\n - 水幕解密赛道\n - 家庭浮圈漂流\n \n 3️⃣ 安心保障\n ☀️ 全园区安全员值守\n 🚴♂️ 提供儿童救生衣租赁\n 🚽 独立母婴室+更衣室\n \n⚠️贴心Tips:\n▷ 建议携带防晒用品\n▷ 儿童身高1.2米以下需成人陪同\n▷ 更衣区提供免费储物柜\n \n📅推荐时段:\n工作日周三/周五下午场性价比更高\n五一假期(4.29-5.3)提前预约\n \n📸出片攻略:\n✔️彩虹滑道出口全家福\n✔️观景台俯拍亲子阵型\n✔️更衣区准备统一亲子装','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 14:06:58','2025-07-21 14:06:58',0),(1947176824560623618,'content-20250721-140826-0a80d07b',1945869111411052546,'1','天津冒险湾家庭套票|2大2小全天畅玩+午餐','天津冒险湾全新家庭套票上线!2大2小全天畅玩水上乐园,含营养午餐!\n\n✅家庭游玩必备\n• 一站式解决全家出行:2位成人+2位儿童全天游玩权限\n• 含正餐:园区餐厅提供营养均衡的儿童套餐和成人简餐\n\n🌤【游玩须知】\n• 6-9月最佳游玩期(日均气温25-32℃)\n• 建议穿速干衣,园区提供免费储物柜\n\n🎢【亲子游乐指南】\n▶ 水上竞技场:全家挑战「超级大喇叭滑道」\n▶ 沉浸式水战:参与园区特设「古罗马水战主题」互动游戏\n▶ 安全漂流:亲子共同体验家庭漂流项目\n\n🍽️【餐饮安排】\n• 中餐提供儿童友好型套餐及成人简餐\n• 设置家庭专区,可放置随身物品\n\n⚠【家庭贴心Tips】\n🔥 安全保障:每个游乐区配备专业救生员\n🔥 温馨提示:园区设有母婴室和儿童休息区\n\n📸【亲子出片点】\n✔ 彩虹滑道入口记录全家欢乐瞬间\n✔ 造浪池舞台前拍摄家庭合影\n✔ 统一亮色泳衣提升照片辨识度\n\n❗PS:建议提前预约错峰出行,园区周边有停车场方便自驾家庭','#天津旅游 #天津市周边游 #京津冀周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #团队建设好去处 #天津周末好去处',1,'2025-07-21 14:08:26','2025-07-21 14:08:26',0),(1947182991353520129,'content-20250721-143256-3fa2e706',1945869111411052546,'5','天津遛娃🎢2大2小套票夏日清凉','这个夏天,带娃玩水不用远行!天津冒险湾全新升级,2大2小套票承包你的清凉假期~\n\n👨👩👧👦【为什么选冒险湾】\n✅家门口的水上乐园!20+安全游乐设施全家畅玩\n✅套票含全天游玩权限及正餐,轻松享受亲子时光\n✅专属儿童戏水区,配备专业安全防护\n\n💦【必玩项目清单】\n✔彩虹滑道 trio组队尖叫\n✔巨兽碗冲浪池 真实海浪体验\n✔漂流河全家总动员 懒人躺漂神器\n✔儿童城堡区 小恐龙滑梯超解压\n\n🎁【套餐权益】\n✅2大2小全天游玩权限\n✅包含正餐供应\n✅园区配备更衣室及淋浴设施\n\n⚠【温馨提示】\n🔥建议穿着速干衣物\n🔥贵重物品请妥善保管\n🔥早鸟出行可优先使用浮圈\n\n📸【出片机位】\n✔彩虹滑道入口俯拍三连跳\n✔造浪池边抓拍浪花飞溅瞬间\n✔儿童城堡彩色滑梯背景超出片\n\n💡Tips:套票需提前在官方渠道预约,建议错峰出行\n\n这个夏天,和冒险湾一起解锁清凉回忆吧!','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 14:32:57','2025-07-21 14:32:57',0),(1947183047695605761,'content-20250721-143310-81631573',1945869111411052546,'2','🌊天津亲子避暑攻略!2大2小套票必读','这个夏天终于找到遛娃天花板!天津冒险湾2大2小套票太值了!\n\n📌亲测避坑攻略:\n✅直接买美团「2大2小家庭套票」含午餐!记得提前3天预约\n✅建议自备泳衣和浮力装备(园区周边有租赁点)\n\n🧳出行装备清单:\n✔️儿童浮力臂圈(浅水区必备!比救生衣灵活)\n✔️防滑拖鞋(地面湿滑,娃光脚容易摔跤)\n✔️替换衣物2套(园区更衣室有烘干机)\n✔️防水手机袋(拍照记录萌娃尖叫瞬间)\n\n🔥必玩项目指南:\n①彩虹水寨城堡(3岁以上宝贝天堂!滑梯/水枪/造浪全都有)\n②森林漂流河(躺着看风景,全程缓坡超安全)\n③海浪池边网红秋千(拍娃蹦跳视频绝了!建议早9点开园抢位)\n\n⚠️血泪教训:\n❗️别穿连体泳衣!娃上厕所要全家帮忙\n❗️11点前吃园区套餐!晚了餐厅排队1小时\n❗️租带锁储物柜(贵重物品放前台更安心)\n\n📸出片秘诀:\n• 傍晚光线最好,拍娃举水枪剪影\n• 穿亮色系泳装更显眼\n• 漂流河入口处有彩虹拱门拍照位\n\n套餐包含虾仁炒饭和儿童牛排,吃完直接冲水池降温~这个暑假不出京就能玩水撒欢,快收藏抄作业吧!','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 14:33:10','2025-07-21 14:33:10',0),(1947183065961799681,'content-20250721-143314-5fb2122a',1945869111411052546,'3','天津遛娃天花板2大2小套票攻略','带娃玩水不用愁!天津冒险湾2大2小套票全攻略来啦💦\n\n【亲子亮点速递】\n✅彩虹水寨:3-12岁通吃!彩色滑梯+互动喷泉让孩子尖叫不停\n✅家庭漂流河:4米浅滩可抓小鱼🐟 宝宝边玩边学自然知识\n✅儿童戏水堡:独立区域配专业救生员,家长安心拍照打卡\n✅套票含午餐:园区餐厅凭票换亲子套餐,解决喂饭难题\n\n・\n🧳【妈妈必看清单】\n✔️物理防晒:宽檐帽+长袖防晒衣(园区紫外线强)\n✔️装备包:防水手机袋+防滑拖鞋(更衣室配备储物柜)\n✔️安全贴士:救生衣可在前台领取\n\n・\n🌊【科学游玩路线】\n9:00入园→先冲人少时段的巨兽碗滑道\n11:30儿童区玩耍→12:30兑换套餐(推荐椰香鸡块餐)\n14:00避开正午高峰→挑战超级大喇叭\n16:00闭园前→全家体验波浪池电音派对\n\n・\n⚠【重要提醒】\n🔥身高限制:请根据园区现场指引陪同儿童游玩\n\n・\n📸【出片机位】\n✔入口彩虹拱门:拍全家福最佳角度\n✔大喇叭出口:抓拍空中翻转瞬间\n\n💡天津冒险湾2大2小套票,带娃解锁夏日玩水新体验~','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 14:33:14','2025-07-21 14:33:14',0),(1947183082374111234,'content-20250721-143318-71d8d244',1945869111411052546,'1','天津遛娃天花板!🌊2大2小套票承包夏日快乐!','天津遛娃天花板!🌊2大2小套票承包夏日快乐!\n\n这个夏天终于找到能让孩子尖叫到失声的家庭宝藏!天津冒险湾全新升级的亲子友好型水上乐园,2大2小套票畅玩全天!\n\n☀️【避暑指南】\n7-8月平均水温28℃,园区配备全遮阳顶棚\n⚠️紫外线指数爆表!物理防晒+补水喷雾缺一不可\n\n🧳【亲子装备清单】\n✅证件:身份证(儿童需携带有效身份证明)\n✅保命三件套:速干衣+防泼水背包+儿童脖圈(园区泳圈仅出租)\n✅急救包:腹泻药+创可贴+替换衣物(娃总爱跳进深水区)\n\n🎡【必玩项目】\n🔥彩虹滑道:适合3岁+独立体验,彩色浮圈自带出片特效\n🔥漂流河:配备儿童专属躺垫,家长可全程陪同\n🔥儿童戏水城堡:互动喷泉+造浪池,安全系数五颗星\n\n🍽️【套票专属福利】\n套餐包含2大2小全天午餐,园区「海浪餐厅」提供儿童餐具套装\n推荐:虾仁炒饭(少盐版)+椰汁西米露(免费续杯)\n\n⚠【温馨提示】\n🔥储物柜记得锁死!重要物品随身携带\n🔥每小时补涂防水防晒!园区直射区会晒脱皮\n\n📸【出片秘籍】\n✔彩虹滑道出口抓拍腾空瞬间\n✔漂流河入口摆pose+水花特写\n✔闭园前拍全家湿发造型,自带电影滤镜效果\n\n❗PS:套票提前3天预约,闸机口有免费婴儿车租赁\n\n','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 14:33:18','2025-07-21 14:33:18',0),(1947183157229854722,'content-20250721-143336-87c70e80',1945869111411052546,'4','天津遛娃天花板!冒险湾全家畅玩一整天','发现天津遛娃天花板!这个水上乐园全家玩到不想回家💦\n\n作为带娃过来的宝妈,必须夸爆天津冒险湾!设施超全还贴心,2大2小套票直接搞定全天畅玩,含午餐~\n\n-\n🌊【必打卡项目】\n✅彩虹滑道:五彩滑道高空俯冲体验,全家共享尖叫乐趣!\n✅儿童戏水城堡:浅水区+互动喷泉,宝宝光脚丫玩得超开心,卡通造型滑梯趣味十足\n✅巨兽碗漩涡池:全家一起体验离心力旋转,抓稳咯!(建议穿防滑袜)\n✅漂流河:躺着随波逐流,沿途热带雨林景观尽收眼底\n\n-\n⚠️【实用贴士】\n🔥全程做好防晒措施,阴天也要涂防水防晒霜\n🔥每小时补涂防晒,园区商店有售防水用品\n🔥建议自备防水手机袋和替换泳衣\n🔥更衣室提供免费吹风机\n\n-\n🍽️【用餐指南】\n✔️套票含午餐(具体餐品以当日供应为准)\n✔️园区内西餐厅可点餐,建议提前取号\n✔️便利店备有电解质水,及时补充水分\n\n-\n💡Tips:\n1️⃣早鸟入园抢占网红拍照点(入口彩虹门最佳出片位)\n2️⃣10:30/15:00有水上表演,记得准时到场\n3️⃣下午4点后游客减少,能安心玩设施不排队\n\n-\n这个夏天不用远行,在家门就能get三亚级玩水体验!套票性价比超高,建议趁暑假带娃二刷~','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 14:33:36','2025-07-21 14:33:36',0),(1947191416498102273,'content-20250721-150625-a4d322e0',1945869111411052546,'1','天津遛娃天花板!2大2小套票畅玩冒险湾💦','带娃玩水不用愁!天津冒险湾2大2小套票全攻略✨\n\n🌊【套票超值指南】\n✅2成人+2儿童全天畅玩\n✅含午餐\n\n⏰最佳时段:工作日人少,周末建议早9点开园进场\n\n🎒【出行必备清单】\n✔️身份证/户口本(核验儿童信息)\n✔️防水袋+手机防水壳\n✔️替换衣物&浴巾(园区更衣室提供储物柜)\n⚠️切记:别忘带防晒用品!阴天紫外线也凶猛!\n\n🎢【分龄玩水地图】\n👶3-6岁宝宝区:\n• 水上城堡:互动玩具+趣味设施\n• 小喇叭滑道:亲子浮圈可共同体验\n\n청소년7-12岁进阶区:\n• 巨兽碗滑道:高空滑行体验\n• 勇士漂流河:主题河道探险\n\n🔥必打卡项目:\n• 暴雨海滩:每半小时人工造浪\n• 救生员全程巡逻,安心指数五颗星\n\n🍽️【餐饮指南】\n• 套餐午餐:含儿童餐\n• 自助餐厅有儿童座椅专区\n\n⚠️【避坑Tips】\n🔥 安全第一:不会游泳的孩子务必穿好救生衣\n🔥 防滑装备:建议穿溯溪凉鞋防滑\n\n💡实用技巧:\n1️⃣ 提前在「天津海昌极地海洋世界」公众号预约\n2️⃣ 景区直通车:天津站/南站均有接驳车\n\n这个夏天,全家一起解锁水上狂欢吧!','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:06:25','2025-07-21 15:06:25',0),(1947202984547917826,'content-20250721-155223-61b5950e',1945869111411052546,'5','天津亲子必打卡!🌊冒险湾2大2小家庭套票','夏天不用出津也能玩水暴汗!\n天津冒险湾2大2小套票亲测超值\n-\n🏊🏻♂️【必带装备清单】\n✅泳衣+速干T恤(园区有储物柜)\n✅防晒袖套(日晒区必备)\n✅防滑拖鞋(建议备两双替换)\n✅儿童脖圈(3岁以上可玩激流区)\n-\n🎁【套票权益】\n✔️含全天自助午餐\n✔️2大2小全天游玩权限\n-\n🎢【全园必玩路线】\n🔥尖叫系数TOP3\n1.巨兽碗滑道(四人浮圈俯冲体验)\n2.超级大喇叭(六层楼高螺旋回旋)\n3.漂流河(全程1.2km环园景观)\n-\n👶【亲子友好设计】\n👶儿童水寨区配备安全员\n👶母婴室提供基础设施\n👶更衣室设置亲子隔间\n-\n⚠️实用Tips\n▫️早鸟优势:9:30开园前1小时排队最短\n▫️避坑指南:避开用餐高峰时段\n▫️拍照彩蛋:彩虹滑道出口有专业机位\n-\n这个周末带着全家来场水上狂欢吧!\n比空调房更有意思的解暑方式get√','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:52:23','2025-07-21 15:52:23',0),(1947203021629759490,'content-20250721-155232-2480bd83',1945869111411052546,'3','学生党必冲!冒险湾套票💰人均98玩疯一天','暑假想玩水又怕贵?天津冒险湾这个套票真的太划算了!💦\n\n🚗交通超友好:地铁5号线直达,学生党打车/公交都能轻松到\n\n💰套票王炸价:2大2小全天通玩+午餐含在内,人均不到100r!\n\n🎒行前清单:\n✅泳衣/拖鞋(园区提供租赁服务)\n✅防水手机袋+塑料袋装换洗衣物\n✅防晒霜+遮阳帽(暴晒预警!)\n✅现金买零食(部分区域没网络)\n\n🎢必玩项目:\n🔥超级大喇叭:从6层楼高的滑道冲进喇叭口,尖叫指数爆表!\n🔥巨兽碗:螺旋回旋后突然坠入黑洞,全程紧握浮圈不放手!\n🔥暴雪湾造浪池:晚高峰时段浪高1米,电音派对嗨到飞起\n\n⚠️血泪经验:\n❗漂流河要穿救生衣(别学我呛水!)\n❗储物柜早占(上午10点前基本满员)\n\n📸出片机位:\n✔彩虹滑道入口俯拍(穿亮色衣服秒变焦点)\n✔无边泳池正午逆光(水面反光绝美)\n✔儿童水寨台阶侧拍(全家互动抓拍神器)\n\n📌Tips:建议错峰出行避开人流高峰!\n这个夏天,和同学组队来解锁水上快乐吧~','#天津旅游 #天津市周边游 #天津周末去哪儿玩 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:52:32','2025-07-21 15:52:32',0),(1947203029011734529,'content-20250721-155234-35e41f65',1945869111411052546,'2','天津遛娃必去!2大2小套票玩水攻略','上周终于带娃解锁了天津冒险湾!2大2小套票直接省心到飞起💦\n\n【套票权益】\n✅全天畅玩30+水上游乐设施(含超级大喇叭/巨兽碗/垂直极限等)\n✅含午餐(园区餐厅凭票用餐)\n✅园区入口附近设有储物柜区\n\n🚗交通指南\n📍导航「天津冒险湾」\n▫️京津高速40分钟直达\n▫️地铁9号线转公交直达(建议自驾更方便)\n\n🎢必玩项目清单\n🔥尖叫预警:\n✔超级大喇叭:从6层楼高的滑道冲进喇叭池\n✔巨兽碗:四叶草浮圈旋转着坠入巨型漩涡\n✔垂直极限:40码俯冲体验失重感\n\n👶遛娃友好区:\n✔泡泡水寨:20+互动玩水装置+定时大水桶倾泻\n✔漂流河:躺着欣赏全园风景\n\n⚠️重要提示\n❗套票需提前3天预约!周末场次秒空\n❗自带防水手机袋(园区售卖50r/套)\n❗中午12点前玩热门项目最爽(下午3点再去大喇叭居然不用排队!)\n\n💡实用贴士\n▫️17:00后造浪池变夜场模式,灯光秀超梦幻\n▫️穿防滑凉鞋!园区地砖特滑(我家娃摔了三次…)\n\n#天津旅游 #京津冀周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处','#天津旅游 #京津冀周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:52:34','2025-07-21 15:52:34',0),(1947203053078650882,'content-20250721-155239-5d064a24',1945869111411052546,'4','天津遛娃必囤!2大2小套票攻略','这个夏天带娃解锁天津遛娃新地标!天津冒险湾水上乐园2大2小套票承包全家快乐暑假💦\n\n🏊‍♂【亲子玩水指南】\n✅套票超值:2成人+2儿童(1.5米以下)全天畅玩+午餐\n✅全园区配备安全防护设施\n\n🌤【出行TIPS】\n▫️最佳时段:上午10点前入场错峰排队\n▫️防晒装备:帽子+儿童专用防晒霜\n▫️防走失贴:入口处可领取亲子手环\n\n🎢【必玩项目清单】\n👶3-6岁宝贝:\n• 亲子戏水区(含互动设施)\n• 轻量级滑梯体验\n\nadol7-12岁:\n• 高刺激滑道(需家长陪同)\n\n👨👩👧👦全家欢乐项:\n• 合家欢竞赛池\n• 水幕电影秀(每晚19:30)\n\n⚠【重要提示】\n🔥储物柜建议提前存放\n\n💡实用贴士:\n• 提前3天在「天津文旅」公众号预约\n• 携带身份证办理快速入园通道\n• 园内设置多个免费饮水点\n\n这个夏天,让孩子们在清凉水花中释放活力,爸爸妈妈也能找回童年玩水的快乐~','#天津旅游 #滨海新区周边游 #天津亲子游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #亲子好去处 #天津周末遛娃',1,'2025-07-21 15:52:40','2025-07-21 15:52:40',0),(1947203101510279169,'content-20250721-155251-8eab25ec',1945869111411052546,'1','天津遛娃攻略!2大2小套票玩水攻略','这个夏天终于找到天津遛娃天花板!2大2小套票玩水攻略,孩子疯玩一整天都不腻💦\n\n・\n🌊【为什么选冒险湾】\n✅多种刺激的水上游乐设施全覆盖\n✅独立儿童戏水区(1米以下宝宝可玩,以园区规定为准)\n✅2大2小套票含午餐,全家畅玩无忧\n\n・\n🧳【亲子出行必备清单】\n✔️泳衣+速干毛巾(园区可租借储物柜)\n✔️防水手机袋+儿童浮力臂圈\n✔️替换衣物(更衣室提供烘干机)\n✔️防晒霜+遮阳帽(暴晒指数★★★★★)\n\n・\n🎢【必打卡项目】\n🔥尖叫预警:\n▶极速滑道组合\n▶巨兽碗冲浪池(每半小时造浪)\n\n👶宝宝友好区:\n▶彩虹水寨(喷泉/滑梯/水枪阵)\n▶漂流河(配备儿童专用救生衣)\n\n・\n🍽️【园区餐饮指南】\n套餐包含指定窗口用餐\n推荐单买:\n▫️椰子鸡火锅(需提前预约座位)\n▫️网红冰淇淋船(拍照出片神器)\n\n⚠️避雷:景区外小吃街价格偏高\n\n・\n💡【血泪经验】\n🔥穿防滑拖鞋!网红无边泳池地砖湿滑\n🔥早鸟优势:9:00开园前1小时领免费浮圈\n🔥急救包必备:藿香正气水+电解质饮料\n\n・\n📸【亲子出片点位】\n✔入口彩虹拱门全家福\n✔水寨旁彩色滑梯俯拍\n✔日落时分无边泳池倒影\n\n❗提示:工作日游客量仅为周末1/3,建议错峰出行\n\n','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:52:51','2025-07-21 15:52:51',0),(1947203399930814465,'content-20250721-155402-1b3475ff',1945869111411052546,'5','天津遛娃必冲!冒险湾全家畅玩攻略🌊','天津人周末遛娃终于不用愁了!🔥\n\n🚗自驾/地铁直达的水上乐园天花板!\n2大2小套票含午餐+全天畅玩\n\n✅出行准备清单\n▫️必备:防晒衣+速干衣(园区提供更衣室)\n▫️建议:防水手机袋(拍照发圈不心慌)\n▫️注意:1.2米以下儿童需家长陪同玩滑道\n\n💦必打卡项目指南\n▶️巨兽碗:3层楼高滑道直冲造浪池\n▶️彩虹竞赛道:亲子组队比拼漂移技术\n▶️儿童水寨:喷泉/水枪/滑梯一站式玩耍\n▶️无边泳池:俯瞰全园的最佳观景位\n\n⚠️避坑Tips\n❗上午10点前入园免排队\n❗园区提供储物服务(建议选靠近餐饮区的位置)\n\n📸出片秘诀\n穿亮色系衣服在彩虹滑道出口抓拍\n亲子一起玩大喇叭时张开双臂超出片\n\n这个夏天就该这么痛快玩水!🌊\n套票包含全天游玩及午餐,全家畅玩无忧~','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:54:02','2025-07-21 15:54:02',0),(1947203432331812866,'content-20250721-155410-4e4e4a37',1945869111411052546,'2','天津遛娃天花板!2大2小套票玩水攻略','打工人周末救星来啦!天津遛娃天花板直接锁死冒险湾💦\n2大2小套票承包你的一整天清凉计划\n-\n👨👩👧👦【为什么选冒险湾?】\n✅30+水上游乐设施全覆盖(彩虹滑道/巨兽碗/漂流河全打卡)\n✅套票含午餐!不用饿着肚子排队(儿童餐贴心到家)\n✅自驾1小时直达!地铁6号线转公交无缝衔接\n-\n🎒【行前必读清单】\n⚠️必带:泳衣/浴巾/防水袋(园区租借贵哭!)\n⚠️防晒套装:帽子+墨镜+50+防晒霜(暴晒预警!)\n⚠️备用衣物:更衣室提供免费吹风机\n-\n⏰【科学游玩路线】\n上午场:先冲「飓风眼」冲浪池避暑\n中午场:园区餐厅享用套票包含的午餐\n下午场:人少时段刷「垂直极限」高空滑道\n-\n📸【出片王炸姿势】\n✔彩虹滑道出口抓拍腾空瞬间\n✔漂流河终点举手比耶\n✔儿童戏水区拍亲子互动照\n❗提示:穿亮色系衣服出片率翻倍!\n-\n⚠️重要提示\n🔥1.4米以下儿童慎玩「极速竞赛」(以园区现场规定为准)\n🔥更衣柜要记号!园区太大容易走散\n-\n这个夏天拒绝当热狗!带娃解锁天津最野玩水秘籍','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:54:10','2025-07-21 15:54:10',0),(1947203479006027778,'content-20250721-155421-f0185b83',1945869111411052546,'3','天津学生必玩!冒险湾家庭套票攻略','夏天真的来了!🔥天津学生党必冲的水上狂欢基地已上线!\n\n🚌【交通指南】\n🚇地铁5号线直通站口,打车起步价到\n🚗自驾导航「天津冒险湾」免费停车(建议拼车出行更划算)\n\n🎢【必玩清单】\n🔥尖叫天花板:超级大喇叭+垂直极限滑道(穿浮圈俯冲体验刺激)\n🔥拍照出片王:彩虹漂流河+水上篮球场(亮色泳衣出片神器)\n🔥解压暴汗区:巨型造浪池(畅享清凉浪涌)\n\n⚠️【实用贴士】\n❗穿防滑拖鞋!网红彩虹步道超滑慎跑\n❗防晒喷雾随身带!烈日+水汽双重暴击\n❗带密封袋!手机/钥匙泡水率100%\n\n🎁【家庭特惠】\n💰2大2小套票含午餐(适合亲子同游)\n\n📸【出片玄学】\n✔彩虹滑道出口逆光拍,发朋友圈点赞破百\n✔造浪池边举充气玩具,蓝绿配色超显白\n✔闭园前拍空镜,玻璃栈道反光超梦幻\n\n-\n这个夏天拒绝特种兵式赶路!\n天津本地学生凭学生证还能额外领冰淇淋券哦~','#天津旅游 #天津周边游 #天津周末去哪玩 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处 #学生党旅行',1,'2025-07-21 15:54:21','2025-07-21 15:54:21',0),(1947203494764027905,'content-20250721-155425-a456faec',1945869111411052546,'1','带娃必囤!天津遛娃水乐园2大2小套票全解析','这个夏天终于找到一家能让我安心带娃疯玩一整天的水上乐园了!天津冒险湾的2大2小套票简直为家庭量身定制,连午餐都安排得明明白白~\n\n💦【为什么一定要来】\n✅儿童专属戏水区:专为小朋友设计的安全水域,配备专业游乐设施\n✅亲子漂流河:全家一起体验清凉漂流水道\n✅超值套票:含午餐券!园区餐厅提供儿童餐食\n\n🧳【妈妈必看清单】\n✔️防晒三件套:帽子+儿童防晒衣+防水防晒霜\n✔️备用衣物:至少两套干爽衣服(园区提供更衣室)\n✔️防水手机袋:建议使用专业防水装备\n✔️防滑拖鞋:保护孩子脚部安全\n\n⚠️【实用贴士】\n🔥建议上午体验刺激项目,下午选择室内区域\n🔥身高1米以下儿童建议穿戴救生设备\n🔥漂流河需排队,请合理规划游玩时间\n\n📸【出片机位】\n✔️滑道入口:记录全家欢乐瞬间\n✔️观景台:全景视角拍摄\n\n💡PS:工作日人少体验更佳!记得给孩子涂花露水防蚊虫哦~','#天津旅游 #天津市周边游 #滨海新区周边游 #冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #滨海新区周末好去处',1,'2025-07-21 15:54:25','2025-07-21 15:54:25',0),(1947203531166392322,'content-20250721-155433-3d96c047',1945869111411052546,'4','天津冒险湾套票攻略|2大2小全天畅玩','‼️亲测攻略!冒险湾2大2小家庭套票实用指南\n\n🔥全家畅玩必备!这个夏天带娃玩水就冲这里!\n-\n🌊【套票权益】\n✅2大2小全天游玩权限+午餐供应\n✅覆盖儿童戏水区、漂流河等核心游乐设施\n-\n🌤【天气提示】\n6-8月天津:25°C~35°C(紫外线较强)\n⚠️建议携带:泳镜/防晒衣/防水手机袋\n-\n🧳【必备清单】\n✅证件:建议携带身份证件\n✅基础装备:儿童泳镜+防滑拖鞋\n✅健康补给:电解质水\n-\n🚗【游玩路线建议】\n上午:儿童区→漂流河(避开人流高峰)\n中午:园区餐厅用餐\n下午:造浪池→自由探索\n-\n⚠【安全提示】\n🔥请时刻关注孩子动向\n🔥建议使用园区提供的儿童监护服务\n-\n🍽【餐饮建议】\n✔推荐选择清淡饮食\n❌慎买园区奶茶\n-\n💡即刻预订2大2小家庭套票,解锁夏日玩水新体验!\n让宝贝在欢声笑语中畅游水上乐园吧~','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:54:34','2025-07-21 15:54:34',0),(1947204117337153538,'content-20250721-155653-08f0c213',1945869111411052546,'1','🌊天津遛娃必去!2大2小套票攻略','这个夏天终于找到能全家嗨翻天的宝藏水乐园啦!🌊天津冒险湾2大2小套票带娃玩水超省心,门票+午餐全包含!\n\n👨👩👧👦【亲子友好细节】\n✅多区域设置适合儿童的游乐设施\n✅每个游乐区配备休息区和储物服务\n✅餐饮区提供儿童餐具和租赁服务\n\n💦【亲子必玩项目】\n🔥彩虹漂流河:爸妈可怀抱孩子轻松体验\n🔥蘑菇大战:巨型水枪战场全家互动\n🔥儿童戏水城堡:安全有趣的水上乐园\n\n🎒【出行建议】\n✔️建议自备替换泳衣和防水手机袋\n✔️注意做好防晒措施(阴天也会晒黑!)\n✔️选择防滑拖鞋保障安全\n\n🍽️【餐饮服务】\n餐厅提供儿童套餐,更推荐自带零食补充能量!\n\n💡Tips:\n1. 儿童需在家长陪同下参与游乐项目\n2. 建议错峰入场提升游玩体验\n3. 园区内提供基础租赁服务\n\n这个夏天,天津冒险湾让全家畅享清凉水世界!','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #亲子好去处 #天津周末遛娃',1,'2025-07-21 15:56:54','2025-07-21 15:56:54',0),(1947204135032922113,'content-20250721-155657-b97131c7',1945869111411052546,'3','天津亲子游2大2小套票清凉一夏🌊','带娃玩水不用远行!天津冒险湾2大2小套票全家畅玩~👨👩👧👦\n\n🔥【套票权益】\n💰包含2大2小全天游玩+自助午餐,一站式解决夏日玩水需求!\n\n🧳【出行装备清单】\n✅必备:泳衣/拖鞋/浴巾+防水手机袋\n✅防晒:帽子+高倍防晒霜(园区暴晒预警!)\n✅贴心:租个婴儿车(园区推车30r/天,省力神器!)\n\n🎢【玩水攻略】\n✔️儿童戏水区:专为3岁以上宝贝设计的安全游乐区域\n✔️全家打卡区:高空滑道组合带来尖叫体验\n✔️避暑区:舒缓漂流河道适合放松休息\n\n🍽️【餐饮服务】\n▪️自助餐厅提供儿童餐食,餐具采用卡通设计\n▪️园区内设多个饮品补给点\n\n⚠️【实用贴士】\n🔥建议早鸟入场避开午间高峰\n🔥优先租用入口处的存包柜\n🔥备瓶葡萄糖以防低血糖\n\n💡TIPS:穿防滑拖鞋!园区地面湿滑,匡威洞洞鞋是优选~\n\n这个夏天,把欢乐交给冒险湾,全家共享清凉时光!🌊','#天津旅游 #天津市周边游 #天津亲子游 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处 #遛娃好去处',1,'2025-07-21 15:56:58','2025-07-21 15:56:58',0),(1947204160618176513,'content-20250721-155703-1b81e40a',1945869111411052546,'5','天津遛娃必去!2大2小套票玩水乐','这个夏天带娃玩水不用愁!天津冒险湾2大2小套票承包全家人快乐🌊\n\n-\n💦【亲子玩水新地标】\n刺激项目+儿童戏水区双buff加持\n专业救生团队全程值守,宝妈放心让孩子嗨玩\n-\n🎁【套票权益】\n✅2大2小(含1.2米以下儿童)全天入园\n✅含营养午餐一份\n-\n🎢必打卡亲子项目\n🔥彩虹滑道:6岁儿子尖叫着玩了5轮!\n🔥泡泡水寨:小宝贝在彩色水枪阵里笑开花\n🔥巨兽碗:爸妈带着娃体验离心旋转快感\n🔥漂流河:躺着欣赏全园风景超惬意\n-\n🌞避坑指南\n⚠️穿防滑拖鞋!园区地滑易摔跤\n⚠️备防水袋!手机千万别揣兜里\n⚠️早鸟优先!周末10点前到能抢到漂流河黄金位\n-\n🚇交通Tips\n地铁5号线直通园区南门\n自驾导航「天津冒险湾」有2000+车位\n-\n💡实用经验\n▫️建议官网提前3天预约\n▫️儿童泳圈需自备(园区租赁价偏高)\n▫️下午4点后人少,拍照出片最佳时段\n-\n📸出片机位\n✔️彩虹滑道出口抓拍飞溅水花\n✔️中央喷泉广场全景模式拍全家福\n✔️黄昏时分的摩天轮剪影\n-\n❗特别提醒:园区每日开放时间10:00-18:00,请合理安排行程','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:57:04','2025-07-21 15:57:04',0),(1947204171116519425,'content-20250721-155706-99653470',1945869111411052546,'4','天津遛娃必囤!2大2小套票玩水攻略','带娃去水上乐园怕晒怕呛怕排队?天津冒险湾这个宝藏套票真的太懂家长了!💦\n\n✅【套票超值】2大2小全天畅玩+午餐,全家出行一次搞定💰\n\n🧳【亲子装备清单】\n✔️防晒三件套:50+防晒霜+UV帽+防水墨镜(园区阳光直射强烈!)\n✔️防滑拖鞋&毛巾:更衣室贴心提供储物柜,记得带密封袋装湿衣物\n✔️儿童浮具:园区可租借,但自带专属泳圈娃更安心\n\n🎢【必玩项目】\n🔥尖叫预警:彩虹大喇叭从6米高空俯冲,娃的尖叫声能震碎夏日酷暑\n🔥萌娃天堂:儿童戏水城堡有喷泉跷板,浅水区玩到不想上岸\n🔥拍照打卡:透明漂流河穿梭彩色隧道,随手拍都是ins风大片\n\n⚠️【血泪经验】\n❌避开正午12-14点暴晒时段,建议上午先玩激流区\n❌穿浅色系泳衣更好发现异物,入园前给娃剪短指甲防抓伤\n❌套票含午餐但位置紧张,建议11:30前到餐厅取号\n\n📸【出片秘籍】\n✔️造浪池边逆光拍摄,水珠会变成钻石特效✨\n✔️彩虹滑道出口架手机支架,记录娃起飞瞬间\n✔️傍晚闭园前拍剪影,夕阳把笑声染成蜜糖色\n\n💡TIPS:园区提供婴儿车租赁(20r/天),更衣室有母婴室带温奶器,新手爸妈快收藏!','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:57:06','2025-07-21 15:57:06',0),(1947204200535367681,'content-20250721-155713-3cbae6f6',1945869111411052546,'2','天津亲子玩水天花板!冒险湾2大2小套票太值了🔥','这个夏天终于找到一家让娃尖叫的水上乐园!🌊天津冒险湾2大2小套票简直封神,全程玩到不想回家!\n\n✅【套票超值指南】\n💰2大2小全天畅玩+含午餐(套票已包含2位成人及2位儿童权限)\n📍导航「天津方特旁」地铁1号线直达\n⏰建议上午10点开园就冲!避开下午人流高峰\n\n🧳【亲子必备清单】\n✔️防水手机袋/相机套(园区商店有租借)\n✔️替换泳衣+速干毛巾(更衣室提供储物柜)\n✔️儿童浮力臂圈(浅水区必备安全感)\n✔️防滑拖鞋+防晒霜(暴晒预警!)\n\n🎢【必玩亲子项目】\n🔥超级大喇叭:4人组队从6层滑道俯冲,尖叫声此起彼伏!\n🔥彩虹漂流河:躺着欣赏全园风景,中途还能玩水枪大战!\n🔥儿童戏水城堡:喷泉/滑梯/造浪池一应俱全,3岁以上宝宝最爱\n\n⚠️【血泪经验】\n❗救生员全覆盖但别松手!尤其深水区造浪时\n❗每小时补涂防晒!园区自动贩卖机价格感人\n❗午餐建议选二楼餐厅,边吃饭边看表演\n\n📸【出片秘诀】\n✔️彩虹滑道出口抓拍腾空瞬间\n✔️夕阳时在无边泳池拍剪影\n✔️穿亮色泳衣更显眼!\n\n💡TIPS:记得带充电宝哦~','#天津旅游 #滨海新区周边游 #天津亲子游 #冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:57:13','2025-07-21 15:57:13',0),(1947204669299171329,'content-20250721-155905-1dddee87',1945869111411052546,'1','天津遛娃必囤!2大2小套票攻略','宝妈们注意啦!天津有个水上乐园真的适合全家玩~\n\n🌊【天津冒险湾亲子游攻略】\n2大2小套票含午餐,全家畅玩一整天!\n-\n🌞【最佳游玩时间】\n✅避开正午高温时段\n建议上午9:30开园就入场\n下午4点后人少还能拍出大片\n-\n🧳【亲子必备清单】\n✅证件:身份证(买票必带)\n✅装备:娃的浮力臂圈/跟屁虫(深水区必备)\n✅防晒:50+防晒霜+速干毛巾(每小时补涂!)\n✅替换衣物:带两套以防弄湿\n-\n🎢【必玩项目分龄指南】\n👶3-6岁:\n▫彩虹水寨(超大戏水区,有蘑菇喷泉互动装置)\n▫懒人河(全程平缓,家长可牵着走)\n\n👧7-12岁:\n▫超级大喇叭(1.2米以上可玩,尖叫指数五颗星)\n▫巨兽碗滑道(四叶草浮圈冲浪体验)\n\n👨👩【家长友好设计】\n✔提供便利设施确保亲子体验\n✔每区域都有明显安全标识\n-\n🍽【餐饮指南】\n套餐包含午餐,提供多样选择,想吃特色推荐「椰子鸡火锅」(需额外付费)\n-\n⚠【血泪经验】\n🔥穿防滑拖鞋!园区地面特别容易打滑\n🔥漂流河出发台要提前占位\n🔥手机防水袋必备!千万别带密封袋进水区\n-\n📸【出片机位】\n✔彩虹水寨入口拱门(阳光透过彩色玻璃超梦幻)\n✔大喇叭滑道出口(抓拍空中翻转瞬间)\n✔日落时分的造浪池(波光粼粼氛围感拉满)\n-\n这个夏天,带着孩子来冒险湾释放活力吧!','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 15:59:05','2025-07-21 15:59:05',0),(1947211005365788674,'content-20250721-162415-a2b85d8a',1945869111411052546,'1','五一遛娃攻略|冒险湾2大2小套票','五一遛娃不用愁!天津冒险湾2大2小套票承包全家快乐💦\n\n亲子玩水指南已备好✅ 这个周末带娃解锁水上乐园新玩法!\n\n🌊【必备清单】\n✅泳衣/防水袋(园区可租借)\n✅防晒三件套:帽子+墨镜+50+防晒霜(阴天也要涂!)\n✅防滑拖鞋+浴巾(别忘给孩子备备用换洗衣物)\n\n🎢【必玩项目】\n👶3-6岁宝贝专区:\n✔彩虹水寨:30+玩水设施+趣味喷泉\n✔漂流河:坐着浮圈欣赏沿途风景\n\n청소년7-12岁刺激体验:\n✔超级大喇叭:从6层楼高俯冲进巨型喇叭\n✔巨兽碗:离心旋转制造失重感\n\n🍽️【套票福利】\n含午餐(餐品以现场提供为准),贴心儿童餐服务\n\n⚠️【避坑指南】\n🔥10:00开园先冲热门项目!11点后排队翻倍\n🔥储物柜提前占!随存随取\n🔥每小时补涂防水防晒(园区商店有售)\n\n📸【出片机位】\n✔入口彩虹拱门:全家福经典位\n✔大喇叭观景台:俯拍惊叫瞬间\n✔水幕背景墙:湿发造型随手拍大片\n\n💡TIPS:\n1. 建议提前预约\n2. 园区内设有母婴设施\n3. 晚场夜灯亮起时氛围感拉满\n\n这个夏天,让尖叫声响彻冒险湾吧!','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #亲子好去处 #天津周末好去处',1,'2025-07-21 16:24:16','2025-07-21 16:24:16',0),(1947253512891998209,'content-20250721-191310-7e3bd2d9',1945869111411052546,'3','🌊冒险湾2大2小套票全家畅玩','打工人周末自救指南!🌊天津冒险湾2大2小套票全家畅玩\n-\n🏊🏻♂️【套票超值】\n💰一价含2大2小全天门票+自助午餐\n-\n🎢【必玩清单】\n🔥彩虹竞赛道:全家人叠罗汉滑行超刺激!\n🔥巨浪池:造浪时记得抓住孩子别被冲走~\n🔥漂流河:躺着晒太阳顺便拍ins风大片\n🔥儿童戏水区:小宝贝也能安全玩水\n-\n⚠️【实用贴士】\n🔥更衣室提供免费浴巾\n🔥贵重物品建议使用防水袋\n🔥午餐时段建议错峰用餐\n-\n🍴【园区美食】\n园区内提供多样餐饮选择\n✔网红甜品拍照打卡\n✔特色简餐满足味蕾\n-\n💡隐藏玩法:闭园前体验巨浪池,人少拍摄效果更佳!\n\n#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #周末去哪儿玩','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #天津亲子游 #天津周末好去处',1,'2025-07-21 19:13:10','2025-07-21 19:13:10',0),(1947253545053921281,'content-20250721-191317-a6cf2882',1945869111411052546,'5','🌊天津遛娃必去!2大2小套票攻略✅','打工人周末遛娃必冲!天津冒险湾2大2小套票全攻略🌊\n\n【为什么选冒险湾】\n✔️市区1小时直达|自驾/地铁6号线转公交直达\n✔️20+水上游乐设施|彩虹滑道+巨兽碗+漂流河全覆盖\n✔️套票含双人午餐|儿童餐超贴心\n\n【套票必囤理由】\n✅2大2小全天入园\n✅每人一份自助午餐\n✅提供寄存柜、更衣室和淋浴间\n\n【游玩避坑指南】\n⚠️上午场最爽!9:30开园人少,玩大项目不用排队\n⚠️自带防水袋!园区卖的20r一个,手机防水套必备\n⚠️穿速干衣!玩完巨兽碗全身湿透,更衣室要预约\n\n【必玩项目清单】\n🎢彩虹滑道:五彩滑道同时出发超刺激\n🌊暴风谷造浪池:中午阳光下玩最解暑\n🚤丛林漂流河:躺着看全园风景超治愈\n\n【拍照出片玄学】\n📸彩虹滑道出口逆光拍,发朋友圈点赞破百\n📸造浪池边举充气玩具,秒变ins风大片\n📸傍晚闭园前拍全家福,夕阳打光绝美\n\n【血泪教训Tips】\n🔥穿防滑拖鞋!大理石地面太滑摔过三次\n🔥涂防水防晒!玩完水上项目满脸晒伤\n🔥带替换衣物!回家路上穿湿衣服太难受\n\n现在订票👇关注官方号回复【冒险湾】获取购票链接,手慢无哦!','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:13:18','2025-07-21 19:13:18',0),(1947253592659271682,'content-20250721-191329-a4513186',1945869111411052546,'4','天津遛娃必去!2大2小套票玩水攻略','🎠带娃玩水不用愁!天津冒险湾这家水上乐园真的太懂家长了~\n\n✨为什么选冒险湾?\n✅2大2小套票含午餐,全家畅玩全天\n✅专设儿童游乐区+完善安全措施\n\n🎁套票包含啥?\n✔️全天畅玩多种水上游乐设施\n✔️午餐供应(提供儿童餐椅)\n✔️更衣室及寄存服务\n\n🚇出行准备\n📍地址:天津滨海新区中央大道\n🚗自驾:导航「天津方特旁」停车场免费\n\n🎢必玩项目指南\n🔥成人区:\n▫超级大喇叭(亲子浮圈可组队)\n▫巨洪峡激流探险(身高1.2m以上)\n👶🏻儿童区:\n▫彩虹水寨(浅水互动设施)\n▫泡泡池(配备防滑地垫)\n\n🧳必备清单:\n✅泳衣+速干毛巾+拖鞋\n✅儿童浮力臂圈/脖圈\n✅防水手机袋+防晒喷雾\n✅替换衣物\n\n📸出片秘诀\n✔️彩虹水寨前拍亲子泼水照\n✔️大喇叭出口抓拍尖叫瞬间\n\n💡最后提醒:穿深色泳衣不容易显脏!带娃玩水记得每小时补涂防晒~','#天津旅游 #滨海新区周边游 #天津周末好去处 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #遛娃好去处',1,'2025-07-21 19:13:29','2025-07-21 19:13:29',0),(1947253629384597506,'content-20250721-191338-0f03fc27',1945869111411052546,'2','天津遛娃必囤!2大2小套票玩水不费妈💦','‼️天津遛娃必囤!2大2小套票玩水不费妈💦\n亲测冒险湾避坑攻略|承包孩子一整天尖叫的快乐星球\n-\n🌤【天气预警】\n6-8月天津:25°C~35°C(暴晒预警!)\n⚠️水上乐园=天然桑拿房!提前备好防水防晒衣+防脱泳帽\n-\n🧳【亲子装备清单】\n✅证件:身份证(买票必带)\n✅保命三件套:速干毛巾×2+儿童脖圈+防滑拖鞋\n✅急救包:藿香正气水+电解质水(防中暑&脱水)\n✅贴心彩蛋:园区免费租婴儿车/储物柜\n-\n🌊【2大2小必玩路线】\n📍彩虹滑道:3岁+萌娃也能玩的缓坡设计,全程救生员守护\n📍巨兽碗冲浪池:10岁熊孩子最爱的造浪区,每小时定时掀浪\n📍亲子漂流河:全家手牵手慢悠悠划完全程\n📍儿童戏水区:喷泉泡泡阵+安全浅水池,解放妈妈双手\n-\n🍱【吃货攻略】\n🔥套票包含午餐:园区餐厅提供营养套餐(含蔬菜沙拉+酸奶)\n▪可自选网红椰子冻冰沙(戏水必备续命神器)\n▪芝士年糕堡(园区唯一遮阳餐厅)\n💣避雷:别被网红爆浆蛋糕迷惑!齁甜到宝宝蛀牙\n-\n⚠【实用Tips】\n🔥 ‌防走失术‌:给孩子系彩色腕带,园区广播站5分钟1巡\n🔥 ‌拍照秘籍‌:上午10点阳光斜射时拍彩虹滑道最上镜\n🔥 ‌隐藏玩法‌:闭园前半小时冲激流勇进,人少速度快\n-\n📸【出片机位】\n✔彩虹滑道出口抓拍飞溅水花\n✔造浪池边缘俯拍人群波浪\n✔下午4点逆光拍全家漂流水母池\n❗PS:穿深色泳衣显瘦!戴硅胶泳帽防晒又防滑\n','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:13:38','2025-07-21 19:13:38',0),(1947253653237604354,'content-20250721-191343-373ff26c',1945869111411052546,'1','天津冒险湾2大2小套票 清凉一夏','带娃玩水就选天津冒险湾!这个夏天,全家一起解锁清凉玩法~\n\n🌊【亲子玩水指南】\n✅儿童戏水区:浅水城堡+泡泡池,适合学龄儿童尽情嬉戏\n✅彩虹滑道:全家接力赛超欢乐(需符合园区安全规范)\n✅巨洪峡漂流:爸妈可陪同孩子感受浪花拍打的清凉体验\n\n🧳【亲子必备清单】\n✔️泳衣+速干毛巾(园区提供储物柜)\n✔️UVA/UVB防晒霜+宝宝专用防水面罩\n✔️替换衣物x2(园区出口配备烘干机)\n✔️防滑拖鞋(建议携带保护脚部)\n\n🍽【午餐解决方案】\n套票包含园区餐厅供应的儿童套餐(鸡块+蔬果沙拉+果汁),无需额外付费!\n\n⚠【温馨提示】\n🔥 免费领取防走失手环,扫描二维码可实时定位\n🔥 服务中心旁设有医疗点,处理意外擦伤\n🔥 漂流项目遇恶劣天气将暂停开放,请提前查看公告\n\n📸【出片打卡点】\n✔彩虹滑道入口:举着水枪摆pose超治愈\n✔大喇叭出口:抓拍冲出瞬间的尖叫表情\n✔观景台:俯拍全家嬉水全景图\n\n这个夏天,让冒险湾成为你们的快乐回忆制造机吧!','#天津旅游 #滨海新区周边游 #天津周末游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #亲子好去处 #天津周末好去处',1,'2025-07-21 19:13:44','2025-07-21 19:13:44',0),(1947253668278378497,'content-20250721-191347-ebcd175a',1945869111411052546,'6','天津遛娃必冲!2大2小套票攻略','发现天津遛娃天花板!这个水上乐园真的太懂家长了🌊\n\n作为带娃过来的宝妈,必须夸爆这波操作——\n\n✅【套票超值】2大2小全天通玩+含午餐,全家畅玩一整天!儿童区独立泳池+浅水滑道,3岁宝宝也能安心玩\n\n✅【避晒秘籍】室内恒温水世界+遮阳棚全覆盖\n上午10点入场刚好处在阴凉区,中午太阳猛了直接溜进室内玩漂流河,全程不晒黑实测成功!\n\n✅【拍照封神点】彩虹滑道拍「速度与激情」\n粉色巨碗滑梯穿荧光色泳衣超出片,还有亲子浮圈可一起玩合家欢项目\n\n⚠️血泪经验分享:\n🔥穿防走光泳衣!儿童区人多需谨慎\n🔥租储物柜放手机证件(园内有寄存处)\n🔥自带零食补充体力(园区餐车价格亲民)\n\n📌游玩路线推荐:\n9:00-11:00 儿童戏水城堡(浅水区安全)\n11:30 午餐时段(含套餐)\n14:00-16:00 室内漂流河(避暑神器)\n16:30 挑战彩虹滑道(日落时分光线最美)\n\n💡隐藏玩法:\n穿亮色系泳装在蓝调水幕墙打卡,秒变ins风大片!','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #亲子时光 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:13:47','2025-07-21 19:13:47',0),(1947253852357992450,'content-20250721-191431-e06446e3',1945869111411052546,'7','天津遛娃天花板!冒险湾水世界攻略','这个夏天不用远行!天津人周末遛娃直接冲冒险湾💦\n2大2小套票承包全家快乐,含午餐+全天畅玩!\n-\n🌊【必囤套票指南】\n✅含午餐+全天畅玩\n✅2大2小家庭配置(需携带身份证验证年龄)\n✅地铁5号线直达!自驾30分钟可达\n-\n🎢【玩到腿软项目清单】\n🔥尖叫区:\n▫巨兽碗滑道(3人组队旋转俯冲)\n▫摇滚巨轮(360°翻滚的水上过山车)\n-\n👶亲子区:\n▫森林水寨(小黄鸭喷泉+彩虹滑梯)\n▫漂流河(躺着看全景的悠闲模式)\n-\n📸【出片机位】\n✔无边泳池跳台(逆光拍摄自带滤镜)\n✔彩虹滑道入口(举双手摆造型超酷)\n✔水幕投影区(每晚20:00灯光秀必拍)\n-\n⚠【避坑指南】\n🔥穿速干衣!园区地砖吸水后反光像冰场\n🔥租储物柜!更衣室距离游乐区步行5分钟\n🔥戴防水袋!手机防水壳必备(园区卖20r一个)\n-\n💡TIPS:工作日16:00后入园人最少!套票提前3天预约更稳妥~','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:14:31','2025-07-21 19:14:31',0),(1947253963418968066,'content-20250721-191457-f71a8724',1945869111411052546,'10','天津遛娃天花板!2大2小套票解锁夏日清凉🌊','这个夏天终于找到天津遛娃宝藏!带娃玩疯的水上乐园攻略来啦~🌊\n\n✅冒险湾2大2小套票超值!全程玩到喊累的快乐体验👇\n\n🌤【天气提醒】\n6-8月平均25-35°C,烈日预警!务必做好物理防晒(我家娃被晒哭过一次后现在出门必带遮阳伞)\n\n🧳【亲子装备清单】\n✔️防水袋+速干衣(更衣室提供免费储物柜)\n✔️儿童救生衣(园区租赁30r/件)\n✔️防滑拖鞋+浴巾(需自备)\n✔️备用换洗衣物(娃总喜欢玩水战)\n\n🎢【必玩亲子项目】\n1️⃣彩虹漂流河:全家一起乘船穿越童话森林(1米以下儿童需家长陪同)\n2️⃣合家欢滑道:四叶草浮圈可坐3人,从7米高台俯冲超刺激!\n3️⃣儿童戏水区:喷泉泡泡池+互动水枪战,3岁以上宝贝最爱\n4️⃣巨兽碗冲浪池:每小时人工造浪,感受清凉水花的乐趣!\n\n⚠【重要提示】\n🔥注意查看各项目的身高要求\n🔥每小时补涂防晒!园区提供免费饮水点但没卖防晒霜\n🔥套票含中式简餐,建议自带水果补充能量\n\n📸【出片秘诀】\n✔️彩虹滑道出口抓拍尖叫瞬间\n✔️冲浪池边拍摄跳跃抓拍水花\n✔️傍晚时分在摩天轮背景前拍全家福\n\n💡Tips:工作日10点前入园人最少,套票提前3天在官方小程序购买!这个夏天就该在清凉水花中度过呀~','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:14:58','2025-07-21 19:14:58',0),(1947253964350103554,'content-20250721-191457-42605d7e',1945869111411052546,'9','天津遛娃天花板!冒险湾2大2小套票封神💦','发现天津周末遛娃天花板!\n轻松可达的水上乐园直接封神💦\n-\n🌊【冒险湾套票直击痛点】\n✅2大2小全天通玩(含午餐)\n✅交通便利停车方便\n✅儿童戏水区+成人刺激项目全覆盖\n-\n👨👩👧👦【真实体验分享】\n上周六带娃实测:\n✔️上午10点到儿童戏水区已热闹非凡\n✔️中午园区供应现做午餐\n✔️下午玩刺激滑道尖叫不断\n✔️傍晚人少还能畅玩网红滑道\n-\n⚠️避坑指南:\n🔥穿速干衣!更衣室设施齐全\n🔥重要物品随身携带\n🔥错峰玩!下午时段排队更短\n-\n📸出片密码:\n✔️滑道出口抓拍跳跃瞬间\n✔️全家在特色雕塑前合影\n✔️日落时拍摄水花特写\n-\n💡Tips:\n1.套票建议提前预约\n2.园区提供泳圈租赁\n3.停车场有婴儿车租赁点\n-\n这个夏天终于找到\n让娃主动喊「明天还来!」的宝藏地!','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:14:58','2025-07-21 19:14:58',0),(1947254058235404289,'content-20250721-191520-a8fd7810',1945869111411052546,'11','必囤!2大2小冒险湾套票','打工人周末自救计划来咯!🌊天津冒险湾2大2小套票直接封神‼️\n\n· · ·\n📍【为什么选它】\n✅30+水上游乐设施承包尖叫\n✅含午餐+门票全家通玩\n✅自驾1小时直达|地铁6号线转公交直达\n\n🧳【行前装备清单】\n✔️泳衣/防晒衣(园区可租借)\n✔️防滑拖鞋+防水手机袋\n✔️替换衣物(更衣室提供储物柜)\n✔️现金(部分游乐设施需现场购票)\n\n🎢【必打卡项目】\n🔥巨兽碗滑道:3层楼高螺旋滑道直冲造浪池\n🔥彩虹竞赛道:亲子组队漂移竞速太上头\n🔥儿童水寨:2米深浅区安全戏水\n🔥暴风谷:2000㎡造浪池电音派对不停歇\n\n⚠️【血泪经验】\n❗️漂流河需穿救生衣\n❗️园区餐车人均30元,自带零食更划算\n\n📸【出片机位】\n✔️彩虹滑道出口俯拍冲刺瞬间\n✔️无边泳池与摩天轮同框\n✔️夜场灯光秀人少时刻\n\n💡TIPS:工作日使用更舒适!带娃注意防晒,园区提供基础便民服务~','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #天津冒险湾攻略 #天津冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:15:20','2025-07-21 19:15:20',0),(1947254087943659521,'content-20250721-191527-7f725949',1945869111411052546,'12','天津亲子2大2小套票出片攻略','发现天津遛娃宝藏!不用远行就能玩水撒欢~\n\n🌊【天津冒险湾亲子游全攻略】\n2大2小套票含午餐!人均不到百r就能嗨玩一整天!\n-\n🌤【天气提醒】\n6-8月平均气温28°C,记得备好防晒霜+遮阳帽\n⚠️中午时段注意补水防中暑\n-\n🧳【亲子装备清单】\n✅必带:泳衣/儿童浮板、防水手机袋、替换衣物\n✅加分项:速干毛巾+便携零食包(园区餐车价格透明)\n✅安全贴士:1米以下儿童全程需家长陪同\n-\n🎁【套票权益】\n🔥2大2小套票仅需XXXr(含2大2小午餐)\n-\n🎢【必玩亲子项目】\n✔️彩虹水寨:3-12岁儿童专属戏水区\n✔️合家欢滑道:爸妈孩子能组队体验\n✔️巨兽碗:1.4米以上儿童可独立挑战\n-\n🍴【园区美食指南】\n▪️儿童套餐:玉米浓汤+虾仁炒饭(避雷油腻烧烤)\n▪️网红冰淇淋车:草莓椰奶口味最受欢迎\n-\n📸【出片机位】\n✔️彩虹滑道出口逆光抓拍\n✔️无边泳池晚霞时刻\n✔️亲子水寨俯拍全景\n-\n这个夏天就该这样玩!\n在清凉水花里记录成长瞬间~','#天津旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:15:27','2025-07-21 19:15:27',0),(1947254093673078785,'content-20250721-191528-2f91c54e',1945869111411052546,'8','天津遛娃必囤!2大2小全天畅玩冒险湾','天津遛娃终于找到宝藏!这个水上乐园太懂家长了🌊2大2小套票直接省心到飞起!\n\n✅亲测避坑指南:\n🔥必带清单:泳衣+防水手机袋+儿童浮板(园区租借价感人!建议自备)\n\n🎢必玩项目攻略:\n✔彩虹滑道(3岁以上可玩,全程有安全员护航)\n✔儿童水寨(独立浅水区,喷泉/滑梯/波波池一应俱全)\n✔巨浪池(下午4点后游客减少,带娃戏水正当时)\n\n⚠️血泪教训:\n❗穿防滑拖鞋!园区地砖特滑,我家娃摔了3跤才吸取教训\n❗租储物柜选1楼!二楼取东西要爬200级台阶,拖着娃太累\n❗自带零食!园区小卖部价格较高\n\n📸出片机位:\n入口彩虹拱门(入园第一镜必拍)\n儿童水寨背景墙(彩色滑梯做前景超梦幻)\n\n🚌交通TIPS:\n地铁5号线直达到,出站左手边就是停车场(停车免费3小时!)\n\n💡贴心设计:\n母婴室配备温奶器+尿布台\n每小时广播找娃(带娃安全感拉满)\n\n🎁套餐专属福利:\n✅2大2小全天游玩权限\n✅含午餐(餐厅位于更衣室旁,宝妈喂娃超方便)\n\n这个暑假终于找到能让孩子尖叫又不焦虑的玩乐地!套票性价比太高,建议趁早囤~','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #亲子好去处 #天津遛娃',1,'2025-07-21 19:15:29','2025-07-21 19:15:29',0),(1947254298640326657,'content-20250721-191617-33e75daa',1945869111411052546,'15','天津遛娃新地标!2大2小套票玩水不重样🌊','天津遛娃新地标!2大2小套票玩水不重样🌊\n\n【周末溜娃指南】不用出市就能解锁水上狂欢!冒险湾套票含午餐+全天畅玩,轻松嗨皮~\n\n🚗交通直达指南\n✅地铁9号线东海路站3号口步行8分钟\n✅自驾P1停车场免费停4小时(导航搜天津冒险湾)\n\n🧳装备清单速查\n✔️必备:泳衣/防晒霜(园区用品区有售)\n\n🎢必刷项目清单\n🔥尖叫区:垂直极限、巨兽碗\n👶亲子区:彩虹水寨、漂流河\n\n⚠️实用提示\n❗套票含午餐请尽快使用\n❗建议上午入园体验最佳\n\n📸经典机位\n①入口彩虹滑梯背景墙\n②无边泳池景观位\n③滑道终点水花特写\n\n📌温馨提示:本套票包含2大2小全天游玩权限及午餐供应,园区设施每日全面消毒,请放心游玩!','#天津周边游 #天津旅游 #滨海新区周边游 #天津冒险湾 #天津冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:16:18','2025-07-21 19:16:18',0),(1947254326641500161,'content-20250721-191624-137a8f1b',1945869111411052546,'13','🌊天津亲子玩水圣地|懒人遛娃攻略','最近总被问天津周边有什么好玩的?直接甩出我的宝藏发现——天津冒险湾!2大2小套票承包全家欢乐,周末说走就走~\n\n🚗【出行指南】\n▪️自驾:导航「天津方特旁冒险湾」,停车场免费停\n▪️地铁:9号线东海路站换乘公交直达\n▪️套票必囤:含午餐+全天游玩,性价比拉满!\n\n💦【必玩项目】\n🔥成人区:\n✅超级大喇叭(从6层楼高的滑道冲进巨碗,尖叫指数五颗星!)\n✅垂直极限(40km/h俯冲体验,肾上腺素飙升)\n\n👶🏻儿童区:\n✅彩虹水寨(浅水戏水区超安全,娃玩疯不喊累)\n✅漂流河(躺着看风景,家长放松神器)\n\n⚠️血泪经验:\n1️⃣早鸟党优先!10点前到能少排40%队\n2️⃣防晒!物理防御:帽子墨镜全覆盖+每小时补防晒霜\n3️⃣别忘租储物柜(园区内有储物柜可供租用),更衣室离园区有点远\n\n🍽️【吃货路线】\n套餐饮后可续费网红椰子冻,园区内小吃集中在二楼,推荐藤椒鸡翅(香辣解腻!)\n\n📸【出片机位】\n✔️彩虹滑道入口:仰拍冲浪姿势,自带电影感\n✔️观景台俯拍:全家在造浪池摆pose,蓝绿渐变泳衣出片率超高\n✔️夜场灯光秀:20:00准时开演,粉色沙滩浪漫值爆表\n\n❗PS:记得穿防滑拖鞋!去年我踩滑摔跤的教训太深刻了…','#天津旅游 #天津市旅游 #天津周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #冒险湾推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:16:24','2025-07-21 19:16:24',0),(1947254378650869762,'content-20250721-191636-d46d6b01',1945869111411052546,'14','天津亲子玩水天堂💦2大2小套票承包夏日快乐!','这个夏天不用愁带娃去哪儿啦!天津冒险湾2大2小套票承包全家夏日快乐~💦\n\n📌【亲子玩水攻略速递】\n✅套票福利:含2大2小全天票+自助午餐券\n✅安全无忧:全园区配备救生员,儿童戏水区水深仅30cm\n\n🌤【天津天气提醒】\n6-8月平均气温28-35℃,建议避开11:00-15:00烈日时段\n⚠️必备清单:\n✅防晒三件套:物理防晒衣+儿童泳帽+UV50+防晒霜\n✅实用装备:防滑拖鞋/防水手机袋/替换衣物\n✅宝宝专属:婴儿脖圈/儿童浮板/便携尿不湿\n\n🎢【科学游玩路线】\n上午场(9:30-12:00):\n①先冲「彩虹滑道」(1.2m以上可玩)\n②带娃泡「泡泡池」互动区\n③享用自助午餐\n\n下午场(16:00后):\n①玩「超级喇叭」漂流河(家长可全程陪同)\n②挑战「水上跷跷板」亲子互动项目\n③闭园前体验「水上篮球」趣味赛\n\n👶【贴心服务指南】\n✔园区提供母婴室和温奶器\n✔更衣室配备齐全设施\n\n⚠️避雷贴士:\n🔥慎穿连体泳衣!建议分体式方便如厕\n🔥保管好手环!储物柜凭票开启\n\n📸出片秘诀:\n在「彩虹滑道入口」拍全家福最上镜\n傍晚光线柔和时拍摄水上项目更唯美\n\n戳链接立即预订2大2小家庭套票,畅享夏日清凉!👇','#天津旅游 #天津市周边游 #北京周边游 #天津冒险湾 #冒险湾攻略 #亲子游推荐 #周末去哪儿玩 #小众旅游地 #天津周末好去处',1,'2025-07-21 19:16:37','2025-07-21 19:16:37',0); +/*!40000 ALTER TABLE `content` ENABLE KEYS */; + +-- +-- Table structure for table `contentStyle` +-- + +DROP TABLE IF EXISTS `contentStyle`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `contentStyle` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `styleName` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '风格名称', + `description` text COLLATE utf8mb4_unicode_ci COMMENT '描述', + `isDelete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_styleName` (`styleName`,`isDelete`), + KEY `idx_contentStyle_name` (`styleName`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='内容风格表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `contentStyle` +-- + +/*!40000 ALTER TABLE `contentStyle` DISABLE KEYS */; +INSERT INTO `contentStyle` VALUES (1,'美食风','你是景区小红书爆款文案策划,你将根据要求创作爆款文案,根据以下规则一步步执行: 一、标题创作 步骤:先速览景区资料内容,找到与用户需求适配的景点亮点,然后通读用户给的爆款标题素材,挑选一个在用户画像+节点节日+标题吸睛三个方面最契合的进行改写,创作出全新的爆款标题。在此期间以下几点需要你遵循: 1.必加emoji 2.标题爆破式句式,幽默感,有网感,爱夸张,情绪化,话讲一半的感觉很重要 3.标题字数不能超过10字,标题根据提供的爆款标题材料,挑选反差感大的将景区特色和节点信息融合进去进行改写和结合创作 4.每次生成的标题必须要不一样,在给出的标题素材中任意挑选并改写,并在给出的热词素材中融入一个热词 二、正文创作法 用美食推荐、特产推荐的即视感去为用户创作内容,要写出这些感觉: 1. 通过分析产品和当前节点需求,结合合适的节日推荐特产产品,直击用户痛点。 2. 正文有丰富的场景美食细节,通过给的景区材料进行细节补充,结合用户需求,拉满需求和体验氛围感 3. 先说推荐特产的背景,然后选定好要推荐的产品逐一推荐,对于美食的描述要诱人 4. 如果用户给出范文案例,请参考范文案例的写作风格和内容 58. 针对用户的痛点和需求对正文内容和产品内容的推荐进行优化,可参考我给出的用户文旅需求的材料 其他必须遵循: 1.需要合理使用emoji增强内容趣味性 2.如果我提供给你了热点信息,请务必挑选合适的热点以合适匹配景区的方式结合到标题和正文 3.每段积极换行,条理清晰,每段按点一点一点叙述 4.正文内容中不要出现markdown的标识符, 在你想用markdown格式的地方, 用emoji代替 5.你不需要为正文中的任何内容加粗或高亮显示,即不需要出现**内容** 6.如果给出的产品信息里没有景区优惠信息,就不能编造虚假优惠信息展示',0,'2025-07-11 10:51:15','2025-07-14 14:22:25'),(2,'攻略风','你是景区小红书爆款文案策划,你将根据要求创作爆款文案,根据以下规则一步步执行: 一、标题创作 步骤:先速览景区资料内容,找到与用户需求适配的景点亮点,然后通读用户给的爆款标题素材,挑选一个在用户画像+节点节日+标题吸睛三个方面最契合的进行改写,创作出全新的爆款标题。在此期间以下几点需要你遵循: 1.必加1个emoji,标题字数18字以内 2.有网感,结合所在地 3.标题必须结合我给出的<标题参考格式>进行高相似度仿写 二、正文创作 注意:正文以<你>这种有人味的人称代词视角创作输出,不要出现<宝子们><姐妹们>这些很假的称呼 1. 通过了解产品和当前节点需求,如情人节要约会、儿童节要带孩子玩、临近周末会考虑周边游、传统节日偏好民俗活动等以此类推,直击用户痛点。 2. 正文围绕所选定的风格提示词进行创作,有场景感,让人感觉是亲身体验后的推荐,有一种和用户沟通的感觉,语言平实靠谱娓娓道来 3. 正文部分可以参考我给你的<正文范文参考>文档,结合所给景区/民宿资料进行改写创作 4. 分段+分点论述,巧用emoji,积极换行,让整体排版更好看 5. 如果用户给出范文案例,请参考正文范文参考案例仿写 三、正文案例 ‼️新疆旅行黑红榜速报‼️ 亲测6大封神景点🆚6个本地人翻白眼雷区 避坑指南已备好✅ 这个五一,用7天解锁新疆的N种神仙打开方式 打工人必看👉「不请假不暴走」小众路线 每天随便躺玩就能出片! - 🌤【天气预警】 5月新疆:5°C~20°C(早晚穿羽绒,中午穿吊带) ⚠紫外线堪比军训!防晒霜+墨镜+帽子三件套焊死! - 🧳【行李清单】 ✅证件:身份证+驾照(自驾党必带) ✅保命穿搭:冲锋衣+白裙子+工装靴(温差15℃的叠穿美学) ✅急救包:肠胃yao+晕车yao+保湿面膜(一天五顿碳水+干燥警告) - ✈【机场选择指南】 ▪首飞选乌鲁木齐!北疆环线起点,租车/拼团超方便 ▪伊宁机场:适合只玩伊犁的姐妹,落地直冲赛里木湖 - 🚗【7天6晚游玩路线】 Day1⃣:出发地-乌鲁木齐 Day2⃣:乌鲁木齐-天山天池-奎屯 Day3⃣:奎屯-赛里木湖-伊宁 Day4⃣:伊宁-库尔德宁-那拉提 Day5⃣:那拉提-空中草原-精河/博乐 Day6⃣:博乐-独山子大峡谷-乌鲁木齐 Day7⃣:乌鲁木齐-温馨的家 - 🍖【新疆美食清单】 🔥必吃Top3: ▪沙湾大盘鸡(加份皮带面!) ▪和田街烤包子(酥到掉渣爆汁) ▪精河过油肉拌面(本地人私藏小店) 💣避雷:景区门口的“天价”羊肉串 - ⚠【血泪经验Tips】 🔥 ‌温差刺客‌:薄羽绒+草帽+墨镜,5月草原早晚温差15℃,中午晒到穿吊带! 🔥 ‌信号消失术‌:赛湖、库尔德宁山区常无信号,建议常备现金。 🔥 ‌防晒保命‌:紫外线比三亚狠!面罩焊脸上,防晒霜2小时补一次。 🔥 ‌出片玄学‌:赛湖穿白裙子,那拉提配牛仔帽,独山子穿工装裤,谁拍谁封神! - 📸【出片玄学指南】 ✔赛湖穿白裙+奔跑,拍出“海蒂和爷爷”电影感 ✔那拉提网红桥早起抢机位,下午人从众 ✔独山子穿卡其工装,秒变西部牛仔 ❗PS:带1TB胃和256G手机内存,美景美食根本停不下来! - 四、TAG标签创作 每一篇笔记需要携带9个TAG标签,以下举例的加号(+)这个符号不要体现,仅代表内容连接的意思 1.前三个TAG标签的内容围绕<#产品所在地区+旅游><#产品所在省份+旅游><#产品所在地区+周边游><#产品周边一线城市+周边游> 2.接着三个TAG标签的内容围绕<#景区/酒店名称><#景区/酒店名称+攻略><#景区/酒店名称+推荐> 3.最后三个TAG标签的内容围绕<#周末去哪儿玩><#小众旅游地><##产品所在地区+周末好去处> 注意:以上TAG直接按要求直出内容,不需要在直出的时候进行分类',0,'2025-07-11 10:51:15','2025-07-14 14:22:25'),(3,'极力推荐风','你是景区小红书爆款文案策划,你将根据要求创作爆款文案,根据以下规则一步步执行: 一、标题创作 步骤:先速览景区资料内容,找到与用户需求适配的景点亮点,然后通读用户给的爆款标题素材,挑选一个在用户画像+节点节日+标题吸睛三个方面最契合的进行改写,创作出全新的爆款标题。在此期间以下几点需要你遵循: 1.必加emoji 2.标题爆破式句,有网感 3.标题字数不超过10个字 二、正文创作法 1. 通过分析产品和当前节点需求,如情人节要约会、儿童节要带孩子玩、临近周末会考虑周边游、传统节日偏好民俗活动等以此类推,直击用户痛点。 2. 正文不要出现过多比喻句,表达风格更朴实一点,不要过度联想 3. 情绪饱满,推荐时要始终面向人群需求结合 4. 内容需要条理清晰,分段论述,总分总结构结构,开头吸引+中间详细攻略+细节补充+总结推荐 5. 如果用户给出范文案例,请参考范文案例的写作风格和内容 6. 针对用户的痛点和需求对正文内容和产品内容的推荐进行优化,可参考我给出的用户文旅需求的材料 其他必须遵循: 1.需要合理使用emoji增强内容趣味性 2.正文内容中不要出现markdown的标识符, 在你想用markdown格式的地方, 用emoji代替 3.如果给出的产品信息里没有景区优惠信息,就不能编造虚假优惠信息展示',0,'2025-07-11 10:51:15','2025-07-14 14:22:25'),(4,'轻奢风','你是景区4A广告文案策划,你将根据要求创作高级轻奢文艺感文案,标题和正文表达有4A广告公司的顶级极简文风感受,同时也适当结合当下热点热词,和用户保持一定距离感,根据以下规则一步步执行: 一、标题创作 步骤:先速览景区资料内容,找到与用户需求适配的景点亮点,然后通读用户给的爆款标题素材,挑选一个在用户画像+节点节日+标题吸睛三个方面最契合的进行改写,创作出全新的爆款标题。在此期间以下几点需要你遵循: 1.必加emoji 2.标题字数不能超过10字,标题根据提供的爆款标题材料,挑选反差感大的将景区特色和节点信息融合进去进行改写和结合创作 3.标题是极其富有诗意的,有格调的 二、正文创作法 用轻奢体验的即视感去为用户创作内容,要写出这些感觉: 1. 通过分析产品和当前节点需求,点明用户痛点。 2. 语境质感高 4. 内容需要条理清晰,分段论述,简洁奢华的风格结构,正文每段小于20字,每段不少于2行 5. 如果用户给出范文案例,请参考范文案例的写作风格和内容 6. 针对用户的痛点和需求对正文内容和产品内容的推荐进行优化,可参考我给出的用户文旅需求的材料 三、TAG标签格式 1.TAG标签写在正文最后 2.TAG标签前几个最后包含城市、景区、周边游、类型+其他,一共不要超过8个 其他必须遵循: 1.需要合理使用emoji增强内容趣味性 2.如果我提供给你了热点信息,请务必挑选合适的热点以合适匹配景区的方式结合到标题和正文 3.每段积极换行,条理清晰,每段按点一点一点叙述 4.正文内容中不要出现markdown的标识符, 在你想用markdown格式的地方, 用emoji代替 5.你不需要为正文中的任何内容加粗或高亮显示,即不需要出现**内容** 6.如果给出的产品信息里没有景区优惠信息,就不能编造虚假优惠信息展示',0,'2025-07-11 10:51:15','2025-07-14 14:22:25'),(5,'高奢酒店风','你是景区小红书爆款文案策划,你将根据要求创作爆款文案,根据以下规则一步步执行: 一、标题创作 步骤:先速览酒店资料内容,找到与用户需求适配的景点亮点,然后通读用户给的爆款标题素材,标题结合<标题参考格式>和<高奢酒店范文参考>的标题进行仿写,创作出全新的爆款标题。在此期间以下几点需要你遵循: 1.必加1个emoji,标题字数18字以内 2.有网感,爆破式标题,吸睛,结合所在酒店 二、正文创作 注意:正文以<我><你>这种有人味的人称代词视角创作输出,不要出现<宝子们><姐妹们>这些很假的称呼 1. 请完全模仿我给你的<高奢酒店范文参考>的写作结构进行创作仿写。 2.全程以一种探店体验视角进行内容创作,正文开头主要讲一下所描写的高奢酒店的亮点优势和争议点,然后突出你要亲自体验一番的感觉。 3.正文文末固定文案板块,请不要修改直接丝滑衔接上去即可,内容如下: 🙋「关于预定」 ▪每日两份早餐 ▪下一级有房时保证升级 ▪50美金挂房账消费额度 ▪提前入住丨延迟退房 ▪来自管理层的欢迎礼遇 ▪实名入住丨前台到付丨Snp积分 - 🙋我是Vivi,一个喜欢奢华酒店的小女孩 如果你想享受奢华礼遇服务 请与我联系我会一一回复您👀 三、TAG标签创作 每一篇笔记需要携带11个TAG标签,以下举例的加号(+)这个符号不要体现,仅代表内容连接的意思 1.前五个TAG标签的内容围绕<#产品所在城市><#产品所在城市+酒店><#酒店名称><#产品所在城市+网红酒店><#产品所在城市+奢华酒店> 2.接着三个TAG标签的内容围绕<#产品所在城市+性价比酒店><#产品所在城市+五星级酒店><#产品所在城市+性价比酒店> 3.最后三个TAG标签的内容围绕<#酒店爱好者><#世界顶级酒店><#世界顶级酒店> 注意:以上TAG直接按要求直出内容,不需要在直出的时候进行分类 输出注意点: 1.按要求输出标签+正文+TAG标签 2.正文直白清楚围绕产品,不要出现比喻和联想 3.千万不要虚构景区信息没有的设施设备和活动信息,如果材料中没有指明,不要提及价格信息;如果没有明确的产品价格或者优惠活动信息,不要提及价格和优惠 4.输出内容中,要符合社会道德规范和法律规范 5.TAG标签按要求顺序在正文最后直出进行罗列',0,'2025-07-11 10:51:15','2025-07-14 14:22:25'); +/*!40000 ALTER TABLE `contentStyle` ENABLE KEYS */; + +-- +-- Table structure for table `documentParse` +-- + +DROP TABLE IF EXISTS `documentParse`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `documentParse` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '景区名称', + `address` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '地址', + `trafficInfo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '交通指南', + `description` text COLLATE utf8mb4_unicode_ci COMMENT '描述', + `advantage` text COLLATE utf8mb4_unicode_ci COMMENT '景区优势', + `highlight` text COLLATE utf8mb4_unicode_ci COMMENT '景区亮点', + `productName` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品名称', + `originPrice` decimal(10,2) DEFAULT NULL COMMENT '原价', + `realPrice` decimal(10,2) DEFAULT NULL COMMENT '实际价格', + `packageInfo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '套票详情', + `salesPeriod` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '售卖期', + `stock` int DEFAULT NULL COMMENT '库存', + `productAdvantage` text COLLATE utf8mb4_unicode_ci COMMENT '产品优势', + `productHighlight` text COLLATE utf8mb4_unicode_ci COMMENT '产品亮点', + `productDescription` text COLLATE utf8mb4_unicode_ci COMMENT '产品描述', + `isDelete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `userId` bigint NOT NULL COMMENT '用户ID', + `usageRules` text COLLATE utf8mb4_unicode_ci COMMENT '使用规则详细说明', + `surcharge` text COLLATE utf8mb4_unicode_ci COMMENT '加价说明', + `reservation` text COLLATE utf8mb4_unicode_ci COMMENT '预约规则', + `refund` text COLLATE utf8mb4_unicode_ci COMMENT '退改政策', + `discounts` text COLLATE utf8mb4_unicode_ci COMMENT '优惠内容', + `highlights` text COLLATE utf8mb4_unicode_ci COMMENT '产品亮点详细描述', + `detailedDescription` text COLLATE utf8mb4_unicode_ci COMMENT '产品特色', + PRIMARY KEY (`id`), + KEY `idx_documentParse_scenicName` (`name`), + KEY `idx_documentParse_productName` (`productName`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文档解析表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `documentParse` +-- + +/*!40000 ALTER TABLE `documentParse` DISABLE KEYS */; +/*!40000 ALTER TABLE `documentParse` ENABLE KEYS */; + +-- +-- Table structure for table `invitecode` +-- + +DROP TABLE IF EXISTS `invitecode`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `invitecode` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `code` varchar(32) NOT NULL COMMENT '邀请码', + `status` tinyint DEFAULT '0' COMMENT '状态 0-未使用 1-已使用', + `usedBy` bigint DEFAULT NULL COMMENT '使用者id', + `createdBy` bigint DEFAULT NULL COMMENT '创建者id', + `createTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `isDelete` tinyint DEFAULT '0' COMMENT '是否删除', + PRIMARY KEY (`id`), + UNIQUE KEY `code` (`code`), + KEY `idx_code` (`code`), + KEY `idx_createdBy` (`createdBy`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='邀请码表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `invitecode` +-- + +/*!40000 ALTER TABLE `invitecode` DISABLE KEYS */; +/*!40000 ALTER TABLE `invitecode` ENABLE KEYS */; + +-- +-- Table structure for table `material` +-- + +DROP TABLE IF EXISTS `material`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `material` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `userId` bigint NOT NULL COMMENT '上传用户id', + `folderId` bigint NOT NULL COMMENT '所属文件夹id', + `materialName` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '素材名称', + `materialType` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '素材类型:image/video/document', + `filePath` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件存储路径', + `fileSize` bigint NOT NULL COMMENT '文件大小(字节)', + `fileFormat` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件格式(jpg/png/mp4/pdf/doc等)', + `fileUrl` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件访问URL', + `description` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '素材描述', + `isPublic` tinyint NOT NULL DEFAULT '0' COMMENT '是否公开:0私有,1公开', + `status` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'active' COMMENT '状态:active/inactive/deleted', + `viewCount` int NOT NULL DEFAULT '0' COMMENT '查看次数', + `downloadCount` int NOT NULL DEFAULT '0' COMMENT '下载次数', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `isDelete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_user_folder_name` (`userId`,`folderId`,`materialName`), + KEY `idx_material_create_time` (`createTime`), + KEY `idx_material_folder` (`folderId`), + KEY `idx_material_public` (`isPublic`), + KEY `idx_material_status` (`status`), + KEY `idx_material_type` (`materialType`), + KEY `idx_material_user` (`userId`), + CONSTRAINT `fk_material_folder` FOREIGN KEY (`folderId`) REFERENCES `materialFolder` (`id`) ON DELETE CASCADE, + CONSTRAINT `fk_material_user` FOREIGN KEY (`userId`) REFERENCES `user` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1947840672380743682 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='素材表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `material` +-- + +/*!40000 ALTER TABLE `material` DISABLE KEYS */; +INSERT INTO `material` VALUES (1947466071817576450,1945869111411052546,1947312168740282370,'0a9d6377409c8f1bd3f5eb27442b9e14 (1).jpg','image','2025/07/22/4918274ff591446a808106f8fd902032.jpg',1858,'jpg','http://8.138.116.153:8123/api/static/files/2025/07/22/4918274ff591446a808106f8fd902032.jpg',NULL,0,'active',0,0,'2025-07-22 09:17:48','2025-07-22 09:17:48',0),(1947466072421556226,1945869111411052546,1947312168740282370,'0a9d6377409c8f1bd3f5eb27442b9e14 (2).jpg','image','2025/07/22/4da8e5d2b94248c5844bcb1f26859195.jpg',0,'jpg','http://8.138.116.153:8123/api/static/files/2025/07/22/4da8e5d2b94248c5844bcb1f26859195.jpg',NULL,0,'active',0,0,'2025-07-22 09:17:48','2025-07-22 09:17:48',0),(1947466074850058242,1945869111411052546,1947312168740282370,'0a9d6377409c8f1bd3f5eb27442b9e14.jpg','image','/root/zwy_picture_uploads/2025/07/22/111278ec33884ec3a434b8204ade44ed_compressed.jpg',216241,'jpg','http://8.138.116.153:8123/api/static/files/2025/07/22/111278ec33884ec3a434b8204ade44ed_compressed.jpg',NULL,0,'active',0,0,'2025-07-22 09:17:49','2025-07-22 09:17:49',0),(1947495432251760641,1945869111411052546,1947465645118447618,'_DSC1002-207.jpg','image','2025/07/22/423ccb50a48444c894de7f8663640ae3.jpg',226117,'jpg','http://8.138.116.153:8123/api/static/files/2025/07/22/423ccb50a48444c894de7f8663640ae3.jpg',NULL,0,'active',0,0,'2025-07-22 11:14:28','2025-07-22 11:14:28',0),(1947840672380743681,1945869111411052546,1947312168740282370,'5.12日达人 已开白名单-2.xlsx','other','2025/07/23/54fe136b42054dfe82ba435894107e37.xlsx',17432,'xlsx','http://8.138.116.153:8123/api/static/files/2025/07/23/54fe136b42054dfe82ba435894107e37.xlsx',NULL,0,'active',0,0,'2025-07-23 10:06:20','2025-07-23 10:06:20',0); +/*!40000 ALTER TABLE `material` ENABLE KEYS */; + +-- +-- Table structure for table `materialFolder` +-- + +DROP TABLE IF EXISTS `materialFolder`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `materialFolder` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `userId` bigint NOT NULL COMMENT '创建用户id', + `folderName` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件夹名称', + `parentId` bigint DEFAULT NULL COMMENT '父文件夹id,NULL表示根目录', + `path` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '层级路径,由ID组成,例如 /1/25/103/', + `description` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件夹描述', + `isPublic` tinyint NOT NULL DEFAULT '0' COMMENT '是否公开:0私有,1公开', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `isDelete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_user_parent_name` (`userId`,`parentId`,`folderName`), + KEY `idx_material_folder_parent` (`parentId`), + KEY `idx_material_folder_user` (`userId`), + KEY `idx_path` (`path`(255)), + CONSTRAINT `fk_material_folder_user` FOREIGN KEY (`userId`) REFERENCES `user` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1947495126218563587 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='素材文件夹表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `materialFolder` +-- + +/*!40000 ALTER TABLE `materialFolder` DISABLE KEYS */; +INSERT INTO `materialFolder` VALUES (1947312168740282370,1945869111411052546,'111',0,'/1947312168740282370/','111',0,'2025-07-21 23:06:14','2025-07-21 23:06:15',0),(1947316268873768961,1945869111411052546,'666',0,'/1947316268873768961/','',0,'2025-07-21 23:22:32','2025-07-21 23:22:32',0),(1947465605385805825,1945869111411052546,'1234',1947312168740282370,'/1947312168740282370/1947465605385805825/','',0,'2025-07-22 09:15:57','2025-07-22 09:15:57',0),(1947465645118447618,1945869111411052546,'51234',1947312168740282370,'/1947312168740282370/1947465645118447618/','',0,'2025-07-22 09:16:06','2025-07-22 09:16:06',0),(1947495126218563586,1945869111411052546,'111111',1947465605385805825,'/1947312168740282370/1947465605385805825/1947495126218563586/','',0,'2025-07-22 11:13:15','2025-07-22 11:13:15',0); +/*!40000 ALTER TABLE `materialFolder` ENABLE KEYS */; + +-- +-- Table structure for table `material_tag` +-- + +DROP TABLE IF EXISTS `material_tag`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `material_tag` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `materialId` bigint NOT NULL COMMENT '素材ID', + `tagId` bigint NOT NULL COMMENT '标签ID', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_material_tag` (`materialId`,`tagId`), + KEY `idx_materialId` (`materialId`), + KEY `idx_tagId` (`tagId`), + CONSTRAINT `fk_material_tag_material` FOREIGN KEY (`materialId`) REFERENCES `material` (`id`) ON DELETE CASCADE, + CONSTRAINT `fk_material_tag_tag` FOREIGN KEY (`tagId`) REFERENCES `tag` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='素材与标签关联表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `material_tag` +-- + +/*!40000 ALTER TABLE `material_tag` DISABLE KEYS */; +/*!40000 ALTER TABLE `material_tag` ENABLE KEYS */; + +-- +-- Table structure for table `posterTemplates` +-- + +DROP TABLE IF EXISTS `posterTemplates`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `posterTemplates` ( + `id` varchar(50) NOT NULL COMMENT 'Template ID', + `name` varchar(100) NOT NULL COMMENT 'Template Name', + `description` text COMMENT 'Template Description', + `handlerPath` varchar(255) DEFAULT NULL COMMENT 'Python module path for the template handler (e.g., poster.templates.vibrant)', + `className` varchar(100) DEFAULT NULL COMMENT 'Class name of the handler within the module (e.g., VibrantTemplate)', + `inputFormat` json DEFAULT NULL COMMENT 'Defines the expected input data structure', + `outputFormat` json DEFAULT NULL COMMENT 'Defines the expected output data structure', + `styleConfig` json DEFAULT NULL COMMENT 'Style configurations like fonts, colors, etc.', + `promptConfig` json DEFAULT NULL COMMENT 'Configuration for AI prompts', + `isActive` tinyint(1) DEFAULT '1' COMMENT 'Indicates if the template is active', + `createdAt` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Creation timestamp', + `updatedAt` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last update timestamp', + PRIMARY KEY (`id`), + KEY `idx_isActive` (`isActive`), + KEY `idx_createdAt` (`createdAt`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Stores poster template configurations'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `posterTemplates` +-- + +/*!40000 ALTER TABLE `posterTemplates` DISABLE KEYS */; +INSERT INTO `posterTemplates` VALUES ('vibrant','活力模板','适合旅游景点的活力风格海报模板,色彩鲜艳,布局紧凑,突出景点特色。','poster.templates.vibrant_template','VibrantTemplate','{\"required_fields\": [\"title\", \"content\"]}','{\"size\": [900, 1200], \"format\": \"PNG\"}','{\"fontFamily\": \"Microsoft YaHei\", \"titleFontSize\": 48}','{\"systemPrompt\": \"You are a professional poster designer...\", \"userPromptTemplate\": \"Please generate poster copy based on...\"}',1,'2025-07-17 17:37:02','2025-07-17 17:37:02'); +/*!40000 ALTER TABLE `posterTemplates` ENABLE KEYS */; + +-- +-- Table structure for table `product` +-- + +DROP TABLE IF EXISTS `product`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `product` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `userId` bigint NOT NULL COMMENT '用户ID', + `productName` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品名称', + `originPrice` decimal(10,2) DEFAULT NULL COMMENT '原价', + `realPrice` decimal(10,2) DEFAULT NULL COMMENT '实际价格', + `packageInfo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '套票详情', + `salesPeriod` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '售卖期', + `stock` int DEFAULT NULL COMMENT '库存', + `keyAdvantages` text COLLATE utf8mb4_unicode_ci COMMENT '产品优势', + `highlights` text COLLATE utf8mb4_unicode_ci COMMENT '产品亮点', + `detailedDescription` text COLLATE utf8mb4_unicode_ci COMMENT '产品描述', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `usageRules` text COLLATE utf8mb4_unicode_ci COMMENT '使用规则详细说明', + `surcharge` text COLLATE utf8mb4_unicode_ci COMMENT '加价说明', + `reservation` text COLLATE utf8mb4_unicode_ci COMMENT '预约规则', + `refund` text COLLATE utf8mb4_unicode_ci COMMENT '退改政策', + `discounts` text COLLATE utf8mb4_unicode_ci COMMENT '优惠内容', + `isPublic` tinyint NOT NULL DEFAULT '0' COMMENT '是否公开(0私有1公开)', + `isDelete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', + PRIMARY KEY (`id`), + KEY `idx_product_user` (`userId`), + KEY `idx_product_name` (`productName`), + KEY `idx_product_public` (`isPublic`) +) ENGINE=InnoDB AUTO_INCREMENT=1947498123434647554 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='产品表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `product` +-- + +/*!40000 ALTER TABLE `product` DISABLE KEYS */; +INSERT INTO `product` VALUES (1,1,'黄山亲子三日游',2199.00,1899.00,'含往返交通、住宿、门票、导游','2025-01-01至2025-12-31',1000,'一价全包,无隐形消费,亲子互动环节丰富','登顶观日出,泡温泉,亲子科普活动','黄山三日亲子游,含住宿、餐饮、交通、门票等,专业导游全程陪同,设计多个亲子互动环节,让孩子在游玩中学习自然知识。','2025-07-11 10:51:15','2025-07-11 10:51:15',NULL,NULL,NULL,NULL,NULL,1,0),(2,1,'张家界避暑五日游',3999.00,3599.00,'含往返机票、住宿、门票、导游','2025-06-01至2025-08-31',800,'全程五星酒店,专车接送,夏季避暑胜地','玻璃栈道,天门山索道,森林氧吧','张家界五日避暑游,畅游武陵源核心景区,体验玻璃栈道惊险刺激,享受平均气温仅22℃的夏日清凉。','2025-07-11 10:51:15','2025-07-11 10:51:15',NULL,NULL,NULL,NULL,NULL,1,0),(3,2,'九寨沟摄影六日游',5299.00,4899.00,'含往返机票、住宿、门票、导游','2025-09-15至2025-10-31',500,'一次游两大世界遗产地,摄影师专业指导','九寨沟彩池,黄龙钙化池,摄影技巧培训','九寨沟+黄龙六日摄影专线,资深摄影师全程指导,选择最佳拍摄时间和机位,捕捉秋季九寨最绚丽的色彩。','2025-07-11 10:51:15','2025-07-11 10:51:15',NULL,NULL,NULL,NULL,NULL,0,0),(4,3,'云南民族文化七日游',6299.00,5899.00,'含往返机票、住宿、门票、导游','2025-01-01至2025-12-31',600,'深度体验云南民族文化,高端精品小团','丽江古城,洱海环湖,民族村寨体验','云南丽江+大理七日文化之旅,体验纳西族和白族文化,参与非遗手工艺制作,聆听东巴文化讲解,入住丽江古城内精品客栈。','2025-07-11 10:51:15','2025-07-11 10:51:15',NULL,NULL,NULL,NULL,NULL,1,0),(5,1945869111411052546,'冒险湾-2大2小套票',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2大2小家庭套票,包含2位成人和2位儿童的全天游玩权限,含午餐。','2025-07-11 15:19:33','2025-07-18 12:52:14',NULL,NULL,NULL,NULL,NULL,0,0),(1947231144618434562,1945869111411052546,'测试',123.00,NULL,NULL,NULL,NULL,'没有',NULL,'测试','2025-07-21 17:44:17','2025-07-21 17:44:17',NULL,NULL,NULL,NULL,NULL,0,0),(1947498123434647553,1945869111411052546,'test',1.00,2.00,'13','111',213,'13','13','13','2025-07-22 11:25:10','2025-07-22 11:25:10','13','13','13','13','13',1,0); +/*!40000 ALTER TABLE `product` ENABLE KEYS */; + +-- +-- Table structure for table `scenicSpot` +-- + +DROP TABLE IF EXISTS `scenicSpot`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `scenicSpot` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `userId` bigint NOT NULL COMMENT '用户ID', + `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '景区名称', + `address` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '地址', + `trafficInfo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '交通指南', + `description` text COLLATE utf8mb4_unicode_ci COMMENT '描述', + `advantage` text COLLATE utf8mb4_unicode_ci COMMENT '景区优势', + `highlight` text COLLATE utf8mb4_unicode_ci COMMENT '景区亮点', + `isPublic` tinyint NOT NULL DEFAULT '0' COMMENT '是否公开(0私有1公开)', + `isDelete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + KEY `idx_scenicSpot_user` (`userId`), + KEY `idx_scenicSpot_name` (`name`), + KEY `idx_scenicSpot_public` (`isPublic`) +) ENGINE=InnoDB AUTO_INCREMENT=1947582289782190083 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='景区表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `scenicSpot` +-- + +/*!40000 ALTER TABLE `scenicSpot` DISABLE KEYS */; +INSERT INTO `scenicSpot` VALUES (1,1,'黄山风景区','安徽省黄山市黄山区汤口镇','可乘坐高铁到黄山北站,再转乘景区大巴','黄山是中国著名的山岳景区,以奇松、怪石、云海、温泉\"四绝\"闻名于世。','国家5A级景区,世界文化与自然双遗产,云海日出景观壮观','云海日出、迎客松、温泉、奇松怪石',1,0,'2025-07-11 10:51:15','2025-07-11 10:51:15'),(2,1,'张家界国家森林公园','湖南省张家界市武陵源区','可乘坐飞机到张家界荷花机场,再转乘景区大巴','张家界国家森林公园是中国第一个国家森林公园,以峰林地貌为主要特色。','阿凡达取景地,独特的石柱地貌,夏季凉爽避暑胜地','天子山、袁家界、金鞭溪、玻璃栈道',1,0,'2025-07-11 10:51:15','2025-07-11 10:51:15'),(3,2,'九寨沟风景区','四川省阿坝藏族羌族自治州九寨沟县','可乘坐飞机到九黄机场,再转乘景区大巴','九寨沟以彩池、瀑布、雪山、森林\"四绝\"闻名于世。','水景资源丰富,色彩斑斓的湖泊,秋季层林尽染','五花海、诺日朗瀑布、长海、树正群海',0,0,'2025-07-11 10:51:15','2025-07-11 10:51:15'),(4,3,'丽江古城','云南省丽江市古城区','可乘坐飞机到丽江三义机场,再乘坐出租车前往古城','丽江古城是一座历史文化名城,是中国为数不多的保存相当完好的少数民族古城。','纳西族文化,古城风貌保存完好,民族风情浓郁','四方街、木府、黑龙潭、万古楼',1,0,'2025-07-11 10:51:15','2025-07-11 10:51:15'),(5,1945869111411052546,'天津冒险湾',NULL,NULL,'天津冒险湾是一个大型水上乐园,拥有多种刺激的水上游乐设施,适合全家游玩。',NULL,NULL,0,0,'2025-07-11 15:19:33','2025-07-18 12:52:17'),(6,1945869111411052547,'龙井茶园景区','浙江省杭州市西湖区龙井路1号','杭州地铁2号线龙井站下车步行10分钟可达','龙井村是中国十大名茶之一龙井茶的原产地,这里不仅有翠绿的茶园,还有古朴的茶室和制茶工艺展示','历史文化深厚,自然景观优美,茶文化体验丰富','龙井茶园观光,茶文化体验,茶艺表演',1,0,'2025-07-19 14:47:17','2025-07-19 14:47:17'),(7,1945869111411052547,'吴山广场景区','浙江省杭州市上城区吴山路上天竺路2号','杭州地铁1号线定安路站下车步行5分钟可达','吴山广场是杭州市区重要的人文景观区,包含城隍阁、纪念馆等多个景点,是了解杭州历史文化的重要窗口','城市制高点,可俯瞰西湖全景,历史人文景观丰富','登高望远,城隍阁游览,民俗文化体验',1,0,'2025-07-19 14:47:33','2025-07-19 14:47:33'),(1947232251507843074,1945869111411052546,'测试','测试路测试街道','测试沟渠','测试','测测测','测试',0,0,'2025-07-21 17:48:41','2025-07-21 17:48:41'),(1947232483893256194,1945869111411052546,'test_open','tttt','11111','1','12','1',1,0,'2025-07-21 17:49:37','2025-07-21 17:49:37'),(1947581296793300993,1945869111411052546,'test_open','tttt','11111','1','12','1',0,0,'2025-07-22 16:55:40','2025-07-22 16:55:40'),(1947582206323929090,1945869111411052546,'吴山广场景区','浙江省杭州市上城区吴山路上天竺路2号','杭州地铁1号线定安路站下车步行5分钟可达','吴山广场是杭州市区重要的人文景观区,包含城隍阁、纪念馆等多个景点,是了解杭州历史文化的重要窗口','城市制高点,可俯瞰西湖全景,历史人文景观丰富','登高望远,城隍阁游览,民俗文化体验',0,0,'2025-07-22 16:59:17','2025-07-22 16:59:17'),(1947582279401287682,1945869111411052546,'吴山广场景区','浙江省杭州市上城区吴山路上天竺路2号','杭州地铁1号线定安路站下车步行5分钟可达','吴山广场是杭州市区重要的人文景观区,包含城隍阁、纪念馆等多个景点,是了解杭州历史文化的重要窗口','城市制高点,可俯瞰西湖全景,历史人文景观丰富','登高望远,城隍阁游览,民俗文化体验',0,0,'2025-07-22 16:59:34','2025-07-22 16:59:34'),(1947582289782190082,1945869111411052546,'吴山广场景区','浙江省杭州市上城区吴山路上天竺路2号','杭州地铁1号线定安路站下车步行5分钟可达','吴山广场是杭州市区重要的人文景观区,包含城隍阁、纪念馆等多个景点,是了解杭州历史文化的重要窗口','城市制高点,可俯瞰西湖全景,历史人文景观丰富','登高望远,城隍阁游览,民俗文化体验',0,0,'2025-07-22 16:59:37','2025-07-22 16:59:37'); +/*!40000 ALTER TABLE `scenicSpot` ENABLE KEYS */; + +-- +-- Table structure for table `tag` +-- + +DROP TABLE IF EXISTS `tag`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `tag` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '标签ID', + `tagName` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标签名称', + `userId` bigint NOT NULL COMMENT '创建用户ID', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_user_tag` (`userId`,`tagName`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='标签表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `tag` +-- + +/*!40000 ALTER TABLE `tag` DISABLE KEYS */; +/*!40000 ALTER TABLE `tag` ENABLE KEYS */; + +-- +-- Table structure for table `targetAudience` +-- + +DROP TABLE IF EXISTS `targetAudience`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `targetAudience` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `audienceName` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '受众名称', + `description` text COLLATE utf8mb4_unicode_ci COMMENT '描述', + `isDelete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_audienceName` (`audienceName`,`isDelete`), + KEY `idx_targetAudience_name` (`audienceName`) +) ENGINE=InnoDB AUTO_INCREMENT=1946415927634296835 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='目标人群表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `targetAudience` +-- + +/*!40000 ALTER TABLE `targetAudience` DISABLE KEYS */; +INSERT INTO `targetAudience` VALUES (1,'情侣向','情侣向用户画像: 1. 基本属性 - 年龄:18-35岁(热恋期&新婚夫妇为主). - 性别:女性主动种草者占比超60%. 2. 平台行为 - 互动习惯:高频点赞浪漫场景内容(如日落观景、私密民宿),热衷收藏情侣拍照打卡攻略,对\"双人优惠套餐\"类内容点击率高出均值42%. - 发布内容:分享双人旅行vlog、情侣穿搭、纪念日策划,高频使用氛围感滤镜,常带#约会圣地#小众秘境 等标签. 3. 消费特征 - 决策偏好:易被情感化标题吸引(如「和TA私奔到海边」「一生一次的星空露营」),易被\"浪漫仪式感\"场景打动(星空露营/心形岛屿/情侣手作体验). - 消费倾向:愿为独家记忆付费,对限定款周边产品敏感度高. - 消费品类:高端民宿、定制情侣写真、私密性强的轻奢体验,温泉酒店/夜景灯光秀/双人自行车租赁/定制纪念品. 4. 兴趣偏好 - 偏好:小众目的地、艺术氛围场景(美术馆、咖啡馆),沉浸式体验(剧本杀、灯光秀) 5.中国旅游出游做攻略高峰点: 1. 春节假期:1-2月 2. 暑假:6-8月 3. 国庆黄金周:9-10月初 4. 五一假期:4-5月初 5. 元旦:12月中下旬 6.清明:4月初 7.端午:5-6月 8.中秋:8月底-9月 9.寒假:12-2月',0,'2025-07-11 10:51:15','2025-07-14 14:18:33'),(2,'周边游','周边游用户画像: 1. 基本属性 - 年龄:全龄覆盖(主要围绕三天内的短期假期出游需求和周末出游需求). 2. 平台行为 - 互动习惯:高频搜索「周末去哪」「短途游攻略」,收藏本地美食地图,周末前3天搜索量激增,关注\"(城市名称)1小时可达\"标签. - 发布内容:分享城市周边秘境、农家乐体验、短途自驾游记,高频使用\"说走就走\"\"逃离城市\"等关键词. 3. 消费特征 - 决策偏好:注重便利性与性价比,自驾游便利、公共交通便利、高铁几小时以内等出行便利是优势. - 消费倾向:倾向购买景区联票(含停车+餐饮+体验项目打包). - 消费品类:民宿套餐、采摘体验、古镇一日游,近郊农场/房车营地/文创市集/夜游项目. 4. 兴趣偏好 - 偏好:轻旅行(露营、骑行)、季节限定活动(赏樱、滑雪) 5.中国旅游出游做攻略高峰点: 1. 春节假期:1-2月 2. 暑假:6-8月 3. 国庆黄金周:9-10月初 4. 五一假期:4-5月初 5. 元旦:12月中下旬 6.清明:4月初 7.端午:5-6月 8.中秋:8月底-9月 9.寒假:12-2月',0,'2025-07-11 10:51:15','2025-07-14 14:19:32'),(3,'夕阳红','夕阳红用户画像: 1. 基本属性 - 年龄:55-75岁(退休银发族为主). - 性别:男女较均衡,女性更活跃分享. 2. 平台行为 - 互动习惯:偏好实用攻略(如「银发旅游避坑指南」),收藏健康养生类内容,偏好图文详解攻略,收藏养生/无障碍设施/团体票信息. - 发布内容:分享慢节奏旅行体验、怀旧景点打卡(如红色旅游地),常带#退休生活#老有所乐 标签,爱晒集体出游合照. 3. 消费特征 - 决策偏好:注重性价比与舒适度,易被「夕阳红专属优惠」「慢旅行套餐」打动,关注交通便利性,对\"适老化改造景区\"信任度高. - 消费倾向:追求慢节奏深度游,对早鸟票/老年证优惠敏感. - 消费品类:养生温泉、文化怀旧主题游(古镇、非遗体验),短途跟团游,文化古镇/红色旅游/康养温泉/摄影基地. 4. 兴趣偏好 - 偏好:自然风光、文化历史景点、群体活动(广场舞旅行团) 5.中国旅游出游做攻略高峰点: 1. 春节假期:1-2月 2. 暑假:6-8月 3. 国庆黄金周:9-10月初 4. 五一假期:4-5月初 5. 元旦:12月中下旬 6.清明:4月初 7.端午:5-6月 8.中秋:8月底-9月 9.寒假:12-2月',0,'2025-07-11 10:51:15','2025-07-14 14:19:10'),(4,'团建向','团建向用户画像: 1. 基本属性 - 年龄:22-50岁(企业中层主导决策). - 性别:HR部门女性采购者占比超75%. 2. 平台行为 - 互动习惯:搜索「团建攻略」「团队活动策划」,集中搜索\"30人以上团体方案\"\"凝聚力游戏场地\". - 发布内容:分享团队挑战赛、创意团建活动(如剧本杀主题旅行),企业账号常发团队风采照,带#公司团建#拓展训练 标签. 3. 消费特征 - 决策偏好:注重团队体验与性价比,倾向「一站式服务」「企业定制套餐」,需明确人均预算区间,定制化行程方案点击率提升300%. - 消费倾向:重视场地承载能力,倾向选择含保险/餐饮/交通打包服务. - 消费品类:户外拓展基地、主题乐园团体票、团队摄影服务,CS野战基地/农家乐采摘/漂流攀岩等协作型项目. 4. 兴趣偏好 - 偏好:协作型活动(密室逃脱)、自然探险(徒步、露营),企业文化融合项目 5.中国旅游出游做攻略高峰点: 1. 春节假期:1-2月 2. 暑假:6-8月 3. 国庆黄金周:9-10月初 4. 五一假期:4-5月初 5. 元旦:12月中下旬 6.清明:4月初 7.端午:5-6月 8.中秋:8月底-9月 9.寒假:12-2月',0,'2025-07-11 10:51:15','2025-07-14 14:18:46'),(5,'学生党','学生党用户画像: 1. 基本属性 - 年龄:18-24岁(高职至研究生阶段). - 性别:女生占比65%,男生偏好户外运动类和徒步骑行类. 2. 平台行为 - 互动习惯:爱收藏打卡攻略,深夜活跃度高,对景区相关优惠信息相对感兴趣. - 常带学生党旅游、周末去哪、周边游、特种兵旅行、这种TAG标签. 3. 消费特征 - 决策偏好:易被网红爆款、Citywalk路线、当日往返短途游、交通便捷直达等吸引 - 消费倾向:性价比追求者,关注免费拍照点和网红景点. - 消费品类:平价民宿、网红小吃、小众景点(废弃工厂、艺术区),网红夜市/剧本杀场馆/毕业季写真取景地. 4.中国旅游出游做攻略高峰点: 1. 春节假期:1-2月 2. 暑假:6-8月 3. 国庆黄金周:9-10月初 4. 五一假期:4-5月初 5. 元旦:12月中下旬 6.清明:4月初 7.端午:5-6月 8.中秋:8月底-9月 9.寒假:12-2月',0,'2025-07-11 10:51:15','2025-07-14 14:19:10'),(6,'职场人','职场人用户画像: 1. 基本属性 - 年龄:25-40岁(白领&自由职业者). - 性别:女性占58%,男性偏好商务型度假. 2. 平台行为 - 互动习惯:搜索「周末放松」「减压旅行」,工作日晚间集中浏览,收藏\"周末逃离城市\"系列内容. - 发布内容:分享商务差旅、高端酒店体验、工作与旅行平衡心得,侧重轻奢体验分享,常带#职场治愈时刻#gapday等标签. 3. 消费特征 - 决策偏好:注重效率与品质,倾向「闪游套餐」「商务休闲结合」产品,愿为时间成本买单,偏好\"全包式度假村\"服务. - 消费倾向:关注差异化体验(洞穴酒店/私汤别墅/主厨餐桌). - 消费品类:高端酒店、短途轻奢游、私人订制行程,精品民宿/疗愈SPA/商务会议中心. 4. 兴趣偏好 - 偏好:疗愈型旅行(温泉SPA)、文化深度游(博物馆、艺术展) 5.中国旅游出游做攻略高峰点: 1. 春节假期:1-2月 2. 暑假:6-8月 3. 国庆黄金周:9-10月初 4. 五一假期:4-5月初 5. 元旦:12月中下旬 6.清明:4月初 7.端午:5-6月 8.中秋:8月底-9月 9.寒假:12-2月',0,'2025-07-11 10:51:15','2025-07-14 14:19:19'),(7,'亲子向','亲子向用户画像: 1. 基本属性 - 年龄:25-45岁(家长群体),孩子年龄集中在3-12岁. - 性别:女性主导型,约70%为妈妈群体. 2. 平台行为 - 互动习惯:偏好收藏实用攻略,收藏亲子活动/安全提示/优惠信息. - 发布内容:分享带娃旅行的温馨瞬间、教育类体验活动(如非遗手作课程),侧重记录孩子成长瞬间,分享寓教于乐的景点体验,常带#遛娃好去处#亲子时光 等标签. 3. 消费特征 - 决策偏好:重视安全性和便利性,易被亲子专属福利、儿童免费政策、亲子游必备清单、亲子研学及儿童友好型设施、互动研学课程等关键词吸引. - 消费倾向:愿为专属服务付费(如婴儿车租赁/亲子套房)但注重性价比组合. - 消费品类:动物园/科技馆/主题乐园/自然营地等具有科普性质的场景.,家庭套票、亲子主题酒店、互动性强的文旅项目(如动物园喂养体验) 4. 兴趣偏好 - 偏好:短途周边游、寓教于乐的景点(科技馆、自然博物馆),家庭摄影打卡 5.中国旅游出游做攻略高峰点: 1. 春节假期:1-2月 2. 暑假:6-8月 3. 国庆黄金周:9-10月初 4. 五一假期:4-5月初 5. 元旦:12月中下旬 6.清明:4月初 7.端午:5-6月 8.中秋:8月底-9月 9.寒假:12-2月',0,'2025-07-11 15:20:58','2025-07-14 14:18:18'),(8,'户外党','户外党用户画像: 1. 基本属性 - 年龄:18-45岁(跨代际硬核玩家). - 性别:男性占比68%,女性多参与徒步/露营. 2. 平台行为 - 互动习惯:搜索装备测评、路线攻略,深度研究装备测评,活跃在#徒步101问#等专业话题. - 发布内容:户外技能教学(登山、露营)、极限运动体验,发布线路轨迹图/极端天气应对技巧等硬核攻略. 3. 消费特征 - 决策偏好:专业性导向,易被「装备测评」「达人推荐」影响,重视专业配套(救援通道/充电桩/装备租赁站). - 消费倾向:愿为稀缺性资源付费(无人区穿越许可/专业向导). - 消费品类:户外装备、探险旅行套餐、专业摄影跟拍,国家步道/野攀岩壁/观星营地/越野赛道. 5.中国旅游出游做攻略高峰点: 1. 春节假期:1-2月 2. 暑假:6-8月 3. 国庆黄金周:9-10月初 4. 五一假期:4-5月初 5. 元旦:12月中下旬 6.清明:4月初 7.端午:5-6月 8.中秋:8月底-9月 9.寒假:12-2月',0,'2025-07-14 14:19:56','2025-07-14 14:19:56'),(1946415927634296834,'上班族',NULL,0,'2025-07-19 11:44:54','2025-07-19 11:45:34'); +/*!40000 ALTER TABLE `targetAudience` ENABLE KEYS */; + +-- +-- Table structure for table `templateUsageStats` +-- + +DROP TABLE IF EXISTS `templateUsageStats`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `templateUsageStats` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT 'Stat ID', + `templateId` varchar(50) NOT NULL COMMENT 'Template ID', + `usageCount` int DEFAULT '0' COMMENT 'Total times used', + `successCount` int DEFAULT '0' COMMENT 'Successful generation count', + `errorCount` int DEFAULT '0' COMMENT 'Failed generation count', + `avgProcessingTime` decimal(10,3) DEFAULT '0.000' COMMENT 'Average processing time in seconds', + `lastUsedAt` datetime DEFAULT NULL COMMENT 'Timestamp of last use', + `createdAt` datetime DEFAULT CURRENT_TIMESTAMP, + `updatedAt` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `idx_templateId` (`templateId`), + KEY `idx_lastUsedAt` (`lastUsedAt`), + CONSTRAINT `templateUsageStats_ibfk_1` FOREIGN KEY (`templateId`) REFERENCES `posterTemplates` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Tracks usage statistics for each template'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `templateUsageStats` +-- + +/*!40000 ALTER TABLE `templateUsageStats` DISABLE KEYS */; +INSERT INTO `templateUsageStats` VALUES (1,'vibrant',0,0,0,0.000,NULL,'2025-07-17 17:37:02','2025-07-17 17:37:02'); +/*!40000 ALTER TABLE `templateUsageStats` ENABLE KEYS */; + +-- +-- Table structure for table `topic` +-- + +DROP TABLE IF EXISTS `topic`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `topic` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `userId` bigint NOT NULL COMMENT '用户ID', + `logic` text COLLATE utf8mb4_unicode_ci COMMENT '选题逻辑', + `productLogic` text COLLATE utf8mb4_unicode_ci COMMENT '产品选择逻辑', + `styleLogic` text COLLATE utf8mb4_unicode_ci COMMENT '风格选择逻辑', + `targetAudienceLogic` text COLLATE utf8mb4_unicode_ci COMMENT '目标受众选择逻辑', + `status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'draft' COMMENT '状态', + `isDelete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `requestId` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '请求ID', + `topicIndex` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '选题索引', + `date` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '选题日期', + `object` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '目标对象(景点)', + `product` varchar(123) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品', + `style` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '风格', + `targetAudience` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '目标受众', + `styleIds` json DEFAULT NULL COMMENT '内容风格ID', + `audienceIds` json DEFAULT NULL COMMENT '目标人群ID', + `scenicSpotIds` json DEFAULT NULL COMMENT '景点ID', + `productIds` json DEFAULT NULL COMMENT '产品ID', + PRIMARY KEY (`id`), + KEY `idxTopicsUser` (`userId`), + KEY `idxTopicsStatus` (`status`) +) ENGINE=InnoDB AUTO_INCREMENT=1947605919266189314 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='选题信息表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `topic` +-- + +/*!40000 ALTER TABLE `topic` DISABLE KEYS */; +INSERT INTO `topic` VALUES (1,1,'针对五一假期黄山旅游人流量大的情况,提供亲子游实用攻略','推荐黄山亲子三日游产品,错峰出行,亲子互动环节丰富','采用攻略风风格,直接明了,提供详细实用信息','主要面向家庭亲子群体,提供亲子互动和安全提示','published',0,'2025-07-11 10:51:15','2025-07-11 10:51:15','',NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,1,'针对夏季炎热天气,推荐张家界作为避暑胜地,平均气温仅22℃','推荐张家界避暑五日游产品,强调凉爽体验和夏季特色活动','采用清新文艺风格,突出自然之美和凉爽体验','主要面向家庭亲子和学生群体,暑期出游首选','draft',0,'2025-07-11 10:51:15','2025-07-11 10:51:15','',NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,2,'针对九寨沟秋季绝美景色,提供专业摄影指导和最佳拍摄点','推荐九寨沟摄影六日游产品,强调最佳拍摄时机和专业指导','采用专业严谨风格,提供专业摄影知识和技巧','主要面向摄影爱好者和年轻情侣,追求高质量照片','draft',0,'2025-07-11 10:51:15','2025-07-11 10:51:15','',NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,3,'深入探索云南多民族文化特色,体验不同民族风情和非遗文化','推荐云南民族文化七日游产品,强调文化体验和民族特色','采用情感共鸣风格,讲述动人故事和文化传承','主要面向文化爱好者、高净值人群和学生群体','published',0,'2025-07-11 10:51:15','2025-07-11 10:51:15','',NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(1946171136296308737,1945869111411052547,'暑假期间正值高温,提前推广避暑产品吸引家庭及周边游用户','结合武陵源核心景区与玻璃栈道体验,突出22℃清凉气候优势,满足暑期避暑需求','通过行程规划和景点解析,提供实用避暑旅游指南','针对3天以上短途游需求,覆盖高铁可达客群','0',0,'2025-07-18 19:32:12','2025-07-18 19:32:12','topic-20250718-193211-94c0c529','1','2025-07-14','张家界国家森林公园','张家界避暑五日游','攻略风','周边游','[2]','[2]','[2]','[2]'),(1946172226228146178,1945869111411052547,'暑期出行高峰期来临前进行避暑游预热,结合张家界凉爽气候与玻璃栈道特色吸引短途游客','产品包含武陵源核心景区游览与玻璃栈道体验,契合夏季避暑需求及家庭/朋友出游场景','通过行程规划和实用贴士满足用户对避暑游的系统性信息需求','针对短途出游需求,突出1小时可达的清凉目的地特性及打包套餐性价比优势','0',0,'2025-07-18 19:36:32','2025-07-18 19:36:32','topic-20250718-193631-d568b92c','1','2025-07-14','张家界国家森林公园','张家界避暑五日游','攻略风','周边游','[2]','[2]','[2]','[2]'),(1946175301844160513,1945869111411052547,'暑假初期,针对家庭出游进行预热宣传,利用套票优惠吸引亲子群体','家庭套票包含午餐,满足亲子游性价比与便利性的双重需求','通过实用攻略形式展示园区设施与游玩路线,增强可信度与参考价值','契合家长对安全、趣味性及教育体验的需求,突出儿童友好设施','0',0,'2025-07-18 19:48:45','2025-07-18 19:48:45','topic-20250718-194844-5dd1bd7a','1','2024-07-01','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1946175301865132034,1945869111411052547,'暑假中期强化推广,聚焦周末家庭客群,延续暑期热度','套票覆盖全天游玩与餐饮,解决家庭出行成本与时间规划痛点','结合天气炎热场景,强调水上乐园避暑功能,提供防暑装备建议','匹配家庭短途游需求,突出亲子互动项目与安全设施','0',0,'2025-07-18 19:48:45','2025-07-18 19:48:45','topic-20250718-194844-5dd1bd7a','2','2024-07-15','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1946175301890297858,1945869111411052547,'七夕节前预热,兼顾家庭与情侣市场,利用套票灵活性拓展受众','套票可灵活组合成人与儿童,满足情侣带娃或亲友结伴出游场景','结合夏季热门活动,推荐情侣与亲子共游的特色项目组合','以家庭为核心,同时触达携带儿童的情侣群体,扩大受众覆盖面','0',0,'2025-07-18 19:48:45','2025-07-18 19:48:45','topic-20250718-194844-5dd1bd7a','3','2024-07-25','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1946500547411419137,1945869111411052547,'暑假初期启动预热,针对家庭客群推出套票优惠,抢占暑期市场先机','套票包含午餐及全天游玩权限,解决家庭出行用餐与时间规划痛点','通过分段式攻略呈现游玩路线、必备物品清单等实用信息','契合家长对安全便利设施及儿童友好型服务的需求','draft',0,'2025-07-19 17:21:09','2025-07-19 17:21:09','topic-20250719-172109-2699ea5d','1','2024-07-01','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1946500547486916609,1945869111411052547,'暑期中期强化曝光,应对高温天气刺激避暑需求,巩固市场份额','套票性价比优势明显,满足家庭多次游玩复购需求','结合实时天气数据推荐清凉玩法,增加防暑装备指南等实用内容','精准匹配家长寻找暑期遛娃目的地的核心诉求','draft',0,'2025-07-19 17:21:09','2025-07-19 17:21:09','topic-20250719-172109-2699ea5d','2','2024-07-15','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1946500547503693826,1945869111411052547,'借势二十四节气『大暑』热点,打造夏日清凉主题营销事件','套票成为应对极端高温的最佳解决方案,强化避暑场景联想','设计节气特辑攻略,融入民俗文化元素增强内容吸引力','满足家庭在传统节气中开展户外活动的文化消费需求','draft',0,'2025-07-19 17:21:09','2025-07-19 17:21:09','topic-20250719-172109-2699ea5d','3','2024-07-23','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1946513676723789825,1945869111411052546,'暑假初期,针对家庭出游进行预热宣传','提供全家畅玩权限及午餐,满足家庭短途游需求','通过实用攻略形式展示园区亮点与游玩建议','覆盖全年龄段家庭用户,契合短途游决策偏好','draft',1,'2025-07-19 18:13:20','2025-07-19 22:35:57','topic-20250719-181319-2813d6de','1','2025-07-01','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946513676744761346,1945869111411052546,'周末出游高峰,强化家庭套票性价比优势','打包优惠降低出行成本,适配自驾游便利性需求','分场景推荐游玩路线与避暑技巧','精准匹配周末短途游高频搜索关键词','draft',0,'2025-07-19 18:13:20','2025-07-19 18:13:20','topic-20250719-181319-2813d6de','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946513676795092993,1945869111411052546,'应对高温天气,突出水上乐园消暑功能','套餐含午餐解决用餐痛点,提升体验完整性','结合气象预警提示防晒装备与园区纳凉点','满足亲子群体季节限定活动需求','draft',0,'2025-07-19 18:13:20','2025-07-19 18:13:20','topic-20250719-181319-2813d6de','3','2025-07-10','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946513676828647425,1945869111411052546,'次周末持续引流,强调套票限时优惠','捆绑午餐服务增强套餐吸引力','对比平日与周末人流差异给出最佳时段建议','覆盖周末前3天搜索激增用户','draft',0,'2025-07-19 18:13:20','2025-07-19 18:13:20','topic-20250719-181319-2813d6de','4','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946513676862201858,1945869111411052546,'暑期中期巩固市场,突出亲子互动体验','满足家长对儿童安全与娱乐兼顾的需求','列举适合不同年龄段孩子的游乐设施','贴合家庭用户轻旅行偏好','draft',0,'2025-07-19 18:13:20','2025-07-19 18:13:20','topic-20250719-181319-2813d6de','5','2025-07-15','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946513676878979074,1945869111411052546,'第三次周末冲刺,关联毕业季学生客群','满足学生放假后家庭出游需求','提供学生证/老年证优惠核查指引','覆盖全年龄段消费品类需求','draft',0,'2025-07-19 18:13:20','2025-07-19 18:13:20','topic-20250719-181319-2813d6de','6','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946513676891561986,1945869111411052546,'应对极端高温,强化避暑刚需属性','套餐内含遮阳设备租赁服务(依据产品实际补充)','发布实时水温与排队时长预测','响应健康养生类内容收藏需求','draft',0,'2025-07-19 18:13:20','2025-07-19 18:13:20','topic-20250719-181319-2813d6de','7','2025-07-22','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946513676899950593,1945869111411052546,'暑期尾声造势,刺激错峰出游','推出剩余库存专属折扣','对比月初与月末人流差异数据','吸引延迟规划的短途游用户','draft',0,'2025-07-19 18:13:20','2025-07-19 18:13:20','topic-20250719-181319-2813d6de','8','2025-07-26','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946513676920922114,1945869111411052546,'月末收尾宣传,引导二次传播','鼓励用户分享打卡照兑换纪念品','附赠摄影机位地图与出片姿势指南','激发UGC内容生产与社交分享','draft',0,'2025-07-19 18:13:20','2025-07-19 18:13:20','topic-20250719-181319-2813d6de','9','2025-07-29','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946513676937699329,1945869111411052546,'暑期倒计时,制造紧迫感营销','强调8月开学前最后游玩机会','汇总本月热门玩法TOP3与避坑指南','覆盖寒假与暑假双高峰用户','draft',0,'2025-07-19 18:13:20','2025-07-19 18:13:20','topic-20250719-181319-2813d6de','10','2025-07-30','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946514631448043522,1945869111411052546,'暑假期间周末家庭出游高峰,推广家庭套票吸引亲子客群','套票包含全天游玩及午餐,满足家庭游客便捷性和性价比需求','提供实用游玩建议和套票优势说明,符合家庭用户决策偏好','针对家长带娃避暑需求,突出安全设施与儿童友好设计','draft',0,'2025-07-19 18:17:07','2025-07-20 01:40:46','topic-20250719-181707-51b509e2','1','2025-07-21','天津冒险湾','5','攻略风','亲子向','[2]','[]','[5]','[5]'),(1946514631460626434,1945869111411052546,'暑期持续热度期强化周末流量转化,聚焦套票组合优势','套票解决餐饮+交通+体验一站式需求,契合周边游消费特征','通过分段式场景描述增强代入感,匹配短途游用户内容偏好','覆盖自驾半径内用户,强调1小时可达+当日往返特性','draft',0,'2025-07-19 18:17:07','2025-07-19 18:17:07','topic-20250719-181707-51b509e2','2','2025-07-22','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1946634805639602178,1945869111411052546,'1111111111','112222','222222','111111111','draft',0,'2025-07-20 02:14:39','2025-07-20 02:17:38','MANUAL_20250720_c2789260',NULL,'2025-07-19','5','5','2','6','[2]','[6]','[5]','[5]'),(1947146251628650498,1945869111411052546,'暑假初期提前预热,针对亲子家庭推出清凉避暑方案','无指定产品,突出水上乐园设施适合全年龄段体验','通过实用攻略形式展示园区亮点与游玩贴士','满足家长对安全、趣味性兼顾的暑期遛娃需求','draft',0,'2025-07-21 12:06:57','2025-07-21 12:06:57','topic-20250721-120657-c7d9320d','1','2025-07-02','天津冒险湾','None','攻略风','亲子向','[2]','[7]','[5]','[]'),(1947146251678982145,1945869111411052546,'首个周末开启暑期高峰,强化家庭短途游场景','利用周末流量窗口推荐全天畅玩方案','以亲身体验视角拆解交通/餐饮/项目排队技巧','精准匹配家长对行程规划效率的需求','draft',0,'2025-07-21 12:06:57','2025-07-21 12:06:57','topic-20250721-120657-c7d9320d','2','2025-07-05','天津冒险湾','None','攻略风','亲子向','[2]','[7]','[5]','[]'),(1947146251699953666,1945869111411052546,'次周末延续热度,结合小暑节气强化消暑卖点','突出水滑道、漂流河等核心设施的降温功能','结合气象预警提示防晒防暑实用技巧','吸引1小时车程内的都市客群周末微度假','draft',0,'2025-07-21 12:06:57','2025-07-21 12:06:57','topic-20250721-120657-c7d9320d','3','2025-07-12','天津冒险湾','None','攻略风','周边游','[2]','[2]','[5]','[]'),(1947146251720925185,1945869111411052546,'大暑节气前抢占避暑市场,刺激中旬客流','强调夜间场次延长纳凉体验时长','对比不同时间段人流量给出最佳游玩时段建议','满足上班族周末逃离高温的迫切需求','draft',0,'2025-07-21 12:06:57','2025-07-21 12:06:57','topic-20250721-120657-c7d9320d','4','2025-07-19','天津冒险湾','None','攻略风','周边游','[2]','[2]','[5]','[]'),(1947146251746091009,1945869111411052546,'暑期中期冲刺,制造「暑假余额」紧迫感','通过倒计时营销激发未出游群体行动','整合当月热门项目的隐藏玩法清单','解决家长担心错过暑期档的心理焦虑','draft',0,'2025-07-21 12:06:57','2025-07-21 12:06:57','topic-20250721-120657-c7d9320d','5','2025-07-26','天津冒险湾','None','攻略风','亲子向','[2]','[7]','[5]','[]'),(1947154114170265601,1945869111411052546,'暑假初期预热,吸引家庭用户关注套票优惠','套票包含全天游玩及午餐,满足家庭出游需求','提供实用攻略,帮助家庭规划行程','针对家长带娃避暑需求,强调安全与便利','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114187042817,1945869111411052546,'暑假首日强化家庭出游场景,刺激即时消费','套票性价比高,适合全家共享夏日清凉','突出限时优惠,激发紧迫感','满足家长寻找短途亲子玩乐的需求','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','2','2025-07-01','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947154114212208641,1945869111411052546,'周末高峰前预热,引导周末客流','套票含午餐节省时间,适合周末短途游','列举游玩路线和避暑技巧','解决家长周末遛娃痛点','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','3','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114241568770,1945869111411052546,'周末当天强化体验感,促进当日转化','套票可快速入场,避免排队浪费时间','用简短有力的卖点打动决策者','契合家庭追求高效游玩的心理','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','4','2025-07-06','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947154114249957378,1945869111411052546,'第二波周末高峰预热,延续热度','套票适合多孩家庭,性价比优势明显','对比单人票凸显套票价值','满足二胎家庭出游需求','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','5','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114270928898,1945869111411052546,'周末当天强调安全与服务保障','套票包含专业救生员服务,提升家长安全感','列举安全措施增强信任感','缓解家长对儿童安全的顾虑','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','6','2025-07-13','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114287706113,1945869111411052546,'暑期中期促销,刺激二次消费','套票可叠加餐饮折扣,降低总支出','用数据对比展示省钱方案','吸引注重性价比的家庭用户','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','7','2025-07-19','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947154114329649154,1945869111411052546,'周末结合高温预警,强化避暑刚需','套票包含遮阳休息区,应对极端天气','提供防暑装备清单和游玩时段建议','解决家长高温出行担忧','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','8','2025-07-20','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114354814977,1945869111411052546,'月末冲刺期,清理库存','套票余量有限,营造稀缺感','用倒计时文案催促行动','抓住暑期末尾出游机会','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','9','2025-07-26','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947154114371592193,1945869111411052546,'月末周末收尾,巩固品牌认知','套票支持灵活改期,减少决策压力','解析套票使用规则消除顾虑','解决家长担心计划变动的问题','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','10','2025-07-27','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114413535234,1945869111411052546,'暑假次日延续热度,覆盖错峰出游','套票适合工作日人流较少时段','推荐工作日游玩优势','满足避开周末高峰的需求','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','11','2025-07-02','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114421923841,1945869111411052546,'暑期第三天强化套票实用性','套票包含漂流河无限畅玩,适合放松','突出核心游乐项目吸引力','满足孩子玩水需求','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','12','2025-07-03','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947154114438701058,1945869111411052546,'暑假第四天聚焦家庭社交属性','套票适合增进亲子关系,创造共同回忆','分享家庭互动玩法案例','回应情感陪伴需求','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','13','2025-07-04','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114451283969,1945869111411052546,'工作日引流,平衡周末客流','套票价格稳定,无周末溢价','分析平日游玩经济性','吸引预算敏感型家庭','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','14','2025-07-07','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114468061185,1945869111411052546,'暑期中期总结性内容,建立口碑','套票用户复购率高,真实案例佐证','引用用户评价增强可信度','通过他人经验降低决策风险','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','15','2025-07-10','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114480644097,1945869111411052546,'中旬过渡期,维持话题热度','套票可搭配周边酒店套餐','整合吃住玩一站式方案','满足深度游玩需求','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','16','2025-07-14','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114493227010,1945869111411052546,'应对高温预警,强化避暑刚需','套票包含防晒物资租赁服务','提供极端天气游玩指南','解决家长实际痛点','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','17','2025-07-17','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114510004226,1945869111411052546,'暑期过半节点,制造紧迫感','套票剩余有效期仅剩两周','用倒计时文案刺激行动','抓住暑期黄金期尾巴','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','18','2025-07-21','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947154114526781441,1945869111411052546,'月末前蓄力,覆盖延迟决策者','套票支持电子票随时预约','讲解灵活购票流程','降低计划变更带来的焦虑','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','19','2025-07-24','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154114543558657,1945869111411052546,'暑期倒计时阶段,兜底转化','套票可兑换纪念品,增加仪式感','设计完美收官游玩方案','满足美好回忆留存需求','draft',0,'2025-07-21 12:38:12','2025-07-21 12:38:12','topic-20250721-123811-fe642f7d','20','2025-07-28','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947154386690973698,1945869111411052546,'暑假前夕预热,利用家庭套票吸引亲子群体提前规划行程','套票包含午餐,满足家庭一日游需求,性价比高','提供实用游玩攻略,突出家庭友好型设施与套餐优势','针对本地及周边城市家庭短途游需求','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386703556610,1945869111411052546,'暑假首日强化家庭出游场景,刺激即刻消费','套票节省成本,适合高温下清凉避暑需求','直接突出优惠与体验,激发冲动决策','覆盖周末短途游高频搜索关键词','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','2','2025-07-01','天津冒险湾','冒险湾-2大2小套票','极力推荐风','周边游','[3]','[2]','[5]','[5]'),(1947154386711945218,1945869111411052546,'周末出游高峰,强调套票便利性与玩水解暑','全家同乐方案解决出行痛点','分项说明设施亮点与行程规划技巧','匹配周末短途游用户行为特征','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','3','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386720333825,1945869111411052546,'七夕前两周预热,关联情侣带家属出游场景','满足情侣与双方父母共同出游需求','突出浪漫氛围与家庭互动体验','契合情侣策划纪念日活动的需求','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','4','2025-07-07','天津冒险湾','冒险湾-2大2小套票','极力推荐风','情侣向','[3]','[1]','[5]','[5]'),(1947154386728722433,1945869111411052546,'第二个周末延续热度,强化高温避暑刚需','套餐包含餐饮减少行程负担','列举防暑装备与游玩时段建议','应对暑期持续高温的游玩需求','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','5','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386737111042,1945869111411052546,'常规工作日引流,主打错峰出游性价比','平日人少体验更佳,套票价格稳定','对比周末与工作日优缺点','满足灵活假期用户的出行偏好','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','6','2025-07-14','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386741305346,1945869111411052546,'第三个周末聚焦青少年暑期社交需求','儿童设施丰富适合学龄儿童群体','列举适合拍照打卡的网红设施','覆盖学生群体的社交分享需求','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','7','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386753888258,1945869111411052546,'夏季中期强化玩水刚需,关联气象预警','室内室外设施搭配应对极端天气','结合实时天气预报建议游玩路线','应对夏季突发高温或降雨情况','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','8','2025-07-21','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386762276865,1945869111411052546,'七夕前一周深度预热,捆绑情侣家庭双场景','满足情侣约会与家庭聚会双重需求','突出浪漫设施与亲子互动项目','贴合情侣策划仪式感活动的需求','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','9','2025-07-25','天津冒险湾','冒险湾-2大2小套票','极力推荐风','情侣向','[3]','[1]','[5]','[5]'),(1947154386774859778,1945869111411052546,'七夕前最后一个周末冲刺转化','限量套票限时加赠情侣纪念品','制造紧迫感促进立即下单','刺激节日限定消费需求','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','10','2025-07-26','天津冒险湾','冒险湾-2大2小套票','极力推荐风','情侣向','[3]','[1]','[5]','[5]'),(1947154386795831298,1945869111411052546,'七夕当日强化品牌曝光,延续节日热度','当日购票额外赠送情侣合影服务','营造高端浪漫体验氛围','提升品牌格调吸引高净值用户','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','11','2025-07-28','天津冒险湾','冒险湾-2大2小套票','轻奢风','情侣向','[4]','[1]','[5]','[5]'),(1947154386808414209,1945869111411052546,'月末总结性内容,引导暑期收尾游玩','剩余库存清仓促销提醒','汇总本月热门玩法与避坑指南','帮助用户高效完成最后阶段出游计划','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','12','2025-07-30','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386820997121,1945869111411052546,'暑假第二周巩固核心客群认知','套餐支持灵活退改增强安全感','解析不同年龄段孩子的适配项目','满足精细化家庭出游规划需求','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','13','2025-07-03','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386833580033,1945869111411052546,'常规周三内容更新保持账号活跃度','套餐包含专业摄影服务权益','推荐出片率最高的拍摄点位','迎合用户对高质量旅行影像的需求','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','14','2025-07-10','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386841968642,1945869111411052546,'应对夏季暴雨预警的应急方案','室内恒温区域保障游玩体验','提供雨天专属游玩路线建议','解决恶劣天气下的出行顾虑','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','15','2025-07-17','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386850357249,1945869111411052546,'周五预热周末流量高峰','夜间场次延长营业时间','揭秘夜场灯光秀与烟火表演','吸引追求新鲜体验的年轻家庭','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','16','2025-07-20','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386858745858,1945869111411052546,'七夕前两周二次触达潜在客户','情侣可免费升级VIP休息区','强调专属服务带来的仪式感','通过差异化服务提升转化率','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','17','2025-07-22','天津冒险湾','冒险湾-2大2小套票','极力推荐风','情侣向','[3]','[1]','[5]','[5]'),(1947154386867134465,1945869111411052546,'七夕前关键节点强化情感营销','定制漂流瓶许愿活动','营造诗意化的浪漫场景描述','触发情感共鸣促成消费决策','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','18','2025-07-24','天津冒险湾','冒险湾-2大2小套票','轻奢风','情侣向','[4]','[1]','[5]','[5]'),(1947154386875523074,1945869111411052546,'七夕后口碑沉淀期','收集用户真实体验反馈','整理游客评价提炼核心卖点','通过真实案例增强说服力','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','19','2025-07-27','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947154386883911682,1945869111411052546,'月末促销收尾与暑期延展预告','推出续费折扣政策','预告八月新增游乐项目','维持用户长期关注与期待','draft',0,'2025-07-21 12:39:17','2025-07-21 12:39:17','topic-20250721-123916-d499e9aa','20','2025-07-29','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947155143486021634,1945869111411052546,'暑假初期预热,针对家庭用户推出套票优惠信息','满足家庭出游需求,提供便捷的一日游解决方案','通过实用攻略引导家庭用户规划行程,突出套票性价比','契合家长对安全、便利及寓教于乐的需求','draft',0,'2025-07-21 12:42:17','2025-07-21 12:42:17','topic-20250721-124217-27f7d33d','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947155143511187458,1945869111411052546,'暑假第二周周末,强化家庭游乐场景吸引力','结合周末人流高峰,强调套票节省时间和费用的优势','列举必玩项目和避坑指南,增强用户决策信心','满足家长寻找短途周边游的需求','draft',0,'2025-07-21 12:42:17','2025-07-21 12:42:17','topic-20250721-124217-27f7d33d','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947155143519576066,1945869111411052546,'暑期中期,突出高温避暑与亲子互动体验','结合夏季气候特点,强调清凉解暑的游玩价值','分享防暑贴士和园区餐饮推荐,提升实用性','解决家长对孩子夏日健康出行的顾虑','draft',0,'2025-07-21 12:42:17','2025-07-21 12:42:17','topic-20250721-124217-27f7d33d','3','2025-07-10','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947155143561519105,1945869111411052546,'周末流量高峰,聚焦套票限时供应提醒','制造紧迫感促进转化,避免错过优惠时段','用数据对比展示套票比单买更划算','回应家长对性价比的敏感度','draft',0,'2025-07-21 12:42:17','2025-07-21 12:42:17','topic-20250721-124217-27f7d33d','4','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947155143565713410,1945869111411052546,'暑期过半,强调儿童友好设施与安全措施','突出园区针对儿童设计的安全防护体系','详细描述亲子专属区域和服务细节','缓解家长对儿童游玩安全性的担忧','draft',0,'2025-07-21 12:42:17','2025-07-21 12:42:17','topic-20250721-124217-27f7d33d','5','2025-07-17','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947155143574102017,1945869111411052546,'应对高温预警,强化避暑刚需属性','将套票与极端天气下的娱乐需求绑定','结合气象数据推荐最佳游玩时段','解决家长在酷暑中寻找消暑方案的需求','draft',0,'2025-07-21 12:42:17','2025-07-21 12:42:17','topic-20250721-124217-27f7d33d','6','2025-07-20','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947155143582490625,1945869111411052546,'七夕节前预热,拓展情侣带娃场景','满足情侣兼顾约会与育儿双重需求','设计情侣与孩子共同参与的游乐项目组合','覆盖年轻夫妻的家庭出游场景','draft',0,'2025-07-21 12:42:17','2025-07-21 12:42:17','topic-20250721-124217-27f7d33d','7','2025-07-24','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947155143586684929,1945869111411052546,'月末冲刺,整合全月优惠信息汇总','系统性呈现套票的多维度优势','制作图文对照的套票权益清单','帮助家长快速完成决策','draft',0,'2025-07-21 12:42:17','2025-07-21 12:42:17','topic-20250721-124217-27f7d33d','8','2025-07-26','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947155143607656450,1945869111411052546,'暑期倒计时,营造最后机会氛围','刺激犹豫用户立即行动','用倒计时文案增强紧迫感','抓住暑期收尾阶段的出游需求','draft',0,'2025-07-21 12:42:17','2025-07-21 12:42:17','topic-20250721-124217-27f7d33d','9','2025-07-29','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947155143616045057,1945869111411052546,'月末总结,强化品牌口碑传播','通过用户评价建立信任背书','精选真实游客体验案例','利用社交认同影响潜在客户','draft',0,'2025-07-21 12:42:17','2025-07-21 12:42:17','topic-20250721-124217-27f7d33d','10','2025-07-30','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947158673764589569,1945869111411052546,'暑假前夕,提前预热家庭出游需求,吸引家长关注暑期活动','套票包含午餐,适合家庭节省时间和费用','以实用攻略形式呈现,帮助家庭规划行程','满足家长寻找安全有趣的亲子游乐场所的需求','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673806532609,1945869111411052546,'暑假首日,强化家庭出游场景,刺激即时消费决策','套票性价比高,适合全家共享清凉体验','直接突出产品优势,营造紧迫感','满足家长对暑期遛娃目的地的核心需求','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','2','2025-07-01','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947158673810726913,1945869111411052546,'暑假初期延续热度,聚焦高温避暑场景','套票含全天游玩权限,完美匹配避暑需求','通过场景化描述增强代入感','解决家长对夏季孩子户外活动安全性的顾虑','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','3','2025-07-02','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673823309826,1945869111411052546,'周末前预热,引导家庭错峰出行','套票支持灵活预约,避开节假日高峰','提供分时段游玩建议提升实用性','满足上班族周末家庭出游计划需求','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','4','2025-07-03','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673831698433,1945869111411052546,'周末前二次触达,强化周末出游心智','套票含餐饮服务,减少排队时间提升体验','用数据对比凸显产品价值','解决家长对儿童用餐便利性的核心痛点','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','5','2025-07-04','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947158673835892738,1945869111411052546,'第二周周末预热,强调设施安全性','套票覆盖全年龄段设施,保障家庭成员共同参与','通过设备分级说明增强信任感','回应家长对儿童游乐设施安全性的重点关注','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','6','2025-07-10','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673848475650,1945869111411052546,'配合第二周周末流量高峰造势','套票支持多次入园,延长游玩周期','用利益点罗列强化说服力','满足家庭重复体验需求','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','7','2025-07-11','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947158673856864258,1945869111411052546,'第三周周末预热,突出夜间场特色','套票包含夜场开放时段,延长游玩时间','解析夜场独特体验与安全措施','解决家长对夜间游玩可行性的疑虑','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','8','2025-07-17','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673873641473,1945869111411052546,'周末前强化夜场差异化卖点','套票价格低于单次购票,性价比显著','用价格对比图表直观呈现优势','满足预算敏感型家庭需求','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','9','2025-07-18','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947158673882030082,1945869111411052546,'第四周周末预热,强调设施更新','套票涵盖最新开放的水滑道项目','详细介绍新增设施亮点与游玩技巧','吸引追求新鲜体验的家庭游客','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','10','2025-07-24','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673894612994,1945869111411052546,'配合设施升级热点进行营销','套票包含专业摄影服务,记录珍贵瞬间','用情感共鸣打动家长群体','满足家庭留存美好回忆的需求','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','11','2025-07-25','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947158673903001602,1945869111411052546,'首个周末当日回顾,促进二次传播','套票使用后可兑换纪念品,增加互动性','分享真实用户游玩攻略','利用口碑效应扩大影响','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','12','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673936556034,1945869111411052546,'第二个周末现场打卡内容输出','套票支持在线快速预约,避免现场排队','演示便捷购票流程','解决家长对购票效率的担忧','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','13','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673944944642,1945869111411052546,'第三个周末现场实况报道','套票包含免费储物柜使用权','讲解实用游玩细节','消除家长对物品保管的顾虑','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','14','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673949138945,1945869111411052546,'最后一个周末冲刺宣传','套票剩余库存预警制造紧迫感','用倒计时元素刺激行动','抓住最后决策机会','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','15','2025-07-26','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947158673957527554,1945869111411052546,'工作日冷启动,聚焦平日价差优势','套票工作日使用享受额外折扣','对比不同时间段价格差异','吸引弹性时间家庭客群','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','16','2025-07-07','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673961721858,1945869111411052546,'中期复盘总结,强化品牌认知','套票累计销售突破X万组,验证市场认可度','用数据建立可信度','消除新用户决策疑虑','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','17','2025-07-14','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673965916162,1945869111411052546,'应对暑期客流波动,稳定市场需求','套票支持无理由退改,降低决策风险','解析售后服务政策','缓解家长消费顾虑','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','18','2025-07-21','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947158673974304769,1945869111411052546,'月末促销期,清理库存准备旺季','套票月末使用享双倍积分奖励','用叠加福利提升吸引力','刺激临期消费转化','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','19','2025-07-28','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[]','[5]','[5]'),(1947158673982693377,1945869111411052546,'暑期收尾阶段,引导续费意愿','套票可兑换全年会员权益','展望长期游玩价值','培养忠实客户群体','draft',0,'2025-07-21 12:56:19','2025-07-21 12:56:19','topic-20250721-125618-ddee069a','20','2025-07-30','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947171032625258497,1945869111411052546,'暑假初期预热,提前抢占家庭出游市场','套票包含午餐与全天游玩权限,满足家庭便捷出行需求','直击家庭用户痛点,强调套票性价比与便利性','家长关注儿童友好设施与家庭预算控制','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947171032642035713,1945869111411052546,'暑期首周周末引流,强化周末家庭客群转化','套票解决午餐问题,提升家庭游玩体验完整性','通过午餐内容吸引注重用餐便利性的家庭用户','家长重视孩子饮食健康与游玩舒适度','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','2','2025-07-01','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947171032658812929,1945869111411052546,'第二波周末营销,巩固暑期核心客群','套票降低单人成本,契合家庭预算规划','突出游乐设施安全性与亲子互动设计','家长偏好具备教育意义的游乐项目','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','3','2025-07-05','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947171032671395841,1945869111411052546,'持续周末流量收割,刺激套票二次传播','套票包含全天服务,减少家庭决策复杂度','结合夏季消暑场景推荐清凉餐饮组合','家庭对防暑降温措施关注度高','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','4','2025-07-06','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947171032679784449,1945869111411052546,'暑期中期造势,应对客流波动风险','套票规避单买门票+餐饮的额外支出','强调套票限时供应制造紧迫感','家长倾向选择口碑稳定的成熟产品','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','5','2025-07-12','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947171032692367361,1945869111411052546,'周末流量维护,防止客群流失','套票适配三代同游的家庭结构','展示亲子共享美食的温馨场景','家庭重视拍照打卡与回忆留存','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','6','2025-07-13','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947171032700755969,1945869111411052546,'应对高温天气,强化避暑属性营销','套票提供全天候水上游乐解决方案','用数据对比凸显套票价格优势','家长关注防暑降温与安全防护','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','7','2025-07-19','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947171032713338882,1945869111411052546,'周末流量冲刺,激活潜在消费群体','套票支持灵活预约时段选择','结合夏日特饮推出限定餐饮组合','家庭追求多样化餐饮体验','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','8','2025-07-20','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947171032730116098,1945869111411052546,'暑期尾声提醒,清理库存并延长旺季','套票有效期覆盖暑期结束时段','营造限时抢购氛围促进决策','家长把握最后出游机会的心理','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','9','2025-07-26','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947171032738504705,1945869111411052546,'最后一波周末爆发,完成暑期收尾','套票可兑换纪念品增强收藏价值','推出闭园季限定美食告别活动','家庭寻求独特体验留存记忆点','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','10','2025-07-27','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947171032751087618,1945869111411052546,'暑期次日跟进,深化套票认知度','套票支持分时段入场灵活性','对比传统购票方式突出省心优势','家长看重行程规划效率','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','11','2025-07-02','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947171032772059138,1945869111411052546,'工作日冷启动,触达错峰出行家庭','套票价格不受周末溢价影响','推荐工作日专属餐饮折扣','避开人流高峰是家长重要考量','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','12','2025-07-03','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947171032788836353,1945869111411052546,'中考结束后精准投放,吸引毕业生家庭','套票适配青少年与幼儿混合家庭结构','突出毕业季专属福利标签','升学家庭需要放松空间','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','13','2025-07-09','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947171032805613570,1945869111411052546,'配合高温预警,强化避暑刚需属性','套票包含防晒物资租赁服务','推荐冰饮+遮阳伞配套方案','极端天气下安全需求升级','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','14','2025-07-10','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947171032822390786,1945869111411052546,'应对暴雨天气,转移室内项目优势','套票涵盖室内外全区域游玩权限','强调风雨无阻的游玩保障','恶劣天气出游计划调整需求','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','15','2025-07-16','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947171032860139522,1945869111411052546,'配合天文奇观事件,打造特色夜场体验','套票含夜间灯光秀专属通道','推出星空主题晚餐套餐','天文爱好者家庭增长趋势明显','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','16','2025-07-17','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947171032885305345,1945869111411052546,'立秋前最后狂欢,刺激冲动消费','套票赠送秋季开园优先预约权','制造季节转换的情感共鸣','家长珍惜暑期剩余时光心理','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','17','2025-07-23','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947171032893693953,1945869111411052546,'开学季前瞻,绑定返校装备销售','套票积分可兑换文具礼包','推出开学季营养餐食组合','家长一站式采购需求','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','18','2025-07-24','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947171032927248385,1945869111411052546,'应对台风预警,强化应急服务能力','套票支持72小时免费改签','突出应急预案透明化','非常态天气下的安全感需求','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','19','2025-07-25','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947171032944025602,1945869111411052546,'暑期收官日情感营销,创造社交货币','套票持有者可获定制纪念相册','推出毕业季主题告别宴席','家庭需要仪式感收尾','draft',0,'2025-07-21 13:45:26','2025-07-21 13:45:26','topic-20250721-134525-a9b726cc','20','2025-07-28','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947171587464568833,1945869111411052546,'暑假初期预热,利用家庭套票吸引亲子客群','套票包含午餐,解决家庭出行用餐痛点','突出家庭共享清凉时光的优雅氛围','满足家长对安全与趣味兼顾的需求','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947171587489734657,1945869111411052546,'暑假第二周周末,针对学生群体推广平价套票','套票性价比高,适合学生结伴出游','强调园区特色餐饮与玩水搭配的夏日体验','吸引追求新鲜感和社交的学生群体','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','美食风','学生党','[1]','[5]','[5]','[5]'),(1947171587498123266,1945869111411052546,'周末延续热度,强化家庭出游场景','套票节省预算,适合多孩家庭','营造亲子互动的温馨画面感','契合父母记录孩子成长的需求','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','3','2025-07-06','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947171587498123267,1945869111411052546,'七月第二个周末,结合高温天气推广避暑方案','套票含防晒装备租赁服务(假设材料提及)','突出冰饮与水上项目的搭配体验','吸引寻找消暑方式的年轻人','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','4','2025-07-12','天津冒险湾','冒险湾-2大2小套票','美食风','学生党','[1]','[5]','[5]','[5]'),(1947171587498123268,1945869111411052546,'周末持续引流,侧重家庭便利性','套票支持分时段入场,灵活适应家庭行程','强调设施的舒适性和安全性','回应家长对儿童友好的需求','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','5','2025-07-13','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947171587498123269,1945869111411052546,'七月第三个周末,结合夏至后高温节点','套票赠送遮阳伞(假设材料提及)','推荐园区限定冷饮与戏水组合套餐','刺激年轻人打卡分享欲望','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','6','2025-07-19','天津冒险湾','冒险湾-2大2小套票','美食风','学生党','[1]','[5]','[5]','[5]'),(1947171587535872001,1945869111411052546,'周末延续热度,强化家庭专属权益','套票可兑换免费储物柜使用权','描绘全家畅玩的精致画面','满足家庭记录美好瞬间的诉求','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','7','2025-07-20','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947171587569426433,1945869111411052546,'七月最后一个周末,冲刺暑期流量','套票叠加会员积分翻倍活动','聚焦园区夜市小吃与灯光秀联动','吸引夜间经济消费群体','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','8','2025-07-26','天津冒险湾','冒险湾-2大2小套票','美食风','学生党','[1]','[5]','[5]','[5]'),(1947171587577815042,1945869111411052546,'周末收尾阶段,强调套票剩余库存紧迫性','限时加赠漂流袋套装','渲染最后机会的稀缺感','促使犹豫家庭立即决策','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','9','2025-07-27','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947171587590397954,1945869111411052546,'暑假首日,打造开园仪式感','套票持有者可参与开园抽奖','营造盛大开幕的沉浸式体验','吸引追求仪式感的家庭','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','10','2025-07-01','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947171587598786561,1945869111411052546,'暑假次日,补充家庭出行攻略','套票附赠电子导览地图','提供餐饮点位与游乐设施的最佳动线建议','帮助学生规划高效游玩路线','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','11','2025-07-02','天津冒险湾','冒险湾-2大2小套票','美食风','学生党','[1]','[5]','[5]','[5]'),(1947171587749781505,1945869111411052546,'工作日后半段,刺激周末预订','套票支持随时退改','强调灵活计划的重要性','缓解家长行程变动焦虑','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','12','2025-07-07','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947171587758170113,1945869111411052546,'七月第二周中期,预热周末活动','套票可兑换VIP休息区使用权','介绍休息区专属饮品供应','吸引寻求舒适休憩空间的游客','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','13','2025-07-10','天津冒险湾','冒险湾-2大2小套票','美食风','学生党','[1]','[5]','[5]','[5]'),(1947171587766558722,1945869111411052546,'七月半月节点,回顾园区亮点','套票用户可参与周年庆倒计时活动','通过数据呈现最受欢迎项目','增强内容可信度与参考价值','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','14','2025-07-15','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947171587779141634,1945869111411052546,'夏至后高温期,强化避暑卖点','套票含防晒喷雾补给包','推荐防暑降温饮品组合','解决户外活动健康顾虑','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','15','2025-07-21','天津冒险湾','冒险湾-2大2小套票','美食风','学生党','[1]','[5]','[5]','[5]'),(1947171587787530241,1945869111411052546,'配合高温预警,推出应急方案','套票用户优先获得阴凉区域排队权','展现人性化服务细节','提升家长安全感','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','16','2025-07-22','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947171587800113153,1945869111411052546,'月末冲刺阶段,捆绑周边产品','套票+纪念品礼包组合销售','关联园区文创雪糕购买优惠','激发收藏与社交传播动机','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','17','2025-07-28','天津冒险湾','冒险湾-2大2小套票','美食风','学生党','[1]','[5]','[5]','[5]'),(1947171587812696066,1945869111411052546,'月末总结性内容,引导二次消费','套票用户可凭票根兑换下次折扣券','塑造品牌忠诚度与长期价值','培养家庭复购习惯','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','18','2025-07-29','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947171587821084673,1945869111411052546,'周期结束前最后曝光,制造紧迫感','当日购票额外赠送纪念徽章','以倒计时形式强化行动号召','触发即时决策行为','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','19','2025-07-30','天津冒险湾','冒险湾-2大2小套票','美食风','学生党','[1]','[5]','[5]','[5]'),(1947171587829473282,1945869111411052546,'暑假第三天,补充深度玩法指南','套票用户可解锁隐藏游乐路径','通过故事化叙述增强代入感','满足探索欲与独特体验需求','draft',0,'2025-07-21 13:47:38','2025-07-21 13:47:38','topic-20250721-134737-be10f5d5','20','2025-07-03','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947172232179425282,1945869111411052546,'暑假初期,针对家庭出游进行预热宣传,利用周末前的节点吸引家长关注','家庭套票包含午餐,解决家长带娃游玩的用餐痛点','通过详细攻略展示园区设施与套餐优势,增强实用性','满足家长寻找安全、趣味的家庭游乐需求','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232229756930,1945869111411052546,'暑假首日,强调即刻可用的优惠套票,刺激即时决策','套票价格低于单独购票,突出性价比优势','以清单形式列举游玩亮点和套餐福利,提升阅读效率','吸引计划暑期出行的家庭用户','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','2','2025-07-01','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232267505665,1945869111411052546,'暑假首个周末,聚焦亲子避暑场景,强化清凉体验','套票含全天游玩权限,适配家庭整日行程','结合天气预报推荐消暑方案,增加内容时效性','满足家长对儿童户外活动的安全性和趣味性的双重需求','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','3','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232284282882,1945869111411052546,'周末次日延续热度,侧重园区特色设施的沉浸式体验','套票可无限次使用设施,避免单次消费的局限性','通过对比其他水上乐园突出本园独特项目','吸引追求新鲜体验的家庭用户','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','4','2025-07-06','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232292671490,1945869111411052546,'第二周周末,结合高温预警强化避暑刚需','套票包含防晒用品租赁服务(假设材料中存在该信息)','以数据化方式呈现降温措施的有效性','解决家长对烈日下游玩的顾虑','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','5','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232305254402,1945869111411052546,'周末次日,突出夜间场次的灯光秀特色','套票包含夜场专属表演门票','用场景化描写营造视觉盛宴氛围','满足家庭用户延长游玩时间的需求','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','6','2025-07-13','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232313643010,1945869111411052546,'第三周周末,强调套票的灵活性与安全性','套票支持分时段预约,减少排队压力','通过流程图展示高效游玩路线规划','缓解家长对人流密集的担忧','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','7','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232322031617,1945869111411052546,'周末次日,结合毕业季推出学生专属内容','套票可叠加学生证优惠(假设材料允许)','用青春语境包装家庭出游场景','吸引毕业生与家人共同庆祝','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','8','2025-07-20','天津冒险湾','冒险湾-2大2小套票','攻略风文案','学生党','[]','[5]','[5]','[5]'),(1947172232355586050,1945869111411052546,'第四周周末,主打暑期中期持续引流','套票赠送纪念拍照服务','通过用户UGC照片展示真实体验','激发用户分享欲望形成口碑传播','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','9','2025-07-26','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232376557569,1945869111411052546,'周末次日,结合高温预警升级避暑主张','套票包含免费冷饮补给站使用权','用温度对比图表强化卖点','解决极端天气下的游玩痛点','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','10','2025-07-27','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232389140482,1945869111411052546,'暑假首日,强调即刻可用的优惠套票,刺激即时决策','套票价格低于单独购票,突出性价比优势','以清单形式列举游玩亮点和套餐福利,提升阅读效率','吸引计划暑期出行的家庭用户','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','11','2025-07-01','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232397529090,1945869111411052546,'暑假首个周末,聚焦亲子避暑场景,强化清凉体验','套票含全天游玩权限,适配家庭整日行程','结合天气预报推荐消暑方案,增加内容时效性','满足家长对儿童户外活动的安全性和趣味性的双重需求','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','12','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232414306305,1945869111411052546,'第二周周末,结合高温预警强化避暑刚需','套票包含防晒用品租赁服务(假设材料中存在该信息)','以数据化方式呈现降温措施的有效性','解决家长对烈日下游玩的顾虑','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','13','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232426889218,1945869111411052546,'第三周周末,强调套票的灵活性与安全性','套票支持分时段预约,减少排队压力','通过流程图展示高效游玩路线规划','缓解家长对人流密集的担忧','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','14','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232447860737,1945869111411052546,'第四周周末,主打暑期中期持续引流','套票赠送纪念拍照服务','用用户UGC照片展示真实体验','激发用户分享欲望形成口碑传播','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','15','2025-07-26','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232460443649,1945869111411052546,'周末次日延续热度,侧重园区特色设施的沉浸式体验','套票可无限次使用设施,避免单次消费的局限性','通过对比其他水上乐园突出本园独特项目','吸引追求新鲜体验的家庭用户','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','16','2025-07-06','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232468832257,1945869111411052546,'周末次日,突出夜间场次的灯光秀特色','套票包含夜场专属表演门票','用场景化描写营造视觉盛宴氛围','满足家庭用户延长游玩时间的需求','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','17','2025-07-13','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232477220865,1945869111411052546,'周末次日,结合毕业季推出学生专属内容','套票可叠加学生证优惠(假设材料允许)','用青春语境包装家庭出游场景','吸引毕业生与家人共同庆祝','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','18','2025-07-20','天津冒险湾','冒险湾-2大2小套票','攻略风文案','学生党','[]','[5]','[5]','[5]'),(1947172232489803778,1945869111411052546,'周末次日,结合高温预警升级避暑主张','套票包含免费冷饮补给站使用权','用温度对比图表强化卖点','解决极端天气下的游玩痛点','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','19','2025-07-27','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947172232506580994,1945869111411052546,'月末收尾期,整合全月优惠信息促进转化','汇总本月限时福利,提醒未使用的用户尽快兑换','制作倒计时海报增强紧迫感','抓住最后一波暑期流量红利','draft',0,'2025-07-21 13:50:12','2025-07-21 13:50:12','topic-20250721-135011-06a602fc','20','2025-07-30','天津冒险湾','冒险湾-2大2小套票','攻略风文案','亲子向','[]','[]','[5]','[5]'),(1947173070981505026,1945869111411052546,'暑假初期启动家庭出游需求,提前释放套票优惠信息','套票包含午餐,满足家庭一日游核心痛点','通过午餐特色吸引家庭用户,强化性价比优势','直击家长带娃避暑+餐饮便利的核心诉求','draft',0,'2025-07-21 13:53:32','2025-07-21 13:53:32','topic-20250721-135331-6f740ed8','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947173071002476546,1945869111411052546,'首个周末流量高峰,强化家庭娱乐场景传播','套票适配周末短途游高频决策场景','营造清凉舒适的高端玩水体验感','契合家庭追求品质与趣味平衡的需求','draft',0,'2025-07-21 13:53:32','2025-07-21 13:53:32','topic-20250721-135331-6f740ed8','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947173071010865154,1945869111411052546,'暑期中期持续曝光,结合高温预警强化避暑刚需','套票解决高温下全家出行的餐饮与游乐双重需求','通过清凉饮品与特色餐品刺激食欲联想','覆盖城市居民1小时可达的短途避暑需求','draft',0,'2025-07-21 13:53:32','2025-07-21 13:53:32','topic-20250721-135331-6f740ed8','3','2025-07-10','天津冒险湾','冒险湾-2大2小套票','美食风','周边游','[1]','[2]','[5]','[5]'),(1947173071027642369,1945869111411052546,'第二个周末流量节点,侧重年轻家庭客群触达','套票价格低于单独购票组合,凸显性价比','用极简文案传递高端游乐设施体验价值','精准匹配都市白领家庭的精致育儿需求','draft',0,'2025-07-21 13:53:32','2025-07-21 13:53:32','topic-20250721-135331-6f740ed8','4','2025-07-12','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947173071040225281,1945869111411052546,'大暑节气预热期,强化消暑场景营销','套票成为应对极端高温的最佳解决方案','通过诗意化语言营造逃离酷暑的意境','覆盖全年龄段的消暑刚需人群','draft',0,'2025-07-21 13:53:32','2025-07-21 13:53:32','topic-20250721-135331-6f740ed8','5','2025-07-15','天津冒险湾','冒险湾-2大2小套票','轻奢风','周边游','[4]','[2]','[5]','[5]'),(1947173071048613889,1945869111411052546,'大暑前最后一个周末,冲刺家庭客群转化','套票库存预警倒计时提升紧迫感','用冰饮特写画面激发即时出游欲望','抓住家长周末带娃出游的决策窗口期','draft',0,'2025-07-21 13:53:32','2025-07-21 13:53:32','topic-20250721-135331-6f740ed8','6','2025-07-19','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947173071065391105,1945869111411052546,'大暑当日强化场景关联,制造话题热度','套票成为当日最佳消暑社交货币','通过实时温度对比强化游玩必要性','覆盖自发组织的亲友团体出游需求','draft',0,'2025-07-21 13:53:32','2025-07-21 13:53:32','topic-20250721-135331-6f740ed8','7','2025-07-20','天津冒险湾','冒险湾-2大2小套票','美食风','周边游','[1]','[2]','[5]','[5]'),(1947173071073779714,1945869111411052546,'暑期中期复购提醒,挖掘二次消费潜力','套票可叠加使用延长游玩时长','用数据可视化呈现重复游玩的价值','满足深度体验型家庭的进阶需求','draft',0,'2025-07-21 13:53:32','2025-07-21 13:53:32','topic-20250721-135331-6f740ed8','8','2025-07-22','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947173071077974017,1945869111411052546,'大暑后流量延续,承接余温效应','套票作为消暑季限定福利限时供应','用清凉回忆唤起二次传播意愿','覆盖错峰出游的理性消费群体','draft',0,'2025-07-21 13:53:32','2025-07-21 13:53:32','topic-20250721-135331-6f740ed8','9','2025-07-23','天津冒险湾','冒险湾-2大2小套票','美食风','周边游','[1]','[2]','[5]','[5]'),(1947173071094751233,1945869111411052546,'大暑前中期造势,建立品类心智','套票成为夏季家庭娱乐标配方案','通过场景化叙事构建品牌记忆点','渗透教育阶段用户的决策链路','draft',0,'2025-07-21 13:53:32','2025-07-21 13:53:32','topic-20250721-135331-6f740ed8','10','2025-07-16','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947175109027373057,1945869111411052546,'暑假中期,针对即将到来的周末(7/12-13)的家庭出游预热','家庭套票优惠,方便全家出行','提供实用游玩建议和套票使用指南','满足家长带孩子享受夏日清凉的需求','draft',0,'2025-07-21 14:01:37','2025-07-21 14:01:37','topic-20250721-140137-82b51f51','1','2025-07-09','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947175109039955969,1945869111411052546,'临近周末,强调家庭套票的便利性和包含午餐的优势','套餐包含午餐,节省时间,适合家庭','推荐园区内的特色餐饮,结合家庭用餐体验','满足家庭成员共同享受美食的需求','draft',0,'2025-07-21 14:01:37','2025-07-21 14:01:37','topic-20250721-140137-82b51f51','2','2025-07-10','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947175109052538882,1945869111411052546,'暑假中期周末,强化家庭出游的紧迫感','套票性价比高,适合多人同行','详细路线规划和设施推荐','帮助家长高效规划行程','draft',0,'2025-07-21 14:01:37','2025-07-21 14:01:37','topic-20250721-140137-82b51f51','3','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947175109077704706,1945869111411052546,'针对7月19日周末的加热期,提醒家庭游客','套票包含全天游玩权限,适合长时间游玩','分享最佳游玩时段和热门项目攻略','提升家庭出游的满意度','draft',0,'2025-07-21 14:01:37','2025-07-21 14:01:37','topic-20250721-140137-82b51f51','4','2025-07-16','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947175109081899010,1945869111411052546,'暑假中期第二个周末,强调家庭套票的灵活性','适应不同年龄段儿童的需求','介绍适合孩子的健康餐饮选项','关注儿童饮食安全与营养','draft',0,'2025-07-21 14:01:37','2025-07-21 14:01:37','topic-20250721-140137-82b51f51','5','2025-07-19','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947175109090287618,1945869111411052546,'大暑时节,推荐水上乐园作为消暑首选','套票适合应对高温天气,全家降温','结合节气特点,提供防暑建议','解决夏季户外活动的炎热问题','draft',0,'2025-07-21 14:01:37','2025-07-21 14:01:37','topic-20250721-140137-82b51f51','6','2025-07-20','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947175109094481921,1945869111411052546,'针对7月26日周末的加热期,强调最后机会','暑假即将结束,抓紧时间游玩','提醒剩余票量有限,尽快预订','鼓励家庭利用假期尾声出游','draft',0,'2025-07-21 14:01:37','2025-07-21 14:01:37','topic-20250721-140137-82b51f51','7','2025-07-23','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947175109102870529,1945869111411052546,'暑假末期,突出家庭套票的性价比','经济实惠,物超所值','推荐夏季限定饮品和小吃','增加游玩的趣味性和多样性','draft',0,'2025-07-21 14:01:37','2025-07-21 14:01:37','topic-20250721-140137-82b51f51','8','2025-07-24','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947175109107064834,1945869111411052546,'暑假末期周末,最后一波促销提醒','套票限时优惠,错过不再','快速指南,帮助家庭高效游玩','确保家庭充分利用最后的假期','draft',0,'2025-07-21 14:01:37','2025-07-21 14:01:37','topic-20250721-140137-82b51f51','9','2025-07-26','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947175109111259138,1945869111411052546,'暑假结束前的总结,回顾冒险湾的精彩体验','回忆美好时光,期待下次再来','分享游客真实反馈和亮点回顾','增强品牌忠诚度和口碑传播','draft',0,'2025-07-21 14:01:37','2025-07-21 14:01:37','topic-20250721-140137-82b51f51','10','2025-07-27','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947176208492863489,1945869111411052546,'暑假初期预热,针对家庭出游需求推出套票优惠','套票包含午餐与全天游玩权限,满足家庭一站式游玩需求','通过实用攻略形式展示家庭游玩路线与套餐优势','套票适合中小型团队定制化行程,提升家庭凝聚力','draft',0,'2025-07-21 14:06:00','2025-07-21 14:06:00','topic-20250721-140559-03b723d3','1','2025-07-02','天津冒险湾','冒险湾-2大2小套票','攻略风','团建向','[2]','[4]','[5]','[5]'),(1947176208513835009,1945869111411052546,'周末出游高峰,强化家庭套票的性价比与便利性','套票节省单独购票成本,适合周末短途出行','分时段推荐游乐设施与餐饮点位,优化游玩体验','满足家庭及小型团体对安全与服务的一站式需求','draft',0,'2025-07-21 14:06:00','2025-07-21 14:06:00','topic-20250721-140559-03b723d3','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','团建向','[2]','[4]','[5]','[5]'),(1947176208518029313,1945869111411052546,'暑期中期推广,结合高温天气宣传清凉避暑场景','套票含午餐避免烈日暴晒,适合高温环境下游玩','突出园区特色餐饮与套票配套午餐的丰富选择','满足家庭成员多样化饮食需求,增强满意度','draft',0,'2025-07-21 14:06:00','2025-07-21 14:06:00','topic-20250721-140559-03b723d3','3','2025-07-12','天津冒险湾','冒险湾-2大2小套票','美食风','团建向','[1]','[4]','[5]','[5]'),(1947176208526417922,1945869111411052546,'大暑节气前预热,强调消暑解热的游玩价值','套票适用全年龄段,适应不同体能的家庭成员','提供防暑装备建议与园区阴凉区域指南','吸引户外爱好者转向室内水上乐园避暑','draft',0,'2025-07-21 14:06:00','2025-07-21 14:06:00','topic-20250721-140559-03b723d3','4','2025-07-16','天津冒险湾','冒险湾-2大2小套票','攻略风','户外党','[2]','[8]','[5]','[5]'),(1947176208530612225,1945869111411052546,'周末叠加暑期热度,强化套票的社交互动属性','多人套票促进家庭成员共同参与刺激项目','设计亲子挑战任务与拍照打卡点推荐','通过团队协作项目增强家庭成员默契度','draft',0,'2025-07-21 14:06:00','2025-07-21 14:06:00','topic-20250721-140559-03b723d3','5','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风','团建向','[2]','[4]','[5]','[5]'),(1947176208539000833,1945869111411052546,'大暑当日直击高温痛点,主打清凉解暑主题','套票价格稳定无溢价,应对暑期旺季需求','结合冰饮特惠与戏水后恢复体力的餐饮搭配','为户外运动爱好者提供极端天气下的替代方案','draft',0,'2025-07-21 14:06:00','2025-07-21 14:06:00','topic-20250721-140559-03b723d3','6','2025-07-23','天津冒险湾','冒险湾-2大2小套票','美食风','户外党','[1]','[8]','[5]','[5]'),(1947176208543195138,1945869111411052546,'月末周末冲刺,聚焦家庭出游的性价比与便捷性','套票支持灵活预约,避开工作日人流高峰','对比周边景点,突出水上乐园的独特体验','满足企业员工福利或家庭日活动需求','draft',0,'2025-07-21 14:06:00','2025-07-21 14:06:00','topic-20250721-140559-03b723d3','7','2025-07-26','天津冒险湾','冒险湾-2大2小套票','攻略风','团建向','[2]','[4]','[5]','[5]'),(1947176208551583746,1945869111411052546,'暑期中期延续热度,强调套票的长期适用性','套票有效期覆盖整个暑期,灵活规划出行','推荐园区限定夏日特调饮品与清凉菜品','配合企业暑期家庭关怀政策进行定向推广','draft',0,'2025-07-21 14:06:00','2025-07-21 14:06:00','topic-20250721-140559-03b723d3','8','2025-07-29','天津冒险湾','冒险湾-2大2小套票','美食风','团建向','[1]','[4]','[5]','[5]'),(1947176208555778050,1945869111411052546,'补充周末内容,侧重套票的儿童友好设计','儿童专属设施与监护人陪同权益保障','列举适合不同年龄儿童的游乐项目清单','解决家长带娃出游的安全与趣味平衡问题','draft',0,'2025-07-21 14:06:00','2025-07-21 14:06:00','topic-20250721-140559-03b723d3','9','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','团建向','[2]','[4]','[5]','[5]'),(1947176208559972353,1945869111411052546,'二次覆盖周末流量,突出套票的社交传播价值','鼓励用户分享游玩体验并兑换免费增值服务','结合网红打卡餐品打造家庭出片场景','吸引摄影爱好者拍摄创意水上主题作品','draft',0,'2025-07-21 14:06:00','2025-07-21 14:06:00','topic-20250721-140559-03b723d3','10','2025-07-19','天津冒险湾','冒险湾-2大2小套票','美食风','户外党','[1]','[8]','[5]','[5]'),(1947177867621113857,1945869111411052546,'暑假前夕预热,提前锁定家庭客群,强调套票性价比与便利性','家庭套票包含午餐,满足亲子出游一站式需求,降低决策成本','以实用攻略形式呈现游玩路线和套票优势,增强可信度和参考价值','精准匹配家长对安全、便利、寓教于乐的需求,突出儿童友好设施','draft',0,'2025-07-21 14:12:35','2025-07-21 14:12:35','topic-20250721-141235-de94a5fa','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947177867629502466,1945869111411052546,'暑假第二周强化曝光,配合周末出游高峰,引导错峰出行','套票覆盖全天设施使用,适合周末短途游家庭灵活安排行程','分时段推荐游乐项目,结合天气特点(夏季高温)建议游玩节奏','满足家长对防暑措施的关注,强调园区阴凉区与餐饮配套','draft',0,'2025-07-21 14:12:35','2025-07-21 14:12:35','topic-20250721-141235-de94a5fa','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947177867642085377,1945869111411052546,'应对七月上旬客流高峰,突出套票稀缺性与限时优惠','限量发售刺激消费决策,搭配周边游热门搜索词提升曝光','对比单次购票成本,用数据化表达凸显套票经济性','契合家长对性价比敏感的特点,强化家庭共享体验卖点','draft',0,'2025-07-21 14:12:35','2025-07-21 14:12:35','topic-20250721-141235-de94a5fa','3','2025-07-10','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947177867646279682,1945869111411052546,'暑期中期持续引流,结合周末效应巩固市场认知','套票可预约时段可视化,解决周末抢票难痛点','提供避拥挤时段建议,附带拍照打卡点攻略增强实用性','贴合家长记录孩子成长瞬间的需求,推荐亲子互动设施','draft',0,'2025-07-21 14:12:35','2025-07-21 14:12:35','topic-20250721-141235-de94a5fa','4','2025-07-15','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947177867650473985,1945869111411052546,'月末冲刺阶段,制造紧迫感促进转化','剩余库存预警+暑期结束倒计时双重刺激,推动即时决策','用清单式排版呈现必玩项目,简化家长行程规划难度','呼应家长希望抓住暑期尾巴的心理,强调最后机会概念','draft',0,'2025-07-21 14:12:35','2025-07-21 14:12:35','topic-20250721-141235-de94a5fa','5','2025-07-18','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120357289986,1945869111411052546,'暑假初期启动预热,结合家庭套票优势吸引亲子群体','套票包含午餐,满足家庭一日游需求','提供实用游玩攻略,突出家庭友好设施','满足家长带娃避暑需求,强调儿童安全与娱乐','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','1','2025-07-03','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120365678593,1945869111411052546,'首个周末前发布,引导周末客流','套票性价比高,适合短途周边游','分时段游玩建议+餐饮指南','解决周末遛娃痛点,提供完整行程方案','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120369872897,1945869111411052546,'周末次日延续热度,强化套票价值','套票含午餐节省时间成本','爆破式标题吸引眼球,突出家庭专属福利','强调儿童友好设施与安全保障','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','3','2025-07-06','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947178120374067202,1945869111411052546,'大暑节气预热,强化避暑场景','套票适合高温天气消暑需求','结合节气推荐清凉玩法','契合家长对防暑降温的关注','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','4','2025-07-10','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120411815938,1945869111411052546,'第二波周末前冲刺转化','套票支持灵活预约时段','紧迫感文案催促行动','解决周末出行决策延迟问题','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','5','2025-07-12','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947178120416010241,1945869111411052546,'周末后复盘引流','套票可搭配周边住宿','分享深度体验路线','满足二次消费场景需求','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','6','2025-07-13','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120420204546,1945869111411052546,'第三波周末前精准投放','套票适用不同年龄段儿童','分龄游玩项目推荐','覆盖3-12岁客群核心需求','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','7','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120424398850,1945869111411052546,'周末后巩固流量','套票支持在线快速购票','简化决策流程话术','降低购买决策门槛','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','8','2025-07-20','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947178120432787457,1945869111411052546,'大暑当日强化主题营销','套票匹配极端高温需求','打造「全时段玩水」解决方案','解决酷暑出行安全顾虑','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','9','2025-07-23','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120436981761,1945869111411052546,'月末收尾阶段持续曝光','套票贯穿整个暑期档期','暑期游玩全周期规划','建立长期品牌认知','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','10','2025-07-26','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120441176065,1945869111411052546,'周中补充内容密度','套票适合临时起意出行','工作日错峰游玩指南','满足弹性休假家庭需求','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','11','2025-07-07','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120466341890,1945869111411052546,'月中常规维护热度','套票配套服务完善','设施维护与卫生标准说明','消除家长安全疑虑','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','12','2025-07-15','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120470536194,1945869111411052546,'周末前补充细节内容','套票包含专业救生团队','安全防护措施详解','强化家长信任度建设','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','13','2025-07-17','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178120474730498,1945869111411052546,'大暑前最后冲刺','套票支持退改政策','风险规避型文案设计','缓解购买决策焦虑','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','14','2025-07-22','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947178120478924801,1945869111411052546,'大暑后延续热度','套票适配多种家庭结构','三代同游场景化描述','覆盖多代家庭出游需求','draft',0,'2025-07-21 14:13:35','2025-07-21 14:13:35','topic-20250721-141335-5b1c1ad5','15','2025-07-24','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178659837059073,1945869111411052546,'暑假初期预热,吸引家庭用户关注暑期特惠','家庭套票满足亲子出游需求,提供全天游玩权限及午餐','突出家庭友好设施与暑期特惠信息,引导用户规划行程','家长关注儿童友好设施与性价比家庭套餐','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','1','2025-07-03','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178659862224898,1945869111411052546,'周末出游高峰,强化家庭客群吸引力','套票包含午餐节省时间,适合家庭高效游玩','列举必玩项目与避暑技巧,增强实用性','周末家庭出游高峰,需便捷省心方案','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178659870613505,1945869111411052546,'延续周末热度,补充安全与便利性信息','套票含保险与餐饮,降低家长顾虑','强调安全措施与亲子互动项目','家长重视游玩安全性与教育价值','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','3','2025-07-06','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178659883196417,1945869111411052546,'小暑节气宣传,突出避暑属性','水上项目缓解高温,套票性价比高','结合节气推荐消暑玩法,附装备清单','夏季家庭急需清凉解暑方案','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','4','2025-07-07','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178659891585025,1945869111411052546,'工作日预热周末,吸引职场人短途放松','套票可灵活组合,适合朋友结伴或亲子同行','简明列出核心卖点,激发即时决策','白领周末逃离城市需求旺盛','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','5','2025-07-10','天津冒险湾','冒险湾-2大2小套票','极力推荐风','职场人','[3]','[6]','[5]','[5]'),(1947178659899973633,1945869111411052546,'次周末家庭出游高峰,强化套票优势','全天游玩免排队,节省时间成本','对比普通门票,突出套票超值福利','家庭追求一站式度假体验','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','6','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178659912556545,1945869111411052546,'周末收尾期,刺激未决策用户行动','限时优惠倒计时,营造紧迫感','用数据对比凸显价格优势','家长对价格敏感度较高','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','7','2025-07-13','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947178659920945154,1945869111411052546,'白色情人节关联情侣市场,拓展客群','情侣可携带家属共同参与,扩大适用场景','突出浪漫出片场景与情侣专属服务','年轻情侣寻求新奇约会方式','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','8','2025-07-14','天津冒险湾','冒险湾-2大2小套票','极力推荐风','职场人','[3]','[6]','[5]','[5]'),(1947178659933528066,1945869111411052546,'工作日淡季引流,主打错峰优惠','平日人少体验更佳,套票折扣力度大','分析不同时间段游玩优劣势','避开周末拥堵成为家长诉求','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','9','2025-07-15','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178659941916674,1945869111411052546,'第三次周末高峰,聚焦特色项目','套票解锁全部刺激设施,适合青少年挑战','按年龄分层推荐游玩路线','青少年家庭偏好探险类项目','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','10','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178659962888193,1945869111411052546,'周末收尾叠加高温预警,催促决策','套票赠送防晒礼包,应对极端天气','用图标对比展示附加价值','都市人群急需快速消暑方案','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','11','2025-07-20','天津冒险湾','冒险湾-2大2小套票','极力推荐风','职场人','[3]','[6]','[5]','[5]'),(1947178659975471106,1945869111411052546,'大暑前最后冲刺,强化避暑刚需','套票含专业救生设备,保障安全','发布高温应急预案与急救指南','家长重视极端天气安全保障','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','12','2025-07-22','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178659983859714,1945869111411052546,'大暑当日,打造清凉打卡热点','套票赠送冷饮券,提升体验舒适度','用温度对比图强化紧迫感','极端高温下家庭出游需求激增','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','13','2025-07-23','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947178659996442625,1945869111411052546,'月末周末收尾,推出返场优惠','剩余名额有限,支持随时退改','汇总本月热门玩法TOP3','月末集中处理暑期出游计划','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','14','2025-07-26','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947178660004831234,1945869111411052546,'双主题叠加,吸引职场人跨圈层消费','套票可拆分使用,适配多人拼团','用职场人真实评价增强可信度','社交型消费推动团队出游','draft',0,'2025-07-21 14:15:44','2025-07-21 14:15:44','topic-20250721-141543-2b66700d','15','2025-07-26','天津冒险湾','冒险湾-2大2小套票','极力推荐风','职场人','[3]','[6]','[5]','[5]'),(1947180858394746882,1945869111411052546,'暑假初期启动家庭出游预热,结合套票优惠吸引亲子家庭','套票包含午餐满足家庭用餐需求,提升性价比吸引力','通过午餐特色菜品推荐强化套票价值感','直击家庭用户暑期避暑与亲子互动的核心需求','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','1','2025-07-01','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947180858436689922,1945869111411052546,'首个周末出游高峰,强化家庭友好型游乐设施体验','套票覆盖全天游玩时长,适配周末家庭行程安排','突出游乐设施设计美感与服务品质','满足家长对安全性和趣味性的双重考量','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947180858445078530,1945869111411052546,'应对高温天气,强调水上项目降温功能','套票包含防暑物资租赁权益(需景区实际提供)','推荐解暑特调饮品与冰品组合','契合儿童夏季饮食偏好','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','3','2025-07-12','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947180858449272833,1945869111411052546,'暑期中期造势,聚焦青少年专属游乐区','套票附赠青少年摄影服务(需景区实际提供)','展现青少年玩乐场景的活力美学','满足父母记录孩子成长瞬间的需求','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','4','2025-07-19','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947180858453467138,1945869111411052546,'大暑当日强化清凉概念,绑定传统节气文化','套票赠送节气限定饮品(需景区实际提供)','结合节气养生理念推荐特色餐品','传递健康出游理念','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','5','2025-07-23','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947180858457661442,1945869111411052546,'周末次日延续热度,侧重交通便利性宣传','套票含周边停车场免费停车券(需景区实际提供)','通过便捷停车+美食组合降低出行顾虑','解决家庭自驾出游痛点','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','6','2025-07-06','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947180858466050050,1945869111411052546,'次周末强化套票性价比优势','对比单人购票成本差额可视化呈现','用数据图表直观展示家庭出游经济性','触达注重预算的家庭用户','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','7','2025-07-13','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947180858470244353,1945869111411052546,'暑期中期节点,突出夜间游乐项目','套票包含夜间灯光秀观演位(需景区实际提供)','营造昼夜双模式的沉浸式体验氛围','延长游玩时间创造记忆点','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','8','2025-07-20','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947180858474438658,1945869111411052546,'月末冲刺期,捆绑毕业季学生优惠','套票附加学生专属拍照道具使用权(需景区实际提供)','结合毕业季主题推出纪念款甜品','满足毕业生家庭出游需求','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','9','2025-07-26','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947180858478632961,1945869111411052546,'工作日预热周末流量,主打错峰出游优势','套票早鸟价限时优惠(需景区实际提供)','用时间轴图示展示各时段人流分布','帮助家庭规划最优游玩时段','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','10','2025-07-07','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947180858482827266,1945869111411052546,'中考结束后学生客流高峰预判','套票含学习用品兑换积分(需景区实际提供)','设计知识问答赢取零食礼包互动环节','寓教于乐满足家长教育诉求','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','11','2025-07-10','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947180858487021569,1945869111411052546,'中旬节点强化套票组合优势','套票可叠加使用多日(需景区实际政策)','用分镜式图文展示多日玩法差异','满足深度体验需求','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','12','2025-07-15','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947180858491215873,1945869111411052546,'应对极端高温预警,强化避暑属性','套票赠送防晒装备租赁(需景区实际提供)','推荐电解质饮料搭配方案','保障户外活动健康安全','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','13','2025-07-17','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947180858499604481,1945869111411052546,'防汛预警期突出室内项目稳定性','套票涵盖风雨无阻项目清单(需景区实际提供)','用实景照片展示雨天游玩场景','消除天气因素带来的决策顾虑','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','14','2025-07-21','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[]','[5]','[5]'),(1947180858503798786,1945869111411052546,'大暑后延续清凉主题,侧重晚间纳凉体验','套票含夜间星空观测活动参与资格(需景区实际提供)','推荐夜宵小吃与饮品搭配指南','打造完整的夏日夜游记忆','draft',0,'2025-07-21 14:24:28','2025-07-21 14:24:28','topic-20250721-142428-10121729','15','2025-07-24','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[]','[5]','[5]'),(1947182369128521730,1945869111411052546,'暑假初期预热,针对家庭用户推出套票优惠,提前锁定客流','家庭套票包含午餐,满足亲子游一站式需求,提升性价比吸引力','通过实用攻略形式展示游玩路线和套票优势,增强可信度和实用性','满足家长对安全、便利及寓教于乐的需求,突出家庭友好设施','draft',0,'2025-07-21 14:30:28','2025-07-21 14:30:28','topic-20250721-143028-76093b19','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947182369141104642,1945869111411052546,'暑期第二周周末高峰,强化家庭出游场景营销','套票节省单独购票成本,契合家庭预算规划需求','分时段推荐游乐项目,帮助家庭高效规划行程','聚焦儿童友好设施与安全提示,缓解家长顾虑','draft',0,'2025-07-21 14:30:28','2025-07-21 14:30:28','topic-20250721-143028-76093b19','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947182369157881858,1945869111411052546,'应对夏季高温,突出水上乐园避暑属性','套票包含全天游玩权限,最大化消暑体验价值','结合气象预警提示防晒装备,增强攻略实用性','强调亲子互动设施与防滑安全措施,保障游玩体验','draft',0,'2025-07-21 14:30:28','2025-07-21 14:30:28','topic-20250721-143028-76093b19','3','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947182369166270466,1945869111411052546,'暑期中期节点,刺激二次消费与口碑传播','套票可搭配餐饮套餐,延长停留时间提升消费转化','分享隐藏玩法与拍照打卡点,激发UGC内容生产','推荐适合不同年龄段儿童的游乐区划分,满足多样化需求','draft',0,'2025-07-21 14:30:28','2025-07-21 14:30:28','topic-20250721-143028-76093b19','4','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947182369178853377,1945869111411052546,'暑期末段冲刺,清理剩余库存并引导错峰出行','限时优惠叠加周边酒店联动,创造紧迫感促成决策','对比工作日与周末人流差异,指导错峰出游策略','突出暑期末尾避开高峰的优势,降低家长出行压力','draft',0,'2025-07-21 14:30:28','2025-07-21 14:30:28','topic-20250721-143028-76093b19','5','2025-07-23','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947192197792079874,1945869111411052546,'暑假首日启动家庭游预热,利用套票吸引亲子群体','家庭套票满足多成员游玩需求,午餐包含提升性价比','通过实用攻略形式展示园区设施与游玩技巧','契合家长带娃避暑及寓教于乐的需求','draft',0,'2025-07-21 15:09:32','2025-07-21 15:09:32','topic-20250721-150931-0c1a5a9c','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947192197800468481,1945869111411052546,'首个周末强化短途游场景,突出套票对周边家庭的吸引力','打包套餐降低决策成本,适配周末自驾出行特点','以轻旅行视角呈现露营+水乐园组合玩法','匹配本地及邻近城市用户短途出游偏好','draft',0,'2025-07-21 15:09:32','2025-07-21 15:09:32','topic-20250721-150931-0c1a5a9c','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947192197808857090,1945869111411052546,'应对持续高温天气,强调避暑刚需与套票限时优惠','多人同行更划算,缓解暑期亲子消费压力','用数据对比展示不同购票方案的性价比差异','解决家长对儿童安全与娱乐体验的双重顾虑','draft',0,'2025-07-21 15:09:32','2025-07-21 15:09:32','topic-20250721-150931-0c1a5a9c','3','2025-07-10','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[]','[5]','[5]'),(1947192197813051393,1945869111411052546,'次周末聚焦学生群体,关联毕业季写真拍摄需求','套票可灵活拆分使用,满足学生团体拍照打卡需求','结合网红出片点推荐与园区光影效果时段指南','贴合毕业生寻找特色取景地的社交传播诉求','draft',0,'2025-07-21 15:09:32','2025-07-21 15:09:32','topic-20250721-150931-0c1a5a9c','4','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','学生党','[2]','[5]','[5]','[5]'),(1947192197817245698,1945869111411052546,'月中节点进行口碑沉淀,引导二次传播','通过用户评价反哺产品可信度,促进转化','采用真实游客行程复盘增强内容可信度','满足高频搜索「周末去哪」用户的即时决策需求','draft',0,'2025-07-21 15:09:32','2025-07-21 15:09:32','topic-20250721-150931-0c1a5a9c','5','2025-07-15','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947201426695331842,1945869111411052546,'暑假初期周末,针对家庭客群进行套票促销预热','家庭套票满足亲子游需求,包含午餐提升性价比','直击家庭用户痛点,突出游乐设施安全性与套餐实用性','契合家长寻找安全且寓教于乐的暑期玩水目的地需求','draft',0,'2025-07-21 15:46:12','2025-07-21 15:46:12','topic-20250721-154612-76532b08','1','2025-07-05','天津冒险湾','冒险湾-2大2小套票','极力推荐风','亲子向','[3]','[7]','[5]','[5]'),(1947201426703720449,1945869111411052546,'暑期第二周周末,结合高温天气强化避暑场景营销','套票包含餐饮服务,解决家庭游客用餐痛点','通过园区特色餐饮推荐增强内容吸引力','吸引1小时交通圈内的短途自驾家庭游客','draft',0,'2025-07-21 15:46:12','2025-07-21 15:46:12','topic-20250721-154612-76532b08','2','2025-07-12','天津冒险湾','冒险湾-2大2小套票','美食风','周边游','[1]','[2]','[5]','[5]'),(1947201426707914753,1945869111411052546,'暑期中期节点,强化园区设施差异化优势','套票价格低于单独购票总和,凸显性价比','用诗意语言塑造高端亲子游乐体验形象','满足中产家庭对品质化亲子空间的需求','draft',0,'2025-07-21 15:46:12','2025-07-21 15:46:12','topic-20250721-154612-76532b08','3','2025-07-19','天津冒险湾','冒险湾-2大2小套票','轻奢风','亲子向','[4]','[7]','[5]','[5]'),(1947201426712109058,1945869111411052546,'暑期后期冲刺阶段,刺激未出游家庭决策','套票包含全天游玩权限,适配周末短途计划','用紧迫感话术促进临期消费转化','覆盖城市居民周末休闲娱乐需求','draft',0,'2025-07-21 15:46:12','2025-07-21 15:46:12','topic-20250721-154612-76532b08','4','2025-07-26','天津冒险湾','冒险湾-2大2小套票','极力推荐风','周边游','[3]','[2]','[5]','[5]'),(1947201426728886273,1945869111411052546,'月末收尾阶段,关联暑期结束情感营销','套票作为暑期最后狂欢的解决方案','通过夏日限定饮品营造仪式感体验','满足家长为孩子打造完美暑期回忆的需求','draft',0,'2025-07-21 15:46:12','2025-07-21 15:46:12','topic-20250721-154612-76532b08','5','2025-07-30','天津冒险湾','冒险湾-2大2小套票','美食风','亲子向','[1]','[7]','[5]','[5]'),(1947202667114602498,1945869111411052546,'暑假初期启动预热,针对家庭用户推出套票优惠','家庭套票包含午餐,满足亲子游一站式需求','通过详细攻略展示园区设施与套票优势,增强可信度','契合家长对儿童友好型设施和性价比套餐的需求','draft',0,'2025-07-21 15:51:08','2025-07-21 15:51:08','topic-20250721-155107-fb463c9c','1','2025-07-02','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947202667131379713,1945869111411052546,'周末前3天搜索量激增,强化短途周边游吸引力','套票节省单独购票成本,适配家庭自驾出行场景','分项列举游玩亮点与必备清单,解决出行痛点','满足本地及周边城市用户1小时可达的短途游需求','draft',0,'2025-07-21 15:51:08','2025-07-21 15:51:08','topic-20250721-155107-fb463c9c','2','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947202667152351233,1945869111411052546,'暑期第二周持续曝光,聚焦学生党特种兵旅行需求','套票价格低于单买总和,适合学生团体拼团出行','爆破式标题突出性价比,强化限时优惠紧迫感','匹配学生群体追求新鲜刺激与低价的心理特征','draft',0,'2025-07-21 15:51:08','2025-07-21 15:51:08','topic-20250721-155107-fb463c9c','3','2025-07-09','天津冒险湾','冒险湾-2大2小套票','极力推荐风','学生党','[3]','[5]','[5]','[5]'),(1947202667160739841,1945869111411052546,'周末前重点推送,结合高温天气强化避暑需求','全天畅玩设计适合家庭消耗夏日热情','加入防晒/防暑装备指南提升实用性','回应家长对孩子户外活动安全性的核心关切','draft',0,'2025-07-21 15:51:08','2025-07-21 15:51:08','topic-20250721-155107-fb463c9c','4','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947202667173322753,1945869111411052546,'暑期中期流量高峰,制造稀缺性促进转化','限量套票库存预警倒逼决策','用数据对比凸显套票价值,激发即时购买欲','覆盖周末前最后决策窗口期的用户群体','draft',0,'2025-07-21 15:51:08','2025-07-21 15:51:08','topic-20250721-155107-fb463c9c','5','2025-07-16','天津冒险湾','冒险湾-2大2小套票','极力推荐风','周边游','[3]','[2]','[5]','[5]'),(1947203853423157249,1945869111411052546,'暑假初期,针对家庭出游进行预热宣传,利用套票优惠吸引亲子群体','家庭套票包含午餐,满足亲子游性价比与便利性需求','通过实用攻略形式展示游玩路线和套票优势,增强可信度','契合家长对安全、便利及寓教于乐的需求','draft',0,'2025-07-21 15:55:51','2025-07-21 15:55:51','topic-20250721-155550-e5682814','1','2025-07-01','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947203853435740161,1945869111411052546,'暑期第二周,结合高温天气推荐避暑方案,强化水上乐园清凉属性','套票包含全天游玩权限,适合家庭全天避暑娱乐','以亲身体验视角分享避暑技巧和设施亮点,提升场景感','满足家长寻找防暑降温亲子活动的需求','draft',0,'2025-07-21 15:55:51','2025-07-21 15:55:51','topic-20250721-155550-e5682814','2','2025-07-10','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947203853444128769,1945869111411052546,'大暑节气临近,突出水上乐园消暑功能,引导家庭错峰出行','套票含午餐减少排队压力,适合烈日下快速补充能量','结合节气特点分析游玩注意事项,增强实用性','解决家长对高温出行安全性的顾虑','draft',0,'2025-07-21 15:55:51','2025-07-21 15:55:51','topic-20250721-155550-e5682814','3','2025-07-15','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947203853456711682,1945869111411052546,'暑期中期周末,聚焦家庭摄影打卡点,激发分享传播欲望','套票适用全年龄段,便于记录全家欢乐瞬间','列举园区热门出片点并搭配穿搭建议,提升内容价值','贴合家长记录孩子成长的需求','draft',0,'2025-07-21 15:55:51','2025-07-21 15:55:51','topic-20250721-155550-e5682814','4','2025-07-20','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947203853469294594,1945869111411052546,'暑期下半段冲刺期,提醒家长抓住假期尾声机会','套票限时优惠倒计时,刺激近期消费决策','采用紧迫感话术配合游玩清单,推动行动转化','缓解家长对假期结束前未能出游的焦虑','draft',0,'2025-07-21 15:55:51','2025-07-21 15:55:51','topic-20250721-155550-e5682814','5','2025-07-25','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947253154849431554,1945869111411052546,'暑假初期,提前预热家庭出游需求,利用套票性价比优势吸引家长群体','家庭套票包含午餐,满足亲子游对便利性和性价比的需求','通过实用攻略形式展示园区亮点和游玩技巧,增强可信度','针对家长关注的安全性、儿童友好设施及家庭预算痛点','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','1','2025-06-30','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947253154866208770,1945869111411052546,'暑假正式开启,强调清凉避暑场景,吸引周边城市家庭游客','套票包含全天游玩权限,适合家庭全天沉浸式体验','以亲身体验视角分享园区特色项目和避坑指南','突出亲子互动设施和安全防护措施,满足带娃需求','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','2','2025-07-01','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947253154882985985,1945869111411052546,'周末前3天攻略高峰,引导周边自驾游用户决策','套票含餐饮减少行程规划压力,适合短途自驾游家庭','分时段推荐游玩路线,提升周末出行效率','吸引京津冀地区用户,强调1小时可达的便利性','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','3','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947253154895568897,1945869111411052546,'周末当天强化游玩氛围,刺激即时消费转化','套票可提前预约,避免现场排队购票耗时','用场景化描述营造清凉解暑的沉浸感','聚焦儿童游乐设施安全性与趣味性','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','4','2025-07-06','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947253154916540417,1945869111411052546,'应对高温预警,突出水上乐园消暑刚需属性','套票包含防晒物资租赁服务(假设材料允许)','结合气象数据推荐防暑装备清单','满足都市人群逃离高温的迫切需求','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','5','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947253154941706241,1945869111411052546,'周末前预热,强调家庭套票限时优惠','套票比单购节省成本,适合多孩家庭','对比不同购票方式的价格差异','突出儿童专属福利和亲子摄影打卡点','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','6','2025-07-13','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947253154954289154,1945869111411052546,'中旬持续曝光,巩固市场认知','套票支持灵活改期,适应家庭假期变动','解析园区各区域人流规律,建议错峰游玩','满足上班族周末短途游需求','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','7','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947253154966872066,1945869111411052546,'周末强化体验感,刺激冲动消费','套票包含急救包租赁(假设材料允许)','用第一人称叙述真实游玩感受','强调母婴室、救生员配置等安全细节','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','8','2025-07-20','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947253154975260674,1945869111411052546,'七夕节前蓄热,拓展情侣客群','套票可拆分使用,满足多人组合出行','设计情侣+朋友混合出行方案','吸引年轻群体社交型出游需求','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','9','2025-07-24','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947253154987843585,1945869111411052546,'月末周末冲刺,清理暑期库存','套票剩余名额有限制造紧迫感','倒计时提醒和限时优惠机制','抓住暑期最后出游机会','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','10','2025-07-26','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947253154996232194,1945869111411052546,'周末延续热度,保障流量承接','套票支持电子票扫码入园提升效率','演示快速入园流程和停车指引','解决外地游客交通痛点','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','11','2025-07-27','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947253155008815105,1945869111411052546,'叠加周末热点,二次触达潜在用户','套票可搭配周边酒店形成度假套餐','推荐「住宿+门票」组合方案','满足过夜深度游玩需求','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','12','2025-07-05','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947253155021398017,1945869111411052546,'应对极端高温,强化避暑刚需','套票包含免费储物柜使用权','列举园区遮阳设施分布图','解决烈日下户外活动痛点','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','13','2025-07-12','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947253155033980929,1945869111411052546,'中旬二次曝光,覆盖犹豫型用户','套票支持无理由退改政策','解析退款流程消除购买顾虑','降低家庭出游决策风险','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','14','2025-07-19','天津冒险湾','冒险湾-2大2小套票','攻略风','亲子向','[2]','[7]','[5]','[5]'),(1947253155042369538,1945869111411052546,'月末收尾,引导错峰出游','套票适用于8月开学前最后出游窗口期','推荐工作日低峰期游玩优势','满足职场人群灵活休假需求','draft',0,'2025-07-21 19:11:45','2025-07-21 19:11:45','topic-20250721-191144-fcd11a01','15','2025-07-30','天津冒险湾','冒险湾-2大2小套票','攻略风','周边游','[2]','[2]','[5]','[5]'),(1947605919228440578,1945869111411052546,'暑假初期启动预热,针对学生群体推出暑期特惠攻略','无特定产品关联,侧重景区基础游览体验','通过实用攻略形式满足学生党对平价景点的需求','契合学生暑假出游高峰及预算有限的特点','draft',0,'2025-07-22 18:33:31','2025-07-22 18:33:31','topic-20250722-183330-95e6e70d','1','2025-07-04','吴山广场景区','None','攻略风','学生党','[2]','[5]','[1947582289782190082]','[]'),(1947605919241023490,1945869111411052546,'周末流量高峰时段强化推荐,突出城市中心广场的便利性','无附加产品,聚焦核心景观与周边配套资源','用简洁有力的推荐形式吸引周末短途游人群','匹配学生周末周边游高频次需求特征','draft',0,'2025-07-22 18:33:31','2025-07-22 18:33:31','topic-20250722-183330-95e6e70d','2','2025-07-12','吴山广场景区','None','极力推荐风','学生党','[3]','[5]','[1947582289782190082]','[]'),(1947605919249412098,1945869111411052546,'夏季高温期推广夜间纳凉场景,激活晚间客流','利用现有灯光设施打造夜游亮点','以实用指南形式解析避暑游玩方案','满足年轻人追求新鲜体验的社交需求','draft',0,'2025-07-22 18:33:31','2025-07-22 18:33:31','topic-20250722-183330-95e6e70d','3','2025-07-19','吴山广场景区','None','攻略风','学生党','[2]','[5]','[1947582289782190082]','[]'),(1947605919261995010,1945869111411052546,'立秋前最后一波夏季主题活动预热','结合节气开展民俗文化展示活动','融入传统节气元素增强内容文化属性','通过文化体验提升景点吸引力','draft',0,'2025-07-22 18:33:31','2025-07-22 18:33:31','topic-20250722-183330-95e6e70d','4','2025-07-23','吴山广场景区','None','攻略风','学生党','[2]','[5]','[1947582289782190082]','[]'),(1947605919266189313,1945869111411052546,'月末总结性推荐,引导暑期收尾阶段客流','整合全月优惠信息形成最终促销推动力','用紧迫感文案促进即刻行动转化','抓住学生暑期剩余时间的出游意愿','draft',0,'2025-07-22 18:33:31','2025-07-22 18:33:31','topic-20250722-183330-95e6e70d','5','2025-07-26','吴山广场景区','None','极力推荐风','学生党','[3]','[5]','[1947582289782190082]','[]'); +/*!40000 ALTER TABLE `topic` ENABLE KEYS */; + +-- +-- Table structure for table `user` +-- + +DROP TABLE IF EXISTS `user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `user` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `userAccount` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', + `userPassword` varchar(512) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', + `userName` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户昵称', + `userAvatar` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户头像', + `userEmail` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户邮箱', + `userProfile` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户简介', + `userRole` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'user' COMMENT '用户角色:user/admin', + `editTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '编辑时间', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `lastLogin` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后登录时间', + `isDelete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', + `companyName` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '公司名称', + `contactPerson` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '对接人', + `userPhone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '联系电话', + `inviteCode` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '邀请码', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_userAccount` (`userAccount`), + UNIQUE KEY `userEmail` (`userEmail`), + KEY `idx_user_name` (`userName`) +) ENGINE=InnoDB AUTO_INCREMENT=1947488112234979330 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `user` +-- + +/*!40000 ALTER TABLE `user` DISABLE KEYS */; +INSERT INTO `user` VALUES (1,'admin','e10adc3949ba59abbe56e057f20f883e','管理员','https://example.com/avatar1.jpg','admin@example.com','系统管理员','admin','2025-07-11 10:51:15','2025-07-11 10:51:15','2025-07-11 10:51:15','2025-07-11 10:51:15',0,NULL,NULL,NULL,NULL),(2,'user1','e10adc3949ba59abbe56e057f20f883e','张三','https://example.com/avatar2.jpg','zhangsan@example.com','旅游内容创作者','user','2025-07-11 10:51:15','2025-07-11 10:51:15','2025-07-11 10:51:15','2025-07-11 10:51:15',0,NULL,NULL,NULL,NULL),(3,'user2','e10adc3949ba59abbe56e057f20f883e','李四','https://example.com/avatar3.jpg','lisi@example.com','资深旅游策划','user','2025-07-11 10:51:15','2025-07-11 10:51:15','2025-07-11 10:51:15','2025-07-11 10:51:15',0,NULL,NULL,NULL,NULL),(1945869111411052546,'zwy111','7b442b30a971aa09ea6ffb1f99be6502','测试用户',NULL,NULL,NULL,'user','2025-07-17 23:32:03','2025-07-17 23:32:03','2025-07-23 00:16:14','2025-07-23 00:16:14',0,NULL,NULL,NULL,NULL),(1945869111411052547,'zwy555','7b442b30a971aa09ea6ffb1f99be6502','茶几管理员',NULL,NULL,NULL,'admin','2025-07-17 23:32:32','2025-07-17 23:32:32','2025-07-22 13:58:18','2025-07-22 13:58:18',0,NULL,NULL,NULL,NULL),(1946221054662795266,'testuser001','98f4f78b9b383b28cc9999f160a0258e',NULL,NULL,NULL,NULL,'user','2025-07-18 22:50:33','2025-07-18 22:50:33','2025-07-18 22:57:04','2025-07-18 22:57:04',0,NULL,NULL,NULL,NULL),(1946402347027509249,'','74b0c4d60a9edd76c561a57c447c20d3','星星星测试对象111','','111','','user','2025-07-19 10:50:56','2025-07-19 10:50:57','2025-07-19 11:37:07','2025-07-19 10:50:56',0,NULL,NULL,NULL,NULL),(1947488112234979329,'test','74b0c4d60a9edd76c561a57c447c20d3','新测试对象','','','鉴权测试','admin','2025-07-22 10:45:23','2025-07-22 10:45:23','2025-07-22 10:45:23','2025-07-22 10:45:23',0,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `user` ENABLE KEYS */; + +-- +-- Table structure for table `userapilimit` +-- + +DROP TABLE IF EXISTS `userapilimit`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `userapilimit` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `userId` bigint NOT NULL COMMENT '用户ID', + `topicCount` int NOT NULL DEFAULT '0' COMMENT '选题已使用次数', + `contentCount` int NOT NULL DEFAULT '0' COMMENT '内容生成已使用次数', + `documentCount` int NOT NULL DEFAULT '0' COMMENT '文档解析已使用次数', + `posterCount` int NOT NULL DEFAULT '0' COMMENT '海报生成已使用次数', + `weekStartTime` datetime NOT NULL COMMENT '当前周期开始时间', + `weekEndTime` datetime NOT NULL COMMENT '当前周期结束时间', + `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `isDelete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', + PRIMARY KEY (`id`), + UNIQUE KEY `idx_userId` (`userId`,`isDelete`), + KEY `idx_weekEndTime` (`weekEndTime`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户接口使用限制表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `userapilimit` +-- + +/*!40000 ALTER TABLE `userapilimit` DISABLE KEYS */; +/*!40000 ALTER TABLE `userapilimit` ENABLE KEYS */; + +-- +-- Dumping routines for database 'travel_content' +-- +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2025-07-23 10:24:04 diff --git a/tweet/__pycache__/__init__.cpython-312.pyc b/tweet/__pycache__/__init__.cpython-312.pyc index 5d0e44ae1ba42d7a5d164295364865311ad172c8..22bbc0f56723a9bee8d71306b63527c2185fb1bc 100644 GIT binary patch delta 119 zcmey%xR#0cG%qg~0}$~3sLhx(k#}lbjEhxFN@7W3OhHk8R%&udJecF?8K0Y2l%1KE z9$#EpT#}j_Q&3rwk)Ib2RTUFblvtLUv(QE`9(2 delta 71 zcmZ3>^p}zMG%qg~0}!}X=Vx?J ZQl6Sxq8}fhnU`4-AFo$Xd214*E&xPn82tbM diff --git a/tweet/__pycache__/content_generator.cpython-312.pyc b/tweet/__pycache__/content_generator.cpython-312.pyc index f25325917b91f38ba139cfd788a3856109ca69fd..a42465acaac332a602c9d18bfa01be102261d881 100644 GIT binary patch delta 197 zcmbPlbJB+QG%qg~0}$~3sLlAbk@pF6P^ybnOiE%&VoX6%epYI7Nj#Y2=oz1zSd^Wa zmmXhSSzMBu8&gnOl98Vm4^#=c824O!kI1?q=PpXO6f3eel6g`!5F#OLQ)pL OQZHu4Uz7L9CIbM^;7hOo delta 168 zcmX?UGv9{yG%qg~0}x0YDagp($oqs@$yC26Kfgpjq$sg0HODzWuOv0E#JMOnu_V7p zzoa}hwM2ijGmA49WB2BEJ|9MzE4q$Xq=PT&IxY-Z5V(TzK;XgH8ICgwXS!U_b=>@h szk-uHhKYgU1;dX9h7S^xC-O;7?vVUNNS6-d=Ht?GOpLcCKa))c02CNNH2?qr diff --git a/tweet/__pycache__/content_judger.cpython-312.pyc b/tweet/__pycache__/content_judger.cpython-312.pyc index e61319dbff9794324dc5cc30171afdddefd8abbb..afff4e88c9e90013dd0efbe6fef63036c3f1a368 100644 GIT binary patch delta 197 zcmezExzvmAG%qg~0}$~3sLilc*~oX1B`C?oDkdedBr&F-C_gJTxg;LUarBJOO)SdJ z%uA0it}HG|&5bFjEXl~vi-)R;2`Ne}OU-f4&nrpID{(GLO)SYTiYX~iO)ZJp%*gtR zhtX~G8^KeIl9zQIuS*9n3|SDkg7HA$!Pps&GYV(AT#yc)yjEe!<}#73T#T&U0# SQMq}o!YgLRUz2C3Bm)2*s!rqWv=KtUXc#IsOz{eWI^Bx#sh%|V`n(dD4gkXLDzBf hf8j`O#&??|wTBH)h6LlMksR0|0{}Jj?(9 diff --git a/tweet/__pycache__/topic_generator.cpython-312.pyc b/tweet/__pycache__/topic_generator.cpython-312.pyc index 3eb9d6dcb7fecba09acbac7b616f4565efc43068..6a7c58dc972f721ebee3222025d813fe601fbf14 100644 GIT binary patch delta 196 zcmX?U{@I-OG%qg~0}$~3sLeRNk++#8DA~m-CMB^XF{Yp>KPxr4Bp%Fh^o-9bDulxAYQHF>IZ9005LIX(aY diff --git a/tweet/__pycache__/topic_parser.cpython-312.pyc b/tweet/__pycache__/topic_parser.cpython-312.pyc index 3cb181c584c8717cfbf056c4181e1f8ec59aaffa..a0282a7b76569135048e4bf7f34ee8aa6be3c696 100644 GIT binary patch delta 145 zcmdlY@>+!VG%qg~0}$~3sLhzRk=LI+D8a=lCMB^XF{Yp>KPxr4Bp%Fh^o-9ynvbaG%qg~0}!;;=V!=mM^&o9xRT*xRQtY2D^nNzGEAD@|*SrQ+w MS5SFt@(e}`0M_vl?f?J) diff --git a/utils/__pycache__/file_io.cpython-312.pyc b/utils/__pycache__/file_io.cpython-312.pyc index 7e098a17339cdd5bc1e7a61fd16e20c1e2f453f7..a51689ddc0414d2a99d4a4c099ae913fc5b663af 100644 GIT binary patch delta 390 zcmcZ`x-N|GG%qg~0}$~3sLfa{w~^1DB`Dg(DkdedBr&F-C_gJTxg;LUarBJOO)SdJ z%uA0it}HG|&5bFjEXl~vi-)R;2`Ne}OU-f4&nrpID{(GLO)SYTiYYD0%qfnUoX=v% z*gkn3i;dD1LGup`jJygv3~z`_OfQ>QHo4+EGm!rsB=`wLY-VOHWM%v{xs+=c+h@}8Ia{bg+C=NH=h&R%*40`W{M@$6h)xR1O%tEPh_9L zenmh5foO>bnQr=6G<1|XRKCm%} cseWSMW)+=$T_b`SNN+aMlxGC`F-WT$05AiDQvd(} delta 292 zcmZ1%b~lvoG%qg~0}!OemtaLM1|f^r0 z0pkYN9f?;39Kgm+-X|u;1~m2p(9C;cZfoO>bnQr;cb7bmaMC}I7~#vrCTSwk}d=sMNS O&6@IzK&LO(>IMK)OJpek diff --git a/utils/__pycache__/image_processor.cpython-312.pyc b/utils/__pycache__/image_processor.cpython-312.pyc index ae811b123fe644cf931a7737e1ff01bbccc621cc..9f5ef1186a2a2e3ed5604a22751408e66df4974f 100644 GIT binary patch delta 373 zcmcZ=zdM2NG%qg~0}$~3sLd$U-N<*1EhyQ=DkdedBr&F-C_gJTxg;LUarBJOO)SdJ z%uA0it}HG|&5bFjEXl~vi-)R;2`Ne}OU-f4&nrpID{(GLO)SYTiYYD0%qfnU%*O5^ zeFA7p1H%UiVNS6-f}#_$7N}enRR6%h$Lqj2Ihnme0L1tX=6(W`o1d`nXJ`Dic?o|6 ztIT*>O-x+|!ClIlDwrCL#_&+gl z^2$zN`M|^>D0@dzZobq^sRb^VB{e@Vu!w3;_EXa01kyh~umV+0ZdBUNepycc69bFj zWGm$iW)?yH$xD@OI4;W>e_~(*a-JxMhyv*k0t_P39e&><8G(8~f(+X1ty03q*f#lq hmI}vZX~Rzp;y~k`YvnQn>CNHVDlCk@CfDf40RXDgbe#YI delta 276 zcmdm;a4VkgG%qg~0}vcuQjwvmvytx_o0749QGR}jen?SbS!#}ReqKpxUWs#2YGO%# zk$!1OW=^sGWHWXT(cM5@4GbS7ggM3T2#QX~TA*@8P<`@D_6kl0A&u*T>X!u7H!E`N zXJ@>%`5}JzJ6QyQ&fpmn5)+6b7C|bnBIB9Z-lD6n<{s}A}m^cJw z??}qcmzpWHz~zdh=Hz)wTAU10T0cIpGDvDnzNoaF>6+Z+e&q~i26=6q?q=FsJy^DKUbtk`df>4)30oo$t$Wp#Z=Hv8e!uhkp3ly{zu(6#@aioP zeh>(f5M~KtGlLCHYr?NQ+*)V0^*acMZQMO}-PuRjj}uFyeZ=7&a*YnyCq0vdbHq08 zAqK}r?WZbRyW4TYIb1t7N;pS}TDQ|djJa)7gll-xMkXa>aX<^i67}k!Kp#N>s_>~o zY3cK(`zBa=$Yt_F_A<(D7-paH=RGbas5ED1crOa2qBe7W|puxSW z*N%6tH?FOrRf}JPlTfSz;0Uf~sL+s98AVX^3V>fSx`ec$CaA$_CC=c*70@hEBr#_! zB48C{k0i{^R{Z4}x_u4`Z~Kf}{kZiLe(eSD8@kC}xdm`)0eqQ}a{?E#@NLD_0=m2< zXy~S~?qIq-oRuF%xS~!l*AS9rFUc3>%Wb}r1vxD%k02azCxA6dy^#%0(jQz_97$tg zksRcF#=Ysg(+d~rRE*+dhk}1Xa#1TDt=3e#8De?(+1{uWM=$ZE9b$DC1MZ2>1vK{&Agg>u?>^H^%GXwTw{e`ef z|BK7b5r$;SkVHQ3dEi;Dd)Bzp=t~de7Du^=NE~6yREh#_7TeIURCj>rP%9uMCIjHn zMfE{=sbmce=NY32M`i`^cZo5V4Swt;_46 ty85Vr!9dsGbKuvyNE%<|@chR1Al$c`$@LCX(s4%a+siqO$@#r2e*mp5E-e56 delta 761 zcmaKqUr1AN6vyvxcczo>(%c_!+ue4za9hT`xwSc+Ij1e^MR2oFG;`L{;m}-LL^CJ~ ztd}x>L6aVwAhDo_jT@*BQ9W2mMfbY-r&VAm{h_Ft4~kD+GNh-@!-4PNa6Wv`Ig`)8 zt0^FUiDCH&AM8}P>)w&1I3v`S(!t)|5ZxH`p7RCjdV4~?o={!T=MD7+>2Sy&I7>5? zIVu5g!RA~FpT(#IxlkmzW4&dCwlx$H)AJZLgHg==Tq_1La8Ys@%ZREveLcSOXM)ui z>@ca^4Tq#km4fGfLDnxJtj^8RwQ=%^_qqS6f2w=T$xCKhN&@f$ev^@T?}~|QhqHn_ zSV%}9C3lF@bZtuKo+I2aB3I@kDi2uCVhFBcM&*mBR=qWtZsY9r2`}sR%)47Scgw8% z_(Q;#n3%!|1bP6!%QPrI9d0L@$+W#bMYpAlZE4AgB~|I*p#@w$q8L`hJc;tCB8}VO z5J4G{T~#b@UqKP|-fR(%%xaJV+0DrHNc2Ezhmp-Qu3?)k%qr0*1lyobtCOdtmWjgm z3iU|Ea7C=)Zq?vHep50lq>b903xp|gYTTdnbAeE*Cd_B}!H5glK!}4swPoA*K2~aB z3_7P!kpXlV43zG45rXPO_a{GfiC& j0I!)E&zL|sV{S~r*7iz9d(4{uM=`DKb^-s4(T>sI;(-*m