پرش به مطلب اصلی

تعویض عکس پروفایل

این عملکرد عکس پروفایل کاربر واردشده را عوض یا حذف می‌کند. پیش از این، تعویض عکس فقط با لمس آواتار داخل ویجت پروفایل کاربر ممکن بود؛ با این عملکرد می‌توانید آواتار را هرجای صفحه و با هر ظاهری بگذارید.

این عملکرد بخشی از مجموعه‌ای است که طراحی آزاد صفحه پروفایل را ممکن می‌کند.

کاربردها

  • گذاشتن آواتار قابل تعویض در هدر صفحه، منوی کشویی یا نوار ابزار.
  • ساخت دکمه‌های جداگانه «انتخاب از دوربین»، «انتخاب از گالری» و «حذف عکس».
  • تکمیل پروفایل با عکس در صفحه خوش‌آمدگویی.

تنظیمات

  • منبع عکس: یکی از چهار حالت زیر.
حالترفتار
پرسش از کاربریک شیت با گزینه‌های دوربین، گالری و (در صورت وجود عکس) حذف عکس باز می‌شود
دوربینمستقیماً دوربین باز می‌شود
گالریمستقیماً گالری باز می‌شود
حذف عکس فعلیبدون پرسش، عکس فعلی حذف می‌شود

نتیجه اجرا

متغیرمقدار
sys.user.saveSuccesstrue در صورت موفقیت، false در صورت خطا
sys.user.saveErrorپیام خطا؛ در صورت موفقیت خالی می‌شود

پس از موفقیت، sys.user.picUrl و sys.user.picFileId به‌روز می‌شوند و هر ویجت عکسی که به آن‌ها بایند شده باشد، عکس تازه را نشان می‌دهد.

انصراف کاربر

اگر کاربر شیت انتخاب را ببندد یا از برش عکس منصرف شود، هیچ‌کدام از دو متغیر نتیجه تغییر نمی‌کنند. انصراف نه موفقیت است و نه خطا؛ بنابراین شرط‌هایی که روی این متغیرها گذاشته‌اید بی‌دلیل عمل نمی‌کنند.

توضیحات

  • عکس انتخاب‌شده به‌صورت مربعی برش داده می‌شود، به عرض حداکثر ۸۰۰ پیکسل کوچک می‌شود و سپس آپلود می‌گردد.
  • در حالت گالری، در صورت نیاز مجوز دسترسی به حافظه از کاربر گرفته می‌شود.
  • در حالت دوربین، اگر خروجی اپ مجوز دوربین داشته باشد (مثلاً به دلیل استفاده از بارکدخوان)، مجوز در زمان اجرا از کاربر گرفته می‌شود.
  • «حذف عکس فعلی» روی کاربری که عکس ندارد خطا نمی‌دهد و نتیجه موفق در نظر گرفته می‌شود.
  • اگر کاربر وارد حساب نشده باشد، عملکرد اجرا نمی‌شود.
شبیه‌ساز

انتخاب عکس از دوربین یا گالری در شبیه‌ساز پنل کار نمی‌کند و پیام «این قابلیت در شبیه ساز غیرفعال است» نمایش داده می‌شود. این عملکرد را روی خروجی نصب‌شده تست کنید.

نمایش عکس پروفایل

برای نشان دادن عکس فعلی، یک ویجت عکس اضافه کنید، گزینه دریافت پویا را روشن کنید و در «مقدار یا مسیر فایل» بنویسید:

{{sys.user.picUrl}}

سپس همین عملکرد را به رویداد لمس همان ویجت وصل کنید.

برای نمایش یک آواتار پیش‌فرض به کاربر بدون عکس، از شرط sys.user.picFileId استفاده کنید.

نکات تکمیلی

  • اگر مجوز دوربین برای اپ ضروری نیست، حالت «گالری» را انتخاب کنید تا خروجی مجوز اضافه نگیرد.
  • برای نمایش وضعیت آپلود، پیش و پس از این عملکرد یک متغیر بولی را با عملکرد چندگانه تغییر دهید و یک ویجت لودینگ را به آن بایند کنید.

خطاهای رایج

  • تست کردن فقط در شبیه‌ساز و ندیدن مشکل روی دستگاه واقعی.
  • انتظار تغییر sys.user.saveSuccess بعد از انصراف کاربر.
  • فراموش کردن روشن کردن «دریافت پویا» در ویجت عکس و بایند نشدن sys.user.picUrl.