# MobileModels 设备查询

# 设备识别

当前模式基于 `dist/device_index.json` 内存索引查询，适合页面快速识别与联调。

- Android / iOS：通常只需要 `platform` 和 `model_raw`。
- HarmonyOS：通常只需要 `platform` 和 `model_raw`。
- 请直接使用客户端原始上报值，不要手动改写。

平台
设备标识 `model_raw`

## 识别结果

输入设备字段后开始识别。

## 候选列表

# | 分数 | 设备 | 品牌 / 厂商 | 类型 | 命中字段 | 来源详情
--- | --- | --- | --- | --- | --- | ---
暂无结果

## 调试数据 JSON

    {}

# SQL 查询

当前模式直接查询 MySQL 主表 `mobilemodels.mm_device_catalog`，结果与线上 SQL 接入保持一致。

- 输入客户端原始上报值，服务端会先归一化为 `alias_norm`，再查询 MySQL。
- 当前读链路使用只读账号，便于核对 SQL 查询结果与连接配置。
- 推荐新接入优先对接 `mm_device_catalog`，兼容链路再使用视图。

只读连接参数

Host

加载中...

平台
设备标识

## SQL 查询结果

输入设备标识后开始查询 MySQL。

## 返回结果

# | 命中标识 | 设备 | 品牌 / 厂商 | 类型 | 来源
--- | --- | --- | --- | --- | ---
暂无结果

## 执行 SQL

    -- 暂无 SQL

## 返回 JSON

    {}

# 相关文档

这里统一整理页面调试、MySQL 接入和兼容查询相关说明，直接在当前页面查看，不再跳转到单独页面。

## MySQL 设计说明

/docs/mysql-query-design.md

    加载中...

### 主推查询表

    mobilemodels.mm_device_catalog

### 兼容视图

    mobilemodels.mm_device_lookup
    mobilemodels.mm_device_record
    mobilemodels.models
    python_services_test.models

### 归一化规则

    全部转小写
    只保留 [0-9a-z中文]
    去掉空格、横线、下划线和其他标点

    SM-G9980  -> smg9980
    iPhone14,2 -> iphone142
    NOH-AL00  -> nohal00

### 主推 SQL

    SELECT
      model,
      record_id,
      alias_norm,
      device_name,
      brand,
      manufacturer_brand,
      parent_brand,
      market_brand,
      device_type,
      source_file,
      section,
      source_rank,
      source_weight,
      code,
      code_alias,
      ver_name
    FROM mobilemodels.mm_device_catalog
    WHERE alias_norm = ?
    ORDER BY source_rank ASC, record_id ASC
    LIMIT 20;

### 兼容旧结构 SQL

    SELECT
      model,
      dtype,
      brand,
      brand_title,
      code,
      code_alias,
      model_name,
      ver_name
    FROM python_services_test.models
    WHERE model = ?
    LIMIT 20;