博客 (114)

image.png

“安装 VMware Tools”灰色无法点击。

image.png

打开虚拟机设置 - CD/DVD - 使用 ISO 映像文件,浏览到 VM 安装目录,根据对应操作系统选择镜像即可(如 linux.iso、windows.iso)

image.png

这样,虚拟机的计算机界面就会出现 VMware Tools 的安装包。

xoyozo 2 年前
4,983

1. 一代平台车型(NT1.0)

车型年款平台操作系统备注
ES82017-2019款NT1.0Aspen 白杨 → Alder 赤杨• 初代搭载Aspen系统
• 2022年起可升级Alder系统(需换装8155芯片)
ES6/EC62018-2020款NT1.0Aspen 白杨 → Alder 赤杨• 同ES8升级路径,2022款起标配Alder系统

2. 二代平台车型(NT2.0)

车型年款平台操作系统
ET72021款NT2.0Banyan 榕
ET5/ET5T2021款NT2.0Banyan 榕
ES7/EC72022款NT2.0Banyan 榕
ES6/EC62023款NT2.0Banyan 榕

3. 二代半平台车型(NT2.5)

车型年款平台操作系统
ES6/EC62025款NT2.5NT.Cedar S 雪松
ET5/ET5T2025款NT2.5NT.Cedar S 雪松

4. 三代平台车型(NT3.0)

车型年款平台操作系统
ET92025款NT3.0SkyOS·天枢
ES82025款(Q4)NT3.0SkyOS·天枢
ES92025款(年底)NT3.0SkyOS·天枢


xoyozo 3 年前
5,098
操作系统
版本发布时间支持设备
macOS ???262025年6月


macOS Sequoia152024年6月

iMac (2019 年及后续机型)

Mac Pro (2019 年及后续机型)

iMac Pro (2017 年及后续机型)

Mac Studio (2022 年及后续机型)

MacBook Air (2020 年及后续机型)

Mac mini (2018 年及后续机型)

MacBook Pro (2018 年及后续机型)

macOS Sonoma142023年秋

iMac (2019 年及后续机型)

Mac Pro (2019 年及后续机型)

iMac Pro (2017 年机型)

Mac Studio (2022 年及后续机型)

MacBook Air (2018 年及后续机型)

Mac mini (2018 年及后续机型)

MacBook Pro (2018 年及后续机型)

macOS Ventura132022年10月

iMac (2017 年及后续机型)

Mac Pro (2019 年及后续机型)

iMac Pro (2017 年机型)

Mac Studio (2022 年机型)

MacBook Air (2018 年及后续机型)

Mac mini (2018 年及后续机型)

MacBook Pro (2017 年及后续机型)

MacBook (2017 年机型)

macOS Monterey122021年6月8日

iMac (2015 年末及后续机型)

Mac Pro (2013 年末及后续机型)

iMac Pro (2017 年及后续机型)

Mac mini (2014 年末及后续机型)

MacBook Air (2015 年初及后续机型)

MacBook (2016 年初及后续机型)

MacBook Pro (2015 年初及后续机型)

https://support.apple.com/zh-cn/HT212551

macOS Big Sur112020年6月23日

MacBook (2015 年或后续机型)

MacBook Air (2013 年或后续机型)

MacBook Pro (2013 年后期或后续机型)

Mac mini (2014 年或后续机型)

iMac (2014 年或后续机型)

iMac Pro (2017 年或后续机型)

Mac Pro (2013 年或后续机型)

https://support.apple.com/zh-cn/HT211238

https://support.apple.com/kb/sp833?locale=zh_CN

macOS Catalina10.152019年10月8日

MacBook (2015 年前期或之后的机型)

MacBook Air (2012 年中期或之后的机型)

MacBook Pro (2012 年中期或之后的机型)

Mac mini (2012 年后期或之后的机型)

iMac (2012 年后期或之后的机型)

iMac Pro (2017 年)

Mac Pro (2013 年后期或之后的机型)

https://support.apple.com/zh-cn/HT210222

https://support.apple.com/kb/sp803?locale=zh_CN

macOS Mojave10.142018年6月5日

MacBook (2015 年前期或之后的机型)

MacBook Air (2012 年中期或之后的机型)

MacBook Pro (2012 年中期或之后的机型)

