国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

極客小將

您現在的位置是:首頁 » scratch編程資訊

資訊內容

【scratch二次開發(fā)教程 第9章】scratch-gui中集成自定義用戶系統(tǒng)(六)

極客小將2021-01-02-
寫在前面 該系列文章是為具有開發(fā)能力的朋友寫作的,目的是幫助他們在scratch 3.0的基礎上開發(fā)一套完整的集scratch 3.0編程工具、用戶社區(qū)和作品云端存儲及分享、品牌集成于一體的scratch編程平臺。如果您不是開發(fā)

寫在前面

該系列文章是為具有開發(fā)能力的朋友寫作的,目的是幫助他們在scratch 3.0的基礎上開發(fā)一套完整的集scratch 3.0編程工具、用戶社區(qū)和作品云端存儲及分享、品牌集成于一體的scratch編程平臺。如果您不是開發(fā)者,但想要擁有自己的教育平臺和品牌,也歡迎學習交流和洽談合作。

所以如果您是想學習scratch少兒編程課程,那請忽略該系列的文章。

前言

前面我們把登錄的基本流程實現完成了,不過還留了一個小尾巴,就是用戶登出,清除用戶的token信息,以確保用戶賬號的安全性。

我們準備在用戶姓名下面做一個下拉菜單,將登出操作放在里面,以后還會在里面放入個人中心,個人作品等菜單項,就像現在mit官網那樣:

upload/article/images/2021-01-02/aa97cffa01fafedce4d77914938e9e5c.jpg

下面就來實現這一過程。

開始實現

先來實現組件的樣式。

找到components/menu-bar/menu-bar.jsx,在之前我們修改的顯示頭像和姓名的下面,添加一個MenuBarMenu組件,如下:

upload/article/images/2021-01-02/323dc64ab9c93d592c511634b3da1c9c.jpg

我們將其open屬性先設置為true,讓它一直顯示,以方便我們調試樣式。

編譯運行,看到在用戶姓名和頭像下面正常顯示了登出菜單:

upload/article/images/2021-01-02/726fd00e8d1ffd03b3df12f36caa4d86.jpg

下一步來控制菜單的顯示與隱藏。

在components/menu-bar/menu-bar.jsx中,為組件MenuBar增加props:userMenuOpen, onClickUser和onRequestCloseUser,分別表示用戶判斷下拉菜單是否打開,打開下拉菜單操作和關閉下拉菜單操作:

userMenuOpen: PropTypes.bool,onRequestCloseUser: PropTypes.func,onClickUser: PropTypes.func,

在reducers/menus.js中,增加userMenu狀態(tài):

const MENU_USER = 'userMenu';

初始為false關閉狀態(tài):

const initialState = {[MENU_ACCOUNT]: false,[MENU_FILE]: false,[MENU_EDIT]: false,[MENU_LANGUAGE]: false,[MENU_LOGIN]: false,[MENU_USER]: false};

增加打開和關閉以及狀態(tài)檢測的actions:

const openUserMenu = () => openMenu(MENU_USER);const closeUserMenu = () => closeMenu(MENU_USER);const userMenuOpen = state => state.scratchGui.menus[MENU_USER];

記得export以上actions:

upload/article/images/2021-01-02/72cf9645b201b2238a01b432eac76239.jpg

回到components/menu-bar/menu-bar.jsx中,映射剛才的userMenuOpen props和state:

upload/article/images/2021-01-02/a01e964f27c1d6dcc38c153f02f5c22f.jpg

映射onClickUser:

upload/article/images/2021-01-02/bc84d47b54b13e68b4ab3b32ffba679c.jpg

映射onRequestCloseUser:

upload/article/images/2021-01-02/ebce6e21940be6b51299b5b44dae6548.jpg

再完善之前顯示MenuBar的控制,現在我們根據之前設置的props來控制菜單的顯示和關閉:

upload/article/images/2021-01-02/dc89dde86d5cefc5e6aa339e586800e7.jpg

重新運行,登錄成功后并沒有菜單顯示,點擊用戶信息,出現下拉菜單,再點擊,菜單關閉,一切都按照我們的設計進行的。

最后一步,我們來實現登出的過程。

