AI阅粒app
项目架构
前端
lve
后端
php+flask
实现的功能
在app底栏上有首页,标签,评论,和我的。能够通过首页浏览文章,通过标签查看对应的文章,每个标签里边的文章底下都有对应的评论数,浏览人数,点赞数,还有总转发数
我的需求
统计app登录人数
标签个数
文章转发数
文章点赞数
app里总文章数
我的实现
统计app登录人数;
HOST = 'hdm117265566.my3w.com' DATABASE = 'hdm117265566_db' ROOT = 'hdm117265566' PASSWORD = 'uuQdkyYoyb6fZqOm'
config.py
from flask import Flask, jsonify
from conf import *
import requests
app = Flask(__name__)
import pymysql
#使用pymysql连接mysql数据库,数据库信息在config.py文件中
db = pymysql.connect(host=HOST, db=DATABASE, port=3306, user=ROOT, passwd=PASSWORD, charset='utf8', use_unicode=False)
# 获取当前登录用户总数
def get_user_count():
sql = "SELECT ID, user_login FROM wp_users GROUP BY ID"
id_list = []
try:
#使用sql语言,查询用户id和用户名
cursor = db.cursor()
cursor.execute(sql)
results = cursor.fetchall()
# 打印所有用户的id和登录名
print('==========用户名和id===========')
# 获取用户信息
# print(results)
print('查询成功')
for row in results:
id = row[0]
id_list.append(id)
idlist = set(id_list)
id_list = list(idlist)
print(id_list)
print(len(id_list))
return len(id_list)
except:
print('查询失败')
return id_list
@app.route('/get_post_comment/', methods=['GET'], strict_slashes=True)
def get_post_comment():
# 获取登录用户总数
get_user_count()
print(get_user_count())
return jsonify({'count_user':get_user_count()})
if __name__ == '__main__':
# app.run(threaded=True, host='0.0.0.0', port=8996)
app.run(debug=True)
app.py
标签个数;
文章转发数;
文章点赞数
#获取点赞数
def get_link_count():
#做连表查询,一个文章有多个赞
sql = "SELECT post_title,link FROM wp_posts LEFT JOIN wp_fr_post ON post_title=wp_fr_post.title"
id_list = []
try:
cursor = db.cursor()
cursor.execute(sql)
results = cursor.fetchall()
# 打印所有文章title,和link
print('============点赞情况==========')
# print(results)
print('查询成功')
for row in results:
id = row[0]
id_list.append(id)
id_list = list(id_list)
return len(id_list)
except:
print('查询失败')
return id_list
@app.route('/get_post_comment/', methods=['GET'], strict_slashes=True)
def get_post_comment():
#获取点赞数
# get_link_count()
if __name__ == '__main__':
# app.run(threaded=True, host='0.0.0.0', port=8996)
app.run(debug=True)
点赞逻辑
app中总文章数;
AI阅粒app的更多相关文章
- 大前端技术系列:TWA技术+TensorFlow.js => 集成原生和AI功能的app
大前端技术系列:TWA技术+TensorFlow.js => 集成原生和AI功能的app ( 本文内容为melodyWxy原作,git地址:https://github.com/melodyWx ...
- 深度解析 | 秒懂AI+智慧手机实践
阅读数:17 随着人工智能的概念越来越深入人心,智慧化生活和对应的智慧化终端体验也吸引越来越多的目光.可以想见,人工智能会深刻改变终端产业,但目前也面临各种挑战和问题.此前,在南京软件大会上,华 ...
- AI: 绘制图标的实例
AI绘制矢量电影图标 http://www.fevte.com/tutorial-2299-1.html AI绘制水晶质感QUICKTIME图标 http://wenku.baidu.com/view ...
- 释放至强平台 AI 加速潜能 汇医慧影打造全周期 AI 医学影像解决方案
基于英特尔架构实现软硬协同加速,显著提升新冠肺炎.乳腺癌等疾病的检测和筛查效率,并帮助医疗科研平台预防"维度灾难"问题 <PAGE 1 LEFT COLUMN: CUSTOM ...
- AI ubantu 环境安装
ubantu安装记录 apt install python3-pip anaconda安装 https://repo.anaconda.com/archive/Anaconda3-2020.11-Li ...
- .Net开发者必知的技术类RSS订阅指南
目录 RSS订阅资源 .Net基金会 MSDN中文版 杂志 微软 Github 系列 微软DevBlog系列 InfoQ中文版系列 如何找到大佬的 Twitter/Youtube/Stackoverf ...
- Charles抓包实战详解
访问我的博客 前言 通过上一篇文章,想必你已经掌握了如何正确安装抓包神器 Charles,如果还是抓不了包,可以再看看. 今天要做是抓包实战,因为我在做网络文学的公司就职,所以就拿网络文学的 APP ...
- 《深入理解Android2》读书笔记(四)
接上篇<深入理解Android2>读书笔记(三) ActivityManagerService(AMS) 1.AMS由ActivityManagerNative(AMN)类派生,并实现Wa ...
- ActivityManagerService服务线程启动源码分析【转】
本文转载自:http://blog.csdn.net/yangwen123/article/details/8177702 Android系统服务线程都驻留在SystemServer进程中,由Syst ...
随机推荐
- vue项目笔记
参考了很多网上其他人的 1.安装 npm与cnpm:npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装.卸载.管理依赖等):npm可以在node ...
- rk3128 手动挂载 U 盘
2019-04-16 关键字: RK . 挂载.U盘 笔者手里有一块非常原生的运行 Android 4.4 操作系统的 RK3128 开发板.原生到各种功能模块都不能用的地步.今天就遇到一个不按常理出 ...
- 介绍一款自动给添加不同浏览器CSS3前缀的插件~Autoprefixer(附其他前端开发插件)
正文 自动给CSS文件添加不同浏览器的CSS3前缀:Autoprefixer 安装 只需兼容主流浏览器 正常情况使用:(在书写完的CSS样式文件中,按F1,选择Autoprefixer CSS) 这时 ...
- [SDOI2013]森林 主席树+启发式合并
这题的想法真的很妙啊. 看到题的第一眼,我先想到树链剖分,并把\(DFS\)序当成一段区间上主席树.但是会发现在询问的时候,可能会非常复杂,因为你需要把路径拆成很多条轻链和重链,它们还不一定连续,很难 ...
- (十一)QPainter绘图, QPixmap,QImage,QPicture,QBitmap
#include "widget.h" #include "ui_widget.h" #include <QPainter> #include &l ...
- Redis的删除机制、持久化 主从
转: Redis的删除机制.持久化 主从 Redis的使用分两点: 性能如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存.这样,后面的请求就去缓存中读取 ...
- 关于DOM的事件操作
一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象 ...
- js原生触发事件
在JQ时代我们使用如下方式,可以手动触发事件 $("button").click(function(){ $("input").trigger("se ...
- 【SQL】ROW_NUMBER() OVER(partition by 分组列 order by 排序列)用法详解+经典实例
#用法说明 select row_number() over(partition by A order by B ) as rowIndex from table A :为分组字段 B:为分组后的排序 ...
- finalize()与PhantomReference学习笔记
众所周知,Java语言提供了自动垃圾回收机制,使得程序员不用考虑自己释放不再使用的内存.既然回收内存的活都让Java自己干了,程序员在这方面能干的事情就不多了.尽管如此,Java也提供了一些让程序员对 ...