一、微信小程序需要什么
- 需要经过ICP备案的域名
像.club这样的国际域名,说是已经备案了,但在微信公众平台设置还是不可用的。 - 需要老老实实去阿里云备案【传送带】,一般需要20个工作日。
- 需要云服务器
- 需要把你的域名解析到你的云服务器上
二、node开启https服务
上代码(改掉ssl证书的文件名为你自己的,第三部分会说如何生成你的SSL证书)
var express = require('express');
var app = express();
var https=require('https'),fs=require('fs');
var homepage={
columns:['春节','元宵节','清明节','端午节','中秋节','国庆节','重阳节','元旦']
};
// https服务
var options={
key:fs.readFileSync('./ssl/yourkey.key'),
cert:fs.readFileSync('./ssl/yourcert.crt')
}
https.createServer(options,function(req,res){
res.writeHead(200,{
"Content-Type":"text/html",
'charset':'utf-8',
'Access-Control-Allow-Origin':'*',
'Access-Control-Allow-Methods':'PUT,POST,GET,DELETE,OPTIONS'
});
data=homepage;
console.log(data);
res.end(JSON.stringify(data));
}).listen(8443);
console.log('Server running at https://127.0.0.1:8443/');
三、SSL证书
问题来了,SSL证书如何获得?像我这种小白自然是连SSL是啥都不知道的。大概就是一个key和一个cert,生成的证书如果是安全的,则可以成功开启https服务。
如何生成呢?
- 我是先来了波自签名证书,小白嘛,总是网上说什么就试什么的。
前端们一定电脑上基本都装了git客户端,那么就可以直接打开你的git bash,进行下面的操作:
//1、生成私钥key文件:
openssl genrsa -out privatekey.pem 1024
//2、通过私钥生成CSR证书签名 (需要填一些信息、可直接回车)
openssl req -new -key privatekey.pem -out certrequest.csr
//3、通过私钥和证书签名生成证书文件
openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem
出现Signature ok
表示成功,可以发现电脑里多了这三个文件:
privatekey.pem: 私钥
certrequest.csr: CSR证书签名
certificate.pem: 证书文件
发现我是在C:/Users/cxyi文件路径下进行的git,自然这三个文件也生成在此目录下:
把文件放到自己的项目目录下引用就可以使用了。
但是!不能使用自签名证书!会变成下面这样
证书不合法。。。
- 使用腾讯云下载下来的证书(因为我域名是在腾讯云买的)
即可下载到一个包含很多服务版本的ssl证书:
把node代码中的两个文件替换成这个证书的Nginx版本下的两个文件就可以使用了,不会有隐私设置错误。
四、关于云服务器
- 在云服务器上安装node,拷贝后台node项目到云服务器上,运行即可。如果不能正常访问,考虑出入站问题,设置你的服务器对应端口开启。
- 需要注意跨域问题,第二部分的代码中已经进行了跨域的处理:
'Access-Control-Allow-Origin':'*',
'Access-Control-Allow-Methods':'PUT,POST,GET,DELETE,OPTIONS'
- 如何使用云服务器拷贝文件
远程桌面连接时:
选择你的文件磁盘
这样就可以在云服务器上的文件资源管理器上看到你的D盘了。
五、关于微信小程序的开发环境
怎样无需域名、备案,在本地即可进行开发呢?
只需打开微信开发者工具–>详情–>勾选:不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书。
这样当你域名还未备案成功时,可以先在本地进行node的https服务的前后台开发(直接使用还未备案的域名即可,因为你的服务器是可以直接用的,只是当成普通的web项目),备案成功后:
- 登录微信公众平台–>开发设置–>服务器域名,填入备案好的域名;
- 打开微信开发者工具–>详情–>将之前勾选的不校验去掉勾选;
- 在微信开发者工具上传开发版本,在微信公众平台将开发版本提交审核,审核通过则成为线上版本。审核一般需要1-3个工作日。