微信小程序已经完全开发

2020-11-11
来源:

微信使用的开发语言和文件非常“特殊”。


小应用程序使用的程序文件类型大致分为以下类型:


①WXML(微信标记语言,微信标记语言)


②WXSS(微信样式表,微信样式表)


③JS(Java,小程序的主体)


就语言而言,小程序似乎重新定义了一组标准。但实际上,它们与“前端三件式” HTML微信小程序开发,CSS和Java并没有太大区别。


接下来,让我们比较一下小程序开发语言和“前端三件套”之间的异同:


HTML和WXML:两者之间有很大差异。如果您以前从未接触过Android开发,则可能会感到有些头痛。实际上,WXML更像是Android开发中的接口XML描述文件,适合于程序接口的构造。而HTML倾向于显示文章(与HTML的历史有关)和Internet页面的构建。


WXSS和CSS:两者的语言几乎没有区别,可以直接使用。


JS文件:Applet的JS文件和前端开发中使用的JS之间几乎没有区别,但是Applet的JS添加了一些WeChat API接口并删除了一些不必要的功能(例如DOM)。


就语言而言,小程序与学习成本最低的前端开发完全一致,但这并不意味着所有前端开发人员都可以无缝迁移。


如果要从前端开发切换到小程序,则需要注意以下两点:


HTML和WXML之间的构造思想有很大差异。如果您以前只接触过前端开发,则需要一段时间才能适应WXML的编写方法。


尽管applet使用前端语言,但这并不意味着您可以继续使用前端开发思想进行开发。该小型程序对前端开发的要求已从“构建接口”升级为“开发完整的应用程序”。前端开发需要改变意识。


微信小程序已经完全开发.jpg


接口构造


1.基本逻辑


WXML和WXSS是用于小程序界面元素声明和样式描述文件的两种文件。


WXML的最大特点是它连接视图中的接口元素,并通过程序逻辑(AppService)将信息更新实时传输到视图层。


view与HTML中的div元素相似。在构建过程中,视图可以嵌套在多个级别中,并且可以在视图中放置任何可视元素。


应注意,一旦元素超出屏幕,用户将无法看到它,这与HTML完全不同。


例如,我们将手机屏幕视为一个舞台,舞台外的演员无法被观众看到。


小程序具有专门用于滚动的视图。


如果希望该界面成为可自由滚动的界面(例如列表等),则可以使用滚动视图视图,在WXSS中将其大小调整为整个屏幕,然后设置Scroll-y(滚动向上或向下)或滚动-x(向左和向右滚动)。


您不能直接使用DOM来控制applet中的WXML元素。如果需要更新数据,则必须使用WXML提供的数据绑定和元素呈现方法。


还要注意的一点是,小程序的网格排版系统使用Flex布局,这是W3C在2009年提出的一种排版标准。


2.绑定数据


对于单个字段,开发人员可以使用数据绑定来更新信息。


除了绑定的数据可以在加载时更新外,还可以在JS主程序中以函数的形式进行更新。更新也可以反映在界面上绑定的数据中。


3.条件渲染和列表(循环)渲染


有条件的渲染适用于条件异常的页面(例如无法加载列表或详细信息,提示等)。


其呈现具有触发条件,即在满足条件时呈现页面,否则将忽略或呈现另一段代码。


两个花括号中包含的判断条件中的变量在主程序的JS代码中的数据中声明。


如果需要在接口中构建列表,则可以使用WXML中的循环渲染来收集相同的元素渲染代码。可以将循环的数据以数组的形式写入数据,以进行WXML访问。


渲染完成后,渲染判断条件的变化会影响界面的变化。


4.模板和参考


WXML支持使用模板和引用来减小代码大小。


模板是在WXML代码中重用相同代码的一种方式。


您可以将多个模板写入同一个文件,然后使用导入功能在其他文件中引用它们。


如果需要引用整个页面,则需要使用include。


5.样式


