前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >微信小程序学习(原生)

微信小程序学习(原生)

作者头像
神葳
发布于 2021-01-22 08:19:28
发布于 2021-01-22 08:19:28
8250
举报
文章被收录于专栏:神葳总局神葳总局

# 原生小程序

# 什么是小程序?

  1. 无需下载,用完即走(体积太小,刚发布的压缩包体积最大不能超过1M,2017年4月将1M提升2M)

# 小程序特点

  1. 体积小
  2. 同app进行互补的,可以实现app基本的功能
  3. 微信扫一扫或者是搜索就可以去下载
  4. 开发周期短,成本较低

# 适配方案

  1. viewport适配 width = device-width
  2. 单位:rpx
  3. iphone6:1rpx = 1物理像素 = 0.5px dpr = 物理像素/设备独立像素 = 2

# 重要的文件

  1. wxml view结构 ---> html
  2. wxss view样式 ---> css
  3. js view行为 ---> js
  4. json文件:数据 && 配置

# 注册小程序

App()

# 注册页面

Page()

# 数据绑定

  1. 在data中初始化页面需要的数据,在页面可以直接使用

# 事件(冒泡事件 || 非冒泡事件)

  1. 冒泡事件:bind + 事件名
  2. 非冒泡事件:catch + 事件名

# 模板template

  1. 定义:template 属性:name(标识模板)
  2. 使用:template 属性:is(模板的name)
  3. 引入模板结构:<import src='路径'/>
  4. 引入模板样式:@import '路径'
  5. 传参:data="{...item}"(*tip:双中括号)

# 列表渲染

  1. wx:for
  2. wx:key(为每个个体元素进行标记)
  3. 遍历的个体:item
  4. 遍历的下标:index

# 本地缓存(setStorage, setStorageSync)

  1. 缓存的是用户本地的数据
  2. 注意:
    1. 缓存之前应该先去获取之前本地缓存的数据
    2. 缓存的新数据是在原有数据的基础上进行的
    3. 当页面加载的时候onLoad中获取本地缓存数据
    4. 如果storage中没有缓存过,通过key获取的value为空!
    5. 如果用户之前没有缓存过的话:初始化一个空对象在storage中

# 音乐播放

  1. 如何知道音乐在播放或者暂停
  2. 在app全局变量中设置播放音乐的页面状态

# 分享功能(showActionSheet)

  1. itemList为按钮的文字数组,数组长度最大为 6
  2. 个人账号无法使用分享功能,使用企业提供的账号

# 转发功能(button组件下的open-type属性)

  1. share:触发用户转发

# tab切换(tabBar)

  1. list:tab 的列表,最少 2 个、最多 5 个 tab,tab 按数组的顺序排序,每个项都是一个对象,其属性值如下:
    • pagePath:页面路径,必须在 pages 中先定义
    • text:tab 上按钮文字
    • iconPath:图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,
    • selectedIconPath:选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
  2. 当 position 为 top 时,不显示 icon。

# 发送ajax请求实现数据交互(wx.request)

  1. 测试勾选不校验合法域名、web-view(业务域名)、TLS版本以及SSL证书,实际使用需要https请求
  2. 为了减轻服务器负担,应当设置全局变量缓存获得的数据留作备用

# 路由跳转

  1. wx.redirectTo与wx.navigateTo方法需要跳转的应用内非 tabBar的页面的路径 (代码包路径), 路径后可以带参数。
  2. wx.switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,路径后不能带参数。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-8-3 17,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从零学习微信小程序(一)——基础知识
