در جلسه ی قبل موفق شدیم که داده های خود را درون localStorage ذخیره سازی کنیم اما هنوز فرآیند login خودکار را انجام نداده ایم. ما برای انجام login خودکار باید به فایل App.vue رفته و از lifecycle ای به نام Created استفاده کنیم اما قبل از آن به store.js رفته و action دیگری را تعریف می کنیم. این action مسئول اجرای login خواهد بود و چند شرط مختلف را چک خواهد کرد. در مرحله ی اول می گوییم. همانطور که مشخص است من نام این Action را tryAutoLogin گذاشته ام. در قدم اول مقدار token که همان توکن امنیتی ذخیره شده در localStorage است را دریافت کرده و آن را بررسی کرده ام. اگر token وجود نداشته باشد (علامت تعجب در شرط if) یعنی کاربر اصلا login نشده است بنابراین فقط return می کنیم که یعنی از تابع خارج می شویم اما این تنها شرط مورد بررسی ما نیست. شرط بعدی ما expirationDate است! اگر expirationDate از تاریخ فعلی بیشتر باشد یعنی توکن منقضی شده است و اعتباری ندارد بنابراین در این حالت هم نباید سعی در login کردن داشته باشیم. مقدار expirationDate در localStorage موجود است و ما می توانیم با متد getItem آن را بگیریم. برای دریافت تاریخ فعلی نیز از new Date استفاده می کنیم. در نهایت در یک شرط if بزرگ تر یا مساوی بودن now را بررسی می کنیم و اگر اینطور بود فقط return می کنیم تا از تابع خارج شویم.
پنل نویسندگان