@@ -142,15 +142,27 @@ def not_found_error(error):
|
|||||||
|
|
||||||
@app.errorhandler(500)
|
@app.errorhandler(500)
|
||||||
def internal_error(error):
|
def internal_error(error):
|
||||||
return render_template('500.html'), 500
|
return render_template('error.html',
|
||||||
|
error_code=500,
|
||||||
|
error_title='服务器错误',
|
||||||
|
error_message='服务器遇到了一个问题,请稍后再试。',
|
||||||
|
error_i18n_key='serverError'), 500
|
||||||
|
|
||||||
@app.errorhandler(403)
|
@app.errorhandler(403)
|
||||||
def forbidden_error(error):
|
def forbidden_error(error):
|
||||||
return render_template('403.html'), 403
|
return render_template('error.html',
|
||||||
|
error_code=403,
|
||||||
|
error_title='禁止访问',
|
||||||
|
error_message='您没有权限访问此页面。',
|
||||||
|
error_i18n_key='forbidden'), 403
|
||||||
|
|
||||||
@app.errorhandler(400)
|
@app.errorhandler(400)
|
||||||
def bad_request_error(error):
|
def bad_request_error(error):
|
||||||
return render_template('400.html'), 400
|
return render_template('error.html',
|
||||||
|
error_code=400,
|
||||||
|
error_title='错误请求',
|
||||||
|
error_message='服务器无法理解您的请求。',
|
||||||
|
error_i18n_key='badRequest'), 400
|
||||||
|
|
||||||
# 数据库配置
|
# 数据库配置
|
||||||
DB_CONFIG = {
|
DB_CONFIG = {
|
||||||
|
|||||||
@@ -0,0 +1,239 @@
|
|||||||
|
// 多语言支持文件
|
||||||
|
const translations = {
|
||||||
|
'zh': {
|
||||||
|
// 导航菜单
|
||||||
|
'home': '首页',
|
||||||
|
'hotWord': '热词统计',
|
||||||
|
'tableData': '微博舆情统计',
|
||||||
|
'articleChar': '文章分析',
|
||||||
|
'ipChar': 'IP分析',
|
||||||
|
'commentChar': '评论分析',
|
||||||
|
'yuqingChar': '舆情分析',
|
||||||
|
'yuqingpredict': '舆情预测',
|
||||||
|
'articleCloud': '文章内容词云图',
|
||||||
|
'dataVisualization': '数据可视化',
|
||||||
|
'weiboSystem': '微博舆情分析系统',
|
||||||
|
'wordCloud': '词云图',
|
||||||
|
|
||||||
|
// 首页
|
||||||
|
'articleCount': '文章个数',
|
||||||
|
'articleCrawlRule': '文章爬取规则',
|
||||||
|
'nextCrawlTime': '下次爬取时间',
|
||||||
|
'articlePublishTimeCount': '文章发布时间个数',
|
||||||
|
'commentLikeCountTopFore': '评论点赞量 Top Fore',
|
||||||
|
'viewAll': '查看全部',
|
||||||
|
'articleTypeRatio': '文章类型占比',
|
||||||
|
'commentUserWordCloud': '评论用户名词云图',
|
||||||
|
'commentUserTimeRatio': '评论用户时间占比',
|
||||||
|
|
||||||
|
// 热词页面
|
||||||
|
'hotWordStatistics': '热词统计页',
|
||||||
|
'hotWordCloud': '热词词云图',
|
||||||
|
'hotWordRanking': '热词查询表格',
|
||||||
|
'wordFrequency': '词频',
|
||||||
|
'hotWordSelection': '热词选择',
|
||||||
|
'hotWordName': '热词名称',
|
||||||
|
'occurrenceCount': '出现次数',
|
||||||
|
'hotWordSentiment': '热词情感',
|
||||||
|
'hotWordYearTrend': '热词年份变化趋势',
|
||||||
|
'queryCommentsByHotWord': '根据选择的热词从而查询出评论数据',
|
||||||
|
'hotWordTimeDistribution': '热词出现时间分布个数',
|
||||||
|
|
||||||
|
// 舆情分析页面
|
||||||
|
'hotWordSentimentTrendBar': '热词情感趋势柱状图',
|
||||||
|
'hotWordSentimentTrendTree': '热词情感趋势树形图',
|
||||||
|
'articleCommentSentimentTrendPie': '文章内容与评论内容舆情趋势饼状图',
|
||||||
|
|
||||||
|
// 舆情预测页面
|
||||||
|
'topicStatisticsPage': '话题统计页',
|
||||||
|
|
||||||
|
// 文章分析页面
|
||||||
|
'articleCharPage': '文章分析页',
|
||||||
|
'typeSelection': '类型选择',
|
||||||
|
'articleLikeAnalysis': '文章点赞量分析 👍',
|
||||||
|
'articleCommentAnalysis': '文章评论量分析 🔥',
|
||||||
|
'articleForwardAnalysis': '文章转发量分析 🥇',
|
||||||
|
'likeRangeStatistics': '点赞区间统计',
|
||||||
|
'rangeCount': '区间个数',
|
||||||
|
|
||||||
|
// 评论分析页面
|
||||||
|
'commentLikeRangeChart': '评论点赞次数区间图',
|
||||||
|
'commentUserGenderRatio': '评论用户性别占比',
|
||||||
|
'userCommentWordCloud': '用户评论词云图',
|
||||||
|
|
||||||
|
// IP分析页面
|
||||||
|
'articleIpLocationAnalysis': '文章IP位置分析图',
|
||||||
|
'commentIpLocationAnalysis': '评论IP位置分析图',
|
||||||
|
|
||||||
|
// 评论相关
|
||||||
|
'commentUser': '评论用户',
|
||||||
|
'commentGender': '评论性别',
|
||||||
|
'commentAddress': '评论地址',
|
||||||
|
'commentContent': '评论内容',
|
||||||
|
'likeCount': '点赞量',
|
||||||
|
|
||||||
|
// 微博舆情统计页面
|
||||||
|
'weiboArticleStatTable': '微博文章统计表格 - 舆情 情感分类',
|
||||||
|
'sentimentClassification': '情感分类',
|
||||||
|
'articleId': '文章ID',
|
||||||
|
'articleIp': '文章IP',
|
||||||
|
'articleTitle': '文章标题',
|
||||||
|
'articleLike': '点赞量',
|
||||||
|
'articleForward': '转发量',
|
||||||
|
'articleComment': '评论量',
|
||||||
|
'articleType': '类型',
|
||||||
|
'articleContent': '内容',
|
||||||
|
'articleTime': '发布时间',
|
||||||
|
|
||||||
|
// 通用
|
||||||
|
'switchToEnglish': '切换到英文',
|
||||||
|
'switchToChinese': '切换到中文',
|
||||||
|
'semester': '网安小学期',
|
||||||
|
|
||||||
|
// 错误页面
|
||||||
|
'pageNotFound': '页面未找到',
|
||||||
|
'backToHome': '返回首页',
|
||||||
|
'serverError': '服务器错误',
|
||||||
|
'forbidden': '禁止访问',
|
||||||
|
'badRequest': '错误请求'
|
||||||
|
},
|
||||||
|
'en': {
|
||||||
|
// Navigation menu
|
||||||
|
'home': 'Home',
|
||||||
|
'hotWord': 'Hot Words',
|
||||||
|
'tableData': 'Weibo Public Opinion Stats',
|
||||||
|
'articleChar': 'Article Analysis',
|
||||||
|
'ipChar': 'IP Analysis',
|
||||||
|
'commentChar': 'Comment Analysis',
|
||||||
|
'yuqingChar': 'Public Opinion Analysis',
|
||||||
|
'yuqingpredict': 'Opinion Prediction',
|
||||||
|
'articleCloud': 'Article Content Word Cloud',
|
||||||
|
'dataVisualization': 'Data Visualization',
|
||||||
|
'weiboSystem': 'Weibo Public Opinion Analysis System',
|
||||||
|
'wordCloud': 'Word Cloud',
|
||||||
|
|
||||||
|
// Home page
|
||||||
|
'articleCount': 'Article Count',
|
||||||
|
'articleCrawlRule': 'Article Crawl Rule',
|
||||||
|
'nextCrawlTime': 'Next Crawl Time',
|
||||||
|
'articlePublishTimeCount': 'Article Publish Time Count',
|
||||||
|
'commentLikeCountTopFore': 'Comment Like Count Top Four',
|
||||||
|
'viewAll': 'View All',
|
||||||
|
'articleTypeRatio': 'Article Type Ratio',
|
||||||
|
'commentUserWordCloud': 'Comment User Word Cloud',
|
||||||
|
'commentUserTimeRatio': 'Comment User Time Ratio',
|
||||||
|
|
||||||
|
// Hot word page
|
||||||
|
'hotWordStatistics': 'Hot Word Statistics',
|
||||||
|
'hotWordCloud': 'Hot Word Cloud',
|
||||||
|
'hotWordRanking': 'Hot Word Ranking',
|
||||||
|
'wordFrequency': 'Word Frequency',
|
||||||
|
'hotWordSelection': 'Hot Word Selection',
|
||||||
|
'hotWordName': 'Hot Word Name',
|
||||||
|
'occurrenceCount': 'Occurrence Count',
|
||||||
|
'hotWordSentiment': 'Hot Word Sentiment',
|
||||||
|
'hotWordYearTrend': 'Hot Word Year Trend',
|
||||||
|
'queryCommentsByHotWord': 'Query comments based on selected hot word',
|
||||||
|
'hotWordTimeDistribution': 'Hot Word Time Distribution Count',
|
||||||
|
|
||||||
|
// Public opinion analysis page
|
||||||
|
'hotWordSentimentTrendBar': 'Hot Word Sentiment Trend Bar Chart',
|
||||||
|
'hotWordSentimentTrendTree': 'Hot Word Sentiment Trend Tree Chart',
|
||||||
|
'articleCommentSentimentTrendPie': 'Article and Comment Sentiment Trend Pie Chart',
|
||||||
|
|
||||||
|
// Opinion prediction page
|
||||||
|
'topicStatisticsPage': 'Topic Statistics Page',
|
||||||
|
|
||||||
|
// Article analysis page
|
||||||
|
'articleCharPage': 'Article Analysis Page',
|
||||||
|
'typeSelection': 'Type Selection',
|
||||||
|
'articleLikeAnalysis': 'Article Like Analysis 👍',
|
||||||
|
'articleCommentAnalysis': 'Article Comment Analysis 🔥',
|
||||||
|
'articleForwardAnalysis': 'Article Forward Analysis 🥇',
|
||||||
|
'likeRangeStatistics': 'Like Range Statistics',
|
||||||
|
'rangeCount': 'Range Count',
|
||||||
|
|
||||||
|
// Comment analysis page
|
||||||
|
'commentLikeRangeChart': 'Comment Like Range Chart',
|
||||||
|
'commentUserGenderRatio': 'Comment User Gender Ratio',
|
||||||
|
'userCommentWordCloud': 'User Comment Word Cloud',
|
||||||
|
|
||||||
|
// IP analysis page
|
||||||
|
'articleIpLocationAnalysis': 'Article IP Location Analysis',
|
||||||
|
'commentIpLocationAnalysis': 'Comment IP Location Analysis',
|
||||||
|
|
||||||
|
// Comment related
|
||||||
|
'commentUser': 'Comment User',
|
||||||
|
'commentGender': 'Gender',
|
||||||
|
'commentAddress': 'Address',
|
||||||
|
'commentContent': 'Content',
|
||||||
|
'likeCount': 'Likes',
|
||||||
|
|
||||||
|
// Weibo public opinion stats page
|
||||||
|
'weiboArticleStatTable': 'Weibo Article Statistics Table - Sentiment Classification',
|
||||||
|
'sentimentClassification': 'Sentiment Classification',
|
||||||
|
'articleId': 'Article ID',
|
||||||
|
'articleIp': 'Article IP',
|
||||||
|
'articleTitle': 'Article Title',
|
||||||
|
'articleLike': 'Likes',
|
||||||
|
'articleForward': 'Forwards',
|
||||||
|
'articleComment': 'Comments',
|
||||||
|
'articleType': 'Type',
|
||||||
|
'articleContent': 'Content',
|
||||||
|
'articleTime': 'Publish Time',
|
||||||
|
|
||||||
|
// Common
|
||||||
|
'switchToEnglish': 'Switch to English',
|
||||||
|
'switchToChinese': 'Switch to Chinese',
|
||||||
|
'semester': 'Network Security Semester',
|
||||||
|
|
||||||
|
// Error pages
|
||||||
|
'pageNotFound': 'Page Not Found',
|
||||||
|
'backToHome': 'Back to Home',
|
||||||
|
'serverError': 'Server Error',
|
||||||
|
'forbidden': 'Forbidden',
|
||||||
|
'badRequest': 'Bad Request'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// 获取当前语言
|
||||||
|
function getCurrentLanguage() {
|
||||||
|
return localStorage.getItem('language') || 'zh';
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置语言
|
||||||
|
function setLanguage(lang) {
|
||||||
|
localStorage.setItem('language', lang);
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 翻译函数
|
||||||
|
function t(key) {
|
||||||
|
const lang = getCurrentLanguage();
|
||||||
|
return translations[lang][key] || key;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 页面加载时应用翻译
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
// 应用当前语言
|
||||||
|
applyTranslations();
|
||||||
|
|
||||||
|
// 添加语言切换按钮事件
|
||||||
|
const langSwitcher = document.getElementById('language-switcher');
|
||||||
|
if (langSwitcher) {
|
||||||
|
langSwitcher.addEventListener('click', function() {
|
||||||
|
const currentLang = getCurrentLanguage();
|
||||||
|
const newLang = currentLang === 'zh' ? 'en' : 'zh';
|
||||||
|
setLanguage(newLang);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 应用翻译到页面元素
|
||||||
|
function applyTranslations() {
|
||||||
|
const elements = document.querySelectorAll('[data-i18n]');
|
||||||
|
elements.forEach(el => {
|
||||||
|
const key = el.getAttribute('data-i18n');
|
||||||
|
el.textContent = t(key);
|
||||||
|
});
|
||||||
|
}
|
||||||
+53
-24
@@ -1,29 +1,58 @@
|
|||||||
<!doctype html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>404页面</title>
|
<title>404 - 页面未找到</title>
|
||||||
<link rel="stylesheet" href="/static/css/backend-plugin.min.css">
|
<link rel="stylesheet" href="/static/css/backend.css">
|
||||||
<link rel="stylesheet" href="/static/css/backend.css"> </head>
|
<!-- 添加语言支持脚本 -->
|
||||||
<body class=" ">
|
<script src="/static/js/i18n.js"></script>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100vh;
|
||||||
|
margin: 0;
|
||||||
|
background-color: #f8f9fa;
|
||||||
|
}
|
||||||
|
.error-container {
|
||||||
|
text-align: center;
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
.error-code {
|
||||||
|
font-size: 6rem;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #dc3545;
|
||||||
|
}
|
||||||
|
.error-message {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
margin: 1rem 0;
|
||||||
|
}
|
||||||
|
.back-link {
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 1rem;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
background-color: #007bff;
|
||||||
|
color: white;
|
||||||
|
text-decoration: none;
|
||||||
|
border-radius: 0.25rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="error-container">
|
||||||
|
<div class="error-code">404</div>
|
||||||
|
<div class="error-message" data-i18n="pageNotFound">页面未找到</div>
|
||||||
|
<p>您请求的页面不存在或已被移除。</p>
|
||||||
|
<a href="/" class="back-link" data-i18n="backToHome">返回首页</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 初始化语言支持 -->
|
||||||
<div class="wrapper">
|
<script>
|
||||||
<div class="container">
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
<div class="row no-gutters height-self-center">
|
applyTranslations();
|
||||||
<div class="col-sm-12 text-center align-self-center">
|
});
|
||||||
<div class="iq-error position-relative">
|
</script>
|
||||||
<img src="/static/picture/Datum_404.png" class="img-fluid iq-error-img iq-error-img-dark mx-auto" alt="">
|
|
||||||
<img src="/static/picture/Datum_404.png" class="img-fluid iq-error-img mb-0" alt="">
|
|
||||||
<h2 class="mb-0">噢!该页面没有找到..</h2>
|
|
||||||
<p>本次请求没有任何反应.</p>
|
|
||||||
<a class="btn btn-primary d-inline-flex align-items-center mt-3" href="/user/login"><i class="ri-home-4-line mr-2"></i>回到登录页</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
/
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+52
-27
@@ -1,33 +1,58 @@
|
|||||||
<!doctype html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>错误页面</title>
|
<title>{{ error_code }} - {{ error_title }}</title>
|
||||||
|
<link rel="stylesheet" href="/static/css/backend.css">
|
||||||
<link rel="stylesheet" href="/static/css/backend-plugin.min.css">
|
<!-- 添加语言支持脚本 -->
|
||||||
<link rel="stylesheet" href="/static/css/backend.css"> </head>
|
<script src="/static/js/i18n.js"></script>
|
||||||
<body class=" ">
|
<style>
|
||||||
|
body {
|
||||||
|
display: flex;
|
||||||
<div class="wrapper">
|
justify-content: center;
|
||||||
<div class="mt-5 iq-maintenance">
|
align-items: center;
|
||||||
<div class="container-fluid p-0">
|
height: 100vh;
|
||||||
<div class="row no-gutters">
|
margin: 0;
|
||||||
<div class="col-sm-12 text-center">
|
background-color: #f8f9fa;
|
||||||
<div class="iq-maintenance">
|
}
|
||||||
<img src="/static/picture/maintenance.png" class="img-fluid" alt="">
|
.error-container {
|
||||||
<h3 class="mt-4 mb-2">{{ errorMsg }}</h3>
|
text-align: center;
|
||||||
<p class="mb-2">请回去再次检查问题并且修改问题.</p>
|
padding: 2rem;
|
||||||
<p><a href="/user/login" class="btn btn-primary">回到登录页</a></p>
|
}
|
||||||
</div>
|
.error-code {
|
||||||
</div>
|
font-size: 6rem;
|
||||||
</div>
|
font-weight: bold;
|
||||||
</div>
|
color: #dc3545;
|
||||||
</div>
|
}
|
||||||
|
.error-message {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
margin: 1rem 0;
|
||||||
|
}
|
||||||
|
.back-link {
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 1rem;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
background-color: #007bff;
|
||||||
|
color: white;
|
||||||
|
text-decoration: none;
|
||||||
|
border-radius: 0.25rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="error-container">
|
||||||
|
<div class="error-code">{{ error_code }}</div>
|
||||||
|
<div class="error-message" data-i18n="{{ error_i18n_key }}">{{ error_title }}</div>
|
||||||
|
<p>{{ error_message }}</p>
|
||||||
|
<a href="/" class="back-link" data-i18n="backToHome">返回首页</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Backend Bundle JavaScript -->
|
<!-- 初始化语言支持 -->
|
||||||
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
applyTranslations();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Binary file not shown.
@@ -1,13 +1,13 @@
|
|||||||
{% extends 'base_page.html' %}
|
{% extends 'base_page.html' %}
|
||||||
{% block title %}
|
{% block title %}
|
||||||
文章分析
|
<span data-i18n="articleChar">文章分析</span>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block nav %}
|
{% block nav %}
|
||||||
<nav class="iq-sidebar-menu">
|
<nav class="iq-sidebar-menu">
|
||||||
<ul id="iq-sidebar-toggle" class="side-menu">
|
<ul id="iq-sidebar-toggle" class="side-menu">
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">首页</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="home">首页</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/home" class="svg-icon">
|
<a href="/page/home" class="svg-icon">
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">首页</span>
|
<span class="ml-2" data-i18n="home">首页</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">文章内容词云图</span>
|
</i><span class="ml-2" data-i18n="articleCloud">文章内容词云图</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 mb-4 mt-1">
|
<div class="col-md-12 mb-4 mt-1">
|
||||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||||
<h4 class="font-weight-bold">文章分析页</h4>
|
<h4 class="font-weight-bold" data-i18n="articleCharPage">文章分析页</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<div class="card card-block card-stretch card-height">
|
<div class="card card-block card-stretch card-height">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>类型选择</label>
|
<label data-i18n="typeSelection">类型选择</label>
|
||||||
<select onchange="typeChange(event)" class="form-control mb-3">
|
<select onchange="typeChange(event)" class="form-control mb-3">
|
||||||
{% for i in typeList %}
|
{% for i in typeList %}
|
||||||
{% if defaultType == i %}
|
{% if defaultType == i %}
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">文章点赞量分析 👍</h4>
|
<h4 class="card-title mb-0" data-i18n="articleLikeAnalysis">文章点赞量分析 👍</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">文章评论量分析 🔥</h4>
|
<h4 class="card-title mb-0" data-i18n="articleCommentAnalysis">文章评论量分析 🔥</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@@ -171,7 +171,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">文章转发量分析 🥇</h4>
|
<h4 class="card-title mb-0" data-i18n="articleForwardAnalysis">文章转发量分析 🥇</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
var colors = ['#66cc99','#ffcc66','#ff6666','#6699cc']
|
var colors = ['#66cc99','#ffcc66','#ff6666','#6699cc']
|
||||||
option = {
|
option = {
|
||||||
title: {
|
title: {
|
||||||
text: '点赞区间统计'
|
text: t('likeRangeStatistics')
|
||||||
},
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis'
|
trigger: 'axis'
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
data: ['区间个数']
|
data: [t('rangeCount')]
|
||||||
},
|
},
|
||||||
toolbox: {
|
toolbox: {
|
||||||
show: true,
|
show: true,
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
{% extends 'base_page.html' %}
|
{% extends 'base_page.html' %}
|
||||||
{% block title %}
|
{% block title %}
|
||||||
文章内容词云图
|
<span data-i18n="articleCloud">文章内容词云图</span>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block nav %}
|
{% block nav %}
|
||||||
<nav class="iq-sidebar-menu">
|
<nav class="iq-sidebar-menu">
|
||||||
<ul id="iq-sidebar-toggle" class="side-menu">
|
<ul id="iq-sidebar-toggle" class="side-menu">
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">首页</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="home">首页</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/home" class="svg-icon">
|
<a href="/page/home" class="svg-icon">
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">首页</span>
|
<span class="ml-2" data-i18n="home">首页</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">热词统计</span>
|
<span class="ml-2" data-i18n="hotWord">热词统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -36,11 +36,11 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">微博舆情统计</span>
|
<span class="ml-2" data-i18n="tableData">微博舆情统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">数据可视化</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="dataVisualization">数据可视化</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/articleChar" class="svg-icon">
|
<a href="/page/articleChar" class="svg-icon">
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">文章分析</span>
|
<span class="ml-2" data-i18n="articleChar">文章分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">文章内容词云图</span>
|
</i><span class="ml-2" data-i18n="articleCloud">文章内容词云图</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 mb-4 mt-1">
|
<div class="col-md-12 mb-4 mt-1">
|
||||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||||
<h4 class="font-weight-bold">文章分析页</h4>
|
<h4 class="font-weight-bold" data-i18n="articleCharPage">文章分析页</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">文章内容词云图</h4>
|
<h4 class="card-title mb-0" data-i18n="articleCloud">文章内容词云图</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
@@ -9,6 +8,7 @@
|
|||||||
<link rel="stylesheet" href="/static/css/backend-plugin.min.css">
|
<link rel="stylesheet" href="/static/css/backend-plugin.min.css">
|
||||||
<link rel="stylesheet" href="/static/css/backend.css">
|
<link rel="stylesheet" href="/static/css/backend.css">
|
||||||
<meta name="referrer" content="no-referrer" />
|
<meta name="referrer" content="no-referrer" />
|
||||||
|
<script src="/static/js/i18n.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body class=" ">
|
<body class=" ">
|
||||||
<!-- loader Start -->
|
<!-- loader Start -->
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<div class="iq-sidebar-logo d-flex align-items-end justify-content-between">
|
<div class="iq-sidebar-logo d-flex align-items-end justify-content-between">
|
||||||
<a href="" class="header-logo">
|
<a href="" class="header-logo">
|
||||||
<img src="https://lovexl-oss.oss-cn-beijing.aliyuncs.com/bed/202407051027268.png" class="img-fluid rounded-normal light-logo" alt="logo">
|
<img src="https://lovexl-oss.oss-cn-beijing.aliyuncs.com/bed/202407051027268.png" class="img-fluid rounded-normal light-logo" alt="logo">
|
||||||
<span>微博舆情分析系统</span>
|
<span data-i18n="weiboSystem">微博舆情分析系统</span>
|
||||||
</a>
|
</a>
|
||||||
<div class="side-menu-bt-sidebar-1">
|
<div class="side-menu-bt-sidebar-1">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="text-light wrapper-menu" width="30" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" class="text-light wrapper-menu" width="30" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">首页</span>
|
<span class="ml-2" data-i18n="home">首页</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">热词统计</span>
|
<span class="ml-2" data-i18n="hotWord">热词统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">微博舆情统计</span>
|
<span class="ml-2" data-i18n="tableData">微博舆情统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">文章分析</span>
|
<span class="ml-2" data-i18n="articleChar">文章分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
<line x1="8" y1="10" x2="12" y2="10" style="fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></line>
|
<line x1="8" y1="10" x2="12" y2="10" style="fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></line>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">IP分析</span>
|
<span class="ml-2" data-i18n="ipChar">IP分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">评论分析</span>
|
</i><span class="ml-2" data-i18n="commentChar">评论分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="active sidebar-layout">
|
<li class="active sidebar-layout">
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">舆情分析</span>
|
<span class="ml-2" data-i18n="yuqingChar">舆情分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="active sidebar-layout">
|
<li class="active sidebar-layout">
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">舆情预测</span>
|
<span class="ml-2" data-i18n="yuqingpredict">舆情预测</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -121,7 +121,17 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">文章内容词云图</span>
|
</i><span class="ml-2" data-i18n="articleCloud">文章内容词云图</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-layout">
|
||||||
|
<a href="javascript:void(0)" id="language-switcher" class="svg-icon">
|
||||||
|
<i class="">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"></path>
|
||||||
|
</svg>
|
||||||
|
</i>
|
||||||
|
<span class="ml-2" id="language-text">切换语言</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -136,7 +146,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 mb-4 mt-1">
|
<div class="col-md-12 mb-4 mt-1">
|
||||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||||
<h4 class="font-weight-bold">首页</h4>
|
<h4 class="font-weight-bold" data-i18n="home">首页</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-8 col-md-12">
|
<div class="col-lg-8 col-md-12">
|
||||||
@@ -146,7 +156,7 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="d-flex align-items-center">
|
<div class="d-flex align-items-center">
|
||||||
<div class="">
|
<div class="">
|
||||||
<p class="mb-2 text-secondary">文章个数</p>
|
<p class="mb-2 text-secondary" data-i18n="articleCount">文章个数</p>
|
||||||
<div class="d-flex flex-wrap justify-content-start align-items-center">
|
<div class="d-flex flex-wrap justify-content-start align-items-center">
|
||||||
<h5 class="mb-0 font-weight-bold">{{ articleLenMax }}个</h5>
|
<h5 class="mb-0 font-weight-bold">{{ articleLenMax }}个</h5>
|
||||||
</div>
|
</div>
|
||||||
@@ -160,7 +170,7 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="d-flex align-items-center">
|
<div class="d-flex align-items-center">
|
||||||
<div class="">
|
<div class="">
|
||||||
<p class="mb-2 text-secondary">文章爬取规则</p>
|
<p class="mb-2 text-secondary" data-i18n="articleCrawlRule">文章爬取规则</p>
|
||||||
<div class="d-flex flex-wrap justify-content-start align-items-center">
|
<div class="d-flex flex-wrap justify-content-start align-items-center">
|
||||||
<h5 class="mb-0 font-weight-bold">每 5 小时更新一次爬取内容</h5>
|
<h5 class="mb-0 font-weight-bold">每 5 小时更新一次爬取内容</h5>
|
||||||
</div>
|
</div>
|
||||||
@@ -174,7 +184,7 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="d-flex align-items-center">
|
<div class="d-flex align-items-center">
|
||||||
<div class="">
|
<div class="">
|
||||||
<p class="mb-2 text-secondary">下次爬取时间</p>
|
<p class="mb-2 text-secondary" data-i18n="nextCrawlTime">下次爬取时间</p>
|
||||||
<div class="d-flex flex-wrap justify-content-start align-items-center">
|
<div class="d-flex flex-wrap justify-content-start align-items-center">
|
||||||
<h5 class="mb-0 font-weight-bold">7-5-18:00</h5>
|
<h5 class="mb-0 font-weight-bold">7-5-18:00</h5>
|
||||||
</div>
|
</div>
|
||||||
@@ -187,7 +197,7 @@
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="d-flex justify-content-between align-items-center flex-wrap">
|
<div class="d-flex justify-content-between align-items-center flex-wrap">
|
||||||
<h4 class="font-weight-bold">文章发布时间个数</h4>
|
<h4 class="font-weight-bold" data-i18n="articlePublishTimeCount">文章发布时间个数</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="main" style="width:100%;height: 350px" class="custom-chart"></div>
|
<div id="main" style="width:100%;height: 350px" class="custom-chart"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -199,7 +209,7 @@
|
|||||||
<div class="card card-block card-stretch card-height">
|
<div class="card card-block card-stretch card-height">
|
||||||
<div class="card-header card-header-border d-flex justify-content-between">
|
<div class="card-header card-header-border d-flex justify-content-between">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title">评论点赞量 Top Fore</h4>
|
<h4 class="card-title" data-i18n="commentLikeCountTopFore">评论点赞量 Top Fore</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body-list">
|
<div class="card-body-list">
|
||||||
@@ -220,7 +230,7 @@
|
|||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<div class="d-flex justify-content-end align-items-center border-top-table p-3">
|
<div class="d-flex justify-content-end align-items-center border-top-table p-3">
|
||||||
<a href="/page/tableData" class="btn btn-secondary btn-sm">查看全部</a>
|
<a href="/page/tableData" class="btn btn-secondary btn-sm" data-i18n="viewAll">查看全部</a>
|
||||||
</div>
|
</div>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -231,7 +241,7 @@
|
|||||||
<div class="card card-block card-stretch card-height">
|
<div class="card card-block card-stretch card-height">
|
||||||
<div class="card-header d-flex justify-content-between">
|
<div class="card-header d-flex justify-content-between">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title">文章类型占比</h4>
|
<h4 class="card-title" data-i18n="articleTypeRatio">文章类型占比</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body p-0">
|
<div class="card-body p-0">
|
||||||
@@ -245,7 +255,7 @@
|
|||||||
<div class="card card-block card-stretch card-height">
|
<div class="card card-block card-stretch card-height">
|
||||||
<div class="card-header d-flex justify-content-between">
|
<div class="card-header d-flex justify-content-between">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title">评论用户名词云图</h4>
|
<h4 class="card-title" data-i18n="commentUserWordCloud">评论用户名词云图</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body p-0">
|
<div class="card-body p-0">
|
||||||
@@ -259,7 +269,7 @@
|
|||||||
<div class="card card-block card-stretch card-height">
|
<div class="card card-block card-stretch card-height">
|
||||||
<div class="card-header d-flex justify-content-between">
|
<div class="card-header d-flex justify-content-between">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title">评论用户时间占比</h4>
|
<h4 class="card-title" data-i18n="commentUserTimeRatio">评论用户时间占比</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body p-0">
|
<div class="card-body p-0">
|
||||||
@@ -281,13 +291,30 @@
|
|||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6 text-right">
|
<div class="col-lg-6 text-right">
|
||||||
<span class="mr-1">网安小学期 © 2024.<a target="_blank" href="#">郭航江</a></span>
|
<span class="mr-1"><span data-i18n="semester">网安小学期</span> © 2024.<a target="_blank" href="#">郭航江</a></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/static/echarts.min.js"></script>
|
<script src="/static/echarts.min.js"></script>
|
||||||
<script src="/static/china.js"></script>
|
<script src="/static/china.js"></script>
|
||||||
|
<!-- 添加语言切换脚本 -->
|
||||||
|
<script>
|
||||||
|
// 页面加载完成后初始化语言切换功能
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
// 更新语言切换按钮文本
|
||||||
|
updateLanguageSwitcherText();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 更新语言切换按钮文本
|
||||||
|
function updateLanguageSwitcherText() {
|
||||||
|
const currentLang = getCurrentLanguage();
|
||||||
|
const langText = document.getElementById('language-text');
|
||||||
|
if (langText) {
|
||||||
|
langText.textContent = currentLang === 'zh' ? '切换到英文' : 'Switch to Chinese';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
{% block echarts %}
|
{% block echarts %}
|
||||||
<script>
|
<script>
|
||||||
var chartDom = document.getElementById('main');
|
var chartDom = document.getElementById('main');
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
{% extends 'base_page.html' %}
|
{% extends 'base_page.html' %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
评论分析
|
<span data-i18n="commentChar">评论分析</span>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block nav %}
|
{% block nav %}
|
||||||
<nav class="iq-sidebar-menu">
|
<nav class="iq-sidebar-menu">
|
||||||
<ul id="iq-sidebar-toggle" class="side-menu">
|
<ul id="iq-sidebar-toggle" class="side-menu">
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">首页</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="home">首页</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/home" class="svg-icon">
|
<a href="/page/home" class="svg-icon">
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">首页</span>
|
<span class="ml-2" data-i18n="home">首页</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">热词统计</span>
|
<span class="ml-2" data-i18n="hotWord">热词统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -36,11 +36,11 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">微博舆情统计</span>
|
<span class="ml-2" data-i18n="tableData">微博舆情统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">数据可视化</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="dataVisualization">数据可视化</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/articleChar" class="svg-icon">
|
<a href="/page/articleChar" class="svg-icon">
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">文章分析</span>
|
<span class="ml-2" data-i18n="articleChar">文章分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">文章内容词云图</span>
|
</i><span class="ml-2" data-i18n="articleCloud">文章内容词云图</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 mb-4 mt-1">
|
<div class="col-md-12 mb-4 mt-1">
|
||||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||||
<h4 class="font-weight-bold">评论分析</h4>
|
<h4 class="font-weight-bold" data-i18n="commentChar">评论分析</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">评论点赞次数区间图</h4>
|
<h4 class="card-title mb-0" data-i18n="commentLikeRangeChart">评论点赞次数区间图</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">评论用户性别占比</h4>
|
<h4 class="card-title mb-0" data-i18n="commentUserGenderRatio">评论用户性别占比</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">用户评论词云图</h4>
|
<h4 class="card-title mb-0" data-i18n="userCommentWordCloud">用户评论词云图</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{% extends 'base_page.html' %}
|
{% extends 'base_page.html' %}
|
||||||
{% block title %}
|
{% block title %}
|
||||||
热词统计
|
<span data-i18n="hotWord">热词统计</span>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block nav %}
|
{% block nav %}
|
||||||
<nav class="iq-sidebar-menu">
|
<nav class="iq-sidebar-menu">
|
||||||
<ul id="iq-sidebar-toggle" class="side-menu">
|
<ul id="iq-sidebar-toggle" class="side-menu">
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">首页</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="home">首页</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/home" class="svg-icon">
|
<a href="/page/home" class="svg-icon">
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">首页</span>
|
<span class="ml-2" data-i18n="home">首页</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">热词统计</span>
|
<span class="ml-2" data-i18n="hotWord">热词统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -35,11 +35,11 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">微博舆情统计</span>
|
<span class="ml-2" data-i18n="tableData">微博舆情统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">数据可视化</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="dataVisualization">数据可视化</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/articleChar" class="svg-icon">
|
<a href="/page/articleChar" class="svg-icon">
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">文章分析</span>
|
<span class="ml-2" data-i18n="articleChar">文章分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
<line x1="8" y1="10" x2="12" y2="10" style="fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></line>
|
<line x1="8" y1="10" x2="12" y2="10" style="fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></line>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">IP分析</span>
|
<span class="ml-2" data-i18n="ipChar">IP分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">评论分析</span>
|
</i><span class="ml-2" data-i18n="commentChar">评论分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="active sidebar-layout">
|
<li class="active sidebar-layout">
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">舆情分析</span>
|
<span class="ml-2" data-i18n="yuqingChar">舆情分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="active sidebar-layout">
|
<li class="active sidebar-layout">
|
||||||
@@ -88,11 +88,11 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">舆情预测</span>
|
<span class="ml-2" data-i18n="yuqingpredict">舆情预测</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="px-3 pt-3 pb-2">
|
<li class="px-3 pt-3 pb-2">
|
||||||
<span class="text-uppercase small font-weight-bold">词云图</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="wordCloud">词云图</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/articleCloud" class="svg-icon">
|
<a href="/page/articleCloud" class="svg-icon">
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">文章内容词云图</span>
|
</i><span class="ml-2" data-i18n="articleCloud">文章内容词云图</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 mb-4 mt-1">
|
<div class="col-md-12 mb-4 mt-1">
|
||||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||||
<h4 class="font-weight-bold">热词统计页</h4>
|
<h4 class="font-weight-bold" data-i18n="hotWordStatistics">热词统计页</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
</code></pre></kbd></div>
|
</code></pre></kbd></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>热词选择</label>
|
<label data-i18n="hotWordSelection">热词选择</label>
|
||||||
<select onchange="hotWordChange(event)" class="form-control mb-3">
|
<select onchange="hotWordChange(event)" class="form-control mb-3">
|
||||||
{% for i in hotWordList %}
|
{% for i in hotWordList %}
|
||||||
{% if defaultHotWord == i[0] %}
|
{% if defaultHotWord == i[0] %}
|
||||||
@@ -179,9 +179,9 @@
|
|||||||
<h4 class="card-title font-size-16 mt-0">{{ defaultHotWord }}</h4>
|
<h4 class="card-title font-size-16 mt-0">{{ defaultHotWord }}</h4>
|
||||||
</div>
|
</div>
|
||||||
<ul class="list-group list-group-flush">
|
<ul class="list-group list-group-flush">
|
||||||
<li class="list-group-item">热词名称:{{ defaultHotWord }}</li>
|
<li class="list-group-item"><span data-i18n="hotWordName">热词名称</span>:{{ defaultHotWord }}</li>
|
||||||
<li class="list-group-item">出现次数:{{ hotWordLen }}次</li>
|
<li class="list-group-item"><span data-i18n="occurrenceCount">出现次数</span>:{{ hotWordLen }}次</li>
|
||||||
<li class="list-group-item">热词情感:{{ sentences }}</li>
|
<li class="list-group-item"><span data-i18n="hotWordSentiment">热词情感</span>:{{ sentences }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -191,7 +191,7 @@
|
|||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h4 class="card-title font-size-16 mt-0">热词年份变化趋势</h4>
|
<h4 class="card-title font-size-16 mt-0" data-i18n="hotWordYearTrend">热词年份变化趋势</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="main" style="width:100%;height: 450px"></div>
|
<div id="main" style="width:100%;height: 450px"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -202,7 +202,7 @@
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header d-flex justify-content-between">
|
<div class="card-header d-flex justify-content-between">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title">热词查询表格</h4>
|
<h4 class="card-title" data-i18n="hotWordRanking">热词查询表格</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-action">
|
<div class="header-action">
|
||||||
<i data-toggle="collapse" data-target="#datatable-1" aria-expanded="false">
|
<i data-toggle="collapse" data-target="#datatable-1" aria-expanded="false">
|
||||||
@@ -391,18 +391,18 @@
|
|||||||
</table>
|
</table>
|
||||||
</code></pre></kbd></div>
|
</code></pre></kbd></div>
|
||||||
</div>
|
</div>
|
||||||
<p>根据选择的热词从而查询出评论数据</p>
|
<p data-i18n="queryCommentsByHotWord">根据选择的热词从而查询出评论数据</p>
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<div id="datatable-1_wrapper" class="dataTables_wrapper dt-bootstrap4">
|
<div id="datatable-1_wrapper" class="dataTables_wrapper dt-bootstrap4">
|
||||||
<div class="row"><div class="col-sm-12"><table id="datatable-1" class="table data-table table-striped table-bordered dataTable" role="grid" aria-describedby="datatable-1_info">
|
<div class="row"><div class="col-sm-12"><table id="datatable-1" class="table data-table table-striped table-bordered dataTable" role="grid" aria-describedby="datatable-1_info">
|
||||||
<thead>
|
<thead>
|
||||||
<tr role="row">
|
<tr role="row">
|
||||||
<th class="sorting sorting_asc" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-sort="ascending" aria-label="Name: activate to sort column descending" style="width: 250.844px;">文章ID</th>
|
<th class="sorting sorting_asc" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-sort="ascending" aria-label="Name: activate to sort column descending" style="width: 250.844px;" data-i18n="articleId">文章ID</th>
|
||||||
<th class="sorting" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-label="Position: activate to sort column ascending" style="width: 392.094px;">评论用户</th>
|
<th class="sorting" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-label="Position: activate to sort column ascending" style="width: 392.094px;" data-i18n="commentUser">评论用户</th>
|
||||||
<th class="sorting" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-label="Office: activate to sort column ascending" style="width: 190.75px;">评论性别</th>
|
<th class="sorting" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-label="Office: activate to sort column ascending" style="width: 190.75px;" data-i18n="commentGender">评论性别</th>
|
||||||
<th class="sorting" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-label="Age: activate to sort column ascending" style="width: 84.2656px;">评论地址</th>
|
<th class="sorting" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-label="Age: activate to sort column ascending" style="width: 84.2656px;" data-i18n="commentAddress">评论地址</th>
|
||||||
<th class="sorting" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-label="Start date: activate to sort column ascending" style="width: 172.594px;">评论内容</th>
|
<th class="sorting" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-label="Start date: activate to sort column ascending" style="width: 172.594px;" data-i18n="commentContent">评论内容</th>
|
||||||
<th class="text-right sorting" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-label="Salary: activate to sort column ascending" style="width: 158.453px;">点赞量</th></tr>
|
<th class="text-right sorting" tabindex="0" aria-controls="datatable-1" rowspan="1" colspan="1" aria-label="Salary: activate to sort column ascending" style="width: 158.453px;" data-i18n="likeCount">点赞量</th></tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for i in comments %}
|
{% for i in comments %}
|
||||||
@@ -443,7 +443,7 @@
|
|||||||
trigger: 'axis'
|
trigger: 'axis'
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
data: ['热词出现时间分布个数']
|
data: [t('hotWordTimeDistribution')]
|
||||||
},
|
},
|
||||||
toolbox: {
|
toolbox: {
|
||||||
show: true,
|
show: true,
|
||||||
@@ -481,7 +481,7 @@
|
|||||||
],
|
],
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: '热词出现时间分布个数',
|
name: t('hotWordTimeDistribution'),
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
data: {{ yData }},
|
data: {{ yData }},
|
||||||
markPoint: {
|
markPoint: {
|
||||||
|
|||||||
@@ -25,3 +25,6 @@
|
|||||||
|
|
||||||
-->
|
-->
|
||||||
{% extends 'base_page.html' %}
|
{% extends 'base_page.html' %}
|
||||||
|
{% block title %}
|
||||||
|
<span data-i18n="home">首页</span>
|
||||||
|
{% endblock %}
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
{% extends 'base_page.html' %}
|
{% extends 'base_page.html' %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
IP分析
|
<span data-i18n="ipChar">IP分析</span>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block nav %}
|
{% block nav %}
|
||||||
<nav class="iq-sidebar-menu">
|
<nav class="iq-sidebar-menu">
|
||||||
<ul id="iq-sidebar-toggle" class="side-menu">
|
<ul id="iq-sidebar-toggle" class="side-menu">
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">首页</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="home">首页</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/home" class="svg-icon">
|
<a href="/page/home" class="svg-icon">
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">首页</span>
|
<span class="ml-2" data-i18n="home">首页</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">热词统计</span>
|
<span class="ml-2" data-i18n="hotWord">热词统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -37,11 +37,11 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">微博舆情统计</span>
|
<span class="ml-2" data-i18n="tableData">微博舆情统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">数据可视化</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="dataVisualization">数据可视化</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/articleChar" class="svg-icon">
|
<a href="/page/articleChar" class="svg-icon">
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">文章分析</span>
|
<span class="ml-2" data-i18n="articleChar">文章分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">文章内容词云图</span>
|
</i><span class="ml-2" data-i18n="articleCloud">文章内容词云图</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 mb-4 mt-1">
|
<div class="col-md-12 mb-4 mt-1">
|
||||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||||
<h4 class="font-weight-bold">IP分析</h4>
|
<h4 class="font-weight-bold" data-i18n="ipChar">IP分析</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">文章IP位置分析图</h4>
|
<h4 class="card-title mb-0" data-i18n="articleIpLocationAnalysis">文章IP位置分析图</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">评论IP位置分析图</h4>
|
<h4 class="card-title mb-0" data-i18n="commentIpLocationAnalysis">评论IP位置分析图</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
{% extends 'base_page.html' %}
|
{% extends 'base_page.html' %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
微博舆情统计页
|
<span data-i18n="tableData">微博舆情统计页</span>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block nav %}
|
{% block nav %}
|
||||||
<nav class="iq-sidebar-menu">
|
<nav class="iq-sidebar-menu">
|
||||||
<ul id="iq-sidebar-toggle" class="side-menu">
|
<ul id="iq-sidebar-toggle" class="side-menu">
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">首页</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="home">首页</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/home" class="svg-icon">
|
<a href="/page/home" class="svg-icon">
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">首页</span>
|
<span class="ml-2" data-i18n="home">首页</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">热词统计</span>
|
<span class="ml-2" data-i18n="hotWord">热词统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -36,11 +36,11 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">微博舆情统计</span>
|
<span class="ml-2" data-i18n="tableData">微博舆情统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">数据可视化</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="dataVisualization">数据可视化</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/articleChar" class="svg-icon">
|
<a href="/page/articleChar" class="svg-icon">
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">文章分析</span>
|
<span class="ml-2" data-i18n="articleChar">文章分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">文章内容词云图</span>
|
</i><span class="ml-2" data-i18n="articleCloud">文章内容词云图</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 mb-4 mt-1">
|
<div class="col-md-12 mb-4 mt-1">
|
||||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||||
<h4 class="font-weight-bold">微博舆情统计页</h4>
|
<h4 class="font-weight-bold" data-i18n="tableData">微博舆情统计页</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -122,8 +122,7 @@
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header d-flex justify-content-between">
|
<div class="card-header d-flex justify-content-between">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title">微博文章统计表格 - 舆情 情感分类
|
<h4 class="card-title" data-i18n="weiboArticleStatTable">微博文章统计表格 - 舆情 情感分类</h4>
|
||||||
</h4>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="header-action">
|
<div class="header-action">
|
||||||
<i data-toggle="collapse" data-target="#datatable-1" aria-expanded="false">
|
<i data-toggle="collapse" data-target="#datatable-1" aria-expanded="false">
|
||||||
@@ -134,39 +133,42 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<p><a href="/page/tableData?flag=True" class="btn btn-primary btn-sm">情感分类</a></p>
|
<p><a href="/page/tableData?flag=True" class="btn btn-primary btn-sm" data-i18n="sentimentClassification">情感分类</a></p>
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<div id="datatable-1_wrapper" class="dataTables_wrapper dt-bootstrap4">
|
<div id="datatable-1_wrapper" class="dataTables_wrapper dt-bootstrap4">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<table id="datatable-1" class="table data-table table-striped table-bordered dataTable" role="grid" aria-describedby="datatable-1_info">
|
<table id="datatable-1" class="table data-table table-striped table-bordered dataTable" role="grid" aria-describedby="datatable-1_info">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th style="font-weight: bold">
|
<th style="font-weight: bold" data-i18n="articleId">
|
||||||
文章ID
|
文章ID
|
||||||
</th>
|
</th>
|
||||||
<th style="font-weight: bold">
|
<th style="font-weight: bold" data-i18n="articleIp">
|
||||||
文章IP
|
文章IP
|
||||||
</th>
|
</th>
|
||||||
<th style="font-weight: bold">
|
<th style="font-weight: bold" data-i18n="articleTitle">
|
||||||
|
文章标题
|
||||||
|
</th>
|
||||||
|
<th style="font-weight: bold" data-i18n="articleLike">
|
||||||
点赞量
|
点赞量
|
||||||
</th>
|
</th>
|
||||||
<th style="font-weight: bold">
|
<th style="font-weight: bold" data-i18n="articleForward">
|
||||||
转发量
|
转发量
|
||||||
</th>
|
</th>
|
||||||
<th style="font-weight: bold">
|
<th style="font-weight: bold" data-i18n="articleComment">
|
||||||
评论量
|
评论量
|
||||||
</th>
|
</th>
|
||||||
<th style="font-weight: bold">
|
<th style="font-weight: bold" data-i18n="articleType">
|
||||||
类型
|
类型
|
||||||
</th>
|
</th>
|
||||||
<th style="font-weight: bold">
|
<th style="font-weight: bold" data-i18n="articleContent">
|
||||||
内容
|
内容
|
||||||
</th>
|
</th>
|
||||||
<th style="font-weight: bold">
|
<th style="font-weight: bold" data-i18n="articleTime">
|
||||||
发布时间
|
发布时间
|
||||||
</th>
|
</th>
|
||||||
{% if defaultFlag %}
|
{% if defaultFlag %}
|
||||||
<th style="font-weight: bold">
|
<th style="font-weight: bold" data-i18n="sentimentClassification">
|
||||||
情感分类
|
情感分类
|
||||||
</th>
|
</th>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -181,6 +183,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td style="width:90px">{{ article[4] }}</td>
|
<td style="width:90px">{{ article[4] }}</td>
|
||||||
|
<td style="width:90px" class="text-right">{{ article[5] }}</td>
|
||||||
<td style="width:90px">👍{{ article[1] }}</td>
|
<td style="width:90px">👍{{ article[1] }}</td>
|
||||||
<td style="width:90px">🥇{{ article[2] }}</td>
|
<td style="width:90px">🥇{{ article[2] }}</td>
|
||||||
<td style="width:90px">🔥{{ article[3] }}</td>
|
<td style="width:90px">🔥{{ article[3] }}</td>
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{% extends 'base_page.html' %}
|
{% extends 'base_page.html' %}
|
||||||
{% block title %}
|
{% block title %}
|
||||||
舆情分析
|
<span data-i18n="yuqingChar">舆情分析</span>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block nav %}
|
{% block nav %}
|
||||||
<nav class="iq-sidebar-menu">
|
<nav class="iq-sidebar-menu">
|
||||||
<ul id="iq-sidebar-toggle" class="side-menu">
|
<ul id="iq-sidebar-toggle" class="side-menu">
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">首页</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="home">首页</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/home" class="svg-icon">
|
<a href="/page/home" class="svg-icon">
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">首页</span>
|
<span class="ml-2" data-i18n="home">首页</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">热词统计</span>
|
<span class="ml-2" data-i18n="hotWord">热词统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -35,11 +35,11 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">微博舆情统计</span>
|
<span class="ml-2" data-i18n="tableData">微博舆情统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">数据可视化</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="dataVisualization">数据可视化</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/articleChar" class="svg-icon">
|
<a href="/page/articleChar" class="svg-icon">
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">文章分析</span>
|
<span class="ml-2" data-i18n="articleChar">文章分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">文章内容词云图</span>
|
</i><span class="ml-2" data-i18n="articleCloud">文章内容词云图</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 mb-4 mt-1">
|
<div class="col-md-12 mb-4 mt-1">
|
||||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||||
<h4 class="font-weight-bold">舆情分析</h4>
|
<h4 class="font-weight-bold" data-i18n="yuqingChar">舆情分析</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">热词情感趋势柱状图</h4>
|
<h4 class="card-title mb-0" data-i18n="hotWordSentimentTrendBar">热词情感趋势柱状图</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">热词情感趋势树形图</h4>
|
<h4 class="card-title mb-0" data-i18n="hotWordSentimentTrendTree">热词情感趋势树形图</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
<div class="card card-block">
|
<div class="card card-block">
|
||||||
<div class="card-header d-flex justify-content-between pb-0">
|
<div class="card-header d-flex justify-content-between pb-0">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title mb-0">文章内容与评论内容舆情趋势饼状图</h4>
|
<h4 class="card-title mb-0" data-i18n="articleCommentSentimentTrendPie">文章内容与评论内容舆情趋势饼状图</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{% extends 'base_page.html' %}
|
{% extends 'base_page.html' %}
|
||||||
{% block title %}
|
{% block title %}
|
||||||
舆情预测
|
<span data-i18n="yuqingpredict">舆情预测</span>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block nav %}
|
{% block nav %}
|
||||||
<nav class="iq-sidebar-menu">
|
<nav class="iq-sidebar-menu">
|
||||||
<ul id="iq-sidebar-toggle" class="side-menu">
|
<ul id="iq-sidebar-toggle" class="side-menu">
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">首页</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="home">首页</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/home" class="svg-icon">
|
<a href="/page/home" class="svg-icon">
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">首页</span>
|
<span class="ml-2" data-i18n="home">首页</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">热词统计</span>
|
<span class="ml-2" data-i18n="hotWord">热词统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -35,11 +35,11 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">微博舆情统计</span>
|
<span class="ml-2" data-i18n="tableData">微博舆情统计</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="px-3 pt-3 pb-2 ">
|
<li class="px-3 pt-3 pb-2 ">
|
||||||
<span class="text-uppercase small font-weight-bold">数据可视化</span>
|
<span class="text-uppercase small font-weight-bold" data-i18n="dataVisualization">数据可视化</span>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
<a href="/page/articleChar" class="svg-icon">
|
<a href="/page/articleChar" class="svg-icon">
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
<span class="ml-2">文章分析</span>
|
<span class="ml-2" data-i18n="articleChar">文章分析</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class=" sidebar-layout">
|
<li class=" sidebar-layout">
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</i><span class="ml-2">文章内容词云图</span>
|
</i><span class="ml-2" data-i18n="articleCloud">文章内容词云图</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 mb-4 mt-1">
|
<div class="col-md-12 mb-4 mt-1">
|
||||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||||
<h4 class="font-weight-bold">话题统计页</h4>
|
<h4 class="font-weight-bold" data-i18n="topicStatisticsPage">话题统计页</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Binary file not shown.
@@ -5,6 +5,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>微博舆情分析系统 | 登录</title>
|
<title>微博舆情分析系统 | 登录</title>
|
||||||
<link rel="icon" href="../../../static/原神启动/favicon.ico" />
|
<link rel="icon" href="../../../static/原神启动/favicon.ico" />
|
||||||
|
<script src="/static/js/i18n.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@@ -287,9 +288,31 @@
|
|||||||
.yanzhengma:hover {
|
.yanzhengma:hover {
|
||||||
color: #aa863e;
|
color: #aa863e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 添加语言切换按钮样式 */
|
||||||
|
.language-switcher {
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
right: 20px;
|
||||||
|
background-color: rgba(255, 255, 255, 0.8);
|
||||||
|
padding: 8px 15px;
|
||||||
|
border-radius: 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
z-index: 1000;
|
||||||
|
font-size: 14px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.language-switcher:hover {
|
||||||
|
background-color: rgba(255, 255, 255, 1);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<body onclick="playAudio()">
|
<body onclick="playAudio()">
|
||||||
|
<div class="language-switcher" id="language-switcher">
|
||||||
|
<span id="language-text">切换语言</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<audio id="audio-player" autoplay class="hide-player">
|
<audio id="audio-player" autoplay class="hide-player">
|
||||||
<source
|
<source
|
||||||
src="https://lovexl-oss.oss-cn-beijing.aliyuncs.com/bed/%E5%8E%9F%E7%A5%9E%E9%A6%96%E9%A1%B5%E8%83%8C%E6%99%AF%E9%9F%B3.mp4"
|
src="https://lovexl-oss.oss-cn-beijing.aliyuncs.com/bed/%E5%8E%9F%E7%A5%9E%E9%A6%96%E9%A1%B5%E8%83%8C%E6%99%AF%E9%9F%B3.mp4"
|
||||||
|
|||||||
Reference in New Issue
Block a user