1. 项目规划
本项目为基于微信手机应用平台的一款运动互动型小程序,实现了用户即时运动步数群内PK与个人动态的发布,小程序前端采用原生框架,后端采用基于Node的koa2框架,数据库采用MYSQL,对象存储采用七牛云,服务器采用阿里ECS,域名采用CA认证。
运行效果如下
2. 支撑技术点分析
2.1 七牛云存储
在这个项目中,有个功能为动态发布,允许用户上传图片,动态发布后,所有人可在动态广场看到该动态,存储图片有很多方式,例如通过表单将文件转为为二级制发送给后端,然后存数据库中,但是,这样我就要多写很多代码,所有我决定将图片存储到图床,我数据库中保存图片链接即可,图床有很多,不一一描述了,我这次用的是七牛云,个人认证成功后将获得一定空间的免费存储空间。
建立存储空间(ydonline),选定存储区域(华北)。
注册成功后,将获得两组秘钥,这东西很重要,上传文件时,需要知道uptoken,uptoken是根据AK与SC生成的,七牛云开发文档中建议后端生成uptoken值,但我嫌麻烦,直接在线生成了uptoken,也就是说该uptoken是写死的。
uptoken生成地址:http://pchou.qiniudn.com/qiniutool/uptoken.html deadline的时间设置长一些
引入官方开发文件:qiniuUploader.js
小程序端存储图片关键代码:
1 | releaseNotice.js |
上传文件到指定的存储空间,七牛会返回文件的key值,加上七牛给你的外链域名,这样,你就可以显示文件了。
2.2 服务器与域名
我买过两次服务器,第一次是阿里的,另外一次也是阿里的。但这次,我买的是windows版云ECS ,首先,明确需求。
- 远程连接部署项目(安装环境,运行后台,域名解析,外网访问)
- 进行域名CA认证, 小程序的请求必须得是HTTPS。
在windows 服务器上部署项目 简单, 远程链接时,选择共享本地某个硬盘的资料,连接成功后,把本地的环境软件全部安装上去,本次需要在服务器上安装 node.js、git、mysql这三个软件。
购买SSL证书
https://yundunnext.console.aliyun.com/?p=casnext#/overview/cn-hangzhou
阿里有对单域名免费的证书,时间为1年,于是我为该项目的域名购买了https。
点击下载 =>选择 其他
解压后,里面有两个文件,一个是crt,一个是key,将这两个文件发在后台文件夹下/ssl包下 (可随便命名)
后台加载这两个文件。
1 | app.js 关键代码 |
这样,后台就跑在htpps下了。
在服务器上运行后台:
然后你用自己的电脑打开该域名,你会发现根本连接不上。
more >>