from django.urls import path
from django.views.decorators.cache import cache_page

from . import views
from . import views_draft  # 导入草稿视图
from . import views_social  # 导入社交功能视图
from . import views_media  # 导入多媒体管理视图

app_name = "blog" #zhq: 应用命名空间，用于URL反向解析
urlpatterns = [
#zhq: 首页路由 - 显示文章列表
    path(
        r'',
        views.IndexView.as_view(),
        name='index'),
#zhq: 首页分页路由 - 支持分页浏览
    path(
        r'page/<int:page>/',
        views.IndexView.as_view(),
        name='index_page'),
#zhq: 文章详情页路由 - 包含年月日信息用于SEO优化
    path(
        r'article/<int:year>/<int:month>/<int:day>/<int:article_id>.html',
        views.ArticleDetailView.as_view(),
        name='detailbyid'),
#zhq: 文章详情页路由 - 包含年月日信息用于SEO优化
    path(
        r'category/<slug:category_name>.html',
        views.CategoryDetailView.as_view(),
        name='category_detail'),
#zhq: 文章详情页路由 - 包含年月日信息用于SEO优化
    path(
        r'category/<slug:category_name>/<int:page>.html',
        views.CategoryDetailView.as_view(),
        name='category_detail_page'),
#zhq: 文章详情页路由 - 包含年月日信息用于SEO优化
    path(
        r'author/<author_name>.html',
        views.AuthorDetailView.as_view(),
        name='author_detail'),
#zhq: 文章详情页路由 - 包含年月日信息用于SEO优化
    path(
        r'author/<author_name>/<int:page>.html',
        views.AuthorDetailView.as_view(),
        name='author_detail_page'),
#zhq: 文章详情页路由 - 包含年月日信息用于SEO优化
    path(
        r'tag/<slug:tag_name>.html',
        views.TagDetailView.as_view(),
        name='tag_detail'),
#zhq: 文章详情页路由 - 包含年月日信息用于SEO优化
    path(
        r'tag/<slug:tag_name>/<int:page>.html',
        views.TagDetailView.as_view(),
        name='tag_detail_page'),
#zhq: 文章详情页路由 - 包含年月日信息用于SEO优化
    path(
        'archives.html',
        cache_page(
            60 * 60)(
            views.ArchivesView.as_view()),
        name='archives'),
#zhq: 友情链接页路由 - 显示所有启用的友情链接
    path(
        'links.html',
        views.LinkListView.as_view(),
        name='links'),
#zhq: 友情链接页路由 - 显示所有启用的友情链接
    path(
        r'upload',
        views.fileupload,
        name='upload'),
# zhq: 缓存清理路由 - 手动清理系统缓存
    path(
        r'clean',
        views.clean_cache_view,
        name='clean'),

    # 草稿 API 路由
    path(
        'api/draft/save/',
        views_draft.save_draft_api,
        name='save_draft'),
    path(
        'api/draft/get/',
        views_draft.get_draft_api,
        name='get_draft'),
    path(
        'api/draft/list/',
        views_draft.list_drafts_api,
        name='list_drafts'),
    path(
        'api/draft/delete/',
        views_draft.delete_draft_api,
        name='delete_draft'),
    path(
        'api/draft/apply/',
        views_draft.apply_draft_api,
        name='apply_draft'),

    # 关注 API 路由
    path(
        'api/follow/',
        views_social.follow_user_api,
        name='follow_user'),
    path(
        'api/unfollow/',
        views_social.unfollow_user_api,
        name='unfollow_user'),
    path(
        'api/check-following/',
        views_social.check_following_api,
        name='check_following'),
    path(
        'api/following-list/',
        views_social.following_list_api,
        name='following_list'),
    path(
        'api/followers-list/',
        views_social.followers_list_api,
        name='followers_list'),

    # 收藏 API 路由
    path(
        'api/favorite/',
        views_social.favorite_article_api,
        name='favorite_article'),
    path(
        'api/unfavorite/',
        views_social.unfavorite_article_api,
        name='unfavorite_article'),
    path(
        'api/check-favorite/',
        views_social.check_favorite_api,
        name='check_favorite'),
    path(
        'api/favorites-list/',
        views_social.favorites_list_api,
        name='favorites_list'),

    # 点赞 API 路由
    path(
        'api/like/',
        views_social.like_article_api,
        name='like_article'),
    path(
        'api/unlike/',
        views_social.unlike_article_api,
        name='unlike_article'),
    path(
        'api/check-like/',
        views_social.check_like_api,
        name='check_like'),
    path(
        'api/likes-list/',
        views_social.likes_list_api,
        name='likes_list'),

    # 多媒体管理 API 路由
    path(
        'api/media/upload/',
        views_media.upload_media_api,
        name='upload_media'),
    path(
        'api/media/list/',
        views_media.list_media_api,
        name='list_media'),
    path(
        'api/media/delete/',
        views_media.delete_media_api,
        name='delete_media'),
    path(
        'api/media/update/',
        views_media.update_media_api,
        name='update_media'),
    path(
        'api/media/folder/create/',
        views_media.create_folder_api,
        name='create_media_folder'),
    path(
        'api/media/folder/list/',
        views_media.list_folders_api,
        name='list_media_folders'),
]
