linux编程闹钟小程序,如何做一个番茄闹钟小程序

一 创建

1. 开发工具下载

2. 创建一个小程序

在开发工具中点击创建小程序,可以得到一个默认目录结构的小程序

3. 目录结构

852460974a5c1b6b2e5df458460803ba.png

pages

用于应用视图层的文件夹,便于路由设置

app.js

应用主入口

app.json

3d07b0c1cd8c4e70629ff825ade51db1.png

小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。

在pages创建一个新路由可自动生成一个默认的组件,其基本结构如下

c464a6a9394f2fb91969febf477d8e79.png

home.js:js文件

home.son:组件引用等

0146f5efd2a4dfd931aaf60af8fe9bf0.png

.wxml:html文件

wxss:css文件

component

page和component的区别就是,在组件的的json文件中,声明

{

"component":true

}

复制代码

同时js文件中也应该使用Component({...})而不是Page({...})

tabbar

a7d5785e6429499bb16b1df4b5ab587d.png

配置相应的路由跳转及图片就可以生成一个菜单栏

二.WXML基本语法

由于使用方法和vue实在相似,仅简单介绍,详见

1. 数据绑定

{{message}}

复制代码

使用 Mustache 语法(双大括号)将变量包起来

2. 列表渲染

{{idx}}: {{itemName.message}}

复制代码

这里的wx:for-index='index和wx:for-item:'item'是默认存在的,可以省略,除非需要声明新变量名

wx:key更vue类似,循环元素需要一个唯一的key作为标识符,方便重渲染

3. 条件渲染

1

2

3

复制代码

还是类似vue的用法

wx:hidden对应v-show,只改变display属性,dom元素未删除

4. 模板

{{index}}: {{msg}}

Time: {{time}}

复制代码

可以直接获取到传入对象的属性

Page({

data: {

item: {

index: 0,

msg: 'this is a template',

time: '2016-09-15'

}

}

})

复制代码

使用is来判断渲染的模板

复制代码

同时支持条件渲染

5.引用

1. import

{{text}}

复制代码

复制代码

多级嵌套引用,只能访问到直接引用的template元素

2. include

include 可以将目标文件除了 外的整个代码引入,相当于是拷贝到 include 位置

body

复制代码 header

复制代码

6. class

{{text}}

复制代码

动态绑定的class在条件判断中,class必是String类型

三. WXS

1. props

组件如何接受外部变量

properties:{

text:{

type:String,

value:''

},

type:{

type:String,

value:''

},

size:{

type:String,

value:''

}

}

复制代码

使用的是properties

2.data

通过this.data.xx访问变量

3.setData

这点与react类似,在改变data时要通过

this.setData({newData})

复制代码

这也是数据相应的需要

4. methods

声明函数,在Page中,函数无需写在此对象中

5. 组件通信

//子组件

confirm(){

this.triggerEvent('confirm',this.data.value)

},

复制代码//父组件

复制代码

使用bindEvnt来监听事件并触发相应操作

6. 双向绑定

复制代码Component({

data:{

value:''

}

methods:{

watchValue(event){

this.data.value = event.detail.value

}

}

})

复制代码

通过event获取到输入事件,通过查看其结构可以得知,输入框内容在detail.value此属性下

这里与vue的v-model类似,这一系列操作可以通过model:value简化

复制代码

所以接触过vue的同学上手小程序应该非常简单

四.如何登录

五.授权登录

由于微信的有关规定,某些接口的调用需要用户授权

open-type="getUserInfo"

bindgetuserinfo='login'

withCredential='true'>

登录

复制代码

当我们第一次调用getUserInfo这个api需要弹出授权窗口

onLoad: function() {

let that=this

wx.getSetting({

success: function(res) {

if (res.authSetting['scope.userInfo']) {

wx.getUserInfo({

success: function(res) {

wx.getUserInfo({

complete: (res) => {that.wxLogin(res.encryptedData,res.iv)},

})

}

});

}

}

})

}

复制代码

在onload中调用wx.getSetting,检测userInfo是否被授权,如果授权信息已存在我们直接用返回参数来登录

login(event){

if (event.detail.userInfo) {

let encrypted_data = event.detail.encryptedData

let iv = event.detail.iv

this.wxLogin(encrypted_data,iv)

}else {

//用户按了拒绝按钮

wx.showModal({

title: '警告',

content: '您点击了拒绝授权,将无法进入小程序,请授权之后再进入!!!',

showCancel: false,

confirmText: '返回授权',

success: function(res) {

if (res.confirm) {

return

}

}

})

}

}

复制代码

否则我们在登录button上的getUserInfo上绑定一个事件,当用户点击就会弹出授权窗口,若用户点击授权,则可以得到UserInfo,调用登录方法,如果拒绝则提醒用户必须授权

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值