| 
					
				 | 
			
			
				@@ -0,0 +1,119 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!DOCTYPE html> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<html lang="zh"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<head> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<meta charset="UTF-8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<meta http-equiv="X-UA-Compatible" content="ie=edge"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<title></title> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<style type="text/css"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		html, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		body, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		canvas { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			padding: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			margin: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			overflow-y: hidden; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			background-color: transparent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</head> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<body> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<canvas id="lime-painter"></canvas> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<script type="text/javascript" src="./uni.webview.1.5.3.js"></script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<script type="text/javascript" src="./painter.js"></script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<script>  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var cache = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var painter = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var canvas = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var context = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var timer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var pixelRatio = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		console.log = function (...args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			postMessage(args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// function stringify(key, value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 	if (typeof value === 'object' && value !== null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 		if (cache.indexOf(value) !== -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 			return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 		cache.push(value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 	return value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		function emit(event, data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			postMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				event, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				data: (typeof data !== 'object' && data !== null ? data : JSON.stringify(data))  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			cache = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		function postMessage(data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			uni.postMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		function init(dpr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			canvas = document.querySelector('#lime-painter'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			context = canvas.getContext('2d'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			pixelRatio = dpr || window.devicePixelRatio; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			painter = new Painter({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				id: 'lime-painter', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				context, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				canvas, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				pixelRatio, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				width: canvas.offsetWidth, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				height: canvas.offsetHeight, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				listen: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					onProgress(v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						emit('progressChange', v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					onEffectFail(err) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						//console.error(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						emit('fail', err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			emit('inited', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		function save(args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			delete args.success; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			delete args.fail; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			clearTimeout(timer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			timer = setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				const path = painter.save(args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (typeof path == 'string') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					const index = Math.ceil(path.length / 8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					for (var i = 0; i < 8; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						if (i == 7) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							emit('success', path.substr(i * index, index)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							emit('file', path.substr(i * index, index)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					// console.log('canvas no data') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					emit('fail', 'canvas no data'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 30); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		async function source(args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			let size = await painter.source(args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			emit('layoutChange', size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(!canvas.height) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				console.log('canvas no size') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				emit('fail', 'canvas no size'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			painter.render().catch(err => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				// console.error(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				emit('fail', err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</body> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</html> 
			 |