Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
ZongXun-123 authored Sep 7, 2024
1 parent b271ea8 commit 3e4311e
Show file tree
Hide file tree
Showing 2 changed files with 100 additions and 0 deletions.
87 changes: 87 additions & 0 deletions art_firebase.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import firebase_admin
from firebase_admin import credentials, db
from datetime import datetime
from flask import Flask, request, jsonify

# 初始化 Firebase
cred = credentials.Certificate('townpass-20d9f-firebase-adminsdk-r8k3s-9e1173e9a9.json') # 替换为你的 Firebase Admin SDK JSON 文件路径
firebase_admin.initialize_app(cred, {
'databaseURL': 'https://townpass-20d9f-default-rtdb.firebaseio.com/' # 替换为你的 Firebase 数据库 URL
})

app = Flask(__name__)

@app.route('/add_art', methods=['POST'])
def add_art():
data = request.json # 获取请求中的 JSON 数据
if not data:
return jsonify({'error': 'No data provided'}), 400

user_id = data.get('user_id')
art_id = data.get('art_id')


if not user_id or not art_id:
return jsonify({'error': 'Missing user_id or art_id'}), 400


# 自动记录当前系统时间
current_time = datetime.now().strftime('%Y-%m-%d')

art_data = {
'art_id': art_id,
'time': current_time
}

user_ref = db.reference(f'Users/{user_id}')
existing_data = user_ref.get()
if existing_data is None:
# user_id 不存在,创建新的 user_id 节点并存储数据
user_ref.set({}) # 仅初始化 user_id 节点
user_ref.child('data').push(art_data) # 使用 push 添加新数据到 data 列表中
message = f"User {user_id} created successfully with data: {art_data}!"
else:
# user_id 已存在,直接在该节点下插入数据
user_ref.child('data').push(art_data) # 使用 push 添加新数据到 data 列表中
message = f"User {user_id} created successfully with data: {art_data}!"

return jsonify({'message': message}), 200

@app.route('/add_art', methods=['GET'])
def get_art():
user_id = request.args.get('user_id')
if not user_id:
return jsonify('NoRecord'), 200

user_ref = db.reference(f'Users/{user_id}')
existing_data = user_ref.get()
if existing_data is None:
# 用户不存在,不返回数据
return jsonify('NoRecord'), 200

# 用户存在,返回数据
data = existing_data.get('data', [])
return jsonify(data), 200


if __name__ == '__main__':
app.run(debug=True)

#更新資料
#updated_data = {
#'id': user_id,
#'name': art_name,
#'address': address,
#'time': current_time
#}

# 将數據推到Firebase
#ref = db.reference('Users') #設定資料庫節點

#更新資料
#user_ref = ref.order_by_child('id').equal_to(user_id).get()
#for key in user_ref:
#ref.child(key).update(updated_data)



13 changes: 13 additions & 0 deletions townpass-20d9f-firebase-adminsdk-r8k3s-9e1173e9a9.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"type": "service_account",
"project_id": "townpass-20d9f",
"private_key_id": "9e1173e9a98fdb559d5af3657f9af6e3e5adaa4e",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDYfrmKa4vajiJD\nBry4xscm1P9bhKfMYWLZ9g3zc08lRcri0r9HXNelv3cPQn/OTRCt/j/WJ84+iNLn\nJZiMsPxURGh/5jI7f2CKULIIapPj6ijzzTx3JeUD8qhbz3+gX/l+e6zbitP5FhVb\nmi2p70qGbi3KLDvddMOw9qLiM+WfmRiT5sDE7FMiCa7k5O+l9D1+iZ6PdubZ5BCT\nVQ9TdZIcoxShYw5GvzIHYXkldvD95pxp5W1KOWPsEa/snr7vOLs1NfLGEf7ouI1R\njiUTRQ4vYwFRLchc2VxfTcooJR5QlzaBFo2flaX0AIVDnN3wDj8T50d+ALj6SFDs\nHMZxUUIrAgMBAAECggEAH/qEDJq7M0LYc78chEy0YRuIRqvvH0TpVZm/UM0hDTfk\ncqG/qFph7jU8cHAZsc73XkQWiNsjX2BVitgmUu3Xr9jU+MN3ewtjJrspuQ2JH9rY\nRr7zpgPecrlWvg0F5JoYn+LD00AL9Jia+gdppFbY0seWkuz6wMj9GPgtci1JR0wP\n1gEUV0ZXQSPmvt8tFie94lz012YWkdPEFl91Byzg3yvbfEgZnJVd2yfCKj7yi2QU\n7Zbb2Z8iJ3fykWMaEAKGkK++AWJCzqP7TLH07bNwQTcUwfiOGsfnmh2sdQURbfbu\nTM6kxY0HiBfB1K7DNQC2o8w96Gy872ia4Rashe7nXQKBgQD1XeQA6b7U9O4cxKtR\nPnv/Q6Xzl77aCXiPaAU60JLgNP0qj5XNIibZODBjKVaqkxqGnPNTQ7TwGeahVVcP\nL2V6pQwsGfa0fFWJWaSYW+DmADeUBhNCXANyTfsW2RSwb5U3LuIag9DsXDTqNbSY\nFK+gymSrlKyut6jt8+/OAdRVbwKBgQDh4IegQiLcerFlwd8m3UlNZLdXO9EDz9eu\nBB6KF37FhpNznnyIwDy65/sXEamYiGzmxuifbWbacBFuUAvRCl7/lRZH9UkuSeG6\nV1GbbcWpGWIkZYbrTgqRulajh4KbQe6elE4xEgP6oYhbuGiPYUaJVEokyTGgL5Fn\nIR/MRQhZBQKBgEaxcHma3vJ4Rwpe14Um3Y7kLLIMLF6hj+yxaaBSa57RZYeXqu9Z\nQZwgBkDrrh6jF2dlXO3GeiEbNUmSTuz/GNvHJcSnDl9d2z8hZrzG6/sYYOry/SWH\nYS7TrN4eWUmkPHeTuG0vQUh4IH7CTm/qtdc7uNl+kmocXD2CpLrT6BtdAoGAbb+t\nxmU8EQqgVUPszDJq4mrUVlNfDE4Zipi/yfL+irUHwf64na1iFKKQsrXHRLDM0RjG\ngGgkuHAJWCMWirxSSjbDO7VnmFEXl3XD1hRxHOeTcwHNm1kw83upiw1VnWBcs7p1\nf4w0WLvRyFcCnt/x6NoGqHcFYMKcEJLco2DLXI0CgYEA48k+LwlKrHPRSu1wXcuP\n1uM8UY1CpZMaM4uSTYBq1/iheuuMV0uEp3bPy9SzUbpg3XygSZlLUchKRWaHWa2i\nuIEh0mi8O51v04VW+QpwT0L+FpDZOvp/tsJC9VdWA1rgpLwBXMQPMJgs0XqVUJ6D\nE+rxPrM7Mk8nu2rovJIeD9E=\n-----END PRIVATE KEY-----\n",
"client_email": "[email protected]",
"client_id": "118370197313751029205",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-r8k3s%40townpass-20d9f.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}

0 comments on commit 3e4311e

Please sign in to comment.