Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

‘linchangsheng’ 3 nedēļas atpakaļ
vecāks
revīzija
519bc865de

+ 0 - 1
src/main/java/com/gree/mall/miniapp/controller/RedirectController.java

@@ -15,7 +15,6 @@ import java.io.IOException;
 
 @RequiredArgsConstructor
 @Controller
-@RequestMapping("/redirect")
 public class RedirectController {
 
 

+ 7 - 9
src/main/java/com/gree/mall/miniapp/controller/common/CommonController.java

@@ -261,14 +261,6 @@ public class CommonController {
         return ResponseHelper.success();
     }
 
-
-    @ApiNotAuth
-    @GetMapping("/oss/config")
-    public ResponseHelper getOSSConfig() throws UnsupportedEncodingException {
-        Map<String, String> ossConfig = commonLogic.getOSSConfig();
-        return ResponseHelper.success(ossConfig);
-    }
-
     @ApiNotAuth
     @GetMapping("/img/get")
     @ApiOperation(value = "获取图片")
@@ -276,8 +268,14 @@ public class CommonController {
             @ApiParam(required = true, value = "附件key") @RequestParam(required = true) String key,
             HttpServletResponse response
     ) throws IOException, RemoteServiceException {
-        String file = commonLogic.getFile(key, response);
+        String file = commonLogic.getFile(key);
         response.sendRedirect(file);
     }
 
+    @ApiNotAuth
+    @GetMapping("/oss/config")
+    public ResponseHelper getOSSConfig() throws UnsupportedEncodingException {
+        Map<String, String> ossConfig = commonLogic.getOSSConfig();
+        return ResponseHelper.success(ossConfig);
+    }
 }

+ 0 - 122
src/main/java/com/gree/mall/miniapp/helper/ExcelImgHelper.java

@@ -1,122 +0,0 @@
-package com.gree.mall.miniapp.helper;
-
-import com.aliyuncs.utils.StringUtils;
-import com.gree.mall.miniapp.exception.RemoteServiceException;
-import com.gree.mall.miniapp.utils.oss.OSSUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.poi.POIXMLDocumentPart;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.PictureData;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.usermodel.*;
-import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.util.*;
-
-/**
- *  lijh
- * 2021-06-08
- */
-@Slf4j
-public class ExcelImgHelper {
-
-    //导入商品
-    public static  HashMap<String, String> importExcel(MultipartFile file, String uploadFileSuffix,int counts) throws IOException, RemoteServiceException {
-        Workbook workbook = null;
-        try {
-            if (uploadFileSuffix.equals("xls")) {
-                workbook = new HSSFWorkbook(file.getInputStream());
-            } else if (uploadFileSuffix.equals("xlsx")) {
-                workbook = new XSSFWorkbook(file.getInputStream());
-            }
-            if (workbook != null) {
-                int sheetCount = workbook.getNumberOfSheets();
-                if (sheetCount > 0) {
-                    Map<Integer,List<PictureData>> imgsMap = getImgs(file);
-                    HashMap<String, String> imgUrlByXLS = getImgUrlByXLS(imgsMap, counts);
-                    return imgUrlByXLS;
-                }
-            }
-        } finally {
-                if (workbook != null) {
-                    workbook.close();
-                }
-        }
-        return null;
-    }
-
-
-    //部分代码需要根据导入模板调整
-    public static HashMap<String,String> getImgUrlByXLS(Map<Integer,List<PictureData>> pictures,int counts) throws IOException, RemoteServiceException {
-
-        //图片集
-        HashMap<String,String> imgMap = new HashMap<>();
-
-        log.error("导入图片数量:{}",pictures.size());
-        for (int i = 1; i <= counts; i++) {
-            //图片(是根据行号的)
-            List<PictureData> picture =  pictures.get(i);
-            if(picture == null){
-                imgMap.put(i+"",null);
-                continue;
-            }
-            log.error("序号:{}的导入图片数量:{}",i,picture.size());
-            String ossUrl = "";
-            for(PictureData pictureData :picture) {
-                byte[] data = pictureData.getData();
-                String uploadFileSuffix = pictureData.suggestFileExtension();
-
-                //保存路径
-                long currentTime = System.currentTimeMillis();
-                String filePath = OSSUtil.OSS_TYPE_PIC + currentTime + UUID.randomUUID().toString() + "." + uploadFileSuffix;
-                //保存图片到oss
-                if (!OSSUtil.uploadFile(filePath, data)) {
-                    throw new RemoteServiceException("文件同步oss失败");
-                }
-                ossUrl += OSSUtil.accessUrl + filePath + ",";
-            }
-            if(StringUtils.isNotEmpty(ossUrl)){
-                ossUrl = ossUrl.substring(0,ossUrl.length()-1);
-            }
-            imgMap.put(i+"",ossUrl);
-        }
-        return imgMap;
-    }
-
-
-    //获取excel的图片
-    public static Map<Integer,List<PictureData>> getImgs(MultipartFile file) throws IOException {
-
-        XSSFWorkbook workBook = new XSSFWorkbook(file.getInputStream());
-        Sheet sheet = workBook.getSheetAt(0);
-
-        Map<Integer,List<PictureData>> imgMap = new HashMap<>();
-        List<PictureData> list = null;
-        //读取sheet的图片放入Map
-        for (POIXMLDocumentPart dr : ((XSSFSheet) sheet).getRelations()) {
-            if (dr instanceof XSSFDrawing) {
-                XSSFDrawing drawing = (XSSFDrawing) dr;
-                List<XSSFShape> shapes = drawing.getShapes();
-                for (XSSFShape shape : shapes) {
-                    if(shape instanceof  XSSFPicture) {
-                        XSSFPicture pic = (XSSFPicture) shape;
-                        XSSFClientAnchor anchor = pic.getPreferredSize();
-                        CTMarker ctMarker = anchor.getFrom();
-                        int rowIndex = ctMarker.getRow() - 1;
-                        if (imgMap.get(rowIndex) == null) {
-                            list = new ArrayList<>();
-                            list.add(pic.getPictureData());
-                            imgMap.put(rowIndex, list);
-                        } else {
-                            imgMap.get(rowIndex).add(pic.getPictureData());
-                        }
-                    }
-                }
-            }
-        }
-        return imgMap;
-    }
-}

+ 14 - 16
src/main/java/com/gree/mall/miniapp/logic/common/CommonLogic.java

@@ -55,6 +55,8 @@ public class CommonLogic {
     AdminCompanyWechatOtherService adminCompanyWechatOtherService;
     @Autowired
     GoodsService goodsService;
+    @Autowired
+    OSSUtil ossUtil;
     @Value("${spring.profiles.active}")
     private String profiles;
     @Value("${wechat.appid}")
@@ -204,17 +206,6 @@ public class CommonLogic {
         return street;
     }
 
-
-    public Map<String, String> getOSSConfig() throws UnsupportedEncodingException {
-        Map<String, String> config = OSSUtil.getConfig();
-        return config;
-    }
-
-    public String getFile(String key, HttpServletResponse response) throws IOException {
-        String url = OSSUtil.getUrlWw(key);
-        return url;
-    }
-
     /**
      * 获取高德行政地址
      */
@@ -265,11 +256,11 @@ public class CommonLogic {
         }
 
         try {
-            String filePath = OSSUtil.OSS_TYPE_PIC + currentTime + UUID.randomUUID().toString() + "." + uploadFileSuffix;
-            if (!OSSUtil.uploadFile(filePath, file.getBytes())) {
+            String filePath = ossUtil.getFilePath() + "/" + currentTime + UUID.randomUUID().toString() + "." + uploadFileSuffix;
+            if (!ossUtil.uploadFile(filePath, file.getBytes())) {
                 throw new RemoteServiceException("文件同步oss失败");
             }
-            String ossUrl = OSSUtil.accessUrl + filePath;
+            String ossUrl = ossUtil.getAccessUrl2() + filePath;
 
             CommonFile commonFile = new CommonFile();
             commonFile.setUrl(ossUrl);
@@ -289,12 +280,19 @@ public class CommonLogic {
     }
 
     public String getFileGet(String key) {
-        String url = OSSUtil.getUrlWw(key,null);
+        String url = ossUtil.getUrlWw(key,null);
         return url;
     }
 
+    public String getFile(String key) throws IOException {
+        String url = ossUtil.getUrlWw(key);
+        return url;
+    }
 
-
+    public Map<String, String> getOSSConfig() throws UnsupportedEncodingException {
+        Map<String, String> config = ossUtil.getConfig();
+        return config;
+    }
 
 
 

+ 5 - 3
src/main/java/com/gree/mall/miniapp/logic/common/WechatLogic.java

@@ -75,6 +75,8 @@ public class WechatLogic {
 
     @Autowired
     RedisUtil redisUtil;
+    @Autowired
+    OSSUtil ossUtil;
 
     @Value("${wechat.sub.appid}")
     private String wechatSubAppid;
@@ -309,9 +311,9 @@ public class WechatLogic {
 
             //String baseStr = Base64.getEncoder().encodeToString(bos.toByteArray());
             long currentTime = System.currentTimeMillis();
-            String filePath = OSSUtil.OSS_TYPE_PIC + currentTime + UUID.randomUUID().toString() + ".png";
-            OSSUtil.uploadFile(filePath, bos.toByteArray());
-            String ossUrl = OSSUtil.accessUrl + filePath;
+            String filePath = ossUtil.getFilePath() + "/" + currentTime + UUID.randomUUID().toString() + ".png";
+            ossUtil.uploadFile(filePath, bos.toByteArray());
+            String ossUrl = ossUtil.getAccessUrl2() + filePath;
             return ossUrl;
         }catch (Exception e){
             log.error("获取微信二维码失败:",e);

+ 4 - 2
src/main/java/com/gree/mall/miniapp/logic/goods/GoodsLogic.java

@@ -68,6 +68,8 @@ public class GoodsLogic {
 
     @Autowired
     GoodsTagRelaService goodsTagRelaService;
+    @Autowired
+    OSSUtil ossUtil;
 
     @Autowired
     GoodsApplyService goodsApplyService;
@@ -527,10 +529,10 @@ public class GoodsLogic {
     public String updateMergeImage(String goodsId, String imgUrl) {
         if (StringUtils.isNotEmpty(goodsId)) {
             goodsService.lambdaUpdate()
-                    .set(Goods::getMergeImage, OSSUtil.accessUrl + imgUrl)
+                    .set(Goods::getMergeImage, ossUtil.getAccessUrl2() + imgUrl)
                     .eq(Goods::getGoodsId, goodsId)
                     .update();
-            return OSSUtil.accessUrl + imgUrl;
+            return ossUtil.getAccessUrl2() + imgUrl;
         }
         return "";
     }

+ 91 - 76
src/main/java/com/gree/mall/miniapp/utils/oss/OSSUtil.java

@@ -7,68 +7,117 @@ import com.aliyun.oss.common.utils.BinaryUtil;
 import com.aliyun.oss.model.*;
 import com.gree.mall.miniapp.constant.Constant;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.MediaType;
+import org.springframework.stereotype.Service;
 
 import java.io.*;
 import java.net.URL;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-
+@Service
 @Slf4j
 public class OSSUtil {
 
-    // 用户相关文件夹
-    public static final String ALIOSS_BUCKETNAME= "zfire-train";
-    public static final String OSS_TYPE_PIC = "train/pic/";
-    public static final String AliOSSEndPoint = "http://oss-cn-guangzhou.aliyuncs.com";
-    public static final String accessUrl = "https://zfire-train.oss-cn-guangzhou.aliyuncs.com/";
-
-    public static final String AliOSSEndPointNohttp = "oss-cn-guangzhou.aliyuncs.com";
-//    public static final String OSSAccessKeyID = "LTAI4G3XTLh8G8DiTpXHpWgt";
-//    public static final String OSSAccessKeySecret = "LYe8uf7Lg9WxJ1xejk45qnPFqxXLzN";
+    @Value("${ali.access.key.id}")
+    private String ACCESS_KEY_ID;
+    @Value("${ali.access.key.secert}")
+    private String ACCESS_KEY_SECERT;
+
+    @Value("${ali.oss.bucket.name}")
+    private String OSS_BUCKET_NAME;
+    @Value("${ali.oss.endpoint.ww}")
+    private String OSS_ENDPOINT_WW;
+    @Value("${ali.oss.endpoint}")
+    private String OSS_ENDPOINT;
+    @Value("${spring.profiles.active}")
+    private String active;
+    @Value("${sys.url}")
+    private String sysUrl;
+    @Value("${server.servlet.context-path}")
+    private String servletPath;
+
+    public String getAccessUrl(){
+        return "https://" + OSS_BUCKET_NAME +"."+ OSS_ENDPOINT_WW;
+    }
 
-    private static OSS ossClientPri = new OSSClientBuilder().build(AliOSSEndPoint,
-            Constant.Ali.ACCESS_KEY_ID, Constant.Ali.ACCESS_KEY_SECERT);
+    public String getAccessUrl2(){
+        return sysUrl + servletPath + "/img/get?key=";
+    }
 
-    public static boolean uploadFile(String ossObjectKey, byte[] file) throws IOException {
+    public String getFilePath() {
+        String month = new SimpleDateFormat("yyyy-MM").format(new Date());
+        return month;
+    }
 
-        PutObjectResult putObjectResult = null;
-        putObjectResult = ossClientPri.putObject(new PutObjectRequest(ALIOSS_BUCKETNAME, ossObjectKey, new ByteArrayInputStream(file)));
+    public OSS buildClient(){
+        return new OSSClientBuilder().build(!active.equals("prd") ? OSS_ENDPOINT_WW : OSS_ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECERT);
+    }
 
+    /**
+     * 上传到oss
+     *
+     * @param ossObjectKey 附件的唯一路径名称
+     * @param file         附件
+     * @return
+     */
+    public boolean uploadFile(String ossObjectKey, File file) {
+        PutObjectResult putObjectResult = buildClient().putObject(new PutObjectRequest(OSS_BUCKET_NAME, ossObjectKey, file));
         log.info("putObjectResult" + putObjectResult);
-        if (putObjectResult != null) {
-            ResponseMessage responseMessage = putObjectResult.getResponse();
-            if (responseMessage != null) {
-                log.error(responseMessage.getErrorResponseAsString());
-            }
-            return true;
-        }
+        return true;
+    }
 
-        return false;
+    public boolean uploadFile(String ossObjectKey, byte[] file) {
+        PutObjectResult putObjectResult = buildClient().putObject(new PutObjectRequest(OSS_BUCKET_NAME, ossObjectKey, new ByteArrayInputStream(file)));
+        log.info("putObjectResult" + putObjectResult);
+        return true;
     }
 
-    public static boolean uploadFile(String ossObjectKey,File file) throws IOException {
-        if (file == null) {
-            return false;
-        }
+    public boolean uploadFile(String ossObjectKey, ByteArrayInputStream byteArrayInputStream) {
+        PutObjectResult putObjectResult = buildClient().putObject(new PutObjectRequest(OSS_BUCKET_NAME, ossObjectKey, byteArrayInputStream));
+        log.info("putObjectResult" + putObjectResult);
+        return true;
+    }
 
-        PutObjectResult putObjectResult = ossClientPri.putObject(new PutObjectRequest(ALIOSS_BUCKETNAME, ossObjectKey, new FileInputStream(file)));
+    public boolean uploadFile(String ossObjectKey, InputStream inputStream) {
+        PutObjectResult putObjectResult = buildClient().putObject(new PutObjectRequest(OSS_BUCKET_NAME, ossObjectKey, inputStream));
         log.info("putObjectResult" + putObjectResult);
-        if (putObjectResult != null) {
-            ResponseMessage responseMessage = putObjectResult.getResponse();
-            if (responseMessage != null) {
-                log.error(responseMessage.getErrorResponseAsString());
-            }
-            return true;
+        return true;
+    }
+
+
+    public String getUrlWw(String key) {
+        return getUrlWw(key, null);
+    }
+
+    public String getUrlWw(String key, MediaType mediaType) {
+        if (StringUtils.isEmpty(key)) {
+            return "";
         }
-        return false;
+        // 设置URL过期时间为1小时
+        Date expiration = new Date(new Date().getTime() + 3600 * 1000);
+        GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(OSS_BUCKET_NAME, key);
+        request.setExpiration(expiration);
+        if (mediaType != null) {
+            request.setContentType(mediaType.toString());
+        }
+
+        URL url = new OSSClientBuilder()
+                .build("https://" + OSS_ENDPOINT_WW, ACCESS_KEY_ID, ACCESS_KEY_SECERT)
+                .generatePresignedUrl(request);
+
+        String resultUrl = url.toString();
+
+        return resultUrl;
     }
 
-    public static Map<String, String> getConfig() throws UnsupportedEncodingException {
-        OSS client = new OSSClientBuilder().build(AliOSSEndPoint, Constant.Ali.ACCESS_KEY_ID, Constant.Ali.ACCESS_KEY_SECERT);
-        String host = accessUrl; // host的格式为 bucketname.endpoint
+    public Map<String, String> getConfig() throws UnsupportedEncodingException {
+        OSS client = buildClient();
+        String host = "https://" + OSS_BUCKET_NAME + "." + OSS_ENDPOINT_WW; // host的格式为 bucketname.endpoint
 
 //        OSSClient client = new OSSClient(endpoint, accessId, accessKey);
         long expireTime = 300;
@@ -76,7 +125,7 @@ public class OSSUtil {
         java.sql.Date expiration = new java.sql.Date(expireEndTime);
         PolicyConditions policyConds = new PolicyConditions();
         policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 1048576000);
-        policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY,OSS_TYPE_PIC);
+        policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, getFilePath());
 
         String postPolicy = client.generatePostPolicy(expiration, policyConds);
         byte[] binaryData = postPolicy.getBytes("utf-8");
@@ -84,47 +133,13 @@ public class OSSUtil {
         String postSignature = client.calculatePostSignature(postPolicy);
 
         Map<String, String> respMap = new LinkedHashMap<String, String>();
-        respMap.put("OSSAccessKeyId", Constant.Ali.ACCESS_KEY_ID);
+        respMap.put("OSSAccessKeyId", ACCESS_KEY_ID);
         respMap.put("expire", String.valueOf(expireEndTime / 1000));
         respMap.put("policy", encodedPolicy);
         respMap.put("signature", postSignature);
-        respMap.put("id",Constant.Ali.ACCESS_KEY_SECERT);
-        respMap.put("dir", OSS_TYPE_PIC);
+        respMap.put("id", ACCESS_KEY_ID);
+        respMap.put("dir", getFilePath()+"/");
         respMap.put("host", host);
         return respMap;
     }
-
-    public static String getUrlWw(String key){
-        OSS clientWw = new OSSClientBuilder().build(AliOSSEndPoint,Constant.Ali.ACCESS_KEY_ID, Constant.Ali.ACCESS_KEY_SECERT);
-        // 设置URL过期时间为1小时
-        Date expiration = new Date(new Date().getTime() + 3600 * 1000);
-        GeneratePresignedUrlRequest generatePresignedUrlRequest ;
-        generatePresignedUrlRequest =new GeneratePresignedUrlRequest(ALIOSS_BUCKETNAME, key);
-        generatePresignedUrlRequest.setExpiration(expiration);
-        URL url = clientWw.generatePresignedUrl(generatePresignedUrlRequest);
-        return url.toString();
-    }
-
-    public static String getUrlWw(String key, MediaType mediaType) {
-        if (org.apache.commons.lang3.StringUtils.isEmpty(key)) {
-            return "";
-        }
-        // 设置URL过期时间为1小时
-        Date expiration = new Date(new Date().getTime() + 3600 * 1000);
-        GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(ALIOSS_BUCKETNAME, key);
-        request.setExpiration(expiration);
-        if (mediaType != null) {
-            request.setContentType(mediaType.toString());
-        }
-
-        URL url = new OSSClientBuilder()
-                .build("https://" + AliOSSEndPointNohttp, Constant.Ali.ACCESS_KEY_ID, Constant.Ali.ACCESS_KEY_SECERT)
-                .generatePresignedUrl(request);
-
-        String resultUrl = url.toString();
-
-        return resultUrl;
-
-    }
-
 }

+ 8 - 2
src/main/resources/bootstrap-dev.properties

@@ -6,6 +6,7 @@
 
 #mybatis-plus.configuration.log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 
+sys.url=https://jiasm.zfire.top
 
 #支付回调地址
 wechat.payment.notifyUrl=https://jiasm.zfire.top/mallMini/pay/payCall
@@ -95,8 +96,13 @@ spring.redis.lettuce.pool.min-idle=0
 spring.redis.timeout=100000ms
 
 #阿里云key
-ali.accessKeyId=LTAI4G3XTLh8G8DiTpXHpWgt
-ali.accessKeySecret=LYe8uf7Lg9WxJ1xejk45qnPFqxXLzN
+ali.access.key.id=LTAI5tDHiEGKuwzNhW2gLPyc
+ali.access.key.secert=NVXSx3Gj7fHv6unGwWgalJh49uMZOI
+ali.oss.bucket.name=share-mall-test
+ali.oss.endpoint.ww=oss-cn-shenzhen.aliyuncs.com/
+ali.oss.endpoint=oss-cn-shenzhen-internal.aliyuncs.com/
+ali.oss.type.pic=uploadfile/
+ali.sms.msg.code=SMS_284585310
 
 
 #微信

+ 9 - 3
src/main/resources/bootstrap-prd.properties

@@ -4,7 +4,7 @@
 #spring.cloud.nacos.discovery.server-addr=172.18.61.6:8848
 #spring.cloud.nacos.discovery.namespace=80f5fb84-c3f9-4773-a297-204d1f39e23d
 
-
+sys.url=https://jiasm.zfire.top
 
 #支付回调地址
 wechat.payment.notifyUrl=https://gjmall.zfire.top/miniapi/pay/payCall
@@ -95,8 +95,14 @@ spring.redis.lettuce.pool.max-idle=100
 spring.redis.lettuce.pool.min-idle=0
 spring.redis.timeout=100000ms
 
-ali.accessKeyId=LTAI4G3XTLh8G8DiTpXHpWgt
-ali.accessKeySecret=LYe8uf7Lg9WxJ1xejk45qnPFqxXLzN
+#阿里云
+ali.access.key.id=LTAI5tDHiEGKuwzNhW2gLPyc
+ali.access.key.secert=NVXSx3Gj7fHv6unGwWgalJh49uMZOI
+ali.oss.bucket.name=zfire-train
+ali.oss.endpoint.ww=oss-cn-shenzhen.aliyuncs.com/
+ali.oss.endpoint=oss-cn-shenzhen-internal.aliyuncs.com/
+ali.oss.type.pic=uploadfile/
+ali.sms.msg.code=SMS_284585310
 
 
 work.token=gRmv6tlY0YeHKcrVBmLrnr1SEO

+ 9 - 3
src/main/resources/bootstrap-test.properties

@@ -82,6 +82,7 @@ spring.mvc.date-format=yyyy-MM-dd HH:mm:ss
 web.upload-path=${user.dir}/static/
 web.imageService=https://xxxxx
 
+sys.url=https://jiasm.zfire.top
 
 #####################redis 单机版 start################
 spring.redis.port=6388
@@ -94,9 +95,14 @@ spring.redis.lettuce.pool.max-idle=100
 spring.redis.lettuce.pool.min-idle=0
 spring.redis.timeout=100000ms
 
-#阿里云key
-ali.accessKeyId=LTAI4G3XTLh8G8DiTpXHpWgt
-ali.accessKeySecret=LYe8uf7Lg9WxJ1xejk45qnPFqxXLzN
+#阿里云
+ali.access.key.id=LTAI5tDHiEGKuwzNhW2gLPyc
+ali.access.key.secert=NVXSx3Gj7fHv6unGwWgalJh49uMZOI
+ali.oss.bucket.name=share-mall-test
+ali.oss.endpoint.ww=oss-cn-shenzhen.aliyuncs.com/
+ali.oss.endpoint=oss-cn-shenzhen-internal.aliyuncs.com/
+ali.oss.type.pic=uploadfile/
+ali.sms.msg.code=SMS_284585310
 
 #微信
 wechat.appid=wxaddd13c267e81e70