现在在用的基于flask的api
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!python3 | |
import os.path as op | |
import json | |
from flask import Flask, abort, redirect, render_template, request, url_for | |
from flask_redis import FlaskRedis | |
from flask import jsonify | |
import os | |
from flask import send_from_directory | |
import random | |
from flask_restful import reqparse, abort, Api, Resource | |
app = Flask(__name__) | |
api = Api(app) | |
app.config['REDIS_URL']="redis://:@192.168.0.112:6379/1" | |
app.config['JSON_AS_ASCII'] = False | |
rc=FlaskRedis(app,decode_responses=True) | |
Apdog="API_KEY" | |
def ver(key): | |
if key==Apdog: | |
return "OK" | |
else: | |
return "Bad" | |
def vir_key(key): | |
if key==Apdog: | |
return True | |
else: | |
return False | |
class Dog(Resource): | |
def get(self): | |
cu=rc.llen('yl') | |
bbn=random.randint(0,cu-1) | |
ddd=rc.lindex('yl',bbn) | |
rc.incr("dognum") | |
# print(json.loads(ddd)) | |
return jsonify({'id':bbn,'cnt':json.loads(ddd)}) | |
def post(self): | |
et=request.form['key'] | |
# print(et) | |
if ver(et)=="OK": | |
ty=request.form['c'] | |
ty2=request.form['f'] | |
ty3=request.form['url'] | |
ssui=json.dumps({'c':ty,'f':ty2,'url':ty3},ensure_ascii=False) | |
sio=rc.rpush('yl',ssui) | |
ddd=rc.lindex('yl',sio-1) | |
# print(ddd) | |
return jsonify({'id':sio-1,'cnt':json.loads(ddd)}) | |
# pass | |
else: | |
return "APIkey error" | |
def put(self): | |
et=request.form['key'] | |
if ver(et)=="OK": | |
ty0=request.form['id'] | |
ty=request.form['c'] | |
ty2=request.form['f'] | |
ty3=request.form['url'] | |
ssui=json.dumps({'c':ty,'f':ty2,'url':ty3},ensure_ascii=False) | |
ddd=rc.lset('yl',int(ty0),ssui) | |
return jsonify(ddd) | |
else: | |
return "APIkey error" | |
def delete(self): | |
et=request.form['key'] | |
if ver(et)=="OK": | |
ty0=request.form['id'] | |
print(ty0) | |
ddd=rc.lindex('yl',int(ty0)) | |
sti=rc.lrem('yl',0,ddd) | |
return jsonify(sti) | |
else: | |
return "APIkey error" | |
class AllDog(Resource): | |
def get(self): | |
cu=rc.llen('yl') | |
sh=rc.lrange('yl',0,cu-1) | |
tu=list(map(json.loads,sh)) | |
# print(tu[0]) | |
return jsonify(tu) | |
pass | |
class Dogkey(Resource): | |
def post(self): | |
ty=request.form['key'] | |
print(ty) | |
if ty=="siuivcdog": | |
return "OK" | |
else: | |
return "Bad" | |
pass | |
class Dognum(Resource): | |
def get(self): | |
return rc.get("dognum") | |
class Talk(Resource): | |
def get(self,page=1): | |
# return jsonify({"page":page}) | |
list_num = rc.llen('talk') | |
list_pages=rc.lrange('talk',(page-1)*10,page*10-1) | |
respons_cont=list(map(json.loads,list_pages)) | |
return jsonify({'SunNumber':list_num,'ResCont':respons_cont}) | |
def post(self,page=1): | |
api_key=request.form['key'] | |
if vir_key(api_key): | |
post_time=request.form['time'] | |
post_ua=request.form['ua'] | |
post_avatar=request.form['avatar'] | |
post_content=request.form['content'] | |
post_name=request.form['name'] | |
store_json=json.dumps({'time':post_time,'content':post_content,'avatar':post_avatar,'name':post_name,'ua':post_ua},ensure_ascii=False) | |
# store_json=json.dumps({'name':post_name},ensure_ascii=False) | |
push_res=rc.lpush('talk',store_json) | |
return jsonify({"status":"OK","res":push_res}) | |
else: | |
return jsonify("ApiKey error") | |
def put(self,page=1): | |
api_key=request.form['key'] | |
if vir_key(api_key): | |
put_id=request.form['id'] | |
put_time=request.form['time'] | |
put_ua=request.form['ua'] | |
put_avatar=request.form['avatar'] | |
put_content=request.form['content'] | |
put_name=request.form['name'] | |
store_json=json.dumps({'time':put_time,'content':put_content, 'avatar':put_avatar,'name':put_name,'ua':put_ua}, ensure_ascii=False) | |
put_res=rc.lset('talk',int(put_id),store_json) | |
return jsonify(put_res) | |
else: | |
return jsonify("ApiKey error") | |
def delete(self,page=1): | |
api_key=request.form['key'] | |
if vir_key(api_key): | |
delete_id=request.form['id'] | |
delete_content=rc.lindex('talk',int(delete_id)) | |
delete_res=rc.lrem('talk',0,delete_content) | |
return jsonify(delete_res) | |
else: | |
return jsonify("ApiKey error") | |
api.add_resource(Dog, '/d') | |
api.add_resource(AllDog, '/ad') | |
api.add_resource(Dogkey, '/key') | |
api.add_resource(Dognum, '/n') | |
api.add_resource(Talk, '/talk/<int:page>','/talk','/talk/') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment