Lazarus 3.0修复分支
3.6的内部合并请求
打开合并请求
其他人提交/等待团队成员签字
由开发人员/提交人提交并等待测试(尚未提交)
合并冲突
346b890f26文件:LCL/控件。 更新TWinControl。 da0cab13中更改的PaintControls主题。 发行号:19685。 85bf6be863文档:LCL/菜单。 更新TMenuItem。 d9ef4ae9中更改的默认主题。 发行号41034。 dfba70e859文档:LCL/菜单。 修改TMenuItem。 默认包括建议的修订。 取决于85bf6be863。 3ffc1f862f文件:LCL/菜单。 删除TMenuItem中无效的See Also链接。 默认主题。 取决于85bf6be863。
开发人员/提交人提交,已测试,等待合并
已处理的合并请求
c52332fbb5文档:LCL/图形。 更新TCanvas。 画出主题以澄清内容。 2acde1ee TurboPowerIPro:添加对3位html颜色代码的支持。 92306de9 TurboPowerIPro:提示更少。 33c6b73d32文件:LCL/控件。 修改TWinControl。 9da0d75b中更改的WndProc主题。 4e79486539文档:LCL/图形。 更新GraphicFilter、GraphicFileMask和GraphicExtension主题。 682e7eaffe文件:LCL/dbctrls。 针对f358fd7d17、dcacf7aaac中的更改修改TDBEdit和TDBMemo中的KeyDown主题。 发行号:40985。 e370e35dad单据:LCL/dbctrls。 更新TDBMemo。 1b18f093中更改的LoadMemo主题。 bb9f79ea0d文档:LCL/dbctrls。 更新TDBEdit、TDBMemo中的KeyDown主题,以包括达尔文处理的VK_SPACE字符。 在1ac92dd342中更改。 2ec1129e41文档:LazUtils/fileutil。 更新ReadFileToString主题中的内容。 fa49d60634文件:LCL/stdctrls。 添加TCheckBox。 选中并选中TCheckBox。 OnClick主题。 af75c766b1菜单编辑器:现在删除就地字幕编辑器。 第41022期 . d944f9f554 LCL:当有东西停靠在那里时更新TPageControl的标题。 发行号:40741 . 9dccbc008f LCL-GTK2:修复小部件失去焦点后由于延迟操作导致的崩溃。 发行号28840 . 2fea4c39a2 IDE:在显示“清理并构建项目”对话框之前不要清除消息。 发行号41047 . 7bd5ca9a3f文档:LazUtils/lazutf16。 更新Unicode小写主题。 包括6e4a0dd2中的更改。 发行号41056。 9ec4b137 LCL/RadioGroup:使用隐藏在TForm中的按钮修复RadioGroup。 OnCreate处理程序。 发行号41091 . 48cf66858d LCL:当箭头键选择隐藏单选按钮时,防止RadioGroup崩溃。 发行号41093 . 6ca87f810b LazUtils/Graphmath:修复垂直线的错误Distance()函数。 发行号41098 . 9ac757f684文档:LazUtils/graphmath。 为重载的Distance函数添加缺少的内容。 7740a84766 LazUtils/GraphMath:距离函数的优化( 发行号41104 ). 添加FloatPoint-FloatPoint重载。 e093078086文档:LazUtils/graphmath。 更新7740a847中添加的重载变体的距离主题。 5864b598 LazUtils:实现适用于Windows的ReadAllLinks。 的一部分 发行号40689 1ba49f19 LazUtils:在Windows上的ReadAllLinks中一致使用TryGetSymlinkTarget。 27535e6d LazUtils:简化fpc>=3.3.1的TryGetSymlinkTarget(用于Windows上的ReadAllLinks)。 930797ee PackageTabs:提高所选编辑器选项卡的可见性。 发行号41132 ,由Maxim Ganetsky修补。 55ac08a5 LCL/Forms:重载函数TCustomForm。 GetFormImage,过程需要位图作为参数。 发行号41140 53ba8c47aa文件:LCL/表格。 更新TCustomForm。 55ac08a5中更改的GetFormImage主题。 第41140期。 27c9054d4e文件:LCL/表格。 更新TCustomForm。 GetFormImage主题,以澄清内容并修复示例代码中的错误。 取决于55ac08a5、53ba8c47。
3.4的修复(合并)
7b596989e8 Turbopower_ipro:固定锚位置计算, 发行号40480 , 发行号40662 . 9ad00fb5a7 IDE:修复用虚线名称保存程序的问题。 发行号:40760 . 280ada98b2代码工具:防止程序名的FindIdentififerReference崩溃。 发行号:40753 . 6c9fa22be3 IDE:提前通知用户,无法通过“重命名标识符”功能重命名单元。 发行号:40744 . 8e1fc0cf60 IDE:在用户配置后安装或卸载组件时,修复组件调色板配置。 5e2a753239 LazUtils:确保CompareText来自SysUtils。 发行号40814 . 1ee8c6edb1 TAChart/RadialSeries:修复因空AngleCache导致的崩溃(请参阅 https://forum.lazarus.freepascal.org/index.php/topic网站 ,66470.msg509501.html ) cb087dd6e5 IDE:防止“消息”窗口中出现列表索引越界错误。 发行号:40798 . 12e9db2f31 TAChart:当TOpenHighLowCloseSeries的开盘价和收盘价相等时,避免不画烛台盒。 d0c036aa81代码工具:使用空括号完成虚拟/重写的方法体。 第40799期 . 79a6aff5c9代码工具:防止过程ImproveStringConstantEnd中出现永久循环。 a7b6815a8c IDE:在项目设置中将“ShoLineNum”重命名为“ShowLineNu姆”。 发行号40827 . a6a98c4327 IdeIntf:在TCompPaletteUserOrder中。 SortPagesAndCompsUserOrder将for循环转换为while循环。 可以删除项目。 0b7f1f3c0c LCL/TTrackbar:避免在Windows 7及更早版本中闪烁。 发行号40836 . e253e8cfb4 IDE:支持大写”。 LPI“和”。 LPR文件更好。 发行号:40708 . deb0488a文档:更新locallclfoter.xml的默认内容。 59523cd文档:更新CHM和HTML的Linux构建脚本。 1dad391f7文档:LazUtils/translations。 为以下项添加缺少的主题和内容:GetLanguageIDFromLocaleName、UpdatePOFile。 ead3135f3c文档:LCL/clipbrd。 更新TClipboard中的内容。 GetComponentAsText主题。 60813b02c5文档:LazUtils/lazutf8。 删除不需要的TODO条目。 b70f3fdb LCL-Gtk2:使FillRect(winapi仿真)工作,即使当前DC的刷为空, 发行号40823 Artem Izmaylov的补丁 dcaf7e6b LCL-GTK2:防止函数DeliverMouseUpMessage()中出现SIGSEGV。 发行号:40793 ,Iluha Companets提供补丁。 3aae1a6 LCL:修复ChildSizing忽略调整后的客户端矩形。 发行号40838 Henner Drewes的补丁。 5621ec7a IDE/LCL:当关联的列表视图处于虚拟模式时,防止使用TListItems组件编辑器。 https://forum.lazarus.freepascal.org/index.php/topic网站 ,66660.0.html ,由决策者进行修补。 2fb5d41799文件:LCL控件。 为3aae1a6中的更改主题添加版本警告。 发行号40838 . 37f11d9720单据:LCL/表格。 更新TApplication。 GetParams修复参数的错误描述。 66e929e9d6文档:LazUtils/lazutf8。 更新ParamStrUTF8主题,以包含参数的附加说明。 117cdd0a文档:LazUtils/lazutf8。 修复XML标记中的无效属性名称。 92c1b6a39a文档:LCL/stdctrls。 修复TCustomEdit中的XML标记。 清除选择请参见链接。 3962927845文件:拼箱/表格。 更新TCustomForm主题中的内容,包括: 045c0c6596文件:LCL/表格。 修复无效的问题请参阅主题中的链接、XML标记。 262066a6 LCL-Gtk2:更精细的Fly/Openbox解决方案。 Garry Wood的补丁,发行号40583。 修复了Ubuntu 23在d538fbd4之后的崩溃。 e11e1d3921 TAChart:修复OnCustomDrawPointer系列中画笔样式的不一致用法( https://forum.lazarus.freepascal.org/index.php/topic网站 ,66664.消息511859.html#消息511859 ). 7f000a6970 LazControls:切换TreeView时,也可以通过TreeFilterEdit过滤数据。 76182b6c TLabeledEdit:发布属性NumbersOnly。 755dea7b4d LCL/TComboboxEx:绘制缩放图标。 发行号:40905 ,foxpas补丁。 d2d921d2d6文件:LCL/comboex。 更新TCustomComboBoxEx。 755dea7b中更改的DrawItem主题。 e9425e930f LCL/Grids:修复TCustomGrid.ShowCellHintWindow以使用提示窗口的屏幕坐标。 发行号40867 ,Iluha Companets提供补丁。 76c40f6761文件:LCL/网格。 更新TCustomGrid.ShowCellHintWindow主题以了解e9425e93中的更改。 de3376efef IDE/Component调色板编辑器:确保“Restore defaults”始终可见。 发行号:40911 03c96ee8aa VirtualTreeview:修复从DLL加载资源( https://forum.lazarus.freepascal.org/index.php?主题=67250.msg517169 ) 76bbc6e2实现TListView。 正在更改(Win32)。 的一部分 版本号19169 55a3ce52 Issues.xml:TListView。 不支持OnChanging(可可、gtk2、gtk3、qt、qt4、qt5、qt6)。 其他WS没有issue.xml,或者已弃用)。 e8132d72可可:修复 版本号19169 ,TCustomListView。 OnChanging() a4ab5f4a可可:提交e8132d72后调整issues.xml( 版本号19169 ). 88827aa9 Win32:修复EndUpdate后TListView失去焦点的问题。 发行号:40786 . 57bb5a13 Win32:如果ColumnClick为False,则使ListView列不可单击。 发行号:40787 . 7446930e TFilenameEdit:不要强制TOpenDialog。 如果InitialDir为空字符串,则将InitialDir设置为当前目录。 发行号40845 . db6ed214修复多次出现的raise异常(“some string”),实际上将字符串转换为异常,而不是raise exception.create()。 发行号40860 。用n7800修补(稍作修改)。 1f7accb9修复缺少异常前Raise的问题。 创建。 发行号40860 .通过n7800进行修补。 e5a63799 TCustomTabControl:在页面更改后激活页面上的第一个控件。 发行号:40775 . f3aa0586 TCustomTabControl:不要在ActivateFirstControlOnPage中窃取focus。 问题的一部分 发行号:40775 . 5e54b2f9 TCustomTabControl:不要在ActivateFirstControlOnPage中的FindNextControl调用中检查父级。 问题的一部分 发行号:40775 . 148735d8 TCustomTabControl:重命名方法。 无功能更改。 36c308d1 TCustomTabControl:修复提交e5a63799后未触发OnChange的问题。 db41ce26 TCustomTabControl:如果APage不为零,则只调用MaybeSelectFirstControlOnPage。 删除重复检查。 2a5c8dd492文件:LCL/comctrls。 为db41ce26中的更改更新TCustomTabControl主题。 86f3e42075单据:LCL/comctrls。 更新TCustomTabControl。 更改36c308d1中的更改主题。 6f7146a46e文件:LCL/comctrls。 针对5e54b2f9、148735d8中的更改更新TCustomTabControl主题。 1836844e6e文件:LCL/comctrls。 添加TCustomTabControl。 e5a63799中更改的ActivateFirstControlOnPage主题。 发行号:40775。 5b84fae03d文件:LCL/intfgraphics。 修复示例代码中的错误。 发行号:40970。
3.2的修复(合并)
e2c8facc LCL-Gtk2:在拖放操作中选择目标时忽略临时窗口(如拖动图像)。 亚历山大·巴格尔(Alexander(Rouse)Bagel)的补丁,发行号40637。 4f7e9aee LCL-Gtk2:修复了执行拖动操作时光标的更改,Alexander(Rouse_)Bagel提供的补丁,问题#40651 1783ee35 LCL-Gtk2:修复了将图像拖动到非客户端小部件区域时拖动图像坐标的处理,由Alexander(Rouse_)Bagel进行修补,问题#40658 75d9f32660 IDE:也可以从包编辑器中显示“在文件中查找”对话框。 发行号40673 148b2d23f4 LazUtils:解析“/somedir/..” 在ResolveDots中正确。 添加测试。 发行号40678 68a45955 IDE:从Run-button的提示中删除一个额外的(F9)。 从ProjInspector的“选项”按钮中删除错误提示。 发行号:40732 . 59aff202 TAChart:修复负NumberOfQuarters的函数IncQuarter计算错误。 b48d102c MaskEdit:发布属性EnableSets、ValidationErrorMode和OnValidation错误。 a1f45d10 IDEIntf:TMaskEdit的属性编辑器:设置示例列表框的最小宽度。 a09b37af MaskEdit:为EnableSets调整FormatMaskText。 1e544fb5设计器:在AnchorEditor或OI中更改“BorderSpacing”后重新绘制。 发行号:40746 366c2feca3文件:LCL/控制。 添加TControlBorderSpacing。 1e544fb5中更改的GetOwner主题。 发行号:40746。 eb80a21f08文件:LCL/表格。 更新TScreen。 db95c28d中更改的字体主题。 cd3f347249文件:LCL/grids。 更新TCustomStringGrid.DoCompareCells主题以了解c285b58a中的更改。 ae8d65596e文件:LCL/valedit。 为c285b58a中的更改更新外部引用。 334ee8144b文件:LCL/lazhelpintf。 更新外部引用并为c285b58a中的更改添加缺少的主题。 59d8129fc5文档:LazUtils/lazfileutils。 更新CompareFileExt主题以了解08c0f486中的更改。 bcabdb039c文档:LazUtils/lazutf8。 对于890f92e33e中的更改,不推荐使用UTF8CompareLatinTextFast和UTF8CompareStrCollated主题。 db95c28df7 LCL:优化获取字体名称列表并消除TScreen中的重复项。 aecb1d9473 LHelp:删除UTF8CompareLatinTextFast调用。 4a639e70c5 TurboPower_ipro:从TIpHtmlParser中删除无用的代码。 分析头。 c9e4a59c62 TurboPower_ipro:优化函数FindFontName。 记住以前的值。 bc201de1ed TurboPower_ipro:优化TIpHtmlNodeCore中的“px”。 从CSS获取字体大小。 修复函数CssMarginToProps中可能缺少的结果。 5168d97f T(Float)SpinEditEx:如果NullValueBehaviour=nvbShowTextHint,则修复设置(初始)值。 08c0f4865d SyncEdit、FpDebug、LazUtils、IdeIntf:删除UTF8CompareLatinTextFast调用。 c285b58aa3 LCL:删除UTF8CompareLatinTextFast调用。 890f92e33e LazUtils:取消UTF8CompareLatinTextFast。 以不同的方式实现TStringListUTF8Fast。 7b6e360bce aggpas:防止潜在的溢出错误。 发行号:40765 . 9e3e23a440 TAChart:固定轴点击工具有时检测到错误的轴部件。 0642c65d04 TAChart:为AxisClickTool添加演示 a3ba11e5 T(Float)SpinEditEx:在InitializeWnd中,将Text设置为表示FValue,否则将在调用UpdateControl时应用NullValueBehaviour。 d538fbd4 LCL-Gtk2:修复了Fly/Openbox窗口管理器的窗口移动/调整大小问题,Artem Izmaylov提供补丁,问题#40752 51a6c3d25c文档:LCL/maskedit。 为0cbb6646、a09b37af中的更改添加和更新主题 d0869438b5文档:LCL/maskedit。 更新FormatMaskText主题以澄清内容。 1024edcb4d IDE:examples/helphtml。 使用其他BaseURL值更新演示应用程序。 更新元数据。 b2dd59fad5单据:LCL/lazhelphtml。 添加、更新THTMLHelpDatabase和THTMLBrowserHelpViewer主题中的内容。
3.0的修复(合并)
54e9cc91 TCustomAbstractGroupedEdit:将PopupMenu也分配给FBuddy(如果它本身没有单独的Popup菜单)。 解析的一部分 发行号38098 . 048f337a LResources:删除对DisableWindowsUnicodeSupport定义的支持(正如我们之前在LCL中所做的那样)。 5b65498e LResources:不推荐使用TUtf8Parser类。 它不再需要了。 e50ab381b1 IDE:当取消选中“CoolBar is visible”时,也允许在IDE CoolBar中配置工具栏。 发行号40600 . 97c3ff8515 DateTimeCtrlsDsgn:Move使用从实现到接口的部分。 ca7c0d686b,db64a6240d IDE:保存Run/“Compile many modes”对话框的大小。 第35245期 . 764415b6a0 LCL,LazControls:FilterEdit清理。 版本号40601 . 3692c658ae LCL,LazControls:修复FilterEdit控件中调用OnKeyDown的顺序。 版本号40601 . b64bba34 LCL-Win32:使用打开的窗体设计器最小化然后还原IDE时,不要更改窗口Z顺序。 Red_prig(Pavel)修补程序,版本号40576。 ef8b5603be LCL:还原类过程TCustomShellTreeView。 获取文件目录。 重命名辅助程序以避免名称冲突。 68acca089e文件:LCL/shellctrls。 添加TCustomShellTreeView。 GetFilesInDir主题并更新对ef8b5603be中更改的重命名帮助程序例程的引用。 425372ee74 LCL-GTK2:基于发行版提供的库和功能,使TrayIcon更加可配置。 发行号40629
3.0RC2的修复(合并)
95da84ff94,bf0878f8f9 IDE:始终修复SearchResultsView中保存的PathMode。 发行号40352 . f0a8e22c EditBtn:为某些TCustomEditButton子体发布属性Alignment。 c3891ad820减少编译器警告。 4db3bb880c Svn2RevisionInc:不警告缺少SVN客户端。 发行号40359 . d8405a9db8 AnchorDocking:减少编译器警告。 a448e619 T机架杆。 ScalePos:在Win32、Cocoa、QT、QT4、QT6上不支持。 606ef3eac7 IdeConfig:改进TransferMacros中的递归宏循环检测。 防止IDE冻结。 发行号33151 . 3ea8fbcca2文档:LazUtils/lazutilities。 更新e3691f68中添加的主题的内容。 6717565e9b GTK3:修复GTK3/issues.xml中缺少的结束标记。 https://forum.lazarus.freepascal.org/index.php/topic网站 ,63867.消息484990.html#消息484990 479ff9635e代码工具:支持类方法中的更多修饰符。 发行号40368 . bb83fdd273 simplewebservergui:修复了在旧窗口上运行,通过GetProcAddress加载GetTcpTable2 e4494cf4cd LCL-GTK2:允许使用鼠标从右向左选择TEdit中的长文本。 发行号40379 0c056fc0d2,d9608a3489,27f6e20118 IDE:使用已在其他情况下使用的相同GUI删除未知组件属性。 发行号40377 ebad154bc6 DockedFormEditor:当无效的LFM文件导致读取错误时,防止永久循环。 发行号39288 a236313f5f DockedFormEditor:修复TDesignForms缺少的Result值。 添加()。 ed7945efe2 IDE:加载并保存AutoSaveActiveDesktop值。 它在EnvironmentOptions重构中被忽略了。 5a647cd4e1 DockedFormEditor:以不同的方式解决不可恢复的循环。 为其添加新的处理程序。 发行号39288 fd2593f05b IDE:改进未知组件属性的删除。 发行号40377 3844d00814文件:LCL/forms。 为5a647cd4中的更改添加TScreen、TScreenNotification主题。 发行号39288 b9cdb23eed文档:LCL/表单。 澄清TScreen中NewFormWasCreated和AddHandlerNewFormCreated主题中的内容。 取决于3844d008、5a647cd4。 4ed8ff9b1c IDE:防止在编辑器中打开.lfm文件时出现错误“Unable to find the component class…”。 问题的一部分 发行号40377 a4aa3e0a56 OpkMan:更新版本列表。 318fa86019 IDE:删除用于卸载依赖包的“忽略”选项。 修复“取消”选项。 4179f1b4新修复了在安装了DockedFormEditor的LFM中删除不正确的组件属性。 发行号40377 . bef70c1810文档:LCL/控件。 更新53cd3db19c中更改的主题。 ba985a533e单据:LCL/表格。 添加TApplication。 53cd3db19c中更改的GetControlAtPos主题。 e95cadd0 Win32:修复MDIChild表单未更新Top/Left。 发行号40232 . 48b1419e TTaskDialog:使标记tfNoDefaultRadioButton实际工作。 69614e3959文档:LCL/lcltaskdialog。 更新TTaskDialog。 执行48b1419e中的更改。 a4c9080f TListBox:修复HandleAllocated=False情况下的SelCount。 发行号40361 . a0e4b5d35a文档:LCL/stdctrls。 更新TCustomListBox。 a4c9080f中更改的SelCount。 发行号:40361。 b101a75d VirtualTreeView:在非x86平台上使用Qt4小部件集修复构建(与Qt5和Qt6小部件集统一),问题#40431 57fe53bd VirtualTreeView:调整Qt4、Qt5、Qt6小部件集的IFDEFS,以为32位和64位x86 CPU启用asm代码,问题#40431 2a339f8c Qt,Qt5,Qt6:修复了父窗体上的无边界弹出窗口,FormStyle=fsStayOnTop。 发行号40440 853461fe LCL:固定TWinControl。 SetChildZPosition,在任何情况下都必须通知WS订单的更改。 发行号40450 2885935b Qt、Qt5、Qt6:如果wm名称为空或我们在wayland下运行,则不要创建虚拟小部件。 发行号40413 e2f0b349Gtk2:如果WM名称为空,则不要创建虚拟小部件,还可以减少慢速系统上的循环。 发行号40413 8c1e7bc4b0 IDE:默认情况下,在IDE标题中显示项目名称和生成模式。 统一命名变量和属性。 c609605cfa,debaca4729在Install/Uninstall package dlg中,过滤时不要启用“Save and rebuild”和“Save and-exit”按钮。 无论用户单击项目之前的状态如何,都会触发Win32:TListBoxOnSelectionChange。 版本号33618 .
3.0路线图
创建3.0修复分支。 (完成时间:2023年6月25日)
3.0RC1的发布(完成日期:2023年7月3日)
3.0RC2的发布(完成于2023年10月16日)
3.0RC3的发布(不适用)
发布Lazarus 3.0(完成于2023年12月21日)
测验
菜单项存在 清除pcp目录并启动IDE,一个带有表单的新项目应用程序应该可见 双击表单-应创建FormCreate事件 检查View/IDE内部结构/需要构建什么-不需要构建任何包,只需要构建项目 重新启动IDE-升级时不应有任何警告 安装包cody,重启后组件面板应显示组件TCodyTreeView 从菜单“工具”-->“示例项目”运行Unit-Tests。 选择项目“runtessgui.lpi”并运行它。它将执行大约390个单元测试。
标签发布
此页面的GIT合并请求 在fixes_3_0分支中设置版本: 在IDE中打开lazarus/lazarus.lpi,并在项目选项对话框中更改版本号:RC1为2.2.0.1,RC2为2.2.0.2,RC3为2.2.0.3,final为2.2.0.4 lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2,没有空格! (最终版本为3.0) lazarus/components/lazutils/lazversion.pas 3.0.0.1用于RC2,3.0.0.2用于RC2。。。 最终3.0.0.4 lcl基底.lpk lcl.lpk公司 lazarus/lazarus.app/Contents/Info.plist CFBundleShortVersionString“3.0.0” CFBundle版本1用于RC1,2用于RC2,3用于RC3,4用于最终发布
tools/install/linux/environmentoptions.xml与version.inc相同 tools/install/win/environmentoptions.xml与version.inc相同 tools/install/macos/environmentoptions.xml与version.inc相同 通过运行“./tools/lplupdate-c”检查lpl文件并执行gitmv命令 更新生成文件:确保 添加和覆盖 为空并运行
FPCDIR=/path/to/fpc/src/trunk path=/path2/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$path/ 工具/更新生成文件
检查ide/lazarus.lpi和ide/lazarus.res是否已更改:
git状态
git添加。 git commit-m“将修复版本设置为3.0RC2” git推送源 将gitlab中的fixes_3_0分支标记为lazarus_3_0_RC2(或将lazarus _3_0用于最终版本) https://gitlab.com/freepascal.org/azarus/lazarus/-/tags 使用“create from”fixes_3_0
对于非RC版本: 在git main中将版本设置为下一个版本
在此页面上创建新分区,并将等待的合并请求移动到新分区 上传程序包 更新校验和: https://gitlab.com/freepascal.org/lazarus/网站 site/pages/checksums.html 每隔5分钟可以在此处查看预览: https://test.lazarus-ide.org/index.php?page=校验和 向Marc发送邮件,从svn更新网站