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毕业设计】springboot《计算机基础》网上考试系统(springboot+vue+mysql+说明文档).zip
共525个文件
class:88个
java:88个
vue:76个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 117 浏览量
2024-11-05
14:06:08
上传
评论
收藏 23.28MB ZIP 举报
温馨提示
随着计算机技术的普及和发展,网上考试系统逐渐成为教育领域的重要组成部分。为了满足计算机基础课程的教学需求,我们设计并开发了《计算机基础》网上考试系统。该系统的出现,旨在提供一个便捷、高效、全面的在线考试平台,方便学生进行自我检测和巩固知识,同时也方便教师进行试题管理和考试监控。 系统界面简洁明了,以绿色为主色调,给人一种清新自然的感觉。页面顶部设有导航栏,包括“首页”、“试卷列表”等选项,方便用户快速导航到所需页面。左侧菜单栏则提供了丰富的功能选项,如“试题管理”、“试卷管理”、“轮播图管理”、“管理员管理”、“新闻资讯管理”和“公告信息管理”等,涵盖了考试系统的各个方面。 在试题管理模块,教师可以方便地添加、编辑、删除和导出试题,确保试题库的准确性和完整性。试卷管理模块则允许教师创建、编辑和删除试卷,并设置试卷的试题和分值。学生可以在试卷列表页面查看所有试卷的详细信息,并选择进行考试。 此外,系统还提供了新闻资讯和公告信息管理功能,方便教师发布最新的教学信息和考试通知。考试记录模块则记录了每个学生的考试情况和成绩,方便教师进行成绩管理和分析。
资源推荐
资源详情
资源评论
收起资源包目录
【java毕业设计】springboot《计算机基础》网上考试系统(springboot+vue+mysql+说明文档).zip (525个子文件)
JiaoshiController.class 8KB
XueshengController.class 8KB
CommonController.class 8KB
MenuController.class 8KB
BaiduUtil.class 7KB
MPUtil.class 7KB
ExamrecordController.class 7KB
UsersController.class 6KB
EncryptUtil.class 6KB
GonggaoxinxiController.class 6KB
ExamquestionController.class 6KB
ExampaperController.class 6KB
NewsController.class 6KB
ExamrecordEntity.class 5KB
FileController.class 5KB
TokenServiceImpl.class 5KB
ExamquestionEntity.class 4KB
HttpClientUtils.class 4KB
ConfigController.class 4KB
AuthorizationInterceptor.class 4KB
JiaoshiEntity.class 4KB
ExamquestionServiceImpl.class 4KB
GonggaoxinxiServiceImpl.class 4KB
XueshengEntity.class 4KB
ExamrecordServiceImpl.class 4KB
ExampaperServiceImpl.class 4KB
XueshengServiceImpl.class 4KB
JiaoshiServiceImpl.class 4KB
NewsServiceImpl.class 3KB
MenuServiceImpl.class 3KB
CommonUtil.class 3KB
GonggaoxinxiEntity.class 3KB
NewsEntity.class 3KB
Query.class 3KB
ExampaperEntity.class 3KB
UsersServiceImpl.class 3KB
PageUtils.class 3KB
TokenEntity.class 3KB
MenuEntity.class 2KB
CommonServiceImpl.class 2KB
InterceptorConfig.class 2KB
R.class 2KB
UsersEntity.class 2KB
ConfigServiceImpl.class 2KB
SpringContextUtils.class 2KB
ValidatorUtils.class 2KB
ExamrecordView.class 1KB
EIException.class 1KB
ExamquestionService.class 1KB
GonggaoxinxiService.class 1KB
JQPageInfo.class 1KB
ExamrecordService.class 1KB
ExampaperService.class 1KB
XueshengService.class 1KB
SpringbootSchemaApplication.class 1KB
JiaoshiService.class 1KB
ExamquestionDao.class 1KB
GonggaoxinxiDao.class 1KB
NewsService.class 1KB
MenuService.class 1KB
ExamrecordDao.class 1KB
ExampaperDao.class 1KB
ConfigEntity.class 1KB
XueshengDao.class 1KB
JiaoshiDao.class 1KB
SQLFilter.class 1KB
MenuDao.class 1KB
NewsDao.class 1KB
TokenService.class 1KB
ExamquestionView.class 1KB
GonggaoxinxiView.class 1KB
ExampaperView.class 1KB
XueshengView.class 1KB
JiaoshiView.class 1KB
MenuView.class 1KB
NewsView.class 1KB
CommonDao.class 1KB
CommonService.class 1KB
TokenDao.class 987B
UsersDao.class 987B
UsersService.class 979B
FileUtil.class 970B
MybatisPlusConfig.class 675B
ConfigService.class 604B
MD5Util.class 522B
IgnoreAuth.class 431B
AlipayConfig.class 289B
ConfigDao.class 275B
chunk-vendors.83167ee3.css 339KB
chunk-vendors.83167ee3.css 339KB
chunk-vendors.9650af1e.css 319KB
chunk-vendors.9650af1e.css 319KB
app.1d44b294.css 157KB
app.1d44b294.css 157KB
app.a3b8a60e.css 138KB
app.a3b8a60e.css 138KB
458.e628f5fa.css 12KB
458.e628f5fa.css 12KB
840.84c5b5b4.css 3KB
840.84c5b5b4.css 3KB
共 525 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
计算机学长阿伟
- 粉丝: 3197
- 资源: 849
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功