mirror of
https://github.com/Lost-MSth/Arcaea-server.git
synced 2026-02-09 09:17:26 +08:00
Update to v2.8.6 without release
- Code refactoring - Update the song database - Fix a bug of the friend system which arose in the last version - Fix a bug of duplicate calculating finishing states when players finish playing the chart in Link Play.
This commit is contained in:
@@ -2,7 +2,9 @@ from flask import Blueprint
|
||||
from setting import Config
|
||||
from . import user
|
||||
from . import auth
|
||||
from . import friend
|
||||
|
||||
bp = Blueprint('server', __name__, url_prefix=Config.GAME_API_PREFIX)
|
||||
bp.register_blueprint(user.bp)
|
||||
bp.register_blueprint(auth.bp)
|
||||
bp.register_blueprint(auth.bp)
|
||||
bp.register_blueprint(friend.bp)
|
||||
|
||||
@@ -1149,4 +1149,10 @@ class Constant:
|
||||
}, {
|
||||
"unlock_key": "cyberneciacatharsis|2|0",
|
||||
"complete": 1
|
||||
}, {
|
||||
"unlock_key": "sanskia|1|0",
|
||||
"complete": 1
|
||||
}, {
|
||||
"unlock_key": "sanskia|2|0",
|
||||
"complete": 1
|
||||
}]
|
||||
|
||||
49
latest version/server/friend.py
Normal file
49
latest version/server/friend.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from flask import Blueprint, request
|
||||
from core.sql import Connect
|
||||
from core.error import ArcError
|
||||
from core.user import UserOnline, code_get_id
|
||||
from .func import error_return, success_return
|
||||
from .auth import auth_required
|
||||
|
||||
bp = Blueprint('friend', __name__, url_prefix='/friend')
|
||||
|
||||
|
||||
@bp.route('/me/add', methods=['POST']) # 加好友
|
||||
@auth_required(request)
|
||||
def add_friend(user_id):
|
||||
with Connect() as c:
|
||||
try:
|
||||
friend_code = request.form['friend_code']
|
||||
friend_id = code_get_id(c, friend_code)
|
||||
user = UserOnline(c, user_id)
|
||||
user.add_friend(friend_id)
|
||||
|
||||
return success_return({
|
||||
"user_id": user.user_id,
|
||||
"updatedAt": "2020-09-07T07:32:12.740Z",
|
||||
"createdAt": "2020-09-06T10:05:18.471Z",
|
||||
"friends": user.friends
|
||||
})
|
||||
except ArcError as e:
|
||||
return error_return(e)
|
||||
return error_return()
|
||||
|
||||
|
||||
@bp.route('/me/delete', methods=['POST']) # 删好友
|
||||
@auth_required(request)
|
||||
def delete_friend(user_id):
|
||||
with Connect() as c:
|
||||
try:
|
||||
friend_id = int(request.form['friend_id'])
|
||||
user = UserOnline(c, user_id)
|
||||
user.delete_friend(friend_id)
|
||||
|
||||
return success_return({
|
||||
"user_id": user.user_id,
|
||||
"updatedAt": "2020-09-07T07:32:12.740Z",
|
||||
"createdAt": "2020-09-06T10:05:18.471Z",
|
||||
"friends": user.friends
|
||||
})
|
||||
except ArcError as e:
|
||||
return error_return(e)
|
||||
return error_return()
|
||||
@@ -3,6 +3,7 @@ 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.item import ItemCore
|
||||
from .func import error_return, success_return
|
||||
from .auth import auth_required
|
||||
from setting import Config
|
||||
@@ -63,11 +64,49 @@ def toggle_uncap(user_id, character_id):
|
||||
try:
|
||||
user = User()
|
||||
user.user_id = user_id
|
||||
character = UserCharacter(c)
|
||||
character.character_id = character_id
|
||||
character = UserCharacter(c, character_id)
|
||||
character.change_uncap_override(user)
|
||||
character.select_character_info(user)
|
||||
return success_return({'user_id': user.user_id, 'character': [character.to_dict]})
|
||||
except ArcError as e:
|
||||
return error_return(e)
|
||||
return error_return()
|
||||
|
||||
|
||||
@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:
|
||||
try:
|
||||
user = UserOnline(c, user_id)
|
||||
character = UserCharacter(c, character_id)
|
||||
character.select_character_info(user)
|
||||
character.character_uncap(user)
|
||||
return success_return({'user_id': user.user_id, 'character': [character.to_dict], 'cores': user.cores})
|
||||
except ArcError as e:
|
||||
return error_return(e)
|
||||
return error_return()
|
||||
|
||||
|
||||
@bp.route('/me/character/<int:character_id>/exp', methods=['POST']) # 角色使用以太之滴
|
||||
@auth_required(request)
|
||||
def character_exp(user_id, character_id):
|
||||
with Connect() as c:
|
||||
try:
|
||||
user = UserOnline(c, user_id)
|
||||
character = UserCharacter(c, character_id)
|
||||
character.select_character_info(user)
|
||||
core = ItemCore(c)
|
||||
core.amount = - int(request.form['amount'])
|
||||
core.item_id = 'core_generic'
|
||||
character.upgrade_by_core(user, core)
|
||||
return success_return({'user_id': user.user_id, 'character': [character.to_dict], 'cores': user.cores})
|
||||
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):
|
||||
return error_return(ArcError('Cannot delete the account.', 151)), 404
|
||||
|
||||
Reference in New Issue
Block a user