Mac mini (2012 年后期或之后的机型)

iMac (2012 年后期或之后的机型)

iMac Pro (2017 年)

Mac Pro (2013 年后期的机型,以及支持特定 Metal 技术图形卡的 2010 年中期和 2012 年中期的机型)

https://support.apple.com/kb/SP777?locale=zh_CN

macOS High Sierra10.132017年6月5日

MacBook (2009 年后期或之后的机型)

MacBook Pro (2010 年中期或之后的机型)

MacBook Air (2010 年后期或之后的机型)

Mac mini (2010 年中期或之后的机型)

iMac (2009 年后期或之后的机型)

Mac Pro (2010 年中期或之后的机型)

https://support.apple.com/kb/SP765?locale=zh_CN

macOS Sierra10.122016年9月20日

MacBook (2009 年后期或之后的机型)

MacBook Pro (2010 年中期或之后的机型)

MacBook Air (2010 年后期或之后的机型)

Mac mini (2010 年中期或之后的机型)

iMac (2009 年后期或之后的机型)

Mac Pro (2010 年中期或之后的机型)

https://support.apple.com/kb/SP742?locale=zh_CN

OS X El Capitan10.112015年9月29日

MacBook (2015 年前期的机型)

MacBook (2008 年后期的铝金属机型以及 2009 年前期或之后的机型)

MacBook Pro (2007 年中期/后期或之后的机型)

MacBook Air (2008 年后期或之后的机型)

Mac mini (2009 年前期或之后的机型)

iMac (2007 年中期或之后的机型)

Mac Pro (2008 年前期或之后的机型)

Xserve (2009 年前期的机型)

https://support.apple.com/kb/SP728?locale=zh_CN

OS X Yosemite10.102014年10月17日

https://support.apple.com/kb/SP711?locale=zh_CN

OS X Mavericks10.92013年10月23日

iMac (2007 年中期或之后的机型)

MacBook (2008 年后期的铝金属机型、2009 年前期或之后的机型)

MacBook Pro (2007 年中后期或之后的机型)

Xserve (2009 年前期)

MacBook Air (2008 年后期或之后的机型)

Mac mini (2009 年前期或之后的机型)

Mac Pro (2008 年前期或之后的机型)

https://support.apple.com/kb/SP702?locale=zh_CN

OS X Mountain Lion10.82012年7月25日

iMac (2007 年中期或之后的机型)

MacBook (2008 年后期的铝制机型、2009 年前期或之后的机型)

MacBookPro(2007 年中期/后期或之后的机型)

Xserve (2009 年前期)

MacBook Air (2008 年后期或之后的机型)

Mac mini (2009 年前期或之后的机型)

Mac Pro (2008 年前期或之后的机型)

https://support.apple.com/kb/SP654?locale=zh_CN

OS X Lion10.72010年10月20日

https://support.apple.com/kb/SP629?locale=zh_CN

OS X Snow Leopard10.62008年6月9日

https://support.apple.com/kb/SP575?locale=zh_CN

参考资料:

使用 Mac 随附的 Mac 操作系统或兼容的更新版本

xoyozo 3 年前
7,148

本文使用 ASP.NET 6 版本 Senparc.Weixin.Sample.MP 示例项目改造。


第一步 注册多公众号

方法一:打开 appsettings.json 文件,在 SenparcWeixinSetting 节点内添加数组节点 Items,该对象类型同 SenparcWeixinSetting。

//Senparc.Weixin SDK 设置
"SenparcWeixinSetting": {
  "IsDebug": true,
  "Token": "",
  "EncodingAESKey": "",
  "WeixinAppId": "",
  "WeixinAppSecret": "",
  "Items": [
    {
      "IsDebug": true,
      "Token": "a",
      "EncodingAESKey": "a",
      "WeixinAppId": "a",
      "WeixinAppSecret": "a"
    },
    {
      "IsDebug": true,
      "Token": "b",
      "EncodingAESKey": "b",
      "WeixinAppId": "b",
      "WeixinAppSecret": "b"
    }
  ]
}

方法二:修改 Program.cs 文件,在 UseSenparcWeixin 方法中注册多个公众号信息。

