Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微信小程序开发入门篇

微信小程序开发入门篇

作者头像
xiangzhihong
发布于 2018-02-05 13:07:40
发布于 2018-02-05 13:07:40
1.4K00
代码可运行
举报
文章被收录于专栏:向治洪向治洪
运行总次数:0
代码可运行

本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果。

开发准备工作

获取微信小程序的 AppID

登录 https://mp.weixin.qq.com ,就可以在网站的“设置”-“开发者设置”中,查看到微信小程序的 AppID 了,注意不可直接使用服务号或订阅号的 AppID 。

下载开发工具

下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=1476197489869

新建项目

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

这样就搭建好了,我们来看一下主界面

整个开发工具基本分为三块。 第一列:table-item 每个按钮代表一个页 第二列:webview 你的页面在这里实时展示 第三列:chrome调试工具,暂且这样叫吧,因为确实是使用了charome的调试工具, 在这里可以调试页面的样式,js,网络检测,输入输出等等。

编写示例小代码

创建小程序实例

点击开发者工具左侧导航的“编辑”,我们可以看到这个项目,已经初始化并包含了一些简单的代码文件。最关键也是必不可少的,是 app.js、app.json、app.wxss 这三个。其中,.js后缀的是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件。微信小程序会读取这些文件,并生成小程序实例。 下面我们简单了解这三个文件的功能,方便修改以及从头开发自己的微信小程序。 app.js是小程序的脚本代码。我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。调用框架提供的丰富的 API,如本例的同步存储及同步读取本地数据。想了解更多可用 API,可参考 API 文档。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//app.js
App({
  onLaunch: function () {
    //调用API从本地缓存中获取数据
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
  },
  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
  }
})

app.json 是对整个小程序的全局配置。我们可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口背景色,配置导航条样式,配置默认标题。注意该文件不可添加任何注释。更多可配置项可参考配置详解。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "WeChat",
    "navigationBarTextStyle":"black"
  }
}

app.wxss 是整个小程序的公共样式表。我们可以在页面组件的 class 属性上直接使用 app.wxss 中声明的样式规则。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**app.wxss**/
.container {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 200rpx 0;
  box-sizing: border-box;
}

创建页面

在这个教程里,我们有两个页面,index 页面和 logs 页面,即欢迎页和小程序启动日志的展示页,他们都在 pages 目录下。微信小程序中的每一个页面的【路径+页面名】都需要写在 app.json 的 pages 中,且 pages 中的第一个页面是小程序的首页。 每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:index.js、index.wxml、index.wxss、index.json。.js后缀的文件是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件,.wxml后缀的文件是页面结构文件。 index.wxml 是页面的结构文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--index.wxml-->
<view class="container">
  <view  bindtap="bindViewTap" class="userinfo">
    <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>
    <text class="userinfo-nickname">{{userInfo.nickName}}</text>
  </view>
  <view class="usermotto">
    <text class="user-motto">{{motto}}</text>
  </view>
</view>

index.js 是页面的脚本文件,在这个文件中我们可以监听并处理页面的生命周期函数、获取小程序实例,声明并处理数据,响应页面交互事件等。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//index.js
//获取应用实例
var app = getApp()
Page({
  data: {
    motto: 'Hello World',
    userInfo: {}
  },
  //事件处理函数
  bindViewTap: function() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad: function () {
    console.log('onLoad')
    var that = this
    //调用应用实例的方法获取全局数据
    app.getUserInfo(function(userInfo){
      //更新数据
      that.setData({
        userInfo:userInfo
      })
    })
  }
})

index.wxss 是页面的样式表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**index.wxss**/
.userinfo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.userinfo-avatar {
  width: 128rpx;
  height: 128rpx;
  margin: 20rpx;
  border-radius: 50%;
}

.userinfo-nickname {
  color: #aaa;
}

.usermotto {
  margin-top: 200px;
}

