Bläddra i källkod

微信小程序

DESKTOP-2S67K1S\31396 2 år sedan
incheckning
896d0cf9fe
100 ändrade filer med 13214 tillägg och 0 borttagningar
  1. 31 0
      .eslintrc.js
  2. 239 0
      app.js
  3. 54 0
      app.json
  4. 79 0
      app.wxss
  5. 133 0
      common/main.js
  6. 17 0
      common/main.wxss
  7. 158 0
      common/runtime.js
  8. 11312 0
      common/vendor.js
  9. BIN
      img/BG@2x.png
  10. BIN
      img/BG_LJ.png
  11. BIN
      img/BG_PD.png
  12. BIN
      img/BG_long.png
  13. BIN
      img/a.png
  14. BIN
      img/a6.png
  15. BIN
      img/b.png
  16. BIN
      img/blak.png
  17. BIN
      img/c.png
  18. BIN
      img/cz.png
  19. BIN
      img/d.png
  20. BIN
      img/dl0.png
  21. BIN
      img/dl1.png
  22. BIN
      img/dl2.png
  23. BIN
      img/dl3.png
  24. BIN
      img/dl4.png
  25. BIN
      img/dl5.png
  26. BIN
      img/e.png
  27. BIN
      img/f.png
  28. BIN
      img/g.png
  29. BIN
      img/g0.png
  30. BIN
      img/g1.png
  31. BIN
      img/gg.png
  32. BIN
      img/goback.png
  33. BIN
      img/gt.png
  34. BIN
      img/h.png
  35. BIN
      img/head_pic.png
  36. BIN
      img/i.png
  37. BIN
      img/index_action.png
  38. BIN
      img/index_unaction.png
  39. BIN
      img/j.png
  40. BIN
      img/j_bottom.png
  41. BIN
      img/j_top.png
  42. BIN
      img/jj.png
  43. BIN
      img/jx.png
  44. BIN
      img/k.png
  45. BIN
      img/l.png
  46. BIN
      img/logo.png
  47. BIN
      img/m.png
  48. BIN
      img/me_action.png
  49. BIN
      img/me_unaction.png
  50. BIN
      img/min.png
  51. BIN
      img/mm.png
  52. BIN
      img/n.png
  53. BIN
      img/n23.png
  54. BIN
      img/n24.png
  55. BIN
      img/nz.png
  56. BIN
      img/o.png
  57. BIN
      img/p.png
  58. BIN
      img/pd1.png
  59. BIN
      img/pd2.png
  60. BIN
      img/pd3.png
  61. BIN
      img/q.png
  62. BIN
      img/r.png
  63. BIN
      img/s.png
  64. BIN
      img/sj.png
  65. BIN
      img/sx.png
  66. BIN
      img/t.png
  67. BIN
      img/u.png
  68. BIN
      img/v.png
  69. BIN
      img/vaa.png
  70. BIN
      img/w.png
  71. BIN
      img/wk1.png
  72. BIN
      img/wk2.png
  73. BIN
      img/woak.png
  74. BIN
      img/x.png
  75. BIN
      img/yj0.png
  76. BIN
      img/yj1.png
  77. BIN
      img/yy.png
  78. BIN
      img/z.png
  79. BIN
      img/zz.png
  80. 65 0
      miniprogram_npm/@protobufjs/aspromise/index.js
  81. 1 0
      miniprogram_npm/@protobufjs/aspromise/index.js.map
  82. 152 0
      miniprogram_npm/@protobufjs/base64/index.js
  83. 1 0
      miniprogram_npm/@protobufjs/base64/index.js.map
  84. 112 0
      miniprogram_npm/@protobufjs/codegen/index.js
  85. 1 0
      miniprogram_npm/@protobufjs/codegen/index.js.map
  86. 89 0
      miniprogram_npm/@protobufjs/eventemitter/index.js
  87. 1 0
      miniprogram_npm/@protobufjs/eventemitter/index.js.map
  88. 128 0
      miniprogram_npm/@protobufjs/fetch/index.js
  89. 1 0
      miniprogram_npm/@protobufjs/fetch/index.js.map
  90. 348 0
      miniprogram_npm/@protobufjs/float/index.js
  91. 1 0
      miniprogram_npm/@protobufjs/float/index.js.map
  92. 30 0
      miniprogram_npm/@protobufjs/inquire/index.js
  93. 1 0
      miniprogram_npm/@protobufjs/inquire/index.js.map
  94. 78 0
      miniprogram_npm/@protobufjs/path/index.js
  95. 1 0
      miniprogram_npm/@protobufjs/path/index.js.map
  96. 61 0
      miniprogram_npm/@protobufjs/pool/index.js
  97. 1 0
      miniprogram_npm/@protobufjs/pool/index.js.map
  98. 118 0
      miniprogram_npm/@protobufjs/utf8/index.js
  99. 1 0
      miniprogram_npm/@protobufjs/utf8/index.js.map
  100. 0 0
      miniprogram_npm/balanced-match/index.js

