gjy 3 years ago
parent
commit
f7c5790a1c
100 changed files with 1385 additions and 13 deletions
  1. 16 1
      manifest.json
  2. 7 0
      pages/mine/cargoowner/editpersonalinformation.vue
  3. 12 12
      pages/mine/index.vue
  4. 1 0
      unpackage/debug/.roid.ins
  5. BIN
      unpackage/debug/android_debug.apk
  6. 0 0
      unpackage/dist/build/.automator/app-plus/.automator.json
  7. 0 0
      unpackage/dist/build/app-plus/__uniappchooselocation.js
  8. BIN
      unpackage/dist/build/app-plus/__uniapperror.png
  9. 0 0
      unpackage/dist/build/app-plus/__uniappes6.js
  10. 0 0
      unpackage/dist/build/app-plus/__uniappopenlocation.js
  11. 0 0
      unpackage/dist/build/app-plus/__uniapppicker.js
  12. 6 0
      unpackage/dist/build/app-plus/__uniappquill.js
  13. 0 0
      unpackage/dist/build/app-plus/__uniappquillimageresize.js
  14. 0 0
      unpackage/dist/build/app-plus/__uniappscan.js
  15. BIN
      unpackage/dist/build/app-plus/__uniappsuccess.png
  16. 25 0
      unpackage/dist/build/app-plus/__uniappview.html
  17. 3 0
      unpackage/dist/build/app-plus/app-config-service.js
  18. 1 0
      unpackage/dist/build/app-plus/app-config.js
  19. 0 0
      unpackage/dist/build/app-plus/app-service.js
  20. 0 0
      unpackage/dist/build/app-plus/app-view.js
  21. BIN
      unpackage/dist/build/app-plus/components/bert-suggest/icons/contact.png
  22. BIN
      unpackage/dist/build/app-plus/components/bert-suggest/icons/image.png
  23. BIN
      unpackage/dist/build/app-plus/components/bert-suggest/icons/suggestion.png
  24. 1 0
      unpackage/dist/build/app-plus/hybrid/html/axios.min.js
  25. 147 0
      unpackage/dist/build/app-plus/hybrid/html/base64.js
  26. 273 0
      unpackage/dist/build/app-plus/hybrid/html/crypto.js
  27. BIN
      unpackage/dist/build/app-plus/hybrid/html/img/1.png
  28. BIN
      unpackage/dist/build/app-plus/hybrid/html/img/shipinrenzheng.png
  29. 0 0
      unpackage/dist/build/app-plus/hybrid/html/index.js
  30. 182 0
      unpackage/dist/build/app-plus/hybrid/html/map.html
  31. 37 0
      unpackage/dist/build/app-plus/hybrid/html/play.html
  32. 428 0
      unpackage/dist/build/app-plus/hybrid/html/video.html
  33. 0 0
      unpackage/dist/build/app-plus/hybrid/html/video.js
  34. 5 0
      unpackage/dist/build/app-plus/hybrid/html/vue.min.js
  35. 0 0
      unpackage/dist/build/app-plus/manifest.json
  36. 0 0
      unpackage/dist/build/app-plus/pages/mine/camera/idcard/idcard.js
  37. 0 0
      unpackage/dist/build/app-plus/pages/mine/camera/video/video.js
  38. 0 0
      unpackage/dist/build/app-plus/pages/mine/company/companyvideo.js
  39. 0 0
      unpackage/dist/build/app-plus/pages/order/map.js
  40. BIN
      unpackage/dist/build/app-plus/static/ITkoala-amap/amap.png
  41. BIN
      unpackage/dist/build/app-plus/static/ITkoala-amap/close.png
  42. BIN
      unpackage/dist/build/app-plus/static/ITkoala-amap/selectedStart.png
  43. BIN
      unpackage/dist/build/app-plus/static/ITkoala-amap/sharp.png
  44. BIN
      unpackage/dist/build/app-plus/static/ITkoala-amap/start.png
  45. BIN
      unpackage/dist/build/app-plus/static/banner@2x.png
  46. 221 0
      unpackage/dist/build/app-plus/static/css/common.scss
  47. 20 0
      unpackage/dist/build/app-plus/static/css/font.css
  48. BIN
      unpackage/dist/build/app-plus/static/icon_delete.png
  49. BIN
      unpackage/dist/build/app-plus/static/icon_down.png
  50. BIN
      unpackage/dist/build/app-plus/static/iconfont.ttf
  51. BIN
      unpackage/dist/build/app-plus/static/images/carSource/exchange.png
  52. BIN
      unpackage/dist/build/app-plus/static/images/carSource/mescroll-empty.png
  53. BIN
      unpackage/dist/build/app-plus/static/images/carSource/yaoqing.png
  54. BIN
      unpackage/dist/build/app-plus/static/images/common/bz@2x.png
  55. BIN
      unpackage/dist/build/app-plus/static/images/common/cy@2x.png
  56. BIN
      unpackage/dist/build/app-plus/static/images/common/dingdan@2x(1).png
  57. BIN
      unpackage/dist/build/app-plus/static/images/common/dingdan@2x.png
  58. BIN
      unpackage/dist/build/app-plus/static/images/common/huoyuan@2x(1).png
  59. BIN
      unpackage/dist/build/app-plus/static/images/common/huoyuan@2x.png
  60. BIN
      unpackage/dist/build/app-plus/static/images/common/iconmy@2x.png
  61. BIN
      unpackage/dist/build/app-plus/static/images/common/jt.png
  62. BIN
      unpackage/dist/build/app-plus/static/images/common/mesicon@2x.png
  63. BIN
      unpackage/dist/build/app-plus/static/images/common/my@2x.png
  64. BIN
      unpackage/dist/build/app-plus/static/images/common/quxiao@2x.png
  65. BIN
      unpackage/dist/build/app-plus/static/images/common/sh.png
  66. BIN
      unpackage/dist/build/app-plus/static/images/common/sx.png
  67. BIN
      unpackage/dist/build/app-plus/static/images/common/tg.png
  68. BIN
      unpackage/dist/build/app-plus/static/images/common/tianjiazhaopian@2x.png
  69. BIN
      unpackage/dist/build/app-plus/static/images/common/top@2x.png
  70. BIN
      unpackage/dist/build/app-plus/static/images/common/wtg.png
  71. BIN
      unpackage/dist/build/app-plus/static/images/common/xiaoxi@2x.png
  72. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/Mask@2x.png
  73. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/banner@2x.png
  74. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/change.png
  75. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/jt.png
  76. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/jx.png
  77. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/jxbf.png
  78. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/msgicon@2x.png
  79. BIN
      unpackage/dist/build/app-plus/static/images/help/banner@2x.png
  80. BIN
      unpackage/dist/build/app-plus/static/images/help/tu1@2x.png
  81. BIN
      unpackage/dist/build/app-plus/static/images/help/zy.png
  82. BIN
      unpackage/dist/build/app-plus/static/images/login/bg.png
  83. BIN
      unpackage/dist/build/app-plus/static/images/login/bg@2x.png
  84. BIN
      unpackage/dist/build/app-plus/static/images/login/bg@3x.png
  85. BIN
      unpackage/dist/build/app-plus/static/images/login/bg_slices/bg.png
  86. BIN
      unpackage/dist/build/app-plus/static/images/login/bg_slices/bg@2x.png
  87. BIN
      unpackage/dist/build/app-plus/static/images/login/bg_slices/bg@3x.png
  88. BIN
      unpackage/dist/build/app-plus/static/images/login/duihao2.png
  89. BIN
      unpackage/dist/build/app-plus/static/images/login/duihao2@2x.png
  90. BIN
      unpackage/dist/build/app-plus/static/images/login/duihao2@3x.png
  91. BIN
      unpackage/dist/build/app-plus/static/images/login/guanbi@2x.png
  92. BIN
      unpackage/dist/build/app-plus/static/images/login/logo.png
  93. BIN
      unpackage/dist/build/app-plus/static/images/login/logo@2x.png
  94. BIN
      unpackage/dist/build/app-plus/static/images/login/logo@3x.png
  95. BIN
      unpackage/dist/build/app-plus/static/images/login/select.png
  96. BIN
      unpackage/dist/build/app-plus/static/images/login/select@2x.png
  97. BIN
      unpackage/dist/build/app-plus/static/images/login/select@3x.png
  98. BIN
      unpackage/dist/build/app-plus/static/images/login/selected1.png
  99. BIN
      unpackage/dist/build/app-plus/static/images/login/selected2.png
  100. BIN
      unpackage/dist/build/app-plus/static/images/login/selected3.png

