我的编程空间,编程开发者的网络收藏夹
学习永远不晚

婚礼邀请函小程序项目

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

婚礼邀请函小程序项目

文章目录

一、学习目标

1.掌握小程序常用组件的使用

2.掌握腾讯视频插件的使用

3.掌握背景音乐API、地图API的使用

4.掌握订阅消息的发送

二、开发前准备

  • 项目展示、项目分析、项目初始化

1.项目展示

  • 照片页面

在这里插入图片描述

  • 美好时光页面

在这里插入图片描述

  • 宾客信息页面

在这里插入图片描述

三、代码实现

1 项目搭建

  • 在微信开发者工具中创建一个空白项目。创建成功后,新建app.json文件,在该文件中定义本项目中的页面路径、定义项目导航栏样式、定义项目底部标签栏
{  "pages":[    "pages/index/index",    "pages/picture/picture",    "pages/video/video",    "pages/map/map",    "pages/guest/guest",    "pages/logs/logs"  ],  "window":{    "backgroundTextStyle":"light",    "navigationBarBackgroundColor": "#fff",    "navigationBarTitleText": "婚礼邀请函",    "navigationBarTextStyle":"black"  },  "tabBar": {    "color": "#ccc",    "selectedColor": "#ff4ccc",    "borderStyle": "black",    "backgroundColor": "#ffffff",    "position": "bottom",    "list": [      {          "pagePath": "pages/index/index",          "iconPath": "/images/invite.png",          "selectedIconPath": "/images/invite.png",          "text": "邀请函"      },      {       "pagePath":"pages/picture/picture",      "iconPath": "/images/marry.png",      "selectedIconPath": "/images/marry.png",      "text": "照片"},      {          "pagePath":"pages/video/video",         "iconPath": "/images/video.png",         "selectedIconPath": "/images/video.png",         "text": "美好时光"},         {          "pagePath":"pages/map/map",         "iconPath": "/images/map.png",         "selectedIconPath": "/images/map.png",         "text": "婚礼地点"},         {          "pagePath":"pages/guest/guest",         "iconPath": "/images/guest.png",         "selectedIconPath": "/images/guest.png",         "text": "宾客信息"}  ]},  "style": "v2",  "sitemapLocation": "sitemap.json"}

2 功能实现

2.1 背景音乐功能

  • 在index.wxml设置页面和展示图片,代码如下:
    
  • 在index.wxss中编写播放器的样式
