Hi头像

Hi头像

  • 网站首页
  • 技术博客
  • 教程小册

›云开发-公众号外发

标题

  • 《从0到1开发一个智能头像识别小程序》

1-前言

  • 1.1 产品需求设计、页面流程图及项目规划
  • 1.2 技术选型的依据

2-项目配置

  • 2.1 小程序开启云开发模式
  • 2.2 人脸五官分析的环境配置

3-知识储备

  • 3.1 图片裁剪、模糊、保存、分享的技巧
  • 3.2 Canvas绘制技巧,包含小程序与 Web 端
  • 3.2 云开发图像处理的使用方法

4-实战开发

  • 4.1.1 上篇:借助云存储和图像处理扩展人脸智能裁剪
  • 4.1.2 下篇:图像识别流程——图片裁剪、图片压缩、base64转换
  • 4.2 云开发必备——图像安全审核
  • 4.3 通过五官分析实现为人脸佩戴贴纸
  • 4.4 人脸贴纸移动技巧
  • 4.5 头像绘制和图片保存弹窗
  • 4.6【未写】海报分享页面
  • 4.7 CMS扩展实战-节日主题贴纸放在云开发
  • 4.8 【第二期】个人中心的制作
  • 4.9【第二期】小程序与Web端的账户体系摸索

云开发-公众号外发

  • 图片识别加速,从10秒变为1秒,是怎么做到的呢?
  • 简单几步,让微信小程序变身 H5 网页
  • 【草稿】借助云存储,让大图识别转换真正加速
  • 云开发CMS实战-Hi头像节日主题贴纸大升级
  • 小程序云开发环境部署静态网站托管的实战
  • Web 云开发实战之盲水印添加工具(核心版)
  • Web 云开发实战之盲水印添加工具(步骤版)

更多探索

  • 【草稿】深色模式在Web端的适配技巧,附带小程序侧的思考
  • 【草稿】小程序框架:Taro 2.0与Taro 3.0的核心分析

小程序云开发环境部署静态网站托管的实战

静态网站托管简介

静态网站托管(Website Hosting,WH)是由云开发提供的便捷、稳定、高拓展性的托管服务,您无需自建服务器,即可一键部署网站应用,将静态网站发布到全网节点,轻松为您的业务增添稳定、高并发、快速访问等能力。此外,您还可以结合云开发的云函数、数据库等能力,将静态网站扩展为带有后台服务端的全栈网站,让您可极速提供网站应用。

在我最近的文章提及的“CMS内容管理系统”是一个React项目,其安装位置在“静态网站托管”的tcb-cms目录中。

这次我就想借助TencentCloudBase/cloudbase-action来完成 Web 端项目的持续集成工作。

云开发的环境设置

首先,我在小程序云开发有两套环境,在发布到web端也会有这两套环境。

  • development,对应着开发环境,其网址为 https://yzface.hi-our.com
  • production,对应着生成环境,其网址为 https://face.hi-our.com

在我的 Taro 版仓库中,我配置了 SERVER_ENV 这个变量来设置当前输出的是什么环境。

// config.js
const env = process.env.SERVER_ENV || 'prod'
module.exports = {
  env,
  cloudEnv: env === 'prod' ? 'production-xxxxx' : 'development-xxxxx',
}

// app.js
if (process.env.TARO_ENV === 'h5') {
  Taro.cloud = tcb.init({
    env: config.cloudEnv
  })
}

Taro 仓库的编译命令:

{
  "scripts": {
    "release:yzweb": "SERVER_ENV=yz NODE_ENV=production npm run build:h5",
    "release:web": "SERVER_ENV=prod NODE_ENV=production npm run build:h5"
  }
}

这里补充一些关于 Taro 的信息
Taro 是一套遵循 React 语法规范的 多端开发 解决方案。
使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动/QQ/京东小程序、快应用、H5、React-Native 等)运行的代码。

持续集成部署

在 TencentCloudBase/cloudbase-action 中说明了需要在 github action 中配置secretId、secretKey、envId这几个环境变量,但一个 action 配置显然无法完成开发、生产两套环境的持续集成。

我这里给出我的设置

  • 1.x-stable 分支:上线验证通过后的代码
  • deploy/cloudbase-development 分支:开发测试环境的代码,其 action 文件为 cloudbase-development.yml
  • deploy/cloudbase-production 分支: 正式生产环境的代码,其 action 文件为 cloudbase-production.yml
name: deploy-cloudbase-development # Github Actions 显示的名称

on:
  push:
    branches: [ deploy/cloudbase-development ] # push到该分支后触发action
  pull_request:
    branches: [ deploy/cloudbase-development ] # pr到该分支后触发action

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [10.x, 12.x]

    steps:
    - uses: actions/checkout@v2 # 拉取最新代码
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - run: cd taro/
    - run: npm i
    - run: npm run release:yzweb --if-present # 编译代码
    - name: Deploy static to Tencent CloudBase # 部署到腾讯云云开发cloudBase的静态网站托管上
      id: deployStatic
      uses: TencentCloudBase/cloudbase-action@v1.1.0
      with:
        secretId: ${{ secrets.SECRET_ID }}
        secretKey: ${{ secrets.SECRET_KEY }}
        envId: ${{ secrets.ENV_ID_DEVELOPMENT }} # 注意环境ID为开发环境
        staticSrcPath: taro/dist-h5/

绑定域名

绑定自定义域名

默认域名仅供测试使用,限制下行速度100KB/S。如您需要对外正式提供网站服务,请绑定您已备案的自定义域名。

  • development,对应着开发环境,其网址为 https://yzface.hi-our.com
  • production,对应着生成环境,其网址为 https://face.hi-our.com

设置安全域名 在 “环境 => 安全设置 => WEB安全域名” 中绑定对应的测试域名及自定义域名。

文章相关内容:

我是 盛瀚钦,沪江 CCtalk 前端开发工程师,Taro 框架的 issue 维护志愿者,腾讯云云开发布道师,主要侧重于前端 UI 编写和团队文档建设。

最近组建了HiOur开源团队,主要开发Hi头像小程序及相关教程,与云开发 Cloudbase合作举行云开发月度挑战赛。

官网为:https://hi-our.com

参考文章

  • 如何通过 Github Action 获取静态资源部署服务
← 云开发CMS实战-Hi头像节日主题贴纸大升级Web 云开发实战之盲水印添加工具(核心版) →
  • 静态网站托管简介
    • 云开发的环境设置
    • 持续集成部署
    • 绑定域名
  • 文章相关内容:
  • 参考文章
Hi头像
文档
开篇介绍
相关资源
云开发 CloudBaseTaro
关于
联系我们GitHub主页Star
Copyright © 2020. All Rights Reserved.
沪ICP备2022023998号