+ 16 - 1
manifest.json

@@ -109,7 +109,22 @@
                 }
                 }
             }
             }
         },
         },
-        "nativePlugins" : {}
+        "nativePlugins" : {
+            "KJ-Camera" : {
+                "__plugin_info__" : {
+                    "name" : "相机自定义拍照录像,可设置相机分辨率、相机焦距、相机无声录像、相机支持横竖屏 - [试用版,仅用于自定义调试基座]",
+                    "description" : "相机自定义拍照录像,可设置相机分辨率、相机焦距、相机无声录像、相机支持横竖屏、相机切换前后摄像头 QQ群:863776189 可接单 离线包:单价*10  源码:单价*15",
+                    "platforms" : "Android,iOS",
+                    "url" : "https://ext.dcloud.net.cn/plugin?id=3404",
+                    "android_package_name" : "",
+                    "ios_bundle_id" : "",
+                    "isCloud" : true,
+                    "bought" : 0,
+                    "pid" : "3404",
+                    "parameters" : {}
+                }
+            }
+        }
     },
     },
     /* 快应用特有相关 */
     /* 快应用特有相关 */
     "quickapp" : {},
     "quickapp" : {},

+ 7 - 0
pages/mine/cargoowner/editpersonalinformation.vue

@@ -195,6 +195,13 @@
 					_this.savePhoto(e.path);
 					_this.savePhoto(e.path);
 				}
 				}
 			},
 			},
