如果你是一个小白,想学习或者了解小程序,但是不知从何下手,那么这篇文章应该会对你有所帮助,如果您是一位大佬,那么这篇文章欢迎您吐槽!

什么是小程序?

小程序是微信新推出来的一种连接用户与服务的方式。是一种不需安装下载就能使用的应用。实现了用完即走的梦想。

小程序的优势

  • 不用安装,即开即用,省流量,不占用桌面
  • 对于小程序拥有者来说,开发成本更低,他们可以更多财力,人力,精力放在如何运营好产品,做好内容本身,并且相较于原生APP,推广更容易更简单,更省成本。
  • 对于用户来说,相较于各种APP,微信小程序UI和操作流程会更统一,降低了使用难度

微信小程序虽然体验上不能和原生APP相媲美,但是综合考虑还是很有优势的。

注册小程序账号

要学习小程序首先要申请小程序账号,根据步骤填写资料就好

这里说一下,注册账号的第三步的时候,也就是信息登记这一步时,主体类型选择个人就好,这里还要登记身份证,有点麻烦。

注册成功以后你就有账号啦,然后来到微信公众平台,查看一下你的APPID,后面会用到
设置-->开发设置

小程序账号注册好了,接下来就是安装微信web开发者工具,点击下一步然后同意协议就好啦

这里建议你们安装一个VSCode,如果直接在微信开发者工具中敲代码的话会非常不方便,你们可以再安装两个插件,会为你们写代码节省很多时间:

安装插件:

现在准备工作都做好啦,接下来是正文了

万达电影

前两天为了去看正义联盟的IMAX版,就在万达电影的APP上弄抽奖,满60减20,可惜我运气太差,让10个人帮我抽都抽不到(想哭),后来刚好要仿一款小程序,就选中了万达电影的小程序。
这是我的github项目地址:仿万达电影小程序,功能还没有完善,但是从中学到了很多关于小程序的相关知识,欢迎star.

1.打开微信开发工具,在微信上确认登录以后,点击小程序项目,

2.项目目录要选择一个空文件夹,APPID就是之前要你记住的APPID,如果没有记住,点击查看APPID,你也可以不填写APPID,选择“可点此体验”也行,但是这样就不能在手机上预览你的项目。项目名称我这里是模仿万达电影小程序,你也可以自己换一个,这里随意。

3.来到微信开发者工具主页,粉色的圈圈里:

  • pages里的文件是你需要写的页面
  • .js 后缀的表示JS脚本逻辑文件,app.js是指全局的JS文件
  • .json 后缀的表示JSON配置文件,app.json是指全局JSON配置文件,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等
  • .wxss 后缀的表示WXSS样式文件,app.wxss是指全局样式文件

蓝色的圈圈里就是你点击对应的代码了,我们切换到VSCode里继续学习.....

4.打开VSCode编辑器,切换到你的小程序文件,点击app.json
这是默认的数据:

这是我仿万达电影的app.json文件,下面给出了相应的注释:

