mirror of
https://github.com/Lost-MSth/Arcaea-server.git
synced 2026-02-09 09:17:26 +08:00
Code refactoring
- Code refactoring - Fix a bug that the other player will not become the host of the room at once, when the player disconnect in link play. > Maybe add many unknown bugs. XD > The song database `arcsong.db` will not used in the future. You can use a tool in `tool` folder to import old data.
This commit is contained in:
@@ -1,13 +1,15 @@
|
||||
from flask import Blueprint, request
|
||||
from core.error import ArcError, NoAccess
|
||||
from core.sql import Connect
|
||||
from core.user import UserRegister, UserLogin, User, UserOnline
|
||||
from core.character import UserCharacter
|
||||
from core.error import ArcError, NoAccess
|
||||
from core.item import ItemCore
|
||||
from .func import error_return, success_return
|
||||
from .auth import auth_required
|
||||
from core.save import SaveData
|
||||
from core.sql import Connect
|
||||
from core.user import User, UserLogin, UserOnline, UserRegister
|
||||
from flask import Blueprint, request
|
||||
from setting import Config
|
||||
|
||||
from .auth import auth_required
|
||||
from .func import error_return, success_return
|
||||
|
||||
bp = Blueprint('user', __name__, url_prefix='/user')
|
||||
|
||||
|
||||
@@ -41,6 +43,17 @@ def register():
|
||||
return error_return()
|
||||
|
||||
|
||||
@bp.route('/me', methods=['GET']) # 用户信息
|
||||
@auth_required(request)
|
||||
def user_me(user_id):
|
||||
with Connect() as c:
|
||||
try:
|
||||
return success_return(UserOnline(c, user_id).to_dict())
|
||||
except ArcError as e:
|
||||
return error_return(e)
|
||||
return error_return()
|
||||
|
||||
|
||||
@bp.route('/me/character', methods=['POST']) # 角色切换
|
||||
@auth_required(request)
|
||||
def character_change(user_id):
|
||||
@@ -73,7 +86,8 @@ def toggle_uncap(user_id, character_id):
|
||||
return error_return()
|
||||
|
||||
|
||||
@bp.route('/me/character/<int:character_id>/uncap', methods=['POST']) # 角色觉醒
|
||||
# 角色觉醒
|
||||
@bp.route('/me/character/<int:character_id>/uncap', methods=['POST'])
|
||||
@auth_required(request)
|
||||
def character_first_uncap(user_id, character_id):
|
||||
with Connect() as c:
|
||||
@@ -88,7 +102,8 @@ def character_first_uncap(user_id, character_id):
|
||||
return error_return()
|
||||
|
||||
|
||||
@bp.route('/me/character/<int:character_id>/exp', methods=['POST']) # 角色使用以太之滴
|
||||
# 角色使用以太之滴
|
||||
@bp.route('/me/character/<int:character_id>/exp', methods=['POST'])
|
||||
@auth_required(request)
|
||||
def character_exp(user_id, character_id):
|
||||
with Connect() as c:
|
||||
@@ -106,6 +121,72 @@ def character_exp(user_id, character_id):
|
||||
return error_return()
|
||||
|
||||
|
||||
@bp.route('/me/save', methods=['GET']) # 从云端同步
|
||||
@auth_required(request)
|
||||
def cloud_get(user_id):
|
||||
with Connect() as c:
|
||||
try:
|
||||
user = User()
|
||||
user.user_id = user_id
|
||||
save = SaveData(c)
|
||||
save.select_all(user)
|
||||
return success_return(save.to_dict)
|
||||
except ArcError as e:
|
||||
return error_return(e)
|
||||
return error_return()
|
||||
|
||||
|
||||
@bp.route('/me/save', methods=['POST']) # 向云端同步
|
||||
@auth_required(request)
|
||||
def cloud_post(user_id):
|
||||
with Connect() as c:
|
||||
try:
|
||||
user = User()
|
||||
user.user_id = user_id
|
||||
save = SaveData(c)
|
||||
save.set_value(
|
||||
'scores_data', request.form['scores_data'], request.form['scores_checksum'])
|
||||
save.set_value(
|
||||
'clearlamps_data', request.form['clearlamps_data'], request.form['clearlamps_checksum'])
|
||||
save.set_value(
|
||||
'clearedsongs_data', request.form['clearedsongs_data'], request.form['clearedsongs_checksum'])
|
||||
save.set_value(
|
||||
'unlocklist_data', request.form['unlocklist_data'], request.form['unlocklist_checksum'])
|
||||
save.set_value(
|
||||
'installid_data', request.form['installid_data'], request.form['installid_checksum'])
|
||||
save.set_value('devicemodelname_data',
|
||||
request.form['devicemodelname_data'], request.form['devicemodelname_checksum'])
|
||||
save.set_value(
|
||||
'story_data', request.form['story_data'], request.form['story_checksum'])
|
||||
|
||||
save.update_all(user)
|
||||
return success_return({'user_id': user.user_id})
|
||||
except ArcError as e:
|
||||
return error_return(e)
|
||||
return error_return()
|
||||
|
||||
|
||||
@bp.route('/me/setting/<set_arg>', methods=['POST']) # 三个设置
|
||||
@auth_required(request)
|
||||
def sys_set(user_id, set_arg):
|
||||
with Connect() as c:
|
||||
try:
|
||||
value = request.form['value']
|
||||
user = UserOnline(c, user_id)
|
||||
if 'favorite_character' == set_arg:
|
||||
user.change_favorite_character(int(value))
|
||||
else:
|
||||
value = 'true' == value
|
||||
if 'is_hide_rating' == set_arg:
|
||||
user.change_is_hide_rating(value)
|
||||
elif 'max_stamina_notification_enabled' == set_arg:
|
||||
user.change_max_stamina_notification_enabled(value)
|
||||
return success_return(user.to_dict())
|
||||
except ArcError as e:
|
||||
return error_return(e)
|
||||
return error_return()
|
||||
|
||||
|
||||
@bp.route('/me/request_delete', methods=['POST']) # 删除账号
|
||||
@auth_required(request)
|
||||
def user_delete(user_id):
|
||||
|
||||
Reference in New Issue
Block a user