微信小程序开发

一、页面结构

全局文件
  • app.js 小程序入口文件、云api
  • app.json 小程序全局配置
  • app.wxss 小程序全局样式
小程序常用全局配置项
  • entryPagePath: “pages/index/index” 小程序默认启动首页

  • pages: [“pages/foot/foot”] 页面列表(添加页面自动生成页面文件)

  • window:{ 全局的窗口表现
    navigationBarTitleText:“xxx” 导航栏标题内容
    navigationBarBackgroundColor:“xxx” 导航栏背景色
    navigationBarTextStyle:“xxx” 导航栏字体色,仅支持 black / white
    navigationStyle:“default” 导航栏样式,可选custom(只保留右上角胶囊按钮)
    backgroundTextStyle:“dark” 下拉 loading 的样式,仅支持 dark / light
    backgroundColor: #ffffff 窗口的颜色(下拉刷新时显示)
    enablePullDownRefresh: false 是否全局开始下拉刷新
    onReachBottomDistance: 50 页面上拉触底事件触发时距页面底部距离,单位为px
    }

  • “tabBar”: { 底部栏tab的表现
    “color”: “#707070”,
    “selectedColor”: “#5ec282”,
    “list”:[
    {
    “text”: “首页”,
    “pagePath”: “pages/index/index”,
    “iconPath”: “/images/home1.png”,
    “selectedIconPath”: “/images/home2.png”
    },
    {
    “text”: “个人中心”,
    “pagePath”: “pages/person/person”,
    “iconPath”: “/images/person1.png”,
    “selectedIconPath”: “/images/person2.png”
    }
    ]
    },

页面文件

每个页面对应四个文件

  • index.js 页面入口文件
  • index.json 页面配置文件
  • index.wxml 页面内容
  • index.wxss 页面样式

二、小程序的生命周期

app全局生命周期
  • onLaunch 小程序启动时调用(一次性)
  • onShow 第一次初始化完毕、从后台切换前台调用
  • onHide 前台切换到后台
页面生命周期
  • onLoad 页面加载(一次)
  • onShow 页面显示、切前台
  • onReady 页面初次渲染完成(一次)
  • onHide 页面隐藏(切后台)
  • onUnload 页面卸载(一次)
整体流程

onLaunch小程序启动 > onShow第一次初始化完毕(app) > onLoad页面加载 > onShow(page)页面显示 > onReady页面初次渲染完成

三、条件渲染和列表渲染

条件渲染

 <view wx:if="{{view == 'xxx'}}"></view>
 <view wx:elif="{{view == 'xxx'}}"></view>
 <view wx:else></view>

列表渲染

<block wx:for="{{logs}}" wx:key="timeStamp" wx:for-item="log">
    <text class="log-item">{{index + 1}}. {{log.date}}</text>
</block>

wx:for-item=“log” 表示循环数组的每一项命名为log 默认是item 索引默认是index

四、发送请求

必须是https协议

wx.request({
  method: "GET", //默认get
  url: 'example.php', //仅为示例,并非真实的接口地址
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json' // 默认值
  },
  success (res) {
    console.log(res.data)
  }
})
接口调用报错

xxx 不在以下request合法域名列表中

解决方法

开发阶段解决方案:不校验合法域名
编辑器右上角详情菜单 本地设置 选中不校验合法域名

上线阶段解决方案:绑定请求接口域名
官方文档 > 开发管理> 开发设置> 服务器域名

获取地理信息、速度等
wx.getLocation({
 type: 'wgs84',
 success (res) {
   const latitude = res.latitude
   const longitude = res.longitude
   const speed = res.speed
   const accuracy = res.accuracy
 }
})

解决提示:“getLocation需要在app.json中声明permission字段问题”

app.json中添加配置项

"permission":{
	"scope.userLocation":{
		"desc": "尝试获取您的位置信息"
	}
}

五、模版(组件)的使用

定义模版

<template name="my-footer">
  <view>
    <text>这是footer模版</text>
  </view>
</template>

使用模版

<import src="../../template/footer"/>
<template is="my-footer" data=""/>

六、发布小程序

上传代码 > 小程序管理后台 > 管理 > 版本管理 > 开发版本 > 提交审核

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值