基于微信小程序的系统开发准备工作

腾讯推出微信小程序也有一段时间了,在各种行业里面也都掀起一阵阵的热潮,很多APP应用被简化为小程序的功能迅速推出,同时也根据小程序的特性推出各种独具匠心的应用,相对传统的APP来说,微信小程序确实能够大大降低开发成本和难度,但也意味着需要掌握整个微信小程序的各种接口功能、应用场景等相关技术点,本篇随笔先从大的方面来介绍微信小程序开发的一些知识,如架构设计、技术路线 、工具准备等方面做一些浅薄的介绍,希望大家也有所收益,有所借鉴,则善莫大焉。

1、小程序的统一架构设计

在我们开发各种应用的时候,总是希望能够先从大的方向上探索整个业务场景,尽可能的不用造成后期的返工或者推倒重来,这种代价是非常高昂的,因此前期花些时间来做一下整体的规划,然后在具体化各个业务模块的开发才是比较合理的做法。

业务数据的集中化,是很多企业的在数据化浪潮中赖以生存的核心,各行各业都有自己的业务数据,有些企业掌握着重要的行业数据,一旦数据成了规模,就可以对外提供接口,实现数据业务的营收,也是一项非常不错的收入,同时也是企业的核心竞争力。

不管数据是部署在阿里云、腾讯云等云产品上,还是部署在自家的服务器上,都是数据集中化的表现之一,围绕着数据集中化,那么各种应用就有一个统一的API接口的需求,这种统一API可以称为统一平台,也可以称为统一接口,都有不同的称呼。

随着基于JSON格式的Web API的广泛应用,越来越多的企业采用Web API接口服务层,作为统一接口的核心所在,也成为Web API核心层。基于JSON格式的接口,可以广泛地、跨平台的应用于IOS、安卓等移动端,也可以应用在常规的Web业务系统,Winform业务系统、微信应用、微信小程序等方方面面,因此企业内部形成自己是的一套Web API标准和详细的文档非常重要,一旦完善了,就可以供各个业务场景使用,这些业务可以外包给其他软件公司或者团队,各自分离开发,而自己内部则只需要花费精力来统一维护Web API核心层和提高整个核心层的功能接口稳定、缓存处理等方面事情即可。其他业务团队开发的系统只需要遵循整个大接口平台的统一规划,完成各自的功能需求即可,不会造成数据库的不一致,更不会让某家公司掌握核心的技术资源,尾大不掉的尴尬情形。

基于上面的分析,我们企业最终围绕着Web API核心层做了不同的业务应用,如下图所示。

基于Web API核心层的性能考虑,我们一般它们分开处理,一般后端有一个数据库应用服务器,一个Web API服务器,甚至可能还有一个专门处理FTP文件的文件服务器(可选),如果还需要建立Web后台应用,可能还需要一个或者多个Web 应用服务器,从而分散服务器的IO压力和计算压力,如果还需要考虑更加周全一些,还需要一个MQ服务器处理重要订单数据、缓存服务器存储缓存数据、负载均衡服务器等等。

最简化的要求,至少有一个云端数据库服务器和一个Web API服务器,这些服务器群构成一个Web API一体化应用的场景,如下所示。

考虑到Web API的分层,我们可以通过下图来了解具体的分层结构,从而为我们实际的开发做一些铺垫。

2、小程序的开发环境准备

微信小程序的开发准备,我们首先需要在官网上注册账号,然后绑定自己的认证的账号即可,这些我可以参考https://mp.weixin.qq.com/debug/wxadoc/dev/ 进行了解即可 ,不在赘述。

同时里面的文档包括了小程序开发的UI规范、架构说明、组件及API的接口说明等内容,建议详细阅读。

我们开发小程序,很多情况下需要利用微信开发者工具(开发者工具 ),工具集成了开发调试、代码编辑及程序发布等功能。启动工具时,开发者需要使用已在后台绑定成功的微信号扫描二维码登录,后续所有的操作都会基于这个微信帐号。

