Compare commits

...

8 Commits

Author SHA1 Message Date
mrlan 19ea14b38c Merge pull request '提供更便利的获取用户单词表的方法,以json数据格式返回' (#93) from SPM2023S-QianJunQi into Alpha-snapshot20240618
Reviewed-on: #93
2024-08-31 07:39:00 +08:00
Lan Hui 621ac24991 Give the blueprint a better name: apiService 2024-08-31 07:38:30 +08:00
Lan Hui ceb5f14ee9 Simplify wordCMD.py and rename it to api_service.py 2024-08-31 07:35:50 +08:00
Lan Hui 8f31b030ea Resolve merge conflicts 2024-08-31 06:59:46 +08:00
poincareS 0ed7657747 Merge remote-tracking branch 'origin/SPM2023S-QianJunQi' into SPM2023S-QianJunQi
# Conflicts:
#	app/wordCMD.py
2023-06-04 10:42:40 +08:00
poincareS 2fb3003808 fix: 2023.6.1
1. 删去了wordCMD.py中:
from flask import ....,Blueprint,....
改为:
from flask import *
2. 修改了代码的格式,包括:等号两边的空格、加号两边的空格
3. 更新了访问用户单词的token验证
3.1 使用Authorization的字段值(Bearer xxx)验证token
3.2 取消了路由访问用户单词的功能,只能在终端命令行中输入: "curl -H "Authorization: Bearer 密钥" http://127.0.0.1:5000/show/用户名/"获取单词
2023-06-04 10:41:24 +08:00
poincareS dc37f5f229 提供更便利的获取用户单词表的方法,以json数据格式范围
1、注册了一个新的蓝图路径以供功能实现
2、wordCMD中完成功能的代码代码实现
2023-05-26 17:34:43 +08:00
poincareS e9ec65e7a5 提供更便利的获取用户单词表的方法,以json数据格式范围
1、注册了一个新的蓝图路径以供功能实现
2、wordCMD中完成功能的代码代码实现
2023-05-26 17:29:59 +08:00
2 changed files with 34 additions and 0 deletions

31
app/api_service.py Normal file
View File

@ -0,0 +1,31 @@
from flask import *
from flask_httpauth import HTTPTokenAuth
from Article import load_freq_history
path_prefix = '/var/www/wordfreq/wordfreq/'
path_prefix = './' # comment this line in deployment
apiService = Blueprint('site',__name__)
auth = HTTPTokenAuth(scheme='Bearer')
tokens = {
"token": "token",
"secret-token": "lanhui" # token, username
}
@auth.verify_token
def verify_token(token):
if token in tokens:
return tokens[token]
@apiService.route('/api/mywords') # HTTPie usage: http -A bearer -a secret-token http://127.0.0.1:5000/api/mywords
@auth.login_required
def show():
username = auth.current_user()
word_freq_record = path_prefix + 'static/frequency/' + 'frequency_%s.pickle' % (username)
d = load_freq_history(word_freq_record)
return jsonify(d)

View File

@ -10,9 +10,11 @@ import Yaml
from user_service import userService
from account_service import accountService
from admin_service import adminService, ADMIN_NAME
from api_service import apiService
import os
from translate import *
app = Flask(__name__)
app.secret_key = os.urandom(32)
@ -20,6 +22,7 @@ app.secret_key = os.urandom(32)
app.register_blueprint(userService)
app.register_blueprint(accountService)
app.register_blueprint(adminService)
app.register_blueprint(apiService)
path_prefix = '/var/www/wordfreq/wordfreq/'
path_prefix = './' # comment this line in deployment