zhengkaixin hai 1 ano
achega
5591647279
Modificáronse 100 ficheiros con 2295 adicións e 0 borrados
  1. 47 0
      App.vue
  2. 1 0
      README.md
  3. 84 0
      apis/common.js
  4. 5 0
      apis/index.js
  5. 67 0
      apis/pagejs/e_user.js
  6. 13 0
      apis/pagejs/energy/index.js
  7. 67 0
      apis/pagejs/h_user.js
  8. 60 0
      apis/pagejs/hall/deduction.js
  9. 20 0
      apis/pagejs/hall/index.js
  10. 20 0
      apis/utils/AMap.js
  11. 31 0
      apis/utils/alipay.js
  12. 420 0
      apis/utils/index.js
  13. 122 0
      apis/utils/init.js
  14. 45 0
      apis/utils/initALI.js
  15. 124 0
      apis/utils/mixin.js
  16. 92 0
      apis/utils/request.js
  17. 70 0
      apis/utils/requestSon.js
  18. 76 0
      apis/utils/requestWhite.js
  19. 236 0
      apis/utils/wxJsApi.js
  20. 52 0
      apis/utils/wxpay.js
  21. 77 0
      apis/weixin.js
  22. 0 0
      assets/css/style.css
  23. 7 0
      assets/font/jptime.css
  24. BIN=BIN
      assets/font/jptime.otf
  25. 22 0
      assets/icon/icon.vue
  26. BIN=BIN
      assets/img/Copy PEokWS2 Copy 1@1x.png
  27. BIN=BIN
      assets/img/Image@1.png
  28. BIN=BIN
      assets/img/Image@2.png
  29. BIN=BIN
      assets/img/Image@3.png
  30. BIN=BIN
      assets/img/Image@4.png
  31. BIN=BIN
      assets/img/Image@5.png
  32. BIN=BIN
      assets/img/Image@6.png
  33. BIN=BIN
      assets/img/Image@7(1).png
  34. BIN=BIN
      assets/img/Image@7.png
  35. BIN=BIN
      assets/img/Image@8(1).png
  36. BIN=BIN
      assets/img/Image@8.png
  37. BIN=BIN
      assets/img/PEokWS2@1x.png
  38. 6 0
      assets/img/antFill-account-book(1).svg
  39. 6 0
      assets/img/antFill-account-book.svg
  40. 6 0
      assets/img/antFill-notification(1).svg
  41. 6 0
      assets/img/antFill-notification.svg
  42. 6 0
      assets/img/antOutline-alipay-circle bQiHn7m.svg
  43. BIN=BIN
      assets/img/chart@1x.png
  44. BIN=BIN
      assets/img/e-invoice.png
  45. 6 0
      assets/img/far fa-clock.svg
  46. 6 0
      assets/img/fas fa-bell.svg
  47. 6 0
      assets/img/fas fa-book.svg
  48. 6 0
      assets/img/fas fa-chart-pie(1).svg
  49. 6 0
      assets/img/fas fa-chart-pie.svg
  50. 6 0
      assets/img/fas fa-exclamation-triangle Copy 1.svg
  51. 6 0
      assets/img/fas fa-exclamation-triangle.svg
  52. 6 0
      assets/img/fas fa-file-alt.svg
  53. 6 0
      assets/img/iconPark-order.svg
  54. 6 0
      assets/img/iconPark-order2.svg
  55. 6 0
      assets/img/iconPark-wallet.svg
  56. 6 0
      assets/img/if-support.svg
  57. 6 0
      assets/img/if-ui-dial-phone 1.svg
  58. 6 0
      assets/img/invoice.svg
  59. BIN=BIN
      assets/img/jVzkNKE@1x(1).png
  60. BIN=BIN
      assets/img/jVzkNKE@1x.png
  61. BIN=BIN
      assets/img/logo.png
  62. 6 0
      assets/img/md-check_circle vRxbRvD.svg
  63. 6 0
      assets/img/md-watch_later.svg
  64. 6 0
      assets/img/mineBackground.svg
  65. 3 0
      assets/img/modalIcon.svg
  66. BIN=BIN
      assets/img/photo@x1.png
  67. 6 0
      assets/img/riFill-building-fill.svg
  68. 6 0
      assets/img/riFill-customer-service-2-fill 1.svg
  69. 6 0
      assets/img/riFill-exchange-cny-fill.svg
  70. 6 0
      assets/img/riFill-file-list-3-fill 1.svg
  71. 6 0
      assets/img/riFill-phone-fill.svg
  72. 6 0
      assets/img/riFill-user-2-fill.svg
  73. 6 0
      assets/img/riFill-wechat-pay-fill fTAsMwS.svg
  74. 6 0
      assets/img/riLine-book-2-line.svg
  75. 6 0
      assets/img/riLine-calendar-todo-line 1.svg
  76. 6 0
      assets/img/riLine-contacts-book-line.svg
  77. 6 0
      assets/img/riLine-customer-service-2-line.svg
  78. 6 0
      assets/img/riLine-file-text-line Copy l9stN6v.svg
  79. 6 0
      assets/img/riLine-pie-chart-line.svg
  80. 6 0
      assets/img/riLine-question-line 1.svg
  81. 6 0
      assets/img/riLine-settings-2-line.svg
  82. 6 0
      assets/img/riLine-time-line.svg
  83. 6 0
      assets/img/riLine-user-settings-line.svg
  84. 1 0
      assets/img/tabbarImg/chat-1-fill.svg
  85. 1 0
      assets/img/tabbarImg/chat-1-fill2.svg
  86. 1 0
      assets/img/tabbarImg/chat-smile-2-fill.svg
  87. 1 0
      assets/img/tabbarImg/chat-smile-2-fill2.svg
  88. 1 0
      assets/img/tabbarImg/home-wifi-fill.svg
  89. 1 0
      assets/img/tabbarImg/home-wifi-fill2.svg
  90. 3 0
      assets/img/vessel.svg
  91. BIN=BIN
      assets/img/wImage.png
  92. BIN=BIN
      assets/img/wImage3.png
  93. BIN=BIN
      assets/img/wImage4.png
  94. BIN=BIN
      assets/img/wImage@1x.png
  95. BIN=BIN
      assets/img/wImage@photo.png
  96. BIN=BIN
      assets/img/暂无数据-缺省页.png
  97. BIN=BIN
      assets/img/矩形 hAEosSK@1x.png
  98. 34 0
      assets/js/font.js
  99. 167 0
      components/ShareServer.vue
  100. 90 0
      components/Tabbar.vue

+ 47 - 0
App.vue

@@ -0,0 +1,47 @@
+<style lang="scss">
+	/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
+	@import "@/uni_modules/uview-ui/index.scss";
+	//@import '@/assets/font/font.css';
+	
+</style>
+<script>
+	
+	import './config/.env.js'
+	import './assets/js/font.js'
+	export default {
+		onLaunch: function() {
+			console.log('App Launch')
+				
+		},
+		 
+		onShow: function() {
+			
+			console.log('App Show ---- App Show')
+		},
+		onHide: function() {
+			console.log('App Hide  -- App Hide  -App Hide')
+		}
+	}
+</script>
+
+<style lang="scss">
+	
+	html, body {
+	  background-color:#F2F4F6;
+	  margin: 0;
+	  padding: 0;
+	}
+	// 导航栏标题文字
+	.u-title {
+		font-size: 40rpx !important
+	}
+	#__vconsole{
+		z-index: 99999;
+		position: absolute;
+	}
+	.slot{
+		color: rgba(16,16,16,1);
+		font-size: 32rpx;
+		margin-right: 32rpx;
+	}
+</style>

+ 1 - 0
README.md