不过,为了更好提高开发工具,我们建议代码编辑还是利用比较专业化的前端开发工具较好,结合上面微信开发者工具进行编译出来即可,推荐的前端开发工具还是老牌的Sublime Text较好,界面效果如下所示。

这个工具可以在我的网盘下载:http://pan.baidu.com/s/1slflTt7,或者也可以百度获取对应最新的版本下载即可。

默认来说,这个工具并不能识别小程序自定义的后缀名,因此我们需要打开对应的wxml,wxss这些文件,我们关联下即可,毕竟这两个文件分别是HTML、CSS3格式的文件。

具体设置操作如下,先打开wxml,wxss这些文件,然后从右下角单击PlainText位置,从弹出列表里面选择正确的格式。

从弹出列表里面首先选择Open all with current extensioin as ***这个菜单,然后选择对应的HTML,或者CSS3格式即可完成后缀名的设置,下次打开会自动关联正确格式的后缀名了。

上面的操作只是设置了文件的格式,对于微信小程序自定义的标签,以及一些特有的JS操作,还是需要费一些工作,好在已经有好心人为我们专门做了小程序的Sublime Text插件。

微信小程序的snippets(sublime通过 “Sublime-snippet” 实现快速补全代码),插件下载的链接:https://github.com/Abbotton/weapp-snippet-for-sublime-text-2-3

下载上方链接提供的snippet

将红色文件夹直接放入sublime的安装目录 PackagesUser 下,重启sublime即可。

同时,JS的模块也是一样的处理,可以快速录入代码段。

输入apirequest即可获得快速录入的代码段,如下所示。

整个snippet的列表包含下面几个部分,分别使用w开始或者api开始,避免冲突。

snippet 列表

为了防止和其他 snippet 冲突,本 snippet 中的所有WXML 标签触发命令都以‘w‘开头,所有 API相关命令都以‘api‘开头.

WXML snippet

命令 对应组件或命令
wapp 注册小程序
wblockif block wx:if
wbutton button
wcheckbox checkbox
wcheckboxgroup checkbox-group
wactionsheet action-sheet
wcanvas canvas
wimage image
wtext text
wview view
wviewbind view 事件
wmap map
wmodal modal
wnavigator navigator
wexport 模块化
wfor for
wform form
wradio radio
wradiogroup radio-group
wslider slider
wicon icon
winput input
wtextarea textarea
winfutautofocus input
wtoast toast
wvideo video
winputfocus input
wlabel label
wloading loading
wpage Page()
wprogress progress
wscrollview scroll-view
wswitch switch
wtemplate template
wswiper swiper
wviewelif view
wviewelse view
wviewif view

小程序API snippet

