初始接触微信小程序
第一次写微信小程序。写这个原因就是因为“编程之美3”的活动了,之前也没接触过,这次就当作一个学习的机会了。
看了编程之美3的介绍外加自己查了些资料,写了一个简单的登录界面,可以凑合着看,在这分享下,也是为了能发到编程之美3的帖子中去。
要进行微信小程序开发需要一点小工具,这些在编程之美3那都有介绍连接是:
1其实只要下载一个微信小程序的开发工具就好了下载地址,自己查去吧。
2了解下微信小程序的API,找找demo什么的。
3开始写代码。。
boolean flag=true;
while(flag){
4调试
if(5发现错了){
flag=true;
}else{
flag=false;
}
6查资料
7改
} 8
最后写出了这么个东西:
这个算主题了吧,是登录页面主要就写了这么个东西; 基本过程和代码如下:
1添加一个文件夹:login (自己爱起名是啥都行。)
文件夹下建立4个文件,
文件名同文件夹名称文件后缀分别是.js,.json,.wxml,.wxss
js是啥就不说了,
json也每天能碰到,
wxml和wxss是什么鬼?查完了发觉wxml和html是一个东西,wxss就是css了..
具体代码: 从少的来: login.json:
{ "navigationBarTitleText": "登录页面" }
完事了。。这就定义了一个标题。很无聊。直接在wxml里面写多好。。 然后是login.wxml:
<!--login.wxml--> <view class="container"> <view><text>{{motto}}</text></view> <view bindtap="bindViewTap" class="userinfo"> <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image> <text class="userinfo-nickname">{{userInfo.nickName}}</text> </view> </view> <view class="loginView"> <input class="inputView" id="username" placeholder-style="color:red;" placeholder="输入帐户" bindchange="bindchange"></input> <input class="inputView" id="password" placeholder-style="color:red;" placeholder="请输入密码" password="true" bindchange="bindchange"></input> <button class="loginbutton" type="primary" bindtap="listenerLogin" bindtap="clicklogin">登录</button> </view>
除了标签和html优点区别没啥大感觉。事件绑定是坑。暂时接触的少,感觉写起来很别扭。
再然后css吧。不对这叫wxss,login.wxss:
/**login.wxss**/ .userinfo { display: flex; flex-direction: column; align-items: center; } .userinfo-avatar { width: 128rpx; height: 128rpx; margin: 20rpx; border-radius: 50%; } .userinfo-nickname { color: #aaa; } .loginView{ margin-top: 20px; } .inputView{ border:2px solid red; border-radius: 10px; margin-left: 10px; margin-right: 10px; margin-top: 10px; height: 40px; } .loginbutton{ margin-left: 10px; margin-right: 10px; margin-top: 10px; }
css就没学好,凑合看吧。写的比较烂,现在感觉这个完全和css一个东西。 最后js,login.js
//login.js //获取应用实例 var app = getApp() Page({ data: { motto: 'Hello World ,I am WX,this is login page', userInfo: {}, index:0, userdata:{ username:"", password:"" } }, //事件处理函数 bindViewTap: function() { wx.showModal({content:"没事别乱点"}) }, onLoad: function () { console.log('onLoad'); var that = this //调用应用实例的方法获取全局数据 app.getUserInfo(function(userInfo){ //更新数据 that.setData({ userInfo:userInfo }) }) }, /** * 获取页面表单数据变更 */ bindchange:function(e){ /*console.log(e) console.log(e.currentTarget) console.log(e.currentTarget.id) console.log(e.detail.value) console.log(e.detail) */ this.data.userdata[e.currentTarget.id]=e.detail.value; }, /** /** * 点击登录 */ clicklogin:function(){ var into_user = this.data.userdata; var data_login_users = app.userdatas; var n=app.userdatas.length; var usernameflag=false; var passwordflag=false; if(into_user.username==""||into_user.password==""){ wx.showModal({content:"用户名密码不能为空"}) return; } for(var i=0;i<n;i++){ if(into_user.username==data_login_users[i].username){ usernameflag=true; } if(into_user.password==data_login_users[i].password){ passwordflag=true; } } if(usernameflag&&passwordflag){ wx.showModal({ title:"提示", content:"用户名密码正确,登录成功,欢迎您的到来:"+into_user.username, complete:function(){ wx.navigateTo({ url: '../index/index?username='+into_user.username }) } }) }else if(usernameflag){ console.log("密码错误"); wx.showModal({ title:"提示", content:"密码错误" }) }else{ console.log("用户名不存在"); wx.showModal({ title:"提示", content:"用户名不存在" }) } } })
js水平也不高凑合看吧,基本上和普通的js没什么区别,就是一些事件需要看下api,绑定事件的时候让人感觉有点茫然,写惯了Jquery,写这个的时候有点乱。
login这个自定义界面就这么完事了。。
好像还差点什么。 对了需要在app.json里面加个配置,别忘了,不然白玩了,配置如下:
"pages":[ "pages/login/login", "pages/index/index", "pages/logs/logs" ]
就是别忘了定义自己的连接,不然谁知道这个东西在哪。
我写的js里面东西都很简单就不介绍什么了。
然后就是跳转,跳转传递参数好坑,好坑,好坑。跳转代码:
wx.navigateTo({ url: '../index/index?username='+into_user.username })
有发现怎么传递参数的告诉我下。我没找明白。。我想传递一个object,然后。。坑了。
这些写完了看下效果图。。。
1密码写错了帐户写对了:
2帐户写错了
3帐户密码都对了
4点击确定后进入下一个界面
我只传递了一个用户名别都没传。 跳转的界面用的是原来带的index 代码就不写了。
写了一个小程序后发觉还是挺好玩的,就是我有点不务正业,上班时间花了四个小时写这个。。
最后谢谢观看这看完我的这篇水货文章。。
手写文章,不要乱转载。。转载了我也不知道。
#前端工程师#