Вы можете назначить переменную (боковую панель) интерфейса для явного указания того, что она получит или назначит ей, чтобы она не выдавала ошибку времени компиляции.
this.sidebarService.getSidebar().subscribe((sidebar: any) => {
this.sidebar = sidebar.content;
});
Недавно я сделал что-то в этом направлении, с простым веб-приложением для закладок. У меня есть обычный способ создания закладки в закладки что-то, но я также хотел иметь возможность отправлять по электронной почте ссылки на него из таких приложений, как Reeder на моем iPhone и т. Д. Вы можете видеть, что я закончил с GitHub: subMarks .
Я использую Google Apps для своего домена для своей электронной почты, поэтому я создал специальный адрес для своего приложения, чтобы посмотреть на - Я действительно не хотел пытаться создать / настроить собственный сервер электронной почты.
файл mail_daemon.py
сверху запускается как задание cron каждые 5 минут. Он подключается к серверу электронной почты с помощью пакета poplib
Python, обрабатывает электронные письма, которые там есть, а затем отключается (одна часть, которую я чувствую, вынуждена указать, что я проверяю, что электронные письма от меня до их обработки :))
Приложение My Flask предоставляет переднюю часть закладок, отображая их из базы данных.
Я решил не вводить код обработки электронной почты в фактическое приложение флешки, потому что это может быть довольно медленный и будет работать только при посещении страницы, но вы могли бы сделать это, если бы захотели.
Вот какой-то код barebones, чтобы все получилось:
import poplib
from email import parser
from email.header import decode_header
import os
import sys
pop_conn = poplib.POP3_SSL('pop.example.com')
pop_conn.user('my-app@example.com')
pop_conn.pass_('password')
#Get messages from server:
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
# Concat message pieces:
messages = ["\n".join(mssg[1]) for mssg in messages]
#Parse message into an email object:
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
for message in messages:
# check message is from a safe recipient
if 'me@example.com' in message['from']:
# Get the message body text
if message['Content-Type'][:4] == 'text':
text = message.get_payload() #plain text messages only have one payload
else:
text = message.get_payload()[0].get_payload() #HTML messages have more payloads
# decode the subject (odd symbols cause it to be encoded sometimes)
subject = decode_header(message['subject'])[0]
if subject[1]:
bookmark_title = subject[0].decode(subject[1]).encode('ascii', 'ignore') # icky
else:
bookmark_title = subject[0]
# in my system, you can use google's address+tag@gmail.com feature to specifiy
# where something goes, a useful feature.
project = message['to'].split('@')[0].split('+')
### Do something here with the message ###
pop_conn.quit()
Существует несколько способов, которые вы можете предпринять: