<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>macos</title><link>https://www.llbk.cn/</link><description>Good Luck To You!</description><item><title>兰空图床添加一个后台获取Tonken功能</title><link>https://www.llbk.cn/135.html</link><description>&lt;blockquote&gt;兰空图床新增后台获取Token功能，旨在简化用户操作流程，用户无需手动生成或查找Token，可直接在后台管理界面一键获取访问凭证，提升管理效率，该功能优化了Token的获取方式，确保操作便捷性与安全性，同时支持自定义Token有效期，满足不同场景下的使用需求，通过集中化管理，用户可快速完成配置，降低操作复杂度，进一步增强了图床服务的易用性和实用性。&lt;/blockquote&gt;&lt;p&gt;&lt;br/&gt;前言
因为一直用的GitHub+jsdelivr的免费图床，自从去年jsdelivr挂了之后，博客的图片就无法加载了，所以只好自己搭建图床

经过一段时间的折腾，在自己组装的all in one上搭建了兰空图床，利用兰空pro插件可以实现粘贴上传到图床并直接插入文章

但是兰空图床免费版的token需要使用第三方请求来获取，非常的不方便

所以我就自己在后台程序中加了一个post请求，使用异步请求来获取token

实现效果&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://www.llbk.cn/zb_users/upload/2026/05/202605111778495780238027.gif&quot; title=&quot;22.gif&quot; alt=&quot;22.gif&quot; width=&quot;1181&quot; height=&quot;724&quot; style=&quot;width: 1181px; height: 724px;&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 id=&quot;fgfol&quot; name=&quot;%E6%B7%BB%E5%8A%A0%E4%BB%A3%E7%A0%81&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px 8px; padding: 0px; font-size: 14px; box-sizing: border-box; list-style: inherit; line-height: 24px; font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;添加代码&lt;/h4&gt;&lt;p&gt;&lt;br/&gt;&lt;br/&gt;直接在 /resources/views/common/api.blade.php 文件里合适的位置添加以下代码&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;&amp;lt;div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;p&amp;nbsp;class=&amp;quot;text-lg&amp;nbsp;text-gray-700&amp;nbsp;font-semibold&amp;quot;&amp;gt;Tonken获取&amp;lt;/p&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;nbsp;src=&amp;quot;//lib.baomitu.com/jquery/1.12.4/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;form&amp;nbsp;id=&amp;quot;token&amp;quot;&amp;nbsp;action=&amp;quot;{{&amp;nbsp;request()-&amp;gt;getSchemeAndHttpHost()&amp;nbsp;}}/api/v1/tokens&amp;quot;&amp;nbsp;method=&amp;quot;POST&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;my-2&amp;nbsp;text-sm&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;form-group&amp;nbsp;qqlogin&amp;quot;&amp;nbsp;style=&amp;quot;display:&amp;nbsp;none;&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;input-group-addon&amp;quot;&amp;gt;邮箱&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;input&amp;nbsp;type=&amp;quot;email&amp;quot;&amp;nbsp;id=&amp;quot;email&amp;quot;&amp;nbsp;name=&amp;quot;email&amp;quot;&amp;nbsp;value=&amp;quot;{{&amp;nbsp;Auth::user()-&amp;gt;email&amp;nbsp;}}&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;style=&amp;quot;display:&amp;nbsp;inline-flex;position:&amp;nbsp;relative;&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;px-4&amp;nbsp;py-3&amp;nbsp;text-right&amp;nbsp;sm:px-6&amp;quot;&amp;nbsp;style=&amp;quot;color:&amp;nbsp;#555;background-color:&amp;nbsp;#eee;border:&amp;nbsp;1px&amp;nbsp;solid&amp;nbsp;#ccc;&amp;quot;&amp;gt;密码&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;input&amp;nbsp;type=&amp;quot;password&amp;quot;&amp;nbsp;id=&amp;quot;password&amp;quot;&amp;nbsp;name=&amp;quot;password&amp;quot;&amp;nbsp;placeholder=&amp;quot;输入你的密码&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a&amp;nbsp;href=&amp;quot;javascript:;&amp;quot;&amp;nbsp;class=&amp;quot;button&amp;nbsp;px-4&amp;nbsp;py-3&amp;nbsp;sm:px-6&amp;quot;&amp;nbsp;style=&amp;quot;color:&amp;nbsp;#fff;background-color:&amp;nbsp;#337ab7;border-color:&amp;nbsp;#2e6da4;margin-left:10px;&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;gt;点击获取&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/a&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;list-group&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;x-code&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;style=&amp;quot;color:tomato;user-select:&amp;nbsp;none;&amp;quot;&amp;gt;token：&amp;lt;/span&amp;gt;&amp;lt;span&amp;nbsp;id=&amp;quot;tokenCode&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/x-code&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/form&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(document).ready(function()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&amp;quot;#token&amp;nbsp;.button&amp;quot;).click(function()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;url&amp;nbsp;=&amp;nbsp;$(&amp;quot;#token&amp;quot;).attr(&amp;quot;action&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;email&amp;nbsp;=&amp;nbsp;$(&amp;quot;#email&amp;quot;).val();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;password&amp;nbsp;=&amp;nbsp;$(&amp;quot;#password&amp;quot;).val();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$.ajax({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type:&amp;nbsp;&amp;#39;post&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url:&amp;nbsp;url,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;email:&amp;nbsp;email,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;password:&amp;nbsp;password
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;success:&amp;nbsp;function(data)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(data.status&amp;nbsp;==&amp;nbsp;true)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&amp;quot;#tokenCode&amp;quot;).html(&amp;#39;Bearer&amp;nbsp;&amp;#39;&amp;nbsp;+&amp;nbsp;data.data.token)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(data.message&amp;nbsp;==&amp;nbsp;&amp;quot;password&amp;nbsp;不能为空。&amp;quot;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&amp;quot;#tokenCode&amp;quot;).html(&amp;quot;密码不能为空！&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(data.message&amp;nbsp;==&amp;nbsp;&amp;quot;The&amp;nbsp;email&amp;nbsp;address&amp;nbsp;or&amp;nbsp;password&amp;nbsp;is&amp;nbsp;incorrect.&amp;quot;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&amp;quot;#tokenCode&amp;quot;).html(&amp;quot;请确认密码是否正确！&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error:&amp;nbsp;function()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&amp;quot;#tokenCode&amp;quot;).html(&amp;quot;请求过于频繁，请稍后再试！&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;优化了一下，添加了一个复制按钮，并且用原生JS重构了一下，避免引用的jQuery失效&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-basic&quot;&gt;&amp;lt;div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;p&amp;nbsp;class=&amp;quot;text-lg&amp;nbsp;text-gray-700&amp;nbsp;font-semibold&amp;quot;&amp;gt;Tonken获取&amp;lt;/p&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;form&amp;nbsp;id=&amp;quot;token&amp;quot;&amp;nbsp;action=&amp;quot;{{&amp;nbsp;request()-&amp;gt;getSchemeAndHttpHost()&amp;nbsp;}}/api/v1/tokens&amp;quot;&amp;nbsp;method=&amp;quot;POST&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;my-2&amp;nbsp;text-sm&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;style=&amp;quot;display:inline-flex;position:relative&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;px-4&amp;nbsp;py-3&amp;nbsp;text-right&amp;nbsp;sm:px-6&amp;quot;&amp;nbsp;style=&amp;quot;color:#555;background:#eee;border:1px&amp;nbsp;solid&amp;nbsp;#ccc&amp;quot;&amp;gt;密码&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;input&amp;nbsp;type=&amp;quot;password&amp;quot;&amp;nbsp;id=&amp;quot;password&amp;quot;&amp;nbsp;name=&amp;quot;password&amp;quot;&amp;nbsp;placeholder=&amp;quot;输入你的密码&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a&amp;nbsp;href=&amp;quot;javascript:;&amp;quot;&amp;nbsp;class=&amp;quot;button&amp;nbsp;px-4&amp;nbsp;py-3&amp;nbsp;sm:px-6&amp;nbsp;rounded-md&amp;quot;&amp;nbsp;style=&amp;quot;color:#fff;background:#337ab7;border-color:#2e6da4;margin-left:10px&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;gt;点击获取&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/a&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;list-group&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;x-code&amp;nbsp;style=&amp;quot;white-space:&amp;nbsp;nowrap;&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;style=&amp;quot;color:tomato;user-select:none&amp;quot;&amp;gt;token：&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;id=&amp;quot;tokenCode&amp;quot;&amp;nbsp;style=&amp;quot;display:inline-block;margin-right:5px&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;button&amp;nbsp;type=&amp;quot;button&amp;quot;&amp;nbsp;id=&amp;quot;copyBtn&amp;quot;&amp;nbsp;style=&amp;quot;display:none;padding:2px&amp;nbsp;8px;background:#28a745;color:white;border:none;border-radius:3px;cursor:pointer;font-size:12px&amp;quot;&amp;gt;复制&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/x-code&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/form&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.addEventListener(&amp;#39;DOMContentLoaded&amp;#39;,&amp;nbsp;function()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;btn&amp;nbsp;=&amp;nbsp;document.querySelector(&amp;#39;.button&amp;#39;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;code&amp;nbsp;=&amp;nbsp;document.getElementById(&amp;#39;tokenCode&amp;#39;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;copy&amp;nbsp;=&amp;nbsp;document.getElementById(&amp;#39;copyBtn&amp;#39;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;userEmail&amp;nbsp;=&amp;nbsp;&amp;#39;{{&amp;nbsp;Auth::user()-&amp;gt;email&amp;nbsp;}}&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;btn.addEventListener(&amp;#39;click&amp;#39;,&amp;nbsp;function(e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.preventDefault();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;txt&amp;nbsp;=&amp;nbsp;btn.querySelector(&amp;#39;div&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txt.textContent&amp;nbsp;=&amp;nbsp;&amp;#39;获取中...&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;btn.style.pointerEvents&amp;nbsp;=&amp;nbsp;&amp;#39;none&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fetch(document.getElementById(&amp;#39;token&amp;#39;).action,&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;method:&amp;nbsp;&amp;#39;POST&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;headers:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Content-Type&amp;#39;:&amp;nbsp;&amp;#39;application/json&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;body:&amp;nbsp;JSON.stringify({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;email:&amp;nbsp;userEmail,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;password:&amp;nbsp;document.getElementById(&amp;#39;password&amp;#39;).value
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.then(function(r)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;r.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.then(function(d)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(d.status)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;code.textContent&amp;nbsp;=&amp;nbsp;&amp;#39;Bearer&amp;nbsp;&amp;#39;&amp;nbsp;+&amp;nbsp;d.data.token;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;copy.style.display&amp;nbsp;=&amp;nbsp;&amp;#39;inline-block&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;code.textContent&amp;nbsp;=&amp;nbsp;d.message&amp;nbsp;===&amp;nbsp;&amp;quot;Too&amp;nbsp;Many&amp;nbsp;Attempts.&amp;quot;&amp;nbsp;?&amp;nbsp;&amp;#39;请求过于频繁，请稍后再试！&amp;#39;&amp;nbsp;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d.message&amp;nbsp;===&amp;nbsp;&amp;quot;password&amp;nbsp;不能为空。&amp;quot;&amp;nbsp;?&amp;nbsp;&amp;#39;密码不能为空！&amp;#39;&amp;nbsp;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d.message&amp;nbsp;===&amp;nbsp;&amp;quot;The&amp;nbsp;email&amp;nbsp;address&amp;nbsp;or&amp;nbsp;password&amp;nbsp;is&amp;nbsp;incorrect.&amp;quot;&amp;nbsp;?&amp;nbsp;&amp;#39;请确认密码是否正确！&amp;#39;&amp;nbsp;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d.message&amp;nbsp;||&amp;nbsp;&amp;#39;请求失败，请重试！&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;copy.style.display&amp;nbsp;=&amp;nbsp;&amp;#39;none&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.catch(function()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;code.textContent&amp;nbsp;=&amp;nbsp;&amp;#39;网络错误，请检查连接！&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;copy.style.display&amp;nbsp;=&amp;nbsp;&amp;#39;none&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.finally(function()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txt.textContent&amp;nbsp;=&amp;nbsp;&amp;#39;点击获取&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;btn.style.pointerEvents&amp;nbsp;=&amp;nbsp;&amp;#39;auto&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;copy.addEventListener(&amp;#39;click&amp;#39;,&amp;nbsp;function(e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.preventDefault();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;text&amp;nbsp;=&amp;nbsp;code.textContent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!text&amp;nbsp;||&amp;nbsp;/密码|请求|网络错误/.test(text))&amp;nbsp;return;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;inp&amp;nbsp;=&amp;nbsp;document.createElement(&amp;#39;textarea&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inp.value&amp;nbsp;=&amp;nbsp;text;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.body.appendChild(inp);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inp.select();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.execCommand(&amp;#39;copy&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.body.removeChild(inp);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;old&amp;nbsp;=&amp;nbsp;copy.textContent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;copy.textContent&amp;nbsp;=&amp;nbsp;&amp;#39;已复制&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;copy.style.background&amp;nbsp;=&amp;nbsp;&amp;#39;#218838&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTimeout(function()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;copy.textContent&amp;nbsp;=&amp;nbsp;old;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;copy.style.background&amp;nbsp;=&amp;nbsp;&amp;#39;#28a745&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&amp;nbsp;1000);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;《div》

《div》
《div》
《div》

《div》







《div》










《div》&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 11 May 2026 18:34:59 +0800</pubDate></item><item><title>老用户的无奈，macOS系统软件又双叒叕下不了，这些坑我踩遍了！</title><link>https://www.llbk.cn/107.html</link><description>&lt;blockquote&gt;老用户对macOS软件下载的无奈早已不是新鲜事，系统又双叒叕更新导致软件无法安装的坑，我算是踩遍了，从证书过期到兼容性警告，从开发者账号限制到第三方源失效，每一次更新都像一场“闯关游戏”，明明是稳定版系统，却总在下载环节“掉链子”，折腾半天也找不到解决方案，这些经历让老用户哭笑不得，只能默默记录避坑指南，提醒后来者：macOS的“稳定”，或许只存在于想象中。&lt;/blockquote&gt;&lt;p&gt;作为macOS用户,你可能也经历过这样的瞬间：深夜想赶个方案，却发现常用的软件更新失败；心血来潮想换个新工具，下载到99%提示“网络错误”；甚至刚安装的软件双击后直接“闪退”，留下一句“无法打开开发者未认证的应用”……“macOS系统软件又下不了、无法使用”，这几乎成了老用户的“日常噩梦”，我们就来聊聊这背后的原因，以及如何一步步解决这些让人头大的问题。&lt;/p&gt;&lt;h2&gt;为什么macOS软件总“掉链子”？&lt;/h2&gt;&lt;p&gt;要解决问题,先得搞清楚“为什么会这样”，macOS软件下载失败或无法使用，往往不是单一原因造成的，通常藏在以下几个“坑”里：&lt;/p&gt;&lt;h3&gt;网络环境“捣乱”：不是你网不好，是macOS“挑”&lt;/h3&gt;&lt;p&gt;macOS对网络连接的“敏感度”有时超乎想象，如果你使用的是公司/校园网、代理服务器，或者网络波动较大，就可能导致下载中断，尤其是从第三方网站下载软件时，macOS的“安全验证”机制会检测下载链接的合法性，一旦判定“风险过高”，直接拦截下载。&lt;/p&gt;&lt;h3&gt;软件源“失效”：开发者跑了，链接挂了&lt;/h3&gt;&lt;p&gt;很多用户习惯从第三方网站（如某些软件下载站、论坛）获取软件，但这些链接可能因为开发者停止维护、服务器关闭，或被“墙”而失效，更常见的是，软件更新后，旧版本的安装包与新系统不兼容，导致下载后无法运行。&lt;/p&gt;&lt;h3&gt;系统权限“卡脖子”：没授权，谁也别想动&lt;/h3&gt;&lt;p&gt;macOS的“安全机制”是一把双刃剑，从Mac App Store下载的软件通常没问题，但如果是第三方开发者未签名的软件（尤其是开发版、测试版），系统会默认阻止运行，此时如果你直接双击，只会看到“无法打开，因为无法验证开发者”的提示。&lt;/p&gt;&lt;h3&gt;系统版本“拖后腿”：新系统不认旧软件&lt;/h3&gt;&lt;p&gt;macOS更新频率高,但很多老软件并未及时适配新系统，比如在Ventura（13.0）系统上运行旧版本的Photoshop，可能会提示“与macOS版本不兼容”；甚至有些软件在新系统上直接“闪退”，连错误提示都没有。&lt;/p&gt;&lt;h3&gt;存储空间“告急”：下载到一半，空间“没了”&lt;/h3&gt;&lt;p&gt;macOS的“存储管理”看似智能，但如果你没及时清理缓存、重复文件，或系统盘剩余空间不足（建议至少保留10%空间），下载软件时就可能因为“空间不足”中断，或者安装时提示“无法写入磁盘”。&lt;/p&gt;&lt;h2&gt;遇到“下载失败、无法使用”，这样解决！&lt;/h2&gt;&lt;p&gt;别慌！针对以上问题，我们整理了一套“从简到繁”的解决思路，跟着操作大概率能搞定：&lt;/p&gt;&lt;h3&gt;第一步：先“排除法”，检查基础问题&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;网络检查&lt;/strong&gt;：切换到稳定的网络（比如手机热点），关闭代理/VPN，重置DNS（终端输入 &lt;code&gt;sudo killall -HUP mDNSResponder&lt;/code&gt;），如果是Mac App Store下载失败，尝试退出后重新登录Apple ID。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;存储空间检查&lt;/strong&gt;：打开“关于本机→存储空间”，清理不需要的文件（用“优化存储空间”功能手动删除缓存、旧邮件等），确保系统盘有足够空间。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;第二步：换“官方渠道”，拒绝“野链接”&lt;/h3&gt;&lt;p&gt;如果是从第三方网站下载失败,优先选择：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mac App Store&lt;/strong&gt;：苹果官方审核，安全有保障，适合普通用户。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;开发者官网&lt;/strong&gt;：直接搜索软件名称+“官网”，下载最新正式版（避免下载论坛里的“修改版”“破解版”，大概率有兼容性问题）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Homebrew&lt;/strong&gt;（适合技术党）：macOS下的包管理工具，终端输入 &lt;code&gt;brew install [软件名]&lt;/code&gt;，自动下载安装最新适配版本（需先安装Homebrew：&lt;code&gt;/bin/bash -c &amp;quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&amp;quot;&lt;/code&gt;）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;第三步：搞定“权限问题”，让软件“跑起来”&lt;/h3&gt;&lt;p&gt;遇到“无法验证开发者”的提示，试试：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;打开“任何来源”&lt;/strong&gt;：在“系统设置→隐私与安全性→安全性”中，如果选项存在，直接勾选；如果隐藏（新版macOS），终端输入 &lt;code&gt;sudo spctl --master-disable&lt;/code&gt;，即可显示“任何来源”选项（需输入管理员密码）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;手动授权&lt;/strong&gt;：双击软件后，如果弹出提示，点击“仍要打开”；如果没反应，右键点击软件→“显示简介”，在“打开方式”中选择“兼容性模式”，或勾选“从以下位置下载：App Store”等。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;第四步：解决“系统兼容”，让新系统“认旧软件”&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;更新软件&lt;/strong&gt;：去开发者官网下载最新版，很多新版本会适配最新macOS。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用虚拟机/双系统&lt;/strong&gt;：如果软件实在不兼容，可以用Parallels Desktop、VMware Fusion装Windows虚拟机，或通过Boot Camp安装双系统（仅Intel Mac）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;开启“Rosetta 2”&lt;/strong&gt;：如果是Intel架构的软件在Apple Silicon Mac上运行，终端输入 &lt;code&gt;softwareupdate --install-rosetta --agree-to-license&lt;/code&gt;，安装Rosetta 2翻译层。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;第五步：终极“大招”——重置与恢复&lt;/h3&gt;&lt;p&gt;如果以上方法都无效,可能是系统缓存或配置文件损坏：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;重置NVRAM/PRAM&lt;/strong&gt;：关机后，按住Option+Command+P+R开机，听到第二声开机声后松手（解决系统设置异常）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;清理系统缓存&lt;/strong&gt;：终端输入 &lt;code&gt;sudo rm -rf /Library/Caches/*&lt;/code&gt;（清理用户缓存），&lt;code&gt;sudo rm -rf /System/Library/Caches/*&lt;/code&gt;（清理系统缓存，需输入密码）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;重新安装macOS&lt;/strong&gt;：终端输入 &lt;code&gt;reinstall macOS&lt;/code&gt;，按提示操作（备份重要数据后再操作！）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;预防比“救火”更重要：日常做好这几点&lt;/h2&gt;&lt;p&gt;与其每次遇到问题“临时抱佛脚”，不如提前做好防护：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;优先官方渠道&lt;/strong&gt;：尽量从Mac App Store、开发者官网下载软件，少用第三方下载站。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;定期更新系统&lt;/strong&gt;：macOS更新会修复兼容性问题，打开“系统设置→软件更新”，保持系统最新。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;不乱装“破解版”&lt;/strong&gt;：破解版软件常携带恶意代码，还可能导致系统不稳定。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;备份！备份！备份！&lt;/strong&gt;：用Time Machine定期备份，遇到系统崩溃能快速恢复。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;macOS的稳定性和安全性一直是它的优势,但“软件下载失败、无法使用”的问题确实让不少用户头疼，这些问题大多源于“网络环境”“渠道选择”“系统兼容”和“权限管理”四个核心因素，只要掌握“排除法+官方渠道+权限调整”的思路，再结合日常预防，就能让macOS的使用体验回归“丝滑”，毕竟，我们爱macOS，不是因为它完美，而是因为它在解决问题的过程中，让我们感受到“掌控技术”的乐趣，下次再遇到“软件又下不了”，别急——深呼吸，打开这篇文章，一步步来，总能搞定！&lt;/p&gt;</description><pubDate>Sun, 03 May 2026 03:14:58 +0800</pubDate></item><item><title>未针对macOS验证的软件能用吗？风险与使用全解析</title><link>https://www.llbk.cn/106.html</link><description>&lt;blockquote&gt;未针对macOS验证的软件通常可运行，但存在多类风险，兼容性问题可能导致功能异常、频繁崩溃，甚至系统资源占用过高；安全风险突出，易携带恶意代码、窃取隐私数据，或破坏系统文件；长期使用还可能引发系统不稳定，与其他软件冲突，若需使用，务必从可信来源下载，开启Gatekeeper防护，优先通过虚拟机或隔离环境测试，降低潜在风险。&lt;/blockquote&gt;&lt;p&gt;在macOS生态中，我们习惯了从App Store下载“官方认证”的应用，或是看到软件图标旁显示的“苹果公证”标识（Notarization），但偶尔也会遇到一些“未针对macOS验证”的软件——它们可能来自开发者官网、开源社区，或是第三方分享平台，图标旁没有公证标识，甚至会被系统弹出安全警告，这类软件到底能不能用？本文将从macOS的安全机制、潜在风险、使用场景出发,为你提供一份全面的使用指南。&lt;/p&gt;&lt;h2&gt;先搞清楚：什么是“未针对macOS验证的软件”？&lt;/h2&gt;&lt;p&gt;所谓“未针对macOS验证”，通常指软件未通过苹果的两大核心安全审核流程：&lt;strong&gt;开发者身份验证（Developer ID）&lt;/strong&gt;和&lt;strong&gt;公证（Notarization）&lt;/strong&gt;。&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;开发者身份验证&lt;/strong&gt;：苹果为开发者颁发唯一的“开发者ID证书”，用于对软件进行数字签名，签名后的软件会被系统识别为“来自已知开发者”，降低被篡改的风险。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;公证（Notarization）&lt;/strong&gt;：自macOS 10.14起推出的机制，开发者需将上传的软件提交给苹果审核，苹果会检查软件是否包含恶意代码、是否违反安全规范，通过审核后会生成一个“公证凭证”，系统运行时会自动验证。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;“未验证软件”可能包括：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;开发者未签名或签名过期的开源工具；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;小众独立游戏或定制化软件（开发者未申请公证）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;第三方下载站提供的“破解版”“汉化版”软件；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;企业内部自研工具（未通过App Store或公证流程）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;macOS会阻止运行未验证软件吗？&lt;/h2&gt;&lt;p&gt;是的，但并非“完全禁止”，macOS的&lt;strong&gt;Gatekeeper&lt;/strong&gt;机制（系统安全守卫）默认会限制未验证软件的运行，具体表现为：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;当你尝试打开未验证软件时，系统会弹出警告：“‘XXX.app’来自身份不明的开发者，苹果无法检查此软件是否包含有害软件。”&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;部分情况下（如未签名且未公证），软件甚至无法直接双击启动，需要通过右键菜单“打开”或终端命令强制运行。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;但Gatekeeper的“限制”本质是“提醒”，而非“封锁”，用户仍可通过手动授权运行，只是需要主动承担潜在风险。&lt;/p&gt;&lt;h2&gt;未验证软件的核心风险：为什么需要谨慎？&lt;/h2&gt;&lt;p&gt;未通过苹果验证的软件，相当于绕过了macOS的“安全网”，可能带来以下风险：&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;恶意软件与病毒：最直接的安全威胁&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;未验证软件可能被植入恶意代码，&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;木马程序&lt;/strong&gt;：表面是正常工具，实则偷偷记录键盘输入（盗取密码）、访问摄像头/麦克风（侵犯隐私），或下载其他恶意软件；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;勒索病毒&lt;/strong&gt;：加密用户文件（如照片、文档），要求支付赎金；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;挖矿程序&lt;/strong&gt;：在后台占用CPU资源，导致电脑卡顿，甚至为开发者非法获利。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;典型案例：2022年某“macOS优化工具”未通过公证，实际捆绑了加密货币挖矿脚本，导致用户电脑风扇狂转、性能暴跌。&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;隐私泄露：数据可能被“偷偷上传”&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;未验证软件可能过度收集用户数据，甚至未经同意上传至服务器：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;通讯录、聊天记录等敏感信息被窃取；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;浏览历史、位置信息被用于精准广告；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;账号密码（如浏览器保存的密码）被打包出售。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;由于苹果无法审核这类软件，隐私保护完全依赖开发者自觉，而现实中“自觉”往往不可靠。&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;兼容性与稳定性问题：软件“水土不服”&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;macOS系统更新频繁（如每年一次的大版本更新），未验证软件可能因未适配新系统出现：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;功能异常（如闪退、无法保存文件）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;系统冲突（导致其他软件无法运行，甚至系统崩溃）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;性能损耗（占用过多内存、CPU，拖慢电脑速度）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;某未公证的“视频剪辑软件”在macOS Sonoma系统中无法导出视频，且强制关闭时导致系统日志损坏。&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;无官方支持，维权困难&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;未通过App Store或公证的软件，通常缺乏官方客服和更新机制：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;遇到Bug只能自行排查或依赖社区反馈；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;开发者“跑路”后，软件漏洞无人修复，安全风险持续存在；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;若软件造成损失（如误删文件），因未通过正规渠道，难以维权。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;什么情况下“可以”考虑使用未验证软件？&lt;/h2&gt;&lt;p&gt;尽管风险较高，但在某些场景下，未验证软件可能是“唯一选择”：&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;开源工具与开发者的“过渡期”软件&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;许多优秀的开源工具（如文本编辑器、终端工具）可能因开发者未及时申请公证，或处于测试阶段，暂时未通过验证，这类软件代码公开，社区活跃，风险相对较低（但仍需谨慎）。&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;专业领域的小众软件&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;部分科研、设计领域的定制化工具（如特定行业的插件、实验室数据软件），可能仅由小团队开发，未走公证流程，但又是工作必需。&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;企业内部或可信来源的软件&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;公司内部自研的办公工具、学校提供的实验软件等，来源可信，且无商业牟利目的，风险可控。&lt;/p&gt;&lt;h2&gt;如果必须使用，如何降低风险？（关键安全步骤）&lt;/h2&gt;&lt;p&gt;若你确认需要使用未验证软件，务必遵循以下“安全准则”，将风险降到最低：&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;确认来源：只从“可信渠道”下载&lt;/strong&gt;&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;优先选择官网&lt;/strong&gt;：开发者官网通常会提供下载链接，且域名正规（如xxx.com而非xxx.xyz）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;避开第三方下载站&lt;/strong&gt;：如“XX软件园”“XX资源库”等平台，可能捆绑安装包或篡改软件；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;验证文件完整性&lt;/strong&gt;：部分官网提供SHA256校验码，下载后可通过终端命令（&lt;code&gt;shasum -a 256 文件名&lt;/code&gt;）验证是否与官方一致，防止文件被篡改。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;strong&gt;检查开发者身份：看“签名”而非“名气”&lt;/strong&gt;&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;即使未公证，若软件有&lt;strong&gt;开发者ID签名&lt;/strong&gt;（在“系统设置&amp;gt;隐私与安全性&amp;gt;通用”中查看“允许从以下位置下载的App”），可优先选择（签名至少能证明开发者身份，降低被篡改风险）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;开源软件可查看GitHub/GitLab等平台，确认开发者是否有维护记录（如提交频率、issue反馈），避免使用“僵尸项目”。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;strong&gt;运行前“沙盒测试”：隔离风险&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;macOS的“隔离运行”功能可降低软件对系统的影响：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;方法1&lt;/strong&gt;：右键点击软件，选择“显示简介”，勾选“打开来自未知开发者的App”后，在“安全”选项中点击“仍要打开”；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;方法2&lt;/strong&gt;：使用“终端”运行，命令为&lt;code&gt;xattr -cr /Applications/软件名.app&lt;/code&gt;（清除隔离属性），再通过&lt;code&gt;open /Applications/软件名.app&lt;/code&gt;启动；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;进阶选择&lt;/strong&gt;：在虚拟机（如Parallels Desktop、UTM）中运行软件，彻底隔离主机系统。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;strong&gt;最小权限原则：拒绝不必要的权限请求&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;运行未验证软件时，系统会弹出权限请求（如访问文件夹、通讯录、摄像头等），务必谨慎：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;非必需权限一律拒绝&lt;/strong&gt;：文本编辑工具”请求访问通讯录，明显不合理；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;若必须授权，仅开放最小权限（如只允许访问“下载”文件夹，而非整个“文稿”）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;strong&gt;实时监控：运行时观察异常&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;启动软件后，留意以下异常信号：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;资源占用异常&lt;/strong&gt;：打开活动监视器（Activity Monitor），查看CPU、内存占用是否突然飙升；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;网络连接异常&lt;/strong&gt;：检查“网络”偏好设置，看软件是否在后台偷偷连接未知服务器；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;文件操作异常&lt;/strong&gt;：观察是否有陌生文件在桌面或文档中自动生成。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;若发现异常，立即强制退出软件（Command+Option+Esc），并删除相关文件。&lt;/p&gt;&lt;h2&gt;能用，但别“乱用”&lt;/h2&gt;&lt;p&gt;未针对macOS验证的软件并非“洪水猛兽”，在特定场景下（如开源工具、专业小众软件）确实有其价值，但macOS的安全机制并非“多此一举”，而是对用户的核心保护。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;简单原则&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;优先选择已验证软件&lt;/strong&gt;：App Store、公证软件（图标旁有“公证”标识）或来自知名开发者官网的软件；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;必须使用未验证软件时&lt;/strong&gt;：严格遵循“来源可信→开发者核查→沙盒测试→最小权限→实时监控”的流程；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;“不确定就别用”&lt;/strong&gt;：若软件来源不明、开发者信息模糊，或运行时出现任何异常，果断放弃。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;毕竟，数据安全和隐私保护，远比“尝鲜”重要。&lt;/p&gt;</description><pubDate>Sat, 02 May 2026 19:12:54 +0800</pubDate></item><item><title>macOS允许安装第三方软件全指南，轻松开启安全安装模式</title><link>https://www.llbk.cn/105.html</link><description>&lt;blockquote&gt;macOS安装第三方软件需开启安全安装模式，保障系统安全，用户可进入“系统设置&amp;gt;安全性与隐私”，在“通用”选项中勾选“允许从以下位置下载的应用：App Store和被认可的开发者”，默认仅允许安装App Store应用，若需安装未知来源软件，需先在“终端”中执行“sudo spctl --add /path/to/app”添加信任，或通过“系统偏好设置&amp;gt;安全性与隐私&amp;gt;仍要打开”确认，安装时务必验证开发者信息及软件来源，避免恶意软件，此过程简单易操作，既能满足第三方软件安装需求，又能确保系统安全稳定。&lt;/blockquote&gt;&lt;p&gt;在macOS使用中,许多用户会遇到“无法打开，因为开发者无法被验证”的提示——这是macOS的“Gatekeeper”安全机制在起作用，作为苹果系统内置的保护功能，Gatekeeper默认只允许安装来自App Store和“被认可的开发者”的应用，以防止恶意软件入侵，但有时我们需要安装官网下载的实用工具、开源软件等第三方应用，此时就需要手动调整安全设置，本文将详细介绍macOS允许安装第三方软件的方法，兼顾安全与便利。&lt;/p&gt;&lt;h2&gt;先了解：macOS的安全机制——Gatekeeper&lt;/h2&gt;&lt;p&gt;在操作前,简单认识一下“Gatekeeper”，它是macOS的核心安全组件，通过验证应用的“开发者身份”和“代码签名”来判断是否可信，默认情况下，系统仅允许两类应用安装：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;来自App Store的应用&lt;/strong&gt;：苹果已审核，安全性较高；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;来自“被认可的开发者”的应用&lt;/strong&gt;：开发者拥有苹果颁发的有效证书，如Adobe、Microsoft等知名厂商。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;若开发者未签名（如开源小工具），或签名证书无效，系统就会阻止运行，此时就需要我们手动“放行”。&lt;/p&gt;&lt;h2&gt;允许安装第三方软件的3种方法&lt;/h2&gt;&lt;h3&gt;方法1：通过“系统设置”调整基础信任范围（推荐首选）&lt;/h3&gt;&lt;p&gt;对于大多数官网下载的软件（如Telegram、Discord等），无需开启“任何来源”，只需在系统设置中调整信任级别即可。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;操作步骤&lt;/strong&gt;：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;打开&lt;strong&gt;系统设置&lt;/strong&gt;（或“系统偏好设置”），点击左侧菜单中的&lt;strong&gt;“隐私与安全性”&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;选择&lt;strong&gt;“安全性”&lt;/strong&gt;选项卡（在macOS Ventura及更高版本中，名为“安全性”）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;在“允许从以下位置下载的应用”区域，你会看到三个选项：&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;App Store&lt;/strong&gt;：仅限App Store应用（最严格）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;App Store和被认可的开发者&lt;/strong&gt;：默认选项，覆盖大部分正规软件；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;任何来源&lt;/strong&gt;：允许所有应用（需手动开启，见方法2）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;若软件来自可信官网（如Visual Studio Code官网），直接选择&lt;strong&gt;“App Store和被认可的开发者”&lt;/strong&gt;，然后双击安装的.dmg/.pkg文件，弹出提示时点击&lt;strong&gt;“仍要打开”&lt;/strong&gt;，即可正常安装。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;方法2：开启“任何来源”选项（谨慎使用）&lt;/h3&gt;&lt;p&gt;若你安装的软件属于“未被认可的开发者”（如开源项目、个人开发者工具），且确认来源安全，可临时开启“任何来源”选项。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：“任何来源”会降低安全防护，仅建议在安装可信软件时开启，安装后及时关闭。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;操作步骤&lt;/strong&gt;：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;打开&lt;strong&gt;“启动台”&lt;/strong&gt;，搜索并打开&lt;strong&gt;“终端”&lt;/strong&gt;（Terminal）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;输入以下命令,按回车车键： &amp;nbsp;&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;sudo&amp;nbsp;spctl&amp;nbsp;--master-disable&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;系统会提示输入管理员密码（输入时不会显示光标，输入后直接回车）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;回到&lt;strong&gt;“系统设置”&amp;gt;“隐私与安全性”&amp;gt;“安全性”&lt;/strong&gt;，任何来源”选项会显示，点击选中；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;安装完成后,建议及时关闭该选项：在终端输入 &amp;nbsp;&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;sudo&amp;nbsp;spctl&amp;nbsp;--master-enable&lt;/pre&gt;&lt;p&gt;恢复默认安全设置。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;方法3：为单个应用添加“信任例外”（临时放行）&lt;/h3&gt;&lt;p&gt;若只想为某一特定软件放行,不想全局开启“任何来源”，可通过“安全偏好设置”添加信任例外。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;操作步骤&lt;/strong&gt;：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;双击打开安装的软件,弹出提示“‘[软件名称]’来自身份不明的开发者，无法打开”；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击&lt;strong&gt;“取消”&lt;/strong&gt;，返回&lt;strong&gt;“系统设置”&amp;gt;“隐私与安全性”&amp;gt;“安全性”&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;在下方你会看到“最近被阻止打开的应用”列表，找到目标软件，点击&lt;strong&gt;“打开”&lt;/strong&gt;旁的&lt;strong&gt;“仍要打开”&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;系统会再次确认“你确定要打开此应用吗？”，点击&lt;strong&gt;“打开”&lt;/strong&gt;即可。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;之后再次打开该软件,将不再提示阻止（除非开发者身份失效）。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;注意事项：安全与便利的平衡&lt;/h2&gt;&lt;p&gt;允许安装第三方软件时,务必牢记“安全第一”，避免因操作不当导致系统风险：&lt;/p&gt;&lt;h3&gt;优先从官方/可信来源下载&lt;/h3&gt;&lt;p&gt;不要从非官网、不明论坛下载软件，即使是“破解版”“绿色版”，也可能捆绑恶意代码，建议选择：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;软件官网（如GitHub开源项目、开发者官网）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;知名软件分发平台（如MacUpdate、Setapp）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;安装前检查代码签名&lt;/h3&gt;&lt;p&gt;对于.dmg格式的软件，右键点击应用包，选择“显示简介”，查看“通用”区域是否有“来自身份不明的开发者”提示，若显示“已被Apple验证”，则安全；若显示“未验证”，需谨慎。&lt;/p&gt;&lt;h3&gt;谨慎授予“任何来源”权限&lt;/h3&gt;&lt;p&gt;“任何来源”会绕过Gatekeeper的验证机制，若不慎安装恶意软件，可能导致系统被入侵，安装完成后务必及时关闭（见方法2）。&lt;/p&gt;&lt;h3&gt;定期更新系统和软件&lt;/h3&gt;&lt;p&gt;macOS会通过“软件更新”推送安全补丁，第三方软件也可能更新修复漏洞，保持更新是防范风险的重要手段。&lt;/p&gt;&lt;p&gt;macOS的Gatekeeper机制本质是为了保护用户安全,通过简单的设置调整，我们既能安装所需的第三方软件，又能最大限度降低风险，日常使用中，优先选择“App Store和被认可的开发者”模式，对可信软件临时放行，避免长期开启“任何来源”，只要来源可靠、操作谨慎，即可在安全与便利间找到平衡，让macOS更好地服务于你的工作与生活。&lt;/p&gt;</description><pubDate>Sat, 02 May 2026 11:10:49 +0800</pubDate></item><item><title>如何在MacOS系统上合法获取JMP17免费许可证？实用指南</title><link>https://www.llbk.cn/104.html</link><description>&lt;blockquote&gt;在MacOS系统上合法获取JMP17免费许可证，可通过官方正规途径实现，JMP作为SAS推出的数据分析软件，提供免费试用版（通常为期14天），用户需访问JMP官网注册账号并下载macOS版本；教育机构用户可通过学校图书馆或IT部门申请教育版免费许可；部分开源项目或学术合作也可能提供合法免费使用权，需注意避免非授权渠道，确保符合软件许可协议，建议优先选择官方资源，保障使用安全与合法性。&lt;/blockquote&gt;&lt;p&gt;在数据分析和可视化领域,JMP凭借其强大的统计建模、交互式图表和用户友好的界面，成为科研人员、工程师和数据分析师的常用工具，对于MacOS用户而言，获取JMP17的免费许可证并非不可能，但需要通过合法途径才能避免版权风险并享受软件的完整功能，本文将详细介绍JMP17的背景、合法免费获取途径及相关注意事项，帮助你在MacOS系统上合规使用这款专业软件。&lt;/p&gt;&lt;h2&gt;认识JMP17：功能与适用场景&lt;/h2&gt;&lt;p&gt;JMP17是SAS公司推出的旗舰级数据分析软件,专为需要深度数据挖掘和可视化支持的用户设计，其核心功能包括：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;统计分析&lt;/strong&gt;：涵盖回归分析、方差分析、假设检验、生存分析等经典统计方法；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据可视化&lt;/strong&gt;：提供动态图表（如散点图矩阵、平行坐标图、热力图），支持交互式探索；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;实验设计（DOE）&lt;/strong&gt;：帮助优化实验流程，提升研发效率；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;机器学习&lt;/strong&gt;：集成决策树、神经网络、聚类等算法，适合预测建模。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;无论是科研论文写作、工业质量改进，还是商业数据洞察，JMP17都能为MacOS用户提供高效、直观的分析体验，但作为商业软件，其正版授权通常价格不菲，免费获取”需通过官方认可的合规途径实现。&lt;/p&gt;&lt;h2&gt;合法获取JMP17免费许可证的途径&lt;/h2&gt;&lt;h3&gt;官方免费试用版：短期体验完整功能&lt;/h3&gt;&lt;p&gt;JMP官方提供&lt;strong&gt;限时免费试用版&lt;/strong&gt;，允许用户在规定时间内（通常为30天）体验JMP17的全部功能，包括MacOS版本，这是最直接、最安全的“免费”方式，适合短期需求或初次尝试的用户。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;获取步骤&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;访问JMP中国官网（https://www.jmp.com/zh_cn/）或SAS官网；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击“免费试用”或“下载中心”，选择“JMP Pro 17”（若需高级功能）或“JMP 17”（标准版）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;填写姓名、邮箱、所属机构等信息（个人用户可直接填写个人信息）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;验证邮箱后,即可获得试用许可证密钥，下载适用于MacOS的安装包（支持macOS 10.15及以上版本）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：试用版到期后，若需继续使用，需购买正式授权或通过其他合规途径申请。&lt;/p&gt;&lt;h3&gt;教育机构授权：学生与教师的专属福利&lt;/h3&gt;&lt;p&gt;对于在校学生、教师及研究人员，JMP官方提供&lt;strong&gt;教育版免费许可证&lt;/strong&gt;，允许其在学术用途下免费使用JMP17，这是长期免费使用的主要途径，尤其适合高校师生和科研团队。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;申请条件&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;需提供有效的教育机构证明,如学生证、教师证、校园邮箱（.edu后缀）或学校开具的在读/在职证明；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;申请用途需为教学、学习或科研，禁止用于商业活动。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;申请步骤&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;访问JMP教育版官网（https://www.jmp.com/zh_cn/academic/）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;选择“学生与教师”或“学术研究”，填写申请表并上传证明材料；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;审核通过后,将获得免费的教育版许可证，支持MacOS系统，且授权期限通常与学籍/教职绑定（部分学校提供长期续期）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;优势&lt;/strong&gt;：教育版功能与商业版基本一致，且可免费更新至同版本最新补丁，适合长期学术需求。&lt;/p&gt;&lt;h3&gt;开源替代方案：低成本实现类似功能&lt;/h3&gt;&lt;p&gt;若无法通过上述途径获取JMP17免费许可证,或仅需基础分析功能，可考虑&lt;strong&gt;开源数据分析工具&lt;/strong&gt;作为替代，这些工具免费且跨平台支持MacOS，部分功能与JMP重叠，适合预算有限或轻量化需求用户。&lt;/p&gt;&lt;h4&gt;推荐工具：&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;JASP&lt;/strong&gt;：开源界面工具，支持描述性统计、T检验、方差分析、回归分析等，提供直观的图表和实时结果更新，界面风格类似JMP，适合初学者；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Jamovi&lt;/strong&gt;：基于R语言开发，集成图形化界面和模块化分析功能，兼容SPSS语法，支持MacOS、Windows和Linux；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;R + RStudio&lt;/strong&gt;：开源统计编程语言，配合RStudio IDE，可实现复杂的数据分析和可视化（通过ggplot2、shiny等包），需一定编程基础，但灵活性极高；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Python + 数据科学库&lt;/strong&gt;：如pandas（数据处理）、numpy（数值计算）、matplotlib/seaborn（可视化）、scikit-learn（机器学习），适合开发者或需要自定义分析流程的用户。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;优势&lt;/strong&gt;：完全免费，社区活跃，插件丰富；&lt;strong&gt;局限&lt;/strong&gt;：部分高级功能（如专业实验设计模块）需依赖编程实现，不如JMP“开箱即用”。&lt;/p&gt;&lt;h2&gt;注意事项：避免风险，合规使用&lt;/h2&gt;&lt;h3&gt;警惕非官方“免费许可证”陷阱&lt;/h3&gt;&lt;p&gt;网络上可能存在声称提供“JMP17永久免费许可证”的第三方网站或破解工具，但这些途径往往存在以下风险：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;法律风险&lt;/strong&gt;：破解软件侵犯版权，可能导致法律纠纷；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;安全隐患&lt;/strong&gt;：破解版可能捆绑恶意软件、病毒，威胁MacOS系统安全；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;功能缺失&lt;/strong&gt;：破解版可能无法更新、无法使用在线功能（如数据共享、云端协作），且稳定性差。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;建议始终通过JMP官方或授权渠道获取许可证,确保软件安全与合法使用。&lt;/p&gt;&lt;h3&gt;明确使用范围与授权期限&lt;/h3&gt;&lt;p&gt;无论是试用版还是教育版,需仔细阅读授权协议：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;试用版&lt;/strong&gt;：仅限个人短期体验，禁止用于商业项目或学术成果发表；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;教育版&lt;/strong&gt;：仅限学术用途，若毕业后或离职后需继续使用，需转为商业版或申请个人授权。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;避免因超范围使用导致授权失效或法律问题。&lt;/p&gt;&lt;h3&gt;关注官方更新与优惠&lt;/h3&gt;&lt;p&gt;JMP会定期发布版本更新（如JMP17.1、JMP17.2），修复漏洞并优化功能，教育版用户可免费获取更新，试用版用户需注意到期时间，避免中断使用，官方偶尔针对学生、教育机构推出限时免费活动，可关注官网“新闻”或“学术动态”栏目。&lt;/p&gt;&lt;h2&gt;合规获取，安心使用&lt;/h2&gt;&lt;p&gt;对于MacOS用户,JMP17的“免费”并非“无门槛”，但通过官方试用版、教育机构授权或开源替代工具，完全可以在合法范围内满足数据分析需求，如果你是学生或教师，教育版是最优选择；若仅需短期体验，试用版即可快速上手；若追求灵活性和低成本，开源工具也能提供强大支持。&lt;/p&gt;&lt;p&gt;无论选择哪种途径,都请牢记：尊重版权、规避风险，才能让数据分析之路走得更稳、更远，希望本文能帮助你顺利在MacOS系统上开启JMP17的数据探索之旅！&lt;/p&gt;</description><pubDate>Sat, 02 May 2026 03:10:02 +0800</pubDate></item><item><title>服务器macOS系统一键安装软件，高效部署与自动化管理指南</title><link>https://www.llbk.cn/103.html</link><description>&lt;blockquote&gt;本指南聚焦服务器macOS系统软件的一键安装与自动化管理，通过简化部署流程、引入自动化工具，实现软件的高效配置与运维，涵盖脚本编写、批量安装、远程管理及更新维护等关键环节，显著降低人工操作成本，提升部署效率与系统稳定性，助力企业快速搭建标准化服务器环境，保障业务连续性，为macOS服务器运维提供实用解决方案。&lt;/blockquote&gt;&lt;p&gt;在现代化IT基础设施中,macOS系统凭借其稳定性、安全性与生态兼容性，逐渐成为部分企业（如创意设计、macOS应用开发、媒体处理等场景）服务器的选择，传统手动安装macOS系统及配套软件流程繁琐、耗时较长，且易因操作差异导致环境不一致，近年来，“服务器macOS系统一键安装软件”技术应运而生，通过自动化脚本与工具集成，实现了从系统部署到软件安装的全流程简化，大幅提升了服务器部署效率，本文将详细解析其技术原理、操作步骤及实际应用价值。&lt;/p&gt;&lt;h2&gt;为什么需要服务器macOS系统一键安装？&lt;/h2&gt;&lt;p&gt;在传统服务器部署模式下,macOS系统的安装通常需要经历多个手动步骤：下载macOS安装镜像、创建启动U盘、分区格式化、系统安装、驱动配置、软件逐个下载安装、环境变量设置……整个过程可能耗时数小时，且对操作者的macOS系统知识要求较高，对于需要批量部署多台macOS服务器的场景（如企业开发集群、云服务提供商），手动方式的效率瓶颈尤为突出。&lt;/p&gt;&lt;p&gt;“一键安装”技术的核心目标是通过&lt;strong&gt;自动化脚本+预配置软件包&lt;/strong&gt;，将上述流程压缩至单次操作执行，用户只需通过简单的命令或图形界面触发，即可完成系统安装、基础软件配置（如Apache、Nginx、数据库、开发工具等）及自定义服务的部署，极大降低了操作复杂度，同时确保多台服务器的环境一致性，减少因人为操作导致的配置错误。&lt;/p&gt;&lt;h2&gt;服务器macOS系统一键安装的技术实现&lt;/h2&gt;&lt;h3&gt;硬件与系统基础要求&lt;/h3&gt;&lt;p&gt;首先需明确：macOS系统对硬件有严格限制，官方仅支持苹果Mac系列设备（如Mac mini、Mac Pro、Mac Studio），若使用非苹果硬件（“黑苹果”），需确保硬件组件（CPU、主板、网卡、显卡等）与macOS的兼容性，否则可能导致系统无法安装或运行不稳定，对于服务器场景，推荐使用苹果官方认证的服务器硬件（如Mac Studio作为小型服务器），或通过虚拟化平台（如VMware ESXi、Parallels Server）部署macOS虚拟机（需注意虚拟化平台的macOS授权政策）。&lt;/p&gt;&lt;h3&gt;一键安装的核心工具与流程&lt;/h3&gt;&lt;p&gt;macOS系统的一键安装主要依赖以下技术组合：&lt;/p&gt;&lt;h4&gt;（1）macOS安装镜像准备&lt;/h4&gt;&lt;p&gt;通过macOS的“创建安装介质”功能（使用“终端”命令&lt;code&gt;createinstallmedia&lt;/code&gt;）或第三方工具（如TransMac）将macOS安装镜像写入U盘，制作可启动的安装盘，这是后续自动化安装的基础介质。&lt;/p&gt;&lt;h4&gt;（2）自动化脚本框架&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;PXE网络安装&lt;/strong&gt;：通过搭建PXE（Preboot Execution Environment）服务器，结合macOS的NetInstall功能，实现网络化批量安装，用户只需将服务器设置为网络启动，即可从PXE服务器加载预配置的安装镜像和脚本，自动完成系统部署。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ansible/SaltStack等配置管理工具&lt;/strong&gt;：通过编写Playbook或状态文件，定义系统安装、软件配置、服务启动等步骤的自动化流程，使用Ansible的&lt;code&gt;macos&lt;/code&gt;模块，可远程触发macOS安装，并批量安装Xcode、Homebrew、Docker等工具。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;自定义安装脚本&lt;/strong&gt;：结合Shell脚本或Python脚本，调用macOS安装命令（如&lt;code&gt;installer&lt;/code&gt;命令）与软件包管理工具（如Homebrew、Mas），实现“系统安装+软件配置”的一体化，脚本可先执行系统安装，再通过Homebrew批量安装&lt;code&gt;nginx&lt;/code&gt;、&lt;code&gt;mysql&lt;/code&gt;、&lt;code&gt;git&lt;/code&gt;等常用软件，并配置开机自启。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;（3）软件包预配置&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Homebrew Bundle&lt;/strong&gt;：通过&lt;code&gt;Brewfile&lt;/code&gt;文件定义需要安装的软件包（如&lt;code&gt;brew install nginx mysql&lt;/code&gt;），配合Homebrew的&lt;code&gt;brew bundle&lt;/code&gt;命令，一键安装所有依赖软件。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Plist配置文件&lt;/strong&gt;：通过macOS的属性列表（Plist）文件，预配置系统服务（如Apache的&lt;code&gt;httpd.conf&lt;/code&gt;）、环境变量（如&lt;code&gt;~/.bash_profile&lt;/code&gt;）或用户权限，确保安装后系统可直接投入使用。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;典型一键安装步骤示例（以Homebrew+Shell脚本为例）&lt;/h3&gt;&lt;p&gt;以下是一个简化版的一键安装脚本流程,适用于单台macOS服务器的自动化部署：&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#!/bin/bash
#&amp;nbsp;1.&amp;nbsp;检查是否为macOS系统
if&amp;nbsp;[[&amp;nbsp;&amp;quot;$(uname)&amp;quot;&amp;nbsp;!=&amp;nbsp;&amp;quot;Darwin&amp;quot;&amp;nbsp;]];&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;Error:&amp;nbsp;This&amp;nbsp;script&amp;nbsp;only&amp;nbsp;runs&amp;nbsp;on&amp;nbsp;macOS.&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;1
fi
#&amp;nbsp;2.&amp;nbsp;安装Xcode&amp;nbsp;Command&amp;nbsp;Line&amp;nbsp;Tools
echo&amp;nbsp;&amp;quot;Installing&amp;nbsp;Xcode&amp;nbsp;Command&amp;nbsp;Line&amp;nbsp;Tools...&amp;quot;
xcode-select&amp;nbsp;--install
#&amp;nbsp;3.&amp;nbsp;安装Homebrew
if&amp;nbsp;!&amp;nbsp;command&amp;nbsp;-v&amp;nbsp;brew&amp;nbsp;&amp;amp;&amp;gt;&amp;nbsp;/dev/null;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;Installing&amp;nbsp;Homebrew...&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/bin/bash&amp;nbsp;-c&amp;nbsp;&amp;quot;$(curl&amp;nbsp;-fsSL&amp;nbsp;https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&amp;quot;
fi
#&amp;nbsp;4.&amp;nbsp;通过Brewfile安装软件
echo&amp;nbsp;&amp;quot;Installing&amp;nbsp;software&amp;nbsp;packages&amp;nbsp;via&amp;nbsp;Homebrew...&amp;quot;
brew&amp;nbsp;bundle&amp;nbsp;--file&amp;nbsp;/path/to/Brewfile&amp;nbsp;&amp;nbsp;#&amp;nbsp;Brewfile内容包含nginx,&amp;nbsp;mysql,&amp;nbsp;docker等
#&amp;nbsp;5.&amp;nbsp;配置服务（示例：启动Nginx）
echo&amp;nbsp;&amp;quot;Configuring&amp;nbsp;Nginx...&amp;quot;
brew&amp;nbsp;services&amp;nbsp;start&amp;nbsp;nginx
#&amp;nbsp;6.&amp;nbsp;安装自定义软件（如企业内部工具）
echo&amp;nbsp;&amp;quot;Installing&amp;nbsp;custom&amp;nbsp;software...&amp;quot;
curl&amp;nbsp;-L&amp;nbsp;-o&amp;nbsp;/tmp/custom_tool.pkg&amp;nbsp;https://internal.example.com/custom_tool.pkg
installer&amp;nbsp;-pkg&amp;nbsp;/tmp/custom_tool.pkg&amp;nbsp;-target&amp;nbsp;/
echo&amp;nbsp;&amp;quot;Installation&amp;nbsp;completed&amp;nbsp;successfully!&amp;quot;&lt;/pre&gt;&lt;p&gt;用户只需将此脚本保存为&lt;code&gt;install.sh&lt;/code&gt;，赋予执行权限（&lt;code&gt;chmod +x install.sh&lt;/code&gt;），然后运行&lt;code&gt;./install.sh&lt;/code&gt;，即可自动完成系统工具、基础软件及自定义工具的安装。&lt;/p&gt;&lt;h2&gt;注意事项与最佳实践&lt;/h2&gt;&lt;h3&gt;硬件兼容性与授权问题&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;官方硬件优先&lt;/strong&gt;：企业级服务器部署建议使用苹果官方硬件（如Mac Studio），避免“黑苹果”的稳定性风险。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;授权合规&lt;/strong&gt;：macOS Server需通过苹果官方购买授权，虚拟化部署需遵守VMware/Parallels的macOS使用条款，避免法律风险。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;脚本安全性与可维护性&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;脚本验证&lt;/strong&gt;：执行一键安装脚本前，需检查脚本来源的可靠性，避免恶意代码。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;模块化设计&lt;/strong&gt;：将脚本拆分为“系统安装”“软件配置”“服务部署”等模块，便于后续维护与升级。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;备份与回滚机制&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;安装前备份&lt;/strong&gt;：确保服务器数据已备份，避免安装过程中数据丢失。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;快照/镜像备份&lt;/strong&gt;：安装完成后，可创建系统快照（如Time Machine）或镜像文件，便于快速恢复环境。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;批量部署优化&lt;/h3&gt;&lt;p&gt;对于多台服务器,建议结合PXE网络安装+配置管理工具（如Ansible Tower），实现“一次配置，批量部署”，进一步提升效率。&lt;/p&gt;&lt;h2&gt;应用场景与价值&lt;/h2&gt;&lt;p&gt;“服务器macOS系统一键安装软件”技术适用于以下场景：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;macOS应用开发服务器&lt;/strong&gt;：快速部署Xcode、Swift工具链、测试框架，提升开发效率。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;媒体处理服务器&lt;/strong&gt;：自动化安装Final Cut Pro Server、Logic Pro相关组件，支持视频/音频处理任务。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;创意设计团队协作&lt;/strong&gt;：部署共享存储、设计工具（如Adobe Creative Cloud），确保团队环境一致。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;教育与科研&lt;/strong&gt;：快速搭建macOS实验环境，供学生或研究人员学习macOS系统开发。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;其核心价值在于&lt;strong&gt;降本增效&lt;/strong&gt;：减少人工操作时间（从数小时缩短至数十分钟）、降低技术门槛（无需专业macOS运维人员）、确保环境标准化（避免“配置漂移”问题），尤其适合需要快速迭代、批量部署的企业场景。&lt;/p&gt;&lt;p&gt;随着macOS在服务器场景的逐步普及,一键安装技术将成为macOS服务器管理的核心能力之一，通过结合自动化脚本、配置管理工具与预配置软件包，企业可以大幅简化macOS服务器的部署流程，聚焦于业务逻辑而非环境配置，随着macOS Server功能的不断增强（如更完善的虚拟化支持、容器化工具），一键安装技术将进一步集成云原生、DevOps等理念，为macOS服务器的高效运维提供更强大的支撑，对于计划部署macOS服务器的企业而言，掌握并应用一键安装技术，将是提升IT基础设施敏捷性的关键一步。&lt;/p&gt;</description><pubDate>Fri, 01 May 2026 19:05:47 +0800</pubDate></item><item><title>macOS更新系统软件用不了了？别慌！这些方法帮你轻松解决</title><link>https://www.llbk.cn/102.html</link><description>&lt;blockquote&gt;macOS更新失败不用慌！先检查网络是否稳定，确保设备存储空间充足（至少10GB），若更新服务器异常，可切换地区或稍后重试，尝试重启Mac，或通过终端输入“sudo softwareupdate --reset-alias”重置更新缓存，若仍无效，卸载旧更新文件（在“应用程序/实用工具”中）或联系Apple支持，这些方法轻松搞定，让你的系统及时升级。&lt;/blockquote&gt;&lt;p&gt;相信不少Mac用户都遇到过这样的尴尬：点击“系统设置”里的“软件更新”，要么没反应，要么一直转圈圈，要么弹出“更新失败”的提示，眼瞅着新功能用不上、安全补丁打不了，急得直跺脚，别担心，macOS更新系统软件用不了通常是可逆的故障，今天我们就来聊聊常见原因和对应的解决方法，帮你让更新功能“满血复活”。&lt;/p&gt;&lt;h2&gt;先别急着“硬扛”！先排除这些“小意外”&lt;/h2&gt;&lt;p&gt;遇到更新问题,别立刻就重装系统，先从最简单的“外部因素”排查起，往往能快速解决。&lt;/p&gt;&lt;h3&gt;网络不给力？先让“路”畅通起来&lt;/h3&gt;&lt;p&gt;macOS更新需要从Apple服务器下载安装包,如果网络不稳定、连接不上Apple ID，或者代理/VPN设置异常，更新自然会卡住。&lt;br/&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;切换网络：如果是Wi-Fi连接，试试切换手机热点；如果是热点，换个Wi-Fi试试。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;检查网络设置：打开“系统设置”&amp;gt;“网络”，确保Wi-Fi或以太网已连接，点击“协助 me”诊断网络问题。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;关闭代理/VPN：如果开了代理或VPN，暂时关闭它们（在“网络”&amp;gt;“代理”或“网络”&amp;gt;“VPN”中操作），再尝试更新。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;存储空间“告急”？macOS更新也需要“喘口气”&lt;/h3&gt;&lt;p&gt;macOS更新包动辄几个GB,如果Mac的存储空间不足（建议至少保留10-15%的可用空间），系统会自动中断更新，甚至直接提示“无法安装”。&lt;br/&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;查看存储空间：打开“关于本机”&amp;gt;“存储空间”，看看“可用”栏有多少GB，如果低于5GB，赶紧清理一下。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;清理大文件：用“访达”打开“Macintosh HD”，找到“下载”“文稿”等文件夹，删除不需要的大文件（如旧视频、未安装的dmg包）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;开启“优化存储空间”：在“系统设置”&amp;gt;“通用”&amp;gt;“存储空间”中，勾选“自动清理废纸篓”“减少杂乱”（删除不常用的文件和邮件附件），系统会自动释放空间。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;临时“小情绪”？重启设备“重启”试试&lt;/h3&gt;&lt;p&gt;这是最简单也最常用的“万能解法”——很多临时性软件卡顿、缓存冲突，重启后就能自动修复。&lt;br/&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;彻底关机：不是“重启”，而是点击屏幕左上角的苹果图标，选“关机”，等屏幕完全黑屏后，等待10秒再开机。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;强制重启（如果卡死）：按住电源键10秒，直到屏幕黑屏，再松开开机。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;小意外”排除了，试试这些“进阶操作”&lt;/h2&gt;&lt;p&gt;重启和网络、空间都没问题？那可能是系统缓存、更新组件或权限设置出了“内鬼”，下面这些方法帮你层层排查。&lt;/p&gt;&lt;h3&gt;清理软件更新缓存：让“旧数据”不干扰“新更新”&lt;/h3&gt;&lt;p&gt;macOS的软件更新缓存文件如果损坏,会导致系统无法识别新更新或下载失败，这些缓存藏在用户文件夹里，手动清理即可。&lt;br/&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;关闭“软件更新”窗口（如果开着）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;打开“访达”，按住&lt;code&gt;Command+Shift+G&lt;/code&gt;，输入&lt;code&gt;~/Library/Caches/com.apple.SoftwareUpdate&lt;/code&gt;，点击“前往”。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把这个文件夹里的所有文件（如&lt;code&gt;downloadedManifest.plist&lt;/code&gt;、&lt;code&gt;index.plist&lt;/code&gt;等）拖到废纸篓，然后清空废纸篓。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;同理,再清理&lt;code&gt;/Library/Caches/com.apple.SoftwareUpdate&lt;/code&gt;（这个是系统级缓存，需要输入管理员密码），操作同上。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;清理后重启Mac,再打开“系统设置”&amp;gt;“软件更新”，检查是否能正常更新。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;重置NVRAM/PRAM：修复“硬件设置”的小故障&lt;/h3&gt;&lt;p&gt;NVRAM（非易失性随机存取存储器）存储了Mac的一些硬件设置，如时间、显示分辨率、启动磁盘选择等，如果这些设置异常，可能会影响系统更新。&lt;br/&gt;&lt;strong&gt;解决方法&lt;/strong&gt;（适用于Intel芯片和Apple芯片Mac）：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;彻底关机。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;开机后,立即按住&lt;code&gt;Command+Option+P+R&lt;/code&gt;四个键（Apple芯片Mac）或&lt;code&gt;Command+Option+P+R&lt;/code&gt;不放（Intel芯片Mac，直到听到第二次启动声）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;按住约20秒后松开,Mac会自动重启。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;重启后,再次尝试更新。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;使用终端命令“强制刷新”更新列表&lt;/h3&gt;&lt;p&gt;有时候系统更新列表没有及时同步,手动用终端命令刷新一下，就能让新更新“浮出水面”。&lt;br/&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;打开“终端”（在“应用程序”&amp;gt;“实用工具”里，或 Spotlight 搜索“终端”）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;输入命令：&lt;code&gt;softwareupdate --list&lt;/code&gt;，按回车。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;等待命令执行完毕,会列出所有可用的更新，如果看到“no new available software”但实际有新版本，再输入&lt;code&gt;sudo softwareupdate --fetch-full-installer&lt;/code&gt;（会下载完整安装包，可能需要一些时间），下载完成后双击安装包手动安装。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;检查第三方软件冲突：某些“助手”会“拦路”更新&lt;/h3&gt;&lt;p&gt;一些第三方清理工具、系统优化工具（如CleanMyMac、某管家类软件）可能会修改系统权限或删除系统文件，导致更新功能异常。&lt;br/&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;暂时卸载或禁用第三方工具：打开“应用程序”文件夹，把可能冲突的软件拖到废纸篓（或在其设置里退出/禁用）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;重启Mac后,再尝试更新，如果更新正常，说明就是第三方软件的问题，可以换一款更安全的工具（如原生的“存储空间管理”）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;使用macOS恢复模式“修复”系统文件（谨慎操作）&lt;/h3&gt;&lt;p&gt;如果以上方法都无效,可能是系统文件损坏，这时可以用macOS恢复模式里的“重新安装macOS”功能，它会保留你的数据，只修复系统文件。&lt;br/&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;备份数据！重要的事情说三遍：备份！备份！备份！（用Time Machine备份到移动硬盘，或用iCloud同步）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;关机,然后开机，立即按住&lt;code&gt;Command+R&lt;/code&gt;（Apple芯片Mac）或&lt;code&gt;Option+Command+R&lt;/code&gt;/&lt;code&gt;Shift+Option+Command+R&lt;/code&gt;（Intel芯片Mac，根据需求选择），直到看到Apple标志或旋转地球。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;进入恢复模式后,打开“实用工具”&amp;gt;“重新安装macOS”，按照提示操作（需要网络连接）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;重新安装后,系统会自动重启，再尝试更新。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;最后一步：如果还是不行？找“官方外援”&lt;/h2&gt;&lt;p&gt;如果所有方法都试过了,更新功能还是用不了，可能是硬件故障（如硬盘问题）或系统严重损坏，这时别自己折腾了，直接联系Apple支持：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;通过“Apple支持”官网或“Apple支持”App预约电话咨询或前往Apple Store天才吧。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;告诉客服你遇到的问题（软件更新页面无反应”“更新失败代码XXXX”），他们会提供更专业的解决方案。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;写在最后：日常维护，让更新“不添堵”&lt;/h2&gt;&lt;p&gt;其实macOS更新问题,很多都和日常使用习惯有关，建议你：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;定期清理存储空间,别让Mac“满负荷运行”；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;谨慎安装第三方优化工具,系统自带的功能已经够用；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;及时备份重要数据,避免意外发生时“数据丢失”。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;遇到更新问题别慌,按照这些方法一步步排查，大部分都能轻松解决，希望你的Mac早日更新成功，用上最新的功能和安全补丁！&lt;/p&gt;</description><pubDate>Fri, 01 May 2026 11:05:20 +0800</pubDate></item><item><title>macOS 能将软件安装到外置硬盘吗？方法、限制与注意事项全解析</title><link>https://www.llbk.cn/101.html</link><description>&lt;blockquote&gt;macOS可将部分软件安装至外置硬盘，但需满足特定条件，方法上，App Store应用可通过“显示简介”更改安装路径；第三方应用需手动操作，如修改包内容或借助第三方工具（如“Link Shell Extension”），限制包括：系统应用（如Finder、系统更新）无法安装到外置盘；外置盘需格式化为APFS或HFS+，且需连接稳定；部分软件更新可能自动回迁至内置盘，注意事项：确保外置硬盘无权限问题，避免因磁盘故障导致软件损坏；安装前确认软件兼容性，部分应用可能依赖系统特定路径，合理规划可节省内置空间，但需权衡稳定性与便利性。&lt;/blockquote&gt;&lt;p&gt;在日常使用中,Mac 用户常会遇到主硬盘空间不足的问题，尤其是当安装了大量大型软件（如 Adobe 系列、Final Cut Pro、游戏等）后，128GB 或 256GB 的固态硬盘很容易捉襟见肘，一个自然的想法是：能否将软件安装到外置硬盘上，既节省主空间，又能灵活携带软件在不同设备间使用？本文将详细解答“macOS 能否将软件安装到外置硬盘”，并介绍具体操作方法、潜在限制及注意事项。&lt;/p&gt;&lt;h2&gt;核心答案：能，但有条件&lt;/h2&gt;&lt;p&gt;macOS 系统本身&lt;strong&gt;允许将软件安装到外置硬盘&lt;/strong&gt;，但并非所有软件都能完美支持，且不同版本的 macOS（尤其是 Catalina 及之后的新版本）存在一定限制。&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;旧版本 macOS（Mojave 及之前）&lt;/strong&gt;：相对灵活，可直接拖拽安装，但可能存在兼容性问题；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;新版本 macOS（Catalina 10.15 及之后）&lt;/strong&gt;：由于系统权限机制升级，直接拖拽可能无法运行，需通过特定方法操作，且部分软件仍会强制安装到主硬盘。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;macOS 的“应用程序”目录：默认安装位置&lt;/h2&gt;&lt;p&gt;要理解为何外置硬盘安装软件存在限制,首先需明确 macOS 的软件安装逻辑，macOS 默认将所有软件安装到&lt;strong&gt;主硬盘的“应用程序”（Applications）目录&lt;/strong&gt;，这是系统为了保证软件的稳定运行——许多软件依赖 macOS 的系统库、框架（如 Foundation、AppKit）或动态链接库，这些文件默认存储在主硬盘的 &lt;code&gt;/System/Library&lt;/code&gt; 或 &lt;code&gt;/Library&lt;/code&gt; 目录下，如果软件安装在外置硬盘，系统可能因无法正确调用这些依赖文件而报错或崩溃。&lt;/p&gt;&lt;h2&gt;不同 macOS 版本的安装方法&lt;/h2&gt;&lt;h3&gt;旧版本 macOS（Mojave 10.14 及之前）：直接拖拽即可&lt;/h3&gt;&lt;p&gt;在 macOS Mojave 及更早版本中，安装软件后通常会在“访达”中生成一个 &lt;code&gt;.app&lt;/code&gt; 应用程序包，用户可以直接将这个 &lt;code&gt;.app&lt;/code&gt; 文件&lt;strong&gt;拖拽到外置硬盘的“应用程序”目录&lt;/strong&gt;（若外置硬盘没有“应用程序”目录，可手动创建），之后双击外置硬盘中的软件即可运行。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;优点&lt;/strong&gt;：操作简单，无需额外命令；&lt;br/&gt;&lt;strong&gt;缺点&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;部分软件（尤其是需要系统级权限的，如杀毒软件、系统工具）会拒绝安装到非主硬盘；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;外置硬盘若被拔出,软件将无法启动，且系统可能误报“应用已损坏”。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;新版本 macOS（Catalina 10.15 及之后）：需绕过权限限制&lt;/h3&gt;&lt;p&gt;从 macOS Catalina 开始，苹果引入了“系统完整性保护”（SIP）和更严格的“应用程序隔离”机制，默认禁止将软件安装到非主硬盘的“应用程序”目录，此时直接拖拽会提示“无法安装到此位置”。&lt;/p&gt;&lt;h4&gt;使用“终端”命令强制安装（适用于部分软件）&lt;/h4&gt;&lt;p&gt;部分软件允许通过修改安装路径实现,以安装名为 &lt;code&gt;MyApp.app&lt;/code&gt; 的软件为例，操作步骤如下：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;将软件安装包下载到外置硬盘（或先安装到主硬盘，再复制到外置硬盘）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;打开“终端”（可在“应用程序”&amp;gt;“实用工具”中找到）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;输入以下命令（将 &lt;code&gt;/Volumes/外置硬盘名称&lt;/code&gt; 替换为你的外置硬盘实际路径，可通过“访达”查看外置硬盘的“显示选项”中的“宗卷名称”）： &amp;nbsp;&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;sudo&amp;nbsp;xattr&amp;nbsp;-rd&amp;nbsp;com.apple.quarantine&amp;nbsp;/Volumes/外置硬盘名称/MyApp.app&lt;/pre&gt;&lt;p&gt;该命令用于解除系统对软件的“隔离”（Quarantine），避免因安全策略阻止运行；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;双击外置硬盘中的 &lt;code&gt;MyApp.app&lt;/code&gt; 尝试启动，若报错“无法验证开发者”，可在“系统设置”&amp;gt;“隐私与安全性”中点击“仍要打开”。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：此方法仅对部分软件有效，若软件依赖主硬盘的系统库，仍可能无法运行。&lt;/p&gt;&lt;h4&gt;使用“应用程序”文件夹的“别名” workaround&lt;/h4&gt;&lt;p&gt;对于无法直接安装到外置硬盘的软件,可采用“别名”方案：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;将软件正常安装到主硬盘的“应用程序”目录；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;右键点击主硬盘中的软件,选择“制作别名”；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;将生成的“别名”文件拖拽到外置硬盘；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;使用时,双击外置硬盘中的“别名”，系统会自动跳转到主硬盘的原始软件位置运行。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;优点&lt;/strong&gt;：兼容性较好，几乎所有软件都支持；&lt;br/&gt;&lt;strong&gt;缺点&lt;/strong&gt;：并未真正节省主硬盘空间，原始软件仍占用主硬盘空间。&lt;/p&gt;&lt;h2&gt;安装到外置硬盘的优缺点&lt;/h2&gt;&lt;h3&gt;优点&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;节省主硬盘空间&lt;/strong&gt;：尤其适合大型软件（如设计类、视频剪辑类），避免主硬盘爆满；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;便携性&lt;/strong&gt;：外置硬盘可随身携带，在不同 Mac 上使用同一软件（需 macOS 版本兼容）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;灵活管理&lt;/strong&gt;：可按需分类软件，例如将“工作软件”放在一个外置硬盘，“娱乐软件”放在另一个。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;缺点&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;性能问题&lt;/strong&gt;：外置硬盘（尤其是 USB 2.0/3.0 接口的机械硬盘）的读写速度远低于主硬盘的 SSD，可能导致软件启动慢、运行卡顿；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;依赖与兼容性风险&lt;/strong&gt;：部分软件依赖主硬盘的系统组件，外置硬盘安装后可能报错（如提示“缺少动态库”）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;安全风险&lt;/strong&gt;：外置硬盘若被随意拔插，可能导致软件文件损坏；若外置硬盘丢失，软件和关联数据也可能面临泄露风险；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;系统更新干扰&lt;/strong&gt;：macOS 系统更新后，可能需要重新安装或修复外置硬盘中的软件，否则可能无法运行。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;注意事项：这些情况需避免&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;外置硬盘格式要求&lt;/strong&gt;：外置硬盘需格式化为 &lt;strong&gt;APFS&lt;/strong&gt;（macOS 10.13 及之后推荐）或 &lt;strong&gt;HFS+&lt;/strong&gt;（兼容旧版本），ExFAT 格式不支持 macOS 的权限管理，无法安装软件；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;权限管理&lt;/strong&gt;：确保外置硬盘的“权限”设置允许当前用户读写（右键点击外置硬盘 &amp;gt; “显示简介” &amp;gt; “共享与权限”）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;软件许可协议&lt;/strong&gt;：部分软件的许可协议限制软件只能在“主设备”上安装，安装到外置硬盘可能违反协议；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;系统库依赖&lt;/strong&gt;：安装前可通过软件官网或社区确认是否支持“非默认安装路径”，避免折腾。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;替代方案：如果外置硬盘安装不理想&lt;/h2&gt;&lt;p&gt;若尝试后仍无法稳定使用外置硬盘安装软件,可考虑以下替代方案：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;清理主硬盘&lt;/strong&gt;：使用“访达”的“存储管理”工具（“苹果菜单”&amp;gt;“关于本机”&amp;gt;“存储空间”&amp;gt;“管理”）清理缓存、无用文件，或卸载不常用软件；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用 iCloud 云盘&lt;/strong&gt;：部分支持“iCloud 同步”的软件（如 Apple 自家应用、部分第三方工具）可将安装文件同步到 iCloud，但仍需下载到本地运行；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;虚拟机/容器&lt;/strong&gt;：对于开发类软件，可通过 Parallels Desktop 等虚拟机工具将软件安装在虚拟机中，虚拟机文件可存放在外置硬盘（需较强性能）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;macOS 理论上支持将软件安装到外置硬盘，但实际效果取决于软件兼容性、macOS 版本及外置硬盘性能，对于新版本 macOS，直接安装可能存在权限限制，需通过命令或别名方案绕过；对于旧版本，虽可直接拖拽，但需注意依赖和稳定性问题。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;建议&lt;/strong&gt;：优先将常用、依赖系统库的软件安装到主硬盘，将大型、非核心或临时使用的软件（如游戏、测试版工具）尝试安装到外置硬盘，务必定期备份外置硬盘数据，避免因硬件故障导致软件丢失。&lt;/p&gt;&lt;p&gt;如果你对操作有疑问,可在评论区留言，或根据软件具体型号查阅官方文档，确保安装过程顺利！&lt;/p&gt;</description><pubDate>Fri, 01 May 2026 03:02:26 +0800</pubDate></item><item><title>macOS菜单栏的隐形助手，第三方软件如何优化你的工作流</title><link>https://www.llbk.cn/100.html</link><description>&lt;blockquote&gt;macOS菜单栏作为系统交互的核心枢纽，其常驻性与易触达性为第三方软件提供了“隐形助手”的绝佳舞台，这类工具通过整合剪贴板管理（如PastePal）、系统监控（如iStat Menus）、日程提醒（如Itsycal）等功能，将高频操作浓缩于菜单栏一角，减少应用切换成本，支持自定义快捷指令与个性化布局，让用户可根据工作流灵活配置，如一键切换网络状态、快速清理缓存等，这种轻量化、场景化的优化，不仅释放了桌面空间，更显著提升了操作效率，使菜单栏成为高效工作的“神经中枢”。&lt;/blockquote&gt;&lt;p&gt;macOS的菜单栏,是屏幕顶部那一道横贯的“信息枢纽”——它像一位沉默的管家，实时显示系统时间、电量、网络状态，也像一扇扇快捷窗口，让你无需打开应用就能完成常用操作，但系统自带的菜单栏功能终究有限，当工作需求变得复杂——比如需要快速切换任务、监控资源占用、管理多个工具时，第三方菜单栏软件便成了提升效率的“隐形助手”，它们以轻量化、集成化的方式，将分散的功能浓缩进方寸之间，让菜单栏从“状态展示区”升级为“高效控制台”。&lt;/p&gt;&lt;h2&gt;为什么需要第三方菜单栏软件？&lt;/h2&gt;&lt;p&gt;macOS的菜单栏设计遵循“简洁至上”原则，但随着应用增多，系统自带图标可能“捉襟见肘”：Wi-Fi、蓝牙、电池图标占据固定位置，第三方应用（如微信、Dropbox）也会争相挤入菜单栏，久而久之变得杂乱无章，更重要的是，许多实用功能（如全局剪贴板管理、快速截图、天气预警等）并未被系统原生支持，而第三方软件恰好能填补这些空白。&lt;/p&gt;&lt;p&gt;它们的核心优势在于“轻”与“专”：不占用 Dock 空间，无需打开主窗口即可操作，且针对特定场景深度优化，比如程序员需要快速查看代码片段，设计师需要取色工具，学生需要专注计时器——第三方菜单栏软件都能以“即用即走”的方式满足需求，让操作流程缩短至几秒钟。&lt;/p&gt;&lt;h2&gt;第三方菜单栏软件的三大核心价值&lt;/h2&gt;&lt;h3&gt;&lt;strong&gt;效率提升：把常用功能“握在手中”&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;菜单栏的本质是“减少操作路径”，第三方软件将这一价值发挥到极致。&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;全局搜索与快速启动&lt;/strong&gt;：Alfred 是 macOS 用户的“效率神器”，其菜单栏组件可随时呼出搜索框，不仅能快速打开应用/文件，还能通过“工作流”实现自定义操作（如一键翻译、计算器、剪贴板历史），类似工具还有 Raycast，它支持插件扩展，可集成 GitHub、Notion、飞书等服务的快捷操作，让“跨工具协作”变得无缝。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;信息聚合与提醒&lt;/strong&gt;：Itsycal 在菜单栏显示迷你日历，点击即可创建事件、设置提醒；iStat Menus 则像一位“系统医生”，实时监控 CPU、内存、磁盘、网络等资源占用，用颜色和数字直观展示状态，避免因资源耗尽导致卡顿。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;任务自动化&lt;/strong&gt;：Automator 虽是系统自带工具，但结合第三方菜单栏插件（如 Hammerspoon），可实现更复杂的自动化——比如连接特定 Wi-Fi 时自动开启代理，或双击菜单栏图标执行清理脚本。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;strong&gt;个性化定制：让菜单栏“听你的”&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;macOS 允许用户调整部分菜单栏图标顺序，但第三方软件能实现更彻底的“自定义掌控”。&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;图标管理与隐藏&lt;/strong&gt;：Bartender 是菜单栏“整理大师”，支持隐藏不常用的图标（如 Spotlight、Handoff）、调整图标顺序，甚至将多个图标折叠进一个“下拉菜单”，让菜单栏从“拥挤”变得“清爽”，类似工具还有 iBar，支持自定义图标样式（如替换为emoji或自定义图片），让视觉体验更贴合个人喜好。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;主题与动态效果&lt;/strong&gt;：如果觉得系统菜单栏过于单调，可以尝试 Night Shift Control（更精细地调节色温）、Macs Fan Control（自定义风扇转速曲线，并显示在菜单栏），甚至通过 Pock 在菜单栏添加“小组件”风格的信息面板（如天气、日程）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;strong&gt;功能扩展：为 macOS 补齐“缺失的一块拼图”&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;macOS 的“克制”有时意味着功能简化，第三方软件则像“补丁”，补齐用户的核心需求。&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;生产力工具&lt;/strong&gt;：Paste 是一款剪贴板管理器，能自动保存复制过的文本、图片、文件，通过菜单栏快速搜索和复用；CleanMyMac X 的菜单栏组件可一键扫描系统垃圾，释放存储空间；Snagit 的菜单栏图标则支持快速截图、录制屏幕，适合需要频繁记录内容的用户。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;系统增强&lt;/strong&gt;：Fluent Search 替代 Spotlight，提供更智能的搜索体验（支持模糊匹配、应用内搜索）；Tailscale 让局域网文件共享变得简单，菜单栏图标直接显示设备在线状态；Rectangle（原 Moom）的菜单栏组件可快速调用窗口分屏功能，无需依赖鼠标拖拽。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;生活服务&lt;/strong&gt;：墨迹天气的菜单栏插件实时显示天气和预警；网易云音乐/Spotify 的菜单栏控件支持播放暂停、切歌，无需打开主窗口；番茄钟工具（如 Focus）在菜单栏显示专注倒计时，帮助用户避免分心。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;如何选择与管理第三方菜单栏软件？&lt;/h2&gt;&lt;p&gt;尽管菜单栏软件能提升效率,但“贪多”反而会成为负担——过多的图标不仅占用屏幕空间，还可能导致内存浪费，选择时需遵循“三原则”：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;按需选择&lt;/strong&gt;：先明确自己的核心需求（是效率、监控还是个性化？），再挑选对应功能的工具，避免安装“用不上”的软件。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;关注资源占用&lt;/strong&gt;：打开“活动监视器”，查看菜单栏软件的 CPU 和内存占用，优先选择轻量化工具（如 Alfred 比 Spotlight 更灵活，但资源占用略高，需权衡）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;注意权限管理&lt;/strong&gt;：部分菜单栏软件需要辅助权限（如控制剪贴板、访问系统文件），需通过“系统设置 &amp;gt; 隐私与安全性”谨慎授权，避免安全风险。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;管理上,建议定期清理：通过 Bartender 隐藏临时工具，或直接卸载不常用的软件，保持菜单栏“简洁高效”。&lt;/p&gt;&lt;h2&gt;让菜单栏成为“高效工作的神经中枢”&lt;/h2&gt;&lt;p&gt;macOS 的菜单栏，本是系统与用户交互的“最小界面”，却因第三方软件的加入，拥有了无限可能，从快速启动应用到监控系统状态，从个性化定制到功能扩展，这些“隐形助手”将复杂的操作简化为一次点击、一个图标，让用户更专注于核心任务。&lt;/p&gt;&lt;p&gt;合理选择和使用第三方菜单栏软件,不仅能提升工作效率，更能让 macOS 的使用体验更贴合个人习惯——毕竟，最好的工具，是让你“感觉不到它的存在”，却能默默为你扫清障碍，下一次当你凝视屏幕顶部的菜单栏时，不妨想想：它还能为你做什么？&lt;/p&gt;</description><pubDate>Thu, 30 Apr 2026 19:02:27 +0800</pubDate></item><item><title>LR旧版安装器软件包macOS不兼容？别慌！3种有效解决方法</title><link>https://www.llbk.cn/99.html</link><description>&lt;blockquote&gt;LR旧版安装器在macOS系统下常出现不兼容问题，导致无法正常安装，别担心，这里提供3种有效解决方法：一是检查并升级安装器版本至适配当前macOS的版本；二是通过系统偏好设置调整安全性与隐私，允许来自未知开发者的安装；三是使用虚拟机或旧版macOS系统环境进行兼容安装，这些方法能快速解决兼容难题，确保LR顺利安装使用。&lt;/blockquote&gt;&lt;p&gt;在macOS系统不断更新的今天，不少摄影爱好者仍依赖Adobe Lightroom（LR）旧版——或许是习惯了经典界面的操作逻辑，或许是依赖特定版本的插件兼容性，又或是旧设备性能有限，当尝试安装LR旧版安装器时，常会遇到“无法打开”“软件包损坏”“macOS版本不兼容”等提示，让人束手无策，本文将带你分析LR旧版安装器macOS不兼容的原因，并提供3种针对性解决方法,帮你顺利搭建稳定的LR工作环境。&lt;/p&gt;&lt;h2&gt;为什么LR旧版安装器会macOS不兼容？&lt;/h2&gt;&lt;p&gt;要解决问题，先得搞清楚“不兼容”的根源，macOS系统升级后，对软件的架构、安全机制、权限管理都提出了新要求，而LR旧版安装器（尤其是2018年之前的版本）主要基于32位架构或旧版安全协议，自然难以适配新版macOS,具体原因可归纳为3类：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;32位应用限制&lt;/strong&gt;：macOS Catalina（10.15）及后续版本彻底放弃了对32位应用的支持，而LR 6/CC 2015等旧版仍是32位程序，安装时会直接提示“不支持此架构”。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;安装包签名过期&lt;/strong&gt;：Adobe官方安装包会使用开发者签名验证身份，旧版签名可能因过期被macOS拦截，提示“无法验证开发者”。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;安全机制冲突&lt;/strong&gt;：新版macOS的“隐私控制”“沙盒隔离”等机制，可能与旧版安装器的权限申请逻辑冲突，导致安装中断。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;解决方法：从兼容性设置到替代方案&lt;/h2&gt;&lt;p&gt;遇到不兼容问题别急着放弃，根据你的macOS版本和LR旧版需求，可尝试以下3种方法，成功率高达90%。&lt;/p&gt;&lt;h3&gt;方法1：检查安装包完整性，优先选择官方“存档版本”&lt;/h3&gt;&lt;p&gt;很多时候，“不兼容”源于安装包本身损坏或非官方修改，Adobe官方为老用户保留了LR旧版存档（LR 6、CC 2015-2019等）,下载链接可靠且适配性更好。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;操作步骤&lt;/strong&gt;：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;访问Adobe官方“Creative Cloud 旧版存档”页面（搜索“Adobe Creative Cloud old versions”进入）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;选择需要的LR版本（如“Lightroom 6”），根据macOS版本下载对应安装包（通常为.dmg或.pkg格式）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;下载后右键点击安装包，选择“显示简介”，确保“通用”栏中“打开方式”为“安装器”（若显示“损坏”，尝试在“系统设置&amp;gt;隐私与安全性”中点击“仍要打开”）。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：LR 6及更早版本需单独序列号激活，无Creative Cloud账号也可安装。&lt;/p&gt;&lt;h3&gt;方法2：通过“Rosetta 2”或“兼容性模式”强制适配（适用于Intel/Apple Silicon Mac）&lt;/h3&gt;&lt;p&gt;若安装包是64位但新版macOS仍报错，可能是架构差异（Apple Silicon Mac为ARM架构，旧版安装器为x86架构），此时可通过Rosetta 2或终端命令强制兼容。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;针对Apple Silicon Mac（M1/M2/M3芯片）&lt;/strong&gt;：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;打开“访达”，进入“应用程序”文件夹，找到LR旧版安装器（若未安装，先下载.dmg文件挂载）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;右键点击安装包，选择“显示简介”，勾选“使用Rosetta 2打开”；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;双击安装，过程中若提示“不受支持”，在“系统设置&amp;gt;隐私与安全性”中点击“允许来自以下位置的应用：App Store和被认可的开发者”，添加安装包例外。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;针对Intel Mac（macOS Monterey及以上）&lt;/strong&gt;：&lt;br/&gt;若安装包提示“版本过低”，可通过终端设置兼容性模式：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;打开“终端”（可在“应用程序&amp;gt;实用工具”中找到）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;输入命令：&lt;code&gt;export ARCHFLAGS=&amp;quot;-arch x86_64&amp;quot;&lt;/code&gt;（强制使用x86_64架构），按回车；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;再输入：&lt;code&gt;open /Applications/安装器名称.app&lt;/code&gt;（替换为实际安装路径），启动安装。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;方法3：虚拟机安装旧版macOS+LR（终极方案，适用于顽固不兼容问题）&lt;/h3&gt;&lt;p&gt;若以上方法均无效，可能是新版macOS的底层机制与旧版LR冲突，此时可通过虚拟机安装旧版macOS系统，在“隔离环境”中运行LR旧版。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;准备工作&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;虚拟机软件：Parallels Desktop（推荐，支持Apple Silicon）、VMware Fusion（仅Intel Mac）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;旧版macOS镜像：从“Macintosh Repository”等可信平台下载（如macOS Mojave 10.14，兼容LR CC 2018及更早版本）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;操作步骤（以Parallels Desktop为例）&lt;/strong&gt;：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;安装Parallels Desktop，创建新虚拟机，选择“从映像文件安装”，下载的旧版macOS镜像；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;按提示完成macOS安装（过程与真机一致，需Apple ID登录）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;在虚拟机中打开Safari，访问Adobe官方存档页面，下载对应LR旧版安装包（此时在旧版macOS中无兼容性问题）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;安装LR，激活后即可在虚拟机内正常使用。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;优势&lt;/strong&gt;：彻底解决兼容性问题，可同时保留新版macOS用于日常办公；&lt;br/&gt;&lt;strong&gt;注意&lt;/strong&gt;：虚拟机会占用较多磁盘空间（建议预留50GB以上），且旧版macOS可能不支持最新功能,需根据需求选择版本。&lt;/p&gt;&lt;h2&gt;注意事项：这些坑千万别踩&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;避免非破解版&lt;/strong&gt;：网上流传的“破解版LR旧版”常捆绑恶意软件，不仅可能导致系统崩溃，还可能泄露隐私，务必从官方或可信渠道下载。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;提前备份插件&lt;/strong&gt;：若依赖LR插件（如Nik Collection、Topaz Labs），升级新版LR前需确认插件是否支持旧版，避免安装后无法使用。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;评估升级必要性&lt;/strong&gt;：若仅为“习惯旧版”，建议尝试LR Classic（新版），其界面与LR 6高度相似，且支持macOS新功能；若因插件或设备限制，再考虑上述方法。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;LR旧版安装器macOS不兼容虽是常见问题，但通过“检查官方存档→设置兼容性→虚拟机方案”的三步走策略，多数用户都能顺利解决，技术迭代是为了更好的体验，但“老伙计”的稳定与熟悉感同样珍贵，希望本文能帮你找回熟悉的LR工作流,继续享受摄影创作的乐趣！&lt;/p&gt;</description><pubDate>Thu, 30 Apr 2026 11:01:33 +0800</pubDate></item></channel></rss>