var registerService = app.UseSenparcWeixin(app.Environment,
    null /* 不为 null 则覆盖 appsettings  中的 SenparcSetting 配置*/,
    null /* 不为 null 则覆盖 appsettings  中的 SenparcWeixinSetting 配置*/,
    register => { /* CO2NET 全局配置 */ },
    (register, weixinSetting) =>
    {
        //注册公众号信息(可以执行多次,注册多个公众号)
        //register.RegisterMpAccount(weixinSetting, "【盛派网络小助手】公众号");
        foreach (var mp in 从数据库或配置文件中获取的公众号列表)
        {
            register.RegisterMpAccount(new SenparcWeixinSetting
            {
                //IsDebug = true,
                WeixinAppId = mp.AppId,
                WeixinAppSecret = mp.AppSecret,
                Token = mp.Token,
                EncodingAESKey = mp.EncodingAeskey,
            }, mp.Name);
        }
    });

完成后,我们可以从 Config.SenparcWeixinSetting.Items 获取这些信息。


第二步 接入验证与消息处理

打开 WeixinController 控制器,将构造函数改写为:

public WeixinController(IHttpContextAccessor httpContextAccessor)
{
    AppId = httpContextAccessor.HttpContext!.Request.Query["appId"];
    var MpSetting = Services.MPService.MpSettingByAppId(AppId);
    Token = MpSetting.Token;
    EncodingAESKey = MpSetting.EncodingAESKey;
}

示例中 Services.MPService.MpSettingByAppId() 方法实现从 Config.SenparcWeixinSetting.Items 返回指定 appId 的公众号信息。

为使 IHttpContextAccessor 注入生效,打开 Program.cs,在行

builder.Services.AddControllersWithViews();

下方插入

builder.Services.AddHttpContextAccessor();

这样,我们就可以在构造函数中直接获取地址栏中的 appId 参数,找到对应的公众号进行消息处理。


第三步 消息自动回复中的 AppId

打开 CustomMessageHandler.cs,将 

private string appId = Config.SenparcWeixinSetting.MpSetting.WeixinAppId;
private string appSecret = Config.SenparcWeixinSetting.MpSetting.WeixinAppSecret;

替换为:

private string appId = null!;
private string appSecret = null!;

并在构造函数中插入

appId = postModel.AppId;
appSecret = Services.MPService.MpSettingByAppId(postModel.AppId).WeixinAppSecret;

这样,本页中使用的 appId / appSecret 会从 postModel 中获取,而非默认公众号。postModel 已在 WeixinController 中赋值当前的 appId。

改造后,我们可以在 OnTextRequestAsync() 等处理消息的方法中可以判断 appId 来处理不同的消息。


第四步 其它功能和接口

其它功能和接口均可用指定的 AppId 和对应的 AppSecret 进行调用。

xoyozo 3 年前
5,076

开发环境正常,发布到 IIS 报错

Could not load file or assembly 'Microsoft.EntityFrameworkCore.Relational, Version=6.0.x.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. 系统找不到指定的文件。

尝试在 UI 层安装 Pomelo.EntityFrameworkCore.MySql 无果。

最终,在发布时文件发布选项中,去掉“启用 ReadyToRun 编译”就正常了。

当然这种情况不是在所有启用了 ReadyToRun 编译的项目中遇到,但该项目改为不启用 ReadyToRun 后恢复正常了,原因暂时未知。

xoyozo 3 年前
3,859

按材料

铅酸电池成本低、低温性好、性价比高;能量密度低、寿命短、体积大、安全性差。
镍氢电池成本低、技术成熟、寿命长、耐用;能量密度低、体积大、电压低、有电池记忆效应。含有重金属,遗弃后对环境造成污染。
锰酸锂电池成本低、安全性和低温性能好的正极材料,但是其材料本身并不太稳定,容易分解产生气体,因此多用于和其它材料混合使用,以降低电芯成本,但其循环寿命衰减较快,容易发生鼓胀,高温性能较差、寿命相对短。
磷酸铁锂电池是一种使用磷酸铁锂(LiFePO4)作为正极材料,碳作为负极材料的锂离子电池。具有工作电压高、能量密度大、循环寿命长、安全性能好、自放电率小、无记忆效应的优点。电池温度处于500-600℃时,其内部化学成分才开始分解,并且穿刺、短路、高温都不会燃烧或者爆炸,使用寿命也较长。但车辆续航里程一般,当温度低于-5℃时,充电效率低,不适合北方在冬天充电的需求。
三元锂电池是指正极材料使用镍钴锰酸锂(Li(NiCoMn)O2)或者镍钴铝酸锂的三元正极材料的锂电池。能量密度高、循环寿命长、不惧低温;高温下稳定不足。能量密度可达最高,但高温性相对较差,关于续航里程有要求的纯电动汽车,其是主流方向,且适合北方天气,低温时电池更加稳定。