{// Pages字段 用于描述当前小程序所有页面路径,我目前只有6个页面,你之后写的页面一定要在这里配置路径!!!"pages":["pages/index/index","pages/ticket/ticket","pages/detailedInfo/detailedInfo","pages/cinemas/cinemas","pages/stills/stills","pages/mine/mine"],// window字段 小程序所有页面的顶部背景颜色,文字定义颜色"window":{"backgroundTextStyle":"black","navigationBarBackgroundColor": "white",// 顶部背景颜色"navigationBarTitleText": "万达电影",// 顶部文字"navigationBarTextStyle":"black"// 顶部文字颜色},//tabBar字段 配置小程序导航栏"tabBar":{"color": "rgb(116,122,131)",//tab栏文字颜色"selectedColor": "rgb(217,172,108)",//tab栏文字被选中时的颜色"backgroundColor": "#ffffff",//导航栏背景颜色"borderStyle": "#e0e0e0",//导航栏边框的样式//list字段:选项卡列表,最多可以配置5个"list": [{"pagePath": "pages/index/index",//选中的对应页面的路径"iconPath": "images/movieSelected.png",//tab默认的图标"selectedIconPath": "images/movie.png",//tab选中后的图标"text": "电影"//tab中的文字},{"pagePath": "pages/mine/mine","iconPath": "images/mine.png","selectedIconPath": "images/mineSelected.png","text": "我的"}]}}

这是我的文件夹,图标都放在images文件里,图标可以从iconfont这个网站获取:

效果如下:

5.接下来我们就切一个页面并且传数据,index.wxml页面代码:

<!--小程序中的标签不是div,p,a等标签,而是采用了自定义的view等组件,view就相当于div标签-->
<view class="container"><!--WXML页面中的数据都来自对应Page的data,数据绑定使用{{}}将变量包起来--><!--navigator组件是用于页面跳转的,url就是对应点击之后的页面路径--><navigator class="page__hd" url="../cinemas/cinemas"><!--这里的store就是动态数据,需要去Page中的data中设置--><view class="page__hd_store">当前影院:{{store}}></view><button class="btn">切换</button></navigator><!--在组件上使用wx:for控制属性绑定一个数组,使用数组中各项的数据重复渲染组件。主页的电影信息就是一个个列表默认数组的当前项的下标变量名默认为index,数组当前项的变量名默认为item,所以在Page页面中只需要设置movies就可以,for循环里的数据都可以用item. 来获取数据--><!--scroll-view是可滚动视图区域,scroll-y="true"表示垂直方向上可滚动,默认为false,如果要设置水平方向上滑动,即scroll-x="true"--><scroll-view class="page__bd" wx:for="{{movies}}" wx:key="{{index}}" scroll-y="true"><view class="movies"><!--这里跳转到页面的页面路径后面加了id={{item.id}},因为每部电影的电影详情都不一样,所以我需要设置一个id来筛选我点击跳转的页面所需要的数据,item.id也是数组中的一项,不需要另外去Page中设置--><navigator url="../detailedInfo/detailedInfo?id={{item.id}}"><view class="item"><view class="movie__hd"><image class="movie" src="{{item.image}}" /></view><view class="movie__bd"><text class="movie__bd_name">{{item.movieName}}</text><text class="movie__bd_jd">IMAX3D</text><text class="movie__bd_introduction">{{item.introduction}}</text><text class="movie__bd_actor">{{item.actor}}</text></view></view></navigator><view class="movie__ft"><text class="movie__ft_score">{{item.score}}</text><navigator url="../ticket/ticket"><button class="btn big">购票</button></navigator></view></view></scroll-view>
</view>

我的数据是用Easy Mock写的,这是我目前写的数据:电影信息,你们可以直接使用。index.js页面代码:

const app = getApp()Page({data: {//动态数据movies: [],store: ""},//onLoad函数表示页面加载完成后执行onLoad: function(res) {console.log(res.data);var that = this;//wx.showToast是显示消息提示框,wx.showToast({title: "加载中...",//提示框中的文字内容icon: "loading",//提示框中的图标,只能有两个值,"success"和"loading"duration: 500//表示提示框在页面中显示的时间,单位是毫秒});//wx.request是小程序的API,所有以wx. 为前缀的都是API,//wx.request是用于请求数据的wx.request({//url内就是数据来源url: 'https://www.easy-mock.com/mock/5a20be8ebe1c8248fef10573/getMoviesInfo/getInfo',//success函数表示,当请求数据成功时执行success函数,res是一个形参,即表示请求的数据success: function(res){//当你不知道数据的结构层是怎样的时候,可以console.log一下查看数据console.log(res.data.data);//this.setData是设置Page中data的数据,//这里是使用that.setData,因为函数中嵌套函数this的指向会发生改变,所以在外层函数中使this指向了that.that.setData({movies: res.data.data.movieDetails})}})},//页面显示完成后执行onShow函数(每次打开页面都会调用一次),//onShow函数是在onLoad函数执行之后再执行的,这里涉及到小程序的生命周期函数。onShow: function() {var that = this;//wx.getStorage是从本地缓存中异步获取指定key对应的内容,这里对应的是我cinemas页面的内容,获取指定的电影院名称wx.getStorage({key: "cinema",//key中的内容就是我需要的内容success: function(res) {console.log(res);that.setData({store: res.data})}})}
})

页面效果:

我的项目地址:github地址,欢迎fock,欢迎star.
到这里差不多就结束了,最后再给几个日后很有用的链接:

  • 小程序开发文档
  • Easy Mock虚拟数据接口
  • iconfont图标库
  • 野狗(实时通信云,实时数据同步功能)

如果对于代码有什么问题,欢迎一起讨论学习。
在截图里好像有我在听的歌,我的网易云账号:nzhing,互粉啊,哈哈哈

我从不信命运,不信所谓的可以指引我们的生命征兆。我不相信算命师讲的故事,不相信可以预知未来的扑克牌。我只相信简单的巧合,还有偶然的真相 ————伊斯坦布尔假期

新手零基础入门小程序之万达电影相关推荐

  1. 视频教程-5小时零基础入门小程序云开发-微信开发

    5小时零基础入门小程序云开发 码农一枚,非著名全栈开发人员.分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑. 多年全栈开发经验,擅长小程序,java,安卓,web前端开发. 邱石 ¥29.0 ...

  2. 零基础入门小程序,实战经验分享

    讲师介绍:连胜大佬曾经就职于点心移动 & 百度,折腾小程序也有段时间了,参与开发的"小小签到"小程序,在2017年荣获阿拉丁神灯奖.我公司开发了多个工具类小程序,已有四款小 ...

  3. 2022年最新最全,零基础入门小程序云开发

    开始之前 小程序基础课程:https://www.bilibili.com/video/BV1mF411b7tE?spm_id_from=333.999.0.0 大家可以加我微信QQ获取电子书版的配套 ...

  4. 零基础学小程序006(后台数据的获取与解析)----请求服务器json数据展现到小程序上

    视频讲解地址:https://edu.csdn.net/course/play/9531/265552 小程序云开发讲解视频:https://edu.csdn.net/course/detail/96 ...

  5. 【零基础微信小程序入门开发一】小程序介绍及环境搭建

    什么是小程序? 微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或搜一下即可打 ...

  6. 零基础学小程序 —— 模板样式(三)

    目录 前言 1.什么是 WXSS 2.WXSS 和 CSS 的关系 3. rpx 3-1 什么是 rpx 尺寸单位 3-2 rpx 的实现原理 3-3 rpx 与 px 之间的单位换算 4. 样式导入 ...

  7. 【零基础微信小程序】基于百度大脑人像分割的证件照换底色小程序实战开发

    系列文章目录 [零基础微信小程序入门开发]小程序介绍及环境搭建 [零基础微信小程序入门开发]配置小程序 [零基础微信小程序入门开发]小程序框架一 [零基础微信小程序入门开发]小程序框架二 [零基础微信 ...

  8. 局部配置和全局配置_06. 教你零基础搭建小程序(解读全局配置文件-tabBar字段)...

    自从开始在知乎上发教程后,发现一个事情啊, 大家对于我写的教程,都在偷偷地收藏~~ 但是, 却没有银点赞~ 知乎这个平台吧,点赞的分量比收藏更大, 这里也不是要赞(我知道自己还能做的更好), 只是希望 ...

  9. 零基础微信小程序Day1

    文章目录 一.前言 二.下载和注册 三.认识界面 四.小程序组件 五.结尾 一.前言 学习目的(purpose):学会制作一款微信小程序,为今后毕设做准备. 背景介绍(introduction):计科 ...

最新文章

  1. Pandas 数据挖掘与分析时的常用方法
  2. 一文看尽 27 篇 CVPR 2021 2D 目标检测论文
  3. 如何运用深度强化学习,让机器人运动更灵活智能?
  4. android 全局光标颜色,EditText修改光标和背景色(绝对简单实用)
  5. Python中浮点数精度处理
  6. Linux之Inode详解 作者:羽飞博客 http://www.opsers.org/
  7. gnuwin32从全量备份中单表还原_入门MySQL——备份与恢复
  8. 2016版excel_【重磅分享】最完整EXCEL教程,视频+PPT下载
  9. 爱普生Epson L301 清零软件+图解教程
  10. 下拉列表dropdown取消默认点击隐藏及修复需要二次点击的方法
  11. 山东大学软件工程硕士天津保送班
  12. python爬虫构建国外代理池_Python爬虫入门(四)教你免费拥有自己的代理IP池
  13. 服务器被劫持怎么修复不了,电脑DNS被劫持怎么修复?电脑dns被劫持的完美解决方法...
  14. Linux运维技术之Linux云计算架构
  15. 基于区块链的知识共享框架-Aletheia
  16. 业务异步写mysql数据库_把重要的业务日志异步批量写入数据库
  17. Flink 使用Table Api 读取文件数据并写出到文件中
  18. 《游戏学习》Java实现仿雷电游戏设计
  19. Juju-maas 环境搭建
  20. MATLAB使用audioread时报错误:Error using which Must be a string scalar or character vector.

热门文章

  1. PHP源码_运营服务器打包微盘,外汇盘,时间盘
  2. vscode 插件使用(前端力推)
  3. PHP+SQLite3简约网址导航、书签管理器网站源码
  4. SEO按天关键词计费排名查询系统源码
  5. 小程序博客资源娱乐网带微信流量主激励视频
  6. asp.net 开发知识小结【转】
  7. 视差滚动(Parallax Scrolling)效果的原理和实现
  8. Magento Helper简介
  9. Netbeans加入CI的代码提示
  10. 爬虫入门四(多线程爬虫)