微信小程序开发全流程详解:从代码上传到上线审核及后端接口实现

2024-12-23
来源:网络整理

5、打包上线

开发完成后,就可以准备上线了。首先在开发者工具中上传写好的代码,点击上传,定义版本号和注释,然后提交到微信公众平台版本管理审核。一旦审核通过,就意味着上线成功。 ,您可以在微信中搜索您的小程序并访问。

概括

至此,前端工作就完成了。事实上,一般如果不涉及复杂的数据处理,后端是不需要的。所有简单的数据都可以存储在前端。如果你的小程序是这样的,那么本文就可以到此为止了。您无需阅读其余部分。如果你需要更灵活的交互和更复杂的逻辑,那么后端接口是必不可少的。如何完成比较复杂的后端数据接口?如果你继续关注我,你就会知道。

后端

后端主要提供给小程序数据接口,以便在小程序的各个页面上展示排名数据。我这里提供的是http接口,返回的是Json格式的字符串。使用的语言是Java,使用的框架是将最终的java代码打包成war包,部署在云主机上的web服务器中。然后通过url过来的请求就可以自动分发到我的程序代码的处理逻辑中。 ,处理完请求并获取到相应的数据后,会以Json字符串的格式返回。

主要流程如下:

服务器搭建 1.购买云服务器

首先需要存储后端程序代码,这需要一台机器。虽然自己的电脑也可以使用,但是自己的电脑不能保证24小时在线,可以外网访问,所以需要购买云服务器;其次,外网访问意味着需要有公网IP,购买的云服务器都会配备相应的IP地址。

这里我使用的是腾讯云服务器。前往官网购买:腾讯云,选择服务器配置,并付款。

根据预算和实际需求(其实是舍不得花钱),我选择了一台相对低端的机器:

2. 购买域名

域名用于映射到IP,以便可以直接使用域名访问IP绑定的服务器。我们购买的云服务器虽然可以直接使用IP和端口来访问,但是IP很难记住,而且微信不允许使用IP加端口形式的URL。所以我只能“慷慨解囊”购买域名。

域名可以在任何域名服务提供商处购买。为了方便,我直接在腾讯云上购买。购买链接:域名注册

3、域名解析

现在您已经购买了域名,那么如何使用它呢?与IP不匹配的域名是没有意义的域名。这里我们需要把这个域名或其子域名绑定到我们需要对外提供服务的服务器对应的IP上,也就是我刚刚购买的云服务器的IP。

在腾讯云后台的云分析中,点击您的域名,添加一条记录。一般主要是添加A记录,即将域名与IPv4地址进行绑定。您可以添加多条记录,以区分各级域名和主机记录。 @表示直接使用二级域名,其他表示使用三级或更高级域名。您自己的二级域名下面列出的多级域名均由您掌控。

4. 域名注册

为什么需要域名注册?毕竟,整个世界都不是王土。互联网,一亩三分地,自然是国家所有的,不能让你随便获取服务。在这块土地上开荒也不是不可以,只是需要报备国家,接受监管。

整个小程序的搭建过程中,域名注册耗时最长,足有十几二十天。进入备案页面:备案管理开始备案。我不会详细介绍。备案流程详情请参考:网站备案的主要流程包括以下内容:

(1)拍摄窗帘照片 (2)核对备案信息 (3)填写主体信息 (4)填写网站信息 (5)上传材料 (6)确认备案信息并提交初审 (7) ) 审核通过并完成备案

5. 购买SSL证书

为什么需要 SSL 证书?因为配置完SSL证书后,我们的URL就可以以.这是微信小程序中需要的域名访问方式。加密传输更安全。

据说是代购的。其实,你可以选择“购买”免费证书,还是可以达到目的的,只不过加密功能没有付费的强,安全性自然就弱一些。但这并不妨碍我选择免费的,毕竟我穷。

进入购买页面:SSL证书,选择您要购买的证书的配置,下单并支付,下载证书。它将用于 Web 服务器的后续配置。

概括

经过前面五个主要步骤,我们的服务器现在已经能够使用协议通过域名进行访问了。接下来的工作就是开发我们的后端接口,并将后端程序代码部署到这台服务器上,供小程序访问。

后端程序开发

环境:

我不会详细介绍如何安装这些工具。网上有很多教程,如果你不懂后端开发,安装这个环境是没有用的。这里假设读者也了解一些后端开发的知识。

下面是最重要的部分Java代码来说明后端程序如何提供http接口:

@RestController

微信云开发小程序后端_微信小程序云开发项目_微信小程序云开发配置教程

