如何创建微信小程序,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
下载开发工具:微信小程序开发工具
添加项目
如果没有AppID可以选择无AppID,项目名称可以随便起,因为入门教程我想教大家都比较想学的商城,所以直接叫商城啦,项目目录中的shopping是自己创建的新文件夹,空文件夹系统就会自动在shopping文件夹中创建整个项目架构,记得勾选quick start项目
整体架构:自动创建的项目就会以下架构目录
红框1 :菜单栏
红框2:界面效果显示
红框3 :代码架构目录
红框4 :代码栏
着重对代码架构目录做介绍:app.js、app.json、app.wxss,这三个中前两个是必看的,前两个相当于目录,就好比你读一本书,都要先看一下目录,所以以后看别人项目的时候,首先先看app.js和app.json
app.js是小程序的脚本代码。我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。调用框架提供的丰富的 API,如本例的同步存储及同步读取本地数据。
app.json 是对整个小程序的全局配置。我们可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口背景色,配置导航条样式,配置默认标题。注意该文件不可添加任何注释。
app.wxss 是整个小程序的公共样式表。我们可以在页面组件的 class 属性上直接使用 app.wxss 中声明的样式规则。
app.json解析:首先既然是.json所以一定是json格式,这里面包含两部分pages和window,固定字段,pages就是整个小程序包含的页面,可以根据路径查找到对应的页面,window就是设置一些窗口样式,依次是配置小程序的窗口 背景字体样式,配置导航条背景样式,配置默认标题,及颜色
现学现用
我要设置导航栏的标题为商城,字体为白色,背景为黑色要怎么做呐? 很简单吧,找到app.json把下面的代码替换到window里面就可以啦,要解释一下navigationBarBackgroundColor和navigationBarTextStyle都是支持rgb的,也就是说设置字体颜色navigationBarTextStyle为白色填入white其实也可以填入#fff,都是一样的效果
"window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#000", "navigationBarTitleText": "商城", "navigationBarTextStyle":"white" }
我要增加一个界面怎么办呐? 同理只需在app.json里的pages属性加入你要的路径pages/addPage/addPage,你写好路径后系统会自动给你建好文件的
"pages":[ "pages/index/index", "pages/logs/logs", "pages/addPage/addPage" ]
下图是解决以上两个问题的效果图,app.json就暂时解析到这里,记着我们在这里面有新添加一个界面addPage,后面会详细介绍这个界面的,篇幅限制,这个先搁置一下
app.js解析:看后缀名.js就知道是JavaScript的代码,首先看一下App里面包含的几个方法onLaunch、getUserInfo、getUserInfo
onLaunch方法是小程序启动的时候执行的方法
var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs)
看一下里面的代码,wx.以这个开头的都是系统封装好的方法,我们都可以直接调用,输入wx.,系统会自动提示出自带的方法,查询更多系统定义的方法请看微信API文档,这里篇幅限制不能全部介绍
好,回归正题,看着三句话代码,wx.getStorageSync是获取本地缓存的logs字段,logs.unshift代码是什么意思呐?unshift是js的知识,unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。所以大概能理解这三句话代码啦,大致是取本地缓存数据logs字段,插入最新时间,然后存储再次存入到缓存中的logs字段里,说了这么多,那Storage存储的数据在哪里呐,请看下图,会更好理解,找到菜单栏里的调试->Storage下就可以看到本地缓存的logs字段及数据,你也可以自行添加数据,然后调用wx.getStorageSync('key值') ,就可以获取数据啦
globalData全局变量数据,
getUserInfo自定义的方法用于获取用户信息,整体的代码意思就是如果用户信息为空就去调用微信的登录接口,登录成功后存储在全局变量globalData里,分析两处代码第一处var that = this,that=this,这个是js语法属性,this应该是引用本实例的一个值,它将它赋值给that的原因从下面的代码中可以判断出来js的一些特性。每一个方法是一个封闭函数,它的上一层实例即为this,所以如果一个方法A包含另一个方法B,在A中使用this指的是A的实例,在B中使用this应该是B的实例,即拥有B的A,所以在这里我们为了拿到A中的实例this,必须要赋一个值给that,让B能使用A的实例。在此demo中,上面的this指的是app这个实例,为了在下面的方法中可以使用app的实例,所以赋了that给this。还不明白that=this可以参考此文献,第二处是typeof cb == "function" && cb(this.globalData.userInfo),代码中两次调用此代码所以要剖析一下,cb是callback的缩写,翻译代码意思就是cb==function,要求cb为方法,并且回调cb方法,剩下的wx.login猜都能猜出来是微信封装好的登录方法啦
getUserInfo:function(cb){ var that = this if(this.globalData.userInfo){ typeof cb == "function" && cb(this.globalData.userInfo) }else{ //调用登录接口 wx.login({ success: function () { wx.getUserInfo({ success: function (res) { that.globalData.userInfo = res.userInfo typeof cb == "function" && cb(that.globalData.userInfo) } }) } }) } }, globalData:{ userInfo:null }
关于如何创建微信小程序问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。