按制造和封装形式

1865电池18650是锂离子电池的鼻祖。日本SONY公司当年为了节省成本而定下的一种标准性的锂离子电池型号,其中18表示直径为18mm,65表示长度为65mm,0表示为圆柱形电池。优点:容量大、寿命长、安全性能高、电压高、没有记忆效应、内阻小、可串联或并联组合成18650锂电池组、使用范围广。
2170电池2017年1月4日,特斯拉官方宣布新一代锂电池“2170”开始量产。直径为21mm、高度70mm。
4680电池2020年9月特斯拉发布了的新型电池类型,据介绍,相较2170电池,该电池能量方面提高5倍,续航里程提高16%,动力方面提高6倍。2022年初开始量产。
刀片电池是比亚迪于2020年3月29日发布的电池产品。该电池采用磷酸铁锂技术。“刀片电池”通过结构创新,在成组时可以跳过“模组”,大幅提高了体积利用率,最终达成在同样的空间内装入更多电芯的设计目标。相较传统电池包,“刀片电池”的体积利用率提升了50%以上,也就是说续航里程可提升50%以上,达到了高能量密度三元锂电池的同等水平。
麒麟电池2022年3月26日,宁德时代首席科学家吴凯在2022年电动汽车百人会论坛上表示:宁德时代通过不断技术迭代,推出了第三代CTP技术,其系统重量、能量密度及体积能量密度继续引领行业最高水平。在相同的化学体系、同等电池包尺寸下,麒麟电池包的电量,相比4680系统可以提升13%。第三代CTP技术,兼顾极速、无损、安全、高效等优势,适用磷酸铁锂、三元电池,涵盖乘用车、商用车领域。


xoyozo 3 年前
7,888

自 2023 年 4 月起,Windows 11 已经重新支持显示“秒”,无需第三方工具来实现,点击查看详情

ElevenClock 下载地址:GitHub,开源软件放心使用

效果:

image.png

* 该软件不会影响右下角的显示桌面和系统通知功能。


v3.3 设置方法:


√ 在主屏幕上时钟区显示本程序的时钟样式

    ElevenClock 不直接修改任务栏上的时钟区域,而是将时钟覆盖在系统时钟区域的上方。

√ 不要在辅助监视器上显示时钟

    此项按实际需求勾选

√ 时间与日期设置 - Set a custom date and time format (for advanced users only)

    填写以下内容并 Apply

    %H:%M:%S

    %Y/%#m/%#d %a

    如果不想显示星期,把 %a 去掉即可。

√ 使用自定义字体大小

    因分辨率缩放设置不同可能导致显示的字体大小与系统时钟不同,会导致覆盖面过大或过小,从而使系统托盘中的其它图标显示不完整。所以应选择一个与系统时间差不多的字体大小。当显示“周序号”时 ElevenClock 时钟区域可能会远宽于系统时钟区域,可以设置系统时钟显示“星期”(方法见文末)。


v3.2 设置方法:

√ 在主屏幕上时钟区显示本程序的时钟样式

    ElevenClock 不直接修改任务栏上的时钟区域,而是将时钟覆盖在系统时钟区域的上方。

√ 不要在辅助监视器上显示时钟

    此项按实际需求勾选

√ 显示秒数

    这是我们的最终目的。

√ 使用自定义字体大小

    因分辨率缩放设置不同可能导致显示的字体大小与系统时钟不同,会导致覆盖面过大或过小,从而使系统托盘中的其它图标显示不完整。所以应选择一个与系统时间差不多的字体大小。当显示“周序号”时 ElevenClock 时钟区域可能会远宽于系统时钟区域,可以设置系统时钟显示“星期”(方法见文末)。


如何显示系统时间“星期”:

