ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Taro小程序生成二维码保存本地

2021-06-05 13:31:25  阅读:529  来源: 互联网

标签:code const success filePath 二维码 本地 import console Taro


步骤 生成二维码 - 获取二维码的base64 - 获取权限 - 获得地址 – 保存

import { QRCode } from "taro-code";

const ref = useRef<any>();

 <TView ref={ref}>
  <QRCode
    text='world'
    size={200}
    scale={4}
    errorCorrectLevel='M'
    typeNumber={2}
  />
</TView>

在外面加一层View 是为了获取taro-code生成的image 从而获得src 也就是base64格式的二维码图片

处理权限相关操作

import {
  getSetting,
  authorize,
  saveImageToPhotosAlbum,
  getFileSystemManager,
  env,
} from "@tarojs/taro";

const handleSaveCode = useCallback(() => {
 getSetting({
   success: function ({ authSetting }) {
     //没有权限则申请
     if (!authSetting["scope.writePhotosAlbum"]) {
       authorize({
         scope: "scope.writePhotosAlbum",
         success: () => {
           //存储二维码
           handleWriteFile();
         },
       });
     } else handleWriteFile();
   },
 });
}, []);

handleWriteFile
存储本地逻辑


  const handleWriteFile = useCallback(() => {
    const { src } = ref.current.childNodes[0].props;
    const data = src.split(",")[1];
    const filePath = `${env.USER_DATA_PATH}/${Date.now()}.png`;
    const { writeFile } = getFileSystemManager();
    // 写入 获得文件路径
    writeFile({
      data,
      filePath,
      encoding: "base64",
      success: () => {
      //存入相册
        saveImageToPhotosAlbum({
          filePath,
          success: () => {
            console.log("

标签:code,const,success,filePath,二维码,本地,import,console,Taro
来源: https://blog.csdn.net/printf_hello/article/details/117593014

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有