当前位置: 首页 > Web前端 > CSS

美食福利Get-今日美食美食微信小程序

时间:2023-03-30 19:28:27 CSS

wechat-todayFood微信小程序模仿今日美食美食新手微信小程序,嗯,不错,很有趣!所以我自己做了一个?别看标题就说我是吃货,我可不想这么快就暴露,不过这个小程序实在是太有趣了。好了,言归正传,我们去看我的demo吧。开发工具:下载开发者工具:微信小程序官网,下载后即可开始开发。如果你想发布你的小程序,你需要在创建小程序时获取AppId。你可以去https://mp.weixin.qq.com了解更多;这是一本开发小程序的好书,里面包含各种组件,API,框架等等... 3. EasyMork:easy-mock,一个可以快速生成模拟数据的服务,它可以为我们提供数据接口url,然后使用wx.request({url:url,.....})发送数据请求。我的大部分数据都是Mork模拟的;创建小程序后:是自动生成一些基础文件:page文件夹,page文件夹包含你所有的页面文件,至少.js.wxml.wxs后缀文件,.json可选utlis文件夹,放置一些需要全局使用的js文件app.js控制全局逻辑结构app.json配置一些全局数据,所有页面都要在这里注册*app.wxml内容结构*app.wxss全局样式页面注册:"pages":["pages/index/index","pages/detail/detail"],效果预览:项目功能:*在首页插入一组图片,实现跳转 *scroll-view的使用,可滚动视图区域生成 *视频播放,视频组件的使用 *发表评论 *评论展示 *获取数据和互动反馈 *获取用户信息 *动态获取评论时间 *使用mock传输数据 具体功能分析1.插入一组图片,实现跳转 因为我们要插入一组图片,所以可以使用wx:for={{}}实现HTML结构  jsConfiguration我这里插入了图片的地址信息,在data数组中//事件处理函数bindViewTap:function(e){console.log(e.currentTarget.id)varid=e.currentTarget.idwx.navigateTo({url:'../detail/detail?id='+id}) },2. scroll-view的使用,需要设置滚动区域时生成可滚动视图区域,使用scroll-view标签将内容包裹在HTML结构{{videoInfo.title}}{{videoInfo.number}}{{videoInfo.time}}{{videoInfo.desc}}}{{item.昵称}}{{item.time}}{{item.desc}}

{{item.nickName}}{{item.time}}{{item.desc}}js配置handleUpper:function(event){console.log("handleUpper");},handleLower:函数(事件){console.log("handleLower");},3。视频播放,视频组件使用(这是我踩的坑!)HTML结构<按钮bindtap="bindButtonTap">js配置在data,hiddenVideo:true,onReady:function(res){this.videoContext=wx.createVideoContext('item.id')},videoErrorCallback:function(e){console.log('视频错误信息:')console.log(e.detail.errMsg)},bindButtonTap:function(){varthat=this;wx.chooseVideo({sourceType:['album','camera'],maxDuration:60,camera:['front','back'],success:function(res){that.setData({src:res.api_url})}})},})4.发表评论(最大的坑!)  包括:*获取数据和互动反馈 *获取用户信息 *动态获取评论时间 HTML结构 Publishjs配置输入comment并获取其信息:comment:[],bindInput:function(e){varthat=this;varvalue=e.detail.value;控制台日志(值);that.setData({content:value})},获取数据和交互反馈:content:"",issue:function(){varthat=this;vararr=新数组();if(this.data.content===""){wx.showModal({title:'Tips',content:'请填写评论',success:function(res){if(res.confirm){console.log('用户点击确定')}elseif(res.cancel){console.log('用户点击取消')}}})}else{arr.push({nickName:this.data.nickName,avatarUrl:this.data.avatarUrl,time:util.formatTime(newDate()),desc:this.data.content})this.setData({comment:this.data.comment.concat(arr),内容:""})console.log(this.data.comment)console.log(this.data.nickName)setTimeout(function(){wx.showToast({title:'评论成功',icon:'成功',duration:2000})},1000)}},在util.js中动态获取评论时间 module.exports={formatTime:formatTime}5. 获取用户信息:HTML结构{{item.昵称}}{{item.time}}{{item.desc}}jsstructurevarthat=thiswx.getUserInfo({success:function(res){varuserInfo=res.userInfovarnickName=userInfo.nickNamevaravatarUrl=userInfo.avatarUrlthat.setData({nickName:nickName,avatarUrl:avatarUrl})}})6. 使用mock传输数据varid=options.id;//调用应用实例的方法获取全局数据varapi_url='https://www.easy-mock.com/mock/5966410258618039284c745b/list/list';控制台日志(api_url);wx.request({url:api_url,method:'GET',success:function(res){varinfo=res.data.data[id];that.setData({hidden:true,videoInfo:info})}})坑。.. 1.从第一页传过来的数据不再是数组,而是一个对象。获取其id以获取其内容。2.发表评论时,需要对输入的评论内容进行判断。添加评论信息时,可以将已有的评论信息和实时添加的评论信息看成两个数组,使用push()方法添加评论内容 ,然后使用concat()方法拼接两个数组。3.就去文档,看文档!项目地址:https://github.com/carolineLH...顺便说一句,视频可能不太好发布。有时这取决于命运。因为视频本身的许可,我这么难过?呵呵,如果觉得还不错的话,可以给个star,谢谢。