命令 对应组件或命令
apirequest 网络请求
apiuploadfile 上传文件
apidownloadfile 下载文件
apiconnskt 创建 WebSocket 链接
apionsktopen 监听WebSocket连接打开
apionskterr 监听WebSocket错误
apisendsktmsg 使用 WebSocket发送数据
apionsktmsg 接受消息推送
apicloseskt 关闭WebSocket连接
apionsktclose 监听WebSocket关闭
apichooseimg 选额图片
apipreviewimg 预览图片
apigetimginfo 获取图片信息
apistartrecord 开始录音
apistoprecord 结束录音
apiplayvoice 播放语音
apipausevoice 暂停播放语音
apistopvoice 结束播放语音
apigetbgaudioplayerstate 获取音乐播放状态
apiplaybgaudio 播放音乐
apipausebgaudio 播放暂停音乐
apiseekbgaudio 控制音乐播放进度
apistopbgaudio 停止播放音乐
apionbgaudioplay 监听音乐播放
apionbgaudiopause 监听音乐暂停
apionbgaudiostop 监听音乐停止
apisavefile 保存文件
apigetsavedfilelist 查看保存文件列表
apigetsavedfileinfo 查看保存文件信息
apirmfile 删除缓存文件
apiopendoc 新开页面打开文档
apichoosevideo 视频
apisetstorage 覆盖本地内容
apisetstoragesync 同步覆盖本地内容
apigetstorage 获取指定 key 对应的内容
apigetstoragesync 同步获取指定 key 对应的内容
apiclearstorage 清理本地数据
apiclearstoragesync 同步清理本地数据
apirmstorage 删除本地数据
apirmstoragesync 同步删除本地数据
apigetstorageinfo 获取本地数据信息
apigetstorageinfosync 同步获取本地数据信息
apigetlocation 获取位置
apiopenlocation 查看位置
apichooselocation 打开地图选择位置
apigetnetworktype 网络状态
apigetsysinfo 系统消息
apiaccelerometerchange 重力感应
apicompasschange 罗盘
apisetnavbartitle 动态设置导航条文字
apishownavbarloading 显示导航条加载动画
apihidenavbarloading 隐藏导航条加载动画
apihidekeyboard 收起键盘
apinavigateto 保留当前页面并跳转
apiredirectto 关闭当前页面并跳转
apinavigateback 返回上一个页面
apilogin 登录
apichecksession 检测session
apigetuserinfo 用户信息
apipayment 微信支付
apishowtoast 交互反馈
apihidetoast 交互反馈
apishowmodal 交互反馈
apihidemodal 交互反馈
apishowactionsheet 交互反馈
getSystemInfoSync 同步获取系统信息
apiphonecall 拨打电话

3、小程序的Https协议的SSL证书

我们知道小程序为了提高安全性,做了很多方面的限制,其中有一条就是要求使用HTTPS这种安全性协议来获取数据,如下所示。

因此要求我们的Web API接口必须统一使用HTTPS(其实这也是常规的做法),这就要求我们必须在网站提供443端口服务,需要加入HTTPS证书,这种证书可以从云服务商上购买,如腾讯云、阿里云上的云服务器后台都提供了购买证书服务的通道,当然HTTPS证书年费可不算便宜,但我们也可以使用简单的免费证书先用着。

以阿里云为例,使用阿里云账号登陆后,在【控制台】【安全云盾】【证书服务】里面进行申请。

然后选择购买证书,在购买证书界面上,选择免费的证书,录入相关的资料后提交即可。

购买后,会在订单列表里面有一个待审核的订单,如下所示,等待审核通过即可使用。

有了这些准备,我们就可以在服务器上绑定对应的端口,提供HTTPS协议的接口访问了。

剩下的事情就是关注我们Web API核心接口上的事情,这个方面可以在另外一个主题上进行介绍。

时间: 2024-08-07 00:15:00

基于微信小程序的系统开发准备工作的相关文章

微信+小程序购物系统开发微信小程序营销系统开发

行业+小程序的结合有无限可能性,想要玩转微信小程序,享受流量盛宴,可借助--河南鼎汉科技,帮您快速打造具有个性化特色的微信小程序.微信小程序系统开发平台.微信小程序购物商城系统开发1.8.8-3.8.07-6.8.0.5电/微, 微信小程序 微商城 微信小程序营销系统开发,微信公众平台订阅号,微信小程序购物商城系统开发定制. 在移动互联网时代从来不缺分销系统,随着移动电商.传统电商.传统商业企业纷纷进入社交电商领域,社交电商正在向专业平台化.团队规模化.渠道立体化.运作规范化等趋势发展.微信"小

微信小程序商城系统开发

微信小程序商城系统(陈琦:138-2848-7919可微)微信小程序商城软件,微信小程序商城平台,微信小程序商城定制,微信小程序商城开发,微信小程序商城APP 微信小程序商城到底是什么? 微信官方解释:小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用户不用关心是否安装太多应用的问题.应用将无处不在,随时可用,但又无需安装卸载. 1.微信小程序商城开发成本低.基本上只需要UI就可

微信小程序分销系统开发

