123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- const QR = require('../../miniprogram_npm/qrcode-base64/index.js');
- import {
- base64src
- } from './base64src';
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- title: {
- type: String
- },
- codeName: {
- type: String
- }
- },
- lifetimes: {
- attached: function () {
- // 在组件实例进入页面节点树时执行
- var imgData = QR.drawImg(this.data.codeText, {
- typeNumber: 4,
- errorCorrectLevel: 'M',
- size: 500
- })
- base64src(imgData, res => {
- console.log("转换", res) // 返回图片地址,直接赋值到image标签即可
- this.setData({
- qrcodeURL: res
- });
- });
- },
- detached: function () {
- // 在组件实例被从页面节点树移除时执行
- },
- },
- /**
- * 组件的初始数据
- */
- data: {
- codeText: 'https://www.baidu.com',
- qrcodeURL: "",
- },
- /**
- * 组件的方法列表
- */
- methods: {
- /* 预览大图 */
- preViewImage() {
- const url = [this.data.qrcodeURL];
- wx.previewImage({
- urls: url,
- })
- },
- /* 下载二维码 */
- download() {
- const that = this;
- wx.authorize({
- /* 这个就是保存相册的 */
- scope: 'scope.writePhotosAlbum',
- success() {
- /* 保存图片方法 */
- that.img();
- },
- complete(res) {
- /* 这里判断一下如果没有授权重新打开设置选项 */
- wx.getSetting({
- success(res) {
- if (!res.authSetting['scope.writePhotosAlbum']) {
- /* 打开设置的方法 */
- that.opensit();
- }
- }
- });
- }
- });
- },
- /* 授权提示 ,这里就是重复提示用户去授权*/
- opensit() {
- wx.showModal({
- content: '由于您还没有允许保存图片到您相册里,这无法进行分享操作点击确定去允许授权',
- success: function (res) {
- if (res.confirm) {
- /* 这个就是打开设置的API*/
- wx.openSetting({
- success(res) {
- console.log(res.authSetting);
- }
- });
- } else if (res.cancel) {
- wx.showModal({
- cancelText: '依然取消',
- confirmText: '重新授权',
- content: '很遗憾你点击了取消,这将无法进行分享操作,请慎重考虑',
- success: function (res) {
- if (res.confirm) {
- wx.openSetting({
- success(res) {
- console.log(res.authSetting);
- }
- });
- } else if (res.cancel) {
- console.log('用户不授权');
- }
- }
- });
- }
- }
- });
- },
- /* 特别注意要先获取图片信息在进行保存,不让保存不了 */
- img() {
- const that = this;
- /* 保存图片到相册 */
- wx.saveImageToPhotosAlbum({
- filePath: that.data.qrcodeURL,
- success: function () {
- console.log('save success');
- wx.showModal({
- title: '保存成功',
- content: '图片已成功保存到相册,快去分享到您的圈子吧',
- showCancel: false
- });
- },
- complete(res) {
- console.log(res);
- }
- });
- }
- }
- })
|