+			delCard(status){
+				if(status==1){
+					this.dataDetails.cardAddressUrl=''
+				}else{
+					this.dataDetails.cardBackAddressUrl=''
+				}
+			},
 			//保存图片到相册,方便核查
 			//保存图片到相册,方便核查
 			savePhoto(path) {
 			savePhoto(path) {
 				// 
 				// 

+ 12 - 12
pages/mine/index.vue

@@ -65,22 +65,22 @@
 					</view>
 					</view>
 				</view>
 				</view>
 				<view class="flex flex-space-between content1-item"
 				<view class="flex flex-space-between content1-item"
-					@click="goDetailPage('/pages/mine/cargoowner/cargoowner')">
+					@click="goDetailPage('/pages/mine/manageBankCards/index')">
 					<view class='flex items-center'>
 					<view class='flex items-center'>
-						<u--image style='margin-right:8px;' :showLoading="true" src="../../static/mine/huozhu.png"
-							width="20px" height="20px"></u--image>货主认证
+						<u--image style='margin-right:8px;' :showLoading="true" src="../../static/mine/dailihuozhu.png"
+							width="20px" height="20px"></u--image>我的银行卡
 					</view>
 					</view>
-					<view class='flex'>
+					<view>
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 					</view>
 					</view>
 				</view>
 				</view>
 				<view class="flex flex-space-between content1-item"
 				<view class="flex flex-space-between content1-item"
-					@click="goDetailPage('/pages/mine/helpDescription')">
+					@click="goDetailPage('/pages/mine/cargoowner/cargoowner')">
 					<view class='flex items-center'>
 					<view class='flex items-center'>
-						<u--image style='margin-right:8px;' :showLoading="true"
-							src="../../static/mine/bangzhushuoming.png" width="20px" height="20px"></u--image>帮助说明
+						<u--image style='margin-right:8px;' :showLoading="true" src="../../static/mine/huozhu.png"
+							width="20px" height="20px"></u--image>货主认证
 					</view>
 					</view>
-					<view>
+					<view class='flex'>
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 					</view>
 					</view>
 				</view>
 				</view>
@@ -94,17 +94,17 @@
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 					</view>
 					</view>
 				</view>
 				</view>
-
 				<view class="flex flex-space-between content1-item"
 				<view class="flex flex-space-between content1-item"
-					@click="goDetailPage('/pages/mine/manageBankCards/index')">
+					@click="goDetailPage('/pages/mine/helpDescription')">
 					<view class='flex items-center'>
 					<view class='flex items-center'>
-						<u--image style='margin-right:8px;' :showLoading="true" src="../../static/mine/dailihuozhu.png"
-							width="20px" height="20px"></u--image>我的银行卡
+						<u--image style='margin-right:8px;' :showLoading="true"
+							src="../../static/mine/bangzhushuoming.png" width="20px" height="20px"></u--image>帮助说明
 					</view>
 					</view>
 					<view>
 					<view>
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 					</view>
 					</view>
 				</view>
 				</view>
+				
 				<!-- 		<view class="flex flex-space-between content1-item"
 				<!-- 		<view class="flex flex-space-between content1-item"
 					@click="goDetailPage('/pages/mine/driverEvaluation')">
 					@click="goDetailPage('/pages/mine/driverEvaluation')">
 					<view class='flex items-center'>
 					<view class='flex items-center'>

+ 1 - 0
unpackage/debug/.roid.ins

@@ -0,0 +1 @@
+installed

BIN
unpackage/debug/android_debug.apk


+ 0 - 0
unpackage/dist/build/.automator/app-plus/.automator.json


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/__uniappchooselocation.js


BIN
unpackage/dist/build/app-plus/__uniapperror.png


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/__uniappes6.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/__uniappopenlocation.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/__uniapppicker.js


File diff suppressed because it is too large
+ 6 - 0
unpackage/dist/build/app-plus/__uniappquill.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/__uniappquillimageresize.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/__uniappscan.js


BIN
unpackage/dist/build/app-plus/__uniappsuccess.png


+ 25 - 0
unpackage/dist/build/app-plus/__uniappview.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var __UniViewStartTime__ = Date.now();
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title>View</title>
+    <link rel="stylesheet" href="view.css" />
+  </head>
+
+  <body>
+    <div id="app"></div>
+    <script src="__uniappes6.js"></script>
+    <script src="view.umd.min.js"></script>
+    <script src="app-view.js"></script>
+  </body>
+
+</html>

File diff suppressed because it is too large
+ 3 - 0
unpackage/dist/build/app-plus/app-config-service.js


+ 1 - 0
unpackage/dist/build/app-plus/app-config.js

@@ -0,0 +1 @@
+(function(e){function r(r){for(var n,l,i=r[0],p=r[1],a=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in p)Object.prototype.hasOwnProperty.call(p,n)&&(e[n]=p[n]);f&&f(r);while(s.length)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var p=t[i];0!==o[p]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={"app-config":0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var i=this["webpackJsonp"]=this["webpackJsonp"]||[],p=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var f=p;t()})([]);

File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/app-service.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/app-view.js


BIN
unpackage/dist/build/app-plus/components/bert-suggest/icons/contact.png


BIN
unpackage/dist/build/app-plus/components/bert-suggest/icons/image.png


BIN
unpackage/dist/build/app-plus/components/bert-suggest/icons/suggestion.png


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/app-plus/hybrid/html/axios.min.js


+ 147 - 0
unpackage/dist/build/app-plus/hybrid/html/base64.js

@@ -0,0 +1,147 @@
+(function() {
+	var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+	var base64DecodeChars = new Array(
+		-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+		-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+		-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
+		52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
+		-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+		15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
+		-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+		41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
+	 Window.base64 = {
+		encode: function encode(str) {
+			var out, i, len;
+			var c1, c2, c3;
+			len = str.length;
+			i = 0;
+			out = "";
+			while (i < len) {
+				c1 = str.charCodeAt(i++) & 0xff;
+				if (i == len) {
+					out += base64EncodeChars.charAt(c1 >> 2);
+					out += base64EncodeChars.charAt((c1 & 0x3) << 4);
+					out += "==";
+					break;
+				}
+				c2 = str.charCodeAt(i++);
+				if (i == len) {
+					out += base64EncodeChars.charAt(c1 >> 2);
+					out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
+					out += base64EncodeChars.charAt((c2 & 0xF) << 2);
+					out += "=";
+					break;
+				}
+				c3 = str.charCodeAt(i++);
+				out += base64EncodeChars.charAt(c1 >> 2);
+				out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
+				out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));
+				out += base64EncodeChars.charAt(c3 & 0x3F);
+			}
+			return out;
+		},
+		decode: function decode(str) {
+			var c1, c2, c3, c4;
+			var i, len, out;
+			len = str.length;
+			i = 0;
+			out = "";
+			while (i < len) {
+				/* c1 */
+				do {
+					c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
+				} while (i < len && c1 == -1);
+				if (c1 == -1)
+					break;
+				/* c2 */
+				do {
+					c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
+				} while (i < len && c2 == -1);
+				if (c2 == -1)
+					break;
+				out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
+				/* c3 */
+				do {
+					c3 = str.charCodeAt(i++) & 0xff;
+					if (c3 == 61)
+						return out;
+					c3 = base64DecodeChars[c3];
+				} while (i < len && c3 == -1);
+				if (c3 == -1)
+					break;
+				out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));
+				/* c4 */
+				do {
+					c4 = str.charCodeAt(i++) & 0xff;
+					if (c4 == 61)
+						return out;
+					c4 = base64DecodeChars[c4];
+				} while (i < len && c4 == -1);
+				if (c4 == -1)
+					break;
+				out += String.fromCharCode(((c3 & 0x03) << 6) | c4);
+			}
+			return out;
+		},
+		utf16to8: function utf16to8(str) {
+			var out, i, len, c;
+			out = "";
+			len = str.length;
+			for (i = 0; i < len; i++) {
+				c = str.charCodeAt(i);
+				if ((c >= 0x0001) && (c <= 0x007F)) {
+					out += str.charAt(i);
+				} else if (c > 0x07FF) {
+					out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
+					out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
+					out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
+				} else {
+					out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
+					out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
+				}
+			}
+			return out;
+		},
+		utf8to16: function utf8to16(str) {
+			var out, i, len, c;
+			var char2, char3;
+			out = "";
+			len = str.length;
+			i = 0;
+			while (i < len) {
+				c = str.charCodeAt(i++);
+				switch (c >> 4) {
+					case 0:
+					case 1:
+					case 2:
+					case 3:
+					case 4:
+					case 5:
+					case 6:
+					case 7:
+						// 0xxxxxxx
+						out += str.charAt(i - 1);
+						break;
+					case 12:
+					case 13:
+						// 110x xxxx 10xx xxxx
+						char2 = str.charCodeAt(i++);
+						out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
+						break;
+					case 14:
+						// 1110 xxxx 10xx xxxx 10xx xxxx
+						char2 = str.charCodeAt(i++);
+						char3 = str.charCodeAt(i++);
+						out += String.fromCharCode(((c & 0x0F) << 12) |
+							((char2 & 0x3F) << 6) |
+							((char3 & 0x3F) << 0));
+						break;
+				}
+			}
+			return out;
+		}
+	}
+console.log('base64')
+console.log(Window.base64)
+	return Window.base64
+})()

+ 273 - 0
unpackage/dist/build/app-plus/hybrid/html/crypto.js

@@ -0,0 +1,273 @@
+
+
+(function() {
+Window.Crypto = {};
+	var base64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+
+	// Crypto utilities
+	var util = Window.Crypto.util = {
+
+		// Bit-wise rotate left
+		rotl: function(n, b) {
+			return (n << b) | (n >>> (32 - b));
+		},
+
+		// Bit-wise rotate right
+		rotr: function(n, b) {
+			return (n << (32 - b)) | (n >>> b);
+		},
+
+		// Swap big-endian to little-endian and vice versa
+		endian: function(n) {
+
+			// If number given, swap endian
+			if (n.constructor == Number) {
+				return util.rotl(n, 8) & 0x00FF00FF |
+					util.rotl(n, 24) & 0xFF00FF00;
+			}
+
+			// Else, assume array and swap all items
+			for (var i = 0; i < n.length; i++)
+				n[i] = util.endian(n[i]);
+			return n;
+
+		},
+
+		// Generate an array of any length of random bytes
+		randomBytes: function(n) {
+			for (var bytes = []; n > 0; n--)
+				bytes.push(Math.floor(Math.random() * 256));
+			return bytes;
+		},
+
+		// Convert a string to a byte array
+		stringToBytes: function(str) {
+			var bytes = [];
+			for (var i = 0; i < str.length; i++)
+				bytes.push(str.charCodeAt(i));
+			return bytes;
+		},
+
+		// Convert a byte array to a string
+		bytesToString: function(bytes) {
+			var str = [];
+			for (var i = 0; i < bytes.length; i++)
+				str.push(String.fromCharCode(bytes[i]));
+			return str.join("");
+		},
+
+		// Convert a string to big-endian 32-bit words
+		stringToWords: function(str) {
+			var words = [];
+			for (var c = 0, b = 0; c < str.length; c++, b += 8)
+				words[b >>> 5] |= str.charCodeAt(c) << (24 - b % 32);
+			return words;
+		},
+
+		// Convert a byte array to big-endian 32-bits words
+		bytesToWords: function(bytes) {
+			var words = [];
+			for (var i = 0, b = 0; i < bytes.length; i++, b += 8)
+				words[b >>> 5] |= bytes[i] << (24 - b % 32);
+			return words;
+		},
+
+		// Convert big-endian 32-bit words to a byte array
+		wordsToBytes: function(words) {
+			var bytes = [];
+			for (var b = 0; b < words.length * 32; b += 8)
+				bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);
+			return bytes;
+		},
+
+		// Convert a byte array to a hex string
+		bytesToHex: function(bytes) {
+			var hex = [];
+			for (var i = 0; i < bytes.length; i++) {
+				hex.push((bytes[i] >>> 4).toString(16));
+				hex.push((bytes[i] & 0xF).toString(16));
+			}
+			return hex.join("");
+		},
+
+		// Convert a hex string to a byte array
+		hexToBytes: function(hex) {
+			var bytes = [];
+			for (var c = 0; c < hex.length; c += 2)
+				bytes.push(parseInt(hex.substr(c, 2), 16));
+			return bytes;
+		},
+
+		// Convert a byte array to a base-64 string
+		bytesToBase64: function(bytes) {
+
+			// Use browser-native function if it exists
+			// if (typeof btoa == "function") return btoa(util.bytesToString(bytes));
+
+			var base64 = [],
+				overflow;
+
+			for (var i = 0; i < bytes.length; i++) {
+				switch (i % 3) {
+					case 0:
+						base64.push(base64map.charAt(bytes[i] >>> 2));
+						overflow = (bytes[i] & 0x3) << 4;
+						break;
+					case 1:
+						base64.push(base64map.charAt(overflow | (bytes[i] >>> 4)));
+						overflow = (bytes[i] & 0xF) << 2;
+						break;
+					case 2:
+						base64.push(base64map.charAt(overflow | (bytes[i] >>> 6)));
+						base64.push(base64map.charAt(bytes[i] & 0x3F));
+						overflow = -1;
+				}
+			}
+
+			// Encode overflow bits, if there are any
+			if (overflow != undefined && overflow != -1)
+				base64.push(base64map.charAt(overflow));
+
+			// Add padding
+			while (base64.length % 4 != 0) base64.push("=");
+
+			return base64.join("");
+
+		},
+
+		// Convert a base-64 string to a byte array
+		base64ToBytes: function(base64) {
+
+			// Use browser-native function if it exists
+			if (typeof atob == "function") return util.stringToBytes(atob(base64));
+
+			// Remove non-base-64 characters
+			base64 = base64.replace(/[^A-Z0-9+\/]/ig, "");
+
+			var bytes = [];
+
+			for (var i = 0; i < base64.length; i++) {
+				switch (i % 4) {
+					case 1:
+						bytes.push((base64map.indexOf(base64.charAt(i - 1)) << 2) |
+							(base64map.indexOf(base64.charAt(i)) >>> 4));
+						break;
+					case 2:
+						bytes.push(((base64map.indexOf(base64.charAt(i - 1)) & 0xF) << 4) |
+							(base64map.indexOf(base64.charAt(i)) >>> 2));
+						break;
+					case 3:
+						bytes.push(((base64map.indexOf(base64.charAt(i - 1)) & 0x3) << 6) |
+							(base64map.indexOf(base64.charAt(i))));
+						break;
+				}
+			}
+
+			return bytes;
+
+		}
+
+	};
+
+	Window.Crypto.HMAC = function(hasher, message, key, options) {
+
+		// Allow arbitrary length keys
+		key = key.length > hasher._blocksize * 4 ?
+			hasher(key, {
+				asBytes: true
+			}) :
+			util.stringToBytes(key);
+
+		// XOR keys with pad constants
+		var okey = key,
+			ikey = key.slice(0);
+		for (var i = 0; i < hasher._blocksize * 4; i++) {
+			okey[i] ^= 0x5C;
+			ikey[i] ^= 0x36;
+		}
+
+		var hmacbytes = hasher(util.bytesToString(okey) +
+			hasher(util.bytesToString(ikey) + message, {
+				asString: true
+			}), {
+				asBytes: true
+			});
+		return options && options.asBytes ? hmacbytes :
+			options && options.asString ? util.bytesToString(hmacbytes) :
+			util.bytesToHex(hmacbytes);
+
+	};
+	// The core
+	var SHA1 = Window.Crypto.SHA1 = function (message, options) {
+		var digestbytes = util.wordsToBytes(SHA1._sha1(message));
+		return options && options.asBytes ? digestbytes :
+		       options && options.asString ? util.bytesToString(digestbytes) :
+		       util.bytesToHex(digestbytes);
+	};
+	SHA1._sha1 = function(message) {
+
+		var m = util.stringToWords(message),
+			l = message.length * 8,
+			w = [],
+			H0 = 1732584193,
+			H1 = -271733879,
+			H2 = -1732584194,
+			H3 = 271733878,
+			H4 = -1009589776;
+
+		// Padding
+		m[l >> 5] |= 0x80 << (24 - l % 32);
+		m[((l + 64 >>> 9) << 4) + 15] = l;
+
+		for (var i = 0; i < m.length; i += 16) {
+
+			var a = H0,
+				b = H1,
+				c = H2,
+				d = H3,
+				e = H4;
+
+			for (var j = 0; j < 80; j++) {
+
+				if (j < 16) w[j] = m[i + j];
+				else {
+					var n = w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16];
+					w[j] = (n << 1) | (n >>> 31);
+				}
+
+				var t = ((H0 << 5) | (H0 >>> 27)) + H4 + (w[j] >>> 0) + (
+					j < 20 ? (H1 & H2 | ~H1 & H3) + 1518500249 :
+					j < 40 ? (H1 ^ H2 ^ H3) + 1859775393 :
+					j < 60 ? (H1 & H2 | H1 & H3 | H2 & H3) - 1894007588 :
+					(H1 ^ H2 ^ H3) - 899497514);
+
+				H4 = H3;
+				H3 = H2;
+				H2 = (H1 << 30) | (H1 >>> 2);
+				H1 = H0;
+				H0 = t;
+
+			}
+
+			H0 += a;
+			H1 += b;
+			H2 += c;
+			H3 += d;
+			H4 += e;
+
+		}
+
+		return [H0, H1, H2, H3, H4];
+
+	};
+
+	// Package private blocksize
+	SHA1._blocksize = 16;
+
+	// Crypto mode namespace
+	Window.Crypto.mode = {};
+	console.log("Window.Crypto")
+	console.log(Window.Crypto)
+	return Window.Crypto;
+})();

