【微信小程序调用百度API实现图像识别实战】-前后端加强版

news/2024/11/17 1:30:08/

前言:基于前面两篇图像识别项目实战文章进行了改造升级。

第一篇 入门【小程序>微信小程序调用百度API实现图像识别功能】----项目实战

第二篇 前后端结合 【小程序>微信小程序调用百度API实现图像识别实战】----前后端分离

这一篇主要讲述的是在第二篇的基础上新增意见反馈功能,并将识别结果中名称和置信度意见和联系方式保存到数据库中。

目录

 一.意见反馈功能

 1.1前端页面

 1.1.1 WXML

1.1.2 WXSS 

1.1.3 JSON 

 1.1.4 JS 

 1.1.5 实现效果

 1.2后端服务

1.2.1 代码示例

1.2.2 终端打印效果 

sql%C2%A0-toc" style="margin-left:80px;">1.2.3 连接Mysql 

 1.2.4 数据库

 二.图像识别结果保存至数据库

三.结尾(源码获取) 


 一.意见反馈功能

 1.1前端页面

 1.1.1 WXML

<view><view class="page-section"><view class="page-section-title">留言内容</view><view class="textarea-wrp"><textarea style="height: 8em" placeholder="请输入您的留言" bindinput="bindMessageInput" value="{{message}}" /></view></view><view class="page-section"><view class="page-section-title">联系方式</view><view class="textarea-wrp"><input class="textarea-wrp" placeholder="(请输入您的联系方式)" bindinput="bindNameInput" value="{{name}}"/></view></view><view style="height: 12px;"></view><view class="page-section"><button bindtap="submitFeedback">提交</button>  </view>
</view>

1.1.2 WXSS 

/* pages/yijian/yijian.wxss */
page {background: #eee;
}
.success {background: #fff;padding-bottom: 40rpx;
}
.congratulation {text-align: center;line-height: 210rpx;font-size: 38rpx;
}
.success-icon {position: relative;top: 10rpx;margin-right: 20rpx;
}
.submit-button {margin: 20rpx 130rpx 0 130rpx;line-height: 100rpx;border-radius: 10rpx;text-align: center;color: #ffffff;font-size: 38rpx;
}
.nocate{text-align: center;  
} 
.page-section{margin-top: 50rpx;margin-bottom: 10rpx;margin-left: 30rpx;margin-right: 30rpx;
}
.page-section-title{font-size: 36rpx;color: #222222;margin-bottom: 10rpx;padding-left: 30rpx;padding-right: 30rpx;
}
.textarea-wrp {padding: 10rpx 25rpx;background-color: #fff;font-size: 32rpx;color: #404040;border-radius: 15rpx;
}button {  width: 100%;  height: 100rpx;  background-color: #007aff;  color: #fff;  border: none;  border-radius: 4rpx;  
}

1.1.3 JSON 

{"navigationBarTitleText": "意见反馈"
}

 1.1.4 JS 