注意:如果有与app.json文件相同的配置项,页面中的配置项将会覆盖app.json中window中的配置项
小丞同学
2021/08/16
5700
微信小程序底层框架实现原理|万字长文
我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情
虎妞先生
2022/10/27
4.7K0
微信小程序底层框架实现原理|万字长文
小程序开发仿微信界面 DEMO
前言 先看一个视频,这个视频并不是去演示如何使用微信,而是演示基于wepy开发的微信小程序demo。 点击观看视频 : 【wepy开发的微信小程序demo 】 demo中包含的功能有: 仿微信界面 联
Gcaufy
2017/05/10
19.9K7
小程序开发仿微信界面 DEMO
【愚公系列】2022年02月 微信小程序-app.json配置属性之tabBar
如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。
愚公搬代码
2022/02/22
8140
【愚公系列】2022年02月 微信小程序-app.json配置属性之tabBar
原生小程序开发注意事项总结
这里很多开发者喜欢使用RGB或者十六进制的值进行表示颜色,别的属性可以,上面两个不行
何处锦绣不灰堆
2022/06/01
5750
15个高频微信小程序面试题
kRjT-hhuhism9497041.jpg 微信小程序面试题 1. 小程序有几个文件? WXML: 微信自己定义的一套组件 WXSS : 用于描述 WXML 的组件样式 js : 逻辑处理 json : 小程序页面配置 2.小程序怎么跟随事件传值 在 页面标签上通过 绑定 dataset-key = value , 然后绑定点击通过e.currentTarget.dataset.key 来获取标签上绑定的值。 <button bindtap="get" data-name=
程序员海军
2021/01/17
6.8K0
15个高频微信小程序面试题
微信小程序-开发入门(一)
微信小程序已经火了一段时间了,之前一直也在关注,就这半年的发展来看,相对原生APP大部分公司还是不愿意将主营业务放到微信平台上,以免受制于腾讯,不过就小程序的应用场景(用完即走和二维码分发等)还是很值得我们学习的,技术上面如果了解React的话,会发现他们在组件化上面有很多雷同之处。说白了,小程序就是基于微信平台的H5轻应用,微信将系统底层功能(设备、位置、媒体、文件等)和微信自身功能(登录、支付、分享等)封装成相应API供小程序调用。 自己根据官方文档写过一个DOME,借助和风天气开放API接口,实现天气
小古哥
2018/03/08
2.6K2
微信小程序-开发入门(一)
🥬 🐶的uniapp学习之🦌 【tabBar】
---- 「这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战」 这是官网描述的:✈️ 当设置 position 为 top 时,将不会显示 icon tabBar 中的 list 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。 tabbar 切换第一次加载时可能渲染不及时,可以在每个tabbar页面的onLoad生命周期里先弹出一个等待雪花(hello uni-app使用了此方式) tabbar 的页面展现过一次后就保留在内存中,再次切换 t
用户4793865
2023/01/12
1.1K0
2019-面向小白的微信小程序-视频教学-基础
微信小程序,简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用
万少
2025/02/08
1810
2019-面向小白的微信小程序-视频教学-基础
02-微信小程序目录结构及配置
微信目录结构配置说明app.json 配置项window配置项restartStrategytabBar配置项创建一个自己的页面真机调试
鱼多多
2023/11/20
6880
02-微信小程序目录结构及配置
改头换面:迁移既有项目到微信小程序
在既有的某html5移动端项目基础上,考虑到其形态和体量很适合转化为微信小程序,遂花费了不长的时间撸起袖子试试看,并将期间遇到的踩坑心得记录在此
江米小枣
2020/06/15
8480
【查缺补漏】 15个高频微信小程序面试题
微信小程序面试题 1. 小程序有几个文件? WXML: 微信自己定义的一套组件 WXSS : 用于描述 WXML 的组件样式 js : 逻辑处理 json : 小程序页面配置 2.小程序怎么跟随事件传值 在 页面标签上通过 绑定 data-key = value , 然后绑定点击通过e.currentTarget.dataset.key 来获取标签上绑定的值。 <button bindtap="get" data-name="测试"> 拿到传值</button> get(e){
程序员海军
2022/02/15
1.8K0
微信小程序全面实战,架构设计 && 躲坑攻略
近集中开发了两款微信小程序,分别是好奇心日历(每天一条辞典+一个小投票)和好奇心日报(轻量版),直接上图:
java爱好者
2019/06/27
1.6K0
实例分享微信小程序项目搭建(上)
有幸能够参与我司【更美小程序】的搭建,在此分享些心得希望能够帮助到前端界萌新。因【更美小程序】源码需保密,我仅向大家分享基础建设级别的非业务代码。
疯狂的小程序
2018/01/24
1.8K0
微信小程序个人心得「建议收藏」
官方给出了app.json五个配置项列表.(pages(Array), window(Object), tabBar(Object), networkTimeout(Object), debug(Boolean)),接着我们就详细的分下一下这几个配置项.
全栈程序员站长
2022/11/04
1.9K0
微信小程序个人心得「建议收藏」
微信小程序开发环境安装以及相关设置配置
软件安装地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
小小咸鱼YwY
2020/06/19
2.5K0
微信小程序开发环境安装以及相关设置配置
微信小程序入门《四》实例:导航栏样式、tabBar导航栏
实例内容 导航栏样式设置 tabBar导航栏 实例一:导航栏样式设置 小程序的导航栏样式在app.json中定义。 这里设置导航,背景黑色,文字白色,文字内容测试小程序 app.json内容: { "pages":[ "pages/index/index", "pages/login/login", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"red", "navigationBarBack
极乐君
2018/02/05
3.2K0
微信小程序入门《四》实例:导航栏样式、tabBar导航栏
微信小程序 - 入门指引
设置 -> 开发者设置 -> 服务器域名中   配置好服务器域名,小程序才能正确地发起异步请求
书童小二
2018/09/03
3.5K0
微信小程序 - 入门指引
微信小程序,开发大起底
作者简介:张智超,北京微函工坊开发工程师,CSDN微信开发知识库特邀编辑。微信小程序爱好者。 感谢@翟东平 @qq_31383345 @nigelyq 等热情参与和共建 责编:CSDN知识图谱小助手 「小程序」是什么 张小龙在朋友圈里这样解释道:小程序是一种不需要下载安装即可使用的应用,它实现了应用「触手可及」的梦想,用户扫一扫或搜一下即可打开应用。也体现了「用完即走」的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 微信小程序是一种全新的连接用户与服务的方式,它可以
智能算法
2018/04/03
1.6K0
微信小程序,开发大起底
# 微信小程序开发之-app.json
认识app.json app.json官方给的定义是小程序 公共设置 在这里面可以配置的东西有官方给的定义 微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tabbar 也就是在iOS中 baseViewController、navController、tabbarController的一个结合文件 下面剖析一下这个文件: app.json剖析 { "pages": [], "window": {}, "tabBar": {}, "networ
GuangdongQi
2018/05/24
1.2K0
相关推荐
从零学习微信小程序(一)——基础知识
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文