wjc
2026-02-27 c52e43b5020f1474deca7d03bda3950daebbadcb
app/src/main/assets/apps/__UNI__A2E7300/www/uni_modules/lime-echart/static/index.html
@@ -1,129 +1,129 @@
<!DOCTYPE html>
<html lang="zh">
   <head>
      <meta charset="UTF-8">
      <meta name="viewport"
         content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title></title>
      <style type="text/css">
         html,
         body,
         .canvas {
            padding: 0;
            margin: 0;
            overflow-y: hidden;
            background-color: transparent;
            width: 100%;
            height: 100%;
         }
      </style>
   </head>
   <body>
      <div class="canvas" id="limeChart"></div>
      <script type="text/javascript" src="./uni.webview.1.5.3.js"></script>
      <script type="text/javascript" src="./echarts.min.js"></script>
      <script type="text/javascript" src="./ecStat.min.js"></script>
      <!-- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-liquidfill@latest/dist/echarts-liquidfill.min.js"></script> -->
      <script>
         let chart = null;
         let cache = [];
         console.log = function(...agrs) {
            postMessage(agrs)
         }
         function emit(event, data) {
            let dataStr = JSON.stringify(data, stringify)
            postMessage({
               event,
               data: dataStr
            })
            cache = []
         }
         function postMessage(data) {
            uni.postMessage({
               data
            });
         }
         function stringify(key, value) {
            if (typeof value === 'object' && value !== null) {
               if (cache.indexOf(value) !== -1) {
                  return;
               }
               cache.push(value);
            }
            return value;
         }
         function parse(name, callback, options) {
            const optionNameReg = /[\w]+\.setOption\(([\w]+\.)?([\w]+)\)/
            if (optionNameReg.test(callback)) {
               const optionNames = callback.match(optionNameReg)
               if(optionNames[1]) {
                  const _this = optionNames[1].split('.')[0]
                  window[_this] = {}
                  window[_this][optionNames[2]] = options
                  return optionNames[2]
               } else {
                  return null
               }
            }
            return null
         }
         function init(callback, options, opts = {}, theme = null) {
            if(!chart) {
               chart = echarts.init(document.getElementById('limeChart'), theme, opts)
               if(options) {
                  chart.setOption(options)
               }
               // const name = parse('a', callback, options)
               // console.log('options::', callback)
               // if(name) this[name] = options
               // eval(`a = ${callback};`)
               // if(a) {a(chart)}
            }
         }
         function setChart(callback, options) {
            if(!callback) return
            if(chart && callback && options) {
               var r = null
               const name = parse('r', callback, options)
               if(name) this[name] = options
               eval(`r = ${callback};`)
               if(r) {r(chart)}
            }
         }
         function setOption(data) {
            if (chart) chart.setOption(data[0], data[1])
         }
         function showLoading(data) {
            if (chart) chart.showLoading(data[0], data[1])
         }
         function hideLoading() {
            if (chart) chart.hideLoading()
         }
         function clear() {
            if (chart) chart.clear()
         }
         function dispose() {
            if (chart) chart.dispose()
         }
         function resize(size) {
            if (chart) chart.resize(size)
         }
         function canvasToTempFilePath(opt = {}) {
            if (chart) {
              const src = chart.getDataURL(opt)
              postMessage({
                 file: true,
                 data: src
              })
            }
         }
      </script>
   </body>
</html>
<!DOCTYPE html>
<html lang="zh">
   <head>
      <meta charset="UTF-8">
      <meta name="viewport"
         content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title></title>
      <style type="text/css">
         html,
         body,
         .canvas {
            padding: 0;
            margin: 0;
            overflow-y: hidden;
            background-color: transparent;
            width: 100%;
            height: 100%;
         }
      </style>
   </head>
   <body>
      <div class="canvas" id="limeChart"></div>
      <script type="text/javascript" src="./uni.webview.1.5.3.js"></script>
      <script type="text/javascript" src="./echarts.min.js"></script>
      <script type="text/javascript" src="./ecStat.min.js"></script>
      <!-- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-liquidfill@latest/dist/echarts-liquidfill.min.js"></script> -->
      <script>
         let chart = null;
         let cache = [];
         console.log = function(...agrs) {
            postMessage(agrs)
         }
         function emit(event, data) {
            let dataStr = JSON.stringify(data, stringify)
            postMessage({
               event,
               data: dataStr
            })
            cache = []
         }
         function postMessage(data) {
            uni.postMessage({
               data
            });
         }
         function stringify(key, value) {
            if (typeof value === 'object' && value !== null) {
               if (cache.indexOf(value) !== -1) {
                  return;
               }
               cache.push(value);
            }
            return value;
         }
         function parse(name, callback, options) {
            const optionNameReg = /[\w]+\.setOption\(([\w]+\.)?([\w]+)\)/
            if (optionNameReg.test(callback)) {
               const optionNames = callback.match(optionNameReg)
               if(optionNames[1]) {
                  const _this = optionNames[1].split('.')[0]
                  window[_this] = {}
                  window[_this][optionNames[2]] = options
                  return optionNames[2]
               } else {
                  return null
               }
            }
            return null
         }
         function init(callback, options, opts = {}, theme = null) {
            if(!chart) {
               chart = echarts.init(document.getElementById('limeChart'), theme, opts)
               if(options) {
                  chart.setOption(options)
               }
               // const name = parse('a', callback, options)
               // console.log('options::', callback)
               // if(name) this[name] = options
               // eval(`a = ${callback};`)
               // if(a) {a(chart)}
            }
         }
         function setChart(callback, options) {
            if(!callback) return
            if(chart && callback && options) {
               var r = null
               const name = parse('r', callback, options)
               if(name) this[name] = options
               eval(`r = ${callback};`)
               if(r) {r(chart)}
            }
         }
         function setOption(data) {
            if (chart) chart.setOption(data[0], data[1])
         }
         function showLoading(data) {
            if (chart) chart.showLoading(data[0], data[1])
         }
         function hideLoading() {
            if (chart) chart.hideLoading()
         }
         function clear() {
            if (chart) chart.clear()
         }
         function dispose() {
            if (chart) chart.dispose()
         }
         function resize(size) {
            if (chart) chart.resize(size)
         }
         function canvasToTempFilePath(opt = {}) {
            if (chart) {
              const src = chart.getDataURL(opt)
              postMessage({
                 file: true,
                 data: src
              })
            }
         }
      </script>
   </body>
</html>