BIN
unpackage/dist/build/app-plus/hybrid/html/img/1.png


BIN
unpackage/dist/build/app-plus/hybrid/html/img/shipinrenzheng.png


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/hybrid/html/index.js


+ 182 - 0
unpackage/dist/build/app-plus/hybrid/html/map.html

@@ -0,0 +1,182 @@
+<!doctype html>
+<html>
+	<head>
+		<meta charset="utf-8">
+		<meta http-equiv="X-UA-Compatible" content="IE=edge">
+		<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
+		<link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" />
+		<title>运输轨迹</title>
+		<style>
+			* {
+				margin: 0;
+				padding: 0;
+			}
+
+			html,
+			body,
+			#container {
+				height: 100%;
+				width: 100%;
+			}
+			.content{
+				background-color: white;
+				position: absolute;
+				top: 20px;
+				padding: 6px 10px;
+				border-radius: 6px;
+				width: 90%;
+				margin-left: 5%;
+				display: flex;
+				align-items: center;
+			}
+			.start,.end{
+				display: flex;
+			}
+			.distance {
+				background-color: #00000061;
+				position: absolute;
+				bottom: 20px;
+				right: 20px;
+				color: white;
+				padding: 6px 10px;
+				border-radius: 6px;
+			}
+		</style>
+	</head>
+	<body>
+		<div id="container"></div>
+		<div class='content'>
+			<div class='start'>
+				<div id='sendCity'></div>
+				<div id='sendArea'></div>
+			</div>
+			<div>-----------></div>
+			<div class='end'>
+				<div id='unloadCity'></div>
+				<div id='unloadArea'></div>
+			</div>
+		</div>
+		<div id="distance" class='distance'></div>
+		<script
+			src="https://webapi.amap.com/maps?v=2.0&key=211dd6f989e719022aaf47ddb0659c47&plugin=AMap.Scale,AMap.ToolBar,AMap.Geocoder,AMap.Geolocation,Geolocation,AMap.Driving">
+		</script>
+		<script src="https://webapi.amap.com/loca?v=2.0.0&key=211dd6f989e719022aaf47ddb0659c47"></script>
+		<script>
+		var _t = getQueryString("obj"); 
+				var obj = JSON.parse(decodeURI(_t)) ; 
+				console.log('---------------------')
+				console.log(obj)
+				document.getElementById('sendCity').innerHTML = obj.sendCity
+				document.getElementById('sendArea').innerHTML = obj.sendArea
+				document.getElementById('unloadCity').innerHTML = obj.unloadCity
+				document.getElementById('unloadArea').innerHTML = obj.unloadArea
+				
+				
+				
+				function getQueryString(name) {
+					var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+					var r = window.location.search.substr(1).match(reg);
+					if (r != null) return unescape(r[2]); return null;
+				}
+			let starLnglat = [40.243655, 122.114407]
+			console.log(starLnglat)
+			var map = new AMap.Map('container', {
+				zoom: 12,
+				center: [starLnglat[1], starLnglat[0]],
+				resizeEnable: true
+			});
+			map.clearMap();
+			var startIcon = new AMap.Icon({
+				size: new AMap.Size(25, 25),
+				image: './img/1.png',
+				imageSize: new AMap.Size(25, 25),
+			});
+			/*
+			 * 驾车策略 
+			 * AMap.DrivingPolicy.LEAST_TIME           最快捷模式
+			 * AMap.DrivingPolicy.LEAST_FEE            最经济模式
+			 * AMap.DrivingPolicy.LEAST_DISTANCE       最短距离模式
+			 * AMap.DrivingPolicy.REAL_TRAFFIC         考虑实时路况
+			 */
+			var drivingOption = {
+				policy: AMap.DrivingPolicy
+					.LEAST_TIME, // 其它policy参数请参考 https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingPolicy
+				ferry: 1, // 是否可以使用轮渡
+				map: map,
+				hideMarkers: false, // 设置隐藏路径规划的起始点图标
+				autoFitView: true
+			}
+			var dis = getDistance(122.114407, 40.243655, 122.114407, 42.243655)
+			document.getElementById("distance").innerHTML = dis
+			console.log(dis)
+			render(122.114407, 42.243655)
+
+			function getDistance(lat1, lng1, lat2, lng2) {
+				function Rad(d) {
+					return d * Math.PI / 180.0;
+				}
+				if (!lat1 || !lng1) {
+					return '';
+				}
+				// lat1用户的纬度
+				// lng1用户的经度
+				// lat2商家的纬度
+				// lng2商家的经度
+				let radLat1 = Rad(lat1);
+				let radLat2 = Rad(lat2);
+				let a = radLat1 - radLat2;
+				let b = Rad(lng1) - Rad(lng2);
+				let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) *
+					Math.pow(
+						Math.sin(b / 2), 2)));
+				s = s * 6378.137;
+				s = Math.round(s * 10000) / 10000;
+				s = '距离' + s.toFixed(2) + '公里' //保留两位小数
+				return s
+			}
+
+			function render(endLng, endLat) {
+				// 构造路线导航类
+				var driving = new AMap.Driving(drivingOption)
+				// 根据起终点经纬度规划驾车导航路线
+				driving.search(new AMap.LngLat(starLnglat[1], starLnglat[0]), new AMap.LngLat(endLng, endLat), function(status,
+					result) {
+					if (status === 'complete') {
+						console.log('绘制驾车路线完成')
+					} else {
+						console.log('获取驾车数据失败:' + result)
+					}
+				});
+				// var capitals = [{
+				// 	center: [116.42, 39.93123],
+				// }, {
+				// 	center: [116.41, 39.92132],
+				// }, {
+				// 	center: [116.40, 39.91122],
+				// }];
+				var capitals = [];
+				var facilities = [];
+				for (var i = 0; i < capitals.length; i++) {
+					var marker = new AMap.Marker({
+						position: new AMap.LngLat(capitals[i].center[0], capitals[i].center[1]),
+						offset: new AMap.Pixel(-10, -10),
+						icon: startIcon,
+					});
+					facilities.push(marker);
+				}
+				map.add(facilities);
+			}
+			// map.on('click', clickHandler)
+
+			function clickHandler(e) {
+				map.clearMap();
+				var endLng = e.lnglat.getLng();
+				var endLat = e.lnglat.getLat();
+				render(endLng, endLat)
+			}
+		</script>
+
+		<script>
+		</script>
+	</body>
+</html>

