瀏覽代碼

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

yeshijie 7 年之前
父節點
當前提交
87dae71360
共有 13 個文件被更改,包括 75 次插入86 次删除
  1. 二進制
      patient-co/patient-co-wlyy/doc/接口文档/对外接口文档/集美健康教育/集美健康教育对外接口文档.docx
  2. 8 8
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/GateWayInterceptor.java
  3. 2 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/prescription/PrescriptionInfoDao.java
  4. 25 41
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java
  5. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PatientPrescriptionPayService.java
  6. 6 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionInfoService.java
  7. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionService.java
  8. 3 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/account/DoctorController.java
  9. 7 7
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcLoginController.java
  10. 8 8
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcTokenController.java
  11. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/doctor/GcMessageController.java
  12. 9 9
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/BaseResultModel.java
  13. 4 3
      patient-co/patient-co-wlyy/src/main/resources/application.yml

二進制
patient-co/patient-co-wlyy/doc/接口文档/对外接口文档/集美健康教育/集美健康教育对外接口文档.docx


+ 8 - 8
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/GateWayInterceptor.java

@ -72,28 +72,28 @@ public class GateWayInterceptor implements HandlerInterceptor {
        //********************************判断accesstoken********************************
        try {
            if (org.springframework.util.StringUtils.isEmpty(accesstoken)) {
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_null.getMessage());
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.statusEm.token_null.getMessage());
                //没权限
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_null.getCode(), BaseResultModel.codeEm.token_null.getMessage());
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.statusEm.token_null.getCode(), BaseResultModel.statusEm.token_null.getMessage());
                response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
            }
            GcToken gcToken = gcTokenDaoDao.findByToken(accesstoken);
            if (gcToken == null) {
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_no_power.getMessage());
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.statusEm.token_no_power.getMessage());
                //没权限
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_no_power.getCode(), BaseResultModel.codeEm.token_no_power.getMessage());
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.statusEm.token_no_power.getCode(), BaseResultModel.statusEm.token_no_power.getMessage());
                response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
            }
            if (gcToken.getDel() == null || gcToken.getDel() == 0) {
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_out_effect.getMessage());
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.statusEm.token_out_effect.getMessage());
                //token无效
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_out_effect.getCode(), BaseResultModel.codeEm.token_out_effect.getMessage());
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.statusEm.token_out_effect.getCode(), BaseResultModel.statusEm.token_out_effect.getMessage());
                response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
            }
            if (System.currentTimeMillis() > gcToken.getOutTime().getTime()) {
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_out_time.getMessage());
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.statusEm.token_out_time.getMessage());
                //token过期
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_out_time.getCode(), BaseResultModel.codeEm.token_out_time.getMessage());
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.statusEm.token_out_time.getCode(), BaseResultModel.statusEm.token_out_time.getMessage());
                response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
            }
        } catch (Exception e) {

+ 2 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/prescription/PrescriptionInfoDao.java

@ -18,7 +18,7 @@ public interface PrescriptionInfoDao extends PagingAndSortingRepository<Prescrip
    @Modifying
    @Query("update PrescriptionInfo p set p.cost=?2 where p.code=?1")
    void updateStatus(String code,Integer cost);
    @Query("update PrescriptionInfo p set p.cost=?2 where p.drugCode=?1 and p.prescriptionCode=?3 and p.del=1")
    void updateStatus(String code,Integer cost,String prescriptionCode);
}

+ 25 - 41
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java

