微信小程序> 【微信小程序】微信小程序开发(一)

【微信小程序】微信小程序开发(一)

浏览量:507 时间: 来源:搬砖老程

文件目录结构详情

后缀为wxss的为css样式表。后缀为wxml的为html文件,注意的是里面不是HTML标签了,手册里面提供了相应的标签,这些标签可以自动有一些效果。

  1. 最外面的app.js、app.json、app.wxss是全局脚本、全局样式或者全局配置项。
  2. pages是用于页面文件夹,里面的文件夹一个就是一个页面,不需要引入一个css样式表啊或者脚本等等。
  3. 在pages的页面中,logs是日志,能记入一些操作的信息
  4. 只要在全局的app.json中配置页面的话,编辑器自动在pages的目录下生成页面目录及文件。
  5. 写公共的样式中,可以写入全局的app.wxss内。
  6. 全局的app.js只要App({})方法才可以调用页面的方法和属性。在页面的脚本中,是使用Page({})方法来调用

全局文件尝试

app.js

必须得使用APP({})方法来调用属性、方法和事件。只能写一个

// App({   // 代码块,注意能使用es6的就使用吧。 })
属性类型描述触发时机
onLaunchFunction生命周期函数–监听小程序初始化当小程序初始化完成时,会触发 onLaunch(全局只触发一次)。默认参数接收的,可以看到加载页面的路径及scene场景值还有其他(从这里可以看出是有原型对象的。)
onShowFunction生命周期函数–监听小程序显示当小程序启动,或从后台进入前台显示,会触发 onShow
onHideFunction生命周期函数–监听小程序隐藏当小程序从前台进入后台,会触发 onHide
onErrorFunction错误监听函数当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
其他Any开发者可以添加任意的函数或数据到Object 参数中,用 this 可以访问
根据上面onLaunch事件和onShow的接收参数,可以获取下面到东西
字段类型说明
pathString打开小程序的路径
queryObject打开小程序的query
sceneNumber打开小程序的场景值(可以看出是从什么地方打开小程序的)
shareTicketStringshareTicket,详见 获取更多转发信息
referrerInfoObject当场景为由另一个小程序打开时,返回此字段
referrerInfo.appIdString来源小程序的 appId
referrerInfo.extraDataObject来源小程序传过来的数据

onLaunch 初始化

当小程序初始化完成触发的事件, 不要在 onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。

App({  onLaunch:function (e) {    console.log(e,'我已经初始化了');    if(e.scene === 1011){        console.log('您是扫二维码进入的');    }else if (e.scene) {        console.log('您是长按图片识别二维码');    }else if (e.scene === 1013) {        console.log(手机相册选取二维码);    }else if (e.scene === 1029){        console.log('卡券详情页');    }  }});

onShow 小程序启动或进入前台

进入小程序触发一次,然后只要是如果是切换到手机的桌面的话,再次进入小程序触发一次。一个变量不能触发从新赋值

