微信小程序开发【从0到1~入门篇】_微信小程序开发零基础入门-程序员宅基地

技术标签: 微信小程序  小程序  

目录

1. 微信小程序介绍

1.1 什么是小程序?

1.2  小程序可以干什么?

2. 申请账号

2.1 申请帐号

2.2 测试号申请(我们小程序账号申请完成之后,建议务必要申请一个测试号用来开发)

3. 安装开发工具

3.1 选择稳定版 

3.2 选择根据自己电脑配置进行下载

4. 你的第一个小程序

4.1 创建小程序项目 

4.2 目录结构介绍

4.3 给小程序新增一个页面

4.4 给小程序当前页面设置局部配置(index.wxml为例:修改背景,字体颜色)

4.5 给小程序设置拖把栏(全局配置)

4.6 给小程序设置按钮触摸事件(index.wxml为例)

4.7 给小程序自定义公共函数并在index.js中引入后完成页面初始化赋值操作


1. 微信小程序介绍

1.1 什么是小程序?

  • 2017年度百度百科十大热词之一
  • 微信小程序(wei xin xiao cheng xu),简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用( 张小龙对其的定义是无需安装,用完即走,实际上是需要安装的,只不过小程序的体积特别小, 下载速度很快,用户感觉不到下载的过程 )
  • 限制:同一个分包中的页面享有共同的预下载大小限额 2M,限额会在工具中打包时校验。
  • 2017年1月9日0点,万众瞩目的微信第一批小程序正式低调上线。

1.2  小程序可以干什么?

  1. 同App进行互补,提供同app类似的功能,比app操作更加简洁的轻应用

  2. 通过扫一扫或者在微信搜索即可下载

  3. 用户使用频率不高,但又不得不用的功能软件,目前看来小程序是首选

  4. 连接线上线下


2. 申请账号

开发小程序的第一步,你需要拥有一个小程序帐号,通过这个帐号你就可以管理你的小程序。

跟随这个教程,开始你的小程序之旅吧!

2.1 申请帐号

点击此链接申请一个小程序账号 

根据指引填写信息和提交相应的资料,就可以拥有自己的小程序帐号。

 

完成注册后可登录微信小程序后台管理自己的账号啦 点击进入微信小程序后台 

 

 

 登录成功进入首页后可点击开发管理查看账号设置

 

选择开发设置 

 

2.2 测试号申请(我们小程序账号申请完成之后,建议务必要申请一个测试号用来开发)

点击我进行注册测试号

 完成注册后可进行扫码选择测试号登录微信小程序后台管理自己的账号啦 点击进入微信小程序后台 

 

测试号和我们刚刚上面注册的正式号不一样 测试号登录成功后只显示你的一些信息

 


3. 安装开发工具

点击此连接进入官网下载 点击我下载微信小程序开发工具 

3.1 选择稳定版 

 

3.2 选择根据自己电脑配置进行下载

 

下载成功后的样子 傻瓜式安装:点击后一直下一步下一步即可完成安装

 


4. 你的第一个小程序

4.1 创建小程序项目 

1. 点击进入开发工具后进行微信扫码登录 (第一次进入没有登录会让你扫码)

2. 完成扫码后并按照下列图中完成操作

 

3. 小程序项目结构 

 

4.2 目录结构介绍

1. 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page

一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:

文件 必须 作用
app.js 小程序逻辑
app.json 小程序公告配置
app.wxss 小程序公告样式表

2. 一个小程序页面由四个文件组成,分别是:

文件类型 必须 作用
js 页面逻辑
wxml 页面结构
json 页面配置
wxss 页面样式表

4.3 给小程序新增一个页面

1. 进入app.json 在第一个pages数组里面指定生成页面文件路径即可生动创建

注!想要哪一个页面先展示可按顺序排即可,第一个页面路径就是第一个显示的页面

4.4 给小程序当前页面设置局部配置(index.wxml为例:修改背景,字体颜色)

1. 选择pages下面的index目录里面的index.json文件里面修改配置

 

  • 完整代码如下!可直接复制粘贴
{
  "usingComponents": {},
  "navigationBarBackgroundColor": "#000000",
  "navigationBarTextStyle": "white",
  "navigationBarTitleText": "第一个小程序项目",
  "backgroundColor": "#eeeeee",
  "backgroundTextStyle": "light"
}

4.5 给小程序设置拖把栏(全局配置)

