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

極客小將

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

資訊內容

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

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

寫在前面

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

所以如果您是想學習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狀態:

const MENU_USER = 'userMenu';

初始為false關閉狀態:

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

增加打開和關閉以及狀態檢測的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

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

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

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

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

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

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

預約試聽課

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

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

        亚洲精品mv在线观看| 大西瓜av在线| 一级网站在线观看| 日韩中文字幕亚洲精品欧美| 丁香六月激情婷婷| 国模杨依粉嫩蝴蝶150p| 亚洲五月激情网| 欧美在线观看黄| 国产主播在线看| 亚洲综合123| 免费一级特黄毛片| 狠狠操狠狠干视频| 欧美一级片免费播放| 一区二区在线播放视频| 一二三四中文字幕| 熟妇人妻无乱码中文字幕真矢织江| 一级黄色高清视频| 国产又大又硬又粗| 亚洲五码在线观看视频| 日本男人操女人| 国产资源第一页| 欧美激情成人网| 国产精品日韩三级| 三上悠亚av一区二区三区| 日本中文字幕一级片| 亚洲成色www.777999| 日韩黄色片在线| 国产探花在线观看视频| 免费在线激情视频| 久久综合久久久久| 国产精品中文久久久久久| www国产黄色| 欧美久久久久久久久久久久久久| 成人日韩在线视频| 日日碰狠狠躁久久躁婷婷| 日韩av中文字幕第一页| 18视频在线观看娇喘| 激情久久综合网| 日本三级黄色网址| 亚欧在线免费观看| 毛葺葺老太做受视频| 激情伊人五月天| 黄色a级片免费看| 在线免费黄色小视频| 色乱码一区二区三区在线| 九色在线视频观看| 国产毛片视频网站| 国产v片免费观看| 极品粉嫩国产18尤物| 永久免费看av| 国产成人艳妇aa视频在线| 亚洲成人动漫在线| 红桃一区二区三区| 大地资源网在线观看免费官网 | 亚洲成熟丰满熟妇高潮xxxxx| 免费极品av一视觉盛宴| 大片在线观看网站免费收看| 波多野结衣三级在线| 91免费视频污| 国产资源第一页| 日韩精品在线视频免费观看| 97超碰在线人人| 欧美三级一级片| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 久久久久久久久久毛片| 免费黄频在线观看| 潘金莲一级淫片aaaaa免费看| 国产精品99久久久久久大便| 天天操夜夜操很很操| 看一级黄色录像| 极品美女扒开粉嫩小泬| av免费中文字幕| 免费成年人高清视频| 黄色网址在线免费看| 97超碰在线人人| wwwwxxxx日韩| 国产激情片在线观看| www黄色日本| 在线免费观看av的网站| 樱空桃在线播放| 啊啊啊一区二区| 国产一二三区av| 欧美日韩午夜爽爽| 国产裸体舞一区二区三区| 五月激情婷婷在线| www.国产在线视频| 欧美wwwwwww| 91免费黄视频| 色婷婷激情视频| 国产综合中文字幕| 亚洲精品中文字幕乱码无线| 波多野结衣综合网| 国产91av视频在线观看| 欧美网站免费观看| 强伦女教师2:伦理在线观看| 日韩视频第二页| 国产日产欧美一区二区| 37pao成人国产永久免费视频| 在线播放 亚洲| 男女爽爽爽视频| 日本免费a视频| 黄色片免费网址| 污污视频网站免费观看| 成年人午夜免费视频| 国产资源中文字幕| 天天爽天天爽夜夜爽| 日韩av在线播放不卡| 亚洲国产午夜精品| 亚洲 欧美 另类人妖| 国产老熟妇精品观看| 欧美日韩中文字幕在线播放| 激情五月婷婷基地| 国产小视频精品| 红桃av在线播放| 成年人网站免费视频| 日韩精品第1页| 国产成人强伦免费视频网站| 无码少妇一区二区三区芒果| 久久免费视频3| 自拍日韩亚洲一区在线| 国产一线二线三线女| 4444亚洲人成无码网在线观看| 中文字幕视频三区| 在线观看日本一区二区| wwwwxxxx日韩| 欧美在线aaa| 一二三级黄色片| 亚洲免费黄色录像| 九九热视频免费| 日韩视频在线免费播放| 亚洲免费在线播放视频| 久久久国产精华液999999| 三级一区二区三区| 五月天丁香花婷婷| 亚洲国产精品影视| a级黄色片网站| 免费在线看黄色片| 国产老熟妇精品观看| 国产一区二区三区精彩视频| 欧美日本视频在线观看| www一区二区www免费| 成人在线观看a| 中日韩av在线播放| 波多野结衣激情| 日韩av高清在线看片| 成人三级视频在线播放| 美女在线视频一区二区 | 99色精品视频| 天美星空大象mv在线观看视频| 色综合手机在线| 午夜大片在线观看| 成年人网站国产| 日韩手机在线观看视频| 日本一二区免费| 4444亚洲人成无码网在线观看| 男女视频网站在线观看| 在线观看av日韩| 91嫩草国产丨精品入口麻豆| 亚洲人精品午夜射精日韩| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 亚洲欧美日韩三级| 美女扒开大腿让男人桶| 日本爱爱免费视频| 免费的一级黄色片| 九色porny91| 男人天堂a在线| 污版视频在线观看| 日本免费a视频| 黄色在线视频网| 被灌满精子的波多野结衣| 中文字幕网av| 日本a视频在线观看| www.51色.com| 日本精品久久久久中文字幕| 四虎4hu永久免费入口| 91香蕉视频污版| 少妇无码av无码专区在线观看| 视频免费1区二区三区| 欧美v在线观看| 国产91在线亚洲| 中文字幕黄色大片| 日韩中文字幕二区| 久久综合久久网| 麻豆一区二区三区在线观看| 午夜免费精品视频| 国产成人黄色片| 国产高清www| 黄色一级大片免费| 亚洲一区二区中文字幕在线观看| 一本久道中文无码字幕av| 无码专区aaaaaa免费视频| 少妇高潮流白浆| 久久久久久综合网| 奇米影视四色在线| 999在线免费视频| 又色又爽又高潮免费视频国产| r级无码视频在线观看| 国产专区在线视频| 黄色录像特级片| 亚洲小视频在线播放|