当前位置: 首页 > news >正文

uniapp粘贴板地址识别

1: 插件安装

 主要是依靠 address-parse 这个插件:

官网 收货地址自动识别 支持pc、h5、微信小程序 - DCloud 插件市场 

// 首先需要引入插件
npm install address-parse --save

 2:html部分

		<view class=""><view class="center copyContBox"><textarea placeholder='云南省昆明市西山区前福路xxx号,李狗蛋,132xxxxxxxx' v-model="copyContent" style="width: 100%;"></textarea></view><view class="copyBtnBox"><button @click="discernAddAddressBtn" class="copyBtn center">{{$t(`识别地址`)}}</button></view></view><form @submit="formSubmit"><view class='addAddress'><view class='list'><view class='item acea-row row-between-wrapper'><view class='name'>{{$t(`姓名`)}}</view><input type='text' :placeholder='$t(`请输入姓名`)' name='real_name' :value="userAddress.real_name"placeholder-class='placeholder'></input></view><view class='item acea-row row-between-wrapper'><view class='name'>{{$t(`联系电话`)}}</view><input type='number' :placeholder='$t(`请输入联系电话`)' name="phone" :value='userAddress.phone'placeholder-class='placeholder' pattern="\d*"></input></view><view class='item acea-row row-between-wrapper'><view class='name'>{{$t(`所在地区`)}}</view><view class="address"><picker mode="multiSelector" @change="bindRegionChange"@columnchange="bindMultiPickerColumnChange"                     :value="valueRegion" :range="multiArray"><view class='acea-row'><view class="picker">{{region[0]}},{{region[1]}},                {{region[2]}}</view><view class='iconfont icon-dizhi fontcolor'></view></view></picker></view></view><view class='item acea-row row-between-wrapper'><view class='name'>{{$t(`详细地址`)}}</view><input type='text' :placeholder='$t(`请填写具体地址`)' name='detail' placeholder-class='placeholder':value='userAddress.detail'></input></view></view><view class='default acea-row row-middle' @click='ChangeIsDefault'><checkbox-group><checkbox :checked="userAddress.is_default ? true : false" />    {{$t(`设置为默认地址`)}}</checkbox-group></view><button class='keepBnt bg-color' form-type="submit">{{$t(`立即保存`)}}</button><!-- #ifdef MP --><view class="wechatAddress" v-if="!id" @click="getWxAddress">{{$t(`导入微信地址`)}}</view><!-- #endif --></view></form><style scoped lang="scss">.copyContBox{padding: 15rpx;box-sizing: border-box;background-color: #fff;}.copyBtnBox{margin: 15rpx;display: flex;justify-content: flex-end;}.copyBtn{width: 160rpx;height: 60rpx;color: #fff;background-color: #42ca4d;font-size: 25rpx;}.center{display: flex;justify-content: center;align-items: center;}</style>

3:is代码

<script>
import AddressParse from 'address-parse';export default {data() {return {copyContent:"",userAddress: {is_default: false}, //地址详情region: [this.$t(`省`), this.$t(`市`), this.$t(`区`)],}},methods: {discernAddAddressBtn(){let that=this;const result = AddressParse.parse(that.copyContent)[0];if(result==undefined){return  that.$util.Tips({title: that.$t(`粘贴板为空,请将复制的内容放到粘贴板区域`)});}else{if(result.province==""&&result.city==""&&result.area==""&&result.name==""&&result.mobile==""){uni.showModal({title: '温馨提示',content: '请输入正确的地址',success: function (res) {that.userAddress.real_name="";that.userAddress.mobile="";that.userAddress.details="";that.$set(that,'region', ["省","市","区"]);if (res.confirm) {// console.log('用户点击确定',that.useIntegral);} else if (res.cancel) {// console.log('用户点击取消');// 用户点击了取消按钮的相关逻辑可以放在这里}}});}else{that.$set(that.userAddress, 'real_name', result.name);that.$set(that.userAddress, 'phone', result.mobile);if(result.province!=""||result.city!=""||result.area!=""){that.$set(that,'region',[result.province,result.city,result.area]);}else{that.$set(that,'region', ["省","市","区"]);}that.$set(that.userAddress, 'detail', result.details);that.cityId= this.getCityId(that.district,result.province,result.city,result.area).v;}}},// 用粘贴板的省市区 匹配后台返回的省市区 获取城市idgetCityId(arr,province,city,area){if(province!=""&city!=""&area!=""){let obj={}for (let item of arr) {if(item.n == province){if(item.c.length>0){for (let ite of item.c) {if(ite.n == city){if(ite.c.length>0){let obj=ite.c.find((val)=>{return val.n==area})return obj}}}}}}}else{return false;}},},
}
</script>

http://www.lryc.cn/news/424299.html

相关文章:

  • C语言 | Leetcode C语言题解之第335题路径交叉
  • TypeScript学习第十三篇 - 泛型
  • 工业智能网关在汽车制造企业的应用价值及功能-天拓四方
  • LLM - 在服务器中使用 Ollama + OpenWebUI 部署最新大模型
  • 重启人生计划-积蓄星火
  • 2024.08.11 校招 实习 内推 面经
  • LCA(Lowest Common Ancestor)
  • 张钹院士:大模型时代的企业AI发展趋势
  • php连接sphinx的长连接事宜以及sphinx的排除查询以及关于sphinx里使用SetSelect进行复杂的条件过滤或复杂查询
  • 抓包分析排查利器TCPdump
  • 八种排序算法的复杂度(C语言)
  • docker compose部署rabbitmq集群,并使用haproxy负载均衡
  • git强制推送代码教程
  • windows C++-高级并发和异步(三)
  • 河北移动:核心系统数据库成功完成整体迁移 ,实现全栈国产|OceanBase案例
  • ZKRollup
  • letcode 分类练习 树的遍历
  • redisssion分布式锁
  • 嘎嘎嘎拿到去年想要的包
  • 前奏编曲:如何编写二段式前奏
  • 征服云端:Kubernetes如何让微服务与云原生技术如虎添翼
  • 开源AI智能名片系统与高级机器学习技术的融合应用:重塑商务交流的未来
  • Java中synchronized的偏向锁是如何减少锁开销的
  • react18 + ts 使用video.js 直播.m3u8格式的视频流
  • 使用 onBeforeRouteLeave 组合式函数提升应用的用户体验
  • uni-app 吸顶方案总结
  • 【C#】知识汇总
  • 1、Unity【基础】3D数学
  • 虚拟机ubuntu22的扩容记录
  • Docker 常用配置