先到reducers/user-state.js中增加登出的功能實現。

登出actions:

const DONE_USER_LOGOUT = 'DONE_USER_LOGOUT'; // 標識登出過程成功完成
const logoutSuccess = () => ({type: DONE_USER_LOGOUT});

登出處理方法,先清空本地token,再關閉下拉菜單,清空state中的用戶信息:

const logout = dispatch => {localStorage.removeItem('shala_token');dispatch(closeUserMenu());dispatch(logoutSuccess());};

reducer里更新state:

upload/article/images/2021-01-02/a73dfb6035b547b20bc9a2e0b1c8ab9d.jpg

export logout方法:

upload/article/images/2021-01-02/2e6372216ca2bf1116c8048dd3a96b56.jpg

回到components/menu-bar/menu-bar.jsx中,為MenuBar組件增加props onClickLogout:

onClickLogout: PropTypes.func,

并映射dispatch:

onClickLogout: () => logout(dispatch)

最后在MenuItem的onClick方法中調用它:

upload/article/images/2021-01-02/3ab30c585539894db57f72472baef815.jpg

運行項目成功登錄,點擊下拉菜單,登出,用戶信息消失并出現登錄按鈕。打開瀏覽器開發(fā)工具,看到localStorage中存儲的token也被清空了。說明成功登出了。

這里登出時我們沒有向后臺發(fā)送請求,讓后臺也做相關的登出操作,目前來看并沒有什么大問題,只要保證客戶端沒有有效的token存在就行,如果后面有更高的安全需求考慮我們再來進一步完善它。

另外,在登出時,我們可能正在進行scratch項目創(chuàng)作,并且還沒有保存,這時需要提示用戶進行相關的操作,并且退出后清空用戶的工作區(qū)內容。

以上工作我們在后面將作品云端保存和加載功能實現后再來一起完善它。

所以下一章起,我們計劃開始集成作品管理系統(tǒng),實現用戶scratch作品集的云端保存和載入以及相關管理功能。對于用戶系統(tǒng),其實至少還需要一個管理的頁面,我們計劃留到作品管理系統(tǒng)集成完后再來完成,因為到那時我們的系統(tǒng)的基本框架就差不多了,圍繞基本框架來豐富功能模塊就會清晰很多。

聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除

預約試聽課

已有385人預約都是免費的,你也試試吧...

