1小时搭建微信小程序后端

Wesley13 等级 127 0 0

CoNami小程序Demo端到端开发指南

1. 注册登录微信公众平台

登录https://mp.weixin.qq.com,里面有详细的指引,这里就不赘述了。这里注册最后得到的比较重要的东西包括两个

1小时搭建微信小程序后端

  1. 设置-开发设置-开发者ID:AppID/AppSecrect,后端服务器和微信API服务器认证用,也就是告诉微信,我是个合法的小程序后端,可以和你通信并调用登录支付API等
  2. 设置-开发设置-服务器域名:微信端测试/发布时,会校验这些域名是否实名认证并被备案,白名单。这个域名可以到腾讯云购买并备案,中间也会折腾一些时间。

2. 前端开发

这次的开发Demo为一个投票用小程序,后端为tomcat+js+db框架,前端为标准的小程序前端,开发者不需要操心tomcat和db的服务,只需要用js编写业务逻辑即可。

Demo的github地址:

https://gitee.com/yingpo/weixin-xiaochengxu-vote

  • 简单介绍下,app目录为前端代码,nami目录为后端代码和sql,都是由js编写
  • 使用微信开发者工具打开app目录,在调试模式下如果没有备案的域名会导致前台无法访问后台,所以在启动开发者工具的时候可以不填写AppID,这样开发者工具不会校验域名是否在白名单里面
  • 修改/utils/config.js, 设置后端运行的IP端口,然后进行编译

1小时搭建微信小程序后端

3. 后端开发部署

3.1 业务逻辑镜像制作及本地运行

登录并打开阿里云 容器镜像服务, 找到conami镜像,网页地址为:https://cr.console.aliyun.com/?spm=5176.166170.863063.btn1cr3.69f9217fdGki9I#/imageDesc/cn-qingdao/conami/conami/detail

  1. 在windows下运行docker(可选)

由于微信小程序的前端IDE只支持windows,所以方便点最好在windows下跑个docker,可以看这个官方指导:https://docs.docker.com/docker-for-windows/install/

  1. 下载及基础框架镜像

    docker pull registry.cn-hangzhou.aliyuncs.com/conami/conami

  2. 业务逻辑源代码出场!从框架基础镜像构建自己的业务逻辑

    git clone https://gitee.com/yingpo/weixin-xiaochengxu-vote.git

    这里的Dockerfile显示了业务逻辑部分怎么拷进去,业务逻辑在/nami/request目录下

    docker build -t myvote .

    docker push myvote {你的镜像仓库地址}

  3. 启动容器,初始化数据库

    docker run -d -p 8080:8080 myvote

    默认的ENTRYPOINT为 bash /nami/service.sh start

1小时搭建微信小程序后端

  • 这时候直接点Connect是进不去的,里面的jdbc的url需要修改为

    jdbc:h2:/nami/database/nami;AUTO_SERVER=TRUE;MVCC=TRUE

1小时搭建微信小程序后端

可以点击Save把这个地址存下来,以后登录db不用再写

  • 然后把weixin-xiaochengxu-vote/nami/sql目录里面的vote_demo.sql复制到这个数据库内执行,建表

1小时搭建微信小程序后端

至此,整个后端的小程序服务容器就已经跑起来了。在小程序开发者工具上,修改app/utils/config.js,把里面的host地址这行改为目前使用的服务器地址,可以正常进行投票、查看等操作

1小时搭建微信小程序后端

参考文档

NAMI来了!五分钟让微信小程序接上数据库

下期预告:后面我们会讨论怎么用DevOps方式来优化后端逻辑的开发

收藏
评论区

相关推荐

