京东上车网页机器人演示站:胡胡bot
本文基于python和pro登录
网页基于python的flask开发,调用pro的接口,网页机器人支持支持扫码、短信登录、查询
falsk框架:
import random
import requests
from flask import Flask, request, render_template,jsonify
app = Flask(__name__)
keyword_replies = {
'你好': '你好!请问有什么可以帮助您的吗?',
'查询': '请访问<br> http://ip/#/login',
}
@app.route('/')
def home():
return render_template('index.html')
@app.route('/chat', methods=['POST'])
def chat():
user_message = request.form['user_input']
if user_message in keyword_replies:
bot_response = get_bot_response(user_message)
if bot_response.startswith('http'):
return jsonify({'response': bot_response, 'is_image': True})
else:
return jsonify({'response': bot_response, 'is_image': False})
else:
response = suijishu(user_message)
return jsonify({'response': response, 'is_image': False})
def get_bot_response(user_message):
for keyword, reply in keyword_replies.items():
if keyword in user_message:
if keyword == '图片':
image_url = 'https://api.btstu.cn/sjbz/api.php?type=pc'
return image_url
else:
return reply
return keyword_replies['默认回复']
def suijishu(user_message):
if user_message == "随机":
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
random_number = random.choice(numbers)
random_number = str(random_number)
return random_number
else:
return "错误"
if __name__ == '__main__':
app.run(debug=True)
html代码:
<!DOCTYPE html>
<html>
<head>
<title>Chatbot</title>
<style>
* {
box-sizing: border-box;
}
body {
background-color: #f5f5f5;
font-family: Arial, sans-serif;
}
#container {
max-width: 600px;
margin: auto;
padding: 20px;
}
h1 {
text-align: center;
margin-bottom: 20px;
}
#chatbox {
height: 400px;
width: 100%;
border: 1px solid #ccc;
padding: 10px;
overflow-y: scroll;
background-color: #fff;
border-radius: 5px;
}
.message-container {
margin-bottom: 10px;
}
.user-message {
background-color: #dcf8c6;
color: #333;
border: 1px solid #a3d9a5;
padding: 10px;
border-radius: 5px;
}
.bot-message {
background-color: #ebebeb;
color: #333;
border: 1px solid #ccc;
padding: 10px;
border-radius: 5px;
}
.input-container {
display: flex;
margin-top: 20px;
}
#user_input {
flex: 1;
padding: 10px;
border: none;
border-radius: 5px;
}
#submit {
padding: 10px 20px;
border: none;
background-color: #4caf50;
color: #fff;
border-radius: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<div id="container">
<h1>Chatbot</h1>
<div id="chatbox"></div>
<div class="input-container">
<input type="text" id="user_input">
<input type="button" value="Send" id="submit">
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function () {
$('#submit').click(function () {
var user_input = $('#user_input').val();
$('#user_input').val('');
$.ajax({
url: '/chat',
type: 'POST',
data: { user_input: user_input },
success: function (response) {
if (response.is_image) {
$('#chatbox').append('<div class="message-container"><p class="user-message"><strong>You:</strong> ' + user_input + '</p></div>');
var imageUrl = response.response + '?t=' + new Date().getTime();
$('#chatbox').append('<div class="message-container"><img src="' + imageUrl + '" alt="Chatbot Image" style="max-width: 100%; height: auto;"></div>');
} else {
$('#chatbox').append('<div class="message-container"><p class="user-message"><strong>You:</strong> ' + user_input + '</p></div>');
$('#chatbox').append('<div class="message-container"><p class="bot-message"><strong>Bot:</strong> ' + response.response + '</p></div>');
}
$('#chatbox').scrollTop($('#chatbox')[0].scrollHeight);
}
});
});
$("#user_input").keypress(function (event) {
if (event.which == 13) {
event.preventDefault();
$("#submit").click();
}
});
});
</script>
</body>
</html>