微信小程序开发技术文档
<h3 align="center">数字化终端小程序开发文档</h3><p>一.目录结构</p>
<p>1. 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。</p>
<p>一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:</p>
<p> <img src="https://img2020.cnblogs.com/blog/2022968/202101/2022968-20210121152953246-1481092889.png"></p>
<p> </p>
<p> </p>
<p>2. 一个小程序页面由四个文件组成,分别是:</p>
<p> <img src="https://img2020.cnblogs.com/blog/2022968/202101/2022968-20210121153020059-1440356248.png"></p>
<p> </p>
<p> </p>
<p><strong>*</strong><strong>注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名。</strong></p>
<p><strong> </strong></p>
<p>二.配置小程序</p>
<ol>
<li>app.json小程序全局配置文件</li>
</ol>
<p>{</p>
<p> "pages":[//用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。</p>
<p> "pages/index/index",</p>
<p> ...</p>
<p> ],</p>
<p> "window":{//定义小程序所有页面的顶部背景颜色,文字颜色定义等</p>
<p> "backgroundTextStyle":"light",</p>
<p> "navigationBarBackgroundColor": "#388bff",</p>
<p> "navigationBarTitleText": "数字化终端",</p>
<p> "navigationBarTextStyle":"white",</p>
<p> "enablePullDownRefresh": true,</p>
<p> "onReachBottomDistance": 50</p>
<p>}</p>
<ol>
<li>页面配置</li>
</ol>
<p>每一个小程序页面也可以使用同名 .json 文件来对本页面的窗口表现进行配置,页面中配置项会覆盖 app.json 的 window 中相同的配置项。</p>
<p>例如:</p>
<p>{</p>
<p> "navigationBarBackgroundColor": "#ffffff",</p>
<p> "navigationBarTextStyle": "black",</p>
<p> "navigationBarTitleText": "页面标题名称",</p>
<p> "backgroundColor": "#eeeeee",</p>
<p> "backgroundTextStyle": "light"}</p>
<p>三.小程序框架</p>
<p> </p>
<ol>
<li>注册页面</li>
</ol>
<p>对于小程序中的每个页面,都需要在页面对应的 js 文件中进行注册,指定页面的初始数据、生命周期回调、事件处理函数等。</p>
<p>//index.jsPage({</p>
<p> data: {</p>
<p> text: "This is page data."</p>
<p> },</p>
<p> onLoad: function(options) {</p>
<p> // 页面创建时执行</p>
<p> },</p>
<p> onShow: function() {</p>
<p> // 页面出现在前台时执行</p>
<p> },</p>
<p> onReady: function() {</p>
<p> // 页面首次渲染完毕时执行</p>
<p> },</p>
<p> onHide: function() {</p>
<p> // 页面从前台变为后台时执行</p>
<p> },</p>
<p> onUnload: function() {</p>
<p> // 页面销毁时执行</p>
<p> },</p>
<p> onPullDownRefresh: function() {</p>
<p> // 触发下拉刷新时执行</p>
<p> },</p>
<p> onReachBottom: function() {</p>
<p> // 页面触底时执行</p>
<p> },</p>
<p> onShareAppMessage: function () {</p>
<p> // 页面被用户分享时执行</p>
<p> },</p>
<p> onPageScroll: function() {</p>
<p> // 页面滚动时执行</p>
<p> },</p>
<p> onResize: function() {</p>
<p> // 页面尺寸变化时执行</p>
<p> },</p>
<p> onTabItemTap(item) {</p>
<p> // tab 点击时执行</p>
<p> console.log(item.index)</p>
<p> console.log(item.pagePath)</p>
<p> console.log(item.text)</p>
<p> },</p>
<p> // 事件响应函数</p>
<p> viewTap: function() {</p>
<p> this.setData({</p>
<p> text: 'Set some data for updating view.'</p>
<p> }, function() {</p>
<p> // this is setData callback</p>
<p> })</p>
<p> },</p>
<p> // 自由数据</p>
<p> customData: {</p>
<p> hi: 'MINA'</p>
<p> }})</p>
<p> </p>
<ol>
<li>页面生命周期</li>
</ol>
<p> </p>
<p> </p>
<p> <img src="https://img2020.cnblogs.com/blog/2022968/202101/2022968-20210121153107387-1189439081.png"></p>
<p> </p>
<p><img src="https://img2020.cnblogs.com/blog/2022968/202101/2022968-20210121153123330-24647401.png"></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<ol>
<li>数据的绑定</li>
</ol>
<p>WXML 中的动态数据均来自对应 Page 的 data。</p>
<h3>简单绑定</h3>
<p>数据绑定使用 Mustache 语法(双大括号)将变量包起来,可以作用于:</p>
<h3>内容</h3>
<p><view> {{ message }} </view></p>
<p>Page({</p>
<p> data: {</p>
<p> message: 'Hello MINA!'</p>
<p> }})</p>
<h3>组件属性(需要在双引号之内)</h3>
<p><view id="item-{{id}}"> </view></p>
<p>Page({</p>
<p> data: {</p>
<p> id: 0</p>
<p> }})</p>
<h3>控制属性(需要在双引号之内)</h3>
<p><view wx:if="{{condition}}"> </view></p>
<p>Page({</p>
<p> data: {</p>
<p> condition: true</p>
<p> }})</p>
<ol>
<li>网络发起发起 HTTPS 网络请求请求</li>
</ol>
<p>wx.request({</p>
<p>url: app.globalData.ip + '/Ashx/CheckAssetHandler.ashx?cmd=3&checkid='+this.data.pddid+'&userid='+user.SYSCODE, </p>
<p> header: {</p>
<p> 'content-type': 'application/json'</p>
<p> },</p>
<p> success (res) {</p>
<p> wx.hideLoading()</p>
<p> if(res.data.code==0){</p>
<p> _this.setData({</p>
<p> details:res.data.data</p>
<p> })</p>
<p> } else {</p>
<p> wx.showToast({</p>
<p> title: res.data.message,</p>
<p> icon: 'none',</p>
<p> duration:3000</p>
<p> })</p>
<p> }</p>
<p> },</p>
<p> fail: function(e) { //网络请求错误</p>
<p> wx.showToast({</p>
<p> title: '网络请求错误',</p>
<p> icon: 'none'</p>
<p> })</p>
<p> }</p>
<p> })</p>
<p> </p>
</div>
<div id="MySignature" role="contentinfo">
<p>本文来自博客园,作者:zwbsoft,转载请注明原文链接:https://www.cnblogs.com/zwbsoft/p/14308192.html</p>
电话微信:13514280351<br><br>
来源:https://www.cnblogs.com/zwbsoft/p/14308192.html
頁:
[1]