微信小程序入门

1. 申请账号

进入微信公众平台,申请小程序账号

注意用于注册的邮箱地址必须符合以下条件:

  • 未用于注册过微信公众平台
  • 未用于注册过微信开放平台
  • 未用于绑定过个人微信号的邮箱

每个邮箱只能申请一个微信小程序.

微信小程序入门_第1张图片
image

注册后需要登记信息,按照引导填写即可,不再赘述.

完成注册后登录,进入登录界面.此页面可以完成很多操作,比如修改小程序名称,修改小程序头像等

微信小程序入门_第2张图片
image

2. 下载开发者工具

下载地址

微信小程序入门_第3张图片
image

选择稳定版Stable build(稳定版的bug已经很多了...),根据系统下载合适的版本

3. 新建小程序项目

打开微信开发者工具,扫码登录后新建项目

微信小程序入门_第4张图片
image
  • 项目名称:自己起名字,该名字不会影响用户看到的小程序的名字(用户看到的小程序的名字在微信公众平台修改)
  • 目录:项目文件存放的路径,任意选择
  • APPID:微信公众平台登录后,在设置-账号信息中可以找到APPID.如图:
    微信小程序入门_第5张图片
    image
  • 开发模式:小程序或者小游戏,开发小程序时选择小程序
  • 后端服务:如果自己编写后端,则选择不使用云服务;如果不自己搭建,则可以使用云开发或者腾讯云.后端服务按需选择.云开发最为简单方便.

4. 开发工具概览

在上一步中,选择了不使用云服务后,点击新建进入如下界面

微信小程序入门_第6张图片
image

5. 文件介绍

5.1 项目配置文件

每个小程序新建时都会自动生成一个项目配置文件(project.config.json),该文件位于项目根目录下.其内部代码可以用来配置小程序的项目名称,APPID等内容,如图所示:

微信小程序入门_第7张图片
项目配置文件

5.2 主体文件

5.2.1 app.json:必填文件,用于描述小程序的公共配置

​ 主要包含了小程序的所有页面的路径地址、导航栏样式等。

​ 代码如下:

{
    "pages": [
        "pages/index/index",
        "pages/logs/logs"
    ],
    "window": {
        "backgroundTextStyle": "light",
        "navigationBarBackgroundColor": "#fff",
        "navigationBarTitleText": "WeChat",
        "navigationBarTextStyle": "black"
    },
    "sitemapLocation": "sitemap.json"
}
微信小程序入门_第8张图片
表格_1
5.2.1.1 pages属性

​ pages属性对应的是所有页面的路径数组.如果要添加页面,则在pages中写页面的路径,然后会自动生成页面的基本配置文件.路径数组中第一个路径是小程序的初始页面.注意添加页面路径时,每个路径之间有,相隔,最后一个路径元素后没有,

​ 如果要删除页面,则需要手动删除目录和这里的路径.

5.2.1.2 window属性
微信小程序入门_第9张图片
表格_2

HexColor表示只支持十六进制颜色表示方式.例如#ff0000表示红色,也可简写为#f00,并且大小写不限

5.2.1.3 tabBar属性

tabBar表示小程序窗口底部的tab栏.属性值如下表:


微信小程序入门_第10张图片
表格_3

其中,list接受一个数组,只能配置2-5个tab。tab按数组的顺序排序,每项都是一个对象,其属性值如表:


微信小程序入门_第11张图片
表格_4

代码示例:如下构造了有两个页面的tabBar,tab文字内容分别为首页和设置

"tabBar": {
        "list": [
            {
                "pagePath": "pages/home/home",
                "text": "首页"
            },
            {
                "pagePath": "pages/settings/setting",
                "text": "设置"
            }
        ]
    }
5.2.1.4 networkTimeout属性

该属性用于设置各类网络请求的超时时间,其属性值如下表


微信小程序入门_第12张图片
表格_五

示例代码:

    "networkTimeout": {
      "request": 20000,
      "connectSocket": 20000,
      "uploadFile": 20000,
      "downloadFile": 20000
    }

5.2.1.5 debug属性

开启debug模式,在开发者工具的控制台面板中调试信息将以info的形式给出,主要包括Page的注册、页面路由、数据更新

事件触发等,可以用来快速定位bug
.

5.2.2 app.js:必填文件,用于描述小程序的整体逻辑

app.js是小程序的全局逻辑文件,代码如下:

//app.js
App({
    onLaunch: function() {
        // 展示本地存储能力
        var logs = wx.getStorageSync('logs') || []
        logs.unshift(Date.now())
        wx.setStorageSync('logs', logs)

        // 登录
        wx.login({
            success: res => {
                // 发送 res.code 到后台换取 openId, sessionKey, unionId
            }
        })
        // 获取用户信息
        wx.getSetting({
            success: res => {
                if (res.authSetting['scope.userInfo']) {
                    // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
                    wx.getUserInfo({
                        success: res => {
                            // 可以将 res 发送给后台解码出 unionId
                            this.globalData.userInfo = res.userInfo

                            // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
                            // 所以此处加入 callback 以防止这种情况
                            if (this.userInfoReadyCallback) {
                                this.userInfoReadyCallback(res)
                            }
                        }
                    })
                }
            }
        })
    },
    globalData: {
        userInfo: null
    }
})

将其中的方法体删除,得到以下代码框架:

//app.js
App({
    onLaunch: function() {
       
    },
    globalData: {
        
    }
})

由此可见,所有内容都写在App()函数内部,并且彼此之间用,隔开.App()函数的用法暂时在后面的文章介绍.

5.2.3 app.wxss:可选文件,小程序公共样式表

app.wxss是全局样式文件,内容如下:

/**app.wxss**/
.container {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 200rpx 0;
  box-sizing: border-box;
} 

该文件是可选文件,可以省略不写.

5.3 页面文件

小程序建立时默认生成pages文件夹,用来保存页面文件.每个页面有自己的二级目录.如图所示:

每个页面由4个文件构成:

  • wxml文件:构建页面的结构,包括组件、事件等,用户最终看到的页面效果由该文件决定

  • wxss文件:用于设置显示效果,该文件规定的显示效果如果与app.wxss中冲突,则将覆盖app.wxss.未覆盖的不受影响.

  • js文件:用于设置当前页面的逻辑代码

  • json文件:用来重新设置app.json中window属性规定的内容,只对当前页面有效,不影响其他界面.

    json文件的可用属性如下表:

微信小程序入门_第13张图片
表格_6

例如对home页面的配置如下:

{
  "navigationBarBackgroundColor": "#ffffff",
  "navigationBarTextStyle": "black",
  "navigationBarTitleText": "首页",
  "backgroundColor": "#ffffff",
  "enablePulDownRefresh": true,
  "backgroundTextStyle": "light"
}

上述配置表示:

  • 导航栏背景颜色白色
  • 导航栏标题颜色黑丝
  • 导航栏标题文字内容为"首页"
  • 窗口的背景色为白色
  • 开启下拉刷新
  • 下拉loading的样式为light

5.4 其他文件

​ 除了以上常用文件,小程序允许用户自定义路径和文件名创建一些辅助文件.例如在utils文件夹中存放公共JS文件.默认的utils文件夹中有一个util.js文件.该文件可以作为模块被其他页面的JS引用.具体方式在以后的文章介绍.

​ 除此之外,还可以定义一些文件夹用来存储图片等.

你可能感兴趣的:(微信小程序入门)