@ -0,0 +1,2 @@ | |||
#Wed Sep 06 10:57:52 GMT+08:00 2023 | |||
gradle.version=5.2.1 |
@ -0,0 +1,67 @@ | |||
package org.jeecg.job.controller; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import org.jeecg.common.api.vo.Result; | |||
import org.jeecg.job.service.JobLoginService; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.annotation.Resource; | |||
@Api(tags="兼兼街--交友扩列小程序对应接口") | |||
@RestController | |||
@RequestMapping("/diffuse/applet") | |||
public class DiffuseAppletController { | |||
//获取登录接口调用 | |||
@Resource | |||
private JobLoginService loginService; | |||
@ApiOperation(value = "用户/微信小程序授权登录接口",notes = "用户/微信小程序授权登录接口") | |||
@PostMapping("/login") | |||
public Result<?> wxDiffuseAppletLogin(){ | |||
return null; | |||
} | |||
//首页-扩列小程序banner | |||
//首页-扩列小程序公告 | |||
//首页-获取群分类 | |||
//首页-群列表 | |||
//首页-获取群详情根据标识 | |||
//首页-点击判断用户是否可以获取二维码 | |||
//个人扩列-获取扩列人员列表 | |||
//个人扩类-获取扩列人员列表详情 | |||
//个人扩列-点击判断用户是否可以获取个人二维码 | |||
//个人中心-获取个人信息 | |||
//个人中心-邀请二维码 | |||
//个人中心-我的粉丝 | |||
//个人中心-发布群聊二维码 | |||
//个人中心-发布群列表 | |||
//个人中心-发布群列表详情 | |||
//个人中心-获取基本信息 | |||
//个人中心-创建开通会员订单 | |||
//个人中心-开通会员支付 | |||
//个人中心-开通会员支付回调 | |||
} |
@ -0,0 +1,208 @@ | |||
package org.jeecg.job.controller; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import org.jeecg.common.api.vo.Result; | |||
import org.jeecg.job.req.HouseAppletLoginBean; | |||
import org.jeecg.job.service.HouseAppletService; | |||
import org.springframework.web.bind.annotation.*; | |||
import javax.annotation.Resource; | |||
@Api(tags="兼兼街--租房小程序对应接口") | |||
@RestController | |||
@RequestMapping("/house/applet") | |||
public class HouseAppletController { | |||
@Resource | |||
private HouseAppletService houseAppletService; | |||
/** | |||
* 微信小程序授权登录 | |||
* @param bean | |||
* @return | |||
*/ | |||
@ApiOperation(value = "用户/小程序授权登录接口",notes = "用户/小程序授权登录接口") | |||
@PostMapping("/login") | |||
public Result<?> wxHouseAppletLogin(HouseAppletLoginBean bean){ | |||
return houseAppletService.wxHouseAppletLogin(bean); | |||
} | |||
@ApiOperation(value = "用户/banner的接口",notes = "用户/banner的接口") | |||
@GetMapping("/banner") | |||
public Result<?> wxHouseBanner(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/通知的接口",notes = "用户/通知的接口") | |||
@GetMapping("/notice") | |||
public Result<?> wxHouseNotice(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/首页分类的方法",notes = "用户/首页分类的方法") | |||
@GetMapping("/indexClass") | |||
public Result<?> wxHouseIndexClass(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/租房列表信息带分页",notes = "用户/租房列表信息带分页") | |||
@GetMapping("/indexListPage") | |||
public Result<?> wxHouseIndexListPage(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/租房列表信息带分页-根据标识",notes = "用户/租房列表信息带分页-根据标识") | |||
@GetMapping("/indexGetById") | |||
public Result<?> wxHouseIndexGetById(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/便民信息banner的接口",notes = "用户/便民信息banner的接口") | |||
@GetMapping("/homeBanner") | |||
public Result<?> wxHouseHomeBanner(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/便民信息列表分页的接口",notes = "用户/便民信息列表分页的接口") | |||
@GetMapping("/wxHouseHomeListPage") | |||
public Result<?> wxHouseHomeListPage(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/便民信息列表分页的接口-根据标识查看详情",notes = "用户/便民信息列表分页的接口-根据标识查看详情") | |||
@GetMapping("/wxHouseHomeById") | |||
public Result<?> wxHouseHomeById(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/家具信息列表的接口",notes = "用户/家具信息列表的接口") | |||
@GetMapping("/wxHouseHomeShopListPage") | |||
public Result<?> wxHouseHomeShopListPage(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/家具信息列表的接口-根据标识查看详情",notes = "用户/家具信息列表的接口-根据标识查看详情") | |||
@GetMapping("/wxHouseHomeShopById") | |||
public Result<?> wxHouseHomeShopById(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/创建家具订单",notes = "用户/创建家具订单") | |||
@GetMapping("/wxHouseHomeShopCreateOrder") | |||
public Result<?> wxHouseHomeShopCreateOrder(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/创建家具订单-创建支付",notes = "用户/创建家具订单-创建支付") | |||
@GetMapping("/wxHouseHomeShopCreateOrderPay") | |||
public Result<?> wxHouseHomeShopCreateOrderPay(){ | |||
return null; | |||
} | |||
@ApiOperation(value = "用户/创建家具订单-支付回调",notes = "用户/创建家具订单-支付回调") | |||
@PostMapping("/notify") | |||
public Object createWxNotify(@RequestBody String requestBody){ | |||
return null; | |||
} | |||
@ApiOperation(value="获取个人信息", notes="获取个人信息") | |||
@GetMapping(value = "/info") | |||
public Result<?> info(@RequestHeader("X-Access-Token") String token){ | |||
return null; | |||
} | |||
@ApiOperation(value="修改个人信息", notes="修改个人信息") | |||
@GetMapping(value = "/infoEdit") | |||
public Result<?> infoEdit(@RequestHeader("X-Access-Token") String token){ | |||
return null; | |||
} | |||
@ApiOperation(value="获取我的粉丝", notes="获取我的粉丝") | |||
@GetMapping(value = "/infoFans") | |||
public Result<?> infoFans(@RequestHeader("X-Access-Token") String token){ | |||
return null; | |||
} | |||
@ApiOperation(value="获取邀请二维码", notes="获取邀请二维码") | |||
@GetMapping(value = "/QRCode") | |||
public Result<?> QRCode(@RequestHeader("X-Access-Token") String token){ | |||
return null; | |||
} | |||
@ApiOperation(value="获取基础信息", notes="获取基础信息") | |||
@GetMapping(value = "/getConfig") | |||
public Result<?> getConfig(){ | |||
return null; | |||
} | |||
@ApiOperation(value="发布房源", notes="发布房源") | |||
@GetMapping(value = "/saveHouse") | |||
public Result<?> saveHouse(){ | |||
return null; | |||
} | |||
@ApiOperation(value="我发布的房源列表信息", notes="我发布的房源列表信息") | |||
@GetMapping(value = "/getMyHouseListPage") | |||
public Result<?> getMyHouseListPage(){ | |||
return null; | |||
} | |||
@ApiOperation(value="获取家具订单列表", notes="获取家具订单列表") | |||
@GetMapping(value = "/getMyHouseOrderListPage") | |||
public Result<?> getMyHouseOrderListPage(){ | |||
return null; | |||
} | |||
@ApiOperation(value="获取订单详情", notes="获取订单详情") | |||
@GetMapping(value = "/getMyHouseOrderById") | |||
public Result<?> getMyHouseOrderById(){ | |||
return null; | |||
} | |||
} |
@ -0,0 +1,69 @@ | |||
package org.jeecg.job.req; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
@Data | |||
public class DiffuseAppletLoginBean { | |||
/** | |||
* 参数信息 | |||
*/ | |||
@ApiModelProperty(value = "参数信息") | |||
private String code; | |||
/** | |||
* 用户唯一标识 | |||
*/ | |||
@ApiModelProperty(value = "用户唯一标识") | |||
private String openid; | |||
/** | |||
* 会话密钥 | |||
*/ | |||
@ApiModelProperty(value = "会话密钥") | |||
private String session_key; | |||
/** | |||
* 用户姓名 | |||
*/ | |||
@ApiModelProperty(value = "用户姓名") | |||
private String nickName; | |||
/** | |||
* 用户头像 | |||
*/ | |||
@ApiModelProperty(value = "用户头像") | |||
private String headimgurl; | |||
/** | |||
* 解密标签 | |||
*/ | |||
@ApiModelProperty(value = "解密标签") | |||
private String iv; | |||
/** | |||
* 解密 | |||
*/ | |||
@ApiModelProperty(value = "解密") | |||
private String encryptedData; | |||
/** | |||
* 手机号 | |||
*/ | |||
@ApiModelProperty(value = "手机号") | |||
private String phone; | |||
/** | |||
* 时间 | |||
*/ | |||
@ApiModelProperty(value = "时间") | |||
private Data createTime; | |||
/** | |||
* 邀请码邀请人 | |||
*/ | |||
@ApiModelProperty(value = "邀请码邀请人") | |||
private String shareId; | |||
} |
@ -0,0 +1,73 @@ | |||
package org.jeecg.job.req; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
/** | |||
* 租房小程序微信授权登录 | |||
*/ | |||
@Data | |||
public class HouseAppletLoginBean { | |||
/** | |||
* 参数信息 | |||
*/ | |||
@ApiModelProperty(value = "参数信息") | |||
private String code; | |||
/** | |||
* 用户唯一标识 | |||
*/ | |||
@ApiModelProperty(value = "用户唯一标识") | |||
private String openid; | |||
/** | |||
* 会话密钥 | |||
*/ | |||
@ApiModelProperty(value = "会话密钥") | |||
private String session_key; | |||
/** | |||
* 用户姓名 | |||
*/ | |||
@ApiModelProperty(value = "用户姓名") | |||
private String nickName; | |||
/** | |||
* 用户头像 | |||
*/ | |||
@ApiModelProperty(value = "用户头像") | |||
private String headimgurl; | |||
/** | |||
* 解密标签 | |||
*/ | |||
@ApiModelProperty(value = "解密标签") | |||
private String iv; | |||
/** | |||
* 解密 | |||
*/ | |||
@ApiModelProperty(value = "解密") | |||
private String encryptedData; | |||
/** | |||
* 手机号 | |||
*/ | |||
@ApiModelProperty(value = "手机号") | |||
private String phone; | |||
/** | |||
* 时间 | |||
*/ | |||
@ApiModelProperty(value = "时间") | |||
private Data createTime; | |||
/** | |||
* 邀请码邀请人 | |||
*/ | |||
@ApiModelProperty(value = "邀请码邀请人") | |||
private String shareId; | |||
} |
@ -0,0 +1,18 @@ | |||
package org.jeecg.job.service; | |||
import org.jeecg.common.api.vo.Result; | |||
import org.jeecg.job.req.DiffuseAppletLoginBean; | |||
/** | |||
* 扩类小程序相关接口 | |||
*/ | |||
public interface DiffuseAppletService { | |||
/** | |||
* 微信小程序授权登录 | |||
* @param bean | |||
* @return | |||
*/ | |||
Result<?> wxHouseAppletLogin(DiffuseAppletLoginBean bean); | |||
} |
@ -0,0 +1,20 @@ | |||
package org.jeecg.job.service; | |||
import org.jeecg.common.api.vo.Result; | |||
import org.jeecg.job.req.HouseAppletLoginBean; | |||
/** | |||
* 租房小程序相关接口信息 | |||
*/ | |||
public interface HouseAppletService { | |||
/** | |||
* 微信小程序授权登录 | |||
* @param bean | |||
* @return | |||
*/ | |||
Result<?> wxHouseAppletLogin(HouseAppletLoginBean bean); | |||
} |
@ -0,0 +1,114 @@ | |||
package org.jeecg.job.service.impl; | |||
import com.alibaba.fastjson.JSONObject; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.jeecg.common.api.vo.Result; | |||
import org.jeecg.common.constant.CommonConstant; | |||
import org.jeecg.common.exception.JeecgBootException; | |||
import org.jeecg.common.system.util.JwtUtil; | |||
import org.jeecg.common.util.RedisUtil; | |||
import org.jeecg.job.req.DiffuseAppletLoginBean; | |||
import org.jeecg.job.service.DiffuseAppletService; | |||
import org.jeecg.modules.common.login.HttpConf; | |||
import org.jeecg.modules.hanhai.hanHaiMember.entity.HanHaiMember; | |||
import org.jeecg.modules.hanhai.hanHaiMember.service.IHanHaiMemberService; | |||
import org.springframework.beans.factory.annotation.Value; | |||
import org.springframework.stereotype.Service; | |||
import javax.annotation.Resource; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
@Service | |||
public class DiffuseAppletServiceImpl implements DiffuseAppletService { | |||
/** | |||
* 微信扩列小程序-appid | |||
*/ | |||
@Value("${weDiffuseChat.mpAppId}") | |||
private String mpAppId; | |||
/** | |||
* 微信扩列小程序-appSecret | |||
*/ | |||
@Value("${weDiffuseChat.mpAppSecret}") | |||
private String mpAppSecret; | |||
/** | |||
* 个人信息 | |||
*/ | |||
@Resource | |||
private IHanHaiMemberService memberService; | |||
/** | |||
* 缓存 | |||
*/ | |||
@Resource | |||
private RedisUtil redisUtil; | |||
/** | |||
* 工具 | |||
*/ | |||
@Resource | |||
private HttpConf httpConf; | |||
/** | |||
* 微信小程序授权登录 | |||
* @param bean | |||
* @return | |||
*/ | |||
@Override | |||
public Result<?> wxHouseAppletLogin(DiffuseAppletLoginBean bean){ | |||
Result<Object> result = new Result<>(); | |||
Map<String, Object> map = new HashMap<>(); | |||
if (StringUtils.isBlank(bean.getCode())) { | |||
throw new JeecgBootException("小程序code为空"); | |||
} | |||
String loginUrl = "https://api.weixin.qq.com/sns/jscode2session?appid=" + mpAppId + "&secret=" + mpAppSecret+ "&js_code=" + bean.getCode() + "&grant_type=authorization_code"; | |||
//使用工具类 | |||
JSONObject json_test = httpConf.getJSONObject(loginUrl); | |||
String wxOpenid = json_test.getString("openid"); | |||
String sessionKey = json_test.getString("session_key"); | |||
if (StringUtils.isBlank(wxOpenid)) { | |||
throw new JeecgBootException("未获取到openid"); | |||
} | |||
HanHaiMember member = memberService.lambdaQuery().eq(HanHaiMember::getAppletOpenid,wxOpenid).one(); | |||
String token = null; | |||
if (member == null) { | |||
//如果user等于null说明该用户第一次登录,数据库没有该用户信息。 | |||
bean.setOpenid(wxOpenid); | |||
bean.setSession_key(sessionKey); | |||
member = new HanHaiMember(); | |||
member.setAppletOpenid(wxOpenid); | |||
member.setNickName(bean.getNickName()); | |||
member.setHeadImage(bean.getHeadimgurl()); | |||
//上级邀请人 | |||
HanHaiMember pid = memberService.lambdaQuery().eq(HanHaiMember::getShareId, bean.getShareId()).one(); | |||
if(pid != null){ | |||
member.setShareId(pid.getId()); | |||
} | |||
// 生成token返回给小程序端 | |||
token = JwtUtil.sign(member.getAppletOpenid(), wxOpenid); | |||
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); | |||
member.setToken(token); | |||
// 设置超时时间 | |||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100); | |||
} else { | |||
// 生成token返回给小程序端 | |||
token = JwtUtil.sign(member.getAppletOpenid(), wxOpenid); | |||
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); | |||
// 设置超时时间 | |||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100); | |||
member.setNickName(bean.getNickName()); | |||
member.setHeadImage(bean.getHeadimgurl()); | |||
member.setToken(token); | |||
memberService.saveOrUpdate(member); | |||
} | |||
map.put("userInfo", member); | |||
map.put("token", token); | |||
result.setResult(map); | |||
result.setCode(200); | |||
result.setMessage("查询成功"); | |||
return result; | |||
} | |||
} |
@ -0,0 +1,118 @@ | |||
package org.jeecg.job.service.impl; | |||
import com.alibaba.fastjson.JSONObject; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.jeecg.common.api.vo.Result; | |||
import org.jeecg.common.constant.CommonConstant; | |||
import org.jeecg.common.exception.JeecgBootException; | |||
import org.jeecg.common.system.util.JwtUtil; | |||
import org.jeecg.common.util.RedisUtil; | |||
import org.jeecg.job.req.HouseAppletLoginBean; | |||
import org.jeecg.job.service.HouseAppletService; | |||
import org.jeecg.modules.common.login.HttpConf; | |||
import org.jeecg.modules.hanhai.hanHaiMember.entity.HanHaiMember; | |||
import org.jeecg.modules.hanhai.hanHaiMember.service.IHanHaiMemberService; | |||
import org.springframework.beans.factory.annotation.Value; | |||
import org.springframework.stereotype.Service; | |||
import org.springframework.transaction.annotation.Transactional; | |||
import javax.annotation.Resource; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
@Service | |||
public class HouseAppletServiceImpl implements HouseAppletService { | |||
/** | |||
* 微信租房小程序-appid | |||
*/ | |||
@Value("${weHouseChat.mpAppId}") | |||
private String mpAppId; | |||
/** | |||
* 微信租房小程序-appSecret | |||
*/ | |||
@Value("${weHouseChat.mpAppSecret}") | |||
private String mpAppSecret; | |||
/** | |||
* 个人信息 | |||
*/ | |||
@Resource | |||
private IHanHaiMemberService memberService; | |||
/** | |||
* 缓存 | |||
*/ | |||
@Resource | |||
private RedisUtil redisUtil; | |||
/** | |||
* 工具 | |||
*/ | |||
@Resource | |||
private HttpConf httpConf; | |||
/** | |||
* 微信小程序授权登录 | |||
* @param bean | |||
* @return | |||
*/ | |||
@Override | |||
public Result<?> wxHouseAppletLogin(HouseAppletLoginBean bean){ | |||
Result<Object> result = new Result<>(); | |||
Map<String, Object> map = new HashMap<>(); | |||
if (StringUtils.isBlank(bean.getCode())) { | |||
throw new JeecgBootException("小程序code为空"); | |||
} | |||
String loginUrl = "https://api.weixin.qq.com/sns/jscode2session?appid=" + mpAppId + "&secret=" + mpAppSecret+ "&js_code=" + bean.getCode() + "&grant_type=authorization_code"; | |||
//使用工具类 | |||
JSONObject json_test = httpConf.getJSONObject(loginUrl); | |||
String wxOpenid = json_test.getString("openid"); | |||
String sessionKey = json_test.getString("session_key"); | |||
if (StringUtils.isBlank(wxOpenid)) { | |||
throw new JeecgBootException("未获取到openid"); | |||
} | |||
HanHaiMember member = memberService.lambdaQuery().eq(HanHaiMember::getAppletOpenid,wxOpenid).one(); | |||
String token = null; | |||
if (member == null) { | |||
//如果user等于null说明该用户第一次登录,数据库没有该用户信息。 | |||
bean.setOpenid(wxOpenid); | |||
bean.setSession_key(sessionKey); | |||
member = new HanHaiMember(); | |||
member.setAppletOpenid(wxOpenid); | |||
member.setNickName(bean.getNickName()); | |||
member.setHeadImage(bean.getHeadimgurl()); | |||
//上级邀请人 | |||
HanHaiMember pid = memberService.lambdaQuery().eq(HanHaiMember::getShareId, bean.getShareId()).one(); | |||
if(pid != null){ | |||
member.setShareId(pid.getId()); | |||
} | |||
// 生成token返回给小程序端 | |||
token = JwtUtil.sign(member.getAppletOpenid(), wxOpenid); | |||
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); | |||
member.setToken(token); | |||
// 设置超时时间 | |||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100); | |||
} else { | |||
// 生成token返回给小程序端 | |||
token = JwtUtil.sign(member.getAppletOpenid(), wxOpenid); | |||
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); | |||
// 设置超时时间 | |||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100); | |||
member.setNickName(bean.getNickName()); | |||
member.setHeadImage(bean.getHeadimgurl()); | |||
member.setToken(token); | |||
memberService.saveOrUpdate(member); | |||
} | |||
map.put("userInfo", member); | |||
map.put("token", token); | |||
result.setResult(map); | |||
result.setCode(200); | |||
result.setMessage("查询成功"); | |||
return result; | |||
} | |||
} |
@ -1,348 +0,0 @@ | |||
server: | |||
port: 8091 | |||
tomcat: | |||
max-swallow-size: -1 | |||
error: | |||
include-exception: true | |||
include-stacktrace: ALWAYS | |||
include-message: ALWAYS | |||
servlet: | |||
context-path: /job-dev | |||
compression: | |||
enabled: true | |||
min-response-size: 1024 | |||
mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* | |||
management: | |||
endpoints: | |||
web: | |||
exposure: | |||
include: metrics,httptrace | |||
spring: | |||
servlet: | |||
multipart: | |||
max-file-size: 10MB | |||
max-request-size: 10MB | |||
mail: | |||
host: smtp.qq.com | |||
username: 2602107437@qq.com | |||
password: wvaotacgonepdibg | |||
properties: | |||
mail: | |||
smtp: | |||
auth: true | |||
starttls: | |||
enable: true | |||
required: true | |||
## quartz定时任务,采用数据库方式 | |||
quartz: | |||
job-store-type: jdbc | |||
initialize-schema: embedded | |||
#定时任务启动开关,true-开 false-关 | |||
auto-startup: true | |||
#启动时更新己存在的Job | |||
overwrite-existing-jobs: true | |||
properties: | |||
org: | |||
quartz: | |||
scheduler: | |||
instanceName: MyScheduler | |||
instanceId: AUTO | |||
jobStore: | |||
class: org.springframework.scheduling.quartz.LocalDataSourceJobStore | |||
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate | |||
tablePrefix: QRTZ_ | |||
isClustered: true | |||
misfireThreshold: 60000 | |||
clusterCheckinInterval: 10000 | |||
threadPool: | |||
class: org.quartz.simpl.SimpleThreadPool | |||
threadCount: 10 | |||
threadPriority: 5 | |||
threadsInheritContextClassLoaderOfInitializingThread: true | |||
#json 时间戳统一转换 | |||
jackson: | |||
date-format: yyyy-MM-dd HH:mm:ss | |||
time-zone: GMT+8 | |||
jpa: | |||
open-in-view: false | |||
activiti: | |||
check-process-definitions: false | |||
#启用作业执行器 | |||
async-executor-activate: false | |||
#启用异步执行器 | |||
job-executor-activate: false | |||
aop: | |||
proxy-target-class: true | |||
#配置freemarker | |||
freemarker: | |||
# 设置模板后缀名 | |||
suffix: .ftl | |||
# 设置文档类型 | |||
content-type: text/html | |||
# 设置页面编码格式 | |||
charset: UTF-8 | |||
# 设置页面缓存 | |||
cache: false | |||
prefer-file-system-access: false | |||
# 设置ftl文件路径 | |||
template-loader-path: | |||
- classpath:/templates | |||
# 设置静态文件路径,js,css等 | |||
mvc: | |||
static-path-pattern: /** | |||
#Spring Boot 2.6+后映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser,需要手动指定为ant-path-matcher | |||
pathmatch: | |||
matching-strategy: ant_path_matcher | |||
resource: | |||
static-locations: classpath:/static/,classpath:/public/ | |||
autoconfigure: | |||
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure | |||
datasource: | |||
druid: | |||
stat-view-servlet: | |||
enabled: true | |||
loginUsername: admin | |||
loginPassword: 123456 | |||
allow: | |||
web-stat-filter: | |||
enabled: true | |||
dynamic: | |||
druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置) | |||
# 连接池的配置信息 | |||
# 初始化大小,最小,最大 | |||
initial-size: 5 | |||
min-idle: 5 | |||
maxActive: 20 | |||
# 配置获取连接等待超时的时间 | |||
maxWait: 60000 | |||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 | |||
timeBetweenEvictionRunsMillis: 60000 | |||
# 配置一个连接在池中最小生存的时间,单位是毫秒 | |||
minEvictableIdleTimeMillis: 300000 | |||
validationQuery: SELECT 1 | |||
testWhileIdle: true | |||
testOnBorrow: false | |||
testOnReturn: false | |||
# 打开PSCache,并且指定每个连接上PSCache的大小 | |||
poolPreparedStatements: true | |||
maxPoolPreparedStatementPerConnectionSize: 20 | |||
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 | |||
filters: stat,wall,slf4j | |||
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录 | |||
# connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 | |||
datasource: | |||
master: | |||
url: jdbc:mysql://175.178.51.79:3306/jianjianjie?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai | |||
username: root | |||
password: fe2niQbG | |||
driver-class-name: com.mysql.cj.jdbc.Driver | |||
# 多数据源配置 | |||
#multi-datasource1: | |||
#url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai | |||
#username: root | |||
#password: root | |||
#driver-class-name: com.mysql.cj.jdbc.Driver | |||
#redis 配置 | |||
redis: | |||
database: 0 | |||
host: 175.178.51.79 | |||
lettuce: | |||
pool: | |||
max-active: -1 #最大连接数据库连接数,设 -1 为没有限制 | |||
max-idle: 0 #最大等待连接中的数量,设 0 为没有限制 | |||
max-wait: -1ms #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。 | |||
min-idle: 0 #最小等待连接中的数量,设 0 为没有限制 | |||
shutdown-timeout: 1000ms | |||
password: 'lzx.123456' | |||
port: 6379 | |||
#mybatis plus 设置 | |||
mybatis-plus: | |||
mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml | |||
global-config: | |||
# 关闭MP3.0自带的banner | |||
banner: false | |||
db-config: | |||
#主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)"; | |||
id-type: ASSIGN_ID | |||
# 默认数据库表下划线命名 | |||
table-underline: true | |||
configuration: | |||
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 | |||
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl | |||
# 返回类型为Map,显示null对应的字段 | |||
call-setters-on-nulls: true | |||
#jeecg专用配置 | |||
minidao : | |||
base-package: org.jeecg.modules.jmreport.* | |||
jeecg : | |||
# 是否启用安全模式 | |||
safeMode: false | |||
# 签名密钥串(前后端要一致,正式发布请自行修改) | |||
signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a | |||
# 本地:local\Minio:minio\阿里云:alioss | |||
uploadType: alioss | |||
path : | |||
#文件上传根目录 设置 | |||
upload: /opt/upFiles | |||
#webapp文件路径 | |||
webapp: /opt/webapp | |||
shiro: | |||
excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/** | |||
#阿里云oss存储和大鱼短信秘钥配置 | |||
oss: | |||
accessKey: LTAI5tSncoQdzQgo4pPZUtH1 | |||
secretKey: U4X07sVPKEDJZMw1pUP7XNjT9syRX8 | |||
endpoint: oss-cn-hangzhou.aliyuncs.com | |||
bucketName: medicine-api | |||
staticDomain: https://medicine.xzaiyp.top | |||
# ElasticSearch 6设置 | |||
elasticsearch: | |||
cluster-name: jeecg-ES | |||
cluster-nodes: 127.0.0.1:9200 | |||
check-enabled: false | |||
# 表单设计器配置 | |||
desform: | |||
# 主题颜色(仅支持 16进制颜色代码) | |||
theme-color: "#1890ff" | |||
# 文件、图片上传方式,可选项:qiniu(七牛云)、system(跟随系统配置) | |||
upload-type: system | |||
map: | |||
# 配置百度地图的AK,申请地址:https://lbs.baidu.com/apiconsole/key?application=key#/home | |||
baidu: ?? | |||
# 在线预览文件服务器地址配置 | |||
file-view-domain: 127.0.0.1:8012 | |||
# minio文件上传 | |||
minio: | |||
minio_url: http://minio.jeecg.com | |||
minio_name: ?? | |||
minio_pass: ?? | |||
bucketName: otatest | |||
#大屏报表参数设置 | |||
jmreport: | |||
mode: dev | |||
#数据字典是否进行saas数据隔离,自己看自己的字典 | |||
saas: false | |||
#是否需要校验token | |||
is_verify_token: true | |||
#必须校验方法 | |||
verify_methods: remove,delete,save,add,update | |||
#自定义项目前缀 | |||
customPrePath: | |||
pageSize: | |||
- 10 | |||
- 20 | |||
- 30 | |||
- 40 | |||
#Wps在线文档 | |||
wps: | |||
domain: https://wwo.wps.cn/office/ | |||
appid: ?? | |||
appsecret: ?? | |||
#xxl-job配置 | |||
xxljob: | |||
enabled: false | |||
adminAddresses: http://127.0.0.1:9080/xxl-job-admin | |||
appname: ${spring.application.name} | |||
accessToken: '' | |||
address: 127.0.0.1:30007 | |||
ip: 127.0.0.1 | |||
port: 30007 | |||
logPath: logs/jeecg/job/jobhandler/ | |||
logRetentionDays: 30 | |||
route: | |||
config: | |||
data-id: jeecg-gateway-router | |||
group: DEFAULT_GROUP | |||
#自定义路由配置 yml nacos database | |||
data-type: database | |||
#分布式锁配置 | |||
redisson: | |||
address: 127.0.0.1:6379 | |||
password: | |||
type: STANDALONE | |||
enabled: true | |||
#cas单点登录 | |||
cas: | |||
prefixUrl: http://cas.example.org:8443/cas | |||
#Mybatis输出sql日志 | |||
logging: | |||
level: | |||
org.jeecg.modules.system.mapper : info | |||
#swagger | |||
knife4j: | |||
#开启增强配置 | |||
enable: true | |||
#开启生产环境屏蔽 | |||
production: false | |||
basic: | |||
enable: false | |||
username: jeecg | |||
password: jeecg1314 | |||
#第三方登录 | |||
justauth: | |||
enabled: true | |||
type: | |||
GITHUB: | |||
client-id: ?? | |||
client-secret: ?? | |||
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/github/callback | |||
WECHAT_ENTERPRISE: | |||
client-id: ?? | |||
client-secret: ?? | |||
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback | |||
agent-id: ?? | |||
DINGTALK: | |||
client-id: ?? | |||
client-secret: ?? | |||
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/dingtalk/callback | |||
WECHAT_OPEN: | |||
client-id: ?? | |||
client-secret: ?? | |||
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_open/callback | |||
cache: | |||
type: default | |||
prefix: 'demo::' | |||
timeout: 1h | |||
#第三方APP对接 | |||
third-app: | |||
enabled: false | |||
type: | |||
#企业微信 | |||
WECHAT_ENTERPRISE: | |||
enabled: false | |||
#CORP_ID | |||
client-id: ?? | |||
#SECRET | |||
client-secret: ?? | |||
#自建应用id | |||
agent-id: ?? | |||
#自建应用秘钥(新版企微需要配置) | |||
# agent-app-secret: ?? | |||
#钉钉 | |||
DINGTALK: | |||
enabled: false | |||
# appKey | |||
client-id: ?? | |||
# appSecret | |||
client-secret: ?? | |||
agent-id: ?? | |||
##配置公众号基础参数-瀚海 | |||
wechat: | |||
mpAppId: wx6fb4a17b28186d58 | |||
mpAppSecret: c19b90136353443a6720c8644c5d7c2e | |||
wx: | |||
mp: | |||
configs: | |||
- appId: wx6fb4a17b28186d58 | |||
secret: c19b90136353443a6720c8644c5d7c2e | |||
token: | |||
aesKey: | |||
# - appId: | |||
# secret: | |||
# token: | |||
# aesKey: |
@ -1,348 +0,0 @@ | |||
server: | |||
port: 8091 | |||
tomcat: | |||
max-swallow-size: -1 | |||
error: | |||
include-exception: true | |||
include-stacktrace: ALWAYS | |||
include-message: ALWAYS | |||
servlet: | |||
context-path: /job-dev | |||
compression: | |||
enabled: true | |||
min-response-size: 1024 | |||
mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* | |||
management: | |||
endpoints: | |||
web: | |||
exposure: | |||
include: metrics,httptrace | |||
spring: | |||
servlet: | |||
multipart: | |||
max-file-size: 10MB | |||
max-request-size: 10MB | |||
mail: | |||
host: smtp.qq.com | |||
username: 2602107437@qq.com | |||
password: wvaotacgonepdibg | |||
properties: | |||
mail: | |||
smtp: | |||
auth: true | |||
starttls: | |||
enable: true | |||
required: true | |||
## quartz定时任务,采用数据库方式 | |||
quartz: | |||
job-store-type: jdbc | |||
initialize-schema: embedded | |||
#定时任务启动开关,true-开 false-关 | |||
auto-startup: true | |||
#启动时更新己存在的Job | |||
overwrite-existing-jobs: true | |||
properties: | |||
org: | |||
quartz: | |||
scheduler: | |||
instanceName: MyScheduler | |||
instanceId: AUTO | |||
jobStore: | |||
class: org.springframework.scheduling.quartz.LocalDataSourceJobStore | |||
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate | |||
tablePrefix: QRTZ_ | |||
isClustered: true | |||
misfireThreshold: 60000 | |||
clusterCheckinInterval: 10000 | |||
threadPool: | |||
class: org.quartz.simpl.SimpleThreadPool | |||
threadCount: 10 | |||
threadPriority: 5 | |||
threadsInheritContextClassLoaderOfInitializingThread: true | |||
#json 时间戳统一转换 | |||
jackson: | |||
date-format: yyyy-MM-dd HH:mm:ss | |||
time-zone: GMT+8 | |||
jpa: | |||
open-in-view: false | |||
activiti: | |||
check-process-definitions: false | |||
#启用作业执行器 | |||
async-executor-activate: false | |||
#启用异步执行器 | |||
job-executor-activate: false | |||
aop: | |||
proxy-target-class: true | |||
#配置freemarker | |||
freemarker: | |||
# 设置模板后缀名 | |||
suffix: .ftl | |||
# 设置文档类型 | |||
content-type: text/html | |||
# 设置页面编码格式 | |||
charset: UTF-8 | |||
# 设置页面缓存 | |||
cache: false | |||
prefer-file-system-access: false | |||
# 设置ftl文件路径 | |||
template-loader-path: | |||
- classpath:/templates | |||
# 设置静态文件路径,js,css等 | |||
mvc: | |||
static-path-pattern: /** | |||
#Spring Boot 2.6+后映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser,需要手动指定为ant-path-matcher | |||
pathmatch: | |||
matching-strategy: ant_path_matcher | |||
resource: | |||
static-locations: classpath:/static/,classpath:/public/ | |||
autoconfigure: | |||
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure | |||
datasource: | |||
druid: | |||
stat-view-servlet: | |||
enabled: true | |||
loginUsername: admin | |||
loginPassword: 123456 | |||
allow: | |||
web-stat-filter: | |||
enabled: true | |||
dynamic: | |||
druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置) | |||
# 连接池的配置信息 | |||
# 初始化大小,最小,最大 | |||
initial-size: 5 | |||
min-idle: 5 | |||
maxActive: 20 | |||
# 配置获取连接等待超时的时间 | |||
maxWait: 60000 | |||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 | |||
timeBetweenEvictionRunsMillis: 60000 | |||
# 配置一个连接在池中最小生存的时间,单位是毫秒 | |||
minEvictableIdleTimeMillis: 300000 | |||
validationQuery: SELECT 1 | |||
testWhileIdle: true | |||
testOnBorrow: false | |||
testOnReturn: false | |||
# 打开PSCache,并且指定每个连接上PSCache的大小 | |||
poolPreparedStatements: true | |||
maxPoolPreparedStatementPerConnectionSize: 20 | |||
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 | |||
filters: stat,wall,slf4j | |||
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录 | |||
# connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 | |||
datasource: | |||
master: | |||
url: jdbc:mysql://43.142.11.72:3306/job-xinxiong?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai | |||
username: root | |||
password: C8rHp06X | |||
driver-class-name: com.mysql.cj.jdbc.Driver | |||
# 多数据源配置 | |||
#multi-datasource1: | |||
#url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai | |||
#username: root | |||
#password: root | |||
#driver-class-name: com.mysql.cj.jdbc.Driver | |||
#redis 配置 | |||
redis: | |||
database: 11 | |||
host: 120.77.219.117 | |||
lettuce: | |||
pool: | |||
max-active: 8 #最大连接数据库连接数,设 -1 为没有限制 | |||
max-idle: 8 #最大等待连接中的数量,设 0 为没有限制 | |||
max-wait: -1ms #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。 | |||
min-idle: 0 #最小等待连接中的数量,设 0 为没有限制 | |||
shutdown-timeout: 100ms | |||
password: 'lzx.123456' | |||
port: 6379 | |||
#mybatis plus 设置 | |||
mybatis-plus: | |||
mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml | |||
global-config: | |||
# 关闭MP3.0自带的banner | |||
banner: false | |||
db-config: | |||
#主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)"; | |||
id-type: ASSIGN_ID | |||
# 默认数据库表下划线命名 | |||
table-underline: true | |||
configuration: | |||
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 | |||
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl | |||
# 返回类型为Map,显示null对应的字段 | |||
call-setters-on-nulls: true | |||
#jeecg专用配置 | |||
minidao : | |||
base-package: org.jeecg.modules.jmreport.* | |||
jeecg : | |||
# 是否启用安全模式 | |||
safeMode: false | |||
# 签名密钥串(前后端要一致,正式发布请自行修改) | |||
signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a | |||
# 本地:local\Minio:minio\阿里云:alioss | |||
uploadType: alioss | |||
path : | |||
#文件上传根目录 设置 | |||
upload: /opt/upFiles | |||
#webapp文件路径 | |||
webapp: /opt/webapp | |||
shiro: | |||
excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/** | |||
#阿里云oss存储和大鱼短信秘钥配置 | |||
oss: | |||
accessKey: LTAI5tSncoQdzQgo4pPZUtH1 | |||
secretKey: U4X07sVPKEDJZMw1pUP7XNjT9syRX8 | |||
endpoint: oss-cn-hangzhou.aliyuncs.com | |||
bucketName: xinxiong-api | |||
staticDomain: https://medicine.xzaiyp.top | |||
# ElasticSearch 6设置 | |||
elasticsearch: | |||
cluster-name: jeecg-ES | |||
cluster-nodes: 127.0.0.1:9200 | |||
check-enabled: false | |||
# 表单设计器配置 | |||
desform: | |||
# 主题颜色(仅支持 16进制颜色代码) | |||
theme-color: "#1890ff" | |||
# 文件、图片上传方式,可选项:qiniu(七牛云)、system(跟随系统配置) | |||
upload-type: system | |||
map: | |||
# 配置百度地图的AK,申请地址:https://lbs.baidu.com/apiconsole/key?application=key#/home | |||
baidu: ?? | |||
# 在线预览文件服务器地址配置 | |||
file-view-domain: 127.0.0.1:8012 | |||
# minio文件上传 | |||
minio: | |||
minio_url: http://minio.jeecg.com | |||
minio_name: ?? | |||
minio_pass: ?? | |||
bucketName: otatest | |||
#大屏报表参数设置 | |||
jmreport: | |||
mode: dev | |||
#数据字典是否进行saas数据隔离,自己看自己的字典 | |||
saas: false | |||
#是否需要校验token | |||
is_verify_token: true | |||
#必须校验方法 | |||
verify_methods: remove,delete,save,add,update | |||
#自定义项目前缀 | |||
customPrePath: | |||
pageSize: | |||
- 10 | |||
- 20 | |||
- 30 | |||
- 40 | |||
#Wps在线文档 | |||
wps: | |||
domain: https://wwo.wps.cn/office/ | |||
appid: ?? | |||
appsecret: ?? | |||
#xxl-job配置 | |||
xxljob: | |||
enabled: false | |||
adminAddresses: http://127.0.0.1:9080/xxl-job-admin | |||
appname: ${spring.application.name} | |||
accessToken: '' | |||
address: 127.0.0.1:30007 | |||
ip: 127.0.0.1 | |||
port: 30007 | |||
logPath: logs/jeecg/job/jobhandler/ | |||
logRetentionDays: 30 | |||
route: | |||
config: | |||
data-id: jeecg-gateway-router | |||
group: DEFAULT_GROUP | |||
#自定义路由配置 yml nacos database | |||
data-type: database | |||
#分布式锁配置 | |||
redisson: | |||
address: 127.0.0.1:6379 | |||
password: | |||
type: STANDALONE | |||
enabled: true | |||
#cas单点登录 | |||
cas: | |||
prefixUrl: http://cas.example.org:8443/cas | |||
#Mybatis输出sql日志 | |||
logging: | |||
level: | |||
org.jeecg.modules.system.mapper : info | |||
#swagger | |||
knife4j: | |||
#开启增强配置 | |||
enable: true | |||
#开启生产环境屏蔽 | |||
production: false | |||
basic: | |||
enable: false | |||
username: jeecg | |||
password: jeecg1314 | |||
#第三方登录 | |||
justauth: | |||
enabled: true | |||
type: | |||
GITHUB: | |||
client-id: ?? | |||
client-secret: ?? | |||
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/github/callback | |||
WECHAT_ENTERPRISE: | |||
client-id: ?? | |||
client-secret: ?? | |||
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback | |||
agent-id: ?? | |||
DINGTALK: | |||
client-id: ?? | |||
client-secret: ?? | |||
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/dingtalk/callback | |||
WECHAT_OPEN: | |||
client-id: ?? | |||
client-secret: ?? | |||
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_open/callback | |||
cache: | |||
type: default | |||
prefix: 'demo::' | |||
timeout: 1h | |||
#第三方APP对接 | |||
third-app: | |||
enabled: false | |||
type: | |||
#企业微信 | |||
WECHAT_ENTERPRISE: | |||
enabled: false | |||
#CORP_ID | |||
client-id: ?? | |||
#SECRET | |||
client-secret: ?? | |||
#自建应用id | |||
agent-id: ?? | |||
#自建应用秘钥(新版企微需要配置) | |||
# agent-app-secret: ?? | |||
#钉钉 | |||
DINGTALK: | |||
enabled: false | |||
# appKey | |||
client-id: ?? | |||
# appSecret | |||
client-secret: ?? | |||
agent-id: ?? | |||
##配置公众号基础参数-信熊 | |||
wechat: | |||
mpAppId: wxdabccf5a0110cfab | |||
mpAppSecret: ae18246ee3eacb1bbaf7a6872129613a | |||
wx: | |||
mp: | |||
configs: | |||
- appId: wxdabccf5a0110cfab | |||
secret: ae18246ee3eacb1bbaf7a6872129613a | |||
token: | |||
aesKey: | |||
# - appId: | |||
# secret: | |||
# token: | |||
# aesKey: |