{
private $appid
private $appKey
private $secretKey
public function __construct(){
$this->appid= config('api.baidu.appid')
$this->appKey = config('api.baidu.apikey')
$this->secretKey = config('api.baidu.secretkey')
}
//百度ai接口--文字识别--车牌号识别
public function getCarNumber($_imgurl,$_img=''){
$_token = $this->getToken()
$_url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate?access_token='.$_token
if($_img){
$_data = [
'image'=>$_img//图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式
]
}else{
$_data = [
'url'=>request()->domain().'/'.$_imgurl
]
}
$_res = json_decode(httpGet($_url,$_data),true)
/庆穗/TODO 此处只返回false没有终止,是因为程序执行流程需要,后期可能要改
if(isset($_res['error_msg'])) return false
return $_res['words_result']['number']
}
//获取token
private function getToken(){
if(cache('baidu_token')){
$_access_token = cache('baidu_token')
}else{
$_url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='.$this->appKey.'&client_secret='.$this->secretKey
$res = json_decode(httpGet($_url),true)
if(isset($res['error']))TApiException($res['error_description'])//终止程序并抛出异常
$_access_token = $res['access_token']
$_expires_in = $res['粗轮expires_in']
cache('baidu_token',$_access_token,($_expires_in-1000))//我喜欢少存1000秒,没有为什么,问就是癖好
}
return $_access_token
}
}
这是ThinkPhp5.1后端封装的百度AI接口类,getToken()获取凭证,getCarNumber()请求$_url 返回识别结果,这个是车牌号码识岩差信别,车型识别等其他接口大部分都一样,就换个请求地址$_url就行
//接口:
public function getImgCarNum(){
$_number = (new BaiDuAiBaseController())->getCarNumber(false,request()->param('img'))
return self::myShow('申请成功',['carNum'=>$_number])
}
小程序端正常request请求上面的接口就行,下面是微信小程序拍照识别功能
//拍照
goImgSearch(){
uni.chooseImage({
count:1,
sizeType: ['compressed'],//original 原图,compressed 压缩图
sourceType: ['album','camera'],//camera 相机 album相册
success:(r)=>{
console.log(r)
//执行识别车牌号码
this.img = r.tempFilePaths[0]
this.urlTobase64(r.tempFilePaths[0])
}
})
},
//识别车牌号码
urlTobase64(url){
uni.showLoading({
title:'拼命识别车牌中..'
})
//#ifdef MP-WEIXIN
uni.getFileSystemManager().readFile({
filePath: url, //选择图片时返回的路径
encoding: "base64",//这个是很重要的
success: res =>{ //成功的回调
//返回base64格式
let base64 = 'data:image/jpegbase64,' + res.data
//发送请求,识别车牌号码
this.$H.post('/getImgCarNum',{
img:base64 //图片数据
},{
token:true //必须登录
}).then((res)=>{
console.log(res.carNum)
if(!res.carNum){
uni.hideLoading()
return uni.showModal({
title:'识别失败',
content:'没能识别到车牌号码,请拍张清晰的图片再试哦,谢谢',
showCancel:false
})
}
uni.showToast({
title:'识别车牌成功',
icon:'none'
})
this.searchUser = res.carNum
this.userCarNum = res.carNum
uni.hideLoading()
}).catch((e)=>{
uni.hideLoading()
return uni.showModal({
title:'识别失败',
content:'没能识别到车牌号码,请拍张清晰的图片再试哦,谢谢',
showCancel:false
})
})
},
fail:(e)=>{
console.log(e)
}
})
//#endif
},
开发一个汽车小程序要多少钱?
其实就好比一件汽车,可以让汽车制作厂家为你量身定做一辆,也可以在4S店直接选购一辆,这也是导致价格区别的主要因素。
一、模版小程序
模版小程序是由开发小程序的企业事前将小程序开发出来,随后一套小程序能够卖给多人,开发企业销售小程序的时候无需再次开发,直接销售就可以。
益处是价钱便宜、小程序功能健全、搭建时间比较短。适合针对小程序没有独特功能要求的公司。
弊端是不可以开展二次开发,功能固定不动。
价钱大约在一万以下,价钱差别关键取决于功能,比如企业官网展示小程序、商城小程序、社区团购小程序、分销小程序、跑腿外卖网上订餐小程序这些的价钱是不一样的。
二、定制开发小程序
定制开发小程序是由开发企业专业技术人员依据规定设计方案要求设计网页页面、明确功能、制作后台管理来进行的小程序,归陆渗属于一对一的小程序。给A公司开发的是根据A公司的页面功能要求开发给B企业开发的是依据B公司的网页页面功能规定开发。
益处是能够开展滑悉源二次开发信态、有小程序源代码
弊端是价钱高、开发时间长
价钱大约在几万元到十几万之间,价钱高低关键在于功能要求和界面设计要求。
您好,方法1、微信小程序是一个免除下载安装直接使用的应用,使用微信【扫一扫】或者是【搜一搜】就可以打开应用。
2、微信小程序如今存在线下扫码、公众号关注、消息通知等多种功能。
3、在微信小程序中,可以向有所了解的技术员寻求帮助。他们会为客户查找微信小程序源码,这样我们就可以看到微信小程序源码了。
4、现如今各大企业项目公司都会培养一些专业的工作人员。他们会运孝梁用现有的技术查看源码。
5、查找小程序源码很拿前简单,并且该源码会跟销售产品量成正比关系。
6、如下图,给我们的信息可以告诉我们查看微信小程序源码很有必要且又很有重要性。
7、对于查看微信小程序源码以及它的价值,如下图给与了详细解释。跟客户需求量很有关系。
8、如今网络巧敏运市场发展十分迅速,微信小程序就是其中一个热门市场点,查看源码就是微信小程序最重要的地方。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)