微信小程序三个实例入门前置说明创建新的微信小程序项目时,默认使用云开发服务(没有云开发可以关闭)项目目录和文件含义查看微信官方文档的app.json部分重点是开发一个默认页面。我们创建一个componet文件夹,在componet中创建一个submit文件夹,最后创建一个名为submit的页面。结果如下。然后在app.json中配置一个默认页面“componet/submit/submit”。最后在submit.js中配置加载数据,在submit.json中配置导航栏和标签栏数据,在wxml中配置页面结构,在wxss中配置结构样式,ctrl+s或者直接保存运行,结果如下如下。开发动态变化数据的单页(以用户授权为例)渲染展示:说明:我们可以通过this.setData({key:value})重新赋值数据,然后数据就会动态展示在这一页。本例中将中奖获得的userInfo对象数据显示在单个页面上,并显示源码。js源码:constapp=getApp()Page({data:{//判断小程序的API、回调、参数、组件等是否在当前版本可用。canIUse:wx.canIUse('button.open-type.getUserInfo'),isHide:false,userInfo:{},haveUser:false},onLoad:function(){varthat=this;//检查wx.getSetting是否被授权:res=>{//得到用户的code后:res.codeconsole.log("User'scode:"+res.code);//可以传给后台,然后解析得到用户的openid//或者直接使用微信提供的接口获取openid的方法如下://wx.request({////填写自己的APPID和SECRET//url:'https://api.weixin.qq.com/sns/jscode2session?appid=你自己的APPID&secret=OwnSECRET&js_code='+res.code+'&grant_type=authorization_code',//success:res=>{////获取用户的openid//console.log("用户的openid:"+res.data.openid);//}//});}});}});}else{//用户没有被授权//改变isHide的值,显示授权页面that.setData({isHide:true});}}});},bindGetUserInfo:function(e){if(e.detail.userInfo){//用户按下了允许授权按钮varthat=this;//获取用户信息,打印到控制台看到app.globalData.userInfo=e.detail.userInfo;//授权成功后,修改isHide的值,显示执行页面,显示授权页面Hidethat.setData({isHide:false,haveUser:true,userInfo:e.detail.userInfo});}else{//用户按下了拒绝按钮wx.showModal({title:'Warning',content:'你如果点击拒绝授权,将无法进入小程序,请授权后进入!!!',showCancel:false,confirmText:'返回授权',success:function(res){//用户还没有授权成功,所以不需要改变isHide的值if(res.confirm){console.log('用户点击了“返回授权”');}}});}}})需要提示点:this只在上面函数中的最外层可用,如果函数中嵌套函数,则嵌套函数中的this代表嵌套函数,解决方法:声明var那个=this,并用它来表示应用程序本身json源码:{"navigationBarTitleText":"登录"}wxss源码:.header{margin:90rpx090rpx50rpx;border-bottom:1pxsolid#ccc;文本对齐:居中;宽度:650rpx;高度:300rpx;line-height:450rpx;}.headerimage{宽度:200rpx;高度:200rpx;}.content{margin-left:50rpx;margin-bottom:90rpx;}/**index.wxss**/.userinfo{display:flex;弹性方向:列;对齐项目:居中;}.userinfo-avatar{宽度:128rpx;高度:128rpx;保证金:20rpx;边界半径:50%;}.userinfo-nickname{颜色:#aaa;}.usermotto{margin-top:200px;}.contenttext{显示:块;颜色:#9d9d9d;边距顶部:40rpx;}.bottom{边界半径:80rpx;保证金:70rpx50rpx;font-size:35rpx;}wxml源代码:
