fitter li's program

This commit is contained in:
RainSun 2019-12-21 10:14:04 +08:00
parent 3c575870a1
commit 16bb6904c4
6 changed files with 156 additions and 7 deletions

13
gunicornLi.conf Normal file
View File

@ -0,0 +1,13 @@
# 并行工作线程数
workers = 4
# 监听内网端口5000【按需要更改】
bind = '127.0.0.1:5001'
# 设置守护进程【关闭连接时,程序仍在运行】
daemon = True
# 设置超时时间120s默认为30s。按自己的需求进行设置
timeout = 120
# 设置访问日志和错误信息日志路径
accesslog = './logsLi/acess.log'
errorlog = './logsLi/error.log'
#自动重启
autostart = True

13
gunicornMe.conf Normal file
View File

@ -0,0 +1,13 @@
# 并行工作线程数
workers = 4
# 监听内网端口5000【按需要更改】
bind = '127.0.0.1:5000'
# 设置守护进程【关闭连接时,程序仍在运行】
daemon = True
# 设置超时时间120s默认为30s。按自己的需求进行设置
timeout = 120
# 设置访问日志和错误信息日志路径
accesslog = './logsMe/acess.log'
errorlog = './logsMe/error.log'
#自动重启
autostart = True

View File

@ -9,11 +9,11 @@ import os
# 主函数
# 处理登录操作 debug完成
def manageLogin(request):
def manageLogin(request, where):
if checkContent(request.form['code'],request.form['sign']): # 校验
res = getOpenid(request.form['code']) # 获取openid
res = getOpenid(request.form['code'], where) # 获取openid
if res['errcode'] == 200: # 获取成功返回用户信息
return {'userInfo': findUser(res['errmsg']['openid']), 'openid': res['errmsg']['openid'], 'errcode': 200}
return {'userInfo': findUser(res['errmsg']['openid']), 'openid': res['errmsg']['openid'], 'errcode': 200, 'from': where}
else: # 获取失败返回失败信息
return res
else:
@ -83,6 +83,7 @@ def addQR(request):
if checked:
res = insertCode(checked)
if res:
res_cache = res
res = json.loads(res) # res是str 转成json
res = res['$oid'] # 取到里边的id
data = findCode(res) # 获取到所有的信息
@ -92,7 +93,7 @@ def addQR(request):
f.close()
except IOError:
return False
return {'errcode': 200, 'id': res, 'data':data}
return {'errcode': 200, 'id': res_cache, 'data':data}
else:
return False
else:

View File

@ -1,8 +1,11 @@
from requests import request
import json
def getOpenid(code):
url = 'https://api.weixin.qq.com/sns/jscode2session?appid=wx0df150c438e4c8f0&secret=e43b9f0356a29c8e5b39e79bb27376f1&js_code='+ code +'&grant_type=authorization_code'
def getOpenid(code, where):
if where == 1:
url = 'https://api.weixin.qq.com/sns/jscode2session?appid=wx0df150c438e4c8f0&secret=e43b9f0356a29c8e5b39e79bb27376f1&js_code='+ code +'&grant_type=authorization_code'
else:
url = 'https://api.weixin.qq.com/sns/jscode2session?appid=wxc4c92bdf93bfa247&secret=488e9b8f1ea69a0cc0bf0e0ed4d572ae&js_code='+ code +'&grant_type=authorization_code'
response=request('GET',url)
if(response.status_code != 200):
return {

116
qrcodeLi.py Normal file
View File

@ -0,0 +1,116 @@
import sys
sys.path.append('./lib')
import os
from flask import Flask, escape, url_for, request, render_template, redirect, abort, send_from_directory
from allFunction import manageLogin, findQR, flash, delQR, manageNotify, createOrder, checkOrder, addQR
app = Flask(__name__)
if __name__ == '__main__':
app.run()
# 用户小程序登录
@app.route('/li/login',methods=['POST'])
def login():
res = manageLogin(request, 2)
if(res):
return res
else:
abort(400)
# # 用户扫描二维码
# @app.route('/qr',methods=['GET'])
# def qr():
# res = findQR(request)
# if(res):
# return render_template('qrcode.html',data = res)
# else:
# abort(410)
# 小程序刷新用户信息
@app.route('/li/reflash',methods=['POST'])
def reflash():
res = flash(request)
if(res):
return res
else:
abort(400)
# 用户删除二维码
@app.route('/li/del',methods=['POST'])
def delQRCode():
res = delQR(request)
if(res):
return res
else:
abort(400)
# 用户添加二维码
@app.route('/li/add',methods=['POST'])
def addQRCode():
res = addQR(request)
if(res):
return res
else:
abort(400)
# 创建新的订单(暂时废弃)
# @app.route('/newOrder',methods=['POST'])
# def newOrder():
# res = createOrder(request)
# if(res):
# return res
# else:
# abort(400)
# 处理订单异步通知(暂时废弃)
# @app.route('/notify',methods=['POST'])
# def notify():
# manageNotify(request)
# return 'ok'
# 小程序查询订单状态(暂时废弃)
# @app.route('/checkOrder',methods=['POST'])
# def check():
# res = checkOrder(request)
# print(res)
# if res:
# return res
# else:
# abort(500)
# 控制小程序是否显示“最佳案例”
@app.route('/li/config', methods=['post'])
def config():
return {'errcode': 200, 'showBest': 'true'}
# 图标
@app.route('/li/favicon.ico')
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'),'favicon.ico', mimetype='image/vnd.microsoft.icon')
@app.route('/li/<path>')
def notDefind():
abort(404)
# 二维码查询失败重定向, 404
@app.errorhandler(404)
def page_not_found(e):
return render_template('404.html'), 404
@app.errorhandler(400)
def page_not_found(e):
return render_template('400.html'), 400
@app.errorhandler(500)
def page_not_found(e):
return render_template('500.html'), 500
@app.errorhandler(410)
def page_not_found(e):
return render_template('410.html'), 500
# 目前的安全模式依赖于限制post访问非对称加密校验对所有内容进行规则审查
# 主要还是防止有人恶意访问等到写密码本的时候尝试模拟ssl加密模式

View File

@ -13,7 +13,7 @@ if __name__ == '__main__':
# 用户小程序登录
@app.route('/login',methods=['POST'])
def login():
res = manageLogin(request)
res = manageLogin(request, 1)
if(res):
return res
else:
@ -91,6 +91,9 @@ def config():
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'),'favicon.ico', mimetype='image/vnd.microsoft.icon')
@app.route('/<path>')
def notDefind():
abort(404)
# 二维码查询失败重定向, 404
@app.errorhandler(404)