1399/6/19، 10:50 عصر
نه بابا این چه حرفیه
من که خودم خرد شدم قشنگ
من که خودم خرد شدم قشنگ
آموزش ساخت عضویت/ورود با OnStorage
|
1399/6/19، 10:50 عصر
نه بابا این چه حرفیه
من که خودم خرد شدم قشنگ
1399/9/1، 07:26 صبح
درود بر آقا میلاد و دیگر اساتید آقا من هنوز یادم نرفته شما چه زحماتی برای من کشیدید برای راه اندازی وینوس
آقا میلاد الان توی این وضعیت من توان خرید دامنه را ندارم آیا با وبلاگ میشه این عملیات را پیاده سازی کرد من یه هاست میخوام خریداری کنم ولی میخوام دامنه هم داشته باشه
1399/9/1، 01:13 عصر
(1399/9/1، 07:26 صبح)Alico نوشته است: درود بر آقا میلاد و دیگر اساتید آقا من هنوز یادم نرفته شما چه زحماتی برای من کشیدید برای راه اندازی وینوسسلام؛ برای دریافت مقادیر از وبلاگ راه دشواری رو در پیش ندارین و میتونین به این تاپیک رجوع کنین. چـالش اصلی شما ارسـال مـقادیره چـرا که ثبت نام صـرفاً یک طرفه نیست. اگر هم بخواین از جاوا اسکریپت توی وبلاگ کمک بگیرین شکست میخورین چـون زمانی که با AJAX ریکوئست بزنین به دلیل اینکه AJAX یک مرورگر نیست و نمیتونه کدهای سمت کلاینت (HTML، CSS و جاوا اسکریپت) رو تحلیل کنه عملاً هیچ خـروجی نمی بینین و کدهای جاوا اسکریپت بهتون برگشت داده میشه! پس نیاز دارین از یک سرویس RESTFUL مثل Backendless استفاده کنین. اما دقت کنین چنین API هایی موقتی کار شما رو راه میندازن و محدودیت هایی هم دارن. با این شیوه که الان راجع بهش صحبت میکنم میتونین بدون نیاز به هاست یا سرور بحث ثبت نام و لاگین کاربرانتون رو پیاده سازی کنین. البته این وب سرویس امکانات بیشتری مثل مدیریت یک پایگاه داده رو هم در اختیار شما میگذاره که به کمک اون میتونین مواردی از قبیل امتیازاتی که کاربران گرفتن و یا ... رو ثبت کنین. برای جزئیات بیشتر مستندات API وب سرویس رو در اینجا مطالعه کنین. ابتدا وارد سایت منسوب به وب سرویس Backendless بشین. از این قسمت ثبت نام کنین و یک اکانت بسازین. بعد از ثبت نام از شما میخواد که یک نام برای app خودتون انتخاب کنین. بعد از اینکه یه app توی پنل کاربری تون ایجاد کردین وارد داشبوردتون بشین و این دو موردی رو که در تصویر زیر با کادر قرمز مشخص کردم رو یکجا یادداشت کنین چرا که کل پروسه با این دو تا آیتم پیش میره. استفاده از شیء AJAX برای هندل کردن ریکوئست های HTTP و همینطور شیء دیکشنری برای هندل کردن مقادیر JSON توی این سورسی که ساختم پیاده شده و میتونین احتمالاً با یه نگاه اجـمالی متوجه اتفاقاتی که میفته بشین. بعد از اینکه سورس رو باز کردین به جای مقادیر فـعلـی ثبات های APPID و RESTID به ترتیب Application ID و REST API Key رو وارد کنین. توی سورسی که میبینین من یه اکانت برای تست توی سرویس بک اند لِس ساختم و پارامترهای اون اکانت رو قرار دادم که طبیعتاً شما باید پارامترهای حساب (اکانت) خودتون رو وارد کنین. بگذریم از این بحث ها. بریم ببینیم چه اتفاقی میفته توی ایونت هایی که نوشتیم. ثبت نام و ایجاد حـساب کـاربری: خُب ما سه تا فیلد اجباری برای هر ثبت نام داریم که عبارتند از name، email و password که در قالب سه کلید دیکشنری Data ایجادشون کردیم. میتونیم برای یک کاربر فیلدهایی به غیر از این سه فیلد به دلخواه خودمون (مثلاً age و یا ...) هم ایجاد کنیم که خُب مشخصاً باید به کلیدهای دیکشنری Data اضافه کنیم. بعد از اینکه فیلدها رو در قالب کلیدهای دیکشنری Data اعمال کردیم به کمک شیء AJAX یک ریکوئست HTTP از نوع POST به وب سرویس Backendless ارسال میکنیم. بدنه (Body) این ریکوئست حاوی خروجی JSON دیکشنری هست که یه تغییراتی توش اعمال کردیم به این دلیل که خروجی پیشفرض JSON ای که کانستراکت برای دیکشنری ها به ما ارائه میده یه چیزی شبیه شکل زیره: کد: {"c2dictionary":true,"data":{"email":"cppfhs","name":"salam","password":"12345"}} در نهایت گفتیم اگر ریکوئست POST ارسال شده موفقیت آمیز بود مقادیر جیسونی که برگشت داده میشه رو در یک دیکشنری به نام output وارد کن و بعد توی یک تکست باکس نمایششون بده. طبیعتاً برای اینکه فرمت جیسون برگشت داده شده از وب سرویس رو به فرمتی تبدیل کنیم که برای کانستراکت قابل شناسایی باشه باید ابتدای رشته جیسون برگشت داده شده رشته "{"c2dictionary":true,"data":" رو اضافه کنیم و همینطور در انتها هم یک رشته به "{" این شکل رو الحاق کنیم. نـحوه لاگین به حساب کاربری: برای بحث لاگین هم اتفاقی که میفته شباهت زیادی به ثبت نام داره. دو فیلد (پارامتر) اجـباری email و password رو داریم که در قالب کلیدهای دیکشنری Data اعمالشون کردیم. سایر اتفاقاتی که رُخ میده دقیقاً مشابه پروسه ثبت نامه منتهی تفاوتش اینه که اینجا داریم لاگین میکنیم نه ثبت نام! نکته قابل توجه: اگر کد وضعیت HTTP ریکوئستی که برگشت داده میشه 200 نباشه شیء AJAX اون درخواست رو شکست خورده تلقی میکنه. این اتفاق میتونه در دو حالت رُخ بده. در حالت اول به دلیل عدم اتصال به اینترنت ممکنه ریکوئست شما ارسال نشه. در حالت (احتمال) دوم به دلیل صحیح نبودن مقادیر فیلدهای اجباری (name و email و password) میتونه کد وضعیت HTTP 200 برگشت داده نشه. پس برای جلوگیری از این مسئله دو مورد رو باید بررسی کنین که مورد اول مشخصاً وضعیت اتصال اینترنت کاربر هست و مورد دوم هم اعتبارسنجی مقادیر فیلدهای وارد شده است. مثلاً فرمت ایمیل رو به کمک عبارات باقاعده (Regex) چک کنین تا مطمئن بشین درست وارد شده. اگر توی این دو مورد اشکالی وجود نداشت و شیء AJAX باز هم درخواست رو شکست خورده تلقی کرد (یعنی کد وضعیت 200 HTTP دریافت نشد) معنیش اینه که ایمیل وارد شده قبلاً باهاش ثبت نام انجام شده. اگر همین اتفاق در فُرم لاگین بیفته معنیش اینه که مشخصاتی که کاربر برای لاگین وارد کرده غلطه و شخصی با این مشخصات قبلاً ثبت نام نکرده. مقادیری که در ثبت نام و لاگین توسط وب سرویس برگشت داده میشه برای هر درخواست ثبت نام مقادیری مشابه نمونه زیر توسط وب سرویس برگشت داده میشه: کد: lastLogin:0 برای هر درخواست لاگین یا ورود به حساب کاربری مقادیری مشابه نمونه زیر توسط وب سرویس برگشت داده میشه: کد: lastLogin:1605944921358 خروج از حساب کاربری (لاگ اوت): برای لاگ اوت کردن باید شناسه ای یوزر توکن رو که در پروسه لاگین وب سرویس برگشت داده به عنوان هدر HTTP با نام user-token مشخص کنین. برای این کار از اکشن Set Request Header شیء AJAX کمک گرفتیم. در ضمن نوع ریکوئست HTTP ای هم که به وب سرویس ارسال کردیم مثل موارد قبلی POST نبود و از نوع GET بـود. در پایان هم باید بگم ریجستر کردن یک دامنه و همینطور خرید یک هاست اشتراکی چندان گرون در نمیاد که لازم باشه این همه مشقت بکشین. کلیات امکانات ثبت نام این وب سرویس رو به صورت مختصر سعی کردم شرح بدم. همینطور که گفتم امکانات این وب سرویس صرفاً به ثبت نام ختم نمیشه و میتونین مواردی مثل امتیازات کاربران رو هم در قالب پایگاه داده SQL ذخیره کنین. موفق باشین. |
موضوعهای مشابه… | |||||
موضوع | نویسنده | پاسخ | بازدید | آخرین ارسال | |
حل شده آموزش های داغ داغ | Zahra By | 3 | 3,488 |
1399/4/17، 06:25 عصر آخرین ارسال: FARZAD BLACK |
|
مشکل build وینوس | _1515Team_ | 0 | 1,880 |
1398/12/22، 11:46 عصر آخرین ارسال: _1515Team_ |
|
ورود | hasiri | 1 | 2,181 |
1398/11/8، 09:54 عصر آخرین ارسال: M.gh |
|
ساخت range بازی با کانستراکت 2 | amirgoli | 6 | 4,555 |
1398/6/1، 03:17 عصر آخرین ارسال: amin COD |
|
آموزش پنهان کردن filechooser | aag | 7 | 6,417 |
1398/5/13، 07:24 عصر آخرین ارسال: oak |