微信小程序modal
首先创建一个组件component,组件命名可以为modal modal.wxml的内容为 <view class'modalmask' wx:if'{{show}}' bindtap'clickMask' <view class'modalcontent' <scrollview scrolly class'mainc
微信小程序wxml使用substring
首先创建subutils.wxs文件 var sub function (val, start0, end17) { if (val.length 0 || val undefined) { return } if (val.length end) { return val.substring(start
微信小程序轮播图
实现效果 wxml代码 <view style"height:20rpx;"</view <view class"swiper"
微信小程序苹果机wx.showModal()
最近做项目中,发现使用wx.showModal()苹果机出现取消文字不显示问题,纠正后显示正确 wx.showModal({ title: '提示', content:'登录后体验更多功能' }) wx.showModal({ cancelText: '取消', confi
微信小程序验证url地址
笔记类 var that this that.optional()是验证是否为空方法 url(value) { return that.optional(value) || /^(?:(?:(?:https?|ftp):)?//)(?:S(?::S)?@)?(?:
微信小程序 - 路由实践
欢迎来到我博客阅读:1\. 前言在微信小程序由一个 App()实例,和众多Page()组成。而在小程序中所有页面的路由全部由框架进行管理,框架以栈的形式维护了所有页面,然后提供了以下 API 来进行路由之间的跳转:1. wx.navigateTo2. wx.redirectTo3. wx.navigateBack4.
微信小程序 - 引入字体图标
网站图标要想做到清晰无锯齿,使用普通图片或者雪碧图都很难达到这个目的,一般我们都会引入字体图标(svg转font,使用图标像使用字体一样,详见《web页面使用字体图标》,那么如何在微信小程序中使用自定义图标呢?请看详细步骤:1、从上选择喜欢的图标加入购物车,在购物车弹窗中点击“下载代码”后,解压阿里图库 加入购物车购物车 下载代码图标文件内容2.、进入导入第
微信小程序 - 页面间传值
小程序页面间传值大家晚上好,说晚上好是因为是在晚上写的,说这句话是因为这句话开篇不那么突然。那么小程序的页面间传值,在我使用这段时间里,我就非常的主观的把它们分为wx.navigateTo和非wx.navigateTo的,因为wx.navigateTo有一个事件参数event,我从当前页跳转到下一页,如果需要能返回,我都用的wx.naviga
Vue和微信小程序的区别
_写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别。_一、生命周期先贴两张图: vue生命周期 小程序生命周期相比之下,小程序的钩子函数要简单得多。vue的钩子函数在跳转新页面时,钩子函数都会触发,但是小程序的钩子函数,页面不同的跳转方式,触发的钩子并不一样。 onLoad
微信小程序 - 生命周期篇
为什么需要掌握小程序的生命周期当你的领导张小三给你说: 这个请求应该在应用启动的时候发起呢 页面跳转的时候就要取消异步任务哦 应用隐藏的时候记得关闭一下定时器哈那时候的你会一脸懵逼和不知所措还无从下手吗综上所述:我们理所当然的要对微信小程序的生命周期做到滚瓜烂熟,只有这样才能让领
微信小程序体验composition-api(类似vue3)
微信小程序compositionapi用该是什么样子? 使用使用起来应该像是这个样子wxue(options) setup配置应该是包含一个setup选项是一个函数,返回的函数可以this.xxx调用,返回的数据可以this.data.xxx用到,如下import wxue, reactive from 'wxue'wxue( setup(option
Java实现小程序微信支付
小程序支付流程交互图:  ![](https://oscimg.oschina.net/oscnet/39ddb4bb2025a7f5daeb0d5663bb12faba7.png) 进入小程序,下单,请求下单支付,调用小程序登录API来获取Openid,生成商户订单 // pages/pay/pay.js var app = get
PHP微信小程序支付——签名错误
![](https://static.oschina.net/uploads/space/2018/0509/141657_Tqix_3477605.png) 先分清几个概念:微信公众平台、微信开放平台、微信商户平台 1.微信公众平台、微信开放平台、微信商户平台是三个不同的平台 2.微信公众平台:用于公众号、小程序等等的设置平台,包括APPID、APP
2020.8.07 微信小程序(组件封装)
今天说一下微信小程序组件的封装… ---------------- **为什么要封装组件?** 写组件的目的就是为了复用,它的好处太多了 a. 写更少的代码。 b. 减少开发时间。 c. 代码的bug更少。 d. 占用的字节更少。 … 组件复用使我们的代码组织变得非常灵活。 **那么组件到底怎么封装,其实就和vue组件封装的思
1小时搭建微信小程序后端
CoNami小程序Demo端到端开发指南 ==================== 1\. 注册登录微信公众平台 -------------- 登录[https://mp.weixin.qq.com,里面有详细的指引,这里就不赘述了。这里注册最后得到的比较重要的东西包括两个](https://www.oschina.net/action/GoToLink