1. 选择app.json进入后在文件内第一个花括号里面添加代码进行编辑,多个节点进行逗号分开

 

  • 完整代码如下!可直接复制粘贴 
{
  "pages":[
    "pages/index/index",
    "pages/logs/logs",
    "pages/logins/logins"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle":"black"
  },
  "tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页",
      "iconPath": "static/tabBar/coding.png",
      "selectedIconPath": "static/tabBar/coding-active.png"
    },
    {
      "pagePath": "pages/logins/logins",
      "text": "登录",
      "iconPath": "static/tabBar/component.png",
      "selectedIconPath": "static/tabBar/component-active.png"
    },
    {
      "pagePath": "pages/logs/logs",
      "text": "日志",
      "iconPath": "static/tabBar/sdk.png",
      "selectedIconPath": "static/tabBar/sdk-active.png"
    }
  ]
  },
  "style": "v2",
  "sitemapLocation": "sitemap.json"
}
  •  代码中的得到焦点和失去焦点后的图标可自行寻找并进行配置!或私信小编继续发送给你

4.6 给小程序设置按钮触摸事件(index.wxml为例)

1 先定义一个按钮并先绑定一个未定义的改变值函数

  • 代码如下!
 <!-- 触摸事件 -->
<button bindtap="handleCm" type="primary">触摸事件</button>

2. 进入index.js 定义函数

 

  •  代码如下!(可自行点击按钮实施效果!改变值没有)
  //自定义触摸事件
  handleCm(){
    this.setData({
      motto: "您好! Jone"
    })
  }

4.7 给小程序自定义公共函数并在index.js中引入后完成页面初始化赋值操作

1. 在index.js中添加一个属性:loginTime值为空

 

2. 在index.wxml中添加一条文本并双向绑定loginTime 

  •  代码如下
<text  class="user-motto">{
   {loginTime}}</text>

3. 在utils.js中自定义公共函数并导出

 

  • 自定义函数如下!务必自行配置导出 注!看图
//自定义方法
function toStr(e){
  return e="你好,"+e
}

4. 在index.js中引入公共文件util.js 并进行页面初始化赋值操作

  • 在index.js中导入操作 
import util from "../../utils/util"

在onLoad函数中进行操作 

 

  • 新增代码! 
    //进行页面初始化时改变值
    this.setData({
        loginTime: util.formatTime(new Date()),
        motto: util.toStr('张三')
    })
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_63300795/article/details/128267956

智能推荐

Netty学习笔记五:Netty源码分析_netty 源码学习-程序员宅基地

文章浏览阅读322次。Netty学习笔记五:Netty源码分析EventLoop和EventLoopGroup线程模型高性能RPC框架3个要素一、IO模型(五种IO模型)二、数据协议(http/protobuf/Thrift)三、线程模型(主从线程组模型)EventLoopEventLoop好比一个线程,1个EventLoop可以服务多个Channel,一个Channel只有一个EventL..._netty 源码学习

Kyligence 发布数据和分析领域垂直大模型司南(Compass)_司南模型怎么测试-程序员宅基地

文章浏览阅读140次。12 月 19 日,跬智信息(Kyligence)正式发布数据和分析领域垂直大模型司南(Compass)(以下简称“司南大模型”)。基于多年数据和分析领域的实践积累和全行业指标洞察的海量语料,Kyligence司南大模型已具备自然语言对话分析、指标搜索与推荐、自动化数据洞察、KPI 评估、智能决策建议等核心能力。_司南模型怎么测试

MySQL数据库Insert语句慢SQL处理-程序员宅基地

文章浏览阅读3.8k次。#问题描述insert into …普通的插入语句,经常出现耗时2s以上#数据状态1.表数据量大,每天产生200万条数据2.高并发插入#问题解决1.由于表中数据量庞大,建议数据归档处理,冷热处理2.表中有过多索引,当数据insert时,索引会重排产生太多的io操作。导致缓慢,有必然要的只保留主键。3.表的数据库引擎,默认InnerDB,若数据不重要,可以使用MyISAM......

EasyDarwin开源流媒体云平台之EasyRMS录播服务器功能设计_开源录播系统-程序员宅基地

文章浏览阅读3.6k次。需求背景EasyDarwin开发团队维护EasyDarwin开源流媒体服务器也已经很多年了,之前也陆陆续续尝试过很多种服务端录像的方案,有:在EasyDarwin中直接解析收到的RTP包,重新组包录像;也有:在EasyDarwin中新增一个RecordModule,再以RTSPClient的方式请求127.0.0.1自己的直播流录像,但这些始终都没有成气候;我们的想法是能够让整套EasyDarwin_开源录播系统

