征文投稿丨使用轻量应用服务器搭建扫码测试项目

编者按:本文来自轻量应用服务器征文活动用户投稿,已获得作者(昵称初七)授权发布。


公司现有WEB项目已经集成进企业微信自建应用里,还需要对项目功能进行扩充,需要调用扫一扫功能进行条码或二维码的识别,因而购买了一台轻量应用服务器搭建这个扫码测试项目。


之所以选择轻量应用服务器,主要是看中它的简洁高效。服务器配置的选择与默认环境选择都十分的方便,而且每月赠送流量,不需要额外费用;网关安全方面,防火墙配置也是相当简单方便,只需要在控制台内添加规则即可。

征文投稿丨使用轻量应用服务器搭建扫码测试项目


接下来一步步展示我的测试项目的搭建过程。


一、镜像选择

镜像选择上,阿里云的轻量应用服务器提供了22款主流应用搭建环境,系统镜像与应用镜像都很丰富,可以满足不同开发者的多样化需求。由于我的相关程序都是用go开发的,所以我这里只选择了系统镜像,使用的是SERVER 2008 R2系统,够用即可无需最新。

征文投稿丨使用轻量应用服务器搭建扫码测试项目征文投稿丨使用轻量应用服务器搭建扫码测试项目


二、服务器环境搭建

搭建服务器环境时,我只安装了MSSQL_Express_2008R2、Telnet客户端。由于我的应用对数据库依赖很低也没必要单独购买,所以只需要在现有系统上安装即可。下载地址:

https://www.microsoft.com/zh-cn/download/details.aspx?id=30438


三、编写网关程序

虽说叫轻量轻应用服务器,但也真不想让它太轻松。考虑到以后服务器WEB应用的增加,而服务器只有一个80端口,如果每个应用地址后再配一个“:端口”这样太丑陋了。所以我需要一个网关,现在网关产品很多,比如Nginx。本着学习的态度,决定自己写一个反向代理程序。用go语言写反向代理还是很简单的,核心代码如下:


func (this *handle) ServeHTTP(w http.ResponseWriter, r *http.Request) {
             remote, err := url.Parse("http://内网地址:内网端口/UrlPath")
             if err != nil {
                          panic(err)
             }
             proxy := httputil.NewSingleHostReverseProxy(remote)
             proxy.ServeHTTP(w, r)
}


其他的主要还包括一些热加载配置,以及黑名单、访问控制等辅助功能设置项,根据自己的实际需要进行操作即可。


四、扫码测试项目开发


1、 新建应用

进入到企业微信后台→应用管理,创建应用“扫码测试”。

征文投稿丨使用轻量应用服务器搭建扫码测试项目


需要调用JS-SDK,所以要在开发者接口内填写授信域名并完成验证。验证这里很重要,而且是必须的。

征文投稿丨使用轻量应用服务器搭建扫码测试项目


设置应用菜单如下图:

征文投稿丨使用轻量应用服务器搭建扫码测试项目征文投稿丨使用轻量应用服务器搭建扫码测试项目


这样就完成了企业微信部分的工作。进入企业微信就可看到名为“扫码测试”的应用。进入后点下边的扫码菜单,即可进入扫码页面。

征文投稿丨使用轻量应用服务器搭建扫码测试项目


2、 后台服务

后台代码分为三部分:

路由代码部分:qy-weixin获取签名信息及相关配置。用于前端通过config接口注入权限验证配置;doqrcode是前端扫码页面。 

征文投稿丨使用轻量应用服务器搭建扫码测试项目


后端代码部分

后端代码之一:获取Token用于获取应用jsapi_ticket。由于操作受到调用次数限制,所以需要自己缓存Token。

征文投稿丨使用轻量应用服务器搭建扫码测试项目征文投稿丨使用轻量应用服务器搭建扫码测试项目


后端代码之二:获取应用的jsapi_ticket,用于计算agentConfig的签名。由于操作受到调用次数限制,所以需要自己缓存Ticket。

征文投稿丨使用轻量应用服务器搭建扫码测试项目


后端代码之三:签名及相关信息

征文投稿丨使用轻量应用服务器搭建扫码测试项目


前端页面代码部分

征文投稿丨使用轻量应用服务器搭建扫码测试项目

征文投稿丨使用轻量应用服务器搭建扫码测试项目

征文投稿丨使用轻量应用服务器搭建扫码测试项目

征文投稿丨使用轻量应用服务器搭建扫码测试项目


3、测试结果如下

征文投稿丨使用轻量应用服务器搭建扫码测试项目

以上就是使用轻量应用服务器搭建扫码测试项目所有信息与步骤,从运行结果来看很成功,后面会进行服务器的相关压力测试。


我在一台轻量应用服务器上运行了几个项目,基本没有卡顿或是终端连接等问题出现,总体上对轻量应用服务器很满意,简单方便。


点击我要投稿,参与轻量应用服务器全新升级的征文活动,奖励更多,每月都可以参与哦~

上一篇:企业办*全访问一体化最佳实践


下一篇:多账号多VPC企业组网最佳实践