You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
blivechat/main.py

44 lines
1.1 KiB
Python

5 years ago
# -*- coding: utf-8 -*-
import logging
5 years ago
import os
import tornado.ioloop
import tornado.web
import chat
logger = logging.getLogger(__name__)
5 years ago
WEB_ROOT = os.path.join(os.path.dirname(__file__), 'frontend', 'dist')
# noinspection PyAbstractClass
class MainHandler(tornado.web.StaticFileHandler):
"""为了使用Vue Router的history模式把所有请求转发到index.html"""
async def get(self, *args, **kwargs):
await super().get('index.html', *args, **kwargs)
def main():
logging.basicConfig(
format='{asctime} {levelname} [{name}]: {message}',
datefmt='%Y-%m-%d %H:%M:%S',
style='{',
level=logging.INFO
)
5 years ago
app = tornado.web.Application([
(r'/chat', chat.ChatHandler),
5 years ago
(r'/((css|img|js)/.*)', tornado.web.StaticFileHandler, {'path': WEB_ROOT}),
(r'/(favicon\.ico)', tornado.web.StaticFileHandler, {'path': WEB_ROOT}),
(r'/.*', MainHandler, {'path': WEB_ROOT})
], websocket_ping_interval=30)
5 years ago
app.listen(80, '127.0.0.1')
logger.info('服务器启动127.0.0.1:80')
5 years ago
tornado.ioloop.IOLoop.current().start()
if __name__ == '__main__':
main()