+ 31 - 0
.eslintrc.js

@@ -0,0 +1,31 @@
+/*
+ * Eslint config file
+ * Documentation: https://eslint.org/docs/user-guide/configuring/
+ * Install the Eslint extension before using this feature.
+ */
+module.exports = {
+  env: {
+    es6: true,
+    browser: true,
+    node: true,
+  },
+  ecmaFeatures: {
+    modules: true,
+  },
+  parserOptions: {
+    ecmaVersion: 2018,
+    sourceType: 'module',
+  },
+  globals: {
+    wx: true,
+    App: true,
+    Page: true,
+    getCurrentPages: true,
+    getApp: true,
+    Component: true,
+    requirePlugin: true,
+    requireMiniProgram: true,
+  },
+  // extends: 'eslint:recommended',
+  rules: {},
+}

+ 239 - 0
app.js

@@ -0,0 +1,239 @@
+// app.ts
+import mqtt from './utils/mqtt';
+//连接的服务器域名
+// const host = 'wxs://mqtt.test.radio1964.com';
+// const host = 'wxs://mqtt.test.radio1964.com:8884';
+const host = 'wxs://mqtt.ssl.keepradioon.net:8884'
+App({
+  globalData: {
+    statusBarHeight: 0,
+    navBarHeight: 0,
+    MenuButtonheight: 0,
+    MenuButtonTop: 0,
+    scopeBluetooth: true,
+    ssid: "",
+    pwdData: "",
+    userData: null,
+    userInfo: null,
+    newDeviceId: null, 
+    is_debug: 2, // 1 测试环境 // 2正式环境
+    client: null,
+    oneInitBluetooth: true,
+    //MQTT连接的配置
+    options: {
+      clientId: "wx_" + parseInt(Math.random() * 100 + 800, 10),
+      reconnectPeriod: 1000, //1000毫秒,两次重新连接之间的间隔
+      connectTimeout: 30 * 1000, //1000毫秒,两次重新连接之间的间隔
+      resubscribe: true, //如果连接断开并重新连接,则会再次自动订阅已订阅的主题(默认true
+      keepalive: 3,//每3秒发送一次心跳
+    },
+  },
+  /**
+   * 连接设备
+   * mqttCallback:mqtt回调统一方法
+   */
+  connect() {
+    this.globalData.client = mqtt.connect(host, this.globalData.options);
+    // 连接成功
+    this.globalData.client.on('connect', ()=> {
+      const pageinfo = getCurrentPages()[getCurrentPages().length - 1];
+      if(pageinfo.mqttCallback) {
+        pageinfo.mqttCallback("connect")
+      };
+      
+    });
+    // 接收消息
+    this.globalData.client.on("message", function(topic, payload) {
+      wx.hideLoading();
+      const pageinfo = getCurrentPages()[getCurrentPages().length - 1];
+      const thisPageIsIndex = getCurrentPages().length === 1;
+      if(pageinfo.mqttCallback) {
+        if(topic.indexOf("status/onoffline") !== -1) {
+          pageinfo.mqttCallback("message_onoffline", {topic, payload});
+          if(!thisPageIsIndex) {
+            getCurrentPages()[0].mqttCallback("message_onoffline", {topic, payload})
+          }
+        } else if(topic.indexOf("user/pub_response") !== -1) {
+          pageinfo.mqttCallback("message", {topic, payload});
+        }
+      };
+    });
+    //服务器连接异常的回调
+    this.globalData.client.on("error", function(error) {
+      console.log(" 服务器 error 的回调" + error)
+      const pageinfo = getCurrentPages()[getCurrentPages().length - 1];
+      if(pageinfo.mqttCallback) {
+        pageinfo.mqttCallback("error")
+      };
+    })
+
+    // 服务器重连
+    this.globalData.client.on("reconnect", function(errr) {
+      console.log(" 服务器 reconnect的回调", errr);
+      const pageinfo = getCurrentPages()[getCurrentPages().length - 1];
+      if(pageinfo.mqttCallback) {
+        pageinfo.mqttCallback("reconnect")
+      };
+    })
+    //服务器断开连接
+    this.globalData.client.on("offline", function(errr) {
+      console.log(" 服务器 offline的回调", errr)
+      const pageinfo = getCurrentPages()[getCurrentPages().length - 1];
+      if(pageinfo.mqttCallback) {
+        pageinfo.mqttCallback("offline")
+      };
+    })
+  },
+
+
+
+  // 订阅主题
+  subscribe: function(topic, callback) {
+
+    if (this.globalData.client && this.globalData.client.connected) {
+      //订阅主题
+      this.globalData.client.subscribe(topic, function(err, granted) {
+        if (!err) {
+          if(callback) {
+            callback();
+          }
+          console.log("订阅成功");
+        } else {
+          console.log('订阅主题失败');
+        }
+      })
+    } else {
+      console.log("服务器已断开");
+      // wx.showToast({
+      //   title: '服务器已断开',
+      //   icon: 'error',
+      //   duration: 2000
+      // })
+    }
+  },
+  // 取消订阅
+  unsubscribe: function(Topic) {
+    if (this.globalData.client && this.globalData.client.connected) {
+      this.globalData.client.unsubscribe(Topic);
+    } else {
+      console.log('请先连接服务器');
+      // wx.showToast({
+      //   title: '请先连接服务器',
+      //   icon: 'none',
+      //   duration: 2000
+      // })
+    }
+  },
+
+  /**
+   * 发布信息
+   * @param {*} data
+   * DstDeviceName:目标设备
+   * type: 指令
+   * other:other
+   * .......................
+   * AIrSMArT_: 设备前缀
+   */
+  PubMsg(option, callback) {
+    if (this.globalData.client && this.globalData.client.connected) {
+      wx.showLoading({
+        title: '请稍后',
+      });
+      const data = {"DstDeviceName": option.DstDeviceName,"SrcDeviceName": `ALY_${this.globalData.userInfo.userId}`,"type": option.type};
+      if(option.other) {
+        data.other = option.other;
+      };
+      this.globalData.client.publish(`/${option.DstDeviceName}/user/sub_control`, `${JSON.stringify(data)}`,(err) => {
+        if (err) {
+          console.log("发布消息失败");
+        }
+      });
+    } else {
+      console.log("服务器已断开");
+      // wx.showToast({
+      //   title: '服务器已断开',
+      //   icon: 'error',
+      //   duration: 2000
+      // })
+    }
+  },
+  onLaunch() {
+    var _this = this;
+    wx.onAppHide(()=> {
+      if(_this.globalData.client && _this.globalData.client.connected){
+        _this.globalData.client.end(true);
+        _this.globalData.client.end(true);
+        console.log("断开");
+      };
+    });
+
+    wx.onAppShow(()=> {
+      console.log("加载")
+      if(_this.globalData.userInfo !== null){
+        if(_this.globalData.client) {
+          _this.globalData.client.end(true);
+          _this.globalData.client.end(true);
+        }
+        console.log("重连");
+        _this.connect();
+      };
+    });
+    this.getBluetoothStatus();
+    //自定义导航栏 获取设备顶部窗口的高度(不同设备窗口高度不一样,根据这个来设置自定义导航栏的高度)
+    wx.getSystemInfo({
+      success: (res) => {
+        let custom = wx.getMenuButtonBoundingClientRect();
+       
+        _this.globalData.navBarHeight = res.statusBarHeight + custom.height + (custom.top - res.statusBarHeight) * 2;
+        _this.globalData.MenuButtonheight = custom.height;
+        _this.globalData.MenuButtonTop = custom.top;
+        
+      }
+      
+    })
+  },
+  // 获取蓝牙权限
+  getBluetoothStatus(){
+    const _this = this;
+    wx.getSetting({
+      success (res) {
+        if(res.authSetting["scope.bluetooth"]) {
+          _this.globalData.scopeBluetooth = true;
+        } else if(res.authSetting["scope.bluetooth"] === undefined) {
+          _this.globalData.scopeBluetooth = false;
+          wx.authorize({ 
+            scope: "scope.bluetooth",
+            complete () {
+              _this.getBluetoothStatus();
+            }
+          });
+        } else {
+          _this.globalData.scopeBluetooth = false;
+          wx.showModal({
+            title: '请打开系统蓝牙进行配网',
+            content: '如已打开蓝牙仍然弹框,请尝试重启小程序',
+            success (res) {
+              if (res.confirm) {
+                console.log('用户点击确定')
+                wx.openSetting({
+                  complete () {
+                    // _this.getBluetoothStatus();
+                  }
+                })
+              } else if (res.cancel) {
+                console.log('用户点击取消')
+              }
+            }
+          })
+        };
+        if(getCurrentPages()[getCurrentPages().length - 1].getBluetoothStatusCallck) {
+          getCurrentPages()[getCurrentPages().length - 1].getBluetoothStatusCallck(_this.globalData.scopeBluetooth);
+        }
+        // res.authSetting = {
+        //   "scope.userInfo": true,
+        //   "scope.userLocation": true
+        // }
+      }
+    })
+  },
+})

