解决超话签到中选择性签到的逻辑问题
This commit is contained in:
@@ -1085,7 +1085,9 @@ def account_topics(account_id):
|
||||
try:
|
||||
resp = api_request('GET', f'{API_BASE_URL}/api/v1/accounts/{account_id}/topics')
|
||||
data = resp.json()
|
||||
topics = data.get('data', {}).get('topics', []) if data.get('success') else []
|
||||
payload = data.get('data', {}) if data.get('success') else {}
|
||||
topics = payload.get('topics', [])
|
||||
selected_topics = payload.get('selected_topics') or []
|
||||
|
||||
# 获取账号信息
|
||||
acc_resp = api_request('GET', f'{API_BASE_URL}/api/v1/accounts/{account_id}')
|
||||
@@ -1096,12 +1098,32 @@ def account_topics(account_id):
|
||||
flash('账号不存在', 'danger')
|
||||
return redirect(url_for('dashboard'))
|
||||
|
||||
return render_template('topics.html', account=account, topics=topics, user=session.get('user'))
|
||||
return render_template('topics.html', account=account, topics=topics, selected_topics=selected_topics, user=session.get('user'))
|
||||
except Exception as e:
|
||||
flash(f'获取超话列表失败: {str(e)}', 'danger')
|
||||
return redirect(url_for('account_detail', account_id=account_id))
|
||||
|
||||
|
||||
@app.route('/accounts/<account_id>/topics/save', methods=['POST'])
|
||||
@login_required
|
||||
def save_topics(account_id):
|
||||
"""保存用户选择的签到超话"""
|
||||
try:
|
||||
body = request.json
|
||||
resp = api_request(
|
||||
'PUT',
|
||||
f'{API_BASE_URL}/api/v1/accounts/{account_id}/topics',
|
||||
json=body,
|
||||
)
|
||||
data = resp.json()
|
||||
if data.get('success'):
|
||||
return jsonify({'success': True, 'message': data.get('message', '保存成功')})
|
||||
else:
|
||||
return jsonify({'success': False, 'message': data.get('message', '保存失败')}), 400
|
||||
except Exception as e:
|
||||
return jsonify({'success': False, 'message': str(e)}), 500
|
||||
|
||||
|
||||
@app.route('/accounts/<account_id>/signin-selected', methods=['POST'])
|
||||
@login_required
|
||||
def signin_selected(account_id):
|
||||
|
||||
Reference in New Issue
Block a user