テレワーク等の在宅勤務で、毎日勤怠メールを送らなくてはならないとき、定形文があると便利ですよね。
ということで、日付や時間をその日時に合わせて、送信先、件名、本文などを記憶してメーラーを起動して送信できるツールを作ってみました。 → ggApp FormSendMail
JavaScriptですべてフロントエンドで書いています。データの保存はCookieを利用していますので、その部分のコードを紹介します。
Cookieにデータを保存する(Set Cookie)
var ggSetCookieSec = function(kk, vv, ma=2592000){
vv = ggEnCript(vv);
var dd = kk + "=" + encodeURIComponent(vv) + "; ";
dd += "max-age=" + ma + "; " + "secure";
document.cookie = dd;
};
kk(key)
と vv(value)
と ma(Max-Age)
を受け取り、Cookieに保存します。
Max-Age
はCookieの保存期間で、デフォルト30日=2592000秒にしています。
私は let
より var
を使うことが多いのですが、 let
に置き換えたほうが良いかもしれませんね。
secure
は、HTTPSのみで機能するようにするためです。
Cookieからデータを取得する(Get Cookie)
var ggGetCookieHash = function(){
var hh = {};
if(document.cookie != ''){
var ddd = document.cookie.split('; ');
ddd.forEach( dd => {
var kv = dd.split('=');
hh[kv[0]] = ggDeCript( decodeURIComponent(kv[1]) );
});
}
return hh;
};
保存してあるすべてのCookieを読み込んで、ハッシュにして返します。
ggEnCript
、 ggDeCript
は、暗号化、復号化です。なくても良いと思います。ggApp FormSendMailでは、メールアドレスなども保存することを考慮し暗号化しました。
暗号化は簡易暗号ですが、別途記事にするつもりです。
参考
2022/10/09