下载个小程序自带IDE玩了玩,看了看API,撸出了个登录界面给大家分享下。 下面是主界面和代码。 index.wxml - [html] view plain copy
-
-
- {{motto}}
- 用户名:
-
- 密码:
-
- 登录
复制代码index.js - [javascript] view plain copy
- var app = getApp()
- Page({
- data: {
- motto: '欢迎登录WXapp',
- userName:'',
- userPassword:'',
- id_token:'',//方便存在本地的locakStorage
- response:'' //存取返回数据
- },
- 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 = this
- wx.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')
- }
- })
- }
- })
复制代码代码就是以上那些,个人感觉小程序和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页面。
|