Vue2:智能地址识别

在项目中,可能会有用户填写地址,需要做成一个类似购物复制用户地址提交货,拿取到用户的名称,电话,收货地址信息.

推荐使用这个插件, 

一. 安装插件依赖

npm install address-parse -save

二. 在需要获取地址的组件中引入插件

import AddressParse,{AREA, Utils} from 'address-parse';

三.使用该插件

//只能填写组件点击确定
    getintelligence() {
      console.log('用户输入的信息内容',this.addruleForm.intelligenceaddress) 
      /**
       * AddressParse.parse(this.addruleForm.intelligenceaddress) //使用组件中的parse方法接收用户的信息 ,返回截取到的对应 姓名 电话 和 地址信息 
       * result : 此返回中值地址的信息 只包含了 区的id ,如果实在PC端的话,省市区三级联动需要拿取到 省id 市id 区id 否则不能联动下拉找不到
       * */
      const result = AddressParse.parse(this.addruleForm.intelligenceaddress);
      /**
       * Utils.getTargetAreaListByCode 拿取区对应的 父级 市id 和 爷爷级 省id
       */
      const [province, city] = Utils.getTargetAreaListByCode('province', result[0].code, true);
      console.log('province',province);
      console.log('city',city);
      /**将获取到的 省id 和 市id 追加到result中 */
      result[0].provinceCode = province.code
      result[0].cityCode = city.code
      //把信息提交给需要用到数据 帮助用户默认填写的页面
      this.$emit("intelligence", result);
       this.open = false
       this.empty()
    },

页面组件:

 1.只能填写的组件

四: 页面中拿取到组件传递过来的数据

getintelligence(datas) {
      //子组件传递过来的数据
      let data = datas[0]
      this.ruleForm.consignee = data.name;
      this.ruleForm.mobile = data.mobile;
      let sheng = data.provinceCode;
      let shi = data.cityCode;
      let qu = data.code;

      
      //判断 省 市  区 是否为空
      if (sheng && sheng && qu) {
        this.provinces = [sheng, shi, qu];
        this.ruleForm.address = data.details
        for (let i in this.provinces) {
          //只能填写省市区 识别省市区 长度为6 不为6向字符串末尾追加
          if (this.provinces[i].length != 6) {
            // padEnd 向字符串末尾增加到指定长度得 内容 (指定长度,追加的内容)
            this.provinces[i] = parseInt(this.provinces[i].padEnd(6, "0"));
          } else {
            this.provinces[i] = parseInt(this.provinces[i]);
          }
        }
      }

      //提交信息获取省市区数据
      this.ruleForm.province = this.provinces[0]; //省
      this.ruleForm.city = this.provinces[1]; //市
      this.ruleForm.area = this.provinces[2]; //区
      //关闭弹窗
      this.$refs.intelligence.open = false;
    },

提示:需要引用组件地址和注册组件

 ref: 可以拿取到 更改 或者调用组件的 变量 , 方法

使用: this.$refs.自己定义组件中的ref名称.(组件的变量 || 组件的方法名()   )

但是因为此组件库,已经不更新了,如果某市新增一新区,智能输入可能选取不到,因为element联级组件,需要所有层级的对应id相同才能选中,如果出现缺少,则不会选中.

因此可能需要自己修改下此组件库.但是更改后后端发布上去还是不会有更改的效果,因为git提交仓库会自动不让module文件夹,但是前端的话就只能改module里面对应的组件代码.

所以我们可以自己在此组件的github组件库 :https://github.com/akebe/address-parse

然后自己拉取下拉

这就是这个组件库所需要的代码

主要更改的内容就是src下面的area.js文件夹,因为里面对应匹配的数据内容就是在area.js中数据,只要把对应的数据更改为,你们自己项目中所需要的省市区信息内容即可 替换掉area.js原来的数据.

area对象中,保存的就是匹配对比只能选取的地址数据,只要把area.area_list中的数据替换更新即可

mian.js中的配置

这里面的及时当时自己引用组件库中的方法 直接给绑定到自己Vue原型上即可调用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
作为AI智能领域的重要应用之一,人脸识别已经被广泛应用于很多领域,如安防监控、智能门锁、出行服务等。在人脸识别的实现过程中,后端的框架技术、数据库的存储技术和前端的展示技术都是至关重要的。本文将介绍如何使用SpringBoot、Vue、MyBatis实现人脸识别应用。 一、技术架构与选型 1、技术架构 前端使用Vue框架,实现数据的展示和用户交互;后端使用SpringBoot框架,实现接口的创建和数据的处理;数据库使用MySQL,存储用户信息和人脸数据;人脸识别引擎使用Face++,实现人脸检测、识别等功能。 2、技术选型 Vue:轻量级、MVVM架构、组件化开发。 SpringBoot:基于Spring、快速开发、自动配置。 MyBatis:ORM框架、减少SQL代码量、提高效率。 MySQL:流行的关系型数据库、易于使用。 Face++:全球领先的人脸识别技术提供商、稳定可靠、安全性高。 二、技术实现 1、前端实现 前端的实现主要包括如下两个方面: (1)页面展示 使用Vue.js创建页面,并通过axios发起请求与后端进行交互。通过展示人脸照片、关键信息列表、系统设置等功能,可以帮助用户更好地进行人脸检索。 (2)人脸识别 通过Face++提供的API接口,可以实现人脸检测、剪裁、人脸搜索等功能。具体实现过程如下: 1)人脸检测和剪裁:通过调用Face++提供的detect接口,可以检测上传的图片是否包含人脸,如果有则返回人脸在图片中的位置和关键点位置,再根据位置信息和关键点位置将人脸从原始图片中剪裁出来。 2)人脸搜索:通过调用Face++提供的search接口,可以将剪裁出来的人脸与存储在MySQL数据库中的人脸库图片逐一比对,返回最相似的人脸信息。 2、后端实现 后端的实现主要包括如下两个方面: (1)接口创建 利用SpringBoot提供的@RestController注解,可以创建多个RESTful风格的接口,如上传图片、搜索人脸信息、查询人员名单等。 (2)数据处理 利用MyBatis提供的ORM功能,可以将请求的数据与MySQL数据库中的表进行增删查改等操作。将人脸库的图片存储在云端服务器中,并将图片的地址存储在MySQL数据库中,保证数据的安全性和备份性。 三、技术难点 1、人脸检测和剪裁 在必须保证人脸剪裁的准确性和效率的前提下,如何确保系统的稳定性和性能优化是人脸检测和剪裁的两个难点。 2、人脸搜索 在实现人脸搜索的过程中,如何确保人脸识别的准确性和系统的稳定性是人脸搜索的两个关键难点。 四、总结 通过使用SpringBoot、Vue、MyBatis等技术,本文成功实现了一个基于Face++人脸识别引擎的人脸识别应用。该应用可以在安防监控、智能门锁、出行服务等领域广泛应用,为社会的发展和人们的生活提供了更加安全和便捷的保障。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值