更新记录

1.1.1(2025-12-25)

  • 移除调试代码

1.1.0(2025-12-25)

  • 重构安卓端识别代码
  • 新增支持车牌号、VIN信息识别功能

1.0.8(2025-05-18)

修复在uniapp项目中识别不到的bug

查看更多

平台兼容性

uni-app(4.85)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android Android插件版本 iOS 鸿蒙
× × × × × - 5.1 1.0.0 × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × - × ×

uni-app x(4.85)

Chrome Safari Android Android插件版本 iOS 鸿蒙 微信小程序
× × 5.1 1.0.0 × × ×

xwq-mlkit-card-text

开发文档说明

  • 插件支持身份证信息、VIN、汽车车牌号码识别

初始化参数说明

属性 类型 默认值 描述
recognizeType string IDCARD 识别类型,默认身份证,可选值:VIN、PLATE(车牌)、IDCARD(身份证)
type number 1 当recognizeType为IDCARD时生效,1-正面 2-反面
scanBoxHeight number -- 识别框高度设置,可自行调整
scanBoxTitle string -- 识别框顶部的文案内容
scanBoxTitleColor string -- 识别框顶部的文案内容颜色
scanBoxTitleSize number 16 识别框顶部的文案内容字号大小

识别成功回调函数参数对象说明

属性 类型 描述
address string 地址
csDate string 出生年月
id string 身份证号
name string 姓名
national string 民族
sex string 性别
validTime string 有效期(recognizeType类型为IDCARD且type为2反面识别时有返回值)
plate string 车牌号(recognizeType类型为PLATE识别时有返回值)
vin string 车牌号(recognizeType类型为VIN识别时有返回值)

插件在页面调用示例

  • uniappX项目
<template>
    <view>
        <button @click="recognizeIDCARD">识别身份证信息</button>
        <button @click="recognizeVIN">识别VIN信息</button>
        <button @click="recognizePlate">识别车牌信息</button>

        <view class="result" style="padding: 20px;width: 100%;height: 300px;background-color: #f2f2f2;">
            <textarea name="result" id="test" cols="30" rows="10" v-model="result"
                placeholder="识别内容将显示在这里..."></textarea>
        </view>
    </view>
</template>

<script setup>
    import { openCardCamera } from '@/uni_modules/xwq-mlkit-card-text';
    import { InitParamsType, CallbackValType, ErrorCallbackValType } from '@/uni_modules/xwq-mlkit-card-text/utssdk/interface.uts';

    const result = ref('')
    /**
     * 识别VIN
     */
    const recognizeVIN = () => {
        openCardCamera({
            recognizeType: "VIN", //识别类型,默认身份证,可选VIN、PLATE(车牌)、IDCARD(身份证)
            type: 1,//当recognizeType为IDCARD时生效,1-正面  2-反面
            scanBoxHeight: 200,//识别框高度设置
            scanBoxTitle: "请将VIN对准在框内,自动识别内容", //识别框顶部的文案内容
            scanBoxTitleColor: "#ffff00",//识别框顶部的文案内容颜色
            scanBoxTitleSize: 16,//识别框顶部的文案内容字号大小
            success: (val : CallbackValType) => {
                console.log('识别结果===type:', val.type + `,val: ${val.option.vin}`)
                result.value = JSON.stringify(val)
            },
            error: (val : ErrorCallbackValType) => {
                console.log('识别失败==', val);
                uni.showToast({
                    title: "没有识别到VIN信息"
                })
            },
            cancel: () => {
                console.log('用户取消扫码')
            }
        } as InitParamsType);
    };

    /**
     * 识别身份证信息
     */
    const recognizeIDCARD = () => {
        openCardCamera({
            recognizeType: "IDCARD", //识别类型,默认身份证,可选VIN、PLATE(车牌)、IDCARD(身份证)
            type: 1,//当recognizeType为IDCARD时生效,1-正面  2-反面
            scanBoxHeight: 600,//识别框高度设置
            scanBoxTitle: "请将身份证对准在框内,自动识别内容", //识别框顶部的文案内容
            scanBoxTitleColor: "#ffff00",//识别框顶部的文案内容颜色
            scanBoxTitleSize: 16,//识别框顶部的文案内容字号大小
            success: (val : CallbackValType) => {
                console.log('识别结果===type:', val.type + `,val: ${JSON.stringify(val.option)}`)
                result.value = JSON.stringify(val)
            },
            error: (val : ErrorCallbackValType) => {
                console.log('识别失败==', val);
                uni.showToast({
                    title: "没有识别到IDCARD信息"
                })
            },
            cancel: () => {
                console.log('用户取消扫码')
            }
        } as InitParamsType);
    };

    //识别车牌信息
    const recognizePlate = () => {
        openCardCamera({
            recognizeType: "PLATE", //识别类型,默认身份证,可选VIN、PLATE(车牌)、IDCARD(身份证)
            type: 1,//当recognizeType为IDCARD时生效,1-正面  2-反面
            scanBoxHeight: 200,//识别框高度设置
            scanBoxTitle: "请将PLATE对准在框内,自动识别内容", //识别框顶部的文案内容
            scanBoxTitleColor: "#ffff00",//识别框顶部的文案内容颜色
            scanBoxTitleSize: 16,//识别框顶部的文案内容字号大小
            success: (val : CallbackValType) => {
                console.log('识别结果===type:', val.type + `,val: ${val.option.plate}`)
                result.value = JSON.stringify(val)
            },
            error: (val : ErrorCallbackValType) => {
                console.log('识别失败==', val);
                uni.showToast({
                    title: "没有识别到PLATE信息"
                })
            },
            cancel: () => {
                console.log('用户取消扫码')
            }
        } as InitParamsType);
    }
