#小程序云开发挑战赛#-云享坊-学习小鑫
云享坊小程序作品介绍
一、应用场景
- 分享功能
当你在下班回家的路上,抬头望见西边的晚霞格外耀眼,这时,你可以使用云享坊小程序和你的朋友、亲戚等分享此刻云霞的绚烂;你的朋友可以对你的分享进行评论、喜欢点赞,之后还可以加远方的人作为云享好友进行互动。 - 人像抠图
当你偶然发现有一张照片的背景不喜欢或想换成其他自己喜欢的背景时,你可以使用云享坊小程序积分兑换人像抠图小功能进行置换背景;特别是证件照换底色(红、白、蓝)。 - 积分兑换
在你闲暇之余,可以使用云享坊小程序的签到、分享等功能进行赚积分,等到积累一定数额,可以兑换雷柏V520机械游戏键盘等礼品。
二、目标用户
- 本云享坊小程序的目标用户面向普通大众,包括男女老少(敏感人士和少儿谨慎参与)
三、实现思路
- 首页实现思路
- 登录实现思路
- 签到实现思路
- 我要云享实现思路
- 我的云享实现思路
- 云享排行实现思路
- 云享设置实现思路
- 人像抠图实现思路
四、架构图
五、效果截图
- 个人中心界面
- 积分明细界面
- 我要云享界面
- 我的云享界面
- 云享排行界面
- 云享设置界面
- 云享邮箱验证界面
- 人像抠图·合并界面
- 物品兑换界面
六、功能代码展示
- 调用人像分割SDK的云函数代码:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: 'XXX' //你的云环境ID
})
const db = cloud.database({
env: 'XXX' //你的云环境ID
})
var AipBodyAnalysisClient = require("./src/index.js").bodyanalysis;
var APP_ID = "XXX"; //你的百度应用AppID
var API_KEY = "XXX"; //你的百度应用api_key
var SECRET_KEY = "XXX"; //你的百度应用secret_key
var client = new AipBodyAnalysisClient(APP_ID, API_KEY, SECRET_KEY);
var options = {};
options["type"] = "foreground";
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
const fileID = event.fileID
let imgName = fileID.split("/")
imgName = imgName[imgName.length - 1]
const res = await cloud.downloadFile({
fileID: fileID,
})
let buffer = new Buffer(res.fileContent)
buffer = buffer.toString('base64')
try {
const res1 = await client.bodySeg(buffer, options)
const res2 = await cloud.uploadFile({
cloudPath: "XXXX/" + imgName, //自己的云存储路径
fileContent: new Buffer(res1.foreground, 'base64')
})
const res3 = await cloud.getTempFileURL({
fileList: [{
fileID: res2.fileID,
maxAge: 60 * 1,
}]
})
return {
res3,
code: 1
}
} catch (err) {
return (err)
}
}
- 以邮箱形式发送验证码的云函数代码:
const cloud = require('wx-server-sdk')
cloud.init({
env: 'XXXX' //你的云环境ID
})
exports.main = async (event, context) => {
let code = Math.floor((Math.random() * 10000))
const nodemailer = require("nodemailer");
let transporter = nodemailer.createTransport({
host: "XXXXX", //SMTP服务器地址
port: XXX, //端口号,通常为465,587,25,不同的邮件客户端端口号可能不一样
secure: XXX, //如果端口是465,就为true;如果是587、25,就填false
auth: {
user: "XXXX[@XXXX](/user/XXXX)", //你发送验证码所用邮箱
pass: "XXX" //授权码
}
});
let message = {
from: 'XXXXX[@XXX](/user/XXX)', //你发送验证码所用邮箱
to: event.mail,
subject: event.subject,
html: "XXX" //自定义内容
};
let res = await transporter.sendMail(message);
return {
res,
code
};
}
七、作品体验二维码
云上分享与交友,云享坊欢迎你,欢迎体验!
八、作品展望
- 1、作品功能方面
后续将继续沿着作品的应用场景和初衷进行开发,新增web端应用功能及交友互动功能、落实积分奖励机制。 - 2、运营方面
后续运营将不再采取个人管理模式,会参与互联网企业的创业扶持计划,交由专业负责团队管理。
例如:华为云沃土开发人员成长计划
九、团队介绍
- 团队名:学习小鑫
- 人数:1人
- 作者姓名:陈泽鑫
- 技能:前端开发(web/小程序/跨端开发)
- 个人网站:https://likewater.top
- 扫以下微信二维码,可加微信联系,谢谢支持