@ -1317,12 +1317,8 @@ public class DoctorInfoService extends BaseService {
            int status = responseObject.getInt("status");
            if (status == 200) {
                data = responseObject.getString("data");
                if (!StringUtils.isEmpty(data) && data.startsWith("error")) {
                    throw new Exception(data);
                }else{
                    if("0".equals(data)){
                        return true;
                    }
                if("0".equals(data)){
                    return true;
                }
            }
        }else {
@ -1383,26 +1379,22 @@ public class DoctorInfoService extends BaseService {
            int status = responseObject.getInt("status");
            if (status == 200) {
                data = responseObject.getString("data");
                if (!StringUtils.isEmpty(data) && data.startsWith("error")) {
                    throw new Exception(data);
                } else {
                    //1、线上未认证,有证书,并有效,2、线上未认证,有证书,已过期,3、线上未认证,无证书,4、线上已认证,并有效
                    if(StringUtils.isNotEmpty(data)){
                        Date CertifiedOvertime = simpleDateFormat.parse(data);
                        doctor.setCertifiedOvertime(CertifiedOvertime);
                        doctorDao.save(doctor);
                        long times = CertifiedOvertime.getTime();
                        if(System.currentTimeMillis()<=times){
                            jsonObject.put("type",1);
                        }else{
                            jsonObject.put("type",2);
                        }
                //1、线上未认证,有证书,并有效,2、线上未认证,有证书,已过期,3、线上未认证,无证书,4、线上已认证,并有效
                if(StringUtils.isNotEmpty(data)){
                    Date CertifiedOvertime = simpleDateFormat.parse(data);
                    doctor.setCertifiedOvertime(CertifiedOvertime);
                    doctorDao.save(doctor);
                    long times = CertifiedOvertime.getTime();
                    if(System.currentTimeMillis()<=times){
                        jsonObject.put("type",1);
                    }else{
//                        jsonObject.put("type",3);
                        throw new Exception("null data.");
                        jsonObject.put("type",2);
                    }
                }else{
//                        jsonObject.put("type",3);
                    throw new Exception("null data.");
                }
            } else {
                jsonObject.put("type",3);
            }
@ -1431,16 +1423,12 @@ public class DoctorInfoService extends BaseService {
            String msg = responseObject.getString("msg");
            if (status == 200) {
                String data = responseObject.getString("data");
                if (!StringUtils.isEmpty(data) && data.startsWith("error")) {
                    throw new Exception(data);
                }else{
                    if("0".equals(data)){
                        Doctor doctor = findDoctorByCode(doctorCode);
                        doctor.setCheckPassword(strNewCalledPasswd);//保存密码,以便忘记密码时候使用
                        doctor.setIscertified(1);//说明已经(线上认证,已修改密码)
                        doctorDao.save(doctor);
                        return true;
                    }
                if("0".equals(data)){
                    Doctor doctor = findDoctorByCode(doctorCode);
                    doctor.setCheckPassword(strNewCalledPasswd);//保存密码,以便忘记密码时候使用
                    doctor.setIscertified(1);//说明已经(线上认证,已修改密码)
                    doctorDao.save(doctor);
                    return true;
                }
            }else{
                String error = msg.split(":")[2];
@ -1478,8 +1466,8 @@ public class DoctorInfoService extends BaseService {
            String msg = responseObject.getString("msg");
            if (status == 200) {
                String data = responseObject.getString("data");
                if (!StringUtils.isEmpty(data) && data.startsWith("error")) {
                    throw new Exception(data);
                if (StringUtils.isEmpty(data)) {
                    throw new Exception("null data");
                }else{
                    String[] str = data.split("\\|\\|");
//                    String strSignData = str[0];
@ -1524,12 +1512,8 @@ public class DoctorInfoService extends BaseService {
            String msg = responseObject.getString("msg");
            if (status == 200) {
                String data = responseObject.getString("data");
                if (!StringUtils.isEmpty(data) && data.startsWith("error")) {
                    throw new Exception(data);
                }else{
                    if("0".equals(data)){
                        return true;
                    }
                if("0".equals(data)){
                    return true;
                }
            }else{
                throw new Exception(responseObject.getString("msg"));

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PatientPrescriptionPayService.java

@ -632,7 +632,7 @@ public class PatientPrescriptionPayService extends BaseService {
            }
            expressage.setPrescriptionCode(prescriptionCode);
            prescription = prescriptionDao.findByCode(prescriptionCode);
            // 续方居民信息
            // 续方居民信息.
            String paySsc = prescription.getSsc();
            String payPatientCode = prescription.getPatient();
            String payName = prescription.getPatientName();

+ 6 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionInfoService.java

@ -35,7 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.*;
/**
 * Created by Trick on 2017/7/25.
 * Created  Trick on 2017/7/25.
 */
@Service
@Transactional
@ -141,7 +141,8 @@ public class PrescriptionInfoService extends BaseService {
                " AND p.`status` in ("+states+")";
        List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql);
        if(rs!=null&&rs.size()>0){
            return (Integer) rs.get(0).get("count");
            Long r = (Long) rs.get(0).get("count");
            return r.intValue();
        }
        return 0;
    }
@ -510,7 +511,9 @@ public class PrescriptionInfoService extends BaseService {
                " pr.`status`, " +
                " pr.`code`, " +
                " LEFT(pr.create_time,19) AS createTime, " +
                " pr.doctor " +
                " pr.doctor, " +
                " pr.min_drug_day AS minDrugDay," +
                " pr.pres_create_time AS presCreateTime" +
                " FROM " +
                " wlyy_prescription pr " +
                " LEFT JOIN wlyy_patient p ON pr.patient = p.`code` ");

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionService.java

@ -390,7 +390,7 @@ public class PrescriptionService extends BaseService {
                    for (String infoCode : zyInfoCodeAndCost.keySet()) {
                        Double _cost = Double.parseDouble(zyInfoCodeAndCost.get(infoCode));
                        Integer infocost = CommonUtil.doubleToInt(_cost);
                        prescriptionInfoDao.updateStatus(infoCode,infocost);
                        prescriptionInfoDao.updateStatus(infoCode,infocost,prescriptionCode);
                    }
                    //事务提交
                    transactionManager.commit(status);

+ 3 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/account/DoctorController.java

@ -1900,7 +1900,7 @@ public class DoctorController extends BaseController {
    }
    /**
     * 重置密码
     * 初始设置实名软证书调用保护口令
     */
    @ApiOperation("初始设置实名软证书调用保护口令")
    @ObserverRequired
@ -1909,7 +1909,8 @@ public class DoctorController extends BaseController {
    public String installAuthenticationPassword(@RequestParam(value = "strNewCalledPasswd",required = true) String strNewCalledPasswd){
        try {
            Doctor doctor = doctorInfoService.findDoctorByCode(getUID());
            boolean b = doctorInfoService.updateAuthenticationPassword(doctor.getIdcard(),"11111111",strNewCalledPasswd,getUID());
            String strOldCalledPasswd = StringUtils.isNotEmpty(doctor.getCheckPassword())?doctor.getCheckPassword():"11111111";
            boolean b = doctorInfoService.updateAuthenticationPassword(doctor.getIdcard(),strOldCalledPasswd,strNewCalledPasswd,getUID());
            if(b){
                return write(200, "设置密码成功!", "data", b);
            }

+ 7 - 7
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcLoginController.java

@ -54,7 +54,7 @@ public class GcLoginController {
            String modulus = RSAUtils.getInstance(smsService).getModulus();
            String exponent = RSAUtils.getInstance(smsService).getExponent();
            if (StringUtils.isEmpty(modulus) || StringUtils.isEmpty(exponent)) {
                return new ResultOneModel(BaseResultModel.codeEm.login_publickey_error.getCode(),BaseResultModel.codeEm.login_publickey_error.getMessage());
                return new ResultOneModel(BaseResultModel.statusEm.login_publickey_error.getCode(),BaseResultModel.statusEm.login_publickey_error.getMessage());
            } else {
                JSONObject json = new JSONObject();
                json.put("modulus", modulus); //加密指数
@ -62,7 +62,7 @@ public class GcLoginController {
                return new ResultOneModel(json);
            }
        } catch (Exception e) {
            return new ResultOneModel(BaseResultModel.codeEm.login_publickey_error.getCode(),BaseResultModel.codeEm.login_publickey_error.getMessage());
            return new ResultOneModel(BaseResultModel.statusEm.login_publickey_error.getCode(),BaseResultModel.statusEm.login_publickey_error.getMessage());
        }
    }
@ -94,7 +94,7 @@ public class GcLoginController {
                errorMessage = "获取IMEI码失败!";
                loginLog.setErrorMessage(errorMessage);
                loginLogService.saveLog(loginLog);
                return new ResultOneModel<>(BaseResultModel.codeEm.login_IMEI_error.getCode(), BaseResultModel.codeEm.login_IMEI_error.getMessage());
                return new ResultOneModel<>(BaseResultModel.statusEm.login_IMEI_error.getCode(), BaseResultModel.statusEm.login_IMEI_error.getMessage());
            }
            if (platform == null) {
                platform = 2;//默认为医生app端
@ -115,7 +115,7 @@ public class GcLoginController {
                    errorMessage = "该号码未注册!";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(BaseResultModel.codeEm.login_account_error.getCode(), BaseResultModel.codeEm.login_account_error.getMessage());
                    return new ResultOneModel<>(BaseResultModel.statusEm.login_account_error.getCode(), BaseResultModel.statusEm.login_account_error.getMessage());
                }
                loginLog.setUserCode(doctor.getCode());
                String loginPassword = MD5.GetMD5Code(password + doctor.getSalt());
@ -145,14 +145,14 @@ public class GcLoginController {
                    errorMessage = "密码错误,登录失败";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(BaseResultModel.codeEm.login_password_error.getCode(), BaseResultModel.codeEm.login_password_error.getMessage());
                    return new ResultOneModel<>(BaseResultModel.statusEm.login_password_error.getCode(), BaseResultModel.statusEm.login_password_error.getMessage());
                }
            }
            return new ResultOneModel<>(BaseResultModel.codeEm.error_params.getCode(), BaseResultModel.codeEm.error_params.getMessage());
            return new ResultOneModel<>(BaseResultModel.statusEm.error_params.getCode(), BaseResultModel.statusEm.error_params.getMessage());
        } catch (Exception e) {
            loginLog.setErrorMessage(e.getMessage());
            loginLogService.saveLog(loginLog);
            return new ResultOneModel<>(BaseResultModel.codeEm.login_system_error.getCode(), BaseResultModel.codeEm.login_system_error.getMessage());
            return new ResultOneModel<>(BaseResultModel.statusEm.login_system_error.getCode(), BaseResultModel.statusEm.login_system_error.getMessage());
        }
    }
}

+ 8 - 8
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcTokenController.java

@ -64,17 +64,17 @@ public class GcTokenController {
            GcClientDetails clientDetails = clientDetailsService.findByAppId(appid);
            if (clientDetails == null) {
                ResultOneModel resultOneModel = new ResultOneModel(null);
                resultOneModel.setCode(BaseResultModel.codeEm.error_Appid.getCode());
                resultOneModel.setMessage(BaseResultModel.codeEm.error_Appid.getMessage());
                saveHttpLog(ip, new JSONObject(request.getParameterMap()).toString(), "", "", request.getRequestURI(), 0, BaseResultModel.codeEm.error_Appid.getMessage());
                resultOneModel.setStatus(BaseResultModel.statusEm.error_Appid.getCode());
                resultOneModel.setMessage(BaseResultModel.statusEm.error_Appid.getMessage());
                saveHttpLog(ip, new JSONObject(request.getParameterMap()).toString(), "", "", request.getRequestURI(), 0, BaseResultModel.statusEm.error_Appid.getMessage());
                return resultOneModel;
            }
            //判断appSecret
            if (!appSecret.equals(clientDetails.getAppSecret())) {
                ResultOneModel resultOneModel = new ResultOneModel(null);
                resultOneModel.setCode(BaseResultModel.codeEm.error_AppSecret.getCode());
                resultOneModel.setMessage(BaseResultModel.codeEm.error_AppSecret.getMessage());
                saveHttpLog(ip, new JSONObject(request.getParameterMap()).toString(), "", "", request.getRequestURI(), 0, BaseResultModel.codeEm.error_Appid.getMessage());
                resultOneModel.setStatus(BaseResultModel.statusEm.error_AppSecret.getCode());
                resultOneModel.setMessage(BaseResultModel.statusEm.error_AppSecret.getMessage());
                saveHttpLog(ip, new JSONObject(request.getParameterMap()).toString(), "", "", request.getRequestURI(), 0, BaseResultModel.statusEm.error_Appid.getMessage());
                return resultOneModel;
            }
            //生成token
@ -89,8 +89,8 @@ public class GcTokenController {
            BeanUtils.copyProperties(gcToken, gcTokenModel);
            return new ResultOneModel(gcTokenModel);
        } catch (Exception e) {
            saveHttpLog(ip, new JSONObject(request.getParameterMap()).toString(), "", "", request.getRequestURI(), 0, BaseResultModel.codeEm.login_system_error.getMessage());
            return new ResultOneModel(BaseResultModel.codeEm.login_system_error.getCode(), BaseResultModel.codeEm.login_system_error.getMessage());
            saveHttpLog(ip, new JSONObject(request.getParameterMap()).toString(), "", "", request.getRequestURI(), 0, BaseResultModel.statusEm.login_system_error.getMessage());
            return new ResultOneModel(BaseResultModel.statusEm.login_system_error.getCode(), BaseResultModel.statusEm.login_system_error.getMessage());
        }
    }

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/doctor/GcMessageController.java

@ -94,7 +94,7 @@ public class GcMessageController {
            }
            return new ResultBatchModel(success, error, errorLiust);
        } catch (Exception e) {
            return new ResultBatchModel(BaseResultModel.codeEm.error_no_ip.getCode(), "获取IP失败", success, error, errorLiust);
            return new ResultBatchModel(BaseResultModel.statusEm.error_no_ip.getCode(), "获取IP失败", success, error, errorLiust);
        }
    }
}

+ 9 - 9
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/BaseResultModel.java

@ -9,16 +9,16 @@ import io.swagger.annotations.ApiModelProperty;
@ApiModel("返回实体")
public class BaseResultModel {
    @ApiModelProperty(value = "状态", required = false, access = "response")
    protected Integer code = codeEm.success.getCode();
    protected Integer status = statusEm.success.getCode();
    @ApiModelProperty(value = "信息", required = false, access = "response")
    protected String message = "成功";
    public Integer getCode() {
        return code;
    public Integer getStatus() {
        return status;
    }
    public void setCode(Integer code) {
        this.code = code;
    public void setStatus(Integer status) {
        this.status = status;
    }
    public String getMessage() {
@ -29,7 +29,7 @@ public class BaseResultModel {
        this.message = message;
    }
    public enum codeEm {
    public enum statusEm {
        success(10000, "请求成功"),//请求成功
        error_Appid(-9000, "appid不存在"),//appid不存在
        error_AppSecret(-9001, "AppSecret不存在"),//AppSecret不存在
@ -52,7 +52,7 @@ public class BaseResultModel {
        ;
        codeEm(Integer code, String message) {
        statusEm(Integer code, String message) {
            this.code = code;
            this.message = message;
        }
@ -84,8 +84,8 @@ public class BaseResultModel {
        this.message = message;
    }
    public BaseResultModel(Integer code, String message) {
        this.code = code;
    public BaseResultModel(Integer status, String message) {
        this.status = status;
        this.message = message;
    }

+ 4 - 3
patient-co/patient-co-wlyy/src/main/resources/application.yml

@ -275,10 +275,11 @@ ylzpay:
  onepayAppSecret: 1BLF5SCBO01V3E78A8C00000F3A0FFE7
express:
  sf_url: http://bsp-ois.sit.sf-express.com:9080/bsp-ois/sfexpressService
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
#  sf_url: https://bsp-ois.sit.sf-express.com:9443/bsp-ois/sfexpressServic
  sf_code: BSPdevelop
  sf_check_word: j8DzkIFgmlomPt0aLuwU
  sf_code: sddf
  sf_check_word: PqFN0ADkTwnvXArMhqGxVduag44vyDQ7
---
##开发的配置