+ 54 - 0
app.json

@@ -0,0 +1,54 @@
+{
+  "pages": [
+    "pages/index/index",
+    "pages/login/login",
+    "pages/about/about",
+    "pages/repeat/repeat",
+    "pages/deviceWake/deviceWake",
+    "pages/channelDetails/channelDetails",
+    "pages/deviceConnect3/deviceConnect3",
+    "pages/deviceConnect0/deviceConnect0",
+    "pages/deviceConnect2/deviceConnect2",
+    "pages/deviceConnect1/deviceConnect1",
+    "pages/me/me",
+    "pages/download/download",
+    "pages/wakeList/wakeList",
+    "pages/aboutInfo/aboutInfo"
+  ],
+  "tabBar": {
+    "borderStyle": "black",
+    "list": [
+      {
+        "pagePath": "pages/index/index",
+        "text": "首页",
+        "iconPath": "./img/index_unaction.png",
+        "selectedIconPath": "./img/index_action.png"
+      },
+      {
+        "pagePath": "pages/me/me",
+        "text": "我的",
+        "iconPath": "./img/me_unaction.png",
+        "selectedIconPath": "./img/me_action.png"
+      }
+    ]
+  },
+  "window": {
+    "backgroundTextStyle": "light",
+    "navigationBarBackgroundColor": "#fff",
+    "backgroundColor": "#fff",
+    "navigationBarTitleText": "Weixin",
+    "navigationBarTextStyle": "black",
+    "navigationStyle": "custom"
+  },
+  "networkTimeout": {
+    "request": 20000,
+    "connectSocket": 20000,
+    "uploadFile": 20000,
+    "downloadFile": 20000
+  },
+  "style": "v2",
+  "sitemapLocation": "sitemap.json",
+  "requiredPrivateInfos": [
+    "getFuzzyLocation"
+  ]
+}

+ 79 - 0
app.wxss

@@ -0,0 +1,79 @@
+.deviceRoter .roterps {
+  padding: 0 66rpx;
+}
+
+.deviceRoter .roterps .devicePic {
+  padding: 100rpx 0 50rpx;
+  display: flex;
+  justify-content: center;
+}
+
+.deviceRoter .roterps .devicePic image {
+  width: 512rpx;
+}
+
+.deviceRoter .roterps > text {
+  font-size: 32rpx;
+  color: #353533;
+  line-height: 44rpx;
+}
+
+.deviceRoter .roterps .qx {
+  margin-top: 24rpx;
+  display: flex;
+  height: 44rpx;
+  align-items: center;
+}
+
+.deviceRoter .roterps .qx text {
+  font-size: 32rpx;
+  color: #6547A3;
+  line-height: 44rpx;
+  font-weight: bold;
+}
+
+.deviceRoter .roterps .qx image {
+  height: 28rpx;
+  margin-left: 20rpx;
+}
+
+.deviceRoter .subBtn {
+  position: absolute;
+  bottom: 60rpx;
+  left: 0;
+  width: 100vw;
+  display: flex;
+  justify-content: center;
+  flex-direction: column;
+  align-items: center;
+}
+
+.deviceRoter .subBtn .btn {
+  width: 520rpx;
+  height: 80rpx;
+  background: #6547A3;
+  border-radius: 45rpx;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  font-size: 36rpx;
+  color: #fff;
+}
+
+.deviceRoter .subBtn .notRoter {
+  margin-top: 24rpx;
+  display: flex;
+  height: 44rpx;
+  align-items: center;
+}
+
+.deviceRoter .subBtn .notRoter text {
+  font-size: 24rpx;
+  color: #353535;
+  line-height: 44rpx;
+}
+
+.deviceRoter .subBtn .notRoter image {
+  height: 20rpx;
+  margin-left: 20rpx;
+}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 133 - 0
common/main.js