+ 37 - 0
unpackage/dist/build/app-plus/hybrid/html/play.html

@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta name="viewport"
+			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
+		<title>视频认证</title>
+		<style>
+			body {
+				margin: 0;
+				background: #F5F6FA;
+			}
+
+			
+		</style>
+	</head>
+	<body>
+		<div id='app'>
+			<video width="320" height="240" controls id='srcSource'>
+			</video>
+		</div>
+	</body>
+	<script type="text/javascript" src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/jquery.min.js"></script>
+	<script type="text/javascript">
+		var src = getUrlParam("src")
+		function getUrlParam(name) {
+			var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
+			var r = window.location.search.substr(1).match(reg); //匹配目标参数
+			if (r != null) return unescape(r[2]);
+			return null; //返回参数值
+		}
+			console.log("src")
+		console.log(src)
+		$('#srcSource').attr("src",src)
+	</script>
+
+</html>

+ 428 - 0
unpackage/dist/build/app-plus/hybrid/html/video.html

@@ -0,0 +1,428 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta name="viewport"
+			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
+		<title>视频认证</title>
+		<style>
+			body {
+				margin: 0;
+				background: #F5F6FA;
+			}
+
+			.content {
+				background: #F5F6FA;
+				height: 100vh;
+				position: relative;
+			}
+
+			.row {
+				display: flex;
+				justify-content: center;
+				padding-top: 50px;
+
+			}
+
+			.img-video {
+				position: relative;
+				border-radius: 280px;
+				width: 250px;
+				height: 250px;
+				overflow: hidden;
+			}
+
+			.row2 {
+				display: flex;
+				font-size: 20px;
+				justify-content: center;
+				margin-top: 20px;
+			}
+
+			.verify-btn {
+				background: #2772FB;
+				font-size: 20px;
+				padding: 10px 0;
+				width: 70%;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				border-radius: 50px;
+				color: white;
+
+			}
+
+			.btn {
+				position: absolute;
+				bottom: 0;
+				background: white;
+				width: 100%;
+				display: flex;
+				justify-content: center;
+				padding: 40px 0;
+			}
+
+			.img {
+				position: absolute;
+				top: 0;
+				bottom: 0;
+				width: 100%;
+				width: 564px;
+				height: 564px;
+				right: 0;
+				left: 0;
+				margin: auto;
+			}
+
+			.video-content {
+				position: absolute;
+				top: 0;
+				bottom: 0;
+				width: 100%;
+				right: 0;
+				left: 0;
+				margin: auto;
+			}
+
+			.video {
+				width: calc(100%);
+				background: #F5F6FA;
+			}
+
+			.video-btn {
+				width: 100%;
+				display: flex;
+				justify-content: center;
+			}
+			.progressBar {
+				width: 50%;
+				height: 25px;
+				display: block;
+				top: 0;
+				left: 0;
+				bottom: 0;
+				right: 0;
+				margin: auto;
+				padding: 10px 10px 10px 10px;
+				position: absolute;
+				z-index: 2001;
+				background: rgb(102, 102, 102);
+				color: white;
+				border-radius: 5px;
+			}
+			.text{
+				padding: 20px;
+			}
+		</style>
+	</head>
+	<body>
+		<div id='app'>
+			<div class='content'>
+				<!-- <div id="progressBar" class="progressBar">地图数据加载中...</div> -->
+				<div class='row'>
+					<div class='img-video'>
+						<!-- <img src="./img/shipinrenzheng.png" alt="" class='img'> -->
+						<div class="video-content">
+							<!--    人脸检测-->
+							<div class="video-cover"></div>
+							<video :src="url" ref="videoRef" autoplay playsinline x5-video-player-type="h5"
+								class="video"></video>
+						</div>
+					</div>
+				</div>
+				<!-- 	<div class='row2' v-show="!showVideo">
+					请打开摄像头 并阅读提示文字
+				</div> -->
+				<div class='row2'>
+					请将头像放于圆圈内,并阅读以下文字
+				</div>
+				<div class='row2 text'>
+					网络客服过段时间浪费多少级范德萨快逻辑范德萨拉丝机多亏了房价按时付款了金坷垃所肩负的看离开静安寺了发动机as在考虑家双方都会计分录卡死范德萨拉使肌肤抵抗力
+				</div>
+				<div class='btn'>
+					<!-- <div class="verify-btn" @click="getCamera" v-show="!showVideo">打开摄像头</div> -->
+					<div class='video-btn'>
+						<div class="verify-btn" @click="saveVideo" v-if='!isAlreadyRecord'>开始录制</div>
+						<div class="verify-btn" @click="saveVideo" v-if='isAlreadyRecord' data-action="navigateTo">结束录制
+						</div>
+						<!-- <button class="video-close" @click="closeVideo">×</button>
+						<button class="video-save" @click="saveVideo">
+							{{ isAlreadyRecord ? '结束录制(' + count + 's)' : '开始录制' }}</button> -->
+					</div>
+				</div>
+				<!-- <video ref="videob" controls="" name="media" width="100%" height="100"></video> -->
+			</div>
+
+
+		</div>
+	</body>
+	<script type="text/javascript" src="vue.min.js"></script>
+	<script type="text/javascript" src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/jquery.min.js"></script>
+	<script type="text/javascript" src="base64.js"></script>
+	<script type="text/javascript" src="crypto.js"></script>
+	<script type="text/javascript" src="index.js"></script>
+	<script type="text/javascript">
+		document.addEventListener('UniAppJSBridgeReady', function() {
+			uni.webView.getEnv(function(res) {
+				console.log('当前环境:' + JSON.stringify(res));
+			});
+			// 
+			new Vue({
+		 	el: '#app',
+				data: {
+					url: '',
+					// showVideo: true,
+					mediaRecorder: null,
+					MediaStreamTrack: null,
+					isAlreadyRecord: false,
+					count: 8,
+					countTimer: null,
+					recordedBlobs: [],
+					compId: ''
+				},
+				beforeDestroy() {
+					this.MediaStreamTrack && this.MediaStreamTrack.stop()
+					this.countTimer && clearTimeout(this.countTimer)
+				},
+				computed: {},
+
+				mounted() {
+					this.getCamera()
+				},
+				watch: {},
+				methods: {
+					getPolicyBase64() {
+						let date = new Date();
+						date.setHours(date.getHours() + 87600);
+						let srcT = date.toISOString();
+		 			const policyText = {
+							"expiration": srcT, //设置该Policy的失效时间,超过这个失效时间之后,就没有办法通过这个policy上传文件了 
+							"conditions": [
+								["content-length-range", 0, 100 * 1024 * 1024] // 设置上传文件的大小限制,5mb
+							]
+						};
+
+						const policyBase64 = Window.base64.encode(JSON.stringify(policyText));
+						console.log(policyBase64);
+						return policyBase64;
+					},
+					getSignature(policyBase64) {
+						const accesskey = 'FpClTp4OVrRRtHEfi3lBOWUoLxKieW';
+						// console.log('video.js')
+						// console.log(Crypto)
+						const bytes = Window.Crypto.HMAC(Window.Crypto.SHA1, policyBase64, accesskey, {
+							asBytes: true
+						})
+						const signature = Window.Crypto.util.bytesToBase64(bytes);
+						// console.log(signature);
+		 			return signature;
+					},
+					async uploadFile(file) {
+						var formdata = new FormData()
+						const policyBase64 = this.getPolicyBase64();
+						const signature = this.getSignature(policyBase64); //获取签名
+						const urlStr = "https://taohaoliang.oss-cn-beijing.aliyuncs.com/"
+						const fileName = "appData/video" + new Date().getTime() + Math.floor(Math.random() *
+							150) + '.mp4'
+						formdata.append("key", fileName)
+						formdata.append("policy", policyBase64)
+						formdata.append("OSSAccessKeyId", 'LTAI4G9c14PgKvM23WZ9zrpc')
+						formdata.append("signature", signature)
+						formdata.append("success_action_status", '200')
+						formdata.append("file", file)
+						console.log('file.name')
+						$.ajax({
+							type: "POST",
+							data: formdata,
+							contentType: false,
+							processData: false,
+							url: urlStr,
+							success: function(result) {
+		 					console.log(urlStr + fileName)
+								uni.webView.navigateTo({
+									url: '/pages/mine/company/addcompany?videoSrc=' +
+										urlStr + fileName
+								})
+
+							},
+
+							//请求失败,包含具体的错误信息
+							error: function(e) {
+								console.log(e);
+								console.log(e.status);
+								console.log(e.responseText);
+							}
+						});
+					},
+					// 调用摄像头 开始录制
+					getCamera() {
+						// 注意本例需要在HTTPS协议网站中运行,新版本Chrome中getUserMedia接口在http下不再支持。
+						let constraints = {
+		 				audio: true,
+							video: {
+								facingMode: 'user' // 优先调前置摄像头
+							}
+						}
+						console.log('--------------')
+						console.log(navigator)
+						// 老的浏览器可能根本没有实现 mediaDevices,所以我们可以先设置一个空的对象
+						if (navigator.mediaDevices === undefined) {
+							navigator.mediaDevices = {}
+						}
+						// 一些浏览器部分支持 mediaDevices。我们不能直接给对象设置 getUserMedia
+						// 因为这样可能会覆盖已有的属性。这里我们只会在没有getUserMedia属性的时候添加它。
+						if (navigator.mediaDevices.getUserMedia === undefined) {
+							navigator.mediaDevices.getUserMedia = function(constraints) {
+								// 首先,如果有getUserMedia的话,就获得它
+								//   var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia
+								var getUserMedia = navigator.getUserMedia ||
+		 						navigator.webkitGetUserMedia ||
+									navigator.mozGetUserMedia
+		 					// 一些浏览器根本没实现它 - 那么就返回一个error到promise的reject来保持一个统一的接口
+								if (!getUserMedia) {
+									this.$messageBox.alert('该浏览器不支持getUserMedia,请使用其他浏览器')
+									return Promise.reject(new Error(
+										'getUserMedia is not implemented in this browser'))
+								}
+								// 否则,为老的navigator.getUserMedia方法包裹一个Promise
+								return new Promise(function(resolve, reject) {
+									getUserMedia.call(navigator, constraints, resolve, reject)
+								})
+							}
+						}
+						navigator.mediaDevices.getUserMedia(constraints)
+							.then((stream) => {
+								this.MediaStreamTrack = typeof stream.stop === 'function' ? stream :
+									stream
+									.getTracks()[0]
+								console.log(stream)
+								console.log(this.MediaStreamTrack)
+								// 显示录制框
+								this.showVideo = true
+								this.isAlreadyRecord = false
+								let winURL = window.URL || window.webkitURL
+								if ('srcObject' in this.$refs.videoRef) {
+									this.$refs.videoRef.srcObject = stream
+								} else {
+									this.$refs.videoRef.src = winURL.createObjectURL(stream)
+								}
+								console.log(this.$refs.videoRef)
+								this.$refs.videoRef.onloadedmetadata = e => {
+									// 播放视频
+									this.$refs.videoRef.play()
+								}
+								let options = {
+									videoBitsPerSecond: 2500000
+		 					}
+								this.mediaRecorder = new MediaRecorder(stream, options)
+							})
+							.catch((err) => {
+								console.log(err)
+							console.log('摄像头开启失败,请检查摄像头是否授权或是否可用!')
+							})
+							$("#progressBar").hide();
+					},
+					// 关闭活体检测
+					closeVideo() {
+						this.recordedBlobs = ''
+						this.isAlreadyRecord = false
+						this.MediaStreamTrack && this.MediaStreamTrack.stop()
+						this.countTimer && clearTimeout(this.countTimer)
+						this.$router.go(0)
+					},
+					// 录制倒计时
+					countDown() {
+						let that = this
+						let sendTime = Math.round(+new Date() / 1000)
+		 			return function walk() {
+							that.countTimer = setTimeout(function() {
+								that.countTimer && clearTimeout(that.countTimer)
+								let diff = sendTime + 8 - Math.round(+new Date() / 1000)
+								if (diff > 0) {
+									that.count = diff
+									walk()
+								} else {
+									console.log('倒计时结束')
+									// this.showVideo = false
+									console.log(this.url)
+									console.log(this.MediaStreamTrack)
+								}
+							}, 1000)
+						}
+					},
+					dataURLtoBlob(dataurl) {
+
+						var arr = dataurl.split(","),
+
+							mime = arr[0].match(/:(.*?);/)[1],
+
+							bstr = atob(arr[1]),
+
+							n = bstr.length,
+
+							u8arr = new Uint8Array(n);
+
+						while (n--) {
+
+							u8arr[n] = bstr.charCodeAt(n);
+
+						}
+
+						return this.blobToFile(new Blob([u8arr], {
+							type: mime
+						}), {
+							type: mime
+						});
+
+					},
+					blobToFile(theBlob, type) {
+						theBlob.lastModifiedDate = new Date();
+						return new File([theBlob], `${new Date().getTime()}.mp4`, type);
+
+					},
+					// 保存录制视频
+					saveVideo() {
+						let that = this
+						if (this.isAlreadyRecord) {
+							this.countTimer && clearTimeout(this.countTimer)
+							// this.showVideo = false
+							//当录制的数据可用时
+							this.mediaRecorder.ondataavailable = (e) => {
+								if (e.data && e.data.size > 0) {
+									this.recordedBlobs.push(e.data)
+								}
+							}
+							this.mediaRecorder.stop()
+							setTimeout(() => {
+								console.log("this.recordedBlobs-------------------------")
+		 					var blob = new Blob(this.recordedBlobs, {
+									type: 'video/mp4'
+		 					})
+								this.isAlreadyRecord = false
+								this.MediaStreamTrack && this.MediaStreamTrack.stop()
+								var reader = new FileReader();
+								reader.readAsDataURL(blob)
+								reader.onload = (e) => {
+									// this.$refs.videob.src = reader.result
+									let a = this.dataURLtoBlob(reader.result)
+									console.log(a)
+									this.uploadFile(a)
+								}
+							}, 100)
+						} else {
+							this.count = 8
+							this.isAlreadyRecord = true
+							this.mediaRecorder.start(8000)
+							this.countDown()()
+						}
+					},
+					changeVideo(e) {
+		 			let file = this.$refs.videoFile.files
+						console.log(file)
+					}
+				}
+			})
+		});
+	</script>
+
+</html>

+ 0 - 0
unpackage/dist/build/app-plus/hybrid/html/video.js


File diff suppressed because it is too large
+ 5 - 0
unpackage/dist/build/app-plus/hybrid/html/vue.min.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/manifest.json


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/pages/mine/camera/idcard/idcard.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/pages/mine/camera/video/video.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/pages/mine/company/companyvideo.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/pages/order/map.js


BIN
unpackage/dist/build/app-plus/static/ITkoala-amap/amap.png


BIN
unpackage/dist/build/app-plus/static/ITkoala-amap/close.png


BIN
unpackage/dist/build/app-plus/static/ITkoala-amap/selectedStart.png


BIN
unpackage/dist/build/app-plus/static/ITkoala-amap/sharp.png


BIN
unpackage/dist/build/app-plus/static/ITkoala-amap/start.png


BIN
unpackage/dist/build/app-plus/static/banner@2x.png


+ 221 - 0
unpackage/dist/build/app-plus/static/css/common.scss

@@ -0,0 +1,221 @@
+// 全局公共样式
+.content{
+	background:#F7F8FA;
+	// padding:$uni-spacing-row-base;
+	overflow: hidden;
+	position: relative;
+	
+}
+// 常用公共样式
+// 布局相关 start
+.flex{
+	display: flex;
+}
+.align-center{
+	align-items: center;
+}
+.inline-block{
+	display: inline-block;
+}
+.s-row{
+	display: flex;
+	flex-direction: column;
+}
+
+.flex-center{
+	justify-content: center;
+	align-items: center;
+}
+.flex-space-between{
+	justify-content: space-between;
+	align-items: center;
+}
+.flex-space-around{
+	justify-content: space-around;
+	align-items: center;
+}
+.flex-space-evenly{
+	justify-content: space-evenly;
+	align-items: center;
+}
+.flex-end{
+	    justify-content: flex-end;
+}
+.flex-start{
+	    justify-content: flex-start;
+}
+.m-top20{
+	margin-top: 20rpx;
+}
+.paddingr20{
+	padding:20rpx;
+}
+.paddingr35{
+	padding:35rpx;
+}
+.lr-paddingr20{
+	padding: 0 20rpx;
+}
+.fixed{
+	position: fixed;
+}
+.row-between{
+	display: flex;
+	justify-content: space-between;
+}
+.content-other{
+	background: white;
+	padding:10rpx 20rpx;
+	border-radius: 10rpx;
+}
+.width100{
+	width: 100%;
+}
+.mr20{
+	margin-right: 20rpx;
+}
+.ml20{
+	margin-left: 20rpx;
+}
+.msx20{
+	margin:20rpx 0;
+}
+.mt20{
+	margin-top:20rpx;
+}
+.text-align-right{
+	text-align: right;
+}
+// 布局相关 end
+
+// 边线相关start
+.border-bottom{
+	border-bottom: 1px solid #EEEEEE;
+	padding-bottom: 10rpx;
+}
+// 边线相关end
+
+
+// 颜色相关start
+.red{
+	background: red;
+}
+.yellow{
+	background:yellow;
+}
+.btn-color{
+	background: #2772FB!important;
+	color: white!important;
+}
+.h-color{
+	color: #FE6300;
+}
+.number-color{
+	color:#2772FB;
+}
+// 颜色相关end
+// 文字相关start
+.level2-title{
+font-size: 32rpx;
+font-weight: 700;
+color: #000000;
+}
+.fontsize-24{
+	font-size: 24rpx;
+}
+.fontsize-25{
+	font-size: 25rpx;
+}
+.fontsize-26{
+	font-size: 26rpx;
+}
+.fontsize-28{
+	font-size: 28rpx;
+}
+.fontsize-36{
+	font-size: 36rpx!important;
+}
+.fontsize-46{
+	font-size: 46rpx;
+}
+.gray{
+	color: #BBBBBB;
+}
+.fontweight-500{
+	font-weight: 500;
+}
+.point{
+	text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+}
+.row-left-text{
+	font-size:28rpx;
+	// color: #8F8F8F;
+}
+.row-right-text{
+	font-size:28rpx;
+}
+.ytg-color{
+	color: #0CBB6B;
+}
+.shz-color{
+	color:#FE6300;
+}
+.wtg-color{
+	color:#EF4034;
+}
+.ygq-color{
+	color: #878787;
+}
+// 文字相关end
+// 边线相关start
+.noborder{
+	border-bottom: none!important;
+}
+// 边线相关start
+
+// other
+.ssx{
+	width: 40rpx;
+	height: 40rpx;
+	background: linear-gradient(180deg, #C8D7E5 0%, #AFC1D6 100%);
+	font-size: 26rpx;
+	font-family: PingFangSC-Medium, PingFang SC;
+	font-weight: 500;
+	color: #FFFFFF;
+	border-radius: 50%;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	margin-right: 10rpx;
+}
+.row-tips{
+font-size: 26rpx;
+font-weight: 400;
+color: #FE7F1A;
+background: #FFEEE1;
+padding: 4rpx 11rpx;
+border-radius: 4px;
+}
+.xj-image{
+	width:46rpx;
+	height: 46rpx;
+}
+/deep/.u-modal__content__text{
+	text-align: center;
+}
+.preview-img{
+	margin-top: 20rpx;
+	width: 212rpx;
+	height: 212rpx;
+	border-radius: 10rpx;
+}
+.uview-upload{
+	margin-top: 20rpx;
+}
+.card-img{
+	width: 100%;
+	height: 440rpx;
+	
+}

+ 20 - 0
unpackage/dist/build/app-plus/static/css/font.css

@@ -0,0 +1,20 @@
+@font-face {
+	font-family: "PingFang SC";
+	src: url('https://taohaoliang.oss-accelerate.aliyuncs.com/app/tmp/PingFang-Bold.ttf'),
+/* 		url('https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/PingFang-ExtraLight.ttf'),
+		url('https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/PingFang-Heavy.ttf'),
+		url('https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/PingFang-Light.ttf'), */
+		url('https://taohaoliang.oss-accelerate.aliyuncs.com/app/tmp/PingFang-Medium.ttf'),
+		url('https://taohaoliang.oss-accelerate.aliyuncs.com/app/tmp/PingFang-Regular.ttf');
+		font-weight: normal;
+	font-style: normal;
+}
+@font-face {
+	font-family: "DINPro";
+	src:url('https://taohaoliang.oss-accelerate.aliyuncs.com/app/tmp/DINPro-Bold.ttf'),
+		/* url('https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/DINPro-Light.ttf'), */
+		url('https://taohaoliang.oss-accelerate.aliyuncs.com/app/tmp/DINPro-Medium.ttf');
+		font-weight: normal;
+	font-style: normal;
+}
+

BIN
unpackage/dist/build/app-plus/static/icon_delete.png


BIN
unpackage/dist/build/app-plus/static/icon_down.png


BIN
unpackage/dist/build/app-plus/static/iconfont.ttf


BIN
unpackage/dist/build/app-plus/static/images/carSource/exchange.png


BIN
unpackage/dist/build/app-plus/static/images/carSource/mescroll-empty.png


BIN
unpackage/dist/build/app-plus/static/images/carSource/yaoqing.png


BIN
unpackage/dist/build/app-plus/static/images/common/bz@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/cy@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/dingdan@2x(1).png


BIN
unpackage/dist/build/app-plus/static/images/common/dingdan@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/huoyuan@2x(1).png


BIN
unpackage/dist/build/app-plus/static/images/common/huoyuan@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/iconmy@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/jt.png


BIN
unpackage/dist/build/app-plus/static/images/common/mesicon@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/my@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/quxiao@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/sh.png


BIN
unpackage/dist/build/app-plus/static/images/common/sx.png


BIN
unpackage/dist/build/app-plus/static/images/common/tg.png


BIN
unpackage/dist/build/app-plus/static/images/common/tianjiazhaopian@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/top@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/wtg.png


BIN
unpackage/dist/build/app-plus/static/images/common/xiaoxi@2x.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/Mask@2x.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/banner@2x.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/change.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/jt.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/jx.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/jxbf.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/msgicon@2x.png


BIN
unpackage/dist/build/app-plus/static/images/help/banner@2x.png


BIN
unpackage/dist/build/app-plus/static/images/help/tu1@2x.png


BIN
unpackage/dist/build/app-plus/static/images/help/zy.png


BIN
unpackage/dist/build/app-plus/static/images/login/bg.png


BIN
unpackage/dist/build/app-plus/static/images/login/bg@2x.png


BIN
unpackage/dist/build/app-plus/static/images/login/bg@3x.png


BIN
unpackage/dist/build/app-plus/static/images/login/bg_slices/bg.png


BIN
unpackage/dist/build/app-plus/static/images/login/bg_slices/bg@2x.png


BIN
unpackage/dist/build/app-plus/static/images/login/bg_slices/bg@3x.png


BIN
unpackage/dist/build/app-plus/static/images/login/duihao2.png


BIN
unpackage/dist/build/app-plus/static/images/login/duihao2@2x.png


BIN
unpackage/dist/build/app-plus/static/images/login/duihao2@3x.png


BIN
unpackage/dist/build/app-plus/static/images/login/guanbi@2x.png


BIN
unpackage/dist/build/app-plus/static/images/login/logo.png


BIN
unpackage/dist/build/app-plus/static/images/login/logo@2x.png


BIN
unpackage/dist/build/app-plus/static/images/login/logo@3x.png


BIN
unpackage/dist/build/app-plus/static/images/login/select.png


BIN
unpackage/dist/build/app-plus/static/images/login/select@2x.png


BIN
unpackage/dist/build/app-plus/static/images/login/select@3x.png


BIN
unpackage/dist/build/app-plus/static/images/login/selected1.png


BIN
unpackage/dist/build/app-plus/static/images/login/selected2.png


BIN
unpackage/dist/build/app-plus/static/images/login/selected3.png


Some files were not shown because too many files changed in this diff