Page({  data: {  Name: '',  Message: ''},  bindNameInput: function(e) {  this.setData({  Name: e.detail.value  });  },  bindMessageInput: function(e) {  this.setData({  Message: e.detail.value  });  },  submitFeedback: function() {  const Name = this.data.Name;  const Message = this.data.Message;  if (!Name || !Message) {  wx.showToast({  title: '请填写完整信息',  icon: 'none'  });  return;  }wx.request({  url: 'http://127.0.0.1:5000/feedback', // 替换为你的 Flask 服务器 URL  method: 'POST',  data: {  Name: Name,  Message: Message  },  success: function(res) {  if (res.data.status === 'success') {  wx.showToast({  title: '提交成功',  icon: 'success'  });  } else {  wx.showToast({  title: '提交失败',  icon: 'none'  });  }  },  fail: function() {  wx.showToast({  title: '网络错误',  icon: 'none'  });  }  });  }  
});

 1.1.5 实现效果

 1.2后端服务

1.2.1 代码示例

注意前端url接口是 http://端口号/feedback,发送POST请求。

@app.route('/feedback', methods=['POST'])
def feedback():data = request.jsonname = data.get('Name')message = data.get('Message')# 打印接收到的数据到终端print(f"Received feedback from {name}: {message}")# 返回成功响应给小程序return jsonify({'status': 'success'})

1.2.2 终端打印效果 

 

sql%C2%A0">1.2.3 连接Mysql 

 前面我们看到了打印是没问题的,下一步创建数据库和相应的表,在后端编写连接数据库代码。

 # 连接到MySQL数据库conn = pymysql.Connect(host='localhost', port=3XXX, user='XXX', password='XXX', database='XXX')  # 创建连接cursor = conn.cursor() # 插入数据到advice表中insert_query = "INSERT INTO advice (XXX, XXX) VALUES (%s, %s)"values = (name, message)cursor.execute(insert_query, values)conn.commit()# 关闭数据库连接cursor.close()conn.close()

 1.2.4 数据库

 打开数据库,上传意见成功后,刷新表就可以看到相应的数据。

 二.图像识别结果保存至数据库

 方法和意见反馈差不多,只是表和字段不同

 实现效果:

 

三.结尾(源码获取) 

 看到这里,你是否有所收获呢,创作不易,源码见评论区,点赞+关注+留言支持一下叭~,后续还会在此基础上进行升级,敬请关注,评论区留下你的看法。


http://www.ppmy.cn/news/1446701.html

相关文章

webox微信群发器多少钱?电脑微信群发软件哪个好用?微信群发助手一次能发多少人?最强稳定群发器来袭

今天给大家推荐一款我们目前在使用的电脑群发工具WeBox&#xff0c;不仅可以无限多开&#xff0c;方便你同时管理多个账号&#xff0c;群发功能更是十分强大&#xff0c;轻松释放你的双手。 软件下载地址>>密码&#xff1a;4as1 WeBox群发功能 下载WeBox打开登录&#x…

案例分享:使用RabbitMQ消息队列和Redis缓存优化Spring Boot秒杀功能

作者介绍&#xff1a;✌️大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 推荐订阅精彩专栏 &#x1f447;&#x1f3fb; 避免错过下次更新 Springboot项目精选实战案例 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c…

【论文笔记】Training language models to follow instructions with human feedback A部分

Training language models to follow instructions with human feedback A 部分 回顾一下第一代 GPT-1 &#xff1a; 设计思路是 “海量无标记文本进行无监督预训练少量有标签文本有监督微调” 范式&#xff1b;模型架构是基于 Transformer 的叠加解码器&#xff08;掩码自注意…

探秘STM32与MPU6050传感器:姿态检测的奥秘

探秘STM32与MPU6050传感器&#xff1a;姿态检测的奥秘 在嵌入式系统中&#xff0c;MPU6050传感器是一款常用的六轴惯性传感器&#xff0c;可以实现姿态检测等功能。结合STM32微控制器&#xff0c;我们可以更好地利用MPU6050传感器&#xff0c;实现姿态检测等应用。本文将带您深…

k8s中,configMap与环境变量的关系

总结 在Kubernetes中&#xff0c;ConfigMap和环境变量都可以用于向容器传递配置信息。以下是它们的区别&#xff1a; 环境变量&#xff1a;这是一种将配置信息直接注入到容器中的方法。它们在容器启动时被设置&#xff0c;并且在容器的生命周期内保持不变。ConfigMap&#xf…

触发器的查看和删除

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 如果想查看当前所有的触发器信息&#xff0c;可以使用数据字典 user_triggers&#xff0c;这个数据字典有很多字段可以查看所有触发器的名称、类型、表名、拥有者等信息。 …

WAF(Web Application Firewal)

WAF&#xff0c;即Web Application Firewall&#xff0c;是一种专注于保护Web应用程序免受恶意攻击的安全解决方案。它工作在应用层&#xff08;OSI模型的第7层&#xff09;&#xff0c;专门设计用于检测、拦截和预防各种针对Web应用的攻击企图。以下是WAF防火墙的关键特点和功…

MongoDB聚合运算符:$strLenCP

MongoDB聚合运算符&#xff1a;$strLenCP $strLenCP聚合运算符返回指定字符串中 UTF-8 代码点的数量。 语法 { $strLenCP: <string expression> }<expression>为可解析为字符串的表达式&#xff0c;如果解析为null或引用了不存在的字段&#xff0c;返回错误。 …