获取token
This commit is contained in:
parent
65a15147d9
commit
41075254c7
|
@ -6,9 +6,9 @@ spring:
|
|||
druid:
|
||||
# 主库数据源
|
||||
master:
|
||||
url: jdbc:mysql://117.50.163.143:3306/autosprout?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: autosprout
|
||||
password: 2fT5hHLbj8Nis6fD
|
||||
url: jdbc:mysql://localhost:3306/autosprout?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: 123456
|
||||
# 从库数据源
|
||||
slave:
|
||||
# 从数据源开关/默认关闭
|
||||
|
|
|
@ -31,6 +31,12 @@ watering:
|
|||
daysToExpire: 100
|
||||
# 推送消息token
|
||||
token: tVpNdGKrAFHfKZNgpIWQfZukrcYHNfFM
|
||||
# 百度植物识别
|
||||
baidu:
|
||||
tokenUrl: https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials
|
||||
apiKey: 9TBnBZUDR4iSkBTHOK3GApvZ
|
||||
secretKey: IAHhV9BqLQnrBXqwx5WsNCRpK2nDdwQ3
|
||||
|
||||
# 开发环境配置
|
||||
server:
|
||||
# 服务器的HTTP端口,默认为8080
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
package com.ruoyi.common.utils.baidu;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.http.HttpUtils;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
|
||||
public class GetToken {
|
||||
|
||||
/** 缓存token */
|
||||
private static String cachedAccessToken;
|
||||
|
||||
/** token过期时间 */
|
||||
private static long tokenExpirationTime;
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
String token = getAccessToken();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private static String getAccessToken() {
|
||||
/** 判断token是否过期,如果不过期直接返回全局缓存token,如果过期重新获取token保存到全局缓存token中并更新过期时间*/
|
||||
if (isTokenExpired()) {
|
||||
try {
|
||||
String tokenUrl = SpringUtils.getRequiredProperty("baidu.tokenUrl");
|
||||
String apiKey = SpringUtils.getRequiredProperty("baidu.apiKey");
|
||||
String secretKey = SpringUtils.getRequiredProperty("baidu.secretKey");
|
||||
String url = tokenUrl+"&client_id="+apiKey+"&client_secret="+secretKey;
|
||||
System.out.println("百度---tokenUrl"+url);
|
||||
String res = HttpUtils.sendPost(url, null);
|
||||
|
||||
System.out.println("请求百度获取到accessToken========="+res);
|
||||
// 创建 ObjectMapper 对象
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
|
||||
// 将 JSON 字符串解析为 TokenInfo 对象
|
||||
TokenInfo tokenInfo = objectMapper.readValue(res, TokenInfo.class);
|
||||
|
||||
String accessToken = tokenInfo.getAccessToken();
|
||||
if(StringUtils.isNotEmpty(accessToken)){
|
||||
return cachedAccessToken = accessToken;
|
||||
}
|
||||
} catch (JsonProcessingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
/**判断token是否过期*/
|
||||
private static boolean isTokenExpired() {
|
||||
return cachedAccessToken == null || System.currentTimeMillis() > tokenExpirationTime;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package com.ruoyi.common.utils.baidu;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TokenInfo {
|
||||
|
||||
@JsonProperty("refresh_token")
|
||||
private String refreshToken;
|
||||
|
||||
@JsonProperty("expires_in")
|
||||
private int expiresIn;
|
||||
|
||||
@JsonProperty("session_key")
|
||||
private String sessionKey;
|
||||
|
||||
@JsonProperty("access_token")
|
||||
private String accessToken;
|
||||
|
||||
private String scope;
|
||||
|
||||
@JsonProperty("session_secret")
|
||||
private String sessionSecret;
|
||||
}
|
|
@ -113,7 +113,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
|
|||
// 过滤请求
|
||||
.authorizeRequests()
|
||||
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
|
||||
.antMatchers("/login", "/register", "/captchaImage","/common/receive","/appCaptcha","/appCodeLogin","/app/**").permitAll()
|
||||
.antMatchers("/login", "/register", "/captchaImage","/common/receive","/appCaptcha","/appCodeLogin","/app/**","/common/upload").permitAll()
|
||||
// 静态资源,可匿名访问
|
||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
||||
|
|
|
@ -117,4 +117,34 @@ public class AppController extends BaseController
|
|||
{
|
||||
return toAjax(asDeviceService.deleteAsDeviceByDeviceIds(deviceIds));
|
||||
}
|
||||
|
||||
/**
|
||||
* 植物识别
|
||||
*/
|
||||
@Log(title = "植物识别", businessType = BusinessType.OTHER)
|
||||
@PostMapping("/plant/identify")
|
||||
public AjaxResult plant(String url)
|
||||
{
|
||||
/** 请求百度获取token*/
|
||||
// HttpUtils.
|
||||
// try
|
||||
// {
|
||||
// // 上传文件路径
|
||||
// String filePath = RuoYiConfig.getUploadPath();
|
||||
// // 上传并返回新文件名称
|
||||
// String fileName = FileUploadUtils.upload(filePath, file);
|
||||
// String url = serverConfig.getUrl() + fileName;
|
||||
// AjaxResult ajax = AjaxResult.success();
|
||||
// ajax.put("url", url);
|
||||
// ajax.put("fileName", fileName);
|
||||
// ajax.put("newFileName", FileUtils.getName(fileName));
|
||||
// ajax.put("originalFilename", file.getOriginalFilename());
|
||||
// return ajax;
|
||||
// }
|
||||
// catch (Exception e)
|
||||
// {
|
||||
// return AjaxResult.error(e.getMessage());
|
||||
// }
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,8 +56,11 @@ public class AsWateringRecordServiceImpl extends ServiceImpl<AsWateringRecordMap
|
|||
}else {
|
||||
stringBuilder.append("普通模式浇水");
|
||||
}
|
||||
Integer sprayingTime = record.getSprayingTime() / 60;
|
||||
stringBuilder.append(sprayingTime+"分钟");
|
||||
Integer sprayingTime;
|
||||
if(record.getSprayingTime()!=null){
|
||||
sprayingTime = record.getSprayingTime() / 60;
|
||||
stringBuilder.append(sprayingTime+"分钟");
|
||||
}
|
||||
record.setWateringDesc(stringBuilder.toString());
|
||||
// record.setWaterTimeStr(DateUtils.getYYYY_MM_DD(record.getWaterTime()));//时间格式化
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user