+ 17 - 0
common/main.wxss

@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/*每个页面公共css */
+

+ 158 - 0
common/runtime.js

@@ -0,0 +1,158 @@
+
+  !function(){try{var a=Function("return this")();a&&!a.Math&&(Object.assign(a,{isFinite:isFinite,Array:Array,Date:Date,Error:Error,Function:Function,Math:Math,Object:Object,RegExp:RegExp,String:String,TypeError:TypeError,setTimeout:setTimeout,clearTimeout:clearTimeout,setInterval:setInterval,clearInterval:clearInterval}),"undefined"!=typeof Reflect&&(a.Reflect=Reflect))}catch(a){}}();
+  /******/ (function(modules) { // webpackBootstrap
+/******/ 	// install a JSONP callback for chunk loading
+/******/ 	function webpackJsonpCallback(data) {
+/******/ 		var chunkIds = data[0];
+/******/ 		var moreModules = data[1];
+/******/ 		var executeModules = data[2];
+/******/
+/******/ 		// add "moreModules" to the modules object,
+/******/ 		// then flag all "chunkIds" as loaded and fire callback
+/******/ 		var moduleId, chunkId, i = 0, resolves = [];
+/******/ 		for(;i < chunkIds.length; i++) {
+/******/ 			chunkId = chunkIds[i];
+/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
+/******/ 				resolves.push(installedChunks[chunkId][0]);
+/******/ 			}
+/******/ 			installedChunks[chunkId] = 0;
+/******/ 		}
+/******/ 		for(moduleId in moreModules) {
+/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
+/******/ 				modules[moduleId] = moreModules[moduleId];
+/******/ 			}
+/******/ 		}
+/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
+/******/
+/******/ 		while(resolves.length) {
+/******/ 			resolves.shift()();
+/******/ 		}
+/******/
+/******/ 		// add entry modules from loaded chunk to deferred list
+/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
+/******/
+/******/ 		// run deferred modules when all chunks ready
+/******/ 		return checkDeferredModules();
+/******/ 	};
+/******/ 	function checkDeferredModules() {
+/******/ 		var result;
+/******/ 		for(var i = 0; i < deferredModules.length; i++) {
+/******/ 			var deferredModule = deferredModules[i];
+/******/ 			var fulfilled = true;
+/******/ 			for(var j = 1; j < deferredModule.length; j++) {
+/******/ 				var depId = deferredModule[j];
+/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
+/******/ 			}
+/******/ 			if(fulfilled) {
+/******/ 				deferredModules.splice(i--, 1);
+/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		return result;
+/******/ 	}
+/******/
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// object to store loaded and loading chunks
+/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
+/******/ 	// Promise = chunk loading, 0 = chunk loaded
+/******/ 	var installedChunks = {
+/******/ 		"common/runtime": 0
+/******/ 	};
+/******/
+/******/ 	var deferredModules = [];
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "/";
+/******/
+/******/ 	var jsonpArray = global["webpackJsonp"] = global["webpackJsonp"] || [];
+/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
+/******/ 	jsonpArray.push = webpackJsonpCallback;
+/******/ 	jsonpArray = jsonpArray.slice();
+/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
+/******/ 	var parentJsonpFunction = oldJsonpFunction;
+/******/
+/******/
+/******/ 	// run deferred modules from other chunks
+/******/ 	checkDeferredModules();
+/******/ })
+/************************************************************************/
+/******/ ([]);
+//# sourceMappingURL=../../.sourcemap/mp-weixin/common/runtime.js.map
+  

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 11312 - 0
common/vendor.js


BIN
img/BG@2x.png


BIN
img/BG_LJ.png


BIN
img/BG_PD.png


BIN
img/BG_long.png


BIN
img/a.png


BIN
img/a6.png


BIN
img/b.png


BIN
img/blak.png


BIN
img/c.png


BIN
img/cz.png


BIN
img/d.png


BIN
img/dl0.png


BIN
img/dl1.png


BIN
img/dl2.png


BIN
img/dl3.png


BIN
img/dl4.png


BIN
img/dl5.png


BIN
img/e.png


BIN
img/f.png


BIN
img/g.png


BIN
img/g0.png


BIN
img/g1.png


BIN
img/gg.png


BIN
img/goback.png


BIN
img/gt.png


BIN
img/h.png


BIN
img/head_pic.png


BIN
img/i.png


BIN
img/index_action.png


BIN
img/index_unaction.png


BIN
img/j.png


BIN
img/j_bottom.png


BIN
img/j_top.png


BIN
img/jj.png


BIN
img/jx.png


BIN
img/k.png


BIN
img/l.png


BIN
img/logo.png


BIN
img/m.png


BIN
img/me_action.png


BIN
img/me_unaction.png


BIN
img/min.png


BIN
img/mm.png


BIN
img/n.png


BIN
img/n23.png


BIN
img/n24.png


BIN
img/nz.png


BIN
img/o.png


BIN
img/p.png


BIN
img/pd1.png


BIN
img/pd2.png


BIN
img/pd3.png


BIN
img/q.png


BIN
img/r.png


BIN
img/s.png


BIN
img/sj.png


BIN
img/sx.png


BIN
img/t.png


BIN
img/u.png


BIN
img/v.png


BIN
img/vaa.png


BIN
img/w.png


BIN
img/wk1.png


BIN
img/wk2.png


BIN
img/woak.png


BIN
img/x.png


BIN
img/yj0.png


BIN
img/yj1.png


BIN
img/yy.png


BIN
img/z.png


BIN
img/zz.png


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 65 - 0
miniprogram_npm/@protobufjs/aspromise/index.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
miniprogram_npm/@protobufjs/aspromise/index.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 152 - 0
miniprogram_npm/@protobufjs/base64/index.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
miniprogram_npm/@protobufjs/base64/index.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 112 - 0
miniprogram_npm/@protobufjs/codegen/index.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
miniprogram_npm/@protobufjs/codegen/index.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 89 - 0
miniprogram_npm/@protobufjs/eventemitter/index.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
miniprogram_npm/@protobufjs/eventemitter/index.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 128 - 0
miniprogram_npm/@protobufjs/fetch/index.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
miniprogram_npm/@protobufjs/fetch/index.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 348 - 0
miniprogram_npm/@protobufjs/float/index.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
miniprogram_npm/@protobufjs/float/index.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 30 - 0
miniprogram_npm/@protobufjs/inquire/index.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
miniprogram_npm/@protobufjs/inquire/index.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 78 - 0
miniprogram_npm/@protobufjs/path/index.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
miniprogram_npm/@protobufjs/path/index.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 61 - 0
miniprogram_npm/@protobufjs/pool/index.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
miniprogram_npm/@protobufjs/pool/index.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 118 - 0
miniprogram_npm/@protobufjs/utf8/index.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
miniprogram_npm/@protobufjs/utf8/index.js.map


+ 0 - 0
miniprogram_npm/balanced-match/index.js


Vissa filer visades inte eftersom för många filer har ändrats