学习Uni-app开发小程序Day27

这一章学习了几个功能点,例如:try{}catch处理同步请求下载记录异常处理、onShareAppMessage分享好友和分享微信朋友圈、对分享页面传参进行特殊处理、共用分类列表页面实现我的下载和评分页面、使用mp-html富文本插件渲染公告详情页面

try{}catch处理同步请求下载记录异常处理

这是当出现异常的时候,进行catch,在catch中进行页面上的其他操作,这里就把当前的代码全部粘贴出来

	try {
			uni.showLoading({
				title: "加载中...",
				mask: true
			})
			let {
				classid,
				_id: wallId
			} = classInfo.value;
			let res = await apiDownloadWall({
				classid,
				wallId
			})
			if (res.errCode != 0) throw res;
			uni.getImageInfo({
				src: classInfo.value.picurl,
				success: (res) => {
					uni.saveImageToPhotosAlbum({
						filePath: res.path,
						success: (res) => {
						},
						fail: (err) => {
							if (err.errMsg == 'saveImageToPhotosAlbum:fail cancel') {
								uni.showToast({
									title: '保存失败,请重新点击下载',
									icon: "none"
								})
								return;
							}
							uni.showModal({
								title: '提示',
								content: '需要保存到手机相册授权',
								// showCancel: false,
								// cancelText: '',
								// confirmText: '',
								success: res => {
									if (res.confirm) {
										console.log("确认授权了");
										uni.openSetting({
											success: (setting) => {
												if (setting
													.authSetting[
														scope
														.writePhotosAlbum
														]) {
													uni.showToast({
														title: "获取授权成功",
														icon: 'none'
													})
												} else {
													uni.showToast({
														title: "获取授权失败",
														icon: 'none'
													})
												}
											}
										})
									}
								},
								fail: () => {},
								complete: () => {}
							});
						},
						complete: () => {
							uni.hideLoading()
						}
					})
				}
			})
		} catch (err) {
			uni.hideLoading();
		}

这里就是当代码出现错误的时候,页面上的loading是没有关闭的,那就放在catch中进行关闭

onShareAppMessage分享好友和分享微信朋友圈并传递参数

这里是使用自带的功能进行分享给好友和分享到朋友圈的,
分享给好友:onShareAppMessage,这里使用这个属性后,需要再页面上引用的,例如:在这里插入图片描述
这是使用的不用带参数的情况,还有一种是需要传递参数的,这个就和页面跳转一样,只要在path后面用?&进行添加字段就好,接收的时候,也是在onLoad中接收使用的

分享到朋友圈:onShareTimeline,使用这个必须要前面的onShareAppMessage进行了设置,不然不能使用,还有就是需要再开发者平台上,进行微信认证,不然也是不能使用的,我这边没有认证,只能是给出代码,没有实验效果
在这里插入图片描述
这里需要注意的一点是,分享到朋友圈这个功能,传参是不能按照前面的方式的,在微信开发者文档中,有详细说明,在uni-app文档中,只是简单说了下,不详细
在这里插入图片描述
onShareTimeline传递参数的时候,是使用的query,只用写path后面的,例如:?id=1&name=user;

共用分类列表页面实现我的下载和评分页面

这是将我的下载和评分进入的页面,都是在图片分类的列表中,
在这里插入图片描述
在页面上点击跳转,传递参数过去,但是,在分类页面上,本身也有需要的参数,这里会不会出现参数混乱的问题?不用的担心,在接收的时候,有特定的参数type,在分类页面上,是用onLaod接收参数,
在这里插入图片描述
加个判断,有值的时候,就赋值。因为展示的页面数据不同,所以访问的接口也不同,用同样的方式,可以是两个访问接口,例如:
在这里插入图片描述
设定同一个名称,然后进行判断,那个有值就访问那个接口,

使用mp-html富文本插件渲染公告详情页面

这是首页的公告列表点击后,进入到公告详情,这里进入页面后获取数据,然后把数据展示出来,标题、时间、作者等,但是具体的内容不能这么展示,文字内容会有各种内容,例如有htem、image、表格等,所以可以使用组件rich-text富文本展示,这是uni-app官方的富文本,但是不能放大图片等,所以使用插件市场上的mp-html,这个插件使用的办法就不多说了,直接在插件市场上搜索富文本就能找到,记住:使用插件需要重新运行。 <mp-html :content="detail.content"></mp-html> 这就是使用方法

今天的内容就算完了,都是小功能点,只要记录下重要的!!!

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值