zoukankan      html  css  js  c++  java
  • 微信小程序开发

    一、基本的准备工作

    1、工具安装

    工具是有微信官方提供。

    2、下载地址:

    windows32位:https://servicewechat.com/wxa-dev-logic/download_redirect?type=ia32&from=mpwiki&t=1475052055457

    windows64位:https://servicewechat.com/wxa-dev-logic/download_redirect?type=x64&from=mpwiki&t=1475052055457

    macOS:https://servicewechat.com/wxa-dev-logic/download_redirect?type=darwin&from=mpwiki&t=1475052055457

    3、安装过程:

    对于Windows用户直接双击下一步的方式安装即可,此处注意我们使用的版本是官方最新的版本(不需要破解),可以不用AppID,也就是说没有资格的开发者也可以测试。

    下载好之后,双击进行安装-》下一步-》我接受-》选择安装路径-》下一步即可

    安装好之后,使用自己的微信号进行扫描登录。

    4. 创建项目

    • 我们需要通过开发者工具,来完成小程序创建和代码编辑。
    • 开发者工具安装完成后,打开并使用微信扫码登录。选择创建“项目”,填入上文获取到的 AppID ,设置一个本地项目的名称(非小程序名称),比如“我的第一个项目”,并选择一个本地的文件夹作为代码存储的目录,点击“新建项目”就可以了。
    • 在创建过程中,如果选择的本地文件夹是个空文件夹,开发者工具会提示,是否需要创建一个 quick start 项目。选择“是”,开发者工具会帮助我们在开发目录里生成一个简单的 demo。

    5、参数说明

    • AppID:点击右下角无AppID
    • 项目名称:随便填写,因为不涉及到部署,所以无所谓
    • 项目目录:选择项目所在的文件夹
    • 点击添加项目

    项目创建成功后,我们就可以点击该项目,进入并看到完整的开发者工具界面,点击左侧导航,在“编辑”里可以查看和编辑我们的代码,在“调试”里可以测试代码并模拟小程序在微信客户端效果,在“项目”里可以发送到手机里预览实际效果。

    6、可以选择在微信Web开放者工具中编码(也可选择你喜欢的编辑器)

    7、编写代码

    a、创建小程序实例

    点击开发者工具左侧导航的“编辑”,我们可以看到这个项目,已经初始化并包含了一些简单的代码文件。最关键也是必不可少的,是 app.js、app.json、app.wxss 这三个。其中,.js后缀的是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件。微信小程序会读取这些文件,并生成小程序实例

    下面我们简单了解这三个文件的功能,方便修改以及从头开发自己的微信小程序。

    app.js是小程序的脚本代码。我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。调用框架提供的丰富的 API,如本例的同步存储及同步读取本地数据。

    //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
      }
    })

    b、app.json 是对整个小程序的全局配置。

    我们可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口背景色,配置导航条样式,配置默认标题。注意该文件不可添加任何注释。

    
    

    pages

    接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成。每一项代表对应页面的【路径+文件名】信息,数组的第一项代表小程序的初始页面。小程序中新增/减少页面,都需要对 pages 数组进行修改。

    文件名不需要写文件后缀,因为框架会自动去寻找路径.json,.js,.wxml,.wxss的四个文件进行整合。

    如开发目录为:

    pages/

    pages/index/index.wxml

    pages/index/index.js

    pages/index/index.wxss

    pages/logs/logs.wxml

    pages/logs/logs.js

    app.js

    app.json

    app.wxss

    则,我们需要在 app.json 中写

    {
      "pages":[
        "pages/index/index"
        "pages/logs/logs"
      ]
    }

    window

    用于设置小程序的状态栏、导航条、标题、窗口背景色。

    tabBar

    如果我们的小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),那么我们可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

    Tip:

      1、当设置 position 为 top 时,将不会显示 icon

      2、tabBar 中的 list 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。

     其中 list 接受一个数组,数组中的每个项都是一个对象,其属性值如下:

    networkTimeout

    可以设置各种网络请求的超时时间。

    属性说明:

    debug

    可以在开发者工具中开启 debug 模式,在开发者工具的控制台面板,调试信息以 info 的形式给出,其信息有Page的注册页面路由数据更新事件触发 。 可以帮助开发者快速定位一些常见的问题。

    page.json

    每一个小程序页面也可以使用.json文件来对本页面的窗口表现进行配置。 页面的配置比app.json全局配置简单得多,只是设置 app.json 中的 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。

    页面的.json只能设置 window 相关的配置项,以决定本页面的窗口表现,所以无需写 window 这个键,如:

    二、开发体验阶段

    1、理解微信小程序的架构

    一般都是根据这个平台的hello word示例

    项目结构

    2、项目的配置

    • 在项目下的app.json中配置
    • 在pages/下创建每一个页面,每个页面都是一个文件夹包含3个文件JS  WXML  WXSS
    • 接下来需要在项目下的app.json中配置pages
    • pages中的第一项会作为默认页面呈现。

    3、页面结构

    文件结构

    • 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。
    • 一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:

    一个页面是由多个文件组成。js:定义页面的逻辑。json:页面配置。wxml:页面结构。wxss:页面样式表

    注意:为了方便开发者减少配置项,我们规定描述页面的这四个文件必须具有相同的路径与文件名。

    4、页面与页面之间跳转可以使用navigator组件

    <view class="btn-area">
      <navigator url="/page/navigate/navigate?title=navigate" hover-class="navigator-hover">跳转到新页面</navigator>
      <navigator url="../../redirect/redirect/redirect?title=redirect" open-type="redirect" hover-class="other-navigator-hover">在当前页打开</navigator>
      <navigator url="/page/index/index" open-type="switchTab" hover-class="other-navigator-hover">切换 Tab</navigator>
    </view>

    页面与页面之间传值方式:类似于web开发的方式:?参数

    跳转到的页面通过onLoad方法的参数拿到

  • 相关阅读:
    学长帮帮忙—Beta冲刺(4/7)
    学长帮帮忙—Beta冲刺(3/7)
    【二食堂】二食堂很难排队 博客目录
    【二食堂】Beta
    【二食堂】Beta
    【二食堂】Beta
    【二食堂】Beta
    【二食堂】Beta
    【二食堂】Beta
    【二食堂】Beta
  • 原文地址:https://www.cnblogs.com/qijunjun/p/7288884.html
Copyright © 2011-2022 走看看