当前位置: 首页 > news >正文

js实现将文本生成二维码(腾讯云cos)

示例
在这里插入图片描述

页面代码

import { getQCodeUrl } from '@/utils/cosInstance';
import { PageContainer } from '@ant-design/pro-components';
import { Access, useAccess } from '@umijs/max';
import { Button, Image } from 'antd';
import { useState } from 'react';const AccessPage: React.FC = () => {const access = useAccess();const [imgSrc, setImgSrc] = useState('')return (<PageContainerghostheader={{title: '权限示例',}}><Access accessible={access.canSeeAdmin}><Button onClick={() => {getQCodeUrl('wifi9090密码', '234r4444', (url:string) => {console.log(url);setImgSrc(url)})}}>只有 Admin 可以看到这个按钮</Button><Image  src={imgSrc}  height={60} width={60}/></Access></PageContainer>);
};export default AccessPage;

cos-js-sdk-v5

调用cos生成二维码接口,需要带上有效的签名

let COS = require('cos-js-sdk-v5');const COS_DATA = {Bucket: '', /* 存储桶,必须 */Region: 'ap-shanghai', /* 存储桶所在地域,必须字段 */SecretId: '',SecretKey: '',
}// SECRETID 和 SECRETKEY 请登录 https://console.cloud.tencent.com/cam/capi 进行查看和管理
let cos = new COS({SecretId: COS_DATA.SecretId,SecretKey: COS_DATA.SecretKey,
});// 获取签名
export const getTempSign = (key: string) => {let Authorization = COS.getAuthorization({SecretId: COS_DATA.SecretId,SecretKey: COS_DATA.SecretKey,Method: 'get',Key: key,Expires: 60,Query: {},Headers: {},});return Authorization
}export const getQCodeUrl = (key: string, text: string, cb: (url: string) => void) => {const url = `https://${COS_DATA.Bucket}.cos.${COS_DATA.Region}.myqcloud.com`;// const onlyKey = `qrcode/${Date.now()}/${key}`cos.request({Method: 'GET',Key: '',Url: url,Query: {'ci-process': 'qrcode-generate', /* 必须,对象存储处理能力,二维码生成参数为 qrcode-generate	*/'qrcode-content': text, /* 必须,可识别的二维码文本信息	 */mode: 0, /* 非必须,生成的二维码类型,可选值:0或1。0为二维码,1为条形码,默认值为0	*/width: 200, /* 必须,指定生成的二维码或条形码的宽度,高度会进行等比压缩	*/},Headers: {Authorization: getTempSign('')}},function (err:any, data:any) {console.log('data---',data);if (!err) {// 获得二维码 base64let imgBase64 = data.Response.ResultImage;// 比如可拼接前缀直接展示在 img 里// document.querySelector('#img').src = 'data:image/jpg;base64,' + imgBase64;cb('data:image/jpg;base64,' + imgBase64)}});}export default cos
http://www.lryc.cn/news/208553.html

相关文章:

  • 机架式服务器介绍
  • 解决github有时能访问有时不能访问的问题2
  • Go实现网络通信
  • 在antd里面渲染MarkDown并且自定义一个锚点目录TOC(重点解决导航目录不跟随文档滚动的问题)
  • Linux MMC子系统 - 2.eMMC 5.1总线协议浅析
  • 时序预测 | Python实现ARIMA-LSTM自回归移动差分模型结合长短期记忆神经网络时间序列预测
  • 【Linux】部署单机OA项目及搭建spa前后端分离项目
  • 2023中国计算机大会:蚂蚁集团连发两支百万级科研基金
  • Knife4j使用教程(三) -- 实体类的配置注解(@ApiModel与@ApiModelProperty 的 认识与使用)
  • 计算机网络【CN】IPV4报文格式
  • SQL server数据库单用户模式如何退出
  • QT mqtt 在子线程中使用
  • Tomcat运维以及优化
  • C++设计模式_14_Facade门面模式
  • 正点原子嵌入式linux驱动开发——外置RTC芯片PCF8563
  • 自动驾驶感知算法面经(20+)
  • 计算机操作系统重点概念整理-第二章 进程管理【期末复习|考研复习】
  • 如何学好C++?学习C和C++的技巧是什么?
  • leetcode_39 组合总和
  • 【登录安全测试】
  • MySQL -- 数据类型
  • Windows11搭建kafka-python环境
  • 一篇了解springboot3请求参数种类及接口测试
  • CFD模拟仿真理论知识:流体仿真应用
  • 【springboot单元测试,集成测试】
  • 【音视频】音视频开发与学习
  • 软考系统架构之案例篇(架构设计相关概念)
  • 基于大数据的时间序列股价预测分析与可视化 - lstm 计算机竞赛
  • APP分发-CDN加速原理
  • 【Java 进阶篇】Java Request 继承体系详解