oracle Plsql 执行update或者delete时卡死问题解决办法_oracle delete update 锁表问题-程序员宅基地

文章浏览阅读1.1w次。今天碰到一个执行语句等了半天没有执行:delete table XXX where ......,但是在select 的时候没问题。后来发现是在执行select * from XXX for update 的时候没有commit,oracle将该记录锁住了。可以通过以下办法解决: 先查询锁定记录 Sql代码 SELECT s.sid, s.seri_oracle delete update 锁表问题

Xcode Undefined symbols 错误_xcode undefined symbols:-程序员宅基地

文章浏览阅读3.4k次。报错信息error:Undefined symbol: typeinfo for sdk::IConfigUndefined symbol: vtable for sdk::IConfig具体信息:Undefined symbols for architecture x86_64: "typeinfo for sdk::IConfig", referenced from: typeinfo for sdk::ConfigImpl in sdk.a(config_impl.o) _xcode undefined symbols:

随便推点

空间数据引擎oracle_空间数据库引擎及其解决方案分析-程序员宅基地

文章浏览阅读350次。4WWW.GWN.COM.CN地理信息世界GEOMATICSWORLD技术应用0引言地理信息系统(GIS)以空间数据为研究对象,在实现对空间数据存储和操作的基础上进行空间分析和应用。以往受关系数据库不支持空间数据管理的限制,传统的GIS软件采用分离的方式管理数据,即空间数据采用文件形式和目录结构,属性数据由内置的关系型数据库进行管理。分离体系结构造成空间数据管理效率低下,无法获得数据库系统的有效支..._oracle空间数据库引擎

java发布rest服务器,使用Java restlet发布到服务器-程序员宅基地

文章浏览阅读177次。我正在尝试使用restlet向服务器发布JSONO对象。当我尝试使用POSTMAN发布它可以发布,但是当我尝试从使用restlet的java代码发布时,我得到一个错误:Unable to find a converter for this objectand Bad Request (400) - The request could not be understood by the server ..._触发 org.restlet.resource.resourceexception

使用flex-wrap实现弹性盒自动换行-程序员宅基地

文章浏览阅读2w次,点赞6次,收藏10次。布局的时候,我们常常会需要一行排列3/4/5/6个盒子,必要时自动换行,这时可以借助CSS3中的flex-wrap属性。flex-wrap: nowrap|wrap|wrap-reverse|initial|inherit;nowrap为默认值,wrap必要时实现自动换行,reverse必要时换行并反向排列关键是在父元素中设置flex-wrap值为wrap, 然后是设置子元素的wi...

改变Android Studio的背景background_as怎么设置背景-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏5次。改变Android Studio的背景background我们先点File然后再点Settings里的Appearance,点击Theme换成Darcula 把白色换成黑色,这样的好处是换成background是图片比较清晰。此处正式开始AS换背景这里我们颜色从白色换成了黑色,先点File里Settings的Appearance然后点background image把你喜欢的图片放进去(图片放在D盘自己新建的文件)..._as怎么设置背景

桩筏有限元中的弹性板计算_专栏 l 增材制造点阵结构在压力容器优化设计中的应用...-程序员宅基地

文章浏览阅读179次。“增材制造是未来制造业的发展趋势,其优势显而易见,它可以实现传统加工工艺难以制造的设计,比如复杂薄壁结构、点阵结构、一体化结构等。其中,点阵结构作为一种新型的轻量化结构,具有良好的比刚度、比强度等力学性能。传统加工工艺很难制造点阵结构,3D打印技术的快速发展使得点阵结构的制造更加具有可行性。”本期谷.专栏列举了面向增材制造的点阵加筋一体化压力容器的设计与分析案例,仿真技术作为正向设计体系..._点阵结构的等效属性计算

Firefox安装广告屏蔽插件(uBlock Origin)_ublock origin插件-程序员宅基地

文章浏览阅读5.9k次,点赞2次,收藏2次。由于国内用户IP被屏蔽的原因,安装广告屏蔽插件(uBlock Origin、AdGuard、AdBlocker、AdBlock For Firefox、AdBlock)访问受限,官方原因为“由于法律原因不可用(HTTP 451 Unavailable For Legal Reasons)”,需要另辟蹊径安装,以下是安装uBlock Origin的方法介绍。然后,在Firefox的扩展管理页面,打开【从文件安装附加组件】选项。选择刚才下载的.xpi文件,就可以成功安装了。_ublock origin插件