通过WXSS样式表,开发人员可以在WXML中定义元素样式。


WXSS与CSS代码一样,可以直接使用选择器来选择元素。您还可以直接在WXML中定义元素的ID和类,以简化WXSS文件中的样式定义。


6.用户操作和事件响应


由于微信不使用HTML,因此无法通过添加超链接(元素)来监视用户的点击事件。


对于需要监听单击事件的元素,应在WXML中使用bindtap属性或catchtap属性进行绑定。


除了单击之外,微信还提供对事件的响应,例如按下,开始触摸和放开。


在WXML中绑定事件后,可以在主程序JS中使用它。


其他API中还有其他相应的事件。这些事件可以在微信小程序的官方文档中找到。


当您需要在小程序的页面之间跳转时,应使用Wx.navigateTo()。


请注意,关于页面级别跳转,微信将级别跳转限制为五个级别。在开发过程中需要注意是否超过了相应的限制。


网络访问


小型程序支持三种请求方法。


一个是直接HTTP连接请求,请求后直接返回结果,连接结束。另一个是Socket持久连接。当一方主动关闭连接时,连接结束。


除了上述两种发送和接收纯文本的连接方法外,微信还提供了文件发送和接收接口。小程序中记录的语音和所选照片需要以这种方式上载。


要通过小程序访问网络,服务器必须支持HTTPS安全连接,并且端口号必须为443。


同时,小程序只能在注册小程序时访问开发人员设置的服务器地址。


多媒体和存储


如果需要播放多媒体(包括音频和视频)或将数据存储在迷你程序中,则不能使用HTML 5提供的标准,并且必须使用微信提供的迷你程序多媒体播放控制界面和存储界面


声音界面有两种:音频播放和音乐播放。


音频播放提供三个界面:播放,暂停和停止播放。它没有提供跳到某个播放时间点的功能,也无法获得当前的播放进度。


音乐播放界面除了上述基本播放控件外,还提供音乐状态检查和监视等功能。


小程序提供了用于交换照片和视频的界面。通过此界面,小程序可以访问用户选择或拍摄的照片和视频。


通过音频和视频照片接口获取的多媒体信息是临时的,需要通过applet文件存储接口将文件永久存储。


对于文本数据,小程序还提供了用于存储此类数据的接口。从Android或其他应用程序平台等平台切换的开发人员需要注意,小应用程序不提供数据库风格的本地数据存储格式,而是以“字段值”的一对一格式保存。


与硬件有关


该applet依赖于微信,并提供许多与硬件相关的API。


小程序可以通过API获取以下数据:


与系统相关的信息(包括网络状态,设备型号,窗口大小等)


重力感应数据


指南针数据


通过上述API,编写“ Shake”之类的交互式页面应该很容易。


但是请注意:这些数据只能主动获取,而不能通过回调这些数字更改实时获取。


推送服务


小型程序提供推送服务,并可随时向用户发送必要的通知。但是请注意,推送服务只能用于通知和提醒,而不能用于批量发送。


在小程序中,推送服务称为“模板消息”(以前开发过服务帐户的开发人员应该熟悉它)。开发人员需要在微信小程序后端中注册新的模板推送消息(例如购买成功通知等),并对其进行审阅,然后才能在小程序中使用模板消息推送服务。建议参考相应的文档以了解特定的审计标准。


模板消息批准后,开发人员需要先从微信服务器获取访问令牌,然后在模板中提交值,模板号和动态变量(如订单号,价格等)。到微信,然后微信会将其发送给用户推送通知。


用户信息和微信支付


微型程序可以在用户同意的情况下获取用户信息。


首先,小程序必须允许用户通过微信登录界面授权登录。之后,小程序可以显示和使用用户信息。


使用微信登录时需要注意。必须对消息进行签名以确认其完整性,才能确保数据未被篡改。


微信支付也可以在小程序中使用。应该注意的是,在发送付款请求时,需要在发送的消息中添加签名以确认消息的完整性。


分享