├── README.md ├── 四六级报考系统 └── readme.txt ├── 在线选课管理系统 └── 软件工程-需求分析作业-2013750-管昀玫.pdf ├── 数独 └── readme.txt ├── 最大子数组 ├── .coverage ├── PylintConfig.conf ├── TestResult.txt ├── __pycache__ │ └── main.cpython-39.pyc ├── build │ └── main │ │ ├── Analysis-00.toc │ │ ├── EXE-00.toc │ │ ├── PKG-00.toc │ │ ├── PYZ-00.pyz │ │ ├── PYZ-00.toc │ │ ├── base_library.zip │ │ ├── localpycs │ │ ├── pyimod01_archive.pyc │ │ ├── pyimod02_importers.pyc │ │ ├── pyimod03_ctypes.pyc │ │ ├── pyimod04_pywin32.pyc │ │ └── struct.pyc │ │ ├── main.exe.manifest │ │ ├── main.pkg │ │ ├── warn-main.txt │ │ └── xref-main.html ├── dist │ └── main.exe ├── main.py ├── main.spec ├── profileTest.py ├── pylintTest.py ├── unittestTest.py └── 最大子数组报告_管昀玫_2013750.pdf ├── 机票预订系统 └── 软件工程-软件设计作业-2013750-管昀玫.pdf └── 百度页面复刻 ├── Baidu html ├── Baidu.html ├── data │ ├── document.js │ └── styles.css ├── files │ └── 百度搜索原型 │ │ ├── data.js │ │ └── styles.css ├── images │ └── 百度搜索原型 │ │ ├── __logo_u4.png │ │ ├── hot_1_u50.svg │ │ ├── hot_2_u51.svg │ │ ├── hot_3_u52.svg │ │ ├── hot_top_u48.svg │ │ ├── u34.png │ │ ├── u35.png │ │ ├── u36.png │ │ ├── u57.svg │ │ ├── u61.svg │ │ ├── u66.svg │ │ ├── u67.png │ │ ├── u72.svg │ │ ├── u80.svg │ │ ├── u81.svg │ │ ├── 关注与推荐_u58.svg │ │ ├── 关注框_u65.svg │ │ ├── 关闭图片搜索_u82.svg │ │ ├── 后退、前进与刷新_u9.png │ │ ├── 图片搜索_u87.svg │ │ ├── 图片搜索_u87_mouseOver.svg │ │ ├── 图片搜索底框_u79.svg │ │ ├── 我的关注2_u59.svg │ │ ├── 我的关注_line_u62.svg │ │ ├── 按图片搜索_u84.svg │ │ ├── 按图片搜索_u84_disabled.svg │ │ ├── 推荐1_u71.svg │ │ ├── 推荐_line_u63.svg │ │ ├── 搜索文本框_u86.svg │ │ ├── 搜索文本框_u86_disabled.svg │ │ ├── 百度图标_u45.png │ │ ├── 百度热搜框_u47.svg │ │ ├── 粘贴图片网址提示_u83.svg │ │ ├── 粘贴图片网址提示_u83_disabled.svg │ │ ├── 输入候选1_u75.svg │ │ └── 首页底色_u40.svg ├── index.html ├── plugins │ ├── debug │ │ ├── debug.js │ │ └── styles │ │ │ ├── debug.css │ │ │ └── images │ │ │ ├── console_panel_off.svg │ │ │ └── console_panel_on.svg │ ├── page_notes │ │ ├── page_notes.js │ │ └── styles │ │ │ ├── images │ │ │ ├── notes_panel_off.svg │ │ │ └── notes_panel_on.svg │ │ │ └── page_notes.css │ ├── recordplay │ │ ├── recordplay.js │ │ └── styles │ │ │ └── recordplay.css │ └── sitemap │ │ ├── sitemap.js │ │ └── styles │ │ ├── images │ │ ├── back_keys.svg │ │ ├── closed_item.svg │ │ ├── flow.svg │ │ ├── folder_closed_blue.svg │ │ ├── forward_keys.svg │ │ ├── left_arrow.svg │ │ ├── open_item.svg │ │ ├── page_lt_grey.svg │ │ ├── right_arrow.svg │ │ ├── search_off.svg │ │ ├── search_on.svg │ │ ├── sitemap_panel_off.svg │ │ └── sitemap_panel_on.svg │ │ └── sitemap.css ├── resources │ ├── Other.html │ ├── chrome │ │ ├── allow-access.png │ │ ├── axure-chrome-extension.crx │ │ ├── axure_logo.png │ │ ├── chrome.html │ │ ├── details.png │ │ ├── extensions.png │ │ ├── firefox.html │ │ ├── preview-rp.png │ │ ├── safari.html │ │ ├── safari_advanced.png │ │ ├── safari_restrictions.png │ │ ├── splitter.gif │ │ └── splitter.png │ ├── css │ │ ├── axure_rp_page.css │ │ ├── default.css │ │ ├── images │ │ │ ├── images.html │ │ │ ├── newwindow.gif │ │ │ ├── note.gif │ │ │ ├── touch.cur │ │ │ ├── touch.svg │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ │ ├── ui-bg_glass_75_ffffff_1x400.png │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ │ ├── ui-bg_inset-soft_95_fef1ec_1x100.png │ │ │ ├── ui-icons_222222_256x240.png │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ ├── ui-icons_454545_256x240.png │ │ │ ├── ui-icons_888888_256x240.png │ │ │ └── ui-icons_cd0a0a_256x240.png │ │ ├── jquery-ui-themes.css │ │ ├── previewfonts.css │ │ ├── previewfonts │ │ │ ├── SourceSansPro-OpenFontLicense.txt │ │ │ ├── SourceSansPro-Regular.woff2 │ │ │ └── SourceSansPro-Semibold.woff2 │ │ └── reset.css │ ├── images │ │ ├── axure9_logo.svg │ │ ├── axure_logo.png │ │ ├── axure_logo.svg │ │ ├── caret_down.svg │ │ ├── caret_down_off.svg │ │ ├── close_x.svg │ │ ├── close_x_minimize.svg │ │ ├── divider.png │ │ ├── divider.svg │ │ ├── exit.svg │ │ ├── favicon_play.ico │ │ ├── favicon_play.svg │ │ ├── overflow-icon.svg │ │ ├── overflow_checkmark.svg │ │ ├── overflow_icon_off.svg │ │ ├── refresh.svg │ │ ├── resize.svg │ │ ├── return.svg │ │ ├── transparent.gif │ │ └── views-icon.svg │ ├── reload.html │ └── scripts │ │ ├── axure │ │ ├── action.js │ │ ├── adaptive.js │ │ ├── annotation.js │ │ ├── axQuery.js │ │ ├── axQuery.std.js │ │ ├── doc.js │ │ ├── drag.js │ │ ├── events.js │ │ ├── expr.js │ │ ├── flyout.js │ │ ├── geometry.js │ │ ├── globals.js │ │ ├── ie.js │ │ ├── init.temp.js │ │ ├── ios.js │ │ ├── jquery.nicescroll.min.js │ │ ├── legacy.js │ │ ├── math.js │ │ ├── model.js │ │ ├── move.js │ │ ├── recording.js │ │ ├── repeater.js │ │ ├── sto.js │ │ ├── style.js │ │ ├── tree.js │ │ ├── utils.temp.js │ │ ├── variables.js │ │ ├── viewer.js │ │ └── visibility.js │ │ ├── axutils.js │ │ ├── hintmanager.js │ │ ├── jquery-1.7.1.min.js │ │ ├── jquery-3.2.1.min.js │ │ ├── jquery-ui-1.8.10.custom.min.js │ │ ├── messagecenter.js │ │ └── player │ │ ├── axplayer.js │ │ ├── init.js │ │ └── splitter.js ├── start.html ├── start_c_1.html └── start_with_pages.html ├── 原型设计文档.pdf └── 百度搜索.rp /README.md: -------------------------------------------------------------------------------- 1 | # Software-Engineering-Assignments 2 | NKU 软件工程 日常作业; NKU (Nankai University) Software Engineering Assignments 3 | 4 | 此仓库存放NKU软件工程的日常作业报告,主要有三个部分:在线选课管理系统需求分析,机票预订系统设计文档,以及复刻百度搜索页面。数独与四六级报考系统为结对编程作业和最终大作业,文件夹内有相应的仓库跳转链接。如果你认为这个仓库对你有用,请给我一颗星,非常感激! 5 | 6 | This repository contains homework reports for NKU Software Engineering. It mainly consists of three parts: the requirements analysis for the Online Course Selection Management System, the design documentation for the Flight Booking System, and the replication of the Baidu search page. The Sudoku and CET-4/CET-6 Registration System are pair programming assignments and the final project, with corresponding repository links provided in the folders. If you find this repository helpful, please give me a star. Thank you very much! 7 | -------------------------------------------------------------------------------- /四六级报考系统/readme.txt: -------------------------------------------------------------------------------- 1 | https://github.com/Myrrolinz/Software-Engineering -------------------------------------------------------------------------------- /在线选课管理系统/软件工程-需求分析作业-2013750-管昀玫.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/在线选课管理系统/软件工程-需求分析作业-2013750-管昀玫.pdf -------------------------------------------------------------------------------- /数独/readme.txt: -------------------------------------------------------------------------------- 1 | https://github.com/Myrrolinz/Sodoku -------------------------------------------------------------------------------- /最大子数组/.coverage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/.coverage -------------------------------------------------------------------------------- /最大子数组/TestResult.txt: -------------------------------------------------------------------------------- 1 | test_pipline (__main__.Testing) 2 | һά ... ok 3 | test_in (__main__.Testing) ... ok 4 | test_error (__main__.Testing) ... ok 5 | 6 | ---------------------------------------------------------------------- 7 | Ran 3 tests in 0.005s 8 | 9 | OK 10 | -------------------------------------------------------------------------------- /最大子数组/__pycache__/main.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/__pycache__/main.cpython-39.pyc -------------------------------------------------------------------------------- /最大子数组/build/main/EXE-00.toc: -------------------------------------------------------------------------------- 1 | ('D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\dist\\main.exe', 2 | True, 3 | False, 4 | False, 5 | 'D:\\Python39\\lib\\site-packages\\PyInstaller\\bootloader\\images\\icon-console.ico', 6 | None, 7 | False, 8 | False, 9 | 'true', 10 | True, 11 | True, 12 | False, 13 | None, 14 | None, 15 | None, 16 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\main.pkg', 17 | [('PYZ-00.pyz', 18 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\PYZ-00.pyz', 19 | 'PYZ'), 20 | ('struct', 21 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\localpycs\\struct.pyc', 22 | 'PYMODULE'), 23 | ('pyimod01_archive', 24 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\localpycs\\pyimod01_archive.pyc', 25 | 'PYMODULE'), 26 | ('pyimod02_importers', 27 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\localpycs\\pyimod02_importers.pyc', 28 | 'PYMODULE'), 29 | ('pyimod03_ctypes', 30 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\localpycs\\pyimod03_ctypes.pyc', 31 | 'PYMODULE'), 32 | ('pyimod04_pywin32', 33 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\localpycs\\pyimod04_pywin32.pyc', 34 | 'PYMODULE'), 35 | ('pyiboot01_bootstrap', 36 | 'D:\\Python39\\lib\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py', 37 | 'PYSOURCE'), 38 | ('pyi_rth_pkgutil', 39 | 'D:\\Python39\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgutil.py', 40 | 'PYSOURCE'), 41 | ('pyi_rth_inspect', 42 | 'D:\\Python39\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py', 43 | 'PYSOURCE'), 44 | ('pyi_rth_multiprocessing', 45 | 'D:\\Python39\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_multiprocessing.py', 46 | 'PYSOURCE'), 47 | ('main', 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\main.py', 'PYSOURCE'), 48 | ('VCRUNTIME140.dll', 'D:\\Python39\\VCRUNTIME140.dll', 'BINARY'), 49 | ('python39.dll', 'D:\\Python39\\python39.dll', 'BINARY'), 50 | ('libopenblas.FB5AE2TYXYH2IJRDKGDGQ3XBKLKTF43H.gfortran-win_amd64.dll', 51 | 'D:\\Python39\\lib\\site-packages\\numpy\\.libs\\libopenblas.FB5AE2TYXYH2IJRDKGDGQ3XBKLKTF43H.gfortran-win_amd64.dll', 52 | 'BINARY'), 53 | ('select.pyd', 'D:\\Python39\\DLLs\\select.pyd', 'EXTENSION'), 54 | ('_hashlib.pyd', 'D:\\Python39\\DLLs\\_hashlib.pyd', 'EXTENSION'), 55 | ('_lzma.pyd', 'D:\\Python39\\DLLs\\_lzma.pyd', 'EXTENSION'), 56 | ('_bz2.pyd', 'D:\\Python39\\DLLs\\_bz2.pyd', 'EXTENSION'), 57 | ('pyexpat.pyd', 'D:\\Python39\\DLLs\\pyexpat.pyd', 'EXTENSION'), 58 | ('_ssl.pyd', 'D:\\Python39\\DLLs\\_ssl.pyd', 'EXTENSION'), 59 | ('_decimal.pyd', 'D:\\Python39\\DLLs\\_decimal.pyd', 'EXTENSION'), 60 | ('_multiprocessing.pyd', 61 | 'D:\\Python39\\DLLs\\_multiprocessing.pyd', 62 | 'EXTENSION'), 63 | ('_socket.pyd', 'D:\\Python39\\DLLs\\_socket.pyd', 'EXTENSION'), 64 | ('_ctypes.pyd', 'D:\\Python39\\DLLs\\_ctypes.pyd', 'EXTENSION'), 65 | ('_queue.pyd', 'D:\\Python39\\DLLs\\_queue.pyd', 'EXTENSION'), 66 | ('unicodedata.pyd', 'D:\\Python39\\DLLs\\unicodedata.pyd', 'EXTENSION'), 67 | ('numpy\\core\\_multiarray_tests.cp39-win_amd64.pyd', 68 | 'D:\\Python39\\lib\\site-packages\\numpy\\core\\_multiarray_tests.cp39-win_amd64.pyd', 69 | 'EXTENSION'), 70 | ('_elementtree.pyd', 'D:\\Python39\\DLLs\\_elementtree.pyd', 'EXTENSION'), 71 | ('psutil\\_psutil_windows.cp39-win_amd64.pyd', 72 | 'D:\\Python39\\lib\\site-packages\\psutil\\_psutil_windows.cp39-win_amd64.pyd', 73 | 'EXTENSION'), 74 | ('numpy\\core\\_multiarray_umath.cp39-win_amd64.pyd', 75 | 'D:\\Python39\\lib\\site-packages\\numpy\\core\\_multiarray_umath.cp39-win_amd64.pyd', 76 | 'EXTENSION'), 77 | ('win32pdh.pyd', 78 | 'D:\\Python39\\lib\\site-packages\\win32\\win32pdh.pyd', 79 | 'EXTENSION'), 80 | ('numpy\\linalg\\lapack_lite.cp39-win_amd64.pyd', 81 | 'D:\\Python39\\lib\\site-packages\\numpy\\linalg\\lapack_lite.cp39-win_amd64.pyd', 82 | 'EXTENSION'), 83 | ('_overlapped.pyd', 'D:\\Python39\\DLLs\\_overlapped.pyd', 'EXTENSION'), 84 | ('_asyncio.pyd', 'D:\\Python39\\DLLs\\_asyncio.pyd', 'EXTENSION'), 85 | ('numpy\\random\\mtrand.cp39-win_amd64.pyd', 86 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\mtrand.cp39-win_amd64.pyd', 87 | 'EXTENSION'), 88 | ('numpy\\random\\_sfc64.cp39-win_amd64.pyd', 89 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_sfc64.cp39-win_amd64.pyd', 90 | 'EXTENSION'), 91 | ('numpy\\random\\_philox.cp39-win_amd64.pyd', 92 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_philox.cp39-win_amd64.pyd', 93 | 'EXTENSION'), 94 | ('numpy\\random\\_pcg64.cp39-win_amd64.pyd', 95 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_pcg64.cp39-win_amd64.pyd', 96 | 'EXTENSION'), 97 | ('numpy\\random\\_mt19937.cp39-win_amd64.pyd', 98 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_mt19937.cp39-win_amd64.pyd', 99 | 'EXTENSION'), 100 | ('numpy\\random\\bit_generator.cp39-win_amd64.pyd', 101 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\bit_generator.cp39-win_amd64.pyd', 102 | 'EXTENSION'), 103 | ('numpy\\random\\_generator.cp39-win_amd64.pyd', 104 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_generator.cp39-win_amd64.pyd', 105 | 'EXTENSION'), 106 | ('numpy\\random\\_bounded_integers.cp39-win_amd64.pyd', 107 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_bounded_integers.cp39-win_amd64.pyd', 108 | 'EXTENSION'), 109 | ('numpy\\random\\_common.cp39-win_amd64.pyd', 110 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_common.cp39-win_amd64.pyd', 111 | 'EXTENSION'), 112 | ('numpy\\fft\\_pocketfft_internal.cp39-win_amd64.pyd', 113 | 'D:\\Python39\\lib\\site-packages\\numpy\\fft\\_pocketfft_internal.cp39-win_amd64.pyd', 114 | 'EXTENSION'), 115 | ('numpy\\linalg\\_umath_linalg.cp39-win_amd64.pyd', 116 | 'D:\\Python39\\lib\\site-packages\\numpy\\linalg\\_umath_linalg.cp39-win_amd64.pyd', 117 | 'EXTENSION'), 118 | ('libcrypto-1_1.dll', 'D:\\Python39\\DLLs\\libcrypto-1_1.dll', 'BINARY'), 119 | ('libssl-1_1.dll', 'D:\\Python39\\DLLs\\libssl-1_1.dll', 'BINARY'), 120 | ('libffi-7.dll', 'D:\\Python39\\DLLs\\libffi-7.dll', 'BINARY'), 121 | ('pywin32_system32\\pywintypes39.dll', 122 | 'D:\\Python39\\Lib\\site-packages\\pywin32_system32\\pywintypes39.dll', 123 | 'BINARY'), 124 | ('base_library.zip', 125 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\base_library.zip', 126 | 'DATA')], 127 | [], 128 | False, 129 | False, 130 | 1684078157, 131 | [('run.exe', 132 | 'D:\\Python39\\lib\\site-packages\\PyInstaller\\bootloader\\Windows-64bit-intel\\run.exe', 133 | 'EXECUTABLE')]) 134 | -------------------------------------------------------------------------------- /最大子数组/build/main/PKG-00.toc: -------------------------------------------------------------------------------- 1 | ('D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\main.pkg', 2 | {'BINARY': True, 3 | 'DATA': True, 4 | 'EXECUTABLE': True, 5 | 'EXTENSION': True, 6 | 'PYMODULE': True, 7 | 'PYSOURCE': True, 8 | 'PYZ': False, 9 | 'SPLASH': True}, 10 | [('PYZ-00.pyz', 11 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\PYZ-00.pyz', 12 | 'PYZ'), 13 | ('struct', 14 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\localpycs\\struct.pyc', 15 | 'PYMODULE'), 16 | ('pyimod01_archive', 17 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\localpycs\\pyimod01_archive.pyc', 18 | 'PYMODULE'), 19 | ('pyimod02_importers', 20 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\localpycs\\pyimod02_importers.pyc', 21 | 'PYMODULE'), 22 | ('pyimod03_ctypes', 23 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\localpycs\\pyimod03_ctypes.pyc', 24 | 'PYMODULE'), 25 | ('pyimod04_pywin32', 26 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\localpycs\\pyimod04_pywin32.pyc', 27 | 'PYMODULE'), 28 | ('pyiboot01_bootstrap', 29 | 'D:\\Python39\\lib\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py', 30 | 'PYSOURCE'), 31 | ('pyi_rth_pkgutil', 32 | 'D:\\Python39\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgutil.py', 33 | 'PYSOURCE'), 34 | ('pyi_rth_inspect', 35 | 'D:\\Python39\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py', 36 | 'PYSOURCE'), 37 | ('pyi_rth_multiprocessing', 38 | 'D:\\Python39\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_multiprocessing.py', 39 | 'PYSOURCE'), 40 | ('main', 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\main.py', 'PYSOURCE'), 41 | ('VCRUNTIME140.dll', 'D:\\Python39\\VCRUNTIME140.dll', 'BINARY'), 42 | ('python39.dll', 'D:\\Python39\\python39.dll', 'BINARY'), 43 | ('libopenblas.FB5AE2TYXYH2IJRDKGDGQ3XBKLKTF43H.gfortran-win_amd64.dll', 44 | 'D:\\Python39\\lib\\site-packages\\numpy\\.libs\\libopenblas.FB5AE2TYXYH2IJRDKGDGQ3XBKLKTF43H.gfortran-win_amd64.dll', 45 | 'BINARY'), 46 | ('select.pyd', 'D:\\Python39\\DLLs\\select.pyd', 'EXTENSION'), 47 | ('_hashlib.pyd', 'D:\\Python39\\DLLs\\_hashlib.pyd', 'EXTENSION'), 48 | ('_lzma.pyd', 'D:\\Python39\\DLLs\\_lzma.pyd', 'EXTENSION'), 49 | ('_bz2.pyd', 'D:\\Python39\\DLLs\\_bz2.pyd', 'EXTENSION'), 50 | ('pyexpat.pyd', 'D:\\Python39\\DLLs\\pyexpat.pyd', 'EXTENSION'), 51 | ('_ssl.pyd', 'D:\\Python39\\DLLs\\_ssl.pyd', 'EXTENSION'), 52 | ('_decimal.pyd', 'D:\\Python39\\DLLs\\_decimal.pyd', 'EXTENSION'), 53 | ('_multiprocessing.pyd', 54 | 'D:\\Python39\\DLLs\\_multiprocessing.pyd', 55 | 'EXTENSION'), 56 | ('_socket.pyd', 'D:\\Python39\\DLLs\\_socket.pyd', 'EXTENSION'), 57 | ('_ctypes.pyd', 'D:\\Python39\\DLLs\\_ctypes.pyd', 'EXTENSION'), 58 | ('_queue.pyd', 'D:\\Python39\\DLLs\\_queue.pyd', 'EXTENSION'), 59 | ('unicodedata.pyd', 'D:\\Python39\\DLLs\\unicodedata.pyd', 'EXTENSION'), 60 | ('numpy\\core\\_multiarray_tests.cp39-win_amd64.pyd', 61 | 'D:\\Python39\\lib\\site-packages\\numpy\\core\\_multiarray_tests.cp39-win_amd64.pyd', 62 | 'EXTENSION'), 63 | ('_elementtree.pyd', 'D:\\Python39\\DLLs\\_elementtree.pyd', 'EXTENSION'), 64 | ('psutil\\_psutil_windows.cp39-win_amd64.pyd', 65 | 'D:\\Python39\\lib\\site-packages\\psutil\\_psutil_windows.cp39-win_amd64.pyd', 66 | 'EXTENSION'), 67 | ('numpy\\core\\_multiarray_umath.cp39-win_amd64.pyd', 68 | 'D:\\Python39\\lib\\site-packages\\numpy\\core\\_multiarray_umath.cp39-win_amd64.pyd', 69 | 'EXTENSION'), 70 | ('win32pdh.pyd', 71 | 'D:\\Python39\\lib\\site-packages\\win32\\win32pdh.pyd', 72 | 'EXTENSION'), 73 | ('numpy\\linalg\\lapack_lite.cp39-win_amd64.pyd', 74 | 'D:\\Python39\\lib\\site-packages\\numpy\\linalg\\lapack_lite.cp39-win_amd64.pyd', 75 | 'EXTENSION'), 76 | ('_overlapped.pyd', 'D:\\Python39\\DLLs\\_overlapped.pyd', 'EXTENSION'), 77 | ('_asyncio.pyd', 'D:\\Python39\\DLLs\\_asyncio.pyd', 'EXTENSION'), 78 | ('numpy\\random\\mtrand.cp39-win_amd64.pyd', 79 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\mtrand.cp39-win_amd64.pyd', 80 | 'EXTENSION'), 81 | ('numpy\\random\\_sfc64.cp39-win_amd64.pyd', 82 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_sfc64.cp39-win_amd64.pyd', 83 | 'EXTENSION'), 84 | ('numpy\\random\\_philox.cp39-win_amd64.pyd', 85 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_philox.cp39-win_amd64.pyd', 86 | 'EXTENSION'), 87 | ('numpy\\random\\_pcg64.cp39-win_amd64.pyd', 88 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_pcg64.cp39-win_amd64.pyd', 89 | 'EXTENSION'), 90 | ('numpy\\random\\_mt19937.cp39-win_amd64.pyd', 91 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_mt19937.cp39-win_amd64.pyd', 92 | 'EXTENSION'), 93 | ('numpy\\random\\bit_generator.cp39-win_amd64.pyd', 94 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\bit_generator.cp39-win_amd64.pyd', 95 | 'EXTENSION'), 96 | ('numpy\\random\\_generator.cp39-win_amd64.pyd', 97 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_generator.cp39-win_amd64.pyd', 98 | 'EXTENSION'), 99 | ('numpy\\random\\_bounded_integers.cp39-win_amd64.pyd', 100 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_bounded_integers.cp39-win_amd64.pyd', 101 | 'EXTENSION'), 102 | ('numpy\\random\\_common.cp39-win_amd64.pyd', 103 | 'D:\\Python39\\lib\\site-packages\\numpy\\random\\_common.cp39-win_amd64.pyd', 104 | 'EXTENSION'), 105 | ('numpy\\fft\\_pocketfft_internal.cp39-win_amd64.pyd', 106 | 'D:\\Python39\\lib\\site-packages\\numpy\\fft\\_pocketfft_internal.cp39-win_amd64.pyd', 107 | 'EXTENSION'), 108 | ('numpy\\linalg\\_umath_linalg.cp39-win_amd64.pyd', 109 | 'D:\\Python39\\lib\\site-packages\\numpy\\linalg\\_umath_linalg.cp39-win_amd64.pyd', 110 | 'EXTENSION'), 111 | ('libcrypto-1_1.dll', 'D:\\Python39\\DLLs\\libcrypto-1_1.dll', 'BINARY'), 112 | ('libssl-1_1.dll', 'D:\\Python39\\DLLs\\libssl-1_1.dll', 'BINARY'), 113 | ('libffi-7.dll', 'D:\\Python39\\DLLs\\libffi-7.dll', 'BINARY'), 114 | ('pywin32_system32\\pywintypes39.dll', 115 | 'D:\\Python39\\Lib\\site-packages\\pywin32_system32\\pywintypes39.dll', 116 | 'BINARY'), 117 | ('base_library.zip', 118 | 'D:\\Archieve\\大三下\\软件工程\\最大子数组\\Max_Subarray\\build\\main\\base_library.zip', 119 | 'DATA')], 120 | False, 121 | False, 122 | False, 123 | [], 124 | None, 125 | None, 126 | None) 127 | -------------------------------------------------------------------------------- /最大子数组/build/main/PYZ-00.pyz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/build/main/PYZ-00.pyz -------------------------------------------------------------------------------- /最大子数组/build/main/base_library.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/build/main/base_library.zip -------------------------------------------------------------------------------- /最大子数组/build/main/localpycs/pyimod01_archive.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/build/main/localpycs/pyimod01_archive.pyc -------------------------------------------------------------------------------- /最大子数组/build/main/localpycs/pyimod02_importers.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/build/main/localpycs/pyimod02_importers.pyc -------------------------------------------------------------------------------- /最大子数组/build/main/localpycs/pyimod03_ctypes.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/build/main/localpycs/pyimod03_ctypes.pyc -------------------------------------------------------------------------------- /最大子数组/build/main/localpycs/pyimod04_pywin32.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/build/main/localpycs/pyimod04_pywin32.pyc -------------------------------------------------------------------------------- /最大子数组/build/main/localpycs/struct.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/build/main/localpycs/struct.pyc -------------------------------------------------------------------------------- /最大子数组/build/main/main.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | true 28 | 29 | 30 | -------------------------------------------------------------------------------- /最大子数组/build/main/main.pkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/build/main/main.pkg -------------------------------------------------------------------------------- /最大子数组/dist/main.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/dist/main.exe -------------------------------------------------------------------------------- /最大子数组/main.py: -------------------------------------------------------------------------------- 1 | # -*- coding: UTF-8 -*- 2 | """ 3 | @Project :作业二 4 | @File :main.py 5 | @Author :Yunmei Guan 6 | @Date :2023/5/13 16:06 7 | """ 8 | from ast import literal_eval 9 | import numpy as np 10 | 11 | class MaxProduct: 12 | """ 13 | Maximum Product Subarray 14 | """ 15 | def __init__(self): 16 | """Initialize""" 17 | self.num = [] 18 | self.nums = [] 19 | self.max_dp = 0 20 | self.min_dp = 0 21 | self.ans_dp = 0 22 | self.shape = 0 23 | 24 | def set(self, in_num): 25 | """Assign input array""" 26 | self.nums = in_num 27 | self.shape = np.array(self.nums).ndim 28 | 29 | def calculate_list(self): 30 | """Calculate the value of the maximum product subarray""" 31 | if len(self.num) <= 1: 32 | self.ans_dp = self.num[0] 33 | self.max_dp, self.min_dp, self.ans_dp = self.num[0], self.num[0], self.num[0] 34 | for i in range(1, len(self.num)): 35 | self.max_dp, self.min_dp = max(self.max_dp * self.num[i], self.num[i], self.min_dp * self.num[i]),\ 36 | min(self.max_dp * self.num[i], self.num[i], self.min_dp * self.num[i]) 37 | self.ans_dp = max(self.ans_dp, self.max_dp) 38 | return self.ans_dp 39 | 40 | def calculate(self): 41 | """Calculate MP after processing the input sequence""" 42 | if self.shape == 1: 43 | self.num = self.nums 44 | print(self.num) 45 | return self.calculate_list() 46 | if self.shape == 2: 47 | ans_list = [] 48 | for i in range(self.shape): 49 | self.num = self.nums[i] 50 | ans_list.append(self.calculate_list()) 51 | return max(ans_list) 52 | print("Program error!") 53 | return TypeError 54 | 55 | 56 | def get_ans(self): 57 | """Return the calculation result""" 58 | return self.ans_dp 59 | 60 | def pipline(input_nums): 61 | """Calculation pipeline""" 62 | my_mp = MaxProduct() 63 | my_mp.set(input_nums) 64 | return my_mp.calculate() 65 | 66 | def get_list(the_set): 67 | """ 68 | :param the_set: The set to be processed 69 | :return: The largest number 70 | """ 71 | return pipline(the_set) 72 | 73 | def get_in(): 74 | """Get input array 75 | Including error handling 76 | """ 77 | inlist = [] 78 | try: 79 | inlist = literal_eval(input("please input a One-dim Or Two-dim array: ")) 80 | except (SyntaxError, ValueError): 81 | print("error input!") 82 | except TypeError: 83 | print("Format error!") 84 | if isinstance(inlist, tuple): 85 | inlist = list(inlist) 86 | elif isinstance(inlist, int): 87 | inlist = [inlist] 88 | elif isinstance(inlist, list): 89 | temp = np.array(inlist) 90 | if len(temp.shape) == 1: 91 | for index in inlist: 92 | try: 93 | assert isinstance(index, (int, float)) 94 | except AssertionError: 95 | print("error input!") 96 | elif len(temp.shape) == 2: 97 | for index_1 in inlist: 98 | for index_2 in index_1: 99 | try: 100 | assert isinstance(index_2, (int, float)) 101 | except AssertionError: 102 | print("error input!") 103 | else: 104 | print("This program only supports one-dim arrays and two-dim arrays") 105 | return TypeError 106 | else: 107 | print("error input! ") 108 | return TypeError 109 | return inlist 110 | 111 | 112 | if __name__=='__main__': 113 | # Obtain a set of numbers and store them in a list 114 | nums = get_in() 115 | """Perform calculation""" 116 | print(pipline(nums)) 117 | -------------------------------------------------------------------------------- /最大子数组/main.spec: -------------------------------------------------------------------------------- 1 | # -*- mode: python ; coding: utf-8 -*- 2 | 3 | 4 | block_cipher = None 5 | 6 | 7 | a = Analysis( 8 | ['main.py'], 9 | pathex=[], 10 | binaries=[], 11 | datas=[], 12 | hiddenimports=[], 13 | hookspath=[], 14 | hooksconfig={}, 15 | runtime_hooks=[], 16 | excludes=[], 17 | win_no_prefer_redirects=False, 18 | win_private_assemblies=False, 19 | cipher=block_cipher, 20 | noarchive=False, 21 | ) 22 | pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) 23 | 24 | exe = EXE( 25 | pyz, 26 | a.scripts, 27 | a.binaries, 28 | a.zipfiles, 29 | a.datas, 30 | [], 31 | name='main', 32 | debug=False, 33 | bootloader_ignore_signals=False, 34 | strip=False, 35 | upx=True, 36 | upx_exclude=[], 37 | runtime_tmpdir=None, 38 | console=True, 39 | disable_windowed_traceback=False, 40 | argv_emulation=False, 41 | target_arch=None, 42 | codesign_identity=None, 43 | entitlements_file=None, 44 | ) 45 | -------------------------------------------------------------------------------- /最大子数组/profileTest.py: -------------------------------------------------------------------------------- 1 | # -*- coding: UTF-8 -*- 2 | """ 3 | @Project :作业二 4 | @File :profileTest.py 5 | @Author :Yunmei Guan 6 | @Date :2023/5/13 16:24 7 | """ 8 | 9 | import yappi 10 | import numpy as np 11 | import main 12 | 13 | 14 | yappi.clear_stats() 15 | test1 = [np.random.randint(1, 1000) for i in range(100000)] 16 | test2 = [np.random.rand() for i in range(100000)] 17 | 18 | yappi.start() 19 | main.get_list(test1) 20 | yappi.stop() 21 | stats = yappi.convert2pstats(yappi.get_func_stats()) 22 | stats.sort_stats("cumulative") 23 | stats.print_stats() 24 | 25 | yappi.start() 26 | main.get_list(test2) 27 | yappi.stop() 28 | stats = yappi.convert2pstats(yappi.get_func_stats()) 29 | stats.sort_stats("cumulative") 30 | stats.print_stats() 31 | 32 | 33 | -------------------------------------------------------------------------------- /最大子数组/pylintTest.py: -------------------------------------------------------------------------------- 1 | import pylint.lint 2 | 3 | pylint_opts = ['--rcfile=PylintConfig.conf', '-ry', './main.py'] 4 | 5 | pylint.lint.Run(pylint_opts) -------------------------------------------------------------------------------- /最大子数组/unittestTest.py: -------------------------------------------------------------------------------- 1 | # -*- coding: UTF-8 -*- 2 | """ 3 | @Project :作业二 4 | @File :unittestTest.py 5 | @Author :Yunmei Guan 6 | @Date :2023/5/13 18:18 7 | """ 8 | 9 | 10 | import unittest 11 | import main 12 | from unittest.mock import patch 13 | 14 | 15 | class Testing(unittest.TestCase): 16 | """ 17 | 测试 18 | """ 19 | 20 | def test_pipline(self): 21 | """一维""" 22 | self.assertEqual(main.pipline([-1, 2, 3, -4]),24) 23 | self.assertEqual(main.pipline([1, 2, 3, 4]),24) 24 | self.assertEqual(main.pipline([-1, 2, -5, 3, -4]),120) 25 | self.assertEqual(main.pipline([-1, 20, 0, 30, -4]),30) 26 | self.assertEqual(main.pipline([-2, -3, -5, -1, -9]),135) 27 | self.assertEqual(main.pipline([-2.0, -3.0, -5.0, -1.0, -9.0]),135.0) 28 | self.assertEqual(main.pipline([-2.0, -3.0, -5.0, -1, -9]),135.0) 29 | """二维""" 30 | self.assertEqual(main.pipline([[1,2,3],[0,1,2]]),6) 31 | self.assertEqual(main.pipline([[1, 2, 3,4], [0, 1, 2,4]]), 24) 32 | self.assertEqual(main.pipline([[-1.0,-2.0,7],[1,2,0]]),14.0) 33 | 34 | 35 | @patch('builtins.input') 36 | def test_in(self, mock_input): 37 | mock_input.return_value = '1' 38 | self.assertEqual(main.get_in(), [1]) 39 | 40 | mock_input.return_value = '[1, 2]' 41 | self.assertEqual(main.get_in(), [1, 2]) 42 | 43 | mock_input.return_value = '[1, 2, 0]' 44 | self.assertEqual(main.get_in(), [1, 2, 0]) 45 | 46 | mock_input.return_value = '[[1, 2,-3],[0,1,2]]' 47 | self.assertEqual(main.get_in(), [[1, 2,-3],[0,1,2]]) 48 | 49 | mock_input.return_value = '(1, 2)' 50 | self.assertEqual(main.get_in(), [1, 2]) 51 | 52 | @patch('builtins.input') 53 | def test_error(self, mock_input): 54 | 55 | mock_input.return_value = '[1, 2 ,' 56 | self.assertRaises(BaseException, main.get_in(), TypeError) 57 | 58 | mock_input.return_value = '[[-50.0, 3.0, 34.0], ' \ 59 | '[-3.0, 25.0, -25.0, 50.0, -34.0], [-8.0, 9.0, 7.0, -31.0, -2.0]])' 60 | self.assertRaises(BaseException, main.get_in(), TypeError) 61 | 62 | mock_input.return_value = "['a', 'b', 'c']" 63 | self.assertRaises(BaseException, main.get_in(), AssertionError) 64 | 65 | mock_input.return_value = "[['a'], ['b']]" 66 | self.assertRaises(BaseException, main.get_in(), AssertionError) 67 | 68 | mock_input.return_value = '[[1], [2], [3]]' 69 | self.assertRaises(BaseException, main.get_in(), TypeError) 70 | 71 | 72 | if __name__ == "__main__": 73 | suite = unittest.TestSuite() 74 | 75 | tests = [Testing("test_pipline"), Testing("test_in"),Testing("test_error")] 76 | suite.addTests(tests) 77 | 78 | with open('./TestResult.txt','w') as file: 79 | runner = unittest.TextTestRunner(stream=file, verbosity=2) 80 | runner.run(suite) -------------------------------------------------------------------------------- /最大子数组/最大子数组报告_管昀玫_2013750.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/最大子数组/最大子数组报告_管昀玫_2013750.pdf -------------------------------------------------------------------------------- /机票预订系统/软件工程-软件设计作业-2013750-管昀玫.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/机票预订系统/软件工程-软件设计作业-2013750-管昀玫.pdf -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/data/document.js: -------------------------------------------------------------------------------- 1 | $axure.loadDocument( 2 | (function() { 3 | var _ = function() { var r={},a=arguments; for(var i=0; i 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/hot_2_u51.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/hot_3_u52.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/hot_top_u48.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/u34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/images/百度搜索原型/u34.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/u35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/images/百度搜索原型/u35.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/u36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/images/百度搜索原型/u36.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/u57.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/u61.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/u66.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/u67.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/images/百度搜索原型/u67.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/u80.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/u81.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/关注与推荐_u58.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/关注框_u65.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/关闭图片搜索_u82.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/后退、前进与刷新_u9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/images/百度搜索原型/后退、前进与刷新_u9.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/图片搜索_u87.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/图片搜索_u87_mouseOver.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/图片搜索底框_u79.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/我的关注2_u59.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/我的关注_line_u62.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/按图片搜索_u84.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/按图片搜索_u84_disabled.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/推荐1_u71.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/推荐_line_u63.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/搜索文本框_u86.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/搜索文本框_u86_disabled.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/百度图标_u45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/images/百度搜索原型/百度图标_u45.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/百度热搜框_u47.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/粘贴图片网址提示_u83.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/粘贴图片网址提示_u83_disabled.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/输入候选1_u75.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/images/百度搜索原型/首页底色_u40.svg: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Untitled Document 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | 25 | 26 | 27 |
28 |
29 |
30 | 36 |
37 | CLOSE 38 |
39 | 40 |
41 |
42 |
    43 |
    44 | 45 |
    46 |
    47 |   48 |
    49 |
    50 |
    51 |
    52 |
    53 | 54 | 55 |
    56 |
     
    57 |
    58 |   59 |
    60 |
    61 |
    62 |
    63 | 64 |
    65 |
    66 |
      67 |
      68 |
      69 | 72 |
      73 |
      74 | 75 |
      76 |
      77 | Share Prototype 78 |
      79 | 80 |
      81 |
      100%
      82 |
      83 |
      84 | 85 |
      86 |
        87 |
      • 88 | 89 |
      • 90 |
      91 |
      92 | 93 |
      94 |
      95 |
      96 | 97 |
      98 | 99 |
      100 | 101 |
      102 |
      103 |
      104 |
      105 |
      106 | 107 |
      108 |
      109 | 110 |
      111 |
      112 | 113 |
      114 |
      115 |
      116 |
      117 |
      118 |
      119 |
      120 | 121 |
      122 |
      123 |
      124 |
      125 |
      126 | 127 |
      128 |
      129 |
      130 | 131 |
      132 |
      133 | 134 |
      135 |
      136 |
      137 |
      138 |
      139 |
      140 |
      141 | 142 |
      143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/debug/styles/debug.css: -------------------------------------------------------------------------------- 1 | #debugHost { 2 | display: flex; 3 | flex-direction: column; 4 | /*font-size: 13px;*/ 5 | /*color: #4a4a4a;*/ 6 | height: 100%; 7 | } 8 | 9 | #debugHostBtn { 10 | order: 4; 11 | } 12 | 13 | #debugHostBtn a { 14 | background: url('images/console_panel_on.svg') no-repeat center center, linear-gradient(transparent, transparent); 15 | } 16 | 17 | #debugHostBtn a.selected, #debugHostBtn a.selected:hover { 18 | background: url('images/console_panel_off.svg') no-repeat center center, linear-gradient(transparent, transparent); 19 | } 20 | 21 | #debugToolbar { 22 | /*margin-left: 8px;*/ 23 | } 24 | 25 | #variablesClearLink { 26 | display: inline-block; 27 | margin-bottom: 15px; 28 | } 29 | 30 | #variablesClearLink:hover, #traceClear:hover, #traceToggle:hover { 31 | color: #1482C5; 32 | } 33 | 34 | #traceClearLink { 35 | display: inline-block; 36 | margin-bottom: 15px; 37 | } 38 | 39 | #traceClearLink:hover { 40 | color: #1482C5; 41 | } 42 | 43 | #debugScrollContainer 44 | { 45 | overflow: auto; 46 | width: 100%; 47 | -webkit-overflow-scrolling: touch; 48 | flex: 1; 49 | } 50 | 51 | #debugContainer { 52 | padding: 10px 0px 10px 0px; 53 | } 54 | 55 | #consoleTitle { 56 | clear: right; 57 | /*margin: 12px 0px;*/ 58 | padding: 10px 15px; 59 | } 60 | 61 | .variableName 62 | { 63 | font-weight: bold; 64 | } 65 | 66 | .variableDiv 67 | { 68 | margin-bottom: 20px; 69 | line-height: 16px; 70 | 71 | } 72 | 73 | #variablesDiv 74 | { 75 | clear: right; 76 | } 77 | 78 | #variablesContainer { 79 | /*border-bottom: solid 1px #e7e7e7;*/ 80 | padding: 0px 15px 12px 15px; 81 | } 82 | 83 | #traceContainer { 84 | margin-bottom: 5px; 85 | padding: 5px 15px 0px 15px; 86 | } 87 | 88 | #variablesTitle { 89 | margin-bottom: 9px; 90 | } 91 | 92 | .sectionTitle { 93 | font-size: 12px; 94 | color: #2c2c2c; 95 | display: inline-block; 96 | } 97 | 98 | .debugToolbarButton 99 | { 100 | font-size: 1em; 101 | color: #069; 102 | } 103 | 104 | .axEventBlock { 105 | display: inline-block; 106 | width: 100%; 107 | margin: 5px 0px 5px 0px; 108 | line-height: 21px; 109 | /*border-bottom: solid 5px #e7e7e7;*/ 110 | } 111 | 112 | .axEventContainer { 113 | /*background-color: #e7e7e7;*/ 114 | padding: 0px 15px 0px 15px; 115 | } 116 | 117 | .axTime { 118 | margin: 0px 0px 0px 5px; 119 | font-size: 12px; 120 | color: #575757; 121 | display: inline-block; 122 | float: right; 123 | } 124 | 125 | .axLabel { 126 | display: inline-block; 127 | color: #1482C5; 128 | } 129 | 130 | .axEvent { 131 | /*margin: 0px 0px 2px 0px;*/ 132 | /*font-size: 15px;*/ 133 | font-weight: bold; 134 | overflow: hidden; 135 | text-overflow: ellipsis; 136 | text-transform: uppercase; 137 | } 138 | 139 | .axCaseContainer { 140 | justify-content: space-between; 141 | padding: 0px 15px 0px 25px; 142 | } 143 | 144 | .axActionContainer { 145 | justify-content: space-between; 146 | padding: 0px 15px 0px 35px; 147 | } 148 | 149 | .axInfoContainer { 150 | justify-content: space-between; 151 | padding: 0px 15px 0px 45px; 152 | } 153 | .axCaseContainer { 154 | /*border-top: solid 2px #e7e7e7;*/ 155 | /*background-color: #47b6b5;*/ 156 | /*background-color: #e7e7e7;*/ 157 | /*color: #ffffff;*/ 158 | } 159 | .axActionContainer { 160 | /*border-top: solid 3px #e7e7e7;*/ 161 | } 162 | .axInfoContainer { 163 | /*border-top: solid 1px #e7e7e7;*/ 164 | } 165 | 166 | .axCaseItem, .axActionItem, .axInfoItem { 167 | overflow: hidden; 168 | text-overflow: ellipsis; 169 | } 170 | .axCaseItem { 171 | /*font-size: 15px;*/ 172 | font-weight: bold; 173 | } 174 | .axActionItem { 175 | font-weight: bold; 176 | } 177 | .axInfoItem { 178 | /*color: #8c8c8c;*/ 179 | } 180 | 181 | .axCaseDescription { 182 | flex: 5 0 33%; 183 | /*padding-left: 10px;*/ 184 | /*text-align: right;*/ 185 | } 186 | /*.axActionDescription, .axInfoDescription { 187 | flex: 5 0 33%; 188 | margin-left: 10px; 189 | text-align: right; 190 | }*/ 191 | .axCaseDescription, .axActionDescription { 192 | overflow: hidden; 193 | text-overflow: ellipsis; 194 | white-space: nowrap; 195 | } 196 | .axInfoDescription, .axActionDescription { 197 | color: #8c8c8c; 198 | font-size: 11px; 199 | } 200 | 201 | .variableName { 202 | width: 55%; 203 | line-height: 0.92; 204 | text-align: left; 205 | /*color: #0891b3;*/ 206 | display: inline-block; 207 | word-wrap: break-word; 208 | vertical-align: top; 209 | } 210 | 211 | .variableValue { 212 | width: 45%; 213 | line-height: 0.92; 214 | text-align: right; 215 | color: #373d48; 216 | display: inline-block; 217 | word-wrap: break-word; 218 | } 219 | 220 | .traceEvent { 221 | border-bottom: solid 1px #e7e7e7; 222 | } 223 | 224 | .tracePausedNotification { 225 | height: 25px; 226 | /*background-color: #e7e7e7;*/ 227 | border-radius: 5px; 228 | line-height: 25px; 229 | margin: 5px 10px; 230 | text-align: center 231 | } 232 | 233 | .variableList{ 234 | width: 100%; 235 | margin-bottom: 4px; 236 | } 237 | 238 | .traceOption { 239 | margin-left: 11px; 240 | height: 16px; 241 | float: right; 242 | font-size: 12px; 243 | /*font-style: italic;*/ 244 | line-height: 1.45; 245 | text-align: right; 246 | /*color: #8c8c8c;*/ 247 | text-decoration: underline; 248 | display: inline-block; 249 | } 250 | 251 | #traceEmptyState { 252 | margin: auto; 253 | width: 179px; 254 | font-size: 11px; 255 | text-align: center; 256 | /*color: #666666;*/ 257 | } 258 | 259 | .debugLinksContainer { 260 | text-align: right; 261 | } 262 | 263 | .axEventCounter { 264 | display: inline-block; 265 | width: 21px; 266 | height: 21px; 267 | font-size: 12px; 268 | border-radius: 50%; 269 | text-align: center; 270 | color: #ffffff; 271 | background-color: rgba(30, 152, 215, 1); 272 | margin-left: 5px; 273 | float: right; 274 | } -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/debug/styles/images/console_panel_off.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/debug/styles/images/console_panel_on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/page_notes/styles/images/notes_panel_off.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/page_notes/styles/images/notes_panel_on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/page_notes/styles/page_notes.css: -------------------------------------------------------------------------------- 1 | #pageNotesHost { 2 | display: flex; 3 | flex-direction: column; 4 | height: 100%; 5 | } 6 | 7 | #pageNotesHostBtn { 8 | order: 2; 9 | } 10 | 11 | #pageNotesHostBtn a { 12 | background: url('images/notes_panel_on.svg') no-repeat center center,linear-gradient(transparent, transparent); 13 | } 14 | 15 | #pageNotesHostBtn a.selected, #pageNotesHostBtn a.selected:hover { 16 | background: url('images/notes_panel_off.svg') no-repeat center center,linear-gradient(transparent, transparent); 17 | } 18 | 19 | #pageNotesScrollContainer { 20 | overflow: auto; 21 | width: 100%; 22 | flex: 1; 23 | -webkit-overflow-scrolling: touch; 24 | } 25 | 26 | #pageNotesContent { 27 | overflow: visible; 28 | } 29 | 30 | .pageNoteContainer { 31 | padding: 0px 15px 8px 15px; 32 | } 33 | 34 | .mobileMode .pageNoteContainer { 35 | padding: 0px 16px 8px 17px; 36 | } 37 | 38 | .pageNoteName { 39 | font-size: 13px; 40 | font-weight: bold; 41 | /*color: #2c2c2c;*/ 42 | margin: 15px 0px 5px 0px; 43 | white-space: nowrap; 44 | } 45 | 46 | .pageNote { 47 | font-size: 13px; 48 | color: #081222; 49 | line-height: 1.67; 50 | word-wrap: break-word; 51 | } 52 | 53 | .pageNote ul { 54 | list-style: disc; 55 | padding: 0px 0px 0px 40px; 56 | } 57 | 58 | .pageNote ul ul{ 59 | list-style: circle; 60 | } 61 | 62 | .pageNote ul ul ul{ 63 | list-style: square; 64 | } 65 | 66 | .pageNote ul ul ul ul { 67 | list-style: disc; 68 | } 69 | 70 | .pageNote ul ul ul ul ul { 71 | list-style: circle; 72 | } 73 | 74 | .pageNote ul ul ul ul ul ul { 75 | list-style: square; 76 | } 77 | 78 | .widgetNoteContainer { 79 | padding: 15px; 80 | border-bottom: 1px solid transparent; 81 | border-top: 1px solid transparent; 82 | cursor: pointer; 83 | } 84 | 85 | .widgetNoteContainer:hover { 86 | background-color: #f7f8fb; 87 | } 88 | 89 | .notesDialog .widgetNoteContainer:hover { 90 | background-color: transparent; 91 | } 92 | 93 | .mobileMode .widgetNoteContainer { 94 | padding: 12px 16px 12px 17px; 95 | } 96 | 97 | .widgetNoteContainerSelected { 98 | background-color: white; 99 | border-bottom: 1px solid #CBD5E5; 100 | border-top: 1px solid #CBD5E5; 101 | } 102 | 103 | .widgetNoteContainerSelected:hover { 104 | background-color: white; 105 | } 106 | 107 | .widgetNoteFootnote { 108 | display: inline-block; 109 | padding-top: 1px; 110 | background-color: #fff849; 111 | font-size: 11px; 112 | font-weight: bold; 113 | line-height: 16px; 114 | margin-right: 8px; 115 | padding: 0px 5px; 116 | color: #000; 117 | } 118 | 119 | div.annnoteline { 120 | display: inline-block; 121 | width: 9px; 122 | height: 1px; 123 | border-bottom: 1px solid white; 124 | margin-top: 1px; 125 | } 126 | 127 | .widgetNoteLabel { 128 | font-size: 13px; 129 | font-weight: 600; 130 | /*color: #1482C5;*/ 131 | margin-top: 4px; 132 | float: right; 133 | } 134 | 135 | .noteLink { 136 | text-decoration: inherit; 137 | color: inherit; 138 | } 139 | 140 | .noteLink:hover { 141 | background-color: white; 142 | } 143 | 144 | .notesSectionHeader { 145 | margin: 0px 15px 4px 15px; 146 | } 147 | 148 | .notesPageNameHeader { 149 | margin: 8px 15px 15px 15px; 150 | } 151 | 152 | .mobileMode .notesPageNameHeader { 153 | margin: 18px 14px 5px 16px; 154 | } 155 | 156 | #notesOverlay { 157 | width: 0; 158 | height: 0; 159 | position: absolute; 160 | overflow: visible; 161 | z-index: 1; 162 | } 163 | 164 | div.closeNotesDialog { 165 | position: absolute; 166 | top: 6px; 167 | right: 6px; 168 | width: 11px; 169 | height: 10px; 170 | object-fit: contain; 171 | background: url(../../../resources/images/close_x.svg) no-repeat center center, linear-gradient(transparent, transparent); 172 | margin-left: auto; 173 | cursor: pointer; 174 | } 175 | 176 | div.resizeNotesDialog { 177 | position: absolute; 178 | bottom: 2px; 179 | right: 2px; 180 | width: 11px; 181 | height: 10px; 182 | object-fit: contain; 183 | background: url(../../../resources/images/resize.svg) no-repeat center center, linear-gradient(transparent, transparent); 184 | margin-left: auto; 185 | cursor: nwse-resize; 186 | } 187 | 188 | div.notesDialog { 189 | position: absolute; 190 | padding: 16px 3px 10px 3px; 191 | background-color: #FCFDFF; 192 | width: 300px; 193 | height: 300px; 194 | line-height: normal; 195 | border: #8F949A solid 1px; 196 | box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.4); 197 | cursor: move; 198 | display: flex; 199 | flex-direction: column; 200 | box-sizing: border-box; 201 | } 202 | 203 | div.notesDialog.active { 204 | user-select: none; 205 | } 206 | 207 | div.notesDialog .widgetNoteContainer { 208 | cursor: auto; 209 | padding: 2px 26px 16px 14px; 210 | } 211 | 212 | div.notesDialogScroll { 213 | overflow-x: hidden; 214 | overflow-y: auto; 215 | height: 100%; 216 | cursor: auto; 217 | } 218 | 219 | .mobileMode .pageNoteName, .mobileMode #pageNotesToolbar, .mobileMode .dottedDivider { 220 | display: none; 221 | } -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/recordplay/styles/recordplay.css: -------------------------------------------------------------------------------- 1 | #recordPlayHost { 2 | font-size: 12px; 3 | color:#333; 4 | height: 100%; 5 | } 6 | 7 | 8 | #recordPlayContainer 9 | { 10 | overflow: auto; 11 | width: 100%; 12 | height: 100%; 13 | padding: 10px 10px 10px 10px; 14 | } 15 | 16 | #recordPlayToolbar 17 | { 18 | margin: 5px 5px 5px 5px; 19 | height: 22px; 20 | } 21 | 22 | #recordPlayToolbar .recordPlayButton 23 | { 24 | float: left; 25 | width: 22px; 26 | height: 22px; 27 | border: 1px solid transparent; 28 | } 29 | 30 | #recordPlayToolbar .recordPlayButton:hover 31 | { 32 | border: 1px solid rgb(0,157,217); 33 | background-color : rgb(166,221,242); 34 | } 35 | 36 | #recordPlayToolbar .recordPlayButton:active 37 | { 38 | border: 1px solid rgb(0,157,217); 39 | background-color : rgb(204,235,248); 40 | } 41 | 42 | #recordPlayToolbar .recordPlayButtonSelected { 43 | border: 1px solid rgb(0,157,217); 44 | background-color : rgb(204,235,248); 45 | } 46 | 47 | /* removed images */ 48 | /*#recordButton { 49 | background: url('../../sitemap/styles/images/233_hyperlink_16.png') no-repeat center center; 50 | } 51 | 52 | #playButton { 53 | background: url('../../sitemap/styles/images/225_responsive_16.png') no-repeat center center; 54 | } 55 | 56 | #stopButton { 57 | background: url('../../sitemap/styles/images/228_togglenotes_16.png') no-repeat center center; 58 | } 59 | 60 | #deleteButton { 61 | background: url('../../sitemap/styles/images/231_event_16.png') no-repeat center center; 62 | }*/ 63 | 64 | #recordNameHeader 65 | { 66 | /* yeah??*/ 67 | font-size: 13px; 68 | font-weight: bold; 69 | height: 23px; 70 | white-space: nowrap; 71 | } 72 | 73 | #recordPlayContent 74 | { 75 | /* yeah??*/ 76 | overflow: visible; 77 | } 78 | 79 | .recordPlayName 80 | { 81 | font-size: 12px; 82 | margin-bottom: 5px; 83 | text-decoration: underline; 84 | white-space: nowrap; 85 | } 86 | 87 | .recordPlay 88 | { 89 | margin-bottom: 10px; 90 | } -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/back_keys.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/closed_item.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/flow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/folder_closed_blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/forward_keys.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/left_arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/open_item.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/page_lt_grey.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/right_arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/search_off.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/search_on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/sitemap_panel_off.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/plugins/sitemap/styles/images/sitemap_panel_on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/Other.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
      7 |
      8 |
      9 |
      10 | 13 |
      14 | 15 | 16 | 17 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/allow-access.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/chrome/allow-access.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/axure-chrome-extension.crx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/chrome/axure-chrome-extension.crx -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/axure_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/chrome/axure_logo.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/chrome.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | Install the Axure RP Chrome Extension 4 | 65 | 66 | 67 |
      68 |
      69 |
      70 | axure 71 |
      72 |
      73 |

      74 | Axure RP Extension for Chrome 75 |

      76 |

      77 | Google Chrome requires an extension to view locally published prototypes. Alternatively, upload your RP file to Axure Cloud or use a different browser. You can also Preview from Axure RP. 78 |

      79 | preview 80 |

      81 | View locally published prototypes in Chrome 82 |

      83 |
      84 |

      85 | 1. Add the extension from Chrome Web Store. 86 |

      87 |
      88 | Add Extension 90 |
      91 |
      92 |
      93 |

      94 | 2. Open More tools → Extensions 95 |

      96 | extensions 97 |
      98 |
       
      99 |
      100 |

      101 | 3. View Axure RP Extension Details 102 |

      103 | extension details 104 |
      105 |
      106 |

      107 | 4. Turn on Allow access to file URLs 108 |

      109 | allow access 110 |
      111 |
       
      112 |
      113 |

      114 | 5. Click this button 115 |

      116 |
      117 | View in Chrome 118 |
      119 |
      120 |
      121 |
      122 |

      123 | Need private or on-premises hosting? 124 |

      125 |

      126 | Axure Cloud for Business gives you all of the features of Axure Cloud plus control of accounts and permissions. For hosting behind your firewall, check out Axure Cloud On-Premises. 127 |

      128 |
      129 | Learn more 130 |
      131 |
      132 |

      133 | FAQs 134 |

      135 |

      Why do I need to install the extension?

      136 |

      137 | Google requires this extension to be installed to allow the viewing of locally published HTML files in Chrome. 138 |

      139 |
      140 |

      141 | Why does this extension require a high access level? 142 |

      143 |

      144 | This extension requires a high access level to allow the viewing of the file:// protocol. Axure does not track or access any of your information. 145 |

      146 |
      147 |

      148 | We're here to help 149 |

      150 |

      151 | If you have any questions, please email us at support@axure.com. 152 |

      153 |
      154 |
      155 | 156 | 157 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/chrome/details.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/extensions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/chrome/extensions.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/firefox.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Axure RP - Firefox Local File Restrictions 4 | 64 | 65 | 66 |
      67 |
      68 |
      69 | axure 70 |
      71 |
      72 |

      73 | Firefox Local File Restrictions 74 |

      75 |

      76 | Firefox does not permit locally published prototypes to be viewed. Use Preview to view your projects in progress. 77 |

      78 | preview 79 |

      80 | Alternatively, you can choose a different web browser, upload your RP file to Axure Cloud or publish the local files to a web server. 81 |

      82 |

      83 | Need private or on-premises hosting? 84 |

      85 |

      86 | Axure Cloud for Business gives you all of the features of Axure Cloud plus control of accounts and permissions. For hosting behind your firewall, check out Axure Cloud On-Premises. 87 |

      88 |
      89 | Learn more 90 |
      91 |

      92 | We're here to help 93 |

      94 |

      95 | If you have any questions, please email us at support@axure.com. 96 |

      97 |
      98 |
      99 | 100 | 101 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/preview-rp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/chrome/preview-rp.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/safari.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | Axure RP - Safari Local File Restrictions 4 | 64 | 65 | 66 |
      67 |
      68 |
      69 | axure 70 |
      71 |
      72 |

      73 | Safari Local File Restrictions 74 |

      75 |

      76 | To view locally stored projects in Safari, you will need to Disable Local File Restrictions. Alternatively, 77 | you can upload your RP file to Axure Cloud or use a different browser. You can also Preview from Axure RP. 78 |

      79 | preview 80 |

      81 | View local projects in Safari 82 |

      83 |
      84 |

      85 | 1. Open Safari → Preferences → Advanced from the top menu, and check the option to Show develop menu in menu bar 86 |

      87 | advanced 88 |
      89 |
       
      90 |
      91 |

      92 | 2. In the Develop menu, click Develop → Disable Local File Restrictions to un-select the menu option. 93 |

      94 | extensions 95 |
      96 |
       
      97 |

      98 | 3. Click the button below 99 |

      100 |
      101 | View in Safari 102 |
      103 |

      104 | Need private or on-premises hosting? 105 |

      106 |

      107 | Axure Cloud for Business gives you all of the features of Axure Cloud plus control of accounts and permissions. For hosting behind your firewall, check out Axure Cloud On-Premises. 108 |

      109 |
      110 | Learn more 111 |
      112 |

      113 | We're here to help 114 |

      115 |

      116 | If you have any questions, please email us at support@axure.com. 117 |

      118 |
      119 |
      120 | 121 | 122 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/safari_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/chrome/safari_advanced.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/safari_restrictions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/chrome/safari_restrictions.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/splitter.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/chrome/splitter.gif -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/chrome/splitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/chrome/splitter.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/axure_rp_page.css: -------------------------------------------------------------------------------- 1 | /* so the window resize fires within a frame in IE7 */ 2 | html, body { 3 | height: 100%; 4 | } 5 | 6 | #zoomOverlay { 7 | position: fixed; 8 | top: 0; 9 | left: 0; 10 | width: 100%; 11 | height: 100%; 12 | } 13 | 14 | #dragOverlay { 15 | position: fixed; 16 | top: 0; 17 | left: 0; 18 | width: 100%; 19 | height: 100%; 20 | cursor: grab; 21 | } 22 | 23 | #dragOverlay.dragging__start { 24 | cursor: grabbing; 25 | } 26 | 27 | html.hideScroll::-webkit-scrollbar { 28 | display: none; 29 | } 30 | 31 | html.hideScroll { 32 | -ms-overflow-style: none; 33 | scrollbar-width: none; 34 | } 35 | 36 | .mobileFrameCursor div * { 37 | cursor: inherit !important; 38 | } 39 | 40 | a { 41 | color: inherit; 42 | } 43 | 44 | p { 45 | margin: 0px; 46 | text-rendering: optimizeLegibility; 47 | font-feature-settings: "kern" 1; 48 | -webkit-font-feature-settings: "kern"; 49 | -moz-font-feature-settings: "kern"; 50 | -moz-font-feature-settings: "kern=1"; 51 | font-kerning: normal; 52 | } 53 | 54 | ul { 55 | margin:0px; 56 | } 57 | 58 | iframe { 59 | background: #FFFFFF; 60 | } 61 | 62 | /* to match IE with C, FF */ 63 | input { 64 | padding: 1px 0px 1px 0px; 65 | box-sizing: border-box; 66 | -moz-box-sizing: border-box; 67 | } 68 | 69 | input[type=text]::-ms-clear { 70 | width: 0; 71 | height: 0; 72 | display: none; 73 | } 74 | 75 | textarea { 76 | margin: 0px; 77 | box-sizing: border-box; 78 | -moz-box-sizing: border-box; 79 | } 80 | 81 | select option { 82 | color: initial; 83 | } 84 | 85 | .focused:focus, .selectedFocused:focus { 86 | outline: none; 87 | } 88 | 89 | div.intcases { 90 | font-family: arial; 91 | font-size: 12px; 92 | text-align:left; 93 | border:1px solid #AAA; 94 | background:#FFF none repeat scroll 0% 0%; 95 | z-index:9999; 96 | visibility:hidden; 97 | position:absolute; 98 | padding: 0px; 99 | border-radius: 3px; 100 | white-space: nowrap; 101 | } 102 | 103 | div.intcaselink { 104 | cursor: pointer; 105 | padding: 3px 8px 3px 8px; 106 | margin: 5px; 107 | background:#EEE none repeat scroll 0% 0%; 108 | border:1px solid #AAA; 109 | border-radius: 3px; 110 | } 111 | 112 | div.refpageimage { 113 | position: absolute; 114 | left: 0px; 115 | top: 0px; 116 | font-size: 0px; 117 | width: 16px; 118 | height: 16px; 119 | cursor: pointer; 120 | background-image: url(images/newwindow.gif); 121 | background-repeat: no-repeat; 122 | } 123 | 124 | div.annnoteimage { 125 | position: absolute; 126 | left: 0px; 127 | top: 0px; 128 | font-size: 0px; 129 | /*width: 16px; 130 | height: 12px;*/ 131 | cursor: help; 132 | /*background-image: url(images/note.gif);*/ 133 | /*background-repeat: no-repeat;*/ 134 | width: 13px; 135 | height: 12px; 136 | padding-top: 1px; 137 | text-align: center; 138 | background-color: #138CDD; 139 | -moz-box-shadow: 1px 1px 3px #aaa; 140 | -webkit-box-shadow: 1px 1px 3px #aaa; 141 | box-shadow: 1px 1px 3px #aaa; 142 | } 143 | 144 | div.annnoteline { 145 | display: inline-block; 146 | width: 9px; 147 | height: 1px; 148 | border-bottom: 1px solid white; 149 | margin-top: 1px; 150 | } 151 | 152 | div.annnotelabel { 153 | /*position: absolute; 154 | left: 0px; 155 | top: 0px;*/ 156 | font-family: Helvetica,Arial; 157 | white-space: nowrap; 158 | 159 | padding-top: 1px; 160 | background-color: #fff849; 161 | font-size: 10px; 162 | font-weight: bold; 163 | line-height: 14px; 164 | margin-right: 3px; 165 | padding: 0px 4px; 166 | color: #000; 167 | 168 | -moz-box-shadow: 1px 1px 3px #aaa; 169 | -webkit-box-shadow: 1px 1px 3px #aaa; 170 | box-shadow: 1px 1px 3px #aaa; 171 | } 172 | 173 | div.annnote { 174 | display: flex; 175 | position: absolute; 176 | cursor: help; 177 | line-height: 14px; 178 | } 179 | 180 | .annotation { 181 | font-size: 12px; 182 | padding-left: 2px; 183 | margin-bottom: 5px; 184 | } 185 | 186 | .annotationName { 187 | /*font-size: 13px; 188 | font-weight: bold; 189 | margin-bottom: 3px; 190 | white-space: nowrap;*/ 191 | 192 | font-family: 'Trebuchet MS'; 193 | font-size: 14px; 194 | font-weight: bold; 195 | margin-bottom: 5px; 196 | white-space: nowrap; 197 | } 198 | 199 | .annotationValue { 200 | font-family: Arial, Helvetica, Sans-Serif; 201 | font-size: 12px; 202 | color: #4a4a4a; 203 | line-height: 21px; 204 | margin-bottom: 20px; 205 | } 206 | 207 | .noteLink { 208 | text-decoration: inherit; 209 | color: inherit; 210 | } 211 | 212 | .noteLink:hover { 213 | background-color: white; 214 | } 215 | 216 | /* this is a fix for the issue where dialogs jump around and takes the text-align from the body */ 217 | .dialogFix { 218 | position:absolute; 219 | text-align:left; 220 | border: 1px solid #8f949a; 221 | } 222 | 223 | 224 | @keyframes pulsate { 225 | from { 226 | box-shadow: 0 0 10px #15d6ba; 227 | } 228 | to { 229 | box-shadow: 0 0 20px #15d6ba; 230 | } 231 | } 232 | 233 | @-webkit-keyframes pulsate { 234 | from { 235 | -webkit-box-shadow: 0 0 10px #15d6ba; 236 | box-shadow: 0 0 10px #15d6ba; 237 | } 238 | to { 239 | -webkit-box-shadow: 0 0 20px #15d6ba; 240 | box-shadow: 0 0 20px #15d6ba; 241 | } 242 | } 243 | 244 | @-moz-keyframes pulsate { 245 | from { 246 | -moz-box-shadow: 0 0 10px #15d6ba; 247 | box-shadow: 0 0 10px #15d6ba; 248 | } 249 | to { 250 | -moz-box-shadow: 0 0 20px #15d6ba; 251 | box-shadow: 0 0 20px #15d6ba; 252 | } 253 | } 254 | 255 | .legacyPulsateBorder { 256 | /*border: 5px solid #15d6ba; 257 | margin: -5px;*/ 258 | -moz-box-shadow: 0 0 10px 3px #75BB43; 259 | box-shadow: 0 0 10px 3px #75BB43; 260 | } 261 | 262 | .pulsateBorder { 263 | animation-name: pulsate; 264 | animation-timing-function: ease-in-out; 265 | animation-duration: 0.9s; 266 | animation-iteration-count: infinite; 267 | animation-direction: alternate; 268 | 269 | -webkit-animation-name: pulsate; 270 | -webkit-animation-timing-function: ease-in-out; 271 | -webkit-animation-duration: 0.9s; 272 | -webkit-animation-iteration-count: infinite; 273 | -webkit-animation-direction: alternate; 274 | 275 | -moz-animation-name: pulsate; 276 | -moz-animation-timing-function: ease-in-out; 277 | -moz-animation-duration: 0.9s; 278 | -moz-animation-iteration-count: infinite; 279 | -moz-animation-direction: alternate; 280 | } 281 | 282 | .ax_default_hidden, .ax_default_unplaced{ 283 | display: none; 284 | visibility: hidden; 285 | } 286 | 287 | .widgetNoteSelected { 288 | -moz-box-shadow: 0 0 10px 3px #1482C5; 289 | box-shadow: 0 0 10px 3px #1482C5; 290 | /*-moz-box-shadow: 0 0 20px #3915d6; 291 | box-shadow: 0 0 20px #3915d6;*/ 292 | /*border: 3px solid #3915d6;*/ 293 | /*margin: -3px;*/ 294 | } 295 | 296 | 297 | .singleImg { 298 | display: none; 299 | visibility: hidden; 300 | } 301 | 302 | #ios-safari { 303 | overflow: auto; 304 | -webkit-overflow-scrolling: touch; 305 | } 306 | 307 | #ios-safari-html { 308 | display: block; 309 | overflow: auto; 310 | -webkit-overflow-scrolling: touch; 311 | position: absolute; 312 | top: 0; 313 | left: 0; 314 | right: 0; 315 | bottom: 0; 316 | } 317 | 318 | #ios-safari-fixed { 319 | position: absolute; 320 | pointer-events: none; 321 | width: initial; 322 | } 323 | 324 | #ios-safari-fixed div { 325 | pointer-events: auto; 326 | } -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/images.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 |

      8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |

      24 | 25 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/newwindow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/newwindow.gif -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/note.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/note.gif -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/touch.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/touch.cur -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/touch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | touch_update 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-bg_glass_75_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-bg_glass_75_ffffff_1x400.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-bg_inset-soft_95_fef1ec_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-bg_inset-soft_95_fef1ec_1x100.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/previewfonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Source Sans Pro'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url('previewfonts/SourceSansPro-Regular.woff2') format('woff2'), url('previewfonts/SourceSansPro-Regular.woff') format('woff'); 6 | } 7 | @font-face { 8 | font-family: 'Source Sans Pro'; 9 | font-style: normal; 10 | font-weight: 600; 11 | src: url('previewfonts/SourceSansPro-Semibold.woff2') format('woff2'), url('previewfonts/SourceSansPro-Semibold.woff') format('woff'); 12 | } -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/previewfonts/SourceSansPro-OpenFontLicense.txt: -------------------------------------------------------------------------------- 1 | Copyright 2010, 2012, 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name ‘Source’. 2 | 3 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 4 | This license is copied below, and is also available with a FAQ at: 5 | http://scripts.sil.org/OFL 6 | 7 | 8 | ----------------------------------------------------------- 9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 10 | ----------------------------------------------------------- 11 | 12 | PREAMBLE 13 | The goals of the Open Font License (OFL) are to stimulate worldwide 14 | development of collaborative font projects, to support the font creation 15 | efforts of academic and linguistic communities, and to provide a free and 16 | open framework in which fonts may be shared and improved in partnership 17 | with others. 18 | 19 | The OFL allows the licensed fonts to be used, studied, modified and 20 | redistributed freely as long as they are not sold by themselves. The 21 | fonts, including any derivative works, can be bundled, embedded, 22 | redistributed and/or sold with any software provided that any reserved 23 | names are not used by derivative works. The fonts and derivatives, 24 | however, cannot be released under any other type of license. The 25 | requirement for fonts to remain under this license does not apply 26 | to any document created using the fonts or their derivatives. 27 | 28 | DEFINITIONS 29 | "Font Software" refers to the set of files released by the Copyright 30 | Holder(s) under this license and clearly marked as such. This may 31 | include source files, build scripts and documentation. 32 | 33 | "Reserved Font Name" refers to any names specified as such after the 34 | copyright statement(s). 35 | 36 | "Original Version" refers to the collection of Font Software components as 37 | distributed by the Copyright Holder(s). 38 | 39 | "Modified Version" refers to any derivative made by adding to, deleting, 40 | or substituting -- in part or in whole -- any of the components of the 41 | Original Version, by changing formats or by porting the Font Software to a 42 | new environment. 43 | 44 | "Author" refers to any designer, engineer, programmer, technical 45 | writer or other person who contributed to the Font Software. 46 | 47 | PERMISSION & CONDITIONS 48 | Permission is hereby granted, free of charge, to any person obtaining 49 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 50 | redistribute, and sell modified and unmodified copies of the Font 51 | Software, subject to the following conditions: 52 | 53 | 1) Neither the Font Software nor any of its individual components, 54 | in Original or Modified Versions, may be sold by itself. 55 | 56 | 2) Original or Modified Versions of the Font Software may be bundled, 57 | redistributed and/or sold with any software, provided that each copy 58 | contains the above copyright notice and this license. These can be 59 | included either as stand-alone text files, human-readable headers or 60 | in the appropriate machine-readable metadata fields within text or 61 | binary files as long as those fields can be easily viewed by the user. 62 | 63 | 3) No Modified Version of the Font Software may use the Reserved Font 64 | Name(s) unless explicit written permission is granted by the corresponding 65 | Copyright Holder. This restriction only applies to the primary font name as 66 | presented to the users. 67 | 68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 69 | Software shall not be used to promote, endorse or advertise any 70 | Modified Version, except to acknowledge the contribution(s) of the 71 | Copyright Holder(s) and the Author(s) or with their explicit written 72 | permission. 73 | 74 | 5) The Font Software, modified or unmodified, in part or in whole, 75 | must be distributed entirely under this license, and must not be 76 | distributed under any other license. The requirement for fonts to 77 | remain under this license does not apply to any document created 78 | using the Font Software. 79 | 80 | TERMINATION 81 | This license becomes null and void if any of the above conditions are 82 | not met. 83 | 84 | DISCLAIMER 85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 93 | OTHER DEALINGS IN THE FONT SOFTWARE. 94 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/previewfonts/SourceSansPro-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/previewfonts/SourceSansPro-Regular.woff2 -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/previewfonts/SourceSansPro-Semibold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/css/previewfonts/SourceSansPro-Semibold.woff2 -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/css/reset.css: -------------------------------------------------------------------------------- 1 | html,body,div,span, 2 | applet,object,iframe, 3 | h1,h2,h3,h4,h5,h6,p,blockquote,pre, 4 | a,abbr,acronym,address,big,cite,code, 5 | del,dfn,em,font,img,ins,kbd,q,s,samp, 6 | small,strike,strong,sub,sup,tt,var, 7 | dd,dl,dt,li,ol,ul, 8 | fieldset,form,label,legend, 9 | table,caption,tbody,tfoot,thead,tr,th,td { 10 | margin: 0; 11 | padding: 0; 12 | border: 0; 13 | } 14 | table { 15 | border-collapse: collapse; 16 | border-spacing: 0; 17 | } 18 | ol,ul { 19 | list-style: none; 20 | } 21 | q:before,q:after, 22 | blockquote:before,blockquote:after { 23 | content: ""; 24 | } -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/axure9_logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/axure_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/images/axure_logo.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/axure_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | axure_logo 5 | Created with Sketch. 6 | 7 | 8 | 9 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/caret_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/caret_down_off.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/close_x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/close_x_minimize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/divider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/images/divider.png -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/divider.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/exit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/favicon_play.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/images/favicon_play.ico -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/favicon_play.svg: -------------------------------------------------------------------------------- 1 |  2 | 8 | 9 | 15 | 16 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/overflow-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/overflow_checkmark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/overflow_icon_off.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/refresh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/resize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/return.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/transparent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/Baidu html/resources/images/transparent.gif -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/images/views-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/reload.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/axure/annotation.js: -------------------------------------------------------------------------------- 1 | // ******* Annotation MANAGER ******** // 2 | $axure.internal(function($ax) { 3 | var NOTE_SIZE = 10; 4 | 5 | var _annotationManager = $ax.annotation = {}; 6 | 7 | var _updateLinkLocations = $ax.annotation.updateLinkLocations = function(elementId) { 8 | var textId = $ax.GetTextPanelId(elementId); 9 | if(!textId) return; 10 | 11 | var rotation = $ax.getObjectFromElementId(elementId).style.rotation; 12 | //we have to do this because webkit reports the post-transform position but when you set positions it's pre-transform 13 | if(WEBKIT && rotation) { 14 | //we can dynamiclly rotate a widget now, show need to remember the transform rather than just remove it 15 | //here jquery.css will return 'none' if element is display none 16 | var oldShapeTransform = document.getElementById(elementId).style['-webkit-transform']; 17 | var oldTextTransform = document.getElementById(textId).style['-webkit-transform']; 18 | $('#' + elementId).css('-webkit-transform', 'scale(1)'); 19 | $('#' + textId).css('-webkit-transform', 'scale(1)'); 20 | } 21 | 22 | $('#' + textId).find('div[id$="_ann"]').each(function(index, value) { 23 | var elementId = value.id.replace('_ann', ''); 24 | var $link = $('#' + elementId); 25 | var annPos = $link.position(); 26 | annPos.left += $link.width(); 27 | //var annPos = $(value).position(); 28 | var left = annPos.left;// - NOTE_SIZE; 29 | var top = annPos.top - 5; 30 | 31 | $(value).css('left', left).css('top', top); 32 | }); 33 | 34 | //undo the transform reset 35 | if(WEBKIT && rotation) { 36 | $('#' + elementId).css('-webkit-transform', oldShapeTransform || ''); 37 | $('#' + textId).css('-webkit-transform', oldTextTransform || ''); 38 | } 39 | }; 40 | 41 | var _toggleAnnotationDialog = function (elementId, event) { 42 | let win = $(window); 43 | let scrollY = win.scrollTop(); 44 | let scrollX = win.scrollLeft(); 45 | 46 | let x = event.pageX - scrollX; 47 | let y = event.pageY - scrollY; 48 | 49 | let frameElement = window.frameElement; 50 | let parent = window.parent; 51 | //ann dialog is relative to mainFrame, exclude the mainFrame location so the notes shows up correctly in device mode 52 | while(frameElement && frameElement.name !== 'mainFrame') { 53 | let rect = frameElement.getBoundingClientRect(); 54 | x += rect.x; 55 | y += rect.y; 56 | 57 | if(!parent) break; 58 | 59 | frameElement = parent.frameElement; 60 | parent = parent.parent; 61 | } 62 | 63 | let messageData = { id: elementId, x: x, y: y } 64 | if (!$axure.utils.isInPlayer()) messageData.page = $ax.pageData.notesData; 65 | $ax.messageCenter.postMessage('toggleAnnDialog', messageData); 66 | } 67 | 68 | $ax.annotation.initialize = function () { 69 | _createFootnotes($ax('*'), true); 70 | } 71 | 72 | var _createFootnotes = $ax.annotation.createFootnotes = function(query, create) { 73 | if(!$ax.document.configuration.showAnnotations) return; 74 | 75 | var widgetNotes = $ax.pageData.notesData.widgetNotes; 76 | if (widgetNotes) { 77 | var ownerToFns = $ax.pageData.notesData.ownerToFns; 78 | if(!$.isEmptyObject(ownerToFns)) { 79 | query.each(function(dObj, elementId) { 80 | var fns = ownerToFns[dObj.id]; 81 | if (fns !== undefined) { 82 | var elementIdQuery = $('#' + elementId); 83 | if (dObj.type == 'hyperlink') { 84 | var parentId = $ax.GetParentIdFromLink(elementId); 85 | if (create) { 86 | elementIdQuery.after("
      "); 87 | appendFns($('#' + elementId + "_ann"), fns); 88 | } 89 | _updateLinkLocations(parentId); 90 | } else { 91 | if (create) { 92 | elementIdQuery.after("
      "); 93 | appendFns($('#' + elementId + "_ann"), fns); 94 | } 95 | _adjustIconLocation(elementId, dObj); 96 | } 97 | 98 | if (create) { 99 | $('#' + elementId + "_ann").click(function (e) { 100 | _toggleAnnotationDialog(dObj.id, e); 101 | return false; 102 | }); 103 | 104 | var isVisible = true; 105 | var isMaster = $ax.public.fn.IsReferenceDiagramObject(dObj.type); 106 | if (isMaster) isVisible = dObj.visible; 107 | else isVisible = $ax.visibility.IsIdVisible(elementId); 108 | if (!isVisible) { 109 | var ann = document.getElementById(elementId + "_ann"); 110 | if (ann) $ax.visibility.SetVisible(ann, false); 111 | } 112 | } 113 | } 114 | }); 115 | } 116 | } 117 | 118 | function appendFns($parent, fns) { 119 | for (var index = 0; index < fns.length; index++) { 120 | $parent.append("
      " + fns[index] + "
      "); 121 | } 122 | } 123 | }; 124 | 125 | $ax.annotation.updateAllFootnotes = function () { 126 | _createFootnotes($ax('*'), false); 127 | } 128 | 129 | $ax.annotation.jQueryAnn = function(query) { 130 | var elementIds = []; 131 | query.each(function(diagramObject, elementId) { 132 | if(diagramObject.annotation) elementIds[elementIds.length] = elementId; 133 | }); 134 | var elementIdSelectors = jQuery.map(elementIds, function(elementId) { return '#' + elementId + '_ann'; }); 135 | var jQuerySelectorText = (elementIdSelectors.length > 0) ? elementIdSelectors.join(', ') : ''; 136 | return $(jQuerySelectorText); 137 | }; 138 | 139 | $(window.document).ready(function() { 140 | //$ax.annotation.InitializeAnnotations($ax(function(dObj) { return dObj.annotation; })); 141 | 142 | $ax.messageCenter.addMessageListener(function(message, data) { 143 | //If the annotations are being hidden via the Sitemap toggle button, hide any open dialogs 144 | if(message == 'annotationToggle') { 145 | if (data == true) { 146 | $('div.annnote').show(); 147 | } else { 148 | $('div.annnote').hide(); 149 | } 150 | } 151 | }); 152 | }); 153 | 154 | //adjust annotation location to a element's top right corner 155 | var _adjustIconLocation = $ax.annotation.adjustIconLocation = function(id, dObj) { 156 | var ann = document.getElementById(id + "_ann"); 157 | if(ann) { 158 | var corners = $ax.public.fn.getCornersFromComponent(id); 159 | var width = $(ann).width(); 160 | var newTopRight = $ax.public.fn.vectorPlus(corners.relativeTopRight, corners.centerPoint); 161 | //note size is 14x8, this is how rp calculated it as well 162 | ann.style.left = (newTopRight.x - width) + "px"; 163 | 164 | var elementType = dObj ? dObj.type : $ax.getTypeFromElementId(id); 165 | var yOffset = $ax.public.fn.IsTableCell(elementType) ? 0 : -8; 166 | ann.style.top = (newTopRight.y + yOffset) + "px"; 167 | } 168 | 169 | var ref = document.getElementById(id + "_ref"); 170 | if(ref) { 171 | if(!corners) corners = $ax.public.fn.getCornersFromComponent(id); 172 | var newBottomRight = $ax.public.fn.vectorPlus(corners.relativeBottomRight, corners.centerPoint); 173 | 174 | ref.style.left = (newBottomRight.x - 8) + 'px'; 175 | ref.style.top = (newBottomRight.y - 10) + 'px'; 176 | } 177 | } 178 | }); -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/axure/globals.js: -------------------------------------------------------------------------------- 1 | $axure.internal(function($ax) { 2 | var _globals = $ax.globals = {}; 3 | 4 | $ax.globals.MaxZIndex = 1000; 5 | $ax.globals.MinZIndex = -1000; 6 | 7 | }); -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/axure/ios.js: -------------------------------------------------------------------------------- 1 | $axure.internal(function ($ax) { 2 | if ((IOS && SAFARI) || SHARE_APP) { 3 | var outerHtml = document.documentElement; 4 | outerHtml.id = 'ios-safari'; 5 | var html = document.createElement('html'); 6 | html.id = 'ios-safari-html'; 7 | outerHtml.appendChild(html); 8 | var body = document.body; 9 | html.appendChild(body); 10 | Object.defineProperty(document, 'body', { 11 | get: function () { 12 | return body; 13 | } 14 | }); 15 | var fixedBody = document.createElement('body'); 16 | fixedBody.id = 'ios-safari-fixed'; 17 | outerHtml.appendChild(fixedBody); 18 | var fixedBase = document.createElement('div'); 19 | fixedBase.id = 'base-fixed'; 20 | fixedBody.appendChild(fixedBase); 21 | 22 | var isDevice = false; 23 | var deviceWidth = 0; 24 | var updateHtmlWidth = function (panelWidthOffset, scale, height, scaleN) { 25 | var iosSafHtml = $('#ios-safari-html'); 26 | iosSafHtml.css('overflow', ''); 27 | iosSafHtml.css('overflow-x', ''); 28 | iosSafHtml.css('height', ''); 29 | if (isDevice) { 30 | iosSafHtml.width(deviceWidth / scaleN); 31 | iosSafHtml.css('overflow-x', 'hidden'); 32 | } else { 33 | var isLandscape = window.orientation != 0 && window.orientation != 180; 34 | var mobileWidth = isLandscape ? window.screen.height : window.screen.width 35 | iosSafHtml.width((mobileWidth - panelWidthOffset) / scaleN); 36 | } 37 | if (scale == 1) { 38 | iosSafHtml.css('overflow-x', 'hidden'); 39 | iosSafHtml.css('height', (height / scaleN) + 'px'); 40 | } else if (scale == 2) iosSafHtml.css('overflow', 'hidden'); 41 | }; 42 | 43 | updateHtmlWidth(0); 44 | 45 | $axure('*').each(function (obj, element) { 46 | if (obj && obj.fixedVertical && obj.fixedKeepInFront) { 47 | var parent = $axure('#' + element).getParents(false, ['item', 'state'])[0]; 48 | if (!parent) { 49 | $('#base-fixed').append($('#' + element)); 50 | } 51 | } 52 | }); 53 | 54 | $axure.messageCenter.addMessageListener(function (message, data) { 55 | if (message == "setContentScale") { 56 | updateHtmlWidth(data.panelWidthOffset, data.scale, data.viewportHeight, data.scaleN); 57 | } else if (message == "setDeviceMode") { 58 | isDevice = data.device && !data.scaleToWidth; 59 | if (isDevice) deviceWidth = data.width; 60 | updateHtmlWidth(0); 61 | } 62 | }); 63 | 64 | 65 | $('#ios-safari-html').scroll(function () { 66 | $axure.updateWindowInfo(); 67 | }); 68 | 69 | var scrollStartY; 70 | var maxScrollY 71 | var touchStart; 72 | $axure('*').each(function (obj, element) { 73 | if (obj && obj.scrollbars && obj.scrollbars.toLowerCase() != 'none') { 74 | if (obj.scrollbars == 'horizontalAsNeeded') return; 75 | 76 | $('#' + element).on('touchstart', function (e) { 77 | touchStart = e.pageY; 78 | var stateId = $ax.visibility.GetPanelState($('#' + element).attr('id')); 79 | scrollStartY = $('#' + stateId).scrollTop(); 80 | maxScrollY = $('#' + stateId)[0].scrollHeight - $('#' + stateId).height(); 81 | }); 82 | 83 | $('#' + element).on('touchmove', function (e) { 84 | if (maxScrollY <= 0) return false; 85 | if (scrollStartY == 0 && e.pageY > touchStart) e.preventDefault(); 86 | if (scrollStartY == maxScrollY && e.pageY < touchStart) e.preventDefault(); 87 | }); 88 | } 89 | }); 90 | } 91 | }); -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/axure/legacy.js: -------------------------------------------------------------------------------- 1 | //stored on each browser event 2 | var windowEvent; 3 | 4 | $axure.internal(function($ax) { 5 | var _legacy = {}; 6 | $ax.legacy = _legacy; 7 | 8 | var Forms = window.document.getElementsByTagName("FORM"); 9 | for(var i = 0; i < Forms.length; i++) { 10 | var Form = Forms[i]; 11 | Form.onclick = $ax.legacy.SuppressBubble; 12 | } 13 | 14 | $ax.legacy.SuppressBubble = function(event) { 15 | if(IE_10_AND_BELOW) { 16 | window.event.cancelBubble = true; 17 | window.event.returnValue = false; 18 | } else { 19 | if(event) { 20 | event.stopPropagation(); 21 | } 22 | } 23 | }; 24 | 25 | $ax.legacy.BringToFront = function(id, skipFixed) { 26 | _bringToFrontHelper(id); 27 | if(!skipFixed) $ax.legacy.BringFixedToFront(); 28 | }; 29 | 30 | var _bringToFrontHelper = function(id) { 31 | var target = window.document.getElementById(id); 32 | if(target == null) return; 33 | $ax.globals.MaxZIndex = $ax.globals.MaxZIndex + 1; 34 | target.style.zIndex = $ax.globals.MaxZIndex; 35 | }; 36 | 37 | $ax.legacy.BringFixedToFront = function() { 38 | $ax(function(diagramObject) { return diagramObject.fixedKeepInFront; }).each(function(diagramObject, scriptId) { 39 | _bringToFrontHelper(scriptId); 40 | }); 41 | }; 42 | 43 | $ax.legacy.SendToBack = function(id) { 44 | var target = window.document.getElementById(id); 45 | if(target == null) return; 46 | target.style.zIndex = $ax.globals.MinZIndex = $ax.globals.MinZIndex - 1; 47 | }; 48 | 49 | $ax.legacy.RefreshScreen = function() { 50 | var oldColor = window.document.body.style.backgroundColor; 51 | var setColor = (oldColor == "rgb(0,0,0)") ? "#FFFFFF" : "#000000"; 52 | window.document.body.style.backgroundColor = setColor; 53 | window.document.body.style.backgroundColor = oldColor; 54 | }; 55 | 56 | $ax.legacy.getAbsoluteLeft = function(currentNode, elementId) { 57 | var oldDisplay = currentNode.css('display'); 58 | var displaySet = false; 59 | if(oldDisplay == 'none') { 60 | currentNode.css('display', ''); 61 | displaySet = true; 62 | } 63 | var left = currentNode.offset().left; 64 | 65 | // Special Layer code 66 | if($ax.getTypeFromElementId(elementId) == 'layer') { 67 | var first = true; 68 | var children = currentNode.children(); 69 | for(var i = 0; i < children.length; i++) { 70 | var child = $(children[i]); 71 | var subDisplaySet = false; 72 | if(child.css('display') == 'none') { 73 | child.css('display', ''); 74 | subDisplaySet = true; 75 | } 76 | if(first) left = child.offset().left; 77 | else left = Math.min(child.offset().left, left); 78 | first = false; 79 | 80 | if(subDisplaySet) child.css('display', 'none'); 81 | } 82 | } 83 | 84 | if (displaySet) currentNode.css('display', oldDisplay); 85 | 86 | return $axure.fn.bodyToWorld(left, true); 87 | }; 88 | 89 | $ax.legacy.getAbsoluteTop = function(currentNode, elementId) { 90 | var oldDisplay = currentNode.css('display'); 91 | var displaySet = false; 92 | if(oldDisplay == 'none') { 93 | currentNode.css('display', ''); 94 | displaySet = true; 95 | } 96 | var top = currentNode.offset().top; 97 | 98 | // Special Layer code 99 | if ($ax.getTypeFromElementId(elementId) == 'layer') { 100 | var first = true; 101 | var children = currentNode.children(); 102 | for (var i = 0; i < children.length; i++) { 103 | var child = $(children[i]); 104 | var subDisplaySet = false; 105 | if (child.css('display') == 'none') { 106 | child.css('display', ''); 107 | subDisplaySet = true; 108 | } 109 | if (first) top = child.offset().top; 110 | else top = Math.min(child.offset().top, top); 111 | first = false; 112 | 113 | if (subDisplaySet) child.css('display', 'none'); 114 | } 115 | } 116 | 117 | if(displaySet) currentNode.css('display', oldDisplay); 118 | return top; 119 | }; 120 | 121 | // ****************** Annotation and Link Functions ****************** // 122 | 123 | $ax.legacy.GetAnnotationHtml = function(annJson) { 124 | var retVal = ""; 125 | for(var noteName in annJson) { 126 | if(noteName != "label" && noteName != "id") { 127 | retVal += "
      " + noteName + "
      "; 128 | retVal += "
      " + linkify(annJson[noteName]) + "
      "; 129 | } 130 | } 131 | return retVal; 132 | 133 | function linkify(text) { 134 | var urlRegex = /(\b(((https?|ftp|file):\/\/)|(www\.))[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; 135 | return text.replace(urlRegex, function (url, b, c) { 136 | var url2 = (c == 'www.') ? 'http://' + url : url; 137 | return '' + url + ''; 138 | }); 139 | } 140 | }; 141 | 142 | 143 | $ax.legacy.GetScrollable = function(target) { 144 | var $target = $(target); 145 | var last = $target; 146 | // Start past inital target. Can't scroll to target in itself, must be some ancestor. 147 | var current = last.parent(); 148 | 149 | while(!current.is('body') && !current.is('html')) { 150 | var elementId = current.attr('id'); 151 | var diagramObject = elementId && $ax.getObjectFromElementId(elementId); 152 | if (diagramObject && $ax.public.fn.IsDynamicPanel(diagramObject.type) && diagramObject.scrollbars != 'none') { 153 | //returns the panel diagram div which handles scrolling 154 | return $ax.dynamicPanelManager.getShownState(current.attr('id'))[0]; 155 | } 156 | last = current; 157 | current = current.parent(); 158 | } 159 | // Need to do this because of ie 160 | if(IE_10_AND_BELOW) return window.document.documentElement; 161 | else return window.document.body; 162 | }; 163 | 164 | 165 | 166 | }); -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/axure/model.js: -------------------------------------------------------------------------------- 1 | // ******* Object Model ******** // 2 | $axure.internal(function($ax) { 3 | var _implementations = {}; 4 | 5 | var _initializeObject = function(type, obj) { 6 | $.extend(obj, _implementations[type]); 7 | }; 8 | $ax.initializeObject = _initializeObject; 9 | 10 | var _model = $ax.model = {}; 11 | 12 | _model.idsInRdoToHideOrLimbo = function(rdoId, scriptIds) { 13 | var rdoScriptId = $ax.repeater.getScriptIdFromElementId(rdoId); 14 | var path = $ax.getPathFromScriptId(rdoScriptId); 15 | 16 | if(!scriptIds) scriptIds = []; 17 | 18 | var rdo = $ax.getObjectFromElementId(rdoId); 19 | var master = $ax.pageData.masters[rdo.masterId]; 20 | var masterChildren = master.diagram.objects; 21 | for(var i = 0; i < masterChildren.length; i++) { 22 | var obj = masterChildren[i]; 23 | var objScriptIds = obj.scriptIds; 24 | for(var j = 0; j < objScriptIds.length; j++) { 25 | var scriptId = objScriptIds[j]; 26 | // Anything in a layer is already handled by the layer 27 | if($ax.getLayerParentFromElementId(scriptId)) continue; 28 | 29 | // Make sure in same rdo 30 | var elementPath = $ax.getPathFromScriptId(scriptId); 31 | 32 | // This is because last part of path is for the obj itself. 33 | elementPath.pop(); 34 | if(elementPath.length != path.length) continue; 35 | var samePath = true; 36 | for(var k = 0; k < path.length; k++) { 37 | if(elementPath[k] != path[k]) { 38 | samePath = false; 39 | break; 40 | } 41 | } 42 | if(!samePath) continue; 43 | 44 | if($ax.public.fn.IsReferenceDiagramObject(obj.type)) _model.idsInRdoToHideOrLimbo(scriptId, scriptIds); 45 | else if(scriptIds.indexOf(scriptId) == -1) scriptIds.push(scriptId); 46 | 47 | break; 48 | } 49 | } 50 | return scriptIds; 51 | }; 52 | 53 | }); -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/axure/recording.js: -------------------------------------------------------------------------------- 1 | // ******* Recording MANAGER ******** // 2 | 3 | $axure.internal(function($ax) { 4 | var _recording = $ax.recording = {}; 5 | 6 | $ax.recording.recordEvent = function(element, eventInfo, axEventObject, timeStamp) { 7 | 8 | var elementHtml = $jobj(element); 9 | var className = elementHtml.attr('class'); 10 | var inputValue; 11 | 12 | if(className === 'ax_checkbox') { 13 | inputValue = elementHtml.find('#' + element + '_input')[0].checked; 14 | eventInfo.inputType = className; 15 | eventInfo.inputValue = inputValue; 16 | } 17 | 18 | if(className === 'ax_text_field') { 19 | inputValue = elementHtml.find('#' + element + '_input').val(); 20 | eventInfo.inputType = className; 21 | eventInfo.inputValue = inputValue; 22 | } 23 | 24 | 25 | var scriptId = $ax.repeater.getScriptIdFromElementId(element); 26 | var diagramObjectPath = $ax.getPathFromScriptId(scriptId); 27 | var form = { 28 | recordingId: $ax.recording.recordingId, 29 | elementID: element, 30 | eventType: axEventObject.description, 31 | 'eventInfo': eventInfo, 32 | // eventObject: axEventObject, 33 | 'timeStamp': timeStamp, 34 | 'path': diagramObjectPath 35 | // , 36 | // 'trigger': function() { 37 | // $ax.event.handleEvent(element, eventInfo, axEventObject); 38 | // return false; 39 | // } 40 | }; 41 | 42 | $ax.messageCenter.postMessage('logEvent', form); 43 | }; 44 | 45 | 46 | $ax.recording.maybeRecordEvent = function(element, eventInfo, axEventObject, timeStamp) { 47 | }; 48 | 49 | 50 | $ax.recording.recordingId = ""; 51 | $ax.recording.recordingName = ""; 52 | 53 | $ax.messageCenter.addMessageListener(function(message, data) { 54 | if(message === 'startRecording') { 55 | $ax.recording.maybeRecordEvent = $ax.recording.recordEvent; 56 | $ax.recording.recordingId = data.recordingId; 57 | $ax.recording.recordingName = data.recordingName; 58 | } else if(message === 'stopRecording') { 59 | $ax.recording.maybeRecordEvent = function(element, eventInfo, axEventObject, timeStamp) { 60 | }; 61 | 62 | } 63 | else if(message === 'playEvent') { 64 | 65 | var eventType = makeFirstLetterLower(data.eventType); 66 | var inputElement; 67 | 68 | var dObj = data.element === '' ? $ax.pageData.page : $ax.getObjectFromElementId(data.element); 69 | if(!data.axEventObject) { 70 | data.axEventObject = dObj && dObj.interactionMap && dObj.interactionMap[eventType]; 71 | } 72 | 73 | data.eventInfo.thiswidget = $ax.getWidgetInfo(data.element); 74 | data.eventInfo.item = $ax.getItemInfo(data.element); 75 | 76 | if(data.eventInfo.inputType && data.eventInfo.inputType === 'ax_checkbox') { 77 | inputElement = $jobj(data.element + '_input'); 78 | inputElement[0].checked = data.eventInfo.inputValue; 79 | } 80 | 81 | if(data.eventInfo.inputType && data.eventInfo.inputType === 'ax_text_field') { 82 | inputElement = $jobj(data.element + '_input'); 83 | inputElement.val(data.eventInfo.inputValue); 84 | } 85 | 86 | $ax.event.handleEvent(data.element, data.eventInfo, data.axEventObject, false, true); 87 | } 88 | }); 89 | 90 | var makeFirstLetterLower = function(eventName) { 91 | return eventName.substr(0, 1).toLowerCase() + eventName.substr(1); 92 | }; 93 | 94 | }); -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/axure/tree.js: -------------------------------------------------------------------------------- 1 | // This is actually for BOTH trees and menus 2 | $axure.internal(function($ax) { 3 | var _tree = $ax.tree = {}; 4 | var _menu = $ax.menu = {}; 5 | 6 | $ax.menu.InitializeSubmenu = function(subMenuId, cellId) { 7 | var $submenudiv = $('#' + subMenuId); 8 | 9 | //mouseenter and leave for parent table cell 10 | $('#' + cellId).mouseenter(function(e) { 11 | //show current submenu 12 | // var submenuElement = document.getElementById(subMenuId); 13 | // if($ax.visibility.IsVisible(submenuElement) && submenuElement.style.display !== 'none') return; 14 | $ax.visibility.SetIdVisible(subMenuId, true); 15 | $ax.legacy.BringToFront(subMenuId); 16 | //$submenudiv.find('.menu_item').each(function() { 17 | // $ax.style.updateTextAlignmentForVisibility($ax.GetTextPanelId($(this).attr('id'))); 18 | //}); 19 | _fireEventForSubmenu(subMenuId, "onShow"); 20 | 21 | }).mouseleave(function (e) { 22 | var offset = $submenudiv.offset(); 23 | var subcontwidth = $submenudiv.width(); 24 | var subcontheight = $submenudiv.height(); 25 | //If mouse is not within the submenu (added 3 pixel margin to top and left calculations), then close the submenu... 26 | if(e.pageX + 3 < offset.left || e.pageX > offset.left + subcontwidth || e.pageY + 3 < offset.top || e.pageY > offset.top + subcontheight) { 27 | $submenudiv.find('.sub_menu').addBack().each(function () { 28 | // if(!$ax.visibility.IsVisible(this)) return; 29 | $ax.visibility.SetVisible(this, false); 30 | _fireEventForSubmenu(subMenuId, "onHide"); 31 | }); 32 | $ax.style.SetWidgetHover(cellId, false); 33 | } 34 | }); 35 | 36 | $submenudiv.css('display', 'none'); 37 | 38 | //mouseleave for submenu 39 | $submenudiv.mouseleave(function(e) { 40 | //close this menu and all menus below it 41 | $(this).find('.sub_menu').addBack().css({ 'visibility': 'hidden', 'display': 'none' }).each(function () { 42 | // if(!$ax.visibility.IsVisible(this)) return; 43 | _fireEventForSubmenu(this.id, "onHide"); 44 | }); 45 | $ax.style.SetWidgetHover(cellId, false); 46 | }); 47 | }; 48 | 49 | var _fireEventForSubmenu = function(targetId, eventName) { 50 | var diagramObject = $ax.getObjectFromElementId(targetId); 51 | var event = diagramObject.interactionMap && diagramObject.interactionMap[eventName]; 52 | if(event) { 53 | var eventInfo = $ax.getEventInfoFromEvent($ax.getjBrowserEvent(), false, targetId); 54 | $ax.event.handleEvent(targetId, eventInfo, event, false, true); 55 | } 56 | } 57 | 58 | function IsNodeVisible(nodeId) { 59 | var current = window.document.getElementById(nodeId); 60 | var parent = current.parentNode; 61 | 62 | //move all the parent's children that are below the node and their annotations 63 | while(!$(current).hasClass("treeroot")) { 64 | if(!$ax.visibility.IsVisible(parent)) return false; 65 | current = parent; 66 | parent = parent.parentNode; 67 | } 68 | return true; 69 | } 70 | 71 | $ax.tree.ExpandNode = function(nodeId, childContainerId, plusMinusId) { 72 | var container = window.document.getElementById(childContainerId); 73 | if(!container || $ax.visibility.IsVisible(container)) return; 74 | $ax.visibility.SetVisible(container, true); 75 | 76 | if(plusMinusId != '') $ax.style.SetWidgetSelected(plusMinusId, true); 77 | 78 | var delta = _getExpandCollapseDelta(nodeId, childContainerId); 79 | 80 | var isVisible = IsNodeVisible(nodeId); 81 | var current = window.document.getElementById(nodeId); 82 | var parent = current.parentNode; 83 | 84 | //move all the parent's children that are below the node and their annotations 85 | while(!$(current).hasClass("treeroot")) { 86 | var after = false; 87 | var i = 0; 88 | for(i = 0; i < parent.childNodes.length; i++) { 89 | var child = parent.childNodes[i]; 90 | if(after && child.id && $(child).hasClass("treenode")) { 91 | var elementId = child.id; 92 | child.style.top = $ax.getNumFromPx($(child).css('top')) + delta + 'px'; 93 | var ann = window.document.getElementById(elementId + "_ann"); 94 | if (ann) ann.style.top = $ax.getNumFromPx($(ann).css('top')) + delta + 'px'; 95 | } 96 | if(child == current) after = true; 97 | } 98 | current = parent; 99 | parent = parent.parentNode; 100 | if(!isVisible && $ax.visibility.IsVisible(parent)) break; 101 | } 102 | }; 103 | 104 | $ax.tree.CollapseNode = function(nodeId, childContainerId, plusMinusId) { 105 | var container = window.document.getElementById(childContainerId); 106 | if(!container || !$ax.visibility.IsVisible(container)) return; 107 | 108 | if(plusMinusId != '') $ax.style.SetWidgetSelected(plusMinusId, false); 109 | 110 | var delta = _getExpandCollapseDelta(nodeId, childContainerId); 111 | 112 | //hide it after getting the delta, otherwise the delta can't be calculated (offsetParent is null) 113 | $ax.visibility.SetVisible(container, false); 114 | 115 | var isVisible = IsNodeVisible(nodeId); 116 | var current = window.document.getElementById(nodeId); 117 | var parent = current.parentNode; 118 | 119 | //move all the parent's children that are below the node and their annotations 120 | while(!$(current).hasClass("treeroot")) { 121 | var after = false; 122 | var i = 0; 123 | for(i = 0; i < parent.childNodes.length; i++) { 124 | var child = parent.childNodes[i]; 125 | if(after && child.id && $(child).hasClass("treenode")) { 126 | var elementId = child.id; 127 | child.style.top = $ax.getNumFromPx($(child).css('top')) - delta + 'px'; 128 | var ann = window.document.getElementById(elementId + "_ann"); 129 | if (ann) ann.style.top = $ax.getNumFromPx($(ann).css('top')) - delta + 'px'; 130 | } 131 | if(child == current) after = true; 132 | } 133 | current = parent; 134 | parent = current.parentNode; 135 | if(!isVisible && $ax.visibility.IsVisible(parent)) break; 136 | } 137 | }; 138 | 139 | var _getExpandCollapseDelta = function(nodeId, childContainerId) { 140 | return _getChildContainerHeightHelper(childContainerId); 141 | }; 142 | 143 | var _getChildContainerHeightHelper = function(childContainerId) { 144 | var height = 0; 145 | $('#' + childContainerId).children().each(function() { 146 | if($(this).hasClass("treenode")) { 147 | height += $(this).height(); 148 | var subContainer = window.document.getElementById(this.id + '_children'); 149 | if(subContainer && $ax.visibility.IsVisible(subContainer)) { 150 | height += _getChildContainerHeightHelper(subContainer.id); 151 | } 152 | } 153 | }); 154 | return height; 155 | }; 156 | 157 | $ax.tree.InitializeTreeNode = function(nodeId, plusminusid, childContainerId, selectText) { 158 | var childContainer = window.document.getElementById(childContainerId); 159 | if(childContainer) { 160 | //relying on the html generator to put this inline so we know to collapse by default 161 | var isCollapsed = childContainer.style.visibility == "hidden"; 162 | if(isCollapsed) $ax.visibility.SetVisible(childContainer, false); 163 | 164 | if(!isCollapsed && plusminusid != '') $ax.style.SetWidgetSelected(plusminusid, true); 165 | } 166 | 167 | if(plusminusid != '') { 168 | $jobj(plusminusid).click(function() { 169 | var visibleSet = $ax.visibility.IsIdVisible(childContainerId); 170 | 171 | if(visibleSet) $ax.tree.CollapseNode(nodeId, childContainerId, plusminusid); 172 | else $ax.tree.ExpandNode(nodeId, childContainerId, plusminusid); 173 | $ax.tree.SelectTreeNode(nodeId, true); 174 | 175 | return false; 176 | }).css('cursor', 'default'); 177 | } 178 | }; 179 | 180 | var _getButtonShapeId = function(id) { 181 | var obj = $obj(id); 182 | return $ax.public.fn.IsTreeNodeObject(obj.type) ? $ax.getElementIdFromPath([obj.buttonShapeId], { relativeTo: id }) : id; 183 | }; 184 | 185 | $ax.tree.SelectTreeNode = function(id, selected) { 186 | $ax.style.SetWidgetSelected(_getButtonShapeId(id), selected); 187 | }; 188 | 189 | }); -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/axure/utils.temp.js: -------------------------------------------------------------------------------- 1 | // ******* Deep Copy ******** // 2 | $axure.internal(function($ax) { 3 | // TODO: [ben] Ah, infinite loops cause major issues here. Tried saving objects we've already hit, but that didn't seem to work (at least at my first shot). 4 | // TODO: [ben] To continue from above, added a filter to filter out problem keys. Will need a better way of sorting this out eventually. 5 | var _deepCopy = function (original, trackCopies, filter) { 6 | if(trackCopies) { 7 | var index = _getCopyIndex(original); 8 | if(index != -1) return _originalToCopy[index][1]; 9 | } 10 | var isArray = original instanceof Array; 11 | var isObject = !(original instanceof Function) && !(original instanceof Date) && (original instanceof Object); 12 | if(!isArray && !isObject) return original; 13 | var copy = isArray ? [] : { }; 14 | if(trackCopies) _originalToCopy.push([original, copy]); 15 | isArray ? deepCopyArray(original, trackCopies, copy, filter) : deepCopyObject(original, trackCopies, copy, filter); 16 | return copy; 17 | }; 18 | $ax.deepCopy = _deepCopy; 19 | 20 | // Hacky way to copy event info. Copying dragInfo causes major issues due to infinite loops 21 | // Hashmap doesn't map objects well. It just toStrings them, making them all the same key. This has to be slow... 22 | var _originalToCopy = []; 23 | var _getCopyIndex = function(original) { 24 | for(var i = 0; i < _originalToCopy.length; i++) if(original === _originalToCopy[i][0]) return i; 25 | return -1; 26 | }; 27 | 28 | $ax.eventCopy = function(eventInfo) { 29 | var copy = _deepCopy(eventInfo, true, ['dragInfo', 'elementQuery', 'obj']); 30 | // reset the map. TODO: May need to reset elsewhere too, but this is the only way it's used currently 31 | _originalToCopy = []; 32 | 33 | return copy; 34 | }; 35 | 36 | var deepCopyArray = function(original, trackCopies, copy, filter) { 37 | for(var i = 0; i < original.length; i++) { 38 | copy[i] = _deepCopy(original[i], trackCopies, filter); 39 | } 40 | }; 41 | 42 | var deepCopyObject = function(original, trackCopies, copy, filter) { 43 | for(var key in original) { 44 | if(!original.hasOwnProperty(key)) continue; // Continue if the prop was not put there like a dictionary, but just a native part of the object 45 | 46 | if(filter && filter.indexOf[key] != -1) copy[key] = original[key]; // If that key is filtered out, skip recursion on it. 47 | else copy[key] = _deepCopy(original[key], trackCopies, filter); 48 | } 49 | }; 50 | 51 | // Our implementation of splice because it is broken in IE8... 52 | $ax.splice = function(array, startIndex, count) { 53 | var retval = []; 54 | if(startIndex >= array.length || startIndex < 0 || count == 0) return retval; 55 | if(!count || startIndex + count > array.length) count = array.length - startIndex; 56 | for(var i = 0; i < count; i++) retval[i] = array[startIndex + i]; 57 | for(i = startIndex + count; i < array.length; i++) array[i - count] = array[i]; 58 | for(i = 0; i < count; i++) array.pop(); 59 | return retval; 60 | }; 61 | }); 62 | 63 | 64 | 65 | // ******* Flow Shape Links ******** // 66 | $axure.internal(function($ax) { 67 | 68 | $(window.document).ready(function() { 69 | if (!$ax.document.configuration.linkFlowsToPages && !$ax.document.configuration.linkFlowsToPagesNewWindow) return; 70 | 71 | $ax(function (dObj) { return ($ax.public.fn.IsVector(dObj.type) || $ax.public.fn.IsSnapshot(dObj.type)) && dObj.referencePageUrl; }).each(function (dObj, elementId) { 72 | 73 | var elementIdQuery = $('#' + elementId); 74 | 75 | if($ax.document.configuration.linkFlowsToPages && !$ax.event.HasClick(dObj)) { 76 | elementIdQuery.css("cursor", "pointer"); 77 | elementIdQuery.click(function() { 78 | $ax.navigate({ 79 | url: dObj.referencePageUrl, 80 | target: "current", 81 | includeVariables: true 82 | }); 83 | }); 84 | } 85 | 86 | if($ax.document.configuration.linkFlowsToPagesNewWindow) { 87 | $('#' + elementId + "_ref").append("
      "); 88 | $('#' + elementId + "PagePopup").click(function() { 89 | $ax.navigate({ 90 | url: dObj.referencePageUrl, 91 | target: "new", 92 | includeVariables: true 93 | }); 94 | }); 95 | } 96 | }); 97 | }); 98 | 99 | }); 100 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/axure/variables.js: -------------------------------------------------------------------------------- 1 | // ******* GLOBAL VARIABLE PROVIDER ******** // 2 | $axure.internal(function($ax) { 3 | var _globalVariableValues = {}; 4 | 5 | var _globalVariableProvider = {}; 6 | $ax.globalVariableProvider = _globalVariableProvider; 7 | 8 | var setVariableValue = function(variable, value, suppressBroadcast) { 9 | if(!(value instanceof Object)) value = value.toString(); 10 | 11 | variable = variable.toLowerCase(); 12 | _globalVariableValues[variable] = value; 13 | 14 | if(suppressBroadcast !== true) { 15 | var varData = { 16 | globalVarName: variable, 17 | globalVarValue: value.toString() 18 | }; 19 | 20 | $axure.messageCenter.postMessage('setGlobalVar', varData); 21 | } 22 | 23 | //Post global var values only if pageData is loaded (suppresses exception which occurs when page loads) 24 | if($ax.pageData) { 25 | _postGlobalVarVals(); 26 | } 27 | }; 28 | _globalVariableProvider.setVariableValue = setVariableValue; 29 | 30 | var getVariableValue = function(variable, eventInfo, ignoreDefaultsForLinkUrl) { 31 | variable = variable.toLowerCase(); 32 | if(_globalVariableValues[variable] !== undefined) { 33 | //If this is for the GetLinkUrl function and 34 | //the current value of the global variable is the same as the default defined in the document, don't return it 35 | if(ignoreDefaultsForLinkUrl == true && $ax.document.globalVariables[variable] == _globalVariableValues[variable]) { 36 | return null; 37 | } 38 | 39 | return _globalVariableValues[variable]; 40 | } 41 | if($ax.document.globalVariables[variable] !== undefined) return ignoreDefaultsForLinkUrl == true ? null : $ax.document.globalVariables[variable]; 42 | switch(variable) { 43 | case "pagename": return $ax.pageData.page.name; 44 | 45 | case "now": return eventInfo.now; 46 | case "gendate": return $ax.pageData.generationDate; 47 | 48 | case "dragx": return $ax.drag.GetDragX(); 49 | case "dragy": return $ax.drag.GetDragY(); 50 | case "totaldragx": return $ax.drag.GetTotalDragX(); 51 | case "totaldragy": return $ax.drag.GetTotalDragY(); 52 | case "dragtime": return $ax.drag.GetDragTime(); 53 | 54 | case "math": return Math; 55 | case "date": return Date; 56 | 57 | case "window": return eventInfo && eventInfo.window; 58 | case "this": return eventInfo && eventInfo.thiswidget && $ax.getWidgetInfo(eventInfo.thiswidget.elementId); 59 | case "item": return (eventInfo && eventInfo.item && eventInfo.item.valid && eventInfo.item) || getVariableValue('targetitem', eventInfo, ignoreDefaultsForLinkUrl); 60 | case "targetitem": return eventInfo && eventInfo.targetElement && $ax.getItemInfo(eventInfo.targetElement); 61 | case "repeater": return eventInfo && eventInfo.repeater; 62 | case "target": return eventInfo && eventInfo.targetElement && $ax.getWidgetInfo(eventInfo.targetElement); 63 | case "cursor": return eventInfo && eventInfo.cursor; 64 | default: 65 | var gen = variable.substr(0, 3) == "gen"; 66 | var date = gen ? $ax.pageData.generationDate : new Date(); 67 | var prop = gen ? variable.substr(3) : variable; 68 | switch(prop) { 69 | case "day": return date.getDate(); 70 | case "month": return date.getMonth() + 1; 71 | case "monthname": return $ax.getMonthName(date.getMonth()); 72 | case "dayofweek": return $ax.getDayOfWeek(date.getDay()); 73 | case "year": return date.getFullYear(); 74 | case "time": return date.toLocaleTimeString(); 75 | case "hours": return date.getHours(); 76 | case "minutes": return date.getMinutes(); 77 | case "seconds": return date.getSeconds(); 78 | default: return ''; 79 | } 80 | } 81 | }; 82 | _globalVariableProvider.getVariableValue = getVariableValue; 83 | 84 | var load = function() { 85 | let query = (window.location.href.split("?")[1] || ''); //hash.substring(1); Firefox decodes this so & in variables breaks 86 | if(query.length > 0) { 87 | $ax.utils.parseGlobalVars(query, setVariableValue); 88 | } 89 | }; 90 | 91 | var getLinkUrl = function(baseUrl, useGlobalVarName) { 92 | var toAdd = ''; 93 | var hasQueryParam = baseUrl.indexOf('?') >= 0; 94 | var definedVariables = _getDefinedVariables(); 95 | for(var i = 0; i < definedVariables.length; i++) { 96 | var key = definedVariables[i]; 97 | var val = getVariableValue(key, undefined, true); 98 | if (val != null) { 99 | if (toAdd.length === 0) { 100 | if (useGlobalVarName) { 101 | if (hasQueryParam) toAdd += '&'; 102 | toAdd += GLOBAL_VAR_NAME; 103 | } 104 | toAdd += key + '=' + encodeURIComponent(val); 105 | } else { 106 | toAdd += '&' + key + '=' + encodeURIComponent(val); 107 | } 108 | } 109 | } 110 | 111 | if (window.location.protocol !== 'file:' && window.parent && window.parent.CLOUD_VAR_NAME) { 112 | var cl = $ax.utils.getQueryString(window.parent.CLOUD_VAR_NAME, window.parent.location.href); 113 | if (cl && cl.length > 0) { 114 | if (toAdd.length > 0 || hasQueryParam) toAdd += '&'; 115 | toAdd += window.parent.CLOUD_VAR_NAME + '=' + cl; 116 | } 117 | } 118 | 119 | return toAdd.length > 0 ? baseUrl + (hasQueryParam ? '' : '?') + toAdd + "&" + GLOBAL_VAR_CHECKSUM + "=1" : baseUrl; 120 | }; 121 | _globalVariableProvider.getLinkUrl = getLinkUrl; 122 | 123 | var _getDefinedVariables = function() { 124 | return $ax.pageData.variables; 125 | }; 126 | _globalVariableProvider.getDefinedVariables = _getDefinedVariables; 127 | 128 | var _postGlobalVarVals = function() { 129 | var retVal = {}; 130 | var definedVariables = _getDefinedVariables(); 131 | for(var i = 0; i < definedVariables.length; i++) { 132 | var key = definedVariables[i]; 133 | var val = getVariableValue(key); 134 | if(val != null) { 135 | retVal[key] = val; 136 | } 137 | } 138 | 139 | $ax.messageCenter.postMessage('globalVariableValues', retVal); 140 | }; 141 | 142 | $ax.messageCenter.addMessageListener(function(message, data) { 143 | if(message == 'getGlobalVariables') { 144 | _postGlobalVarVals(); 145 | } else if(message == 'resetGlobalVariables') { 146 | _globalVariableValues = {}; 147 | _postGlobalVarVals(); 148 | } 149 | }); 150 | 151 | load(); 152 | }); -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/hintmanager.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | if (window.location.protocol === 'file:' || $axure.player.isCloud) return; 3 | 4 | var inited = false; 5 | $axure.messageCenter.addMessageListener(function (message) { 6 | if (message == "finishInit") { 7 | setTimeout(() => { 8 | if (!inited) processFromQueue(0); 9 | inited = true; 10 | }, 1000); // give 1 sec to load all prototype data 11 | } 12 | }); 13 | 14 | var queue = [processPagesHint, processNotesHint, processConsoleHint]; 15 | 16 | function processFromQueue(index) { 17 | if (index < queue.length) queue[index](index); 18 | } 19 | 20 | function processPagesHint(currentIndex) { 21 | if ($axure.document.sitemap.rootNodes.length > 1 && !$axure.document.configuration.isAxshare) { 22 | $.get('shouldShowSitemapHint', function (shouldShow) { 23 | if (shouldShow) { 24 | var pagesHint = $("
      Click to expand the sitemap and view your project pages.
      "); 25 | pagesHint.click(e => e.stopPropagation()); 26 | var gotItBtn = $(""); 27 | pagesHint.append(gotItBtn); 28 | $("#sitemapHostBtn").append(pagesHint); 29 | var sitemapControlFrameContainer = $("#sitemapControlFrameContainer"); 30 | sitemapControlFrameContainer.click(gotIt); 31 | gotItBtn.click(gotIt); 32 | 33 | function gotIt(e) { 34 | e.stopPropagation(); 35 | $.get('sitemapHintAccepted'); 36 | pagesHint.remove(); 37 | sitemapControlFrameContainer.off("click", gotIt); 38 | processFromQueue(currentIndex + 1); 39 | } 40 | } 41 | }).fail(function () { 42 | processFromQueue(currentIndex + 1); 43 | }); 44 | } else { 45 | processFromQueue(currentIndex + 1); 46 | } 47 | } 48 | 49 | function processNotesHint(currentIndex) { 50 | var hasNotes = $axure.document.configuration.showPageNotes && (($axure.page.notes && !$.isEmptyObject($axure.page.notes)) || ($axure.page.masterNotes && $axure.page.masterNotes.length > 0) || ($axure.page.widgetNotes && $axure.page.widgetNotes.length > 0)); 51 | if (hasNotes && !$axure.document.configuration.isAxshare) { 52 | $.get('shouldShowPageNoteHint', function (shouldShow) { 53 | if (shouldShow) { 54 | var notesHint = $("
      Click to view the Page and Widget Notes on this page.
      "); 55 | notesHint.click(e => e.stopPropagation()); 56 | var gotItBtn = $(""); 57 | notesHint.append(gotItBtn); 58 | var pluginBtn = $("#pageNotesHostBtn").append(notesHint); 59 | pluginBtn.click(gotIt); 60 | gotItBtn.click(gotIt); 61 | 62 | function gotIt(e) { 63 | e.stopPropagation(); 64 | $.get('pageNoteHintAccepted'); 65 | notesHint.remove(); 66 | pluginBtn.off("click", gotIt); 67 | processFromQueue(currentIndex + 1); 68 | } 69 | } 70 | }).fail(function () { 71 | processFromQueue(currentIndex + 1); 72 | }); 73 | } else { 74 | processFromQueue(currentIndex + 1); 75 | } 76 | } 77 | 78 | function processConsoleHint() { 79 | if (!$axure.document.configuration.showConsole || $axure.document.configuration.isAxshare) return; 80 | 81 | $.get('shouldShowConsoleHint', function (shouldShow) { 82 | if (shouldShow) { 83 | var consoleHint = $("
      Reminder: Use the console to see when events and actions are performed.
      "); 84 | var btn = $("#debugHostBtn").append(consoleHint); 85 | 86 | var delay = 4000; 87 | function runTimeout() { 88 | return setTimeout(() => { 89 | consoleHint.remove(); 90 | }, delay); 91 | } 92 | var timeoutId = runTimeout(); 93 | btn.mouseenter(() => { clearTimeout(timeoutId); }); 94 | btn.mouseleave(() => { timeoutId = runTimeout(); }); 95 | btn.click(() => { 96 | clearTimeout(timeoutId); 97 | consoleHint.remove(); 98 | }); 99 | } 100 | }); 101 | } 102 | })(); 103 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/resources/scripts/player/init.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | $.holdReady(true); 3 | 4 | var script = window.document.createElement("script"); 5 | script.type = "text/javascript"; 6 | script.async = true; 7 | script.onload = script.onreadystatechange = function (e, isAbort) { 8 | if (isAbort || !script.readyState || /loaded|complete/.test(script.readyState)) { 9 | script.onload = script.onreadystatechange = null; 10 | script = undefined; 11 | } 12 | 13 | if (!isAbort) { $.holdReady(false); } 14 | } 15 | 16 | script.src = "data/document.js"; 17 | window.document.head.appendChild(script); 18 | })(); -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Untitled Document 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | 25 | 26 | 27 |
      28 |
      29 |
      30 | 36 |
      37 | CLOSE 38 |
      39 | 40 |
      41 |
      42 |
        43 |
        44 | 45 |
        46 |
        47 |   48 |
        49 |
        50 |
        51 |
        52 |
        53 | 54 | 55 |
        56 |
         
        57 |
        58 |   59 |
        60 |
        61 |
        62 |
        63 | 64 |
        65 |
        66 |
          67 |
          68 |
          69 | 72 |
          73 |
          74 | 75 |
          76 |
          77 | Share Prototype 78 |
          79 | 80 |
          81 |
          100%
          82 |
          83 |
          84 | 85 |
          86 |
            87 |
          • 88 | 89 |
          • 90 |
          91 |
          92 | 93 |
          94 |
          95 |
          96 | 97 |
          98 | 99 |
          100 | 101 |
          102 |
          103 |
          104 |
          105 |
          106 | 107 |
          108 |
          109 | 110 |
          111 |
          112 | 113 |
          114 |
          115 |
          116 |
          117 |
          118 |
          119 |
          120 | 121 |
          122 |
          123 |
          124 |
          125 |
          126 | 127 |
          128 |
          129 |
          130 | 131 |
          132 |
          133 | 134 |
          135 |
          136 |
          137 |
          138 |
          139 |
          140 |
          141 | 142 |
          143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/start_c_1.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /百度页面复刻/Baidu html/start_with_pages.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /百度页面复刻/原型设计文档.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/原型设计文档.pdf -------------------------------------------------------------------------------- /百度页面复刻/百度搜索.rp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrrolinz/Software-Engineering-Assignments/40d46d99cbe61064e6acf78286ada32f915fcbef/百度页面复刻/百度搜索.rp --------------------------------------------------------------------------------