package com.cl.utils;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONObject;
import com.baidu.aip.ocr.AipOcr;
import com.baidu.aip.imageclassify.AipImageClassify;
/**
* 类说明 :
*/
public class BaiduUtil {
/**
* 根据经纬度获得省市区信息
* @param lon 纬度
* @param lat 经度
* @param coordtype 经纬度坐标系
* @return
*/
public static Map<String, String> getCityByLonLat(String key, String lng, String lat) {
String location = lat + "," + lng;
try {
//拼装url
String url = "http://api.map.baidu.com/reverse_geocoding/v3/?ak="+key+"&output=json&coordtype=wgs84ll&location="+location;
String result = HttpClientUtils.doGet(url);
JSONObject o = new JSONObject(result);
Map<String, String> area = new HashMap<>();
area.put("province", o.getJSONObject("result").getJSONObject("addressComponent").getString("province"));
area.put("city", o.getJSONObject("result").getJSONObject("addressComponent").getString("city"));
area.put("district", o.getJSONObject("result").getJSONObject("addressComponent").getString("district"));
area.put("street", o.getJSONObject("result").getJSONObject("addressComponent").getString("street"));
return area;
}catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 获取API访问token
* 该token有一定的有效期,需要自行管理,当失效时需重新获取.
* @param ak - 百度云官网获取的 API Key
* @param sk - 百度云官网获取的 Securet Key
* @return assess_token
*/
public static String getAuth(String ak, String sk) {
// 获取token地址
String authHost = "https://aip.baidubce.com/oauth/2.0/token?";
String getAccessTokenUrl = authHost
// 1. grant_type为固定参数
+ "grant_type=client_credentials"
// 2. 官网获取的 API Key
+ "&client_id=" + ak
// 3. 官网获取的 Secret Key
+ "&client_secret=" + sk;
try {
URL realUrl = new URL(getAccessTokenUrl);
// 打开和URL之间的连接
HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
connection.setRequestMethod("GET");
connection.connect();
// 获取所有响应头字段
Map<String, List<String>> map = connection.getHeaderFields();
// 遍历所有的响应头字段
for (String key : map.keySet()) {
System.err.println(key + "--->" + map.get(key));
}
// 定义 BufferedReader输入流来读取URL的响应
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String result = "";
String line;
while ((line = in.readLine()) != null) {
result += line;
}
/**
* 返回结果示例
*/
System.err.println("result:" + result);
org.json.JSONObject jsonObject = new org.json.JSONObject(result);
String access_token = jsonObject.getString("access_token");
return access_token;
} catch (Exception e) {
System.err.printf("获取token失败!");
e.printStackTrace(System.err);
}
return null;
}
//设置APPID/AK/SK
public static final String APP_ID = "40927715";
public static final String API_KEY = "DPinK7BkM3yI4Qptnr0eFZNH";
public static final String SECRET_KEY = "wmZbglKccAGMBwzZCyn9IVQfK2ObRAtc";
private static AipOcr ocrClient = null;
/**
* 识别图片上的文本内容,转成文字字符串返回
* @param imagePath 图片文件的路径
*/
public static String generalString(String imagePath, boolean isNewline){
try{
HashMap<String, String> options = new HashMap<String, String>();
options.put("language_type", "CHN_ENG"); //CHN_ENG:中英文混合, ENG:英文
options.put("detect_direction", "true"); //是否检测图像朝向,默认不检测,即:false
options.put("detect_language", "true"); //是否检测语言,默认不检测。
options.put("probability", "false"); //是否返回识别结果中每一行的置信度
//通用文字识别
if(ocrClient==null) {
ocrClient = new AipOcr(APP_ID, API_KEY, SECRET_KEY);
ocrClient.setConnectionTimeoutInMillis(5000);
ocrClient.setSocketTimeoutInMillis(60000);
}
JSONObject jsonObject = ocrClient.basicAccurateGeneral(imagePath, options);
String result = mergeString(jsonObject, isNewline);
return result;
}catch(Exception ex){
ex.printStackTrace();
}
return null;
}
private static String mergeString(JSONObject jsonObject, boolean isNewline){
if(jsonObject == null){
return "";
}
if(jsonObject.has("words_result") && jsonObject.has("words_result_num")){
int wordsResultNum = jsonObject.getInt("words_result_num");
if(wordsResultNum > 0){
StringBuilder sb = new StringBuilder();
JSONArray jsonArray = jsonObject.getJSONArray("words_result");
int len = jsonArray.length();
for(int i=0;i<len;i++) {
JSONObject obj = (JSONObject)jsonArray.get(i);
if(isNewline){
sb.append(obj.get("words") + "\n");
}else{
sb.append(obj.get("words"));
}
}
return sb.toString();
}
}else{
return jsonObject.toString();
}
return null;
}
public static JSONObject animalDetect(String imgPath) {
//初始化
AipImageClassify aic = new AipImageClassify(APP_ID, API_KEY, SECRET_KEY);
//返回JSON格式的数据
HashMap<String, String> params = new HashMap<String, String>();
params.put("baike_num", "1");
JSONObject res = aic.animalDetect(imgPath, params);
System.out.println(res.toString(2));
return res;
}
public static JSONObject dishDetect(String imgPath) {
//初始化
AipImageClassify aic = new AipImageClassify(APP_ID, API_KEY, SECRET_KEY);
//返回JSON格式的数据
HashMap<String, String> params = new HashMap<String, String>();
params.put("baike_num", "1");
JSONObject res = aic.dishDetect(imgPath, params);
System.out.println(res.toString(2));
return res;
}
public static JSONObject plantDetect(String imgPath) {
//初始化
AipImageClassify aic = new AipImageClassify(APP_ID, API_KEY, SECRET_KEY);
//返回JSON格式的数据
HashMap<String, String> params = new HashMap<String, String>();
params.put("baike_num", "1");
JSONObject res = aic.plantDetect(imgPath, params);
System.out.println(res.toString(2));
return res;
}
public static JSONObject advancedGeneral(String imgPath) {
//初始化
AipImageClassify aic = new AipImageClassify(APP_ID, API_KEY, SECRET_KEY);
//返回JSON格式的数据
HashMap<String, String> params = new HashMap<String, String>();
没有合适的资源?快使用搜索试试~ 我知道了~
基于java的商城积分系统(编号:90821116).zip
共330个文件
java:88个
vue:66个
png:46个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 112 浏览量
2024-12-23
15:02:19
上传
评论
收藏 10.17MB ZIP 举报
温馨提示
基于java的商城积分系统(编号:90821116).zip
资源推荐
资源详情
资源评论
收起资源包目录
基于java的商城积分系统(编号:90821116).zip (330个子文件)
chunk-vendors.83167ee3.css 339KB
chunk-vendors.9650af1e.css 319KB
app.63ea2a40.css 135KB
app.b9a02baf.css 114KB
976.b242a74a.css 9KB
36.0cfa409f.css 2KB
822.04daee45.css 2KB
716.9c8f5d73.css 1KB
iconfont.css 622B
canvas-bg-1.css 391B
canvas-bg-1.css 391B
canvas-bg-2.css 83B
canvas-bg-2.css 83B
canvas-bg-4.css 61B
canvas-bg-5.css 61B
canvas-bg-3.css 61B
canvas-bg-4.css 61B
canvas-bg-5.css 61B
canvas-bg-3.css 61B
.env.development 195B
.env.development 195B
数据库表结构文档.doc 896KB
.gitignore 231B
index.html 784B
index.html 781B
index.html 699B
index.html 696B
favicon.ico 4KB
favicon.ico 4KB
favicon.ico 4KB
favicon.ico 4KB
BaiduUtil.java 8KB
EncryptUtil.java 8KB
YonghuController.java 8KB
CommonController.java 7KB
DiscussshangpinController.java 7KB
ShangpinController.java 7KB
OrdersEntity.java 6KB
MenuController.java 6KB
ShangpinleixingController.java 6KB
StoreupController.java 5KB
OrdersController.java 5KB
UsersController.java 5KB
CartController.java 5KB
MPUtil.java 5KB
ShangpinEntity.java 4KB
FileController.java 4KB
CommonUtil.java 4KB
StoreupEntity.java 4KB
CartEntity.java 4KB
AuthorizationInterceptor.java 3KB
DiscussshangpinEntity.java 3KB
ConfigController.java 3KB
YonghuEntity.java 3KB
HttpClientUtils.java 3KB
Query.java 3KB
TokenServiceImpl.java 2KB
TokenEntity.java 2KB
ShangpinleixingEntity.java 2KB
MenuEntity.java 2KB
PageUtils.java 2KB
DiscussshangpinServiceImpl.java 2KB
ShangpinleixingServiceImpl.java 2KB
ShangpinServiceImpl.java 2KB
StoreupServiceImpl.java 2KB
YonghuServiceImpl.java 2KB
OrdersServiceImpl.java 2KB
CartServiceImpl.java 2KB
MenuServiceImpl.java 2KB
InterceptorConfig.java 1KB
CommonServiceImpl.java 1KB
UsersServiceImpl.java 1KB
UsersEntity.java 1KB
SpringContextUtils.java 1KB
ValidatorUtils.java 1KB
SQLFilter.java 1KB
DiscussshangpinView.java 1KB
ShangpinleixingView.java 1KB
ShangpinView.java 978B
StoreupView.java 975B
OrdersView.java 966B
YonghuView.java 960B
CartView.java 945B
MenuView.java 942B
ConfigServiceImpl.java 934B
R.java 887B
DiscussshangpinService.java 877B
ShangpinleixingService.java 874B
DiscussshangpinDao.java 863B
ShangpinleixingDao.java 860B
ConfigEntity.java 854B
EIException.java 846B
SpringbootSchemaApplication.java 808B
ShangpinService.java 805B
StoreupService.java 802B
JQPageInfo.java 793B
OrdersService.java 793B
YonghuService.java 787B
ShangpinDao.java 784B
StoreupDao.java 780B
共 330 条
- 1
- 2
- 3
- 4
资源评论
清水白石008
- 粉丝: 9945
- 资源: 1427
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于c语言的线性链表的实现和应用
- 艾利和iriver Astell&Kern SP3000 V1.20升级固件
- 律师事务所网站建设与管理功能概述
- Python 端口访问邮件提醒工具
- 基于springboot的抗疫物资管理系统
- 基于C语言的二叉树构建及遍历
- 587833617736230KEY_C0091 STM32简易交通灯仿真设计.zip
- 垃圾废物检测19-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 专项资金申报平台需求规范文档解析及关键技术要求
- TMS320F28377原理图
- Docker以及Docker-Compose的安装与卸载
- 艾利和iriver Astell&Kern SP3000 V1.31升级固件
- 基于C语言的图的实现和遍历
- 周勤富恒升职业学校网络安全渗透测试及解决方案第2版.doc
- images(5).zip
- 计算机程序设计员三级(选择题)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功