App({  onShow:function () {    let i = 0; // 只要是在这里定义的变量都是无法重新赋值。    if (i == 0){      console.log(i+1); // 这里更够运算      i= 2+1; // 不能从新赋值    }else {      console.log(i); // 完全就是不走。    }  }});
let j = 0; // 在这里申明变量的话,下面不管任何方法都是可以重新赋值。App({  onShow:function () {    j++; // 可以重新赋值    if (j == 1){      console.log(j,'第一次小程序运行'); // 第一次小程序运行。    }else {      console.log(j,'你已经切换进入小程序了');    }  }});

onHide 切换到手机桌面

App({  onHide:function () {    console.log('切换到手机桌面了');  }});

onError 错误的脚本或者调用api(不支持)就会触发。

App({  onError:function () {    console.log('程序出错');  }});

其他(自定义的一些属性方法)

全局app.json 配置

可以配选项卡、页面、设置入口页面、设置窗口的颜色、字、状态栏的颜色等等

{    "pages": [        "pages/index/index", // 创建index页面        "pages/logs/index" // 创建logs页面    ],    "window": {        "navigationBarTitleText": "Demo", // 设置导航栏上面的标题。        "navigationBarBackgroundColor": "#000", // 导航栏的颜色        "navigationBarTextStyle" : "#fff",//导航栏标题颜色。        "backgroundColor":"#ffffff",// 窗口的颜色(下面有图片,可以说明)        "backgroundTextStyle":"light", // 下拉的图标及颜色,但是官方只提供两种,仅支持 dark/light        "enablePullDownRefresh": "ture", // 开启下拉(必须得开启,才能在页面中使用onPullDownRefresh事件进行页面下拉刷新)。        "onReachBottomDistance":"60" // 设置下拉刷新的距离。    },    // 创建选项卡,    "tabBar": {        "color": "#", // (必填)设置选项卡的颜色(只支持16位颜色值)。        "selectedColor": "", // (必填)选项卡上的文字选中时的颜色(只支持16位颜色值)        "backgroundColor": "", // (必填)选项卡的背景色(只支持16位颜色值)        "position":"top", // 可选,两个值top和bottom。默认设置bottom在下面,如果设置为top,图标就会去掉。        "borderStyle":"white", //可选,只有两个值black/white。将选项卡中的边框颜色更改为,提供两个值。        "list": [{ // (必填)必须至少2个,最多5个,都不能超过。list数组内必须得有两个值。数组顺序排序。            "pagePath": "pages/index/index", // 引入的页面            "text": "首页", // 选项卡的名字            "iconPath": "", // 设置icon图标的路径(icon不能40kb,建议尺寸81pxX81px),经过测试,不能请求网络图片,只能是本地。            "selectedIconPath": "image/location_selected.png" // 选中当前的图标,经过测试,不能请求网络图片,只能是本地。        }, {            "pagePath": "pages/logs/logs", // 引入的页面            "text": "日志"        }]    },     // 设置各种网络请求的超时时间,下面的都是默认为:60000,都是可选参数    "networkTimeout": {        "request": 10000, // 设置wx.request请求的时间,单位毫秒。        "downloadFile": 10000, // 设置wx.downloadFile的超时时间,单位毫秒。        "connectSocket": 1000, // wx.connectSocket的超时时间,单位毫秒        "uploadFile": 6000// wx.uploadFile的超时时间,单位毫秒,    },    "debug": true // 开启调试日志}

[外链图片转存失败(img-FxAnllJX-1566294347853)(https://mp.weixin.qq.com/debug/wxadoc/dev/image/config.jpg?t=2017930)]

页面page.json配置

优先级,先找到页面的配置page.json,如果没有找到,然后在外面配置的app.json中。

比如,在index页面中,必须得是index.json。下面的颜色值,不能写出#000,必须写全#000000

小程序

{    "navigationBarBackgroundColor":"#26c398", // 当前导航栏背景颜色(必须得16进制的颜色值),----不能写出#000,必须写全---    "navigationBarTextStyle":"#ffffff", // 当前导航栏标题颜色,仅支持 black/white    "navigationBarTitleText" : '我是当前页面的标题' , // 当前页面导航栏标题文字    "backgroundColor" : "#00ff00" , // 窗口的背景色    "backgroundTextStyle": "light", // 当前下拉背景字体、loading 图的样式,仅支持 dark/light    "enablePullDownRefresh": true, // 当前页面下拉开启(如果在全局的app.json中设置了,就可以不用设置,如果)。    "disableScroll": false, // 默认false,如果是一个页面,不能让用户上下滚动,设置为 true 则页面整体不能上下滚动;只在 page.json 中有效,无法在 app.json 中设置该项    "onReachBottomDistance" : 120 // 当前页面上拉触底事件触发时距页面底部距离,单位为px}

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