From fbd268f016786a4bdeb0287d9b7931957458f867 Mon Sep 17 00:00:00 2001 From: Sansnn <905558609@qq.com> Date: Mon, 12 Dec 2022 18:17:13 +0800 Subject: [PATCH] 4.0.6 --- js/license.md => LICENSE.md | 0 js/readme.md => README.md | 170 ++- js/package.json | 27 - js/uqrcode.js | 47 - uni-app/components/u-qrcode/u-qrcode.vue | 924 ------------- uni-app/components/uqrcode/uqrcode.vue | 924 ------------- uni-app/js_sdk/gcanvas/bridge/bridge-weex.js | 241 ---- .../context-2d/FillStyleLinearGradient.js | 18 - .../gcanvas/context-2d/FillStylePattern.js | 8 - .../context-2d/FillStyleRadialGradient.js | 17 - .../gcanvas/context-2d/RenderingContext.js | 666 --------- .../gcanvas/context-webgl/ActiveInfo.js | 11 - .../js_sdk/gcanvas/context-webgl/Buffer.js | 21 - .../gcanvas/context-webgl/Framebuffer.js | 21 - .../js_sdk/gcanvas/context-webgl/GLenum.js | 298 ----- .../js_sdk/gcanvas/context-webgl/GLmethod.js | 142 -- .../js_sdk/gcanvas/context-webgl/GLtype.js | 23 - .../js_sdk/gcanvas/context-webgl/Program.js | 21 - .../gcanvas/context-webgl/Renderbuffer.js | 21 - .../gcanvas/context-webgl/RenderingContext.js | 1191 ----------------- .../js_sdk/gcanvas/context-webgl/Shader.js | 22 - .../context-webgl/ShaderPrecisionFormat.js | 11 - .../js_sdk/gcanvas/context-webgl/Texture.js | 22 - .../gcanvas/context-webgl/UniformLocation.js | 22 - .../gcanvas/context-webgl/classUtils.js | 3 - uni-app/js_sdk/gcanvas/env/canvas.js | 74 - uni-app/js_sdk/gcanvas/env/image.js | 96 -- uni-app/js_sdk/gcanvas/env/tool.js | 24 - uni-app/js_sdk/gcanvas/index.js | 39 - uni-app/js_sdk/uqrcode/package.json | 12 - uni-app/js_sdk/uqrcode/uqrcode.js | 47 - uni-app/license.md | 201 --- uni-app/package.json | 28 - uni-app/readme.md | 318 ----- uqrcode.amd.js | 34 + uqrcode.cjs.js | 34 + uqrcode.es.js | 34 + uqrcode.umd.js | 34 + 38 files changed, 258 insertions(+), 5588 deletions(-) rename js/license.md => LICENSE.md (100%) rename js/readme.md => README.md (80%) delete mode 100644 js/package.json delete mode 100644 js/uqrcode.js delete mode 100644 uni-app/components/u-qrcode/u-qrcode.vue delete mode 100644 uni-app/components/uqrcode/uqrcode.vue delete mode 100644 uni-app/js_sdk/gcanvas/bridge/bridge-weex.js delete mode 100644 uni-app/js_sdk/gcanvas/context-2d/FillStyleLinearGradient.js delete mode 100644 uni-app/js_sdk/gcanvas/context-2d/FillStylePattern.js delete mode 100644 uni-app/js_sdk/gcanvas/context-2d/FillStyleRadialGradient.js delete mode 100644 uni-app/js_sdk/gcanvas/context-2d/RenderingContext.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/ActiveInfo.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/Buffer.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/Framebuffer.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/GLenum.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/GLmethod.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/GLtype.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/Program.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/Renderbuffer.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/RenderingContext.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/Shader.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/ShaderPrecisionFormat.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/Texture.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/UniformLocation.js delete mode 100644 uni-app/js_sdk/gcanvas/context-webgl/classUtils.js delete mode 100644 uni-app/js_sdk/gcanvas/env/canvas.js delete mode 100644 uni-app/js_sdk/gcanvas/env/image.js delete mode 100644 uni-app/js_sdk/gcanvas/env/tool.js delete mode 100644 uni-app/js_sdk/gcanvas/index.js delete mode 100644 uni-app/js_sdk/uqrcode/package.json delete mode 100644 uni-app/js_sdk/uqrcode/uqrcode.js delete mode 100644 uni-app/license.md delete mode 100644 uni-app/package.json delete mode 100644 uni-app/readme.md create mode 100644 uqrcode.amd.js create mode 100644 uqrcode.cjs.js create mode 100644 uqrcode.es.js create mode 100644 uqrcode.umd.js diff --git a/js/license.md b/LICENSE.md similarity index 100% rename from js/license.md rename to LICENSE.md diff --git a/js/readme.md b/README.md similarity index 80% rename from js/readme.md rename to README.md index c5c1680..46dda7a 100644 --- a/js/readme.md +++ b/README.md @@ -10,25 +10,25 @@ uQRCode发布了配套的可视化设计器,可根据自己喜好在设计器中设计二维码样式,一键生成配置代码复制到项目中,详情请在微信小程序搜索“柚子二维码”,或扫描下方小程序码体验。 -![uQRCode设计器](https://doc.uqrcode.cn/mp_weixin_code.jpg) +![uQRCode设计器](https://uqrcode.cn/mp_weixin_code.jpg) ## 设计器模板示例 -![uQRCode设计器](https://doc.uqrcode.cn/yz_1.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_2.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_3.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_4.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_5.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_6.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_7.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_8.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_9.png) +![uQRCode设计器](https://uqrcode.cn/yz_1.png) +![uQRCode设计器](https://uqrcode.cn/yz_2.png) +![uQRCode设计器](https://uqrcode.cn/yz_3.png) +![uQRCode设计器](https://uqrcode.cn/yz_4.png) +![uQRCode设计器](https://uqrcode.cn/yz_5.png) +![uQRCode设计器](https://uqrcode.cn/yz_6.png) +![uQRCode设计器](https://uqrcode.cn/yz_7.png) +![uQRCode设计器](https://uqrcode.cn/yz_8.png) +![uQRCode设计器](https://uqrcode.cn/yz_9.png) # 快速上手 > 在`uni-app`中,我们更推荐使用组件方式来生成二维码,组件方式大大提高了页面的可读性以及避开了一些平台容易出问题的地方,当组件无法满足需求的时候,再考虑切换成原生方式。 -官方文档:[https://doc.uqrcode.cn](https://doc.uqrcode.cn)。 +官方文档:[https://uqrcode.cn/doc](https://uqrcode.cn/doc)。 github地址:[https://github.com/Sansnn/uQRCode](https://github.com/Sansnn/uQRCode)。 @@ -38,7 +38,7 @@ uni-app插件市场地址:[https://ext.dcloud.net.cn/plugin?id=1287](https://e ## 原生方式 -原生方式仅需要获取`uqrcode.js`文件便可使用。详细配置请移步到:文档 > [原生](https://doc.uqrcode.cn/document/native.html)。 +原生方式仅需要获取`uqrcode.js`文件便可使用。详细配置请移步到:文档 > [原生](https://uqrcode.cn/doc/document/native.html)。 ### 安装 @@ -82,36 +82,108 @@ const UQRCode = require('@uqrcode/js'); // npm install @uqrcode/js `uQRCode`基于`Canvas API`封装了一套方法,建议开发者使用`canvas`生成,一键调用,非常方便。以下是示例: -- HTML部分 -``` html - -``` - -- JS部分 -``` javascript -// 获取uQRCode实例 -var qr = new UQRCode(); -// 设置二维码内容 -qr.data = "https://doc.uqrcode.cn"; -// 设置二维码大小,必须与canvas设置的宽高一致 -qr.size = 200; -// 调用制作二维码方法 -qr.make(); -// 获取canvas元素 -var canvas = document.getElementById("qrcode"); -// 获取canvas上下文 -var canvasContext = canvas.getContext("2d"); -// 设置uQRCode实例的canvas上下文 -qr.canvasContext = canvasContext; -// 调用绘制方法将二维码图案绘制到canvas上 -qr.drawCanvas(); -``` +- HTML示例 + - DOM部分 + ``` html + + ``` + + - JS部分 + ``` javascript + // 获取uQRCode实例 + var qr = new UQRCode(); + // 设置二维码内容 + qr.data = "https://uqrcode.cn/doc"; + // 设置二维码大小,必须与canvas设置的宽高一致 + qr.size = 200; + // 调用制作二维码方法 + qr.make(); + // 获取canvas元素 + var canvas = document.getElementById("qrcode"); + // 获取canvas上下文 + var canvasContext = canvas.getContext("2d"); + // 设置uQRCode实例的canvas上下文 + qr.canvasContext = canvasContext; + // 调用绘制方法将二维码图案绘制到canvas上 + qr.drawCanvas(); + ``` + +- uni-app示例 + - Template部分 + ``` html + + ``` + + - JS部分 + ``` javascript + onReady() { + // 获取uQRCode实例 + var qr = new UQRCode(); + // 设置二维码内容 + qr.data = "https://uqrcode.cn/doc"; + // 设置二维码大小,必须与canvas设置的宽高一致 + qr.size = 200; + // 调用制作二维码方法 + qr.make(); + // 获取canvas上下文 + var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入 + // 设置uQRCode实例的canvas上下文 + qr.canvasContext = canvasContext; + // 调用绘制方法将二维码图案绘制到canvas上 + qr.drawCanvas(); + } + ``` + +- 微信小程序,推荐使用Canvas 2D,关于Canvas 2D的使用请参考微信开放文档。 ### 高级用法 考虑到部分平台可能不支持`canvas`,所以`uQRCode`并没有强制要求和`canvas`一起使用,您还可以选择其他方式来生成二维码,例如使用`js`操作`dom`进行绘制或是使用`svg`绘制等。以下是示例: +- uni-app v-for+view + +```html + + + +``` + - js操作dom + ``` html @@ -128,7 +200,7 @@ qr.drawCanvas(); // 获取uQRCode实例 var qr = new UQRCode(); // 设置二维码内容 - qr.data = "https://doc.uqrcode.cn"; + qr.data = "https://uqrcode.cn/doc"; // 设置二维码大小,必须与canvas设置的宽高一致 qr.size = 200; // 设置二维码前景图,可以是路径 @@ -137,10 +209,11 @@ qr.drawCanvas(); // 调用制作二维码方法 qr.make(); + var drawModules = qr.getDrawModules(); // 遍历drawModules创建dom元素 var qrHtml = ''; - for (var i = 0; i < qr.drawModules.length; i++) { - var drawModule = qr.drawModules[i]; + for (var i = 0; i < drawModules.length; i++) { + var drawModule = drawModules[i]; switch (drawModule.type) { case 'block': /* 绘制小块 */ @@ -175,7 +248,7 @@ qr.drawCanvas(); // 获取uQRCode实例 var qr = new UQRCode(); // 设置二维码内容 - qr.data = "https://doc.uqrcode.cn"; + qr.data = "https://uqrcode.cn/doc"; // 设置二维码大小,必须与canvas设置的宽高一致 qr.size = 200; // 设置二维码前景图,可以是路径 @@ -184,10 +257,11 @@ qr.drawCanvas(); // 调用制作二维码方法 qr.make(); + var drawModules = qr.getDrawModules(); // 遍历drawModules创建svg元素 var qrHtml = ''; - for (var i = 0; i < qr.drawModules.length; i++) { - var drawModule = qr.drawModules[i]; + for (var i = 0; i < drawModules.length; i++) { + var drawModule = drawModules[i]; switch (drawModule.type) { case 'block': /* 绘制小块 */ @@ -272,7 +346,7 @@ aEle.remove(); // 下载之后把创建的元素删除 ### 安装 -通过uni-app插件市场地址安装:[https://ext.dcloud.net.cn/plugin?id=1287](https://ext.dcloud.net.cn/plugin?id=1287)。详细配置请移步到:文档 > [uni-app组件](https://doc.uqrcode.cn/document/uni-app.html)。 +通过uni-app插件市场地址安装:[https://ext.dcloud.net.cn/plugin?id=1287](https://ext.dcloud.net.cn/plugin?id=1287)。详细配置请移步到:文档 > [uni-app组件](https://uqrcode.cn/doc/document/uni-app.html)。 ### 引入 @@ -280,15 +354,15 @@ uni-app默认为easycom模式,可直接键入``标签。 ### 简单用法 -安装`uqrcode`组件后,在`template`中键入``。设置`ref`属性可使用组件内部方法,`canvas-id`属性为组件内部的canvas组件标识,`value`属性为二维码生成对应内容,`options`为配置选项,可配置二维码样式,绘制Logo等,详见:[options](https://doc.uqrcode.cn/document/uni-app.html#options) 。 +安装`uqrcode`组件后,在`template`中键入``。设置`ref`属性可使用组件内部方法,`canvas-id`属性为组件内部的canvas组件标识,`value`属性为二维码生成对应内容,`options`为配置选项,可配置二维码样式,绘制Logo等,详见:[options](https://uqrcode.cn/doc/document/uni-app.html#options) 。 ``` html - + ``` ### 导出临时文件路径 -为了保证方法调用成功,请在 [complete](https://doc.uqrcode.cn/document/uni-app.html#complete) 事件返回`success=true`后调用。 +为了保证方法调用成功,请在 [complete](https://uqrcode.cn/doc/document/uni-app.html#complete) 事件返回`success=true`后调用。 ```javascript // uqrcode为组件的ref名称 @@ -301,7 +375,7 @@ this.$refs.uqrcode.toTempFilePath({ ### 保存二维码到本地相册 -为了保证方法调用成功,请在 [complete](https://doc.uqrcode.cn/document/uni-app.html#complete) 事件返回`success=true`后调用。 +为了保证方法调用成功,请在 [complete](https://uqrcode.cn/doc/document/uni-app.html#complete) 事件返回`success=true`后调用。 ```javascript // uqrcode为组件的ref名称 @@ -315,4 +389,4 @@ this.$refs.uqrcode.save({ }); ``` -## 更多使用说明请前往官方文档查看:[https://doc.uqrcode.cn](https://doc.uqrcode.cn)。 \ No newline at end of file +## 更多使用说明请前往官方文档查看:[https://uqrcode.cn/doc](https://uqrcode.cn/doc)。 \ No newline at end of file diff --git a/js/package.json b/js/package.json deleted file mode 100644 index f9febfd..0000000 --- a/js/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@uqrcode/js", - "version": "3.6.0", - "description": "uQRCode是一款基于Javascript环境开发的二维码生成插件,适用所有Javascript运行环境的前端应用和Node.js。", - "main": "uqrcode.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/Sansnn/uQRCode.git" - }, - "keywords": [ - "uQRCode", - "QR", - "QRCode", - "artQRCode", - "二维码", - "艺术码" - ], - "author": "Sansnn", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/Sansnn/uQRCode/issues" - }, - "homepage": "https://github.com/Sansnn/uQRCode#readme" -} diff --git a/js/uqrcode.js b/js/uqrcode.js deleted file mode 100644 index 72bdc70..0000000 --- a/js/uqrcode.js +++ /dev/null @@ -1,47 +0,0 @@ -//--------------------------------------------------------------------- -// uQRCode二维码生成插件 v3.6.0 Basic -// -// uQRCode是一款基于Javascript环境开发的二维码生成插件,适用所有Javascript运行环境的前端应用和Node.js。 -// -// Copyright (c) Sansnn uQRCode All rights reserved. -// -// Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) -// -// github地址: -// https://github.com/Sansnn/uQRCode -// -// npm地址: -// https://www.npmjs.com/package/uqrcodejs -// -// uni-app插件市场地址: -// https://ext.dcloud.net.cn/plugin?id=1287 -// -// 复制使用请保留本段注释,感谢支持开源! -// -//--------------------------------------------------------------------- -//--------------------------------------------------------------------- -// QRCode for JavaScript -// -// Copyright (c) 2009 Kazuhiko Arase -// -// URL: http://www.d-project.com/ -// -// Licensed under the MIT license: -// http://www.opensource.org/licenses/mit-license.php -// -// The word "QR Code" is registered trademark of -// DENSO WAVE INCORPORATED -// http://www.denso-wave.com/qrcode/faqpatent-e.html -// -//--------------------------------------------------------------------- -"use strict";let uQRCode;!function(){function o(o){this.mode=d.MODE_8BIT_BYTE,this.data=o}function e(o,e){this.typeNumber=o,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=new Array}function r(o,e){if(null==o.length)throw new Error(o.length+"/"+e);for(var r=0;r{i(o)}).catch(o=>{n(o)}).finally(()=>{if(e.length){const r=e.shift();o(r.task,r.resolve,r.reject)}else r=!1})}let e=this.waitingQueue=[],r=this.isRunning=!1;this.exec=function(t){return new Promise((i,n)=>{r?e.push({task:t,resolve:i,reject:n}):(r=!0,o(t,i,n))})}}function a(o){this.errMsg=o}function u(o,e){var r=this.data="",t=this.size=200,i=this.typeNumber=-1,n=(this.errorCorrectLevel=s.H,this.useDynamicSize=!1,this.dynamicSize=void 0,this.margin=0),a=(this.backgroundColor="#FFFFFF",this.backgroundImageSrc=void 0,this.backgroundImageWidth=void 0),d=this.backgroundImageHeight=void 0,g=this.backgroundImageX=void 0,l=this.backgroundImageY=void 0,h=(this.backgroundImageAlpha=1,this.backgroundImageBorderRadius=0,this.foregroundColor="#000000",this.foregroundImageSrc=void 0,this.foregroundImageWidth=void 0),c=this.foregroundImageHeight=void 0,m=this.foregroundImageX=void 0,f=this.foregroundImageY=void 0,v=this.foregroundImagePadding=0,C=(this.foregroundImageBackgroundColor="#FFFFFF",this.foregroundImageBorderRadius=0),p=this.foregroundImageShadowOffsetX=0,b=this.foregroundImageShadowOffsetY=0,y=this.foregroundImageShadowBlur=0,k=(this.foregroundImageShadowColor="#808080",this.foregroundPadding=0,this.foregroundRadius=1),I=this.positionProbeBackgroundColor=void 0,w=this.positionProbeForegroundColor=void 0,B=this.separatorColor=void 0,T=this.positionAdjustBackgroundColor=void 0,P=this.positionAdjustForegroundColor=void 0,S=this.timingBackgroundColor=void 0,A=this.timingForegroundColor=void 0,E=this.typeNumberBackgroundColor=void 0,D=this.typeNumberForegroundColor=void 0,N=this.darkBlockColor=void 0,L=(this.style="default",this.patterns=[],this.canvasContext=void 0);this.queue=!1,this.modules=[],this.moduleCount=0,this.drawModules=[];Object.defineProperties(this,{data:{get:()=>(""!==r&&void 0!==r||console.error("[uQRCode]: data must be set!"),r),set(o){r=o}},size:{get:()=>t,set(o){t=Number(o)}},typeNumber:{get:()=>i,set(o){i=Number(o)}},margin:{get:()=>n,set(o){n=Number(o)}},backgroundImageWidth:{get(){return void 0===a?this.dynamicSize:this.useDynamicSize?this.dynamicSize/this.size*a:a},set(o){a=Number(o)}},backgroundImageHeight:{get(){return void 0===d?this.dynamicSize:this.useDynamicSize?this.dynamicSize/this.size*d:d},set(o){d=Number(o)}},backgroundImageX:{get(){return void 0===g?0:this.useDynamicSize?this.dynamicSize/this.size*g:g},set(o){g=Number(o)}},backgroundImageY:{get(){return void 0===l?0:this.useDynamicSize?this.dynamicSize/this.size*l:l},set(o){l=Number(o)}},foregroundImageWidth:{get(){return void 0===h?(this.dynamicSize-2*this.margin)/4:this.useDynamicSize?this.dynamicSize/this.size*h:h},set(o){h=Number(o)}},foregroundImageHeight:{get(){return void 0===c?(this.dynamicSize-2*this.margin)/4:this.useDynamicSize?this.dynamicSize/this.size*c:c},set(o){c=Number(o)}},foregroundImageX:{get(){return void 0===m?this.dynamicSize/2-this.foregroundImageWidth/2:this.useDynamicSize?this.dynamicSize/this.size*m:m},set(o){m=Number(o)}},foregroundImageY:{get(){return void 0===f?this.dynamicSize/2-this.foregroundImageHeight/2:this.useDynamicSize?this.dynamicSize/this.size*f:f},set(o){f=Number(o)}},foregroundImagePadding:{get(){return this.useDynamicSize?this.dynamicSize/this.size*v:v},set(o){v=Number(o)}},foregroundImageBorderRadius:{get(){return this.useDynamicSize?this.dynamicSize/this.size*C:C},set(o){C=Number(o)}},foregroundImageShadowOffsetX:{get(){return this.useDynamicSize?this.dynamicSize/this.size*p:p},set(o){p=Number(o)}},foregroundImageShadowOffsetY:{get(){return this.useDynamicSize?this.dynamicSize/this.size*b:b},set(o){b=Number(o)}},foregroundImageShadowBlur:{get(){return this.useDynamicSize?this.dynamicSize/this.size*y:y},set(o){y=Number(o)}},foregroundRadius:{get:()=>k,set(o){k=o>1?1:o<0?0:o}},positionProbeBackgroundColor:{get(){return I||this.backgroundColor},set(o){I=o}},positionProbeForegroundColor:{get(){return w||this.foregroundColor},set(o){w=o}},separatorColor:{get(){return B||this.backgroundColor},set(o){B=o}},positionAdjustBackgroundColor:{get(){return T||this.backgroundColor},set(o){T=o}},positionAdjustForegroundColor:{get(){return P||this.foregroundColor},set(o){P=o}},timingBackgroundColor:{get(){return S||this.backgroundColor},set(o){S=o}},timingForegroundColor:{get(){return A||this.foregroundColor},set(o){A=o}},typeNumberBackgroundColor:{get(){return E||this.backgroundColor},set(o){E=o}},typeNumberForegroundColor:{get(){return D||this.foregroundColor},set(o){D=o}},darkBlockColor:{get(){return N||this.foregroundColor},set(o){N=o}},canvasContext:{get:()=>(void 0===L&&console.error("[uQRCode]: use drawCanvas, you need to set the canvasContext!"),L),set(o){L=u.getCanvasContext(o)}}}),o&&this.setOptions(o),e&&(this.canvasContext=u.getCanvasContext(e))}o.prototype={getLength:function(o){return this.data.length},write:function(o){for(var e=0;e=7&&this.setupTypeNumber(o),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,r)},setupPositionProbePattern:function(o,e){for(var r=-1;r<=7;r++)if(!(o+r<=-1||this.moduleCount<=o+r))for(var t=-1;t<=7;t++)e+t<=-1||this.moduleCount<=e+t||(this.modules[o+r][e+t]=0<=r&&r<=6&&(0==t||6==t)||0<=t&&t<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=t&&t<=4)},getBestMaskPattern:function(){for(var o=0,e=0,r=0;r<8;r++){this.makeImpl(!0,r);var t=l.getLostPoint(this);(0==r||o>t)&&(o=t,e=r)}return e},createMovieClip:function(o,e,r){var t=o.createEmptyMovieClip(e,r),i=1;this.make();for(var n=0;n>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=t}for(r=0;r<18;r++){t=!o&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=t}},setupTypeInfo:function(o,e){for(var r=this.errorCorrectLevel<<3|e,t=l.getBCHTypeInfo(r),i=0;i<15;i++){var n=!o&&1==(t>>i&1);i<6?this.modules[i][8]=n:i<8?this.modules[i+1][8]=n:this.modules[this.moduleCount-15+i][8]=n}for(i=0;i<15;i++){n=!o&&1==(t>>i&1);i<8?this.modules[8][this.moduleCount-i-1]=n:i<9?this.modules[8][15-i-1+1]=n:this.modules[8][15-i-1]=n}this.modules[this.moduleCount-8][8]=!o},mapData:function(o,e){for(var r=-1,t=this.moduleCount-1,i=7,n=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var u=0;u<2;u++)if(null==this.modules[t][a-u]){var d=!1;n>>i&1));var s=l.getMask(e,t,a-u);s&&(d=!d),this.modules[t][a-u]=d,i--,-1==i&&(n++,i=7)}if(t+=r,t<0||this.moduleCount<=t){t-=r,r=-r;break}}}},e.PAD0=236,e.PAD1=17,e.createData=function(o,r,n){for(var a=t.getRSBlocks(o,r),u=new i,d=0;d8*g)throw new Error("code length overflow. ("+u.getLengthInBits()+">"+8*g+")");for(u.getLengthInBits()+4<=8*g&&u.put(0,4);u.getLengthInBits()%8!=0;)u.putBit(!1);for(;!(u.getLengthInBits()>=8*g||(u.put(e.PAD0,8),u.getLengthInBits()>=8*g));)u.put(e.PAD1,8);return e.createBytes(u,a)},e.createBytes=function(o,e){for(var t=0,i=0,n=0,a=new Array(e.length),u=new Array(e.length),d=0;d=0?f.get(v):0}}var C=0;for(h=0;h=0;)e^=l.G15<=0;)e^=l.G18<>>=1;return e},getPatternPosition:function(o){return l.PATTERN_POSITION_TABLE[o-1]},getMask:function(o,e,r){switch(o){case g.PATTERN000:return(e+r)%2==0;case g.PATTERN001:return e%2==0;case g.PATTERN010:return r%3==0;case g.PATTERN011:return(e+r)%3==0;case g.PATTERN100:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case g.PATTERN101:return e*r%2+e*r%3==0;case g.PATTERN110:return(e*r%2+e*r%3)%2==0;case g.PATTERN111:return(e*r%3+(e+r)%2)%2==0;default:throw new Error("bad maskPattern:"+o)}},getErrorCorrectPolynomial:function(o){for(var e=new r([1],0),t=0;t5&&(r+=3+n-5)}for(t=0;t=256;)o-=255;return h.EXP_TABLE[o]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},c=0;c<8;c++)h.EXP_TABLE[c]=1<>>7-o%8&1)},put:function(o,e){for(var r=0;r>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(o){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),o&&(this.buffer[e]|=128>>>this.length%8),this.length++}},u.errorCorrectLevel=s,u.queue=new n,u.queueLoadImage=new n,u.isQueueLoadImage=!1,u.loadImageCache=[],u.utf16To8=function(o){for(var e,r="",t=0;t=1&&e<=127?r+=o.charAt(t):e>2047?(r+=String.fromCharCode(224|e>>12&15),r+=String.fromCharCode(128|e>>6&63),r+=String.fromCharCode(128|e>>0&63)):(r+=String.fromCharCode(192|e>>6&31),r+=String.fromCharCode(128|e>>0&63));return r},u.deepReplace=function(o={},e={},r=!1){let t;t=r?o:{...o};for(let o in e){var i=e[o];null!=i&&(i.constructor==Object?t[o]=this.deepReplace(t[o],i):i.constructor!=String||i?t[o]=i:t[o]=t[o])}return t},u.getSomePropertyToNewObject=function(o={},e=[]){let r={};return e.forEach(e=>{r[e]=o[e]}),r},u.getCanvasContext=function(o){return o.setFillStyle=o.setFillStyle||function(e){o.fillStyle=e},o.setFontSize=o.setFontSize||function(e){o.font=`${e}px`},o.setTextAlign=o.setTextAlign||function(e){o.textAlign=e},o.setTextBaseline=o.setTextBaseline||function(e){o.textBaseline=e},o.draw=o.draw||function(o,e){e&&e()},o},u.getLoadImage=function(o){return"function"==typeof o?function(e,r=!1){return u.isQueueLoadImage?u.queueLoadImage.exec(()=>new Promise((t,i)=>{setTimeout(()=>{const r=u.loadImageCache.find(o=>o.src==e);r?t(r.img):o(e).then(o=>{u.loadImageCache.push({src:e,img:o}),t(o)}).catch(o=>{i(o)})},r?150:10)})):o(e)}:function(o){return Promise.resolve(o)}};var m=u.loadImage=function(o){return Promise.resolve(o)};Object.defineProperty(u,"loadImage",{get:()=>m,set(o){m=u.getLoadImage(o)}}),u.prototype={setOptions(o){var e,r,t,i,n,a,d,s,g,l,h,c,m,f,v,C,p,b,y,k,I,w,B,T,P,S,A,E,D,N,L,R,z,M,x,_,O,F,H,X,j,Y,Q,G,K,W,q,U,$,J,V,Z,oo,eo,ro,to,io,no,ao;o&&u.deepReplace(this,{data:o.data||o.text,size:o.size,typeNumber:o.typeNumber,errorCorrectLevel:o.errorCorrectLevel,useDynamicSize:o.useDynamicSize,margin:o.margin,backgroundColor:o.backgroundColor||(null===(e=o.background)||void 0===e?void 0:e.color),backgroundImageSrc:o.backgroundImageSrc||(null===(r=o.background)||void 0===r?void 0:null===(t=r.image)||void 0===t?void 0:t.src),backgroundImageWidth:o.backgroundImageWidth||(null===(i=o.background)||void 0===i?void 0:null===(n=i.image)||void 0===n?void 0:n.width),backgroundImageHeight:o.backgroundImageHeight||(null===(a=o.background)||void 0===a?void 0:null===(d=a.image)||void 0===d?void 0:d.height),backgroundImageX:o.backgroundImageX||(null===(s=o.background)||void 0===s?void 0:null===(g=s.image)||void 0===g?void 0:g.x),backgroundImageY:o.backgroundImageY||(null===(l=o.background)||void 0===l?void 0:null===(h=l.image)||void 0===h?void 0:h.y),backgroundImageAlpha:o.backgroundImageAlpha||(null===(c=o.background)||void 0===c?void 0:null===(m=c.image)||void 0===m?void 0:m.alpha),backgroundImageBorderRadius:o.backgroundImageBorderRadius||(null===(f=o.background)||void 0===f?void 0:null===(v=f.image)||void 0===v?void 0:v.borderRadius),foregroundColor:o.foregroundColor||(null===(C=o.foreground)||void 0===C?void 0:C.color),foregroundImageSrc:o.foregroundImageSrc||(null===(p=o.foreground)||void 0===p?void 0:null===(b=p.image)||void 0===b?void 0:b.src),foregroundImageWidth:o.foregroundImageWidth||(null===(y=o.foreground)||void 0===y?void 0:null===(k=y.image)||void 0===k?void 0:k.width),foregroundImageHeight:o.foregroundImageHeight||(null===(I=o.foreground)||void 0===I?void 0:null===(w=I.image)||void 0===w?void 0:w.height),foregroundImageX:o.foregroundImageX||(null===(B=o.foreground)||void 0===B?void 0:null===(T=B.image)||void 0===T?void 0:T.x),foregroundImageY:o.foregroundImageY||(null===(P=o.foreground)||void 0===P?void 0:null===(S=P.image)||void 0===S?void 0:S.y),foregroundImagePadding:o.foregroundImagePadding||(null===(A=o.foreground)||void 0===A?void 0:null===(E=A.image)||void 0===E?void 0:E.padding),foregroundImageBackgroundColor:o.foregroundImageBackgroundColor||(null===(D=o.foreground)||void 0===D?void 0:null===(N=D.image)||void 0===N?void 0:N.backgroundColor),foregroundImageBorderRadius:o.foregroundImageBorderRadius||(null===(L=o.foreground)||void 0===L?void 0:null===(R=L.image)||void 0===R?void 0:R.borderRadius),foregroundImageShadowOffsetX:o.foregroundImageShadowOffsetX||(null===(z=o.foreground)||void 0===z?void 0:null===(M=z.image)||void 0===M?void 0:M.shadowOffsetX),foregroundImageShadowOffsetY:o.foregroundImageShadowOffsetY||(null===(x=o.foreground)||void 0===x?void 0:null===(_=x.image)||void 0===_?void 0:_.shadowOffsetY),foregroundImageShadowBlur:o.foregroundImageShadowBlur||(null===(O=o.foreground)||void 0===O?void 0:null===(F=O.image)||void 0===F?void 0:F.shadowBlur),foregroundImageShadowColor:o.foregroundImageShadowColor||(null===(H=o.foreground)||void 0===H?void 0:null===(X=H.image)||void 0===X?void 0:X.shadowColor),foregroundPadding:o.foregroundPadding,foregroundRadius:o.foregroundRadius,positionProbeBackgroundColor:o.positionProbeBackgroundColor||(null===(j=o.positionProbe)||void 0===j?void 0:j.backgroundColor)||(null===(Y=o.positionDetection)||void 0===Y?void 0:Y.backgroundColor),positionProbeForegroundColor:o.positionProbeForegroundColor||(null===(Q=o.positionProbe)||void 0===Q?void 0:Q.foregroundColor)||(null===(G=o.positionDetection)||void 0===G?void 0:G.foregroundColor),separatorColor:o.separatorColor||(null===(K=o.separator)||void 0===K?void 0:K.color),positionAdjustBackgroundColor:o.positionAdjustBackgroundColor||(null===(W=o.positionAdjust)||void 0===W?void 0:W.backgroundColor)||(null===(q=o.alignment)||void 0===q?void 0:q.backgroundColor),positionAdjustForegroundColor:o.positionAdjustForegroundColor||(null===(U=o.positionAdjust)||void 0===U?void 0:U.foregroundColor)||(null===($=o.alignment)||void 0===$?void 0:$.foregroundColor),timingBackgroundColor:o.timingBackgroundColor||(null===(J=o.timing)||void 0===J?void 0:J.backgroundColor),timingForegroundColor:o.timingForegroundColor||(null===(V=o.timing)||void 0===V?void 0:V.foregroundColor),typeNumberBackgroundColor:o.typeNumberBackgroundColor||(null===(Z=o.typeNumber)||void 0===Z?void 0:Z.backgroundColor)||(null===(oo=o.versionInformation)||void 0===oo?void 0:oo.backgroundColor),typeNumberForegroundColor:o.typeNumberForegroundColor||(null===(eo=o.typeNumber)||void 0===eo?void 0:eo.foregroundColor)||(null===(ro=o.versionInformation)||void 0===ro?void 0:ro.foregroundColor),darkBlockColor:o.darkBlockColor||(null===(to=o.darkBlock)||void 0===to?void 0:to.color),style:o.style,patterns:o.patterns||(null===(io=o.art)||void 0===io?void 0:io.patterns)||(null===(no=o.art)||void 0===no?void 0:null===(ao=no.shape)||void 0===ao?void 0:ao.map(o=>(o.imageSrc=o.image,o))),queue:o.queue},!0)},make(){this.foregroundColor===this.backgroundColor&&console.error("[uQRCode]: foregroundColor and backgroundColor cannot be the same!");var o=new e(this.typeNumber,this.errorCorrectLevel);o.addData(u.utf16To8(this.data.toString())),o.make(),this.typeNumber=o.typeNumber,this.modules=o.modules,this.moduleCount=o.moduleCount;var r=this.size-2*this.margin;this.dynamicSize=Math.ceil(r/o.moduleCount)*o.moduleCount+2*this.margin,this.useDynamicSize||(this.dynamicSize=this.size),this.paintData(),this.paintPositionProbe(),this.paintSeparator(),this.paintTiming(),this.paintPositionAdjust(),this.paintDarkBlock(),this.paintTypeNumber(),this.getDrawModules()},paintData(){let{dynamicSize:o,margin:e,backgroundColor:r,foregroundColor:t,foregroundPadding:i,style:n,modules:a,moduleCount:u}=this,d=(o-2*e)/u,s=d,g=0;i>0&&"liquid"!=n&&"art"!=n&&(g=s*i/2,s-=2*g);for(var l=0;l{var i=o[e[0]][e[1]],a=o[e[0]+n][e[1]],u=o[e[0]][e[1]+n];u.type.push("positionProbe"),a.type.push("positionProbe"),i.type.push("positionProbe"),i.color=1==e[2]?t:r,a.color=1==e[2]?t:r,u.color=1==e[2]?t:r})},paintSeparator(){let{modules:o,moduleCount:e,separatorColor:r}=this;[[7,0],[7,1],[7,2],[7,3],[7,4],[7,5],[7,6],[7,7],[0,7],[1,7],[2,7],[3,7],[4,7],[5,7],[6,7]].forEach(t=>{var i=o[t[0]][t[1]],n=o[e-t[0]-1][t[1]],a=o[t[0]][e-t[1]-1];a.type.push("separator"),n.type.push("separator"),i.type.push("separator"),i.color=r,n.color=r,a.color=r})},paintPositionAdjust(){let{typeNumber:o,modules:e,moduleCount:r,foregroundColor:t,backgroundColor:i,positionAdjustForegroundColor:n,positionAdjustBackgroundColor:a,timingForegroundColor:u,timingBackgroundColor:d}=this;const s=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],g=s[o-1];if(g){const o=[[-2,-2,1],[-1,-2,1],[0,-2,1],[1,-2,1],[2,-2,1],[-2,-1,1],[-1,-1,0],[0,-1,0],[1,-1,0],[2,-1,1],[-2,0,1],[-1,0,0],[0,0,1],[1,0,0],[2,0,1],[-2,1,1],[-1,1,0],[0,1,0],[1,1,0],[2,1,1],[-2,2,1],[-1,2,1],[0,2,1],[1,2,1],[2,2,1]],s=g.length;for(let l=0;lr-9-1&&c<9||c>r-9-1&&s<9||o.forEach(o=>{var r=e[s+o[0]][c+o[1]];r.type.push("positionAdjust"),r.type.includes("timing")?1==o[2]?r.color=n==t?u:n:r.color=n==t&&a==i?d:a:r.color=1==o[2]?n:a})}}},paintTiming(){let{modules:o,moduleCount:e,timingForegroundColor:r,timingBackgroundColor:t}=this,i=e-16;for(let e=0;e{var n=e[o[0]][o[1]];n.type.push("typeNumber"),n.color="1"==a[r]?i:t})},getDrawModules(){let o=this.drawModules=[],{modules:e,moduleCount:r,dynamicSize:t,backgroundColor:i,backgroundImageSrc:n,backgroundImageX:a,backgroundImageY:u,backgroundImageWidth:d,backgroundImageHeight:s,backgroundImageAlpha:g,backgroundImageBorderRadius:l,style:h,patterns:c,foregroundImageSrc:m,foregroundImageX:f,foregroundImageY:v,foregroundImageWidth:C,foregroundImageHeight:p,foregroundImagePadding:b,foregroundImageBackgroundColor:y,foregroundImageBorderRadius:k,foregroundImageShadowOffsetX:I,foregroundImageShadowOffsetY:w,foregroundImageShadowBlur:B,foregroundImageShadowColor:T}=this;i&&o.push({name:"background",type:"box",color:i,x:0,y:0,width:t,height:t}),n&&o.push({name:"backgroundImage",type:"image",imageSrc:n,imageSource:"backgroundImageSrc",x:a,y:u,width:d,height:s,alpha:g,borderRadius:l});for(var P=0;Po||0>e||o>=r||e>=r)&&this.modules[o][e].isBlack},drawCanvas(){let{canvasContext:o,foregroundColor:e,backgroundColor:r,queue:t,style:i}=this;if(e===r)return Promise.reject(new a("[uQRCode]: foregroundColor and backgroundColor cannot be the same!"));let n=async(e,r)=>{try{o.draw(!1),await this.styleDefault(),o.draw(!0),setTimeout(e,150)}catch(o){if(!(o instanceof a))throw o;r(o)}};return new Promise((o,e)=>{t?u.queue.exec(()=>new Promise((o,e)=>{n(o,e)})).then(()=>{setTimeout(o,150)}).catch(o=>{e(o)}):n(o,e)})},draw(){return this.drawCanvas()},async styleDefault(){let{drawModules:o,canvasContext:e,backgroundColor:r,margin:t,queue:i}=this;for(var n=0;n0?d.backgroundColor:"rgba(0,0,0,0)"),e.fill(),e.beginPath(),e.moveTo(s+c,g),e.arcTo(s+l,g,s+l,g+h,c),e.arcTo(s+l,g+h,s,g+h,c),e.arcTo(s,g+h,s,g,c),e.arcTo(s,g,s+l,g,c),e.closePath(),e.strokeStyle="rgba(0,0,0,0)",e.stroke(),e.clip();try{m=await u.loadImage(d.imageSrc);e.drawImage(m,d.x,d.y,d.width,d.height)}catch(o){throw console.error(`[uQRCode]: ${d.imageSource} invalid!`),new a(`[uQRCode]: ${d.imageSource} invalid!`)}}}i&&e.draw(!0),e.restore()}}},uQRCode=u,uQRCode.export=function(){var o,e;o="undefined"!=typeof window?window:global,e=uQRCode,"undefined"!=typeof module&&"object"==typeof exports?module.exports=e:"function"==typeof define&&(define.amd||define.cmd)?define(function(){return e}):o.UQRCode=e}}(); -//--------------------------------------------------------------------- -// 默认导出方式,非vite(vue3)使用该方式。 -// ↓ -//--------------------------------------------------------------------- -uQRCode.export(); -//--------------------------------------------------------------------- -// ES6导出方式,vite(vue3)使用该方式。 -// ↓ -//--------------------------------------------------------------------- -// export default uQRCode; \ No newline at end of file diff --git a/uni-app/components/u-qrcode/u-qrcode.vue b/uni-app/components/u-qrcode/u-qrcode.vue deleted file mode 100644 index 3116eef..0000000 --- a/uni-app/components/u-qrcode/u-qrcode.vue +++ /dev/null @@ -1,924 +0,0 @@ - - - - - - diff --git a/uni-app/components/uqrcode/uqrcode.vue b/uni-app/components/uqrcode/uqrcode.vue deleted file mode 100644 index 3116eef..0000000 --- a/uni-app/components/uqrcode/uqrcode.vue +++ /dev/null @@ -1,924 +0,0 @@ - - - - - - diff --git a/uni-app/js_sdk/gcanvas/bridge/bridge-weex.js b/uni-app/js_sdk/gcanvas/bridge/bridge-weex.js deleted file mode 100644 index 27086ec..0000000 --- a/uni-app/js_sdk/gcanvas/bridge/bridge-weex.js +++ /dev/null @@ -1,241 +0,0 @@ -const isWeex = typeof WXEnvironment !== 'undefined'; -const isWeexIOS = isWeex && /ios/i.test(WXEnvironment.platform); -const isWeexAndroid = isWeex && !isWeexIOS; - -import GLmethod from '../context-webgl/GLmethod'; - -const GCanvasModule = - (typeof weex !== 'undefined' && weex.requireModule) ? (weex.requireModule('gcanvas')) : - (typeof __weex_require__ !== 'undefined') ? (__weex_require__('@weex-module/gcanvas')) : {}; - -let isDebugging = false; - -let isComboDisabled = false; - -const logCommand = (function () { - const methodQuery = []; - Object.keys(GLmethod).forEach(key => { - methodQuery[GLmethod[key]] = key; - }) - const queryMethod = (id) => { - return methodQuery[parseInt(id)] || 'NotFoundMethod'; - } - const logCommand = (id, cmds) => { - const mId = cmds.split(',')[0]; - const mName = queryMethod(mId); - console.log(`=== callNative - componentId:${id}; method: ${mName}; cmds: ${cmds}`); - } - return logCommand; -})(); - -function joinArray(arr, sep) { - let res = ''; - for (let i = 0; i < arr.length; i++) { - if (i !== 0) { - res += sep; - } - res += arr[i]; - } - return res; -} - -const commandsCache = {} - -const GBridge = { - - callEnable: (ref, configArray) => { - - commandsCache[ref] = []; - - return GCanvasModule.enable({ - componentId: ref, - config: configArray - }); - }, - - callEnableDebug: () => { - isDebugging = true; - }, - - callEnableDisableCombo: () => { - isComboDisabled = true; - }, - - callSetContextType: function (componentId, context_type) { - GCanvasModule.setContextType(context_type, componentId); - }, - - callReset: function(id){ - GCanvasModule.resetComponent && canvasModule.resetComponent(componentId); - }, - - render: isWeexIOS ? function (componentId) { - return GCanvasModule.extendCallNative({ - contextId: componentId, - type: 0x60000001 - }); - } : function (componentId) { - return callGCanvasLinkNative(componentId, 0x60000001, 'render'); - }, - - render2d: isWeexIOS ? function (componentId, commands, callback) { - - if (isDebugging) { - console.log('>>> >>> render2d ==='); - console.log('>>> commands: ' + commands); - } - - GCanvasModule.render([commands, callback?true:false], componentId, callback); - - } : function (componentId, commands,callback) { - - if (isDebugging) { - console.log('>>> >>> render2d ==='); - console.log('>>> commands: ' + commands); - } - - callGCanvasLinkNative(componentId, 0x20000001, commands); - if(callback){ - callback(); - } - }, - - callExtendCallNative: isWeexIOS ? function (componentId, cmdArgs) { - - throw 'should not be here anymore ' + cmdArgs; - - } : function (componentId, cmdArgs) { - - throw 'should not be here anymore ' + cmdArgs; - - }, - - - flushNative: isWeexIOS ? function (componentId) { - - const cmdArgs = joinArray(commandsCache[componentId], ';'); - commandsCache[componentId] = []; - - if (isDebugging) { - console.log('>>> >>> flush native ==='); - console.log('>>> commands: ' + cmdArgs); - } - - const result = GCanvasModule.extendCallNative({ - "contextId": componentId, - "type": 0x60000000, - "args": cmdArgs - }); - - const res = result && result.result; - - if (isDebugging) { - console.log('>>> result: ' + res); - } - - return res; - - } : function (componentId) { - - const cmdArgs = joinArray(commandsCache[componentId], ';'); - commandsCache[componentId] = []; - - if (isDebugging) { - console.log('>>> >>> flush native ==='); - console.log('>>> commands: ' + cmdArgs); - } - - const result = callGCanvasLinkNative(componentId, 0x60000000, cmdArgs); - - if (isDebugging) { - console.log('>>> result: ' + result); - } - - return result; - }, - - callNative: function (componentId, cmdArgs, cache) { - - if (isDebugging) { - logCommand(componentId, cmdArgs); - } - - commandsCache[componentId].push(cmdArgs); - - if (!cache || isComboDisabled) { - return GBridge.flushNative(componentId); - } else { - return undefined; - } - }, - - texImage2D(componentId, ...args) { - if (isWeexIOS) { - if (args.length === 6) { - const [target, level, internalformat, format, type, image] = args; - GBridge.callNative( - componentId, - GLmethod.texImage2D + ',' + 6 + ',' + target + ',' + level + ',' + internalformat + ',' + format + ',' + type + ',' + image.src - ) - } else if (args.length === 9) { - const [target, level, internalformat, width, height, border, format, type, image] = args; - GBridge.callNative( - componentId, - GLmethod.texImage2D + ',' + 9 + ',' + target + ',' + level + ',' + internalformat + ',' + width + ',' + height + ',' + border + ',' + - + format + ',' + type + ',' + (image ? image.src : 0) - ) - } - } else if (isWeexAndroid) { - if (args.length === 6) { - const [target, level, internalformat, format, type, image] = args; - GCanvasModule.texImage2D(componentId, target, level, internalformat, format, type, image.src); - } else if (args.length === 9) { - const [target, level, internalformat, width, height, border, format, type, image] = args; - GCanvasModule.texImage2D(componentId, target, level, internalformat, width, height, border, format, type, (image ? image.src : 0)); - } - } - }, - - texSubImage2D(componentId, target, level, xoffset, yoffset, format, type, image) { - if (isWeexIOS) { - if (arguments.length === 8) { - GBridge.callNative( - componentId, - GLmethod.texSubImage2D + ',' + 6 + ',' + target + ',' + level + ',' + xoffset + ',' + yoffset, + ',' + format + ',' + type + ',' + image.src - ) - } - } else if (isWeexAndroid) { - GCanvasModule.texSubImage2D(componentId, target, level, xoffset, yoffset, format, type, image.src); - } - }, - - bindImageTexture(componentId, src, imageId) { - GCanvasModule.bindImageTexture([src, imageId], componentId); - }, - - perloadImage([url, id], callback) { - GCanvasModule.preLoadImage([url, id], function (image) { - image.url = url; - image.id = id; - callback(image); - }); - }, - - measureText(text, fontStyle, componentId) { - return GCanvasModule.measureText([text, fontStyle], componentId); - }, - - getImageData (componentId, x, y, w, h, callback) { - GCanvasModule.getImageData([x, y,w,h],componentId,callback); - }, - - putImageData (componentId, data, x, y, w, h, callback) { - GCanvasModule.putImageData([x, y,w,h,data],componentId,callback); - }, - - toTempFilePath(componentId, x, y, width, height, destWidth, destHeight, fileType, quality, callback){ - GCanvasModule.toTempFilePath([x, y, width,height, destWidth, destHeight, fileType, quality], componentId, callback); - } -} - -export default GBridge; \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-2d/FillStyleLinearGradient.js b/uni-app/js_sdk/gcanvas/context-2d/FillStyleLinearGradient.js deleted file mode 100644 index 3e7f03a..0000000 --- a/uni-app/js_sdk/gcanvas/context-2d/FillStyleLinearGradient.js +++ /dev/null @@ -1,18 +0,0 @@ -class FillStyleLinearGradient { - - constructor(x0, y0, x1, y1) { - this._start_pos = { _x: x0, _y: y0 }; - this._end_pos = { _x: x1, _y: y1 }; - this._stop_count = 0; - this._stops = [0, 0, 0, 0, 0]; - } - - addColorStop = function (pos, color) { - if (this._stop_count < 5 && 0.0 <= pos && pos <= 1.0) { - this._stops[this._stop_count] = { _pos: pos, _color: color }; - this._stop_count++; - } - } -} - -export default FillStyleLinearGradient; \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-2d/FillStylePattern.js b/uni-app/js_sdk/gcanvas/context-2d/FillStylePattern.js deleted file mode 100644 index 6e4f646..0000000 --- a/uni-app/js_sdk/gcanvas/context-2d/FillStylePattern.js +++ /dev/null @@ -1,8 +0,0 @@ -class FillStylePattern { - constructor(img, pattern) { - this._style = pattern; - this._img = img; - } -} - -export default FillStylePattern; \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-2d/FillStyleRadialGradient.js b/uni-app/js_sdk/gcanvas/context-2d/FillStyleRadialGradient.js deleted file mode 100644 index 7790596..0000000 --- a/uni-app/js_sdk/gcanvas/context-2d/FillStyleRadialGradient.js +++ /dev/null @@ -1,17 +0,0 @@ -class FillStyleRadialGradient { - constructor(x0, y0, r0, x1, y1, r1) { - this._start_pos = { _x: x0, _y: y0, _r: r0 }; - this._end_pos = { _x: x1, _y: y1, _r: r1 }; - this._stop_count = 0; - this._stops = [0, 0, 0, 0, 0]; - } - - addColorStop(pos, color) { - if (this._stop_count < 5 && 0.0 <= pos && pos <= 1.0) { - this._stops[this._stop_count] = { _pos: pos, _color: color }; - this._stop_count++; - } - } -} - -export default FillStyleRadialGradient; \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-2d/RenderingContext.js b/uni-app/js_sdk/gcanvas/context-2d/RenderingContext.js deleted file mode 100644 index e6b8f48..0000000 --- a/uni-app/js_sdk/gcanvas/context-2d/RenderingContext.js +++ /dev/null @@ -1,666 +0,0 @@ -import FillStylePattern from './FillStylePattern'; -import FillStyleLinearGradient from './FillStyleLinearGradient'; -import FillStyleRadialGradient from './FillStyleRadialGradient'; -import GImage from '../env/image.js'; -import { - ArrayBufferToBase64, - Base64ToUint8ClampedArray -} from '../env/tool.js'; - -export default class CanvasRenderingContext2D { - - _drawCommands = ''; - - _globalAlpha = 1.0; - - _fillStyle = 'rgb(0,0,0)'; - _strokeStyle = 'rgb(0,0,0)'; - - _lineWidth = 1; - _lineCap = 'butt'; - _lineJoin = 'miter'; - - _miterLimit = 10; - - _globalCompositeOperation = 'source-over'; - - _textAlign = 'start'; - _textBaseline = 'alphabetic'; - - _font = '10px sans-serif'; - - _savedGlobalAlpha = []; - - timer = null; - componentId = null; - - _notCommitDrawImageCache = []; - _needRedrawImageCache = []; - _redrawCommands = ''; - _autoSaveContext = true; - // _imageMap = new GHashMap(); - // _textureMap = new GHashMap(); - - constructor() { - this.className = 'CanvasRenderingContext2D'; - //this.save() - } - - setFillStyle(value) { - this.fillStyle = value; - } - - set fillStyle(value) { - this._fillStyle = value; - - if (typeof(value) == 'string') { - this._drawCommands = this._drawCommands.concat("F" + value + ";"); - } else if (value instanceof FillStylePattern) { - const image = value._img; - if (!image.complete) { - image.onload = () => { - var index = this._needRedrawImageCache.indexOf(image); - if (index > -1) { - this._needRedrawImageCache.splice(index, 1); - CanvasRenderingContext2D.GBridge.bindImageTexture(this.componentId, image.src, image._id); - this._redrawflush(true); - } - } - this._notCommitDrawImageCache.push(image); - } else { - CanvasRenderingContext2D.GBridge.bindImageTexture(this.componentId, image.src, image._id); - } - - //CanvasRenderingContext2D.GBridge.bindImageTexture(this.componentId, image.src, image._id); - this._drawCommands = this._drawCommands.concat("G" + image._id + "," + value._style + ";"); - } else if (value instanceof FillStyleLinearGradient) { - var command = "D" + value._start_pos._x.toFixed(2) + "," + value._start_pos._y.toFixed(2) + "," + - value._end_pos._x.toFixed(2) + "," + value._end_pos._y.toFixed(2) + "," + - value._stop_count; - for (var i = 0; i < value._stop_count; ++i) { - command += ("," + value._stops[i]._pos + "," + value._stops[i]._color); - } - this._drawCommands = this._drawCommands.concat(command + ";"); - } else if (value instanceof FillStyleRadialGradient) { - var command = "H" + value._start_pos._x.toFixed(2) + "," + value._start_pos._y.toFixed(2) + "," + value._start_pos._r - .toFixed(2) + "," + - value._end_pos._x.toFixed(2) + "," + value._end_pos._y.toFixed(2) + "," + value._end_pos._r.toFixed(2) + "," + - value._stop_count; - for (var i = 0; i < value._stop_count; ++i) { - command += ("," + value._stops[i]._pos + "," + value._stops[i]._color); - } - this._drawCommands = this._drawCommands.concat(command + ";"); - } - } - - get fillStyle() { - return this._fillStyle; - } - - get globalAlpha() { - return this._globalAlpha; - } - - setGlobalAlpha(value) { - this.globalAlpha = value; - } - - set globalAlpha(value) { - this._globalAlpha = value; - this._drawCommands = this._drawCommands.concat("a" + value.toFixed(2) + ";"); - } - - - get strokeStyle() { - return this._strokeStyle; - } - - setStrokeStyle(value) { - this.strokeStyle = value; - } - - set strokeStyle(value) { - - this._strokeStyle = value; - - if (typeof(value) == 'string') { - this._drawCommands = this._drawCommands.concat("S" + value + ";"); - } else if (value instanceof FillStylePattern) { - CanvasRenderingContext2D.GBridge.bindImageTexture(this.componentId, image.src, image._id); - this._drawCommands = this._drawCommands.concat("G" + image._id + "," + value._style + ";"); - } else if (value instanceof FillStyleLinearGradient) { - var command = "D" + value._start_pos._x.toFixed(2) + "," + value._start_pos._y.toFixed(2) + "," + - value._end_pos._x.toFixed(2) + "," + value._end_pos._y.toFixed(2) + "," + - value._stop_count; - - for (var i = 0; i < value._stop_count; ++i) { - command += ("," + value._stops[i]._pos + "," + value._stops[i]._color); - } - this._drawCommands = this._drawCommands.concat(command + ";"); - } else if (value instanceof FillStyleRadialGradient) { - var command = "H" + value._start_pos._x.toFixed(2) + "," + value._start_pos._y.toFixed(2) + "," + value._start_pos._r - .toFixed(2) + "," + - value._end_pos._x.toFixed(2) + "," + value._end_pos._y + ",".toFixed(2) + value._end_pos._r.toFixed(2) + "," + - value._stop_count; - - for (var i = 0; i < value._stop_count; ++i) { - command += ("," + value._stops[i]._pos + "," + value._stops[i]._color); - } - this._drawCommands = this._drawCommands.concat(command + ";"); - } - } - - get lineWidth() { - return this._lineWidth; - } - - setLineWidth(value) { - this.lineWidth = value; - } - - set lineWidth(value) { - this._lineWidth = value; - this._drawCommands = this._drawCommands.concat("W" + value + ";"); - } - - get lineCap() { - return this._lineCap; - } - - setLineCap(value) { - this.lineCap = value; - } - - set lineCap(value) { - this._lineCap = value; - this._drawCommands = this._drawCommands.concat("C" + value + ";"); - } - - get lineJoin() { - return this._lineJoin; - } - - setLineJoin(value) { - this.lineJoin = value - } - - set lineJoin(value) { - this._lineJoin = value; - this._drawCommands = this._drawCommands.concat("J" + value + ";"); - } - - get miterLimit() { - return this._miterLimit; - } - - setMiterLimit(value) { - this.miterLimit = value - } - - set miterLimit(value) { - this._miterLimit = value; - this._drawCommands = this._drawCommands.concat("M" + value + ";"); - } - - get globalCompositeOperation() { - return this._globalCompositeOperation; - } - - set globalCompositeOperation(value) { - - this._globalCompositeOperation = value; - let mode = 0; - switch (value) { - case "source-over": - mode = 0; - break; - case "source-atop": - mode = 5; - break; - case "source-in": - mode = 0; - break; - case "source-out": - mode = 2; - break; - case "destination-over": - mode = 4; - break; - case "destination-atop": - mode = 4; - break; - case "destination-in": - mode = 4; - break; - case "destination-out": - mode = 3; - break; - case "lighter": - mode = 1; - break; - case "copy": - mode = 2; - break; - case "xor": - mode = 6; - break; - default: - mode = 0; - } - - this._drawCommands = this._drawCommands.concat("B" + mode + ";"); - } - - get textAlign() { - return this._textAlign; - } - - setTextAlign(value) { - this.textAlign = value - } - - set textAlign(value) { - - this._textAlign = value; - let Align = 0; - switch (value) { - case "start": - Align = 0; - break; - case "end": - Align = 1; - break; - case "left": - Align = 2; - break; - case "center": - Align = 3; - break; - case "right": - Align = 4; - break; - default: - Align = 0; - } - - this._drawCommands = this._drawCommands.concat("A" + Align + ";"); - } - - get textBaseline() { - return this._textBaseline; - } - - setTextBaseline(value) { - this.textBaseline = value - } - - set textBaseline(value) { - this._textBaseline = value; - let baseline = 0; - switch (value) { - case "alphabetic": - baseline = 0; - break; - case "middle": - baseline = 1; - break; - case "top": - baseline = 2; - break; - case "hanging": - baseline = 3; - break; - case "bottom": - baseline = 4; - break; - case "ideographic": - baseline = 5; - break; - default: - baseline = 0; - break; - } - - this._drawCommands = this._drawCommands.concat("E" + baseline + ";"); - } - - get font() { - return this._font; - } - - setFontSize(size) { - var str = this._font; - var strs = str.trim().split(/\s+/); - for (var i = 0; i < strs.length; i++) { - var values = ["normal", "italic", "oblique", "normal", "small-caps", "normal", "bold", - "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900", - "normal", "ultra-condensed", "extra-condensed", "condensed", "semi-condensed", - "semi-expanded", "expanded", "extra-expanded", "ultra-expanded" - ]; - - if (-1 == values.indexOf(strs[i].trim())) { - if (typeof size === 'string') { - strs[i] = size; - } else if (typeof size === 'number') { - strs[i] = String(size) + 'px'; - } - break; - } - } - this.font = strs.join(" "); - } - - set font(value) { - this._font = value; - this._drawCommands = this._drawCommands.concat("j" + value + ";"); - } - - setTransform(a, b, c, d, tx, ty) { - this._drawCommands = this._drawCommands.concat("t" + - (a === 1 ? "1" : a.toFixed(2)) + "," + - (b === 0 ? "0" : b.toFixed(2)) + "," + - (c === 0 ? "0" : c.toFixed(2)) + "," + - (d === 1 ? "1" : d.toFixed(2)) + "," + tx.toFixed(2) + "," + ty.toFixed(2) + ";"); - } - - transform(a, b, c, d, tx, ty) { - this._drawCommands = this._drawCommands.concat("f" + - (a === 1 ? "1" : a.toFixed(2)) + "," + - (b === 0 ? "0" : b.toFixed(2)) + "," + - (c === 0 ? "0" : c.toFixed(2)) + "," + - (d === 1 ? "1" : d.toFixed(2)) + "," + tx + "," + ty + ";"); - } - - resetTransform() { - this._drawCommands = this._drawCommands.concat("m;"); - } - - scale(a, d) { - this._drawCommands = this._drawCommands.concat("k" + a.toFixed(2) + "," + - d.toFixed(2) + ";"); - } - - rotate(angle) { - this._drawCommands = this._drawCommands - .concat("r" + angle.toFixed(6) + ";"); - } - - translate(tx, ty) { - this._drawCommands = this._drawCommands.concat("l" + tx.toFixed(2) + "," + ty.toFixed(2) + ";"); - } - - save() { - this._savedGlobalAlpha.push(this._globalAlpha); - this._drawCommands = this._drawCommands.concat("v;"); - } - - restore() { - this._drawCommands = this._drawCommands.concat("e;"); - this._globalAlpha = this._savedGlobalAlpha.pop(); - } - - createPattern(img, pattern) { - if (typeof img === 'string') { - var imgObj = new GImage(); - imgObj.src = img; - img = imgObj; - } - return new FillStylePattern(img, pattern); - } - - createLinearGradient(x0, y0, x1, y1) { - return new FillStyleLinearGradient(x0, y0, x1, y1); - } - - createRadialGradient = function(x0, y0, r0, x1, y1, r1) { - return new FillStyleRadialGradient(x0, y0, r0, x1, y1, r1); - }; - - createCircularGradient = function(x0, y0, r0) { - return new FillStyleRadialGradient(x0, y0, 0, x0, y0, r0); - }; - - strokeRect(x, y, w, h) { - this._drawCommands = this._drawCommands.concat("s" + x + "," + y + "," + w + "," + h + ";"); - } - - - clearRect(x, y, w, h) { - this._drawCommands = this._drawCommands.concat("c" + x + "," + y + "," + w + - "," + h + ";"); - } - - clip() { - this._drawCommands = this._drawCommands.concat("p;"); - } - - resetClip() { - this._drawCommands = this._drawCommands.concat("q;"); - } - - closePath() { - this._drawCommands = this._drawCommands.concat("o;"); - } - - moveTo(x, y) { - this._drawCommands = this._drawCommands.concat("g" + x.toFixed(2) + "," + y.toFixed(2) + ";"); - } - - lineTo(x, y) { - this._drawCommands = this._drawCommands.concat("i" + x.toFixed(2) + "," + y.toFixed(2) + ";"); - } - - quadraticCurveTo = function(cpx, cpy, x, y) { - this._drawCommands = this._drawCommands.concat("u" + cpx + "," + cpy + "," + x + "," + y + ";"); - } - - bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y, ) { - this._drawCommands = this._drawCommands.concat( - "z" + cp1x.toFixed(2) + "," + cp1y.toFixed(2) + "," + cp2x.toFixed(2) + "," + cp2y.toFixed(2) + "," + - x.toFixed(2) + "," + y.toFixed(2) + ";"); - } - - arcTo(x1, y1, x2, y2, radius) { - this._drawCommands = this._drawCommands.concat("h" + x1 + "," + y1 + "," + x2 + "," + y2 + "," + radius + ";"); - } - - beginPath() { - this._drawCommands = this._drawCommands.concat("b;"); - } - - - fillRect(x, y, w, h) { - this._drawCommands = this._drawCommands.concat("n" + x + "," + y + "," + w + - "," + h + ";"); - } - - rect(x, y, w, h) { - this._drawCommands = this._drawCommands.concat("w" + x + "," + y + "," + w + "," + h + ";"); - } - - fill() { - this._drawCommands = this._drawCommands.concat("L;"); - } - - stroke(path) { - this._drawCommands = this._drawCommands.concat("x;"); - } - - arc(x, y, radius, startAngle, endAngle, anticlockwise) { - - let ianticlockwise = 0; - if (anticlockwise) { - ianticlockwise = 1; - } - - this._drawCommands = this._drawCommands.concat( - "y" + x.toFixed(2) + "," + y.toFixed(2) + "," + - radius.toFixed(2) + "," + startAngle + "," + endAngle + "," + ianticlockwise + - ";" - ); - } - - fillText(text, x, y) { - let tmptext = text.replace(/!/g, "!!"); - tmptext = tmptext.replace(/,/g, "!,"); - tmptext = tmptext.replace(/;/g, "!;"); - this._drawCommands = this._drawCommands.concat("T" + tmptext + "," + x + "," + y + ",0.0;"); - } - - strokeText = function(text, x, y) { - let tmptext = text.replace(/!/g, "!!"); - tmptext = tmptext.replace(/,/g, "!,"); - tmptext = tmptext.replace(/;/g, "!;"); - this._drawCommands = this._drawCommands.concat("U" + tmptext + "," + x + "," + y + ",0.0;"); - } - - measureText(text) { - return CanvasRenderingContext2D.GBridge.measureText(text, this.font, this.componentId); - } - - isPointInPath = function(x, y) { - throw new Error('GCanvas not supported yet'); - } - - drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh) { - if (typeof image === 'string') { - var imgObj = new GImage(); - imgObj.src = image; - image = imgObj; - } - if (image instanceof GImage) { - if (!image.complete) { - imgObj.onload = () => { - var index = this._needRedrawImageCache.indexOf(image); - if (index > -1) { - this._needRedrawImageCache.splice(index, 1); - CanvasRenderingContext2D.GBridge.bindImageTexture(this.componentId, image.src, image._id); - this._redrawflush(true); - } - } - this._notCommitDrawImageCache.push(image); - } else { - CanvasRenderingContext2D.GBridge.bindImageTexture(this.componentId, image.src, image._id); - } - var srcArgs = [image, sx, sy, sw, sh, dx, dy, dw, dh]; - var args = []; - for (var arg in srcArgs) { - if (typeof(srcArgs[arg]) != 'undefined') { - args.push(srcArgs[arg]); - } - } - this.__drawImage.apply(this, args); - //this.__drawImage(image,sx, sy, sw, sh, dx, dy, dw, dh); - } - } - - __drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh) { - const numArgs = arguments.length; - - function drawImageCommands() { - - if (numArgs === 3) { - const x = parseFloat(sx) || 0.0; - const y = parseFloat(sy) || 0.0; - - return ("d" + image._id + ",0,0," + - image.width + "," + image.height + "," + - x + "," + y + "," + image.width + "," + image.height + ";"); - } else if (numArgs === 5) { - const x = parseFloat(sx) || 0.0; - const y = parseFloat(sy) || 0.0; - const width = parseInt(sw) || image.width; - const height = parseInt(sh) || image.height; - - return ("d" + image._id + ",0,0," + - image.width + "," + image.height + "," + - x + "," + y + "," + width + "," + height + ";"); - } else if (numArgs === 9) { - sx = parseFloat(sx) || 0.0; - sy = parseFloat(sy) || 0.0; - sw = parseInt(sw) || image.width; - sh = parseInt(sh) || image.height; - dx = parseFloat(dx) || 0.0; - dy = parseFloat(dy) || 0.0; - dw = parseInt(dw) || image.width; - dh = parseInt(dh) || image.height; - - return ("d" + image._id + "," + - sx + "," + sy + "," + sw + "," + sh + "," + - dx + "," + dy + "," + dw + "," + dh + ";"); - } - } - this._drawCommands += drawImageCommands(); - } - - _flush(reserve, callback) { - const commands = this._drawCommands; - this._drawCommands = ''; - CanvasRenderingContext2D.GBridge.render2d(this.componentId, commands, callback); - this._needRender = false; - } - - _redrawflush(reserve, callback) { - const commands = this._redrawCommands; - CanvasRenderingContext2D.GBridge.render2d(this.componentId, commands, callback); - if (this._needRedrawImageCache.length == 0) { - this._redrawCommands = ''; - } - } - - draw(reserve, callback) { - if (!reserve) { - this._globalAlpha = this._savedGlobalAlpha.pop(); - this._savedGlobalAlpha.push(this._globalAlpha); - this._redrawCommands = this._drawCommands; - this._needRedrawImageCache = this._notCommitDrawImageCache; - if (this._autoSaveContext) { - this._drawCommands = ("v;" + this._drawCommands); - this._autoSaveContext = false; - } else { - this._drawCommands = ("e;X;v;" + this._drawCommands); - } - } else { - this._needRedrawImageCache = this._needRedrawImageCache.concat(this._notCommitDrawImageCache); - this._redrawCommands += this._drawCommands; - if (this._autoSaveContext) { - this._drawCommands = ("v;" + this._drawCommands); - this._autoSaveContext = false; - } - } - this._notCommitDrawImageCache = []; - if (this._flush) { - this._flush(reserve, callback); - } - } - - getImageData(x, y, w, h, callback) { - CanvasRenderingContext2D.GBridge.getImageData(this.componentId, x, y, w, h, function(res) { - res.data = Base64ToUint8ClampedArray(res.data); - if (typeof(callback) == 'function') { - callback(res); - } - }); - } - - putImageData(data, x, y, w, h, callback) { - if (data instanceof Uint8ClampedArray) { - data = ArrayBufferToBase64(data); - CanvasRenderingContext2D.GBridge.putImageData(this.componentId, data, x, y, w, h, function(res) { - if (typeof(callback) == 'function') { - callback(res); - } - }); - } - } - - toTempFilePath(x, y, width, height, destWidth, destHeight, fileType, quality, callback) { - CanvasRenderingContext2D.GBridge.toTempFilePath(this.componentId, x, y, width, height, destWidth, destHeight, - fileType, quality, - function(res) { - if (typeof(callback) == 'function') { - callback(res); - } - }); - } -} diff --git a/uni-app/js_sdk/gcanvas/context-webgl/ActiveInfo.js b/uni-app/js_sdk/gcanvas/context-webgl/ActiveInfo.js deleted file mode 100644 index b495129..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/ActiveInfo.js +++ /dev/null @@ -1,11 +0,0 @@ -export default class WebGLActiveInfo { - className = 'WebGLActiveInfo'; - - constructor({ - type, name, size - }) { - this.type = type; - this.name = name; - this.size = size; - } -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/Buffer.js b/uni-app/js_sdk/gcanvas/context-webgl/Buffer.js deleted file mode 100644 index 4800f67..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/Buffer.js +++ /dev/null @@ -1,21 +0,0 @@ -import {getTransferedObjectUUID} from './classUtils'; - -const name = 'WebGLBuffer'; - -function uuid(id) { - return getTransferedObjectUUID(name, id); -} - -export default class WebGLBuffer { - className = name; - - constructor(id) { - this.id = id; - } - - static uuid = uuid; - - uuid() { - return uuid(this.id); - } -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/Framebuffer.js b/uni-app/js_sdk/gcanvas/context-webgl/Framebuffer.js deleted file mode 100644 index 28b46d3..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/Framebuffer.js +++ /dev/null @@ -1,21 +0,0 @@ -import {getTransferedObjectUUID} from './classUtils'; - -const name = 'WebGLFrameBuffer'; - -function uuid(id) { - return getTransferedObjectUUID(name, id); -} - -export default class WebGLFramebuffer { - className = name; - - constructor(id) { - this.id = id; - } - - static uuid = uuid; - - uuid() { - return uuid(this.id); - } -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/GLenum.js b/uni-app/js_sdk/gcanvas/context-webgl/GLenum.js deleted file mode 100644 index ac5544d..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/GLenum.js +++ /dev/null @@ -1,298 +0,0 @@ -export default { - "DEPTH_BUFFER_BIT": 256, - "STENCIL_BUFFER_BIT": 1024, - "COLOR_BUFFER_BIT": 16384, - "POINTS": 0, - "LINES": 1, - "LINE_LOOP": 2, - "LINE_STRIP": 3, - "TRIANGLES": 4, - "TRIANGLE_STRIP": 5, - "TRIANGLE_FAN": 6, - "ZERO": 0, - "ONE": 1, - "SRC_COLOR": 768, - "ONE_MINUS_SRC_COLOR": 769, - "SRC_ALPHA": 770, - "ONE_MINUS_SRC_ALPHA": 771, - "DST_ALPHA": 772, - "ONE_MINUS_DST_ALPHA": 773, - "DST_COLOR": 774, - "ONE_MINUS_DST_COLOR": 775, - "SRC_ALPHA_SATURATE": 776, - "FUNC_ADD": 32774, - "BLEND_EQUATION": 32777, - "BLEND_EQUATION_RGB": 32777, - "BLEND_EQUATION_ALPHA": 34877, - "FUNC_SUBTRACT": 32778, - "FUNC_REVERSE_SUBTRACT": 32779, - "BLEND_DST_RGB": 32968, - "BLEND_SRC_RGB": 32969, - "BLEND_DST_ALPHA": 32970, - "BLEND_SRC_ALPHA": 32971, - "CONSTANT_COLOR": 32769, - "ONE_MINUS_CONSTANT_COLOR": 32770, - "CONSTANT_ALPHA": 32771, - "ONE_MINUS_CONSTANT_ALPHA": 32772, - "BLEND_COLOR": 32773, - "ARRAY_BUFFER": 34962, - "ELEMENT_ARRAY_BUFFER": 34963, - "ARRAY_BUFFER_BINDING": 34964, - "ELEMENT_ARRAY_BUFFER_BINDING": 34965, - "STREAM_DRAW": 35040, - "STATIC_DRAW": 35044, - "DYNAMIC_DRAW": 35048, - "BUFFER_SIZE": 34660, - "BUFFER_USAGE": 34661, - "CURRENT_VERTEX_ATTRIB": 34342, - "FRONT": 1028, - "BACK": 1029, - "FRONT_AND_BACK": 1032, - "TEXTURE_2D": 3553, - "CULL_FACE": 2884, - "BLEND": 3042, - "DITHER": 3024, - "STENCIL_TEST": 2960, - "DEPTH_TEST": 2929, - "SCISSOR_TEST": 3089, - "POLYGON_OFFSET_FILL": 32823, - "SAMPLE_ALPHA_TO_COVERAGE": 32926, - "SAMPLE_COVERAGE": 32928, - "NO_ERROR": 0, - "INVALID_ENUM": 1280, - "INVALID_VALUE": 1281, - "INVALID_OPERATION": 1282, - "OUT_OF_MEMORY": 1285, - "CW": 2304, - "CCW": 2305, - "LINE_WIDTH": 2849, - "ALIASED_POINT_SIZE_RANGE": 33901, - "ALIASED_LINE_WIDTH_RANGE": 33902, - "CULL_FACE_MODE": 2885, - "FRONT_FACE": 2886, - "DEPTH_RANGE": 2928, - "DEPTH_WRITEMASK": 2930, - "DEPTH_CLEAR_VALUE": 2931, - "DEPTH_FUNC": 2932, - "STENCIL_CLEAR_VALUE": 2961, - "STENCIL_FUNC": 2962, - "STENCIL_FAIL": 2964, - "STENCIL_PASS_DEPTH_FAIL": 2965, - "STENCIL_PASS_DEPTH_PASS": 2966, - "STENCIL_REF": 2967, - "STENCIL_VALUE_MASK": 2963, - "STENCIL_WRITEMASK": 2968, - "STENCIL_BACK_FUNC": 34816, - "STENCIL_BACK_FAIL": 34817, - "STENCIL_BACK_PASS_DEPTH_FAIL": 34818, - "STENCIL_BACK_PASS_DEPTH_PASS": 34819, - "STENCIL_BACK_REF": 36003, - "STENCIL_BACK_VALUE_MASK": 36004, - "STENCIL_BACK_WRITEMASK": 36005, - "VIEWPORT": 2978, - "SCISSOR_BOX": 3088, - "COLOR_CLEAR_VALUE": 3106, - "COLOR_WRITEMASK": 3107, - "UNPACK_ALIGNMENT": 3317, - "PACK_ALIGNMENT": 3333, - "MAX_TEXTURE_SIZE": 3379, - "MAX_VIEWPORT_DIMS": 3386, - "SUBPIXEL_BITS": 3408, - "RED_BITS": 3410, - "GREEN_BITS": 3411, - "BLUE_BITS": 3412, - "ALPHA_BITS": 3413, - "DEPTH_BITS": 3414, - "STENCIL_BITS": 3415, - "POLYGON_OFFSET_UNITS": 10752, - "POLYGON_OFFSET_FACTOR": 32824, - "TEXTURE_BINDING_2D": 32873, - "SAMPLE_BUFFERS": 32936, - "SAMPLES": 32937, - "SAMPLE_COVERAGE_VALUE": 32938, - "SAMPLE_COVERAGE_INVERT": 32939, - "COMPRESSED_TEXTURE_FORMATS": 34467, - "DONT_CARE": 4352, - "FASTEST": 4353, - "NICEST": 4354, - "GENERATE_MIPMAP_HINT": 33170, - "BYTE": 5120, - "UNSIGNED_BYTE": 5121, - "SHORT": 5122, - "UNSIGNED_SHORT": 5123, - "INT": 5124, - "UNSIGNED_INT": 5125, - "FLOAT": 5126, - "DEPTH_COMPONENT": 6402, - "ALPHA": 6406, - "RGB": 6407, - "RGBA": 6408, - "LUMINANCE": 6409, - "LUMINANCE_ALPHA": 6410, - "UNSIGNED_SHORT_4_4_4_4": 32819, - "UNSIGNED_SHORT_5_5_5_1": 32820, - "UNSIGNED_SHORT_5_6_5": 33635, - "FRAGMENT_SHADER": 35632, - "VERTEX_SHADER": 35633, - "MAX_VERTEX_ATTRIBS": 34921, - "MAX_VERTEX_UNIFORM_VECTORS": 36347, - "MAX_VARYING_VECTORS": 36348, - "MAX_COMBINED_TEXTURE_IMAGE_UNITS": 35661, - "MAX_VERTEX_TEXTURE_IMAGE_UNITS": 35660, - "MAX_TEXTURE_IMAGE_UNITS": 34930, - "MAX_FRAGMENT_UNIFORM_VECTORS": 36349, - "SHADER_TYPE": 35663, - "DELETE_STATUS": 35712, - "LINK_STATUS": 35714, - "VALIDATE_STATUS": 35715, - "ATTACHED_SHADERS": 35717, - "ACTIVE_UNIFORMS": 35718, - "ACTIVE_ATTRIBUTES": 35721, - "SHADING_LANGUAGE_VERSION": 35724, - "CURRENT_PROGRAM": 35725, - "NEVER": 512, - "LESS": 513, - "EQUAL": 514, - "LEQUAL": 515, - "GREATER": 516, - "NOTEQUAL": 517, - "GEQUAL": 518, - "ALWAYS": 519, - "KEEP": 7680, - "REPLACE": 7681, - "INCR": 7682, - "DECR": 7683, - "INVERT": 5386, - "INCR_WRAP": 34055, - "DECR_WRAP": 34056, - "VENDOR": 7936, - "RENDERER": 7937, - "VERSION": 7938, - "NEAREST": 9728, - "LINEAR": 9729, - "NEAREST_MIPMAP_NEAREST": 9984, - "LINEAR_MIPMAP_NEAREST": 9985, - "NEAREST_MIPMAP_LINEAR": 9986, - "LINEAR_MIPMAP_LINEAR": 9987, - "TEXTURE_MAG_FILTER": 10240, - "TEXTURE_MIN_FILTER": 10241, - "TEXTURE_WRAP_S": 10242, - "TEXTURE_WRAP_T": 10243, - "TEXTURE": 5890, - "TEXTURE_CUBE_MAP": 34067, - "TEXTURE_BINDING_CUBE_MAP": 34068, - "TEXTURE_CUBE_MAP_POSITIVE_X": 34069, - "TEXTURE_CUBE_MAP_NEGATIVE_X": 34070, - "TEXTURE_CUBE_MAP_POSITIVE_Y": 34071, - "TEXTURE_CUBE_MAP_NEGATIVE_Y": 34072, - "TEXTURE_CUBE_MAP_POSITIVE_Z": 34073, - "TEXTURE_CUBE_MAP_NEGATIVE_Z": 34074, - "MAX_CUBE_MAP_TEXTURE_SIZE": 34076, - "TEXTURE0": 33984, - "TEXTURE1": 33985, - "TEXTURE2": 33986, - "TEXTURE3": 33987, - "TEXTURE4": 33988, - "TEXTURE5": 33989, - "TEXTURE6": 33990, - "TEXTURE7": 33991, - "TEXTURE8": 33992, - "TEXTURE9": 33993, - "TEXTURE10": 33994, - "TEXTURE11": 33995, - "TEXTURE12": 33996, - "TEXTURE13": 33997, - "TEXTURE14": 33998, - "TEXTURE15": 33999, - "TEXTURE16": 34000, - "TEXTURE17": 34001, - "TEXTURE18": 34002, - "TEXTURE19": 34003, - "TEXTURE20": 34004, - "TEXTURE21": 34005, - "TEXTURE22": 34006, - "TEXTURE23": 34007, - "TEXTURE24": 34008, - "TEXTURE25": 34009, - "TEXTURE26": 34010, - "TEXTURE27": 34011, - "TEXTURE28": 34012, - "TEXTURE29": 34013, - "TEXTURE30": 34014, - "TEXTURE31": 34015, - "ACTIVE_TEXTURE": 34016, - "REPEAT": 10497, - "CLAMP_TO_EDGE": 33071, - "MIRRORED_REPEAT": 33648, - "FLOAT_VEC2": 35664, - "FLOAT_VEC3": 35665, - "FLOAT_VEC4": 35666, - "INT_VEC2": 35667, - "INT_VEC3": 35668, - "INT_VEC4": 35669, - "BOOL": 35670, - "BOOL_VEC2": 35671, - "BOOL_VEC3": 35672, - "BOOL_VEC4": 35673, - "FLOAT_MAT2": 35674, - "FLOAT_MAT3": 35675, - "FLOAT_MAT4": 35676, - "SAMPLER_2D": 35678, - "SAMPLER_CUBE": 35680, - "VERTEX_ATTRIB_ARRAY_ENABLED": 34338, - "VERTEX_ATTRIB_ARRAY_SIZE": 34339, - "VERTEX_ATTRIB_ARRAY_STRIDE": 34340, - "VERTEX_ATTRIB_ARRAY_TYPE": 34341, - "VERTEX_ATTRIB_ARRAY_NORMALIZED": 34922, - "VERTEX_ATTRIB_ARRAY_POINTER": 34373, - "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING": 34975, - "IMPLEMENTATION_COLOR_READ_TYPE": 35738, - "IMPLEMENTATION_COLOR_READ_FORMAT": 35739, - "COMPILE_STATUS": 35713, - "LOW_FLOAT": 36336, - "MEDIUM_FLOAT": 36337, - "HIGH_FLOAT": 36338, - "LOW_INT": 36339, - "MEDIUM_INT": 36340, - "HIGH_INT": 36341, - "FRAMEBUFFER": 36160, - "RENDERBUFFER": 36161, - "RGBA4": 32854, - "RGB5_A1": 32855, - "RGB565": 36194, - "DEPTH_COMPONENT16": 33189, - "STENCIL_INDEX8": 36168, - "DEPTH_STENCIL": 34041, - "RENDERBUFFER_WIDTH": 36162, - "RENDERBUFFER_HEIGHT": 36163, - "RENDERBUFFER_INTERNAL_FORMAT": 36164, - "RENDERBUFFER_RED_SIZE": 36176, - "RENDERBUFFER_GREEN_SIZE": 36177, - "RENDERBUFFER_BLUE_SIZE": 36178, - "RENDERBUFFER_ALPHA_SIZE": 36179, - "RENDERBUFFER_DEPTH_SIZE": 36180, - "RENDERBUFFER_STENCIL_SIZE": 36181, - "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE": 36048, - "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME": 36049, - "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL": 36050, - "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE": 36051, - "COLOR_ATTACHMENT0": 36064, - "DEPTH_ATTACHMENT": 36096, - "STENCIL_ATTACHMENT": 36128, - "DEPTH_STENCIL_ATTACHMENT": 33306, - "NONE": 0, - "FRAMEBUFFER_COMPLETE": 36053, - "FRAMEBUFFER_INCOMPLETE_ATTACHMENT": 36054, - "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT": 36055, - "FRAMEBUFFER_INCOMPLETE_DIMENSIONS": 36057, - "FRAMEBUFFER_UNSUPPORTED": 36061, - "FRAMEBUFFER_BINDING": 36006, - "RENDERBUFFER_BINDING": 36007, - "MAX_RENDERBUFFER_SIZE": 34024, - "INVALID_FRAMEBUFFER_OPERATION": 1286, - "UNPACK_FLIP_Y_WEBGL": 37440, - "UNPACK_PREMULTIPLY_ALPHA_WEBGL": 37441, - "CONTEXT_LOST_WEBGL": 37442, - "UNPACK_COLORSPACE_CONVERSION_WEBGL": 37443, - "BROWSER_DEFAULT_WEBGL": 37444 -}; \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/GLmethod.js b/uni-app/js_sdk/gcanvas/context-webgl/GLmethod.js deleted file mode 100644 index f2659be..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/GLmethod.js +++ /dev/null @@ -1,142 +0,0 @@ -let i = 1; - -const GLmethod = {}; - -GLmethod.activeTexture = i++; //1 -GLmethod.attachShader = i++; -GLmethod.bindAttribLocation = i++; -GLmethod.bindBuffer = i++; -GLmethod.bindFramebuffer = i++; -GLmethod.bindRenderbuffer = i++; -GLmethod.bindTexture = i++; -GLmethod.blendColor = i++; -GLmethod.blendEquation = i++; -GLmethod.blendEquationSeparate = i++; //10 -GLmethod.blendFunc = i++; -GLmethod.blendFuncSeparate = i++; -GLmethod.bufferData = i++; -GLmethod.bufferSubData = i++; -GLmethod.checkFramebufferStatus = i++; -GLmethod.clear = i++; -GLmethod.clearColor = i++; -GLmethod.clearDepth = i++; -GLmethod.clearStencil = i++; -GLmethod.colorMask = i++; //20 -GLmethod.compileShader = i++; -GLmethod.compressedTexImage2D = i++; -GLmethod.compressedTexSubImage2D = i++; -GLmethod.copyTexImage2D = i++; -GLmethod.copyTexSubImage2D = i++; -GLmethod.createBuffer = i++; -GLmethod.createFramebuffer = i++; -GLmethod.createProgram = i++; -GLmethod.createRenderbuffer = i++; -GLmethod.createShader = i++; //30 -GLmethod.createTexture = i++; -GLmethod.cullFace = i++; -GLmethod.deleteBuffer = i++; -GLmethod.deleteFramebuffer = i++; -GLmethod.deleteProgram = i++; -GLmethod.deleteRenderbuffer = i++; -GLmethod.deleteShader = i++; -GLmethod.deleteTexture = i++; -GLmethod.depthFunc = i++; -GLmethod.depthMask = i++; //40 -GLmethod.depthRange = i++; -GLmethod.detachShader = i++; -GLmethod.disable = i++; -GLmethod.disableVertexAttribArray = i++; -GLmethod.drawArrays = i++; -GLmethod.drawArraysInstancedANGLE = i++; -GLmethod.drawElements = i++; -GLmethod.drawElementsInstancedANGLE = i++; -GLmethod.enable = i++; -GLmethod.enableVertexAttribArray = i++; //50 -GLmethod.flush = i++; -GLmethod.framebufferRenderbuffer = i++; -GLmethod.framebufferTexture2D = i++; -GLmethod.frontFace = i++; -GLmethod.generateMipmap = i++; -GLmethod.getActiveAttrib = i++; -GLmethod.getActiveUniform = i++; -GLmethod.getAttachedShaders = i++; -GLmethod.getAttribLocation = i++; -GLmethod.getBufferParameter = i++; //60 -GLmethod.getContextAttributes = i++; -GLmethod.getError = i++; -GLmethod.getExtension = i++; -GLmethod.getFramebufferAttachmentParameter = i++; -GLmethod.getParameter = i++; -GLmethod.getProgramInfoLog = i++; -GLmethod.getProgramParameter = i++; -GLmethod.getRenderbufferParameter = i++; -GLmethod.getShaderInfoLog = i++; -GLmethod.getShaderParameter = i++; //70 -GLmethod.getShaderPrecisionFormat = i++; -GLmethod.getShaderSource = i++; -GLmethod.getSupportedExtensions = i++; -GLmethod.getTexParameter = i++; -GLmethod.getUniform = i++; -GLmethod.getUniformLocation = i++; -GLmethod.getVertexAttrib = i++; -GLmethod.getVertexAttribOffset = i++; -GLmethod.isBuffer = i++; -GLmethod.isContextLost = i++; //80 -GLmethod.isEnabled = i++; -GLmethod.isFramebuffer = i++; -GLmethod.isProgram = i++; -GLmethod.isRenderbuffer = i++; -GLmethod.isShader = i++; -GLmethod.isTexture = i++; -GLmethod.lineWidth = i++; -GLmethod.linkProgram = i++; -GLmethod.pixelStorei = i++; -GLmethod.polygonOffset = i++; //90 -GLmethod.readPixels = i++; -GLmethod.renderbufferStorage = i++; -GLmethod.sampleCoverage = i++; -GLmethod.scissor = i++; -GLmethod.shaderSource = i++; -GLmethod.stencilFunc = i++; -GLmethod.stencilFuncSeparate = i++; -GLmethod.stencilMask = i++; -GLmethod.stencilMaskSeparate = i++; -GLmethod.stencilOp = i++; //100 -GLmethod.stencilOpSeparate = i++; -GLmethod.texImage2D = i++; -GLmethod.texParameterf = i++; -GLmethod.texParameteri = i++; -GLmethod.texSubImage2D = i++; -GLmethod.uniform1f = i++; -GLmethod.uniform1fv = i++; -GLmethod.uniform1i = i++; -GLmethod.uniform1iv = i++; -GLmethod.uniform2f = i++; //110 -GLmethod.uniform2fv = i++; -GLmethod.uniform2i = i++; -GLmethod.uniform2iv = i++; -GLmethod.uniform3f = i++; -GLmethod.uniform3fv = i++; -GLmethod.uniform3i = i++; -GLmethod.uniform3iv = i++; -GLmethod.uniform4f = i++; -GLmethod.uniform4fv = i++; -GLmethod.uniform4i = i++; //120 -GLmethod.uniform4iv = i++; -GLmethod.uniformMatrix2fv = i++; -GLmethod.uniformMatrix3fv = i++; -GLmethod.uniformMatrix4fv = i++; -GLmethod.useProgram = i++; -GLmethod.validateProgram = i++; -GLmethod.vertexAttrib1f = i++; //new -GLmethod.vertexAttrib2f = i++; //new -GLmethod.vertexAttrib3f = i++; //new -GLmethod.vertexAttrib4f = i++; //new //130 -GLmethod.vertexAttrib1fv = i++; //new -GLmethod.vertexAttrib2fv = i++; //new -GLmethod.vertexAttrib3fv = i++; //new -GLmethod.vertexAttrib4fv = i++; //new -GLmethod.vertexAttribPointer = i++; -GLmethod.viewport = i++; - -export default GLmethod; \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/GLtype.js b/uni-app/js_sdk/gcanvas/context-webgl/GLtype.js deleted file mode 100644 index 695abcb..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/GLtype.js +++ /dev/null @@ -1,23 +0,0 @@ -const GLtype = {}; - -[ - "GLbitfield", - "GLboolean", - "GLbyte", - "GLclampf", - "GLenum", - "GLfloat", - "GLint", - "GLintptr", - "GLsizei", - "GLsizeiptr", - "GLshort", - "GLubyte", - "GLuint", - "GLushort" -].sort().map((typeName, i) => GLtype[typeName] = 1 >> (i + 1)); - -export default GLtype; - - - diff --git a/uni-app/js_sdk/gcanvas/context-webgl/Program.js b/uni-app/js_sdk/gcanvas/context-webgl/Program.js deleted file mode 100644 index 6f5691c..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/Program.js +++ /dev/null @@ -1,21 +0,0 @@ -import {getTransferedObjectUUID} from './classUtils'; - -const name = 'WebGLProgram'; - -function uuid(id) { - return getTransferedObjectUUID(name, id); -} - -export default class WebGLProgram { - className = name; - - constructor(id) { - this.id = id; - } - - static uuid = uuid; - - uuid() { - return uuid(this.id); - } -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/Renderbuffer.js b/uni-app/js_sdk/gcanvas/context-webgl/Renderbuffer.js deleted file mode 100644 index d3182ae..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/Renderbuffer.js +++ /dev/null @@ -1,21 +0,0 @@ -import {getTransferedObjectUUID} from './classUtils'; - -const name = 'WebGLRenderBuffer'; - -function uuid(id) { - return getTransferedObjectUUID(name, id); -} - -export default class WebGLRenderbuffer { - className = name; - - constructor(id) { - this.id = id; - } - - static uuid = uuid; - - uuid() { - return uuid(this.id); - } -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/RenderingContext.js b/uni-app/js_sdk/gcanvas/context-webgl/RenderingContext.js deleted file mode 100644 index 5f9608f..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/RenderingContext.js +++ /dev/null @@ -1,1191 +0,0 @@ -import GLenum from './GLenum'; -import ActiveInfo from './ActiveInfo'; -import Buffer from './Buffer'; -import Framebuffer from './Framebuffer'; -import Renderbuffer from './Renderbuffer'; -import Texture from './Texture'; -import Program from './Program'; -import Shader from './Shader'; -import ShaderPrecisionFormat from './ShaderPrecisionFormat'; -import UniformLocation from './UniformLocation'; -import GLmethod from './GLmethod'; - -const processArray = (array, checkArrayType = false) => { - - function joinArray(arr, sep) { - let res = ''; - for (let i = 0; i < arr.length; i++) { - if (i !== 0) { - res += sep; - } - res += arr[i]; - } - return res; - } - - let type = 'Float32Array'; - if (checkArrayType) { - if (array instanceof Uint8Array) { - type = 'Uint8Array' - } else if (array instanceof Uint16Array) { - type = 'Uint16Array'; - } else if (array instanceof Uint32Array) { - type = 'Uint32Array'; - } else if (array instanceof Float32Array) { - type = 'Float32Array'; - } else { - throw new Error('Check array type failed. Array type is ' + typeof array); - } - } - - const ArrayTypes = { - Uint8Array: 1, - Uint16Array: 2, - Uint32Array: 4, - Float32Array: 14 - }; - return ArrayTypes[type] + ',' + btoa(joinArray(array, ',')) -} - -export default class WebGLRenderingContext { - - // static GBridge = null; - - className = 'WebGLRenderingContext'; - - constructor(canvas, type, attrs) { - this._canvas = canvas; - this._type = type; - this._version = 'WebGL 1.0'; - this._attrs = attrs; - this._map = new Map(); - - Object.keys(GLenum) - .forEach(name => Object.defineProperty(this, name, { - value: GLenum[name] - })); - } - - get canvas() { - return this._canvas; - } - - activeTexture = function (textureUnit) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.activeTexture + ',' + textureUnit, - true - ); - } - - attachShader = function (progarm, shader) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.attachShader + ',' + progarm.id + ',' + shader.id, - true - ); - } - - bindAttribLocation = function (program, index, name) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.bindAttribLocation + ',' + program.id + ',' + index + ',' + name, - true - ) - } - - bindBuffer = function (target, buffer) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.bindBuffer + ',' + target + ',' + (buffer ? buffer.id : 0), - true - ); - } - - bindFramebuffer = function (target, framebuffer) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.bindFramebuffer + ',' + target + ',' + (framebuffer ? framebuffer.id : 0), - true - ) - } - - bindRenderbuffer = function (target, renderBuffer) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.bindRenderbuffer + ',' + target + ',' + (renderBuffer ? renderBuffer.id : 0), - true - ) - } - - bindTexture = function (target, texture) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.bindTexture + ',' + target + ',' + (texture ? texture.id : 0), - true - ) - } - - blendColor = function (r, g, b, a) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.blendColor + ',' + target + ',' + r + ',' + g + ',' + b + ',' + a, - true - ) - } - - blendEquation = function (mode) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.blendEquation + ',' + mode, - true - ) - } - - blendEquationSeparate = function (modeRGB, modeAlpha) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.blendEquationSeparate + ',' + modeRGB + ',' + modeAlpha, - true - ) - } - - - blendFunc = function (sfactor, dfactor) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.blendFunc + ',' + sfactor + ',' + dfactor, - true - ); - } - - blendFuncSeparate = function (srcRGB, dstRGB, srcAlpha, dstAlpha) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.blendFuncSeparate + ',' + srcRGB + ',' + dstRGB + ',' + srcAlpha + ',' + dstAlpha, - true - ); - } - - bufferData = function (target, data, usage) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.bufferData + ',' + target + ',' + processArray(data, true) + ',' + usage, - true - ) - } - - bufferSubData = function (target, offset, data) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.bufferSubData + ',' + target + ',' + offset + ',' + processArray(data, true), - true - ) - } - - checkFramebufferStatus = function (target) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.checkFramebufferStatus + ',' + target - ); - return Number(result); - } - - clear = function (mask) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.clear + ',' + mask - ); - this._canvas._needRender = true; - } - - clearColor = function (r, g, b, a) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.clearColor + ',' + r + ',' + g + ',' + b, - true - ) - } - - clearDepth = function (depth) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.clearDepth + ',' + depth, - true - ) - } - - clearStencil = function (s) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.clearStencil + ',' + s - ); - } - - colorMask = function (r, g, b, a) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.colorMask + ',' + r + ',' + g + ',' + b + ',' + a - ) - } - - compileShader = function (shader) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.compileShader + ',' + shader.id, - true - ) - } - - compressedTexImage2D = function (target, level, internalformat, width, height, border, pixels) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.compressedTexImage2D + ',' + target + ',' + level + ',' + internalformat + ',' + - width + ',' + height + ',' + border + ',' + processArray(pixels), - true - ) - } - - compressedTexSubImage2D = function (target, level, xoffset, yoffset, width, height, format, pixels) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.compressedTexSubImage2D + ',' + target + ',' + level + ',' + xoffset + ',' + yoffset + ',' + - width + ',' + height + ',' + format + ',' + processArray(pixels), - true - ) - } - - - copyTexImage2D = function (target, level, internalformat, x, y, width, height, border) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.copyTexImage2D + ',' + target + ',' + level + ',' + internalformat + ',' + x + ',' + y + ',' + - width + ',' + height + ',' + border, - true - ); - } - - copyTexSubImage2D = function (target, level, xoffset, yoffset, x, y, width, height) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.copyTexSubImage2D + ',' + target + ',' + level + ',' + xoffset + ',' + yoffset + ',' + x + ',' + y + ',' + - width + ',' + height - ); - } - - createBuffer = function () { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.createBuffer + '' - ); - const buffer = new Buffer(result); - this._map.set(buffer.uuid(), buffer); - return buffer; - } - - createFramebuffer = function () { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.createFramebuffer + '' - ); - const framebuffer = new Framebuffer(result); - this._map.set(framebuffer.uuid(), framebuffer); - return framebuffer; - } - - - createProgram = function () { - const id = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.createProgram + '' - ); - const program = new Program(id); - this._map.set(program.uuid(), program); - return program; - } - - createRenderbuffer = function () { - const id = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.createRenderbuffer + '' - ) - const renderBuffer = new Renderbuffer(id); - this._map.set(renderBuffer.uuid(), renderBuffer); - return renderBuffer; - } - - createShader = function (type) { - const id = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.createShader + ',' + type - ) - const shader = new Shader(id, type); - this._map.set(shader.uuid(), shader); - return shader; - } - - createTexture = function () { - const id = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.createTexture + '' - ); - const texture = new Texture(id); - this._map.set(texture.uuid(), texture); - return texture; - } - - cullFace = function (mode) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.cullFace + ',' + mode, - true - ) - } - - - deleteBuffer = function (buffer) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.deleteBuffer + ',' + buffer.id, - true - ) - } - - deleteFramebuffer = function (framebuffer) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.deleteFramebuffer + ',' + framebuffer.id, - true - ) - } - - deleteProgram = function (program) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.deleteProgram + ',' + program.id, - true - ) - } - - deleteRenderbuffer = function (renderbuffer) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.deleteRenderbuffer + ',' + renderbuffer.id, - true - ) - } - - deleteShader = function (shader) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.deleteShader + ',' + shader.id, - true - ) - } - - deleteTexture = function (texture) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.deleteTexture + ',' + texture.id, - true - ) - } - - depthFunc = function (func) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.depthFunc + ',' + func - ) - } - - depthMask = function (flag) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.depthMask + ',' + Number(flag), - true - ) - } - - depthRange = function (zNear, zFar) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.depthRange + ',' + zNear + ',' + zFar, - true - ) - } - - detachShader = function (program, shader) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.detachShader + ',' + program.id + ',' + shader.id, - true - ) - } - - disable = function (cap) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.disable + ',' + cap, - true - ) - } - - disableVertexAttribArray = function (index) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.disableVertexAttribArray + ',' + index, - true - ); - } - - drawArrays = function (mode, first, count) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.drawArrays + ',' + mode + ',' + first + ',' + count - ) - this._canvas._needRender = true; - } - - drawElements = function (mode, count, type, offset) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.drawElements + ',' + mode + ',' + count + ',' + type + ',' + offset + ';' - ); - this._canvas._needRender = true; - } - - enable = function (cap) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.enable + ',' + cap, - true - ); - } - - enableVertexAttribArray = function (index) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.enableVertexAttribArray + ',' + index, - true - ) - } - - - flush = function () { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.flush + '' - ) - } - - framebufferRenderbuffer = function (target, attachment, textarget, texture, level) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.framebufferRenderbuffer + ',' + target + ',' + attachment + ',' + textarget + ',' + (texture ? texture.id : 0) + ',' + level, - true - ) - } - - framebufferTexture2D = function (target, attachment, textarget, texture, level) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.framebufferTexture2D + ',' + target + ',' + attachment + ',' + textarget + ',' + (texture ? texture.id : 0) + ',' + level, - true - ) - } - - frontFace = function (mode) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.frontFace + ',' + mode, - true - ) - } - - generateMipmap = function (target) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.generateMipmap + ',' + target, - true - ) - } - - getActiveAttrib = function (progarm, index) { - const resultString = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getActiveAttrib + ',' + progarm.id + ',' + index - ) - const [type, size, name] = resultString.split(','); - return new ActiveInfo({ - type: Number(type), - size: Number(size), - name - }); - } - - getActiveUniform = function (progarm, index) { - const resultString = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getActiveUniform + ',' + progarm.id + ',' + index - ); - const [type, size, name] = resultString.split(','); - return new ActiveInfo({ - type: Number(type), - size: Number(size), - name - }) - } - - getAttachedShaders = function (progarm) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getAttachedShaders + ',' + progarm.id - ); - const [type, ...ids] = result; - return ids.map(id => this._map.get(Shader.uuid(id))); - } - - getAttribLocation = function (progarm, name) { - return WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getAttribLocation + ',' + progarm.id + ',' + name - ) - } - - getBufferParameter = function (target, pname) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getBufferParameter + ',' + target + ',' + pname - ); - const [type, res] = getBufferParameter; - return res; - } - - getError = function () { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getError + '' - ) - return result; - } - - getExtension = function (name) { - return null; - } - - getFramebufferAttachmentParameter = function (target, attachment, pname) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getFramebufferAttachmentParameter + ',' + target + ',' + attachment + ',' + pname - ) - switch (pname) { - case GLenum.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: - return this._map.get(Renderbuffer.uuid(result)) || this._map.get(Texture.uuid(result)) || null; - default: - return result; - } - } - - getParameter = function (pname) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getParameter + ',' + pname - ) - switch (pname) { - case GLenum.VERSION: - return this._version; - case GLenum.ARRAY_BUFFER_BINDING: // buffer - case GLenum.ELEMENT_ARRAY_BUFFER_BINDING: // buffer - return this._map.get(Buffer.uuid(result)) || null; - case GLenum.CURRENT_PROGRAM: // program - return this._map.get(Program.uuid(result)) || null; - case GLenum.FRAMEBUFFER_BINDING: // framebuffer - return this._map.get(Framebuffer.uuid(result)) || null; - case GLenum.RENDERBUFFER_BINDING: // renderbuffer - return this._map.get(Renderbuffer.uuid(result)) || null; - case GLenum.TEXTURE_BINDING_2D: // texture - case GLenum.TEXTURE_BINDING_CUBE_MAP: // texture - return this._map.get(Texture.uuid(result)) || null; - case GLenum.ALIASED_LINE_WIDTH_RANGE: // Float32Array - case GLenum.ALIASED_POINT_SIZE_RANGE: // Float32Array - case GLenum.BLEND_COLOR: // Float32Array - case GLenum.COLOR_CLEAR_VALUE: // Float32Array - case GLenum.DEPTH_RANGE: // Float32Array - case GLenum.MAX_VIEWPORT_DIMS: // Int32Array - case GLenum.SCISSOR_BOX: // Int32Array - case GLenum.VIEWPORT: // Int32Array - case GLenum.COMPRESSED_TEXTURE_FORMATS: // Uint32Array - default: - const [type, ...res] = result.split(','); - if (res.length === 1) { - return Number(res[0]); - } else { - return res.map(Number); - } - } - } - - getProgramInfoLog = function (progarm) { - return WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getProgramInfoLog + ',' + progarm.id - ) - } - - getProgramParameter = function (program, pname) { - const res = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getProgramParameter + ',' + program.id + ',' + pname - ); - - const [type, result] = res.split(',').map(i => parseInt(i)); - - if (type === 1) { - return Boolean(result); - } else if (type === 2) { - return result; - } else { - throw new Error('Unrecongized program paramater ' + res + ', type: ' + typeof res); - } - } - - - getRenderbufferParameter = function (target, pname) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getRenderbufferParameter + ',' + target + ',' + pname - ) - return result; - } - - - getShaderInfoLog = function (shader) { - return WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getShaderInfoLog + ',' + shader.id - ); - } - - getShaderParameter = function (shader, pname) { - return WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getShaderParameter + ',' + shader.id + ',' + pname - ) - } - - getShaderPrecisionFormat = function (shaderType, precisionType) { - const [rangeMin, rangeMax, precision] = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getShaderPrecisionFormat + ',' + shaderType + ',' + precisionType - ); - const shaderPrecisionFormat = new ShaderPrecisionFormat({ - rangeMin: Number(rangeMin), - rangeMax: Number(rangeMax), - precision: Number(precision) - }); - return shaderPrecisionFormat; - } - - getShaderSource = function (shader) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getShaderSource + ',' + shader.id - ); - return result; - } - - getSupportedExtensions = function () { - return Object.keys({}); - } - - getTexParameter = function (target, pname) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getTexParameter + ',' + target + ',' + pname - ) - return result; - } - - getUniformLocation = function (program, name) { - const id = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getUniformLocation + ',' + program.id + ',' + name - ); - if (id === -1) { - return null; - } else { - return new UniformLocation(Number(id)); - } - } - - getVertexAttrib = function (index, pname) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getVertexAttrib + ',' + index + ',' + pname - ); - switch (pname) { - case GLenum.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: - return this._map.get(Buffer.uuid(result)) || null; - case GLenum.CURRENT_VERTEX_ATTRIB: // Float32Array - default: - return result; - } - } - - getVertexAttribOffset = function (index, pname) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.getVertexAttribOffset + ',' + index + ',' + pname - ) - return Number(result); - } - - isBuffer = function (buffer) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.isBuffer + ',' + buffer.id - ) - return Boolean(result); - } - - isContextLost = function () { - return false; - } - - isEnabled = function (cap) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.isEnabled + ',' + cap - ) - return Boolean(result); - } - - isFramebuffer = function (framebuffer) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.isFramebuffer + ',' + framebuffer.id - ) - return Boolean(result); - } - - isProgram = function (program) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.isProgram + ',' + program.id - ) - return Boolean(result); - } - - isRenderbuffer = function (renderBuffer) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.isRenderbuffer + ',' + renderbuffer.id - ) - return Boolean(result); - } - - isShader = function (shader) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.isShader + ',' + shader.id - ) - return Boolean(result); - } - - isTexture = function (texture) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.isTexture + ',' + texture.id - ); - return Boolean(result); - } - - lineWidth = function (width) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.lineWidth + ',' + width, - true - ) - } - - linkProgram = function (program) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.linkProgram + ',' + program.id, - true - ); - } - - - pixelStorei = function (pname, param) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.pixelStorei + ',' + pname + ',' + Number(param) - ) - } - - polygonOffset = function (factor, units) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.polygonOffset + ',' + factor + ',' + units - ) - } - - readPixels = function (x, y, width, height, format, type, pixels) { - const result = WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.readPixels + ',' + x + ',' + y + ',' + width + ',' + height + ',' + format + ',' + type - ) - return result; - } - - renderbufferStorage = function (target, internalFormat, width, height) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.renderbufferStorage + ',' + target + ',' + internalFormat + ',' + width + ',' + height, - true - ) - } - - sampleCoverage = function (value, invert) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.sampleCoverage + ',' + value + ',' + Number(invert), - true - ) - } - - scissor = function (x, y, width, height) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.scissor + ',' + x + ',' + y + ',' + width + ',' + height, - true - ) - } - - shaderSource = function (shader, source) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.shaderSource + ',' + shader.id + ',' + source - ) - } - - stencilFunc = function (func, ref, mask) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.stencilFunc + ',' + func + ',' + ref + ',' + mask, - true - ) - } - - stencilFuncSeparate = function (face, func, ref, mask) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.stencilFuncSeparate + ',' + face + ',' + func + ',' + ref + ',' + mask, - true - ) - } - - stencilMask = function (mask) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.stencilMask + ',' + mask, - true - ) - } - - stencilMaskSeparate = function (face, mask) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.stencilMaskSeparate + ',' + face + ',' + mask, - true - ) - } - - stencilOp = function (fail, zfail, zpass) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.stencilOp + ',' + fail + ',' + zfail + ',' + zpass - ) - } - - stencilOpSeparate = function (face, fail, zfail, zpass) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.stencilOp + ',' + face + ',' + fail + ',' + zfail + ',' + zpass, - true - ) - } - - texImage2D = function (...args) { - WebGLRenderingContext.GBridge.texImage2D(this._canvas.id, ...args); - } - - - texParameterf = function (target, pname, param) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.texParameterf + ',' + target + ',' + pname + ',' + param, - true - ) - } - - texParameteri = function (target, pname, param) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.texParameteri + ',' + target + ',' + pname + ',' + param - ) - } - - texSubImage2D = function (...args) { - WebGLRenderingContext.GBridge.texSubImage2D(this._canvas.id, ...args); - } - - uniform1f = function (location, v0) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform1f + ',' + location.id + ',' + v0 - ) - } - - uniform1fv = function (location, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform1fv + ',' + location.id + ',' + processArray(value), - true - ) - } - - uniform1i = function (location, v0) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform1i + ',' + location.id + ',' + v0, - // true - ) - } - - uniform1iv = function (location, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform1iv + ',' + location.id + ',' + processArray(value), - true - ) - } - - uniform2f = function (location, v0, v1) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform2f + ',' + location.id + ',' + v0 + ',' + v1, - true - ) - } - - uniform2fv = function (location, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform2fv + ',' + location.id + ',' + processArray(value), - true - ) - } - - uniform2i = function (location, v0, v1) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform2i + ',' + location.id + ',' + v0 + ',' + v1, - true - ) - } - - uniform2iv = function (location, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform2iv + ',' + location.id + ',' + processArray(value), - true - ) - } - - uniform3f = function (location, v0, v1, v2) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform3f + ',' + location.id + ',' + v0 + ',' + v1 + ',' + v2, - true - ) - } - - uniform3fv = function (location, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform3fv + ',' + location.id + ',' + processArray(value), - true - ) - } - - uniform3i = function (location, v0, v1, v2) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform3i + ',' + location.id + ',' + v0 + ',' + v1 + ',' + v2, - true - ) - } - - uniform3iv = function (location, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform3iv + ',' + location.id + ',' + processArray(value), - true - ) - } - - uniform4f = function (location, v0, v1, v2, v3) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform4f + ',' + location.id + ',' + v0 + ',' + v1 + ',' + v2 + ',' + v3, - true - ) - } - - uniform4fv = function (location, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform4fv + ',' + location.id + ',' + processArray(value), - true - ) - } - - uniform4i = function (location, v0, v1, v2, v3) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform4i + ',' + location.id + ',' + v0 + ',' + v1 + ',' + v2 + ',' + v3, - true - ) - } - - uniform4iv = function (location, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniform4iv + ',' + location.id + ',' + processArray(value, true), - true - ) - } - - uniformMatrix2fv = function (location, transpose, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniformMatrix2fv + ',' + location.id + ',' + Number(transpose) + ',' + processArray(value), - true - ) - } - - uniformMatrix3fv = function (location, transpose, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniformMatrix3fv + ',' + location.id + ',' + Number(transpose) + ',' + processArray(value), - true - ) - } - - uniformMatrix4fv = function (location, transpose, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.uniformMatrix4fv + ',' + location.id + ',' + Number(transpose) + ',' + processArray(value), - true - ); - } - - useProgram = function (progarm) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.useProgram + ',' + progarm.id + '', - true - ) - } - - - validateProgram = function (program) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.validateProgram + ',' + program.id, - true - ) - } - - vertexAttrib1f = function (index, v0) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.vertexAttrib1f + ',' + index + ',' + v0, - true - ) - } - - vertexAttrib2f = function (index, v0, v1) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.vertexAttrib2f + ',' + index + ',' + v0 + ',' + v1, - true - ) - } - - vertexAttrib3f = function (index, v0, v1, v2) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.vertexAttrib3f + ',' + index + ',' + v0 + ',' + v1 + ',' + v2, - true - ) - } - - vertexAttrib4f = function (index, v0, v1, v2, v3) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.vertexAttrib4f + ',' + index + ',' + v0 + ',' + v1 + ',' + v2 + ',' + v3, - true - ) - } - - vertexAttrib1fv = function (index, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.vertexAttrib1fv + ',' + index + ',' + processArray(value), - true - ) - } - - vertexAttrib2fv = function (index, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.vertexAttrib2fv + ',' + index + ',' + processArray(value), - true - ) - } - - vertexAttrib3fv = function (index, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.vertexAttrib3fv + ',' + index + ',' + processArray(value), - true - ) - } - - vertexAttrib4fv = function (index, value) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.vertexAttrib4fv + ',' + index + ',' + processArray(value), - true - ) - } - - vertexAttribPointer = function (index, size, type, normalized, stride, offset) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.vertexAttribPointer + ',' + index + ',' + size + ',' + type + ',' + Number(normalized) + ',' + stride + ',' + offset, - true - ) - } - - viewport = function (x, y, width, height) { - WebGLRenderingContext.GBridge.callNative( - this._canvas.id, - GLmethod.viewport + ',' + x + ',' + y + ',' + width + ',' + height, - true - ) - } -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/Shader.js b/uni-app/js_sdk/gcanvas/context-webgl/Shader.js deleted file mode 100644 index a763886..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/Shader.js +++ /dev/null @@ -1,22 +0,0 @@ -import {getTransferedObjectUUID} from './classUtils'; - -const name = 'WebGLShader'; - -function uuid(id) { - return getTransferedObjectUUID(name, id); -} - -export default class WebGLShader { - className = name; - - constructor(id, type) { - this.id = id; - this.type = type; - } - - static uuid = uuid; - - uuid() { - return uuid(this.id); - } -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/ShaderPrecisionFormat.js b/uni-app/js_sdk/gcanvas/context-webgl/ShaderPrecisionFormat.js deleted file mode 100644 index 208d6c1..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/ShaderPrecisionFormat.js +++ /dev/null @@ -1,11 +0,0 @@ -export default class WebGLShaderPrecisionFormat { - className = 'WebGLShaderPrecisionFormat'; - - constructor({ - rangeMin, rangeMax, precision - }) { - this.rangeMin = rangeMin; - this.rangeMax = rangeMax; - this.precision = precision; - } -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/Texture.js b/uni-app/js_sdk/gcanvas/context-webgl/Texture.js deleted file mode 100644 index de4d806..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/Texture.js +++ /dev/null @@ -1,22 +0,0 @@ -import {getTransferedObjectUUID} from './classUtils'; - -const name = 'WebGLTexture'; - -function uuid(id) { - return getTransferedObjectUUID(name, id); -} - -export default class WebGLTexture { - className = name; - - constructor(id, type) { - this.id = id; - this.type = type; - } - - static uuid = uuid; - - uuid() { - return uuid(this.id); - } -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/UniformLocation.js b/uni-app/js_sdk/gcanvas/context-webgl/UniformLocation.js deleted file mode 100644 index f5e99dc..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/UniformLocation.js +++ /dev/null @@ -1,22 +0,0 @@ -import {getTransferedObjectUUID} from './classUtils'; - -const name = 'WebGLUniformLocation'; - -function uuid(id) { - return getTransferedObjectUUID(name, id); -} - -export default class WebGLUniformLocation { - className = name; - - constructor(id, type) { - this.id = id; - this.type = type; - } - - static uuid = uuid; - - uuid() { - return uuid(this.id); - } -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/context-webgl/classUtils.js b/uni-app/js_sdk/gcanvas/context-webgl/classUtils.js deleted file mode 100644 index 88716be..0000000 --- a/uni-app/js_sdk/gcanvas/context-webgl/classUtils.js +++ /dev/null @@ -1,3 +0,0 @@ -export function getTransferedObjectUUID(name, id) { - return `${name.toLowerCase()}-${id}`; -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/env/canvas.js b/uni-app/js_sdk/gcanvas/env/canvas.js deleted file mode 100644 index a8d9bb9..0000000 --- a/uni-app/js_sdk/gcanvas/env/canvas.js +++ /dev/null @@ -1,74 +0,0 @@ -import GContext2D from '../context-2d/RenderingContext'; -import GContextWebGL from '../context-webgl/RenderingContext'; - -export default class GCanvas { - - // static GBridge = null; - - id = null; - - _needRender = true; - - constructor(id, { disableAutoSwap }) { - this.id = id; - - this._disableAutoSwap = disableAutoSwap; - if (disableAutoSwap) { - this._swapBuffers = () => { - GCanvas.GBridge.render(this.id); - } - } - } - - getContext(type) { - - let context = null; - - if (type.match(/webgl/i)) { - context = new GContextWebGL(this); - - context.componentId = this.id; - - if (!this._disableAutoSwap) { - const render = () => { - if (this._needRender) { - GCanvas.GBridge.render(this.id); - this._needRender = false; - } - } - setInterval(render, 16); - } - - GCanvas.GBridge.callSetContextType(this.id, 1); // 0 for 2d; 1 for webgl - } else if (type.match(/2d/i)) { - context = new GContext2D(this); - - context.componentId = this.id; - -// const render = ( callback ) => { -// -// const commands = context._drawCommands; -// context._drawCommands = ''; -// -// GCanvas.GBridge.render2d(this.id, commands, callback); -// this._needRender = false; -// } -// //draw方法触发 -// context._flush = render; -// //setInterval(render, 16); - - GCanvas.GBridge.callSetContextType(this.id, 0); - } else { - throw new Error('not supported context ' + type); - } - - return context; - - } - - reset() { - GCanvas.GBridge.callReset(this.id); - } - - -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/env/image.js b/uni-app/js_sdk/gcanvas/env/image.js deleted file mode 100644 index 9499a51..0000000 --- a/uni-app/js_sdk/gcanvas/env/image.js +++ /dev/null @@ -1,96 +0,0 @@ -let incId = 1; - -const noop = function () { }; - -class GImage { - - static GBridge = null; - - constructor() { - this._id = incId++; - this._width = 0; - this._height = 0; - this._src = undefined; - this._onload = noop; - this._onerror = noop; - this.complete = false; - } - - get width() { - return this._width; - } - set width(v) { - this._width = v; - } - - get height() { - return this._height; - } - - set height(v) { - this._height = v; - } - - get src() { - return this._src; - } - - set src(v) { - - if (v.startsWith('//')) { - v = 'http:' + v; - } - - this._src = v; - - GImage.GBridge.perloadImage([this._src, this._id], (data) => { - if (typeof data === 'string') { - data = JSON.parse(data); - } - if (data.error) { - var evt = { type: 'error', target: this }; - this.onerror(evt); - } else { - this.complete = true; - this.width = typeof data.width === 'number' ? data.width : 0; - this.height = typeof data.height === 'number' ? data.height : 0; - var evt = { type: 'load', target: this }; - this.onload(evt); - } - }); - } - - addEventListener(name, listener) { - if (name === 'load') { - this.onload = listener; - } else if (name === 'error') { - this.onerror = listener; - } - } - - removeEventListener(name, listener) { - if (name === 'load') { - this.onload = noop; - } else if (name === 'error') { - this.onerror = noop; - } - } - - get onload() { - return this._onload; - } - - set onload(v) { - this._onload = v; - } - - get onerror() { - return this._onerror; - } - - set onerror(v) { - this._onerror = v; - } -} - -export default GImage; \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/env/tool.js b/uni-app/js_sdk/gcanvas/env/tool.js deleted file mode 100644 index d3fb398..0000000 --- a/uni-app/js_sdk/gcanvas/env/tool.js +++ /dev/null @@ -1,24 +0,0 @@ - -export function ArrayBufferToBase64 (buffer) { - var binary = ''; - var bytes = new Uint8ClampedArray(buffer); - for (var len = bytes.byteLength, i = 0; i < len; i++) { - binary += String.fromCharCode(bytes[i]); - } - return btoa(binary); -} - -export function Base64ToUint8ClampedArray(base64String) { - const padding = '='.repeat((4 - base64String.length % 4) % 4); - const base64 = (base64String + padding) - .replace(/\-/g, '+') - .replace(/_/g, '/'); - - const rawData = atob(base64); - const outputArray = new Uint8ClampedArray(rawData.length); - - for (let i = 0; i < rawData.length; ++i) { - outputArray[i] = rawData.charCodeAt(i); - } - return outputArray; -} \ No newline at end of file diff --git a/uni-app/js_sdk/gcanvas/index.js b/uni-app/js_sdk/gcanvas/index.js deleted file mode 100644 index a34ad58..0000000 --- a/uni-app/js_sdk/gcanvas/index.js +++ /dev/null @@ -1,39 +0,0 @@ -import GCanvas from './env/canvas'; -import GImage from './env/image'; - -import GWebGLRenderingContext from './context-webgl/RenderingContext'; -import GContext2D from './context-2d/RenderingContext'; - -import GBridgeWeex from './bridge/bridge-weex'; - -export let Image = GImage; - -export let WeexBridge = GBridgeWeex; - -export function enable(el, { bridge, debug, disableAutoSwap, disableComboCommands } = {}) { - - const GBridge = GImage.GBridge = GCanvas.GBridge = GWebGLRenderingContext.GBridge = GContext2D.GBridge = bridge; - - GBridge.callEnable(el.ref, [ - 0, // renderMode: 0--RENDERMODE_WHEN_DIRTY, 1--RENDERMODE_CONTINUOUSLY - -1, // hybridLayerType: 0--LAYER_TYPE_NONE 1--LAYER_TYPE_SOFTWARE 2--LAYER_TYPE_HARDWARE - false, // supportScroll - false, // newCanvasMode - 1, // compatible - 'white',// clearColor - false // sameLevel: newCanvasMode = true && true => GCanvasView and Webview is same level - ]); - - if (debug === true) { - GBridge.callEnableDebug(); - } - if (disableComboCommands) { - GBridge.callEnableDisableCombo(); - } - - var canvas = new GCanvas(el.ref, { disableAutoSwap }); - canvas.width = el.style.width; - canvas.height = el.style.height; - - return canvas; -}; \ No newline at end of file diff --git a/uni-app/js_sdk/uqrcode/package.json b/uni-app/js_sdk/uqrcode/package.json deleted file mode 100644 index 53c27a2..0000000 --- a/uni-app/js_sdk/uqrcode/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "uqrcode", - "version": "3.6.0", - "description": "", - "main": "uqrcode.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC" -} diff --git a/uni-app/js_sdk/uqrcode/uqrcode.js b/uni-app/js_sdk/uqrcode/uqrcode.js deleted file mode 100644 index 6f83e04..0000000 --- a/uni-app/js_sdk/uqrcode/uqrcode.js +++ /dev/null @@ -1,47 +0,0 @@ -//--------------------------------------------------------------------- -// uQRCode二维码生成插件 v3.6.0 Basic -// -// uQRCode是一款基于Javascript环境开发的二维码生成插件,适用所有Javascript运行环境的前端应用和Node.js。 -// -// Copyright (c) Sansnn uQRCode All rights reserved. -// -// Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) -// -// github地址: -// https://github.com/Sansnn/uQRCode -// -// npm地址: -// https://www.npmjs.com/package/uqrcodejs -// -// uni-app插件市场地址: -// https://ext.dcloud.net.cn/plugin?id=1287 -// -// 复制使用请保留本段注释,感谢支持开源! -// -//--------------------------------------------------------------------- -//--------------------------------------------------------------------- -// QRCode for JavaScript -// -// Copyright (c) 2009 Kazuhiko Arase -// -// URL: http://www.d-project.com/ -// -// Licensed under the MIT license: -// http://www.opensource.org/licenses/mit-license.php -// -// The word "QR Code" is registered trademark of -// DENSO WAVE INCORPORATED -// http://www.denso-wave.com/qrcode/faqpatent-e.html -// -//--------------------------------------------------------------------- -"use strict";let uQRCode;!function(){function o(o){this.mode=d.MODE_8BIT_BYTE,this.data=o}function e(o,e){this.typeNumber=o,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=new Array}function r(o,e){if(null==o.length)throw new Error(o.length+"/"+e);for(var r=0;r{i(o)}).catch(o=>{n(o)}).finally(()=>{if(e.length){const r=e.shift();o(r.task,r.resolve,r.reject)}else r=!1})}let e=this.waitingQueue=[],r=this.isRunning=!1;this.exec=function(t){return new Promise((i,n)=>{r?e.push({task:t,resolve:i,reject:n}):(r=!0,o(t,i,n))})}}function a(o){this.errMsg=o}function u(o,e){var r=this.data="",t=this.size=200,i=this.typeNumber=-1,n=(this.errorCorrectLevel=s.H,this.useDynamicSize=!1,this.dynamicSize=void 0,this.margin=0),a=(this.backgroundColor="#FFFFFF",this.backgroundImageSrc=void 0,this.backgroundImageWidth=void 0),d=this.backgroundImageHeight=void 0,g=this.backgroundImageX=void 0,l=this.backgroundImageY=void 0,h=(this.backgroundImageAlpha=1,this.backgroundImageBorderRadius=0,this.foregroundColor="#000000",this.foregroundImageSrc=void 0,this.foregroundImageWidth=void 0),c=this.foregroundImageHeight=void 0,m=this.foregroundImageX=void 0,f=this.foregroundImageY=void 0,v=this.foregroundImagePadding=0,C=(this.foregroundImageBackgroundColor="#FFFFFF",this.foregroundImageBorderRadius=0),p=this.foregroundImageShadowOffsetX=0,b=this.foregroundImageShadowOffsetY=0,y=this.foregroundImageShadowBlur=0,k=(this.foregroundImageShadowColor="#808080",this.foregroundPadding=0,this.foregroundRadius=1),I=this.positionProbeBackgroundColor=void 0,w=this.positionProbeForegroundColor=void 0,B=this.separatorColor=void 0,T=this.positionAdjustBackgroundColor=void 0,P=this.positionAdjustForegroundColor=void 0,S=this.timingBackgroundColor=void 0,A=this.timingForegroundColor=void 0,E=this.typeNumberBackgroundColor=void 0,D=this.typeNumberForegroundColor=void 0,N=this.darkBlockColor=void 0,L=(this.style="default",this.patterns=[],this.canvasContext=void 0);this.queue=!1,this.modules=[],this.moduleCount=0,this.drawModules=[];Object.defineProperties(this,{data:{get:()=>(""!==r&&void 0!==r||console.error("[uQRCode]: data must be set!"),r),set(o){r=o}},size:{get:()=>t,set(o){t=Number(o)}},typeNumber:{get:()=>i,set(o){i=Number(o)}},margin:{get:()=>n,set(o){n=Number(o)}},backgroundImageWidth:{get(){return void 0===a?this.dynamicSize:this.useDynamicSize?this.dynamicSize/this.size*a:a},set(o){a=Number(o)}},backgroundImageHeight:{get(){return void 0===d?this.dynamicSize:this.useDynamicSize?this.dynamicSize/this.size*d:d},set(o){d=Number(o)}},backgroundImageX:{get(){return void 0===g?0:this.useDynamicSize?this.dynamicSize/this.size*g:g},set(o){g=Number(o)}},backgroundImageY:{get(){return void 0===l?0:this.useDynamicSize?this.dynamicSize/this.size*l:l},set(o){l=Number(o)}},foregroundImageWidth:{get(){return void 0===h?(this.dynamicSize-2*this.margin)/4:this.useDynamicSize?this.dynamicSize/this.size*h:h},set(o){h=Number(o)}},foregroundImageHeight:{get(){return void 0===c?(this.dynamicSize-2*this.margin)/4:this.useDynamicSize?this.dynamicSize/this.size*c:c},set(o){c=Number(o)}},foregroundImageX:{get(){return void 0===m?this.dynamicSize/2-this.foregroundImageWidth/2:this.useDynamicSize?this.dynamicSize/this.size*m:m},set(o){m=Number(o)}},foregroundImageY:{get(){return void 0===f?this.dynamicSize/2-this.foregroundImageHeight/2:this.useDynamicSize?this.dynamicSize/this.size*f:f},set(o){f=Number(o)}},foregroundImagePadding:{get(){return this.useDynamicSize?this.dynamicSize/this.size*v:v},set(o){v=Number(o)}},foregroundImageBorderRadius:{get(){return this.useDynamicSize?this.dynamicSize/this.size*C:C},set(o){C=Number(o)}},foregroundImageShadowOffsetX:{get(){return this.useDynamicSize?this.dynamicSize/this.size*p:p},set(o){p=Number(o)}},foregroundImageShadowOffsetY:{get(){return this.useDynamicSize?this.dynamicSize/this.size*b:b},set(o){b=Number(o)}},foregroundImageShadowBlur:{get(){return this.useDynamicSize?this.dynamicSize/this.size*y:y},set(o){y=Number(o)}},foregroundRadius:{get:()=>k,set(o){k=o>1?1:o<0?0:o}},positionProbeBackgroundColor:{get(){return I||this.backgroundColor},set(o){I=o}},positionProbeForegroundColor:{get(){return w||this.foregroundColor},set(o){w=o}},separatorColor:{get(){return B||this.backgroundColor},set(o){B=o}},positionAdjustBackgroundColor:{get(){return T||this.backgroundColor},set(o){T=o}},positionAdjustForegroundColor:{get(){return P||this.foregroundColor},set(o){P=o}},timingBackgroundColor:{get(){return S||this.backgroundColor},set(o){S=o}},timingForegroundColor:{get(){return A||this.foregroundColor},set(o){A=o}},typeNumberBackgroundColor:{get(){return E||this.backgroundColor},set(o){E=o}},typeNumberForegroundColor:{get(){return D||this.foregroundColor},set(o){D=o}},darkBlockColor:{get(){return N||this.foregroundColor},set(o){N=o}},canvasContext:{get:()=>(void 0===L&&console.error("[uQRCode]: use drawCanvas, you need to set the canvasContext!"),L),set(o){L=u.getCanvasContext(o)}}}),o&&this.setOptions(o),e&&(this.canvasContext=u.getCanvasContext(e))}o.prototype={getLength:function(o){return this.data.length},write:function(o){for(var e=0;e=7&&this.setupTypeNumber(o),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,r)},setupPositionProbePattern:function(o,e){for(var r=-1;r<=7;r++)if(!(o+r<=-1||this.moduleCount<=o+r))for(var t=-1;t<=7;t++)e+t<=-1||this.moduleCount<=e+t||(this.modules[o+r][e+t]=0<=r&&r<=6&&(0==t||6==t)||0<=t&&t<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=t&&t<=4)},getBestMaskPattern:function(){for(var o=0,e=0,r=0;r<8;r++){this.makeImpl(!0,r);var t=l.getLostPoint(this);(0==r||o>t)&&(o=t,e=r)}return e},createMovieClip:function(o,e,r){var t=o.createEmptyMovieClip(e,r),i=1;this.make();for(var n=0;n>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=t}for(r=0;r<18;r++){t=!o&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=t}},setupTypeInfo:function(o,e){for(var r=this.errorCorrectLevel<<3|e,t=l.getBCHTypeInfo(r),i=0;i<15;i++){var n=!o&&1==(t>>i&1);i<6?this.modules[i][8]=n:i<8?this.modules[i+1][8]=n:this.modules[this.moduleCount-15+i][8]=n}for(i=0;i<15;i++){n=!o&&1==(t>>i&1);i<8?this.modules[8][this.moduleCount-i-1]=n:i<9?this.modules[8][15-i-1+1]=n:this.modules[8][15-i-1]=n}this.modules[this.moduleCount-8][8]=!o},mapData:function(o,e){for(var r=-1,t=this.moduleCount-1,i=7,n=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var u=0;u<2;u++)if(null==this.modules[t][a-u]){var d=!1;n>>i&1));var s=l.getMask(e,t,a-u);s&&(d=!d),this.modules[t][a-u]=d,i--,-1==i&&(n++,i=7)}if(t+=r,t<0||this.moduleCount<=t){t-=r,r=-r;break}}}},e.PAD0=236,e.PAD1=17,e.createData=function(o,r,n){for(var a=t.getRSBlocks(o,r),u=new i,d=0;d8*g)throw new Error("code length overflow. ("+u.getLengthInBits()+">"+8*g+")");for(u.getLengthInBits()+4<=8*g&&u.put(0,4);u.getLengthInBits()%8!=0;)u.putBit(!1);for(;!(u.getLengthInBits()>=8*g||(u.put(e.PAD0,8),u.getLengthInBits()>=8*g));)u.put(e.PAD1,8);return e.createBytes(u,a)},e.createBytes=function(o,e){for(var t=0,i=0,n=0,a=new Array(e.length),u=new Array(e.length),d=0;d=0?f.get(v):0}}var C=0;for(h=0;h=0;)e^=l.G15<=0;)e^=l.G18<>>=1;return e},getPatternPosition:function(o){return l.PATTERN_POSITION_TABLE[o-1]},getMask:function(o,e,r){switch(o){case g.PATTERN000:return(e+r)%2==0;case g.PATTERN001:return e%2==0;case g.PATTERN010:return r%3==0;case g.PATTERN011:return(e+r)%3==0;case g.PATTERN100:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case g.PATTERN101:return e*r%2+e*r%3==0;case g.PATTERN110:return(e*r%2+e*r%3)%2==0;case g.PATTERN111:return(e*r%3+(e+r)%2)%2==0;default:throw new Error("bad maskPattern:"+o)}},getErrorCorrectPolynomial:function(o){for(var e=new r([1],0),t=0;t5&&(r+=3+n-5)}for(t=0;t=256;)o-=255;return h.EXP_TABLE[o]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},c=0;c<8;c++)h.EXP_TABLE[c]=1<>>7-o%8&1)},put:function(o,e){for(var r=0;r>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(o){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),o&&(this.buffer[e]|=128>>>this.length%8),this.length++}},u.errorCorrectLevel=s,u.queue=new n,u.queueLoadImage=new n,u.isQueueLoadImage=!1,u.loadImageCache=[],u.utf16To8=function(o){for(var e,r="",t=0;t=1&&e<=127?r+=o.charAt(t):e>2047?(r+=String.fromCharCode(224|e>>12&15),r+=String.fromCharCode(128|e>>6&63),r+=String.fromCharCode(128|e>>0&63)):(r+=String.fromCharCode(192|e>>6&31),r+=String.fromCharCode(128|e>>0&63));return r},u.deepReplace=function(o={},e={},r=!1){let t;t=r?o:{...o};for(let o in e){var i=e[o];null!=i&&(i.constructor==Object?t[o]=this.deepReplace(t[o],i):i.constructor!=String||i?t[o]=i:t[o]=t[o])}return t},u.getSomePropertyToNewObject=function(o={},e=[]){let r={};return e.forEach(e=>{r[e]=o[e]}),r},u.getCanvasContext=function(o){return o.setFillStyle=o.setFillStyle||function(e){o.fillStyle=e},o.setFontSize=o.setFontSize||function(e){o.font=`${e}px`},o.setTextAlign=o.setTextAlign||function(e){o.textAlign=e},o.setTextBaseline=o.setTextBaseline||function(e){o.textBaseline=e},o.draw=o.draw||function(o,e){e&&e()},o},u.getLoadImage=function(o){return"function"==typeof o?function(e,r=!1){return u.isQueueLoadImage?u.queueLoadImage.exec(()=>new Promise((t,i)=>{setTimeout(()=>{const r=u.loadImageCache.find(o=>o.src==e);r?t(r.img):o(e).then(o=>{u.loadImageCache.push({src:e,img:o}),t(o)}).catch(o=>{i(o)})},r?150:10)})):o(e)}:function(o){return Promise.resolve(o)}};var m=u.loadImage=function(o){return Promise.resolve(o)};Object.defineProperty(u,"loadImage",{get:()=>m,set(o){m=u.getLoadImage(o)}}),u.prototype={setOptions(o){var e,r,t,i,n,a,d,s,g,l,h,c,m,f,v,C,p,b,y,k,I,w,B,T,P,S,A,E,D,N,L,R,z,M,x,_,O,F,H,X,j,Y,Q,G,K,W,q,U,$,J,V,Z,oo,eo,ro,to,io,no,ao;o&&u.deepReplace(this,{data:o.data||o.text,size:o.size,typeNumber:o.typeNumber,errorCorrectLevel:o.errorCorrectLevel,useDynamicSize:o.useDynamicSize,margin:o.margin,backgroundColor:o.backgroundColor||(null===(e=o.background)||void 0===e?void 0:e.color),backgroundImageSrc:o.backgroundImageSrc||(null===(r=o.background)||void 0===r?void 0:null===(t=r.image)||void 0===t?void 0:t.src),backgroundImageWidth:o.backgroundImageWidth||(null===(i=o.background)||void 0===i?void 0:null===(n=i.image)||void 0===n?void 0:n.width),backgroundImageHeight:o.backgroundImageHeight||(null===(a=o.background)||void 0===a?void 0:null===(d=a.image)||void 0===d?void 0:d.height),backgroundImageX:o.backgroundImageX||(null===(s=o.background)||void 0===s?void 0:null===(g=s.image)||void 0===g?void 0:g.x),backgroundImageY:o.backgroundImageY||(null===(l=o.background)||void 0===l?void 0:null===(h=l.image)||void 0===h?void 0:h.y),backgroundImageAlpha:o.backgroundImageAlpha||(null===(c=o.background)||void 0===c?void 0:null===(m=c.image)||void 0===m?void 0:m.alpha),backgroundImageBorderRadius:o.backgroundImageBorderRadius||(null===(f=o.background)||void 0===f?void 0:null===(v=f.image)||void 0===v?void 0:v.borderRadius),foregroundColor:o.foregroundColor||(null===(C=o.foreground)||void 0===C?void 0:C.color),foregroundImageSrc:o.foregroundImageSrc||(null===(p=o.foreground)||void 0===p?void 0:null===(b=p.image)||void 0===b?void 0:b.src),foregroundImageWidth:o.foregroundImageWidth||(null===(y=o.foreground)||void 0===y?void 0:null===(k=y.image)||void 0===k?void 0:k.width),foregroundImageHeight:o.foregroundImageHeight||(null===(I=o.foreground)||void 0===I?void 0:null===(w=I.image)||void 0===w?void 0:w.height),foregroundImageX:o.foregroundImageX||(null===(B=o.foreground)||void 0===B?void 0:null===(T=B.image)||void 0===T?void 0:T.x),foregroundImageY:o.foregroundImageY||(null===(P=o.foreground)||void 0===P?void 0:null===(S=P.image)||void 0===S?void 0:S.y),foregroundImagePadding:o.foregroundImagePadding||(null===(A=o.foreground)||void 0===A?void 0:null===(E=A.image)||void 0===E?void 0:E.padding),foregroundImageBackgroundColor:o.foregroundImageBackgroundColor||(null===(D=o.foreground)||void 0===D?void 0:null===(N=D.image)||void 0===N?void 0:N.backgroundColor),foregroundImageBorderRadius:o.foregroundImageBorderRadius||(null===(L=o.foreground)||void 0===L?void 0:null===(R=L.image)||void 0===R?void 0:R.borderRadius),foregroundImageShadowOffsetX:o.foregroundImageShadowOffsetX||(null===(z=o.foreground)||void 0===z?void 0:null===(M=z.image)||void 0===M?void 0:M.shadowOffsetX),foregroundImageShadowOffsetY:o.foregroundImageShadowOffsetY||(null===(x=o.foreground)||void 0===x?void 0:null===(_=x.image)||void 0===_?void 0:_.shadowOffsetY),foregroundImageShadowBlur:o.foregroundImageShadowBlur||(null===(O=o.foreground)||void 0===O?void 0:null===(F=O.image)||void 0===F?void 0:F.shadowBlur),foregroundImageShadowColor:o.foregroundImageShadowColor||(null===(H=o.foreground)||void 0===H?void 0:null===(X=H.image)||void 0===X?void 0:X.shadowColor),foregroundPadding:o.foregroundPadding,foregroundRadius:o.foregroundRadius,positionProbeBackgroundColor:o.positionProbeBackgroundColor||(null===(j=o.positionProbe)||void 0===j?void 0:j.backgroundColor)||(null===(Y=o.positionDetection)||void 0===Y?void 0:Y.backgroundColor),positionProbeForegroundColor:o.positionProbeForegroundColor||(null===(Q=o.positionProbe)||void 0===Q?void 0:Q.foregroundColor)||(null===(G=o.positionDetection)||void 0===G?void 0:G.foregroundColor),separatorColor:o.separatorColor||(null===(K=o.separator)||void 0===K?void 0:K.color),positionAdjustBackgroundColor:o.positionAdjustBackgroundColor||(null===(W=o.positionAdjust)||void 0===W?void 0:W.backgroundColor)||(null===(q=o.alignment)||void 0===q?void 0:q.backgroundColor),positionAdjustForegroundColor:o.positionAdjustForegroundColor||(null===(U=o.positionAdjust)||void 0===U?void 0:U.foregroundColor)||(null===($=o.alignment)||void 0===$?void 0:$.foregroundColor),timingBackgroundColor:o.timingBackgroundColor||(null===(J=o.timing)||void 0===J?void 0:J.backgroundColor),timingForegroundColor:o.timingForegroundColor||(null===(V=o.timing)||void 0===V?void 0:V.foregroundColor),typeNumberBackgroundColor:o.typeNumberBackgroundColor||(null===(Z=o.typeNumber)||void 0===Z?void 0:Z.backgroundColor)||(null===(oo=o.versionInformation)||void 0===oo?void 0:oo.backgroundColor),typeNumberForegroundColor:o.typeNumberForegroundColor||(null===(eo=o.typeNumber)||void 0===eo?void 0:eo.foregroundColor)||(null===(ro=o.versionInformation)||void 0===ro?void 0:ro.foregroundColor),darkBlockColor:o.darkBlockColor||(null===(to=o.darkBlock)||void 0===to?void 0:to.color),style:o.style,patterns:o.patterns||(null===(io=o.art)||void 0===io?void 0:io.patterns)||(null===(no=o.art)||void 0===no?void 0:null===(ao=no.shape)||void 0===ao?void 0:ao.map(o=>(o.imageSrc=o.image,o))),queue:o.queue},!0)},make(){this.foregroundColor===this.backgroundColor&&console.error("[uQRCode]: foregroundColor and backgroundColor cannot be the same!");var o=new e(this.typeNumber,this.errorCorrectLevel);o.addData(u.utf16To8(this.data.toString())),o.make(),this.typeNumber=o.typeNumber,this.modules=o.modules,this.moduleCount=o.moduleCount;var r=this.size-2*this.margin;this.dynamicSize=Math.ceil(r/o.moduleCount)*o.moduleCount+2*this.margin,this.useDynamicSize||(this.dynamicSize=this.size),this.paintData(),this.paintPositionProbe(),this.paintSeparator(),this.paintTiming(),this.paintPositionAdjust(),this.paintDarkBlock(),this.paintTypeNumber(),this.getDrawModules()},paintData(){let{dynamicSize:o,margin:e,backgroundColor:r,foregroundColor:t,foregroundPadding:i,style:n,modules:a,moduleCount:u}=this,d=(o-2*e)/u,s=d,g=0;i>0&&"liquid"!=n&&"art"!=n&&(g=s*i/2,s-=2*g);for(var l=0;l{var i=o[e[0]][e[1]],a=o[e[0]+n][e[1]],u=o[e[0]][e[1]+n];u.type.push("positionProbe"),a.type.push("positionProbe"),i.type.push("positionProbe"),i.color=1==e[2]?t:r,a.color=1==e[2]?t:r,u.color=1==e[2]?t:r})},paintSeparator(){let{modules:o,moduleCount:e,separatorColor:r}=this;[[7,0],[7,1],[7,2],[7,3],[7,4],[7,5],[7,6],[7,7],[0,7],[1,7],[2,7],[3,7],[4,7],[5,7],[6,7]].forEach(t=>{var i=o[t[0]][t[1]],n=o[e-t[0]-1][t[1]],a=o[t[0]][e-t[1]-1];a.type.push("separator"),n.type.push("separator"),i.type.push("separator"),i.color=r,n.color=r,a.color=r})},paintPositionAdjust(){let{typeNumber:o,modules:e,moduleCount:r,foregroundColor:t,backgroundColor:i,positionAdjustForegroundColor:n,positionAdjustBackgroundColor:a,timingForegroundColor:u,timingBackgroundColor:d}=this;const s=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],g=s[o-1];if(g){const o=[[-2,-2,1],[-1,-2,1],[0,-2,1],[1,-2,1],[2,-2,1],[-2,-1,1],[-1,-1,0],[0,-1,0],[1,-1,0],[2,-1,1],[-2,0,1],[-1,0,0],[0,0,1],[1,0,0],[2,0,1],[-2,1,1],[-1,1,0],[0,1,0],[1,1,0],[2,1,1],[-2,2,1],[-1,2,1],[0,2,1],[1,2,1],[2,2,1]],s=g.length;for(let l=0;lr-9-1&&c<9||c>r-9-1&&s<9||o.forEach(o=>{var r=e[s+o[0]][c+o[1]];r.type.push("positionAdjust"),r.type.includes("timing")?1==o[2]?r.color=n==t?u:n:r.color=n==t&&a==i?d:a:r.color=1==o[2]?n:a})}}},paintTiming(){let{modules:o,moduleCount:e,timingForegroundColor:r,timingBackgroundColor:t}=this,i=e-16;for(let e=0;e{var n=e[o[0]][o[1]];n.type.push("typeNumber"),n.color="1"==a[r]?i:t})},getDrawModules(){let o=this.drawModules=[],{modules:e,moduleCount:r,dynamicSize:t,backgroundColor:i,backgroundImageSrc:n,backgroundImageX:a,backgroundImageY:u,backgroundImageWidth:d,backgroundImageHeight:s,backgroundImageAlpha:g,backgroundImageBorderRadius:l,style:h,patterns:c,foregroundImageSrc:m,foregroundImageX:f,foregroundImageY:v,foregroundImageWidth:C,foregroundImageHeight:p,foregroundImagePadding:b,foregroundImageBackgroundColor:y,foregroundImageBorderRadius:k,foregroundImageShadowOffsetX:I,foregroundImageShadowOffsetY:w,foregroundImageShadowBlur:B,foregroundImageShadowColor:T}=this;i&&o.push({name:"background",type:"box",color:i,x:0,y:0,width:t,height:t}),n&&o.push({name:"backgroundImage",type:"image",imageSrc:n,imageSource:"backgroundImageSrc",x:a,y:u,width:d,height:s,alpha:g,borderRadius:l});for(var P=0;Po||0>e||o>=r||e>=r)&&this.modules[o][e].isBlack},drawCanvas(){let{canvasContext:o,foregroundColor:e,backgroundColor:r,queue:t,style:i}=this;if(e===r)return Promise.reject(new a("[uQRCode]: foregroundColor and backgroundColor cannot be the same!"));let n=async(e,r)=>{try{o.draw(!1),await this.styleDefault(),o.draw(!0),setTimeout(e,150)}catch(o){if(!(o instanceof a))throw o;r(o)}};return new Promise((o,e)=>{t?u.queue.exec(()=>new Promise((o,e)=>{n(o,e)})).then(()=>{setTimeout(o,150)}).catch(o=>{e(o)}):n(o,e)})},draw(){return this.drawCanvas()},async styleDefault(){let{drawModules:o,canvasContext:e,backgroundColor:r,margin:t,queue:i}=this;for(var n=0;n0?d.backgroundColor:"rgba(0,0,0,0)"),e.fill(),e.beginPath(),e.moveTo(s+c,g),e.arcTo(s+l,g,s+l,g+h,c),e.arcTo(s+l,g+h,s,g+h,c),e.arcTo(s,g+h,s,g,c),e.arcTo(s,g,s+l,g,c),e.closePath(),e.strokeStyle="rgba(0,0,0,0)",e.stroke(),e.clip();try{m=await u.loadImage(d.imageSrc);e.drawImage(m,d.x,d.y,d.width,d.height)}catch(o){throw console.error(`[uQRCode]: ${d.imageSource} invalid!`),new a(`[uQRCode]: ${d.imageSource} invalid!`)}}}i&&e.draw(!0),e.restore()}}},uQRCode=u,uQRCode.export=function(){var o,e;o="undefined"!=typeof window?window:global,e=uQRCode,"undefined"!=typeof module&&"object"==typeof exports?module.exports=e:"function"==typeof define&&(define.amd||define.cmd)?define(function(){return e}):o.UQRCode=e}}(); -//--------------------------------------------------------------------- -// 默认导出方式,非vite(vue3)使用该方式。 -// ↓ -//--------------------------------------------------------------------- -// uQRCode.export(); -//--------------------------------------------------------------------- -// ES6导出方式,vite(vue3)使用该方式。 -// ↓ -//--------------------------------------------------------------------- -export default uQRCode; \ No newline at end of file diff --git a/uni-app/license.md b/uni-app/license.md deleted file mode 100644 index 261eeb9..0000000 --- a/uni-app/license.md +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/uni-app/package.json b/uni-app/package.json deleted file mode 100644 index 373dbb4..0000000 --- a/uni-app/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@uqrcode/uni-app", - "version": "3.6.5", - "description": "uQRCode是一款基于Javascript环境开发的二维码生成插件,适用所有Javascript运行环境的前端应用和Node.js。", - "main": "components/uqrcode/uqrcode.vue", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/Sansnn/uQRCode.git" - }, - "keywords": [ - "uQRCode", - "QR", - "QRCode", - "artQRCode", - "二维码", - "艺术码", - "uniapp二维码" - ], - "author": "Sansnn", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/Sansnn/uQRCode/issues" - }, - "homepage": "https://github.com/Sansnn/uQRCode#readme" -} diff --git a/uni-app/readme.md b/uni-app/readme.md deleted file mode 100644 index c5c1680..0000000 --- a/uni-app/readme.md +++ /dev/null @@ -1,318 +0,0 @@ -# 介绍 - -`uQRCode`是一款基于`Javascript`环境开发的二维码生成插件,适用所有`Javascript`运行环境的前端应用和`Node.js`应用。 - -`uQRCode`可扩展性高,它支持自定义渲染二维码,可通过`uQRCode API`得到二维码绘制关键信息后,使用`canvas`、`svg`或`js`操作`dom`的方式绘制二维码图案。还可自定义二维码样式,如随机颜色、圆点、方块、块与块之间的间距等。 - -欢迎加入群聊【uQRCode交流群】:[695070434](https://jq.qq.com/?_wv=1027&k=JRjzDqiw)。 - -# 设计器 - -uQRCode发布了配套的可视化设计器,可根据自己喜好在设计器中设计二维码样式,一键生成配置代码复制到项目中,详情请在微信小程序搜索“柚子二维码”,或扫描下方小程序码体验。 - -![uQRCode设计器](https://doc.uqrcode.cn/mp_weixin_code.jpg) - -## 设计器模板示例 - -![uQRCode设计器](https://doc.uqrcode.cn/yz_1.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_2.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_3.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_4.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_5.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_6.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_7.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_8.png) -![uQRCode设计器](https://doc.uqrcode.cn/yz_9.png) - -# 快速上手 - -> 在`uni-app`中,我们更推荐使用组件方式来生成二维码,组件方式大大提高了页面的可读性以及避开了一些平台容易出问题的地方,当组件无法满足需求的时候,再考虑切换成原生方式。 - -官方文档:[https://doc.uqrcode.cn](https://doc.uqrcode.cn)。 - -github地址:[https://github.com/Sansnn/uQRCode](https://github.com/Sansnn/uQRCode)。 - -npm地址:[https://www.npmjs.com/package/uqrcodejs](https://www.npmjs.com/package/uqrcodejs)。 - -uni-app插件市场地址:[https://ext.dcloud.net.cn/plugin?id=1287](https://ext.dcloud.net.cn/plugin?id=1287)。 - -## 原生方式 - -原生方式仅需要获取`uqrcode.js`文件便可使用。详细配置请移步到:文档 > [原生](https://doc.uqrcode.cn/document/native.html)。 - -### 安装 - -1. 通过`npm`安装,成功后即可使用`import`或`require`进行引用。 -``` bash -# npm安装 -npm install uqrcodejs -# 或者 -npm install @uqrcode/js -``` - -2. 通过项目开源地址获取`uqrcode.js`,下载`uqrcode.js`后,将其复制到您项目指定目录,在页面中引入`uqrcode.js`文件即可开始使用。 - -### 引入 - -- 通过`import`引入。 -``` javascript -// npm安装 -import UQRCode from 'uqrcodejs'; // npm install uqrcodejs -// 或者 -import UQRCode from '@uqrcode/js'; // npm install @uqrcode/js -``` - -- `Node.js`通过`require`引入。 -``` javascript -// npm安装 -const UQRCode = require('uqrcodejs'); // npm install uqrcodejs -// 或者 -const UQRCode = require('@uqrcode/js'); // npm install @uqrcode/js -``` - -- 原生浏览器环境,在js脚本加载时添加到`window`。 -``` html - - -``` - -### 简单用法 - -`uQRCode`基于`Canvas API`封装了一套方法,建议开发者使用`canvas`生成,一键调用,非常方便。以下是示例: - -- HTML部分 -``` html - -``` - -- JS部分 -``` javascript -// 获取uQRCode实例 -var qr = new UQRCode(); -// 设置二维码内容 -qr.data = "https://doc.uqrcode.cn"; -// 设置二维码大小,必须与canvas设置的宽高一致 -qr.size = 200; -// 调用制作二维码方法 -qr.make(); -// 获取canvas元素 -var canvas = document.getElementById("qrcode"); -// 获取canvas上下文 -var canvasContext = canvas.getContext("2d"); -// 设置uQRCode实例的canvas上下文 -qr.canvasContext = canvasContext; -// 调用绘制方法将二维码图案绘制到canvas上 -qr.drawCanvas(); -``` - -### 高级用法 - -考虑到部分平台可能不支持`canvas`,所以`uQRCode`并没有强制要求和`canvas`一起使用,您还可以选择其他方式来生成二维码,例如使用`js`操作`dom`进行绘制或是使用`svg`绘制等。以下是示例: - -- js操作dom -``` html - - - - - uQRCode二维码生成 - - -
- - - - -``` - -- svg -``` html - - - - - uQRCode二维码生成 - - - - - - - -``` - -> 更多用法大家自行探索咯,期待分享哟~ - -### 导出临时文件路径 - -原生方式基于`Canvas`的,请自行参阅各平台`Canvas`的导出方式。以下是部分示例: - -- uni-app -```javascript -// 通过uni.createCanvasContext方式创建绘制上下文的,对应导出API为uni.canvasToTempFilePath -// 调用完ctx.draw()方法后不能第一时间导出,否则会异常,需要有一定的延时 -setTimeout(() => { - uni.canvasToTempFilePath( - { - canvasId: this.canvasId, - fileType: this.fileType, - width: this.canvasWidth, - height: this.canvasHeight, - success: res => { - console.log(res); - }, - fail: err => { - console.log(err); - } - }, - // this // 组件内使用必传当前实例 - ); -}, 300); -``` - -- Canvas2D -```javascript -// 得到base64 -console.log(canvas.toDataURL()); -// 得到buffer -console.log(canvas.toBuffer()); -``` - -### 保存二维码到本地相册 - -必须在导出临时文件路径成功后再执行保存。uni-app通用保存方式(H5除外): -```javascript -uni.saveImageToPhotosAlbum({ - filePath: tempFilePath, - success: res => { - console.log(res); - }, - fail: err => { - console.log(err); - } -}); -``` - -H5可以通过设置``标签`href`属性的方式进行保存: -```javascript -const aEle = document.createElement('a'); -aEle.download = 'uQRCode'; // 设置下载的文件名,默认是'下载' -aEle.href = tempFilePath; -document.body.appendChild(aEle); -aEle.click(); -aEle.remove(); // 下载之后把创建的元素删除 -``` -经过测试,PC端浏览器可以下载,部分安卓自带或第三方浏览器可以下载,安卓微信浏览器不适用,移动端iOS所有浏览器均不适用,差异较大,还是推荐各位导出文件给图片组件显示,然后提示用户通过长按图片进行保存这种方式。 - -## uni-app组件方式 - -### 安装 - -通过uni-app插件市场地址安装:[https://ext.dcloud.net.cn/plugin?id=1287](https://ext.dcloud.net.cn/plugin?id=1287)。详细配置请移步到:文档 > [uni-app组件](https://doc.uqrcode.cn/document/uni-app.html)。 - -### 引入 - -uni-app默认为easycom模式,可直接键入``标签。 - -### 简单用法 - -安装`uqrcode`组件后,在`template`中键入``。设置`ref`属性可使用组件内部方法,`canvas-id`属性为组件内部的canvas组件标识,`value`属性为二维码生成对应内容,`options`为配置选项,可配置二维码样式,绘制Logo等,详见:[options](https://doc.uqrcode.cn/document/uni-app.html#options) 。 - -``` html - -``` - -### 导出临时文件路径 - -为了保证方法调用成功,请在 [complete](https://doc.uqrcode.cn/document/uni-app.html#complete) 事件返回`success=true`后调用。 - -```javascript -// uqrcode为组件的ref名称 -this.$refs.uqrcode.toTempFilePath({ - success: res => { - console.log(res); - } -}); -``` - -### 保存二维码到本地相册 - -为了保证方法调用成功,请在 [complete](https://doc.uqrcode.cn/document/uni-app.html#complete) 事件返回`success=true`后调用。 - -```javascript -// uqrcode为组件的ref名称 -this.$refs.uqrcode.save({ - success: () => { - uni.showToast({ - icon: 'success', - title: '保存成功' - }); - } -}); -``` - -## 更多使用说明请前往官方文档查看:[https://doc.uqrcode.cn](https://doc.uqrcode.cn)。 \ No newline at end of file diff --git a/uqrcode.amd.js b/uqrcode.amd.js new file mode 100644 index 0000000..9245067 --- /dev/null +++ b/uqrcode.amd.js @@ -0,0 +1,34 @@ +//--------------------------------------------------------------------- +// uQRCode二维码生成插件 v4.0.6 +// +// uQRCode是一款基于Javascript环境开发的二维码生成插件,适用所有Javascript运行环境的前端应用和Node.js。 +// +// Copyright (c) Sansnn uQRCode All rights reserved. +// +// Licensed under the Apache License, Version 2.0. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// github地址: +// https://github.com/Sansnn/uQRCode +// +// npm地址: +// https://www.npmjs.com/package/uqrcodejs +// +// uni-app插件市场地址: +// https://ext.dcloud.net.cn/plugin?id=1287 +// +// 复制使用请保留本段注释,感谢支持开源! +// +//--------------------------------------------------------------------- + +//--------------------------------------------------------------------- +// 当前文件格式为 amd,异步模块定义,适用于 RequireJS 等模块加载器 +// 如需在其他环境使用,请获取环境对应的格式文件 +// 格式说明: +// amd - 异步模块定义,适用于 RequireJS 等模块加载器 +// cjs - CommonJS,适用于 Node 环境和其他打包工具(别名:commonjs) +// es - 将 bundle 保留为 ES 模块文件,适用于其他打包工具以及支持