打开“更改日期和时间”,在“日期”选项卡的“短日期”中添加“ddd”。

image.png

xoyozo 3 年前
7,738
功能主动推送方式主动拉取方式
接口规范由数据终端提供接口,数据源端调用接口推送数据由数据源端提供接口,数据终端调用接口拉取数据
定时器由推送方(数据源端)实现由拉取方(数据终端)实现
缓存在不影响正常运行的情况下,数据源端可不做缓存,实时获取并推送数据,消耗资源过大时做缓存数据源端需要做缓存,以避免终端频繁拉取。若因参数值过多而致缓存过大时,应按调用方标识限制接口调用频次
截断标志数据源端记录最后一次推送的数据ID,并在下一次推送时判断此标识往后推送数据数据终端记录最后一次拉取的数据ID,并在下次一拉取时传递给数据源端
日志与故障排查双方都需要保留日志双方都需要保留日志
在有一个数据源端和多个数据终端的系统中

优点:无

缺点:数据源端需要依据不同的数据终端提供的接口规范推送数据,若这些数据终端要求的推送间隔时间不致,则会使用定时器和缓存实现更为复杂

优点:所有终端使用统一的接口规范,数据拉取间隔时间由终端自由决定

缺点:无

在有多个数据源端和一个数据终端的系统中

优点:所有数据源端使用统一的接口规范,数据推送间隔时间由数据源端自由决定

缺点:无

优点:无

缺点:数据终端需要依据不同的数据源端提供的接口规范拉取数据


xoyozo 3 年前
7,129

普通的 nginx http 反向代理 https 时是需要配置证书的,但我们又不可能由源域名的证书,所以要使用 nginx 的 stream 模块。普通的 nginx 反向代理属于第七层代理,而 stream 模块是第四层代理,通过转发的 tcp/ip 协议实现高功能,所以不需要证书。

我们这里以使用宝塔安装的 nginx 为例,其实其他系统也是类似,只要找到编译的 nginx 的源码目录就行了

编译前先将已经安装的 nginx 文件进行备份

通过 ps 命令查看 nginx 文件的路径。以下所有步骤都以自身 nginx 路径为准

# ps -elf | grep nginx
# cd /www/server/nginx/sbin/
# cp nginx nginx.bak

然后查看当前 nginx 编译的参数

/www/server/nginx/sbin/nginx -V

将 ./configure arguents:之后的内容复制到记事本备用(备注:我们这里其实使用的是 Tengine-2.3.1,所以下面的编译参数可能跟普通 nginx 不是很一样)

内容如下:

--user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --with-openssl=/www/server/nginx/src/openssl --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --add-module=/www/server/nginx/src/lua_nginx_module --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-pcre=pcre-8.42 --with-cc-opt=-Wno-error --add-module=/www/server/nginx/src/ngx-pagespeed

进入 src 目录

cd /www/server/nginx/src

我们在上面的内容中加入两个参数

./configure --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --with-openssl=/www/server/nginx/src/openssl --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --add-module=/www/server/nginx/src/lua_nginx_module --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-pcre=pcre-8.42 --with-cc-opt=-Wno-error --add-module=/www/server/nginx/src/ngx-pagespeed --with-stream --with-stream_ssl_preread_module

并执行它

然后

make && make install

重启 nginx

service nginx restart

nginx -V 看看模块是不是加载了

image.png

新建个站点,配置反向代理


卸载

使用 nginx.bak 文件替换掉自编译的 nginx 文件,替换后重启 nginx。

转自 笨牛网 4 年前
3,018

安装 Windows 11 的外星人笔记本电脑,当关闭盖子,或按下电源键,或直接在系统里点击“睡眠”按钮均不能使系统正常睡眠,可能的原因如下:

  • 正在运行 Alienware Mobile Connect

  • 迅雷的“离线模式”开启


注意:当接通电源的电脑关闭盖子,系统会执行睡眠,但当拔下电源线时,又会自动唤醒,可谓奇葩。这一点经过外星人官方确认,外星人机子都是这样的。


另外,当正在睡眠的笔记本电脑插上电源,或打开盖子,或按下电源键,均会唤醒。


因此,正确的睡眠步骤:关闭阻止睡眠的程序,断开电源,关闭盖子。

xoyozo 4 年前
5,101