小程序开发|小程序制作|小程序开发网

搜索
查看: 2714|回复: 0

微信小程序入门篇(一)

[复制链接]

79

主题

267

帖子

635

积分

高级会员

Rank: 4

积分
635
发表于 2022-5-31 17:43:56 | 显示全部楼层 |阅读模式
小程序也已经出来有一段时间啦,对于一些想去学习又无从下手的朋友们,欢迎和代码君一起去学习一下小程序!准备工作
    下载开发工具:微信小程序开发工具
创建项目
    添加项目


    如果没有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,都是一样的效果



我要增加一个界面怎么办呐? 同理只需在app.json里的pages属性加入你要的路径pages/addPage/addPage,你写好路径后系统会自动给你建好文件的


下图是解决以上两个问题的效果图,app.json就暂时解析到这里,记着我们在这里面有新添加一个界面addPage,后面会详细介绍这个界面的,篇幅限制,这个先搁置一下
app.js解析:看后缀名.js就知道是JavaScript的代码,首先看一下App里面包含的几个方法onLaunch、getUserInfo、getUserInfo

    onLaunch方法是小程序启动的时候执行的方法


看一下里面的代码,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猜都能猜出来是微信封装好的登录方法啦



app.wxss 我打算放在下一节和addPage页一起讲
总结

  • 通过这个篇幅的介绍,我们了解了小程序的整体架构,学习了如何创建小程序,以及对小程序目录app.js、app.json详细的分析,下一篇将会详细讲解addPage的编写,敬请期待!
  • 温故而知新,看文上面的文章,不能一带而过,要学会举一反三,下面我提几个问题,看看读者吸收的怎么样。能回答以下问题说明你读懂这篇文章啦,读不懂请查看上面的内容自行找答案

    • wx.login是什么?
    • that = this的作用?
    • 在哪里可以查到StorageSync本地缓存的数据?
    • 如何增加页面?
    • 在哪里设置导航栏的属性?

下一篇:微信小程序入门篇(二)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表