@@ -0,0 +1 @@
+[](https://modao.cc/proto/s1QFMhkss7n1emgHHRAr0E/sharing?view_mode=read_only)

+ 84 - 0
apis/common.js

@@ -0,0 +1,84 @@
+import request from '@/apis/utils/request'
+ 
+import Qs from 'qs';
+
+export function uploadPicture(formData) {
+	return request({
+		url: '/uploadPicture',
+		header:{
+			   'Content-Type': 'application/x-www-form-urlencoded'
+
+		},
+		data: formData,
+		method: 'post',
+		
+	})
+}
+
+
+export function getBannerInfo(formData) {
+	return request({
+		url: '/mobile/bannerInfo/getBannerInfo',
+		data: formData,
+		method: 'post',
+		
+	})
+}
+export function readMessageNum() {
+	return request({
+		url: '/mobile/messageApi/readMessageNum',
+		//data: formData,
+		method: 'post',
+		
+	})
+}
+
+export function getScreenList(formData) {
+	return request({
+		url: '/mobile/recruitmentApi/getScreenList',
+		data: formData,
+		method: 'post',
+		
+	})
+}
+
+//字典表
+export function getData(id) {
+	return request({
+		url: '/sys/dataDictionary/queryChildrenApi',
+		data: {
+			parentId:id
+		},
+		method: 'post',
+		timeout: 60000,
+	})
+}
+//上传图片
+export function upload(formData) {
+	return request({
+		url: '/mobile/jobUserApi/upload',
+		data: formData,
+		method: 'post',
+		
+	})
+}
+
+//上传图片
+export function uploadBase64(formData) {
+	var localData = formData.photoFile?formData.photoFile:formData.photoBase64Data;
+	
+	if (localData.indexOf('data:image') != 0) {
+	    //判断是否有这样的头部
+	    localData = 'data:image/jpeg;base64,' + localData
+	}
+	formData.photoBase64Data = localData.replace(/\r|\n/g, '').replace('data:image/jgp', 'data:image/jpeg')
+	
+	
+	return request({
+		url: '/mobile/jobUserApi/uploadBase64',
+		data: formData,
+		method: 'post',
+		timeout: 60000,
+	})
+}
+

+ 5 - 0
apis/index.js

@@ -0,0 +1,5 @@
+import request from '@/apis/utils/request.js';
+import requestWhite from '@/apis/utils/requestWhite.js';
+import Qs from 'qs';
+ import  carhelp from '@/apis/utils/mixin.js'
+ 

+ 67 - 0
apis/pagejs/e_user.js

@@ -0,0 +1,67 @@
+import request from '@/apis/utils/request'
+ import requestWhite from '@/apis/utils/requestWhite'
+ 
+ export function findByOpenId(data) {
+ 	var url='/mobile/tenantUser/findByOpenId';
+ 	return requestWhite({
+ 		method: 'get',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function logout(data) {
+ 	var url='/mobile/tenantUser/logout';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function changePassword(data) {
+ 	var url='/mobile/tenantUser/changePassword';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ 
+ export function changePhone(data) {
+ 	var url='/mobile/tenantUser/changePhone';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function getVerifyCode(data) {
+ 	var url='/mobile/tenantUser/getVerifyCode';
+ 	return requestWhite({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function login(data) {
+ 	var url='/mobile/tenantUser/login';
+ 	return requestWhite({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function validateCode(data) {
+ 	var url='/mobile/tenantUser/validateCode';
+ 	return requestWhite({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 

+ 13 - 0
apis/pagejs/energy/index.js

@@ -0,0 +1,13 @@
+import request from '@/apis/utils/request'
+ 
+ export function homePage(data) {
+ 	var url='/mobile/tenant/homePage';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ 
+ 

+ 67 - 0
apis/pagejs/h_user.js

@@ -0,0 +1,67 @@
+import request from '@/apis/utils/request'
+ import requestWhite from '@/apis/utils/requestWhite'
+ 
+ export function findByOpenId(data) {
+ 	var url='/mobile/tenantUser/findByOpenId';
+ 	return requestWhite({
+ 		method: 'get',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function logout(data) {
+ 	var url='/mobile/tenantUser/logout';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function changePassword(data) {
+ 	var url='/mobile/tenantUser/changePassword';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ 
+ export function changePhone(data) {
+ 	var url='/mobile/tenantUser/changePhone';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function getVerifyCode(data) {
+ 	var url='/mobile/tenantUser/getVerifyCode';
+ 	return requestWhite({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function login(data) {
+ 	var url='/mobile/tenantUser/login';
+ 	return requestWhite({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function validateCode(data) {
+ 	var url='/mobile/tenantUser/validateCode';
+ 	return requestWhite({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 

+ 60 - 0
apis/pagejs/hall/deduction.js

@@ -0,0 +1,60 @@
+import request from '@/apis/utils/request'
+ 
+ export function deductionRecord(data) {
+ 	var url='/mobile/tenant/deductionRecord';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function deductionRecordGraph(data) {
+ 	var url='/mobile/tenant/deductionRecordGraph';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ 
+ export function rechargeRecord(data) {
+ 	var url='/mobile/tenant/rechargeRecord';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ export function rechargeRecordGraph(data) {
+ 	var url='/mobile/tenant/rechargeRecordGraph';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ 
+ 
+ export function contractItemList(data) {
+ 	var url='/mobile/tenant/contractItemList';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ 
+ 
+ export function contractList(data) {
+ 	var url='/mobile/tenant/contractList';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }

+ 20 - 0
apis/pagejs/hall/index.js

@@ -0,0 +1,20 @@
+import request from '@/apis/utils/request'
+ 
+ export function homePage(data) {
+ 	var url='/mobile/tenant/homePage';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }
+ 
+ 
+ export function contractItemList(data) {
+ 	var url='/mobile/tenant/contractItemList';
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: url
+ 	})
+ }

+ 20 - 0
apis/utils/AMap.js

@@ -0,0 +1,20 @@
+export default function MapLoader() {
+
+	return new Promise((resolve, reject) => {
+		 
+		if (window.AMap) {
+			resolve(window.AMap)
+		} else {
+//			console.log("map")
+			var script = document.createElement('script')
+			script.type = 'text/javascript'
+			script.async = true
+			script.src = 'https://webapi.amap.com/maps?v=1.4.15&callback=initAMap&key=de735ff06aec63f6bc109c9fb805fc3d'
+			script.onerror = reject
+			document.head.appendChild(script)
+		}
+		window.initAMap = () => {
+			resolve(window.AMap)
+		}
+	})
+}

+ 31 - 0
apis/utils/alipay.js

@@ -0,0 +1,31 @@
+function onBridgeReady(params) {
+	AlipayJSBridge.call("tradePay", {
+		tradeNO: params.tradeNo,
+	}, function(result) {
+		if (result.resultCode == '9000') {
+			location.href = params.succUrl
+		} else {
+			location.href = params.cancelUrl;
+		}
+		//alert(JSON.stringify(result));
+	});
+}
+
+export const aliPayJs = (params) => {
+	if (typeof window.WeixinJSBridge === 'undefined') {
+		if (document.addEventListener) {
+			document.addEventListener('AlipayJSBridgeReady', function() {
+				onBridgeReady(params)
+			}, false)
+		} else if (document.attachEvent) {
+			document.attachEvent('AlipayJSBridgeReady', function() {
+				onBridgeReady(params)
+			})
+			document.attachEvent('AlipayJSBridgeReady', function() {
+				onBridgeReady(params)
+			})
+		}
+	} else {
+		onBridgeReady(params)
+	}
+}

+ 420 - 0
apis/utils/index.js

@@ -0,0 +1,420 @@
+export const currentTimeStamp = () => new Date().getTime()
+
+export const unixTimeStamp = (val) => new Date(val).getTime()
+
+export const nextMonth=(year,month,day,bl)=>{
+	if(day){
+		
+	}else{
+		day="01"
+	}
+	var str=""
+	if(month==12){
+		str= (parseInt(year) +1)+"-01-"+day
+	}else{
+		str= year+"-"+(parseInt(month) +1)+"-"+day
+	}
+	if(bl){
+		var now= new Date(str);
+		return parseUnixTime(new Date(now.getTime()-1000*60*60*24),'{y}-{m}-{d}')	
+	}
+}
+
+// export const nextDay=(year,month,day)=>{
+// 	var now= new Date(year+"-"+month+"-"+day);
+// 	return parseUnixTime(new Date(now.getTime()+1000*60*60*24),'{y}-{m}-{d}')
+	
+// }
+
+// 苹果手机时间显示bug 
+export const newDate = (date) => {
+	var time=null;
+	if (date) {
+		var reg=new RegExp('-','gi')
+		time=new Date(date.replace(reg,'/'));	
+	}
+	return time
+}
+
+//今天多少天之前的时间
+export const beforeTimeStamp = (dayCount,date) => {
+	
+	if (date) {
+		var dd = new Date(date);
+	} else {
+		var dd = new Date();
+	}
+	dd.setDate(dd.getDate() - dayCount)
+	let time = dd.getTime()
+	return time
+}
+
+//今天多少天之后的时间
+export const afterTimeStamp = (dayCount, date) => {
+	if (date) {
+		var dd = new Date(date);
+	} else {
+		var dd = new Date();
+	}
+	dd.setDate(dd.getDate() + dayCount)
+	let time = dd.getTime()
+	return time
+}
+
+//今天多少年之后的时间
+export const afterYearTimeStamp = (yearCount, date) => {
+	if (date) {
+		var dd = new Date(date);
+	} else {
+		var dd = new Date();
+	}
+	dd.setFullYear(dd.getFullYear() + yearCount)
+	let time = dd.getTime()
+	return time
+}
+
+//计算某日期距当前的时间秒数
+export const secondsDistance = (date) => {
+	var now = new Date().getTime();
+	date = new Date(date).getTime();
+	var seconds = parseInt((now - date) / 1000);
+	return seconds;
+}
+
+//计算两个时间的相差天数
+export const daysDistance = (date1, date2) => {
+	date1 = Date.parse(date1);
+	date2 = Date.parse(date2);
+	var ms = date2 - date1;
+	ms = ms < 0 ? 0 : ms;
+	var days = parseInt(Math.floor(ms / (24 * 3600 * 1000)));
+	return days;
+}
+//计算两个时间的相差小时数
+export const hourDistanceArr = (date1, date2) => {
+	if (!date1 || !date2) {
+		return '-';
+	}
+	date1 = Date.parse(date1);
+	date2 = Date.parse(date2);
+	var ms = date2 - date1;
+	ms = ms < 0 ? 0 : ms;
+	ms = ms / 1000; //s
+	var Hour = parseInt(Math.floor(ms / (60 * 60)));
+	var Fen = parseInt(Math.floor(ms % (60 * 60) / 60));
+	var s = parseInt(Math.floor(ms % (60)));
+	//600000
+	return [Hour, Fen, s]
+}
+//计算两个时间的相差小时数
+export const hourDistance = (date1, date2) => {
+	if (!date1 || !date2) {
+		return '-';
+	}
+	date1 = Date.parse(date1);
+	date2 = Date.parse(date2);
+	var ms = date2 - date1;
+	ms = ms < 0 ? 0 : ms;
+	ms = ms / 1000; //s
+	var Hour = parseInt(Math.floor(ms / (60 * 60)));
+	var Fen = parseInt(Math.floor(ms % (60 * 60) / 60));
+	var s = parseInt(Math.floor(ms % (60)));
+	//600000
+	return Hour + '小时' + Fen + '分钟' + s + '秒';
+}
+
+export const parseUnixTime = (time, cFormat) => {
+	if (arguments.length === 0) {
+		return null
+	}
+	const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
+	let date
+	if (typeof time === 'object') {
+		date = time
+	} else {
+		if (('' + time).length === 10) time = parseInt(time) * 1000
+		date = new Date(time)
+	}
+	const formatObj = {
+		y: date.getFullYear(),
+		m: date.getMonth() + 1,
+		d: date.getDate(),
+		h: date.getHours(),
+		i: date.getMinutes(),
+		s: date.getSeconds(),
+		a: date.getDay()
+	}
+	const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
+		let value = formatObj[key]
+		if (key === 'a') return ['一', '二', '三', '四', '五', '六', '日'][value - 1]
+		if (result.length > 0 && value < 10) {
+			value = '0' + value
+		}
+		return value || 0
+	})
+
+	return time_str
+}
+
+//微信获取code
+export const getWeixinRedirectURI = (appid, url) =>
+	`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${encodeURIComponent(url)}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`
+
+ 
+//支付宝获取code
+export const getAlipayRedirectURI = (appid, url) =>
+	`https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=${appid}&scope=auth_base&redirect_uri=${encodeURIComponent(url)}`
+
+
+//获取链接的?参数
+export const getUrlParam = (name) => {
+	var k =window.location.href.indexOf("?"+name+"=");
+	if(k==-1){
+		 k =window.location.href.indexOf("&"+name+"=");
+		 if(k==-1){
+			 return  ""
+		 }
+	}
+	var reg = new RegExp(name + "=([^&]*)(&|$)");
+	var r = window.location.href.match(reg);
+	var strValue = "";
+	if (r != null) {
+		strValue = unescape(r[1]);
+	}
+	return strValue;
+}
+
+
+//将base64图片码转file
+export const dataUrlToFile = (dataurl, filename) => {
+	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 new File([u8arr], filename, {
+		type: mime
+	});
+}
+
+//将canvas转换为image的src
+export const convertCanvasToImage = (canvas) => {
+	return canvas.toDataURL("image/png");;
+}
+
+//验证身份证
+export const checkIdCard = (value) => {
+	var identNumber = value;
+
+	if (identNumber != null) {
+		identNumber = (identNumber + "").toUpperCase();
+	}
+
+	if (!(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(identNumber))) {
+		return '身份证格式错误';
+	}
+	//身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。  
+	if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(identNumber))) {
+		return '身份证格式错误';
+	}
+	//校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
+	//下面分别分析出生日期和校验位
+	var len, re;
+	len = identNumber.length;
+	//判断18位身份证号码,现在在国家统一身份证为18位。
+	if (len == 18) {
+		re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
+		var arrSplit = identNumber.match(re);
+
+
+		//检查生日日期是否正确
+		var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);
+		var bGoodDay;
+		bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) &&
+			(dtmBirth.getDate() == Number(arrSplit[4]));
+		if (!bGoodDay) {
+			return '身份证号码日期不匹配';
+		} else {
+			//检验18位身份证的校验码是否正确。
+			//校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
+			var valnum;
+			var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
+			var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
+			var nTemp = 0,
+				i;
+			for (i = 0; i < 17; i++) {
+				nTemp += identNumber.substr(i, 1) * arrInt[i];
+			}
+			valnum = arrCh[nTemp % 11];
+			if (valnum != identNumber.substr(17, 1)) {
+				return '身份证号码校验位不正确';
+			}
+			return true;
+		}
+	} else {
+		return '身份证号码位数不足';
+	}
+}
+
+// 字符串截取 包含对中文处理,str需截取字符串,start开始截取位置,n截取长度
+export const substrMb = (str, start, n) => {
+	if (str.replace(/[\u4e00-\u9fa5]/g, '**').length <= n) {
+		return str;
+	}
+	let len = 0;
+	let tmpStr = '';
+	for (let i = start; i < str.length; i++) { // 遍历字符串
+		if (/[\u4e00-\u9fa5]/.test(str[i])) { // 中文 长度为两字节
+			len += 2;
+		} else {
+			len += 1;
+		}
+		if (len > n) {
+			break;
+		} else {
+			tmpStr += str[i];
+		}
+	}
+	return tmpStr;
+}
+
+//验证手机号
+export const checkPhone = (value) => {
+	if (!value) {
+		return '手机号不能为空';
+	} else {
+		const reg = /^1[3-9]\d{9}$/
+		var result = reg.test(value);
+
+		if (result) {
+			return true;
+		} else {
+			return '请输入正确的手机号';
+		}
+	}
+};
+
+//验证社会信用代码
+export const checkCreditCode = (value) => {
+	if (!value) {
+		return '社会信用代码不能为空';
+	} else {
+		const reg = /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g
+		var result = reg.test(value);
+
+		if (result) {
+			return true;
+		} else {
+			return '不是有效的统一社会信用编码';
+		}
+	}
+};
+
+//是否为微信浏览器
+export const isWeiXin = () => {
+	return /MicroMessenger/.test(window.navigator.userAgent)
+}
+
+//获取当前根链接
+export const getBaseUrl = () => {
+	return window.location.href.split("#")[0]
+}
+
+//获取指定日期是否在指定时间之间
+export const inDateBetwen = (d, d1, d2) => {
+	//如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
+	var dateBegin = new Date(d1.replace(/-/g, "/")); //将-转化为/,使用new Date
+	var dateEnd = new Date(d2.replace(/-/g, "/")); //将-转化为/,使用new Date
+	//var dateBegin = new Date(d1);//将-转化为/,使用new Date
+	//var dateEnd = new Date(d2);//将-转化为/,使用new Date
+	var dateNow = new Date(d.replace(/-/g, "/")); //获取当前时间
+
+	var beginDiff = dateNow.getTime() - dateBegin.getTime(); //时间差的毫秒数       
+	var beginDayDiff = Math.floor(beginDiff / (24 * 3600 * 1000)); //计算出相差天数
+
+	var endDiff = dateEnd.getTime() - dateNow.getTime(); //时间差的毫秒数
+	var endDayDiff = Math.floor(endDiff / (24 * 3600 * 1000)); //计算出相差天数       
+	if (endDayDiff < 0) {
+		//已过期
+		return false
+	}
+	if (beginDayDiff < 0) {
+		//没到开始时间
+		return false;
+	}
+	return true;
+}
+
+//type为字符串类型,有两种选择,"s"代表开始,"e"代表结束,dates为数字类型,不传或0代表本周,-1代表上周,1代表下周
+export const getWeekTime = (type, dates) => {
+	var now = new Date();
+	var nowTime = now.getTime();
+	var day = now.getDay();
+	var longTime = 24 * 60 * 60 * 1000;
+	var n = longTime * 7 * (dates || 0);
+	if (type == "s") {
+		var dd = nowTime - (day) * longTime + n;
+	};
+	if (type == "e") {
+		var dd = nowTime + (7 - day - 1) * longTime + n;
+	};
+	dd = new Date(dd);
+	var y = dd.getFullYear();
+	var m = dd.getMonth() + 1;
+	var d = dd.getDate();
+	m = m < 10 ? "0" + m : m;
+	d = d < 10 ? "0" + d : d;
+	var day = y + "-" + m + "-" + d;
+	return day;
+}
+
+export const getDiffDate = (stime, etime) => {
+	//初始化日期列表,数组
+	var diffdate = new Array();
+	var i = 0;
+	//开始日期小于等于结束日期,并循环
+	while (stime <= etime) {
+		diffdate[i] = stime;
+
+		//获取开始日期时间戳
+		var stime_ts = new Date(stime).getTime();
+ 
+		//增加一天时间戳后的日期
+		var next_date = stime_ts + (24 * 60 * 60 * 1000);
+
+		//拼接年月日,这里的月份会返回(0-11),所以要+1
+		var next_dates_y = new Date(next_date).getFullYear() + '-';
+		var next_dates_m = (new Date(next_date).getMonth() + 1 < 10) ? '0' + (new Date(next_date).getMonth() + 1) + '-' : (
+			new Date(next_date).getMonth() + 1) + '-';
+		var next_dates_d = (new Date(next_date).getDate() < 10) ? '0' + new Date(next_date).getDate() : new Date(next_date).getDate();
+
+		stime = next_dates_y + next_dates_m + next_dates_d;
+
+		//增加数组key
+		i++;
+	}
+	return diffdate;
+}
+
+export const isJSON = (str) => {
+	if (typeof str == 'string') {
+		try {
+			var obj = JSON.parse(str);
+			if (typeof obj == 'object' && obj) {
+				return true;
+			} else {
+				return false;
+			}
+		} catch (e) {
+			console.log('error:' + str + '!!!' + e);
+			return false;
+		}
+	}
+}
+
+
+
+

+ 122 - 0
apis/utils/init.js

@@ -0,0 +1,122 @@
+import carhelp from '@/apis/utils/mixin.js'
+
+import * as API_WeiXin from '@/apis/weixin.js'
+
+import {
+	getUrlParam,
+	getWeixinRedirectURI,
+	isWeiXin
+} from '@/apis/utils'
+var checkOpenId = true; //是否需要获取openId
+var openId = carhelp.getOpenId();
+
+var app = {
+	initTest: function() {
+		// isWeiXin()|| 
+		if(isWeiXin() ){
+			console.log("?/////////")
+			if (!openId) {
+				this.getOpenId();
+			} else {
+				this.getPersion(openId)
+			}
+			
+		}else{
+			alert("请使用微信打开本页面")
+			
+		}
+		
+		
+	},
+	init: function() {
+		// isWeiXin()|| 
+		if(!(process.env.NODE_ENV === "development") ){
+			if (isWeiXin()) {
+				if (checkOpenId) {
+					if (!openId) {
+						this.getOpenId();
+					} else {
+						this.getPersion(openId)
+					}
+				}
+			} else{
+				var NODE_NAME=  process.env['NODE_NAME']
+				if(NODE_NAME=="production"){
+					alert("请使用微信打开本页面")
+				}
+			}
+		}else{
+			carhelp.setOpenId(process.car.openId)
+			this.getPersion(process.car.openId)
+		}
+		
+		
+	},
+	 getPersion(thisopenId){
+		 console.log("init")
+		 var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
+		 var token_tdate=carhelp.get("token_tdate");//每10分钟存储一次token
+		 
+		  if(token_tdate&&token_tdate==tdate){
+			return
+		  }
+		  
+		 var loginurl="/mobile/tenantUser/findByOpenId"
+		  
+		 uni.request({
+		 	method:'get',
+		 	url: process.car.BASE_URL + loginurl,
+		 	data: {
+		 		openId:thisopenId,
+		 	},
+		 	header: {
+		 		'Content-Type': 'application/x-www-form-urlencoded',
+		 		'X-Requested-With': 'XMLHttpRequest',
+		 		//'Authorization':token
+		 	}
+		 }).then((response) => {
+		 	let [error, res] = response;
+		 	
+		 	if (res.data.code == 200&&res.data.result) {
+		 		
+		 		var token = res ? res.data.data.token : '';
+		 		carhelp.setPersonInfo(res.data.data.regUser );
+		 		carhelp.setPersonInfoPlus(res.data.data );
+		 		
+		 		carhelp.setToken(token);
+		 	 
+		 	}else{
+				carhelp.logoff();
+			}
+		 }).catch(error => {
+		 	
+		 	
+		 })
+	 },
+	getOpenId() {
+		
+		const code = getUrlParam('code');
+		var openId = carhelp.getOpenId()
+		if (!openId) {
+			if (!code) {
+				var url = document.URL;
+				var getUrl= getWeixinRedirectURI(process.car.VUE_APP_WXAPPID, url);
+				 
+				window.location.href = getUrl;
+			} else {
+				
+				API_WeiXin.getDataByCode(code).then(response => {
+					
+					carhelp.setOpenId(response.data.openid)
+					openId = response.data.openid;
+					carhelp.set("xpgj_wx_user_info",response.data)
+					
+					 location.reload();
+				}).catch(error => {
+					console.log(error);
+				});
+			}
+		}
+	}
+}
+module.exports = app

+ 45 - 0
apis/utils/initALI.js

@@ -0,0 +1,45 @@
+import carhelp from '@/apis/utils/mixin.js'
+import * as API_WeiXin from '@/apis/weixin.js'
+
+import {
+	getUrlParam,
+	getAlipayRedirectURI,
+ 
+} from '@/apis/utils'
+var checkOpenId = true; //是否需要获取openId
+var openId = carhelp.getOpenIdALI();
+
+var app = {
+	init: function() {
+		 
+		if (!openId) {
+			this.getOpenId();
+		} 
+		
+		
+	},
+	
+	getOpenId() {
+		
+		const code = getUrlParam('auth_code');
+		var openId= carhelp.getOpenIdALI()
+		
+		if (!openId) {
+			if (!code) {
+				
+				var authUrl = document.URL//.replace('pages/parking/search', 'pages/parking/auth');
+				window.location.href = getAlipayRedirectURI(process.car.VUE_APP_ALIAPPID, authUrl );
+			} else {
+				
+				API_WeiXin.getDataByCodeALI(code).then(response => {
+					
+					carhelp.setOpenIdALI(response.data.openid)
+					 location.reload();
+				}).catch(error => {
+					console.log(error);
+				});
+			}
+		}
+	}
+}
+module.exports = app

+ 124 - 0
apis/utils/mixin.js

@@ -0,0 +1,124 @@
+var role="businessHall"
+
+var prefix = 'jp-housekeep-electric-'+role+'-' + process.car.NODE_ENV + '_';
+
+var app = {
+	setRole(key){
+		role=key;
+		prefix = 'jp-housekeep-electric-'+role+'-' + process.car.NODE_ENV + '_';
+		uni.setStorageSync("jp-housekeep-electric", role)
+		
+	},
+	getGzDate : (key) => {
+		var tdate=new Date( ).toJSON().substr(0,10).replace("T"," ")
+		var date= uni.getStorageSync( prefix + "is_gz_date")
+		
+		if(tdate==date){
+			return false
+		}else{
+			return  true;
+		}
+		
+	},
+	
+	setGzDate : () => uni.setStorageSync(prefix + "is_gz_date", new Date( ).toJSON().substr(0,10).replace("T"," ") ),
+	
+	getGunIdCharge :()=>{
+
+		var date= uni.getStorageSync( prefix + "GunId_Date_charge")
+		var now=new Date().getTime()
+		if(date+5*60*1000>now){
+			return  uni.getStorageSync(prefix +  "GunId_Date_Show_charge")
+		}else{
+			return "";
+		}
+	},
+	
+	setGunIdCharge : ( value) => {
+		uni.setStorageSync(prefix + "GunId_Date_Show_charge", value)
+		uni.setStorageSync(prefix + "GunId_Date_charge", new Date().getTime())
+		
+	},
+	
+	
+	getPrefix:()=> prefix,
+	get : key =>  uni.getStorageSync(prefix + key),
+
+	set : (key, value) => uni.setStorageSync(prefix + key, value),
+	remove: key =>  uni.removeStorageSync(prefix + key),
+	setConfig : (value) => uni.setStorageSync(prefix + '_config_$', value),
+	getConfig : () => {
+		var config = uni.getStorageSync(prefix + '_config_$')
+		var configure={}
+		if(config){
+			for(var  i in config){
+				var con=config[i];
+				configure[con.key]=con.value
+			}
+		}
+		 return configure;
+	},
+	
+	setConfigMessage : (value) => uni.setStorageSync(prefix + '_config_tips_$', value),
+	getConfigMessage : () => {
+		var config = uni.getStorageSync(prefix + '_config_tips_$')
+		if(!config){
+			config=[]
+		}
+		 return config;
+	},
+	
+	logoff:()=>{
+		uni.removeStorageSync(prefix + 'token_tdate')
+		uni.removeStorageSync(prefix + 'token')
+		uni.removeStorageSync(prefix  + 'personInfo');
+		uni.removeStorageSync(prefix + 'personInfoPlus');
+	//	uni.removeStorageSync(prefix + 'getElderModeClass');
+		//uni.removeStorageSync(prefix+'wx_openId');
+		
+	},
+	
+	getPersonInfo : () => {
+		 return uni.getStorageSync(prefix + 'personInfo')
+	},
+	getPersonInfoPlus : () => {
+		 return uni.getStorageSync(prefix + 'personInfoPlus')
+	},
+	signOut:()=>  uni.removeStorageSync(prefix  + 'personInfo'),
+	getOpenId : () =>   uni.getStorageSync(prefix + 'wx_openId'+process.car.VUE_APP_WXAPPID),
+	setOpenId : (value) => uni.setStorageSync(prefix + 'wx_openId'+process.car.VUE_APP_WXAPPID, value),
+	
+	getOpenIdALI : () =>   uni.getStorageSync(prefix + 'ali_openId'+process.car.VUE_APP_WXAPPID),
+	setOpenIdALI : (value) => uni.setStorageSync(prefix + 'ali_openId'+process.car.VUE_APP_WXAPPID, value),
+	
+	getUserInfo : () => {
+		 return uni.getStorageSync(prefix + 'xpgj_wx_user_info')
+	},
+
+	setPersonInfo : (value) => uni.setStorageSync(prefix + 'personInfo', value),
+	setPersonInfoPlus : (value) => uni.setStorageSync(prefix + 'personInfoPlus', value),
+	
+	setUserInfo : (value) => uni.setStorageSync(prefix + 'xpgj_wx_user_info', value),
+	
+	getToken : (options) => {
+		//不同权限 ,不同token
+	
+		return uni.getStorageSync(prefix + 'token')
+	},
+	setToken : (value) => {
+		uni.setStorageSync(prefix + 'token', value)
+		
+		if(value){
+			var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
+			uni.setStorageSync(prefix + 'token_tdate', tdate)
+		}
+	}
+	,
+	getGetElderModeClass : () => {
+		 return uni.getStorageSync(prefix + 'getElderModeClass')
+	},
+	setGetElderModeClass : (value) => uni.setStorageSync(prefix + 'getElderModeClass', value),
+	
+}
+
+module.exports = app

+ 92 - 0
apis/utils/request.js

@@ -0,0 +1,92 @@
+import  carhelp from '@/apis/utils/mixin.js'
+import requestSon from './requestSon.js';
+
+
+const request = (options) => {
+	//记录请求次数和响应次数
+	var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
+	var token_tdate=carhelp.get("token_tdate");//每10分钟存储一次token
+	
+	var token=carhelp.getToken(options);
+	
+	 if(token_tdate&&token_tdate==tdate){
+	 	return requestSon(options);
+	 }
+	 var openId=carhelp.getOpenId()
+	 
+	var  urlindex="/wechat/findUserInfo"
+	var k=options.url.indexOf(urlindex)==-1;
+	
+	 if(!openId&&k){
+		 return
+	 }
+	if(!k){
+		return requestSon(options);
+	}
+	
+	return new Promise((resolve, reject) => {
+		 var loginurl="/mobile/tenantUser/findByOpenId"
+		 
+		uni.request({
+			method:'get',
+			url: process.car.BASE_URL + loginurl,
+			data: {
+				openId:openId,
+			
+			},
+			
+			header: {
+				'Content-Type': 'application/x-www-form-urlencoded',
+				'X-Requested-With': 'XMLHttpRequest',
+				//'Authorization':token
+			}
+		}).then((response) => {
+ 			let [error, res] = response;
+			
+			
+			if (res.data.code == 200&&res.data.result) {
+				
+				var token = res ? res.data.data.token : '';
+				carhelp.setPersonInfo(res.data.data.regUser );
+				
+				carhelp.setToken(token);
+				carhelp.setPersonInfoPlus(res.data.data);
+				
+				options.token=token
+				
+				var isson= requestSon(options)
+				
+				resolve(isson);
+				 
+			} else  if(res.data.code == 415||(res.data.code == 200&&!res.data.result)||res.data.code == 400){
+				
+				//var url=window.location.href.split("#")[1]
+			
+				console.log("没有免登陆 ----------------"+options.url)
+				//var url="/pages/login/index?message=请登录&back="+ url+"&phone="+options.data.phone
+				var thisurl='/pages/login/index';
+				
+				if(options&&options.data&&options.data.jpcode){
+					thisurl+="?jpcode="+options.data.jpcode
+				}
+				carhelp.signOut()
+				uni.redirectTo({
+					url: thisurl
+				})
+				
+				
+				
+			 
+				
+			}else{
+		
+				reject(res.data.message)
+			}
+		}).catch(error => {
+			
+			let [err, res] = error;
+			reject(err)
+		})
+	});
+}
+export default request

+ 70 - 0
apis/utils/requestSon.js

@@ -0,0 +1,70 @@
+import  carhelp from '@/apis/utils/mixin.js'
+
+//记录请求次数和响应次数
+let reqCount = 0,
+	resCount = 0;
+var baseUrl=process.car.BASE_URL;
+
+if (process.env.NODE_ENV === "development") {
+	//baseUrl="http://192.168.33.230:8086/jp-employment-server";
+}
+const request = (options) => {
+	var token=carhelp.getToken(options);
+	
+	reqCount++;
+	 
+	return new Promise((resolve, reject) => {
+		//如果特殊链接需要传入token
+		if(options&&options.token){
+			token=options.token;
+		}
+		uni.request({
+			method: options.method?options.method:'get',
+			url: baseUrl + options.url,
+			data: options.data?options.data:{},
+			
+			header: options.header?{
+				...options.header,
+				'Authorization':token
+			}:{
+				'Content-Type': 'application/x-www-form-urlencoded',
+				'X-Requested-With': 'XMLHttpRequest',
+				'Authorization':token
+			}
+		}).then((response) => {
+			//for(var t = Date.now(); Date.now() - t <= 2000;);
+			
+			resCount++
+			//防止连续请求多个接口时loading闪现
+			let [error, res] = response;
+			
+			
+			if (res.data.code == 415&&res.data.message=='请先注册信息') {
+				console.log("请先注册信息请先注册信息")
+				carhelp.signOut()
+				// uni.redirectTo({
+				// 	url: 'pages/login/index'
+				// })
+				return;
+			}
+			
+			if (res.data.code != 200) {
+				reject(res.data.message)
+			} else {
+				if(!res.data.result){
+					
+					reject(res.data.message);
+				}else{
+					resolve(res.data);
+				}
+			
+			}
+		}).catch(error => {
+			resCount++
+		
+			let [err, res] = error;
+			reject(err)
+		})
+	});
+}
+export default request

+ 76 - 0
apis/utils/requestWhite.js

@@ -0,0 +1,76 @@
+import  carhelp from '@/apis/utils/mixin.js'
+
+//记录请求次数和响应次数
+let reqCount = 0,
+	resCount = 0;
+//var token=carhelp.getToken();
+var baseUrl=process.car.BASE_URL;
+
+if (process.env.NODE_ENV === "development") {
+	//baseUrl="http://192.168.33.90:8086/jp-employment-server";
+}
+const request = (options) => {
+	var token=carhelp.getToken(options);
+	
+	reqCount++;
+	 
+	return new Promise((resolve, reject) => {
+		//如果特殊链接需要传入token
+		if(options&&options.token){
+			token=options.token;
+		}
+		uni.request({
+			method: options.method?options.method:'get',
+			url: baseUrl + options.url,
+			data: options.data?options.data:{},
+			
+			header: options.header?{
+				...options.header,
+				'Authorization':token
+			}:{
+				'Content-Type': 'application/x-www-form-urlencoded',
+				'X-Requested-With': 'XMLHttpRequest',
+				'Authorization':token
+			}
+		}).then((response) => {
+			//for(var t = Date.now(); Date.now() - t <= 2000;);
+			
+			resCount++
+			//防止连续请求多个接口时loading闪现
+			let [error, res] = response;
+			
+			if (res.data.code == 415&&res.data.message=='请先注册信息') {
+				carhelp.signOut()
+				uni.redirectTo({
+					url: '/pages/login/index'
+				})
+				return;
+			}
+			
+			if (res.data.code != 200) {
+				reject(res.data.message)
+			} else {
+				
+				if(options.data&&options.data.noerror){
+					resolve(res.data);
+				}else{
+					if(!res.data.result){
+						uni.showToast({
+							title: res.data.message,
+							position:'bottom'
+						})
+					}
+					resolve(res.data);
+				}
+				
+			
+			}
+		}).catch(error => {
+			resCount++
+		
+			let [err, res] = error;
+			reject(err)
+		})
+	});
+}
+export default request

+ 236 - 0
apis/utils/wxJsApi.js

@@ -0,0 +1,236 @@
+import wx from 'weixin-js-sdk'
+import * as API_WeiXin from '@/apis/weixin.js'
+import * as API_Common from '@/apis/common.js'
+
+import Qs from 'qs';
+import request from './request.js'
+export function addSysLog(message) {
+
+	return request({
+		url: '/mobile/sysLogApi/submit',
+		data: Qs.stringify({
+			message: JSON.stringify(message)
+		}),
+		method: 'post',
+	})
+}
+//获取微信配置
+export function getWxConfig(jsApiList) {
+	var jsApiList = jsApiList || ['chooseImage', 'getLocalImgData', 'scanQRCode','openLocation'];
+	 
+	let promise = (jsApiList => {
+		return new Promise((resolve, reject) => {
+//			console.log(jsApiList);
+			API_WeiXin.getConfig().then(response => {
+				var wxconfig = response.data.wxConfig;
+			
+				wx.config({
+					debug: false, // 开启调试模式,
+					appId: wxconfig.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
+					timestamp: wxconfig.timestamp, // 必填,生成签名的时间戳
+					nonceStr: wxconfig.nonceStr, // 必填,生成签名的随机串
+					signature: wxconfig.signature, // 必填,签名,见附录1
+					jsApiList: jsApiList, // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
+					openTagList:['wx-open-subscribe']
+				});
+				wx.ready(function() {
+					resolve(response.data);
+				})
+				wx.error(function(res) {
+					reject('微信api配置出错');
+				});
+			}).catch(error => {
+				//mui.toast(error);
+				reject(error);
+			})
+		})
+	})(jsApiList)
+
+	return promise;
+}
+
+//选择图片,多图上传和单图上传的回调处理不一样
+export function chooseImage(count,islocalId) {
+	var count = count || 1;
+	let promise = new Promise((resolve, reject) => {
+		wx.chooseImage({
+			count: count,
+			sizeType: ['compressed'],
+			sourceType: ['album', 'camera'],
+			success: function(res) {
+				 
+				var localIds = res.localIds;
+				
+				if(islocalId){
+					
+					resolve(localIds);
+				}else{
+					if (count == 1) {
+						wx.getLocalImgData({
+							localId: localIds[0],
+							success: function(res) {
+								resolve(res);
+							}
+						});
+					} else {
+						resolve(localIds);
+					}
+				}
+				
+			}
+		});
+	});
+	return promise;
+}
+
+
+
+
+//获取图片,用于多图上传时的递归处理
+export function getLocalImgData(localId, fun) {
+	wx.getLocalImgData({
+		localId: localId,
+		success: function(res) {
+			fun(res);
+		}
+	});
+}
+
+//上传图片
+export function uploadPic(imgBase64) {
+	let promise = new Promise((resolve, reject) => {
+		var formData = new FormData();
+		formData.append('photoName', '1.jpg');
+		formData.append('photoBase64Data', imgBase64);
+
+	
+		API_Common.uploadBase64(formData).then(response => {
+			resolve(response);
+		}).catch(error => {
+			//mui.toast(error);
+			reject(error);
+		})
+	});
+	return promise;
+}
+
+//获取坐标
+export function getLocation() {
+	if(process.env.NODE_ENV === "development" && process.car.SIMPLE_RUN){
+		
+		let promise =new Promise((resolve, reject) => {
+			var obj= {
+			longitude:112.28541,
+			latitude:30.308354,
+			errMsg:"getLocation:ok"
+			}
+			resolve(obj);
+		})
+		return promise
+	}
+	let promise = new Promise((resolve, reject) => {
+		
+		wx.ready(function() {
+			wx.getLocation({
+				type: 'gcj02', // 默认为wgs84的gps坐标,可传入'gcj02'
+				success: function(res) {
+					resolve(res);
+				},
+				faile: function(res) {
+					reject(res);
+				},
+				fail: function(res) {
+					if (res.errMsg == 'getLocation:timeout') {
+						
+						res="定位超时,请检查是否开启'定位'"
+					} else if (res.errMsg == 'getLocation:ERROR_NETWORK') {
+						//mui.alert("网络异常");
+						res="定位超时,请检查是否开启'定位'"
+					} else if (res.errMsg == 'getLocation:ERROR_NOCELL&WIFI_LOCATIONSWITCHOFF') {
+						res="没开启系统定位"
+						//mui.alert("没开启系统定位");
+					} else if (res.errMsg == 'getLocation:system permission denied') {
+						res="未给微信位置授权"
+						//mui.alert("未给微信位置授权");
+					} else if (res.errMsg == 'getLocation:location permission') {
+						res="未给微信位置授权"
+						//mui.alert("未给微信位置授权");
+					} else if (res.errMsg == 'getLocation:auth denied') {
+						res="用户在小程序中未授权"
+						//mui.alert("用户在小程序中未授权");
+					} else if (res.errMsg == 'getLocation:fail authorize no response') {
+						res="用户在小程序中未授权"
+						//mui.alert("用户在小程序中未授权");
+					} else if (res.errMsg == 'getLocation:gps closed') {
+						res="用户已取消定位"
+						//mui.alert("用户已取消定位");
+					}
+					reject(res);
+				},
+				complete() {}
+			})
+		})
+	})
+	return promise;
+}
+
+//扫描二维码
+export function scanQRCode(needResult,obj) {
+	var needResult = needResult || 1;
+	let promise = new Promise((resolve, reject) => {
+		wx.scanQRCode({
+			needResult: needResult,
+			scanType: ["qrCode"],
+			success: function(res) {
+				var url = res.resultStr;
+				resolve(url);
+			},
+			faile: function(res) {
+				reject(res);
+			},
+			
+			fail: function(res) {
+
+				reject(res);
+			},
+			complete() {
+				if(obj){
+					obj.showLoading(false)	
+				}
+			}
+		})
+	});
+	return promise;
+}
+
+export function requestSubscribeMessage(sz) {
+	 
+	let promise = new Promise((resolve, reject) => {
+		wx.ready(function() {
+			wx.requestSubscribeMessage({
+			
+			tmplIds: sz,
+			
+				success(res) { 
+						resolve(res);
+				}
+				
+			})
+		})
+		
+
+	});
+	return promise;
+}
+
+
+
+
+//扫描二维码
+export function openLocation(obj) {
+ 
+	let promise = new Promise((resolve, reject) => {
+		wx.openLocation(obj)
+	});
+	return promise;
+}

+ 52 - 0
apis/utils/wxpay.js

@@ -0,0 +1,52 @@
+ 
+function onBridgeReady(params) {
+	console.log("onBridgeReady+"+new Date().getTime())
+	
+	uni.showLoading({
+		mask:true,title:'加载中...'
+	})
+	//记录要回跳的url
+	window.WeixinJSBridge.invoke(
+		'getBrandWCPayRequest', {
+			'appId': params.appId, // 公众号名称,由商户传入
+			'timeStamp': params.timeStamp, // 时间戳,自1970年以来的秒数
+			'nonceStr': params.nonceStr, // 随机串
+			'package': params.package,
+			'signType': params.signType, // 微信签名方式:
+			'paySign': params.paySign // 微信签名
+		},
+		(res) => {
+			//alert(JSON.stringify(res)); // 支付取消会执行 支付成功不会
+			if (res.err_msg == 'get_brand_wcpay_request:ok') {
+				//alert("支付成功") // 不会执行
+				//window.location.href = params.url
+			} else if (res.err_msg == "get_brand_wcpay_request:cancel") {
+				//alert("支付取消") // 会执行
+				 uni.hideLoading();
+			} else {
+				 uni.hideLoading();
+			}
+		}
+	)
+}
+
+export const wxPayJs = (params) => {
+	console.log("wxPayJs+"+new Date().getTime())
+	
+	if (typeof window.WeixinJSBridge === 'undefined') {
+		if (document.addEventListener) {
+			document.addEventListener('WeixinJSBridgeReady', function() {
+				onBridgeReady(params)
+			}, false)
+		} else if (document.attachEvent) {
+			document.attachEvent('WeixinJSBridgeReady', function() {
+				onBridgeReady(params)
+			})
+			document.attachEvent('onWeixinJSBridgeReady', function() {
+				onBridgeReady(params)
+			})
+		}
+	} else {
+		onBridgeReady(params)
+	}
+}

+ 77 - 0
apis/weixin.js

@@ -0,0 +1,77 @@
+import request from '@/apis/utils/request'
+import requestWhite from '@/apis/utils/requestWhite.js';
+// import requestAli from '../utils/requestParking.js';
+ 
+import Qs from 'qs';
+
+//微信支付
+export function wxpay(data) {
+	if(data){
+		data.type="E"
+	}
+	if(data&&!data.recordId){
+		data.recordId=''
+	}
+	return request({
+		url: '/wxPay/wxJsapiPay',
+		data: data,
+		method: 'post',
+	})
+}
+
+
+export function alpay(data) {
+	if(data&&!data.recordId){
+		data.recordId=''
+	}
+	return request({
+		url: '/aliPay/tradePrecreatePay',
+		data: data,
+		method: 'post',
+	})
+}
+
+//根据code换取openid
+export function getDataByCode(code) {
+	return request({
+		url: '/wechat/findUserInfo/' + code,
+		params: {},
+		method: 'get',
+	})
+}
+
+// export function getDataByCodeALI(code) {
+// 	return requestAli({
+// 		url: '/aliPay/findUserInfo/' + code,
+// 		params: {},
+// 		method: 'get',
+// 	})
+// }
+
+
+//获得配置
+export function getConfig() {
+	return requestWhite({
+		url: '/wechat/getConfig',
+		data: {
+			url: window.location.href.split('#')[0]
+		},
+		method: 'get',
+	})
+}
+
+export function checkSubscribe(data) {
+	return requestWhite({
+		url: '/wechat/checkSubscribe',
+		data: data,
+		method: 'post',
+	})
+}
+
+export function addPoint(data) {
+	return request({
+		url: '/mobile/points/addPoint',
+		data: data,
+		method: 'post',
+	})
+}

+ 0 - 0
assets/css/style.css


+ 7 - 0
assets/font/jptime.css

@@ -0,0 +1,7 @@
+@font-face {
+	font-family: "JPTIME";
+	src:url("@/assets/font/jptime.otf");
+}
+.JPTIME {
+    font-family: JPTIME
+}

BIN=BIN
assets/font/jptime.otf


+ 22 - 0
assets/icon/icon.vue

@@ -0,0 +1,22 @@
+<template>
+	<view>
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style>
+
+</style>

BIN=BIN
assets/img/Copy PEokWS2 Copy 1@1x.png


BIN=BIN
assets/img/Image@1.png


BIN=BIN
assets/img/Image@2.png


BIN=BIN
assets/img/Image@3.png


BIN=BIN
assets/img/Image@4.png


BIN=BIN
assets/img/Image@5.png


BIN=BIN
assets/img/Image@6.png


BIN=BIN
assets/img/Image@7(1).png


BIN=BIN
assets/img/Image@7.png


BIN=BIN
assets/img/Image@8(1).png


BIN=BIN
assets/img/Image@8.png


BIN=BIN
assets/img/PEokWS2@1x.png


+ 6 - 0
assets/img/antFill-account-book(1).svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="64 64 896 896" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(24,90,198,1))">
+    <defs><linearGradient id="ik4s6tsjU2GQ8hr344UzQJ1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 448, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM648.3 426.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V752c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 0 1 8.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z" fill="url(#ik4s6tsjU2GQ8hr344UzQJ1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/antFill-account-book.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="64 64 896 896" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(24,90,198,1))">
+    <defs><linearGradient id="ik4s6tsjU23UVPQn7XCn9I1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 448, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM648.3 426.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V752c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 0 1 8.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z" fill="url(#ik4s6tsjU23UVPQn7XCn9I1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/antFill-notification(1).svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="64 64 896 896" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(0,75,23,0.67))">
+    <defs><linearGradient id="ik9jjnunU2GKmWhPegPOpa1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 448, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.43"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.6c-3.7 11.6-5.6 23.9-5.6 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1z" fill="url(#ik9jjnunU2GKmWhPegPOpa1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/antFill-notification.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="64 64 896 896" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(0,75,23,0.67))">
+    <defs><linearGradient id="ik9jjnunU2GQS6NGKz4tjG1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 448, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.43"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.6c-3.7 11.6-5.6 23.9-5.6 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1z" fill="url(#ik9jjnunU2GQS6NGKz4tjG1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/antOutline-alipay-circle bQiHn7m.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="64 64 896 896" width="20" height="20" style="" filter="none">
+    
+    <g>
+    <path d="M308.6 545.7c-19.8 2-57.1 10.7-77.4 28.6-61 53-24.5 150 99 150 71.8 0 143.5-45.7 199.8-119-80.2-38.9-148.1-66.8-221.4-59.6zm460.5 67c100.1 33.4 154.7 43 166.7 44.8A445.9 445.9 0 0 0 960 512c0-247.4-200.6-448-448-448S64 264.6 64 512s200.6 448 448 448c155.9 0 293.2-79.7 373.5-200.5-75.6-29.8-213.6-85-286.8-120.1-69.9 85.7-160.1 137.8-253.7 137.8-158.4 0-212.1-138.1-137.2-229 16.3-19.8 44.2-38.7 87.3-49.4 67.5-16.5 175 10.3 275.7 43.4 18.1-33.3 33.4-69.9 44.7-108.9H305.1V402h160v-56.2H271.3v-31.3h193.8v-80.1s0-13.5 13.7-13.5H557v93.6h191.7v31.3H557.1V402h156.4c-15 61.1-37.7 117.4-66.2 166.8 47.5 17.1 90.1 33.3 121.8 43.9z" fill="rgba(22,119,255,1)"></path>
+    </g>
+  </svg>

BIN=BIN
assets/img/chart@1x.png


BIN=BIN
assets/img/e-invoice.png


+ 6 - 0
assets/img/far fa-clock.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(0,0,0,0.5))">
+    <defs><linearGradient id="ik4s6tsjU23UVPQhjfMKog1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 256, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z" fill="url(#ik4s6tsjU23UVPQhjfMKog1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/fas fa-bell.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 448 512" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(182,77,0,1))">
+    <defs><linearGradient id="ik4s6tsjU2GQ0kwGd7QnhI1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 224, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z" fill="url(#ik4s6tsjU2GQ0kwGd7QnhI1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/fas fa-book.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 448 512" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(0,132,70,1))">
+    <defs><linearGradient id="ik4s6tsjU23UVPQqWmeej01" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 224, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z" fill="url(#ik4s6tsjU23UVPQqWmeej01)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/fas fa-chart-pie(1).svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 544 512" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(0,130,118,1))">
+    <defs><linearGradient id="ik4s6tsjU4h0KD89gbi3M61" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 272, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z" fill="url(#ik4s6tsjU4h0KD89gbi3M61)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/fas fa-chart-pie.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 544 512" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(0,130,118,1))">
+    <defs><linearGradient id="ik4s6tsjU23UVPQvByGT4s1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 272, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z" fill="url(#ik4s6tsjU23UVPQvByGT4s1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/fas fa-exclamation-triangle Copy 1.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 576 512" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(182,77,0,1))">
+    <defs><linearGradient id="ik4s6tsjU2GQ0kwGd7QnhI1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 288, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z" fill="url(#ik4s6tsjU2GQ0kwGd7QnhI1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/fas fa-exclamation-triangle.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 576 512" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(182,77,0,1))">
+    <defs><linearGradient id="ik4s6tsjU23UVPQqVBCLZ31" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 288, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z" fill="url(#ik4s6tsjU23UVPQqVBCLZ31)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/fas fa-file-alt.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 384 512" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(52,0,255,0.75))">
+    <defs><linearGradient id="ik4s6tsjU23UVPQfOJymt11" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 192, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z" fill="url(#ik4s6tsjU23UVPQfOJymt11)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/iconPark-order.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="32" height="32" style="border-color: rgba(187,187,187,1);border-width: 0;border-style: solid" filter="drop-shadow(0px 2px 4px rgba(0,59,18,0.67))">
+    
+    <g>
+    <rect width="48" height="48" fill="rgba(255,255,255,1)" fill-opacity="0.01" stroke="none"></rect><path d="M33.0499 7H38C39.1046 7 40 7.89543 40 9V42C40 43.1046 39.1046 44 38 44H10C8.89543 44 8 43.1046 8 42L8 9C8 7.89543 8.89543 7 10 7H16H17V10H31V7H33.0499Z" fill="none" stroke="rgba(255,255,255,1)" stroke-width="4" stroke-linejoin="round"></path><rect x="17" y="4" width="14" height="6" stroke="rgba(255,255,255,1)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" fill="none"></rect><path d="M26.9996 19L19 27.0012H29.004L21.0003 35.0018" stroke="rgba(255,255,255,1)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" fill="none"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/iconPark-order2.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="20" height="20" style="border-color: rgba(187,187,187,1);border-width: 0;border-style: solid" filter="none">
+    
+    <g>
+    <rect width="48" height="48" fill="rgba(51,51,51,1)" fill-opacity="0.01" stroke="none"></rect><path d="M33.0499 7H38C39.1046 7 40 7.89543 40 9V42C40 43.1046 39.1046 44 38 44H10C8.89543 44 8 43.1046 8 42L8 9C8 7.89543 8.89543 7 10 7H16H17V10H31V7H33.0499Z" fill="none" stroke="rgba(51,51,51,1)" stroke-width="4" stroke-linejoin="round"></path><rect x="17" y="4" width="14" height="6" stroke="rgba(51,51,51,1)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" fill="none"></rect><path d="M26.9996 19L19 27.0012H29.004L21.0003 35.0018" stroke="rgba(51,51,51,1)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" fill="none"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/iconPark-wallet.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="32" height="32" style="border-color: rgba(187,187,187,1);border-width: 0;border-style: solid" filter="drop-shadow(0px 2px 4px rgba(0,7,142,0.78))">
+    
+    <g>
+    <rect width="48" height="48" fill="rgba(255,255,255,1)" fill-opacity="0.01" stroke="none"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M17.9821 11.9689L31.7847 4L36.3971 11.9889L17.9821 11.9689Z" stroke="rgba(255,255,255,1)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" fill="none"></path><path d="M4 14C4 12.8954 4.89543 12 6 12H42C43.1046 12 44 12.8954 44 14V42C44 43.1046 43.1046 44 42 44H6C4.89543 44 4 43.1046 4 42V14Z" fill="none" stroke="rgba(255,255,255,1)" stroke-width="4" stroke-linejoin="round"></path><path d="M35.25 33H44V23H35.25C32.3505 23 30 25.2386 30 28C30 30.7614 32.3505 33 35.25 33Z" fill="none" stroke="rgba(255,255,255,1)" stroke-width="4" stroke-linejoin="round"></path><path d="M44 16.5V40.5" stroke="rgba(255,255,255,1)" stroke-width="4" stroke-linecap="round" fill="none"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/if-support.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(255,0,54,0.5))">
+    <defs><linearGradient id="ik4s6tsjU23UVPQd5riU3Z1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 16, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M10.624 24.192l-4.16 1.92c-0.608 0.256-1.248 0.672-1.504 1.312 0 0-0.48 1.088-1.024 2.592h11.232l0.672-4.32-3.232-3.168-1.984 1.664zM27.072 27.424c-0.256-0.672-0.896-1.056-1.536-1.312l-4.128-1.92-2.016-1.664-3.2 3.168 0.64 4.32h11.232c-0.512-1.504-0.992-2.592-0.992-2.592zM5.888 16.736h1.184c0.004 0 0.009 0 0.014 0 0.558 0 1.010-0.452 1.010-1.010 0-0.005-0-0.010-0-0.015v0.001-3.968c0-0.002 0-0.004 0-0.006 0-0.446-0.293-0.825-0.697-0.953l-0.007-0.002c0.48-4.384 3.552-6.944 8.544-7.104h0.16c4.992 0.16 8.032 2.72 8.544 7.104-0.411 0.13-0.704 0.508-0.704 0.954 0 0.002 0 0.004 0 0.006v-0 3.968c-0 0.004-0 0.009-0 0.014 0 0.558 0.452 1.010 1.010 1.010 0.005 0 0.010-0 0.015-0h1.183c0.004 0 0.009 0 0.014 0 0.558 0 1.010-0.452 1.010-1.010 0-0.005-0-0.010-0-0.015v0.001-3.968c0-0.48-0.352-0.896-0.832-0.992-0.224-2.432-1.152-4.48-2.688-5.984-1.632-1.6-3.968-2.528-6.752-2.752 0 0-0.288-0.032-0.864-0.032-0.608 0-0.896 0.032-0.896 0.032-2.784 0.224-5.12 1.152-6.752 2.752-1.536 1.504-2.464 3.552-2.688 5.984-0.48 0.096-0.832 0.512-0.832 0.992v3.968c0 0.544 0.448 1.024 1.024 1.024zM23.488 12.16c0.064-4.608-2.144-7.36-7.488-7.36s-7.52 2.752-7.488 7.36c0.096 6.656 3.264 10.592 7.488 10.592s7.424-3.936 7.488-10.592z" fill="url(#ik4s6tsjU23UVPQd5riU3Z1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/if-ui-dial-phone 1.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="24" height="24" style="" filter="none">
+    
+    <g>
+    <path d="M32 6.88c0-1.12-2.176-2.592-4.864-3.040-3.338-0.58-7.182-0.912-11.104-0.912s-7.766 0.332-11.506 0.969l0.402-0.057c-2.72 0.448-4.896 1.92-4.896 3.040 0 0.032 0.032 0.064 0.032 0.096-0.038 0.104-0.061 0.225-0.064 0.351l-0 0.001v3.776c0 0.512 0.448 0.96 0.992 0.96h4.928c0.544 0 0.992-0.448 0.992-0.96v-3.456c6.016-0.8 12.16-0.8 18.176 0v3.68c0 0.544 0.448 0.96 0.992 0.96h4.928c0.544 0 0.992-0.416 0.992-0.96v-3.936c0-0.096-0.032-0.192-0.064-0.288 0.032-0.064 0.064-0.128 0.064-0.224zM29.472 18.464l-5.408-1.824c-0.416-0.128-0.992-0.256-1.568-0.384v-5.984h-2.272v3.52h-8.384v-3.52h-2.304v6.016c-0.512 0.128-0.992 0.224-1.376 0.352l-5.28 1.792c-1.024 0.352-1.856 1.536-1.856 2.624v6.048c-0 0.004-0 0.008-0 0.012 0 1.071 0.869 1.94 1.94 1.94 0.004 0 0.008 0 0.013-0h26.399c0.004 0 0.008 0 0.012 0 1.071 0 1.94-0.869 1.94-1.94 0-0.004 0-0.008-0-0.013v0.001-6.048c0-1.088-0.832-2.272-1.856-2.592zM15.872 26.88c-2.944 0-5.312-2.4-5.312-5.344s2.368-5.344 5.312-5.344c2.976 0 5.344 2.4 5.344 5.344s-2.368 5.344-5.344 5.344zM15.872 18.688c-1.568 0-2.848 1.28-2.848 2.848s1.28 2.848 2.848 2.848c1.6 0 2.88-1.28 2.88-2.848s-1.28-2.848-2.88-2.848z" fill="rgba(255,255,255,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/invoice.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1024 1024" width="88" height="88" style="" filter="none">
+    <defs><linearGradient id="U4cXjIfYEWS4gv1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 512, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="0.2" offset="0.08"></stop><stop stop-color="#ffffff" stop-opacity="0" offset="0.91"></stop></linearGradient></defs>
+    <g>
+    <path d="M775.1168 100.9664H272.4352c-70.4512 0-127.5392 57.088-127.5392 127.5392v610.048c0 35.8912 38.8608 58.368 69.9904 40.4992l108.544-62.3616a46.7456 46.7456 0 0 1 54.3744 5.632L493.056 925.184a46.67904 46.67904 0 0 0 62.1056 0.0512l116.3776-103.5264a46.72512 46.72512 0 0 1 54.5792-5.4272l106.24 62.0032c31.1296 18.176 70.2464-4.3008 70.2464-40.3456V228.5056c0.0512-70.4-57.0368-127.5392-127.488-127.5392z m-133.9392 448.0512a29.8496 29.8496 0 1 1 0 59.6992h-87.5008v53.8624a29.8496 29.8496 0 1 1-59.6992 0V608.768h-87.552a29.8496 29.8496 0 1 1 0-59.6992h87.5008v-36.4544H406.4256a29.8496 29.8496 0 1 1 0-59.6992h58.9312l-77.312-122.5216a29.9008 29.9008 0 0 1 9.3184-41.216 29.9008 29.9008 0 0 1 41.216 9.3184l84.736 134.2464L609.024 296.96c8.8064-13.9264 27.2896-18.1248 41.216-9.3184 13.9264 8.8064 18.1248 27.2896 9.3184 41.216l-78.336 123.9552h59.9552a29.8496 29.8496 0 1 1 0 59.6992h-87.5008v36.4544h87.5008z" fill="url(#U4cXjIfYEWS4gv1)" p-id="5440" stroke="none"></path>
+    </g>
+  </svg>

BIN=BIN
assets/img/jVzkNKE@1x(1).png


BIN=BIN
assets/img/jVzkNKE@1x.png


BIN=BIN
assets/img/logo.png


+ 6 - 0
assets/img/md-check_circle vRxbRvD.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" width="66" height="66" style="" filter="none">
+    
+    <g>
+    <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" fill="rgba(51,133,255,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/md-watch_later.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" width="28" height="28" style="" filter="drop-shadow(0px 2px 4px rgba(52,0,255,0.75))">
+    <defs><linearGradient id="ik4s6tsjU4nxOU4Qybx1eu1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 12, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="1" offset="0.4"></stop><stop stop-color="#ffffff" stop-opacity="0.6" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z" fill="url(#ik4s6tsjU4nxOU4Qybx1eu1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/mineBackground.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1024 1024" width="87" height="87" style="" filter="none">
+    <defs><linearGradient id="U2i4DeXxU3N318W7gSpJjg1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 512, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="0.18" offset="0"></stop><stop stop-color="#ffffff" stop-opacity="0" offset="0.87"></stop></linearGradient></defs>
+    <g>
+    <path d="M842.24 848.896V73.6L733.632 0.96 337.344 177.792v136.896L118.336 390.912v457.984H96v54.4h71.488v-480.64l290.496-95.168v575.872h201.088v-58.944h-44.736v-526.08l-105.408-63.488-118.016 41.088v-86.4L676.928 82.56v820.736h201.152v-54.4h-35.84z" fill="url(#U2i4DeXxU3N318W7gSpJjg1)" p-id="17864" stroke="none"></path><path d="M203.264 545.088l209.984-68.032V386.432L203.264 458.88v86.144zM203.264 663.04l209.984-45.44V527.04l-209.984 54.4v81.6zM203.264 785.408l209.984-27.2V667.52l-209.984 31.744zM203.264 903.296l209.984-4.48v-90.752l-209.984 9.088v86.144z" fill="url(#U2i4DeXxU3N318W7gSpJjg1)" p-id="17865" stroke="none"></path>
+    </g>
+  </svg>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 3 - 0
assets/img/modalIcon.svg


BIN=BIN
assets/img/photo@x1.png


+ 6 - 0
assets/img/riFill-building-fill.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="48" height="48" style="" filter="none">
+    <defs><linearGradient id="U4cXjIfYU4cl2DKt2lRhOf1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 16, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="0.2" offset="0.21"></stop><stop stop-color="#ffffff" stop-opacity="0" offset="0.91"></stop></linearGradient></defs>
+    <g>
+    <path d="M28 25.333h2.667v2.667h-29.333v-2.667h2.667v-20c0-0.736 0.597-1.333 1.333-1.333v0h13.333c0.736 0 1.333 0.597 1.333 1.333v0 20h2.667v-13.333h4c0.736 0 1.333 0.597 1.333 1.333v0 12zM9.333 14.667v2.667h5.333v-2.667h-5.333zM9.333 9.333v2.667h5.333v-2.667h-5.333z" fill="url(#U4cXjIfYU4cl2DKt2lRhOf1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riFill-customer-service-2-fill 1.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="20" height="20" style="" filter="none">
+    
+    <g>
+    <path d="M28 10.667c1.473 0 2.667 1.194 2.667 2.667v0 5.333c0 1.473-1.194 2.667-2.667 2.667v0h-1.416c-0.686 5.289-5.163 9.333-10.584 9.333v0-2.667c4.418 0 8-3.582 8-8v0-8c0-4.418-3.582-8-8-8s-8 3.582-8 8v0 9.333h-4c-1.473 0-2.667-1.194-2.667-2.667v0-5.333c0-1.473 1.194-2.667 2.667-2.667v0h1.416c0.687-5.289 5.163-9.332 10.584-9.332s9.897 4.043 10.578 9.278l0.006 0.054h1.416zM10.347 21.047l1.413-2.261c1.199 0.762 2.66 1.215 4.227 1.215 0.005 0 0.009 0 0.014 0h-0.001c0.004 0 0.008 0 0.013 0 1.567 0 3.028-0.453 4.26-1.234l-0.032 0.019 1.413 2.261c-1.599 1.017-3.548 1.62-5.637 1.62-0.006 0-0.011 0-0.017 0h0.001c-0.005 0-0.011 0-0.016 0-2.089 0-4.038-0.604-5.68-1.646l0.043 0.026z" fill="rgba(255,255,255,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riFill-exchange-cny-fill.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="20" height="20" style="" filter="none">
+    
+    <g>
+    <path d="M7.164 6.013c2.333-2.077 5.426-3.347 8.815-3.347 0.007 0 0.015 0 0.022 0h-0.001c7.364 0 13.333 5.969 13.333 13.333 0 0.006 0 0.014 0 0.021 0 2.845-0.895 5.48-2.419 7.641l0.028-0.042-3.609-7.62h3.333c0-0 0-0 0-0 0-5.891-4.776-10.667-10.667-10.667-2.992 0-5.696 1.232-7.633 3.215l-0.002 0.002-1.2-2.536zM24.836 25.987c-2.333 2.077-5.426 3.347-8.815 3.347-0.007 0-0.015 0-0.022-0h0.001c-7.364 0-13.333-5.969-13.333-13.333 0-2.833 0.884-5.46 2.391-7.62l3.609 7.62h-3.333c0 0 0 0 0 0 0 5.891 4.776 10.667 10.667 10.667 2.992 0 5.696-1.232 7.633-3.215l0.002-0.002 1.2 2.536zM17.333 18.047h4v2.667h-4v2.667h-2.667v-2.667h-4v-2.667h4v-1.333h-4v-2.667h3.448l-2.829-2.828 1.888-1.885 2.827 2.828 2.828-2.828 1.887 1.885-2.829 2.829h3.448v2.667h-4v1.333z" fill="rgba(255,255,255,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riFill-file-list-3-fill 1.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="20" height="20" style="" filter="none">
+    
+    <g>
+    <path d="M25.333 29.333h-18.667c-2.209 0-4-1.791-4-4v0-21.333c0-0.736 0.597-1.333 1.333-1.333v0h18.667c0.736 0 1.333 0.597 1.333 1.333v0 16h5.333v5.333c0 2.209-1.791 4-4 4v0zM24 22.667v2.667c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v0-2.667h-2.667zM8 9.333v2.667h10.667v-2.667h-10.667zM8 14.667v2.667h10.667v-2.667h-10.667zM8 20v2.667h6.667v-2.667h-6.667z" fill="rgba(22,119,255,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riFill-phone-fill.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="16" height="16" style="" filter="none">
+    
+    <g>
+    <path d="M28 21.893v4.715c0 0 0 0 0 0.001 0 0.704-0.545 1.28-1.236 1.33l-0.004 0c-0.583 0.040-1.059 0.061-1.427 0.061-11.783 0-21.333-9.551-21.333-21.333 0-0.368 0.020-0.844 0.061-1.427 0.050-0.695 0.627-1.24 1.33-1.24 0 0 0 0 0.001 0h4.715c0 0 0 0 0.001 0 0.345 0 0.628 0.262 0.663 0.597l0 0.003c0.031 0.307 0.059 0.551 0.085 0.736 0.291 1.99 0.855 3.787 1.659 5.445l-0.048-0.11c0.127 0.267 0.044 0.585-0.196 0.756l-2.877 2.056c1.796 4.114 5.012 7.329 9.014 9.082l0.112 0.044 2.053-2.872c0.113-0.157 0.295-0.258 0.501-0.258 0.096 0 0.186 0.022 0.267 0.061l-0.004-0.002c1.548 0.754 3.344 1.317 5.233 1.595l0.101 0.012c0.185 0.027 0.429 0.056 0.733 0.085 0.338 0.036 0.599 0.319 0.599 0.663 0 0 0 0.001 0 0.001v-0z" fill="rgba(22,119,255,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riFill-user-2-fill.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="48" height="48" style="" filter="none">
+    <defs><linearGradient id="U4cXjIfYU4clYqvToeJa0B1" x1="0" x2="100%" y1="0" y2="0" gradientTransform="matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 16, 0)" gradientUnits="userSpaceOnUse"><stop stop-color="#ffffff" stop-opacity="0.28" offset="0.19"></stop><stop stop-color="#ffffff" stop-opacity="0" offset="1"></stop></linearGradient></defs>
+    <g>
+    <path d="M14.667 18.749v7.917h2.667v-7.917c5.261 0.656 9.333 5.144 9.333 10.584h-21.333c0-5.421 4.044-9.898 9.28-10.578l0.054-0.006zM16 17.333c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" fill="url(#U4cXjIfYU4clYqvToeJa0B1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riFill-wechat-pay-fill fTAsMwS.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="24" height="24" style="" filter="none">
+    
+    <g>
+    <path d="M12.36 19.559c-0.117 0.061-0.255 0.096-0.401 0.096-0.331 0-0.619-0.182-0.77-0.451l-0.002-0.004-0.057-0.127-2.424-5.331c-0.005-0.029-0.007-0.063-0.007-0.097s0.003-0.068 0.008-0.1l-0 0.004c0-0 0-0.001 0-0.001 0-0.241 0.195-0.436 0.436-0.436 0.004 0 0.008 0 0.011 0h-0.001c0.003-0 0.006-0 0.009-0 0.096 0 0.184 0.033 0.254 0.089l-0.001-0.001 2.907 2.036c0.204 0.139 0.456 0.222 0.728 0.223h0c0.002 0 0.004 0 0.006 0 0.162 0 0.317-0.032 0.457-0.091l-0.008 0.003 13.396-6c-2.628-2.894-6.405-4.704-10.605-4.704-0.102 0-0.203 0.001-0.304 0.003l0.015-0c-7.368 0-13.339 4.973-13.339 11.157 0.093 3.49 1.886 6.543 4.577 8.371l0.036 0.023c0.219 0.163 0.359 0.42 0.359 0.71 0 0.092-0.014 0.181-0.041 0.265l0.002-0.006-0.6 2.268c-0.034 0.094-0.058 0.203-0.068 0.316l-0 0.005c-0 0.003-0 0.006-0 0.009 0 0.241 0.195 0.436 0.436 0.436 0.003 0 0.007-0 0.010-0h-0c0.094-0.005 0.181-0.033 0.256-0.079l-0.002 0.001 2.907-1.687c0.213-0.131 0.457-0.201 0.708-0.203 0.132 0 0.263 0.019 0.387 0.057 1.417 0.4 2.881 0.603 4.353 0.6 7.367 0 13.347-4.972 13.347-11.107 0-0.022 0-0.048 0-0.073 0-1.891-0.545-3.655-1.486-5.143l0.023 0.040-15.509 8.928z" fill="rgba(34,172,56,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-book-2-line.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="20" height="20" style="border-color: rgba(187,187,187,1);border-width: 0;border-style: solid" filter="none">
+    
+    <g>
+    <path d="M28 24h-20c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333v0h20v2.667h-20c-2.209 0-4-1.791-4-4v0-20c0-1.473 1.194-2.667 2.667-2.667v0h21.333v21.333zM6.667 21.4c0.216-0.044 0.439-0.067 0.667-0.067h18v-16h-18.667v16.067zM21.333 12h-10.667v-2.667h10.667v2.667z" fill="rgba(51,51,51,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-calendar-todo-line 1.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="24" height="24" style="" filter="none">
+    
+    <g>
+    <path d="M22.667 4h5.333c0.736 0 1.333 0.597 1.333 1.333v0 21.333c0 0.736-0.597 1.333-1.333 1.333v0h-24c-0.736 0-1.333-0.597-1.333-1.333v0-21.333c0-0.736 0.597-1.333 1.333-1.333v0h5.333v-2.667h2.667v2.667h8v-2.667h2.667v2.667zM20 6.667h-8v2.667h-2.667v-2.667h-4v5.333h21.333v-5.333h-4v2.667h-2.667v-2.667zM26.667 14.667h-21.333v10.667h21.333v-10.667zM8 18.667h2.667v2.667h-2.667v-2.667zM13.333 18.667h10.667v2.667h-10.667v-2.667z" fill="rgba(255,255,255,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-contacts-book-line.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="20" height="20" style="border-color: rgba(187,187,187,1);border-width: 0;border-style: solid" filter="none">
+    
+    <g>
+    <path d="M4 2.667h21.34c1.469 0 2.66 1.197 2.66 2.653v21.36c0 1.465-1.191 2.653-2.66 2.653h-21.34v-26.667zM9.333 5.333h-2.667v21.333h2.667v-21.333zM12 26.667h13.333v-21.333h-13.333v21.333zM14.667 21.333c0-2.209 1.791-4 4-4s4 1.791 4 4v0h-8zM18.667 16c-1.473 0-2.667-1.194-2.667-2.667s1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667s-1.194 2.667-2.667 2.667v0zM29.333 8h2.667v5.333h-2.667v-5.333zM29.333 16h2.667v5.333h-2.667v-5.333z" fill="rgba(51,51,51,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-customer-service-2-line.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="20" height="20" style="border-color: rgba(187,187,187,1);border-width: 0;border-style: solid" filter="none">
+    
+    <g>
+    <path d="M26.584 10.667h1.416c1.473 0 2.667 1.194 2.667 2.667v0 5.333c0 1.473-1.194 2.667-2.667 2.667v0h-1.416c-0.686 5.289-5.163 9.333-10.584 9.333v0-2.667c4.418 0 8-3.582 8-8v0-8c0-4.418-3.582-8-8-8s-8 3.582-8 8v0 9.333h-4c-1.473 0-2.667-1.194-2.667-2.667v0-5.333c0-1.473 1.194-2.667 2.667-2.667v0h1.416c0.687-5.289 5.163-9.332 10.584-9.332s9.897 4.043 10.578 9.278l0.006 0.054zM4 13.333v5.333h1.333v-5.333h-1.333zM26.667 13.333v5.333h1.333v-5.333h-1.333zM10.347 21.047l1.413-2.261c1.199 0.762 2.66 1.215 4.227 1.215 0.005 0 0.009 0 0.014 0h-0.001c0.004 0 0.008 0 0.013 0 1.567 0 3.028-0.453 4.26-1.234l-0.032 0.019 1.413 2.261c-1.599 1.017-3.548 1.62-5.637 1.62-0.006 0-0.011 0-0.017 0h0.001c-0.005 0-0.011 0-0.016 0-2.089 0-4.038-0.604-5.68-1.646l0.043 0.026z" fill="rgba(51,51,51,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-file-text-line Copy l9stN6v.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="16" height="16" style="" filter="none">
+    
+    <g>
+    <path d="M28 10.667v17.324c0 0.003 0 0.006 0 0.009 0 0.733-0.592 1.328-1.324 1.333h-21.352c-0.731 0-1.323-0.592-1.324-1.323v-24.021c0-0.716 0.599-1.323 1.336-1.323h14.66l8.004 8zM25.333 12h-6.667v-6.667h-12v21.333h18.667v-14.667zM10.667 9.333h4v2.667h-4v-2.667zM10.667 14.667h10.667v2.667h-10.667v-2.667zM10.667 20h10.667v2.667h-10.667v-2.667z" fill="rgba(255,255,255,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-pie-chart-line.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="20" height="20" style="border-color: rgba(187,187,187,1);border-width: 0;border-style: solid" filter="none">
+    
+    <g>
+    <path d="M16 29.333c-7.364 0-13.333-5.969-13.333-13.333 0-5.971 3.924-11.024 9.333-12.723v2.832c-3.937 1.63-6.656 5.441-6.656 9.887 0 5.888 4.769 10.662 10.655 10.671h0.001c4.45-0 8.264-2.724 9.865-6.596l0.026-0.071h2.832c-1.699 5.409-6.752 9.333-12.723 9.333zM29.267 17.333h-14.6v-14.6c0.439-0.044 0.884-0.067 1.333-0.067 7.364 0 13.333 5.969 13.333 13.333 0 0.449-0.023 0.895-0.067 1.333zM17.333 5.416v9.251h9.251c-0.628-4.835-4.415-8.623-9.197-9.245l-0.054-0.006z" fill="rgba(51,51,51,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-question-line 1.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="16" height="16" style="" filter="none">
+    
+    <g>
+    <path d="M16 29.333c-7.364 0-13.333-5.969-13.333-13.333s5.969-13.333 13.333-13.333 13.333 5.969 13.333 13.333-5.969 13.333-13.333 13.333zM16 26.667c5.891 0 10.667-4.776 10.667-10.667s-4.776-10.667-10.667-10.667v0c-5.891 0-10.667 4.776-10.667 10.667s4.776 10.667 10.667 10.667v0zM14.667 20h2.667v2.667h-2.667v-2.667zM17.333 17.807v0.86h-2.667v-2c0-0.736 0.597-1.333 1.333-1.333v0c1.105-0 2-0.895 2-2s-0.895-2-2-2c-0.966 0-1.772 0.685-1.959 1.595l-0.002 0.013-2.616-0.524c0.442-2.155 2.323-3.752 4.577-3.752 2.578 0 4.668 2.090 4.668 4.668 0 2.103-1.39 3.881-3.302 4.465l-0.033 0.009z" fill="rgba(119,119,119,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-settings-2-line.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="20" height="20" style="border-color: rgba(187,187,187,1);border-width: 0;border-style: solid" filter="none">
+    
+    <g>
+    <path d="M11.581 5.333l3.476-3.476c0.241-0.241 0.575-0.39 0.943-0.39s0.701 0.149 0.943 0.39l3.476 3.476h4.915c0.736 0 1.333 0.597 1.333 1.333v0 4.915l3.476 3.476c0.241 0.241 0.39 0.575 0.39 0.943s-0.149 0.701-0.39 0.943l-3.476 3.476v4.915c0 0.736-0.597 1.333-1.333 1.333v0h-4.915l-3.476 3.476c-0.241 0.241-0.575 0.39-0.943 0.39s-0.701-0.149-0.943-0.39l-3.476-3.476h-4.915c-0.736 0-1.333-0.597-1.333-1.333v0-4.915l-3.476-3.476c-0.241-0.241-0.39-0.575-0.39-0.943s0.149-0.701 0.39-0.943l3.476-3.476v-4.915c0-0.736 0.597-1.333 1.333-1.333v0h4.915zM8 8v4.687l-3.313 3.313 3.313 3.313v4.687h4.687l3.313 3.313 3.313-3.313h4.687v-4.687l3.313-3.313-3.313-3.313v-4.687h-4.687l-3.313-3.313-3.313 3.313h-4.687zM16 21.333c-2.946 0-5.333-2.388-5.333-5.333s2.388-5.333 5.333-5.333v0c2.946 0 5.333 2.388 5.333 5.333s-2.388 5.333-5.333 5.333v0zM16 18.667c1.473 0 2.667-1.194 2.667-2.667s-1.194-2.667-2.667-2.667v0c-1.473 0-2.667 1.194-2.667 2.667s1.194 2.667 2.667 2.667v0z" fill="rgba(51,51,51,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-time-line.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="16" height="16" style="" filter="none">
+    
+    <g>
+    <path d="M16 29.333c-7.364 0-13.333-5.969-13.333-13.333s5.969-13.333 13.333-13.333 13.333 5.969 13.333 13.333-5.969 13.333-13.333 13.333zM16 26.667c5.891 0 10.667-4.776 10.667-10.667s-4.776-10.667-10.667-10.667v0c-5.891 0-10.667 4.776-10.667 10.667s4.776 10.667 10.667 10.667v0zM17.333 16h5.333v2.667h-8v-9.333h2.667v6.667z" fill="rgba(255,255,255,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-user-settings-line.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" width="20" height="20" style="border-color: rgba(187,187,187,1);border-width: 0;border-style: solid" filter="none">
+    
+    <g>
+    <path d="M16 18.667v2.667c-4.418 0-8 3.582-8 8v0h-2.667c0-5.891 4.776-10.667 10.667-10.667v0zM16 17.333c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zM16 14.667c2.947 0 5.333-2.387 5.333-5.333s-2.387-5.333-5.333-5.333-5.333 2.387-5.333 5.333 2.387 5.333 5.333 5.333zM19.46 25.083c-0.081-0.325-0.127-0.698-0.127-1.082s0.046-0.757 0.133-1.114l-0.007 0.032-1.323-0.764 1.333-2.309 1.323 0.764c0.514-0.488 1.142-0.861 1.84-1.074l0.033-0.009v-1.527h2.667v1.527c0.709 0.211 1.349 0.587 1.873 1.083l1.323-0.764 1.333 2.309-1.323 0.764c0.080 0.325 0.127 0.698 0.127 1.081s-0.046 0.757-0.133 1.113l0.007-0.032 1.323 0.764-1.333 2.309-1.323-0.764c-0.514 0.488-1.142 0.861-1.84 1.074l-0.033 0.009v1.527h-2.667v-1.527c-0.731-0.222-1.359-0.595-1.875-1.085l0.002 0.002-1.323 0.764-1.333-2.309 1.323-0.763zM24 26c1.105 0 2-0.895 2-2s-0.895-2-2-2v0c-1.105 0-2 0.895-2 2s0.895 2 2 2v0z" fill="rgba(51,51,51,1)"></path>
+    </g>
+  </svg>

+ 1 - 0
assets/img/tabbarImg/chat-1-fill.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="rgba(173,184,194,1)"><path d="M10 3H14C18.4183 3 22 6.58172 22 11C22 15.4183 18.4183 19 14 19V22.5C9 20.5 2 17.5 2 11C2 6.58172 5.58172 3 10 3Z"></path></svg>

+ 1 - 0
assets/img/tabbarImg/chat-1-fill2.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="rgba(80,152,255,1)"><path d="M10 3H14C18.4183 3 22 6.58172 22 11C22 15.4183 18.4183 19 14 19V22.5C9 20.5 2 17.5 2 11C2 6.58172 5.58172 3 10 3Z"></path></svg>

+ 1 - 0
assets/img/tabbarImg/chat-smile-2-fill.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="rgba(173,184,194,1)"><path d="M7.29117 20.8242L2 22L3.17581 16.7088C2.42544 15.3056 2 13.7025 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C10.2975 22 8.6944 21.5746 7.29117 20.8242ZM7 12C7 14.7614 9.23858 17 12 17C14.7614 17 17 14.7614 17 12H15C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12H7Z"></path></svg>

+ 1 - 0
assets/img/tabbarImg/chat-smile-2-fill2.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="rgba(80,152,255,1)"><path d="M7.29117 20.8242L2 22L3.17581 16.7088C2.42544 15.3056 2 13.7025 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C10.2975 22 8.6944 21.5746 7.29117 20.8242ZM7 12C7 14.7614 9.23858 17 12 17C14.7614 17 17 14.7614 17 12H15C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12H7Z"></path></svg>

+ 1 - 0
assets/img/tabbarImg/home-wifi-fill.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="rgba(173,184,194,1)"><path d="M20 20C20 20.5523 19.5523 21 19 21H5C4.44772 21 4 20.5523 4 20V11L1 11L11.3273 1.6115C11.7087 1.26475 12.2913 1.26475 12.6727 1.6115L23 11L20 11V20ZM7 11V13C9.76142 13 12 15.2386 12 18H14C14 14.134 10.866 11 7 11ZM7 15V18H10C10 16.3431 8.65685 15 7 15Z"></path></svg>

+ 1 - 0
assets/img/tabbarImg/home-wifi-fill2.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="rgba(80,152,255,1)"><path d="M20 20C20 20.5523 19.5523 21 19 21H5C4.44772 21 4 20.5523 4 20V11L1 11L11.3273 1.6115C11.7087 1.26475 12.2913 1.26475 12.6727 1.6115L23 11L20 11V20ZM7 11V13C9.76142 13 12 15.2386 12 18H14C14 14.134 10.866 11 7 11ZM7 15V18H10C10 16.3431 8.65685 15 7 15Z"></path></svg>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 3 - 0
assets/img/vessel.svg


BIN=BIN
assets/img/wImage.png


BIN=BIN
assets/img/wImage3.png


BIN=BIN
assets/img/wImage4.png


BIN=BIN
assets/img/wImage@1x.png


BIN=BIN
assets/img/wImage@photo.png


BIN=BIN
assets/img/暂无数据-缺省页.png


BIN=BIN
assets/img/矩形 hAEosSK@1x.png


+ 34 - 0
assets/js/font.js

@@ -0,0 +1,34 @@
+(function() {
+	
+		window.addEventListener('resize', () => {
+			if (document.activeElement.tagName == 'INPUT') {                      
+			window.setTimeout(() => { 
+				document.activeElement.scrollIntoViewIfNeeded();            
+			}, 100);        
+		}
+		})
+		
+				if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
+					handleFontSize();
+				} else {
+					if (document.addEventListener) {
+						document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
+					} else if (document.attachEvent) {
+						document.attachEvent("WeixinJSBridgeReady", handleFontSize);
+						document.attachEvent("onWeixinJSBridgeReady", handleFontSize);
+					}
+				}
+
+				function handleFontSize() {
+					/*设置网页字体为默认大小*/
+					WeixinJSBridge.invoke('setFontSizeCallback', {
+						'fontSize': 0
+					});
+					/*重写设置网页字体大小的事件*/
+					WeixinJSBridge.on('menu:setfont', function() {
+						WeixinJSBridge.invoke('setFontSizeCallback', {
+							'fontSize': 0
+						});
+					});
+				}
+			})();

+ 167 - 0
components/ShareServer.vue

@@ -0,0 +1,167 @@
+<template>
+	<view></view>
+</template>
+
+<script>
+
+	import wx from 'weixin-js-sdk'
+	import * as API_WeiXin from '@/apis/weixin'
+
+	export default {
+		name: 'Share',
+		props: {
+			 
+		},
+		data() {
+			return {
+				id:'',
+				title:'',
+				url:'',
+				isLoading: false,
+				nowItem: {
+					shareTitle: '',
+					shareImg: '',
+					shareDescription: ''
+				}
+			}
+		},
+		created() {},
+		methods: {
+			 addPoint(){
+				 if(this.id){
+					 API_WeiXin.addPoint({
+					 					 id:this.id,
+					 					 pointCode:"70007"
+					 }).then(response => {
+					 		//("积分添加成功")
+							uni.showToast({
+								title: "分享成功",
+								icon: "none"
+							})
+									 
+					 })
+				 }
+				 
+			 },
+			
+			//获取微信jssdk配置信息
+			get_wx_config() {
+				
+				
+				API_WeiXin.getConfig(window.location.href.split("#")[0]).then(response => {
+					
+					
+					var wxconfig = response.data.wxConfig;
+					
+					//(wxconfig.nonceStr)
+					//this.wxConfig = wxconfig;
+				
+					wx.config({
+						debug: false, // 开启调试模式,
+						appId: wxconfig.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
+						timestamp: wxconfig.timestamp, // 必填,生成签名的时间戳
+						nonceStr: wxconfig.nonceStr, // 必填,生成签名的随机串
+						signature: wxconfig.signature, // 必填,签名,见附录1
+						jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 
+						'onMenuShareQQ', 'onMenuShareQZone'] ,// 必填,需要使用的JS接口列表,所有JS接口列表见附录2
+						//'checkJsApi',,'updateAppMessageShareData','updateTimelineShareData'
+					});
+					
+						//("aaa")
+					//this.wxShare()
+				}).catch(error => {
+					//(error)
+						//("errorerror")
+				})
+			},
+			setUrl(url){
+				this.url=url;
+			},
+			setTitle(text,id){
+				this.title=text;
+				this.id=id;
+				this.wxShare() 
+				
+			},
+			//微信分享自定义
+			wxShare() {
+				var userInfo=this.carhelp.getPersonInfo()
+				var img=require("@/assets/img/logo.png")
+				
+				var title=this.title
+			//	var desc=
+				let joinUrl = this.url;
+				//(img);
+				//(title);
+				//(joinUrl);
+				var _this = this;
+				
+				wx.ready(function() {
+					
+					
+					// wx.updateTimelineShareData({
+					// 	title: title,
+					// //	desc:desc ,
+					// 	link: joinUrl,
+					// 	 imgUrl: img,
+					// 	success: function() {
+					// 		if(userInfo){
+					// 			//_this.addPoint()
+					// 		}
+					// 		// 设置成功
+					// 		_this.$emit("wxShare",null);
+					// 	}
+					// })
+					// wx.updateAppMessageShareData({
+					// 	title: title,
+					// //	desc:desc ,
+					// 	link: joinUrl,
+					// 	 imgUrl: img,
+					// 	success: function() {
+					// 		if(userInfo){
+					// 			//_this.addPoint()
+					// 		}
+					// 		// 设置成功
+					// 		_this.$emit("wxShare",null);
+					// 	}
+					// })
+					wx.onMenuShareAppMessage({
+						title: title,
+					 	desc:"[电管家]" ,
+						link: joinUrl,
+						 imgUrl: img,
+						success: function() {
+							//('111')
+							if(userInfo){
+								_this.addPoint()
+							}
+							// 设置成功
+							_this.$emit("wxShare",null);
+						}
+					})
+					wx.onMenuShareTimeline({
+						title: title,
+						desc:"[电管家]" ,
+						link: joinUrl,
+						 imgUrl: img,
+						success: function() {
+								//('222')
+							if(userInfo){
+								_this.addPoint()
+							}
+							// 设置成功
+							_this.$emit("wxShare",null);
+						}
+					})
+				});
+			}
+		},
+		mounted() {
+			this.url=window.location.href;
+			this.get_wx_config();
+		},
+	}
+</script>
+
+<style>
+</style>

+ 90 - 0
components/Tabbar.vue

@@ -0,0 +1,90 @@
+<template>
+	<view>
+		<u-tabbar v-model="myCurrent" :list="tabbarList" :before-switch="beforeSwitch" inactive-color="#ADB8C2" active-color="#5098FF">
+		</u-tabbar>
+
+	</view>
+</template>
+
+<script>
+	var img1=require('@/assets/img/tabbarImg/home-wifi-fill.svg')
+	var img2=require('@/assets/img/tabbarImg/home-wifi-fill2.svg')
+	var img3=require('@/assets/img/tabbarImg/chat-1-fill.svg')
+	var img4=require('@/assets/img/tabbarImg/chat-1-fill2.svg')
+	var img5=require('@/assets/img/tabbarImg/chat-smile-2-fill.svg')
+	var img6=require('@/assets/img/tabbarImg/chat-smile-2-fill2.svg')
+	export default {
+		name: "Tabbar",
+		props: {
+			current: 0,
+			elderStatus: false
+		},
+		data() {
+			return {
+				oldindex: this.current,
+				myCurrent: this.current,
+				tabbarList: [{
+
+						iconPath: img1,
+						selectedIconPath: img2,
+						text: '主页 ',
+						pagePath2: "/pages/businessHall/index/index",
+					},
+					 
+					{
+						iconPath: img3,
+						selectedIconPath: img4,
+						text: '消息',
+						pagePath2: "/pages/businessHall/message/message",
+						
+					},
+					
+					{
+						iconPath: img5,
+						selectedIconPath: img6,
+						text: '我的',
+						pagePath2: "/pages/businessHall/mine/mine",
+					}
+				],
+			};
+
+		},
+		methods: {
+			setcount(c) {
+				this.myCurrent = c
+			},
+			beforeSwitch(index) {
+
+
+				if (index == this.current) {
+					return false
+				}
+				var url = this.tabbarList[index].pagePath2;
+
+				uni.navigateTo({
+					url: url
+				})
+				if (index == 1) {
+					this.myCurrent = this.oldindex;
+					return false;
+				} else {
+					return true;
+				}
+
+			},
+
+		},
+		mounted() {
+
+		},
+		destroyed() {
+
+		}
+
+
+	}
+</script>
+
+<style>
+
+</style>

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio