普通视图

发现新文章,点击刷新页面。
昨天 — 2026年1月8日首页

一加 Turbo 6 体验:9000mAh 大电池配 27W 反向快充,能打电话、打游戏的充电宝

作者 梁梦麟
2026年1月8日 22:15

1 月 8 日,一加带来新一代搭载大容量电池,主打性价比和续航表现的新机一加 Turbo 6,定价 2099 元起。

这款手机最大的亮点,就是机身搭载了一块 9000mAh 冰川电池。在一台厚度为 8.5mm 的手机上面塞下快 10000mAh 的超大电池,这个容量已经快追上当年劲量推出的那块大砖头。

大电池给人的感觉就是耐用,9000mAh 大电池能够轻松坚持 2.5 天,如果你只是用来做轻度使用或联动电脑的备机,那极限一点来到三天也不是不是问题。

一加给这台手机加入了 27W 的反向充电,这意味着不只是连接 iPhone,早两个世代的一加手机,都能够满足它们的常规快充需求。如果你的主力是一加 13 等之前一加、OPPO 推出的机型,那搭配 Turbo 6 使用也非常舒服。

自身充电的部分,一加 Turbo 6 支持 80W 超级闪充,对超大容量电池的手机来说是一个比较常规的配置。

通用快充的部分支持了 55W PPS, 实测最高也到达到 51W,0-100 充满耗时 85 分钟。时间上和官方充电组合差别并不大,前段速度比较快,30 分钟就能够充电接近 60%,加上 9000mAh 超大电池,续航基本没有压力。

性能部分,一加 Turbo 6 搭载第四代高通骁龙 8s 风驰版移动平台,搭配 LPDDR5X+UFS 4.1 的储存组合,最高支持 16GB+512GB 储存选择,安兔兔跑分为 2458499。

这里提到的「风驰版」,是一加在骁龙 8S Gen4 上加入了「风驰游戏内核」,进一步提升游戏性能和高帧率的表现,最高支持 165 帧的高帧率模式,目前已适配了《使命召唤 M》、《跑跑卡丁车》、《火影忍者》等游戏。

此外,一加也将自家的 Wi-Fi 芯片 G1 放到 Turbo 6 上,G1 可以提升无线网络的穿墙能力,稳定机身网络接收表现,打游戏、看视频的时候会更加稳定。

屏幕这部分,Turbo 6 在一加的同价位上也是顶配。

手机搭载了一块 6.78 英寸 1.5K 165Hz 超高刷电竞东方屏,刷新率的部分有 60Hz、120Hz 和 165Hz 三档可选。机身颞部有 Display P3 Lite 定制自研显示芯片,提升了屏幕在高刷新率状态下的显示质量。屏幕有新一代明眸护眼模式,支持类 DC 调光和 3840Hz PWM 调光,还有接近 1nit 超低亮度显示的暗夜模式,即便半夜起床起来看手机,也没那么伤眼。

还有,一加这次也给 Turbo 6 搭载了灵犀触控芯片,最高支持 3200Hz 瞬时触控采样和 330Hz 四只触控采样,并配备触显同步架构,提升 FPS 游戏的触控操作感。

来到机身外观的部分,一加 Turbo 6 系列采用时下流行的极简直角边框设计,背板非常干净,侧边到中框加入了类鹅卵石的弧边过渡,提升握持的贴手感,裸机上手的感觉很舒服。机身有追光银、独行黑和旷野青三个之前在一加 Ace N 系列上的常驻配色。追光银采用了 3D 全系雕刻工艺,在哑光银白色的机身边缘增加了一条光影轨迹,在光线作用下提升了机身 LOGO 的立体感。

我们上手的是用全新的微米级工艺和低闪高雾处理,再配上极黑镀膜和低反光漫反处理得内纹理,以呈现出哑光效果更细腻的独行黑配色。上手的感觉很丝滑,配合干净的纯黑后壳,质感很沉稳扎实。

一加 Turbo 6 机身配备了晶盾玻璃,机身支持 IP66/IP68/IP69/IP69K 的防水防尘,屏幕的湿收触控功能也做了升级,提升在雨天户外使用的精准度。配合长续航机身,一加 Turbo 6 做户外用的业务机也可以。

相机部分,一加 Turbo 6 用和旗舰同款的「金属魔方」DECO 设计,里面包含了一颗 5000 万像素 1/1,95 英寸索尼 IMX882 做主摄,搭配一个 200 万像素的黑白辅助镜头,前置则是 1600 万像素的摄像头。

最后来看看价格,一加 Turbo 6 有四个储存版本,定价分别是:

  • 12GB + 256GB 2299 元,预售价 2099 元
  • 12GB + 512GB 2799 元,预售价 2599 元
  • 16GB + 256GB 2599 元,预售价 2399 元
  • 16GB + 512GB  3099 元,预售价 2899 元
「买吧,不贵。」

#欢迎关注爱范儿官方微信公众号:爱范儿(微信号:ifanr),更多精彩内容第一时间为您奉上。

爱范儿 | 原文链接 · 查看评论 · 新浪微博


从一道前端面试题,谈 JS 对象存储特点和运算符执行顺序

2026年1月8日 20:44

本文大纲

今天来看一道前端面试的代码输出题。

面试官提供了一段 Javascript 代码,要求给出这段代码运行后的输出结果。

const obj = {
  a: 0,
};

obj['1'] = 0;
obj[++obj.a] = obj.a++;
const values = Object.values(obj);
obj[values[1]] = obj.a;
console.log(obj);

先分析这道题前,先补充两个个前置知识点。

知识点一:对象的常规属性 (properties) 和排序属性 (elements)

先来看下面一段代码:

const obj = {};
obj['b'] = 'b'
obj[100] = '100';
obj[1] = '1';
obj['a'] = 'a';
obj[50] = '50';
obj['c'] = 'c';

for (const key in obj){ 
  console.log(`key: ${key} value: ${obj[key]}`)
}
/**
 * 打印结果如下:
  key: 1 value: 1
  key: 50 value: 50
  key: 100 value: 100
  key: b value: b
  key: a value: a
  key: c value: c
 */

观察下打印的数据,很明显属性的设置顺序并不是打印的顺序,比如 b 属性是第一个设置的,打印结果却排在 100 后面,仔细分析他们的打印规律,可以得到如下特点:

  1. 数字类的属性不管设置的顺序先后,都会被优先打印,而且是按照从小到大的升序进行打印的。
  2. 字符类属性会按照设置的顺序进行打印,上面我们是按照 bac 的顺序进行设置的,打印顺序也是如此。

为什么会出现这样的结果呢?

这是因为 ECMAScript 规范中定义了数字属性应该按照索引值大小升序排列,字符串属性根据创建时的顺序升序排列。在 V8 中数字属性被称为 elements,字符串属性被称为 properties。之所以这样设置,主要是为了提升访问性能。elements 对象中会按照顺序存放数字属性,类似于数组的存储,这样查询的效率当然就很高了。

知识点二:JavaScript 运算符的执行顺序

JavaScript 中最常见运算符如下(运算顺序从高到低排列):

  • 对象属性访问,比如 obj.aobj['a']
  • 递增/递减,比如 a++(后置递增) 或 ++a(前置递增)。
  • 算术,比如 a + 1
  • 比较,包括 <(小于)、>(大于)、<=(小于等于)、>=(大于等于),比如 a > 3
  • 相等,包括 == 粗略相等, ===严格相等,!== 粗略不等,!== 严格不等,比如 a == 1
  • 逻辑,也就是与或非,&(与)、|(或)、!(非),比如 a && b
  • 三元,比如 flag ? '1' : '0'
  • 赋值,比如 a = 1

对于单个赋值语句 LHS = RHS 的求值,根据 ECMAScript 规范(ECMA-262, AssignmentExpression evaluation),对于 LeftHandSideExpression = AssignmentExpression,其计算顺序如下:

  • 第一步,先得到一个 引用(Reference),即“要写入的位置”,也就是 Evaluate LeftHandSideExpression
  • 第二步,再计算右侧的值,Evaluate AssignmentExpression
  • 最后将第二步得到的值写入第一步的引用当中。

也就是说,对于LHS = RHS 这样的赋值表达式,其计算顺序是左侧先求值(为了知道写到哪),右侧后求值(为了知道写什么),最后将右侧的值写入左侧。

📌 注意:这里说的“左侧求值”不是求它的值,而是求它的“位置”(比如属性名、变量名等)。例如对于 obj[++obj.a],要确定属性名,就必须先执行 ++obj.a

写个简单例子:

const obj = {
  get a() {
    console.log('获取 a 的值');
    return 1;
  },
  get b() {
    console.log('获取 b 的值');
    return 2;
  }
}
obj[++obj.a] = obj.b++;
console.log('obj: ', obj);

我们前面说过,运算符顺序是对象属性访问 > 递增/递减 > 赋值,对于赋值运算符 LHS = RHS,会先求出左侧 LHS引用(Reference),再计算右侧 RHS 的值,最后将右侧的值赋值给左侧的引用。所以用这个逻辑来分析下这段代码的执行顺序:

  • 第一步,先取 obj.a 的值, 取到的值为 1, 然后执行前置递增 ++obj.a,结果为 2,然后程序就知道要往 obj2 属性上赋值了。
  • 第二步,然后再取 obj.b 的值,执行后置递增 obj.b++,右侧计算的值为 2
  • 最后把右侧计算的结果值 2 赋值给 obj[2] 属性。

逐行分析代码执行过程

了解了这两个知识点后,让我们来逐行解析下这段代码。


const obj = {
  a: 0,
};

obj['1'] = 0;
obj[++obj.a] = obj.a++;
const values = Object.values(obj);
obj[values[1]] = obj.a;
console.log(obj);

  1. 首先,我们定义了一个对象 obj,它有一个属性 a,值为 0
const obj = {
  a: 0,
};
  1. 接下来,我们给 obj 添加了一个属性 1,值为 0,此时对象中有两个属性,a1
obj['1'] = 0;

由于数字属性会排在前面,此时 obj 的值为:

{
  "1": 0,
  "a": 0,
}
  1. 然后会执行 obj[++obj.a] = obj.a++,前面我们分析过运算符的优先级,先执行左侧 ++obj.a 得到 1,然后执行右侧 obj.a++, 由于是后置递增,所以右侧的值为 1,执行赋值后,obj 的值为:
{
  "1": 1,
  "a": 2,
}
  1. 经过 Object.values(obj) 后,values 的值为 [1, 2]
  2. 执行 obj[values[1]] = obj.a ,转换后就是 obj[2] = 2obj 的值变为:
{
  "1": 1,
  "2": 2,
  "a": 2,
}

这就是最终的输出结果了。

小结

该题主要考察两个知识点:

  1. JavaScript 对象中,属性的设置顺序并不一定是循环打印顺序,在 V8中,数字类的属性在被称为 elements(按从小到大排列存储),字符类属性被称为 properties(按添加顺序存储)。
  2. JavaScript 运算符的运算顺序是对象属性访问 > 递增/递减 > 赋值,对于赋值运算符 LHS = RHS,会先求出左侧 LHS引用(Reference),再计算右侧 RHS 的值,最后将右侧的值赋值给左侧的引用。

GDAL 空间关系解析

作者 GIS之路
2026年1月8日 20:08

^ 关注我,带你一起学GIS ^

前言

空间关系用于判断几何对象之间位置关系,GDAL支持相交、相离、包含等多种空间关系。在GIS开发中,空间分析离不开准确的空间关系判断,选择何种空间关系,对数据查询和分析速度的影响也会有差异,所以,熟练掌握各种空间关系是很有必要的。

在之前的文章中讲了如何使用GDAL或者ogr2ogr工具将txt以及csv文本数据转换为Shp格式,本篇教程在之前一系列文章的基础上讲解如何使用GDAL 空间关系解析

如果你还没有看过,建议从以上内容开始。

1. 开发环境

本文使用如下开发环境,以供参考。

时间:2025年

系统:Windows 11

Python:3.11.7

GDAL:3.11.1

2. 判断几何关系

定义一个方法SpatialRelations用于判断要素间空间关系,该方法接收两个参数,其中polygonPath指向面文件路径,pointPath指向点文件路径。

"""
说明:判断空间关系
参数:
    -polygonPath:面图层数据路径
    -pointPath:点图层数据路径
"""
def SpatialRelations(polygonPath,pointPath):

对于数据的基础操作步骤为获取数据驱动,获取数据源,再到获取目标图层。

# 检查文件是否存在
checkFilePath(polygonPath)
checkFilePath(pointPath)

# 添加数据驱动
shpDriver = ogr.GetDriverByName("ESRI Shapefile")

# 获取数据源
polygonDs = shpDriver.Open(polygonPath)
pointDs = shpDriver.Open(pointPath)

# 获取图层
polygonLayer = polygonDs.GetLayer(0)
pointLayer = pointDs.GetLayer(0)

方法checkFilePath用于检查文件路径是否正常,接受一个路径参数。

"""
说明:检查文件路径是否正常
参数:
    -filePath:文件数据路径
"""
def checkFilePath(filePath):
    if os.path.exists(filePath):
        print("文件数据路径存在")
    else:
        print("文件数据路径不存在,请检查!")

本文基于以下数据进行空间关系判断。

3. 相交关系

通过GetNextFeature或者GetFeature方法获取要素,其中GetFeature方法需要传入指定FId参数。

    # 遍历面图层要素
    for polyFeature in polygonLayer:
        # 获取几对象
        polyGeom = polyFeature.GetGeometryRef()
        # 获取要素Id
        featId = polyFeature.GetField("Id")
        print(f"n面状要素~~~~~Id:{featId}n")

        # 获取几何要素
        polyGeom = polyFeature.GetGeometryRef()
        # print(f"面状几何:{polyGeom}")

        # 遍历点图层要素
        for ptFeature in pointLayer:
            # 获取几何对象
            ptGeom = ptFeature.GetGeometryRef()
            # print(f"点状几何:{ptGeom1}")

            # 获取要素名称
            featName = ptFeature.GetField("name")   

            # 相交
            result = polyGeom.Intersect(ptGeom)

            description"不相交" if result == False else "^^😊相交😊^^"

            print(f"面要素【{featId}】与点要素【{featName}】 是否相交:{result} ({description})") 

其中相交关系输出结果显示如下,与图形显示结果一致。

其中相离关系输出结果显示如下,与图形显示结果一致。

其中相接关系输出结果显示如下,与图形显示结果一致。

还有包含(Contains)、重叠(Overlaps)、在...之内(Within) 等空间关系,留给感兴趣的读者自行实现。

4. 注意事项

windows开发环境中同时安装GDALPostGIS,其中投影库PROJ的环境变量指向PostGIS的安装路径,在运行GDAL程序时,涉及到要素、几何与投影操作时会导致异常。具体意思为GDAL不支持PostGIS插件中的投影库版本,需要更换投影库或者升级版本。

RuntimeError: PROJ: proj_identify: D:Program FilesPostgreSQL13sharecontribpostgis-3.5projproj.db contains DATABASE.LAYOUT.VERSION.MINOR = 2 whereas a number >= 5 is expected. It comes from another PROJ installation.

解决办法为修改PROJ的环境变量到GDAL支持的版本或者在GDAL程序开头添加以下代码:

os.environ['PROJ_LIB'] = r'D:\Programs\Python\Python311\Libsite-packages\osgeo\data\proj'

图片效果

OpenLayers示例数据下载,请在公众号后台回复:ol数据

全国信息化工程师-GIS 应用水平考试资料,请在公众号后台回复:GIS考试

GIS之路 公众号已经接入了智能 助手,可以在对话框进行提问,也可以直接搜索历史文章进行查看。

都看到这了,不要忘记点赞、收藏 + 关注

本号不定时更新有关 GIS开发 相关内容,欢迎关注 


    

GeoTools 开发合集(全)

OpenLayers 开发合集

GDAL 实现数据空间查询

GDAL 实现数据属性查询

GDAL 实现创建几何对象

GDAL 实现自定义数据坐标系

GDAL 实现矢量数据读写

GDAL 数据类型大全

GDAL 实现 GIS 数据读取转换(全)

WebAssembly入门(一)——Emscripten

2026年1月8日 19:30

WebAssembly介绍

WebAssembly,简单来说,是一种浏览器可执行的代码格式,诸如 C、C++ 和 Rust 等源语言能够编译为WebAssembly代码,并暴露可供js调用的函数,使得js能够利用接近原生的速度完成一些逻辑。

关于WebAssembly的介绍,MDN已经足够详细了,developer.mozilla.org/zh-CN/docs/… ,不再赘述。

Emscripten 介绍和安装

Emscripten 是一个基于 LLVM/Clang 的开源编译器工具链,核心是将 C/C++ 等原生代码编译为 WebAssembly(Wasm)和 JavaScript “胶水代码”,让高性能原生程序与库能在浏览器、Node.js 及其他 Wasm 运行时高效执行,性能接近原生,是原生代码向 Web 迁移的核心工具。更多信息可访问官网:emscripten.org/docs/index.…

安装

# Get the emsdk repo
git clone https://github.com/emscripten-core/emsdk.git

# Enter that directory
cd emsdk
# Fetch the latest version of the emsdk (not needed the first time you clone)
git pull

# Download and install the latest SDK tools.
./emsdk install latest

# Make the "latest" SDK "active" for the current user. (writes .emscripten file)
./emsdk activate latest

# Activate PATH and other environment variables in the current terminal
source ./emsdk_env.sh

注:windows系统用emsdk.bat替换上述命令中的emsdk,用emsdk_env.bat替换上述命令中的source ./emsdk_env.sh

安装验证

在 Emscripten 的安装目录下打开终端,执行以下命令检查是否安装成功

./emcc --check

注:

  • windows系统,通过在文件中找到并打开emcmdprompt.bat来启动该提示符,在其他命令行中是找不到emcc的。
  • 在 Windows 系统中,使用emcc而不是 ./emcc来调用该工具。

安装成功后check的输出如下: image.png

入门实践

hello world

准备基础测试文件:

// test.c
#include <stdio.h>
int main() {
    printf("Hello from Emscripten!\n");
    return 0;
}

执行编译

emcc test.c -o test.html # 生成test.html + test.js + test.wasm

启动本地服务器,打开test.html

image.png

生成文件介绍

test.html

test.html 是 Emscripten 自动生成的完整 HTML 页面,本质是一个开箱即用的前端载体,核心作用是:

  • 作为 Wasm/JS 代码的运行容器:内置了加载 test.js(胶水代码)的逻辑,无需你手动写 HTML 引入脚本;
  • 提供基础的交互界面:默认包含一个简单的页面结构,以及控制台输出区域(用于显示 C 代码中 printf/puts 等函数的输出);
  • 简化测试流程:直接在本地服务器打开就可以运行,无需额外编写 HTML 代码。
test.js

test.js 是整个编译产物的核心,也是 Emscripten 最关键的输出文件之一,被称为 “胶水代码”,作用是连接 JavaScript 环境和 Wasm 模块,填补两者的差异。

它包含以下核心功能(按执行顺序):

(1)Wasm 模块的加载与实例化

自动处理 test.wasm(编译时同步生成的 Wasm 文件)的加载、解析和实例化,无需你手动调用 WebAssembly.instantiate

(2)Emscripten 运行时初始化

初始化 Wasm 运行所需的环境:

  • 线性内存(Memory)管理;
  • 虚拟文件系统(MEMFS/IDBFS)(模拟 C 的文件操作,如 fopen/fwrite);
  • 系统调用模拟(如 exit/time);
  • 错误处理和日志输出。

(3)C/JS 互操作桥梁

  • 封装 C 函数的调用逻辑:把 Wasm 中的函数(如下划线前缀的 _main)映射为更友好的 JS 调用方式;
  • 处理 C 标准库输出:把 C 代码中 printf/puts 的输出重定向到 HTML 页面的控制台区域;
  • 暴露运行时 API:如 ccall/cwrap(用于 JS 调用 C 函数)、FS(文件系统操作)等。

(4)自动执行 C 的 main 函数

默认情况下,test.js 初始化完成后会自动调用 C 代码中的 main 函数,这也是为什么你编译的 C 程序能直接在浏览器中运行。

在实践中,我们不一定需要使用编译生成的胶水代码,很多时候自己手动管理wasm更方便。

test.wasm

执行 C 代码编译后的指令(如 main 函数、sum 函数)

js调用wasm函数

这个demo中我们不生成胶水代码,使用原生api调用wasm。

准备c文件:

// calc.c
int sum(int a, int b)
{
    return a + b;
}
int minus(int a, int b)
{
    return a - b;
}

执行编译

emcc calc.c -o calc.wasm  -s EXPORTED_FUNCTIONS=_sum,_minus --no-entry

编写html和js加载wasm

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>WASM Calc Demo</title>
  </head>
  <body>
    <h1>WASM Calculator</h1>
    <div id="output"></div>
    <script>
      (async () => {
        // 加载 wasm 文件
        const response = await fetch("calc.wasm");
        const buffer = await response.arrayBuffer();
        const wasmModule = await WebAssembly.instantiate(buffer);

        // 导出的方法都在 instance.exports 里
        const { sum, minus } = wasmModule.instance.exports;
        console.log(wasmModule);
        // 调用并显示结果
        const a = 7,
          b = 3;
        document.getElementById("output").innerHTML = `
        sum(${a}, ${b}) = ${sum(a, b)}<br>
        minus(${a}, ${b}) = ${minus(a, b)}
      `;
      })();
    </script>
  </body>
</html>

效果如下: image.png

注:

  • 在 C 语言的 ABI(应用二进制接口)规范里,大多数平台的链接器会为 C 全局符号加上一个下划线 _ 前缀
    Emscripten 也遵循了这个传统。你写的 int sum(int a, int b),编译后实际导出的符号是 _sum
  • 一般情况下编译时会找main函数,如果不需要main,可以加参数--no-entry,否则编译会报错
  • EXPORTED_FUNCTIONS参数不是必须,编译时可以根据文件内容生成导出的函数。但如果函数既没有被 C 代码调用,也没有被正确导出,Emscripten 可能会认为它没用,直接去掉它。因此可以修改代码,添加EMSCRIPTEN_KEEPALIVE
// calc.c
#include <emscripten/emscripten.h>

EMSCRIPTEN_KEEPALIVE
int sum(int a, int b)
{
    return a + b;
}
EMSCRIPTEN_KEEPALIVE
int minus(int a, int b)
{
    return a - b;
}

执行emcc calc.c -o calc.wasm -s --no-entry一样能得到两个函数

工作原理概览和LLVM/Clang介绍

Emscripten 的编译流程如下:

  1. 前端编译:Clang 将 C/C++ 源码编译为 LLVM IR。
  2. 中间优化:LLVM 与 Binaryen 对 IR 做代码精简、循环优化、死代码消除等。
  3. 后端生成:输出 Wasm 二进制模块(.wasm)与 JavaScript 胶水代码(处理 Wasm 加载、内存管理、API 绑定),可选直接生成可运行的 HTML。
C/C++ 源码
   ↓
ClangLLVM 前端) → 生成 LLVM IRLLVM 优化器 → 优化 LLVM IRLLVM 后端 → 生成 原始 WebAssembly 模块
   ↓
Binaryen(wasm-opt) → 优化 Wasm 
   ↓
最终输出:优化后的 .wasm 

这里出现了一些名词:前端/后端/Clang/LLVM/IR,下面简单介绍下这些概念。

1. IR(Intermediate Representation,中间表示)

IR 是编译器在前端(源码解析)后端(目标代码生成) 之间的 “中间语言”,是连接不同源码语言和不同目标平台的桥梁。核心特点如下:

  • 与源码语言无关:不管是 C/C++、Rust、Go 还是 Swift,只要能被 LLVM 前端编译,最终都会转换成统一的 IR。
  • 与目标平台无关:IR 不包含任何 CPU 架构、操作系统的特有指令,只描述 “计算逻辑”。
  • 分层设计:LLVM IR 分为 LLVM IR(文本 / 二进制形式) 和更底层的 Machine IR,前者用于跨平台优化,后者用于针对具体架构生成机器码。

2. LLVM(Low Level Virtual Machine)

LLVM(Low Level Virtual Machine)是一个开源的编译器基础设施项目,
它本质上是一套编译器前端和后端的集合,支持多种编程语言和目标平台。

  • 前端:如 Clang,把 C/C++ 转成 LLVM IR(中间表示)
  • 后端:把 LLVM IR 转成目标机器码(如 x86、ARM、WebAssembly)

Clang

Clang 是 LLVM 项目的一个核心子组件,本质是 LLVM 生态的C/C++/Objective-C 前端编译器,二者是框架与组件的关系 ——LLVM 提供通用的编译基础设施,Clang 负责将 C 系源码转换成 LLVM IR,再由 LLVM 的优化器和后端完成后续流程。

3. Binaryen

Binaryen 是一个专注于 WebAssembly(WASM)的工具链库和优化器
由 WebAssembly 核心团队成员开发和维护(主要用 C++ 实现,带有 JS/Python 接口)。
它的目标是让 WebAssembly 代码更小、更快、更高效

7.98 万元起!秦 PLUS 秦 L 齐上新,纯电续航冲上 210 公里

作者 李华
2026年1月8日 21:21

今晚,比亚迪一口气更新了 2026 款秦 L DM-i 与秦 PLUS DM-i。

价格依然是发布会的核心,2026 款秦 L DM-i 的 210km 超越型售价为 11.68 万元,搭载云辇-C 的 210km 云辇行售价则为 12.68 万元,而入门的 128km 版本在享受购置税补贴后,起步价压到了 9.28 万元。

定位稍低的 2026 款秦 PLUS DM-i 杀价更狠,210km 进取型直接下探到 8.98 万元,这意味着 200 公里以上长续航插混轿车正式进入 8 万元时代,其 128km 版本的起售价则依然维持在 7.98 万元。

简单来说,比亚迪秦系列这次的改款就是换上了更大的电池,并把原本属于汉系列的的底盘和辅助驾驶技术推向 10 万级市场。

比亚迪在发布会上列出了一组数据,说是「四个 2」:25.3 度的大电池、210 公里的纯电续航、2110 公里的综合续航,以及 2.79 升的百公里馈电油耗。

对比现款车型,这种参数层面的提升对日常用车场景的覆盖更为彻底。

210 公里的纯电续航基本意味着大多数城市用户可以做到一周一充,即便在跨城通勤场景下,也能实现纯电驱动,将插混车的使用体验推向纯电车,且让通勤成本再创新低。

而 2110 公里的综合续航则依然保留了插混在长途出行中的补能优势。比亚迪王朝销售事业部总经理路天说:「买一台秦 L 等于拥有一台纯电和一台燃油车」。

除了三电系统的进化,2026 款秦 L DM-i 的看点还在于「3C」   。

首先是云辇-C 智能阻尼车身控制系统,它加入了预瞄功能,能够提前判断路面颠簸并调节悬架阻尼,试图解决入门家轿常见的底盘单薄、细碎震动多等问题。

配合这套系统,比亚迪还推出了一项名为 TBC 的高速爆胎稳行技术。这是一个针对爆胎的补丁,当车辆在 120km/h 至 140km/h 的高速行驶中发生爆胎时,系统能在毫秒级时间内联动云辇-C 稳住车身姿态,防止车辆失控或翻车。

辅助驾驶层面,天神之眼 C 这次也进入了秦家族的配置单。这套系统支持高快领航辅助,号称可以实现自动上下匝道、主动变道超车以及应对施工路段,辅助驾驶能力算是跟上了宝骏、红旗等同价位竞品。

而在细节配置上,比亚迪也有在尝试通过「软硬件组合」来讨好家庭用户。

2026 款秦 L 在座舱内塞入了不少越级功能,比如前排座椅的通风加热、双温区空调,以及 15.6 英寸旋转大屏。

路天表示,为了应对春节长途塞车的场景,车机系统强化了娱乐属性,支持无麦 K 歌、成语接龙等互动功能,甚至联动了倍轻松推出了智能眼罩和颈部按摩仪。针对奶爸奶妈群体,比亚迪还把之前在高端车型上展示过的智能儿童安全座椅搬进了秦 L,支持拉开车门自动转向迎宾,并能通过大屏直接调节座椅的角度与通风。

2026 款秦 PLUS DM-i 则在保持极高性价比的同时,换装了电子怀挡,推出了包括墨竹青、未央灰在内的 7 种新配色。

它存在的意义就是让那套 210km 续航的三电系统和天神之眼智驾系统的门槛变得更低,让刚步入职场的年轻人或者刚组建的小家庭,用不到 9 万元的价格就能获得曾经 15 万级别才有的配置。

回顾刚刚过去的 2025 年,秦家族累计销量突破了 66 万辆,其中秦 PLUS 全年卖出超过 36 万辆,而年中上市的秦 L 在较短的时间内也贡献了超过 28 万辆的销量。这组数据不仅让秦家族稳坐销量榜前列,也体现了比亚迪在供应链控制和产品迭代节奏上的压制力。

如今,2026 款秦家族的上市,又为原本就极其稳固的市场地位上加了一道护城河,继续挤压传统燃油车和跟不上续航内卷节奏的竞品的生存空间。

带轮子的都关注,欢迎交流。 邮箱:tanjiewen@ifanr.com

#欢迎关注爱范儿官方微信公众号:爱范儿(微信号:ifanr),更多精彩内容第一时间为您奉上。

爱范儿 | 原文链接 · 查看评论 · 新浪微博


谱尼测试:股票交易严重异常波动 预计2025年度亏损2亿元-2.5亿元

2026年1月8日 20:52
36氪获悉,谱尼测试公告,公司股票自2025年12月24日至2026年1月8日连续10个交易日内日收盘价格涨幅偏离值累计达到+100%,属于股票交易严重异常波动的情况。公司预计2025年度亏损2亿元到2.5亿元。经核实,公司不存在违反信息公平披露的情形,也无应披露而未披露的重大事项或处于筹划阶段的重大事项。公司提醒广大投资者理性投资,注意投资风险。

