微信小程序课程-第四章 微信小程序作业_第1页
微信小程序课程-第四章 微信小程序作业_第2页
微信小程序课程-第四章 微信小程序作业_第3页
微信小程序课程-第四章 微信小程序作业_第4页
微信小程序课程-第四章 微信小程序作业_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章文章详情页面填空题1.微信小程序中有哪几种________方式实现参数传递与通信。答案:使用全局变量、使用缓存、url的query参数传递2.微信小程序使用________API实现消息提示框答案:wx.showToast(Objectobject)3.从相册选择图片,或者拍照使用的API是________答案:chooseImage或wx.chooseMedia(可以选择图片和视频)4.导出动画队列需要用到______方法。答案:export()5.实现缩放效果使用到的动画API是________答案:animation.scale()判断题1.页面跳转中使用url的query的参数传递可以通过在跳转到对应的页面js文件的onLoad(options)方法中使用options.参数名的方式获取(√)2.wx.getRecorderManager()用于获取全局唯一的录音管理器。(√)3.微信小程序中只能使用微信小程序动画API实现动画,不能使用CSS3的动画。(×)4.微信小程序wx.previewImage(Object)方法中Object参数必须设置URL属性。(√)在微信小程序中可以使用wx.setNavigationBarTile(Object)方式实现动态标题(√)选择题微信小程序中input组件属性是(ABC)A.valueB.typeC.passwordD.color2.下列关于微信小程序动画API描述错误的是(B)。A.wx.createAnimation()用于创建动画实例B.animation.rorate()用于动画旋转C.animation动画对象不支持链式写法D.animation.translate()用于动画平移3.下列选项中,关于小程序图片相关API的描述,说法错误的是(B)。A.wx.chooselmage()表示从本地相册选择图片或者使用相机拍照B.在选择图片时,count参数设置上传图片的张数,默认为1C.wx.previewlmage()表示在新页面中全屏预览图片D.wx.getlmagelnfo()可获取图片信息4.下列选项中,关于录音API中的RecorderManager说法错误是(A,D)。A.RecorderManager可以通过wx.getRecorderManager获得多个对象B.RecorderManager的start()方法和stop()方法分别表示开始录音和停止录音C.如果需要在录音完成处理业务,可以使用RecorderManager的RecorderManager.onStop(functioncallback)的回调函数进行处理D.使用RecorderManager进行录音最长录音的时间为1分钟。5.下列选项中,关于微信小程序关于InnerAudioContext说明正确是(C)。A.可以使用wx.createInnerAudioContext方法获得全局的InnerAudioContext对象。B.可以通过设置InnerAudioContext对象url属性设置音频播放的地址。C.使用InnerAudioContext.pause()方法可以暂停音频播放D.InnerAudioContext.onStop(functioncallback)表示音频自然播放完成后停止处理的回调函数。简答题1.请描述微信小程序开发中页面间的参数传递与通信的几种方式,以及它们的使用场景?请简单描述微信小程序的动画API的使用步骤?简述如何获取input输入框的值?请描述wx.if与hidden控制元素显示和隐藏的区别?编程题基于本章节的案例实现文章阅读计算功能,如图4-1所示:图4-1文章列表中每一篇文章显示阅读次数具体功能描述为用户每次进入post-detail页面是,当前文章的阅读数量需要增加1次。参考实现步骤:步骤1:在PostDao.js中添加一个处理阅读数readingNum加1的方法,参考示例代码如下:

//

阅读数量+1

addReadCount(postId)

{

let

postItem

=

this.getPostDetailById(postId);

let

postData

=

postItem.data;

let

postIndex

=

postItem.idx;

let

postAllListData

=

this.getAllPostData();

//

阅读数加1

postData.readingNum++;

//

更新文章内容

postAllListData[postIndex]

=

postData;

console.log("addReadCount...",postAllListData);

//

更新缓存数据库内容

wx.setStorageSync(this.storageKeyName,

postAllListData);

}步骤2:在post-detail.js中的onLoad方法调用addReadCount()方法,参考示例代码如下:

onLoad:

function

(options)

{

//

获得文章编号

let

postId

=

options.postId;

console.log("postId:"

+

postId);

this.postDao

=

new

PostDao();

//

添加阅读数量

this.postDao.addReadCount(postId);

let

postData

=

this.postDao.getPostDetailById(postId);

console.log("postData",

postData);

this.setData({

post:

postData.data

});

//

创建动画

this.setAniation();

},完成以上代码后,每次点击进入文章详情页面阅读数都会加1,需要注意的是再返回文章阅读列表页面,此时阅读数量并没有更新,当我们刷新项目或下次进入文章列表页面时,文章对应的阅读数将会被更新。基于文章评论功能,修改代码实现评论的用户信息与当前授权用户进行关联,而不要使用硬编码的方式。章节示例硬编码代码如下:

var

newData

=

{

username:

"笑笑",

avatar:

"/images/avatar/avatar-3.png",

create_time:

new

Date().getTime()

/

1000,

//

评论内容

content:

{

txt:

this.data.keyboardInputValue,

img:

imgs

}

}参考实现步骤:步骤1:在dao目录中添加一个UserDao.js用户专门处理用户的数据处理,获得当前用户对象方法,参考示例代码如下:class

UserDao

{

constructor()

{

this.storageKeyName

=

'userInfo';

}

//

获得当前用户对象

getCurrentUser(){

let

userInfo

=

wx.getStorageSync(this.storageKeyName);

if(userInfo

!=

null){

return

userInfo;

}

}}//

通过ES6语法导出模块export

{

UserDao}步骤2:在post-comment.js中对应发布评论的方法修改代码,参考示例代码如下:

//

提交录音

submitVoiceComment(audio)

{

let

userDao

=

this.data._userDao;

let

userInfo

=

userDao.getCurrentUser();

let

newData

=

{

//

username:

"笑笑",

//

avatar:

"/images/avatar/avatar-3.png",

username:userInfo.nickName,

avatar:userInfo.avatarUrl,

create_time:

new

Date().getTime()

/

1000,

//

评论内容

content:

{

txt:

'',

img:

[],

audio:

audio

}

}

//

保存新评论到缓存数据库中

let

postId

=

this.data._postId;

this.postDao.save

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论