昨天小程序第一天公测,就下载个小程序自带IDE玩了玩,看了看API,撸出了个登录界面给大家分享下。
下面是主界面和代码。
index.wxml
<view class="container"><view class="usermotto"><text class="user-motto">{{motto}}</text>用户名:<input type="text" bindinput="userNameInput"/>密码:<input type="text" bindinput="userPasswordInput" password="true"/><button bindtap="logIn">登录</button></view>
</view>
index.js
var app = getApp()
Page({data: {motto: '欢迎登录WXapp',userName:'',userPassword:'',id_token:'',//方便存在本地的locakStorageresponse:'' //存取返回数据},userNameInput:function(e){this.setData({userName: e.detail.value})},userPasswordInput:function(e){this.setData({userPassword: e.detail.value})console.log(e.detail.value)},logIn:function(){var that = thiswx.request({url: 'http://localhost:8000/admin',data: {username: this.data.userName,password: this.data.userPassword,},method: 'GET',success: function (res) {that.setData({id_token: res.data.id_token,response:res})try {wx.setStorageSync('id_token', res.data.id_token)} catch (e) {}wx.navigateTo({url: '../components/welcome/welcome'})console.log(res.data);},fail: function (res) {console.log(res.data);console.log('is failed')}})}
})
源码都放在这里了,https://github.com/Yangzhedi/myBlog-wxapp,欢迎star,issue呦~
代码就是以上那些,个人感觉小程序和react真的很像,不亏于小程序源码中imoort react的这一句。所以有react基础的会更好上手小程序的吧~
js文件里Page里的data就类似与react中的state的机制,
之后在js文件中想要调用data里的数据就必须才才用this.data.XXX;
但是在wxml中想要绑定data里的数据,就才用双括号的方法,而且!不需要!this.data。直接就是{{XXX}}。
在回到代码里看,wxml中主要就是两个input框和一个button。通过小程序input的原生API - bindInput (文档:小程序input),就可以获取input的值,
然后在data里定义两个(userName和userPassword)来存取这两个input的输入值。
再通过button的 bindTap绑定js文件中的logIn函数。(文档:小程序button)
在logIn函数中,就通过this.data.userName和this.data.userPassword来获取曾经输入的两个值。
在通过调用微信的发送请求API,把两个值放在请求中,这就有点像ajax发送请求了。
再在success中写下成功之后想要做的事情,比如这个例子里,就跳转到welcom页面。