宏润建设:股东周美珍计划减持不超0.12%股份

2026年1月8日 20:42
36氪获悉,宏润建设公告,股东周美珍因个人资金需求,计划自公告披露之日起十五个交易日后的三个月内,即2026年1月30日至2026年4月29日,通过集中竞价交易方式减持公司股份不超过150.10万股,占剔除公司回购专用账户股份后总股本的0.12%。减持股份来源:因离婚财产分割、通过非交易过户取得的股份。

知情人士:澜起科技计划于1月在香港进行规模至多10亿美元的股份发售

2026年1月8日 20:36
两名知情人士透露,中国半导体设计企业澜起科技计划最快于本月在香港进行二次上市,拟通过股份发售募资8亿至10亿美元,这也为香港市场火热的融资节奏再添一笔。伦敦证券交易所集团数据显示,若澜起科技此次募资达到10亿美元目标,这将成为自去年9月中国紫金黄金国际以35.3亿美元在港上市以来,香港市场规模最大的新股发行交易。(新浪财经)

重庆开放2025年度汽车置换更新补贴剩余额度申报

2026年1月8日 20:30
36氪获悉,据重庆发布,重庆市商务委消息,根据国家部委有关要求,结合重庆市政策执行实际,对2025年度汽车置换更新补贴剩余额度开放申报。2025年度汽车置换更新补贴剩余额度5960万元,继续按照“总额控制、先报先得、用完即止”原则组织实施。为便于消费者理解、申报和系统运维,本次额度采取新增方式开放申报。有效申报时间为2026年1月10日11:00至24:00或5960万元额度申报完毕。

i茅台调整精品茅台、公斤茅台及马年生肖酒投放

2026年1月8日 20:26
36氪获悉,今日,i茅台调整精品茅台、公斤茅台及马年生肖酒投放:1月9日起,i茅台APP每日09:09上线53% vol 500ml贵州茅台酒(精品),同一用户每日限购6瓶;1月10日起新增飞天53% vol 1L茅台酒(同一用户限购6瓶)及飞天53% vol 100ml礼盒套装。此外,丙午马年贵州茅台酒珍享版(53% vol 500ml)将优化2026年投放节奏,全年设四大节点:新春季(2月10日–16日,腊月二十三至二十九);i茅台品牌日(5月19日—5月25日);中秋季(9月19日–25日,八月初九至十五);冬之约(12月22日–28日)。

两部门督促雀巢(中国)有限公司做好相关批次婴幼儿配方乳粉召回工作

2026年1月8日 20:19
36氪获悉,近日,雀巢公司在欧洲部分国家预防性召回特定批次婴幼儿配方乳粉产品。国务院食安办、市场监管总局对此高度重视,第一时间督促雀巢(中国)有限公司认真落实企业主体责任,召回在中国境内销售的相关批次产品,切实维护消费者合法权益。雀巢(中国)有限公司已按要求实施召回。国务院食安办、市场监管总局将持续强化监管,做好相关工作,全力保障婴幼儿配方乳粉质量安全。

业内人士:市场监管总局约谈6家光伏龙头及行业协会,不得约定产能及销售价格等

2026年1月8日 20:11
日前有市场传闻称,市场监管总局约谈了中国光伏行业协会、通威集团、协鑫科技、大全能源、新特能源、亚洲硅业(红狮)、东方希望,约谈内容涉及通报有关垄断风险,提出明确整改意见并对企业做好整改工作提出要求等。从业内人士处核实,本次约谈确有其事。市场监管总局要求中国光伏行业协会及被约谈企业不得约定产能、产能利用率、产销量及销售价格;不得通过出资比例,以任何形式进行市场划分、产量分配、利润分配;不得当前、今后就价格、成本、产销量等信息开展沟通协调。市场监管总局还要求协会及被约谈企业在1月20日前向市场监管总局提交书面整改措施。 (中证报)

人工智能“上海高地”加速崛起:专业人才近30万 139款大模型完成备案

2026年1月8日 20:10
上海市工业互联网协会编制的《2025上海市“AI+制造”发展白皮书》正式发布。其中显示,截至2025年12月24日,上海已经有139款大模型完成备案,人工智能专业人才近30万,约占全国总数的三分之一,人工智能“上海高地”正加速崛起。(上证报)
❌
❌