これは、私のアプリで対処する最も難しい問題の 1 つだと思います。moment.js をインストールしました (mrt を使用)。私がやりたいことは、サーバーがそのユーザーの友人に電子メールを送信する日時をユーザーに選択させることです。たとえば、現在は木曜日の午後 9 時 13 分で、ユーザーは月曜日の午前 6 時 47 分にメッセージを送信したいと考えています。ユーザーが時間を設定した後、毎週、ユーザーが設定した日時に電子メールを繰り返し送信したいと考えています。だから私はそのようなmoment.jsを使用すると考えました(クライアント側):
var now = moment(); (the current date and time).
次に、ユーザーがそのように選択した時刻と日付を設定するために、jqueryui または一般的なものなどの日付ピッカーとタイムピッカーを使用します (クライアント側)。
var day = user selection using datepicker;
var time = user selection using timepicker;
var result = moment.set(day,time);
結果をデータベースに挿入します。
DateToSendEmail.insert({date:result});
最後に、(サーバー側で) Email.send 関数を実際に実行するコードを用意します。
var DateToSend = DateToSendEmail.findOne({});
var thisMoment = moment();
if(DateToSend === thisMoment){
Email.send({
to:[friends]
from:"myApplication@xxx.com"
Subject:"auto email send"
html:"auto email send"
});
}
私が知らないことの1つは、ユーザーが長い間アプリに入っていない場合(たとえば1か月)、それが機能するかどうか、またはMeteor.setIntervalを使用してこの関数を繰り返し実行する必要があるかどうかです?