# Scratch-3.0-Development-Notes **Repository Path**: sandylinlookbook/Scratch-3.0-Development-Notes ## Basic Information - **Project Name**: Scratch-3.0-Development-Notes - **Description**: Scratch 3.0二次开发笔记,包教不包会 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2024-12-13 - **Last Updated**: 2024-12-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Scratch 3.0 二次开发笔记 Scratch 3.0 二开教程,包教不包会 ## 第一步,官方已有克隆之法,不再赘述 ## 第二步,明修栈道,暗渡陈仓 - 下面开始喽 ### 瞒天过海/李代桃疆/声东击西/以逸待劳 - 1、替换 Logo 图片 - 法一, 路径: - scratch-gui/src/components/menu-bar/ - 替换文件: - scratch-logo.svg - 或 - 法二, 打开路径: - scratch-gui/src/components/menu-bar/menu-bar.jsx - 修改 Logo 文件地址: - import scratchLogo from './scratch-logo.svg'; - 2、替换 favicon 浏览器角标 - 路径: - scratch-gui/static/ - 替换文件: - favicon.ico - 3、点击 Logo 返回首页 事件 - 路径: - scratch-gui-develop/src/playground/render-gui.jsx - 第11行 ``` const onClickLogo = () => { window.location = '/'; }; ``` - 4、关闭‘即将启用’等提示语 - 路径: - scratch-gui-develop/src/components/menu-bar/ - 文件: - menu-bar.jsx - 关键词: - MenuBarItemTooltip ``` ``` - 5、取消 Warning: React does not recognize the `isRtl` prop on a DOM element - 路径: - src/containers/target-pane.jsx - 行号:240 ,加入: - isRtl, - 6、禁用书包功能 - 路径: scratch-gui-develop/src/components/gui/gui.jsx - 注释以下内容: ``` import Backpack from '../../containers/backpack.jsx'; {backpackVisible ? ( ) : null} ``` ### 混水摸鱼/抛砖引玉/釜底抽薪/借尸还魂/ - 1、启用 登录功能 - 路径: - src/components/menu-bar/menu-bar.jsx - 替换代码范围,行号: 628 - 747 ``` {this.props.username ? ( // ************ user is logged in ************
{this.props.username}
) : (
)} ``` - 2、完善 登录表单页面 - 路径: - src/components/menu-bar/login-dropdown.jsx - 行号: 67 - 登录表单自己写 - 因为我没使用这个功能。这个是scratch自带的功能 - 2.1、我说下我的登录方式: - 路径: - src/reducers/ - 创建 检测登录状态 js 文件 - user-state.js - 具体详见 user-state.js 文件,或者 自己用 ajax、 axios 都可以实现登录 - 3、在 gui.js 中启用启用 登录状态 - 路径: - scratch-gui-develop/src/reducers/gui.js - 行号: 30 ``` import userStatusReducer, {userStateInitialState} from './user-state'; ``` - 行号: 163 ``` userStatus: userStatusReducer, ``` - 4、在 menu-bar.jsx 中启用 登录状态 - 路径: - src/components/menu-bar/menu-bar.jsx - 行号: 67 ``` const user = state.scratchGui.userStatus.session; ``` - 5、登录后的用户下拉菜单 - 路径: - src\components\menu-bar\account-nav.jsx - 搜索关键词: ```