</script>

<style>

</style>
  • uniapp项目
<template>
    <view>
        <button @click="recognizeIDCARD">识别身份证信息</button>
        <button @click="recognizeVIN">识别VIN信息</button>
        <button @click="recognizePlate">识别车牌信息</button>

        <view class="result" style="padding: 20px;width: 100%;height: 300px;background-color: #f2f2f2;">
            <textarea name="result" id="test" cols="30" rows="10" v-model="result"
                placeholder="识别内容将显示在这里..."></textarea>
        </view>
    </view>
</template>

<script setup>
    import { openCardCamera } from '@/uni_modules/xwq-mlkit-card-text';

    const result = ref('')
    /**
     * 识别VIN
     */
    const recognizeVIN = () => {
        openCardCamera({
            recognizeType: "VIN", //识别类型,默认身份证,可选VIN、PLATE(车牌)、IDCARD(身份证)
            type: 1,//当recognizeType为IDCARD时生效,1-正面  2-反面
            scanBoxHeight: 200,//识别框高度设置
            scanBoxTitle: "请将VIN对准在框内,自动识别内容", //识别框顶部的文案内容
            scanBoxTitleColor: "#ffff00",//识别框顶部的文案内容颜色
            scanBoxTitleSize: 16,//识别框顶部的文案内容字号大小
            success: (val) => {
                console.log('识别结果===type:', val.type + `,val: ${val.option.vin}`)
                result.value = JSON.stringify(val)
            },
            error: (val) => {
                console.log('识别失败==', val);
                uni.showToast({
                    title: "没有识别到VIN信息"
                })
            },
            cancel: () => {
                console.log('用户取消扫码')
            }
        });
    };

    /**
     * 识别身份证信息
     */
    const recognizeIDCARD = () => {
        openCardCamera({
            recognizeType: "IDCARD", //识别类型,默认身份证,可选VIN、PLATE(车牌)、IDCARD(身份证)
            type: 1,//当recognizeType为IDCARD时生效,1-正面  2-反面
            scanBoxHeight: 600,//识别框高度设置
            scanBoxTitle: "请将身份证对准在框内,自动识别内容", //识别框顶部的文案内容
            scanBoxTitleColor: "#ffff00",//识别框顶部的文案内容颜色
            scanBoxTitleSize: 16,//识别框顶部的文案内容字号大小
            success: (val) => {
                console.log('识别结果===type:', val.type + `,val: ${JSON.stringify(val.option)}`)
                result.value = JSON.stringify(val)
            },
            error: (val) => {
                console.log('识别失败==', val);
                uni.showToast({
                    title: "没有识别到IDCARD信息"
                })
            },
            cancel: () => {
                console.log('用户取消扫码')
            }
        });
    };

    //识别车牌信息
    const recognizePlate = () => {
        openCardCamera({
            recognizeType: "PLATE", //识别类型,默认身份证,可选VIN、PLATE(车牌)、IDCARD(身份证)
            type: 1,//当recognizeType为IDCARD时生效,1-正面  2-反面
            scanBoxHeight: 200,//识别框高度设置
            scanBoxTitle: "请将PLATE对准在框内,自动识别内容", //识别框顶部的文案内容
            scanBoxTitleColor: "#ffff00",//识别框顶部的文案内容颜色
            scanBoxTitleSize: 16,//识别框顶部的文案内容字号大小
            success: (val) => {
                console.log('识别结果===type:', val.type + `,val: ${val.option.plate}`)
                result.value = JSON.stringify(val)
            },
            error: (val) => {
                console.log('识别失败==', val);
                uni.showToast({
                    title: "没有识别到PLATE信息"
                })
            },
            cancel: () => {
                console.log('用户取消扫码')
            }
        });
    }
</script>

<style>

</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

相机

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: