1.背景
?最近負責了一個微信小程序項目,在微信小程序的登錄和授權(quán)上遇到了一些問題藐翎。項目結(jié)束后把遇到的問題整理了一下材蹬,希望能對大家有所幫助~
2.目錄
- 對于服務(wù)范圍開放的小程序实幕,要有游客模式;
- 登錄時需要提供可取消或拒絕登錄選項堤器;
- 獲取手機號和獲取微信賬號信息的接口分開獲壤ケ印;
- 默認頭像昵稱&自定義頭像昵稱的處理吼旧;
- 關(guān)于播放視頻凰锡;
2.1 對于服務(wù)范圍開放的小程序未舟,要有游客模式
?關(guān)于游客模式圈暗,官方的說法是為了給用戶提供更好的使用體驗,不強制用戶必須登錄后才能進入小程序裕膀。如要求必須授權(quán)頭像昵稱等信息才能繼續(xù)使用小程序员串,會導致某些用戶放棄使用該小程序。
因此在小程序中上架審核時昼扛,多數(shù)情況下需要具有游客模式才能審核通過寸齐。
這里需要注意的是官方提出的是“對于服務(wù)范圍開放”的小程序需要有游客模式。
如果你們的小程序是內(nèi)部使用的抄谐,未完全開放用戶注冊渺鹦,或者是需要通過更多方式完成身份驗證后才能提供服務(wù)的小程序,是可以直接引導用戶進行賬號登錄的蛹含,例如學校系統(tǒng)毅厚、內(nèi)部員工系統(tǒng)或其他非完全開放的系統(tǒng)。
?所以產(chǎn)品同學在設(shè)計開放用戶注冊類型的小程序時浦箱,需要確定好哪些頁面是游客可以訪問的吸耿,哪些頁面(功能)是必須登錄后才能訪問(使用)的哦。如果一開始沒有確定好酷窥,后期再修改的話可能要面對開發(fā)同學們的怒吼了咽安。
2.2 登錄時需要提供可取消或拒絕登錄選項
?在小程序的登錄頁面,需要提供可取消或者拒絕登錄的按鈕蓬推。如下圖示:
?如果在登錄頁面沒有取消按鈕或者拒絕登錄的按鈕妆棒,提交審核的時候很有可能審核失敗。
2.3 獲取手機號和獲取微信賬號信息的接口分開獲取
?微信官方為了用戶隱私安全沸伏,在微信小程序中獲取用戶綁定手機號和獲取微信賬號信息的接口是分開獲取的募逞。意味著如果需要獲取用戶的手機號、頭像和微信昵稱馋评,需要調(diào)用2個接口去分別獲取相關(guān)信息放接。
?微信小程序中獲取授權(quán)信息的接口需要通過按鈕來觸發(fā),且每個按鈕觸發(fā)1次只能調(diào)用1個授權(quán)接口留特。所以如何優(yōu)雅的獲取用戶的手機號和微信信息就是一個值得思考的問題纠脾。因為大部分小程序都是使用手機號碼登錄玛瘸,所以我們需要考慮的問題其實是在哪一步獲取微信授權(quán)信息。
?這里可以看一下美團小程序的邏輯:
美團小程序需要先獲取手機號碼進行登錄苟蹈,登錄后直接跳轉(zhuǎn)至授權(quán)信息頁讓用戶進行授權(quán)糊渊。在授權(quán)頁面用戶只有左上角的返回按鈕和授權(quán)按鈕,如果用戶不點擊授權(quán)則無法成功登錄慧脱。
團隊內(nèi)部溝通過之后覺得類似這種授權(quán)方式過于強硬渺绒,用戶體驗不太好。經(jīng)過溝通后決定使用另外一種解決方案:
1. 用戶通過手機號碼登錄后菱鸥,小程序跳轉(zhuǎn)至登錄前的頁面宗兼。不通過頁面的形式強制用戶授權(quán)微信信息。
2. 每次當用戶訪問個人中心頁面時氮采,前端判斷用戶是否已授權(quán)微信信息殷绍,若沒有授權(quán)則通過彈窗的形式提醒用戶“當前未獲取微信授權(quán)信息,是否獲热的主到?”
3. 若用戶點擊“確定”則調(diào)用微信授權(quán)接口來獲取微信用戶信息。若用戶點擊“取消”則關(guān)閉彈窗躯概,用戶能夠繼續(xù)進行其他的正常操作登钥。
備注:因為我們用的是微信小程序提供的tabbar,所以主菜單上面的按鈕不能增加觸發(fā)事件娶靡,只能在用戶訪問個人中心頁面時通過前端頁面進行判斷牧牢。
2.4 默認頭像昵稱&自定義頭像昵稱的處理
?當用戶通過手機號碼登錄后系統(tǒng)會給用戶一個默認的昵稱和頭像。登錄后用戶可以對昵稱和頭像進行自定義修改固蛾。(一般默認昵稱采用“用戶_XXXX”的形式结执,默認頭像都是一樣的。)
?當用戶授權(quán)獲取微信信息時我們會拿到用戶的微信頭像和昵稱艾凯,這個時候需要判斷下是否要替換用戶現(xiàn)有的頭像和昵稱献幔。此時對于用戶修改過的部分是不能替換的,只能替換默認頭像或默認昵稱趾诗。為了區(qū)別用戶自定義頭像和昵稱蜡感,采用了以下方案:
1. 設(shè)置Name1和Name2兩個字段記錄用戶的默認昵稱。在小程序端展示的昵稱為Name2恃泪。
2. 若Name2與Name1字段相同郑兴,則表示用戶尚未手動修改過昵稱,直接替換即可贝乎。
3. 若Name2與Name1字段內(nèi)容不同情连,說明用戶手動修改過昵稱,則繼續(xù)使用Name2字段內(nèi)容作為用戶的昵稱览效,不再替換微信昵稱却舀。
?微信頭像也是同理虫几。當用戶頭像為空時,默認使用系統(tǒng)默認頭像挽拔。在獲取微信信息后辆脸,需要判斷用戶頭像是否為空:若用戶頭像為空,則將用戶頭像替換為微信頭像螃诅。若用戶頭像非空啡氢,則不再進行替換。
2.5 關(guān)于播放視頻
小程序如果需要播放視頻的話术裸,需要添加類目“文娛-視頻”才能成功通過審核倘是。
需要注意的是添加文娛類目需要有相關(guān)的資質(zhì)證明,如果沒有添加對應(yīng)類目穗椅,在審核的時候有可能不能通過哦~
Ps.如果你的小程序能夠上傳視頻辨绊,但是沒有添加對應(yīng)的類目奶栖,建議在提交審核的時候刪除掉所有的視頻內(nèi)容~
3.結(jié)尾
?以上就是這次在做微信小程序項目中登錄和授權(quán)部分遇到了問題了匹表,如果有遺漏或者不準確的地方希望大家能夠不吝指教~