uniapp打包H5,发布到服务器并挂载到企微自建应用
一、设置manifest.json的基础文件名
这里的文件名设置为自己的项目名称
二、发行
发行时设置一下网站域名或者对应ip。
发行时若报错如下时,给了三个解决方式,重新生成自己的appId就好了。
出现以下信息则打包成功。
三、发行后本地测试
打包后的文件夹一定要修改为第一步的基础路径名,node下载http-server(npm install -g http-server),打开HbuilderX提供的本地目录下的dist文件夹,cmd进入,运行http-server
点击下图基础路径跳转。
四、采用nginx挂载服务
nginx多项目只需要多个server就可以了。以下为本项目的配置。root的路径为打包后的文件所在的上一层文件夹,即到build为止。
看了其他的uniapp打包后挂载的方法,在此处添加了第一步设置的基础路径,本项目添加后会报404错误。
在设置nginx的过程中记得一定要关掉之前打开的进程!!!!
server {
listen 3003;
server_name 127.0.0.1;
location /{
root D:/xx/xx/xx/xx/dist/build;
index index.html;
try_files $uri $uri/ /index.html;
}
}
五、将应用设置在企微的三方应用上
1、企微的三方应用添加有教程(登录 - 企业微信开发者中心)。在操作前请准备接入外网的服务器,可信域名,后面的配置都需要。
此前查看教程文档,在设置接收消息服务器URL中设置可返回回调的URL地址就行,但是经过测试发现,只要没有可信域名,企微根本不会发送请求给服务器。配置这里的前置条件得有可信域名。
有可信域名后,先配置自建应用中的网页授权及JS-SDK,在下方申请校验域名中,将txt文件下载后放置在配置的域名根目录下,需要保证能访问到,如果采用的是nginx代理服务,即将txt文件放置在配置的地址根目录下,如果采用的是后端服务,在springboot框架下可以将文件放置在resource中的static、public等文件夹下。
配置可信域名后,点击企业可信ip,发现对应的ip地址已经自动更新。
注意:要是配置完成后测试接口发现服务器依旧拒绝访问,报错60020,将报错信息中的ip地址配置在企业可信ip中(只要配置了可信域名,下方区域就是可编辑的)。
2、调用企微接口
企微教程文档中有详细的教程。首先需要根据corpid以及corpsecret获取企微返回的access_token,拿到access_token以后就可调用消息接口发送消息。
首先是corpid,这是企微的企业认证id,点击我的企业,拉到最底部即可看见corpid。
其次获取corpsecret,这是自建应用中的secret,点击查看后即可去企微中查看secret,字符串会发给管理员,设置自己为企微管理员就可以了。
都获取到后访问企微提供的接口,参数提供corpid以及corpsecret,本项目在springboot搭建的后端中访问接口,可以将参数放在map中,调用objectMapper将map转换为json字符串。
import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(gParams);
https://qyapi.weixin.qq.com/cgi-bin/gettoken
同样的企微返回的access_token也是JSON字符串,可以通过objectMapper将JSON字符串转换为集合。
Map accessTokenMap = objectMapper.readValue(accessTokenContent, Map.class);
之后访问接口以下接口,params为access_token,并携带消息体。
https://qyapi.weixin.qq.com/cgi-bin/message/send
其中消息体中touser是接收消息的userid,多用户可在id之间添加 | ,@all为发送企微所有人员、toparty为接收消息的用户所在的部门,totag为标签id列表、msgType为消息类型,在企微的官方教程中可以发送图片、文档、视频、音频等,agentid为自建应用的agentid,为以上获取corpsecret的上面的那串数字,text为发送的消息体,这里支持换行以及a标签,可以携带跳转的网页链接。
如果返回错误,拒绝本次连接,说明没有设置可信URL,可返回上述步骤查看设置那里有误。
3、将项目入口添加到自建应用
在自建应用页面,设置应用主页为发布的地址。(测试的时候如果没有接通外网的服务器,可以将项目发布在与终端在同一个网段的服务器上)
4、debug
在调用企微提供的接口过程中,返回的error看不出详细的报错信息,可以在接口后面加上params参数debug=1,之后在网址(登录 - 企业微信开发者中心)上查询报错的详细信息。debug有限制的连接次数,五分钟只能访问一次。