项目架构

前端

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的更多相关文章

  1. 大前端技术系列:TWA技术+TensorFlow.js => 集成原生和AI功能的app

    大前端技术系列:TWA技术+TensorFlow.js => 集成原生和AI功能的app ( 本文内容为melodyWxy原作,git地址:https://github.com/melodyWx ...

  2. 深度解析 | 秒懂AI+智慧手机实践

    阅读数:17 ​​​随着人工智能的概念越来越深入人心,智慧化生活和对应的智慧化终端体验也吸引越来越多的目光.可以想见,人工智能会深刻改变终端产业,但目前也面临各种挑战和问题.此前,在南京软件大会上,华 ...

  3. AI: 绘制图标的实例

    AI绘制矢量电影图标 http://www.fevte.com/tutorial-2299-1.html AI绘制水晶质感QUICKTIME图标 http://wenku.baidu.com/view ...

  4. 释放至强平台 AI 加速潜能 汇医慧影打造全周期 AI 医学影像解决方案

    基于英特尔架构实现软硬协同加速,显著提升新冠肺炎.乳腺癌等疾病的检测和筛查效率,并帮助医疗科研平台预防"维度灾难"问题 <PAGE 1 LEFT COLUMN: CUSTOM ...

  5. AI ubantu 环境安装

    ubantu安装记录 apt install python3-pip anaconda安装 https://repo.anaconda.com/archive/Anaconda3-2020.11-Li ...

  6. .Net开发者必知的技术类RSS订阅指南

    目录 RSS订阅资源 .Net基金会 MSDN中文版 杂志 微软 Github 系列 微软DevBlog系列 InfoQ中文版系列 如何找到大佬的 Twitter/Youtube/Stackoverf ...

  7. Charles抓包实战详解

    访问我的博客 前言 通过上一篇文章,想必你已经掌握了如何正确安装抓包神器 Charles,如果还是抓不了包,可以再看看. 今天要做是抓包实战,因为我在做网络文学的公司就职,所以就拿网络文学的 APP ...

  8. 《深入理解Android2》读书笔记(四)

    接上篇<深入理解Android2>读书笔记(三) ActivityManagerService(AMS) 1.AMS由ActivityManagerNative(AMN)类派生,并实现Wa ...

  9. ActivityManagerService服务线程启动源码分析【转】

    本文转载自:http://blog.csdn.net/yangwen123/article/details/8177702 Android系统服务线程都驻留在SystemServer进程中,由Syst ...

随机推荐

  1. 关于flex布局【转】

    很受用,原文链接:http://blog.csdn.net/magneto7/article/details/70854472

  2. [LOJ3086][GXOI/GZOI2019]逼死强迫症——递推+矩阵乘法

    题目链接: [GXOI/GZOI2019]逼死强迫症 设$f[i][j]$表示前$i$列有$j$个$1*1$的格子的方案数,那么可以列出递推式子: $f[i][0]=f[i-1][0]+f[i-2][ ...

  3. 「洛谷5300」「GXOI/GZOI2019」与或和【单调栈+二进制转化】

    题目链接 [洛谷传送门] 题解 按位处理. 把每一位对应的图都处理出来 然后单调栈处理一下就好了. \(and\)操作处理全\(1\). \(or\)操作处理全\(0\). 代码 #include & ...

  4. postgreSQL可视化工具pgAdmin3 导入表结构和数据

    材料:.backup文件.postgreSQL(pgAdmin3) 1.新建一个数据库2.选中数据库右键还原,弹出框中选择本地计算机备份文件路径---->点击还原(选择一个修改时间最早和最晚的还 ...

  5. qt 视频播放器错误解决方法

    DirectShowPlayerService::doRender: Unresolved error code 0x80040266 () 当你发布的qmlproject包含QtMultimedia ...

  6. 第三周java学习总结

    学号 20175206 <Java程序设计>第三周学习总结 教材学习内容总结 本周为第四章的学习,分为以下几个方面: 1.包与代码组织 2.String类 3.对象创建 4.包装类 经过代 ...

  7. Python并发编程之多线程使用

    目录 一 开启线程的两种方式 二 在一个进程下开启多个线程与在一个进程下开启多个子进程的区别 三 练习 四 线程相关的其他方法 五 守护线程 六 Python GIL(Global Interpret ...

  8. java中53个关键字的意义及使用方法

    摘自:https://www.cnblogs.com/feng9exe/p/9224450.html 1.java的关键字分别是什么,作用是什么? static 例子: public class Te ...

  9. spring的事件驱动模型

    在工作中会遇到这样的业务,生成一个订单后需要给指定的用户发送短信或者邮件,但是短信或者邮件发送失败又不会影响正常的业务: 这里介绍通过ApplicationContext和spring的@EventL ...

  10. 自定义element-ui中的图标

    element-ui图标库图标较少,比如有关于登录页面输入框里的用户名和密码的小图标就没有,这个时候可以自定义图标. <el-input v-model="loginForm.user ...