国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

        国产素人在线观看| 丰满少妇久久久| 天堂av在线网站| 激情内射人妻1区2区3区| 国产女主播自拍| 日韩一级片免费视频| www.在线观看av| 国产97在线 | 亚洲| 黄色国产一级视频| 浮妇高潮喷白浆视频| 日本日本19xxxⅹhd乱影响| 亚欧无线一线二线三线区别| 欧美v在线观看| 日韩中文字幕二区| 日本激情视频在线| 黄色aaaaaa| 九一免费在线观看| 久在线观看视频| 无码aⅴ精品一区二区三区浪潮 | 久久久免费视频网站| 国产免费视频传媒| 天天av天天操| 人妻av无码专区| 欧美成人黑人猛交| www.欧美激情.com| 精品国产一区三区| 亚洲一区二区蜜桃| 国产欧美123| 欧美xxxxx在线视频| 亚洲36d大奶网| 男人草女人视频| 日av中文字幕| 天堂av在线中文| www.玖玖玖| 国产毛片久久久久久| 亚洲 高清 成人 动漫| 91视频这里只有精品| 免费高清一区二区三区| 色综合天天色综合| 国产毛片视频网站| 波多野结衣三级在线| 国产精品333| av动漫在线免费观看| 中国黄色片免费看| 欧美一级视频免费看| 欧美激情第一区| 欧美视频免费播放| 精品久久一二三| 美女黄色片网站| 亚洲三级在线观看视频| 国产精品少妇在线视频| 国产无限制自拍| 可以免费看的黄色网址| 九九热免费在线观看| 男女曰b免费视频| 欧美在线观看www| 亚洲理论电影在线观看| 99久久久无码国产精品性色戒| 中文字幕网av| 日本xxxx黄色| 亚洲精品手机在线观看| 人人爽人人av| 日韩爱爱小视频| 日本va中文字幕| 欧美一级黄色影院| 男人添女人下面高潮视频| 国产亚洲视频一区| 欧美午夜精品理论片| 中文字幕在线导航| 国产97在线 | 亚洲| 成人短视频在线观看免费| 三级a三级三级三级a十八发禁止| 蜜臀av色欲a片无码精品一区 | 91国视频在线| 日韩国产精品毛片| 无码中文字幕色专区| 最近免费观看高清韩国日本大全| 午夜免费看视频| 国产精品自在自线| 国内自拍视频网| 欧美 日韩精品| 777米奇影视第四色| 青青青免费在线| 午夜肉伦伦影院| 国产精品12345| 日本中文字幕网址| 免费一级特黄特色毛片久久看| 国产精品一线二线三线| 亚洲熟妇无码av在线播放| www.xxx麻豆| 国产av天堂无码一区二区三区| 伊人久久在线观看| 日韩伦理在线免费观看| 国产成人av影视| 五月天开心婷婷| 日韩精品免费一区| 日本中文字幕网址| 不卡av免费在线| 亚洲综合在线一区二区| 亚洲女人在线观看| 青青青在线视频播放| www,av在线| av观看免费在线| 久久精品一卡二卡| 国产又粗又猛又爽又黄的网站| 给我免费播放片在线观看| www.亚洲天堂网| 亚洲制服中文字幕| 国产原创popny丨九色| 国产成人久久婷婷精品流白浆| 国产手机免费视频| 欧美成年人视频在线观看| 日韩最新中文字幕| 91av俱乐部| 免费观看精品视频| 日本免费成人网| 在线观看免费黄网站| 男人日女人的bb| 奇米影视四色在线| 黄色一级片在线看| www.avtt| 亚洲小说欧美另类激情| 日韩av三级在线| 91视频成人免费| 日韩成人精品视频在线观看| 国自产拍偷拍精品啪啪一区二区| 大j8黑人w巨大888a片| 国产91沈先生在线播放| 一起操在线视频| 精品视频无码一区二区三区| 日韩精品一区二区在线视频| 91国内在线播放| 性欧美极品xxxx欧美一区二区| 999久久久精品视频| 国产精品久久久毛片| 不卡影院一区二区| 精品视频在线观看一区| 警花观音坐莲激情销魂小说| 中文久久久久久| 精品久久久久av| 手机在线免费毛片| 日韩人妻一区二区三区蜜桃视频| 手机免费av片| 三上悠亚在线一区| 中文字幕av专区| 五月婷婷之婷婷| mm131亚洲精品| 三级a在线观看| 色婷婷狠狠18| 视频在线观看免费高清| 日本在线视频www| 五月天婷婷激情视频| 一区二区成人网| 99久久久无码国产精品6| 三级视频中文字幕| 亚洲一区日韩精品| 91香蕉视频网址| 亚洲一级片免费观看| 天天想你在线观看完整版电影免费| 国产a级片免费看| 国产欧美综合一区| 一本久道综合色婷婷五月| 中文字幕第21页| 亚洲免费av网| 一二三四视频社区在线| 无码播放一区二区三区| 看欧美ab黄色大片视频免费| 日韩不卡一二区| 日本手机在线视频| 欧洲熟妇精品视频| 免费看啪啪网站| 国产精品网站免费| xxx国产在线观看| 波多野结衣家庭教师在线| 黄色免费网址大全| 免费成人进口网站| 波多野结衣综合网| 免费看涩涩视频| 日本黄色片一级片| 国模杨依粉嫩蝴蝶150p| 色91精品久久久久久久久| 九九热只有这里有精品| 日本激情视频在线| 黄色特一级视频| 向日葵污视频在线观看| 国产极品在线视频| 永久av免费在线观看| 欧美日韩黄色一级片| 久久久久久久久久毛片| 精品欧美一区免费观看α√| 天堂av手机在线| 国产精品夜夜夜爽张柏芝| 一个色综合久久| 狠狠爱免费视频| 无码日本精品xxxxxxxxx| 无限资源日本好片| 男人操女人逼免费视频| 日韩中文字幕二区| 欧美激情国产精品日韩| 国产二区视频在线|