商品服务-API-品牌管理
一、使用逆向功能的前后端代码
- 新增品牌管理菜单
- 第二天renren-generator逆向生成的代码,复制到项目中
- 更改权限
二、效果优化与快速显示开关
控制台报错
将 build——webpack.base.conf.js——createLintingRule方法注掉,并重新启动
- 开关显示
<el-table>中添加开关 - brand.vue
<template slot-scope="scope">
<el-switch
v-model="scope.row.showStatus"
active-color="#13ce66"
inactive-color="#ff4949"
:active-value="1"
:inactive-value="0"
@change="updateBrandStatus(scope.row)"
></el-switch>
</template>
<!-- change :switch状态发生变化时的回调函数 新状态的值 -->
// 修改状态
updateBrandStatus(data) {
console.log("最新信息", data);
let {
brandId, showStatus } = data;
//发送请求修改状态
this.$http({
url: this.$http.adornUrl("/product/brand/update/status"),
method: "post",
data: this.$http.adornData({
brandId, showStatus }, false),
}).then(({
data }) => {
this.$message({
type: "success",
message: "状态更新成功",
});
});
},
- brand-add-or-update.vue
<el-form-item label="显示状态" prop="showStatus">
<el-switch
v-model="dataForm.showStatus"
active-color="#13ce66"
inactive-color="#ff4949"
:active-value="1"
:inactive-value="0"
></el-switch>
</el-form-item>
三、云存储开通与使用
四、SpringCloud Alibaba-OSS
4.1 简介
对象存储服务(Object Storage Service,简称 OSS),是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展、多种存储类型供选择,全面优化存储成本,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
4.2 使用步骤
- 登录 https://www.aliyun.com/
- 操作文档:https://help.aliyun.com/document_detail/31885.html?spm=5176.208357.1107607.2.6e09390fiY1KST
- 创建存储空间
存储空间(Bucket)是用于存储对象(Object)的容器。
4.3 OSS文件上传
https://help.aliyun.com/document_detail/31886.html
4.3.1 普通上传方式
用户提交文件到服务器,服务器将文件提交到 OSS 对象存储
和数据直传到OSS相比,以上方法有三个缺点:
- 上传慢:用户数据需先上传到应用服务器,之后再上传到OSS。网络传输时间比直传到OSS多一倍。如果用户数据不通过应用服务器中转,而是直传到OSS,速度将大大提升。而且OSS采用BGP带宽,能保证各地各运营商之间的传输速度。
- 扩展性差:如果后续用户多了,应用服务器会成为瓶颈。
- 费用高:需要准备多台应用服务器。由于OSS上传流量是免费的,如果数据直传到OSS,不通过应用服务器,那么将能省下几台应用服务器。
(1) 使用 Java 上传文件
- 加入依赖项
<!-- 阿里云对象存储服务-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.5.0</version>
</dependency>
- 来自官网实例 - 上传文件流
@Test
public void testUpload() throws FileNotFoundException {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-beijing.aliyuncs.com";
// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 //https://ram.console.aliyun.com 创建。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 上传文件流。
InputStream inputStream = new FileInputStream("<yourlocalFile>");
ossClient.putObject("<yourBucketName>", "<yourObjectName>", inputStream);
// 关闭OSSClient。
ossClient.shutdown();
System.out.println("上传成功");
}
创建子用户AccessKey,需要填写 AccesskeyId 以及 Secret 同时也要指定文件位置 以及文件名字,并添加权限。
(2) 使用 oss-starter 上传文件
- common中 引入oss-starter
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alicloud-oss</artifactId>
</dependency>
- 具体要使用oss服务的模块(product) yaml 配置key,endpoint相关信息
spring:
alicloud:
access-key: yourAccessKeyId
secret-key: yourAccessKeySecret
oss:
endpoint: oss-cn-shenzhen.aliyuncs.com ## 地域节点
buck