微信小程序开发 小程序分销开发 (微电:138-2848-7919 陈琦) 小程序功能定制 微信小程序系统开发 小程序分销系统 小程序开发 等来近一年,微信小程序终于正式发布了,对于开发者朋友来说,今后都可以申请创建自己的小程序.那么微信小程序怎么申请? 那么小程序可以做什么呢? 简单来说就是一款不用安装的app,可具备app上开发权限 那么与公众号有什么区别呢 公众号部门接口受到腾讯监控,开发不出来甚至受到限制,在小程序这里就没有,比如最简单就是GPS定位权限,在app上可以完美呈现,但公众号

小程序商城系统开发方案

移动互联最大的好处是可以将个人的空余碎片化时间利用起来,各种支付APP.社交APP让人们在互联网中沟通畅通.消息传播不再受时间.空间限制.同时小程序商城系统开发方案,小程序商城系统开发@[email protected]@6457,小程序商城软件开发,微信小程序商城系统开发,移动终端使得消费者的娱乐生活更加便捷并且操作体验也是绝佳,消费者可随时在现实和虚拟世界中来回切换,做到随时娱乐.生活. 小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下

微信小程序直播系统开发框架布局

使用布局页面 ASP.NET Web Pages - 页面布局 在之前的内容中,您已看到在多个网页中引用相同的内容是很简单的. 创建一致外观的另一种方法是使用布局网页.布局网页包含网页的结构,而不是内容.当网页(内容页)链接到布局页时,它会根据布局页(模板)来显示. 布局页类似普通的网页,但是会在引用内容页的位置调用 @RenderBody() 方法. 每个内容页必须以 Layout 指令开头. 在代码中是这样的: 布局网页: <html> <body> <p>This

基于微信小程序的失物招领系统的Postmortem

基于微信小程序的失物招领系统的Postmortem 设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 对于我们团队要解决的问题和实现的功能在项目开始就很明确,在项目过程中也一直没有改变.有清晰的典型用户和典型场景描述. 2.是否有充足的时间来做计划? 有时间 3.团队在计划阶段是如何解决同事们对于计划的不同意见的? 因为团队成员都是第一次上手,很多都是参照网络上的资料,或者按照队长的意思. 计划 1.你原计划的工作是否最后都做完了? 如果有没做完

Python Flask构建微信小程序订餐系统

call--->q-2304636824-q 第1章 <Python Flask构建微信小程序订餐系统>课程简介 本章内容会带领大家通览整体架构,功能模块,及学习建议.让大家在一个清晰的开发思路下,进行后续的学习.同时领着大家登陆https://food.54php.cn(使用微信扫码二维码体验下哦横须)一起来演示一下项目.本次课程是严格按照商业系统进行架构开发的,从PC管理员端到小程序会员端,从项目搭建到部署上线,通俗易懂.... 1-1 导学--Python Flask 构建微信小程

小程序商城系统开发模式平台搭建详解

小程序商城系统开发(李想.185.6504.8478)随着移动互联网的深入普及,流量碎片化的趋势无法逆转,百度.淘宝等平台成本越来越高,效果却越来越差,企业单一流量入口保持增长的时代结束.小程序二维码多入口的访问形式能够帮助企业夺得更多先机,随着微信搜索的发布亦将为你带来更多流量,小程序的收录属性也让用户可以更便捷的找到你,应用你,以保证黏住用户. 1.小程序商城是什么? 随着微信小程序的爆发,赢在移动也迎来了商机,因为小程序商城需要经过二次开发,才具备下单.购买支付.分享返佣等功能. 就像微信

【基于微信小程序的社区电商平台】Alpha迭代心得

项目团队:小豆芽 开发周期:11.5-12.2(Alpha版本) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决问题:当前电商平台卖家买家角色固化,买家在没有寻求到心仪商品时无法记录并告知他人,卖家出售商品无法确认是否有市场有需求: 软件定义:基于微信小程序,实现一款可以个性化发布心愿或商品,借助圈子个性化营销的电商小程序: 典型用户:热爱线上购物的小伙伴: 典型场景:肥宅的家中: 2. 我们达到目标了么(原计划的功能做到了几个?  按