微信小程序实现一键保存多张图片

实现功能:点击‘保存图片’可以将商品的所有图片以及商品的海报图片保存到相册中

由于downloadFile一次只能下载一张图片,因此需要依次遍历图片数组,将图片逐一保存

// 一键保存所有图片
	oneSaveImg() {
		// 首先判断用户是否登录
		if (this.$isLogin()) {
			uni.showLoading({
				title:"保存中"
			})
			//遍历接口返回值 将返回值push到数组中
			for(let i = 0; i < this.goodsInfo.gallery_list.length;i++){ 
				//防止用户多次点击,判断原数组中是否存在图片,不存在则push
				if(this.shopArr.length>=this.goodsInfo.gallery_list.length) break;
				this.shopArr.push(this.goodsInfo.gallery_list[i].img_url)
			}
			let price = this.goodsInfo.goods_price || this.goodsInfo.shop_price
			this.$store.dispatch('setGoodsShare', { //请求接口 获取海报图片
				goods_id: this.goods_id,
				price: price,
				share_type: this.goodsInfo.is_distribution,
				platform: uni.getStorageSync('platform'),
				shop_id: uni.getStorageSync('shop_id')
			}).then(res => {
				if (res.status == 'success') {
					this.shareImg = res.data,
					this.shopArr.push(this.shareImg)
					let url = res.data
					// 将数组中的图
### 微信小程序实现一键登录功能 在微信小程序实现一键登录功能涉及到前端(uni-app)和后端(Spring Boot)之间的协作。此流程主要分为四个部分:用户授权、获取手机号码、后端验证与生成Token以及前端存储Token。 #### 用户授权 为了使应用能够访问用户的电话号码,首先需要获得用户的同意。这一步通常通过调用微信开放平台提供的API来完成,在界面上展示给用户一个权限请求对话框[^2]。 ```html <button type="primary" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">一键登录</button> ``` 上述代码片段展示了如何创建一个按钮用于触发获取手机权限的操作。`open-type="getPhoneNumber"`属性指定了该按钮的作用是发起获取手机号的请求;而事件处理器`@getphonenumber="getPhoneNumber"`则绑定了处理函数名,当用户点击并授予许可后会执行相应的JavaScript方法[^4]。 #### 获取手机号码 一旦获得了用户的授权,就可以利用WeChat API收集其绑定于微信账户下的真实手机号了。此时应确保已成功安装并配置好了必要的SDK库文件以便顺利调用这些接口服务。 #### 后端验证与生成Token 从前端接收到加密后的手机号信息之后,服务器端需对接收的数据进行解密操作以提取明文形式的有效载荷——即真实的移动设备识别号(Mobile Subscriber ISDN Number, MSISDN)。随后依据业务逻辑判断是否允许此次认证行为,并为合法用户提供唯一标识符(Token)。 #### 前端存储Token 最后一步是在客户端保存由后台下发的安全令牌(token),这样以后每次发送HTTP请求时都可以附加它作为身份凭证的一部分参与通信过程。一般情况下会选择LocalStorage或者SessionStorage这样的Web Storage机制来进行持久化管理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嫣嫣细语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值