开发者学堂课程【云开发 Web 应用训练营:加强应用本身的计算能力】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/911/detail/14416
加强应用本身的计算能力
目录:
一、网络拓扑示意图
二、支付宝开放平台
三、小程序开发(人脸美化)
一、网络拓扑示意图
云应用通过出口网关来调用支付宝、钉钉、VI 等等其他应用软件
二、支付宝开放平台
支付宝小程序开发平台不能随意调用 app id
VI 智能需要授权访问
调用好的 api 放在应用配置里
应用配置里有日常环境,预发环境和线上环境
上传一张照片变成卡通形象:
import env from './util/env_config'; import {
upload_file_api, person_cartoon_api}from'./util/common';
// 这个位置得环境根据需求处理
const pathName ={
develop:"https://katong.workbenchapi.
//develop:"http://127.0.0.1:8080"
//develop:"http://30.25.108.95:8080
// develop:"http://30.25.108.132:9013
trial:"体验版'//体验版
release:"发布版',// 发布版
gray:'灰度版',// 灰度版
}['develop'll env];// 此处自行修改
// 上传path
线上可以进行布置函数计算
上传打包时会把镜像上传到镜像仓库中去
开发部署里面去编辑的代码是服务端的第一个代码仓库
创建应用
应用配置
要使用 OSS 和 阿里云视觉智能开放平台,这里要配置一下 OSS 和 ak、sk
首先创建一个新用户 ,选择编程访问
创建完成后记下 AccessKey ID 和 AccessKey Secret,后面要用到
然后赋予刚才创建的用户 OSS 和 VI 权限
添加 AliyunOSSFullAccess 和 AliyunVIAPIFullAccess 权限
创建 OSS 桶
区域要和应用的区域相同,读写权限选择 公共读写,创建完后把BucketName
然后回到云开发平台应用界面,找到刚才创建应用,点击 应用配置
分别填入刚才创建用户的 AccessKey ID 和 AccessKey Secret,以及桶名称,点击确定,配置完成
开发部署点击 开发部署,跳转到线上 IDE
部署完成后访问临时域名,如果出现如下界面,说明部署成功
如果出现下列界面说明 fc 权限不够,需要向管理人员申请权限
主账号不需要授权
要实现人脸美颜,需要阅读管饭文档在线上 ide 将代码做一定修改
三、小程序开发
在应用界面,可以看到两个代码仓库,一个是后端代码(也就是 IDE 里面的),另一个是前端代码,这里需要通过 git 将前端代码克隆本地进行调试,点击前端仓库
环境管理;
然后就可以看到对应的代码仓库地址,直接通过 git 命令克隆到本地即可,
注意:这里要先配置一下密钥,不会的话百度
手动将 devlop 后面的网址改成上面应用部署成功后生成的 url:
/这个位置得环境根据需求处理
const pathName=
/ / develop: "http://Ss_ur1}”",
/ develop: "https://k ----"benchapi.com"",
develop:"http://testlyi9r-m--l1nkckqnc.workbenchapi.com"
/ develop: "http://127.e.u.1:ouou"",
/develop: 'http:/7 30.25.108.95:80se',/斌
develop: 'http:// 30.25.108.132:9013",影 开发版
trial:"体验版"/ /体验版
release:“发布版"/ /发布版
gray:‘灰度版",/灰度版
[ "develop" ll env];/7/此处自行修改
//上传path
exportconstupload_file_url"S{pathName}s{upload_file_api} `;
//制作path
exportconstperson_cartoon_url"${pathName)i{(person_cartoon_api)";
运行测试:
import env from './util/env_config';
import {
upload_file_api,
person_cartoon_api}
from './util/common';
//这个位置得环境根据需求处理
const pathName = {
develop:"http://testlyi9ph3tcwb7tfyhqlw.workbenchapi.com/",
//develop:"http://127.0.0.1:8080",
Deve lop:"http://katong.workbenchapi.com',// 斌
// develop:"http://30.25.108.132:9013',// 影开发版
trial:"体验版',//体验版
release:发布版',//发布版
gray:"灰度版',// 灰度版
} ['develop'll env]; // 此处自行修改
// 上传path
Export const upload_file_url ='${pathName}${upload_file_api}`;
// 制作path
export const person cartoon url ='${pathName}${person cartoon api}`;
alc:
region: cn-shanghai
accessKeyId:${accessKeyId}
accessSecret:${accessKeySecret}
###################原图片上传 OSS配置#####################
oss:
endpoint:https://oss-cn-shanghai.aliyuncs.com bucketName:${ossBucketName}
accessKeyId: ${accessKeyId}
accessKeySecret: ${accessKeySecret}
conf:
maxConnections:10#最大的连接数
connectionTimeout:1000#最大的连接超时时间 maxErrorRetry:3 #失败重试次数 socketTimeout:20000#读取超时。
人脸美颜
要实现人脸美颜,通过阅读官方文档,需要在线上 IDE 将代码做一定的修改,
在 GenerateHumanAnimeStyleServiceImpl.java 中修改如下:
@Override
public String personCartoon(String,imageUrl) throws 10exception {
DefaultProfile profile= DefaultProfile.getProfile(region, accessKeyId,accessSecret); IAcsclient client =new DefaultAcsClient(profile);
//GenerateHumanAnimeStyleRequest request = new GenerateHumanAnimeStyleRequest(); FaceBeautyRequest request = new FaceBeautyRequest(); request.setImageURL(imageUrl);// request.setAlgoType(algoType); float sharp =1;
float smooth =(float)0.6; float white = 1;
request.setSharp(sharp); request.setSmooth(smooth); request.setwhite(white);
//GenenateHumanAnimeStyleResponse response = null ; FaceBeautyResponse response = null; try {
response = client.getAcsResponse(request);
log.info("人物动漫化算法返回结果:
{0",newGson().toJson(response));} catch(ServerException e){
//接口正常返回
。GenerateHumanAnimeStyleService.java修改如下:
import java.io.IOException;
public interface GenerateHumanAnimestyleService {
人物图像卡通化
@param imageUrl 输入的图像地址
@param algoType 默认固定为anime;生成日韩卡通效果。@return
String personCartoon(string imageUrl]throws IOException;
上传图片
@param imageFile
@return
String uploadImageFile(Multipartfile imageFile)throws IOException;
。GenerateHumanAnimeStyleController.java修改如下:
@GetMapping("/person cartoon")
public 3sonResult personCartoon(@RequestParam("imageurl") String imageUrl) throws IOException {
return new JsonResult(generateHumanAnimeStyleService.personCartoon(imageUrl));
运行测试。