@superpigy
2025-02-26T18:19:10.000000Z
字数 1797
阅读 58
假设
getApp().globalData.context为保存的当前页面上下文
事件名称 recognition_done 为识别完成事件
事件名称 capture_done 为采集完成事件
const custom_callback = (res) =>{
if(getApp().globalData.context.__route__ === {{当前页面路由}}){
if(res.event === 'recognition_done' || res.event === 'capture_done'){
console.log(res)
getApp().globalData.context.on_hamuna_sdk_callback(res)
}
}
}
console.log('custom event registered')
try{
wx.onCustomEvent(custom_callback)
}
catch(e){
}
app.globalData.context.capturing = true
wx.capture({
pool_id: {{识别池ID}},
loading_id: {{自定义变量}},
success(res){
console.log(res)
app.globalData.context.on_hamuna_sdk_callback(res)
},
fail(e){
console.log(e.errmsg)
app.globalData.context.notify.show("牛脸识别模块出现错误", "error")
}
})
app.globalData.context.capturing = true
wx.recognition({
pool_id: {{识别池ID}},
pool_name: {{对应名称}},
success: function(res){
console.log(res)
app.globalData.context.on_hamuna_sdk_callback(res)
},
fail: function(e){
console.log(e.errmsg)
app.globalData.context.notify.show("牛脸识别模块出现错误", "error")
}
})
on_hamuna_sdk_callback(res){
if(res.event === 'capture_done'){
var pool_id = res.data.pool_id
if(pool_id != app.globalData.context.data.order.bind_pool_id){
console.log('pool id not match')
return
}
if(app.globalData.context.capturing){
console.log('data changed')
app.globalData.context.setData({
data_changed: true
})
}
else{
}
}
else if(res.event === 'recognition_done'){
var pool_id = res.data.pool_id
if(pool_id != app.globalData.context.data.order.bind_pool_id){
return
}
if(res.data.matched){
if(app.globalData.context.capturing){
console.log('data changed')
app.globalData.context.setData({
data_changed: true
})
}
else{
}
}
else{
console.log('wrong matched')
app.globalData.context.setData({
has_wrong_matched: true
})
if(!app.globalData.context.capturing){
}
else{
util.showModal("牛脸验证", "检测到匹配失败的牛只, 是否查看", function(res){
if(!res.cancel){
app.globalData.context.show_wrong_matches()
}
})
}
}
}
},