.content{    width: 100vw;  height: 100vh;}.bg{  width: 100%;  height: 100%;}.play{  position: fixed;  top: 20rpx;  right: 20rpx;    z-index: 1;}.play>image:first-child{  width: 80rpx;  height: 80rpx;}.play>image:last-child{  width: 20rpx;  height: 80rpx;  margin-left: -5px;}.cont{  width: 100%;  height: 100%;  position: fixed;  top: 0rpx;  z-index: 2;  display: flex;  flex-direction: column;  align-items: center;}.cont-info-weding{  flex: 1;  display: flex;  flex-direction: column;  align-items: center;}.cont-gif{  width: 19vh;  height: 18.6vh;}.cont-title{  font-size: 5vh;  color:#ff4c91;  font-weight: bold;  margin-top: 1.5vh;}.cont-avatar{  width: 24vh;  height: 24vh;  border-radius: 50%;  border: 3px solid #ff4c91;  margin-top: 2.5vh;}.cont-info{  display: flex;  flex-direction: row;  align-items: center;  width: 50vw;}.cont-info-wedding{  width: 60rpx;  height: 60rpx;  }.content-name{  position: relative;  color: #ff4c91;  font-weight: bold;  font-size: 2.7vh;  }.content-name>image{  height: 30rpx;  width: 30rpx;    border-radius: 50%;  border: 1px solid #ff4c91;  position: absolute;  top: -25rpx;  right: -35rpx;}.cont-address{  color:#ff4c91;  font-weight: bold;  margin-top: 10rpx;  font-size: 2.9vh;  align-items: center;  text-align: center;  line-height: 4.5vh;}.cont-address>view:first-child{  font-size:3.2vh;  margin-bottom: 2vh;}
  • 在index.js中实现音乐播放、暂停功能,并选择音乐源,代码如下:
onReady: function () {  this.bgm = wx.getBackgroundAudioManager()  this.bgm.onCanplay(()=> {    this.bgm.pause()  })  this.bgm.class="lazy" data-src = this.music_url},
  • 在index.js中实现正在播放功能,代码如下:
play: function (e) {  if (this.data.isPlayingMusic) {    this.bgm.pause()  } else { this.bgm.play() }  this.setData({isPlayingMusic:!this.data.isPlayingMusic })},
  • 在index.wxml中编写页面结构的样式,实现一键拨打电话功能
                                                  邀请函                                                                    小张                新郎                                                                                                                                    小李                新娘                                                     我们邀请您来参加我们的婚礼            时间:2022年12月24日            地点:                      /

2.2 照片页面功能

  • 实现纵向轮播图:在picture.js中准备图片路径
Page({    data: {     pictures:[       {         id:0,         class="lazy" data-src:"/images/timg1.jpg"       },       {        id:1,        class="lazy" data-src:"/images/timg2.jpg"      },      {        id:2,        class="lazy" data-src:"/images/timg3.jpg"      },      {        id:3,        class="lazy" data-src:"/images/timg4.jpg"      }     ]  },
  • 在picture.wxml中设置swiper组件的属性
 
  • 在picture.wxss中编写样式
swiper{  height: 100vh;}image{  height: 100%;}

2.3 美好时光页面

  • 在video.wxml中使用video组件播放视频,并提供获取视频和发送弹幕的的按钮
{{item.title}}{{item.time}}
  • 在video.js中定义弹幕数据和视频资源地址
Page({    data: {    danmuList: [{ text: '第 1s 出现的弹幕', color: '#ff0000', time: 1 },                { text: '第 2s 出现的弹幕', color: '#ff00ff', time: 2 },                { text: '第 3s 出现的弹幕', color: '#ff00ff', time: 3},                { text: '第 4s 出现的弹幕', color: '#ff00ff', time: 3} ] ,   vedioList:[     {title:"海边旅游",      time:'2022年1月1日',     class="lazy" data-src:'http://www.lzy.edu.cn/vedio/lzy2022.mp4'},     {title:"川西旅游",      time:'2022年10月1日',     class="lazy" data-src:'http://www.lzy.edu.cn/vedio/lzy2022.mp4'},     {title:"北京旅游",      time:'2022年5月1日',     class="lazy" data-src:'http://www.lzy.edu.cn/vedio/lzy2022.mp4'},    ]  },  play:function(e){    console.log("播放了")  },  pause:function(e){    console.log("视频暂停")  },    onLoad(options) {  },
  • 在video.wxss中编写样式
.video-list{  margin:10rpx 25rpx;  padding:20rpx;  border-radius: 10rpx;   background: #ffffff;  box-shadow:0 8rpx 17rpx 0 rgba(7,17,27,0.1);}.video-list-title{  font-size:35rpx;  color:#333333; } .video-list-time{  font-size:30rpx;  color:#979797; }.video-list>video{  width:100%;  margin-top: 20rpx;}
  • 在app.json中配置本项目使用的插件
"plugins":{"tencentvideo":{"version":"1.2.2","provider":"wxa75efa648b60994b"}}
  • 在video.json中将腾讯视频插件添加到自定义组件,将组件名称命名为txv_video
{  "usingComponents": {    "txv-video":"plugin://tencentvideo/video"  }}

2.4 婚礼地点页面

  • 在map.wxml中编写页面结构
  • 在map.wxss中编写页面样式
.pg{  width: 100vh;  height: 100vh;}
  • 在map.js中编写data数据和markertap()函数
// pages/map/map.jsPage({    data: {    markers: [      {        id: 0,        longitude: 105.410766,        latitude: 28.915616,        title: "婚礼地点",        iconPath: "/images/navi.png",        width: 30,         height: 30      },      {        id: 1,        longitude: 105.410766,        latitude: 28.916616,        title: "停车场",        iconPath: "/images/navi.png",        width: 30,         height: 30      },      {        id: 2,        longitude: 105.413886,        latitude: 28.917616,        title: "停车场",        iconPath: "/images/navi.png",        width: 30,         height: 30      }    ],    polyLine:[{      points:[      {latitude: 28.917616, longitude: 105.413886},      {latitude:28.916616,longitude:105.410766},        {latitude:28.915616,longitude:105.410766}],         color:"#ffffffAA",         width:3,       dottedLine:true      },      //{      //  points:[      //  {latitude: 28.917616, longitude: 105.413586},      //  {latitude:28.916616,longitude:105.415766},       //   {latitude:28.915616,longitude:105.415766}],       //    color:"#ffffffAA",       //    width:3,       //  dottedLine:true     //   }    ],    circles:[{      latitude:28.915616,      longitude:105.410566,      radius:200,      color:"#ff4c91AA",      strokeWidth:3,      fillColor:"#ff4c910A"    },    {      latitude:28.915616,      longitude:105.410566,      radius:300,      color:"#000000AA",      strokeWidth:3,      fillColor:"#ff4c910A",    }  ]  },  markertap:function(e){    //点击标记处位触发,后面给地图导航的逻辑    console.log(e)    var onemarker=this.data.markers[e.markerId]    wx.openLocation({      latitude: onemarker.latitude,      longitude: onemarker.longitude,      name:onemarker.title,      address:""    })  },  regionchange:function(e){    console.log(e);  },  tap:function(e){    console.log(e);  },  updated:function(e){    console.log(e);  },

2.5 宾客信息页面

  • 在index.wxml中实现邀请函首页展现新人信息、婚礼信息功能,代码如下:
参加婚礼的人数:{{picker.array[picker.index]}}
  • 在guest.wxml中实现邀请函首页展现新人信息、婚礼信息功能
参加婚礼的人数:{{picker.array[picker.index]}}
  • 在guest.js中编写data数据和pickerChange()函数、事件处理函数、实现表单验证,在page()函数的后面编写server对象,用于模拟服务器,与微信接口进行交互。
// pages/guest/guest.jsPage({    data: {    picker:{      array:['1','2','3','4','5'],      index:0    }  },  pickerchange:function(e){    console.log(e);    this.setData({      'picker.index':e.detail.value    })  }, formsubmit:function(e){   console.log(e);   var name = e.detail.value.name;   var phone=e.detail.value.phone;   var num = e.detail.value.num;   var wish =e.detail.value.wish;   //1'判断姓名是否由中英文组成   this.checkName(name)   //2.判断电话号码是否符合规范   this.checkPhone(phone) }, checkPhone:function(data){   var reg = /^1[3456789][0-9]{9}$/   if(!reg.test(data)){     wx.showToast({       title: '号码格式错误',       icon:"none",       duration:1500     })   } }, checkName:function(data){   //正则表达式 中英文   var reg = /^[a-zA-Z\u4e00-\u9fa5]+$/   if(!reg.test(data)){     wx.showToast({       title: '姓名输入错误',       icon:"none",       duration:1500     })   } },

来源地址:https://blog.csdn.net/qq_55679598/article/details/128426719

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

婚礼邀请函小程序项目

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

开发邀请函小程序需要什么基本功能

这篇“开发邀请函小程序需要什么基本功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“开发邀请函小程序需要什么基本功能”文章吧
2023-06-27

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录