@RequestMapping(value = "/movie") public class MovieListController extends MovieBaseController{ private static final Logger log = org.slf4j.LoggerFactory.getLogger(MovieListController.class); /** * 豆瓣top250电影 * test: http://localhost:8080/movie/top250?start=0&limit=10 */ @RequestMapping(value = "/top250") public CommonRespVo> getMovieTop250() { try { HttpServletRequest request = this.getHttpServletRequest(); String start = request.getParameter("start"); String limit = request.getParameter("limit"); String url = String.format("https://api.douban.com/v2/movie/top250?start=%s&count=%s",start,limit); JSONObject jsonObject = HttpUtil.getInfoFromHttpApi(url); List listCommonVos = this.movieListDataTrans(jsonObject); if (CollectionUtils.isNotEmpty(listCommonVos)) { return new CommonRespVo(listCommonVos, CommonRespVoCode.SUCCESS); } } catch (Exception e) { log.error("获取豆瓣top250电影信息异常",e); } return new CommonRespVo(CommonRespVoCode.FAILED.code, "未获取到数据"); } /** * 华语top100电影 * test: http://localhost:8080/movie/chinaTopMovie?start=0&limit=10 */ @RequestMapping(value = "/chinaTopMovie") public CommonRespVo> getChinaTopMovie() { try { List result = this.getSubList(Lists.newArrayList(ChinaTopMovieData.chinaTopMovieData)); if (CollectionUtils.isNotEmpty(result)) { return new CommonRespVo(result, CommonRespVoCode.SUCCESS); } } catch (Exception e) { log.error("获取华语Top电影信息异常",e); } return new CommonRespVo(CommonRespVoCode.FAILED.code, "未获取到数据"); } //省略后续代码 }

上面的代码是两个接口之一,一个是通过公共API获取豆瓣电影信息,一个是通过爬虫数据获取中国电影信息。可以看到,通过注解来表明该类处理http请求,并在对应的各个方法上返回json格式的数据。

注解的目的是将 url 映射到每个方法。 @注释可以应用于控制器类或其下面的方法。当在类级别添加@注解时,该注解将应用于控制器的所有方法。方法上的@注解将补充类级别上的@声明。这就是为什么上面的最终 URL 是类 plus 方法上的路径。本地测试时,可以在浏览器中通过URL::8080//?=0&=10获取返回的数据。

程序代码开发完成后,使用构建项目,将代码以war包的形式打包成文件。可以在目录中找到war包。这个war包的目的将在后面讨论。

数据来源

排名数据必须有一定的权威性和客观性,所以我当然不能随便拿一些数据来整理。我没有能力统计这几类信息的相关排名,所以我想到了用:从别人那里拿已经有一定权威性的数据。豆瓣有一些公开的开源API可以获取我想要的一些数据,其他一些数据在其他主要排名网站上也有,但是没有现成的API可以为我提供他们的数据。既然他们不提供,那我就只能自己去拿了。

我编写了一些爬虫软件来定期爬取特定排名网站上的数据,并使用这些数据来更新我本地的静态数据,以便我的Java程序能够获取相对较新的数据。其实我这里可以做得更好,但是为了快速上线,我没有时间用数据库把爬取的数据落地。这样有一个不好的结果:每次服务重启时,一段时间的数据都不是的。这在我可以接受的范围之内。稍后有时间我会解决这个问题。

豆瓣的API示例:/v2//to...,通过该URL可以批量、分页获取热门电影列表的数据。

爬虫使用..()函数访问目标URL,并返回该URL对应的网页数据。然后用它来解析网页数据,主要是遍历搜索文档树,得到你想要的部分数据。

部署后端程序

准备:

首先登录你购买的云服务器,安装部署前的环境,主要是安装JRE和JRE。安装后,您需要对其进行配置。

1.安装环境 2.配置 3.应用部署

将我们之前打包的war包复制到安装目录下,如下图:

[root@VM_0_12_centos webapps]# pwd /usr/local/tomcat8/webapps [root@VM_0_12_centos webapps]# ls docs examples host-manager manager ROOT wxrank wxrank.war

这是上图中的.war 文件。然后进入bin文件夹并运行.bat启动。 war包会自动解压并部署。

概括

为了方便,上面的一些文件是在我自己的电脑上下载的,然后上传到云服务器上的。这个工具还用于我自己的电脑和云服务器之间的其他文件传输。

配置部署成功后,就可以通过url访问我们的后端接口了。

总结

虽然不难,但整个过程确实相当繁琐。之前我只是粗略地知道如何搭建,但并没有完全实践过。整个过程完成后,我对软件开发的整体看法就变得更加具体了。这也算是最大的收获了。

分享