页面的样式表是非必要的。当有页面样式表时,页面的样式表中的样式规则会层叠覆盖 app.wxss 中的样式规则。如果不指定页面的样式表,也可以在页面的结构文件中直接使用 app.wxss 中指定的样式规则。 index.json 是页面的配置文件: 页面的配置文件是非必要的。当有页面的配置文件时,配置项在该页面会覆盖 app.json 的 window 中相同的配置项。如果没有指定的页面配置文件,则在该页面直接使用 app.json 中的默认配置。 logs 的页面结构

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--logs.wxml-->
<view class="container log-list">
  <block wx:for="{{logs}}" wx:for-item="log">
    <text class="log-item">{{index + 1}}. {{log}}</text>
  </block>
</view>

logs 页面使用 控制标签来组织代码,在 上使用 wx:for 绑定 logs 数据,并将 logs 数据循环展开节点。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//logs.js
var util = require('../../utils/util.js')
Page({
  data: {
    logs: []
  },
  onLoad: function () {
    this.setData({
      logs: (wx.getStorageSync('logs') || []).map(function (log) {
        return util.formatTime(new Date(log))
      })
    })
  }
})

这样我们就完成了一个简单入门级微信小程序开发

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-12-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Serverless Python 开发实战(附源码)
Python是一种热门的编程语言,Serverless 是近年来迅速兴起的一个技术概念,基于Serverless架构能构建出多种应用场景,适用于各行各业。 本文将为大家详细讲解 Serverless 架构的处理规范与处理模型、典型的工作流程,以及 Serverless 工程化的难点与挑战。最后将结合 Python Flask + Serverless 的情人节表白页制作实例,展示如何用 Serverless 的方式进行 Python 编程,将热门Python 框架利用Serverless 快速上云。 文章
腾讯云serverless团队
2020/03/18
2.1K0
如何开发一个 Serverless Express 组件?
抗击疫情,腾讯云在行动。Python 是一种热门的编程语言,Serverless 是近年来迅速兴起的一个技术概念,基于Serverless架构能构建出多种应用场景,适用于各行各业。
可可爱爱没有脑袋
2020/03/24
6050
如何开发一个 Serverless Express 组件?
Serverless 架构揭秘与静态网站部署实战(附实战源码)
Serverless被誉为下一代云计算技术,因为其能带来研发交付速度提升与成本的降低在业内异常火爆。本文主要为大家分享 Serverless Framework 的架构演进、技术解析以及应用发展,并通过 Serverless+Hexo 实战案例,分享如何快速基于 Serverless Framework 进行业务开发部署。 文章整理自Serverless Framework 社区专家陈涛在腾讯云大学的视频分享,完整分享视频如下,感兴趣的读者也可以点击文末【阅读原文】下载讲师PDF。 文章大纲: 1、Ser
腾讯云serverless团队
2020/03/02
1K0
Serverless 架构揭秘与静态网站部署实战(附实战源码)
Serverless 实战:通过 Component 实现多地域部署容灾
单点故障是实际生产中无法避免的,单副本的存储方案也早已无法满足业务的可靠性要求。现在,我们通常都会做双机存储架构,会涉及到主备、主从、主主模式。
深度学习与Python
2020/08/02
6960
企业级 Serverless 应用实战
本文整理自 ServerlessDay · China 大会 - 《企业级 Serverless 应用实战》的分享,讲师为腾讯云 Serverless 高级产品经理方坤丁。 本文主要分为四个部分: Serverless 2020 : 趋势与挑战 Serverless 典型场景 部署企业级 Serverless 应用 实战演示 : Serverless SSR Serverless 2020 : 趋势与挑战 首先,谈一下对于 Serverless 在 2020 的趋势。我大概是从 3-4 年前开始接触 Se
腾讯云serverless团队
2020/07/09
2K1
Serverless 架构揭秘与静态网站部署实战
抗击疫情,腾讯云在行动。Serverless(无服务架构)被誉为下一代云计算技术,自概念推出以来,因为能带来研发交付速度提升与成本的降低在业内异常火爆。本次课程将围绕Serverless Framework为大家详细讲解Serverless架构演进,并通过简单的示例帮助开发者快速使用并部署Serverless Hexo 静态博客站点。
可可爱爱没有脑袋
2020/02/12
1.2K0
Serverless 架构揭秘与静态网站部署实战
使用 GraphQL 与 Serverless 开发一个 md2html 服务
借助于优秀的开源工具 mdnice,根据 mardown 生成美化 html 的 GraphQL API 服务。
山月
2020/07/09
8230
Serverless Component
相信读完前面几篇有关 Serverless Component 文章的小伙伴已经体验到,它给我们开发带来的遍历。但是实际我们的日常开发项目中,并不仅仅只是单纯地一个项目部署那么简单,我们的敏捷开发流程中,还有开发、联调、测试、预发布、正式环境等关键词。那么有小伙伴就有疑惑了,我的业务开发完了,如何管理不同环境的配置呢?比如测试环境的数据库配置和正式环境的如何切换?于是抛转引入,写了此篇文章,来跟大家一起学习和探讨。
不会飞的小鸟
2020/03/23
1.3K0
Serverless 多环境配置方案探索
相信读完前面几篇有关 Serverless Component 文章的小伙伴已经体验到,它给我们开发带来的便利。但是实际我们的日常开发项目中,并不仅仅只是单纯地一个项目部署那么简单,我们的敏捷开发流程中,还有开发、联调、测试、预发布、正式环境等关键词。 那么有小伙伴就有疑惑了,我的业务开发完了,如何管理不同环境的配置呢?比如测试环境的数据库配置和正式环境的如何切换?于是抛转引入,写了此篇文章,来跟大家一起学习和探讨。 读完本篇将你将了解到: Serverless Component 部署原理 dotenv
腾讯云serverless团队
2020/04/07
1.5K0
基于 Serverless + 企业微信打造 nCoV 疫情监控小助手
最近的一些疫情信息很让人揪心,为了方便大家掌握疫情信息,在空闲之余做了一个关于 nCoV 的疫情监控小助手。主要的功能是通过企业微信的 WebHook 来推送疫情信息。这里将使用 Serverless 的整体代码思路和架构方式分享给大家。 实现效果 我们想要实现的大致的效果是这样的: 首先,我们需要解决的是数据来源问题,这里我们可以使用python爬虫来做这件事情,但是由于个人比较懒所以直接用的 2019-nCoV-Crawler  ,这个项目已经集成了现有的API,所以我们直接调用即可。当然有能力的
腾讯云serverless团队
2020/03/27
8910
使用 Serverless Framework Express 组件快速创建文本翻译工具
Tencent Serverless Hours 第二期线上分享会上,通过 Serverless Framework 的 Express Component 实现了一款文本翻译工具。基于腾讯云 TMT 机器翻译工具,支持多种语言的互相翻译。点击 https://service-q8qqunpf-1251971143.bj.apigw.tencentcs.com/release/ 查看 Demo 部署效果。 如何使用 Serverless Framework 的 Express Component 快速
腾讯云serverless团队
2020/06/05
1.3K0
Hexo + Serverless Framework,简单三步搭建你的个人博客
很多人都想拥有自己的个人博客,还得看起来漂亮、酷酷的。尤其对开发者来说,不仅可以分享技术(装)心得(逼),面试的时候还能成为加分。这里介绍两款好用的神器,不用忙前(前端)忙后(后端),简单3min即可搞定,本文免费分享给大家。
腾讯云serverless团队
2020/03/18
2K0
基于 Serverless +企业微信打造 nCoV 疫情监控小助手
最近的一些疫情信息很让人揪心,为了方便大家掌握疫情信息,在空闲之余做了一个关于 nCoV 的疫情监控小助手。主要的功能是通过企业微信的 WebHook 来推送疫情信息。这里将使用 Serverless 的整体代码思路和架构方式分享给大家。本文作者:tabor
会呼吸的Coder
2020/02/19
8190
基于 Serverless +企业微信打造 nCoV 疫情监控小助手
实验室站迁移 Serverless 之路(上)|社区精选文章
本文为 Serverless 社区成员撰稿。作者高晨远,研发工程师,熟悉 Python 开发,常写 Web 和爬虫,日常维护有个人博客和实验室两个站点。供稿请戳~ 0.前言 2月份,TencentServerless 举办了系列在线课堂分享,讲解了 Serverless 概念、架构、最佳实践以及如何开发一个 component 等技术知识。 因为对Serverless非常感兴趣,每次都参加了直播学习并提交了课堂作业,一路下来感觉还不错,因此决定把自己的实验室站(https://lab.yuangezh
腾讯云serverless团队
2020/03/18
1K0
Serverless 多函数开发示例
01. 什么是 Serverless? Serverless 的定义和理解在不同的角度和场景会有不同的解读,AWS 将 Serverless(在 AWS 云上)定义为 “是一种用于描述服务、实践和策略的方式,使您能够构建更敏捷的应用程序,从而能够更快地创新和响应变化” 的一种服务。而红帽认为 Serverless 是 “可使开发人员专注构建和运行应用,而无需管理服务器” 的一种开发模型,并进一步将 Serverless 的产品分为两类:BaaS(后端即服务,让开发人员访问各种各样的第三方服务和应用))与
腾讯云serverless团队
2021/07/16
9330
通过 SCF Component 轻松构建 REST API,再也不用熬夜加班了
当一个应用需要对第三方提供服务接口时,REST API 无疑是目前最主流的选择。不过,如果自建 REST API,开发者需要购买虚拟机、配置环境等等,等一切都搞定,可能已经又是一个深夜。 而这些,都可以用 Serverless Framework 来解决。本教程将分享如何通过 Serverless SCF Component 、云函数 SCF 及 API 网关组件,快速构建一个 REST API ,并实现 GET/PUT 操作。 五步快速构建 REST API: 安装 配置 部署 测试 移除 1. 安
腾讯云serverless团队
2020/03/24
8370
腾讯云 Severless-Express 项目开发和灰度发布最佳实践
Serverless 应用基本概念 一个 Serverless 应用是由单个或者多个组件实例构成的。每个组件中都会有一个 serverless.yml 文件,该文件定义了组件的一些参数,这些参数在部署时用于生成实例的信息。例如 region 参数,定义了资源的所在区。 组织是在 Serverless 应用上层的概念,主要是为了管理。例如,一个公司会有不同部门进行 Serverless 应用开发,设置不同组织名称,方便做后期的权限管理。 示例:开发一个 express 应用,最基本的是引入 express
腾讯云serverless团队
2020/08/13
1K0
基于 Serverless Component 全栈解决方案(上)
什么是 Serverless Component Serverless Component 是 Serverless Framework 的,支持多个云资源编排和组织的场景化解决方案。 Serverless Component 的目标是磨平不同云服务平台之间差异,你可以将它看作是可以更轻松地构建应用程序的依赖模块。目前 Serverless Component 已经形成一个由社区贡献驱动的生态系统,你可以浏览和使用社区的所有组件,快速开发一款自己想要的应用。 Serverless Component 工作
腾讯云serverless团队
2020/03/20
8060
快速搭建PGSQL for Serverless
想使用一个独立的数据库服务,使用量和规模不用太大 单独购买数据库实例,太贵了 [image-20210629151750968] 发现在数据库服务列表里有一个Serverless版本,看了介绍,需要通过API或者serverless组件方式创建,目前还处于免费的公测阶段,嘿嘿😋,搞起 [image-20210629152124434] 操作步骤 操作步骤按照官网说明,很快就能完成 安装 serverless cli npm install -g serverless 配置 创建目录,并新建一个server
simplezhao
2021/06/29
1.3K0
快速搭建PGSQL for Serverless
基于 Serverless 的 VuePress 极简静态网站
之前用过 Docsify + Serverless Framework 快速创建个人博客系统,虽然 docsify 也是基于 Vue,然而它是完全的运行时驱动,因此对 SEO 不够友好。所以这次尝试使用 VuePress 来搭建一个静态网站,依然部署在 Serverless 架构上。
腾讯云serverless团队
2020/03/23
1.7K0
推荐阅读
相关推荐
Serverless Python 开发实战(附源码)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验