Files
aitsc/src/flask_prompt_master/routes/__pycache__/auth.cpython-312.pyc

43 lines
9.5 KiB
Plaintext
Raw Normal View History

2025-08-29 00:34:40 +08:00
<EFBFBD>
t<><74>h<EFBFBD><00><00><><00>dZddlmZmZmZmZmZmZmZddl m
2025-08-29 00:34:40 +08:00
Z
ddl m Z ede <0A>Zd<06>Zej!ddg<01> <09>d
2025-08-29 20:32:52 +08:00
<EFBFBD><00>Zej!d dg<01> <09>d <0C><00>Zej!d dg<01> <09>ed<0E><00><00>Zej!ddg<01> <09>d<11><00>Zej!ddg<01> <09>d<13><00>Zej!ddg<01> <09>d<15><00>Zej!ddg<01> <09>ed<17><00><00>Zej!ddg<01> <09>ed<19><00><00>Zej!ddg<01> <09>ed<1B><00><00>Zej!ddg<01> <09>d<1D><00>Zej!ddg<01> <09>ed<1F><00><00>Zy )!u
2025-08-29 00:34:40 +08:00
用户认证路由
<EFBFBD>)<07> Blueprint<6E>request<73>jsonify<66>render_template<74>session<6F>redirect<63>url_for)<01> AuthService<63><01>wraps<70>authc<00>.<00><00>t<00><00><00>fd<01><08>}|S)u登录验证装饰器c<00>D<00><01>dtvrtddd<04><02>dfS<00>|i|<01><01>S)N<>user_idFu 请先登录<E799BB><02>success<73>messagei<65>)rr)<03>args<67>kwargs<67>fs <20><></home/renjianbo/aitsc/src/flask_prompt_master/routes/auth.py<70>decorated_functionz*login_required.<locals>.decorated_function s0<00><><00> <14>G<EFBFBD> #<23><1A>u<EFBFBD><1E>H<>I<>3<EFBFBD>N<> N<><10>$<24>!<21>&<26>!<21>!<21>r )rrs` r<00>login_requiredr s!<00><><00>
2025-08-29 00:34:40 +08:00
<EFBFBD>1<EFBFBD>X<EFBFBD>"<22><0E>"<22> <1E>rz /register<65>GET)<01>methodsc<00><00>td<01>S)u 注册页面zauth/register.html<6D>r<00>rr<00> register_pager s<00><00> <1B>/<2F> 0<>0rz/loginc<00><00>td<01>S)u 登录页面zauth/login.htmlrrrr<00>
login_pager"s<00><00> <1B>,<2C> -<2D>-rz/profilec<00><00>td<01>S)u个人资料页面zauth/profile.htmlrrrr<00> profile_pager$s<00><00> <1B>.<2E> /<2F>/rz /api/register<65>POSTc<00><><00>tj<00>}|jdd<02>j<00>}|jdd<02>j<00>}|jdd<02>j<00>}|jd<05>r |jdd<02>j<00>nd}|jd<07>r |jdd<02>j<00>nd}|jdd <09>}|r|r|st d
d d <0C><02>St j ||||||<06>}|d r|dtd<|dtd<t |<07>S)u用户注册API<50>
login_name<EFBFBD><00> login_pwd<77>nickname<6D>emailN<6C>mobile<6C>sexrFu请填写必填字段rrr)r<00>get_json<6F>get<65>striprr
<00>registerr)<08>datar'r)r*r+r,r-<00>results rr1r1$s<00><00> <13> <1B> <1B> <1D>D<EFBFBD><15><18><18>,<2C><02>+<2B>1<>1<>3<>J<EFBFBD><14><08><08><1B>b<EFBFBD>)<29>/<2F>/<2F>1<>I<EFBFBD><13>x<EFBFBD>x<EFBFBD>
<EFBFBD>B<EFBFBD>'<27>-<2D>-<2D>/<2F>H<EFBFBD>-1<>X<EFBFBD>X<EFBFBD>g<EFBFBD>-><3E>D<EFBFBD>H<EFBFBD>H<EFBFBD>W<EFBFBD>b<EFBFBD> !<21> '<27> '<27> )<29>D<EFBFBD>E<EFBFBD>/3<>x<EFBFBD>x<EFBFBD><08>/A<>T<EFBFBD>X<EFBFBD>X<EFBFBD>h<EFBFBD><02> #<23> )<29> )<29> +<2B>t<EFBFBD>F<EFBFBD>
<0E>(<28>(<28>5<EFBFBD>!<21>
<1C>C<EFBFBD> <16>Y<EFBFBD>h<EFBFBD><16>5<EFBFBD>5L<35>M<>N<>N<> <18> !<21> !<21>*<2A>i<EFBFBD><18>5<EFBFBD>&<26>RU<52> V<>F<EFBFBD> <0A>i<EFBFBD><18>#<23>I<EFBFBD>.<2E><07> <09><1A>$<24>Z<EFBFBD>0<><07>
<EFBFBD><1B> <12>6<EFBFBD>?<3F>rz
/api/loginc<00>l<00>tj<00>}|jdd<02>j<00>}|jdd<02>j<00>}|r|st ddd<06><02>St j ||<02>}|dr)|d}|d td
<|d td <|dtd<t |<03>S) u用户登录APIr'r(r)Fu请填写用户名和密码rr<00>user<65>uidrr*)rr.r/r0rr
<00>loginr)r2r'r)r3r5s rr7r7=s<><00><00> <13> <1B> <1B> <1D>D<EFBFBD><15><18><18>,<2C><02>+<2B>1<>1<>3<>J<EFBFBD><14><08><08><1B>b<EFBFBD>)<29>/<2F>/<2F>1<>I<EFBFBD> <15>Y<EFBFBD><16>5<EFBFBD>5R<35>S<>T<>T<> <18> <1E> <1E>z<EFBFBD>9<EFBFBD> 5<>F<EFBFBD> <0A>i<EFBFBD><18><15>f<EFBFBD>~<7E><04>!<21>%<25>[<5B><07> <09><1A>"<22>:<3A>.<2E><07>
2025-08-29 20:32:52 +08:00
<EFBFBD><1B> $<24>\<5C> 2<><07> <0C><1D> <12>6<EFBFBD>?<3F>rz /api/logoutc<00>F<00>tj<00>tddd<03><02>S)u用户登出APITu 登出成功r)r<00>clearrrrr<00>logoutr:Ss<00><00> <0C>M<EFBFBD>M<EFBFBD>O<EFBFBD> <12>t<EFBFBD><0E>?<3F> @<40>@rz /api/profilec<00><><00>td}tj|<00>}|drtd|dd<05><02>St|<01>S)u获取个人资料APIrrTr5<00>rr2)rr
<00>get_user_by_idr)rr3s r<00> get_profiler>YsN<00><00><16>i<EFBFBD> <20>G<EFBFBD> <18> '<27> '<27><07> 0<>F<EFBFBD> <0A>i<EFBFBD><18><16><1B><1A>6<EFBFBD>N<EFBFBD>
<EFBFBD> <0B> <0B> <13>6<EFBFBD>?<3F>r<00>PUTc<00><><00>td}tj<00>}|jd<02>r |jdd<03>j <00>nd}|jd<05>r |jdd<03>j <00>nd}|jd<06>r |jdd<03>j <00>nd}|jd<07>}t j |||||<05>}|dr |r |td<t|<06>S) u更新个人资料APIrr*r(Nr+r,r-r)rrr.r/r0r
<00>update_profiler)rr2r*r+r,r-r3s rrArAfs<><00><00><16>i<EFBFBD> <20>G<EFBFBD> <12> <1B> <1B> <1D>D<EFBFBD>37<33>8<EFBFBD>8<EFBFBD>J<EFBFBD>3G<33>t<EFBFBD>x<EFBFBD>x<EFBFBD>
2025-08-29 00:34:40 +08:00
<EFBFBD>B<EFBFBD>'<27>-<2D>-<2D>/<2F>T<EFBFBD>H<EFBFBD>-1<>X<EFBFBD>X<EFBFBD>g<EFBFBD>-><3E>D<EFBFBD>H<EFBFBD>H<EFBFBD>W<EFBFBD>b<EFBFBD> !<21> '<27> '<27> )<29>D<EFBFBD>E<EFBFBD>/3<>x<EFBFBD>x<EFBFBD><08>/A<>T<EFBFBD>X<EFBFBD>X<EFBFBD>h<EFBFBD><02> #<23> )<29> )<29> +<2B>t<EFBFBD>F<EFBFBD>
<0E>(<28>(<28>5<EFBFBD>/<2F>C<EFBFBD> <18> '<27> '<27><07><18>5<EFBFBD>&<26>#<23> N<>F<EFBFBD> <0A>i<EFBFBD><18>X<EFBFBD>&<26><07>
<EFBFBD><1B> <12>6<EFBFBD>?<3F>rz/api/change-passwordc<00>$<00>td}tj<00>}|jdd<03>j <00>}|jdd<03>j <00>}|r|st ddd<07><02>St j|||<03>}t |<04>S)u修改密码APIr<00> old_passwordr(<00> new_passwordFu请填写原密码和新密码r)rrr.r/r0rr
2025-08-29 20:32:52 +08:00
<00>change_password)rr2rCrDr3s rrErEys<><00><00><16>i<EFBFBD> <20>G<EFBFBD> <12> <1B> <1B> <1D>D<EFBFBD><17>8<EFBFBD>8<EFBFBD>N<EFBFBD>B<EFBFBD>/<2F>5<>5<>7<>L<EFBFBD><17>8<EFBFBD>8<EFBFBD>N<EFBFBD>B<EFBFBD>/<2F>5<>5<>7<>L<EFBFBD> <17>|<7C><16>5<EFBFBD>5U<35>V<>W<>W<> <18> (<28> (<28><17>,<2C> <0C> M<>F<EFBFBD> <12>6<EFBFBD>?<3F>rz/api/check-loginc <00><><00>dtvr@tddtdtjd<03>tjd<04>d<05>d<06><03>Stddd<08><02>S) u检查登录状态APIrTr*r')rr*r')r<00> logged_inr5F)rrG)rrr/rrr<00> check_loginrH<00>sc<00><00><11>G<EFBFBD><1B><16><1B><1D>"<22>9<EFBFBD>-<2D>#<23>K<EFBFBD>K<EFBFBD>
2025-08-29 00:34:40 +08:00
<EFBFBD>3<>%<25>k<EFBFBD>k<EFBFBD>,<2C>7<><0E>
<EFBFBD> <0B> <0B><17><1B><1E>
2025-08-29 20:32:52 +08:00
<EFBFBD> <0B> rz/api/profile/statsc<00><><00>td} ddlm}ddlm}ddlm}|jj|<00><06>j<00>}|jjt|<00><00><06>j<00>}ddlm }|jj|<00>}d}|r<|jr0ddlm} | j<00>|jz
j d z}|jj|<00><06>j#|j$j'<00><00>j)d
<EFBFBD>j+<00>}
g} |
D]r} | j-d t/| j0<00>d kDr| j0d d dzn | j0| j$r| j$j3d<0F>ndd<11><03><00>tt5d|||| d<13>d<14><02>S#t6$r$} t5ddt| <0A><00><00>d<17><02>cYd } ~ Sd } ~ wwxYw)u获取用户使用统计APIrr)<01>Prompt)<01>Favorite)<01>func)r)<01>User)<01>datetime<6D><00>u生成提示词<E7A4BA>Nz...z%Y-%m-%d %H:%M:%Sr()<03>type<70>content<6E>timeT)<04> total_prompts<74>total_favorites<65> days_active<76>recent_activitiesr<Fu获取统计信息失败: r)r<00>%src.flask_prompt_master.models.modelsrJ<00>(src.flask_prompt_master.models.favoritesrK<00>
sqlalchemyrL<00>query<72> filter_by<62>count<6E>strrMr/<00> created_timerN<00>now<6F>days<79>order_by<62>
created_at<EFBFBD>desc<73>limit<69>all<6C>append<6E>len<65>
input_text<EFBFBD>strftimer<00> Exception)rrJrKrLrUrVrMr5rWrN<00>recent_promptsrX<00>prompt<70>es r<00>get_profile_statsrp<00>s<><00><00><16>i<EFBFBD> <20>G<EFBFBD>. <0B>@<40>E<>#<23><1F> <0C> <0C>.<2E>.<2E>w<EFBFBD>.<2E>?<3F>E<>E<>G<> <0A>#<23>.<2E>.<2E>2<>2<>3<EFBFBD>w<EFBFBD><<3C>2<>H<>N<>N<>P<><0F> ?<3F><13>z<EFBFBD>z<EFBFBD>~<7E>~<7E>g<EFBFBD>&<26><04><17> <0B> <0F>D<EFBFBD>%<25>%<25> )<29>#<23><<3C><<3C>><3E>D<EFBFBD>,=<3D>,=<3D>=<3D>C<>C<>a<EFBFBD>G<>K<EFBFBD> <20><1C><1C>/<2F>/<2F><07>/<2F>@<40> <15>X<EFBFBD>f<EFBFBD>'<27>'<27>,<2C>,<2C>.<2E> /<2F> <12>U<EFBFBD>1<EFBFBD>X<EFBFBD>c<EFBFBD>c<EFBFBD>e<EFBFBD> <17><1F><19>$<24>F<EFBFBD> <1D> $<24> $<24>)<29>=@<40><16>AR<41>AR<41>=S<>VX<56>=X<>6<EFBFBD>,<2C>,<2C>S<EFBFBD>b<EFBFBD>1<>E<EFBFBD>9<>^d<>^o<>^o<>KQ<4B>K\<5C>K\<5C><06>)<29>)<29>2<>2<>3F<33>G<>bd<62>&<0E> <0F>%<25><17><1B>!.<2E>#2<>*<2A>%6<> <0E>
<EFBFBD> <0B> <0B><> <15> <0B><16><1C>3<>C<EFBFBD><01>F<EFBFBD>8<EFBFBD><<3C>
<EFBFBD> <0B> <0B><> <0B>s<00>F;G<00> G4<03>G/<03>)G4<03>/G4N)<1C>__doc__<5F>flaskrrrrrrr <00>-src.flask_prompt_master.services.auth_servicer
<00> functoolsr <00>__name__<5F>auth_bpr<00>router r"r$r1r7r:r>rArErHrprrr<00><module>rxs<><00><01><04>[<01>Z<>Z<>E<><1B>
2025-08-29 00:34:40 +08:00
<13>F<EFBFBD>H<EFBFBD>
%<25><07><1E> <09><1D><1D>{<7B>U<EFBFBD>G<EFBFBD><1D>,<2C>1<>-<2D>1<> <09><1D><1D>x<EFBFBD>%<25><17><1D>)<29>.<2E>*<2A>.<2E> <09><1D><1D>z<EFBFBD>E<EFBFBD>7<EFBFBD><1D>+<2B><0F>0<><10>,<2C>0<> <09><1D><1D><EFBFBD><16><08><1D>1<><1B>2<><1B>0 <09><1D><1D>|<7C>f<EFBFBD>X<EFBFBD><1D>.<2E><1B>/<2F><1B>* <09><1D><1D>}<7D>v<EFBFBD>h<EFBFBD><1D>/<2F>A<01>0<>A<01>
2025-08-29 20:32:52 +08:00
 <09><1D><1D>~<7E><05>w<EFBFBD><1D>/<2F><0F> <1B><10>0<> <1B> <09><1D><1D>~<7E><05>w<EFBFBD><1D>/<2F><0F><1B><10>0<><1B>" <09><1D><1D>%<25><06>x<EFBFBD><1D>8<><0F> <1B><10>9<> <1B> <09><1D><1D>!<21>E<EFBFBD>7<EFBFBD><1D>3<> <0B>4<> <0B>$ <09><1D><1D>#<23>e<EFBFBD>W<EFBFBD><1D>5<><0F>2 <0B><10>6<>2 r