whx пре 3 недеља
родитељ
комит
2813325314
100 измењених фајлова са 1056 додато и 1894 уклоњено
  1. 5 2
      virgo.wzfrontend/workark_wx/App.vue
  2. 23 3
      virgo.wzfrontend/workark_wx/main.js
  3. 10 0
      virgo.wzfrontend/workark_wx/pages.json
  4. 5 2
      virgo.wzfrontend/workark_wx/pages/index/index.vue
  5. 2 1
      virgo.wzfrontend/workark_wx/pages/message/message.vue
  6. 3 0
      virgo.wzfrontend/workark_wx/pages/model/model.vue
  7. 72 7
      virgo.wzfrontend/workark_wx/pages/my/my.vue
  8. 3 0
      virgo.wzfrontend/workark_wx/pages/workark/workark.vue
  9. 12 0
      virgo.wzfrontend/workark_wx/request/api/my.js
  10. 3 1
      virgo.wzfrontend/workark_wx/request/request.js
  11. 1 1
      virgo.wzfrontend/workark_wx/subPages/chatPage/chat/chat.vue
  12. 29 26
      virgo.wzfrontend/workark_wx/subPages/indexPage/orderDetail/orderDetail.vue
  13. 36 6
      virgo.wzfrontend/workark_wx/subPages/indexPage/orderList/orderList.vue
  14. 145 0
      virgo.wzfrontend/workark_wx/subPages/myPage/chatList/chatList.vue
  15. 6 4
      virgo.wzfrontend/workark_wx/subPages/myPage/myDetail/myDetail.vue
  16. 384 0
      virgo.wzfrontend/workark_wx/subPages/myPage/serveChat/serveChat.vue
  17. 3 1
      virgo.wzfrontend/workark_wx/subPages/workarkPage/components/sureOrder.vue
  18. 6 5
      virgo.wzfrontend/workark_wx/uitls/chat.js
  19. 193 0
      virgo.wzfrontend/workark_wx/uitls/customerServe.js
  20. 0 0
      virgo.wzfrontend/workark_wx/uitls/yeim-uni-sdk1.js
  21. 3 0
      virgo.wzfrontend/workark_wx/uitls/yeim-uni-sdk2.js
  22. 0 191
      virgo.wzfrontend/workark_wx/uni_modules/wzJun1-YeIM-Uni-SDK/changelog.md
  23. 0 1457
      virgo.wzfrontend/workark_wx/uni_modules/wzJun1-YeIM-Uni-SDK/js_sdk/yeim-uni-sdk.min.d.ts
  24. 0 87
      virgo.wzfrontend/workark_wx/uni_modules/wzJun1-YeIM-Uni-SDK/package.json
  25. 0 35
      virgo.wzfrontend/workark_wx/uni_modules/wzJun1-YeIM-Uni-SDK/readme.md
  26. 3 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/app.json
  27. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/common/main.js
  28. 10 8
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/common/vendor.js
  29. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.js
  30. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.wxml
  31. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.wxss
  32. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.js
  33. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.wxml
  34. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.wxss
  35. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/model/model.js
  36. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/my/my.js
  37. 2 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/my/my.json
  38. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/my/my.wxml
  39. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/my/my.wxss
  40. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/workark/workark.js
  41. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/workark/workark.wxml
  42. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/workark/workark.wxss
  43. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/chatPage/chat/chat.js
  44. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.js
  45. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.wxml
  46. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.js
  47. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.json
  48. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.wxml
  49. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/changeOrganization/changeOrganization.js
  50. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/chatList/chatList.js
  51. 8 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/chatList/chatList.json
  52. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/chatList/chatList.wxml
  53. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/chatList/chatList.wxss
  54. 0 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/common/vendor.js
  55. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/components/uni-mall-head/uni-mall-head.js
  56. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/components/uni-mall-list/uni-mall-list.js
  57. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/download/download.js
  58. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/myDetail/myDetail.js
  59. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/organization/organization.js
  60. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/serveChat/serveChat.js
  61. 7 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/serveChat/serveChat.json
  62. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/serveChat/serveChat.wxml
  63. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/serveChat/serveChat.wxss
  64. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/workarkPage/components/sureOrder.js
  65. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-tabs/components/uv-tabs/uv-tabs.js
  66. 6 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-tabs/components/uv-tabs/uv-tabs.json
  67. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-tabs/components/uv-tabs/uv-tabs.wxml
  68. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-tabs/components/uv-tabs/uv-tabs.wxss
  69. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  70. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  71. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/login/imageCode.js.map
  72. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  73. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  74. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/message/message.js.map
  75. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/model/model.js.map
  76. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  77. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/workark/workark.js.map
  78. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/chatPage/chat/chat.js.map
  79. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/chatPage/common/vendor.js.map
  80. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/noPermission/noPermission.js.map
  81. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/orderDetail/orderDetail.js.map
  82. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/orderList/orderList.js.map
  83. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/changeOrganization/changeOrganization.js.map
  84. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/chatList/chatList.js.map
  85. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/components/uni-mall-head/uni-mall-head.js.map
  86. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/components/uni-mall-list/uni-mall-list.js.map
  87. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/download/download.js.map
  88. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/myDetail/myDetail.js.map
  89. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/serveChat/serveChat.js.map
  90. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/components/sureOrder.js.map
  91. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/coupon/coupon.js.map
  92. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/paymentStatus/paymentStatus.js.map
  93. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/workarkDetail/workarkDetail.js.map
  94. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/kevy-result-page/components/kevy-result-page/kevy-result-page.js.map
  95. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-badge/components/uv-badge/uv-badge.js.map
  96. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-button/components/uv-button/uv-button.js.map
  97. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-checkbox/components/uv-checkbox-group/uv-checkbox-group.js.map
  98. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-checkbox/components/uv-checkbox/uv-checkbox.js.map
  99. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.js.map
  100. 0 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-divider/components/uv-divider/uv-divider.js.map

+ 5 - 2
virgo.wzfrontend/workark_wx/App.vue

@@ -10,13 +10,16 @@
 			// 尝试从本地存储中恢复数据
 			const savedState = uni.getStorageSync('vuex_state');
 			if (savedState) this.$store.replaceState(Object.assign({}, this.$store.state, savedState));
-			if (this.$store.getters.user.userId) this.$chat.connect('workark' + this.$store.getters.user.userId);
+			if (this.$store.getters.user.userId) this.$chat.connect('workark' + this.$store.getters.user.userId);
+			if (uni.getStorageSync('serveChatId')) this.$customerServe.connect(uni.getStorageSync('serveChatId'));
 		},
 		// 在页面的onHide生命周期中
 		onHide() {
 			// 保存状态到本地存储
 			uni.setStorageSync('vuex_state', this.$store.state);
-			uni.removeStorageSync('chatToken');
+			uni.removeStorageSync('chatToken');
+			uni.removeStorageSync('serveChatToken');
+			uni.removeStorageSync('serveChatId');
 		}
 	}
 </script>

+ 23 - 3
virgo.wzfrontend/workark_wx/main.js

@@ -10,11 +10,16 @@ uni.$uv.setConfig({
 		unit: 'rpx'
 	}
 })
-Vue.prototype.$store = store;
-
+Vue.prototype.$store = store;
+
 import chat from './uitls/chat.js'
 chat.init();
-Vue.prototype.$chat = chat;
+
+import customerServe from './uitls/customerServe.js'
+customerServe.init();
+
+Vue.prototype.$chat = chat;
+Vue.prototype.$customerServe = customerServe;
 
 Vue.prototype.$toast = msg => {
 	uni.showToast({
@@ -30,6 +35,21 @@ Vue.prototype.$navigateTo = (url) => {
 		url: url
 	})
 }
+Vue.prototype.initBadge = () => {
+	if (uni.getStorageSync('chatBadge')) {
+		let badge = uni.getStorageSync('chatBadge');
+		if (badge === '0') {
+			uni.removeTabBarBadge({
+				index: 3
+			})
+		} else {
+			uni.setTabBarBadge({
+				index: 3,
+				text: badge
+			})
+		}
+	}
+}
 Vue.config.productionTip = false;
 App.mpType = 'app'
 const app = new Vue({

+ 10 - 0
virgo.wzfrontend/workark_wx/pages.json

@@ -121,6 +121,16 @@
 			"style": {
 				"navigationBarTitleText": "切换组织"
 			}
+		}, {
+			"path": "chatList/chatList",
+			"style": {
+				"navigationBarTitleText": "聊天列表"
+			}
+		}, {
+			"path": "serveChat/serveChat",
+			"style": {
+				"navigationBarTitleText": ""
+			}
 		}]
 	}],
 	"tabBar": {

+ 5 - 2
virgo.wzfrontend/workark_wx/pages/index/index.vue

@@ -57,7 +57,10 @@
 		},
 		onShow() {
 			this.isLogin = !!uni.getStorageSync('token');
-			if (this.isLogin) this.init();
+			if (this.isLogin) {
+				this.initBadge();
+				this.init();
+			}
 		},
 		methods: {
 			async init() {
@@ -81,7 +84,7 @@
 					url = '/subPages/indexPage/invoiceList/invoiceList';
 				}
 				if (signUrl) {
-					let roleData = this.$store.getters.user.workarkMenu || '[]'
+					let roleData = this.$store.getters.user.workarkMenu || '[]';
 					let isRole = JSON.parse(roleData).filter(node => node === signUrl);
 					if (isRole.length === 0) url = '/subPages/indexPage/noPermission/noPermission'
 				}

+ 2 - 1
virgo.wzfrontend/workark_wx/pages/message/message.vue

@@ -62,7 +62,8 @@
 				this.option = {
 					tip: '暂无会话'
 				}
-				this.$chat.listenerList();
+				this.$chat.listenerList();
+				this.initBadge();
 				this.init();
 			}
 		},

+ 3 - 0
virgo.wzfrontend/workark_wx/pages/model/model.vue

@@ -21,6 +21,9 @@
 				}
 			}
 		},
+		onShow() {
+			this.initBadge();
+		},
 		onLoad(body) {
 			this.initModel();
 		},

+ 72 - 7
virgo.wzfrontend/workark_wx/pages/my/my.vue

@@ -37,40 +37,86 @@
 				</view>
 			</view>
 		</view>
+		<view class="fab-box" v-if="isCustomer" @click="$navigateTo('/subPages/myPage/chatList/chatList')">
+			<view class="fab-data">
+				<uv-badge type="error" max="99" numberType="overflow" :value="badge" :absolute="true" :offset="[0,0]"
+					:customStyle="{
+						zIndex:99
+					}">
+				</uv-badge>
+				<uv-icon name="server-fill" color="#fff" size="60" labelPos="bottom" labelSize="20">
+				</uv-icon>
+			</view>
+		</view>
 	</view>
 </template>
 
 <script>
+	import {
+		getUserInfoById,
+		getCustomerServeListByQuery
+	} from '@/request/api/my.js'
 	export default {
 		data() {
 			return {
-				user: {}
+				user: {},
+				isCustomer: false,
+				badge: 0
 			}
 		},
+		onReady() {
+			uni.$on('changeChatList', this.initChat);
+		},
 		onShow() {
+			this.initBadge();
 			if (!uni.getStorageSync('token')) {
 				this.user = {};
+				this.isCustomer = false;
 			} else {
 				this.user = this.$store.getters.user;
 				this.user.organizedName = this.$store.getters.organization && this.$store.getters.organization.name;
+				this.init();
+				this.initCustomerServe();
 			}
 		},
 		methods: {
 			async init() {
 				let userInfo = await getUserInfoById(this.user.userId);
 				if (userInfo.state) {
-					this.user = userInfo.data;
 					this.user['userName'] = userInfo.data.name;
-					this.user['userId'] = userInfo.data.id;
-					this.user.organizedName = userInfo.mgrOrganization && userInfo.mgrOrganization.name;
-					this.$store.dispatch('app/changeUser', userInfo.data);
+					this.user['userId'] = userInfo.data.id;
+					this.user['portrait'] = userInfo.data.portrait;
+					this.$store.dispatch('app/changeUser', this.user);
 				}
-			}
+			},
+			async initCustomerServe() {
+				let customerServe = await getCustomerServeListByQuery({
+					organizationId: this.$store.getters.organization.id,
+					userId: this.$store.getters.user.userId
+				})
+				if (customerServe.state && customerServe.data && customerServe.data.length > 0) {
+					let data = customerServe.data[0];
+					this.isCustomer = true;
+					uni.setStorageSync('serveChatId', data.customerId);
+					this.$customerServe.connect(data.customerId);
+					this.initChat();
+				}
+			},
+			initChat() {
+				this.$customerServe.getConversationList(data => {
+					let chatList = data.data.filter(node => node.conversationId !== 'system');
+					let badge = 0;
+					for (let i = 0; i < chatList.length; i++) {
+						badge += chatList[i].unread
+					}
+					this.badge = badge;
+				});
+			},
 		}
 	}
 </script>
 
-<style lang="scss">
+<style lang="scss" scoped>
 	.my-box {
 		height: 100vh;
 		background: #fff;
@@ -166,5 +212,24 @@
 				font-weight: 700;
 			}
 		}
+
+		.fab-box {
+			position: fixed;
+			bottom: 60rpx;
+			right: 30rpx;
+			width: 100rpx;
+			height: 100rpx;
+			border-radius: 50%;
+			background: $uv-primary;
+
+			.fab-data {
+				width: 100%;
+				height: 100%;
+				position: relative;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+			}
+		}
 	}
 </style>

+ 3 - 0
virgo.wzfrontend/workark_wx/pages/workark/workark.vue

@@ -36,6 +36,9 @@
 				list: []
 			}
 		},
+		onShow() {
+			this.initBadge();
+		},
 		onLoad() {
 			this.init();
 		},

+ 12 - 0
virgo.wzfrontend/workark_wx/request/api/my.js

@@ -56,4 +56,16 @@ export function getWorkarkOrangaized(data) {
 		url: `/manager/userContext/workark/organization`,
 		method: 'get'
 	})
+}
+/* 
+ * 获取客服
+ * 
+ * 
+ */
+export function getCustomerServeListByQuery(data) {
+	return request({
+		url: `/manager/customer/list`,
+		method: 'post',
+		data: data
+	})
 }

+ 3 - 1
virgo.wzfrontend/workark_wx/request/request.js

@@ -5,7 +5,9 @@ const logout = () => {
 	chat.disConnect();
 	uni.removeStorageSync('token');
 	uni.removeStorageSync('chatToken');
-	uni.removeStorageSync('vuex_state');
+	uni.removeStorageSync('vuex_state');
+	uni.removeStorageSync('serveChatToken');
+	uni.removeStorageSync('serveChatId');
 	store.dispatch('app/changeOrganization', {});
 	store.dispatch('app/changeUser', {});
 	uni.removeTabBarBadge({

+ 1 - 1
virgo.wzfrontend/workark_wx/subPages/chatPage/chat/chat.vue

@@ -37,7 +37,7 @@
 	import {
 		YeIMUniSDK,
 		YeIMUniSDKDefines
-	} from '@/uni_modules/wzJun1-YeIM-Uni-SDK/js_sdk/yeim-uni-sdk.min.js'
+	} from '@/uitls/yeim-uni-sdk1.js'
 	export default {
 		data() {
 			return {

+ 29 - 26
virgo.wzfrontend/workark_wx/subPages/indexPage/orderDetail/orderDetail.vue

@@ -126,11 +126,12 @@
 				this.current = this.returnCurrent();
 				this.initProcessData();
 				if (this.orderData.contractId) this.initBindContract();
-				if (this.orderData.orderStatus === '未支付') this.operationBtn = [{
-					id: 4,
-					type: 'primary',
-					name: '立即支付'
-				}]
+				if (this.orderData.orderStatus === '未支付' && this.$store.getters.organization.facilitator !== 1) this
+					.operationBtn = [{
+						id: 4,
+						type: 'primary',
+						name: '立即支付'
+					}]
 			},
 			async initBindContract() {
 				let contractNode = await getBindContract(this.orderData.contractId);
@@ -142,29 +143,31 @@
 				if (!contractProcess.state) return;
 				this.contractProcessList = contractProcess.data;
 				this.updateParentStatus(this.contractProcessList);
-			},
-			logout() {
-				this.$chat.disConnect();
-				uni.removeStorageSync('token');
-				uni.removeStorageSync('chatToken');
-				uni.removeStorageSync('vuex_state');
-				this.$store.dispatch('app/changeOrganization', {});
-				this.$store.dispatch('app/changeUser', {});
-				uni.removeTabBarBadge({
-					index: 3
-				})
+			},
+			logout() {
+				this.$chat.disConnect();
+				uni.removeStorageSync('token');
+				uni.removeStorageSync('chatToken');
+				uni.removeStorageSync('vuex_state');
+				uni.removeStorageSync('serveChatToken');
+				uni.removeStorageSync('serveChatId');
+				this.$store.dispatch('app/changeOrganization', {});
+				this.$store.dispatch('app/changeUser', {});
+				uni.removeTabBarBadge({
+					index: 3
+				})
 			},
 			async operation(item) {
-				if (item.id === 4) {
-					if (!uni.getStorageSync('openId')) {
-						this.$toast('未获取到OpenId,请重新登录');
-						this.logout();
-						setTimeout(() => {
-							uni.navigateTo({
-								url: '/pages/login/login'
-							});
-						}, 400)
-						return;
+				if (item.id === 4) {
+					if (!uni.getStorageSync('openId')) {
+						this.$toast('未获取到OpenId,请重新登录');
+						this.logout();
+						setTimeout(() => {
+							uni.navigateTo({
+								url: '/pages/login/login'
+							});
+						}, 400)
+						return;
 					}
 					uni.showLoading({
 						title: '订单支付中...'

+ 36 - 6
virgo.wzfrontend/workark_wx/subPages/indexPage/orderList/orderList.vue

@@ -1,6 +1,11 @@
 <template>
 	<view class="order-list">
 		<z-paging ref="paging" v-model="dataList" @query="queryList">
+			<template #top>
+				<uv-tabs :list="list" @change="changeTab" lineWidth="40" lineHeight="6" :customStyle="{
+					background:'#fff'
+				}" :scrollable="false" v-if="list.length === 2"></uv-tabs>
+			</template>
 			<view class="common-list">
 				<view class="common-item" v-for="(item,index) in dataList" :key="item.id"
 					@tap="$navigateTo('/subPages/indexPage/orderDetail/orderDetail?orderId='+item.id)">
@@ -48,22 +53,47 @@
 				dataList: [],
 				productLevelId: '',
 				iconName: '',
-				iconColor: ''
+				iconColor: '',
+				list: [],
+				nowTitle: {
+					id: 1
+				}
 			}
 		},
 		onLoad(body) {
+			this.list = [{
+				id: 1,
+				name: body.productLevelName
+			}]
 			this.productLevelId = body.productLevelId;
 			this.iconName = body.iconName;
 			this.iconColor = body.iconColor;
+			if (this.$store.getters.organization.facilitator === 1) {
+				this.list.push({
+					id: 2,
+					name: '订单管理'
+				})
+			}
 		},
 		methods: {
 			async queryList(index, size) {
-				let orderData = await getOrderListByQueryAndSize(index, size, {
-					productLevelId: this.productLevelId,
-					payOrganizationId: this.$store.getters.organization.id
-				})
-				if (orderData.state) return this.$refs.paging.complete(orderData.data.dataList);
+				let filterOption = {
+					productLevelId: this.productLevelId
+				};
+				if (this.nowTitle.id === 1) filterOption['payOrganizationId'] = this.$store.getters.organization.id;
+				if (this.nowTitle.id === 2) filterOption['organizationId'] = this.$store.getters.organization.id;
+				uni.showLoading()
+				let orderData = await getOrderListByQueryAndSize(index, size, filterOption)
+				if (orderData.state) {
+					uni.hideLoading();
+					this.$refs.paging.complete(orderData.data.dataList);
+					return
+				}
 				this.$refs.paging.complete(false);
+			},
+			changeTab(item) {
+				this.nowTitle = item;
+				this.$refs.paging.reload();
 			}
 		}
 	}

+ 145 - 0
virgo.wzfrontend/workark_wx/subPages/myPage/chatList/chatList.vue

@@ -0,0 +1,145 @@
+<template>
+	<view class="message">
+		<view class="message-empty" v-if="chatList.length === 0">
+			<uv-empty icon="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/fa57e25b38c442ebb0ba023cace796bb"
+				:isImg="true" textSize="28" width="360" :text="option.tip">
+				<view class="message-button-box">
+					<uv-button type="primary" :text="option.btnText" size="small" v-if="option.btnText"
+						@tap="$navigateTo('/pages/login/login')">
+					</uv-button>
+				</view>
+			</uv-empty>
+		</view>
+		<view class="message-list" v-else>
+			<!-- 消息提示 -->
+			<view class="message-item" v-for="(item,index) in chatList" :key="index" @click="linkTo(item)">
+				<view class="message-image-box">
+					<uv-badge type="error" max="99" numberType="overflow" :value="item.unread" :absolute="true"
+						:offset="[0,0]" :customStyle="{
+							zIndex:99
+						}">
+					</uv-badge>
+					<image :src="item.userInfo.avatarUrl" class="message-image" mode="aspectFill">
+					</image>
+				</view>
+				<view class="message-content">
+					<view class="message-title">{{item.userInfo.nickname}}</view>
+					<view class="message-sub-content">
+						{{item.lastMessage.type === 'image'?'[图片]':item.lastMessage.body.text}}
+					</view>
+				</view>
+				<view class="message-date">
+					<uni-dateformat class="visitor-time" :date="item.updatedAt || item.createdAt"
+						:threshold="[60000,3600000 * 24 * 365]">
+					</uni-dateformat>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				option: {
+					tip: '暂无会话'
+				},
+				chatList: []
+			}
+		},
+		onReady() {
+			uni.$on('changeChatList', this.init);
+		},
+		onShow() {
+			this.$customerServe.listenerList();
+			this.init();
+		},
+		methods: {
+			init() {
+				this.$customerServe.getConversationList(data => {
+					this.chatList = data.data.filter(node => node.conversationId !== 'system');
+				});
+			},
+			linkTo(item) {
+				if (item.unread > 0) this.$customerServe.clearConversationUnread(item.conversationId);
+				this.$navigateTo('/subPages/myPage/serveChat/serveChat?userId=' + item.conversationId + '&userName=' + item
+					.userInfo.nickname)
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.message {
+		padding: 30rpx 0;
+
+		.message-button-box {
+			margin-top: 40rpx;
+		}
+
+		.message-empty {
+			padding-top: 80rpx;
+		}
+
+		.message-item {
+			background: #fff;
+			display: flex;
+			padding: 24rpx 30rpx;
+			position: relative;
+
+			&::before {
+				content: '';
+				position: absolute;
+				bottom: 0;
+				right: 0;
+				left: 150rpx;
+				height: 2rpx;
+				background: $uv-border-color;
+			}
+		}
+
+		.message-image {
+			width: 100rpx;
+			height: 100rpx;
+			border-radius: 16rpx;
+			overflow: hidden;
+			position: relative;
+		}
+
+		.message-image-box {
+			width: 100rpx;
+			height: 100rpx;
+			position: relative;
+		}
+
+		.message-content {
+			flex: 1;
+			width: 0;
+			margin-left: 20rpx;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+		}
+
+		.message-title {
+			font-size: 32rpx;
+			font-weight: 600;
+			margin-bottom: 10rpx;
+		}
+
+		.message-sub-content {
+			font-weight: 300;
+			color: $uv-content-color;
+		}
+
+		.message-date {
+			position: absolute;
+			top: 34rpx;
+			right: 30rpx;
+			font-size: 24rpx;
+			font-weight: 300;
+			color: $uv-content-color;
+		}
+	}
+</style>

+ 6 - 4
virgo.wzfrontend/workark_wx/subPages/myPage/myDetail/myDetail.vue

@@ -92,11 +92,11 @@
 			async init() {
 				let userInfo = await getUserInfoById(this.user.userId);
 				if (userInfo.state) {
-					this.user = userInfo.data;
 					this.user['userName'] = userInfo.data.name;
-					this.user['userId'] = userInfo.data.id;
-					this.user.organizedName = userInfo.mgrOrganization && userInfo.mgrOrganization.name;
-					this.$store.dispatch('app/changeUser', userInfo.data);
+					this.user['userId'] = userInfo.data.id;
+					this.user['portrait'] = userInfo.data.portrait;
+					this.user['sex'] = userInfo.data.sex;
+					this.$store.dispatch('app/changeUser', this.user);
 				}
 			},
 			logout() {
@@ -109,6 +109,8 @@
 							uni.removeStorageSync('token');
 							uni.removeStorageSync('chatToken');
 							uni.removeStorageSync('vuex_state');
+							uni.removeStorageSync('serveChatToken');
+							uni.removeStorageSync('serveChatId');
 							this.$store.dispatch('app/changeOrganization', {});
 							this.$store.dispatch('app/changeUser', {});
 							uni.removeTabBarBadge({

+ 384 - 0
virgo.wzfrontend/workark_wx/subPages/myPage/serveChat/serveChat.vue

@@ -0,0 +1,384 @@
+<template>
+	<view class="chat-box">
+		<view class="chat-tips" v-if="postData.loading">
+			{{postData.loadText}}
+		</view>
+		<view class="chat-list">
+			<view :id="`msg-${item.time}`" v-for="(item,index) in chatList" :key="index">
+				<view class="chat-item" :class="item.from == `${nowUserId}` ? 'push':'pull' ">
+					<image :src="item.fromUserInfo.avatarUrl" mode="aspectFill" class="avatar"></image>
+					<view class="content-box">
+						<view class="content" v-if="item.type === 'text'">{{item.body.text}}</view>
+						<image :src="item.body.thumbnailUrl" mode="aspectFill"
+							@tap="previewImage(item.body.originalUrl)" :class="[returnImageClass(item.body)]" v-else>
+						</image>
+					</view>
+					<text class="date">
+						{{$uv.timeFormat(item.time,'yyyy-mm-dd hh:MM')}}
+					</text>
+				</view>
+			</view>
+			<uv-safe-bottom></uv-safe-bottom>
+		</view>
+		<view class="chat-submit">
+			<input type="text" class="message-content" v-model="message" placeholder="请输入聊天内容"
+				placeholder-class="message-placeholder" :cursor-spacing="6" />
+			<view class="send-image send-button" @tap="sendImage">
+				<uv-icon name="photo-fill" color="#8c8c8c" size="48"></uv-icon>
+			</view>
+			<view class="send-submit send-button" @tap="send">
+				<uv-icon name="checkbox-mark" color="#fff" size="48"></uv-icon>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		YeIMUniSDK,
+		YeIMUniSDKDefines
+	} from '@/uitls/yeim-uni-sdk2.js'
+	export default {
+		data() {
+			return {
+				message: '',
+				chatList: [],
+				postData: {
+					rows: 10, //每页数量
+					page: 1, //页码
+					flag: true, // 请求开关
+					loading: true, // 加载中
+					loadText: '正在获取消息...'
+				},
+				nextMessageId: '',
+				nowUserId: ''
+			}
+		},
+		onUnload() {
+			YeIMUniSDK.getInstance().removeEventListener(YeIMUniSDKDefines.EVENT.MESSAGE_RECEIVED, this.onMessage);
+		},
+		onLoad(body) {
+			YeIMUniSDK.getInstance().addEventListener(YeIMUniSDKDefines.EVENT.MESSAGE_RECEIVED, this.onMessage);
+			uni.setNavigationBarTitle({
+				title: body.userName
+			});
+			this.nowUserId = uni.getStorageSync('serveChatId');
+			this.userId = body.userId;
+			this.getHistoryMsg();
+		},
+		onPageScroll(e) {
+			if (e.scrollTop < 5) {
+				this.getHistoryMsg();
+			}
+		},
+		methods: {
+			returnImageClass(item) {
+				let w = item.thumbnailWidth,
+					h = item.thumbnailHeight;
+				let str = ''
+				if (w > h) str = 'image-width';
+				if (w == h) str = 'image-width-height';
+				if (w < h) str = 'image-height';
+				return str + ' image-box';
+			},
+			onMessage(e) {
+				let message = e;
+				if (this.userId != message.conversationId) return;
+				this.insertMessage(message);
+				this.$customerServe.clearConversationUnread(this.userId);
+			},
+			insertMessage(message) {
+				try {
+					this.chatList.push(message);
+					setTimeout(() => {
+						uni.pageScrollTo({
+							scrollTop: 99999999, // -30 为多显示出大半个消息的高度,示意上面还有信息。
+							duration: 0
+						});
+					}, 200)
+				} catch (e) {
+					console.log(e)
+				}
+			},
+			getHistoryMsg() {
+				if (!this.postData.flag || this.nextMessageId === 'null') {
+					return; //
+				}
+				// 此处用到 ES7 的 async/await 知识,为使代码更加优美。不懂的请自行学习。
+				let get = async () => {
+					this.toggleTips();
+					this.postData.flag = false;
+					let data = await this.joinHistoryMsg();
+					// 获取待滚动元素选择器,解决插入数据后,滚动条定位时使用
+					let selector = '';
+					if (this.postData.page > 1) {
+						// 非第一页,则取历史消息数据的第一条信息元素
+						selector = `#msg-${this.chatList[0].time}`;
+					} else {
+						if (data.length > 0) {
+							// 第一页,则取当前消息数据的最后一条信息元素
+							selector = `#msg-${data[data.length-1].time}`;
+						}
+					}
+					// 将获取到的消息数据合并到消息数组中
+					this.chatList = [...data, ...this.chatList];
+					// 数据挂载后执行,不懂的请自行阅读 Vue.js 文档对 Vue.nextTick 函数说明。
+					this.$nextTick(() => {
+						// 设置当前滚动的位置
+						this.setPageScrollTo(selector);
+						this.toggleTips(true);
+						if (data.length < this.postData.rows) {
+							// 当前消息数据条数小于请求要求条数时,则无更多消息,不再允许请求。
+							// 可在此处编写无更多消息数据时的逻辑
+							this.postData.flag = true;
+						} else {
+							this.postData.page++;
+							// 延迟 200ms ,以保证设置窗口滚动已完成
+							setTimeout(() => {
+								this.postData.flag = true;
+							}, 200)
+						}
+
+					})
+				}
+				get();
+			},
+			// 设置页面滚动位置
+			setPageScrollTo(selector) {
+				if (!selector) return;
+				let view = uni.createSelectorQuery().in(this).select(selector);
+				view.boundingClientRect((res) => {
+					uni.pageScrollTo({
+						scrollTop: res.top - 30, // -30 为多显示出大半个消息的高度,示意上面还有信息。
+						duration: 0
+					});
+				}).exec();
+			},
+			toggleTips(flag) {
+				if (flag) {
+					this.postData.loadText = '消息获取成功';
+					setTimeout(() => {
+						this.postData.loading = false;
+					}, 300);
+				} else {
+					this.postData.loading = true;
+					this.postData.loadText = '正在获取消息...';
+				}
+			},
+			joinHistoryMsg() {
+				return new Promise((done, fail) => {
+					this.$customerServe.getHistoryMessageList(this.nextMessageId, this.userId, res => {
+						this.nextMessageId = res.data.nextMessageId || 'null';
+						done(!res.data ? [] : res.data.list);
+					}, () => {
+						done([]);
+					});
+				})
+			},
+			previewImage(url) {
+				// 预览图片
+				uni.previewImage({
+					urls: [url]
+				});
+			},
+			sendImage() {
+				this.$customerServe.sendImage(this.userId, this.sendSuccess);
+			},
+			// 发送信息
+			send() {
+				if (!this.message) return this.$toast('内容不能为空');
+				uni.showLoading();
+				this.$customerServe.sendText(this.userId, this.message, this.sendSuccess);
+			},
+			sendSuccess(res) {
+				this.chatList.push(res.data);
+				this.message = '';
+				uni.hideLoading();
+				setTimeout(() => {
+					uni.pageScrollTo({
+						scrollTop: 99999999, // -30 为多显示出大半个消息的高度,示意上面还有信息。
+						duration: 0
+					});
+				}, 200)
+			}
+		},
+	}
+</script>
+
+<style lang="scss">
+	.chat-box {
+		.chat-tips {
+			position: fixed;
+			left: 0;
+			top: 0;
+			width: 100%;
+			z-index: 9;
+			background-color: $uv-primary;
+			height: 72rpx;
+			line-height: 72rpx;
+			color: #fff;
+			text-align: center;
+			opacity: 0.9;
+		}
+
+		.chat-list {
+			width: 100%;
+			height: auto;
+			padding-bottom: 120rpx;
+			box-sizing: content-box;
+
+			.chat-item {
+				display: flex;
+				padding: 20rpx;
+				align-items: flex-start;
+				align-content: flex-start;
+				position: relative;
+
+				.date {
+					position: absolute;
+					bottom: -5rpx;
+					font-size: 20rpx;
+					color: $uv-content-color;
+				}
+
+				.avatar {
+					width: 80rpx;
+					height: 80rpx;
+					border-radius: 50%;
+					border: #fff solid 1px;
+				}
+
+				.content-box {
+					flex: 1;
+					width: 0;
+					display: flex;
+				}
+
+				.image-box {
+					border-radius: 16rpx;
+					padding-bottom: 4rpx;
+				}
+
+				.image-width {
+					width: 280rpx;
+					height: 200rpx;
+				}
+
+				.image-height {
+					width: 200rpx;
+					height: 280rpx;
+				}
+
+				.image-width-height {
+					width: 200rpx;
+					height: 200rpx;
+				}
+
+				.content {
+					padding: 20rpx 30rpx;
+					border-radius: 16rpx;
+					word-break: break-all;
+					line-height: 42rpx;
+					position: relative;
+					font-weight: 300;
+				}
+
+				/* 收到的消息 */
+				&.pull {
+					.content-box {
+						margin-right: 100rpx;
+					}
+
+					.image-box {
+						margin-left: 20rpx;
+					}
+
+					.content {
+						margin-left: 20rpx;
+						background-color: #fff;
+					}
+
+					.date {
+						left: 124rpx;
+					}
+				}
+
+				/* 发出的消息 */
+				&.push {
+					/* 主轴为水平方向,起点在右端。使不修改DOM结构,也能改变元素排列顺序 */
+					flex-direction: row-reverse;
+
+					.content-box {
+						flex-direction: row-reverse;
+						margin-left: 100rpx;
+					}
+
+					.image-box {
+						margin-right: 20rpx;
+					}
+
+					.content {
+						margin-right: 20rpx;
+						background-color: $uv-primary;
+						color: #fff;
+						box-shadow: 0px 1px 12px rgba(3, 3, 3, 0.08);
+					}
+
+					.date {
+						right: 124rpx;
+					}
+				}
+			}
+		}
+
+		.chat-submit {
+			position: fixed;
+			left: 0;
+			width: 100%;
+			bottom: 0;
+			height: 100rpx;
+			z-index: 2;
+			background-color: #fff;
+			box-shadow: 0px 2px 10px rgba(3, 3, 3, 0.1);
+			/* 兼容iPhoneX */
+			padding-bottom: 0;
+			padding-bottom: constant(safe-area-inset-bottom);
+			padding-bottom: env(safe-area-inset-bottom);
+			display: flex;
+			align-items: center;
+
+			.message-content {
+				flex: 1;
+				margin: 0 30rpx;
+				border: 1px solid $uv-border-color;
+				border-radius: 68rpx;
+				height: 68rpx;
+				padding: 0 20rpx;
+			}
+
+			.message-placeholder {
+				color: #8c8c8c;
+				font-weight: 300;
+			}
+
+			.send-button {
+				width: 68rpx;
+				height: 68rpx;
+				border-radius: 50%;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				&.send-image {
+					border: 1px solid $uv-border-color;
+					margin-right: 20rpx;
+				}
+
+				&.send-submit {
+					background: $uv-primary;
+					margin-right: 30rpx;
+				}
+			}
+		}
+	}
+</style>

+ 3 - 1
virgo.wzfrontend/workark_wx/subPages/workarkPage/components/sureOrder.vue

@@ -124,7 +124,9 @@
 				this.$chat.disConnect();
 				uni.removeStorageSync('token');
 				uni.removeStorageSync('chatToken');
-				uni.removeStorageSync('vuex_state');
+				uni.removeStorageSync('vuex_state');
+				uni.removeStorageSync('serveChatToken');
+				uni.removeStorageSync('serveChatId');
 				this.$store.dispatch('app/changeOrganization', {});
 				this.$store.dispatch('app/changeUser', {});
 				uni.removeTabBarBadge({

+ 6 - 5
virgo.wzfrontend/workark_wx/uitls/chat.js

@@ -1,12 +1,15 @@
 import {
 	YeIMUniSDK,
 	YeIMUniSDKDefines
-} from '@/uni_modules/wzJun1-YeIM-Uni-SDK/js_sdk/yeim-uni-sdk.min.js'
+} from './yeim-uni-sdk1.js'
 import {
 	login
 } from '@/request/api/chat.js'
 import md5 from '@/js_sdk/js-md5/build/md5.min.js';
 import config from "@/config";
+import {
+	string
+} from '../uni_modules/uv-ui-tools/libs/function/test.js';
 let userIds, isListenerChatList = false;
 const connect = success => {
 	if (!userIds) return;
@@ -49,9 +52,7 @@ const logins = () => {
 }
 const $chat = {
 	init() {
-		//初始化YeIMUniSDK
-		uni.$YeIMUniSDKDefines = YeIMUniSDKDefines;
-		uni.$YeIM = YeIMUniSDK.init({
+		YeIMUniSDK.init({
 			baseURL: config.baseUrl + '/im', // YeIMServer http url (如无特殊需求,服务端启动后仅需修改ip或者域名即可)
 			socketURL: config.socketURL, // YeIMServer socket url(如无特殊需求,服务端启动后仅需修改ip或者域名即可)
 			/**
@@ -188,6 +189,7 @@ const $chat = {
 				for (let i = 0; i < chatList.length; i++) {
 					badge += chatList[i].unread
 				}
+				uni.setStorageSync('chatBadge', String(badge));
 				if (!badge) {
 					uni.removeTabBarBadge({
 						index: 3
@@ -198,7 +200,6 @@ const $chat = {
 						text: String(badge)
 					})
 				}
-
 			});
 		})
 	},

+ 193 - 0
virgo.wzfrontend/workark_wx/uitls/customerServe.js

@@ -0,0 +1,193 @@
+import {
+	YeIMUniSDK,
+	YeIMUniSDKDefines
+} from './yeim-uni-sdk2.js'
+import {
+	login
+} from '@/request/api/chat.js'
+import md5 from '@/js_sdk/js-md5/build/md5.min.js';
+import config from "@/config";
+let userIds, isListenerChatList = false;
+const connect = success => {
+	if (!userIds) return;
+	let code = YeIMUniSDK.getInstance().readyState();
+	if (code === 0) return setTimeout(() => {
+		if (success) success();
+	}, 5000)
+	if (code === 1) {
+		if (success) success();
+		return;
+	}
+	YeIMUniSDK.getInstance().connect({
+		userId: userIds,
+		token: uni.getStorageSync('serveChatToken'),
+		success: (response) => {
+			if (response.code === 200) {
+				$serveChat.listenerList();
+				if (success) success();
+			}
+		},
+		fail: (err) => {
+			console.log(err);
+			logins();
+		}
+	});
+}
+const logins = () => {
+	let timestamp = (new Date()).getTime() + 86400 * 1000; //1000天后过期
+	let sign = md5(String(userIds) + timestamp + "50abd47112ebe8c5a73f4694c96a49ce");
+	login({
+		userId: userIds,
+		timestamp: timestamp,
+		sign: sign
+	}).then(res => {
+		if (res.state) {
+			uni.setStorageSync('serveChatToken', res.data.token);
+			connect();
+		}
+	})
+}
+const $serveChat = {
+	init() {
+		//初始化YeIMUniSDK
+		YeIMUniSDK.init({
+			baseURL: config.baseUrl + '/im', // YeIMServer http url (如无特殊需求,服务端启动后仅需修改ip或者域名即可)
+			socketURL: config.socketURL, // YeIMServer socket url(如无特殊需求,服务端启动后仅需修改ip或者域名即可)
+			/**
+			 * 	日志等级
+			 *  0 普通日志,日志量较多,接入时建议使用
+			 *	1 关键性日志,日志量较少,生产环境时建议使用 
+			 *	2 无日志级别,SDK 将不打印任何日志
+			 */
+			logLevel: 2, // 日志等级, 
+			reConnectInterval: 3000, // 重连时间间隔
+			reConnectTotal: 99, // 最大重连次数,0不限制一直重连 
+			heartInterval: 35000, //心跳时间间隔(默认30s) 
+		});
+	},
+	connect(userId) {
+		userIds = userId;
+		if (!userId) return;
+		if (!uni.getStorageSync('serveChatToken')) {
+			logins()
+		} else {
+			connect();
+		}
+	},
+	getConversationList(success) {
+		connect(() => {
+			YeIMUniSDK.getInstance().getConversationList({
+				page: 1, //页码
+				limit: 100, //每页数量
+				success: success,
+				fail: (err) => {
+					console.log(err);
+				}
+			});
+		});
+	},
+	getHistoryMessageList(nextMessageId, userId, success, fail) {
+		connect(() => {
+			YeIMUniSDK.getInstance().getHistoryMessageList({
+				nextMessageId: nextMessageId,
+				conversationId: userId,
+				success: success,
+				fail: fail
+			});
+		});
+	},
+	sendImage(userId, success) {
+		connect(() => {
+			uni.chooseImage({
+				count: 1, //图片数量
+				sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
+				sourceType: ['album'], //从相册选择
+				success: res => {
+					uni.getImageInfo({
+						src: res.tempFilePaths[0],
+						success: image => {
+							//创建图片消息
+							let message = YeIMUniSDK.getInstance()
+								.createImageMessage({
+									toId: userId, //接收者用户ID字符串
+									conversationType: YeIMUniSDKDefines
+										.CONVERSATION_TYPE
+										.PRIVATE, //会话类型:私聊
+									body: {
+										file: {
+											tempFilePath: res.tempFilePaths[
+												0], //本地图片临时路径
+											width: image.width, //图片宽度
+											height: image.height //图片高度
+										}
+									},
+									extra: "",
+									onProgress: (progress) => {
+										// console.log(progress);
+									}
+								});
+							//发送消息
+							uni.showLoading();
+							YeIMUniSDK.getInstance().sendMessage({
+								message: message,
+								success: success,
+								fail: (err) => {
+									uni.hideLoading();
+									uni.showToast({
+										title: '发送失败',
+										icon: "none"
+									});
+								}
+							});
+						}
+					});
+				}
+			});
+		});
+	},
+	sendText(userId, content, success) {
+		connect(() => {
+			//创建文字消息
+			let message = YeIMUniSDK.getInstance().createTextMessage({
+				toId: userId, //接收者用户ID字符串
+				conversationType: YeIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
+				body: {
+					text: content //文本消息内容字符串
+				},
+				extra: ""
+			});
+			//发送消息
+			YeIMUniSDK.getInstance().sendMessage({
+				message: message,
+				success: success,
+				fail: (err) => {
+					uni.hideLoading();
+					uni.showToast({
+						title: '发送失败',
+						icon: "none"
+					});
+				}
+			});
+		});
+	},
+	disConnect() {
+		let code = YeIMUniSDK.getInstance().readyState();
+		if (code === 1) YeIMUniSDK.getInstance().disConnect();
+	},
+	listenerList() {
+		if (isListenerChatList) return;
+		connect(() => {
+			isListenerChatList = true;
+			//监听会话列表更新
+			YeIMUniSDK.getInstance().addEventListener(YeIMUniSDKDefines.EVENT.CONVERSATION_LIST_CHANGED, (
+				list) => {
+				uni.$emit('changeServeChatList', list);
+			});
+		})
+	},
+	clearConversationUnread(conversationId) {
+		//清除指定会话未读数,并给对方发送已读回执
+		YeIMUniSDK.getInstance().clearConversationUnread(conversationId);
+	}
+}
+export default $serveChat;

virgo.wzfrontend/workark_wx/uni_modules/wzJun1-YeIM-Uni-SDK/js_sdk/yeim-uni-sdk.min.js → virgo.wzfrontend/workark_wx/uitls/yeim-uni-sdk1.js


Разлика између датотеке није приказан због своје велике величине
+ 3 - 0
virgo.wzfrontend/workark_wx/uitls/yeim-uni-sdk2.js


+ 0 - 191
virgo.wzfrontend/workark_wx/uni_modules/wzJun1-YeIM-Uni-SDK/changelog.md

@@ -1,191 +0,0 @@
-## 1.2.82(2025-03-12)
-- 【YeIM-Uni-SDK】 
-    - 修复调用获取历史消息记录时的离线消息异常
-	- 修复Web、Uni环境下上传下载异常
-## 1.2.5(2023-05-09)
-- 【YeIM-Uni-SDK】 
-    - 修复 `updateUserInfo` 无法正常更新的问题 
-    - 修复 用户资料 `好友添加方式` 异常
-    - 修复 好友申请已读状态异常
-
-- 【YeIM-Uni-Server】 
-    - 优化 用户申请已读发送更新事件
-## 1.2.4(2023-05-02)
-- 【YeIM-Uni-SDK】 
-    - 修复因 `1.2.0` 引出的本地上传异常 
-    - 修复在 `nvue` 页面下无法使用实例的异常
-## 1.2.3(2023-04-10)
-- 【YeIM-Uni-SDK】 
-    - 优化 `createCustomMessage`
-    - 优化 获取好友及申请列表方式
-    
-- 【YeIM-Uni-Server】 
-    - 修复因配置文件异常导致的无法启动
-## 1.2.2(2023-04-05)
-- 【YeIM-Uni-SDK】 
-    - 新增 好友关系及相关方法
-    - 新增 用户资料字段 `性别` `电话` `扩展字段` 等
-    - 优化 方法 `getUserInfo` `updateUserInfo`
-
-- 【YeIM-Uni-Server】 
-    - 新增 好友关系相关接口
-    - 修改 接口 `register` `updateUser`
-    
-- 【数据库】 
-    - 新增 `user`表字段 `性别` `电话` `扩展字段` 等
-    - 新增 好友表 `friend`
-    - 新增 好友申请表 `friend_apply`
-## 1.2.1(2023-03-26)
-- 【YeIM-Uni-SDK】
-    - 优化代码
-## 1.2.0(2023-03-24)
-- 【YeIM-Uni-SDK】
-    - 适配 支持非uni编译器打包,可单独用在任何H5环境,支持ts types
-    - 新增 创建@消息接口 `createTextAtMessage` 创建合并消息接口 `createMergerMessage` 创建转发消息接口 `createForwardMessage`
-    - 新增 媒体消息通过URL直发接口 `createImageMessageFromUrl` `createVideoMessageFromUrl` `createAudioMessageFromUrl`
-    - 修改 使用`mitt`代替uni事件总线
-    - 修复 群组获取历史消息记录异常
-
-- 【YeIM-Uni-Server】
-    - 修复 群成员移除后再加入会话报错
-    - 修复 设置群管理员重复
-    - 优化 移出群成员给指定接收者发送系统通知
-    - 优化 群成员获取历史消息记录方式
-## 1.1.9(2023-03-21)
-- 【YeIM-Uni-SDK】
-    - 修复 因`1.1.8`版本引出的用户多端登录被踢反复重连的问题
-    - 优化 客户端代码
-
-- 【YeIM-Uni-Server】
-    - 优化 Socket消息通道
-## 1.1.8(2023-03-17)
-- 【YeIM-Uni-SDK】
-    - 新增 离线通知相关自定义配置
-    - 修复 `getGroupApplyList`接口获取入群申请异常的问题
-    - 修复 撤回消息事件异常响应
-    - 优化 客户端接口返回值 
-    - 优化 客户端接口通信
-
-- 【YeIM-Uni-Server】
-    - 优化 服务端接口返回值 
-## 1.1.7(2023-03-10)
-- 【YeIM-Uni-SDK】
-    - 新增 `getHistoryMessageList` 获取历史消息记录方法
-    - 弃用 `getMessageList` 
-
-- 【YeIM-Uni-Server】
-    - 新增 通过 `nextMessageId` 获取历史记录
-    - 弃用 分页获取历史记录
-## 1.1.6(2023-02-19)
-- 【YeIM-Uni-SDK】
-    - 新增 `加入黑名单` `移除黑名单` `获取黑名单列表` 方法
-    - 修复 低版本安卓创建推送渠道的异常 
-    - 修复 本地消息缓存逻辑
-
-- 【YeIM-Uni-Server】
-    - 新增 `加入黑名单` `移除黑名单` `获取黑名单列表` 接口
-
-- 【数据库】 
-    - 新增私聊黑名单表
-## 1.1.5(2023-01-31)
-- 【YeIM-Uni-SDK】
-    - 修复 使用 `Vue3` 编译时的上传异常
-    - 文档新增 `Vue3 + TypeScript` 使用示例
-## 1.1.4(2023-01-27)
-- 【YeIM-Uni-SDK】
-    - 新增 删除消息 `deleteMessage` 接口  
-    - 新增 Message消息字段 `conversationType` 会话类型 
-    - 修复 因推送服务引发的非APP端登录异常
-    - 优化 小视频消息封面字段 `thumbnailUrl` 创建时为空
-    - 优化 媒体消息接口本地上传目录名称
-
-- 【YeIM-Uni-Server】
-    - 移除 `receivedCallMessage` 方法 (v1.1.2遗留)
-
-- 【数据库】 
-    - 新增群消息删除记录表
-## 1.1.3(2023-01-16)
-- 【YeIM-Uni-SDK】
-    - 新增 `个推离线消息通知` 
-
-- 【YeIM-Uni-Server】
-    - 新增 `个推离线消息通知` 服务
-
-- 【数据库】 
-    - 新增 `user` 表字段 `mobile_device_id` (移动APP端推送标识符)
-## 1.1.2(2022-12-16)
-- 【YeIM-Uni-SDK】
-    - 弃用 `notifySocketMessageReceived`
-    - 弃用 Message 对象 `receive` 字段
-
-- 【YeIM-Uni-Server】
-    - 修复 私聊/群聊会话发送者会话未读数异常
-    - 修复 上传图片缩略图路径异常
-    - 弃用 `received_call` 
-    - 弃用 Message 对象 `receive` 字段
-
-- 【数据库】 
-    - 弃用 数据表 message、group_message 中 `receive` 字段
-
-## 1.1.1(2022-12-15)
-- 【YeIM-Uni-SDK】
-    - 更新 WebSocket使用方式为SocketTask,便于支持项目多路WebSocket 
-    - 预弃用 `notifySocketMessageReceived`,下版本删除。基于YeIMUniSDK的收发消息逻辑考虑,接收方不需要返回接收状态(ACK)
-    - 优化 重连机制
-    - 优化 代码注释
-    
-- 【YeIM-Uni-Server】
-    - 预弃用 `received_call`,下版本删除。基于YeIMUniSDK的收发消息逻辑考虑,接收方不需要返回接收状态(ACK)
-
-## 1.1.0(2022-12-14)
-- 新增 【重要】群组聊天方式
-- 新增 `getConversation` 获取会话详情
-- 修复 部分接口返回异常
-## 1.0.9(2022-12-07)
-- 【YeIM-Uni-SDK】
-    - 修复 `getConversationList` 获取会话列表异常
-    - 更新 开发文档
-## 1.0.8(2022-12-06)
-- 【YeIM-Uni-SDK】
-    - 更新 媒体文件保存路径  
- 
-- 【YeIM-Uni-Server】
-    - 更新 本地仓库文件保存路径 
-    - 修复 多媒体处理第三方库 `javacv` 依赖过大问题
-
-- 【数据库】
-    - 无更新 
-## 1.0.7(2022-12-05)
-- 新增 存储仓库 `本地存储`
-- 修复 重复上线互踢连接异常
-## 1.0.6(2022-12-04)
-- 新增 存储仓库 `阿里云对象存储`
-- 更新 `YeIM-Uni-Server`中 `SpringBoot` 版本 2.7.6 `Spring-WebSocket` 版本 5.3.24
-- 修复已知BUG
-## 1.0.5(2022-12-03)
-- 新增 `disConnect` 断开连接接口
-- 新增 `deleteConversation` 删除指定会话及会话内聊天记录
-- 新增 `revokeMessage` 撤回消息
-- 新增 `clearConversationUnread` 清除指定会话未读数接口,此接口将触发 `PRIVATE_READ_RECEIPT` 事件
-- 新增 监听事件 `PRIVATE_READ_RECEIPT` 私聊会话已读回执
-- 新增 创建消息接口 `extra` 字段,用于各个消息扩展自定义数据
-- 修改 消息ID由前端生成改为服务端生成
-- 修改 撤回字段 `is_recall` 为 `is_revoke`
-- 更新 后端私聊消息数据模型
-## 1.0.4(2022-11-29)
-- 新增查询用户信息接口
-- 修复语音消息接口异常
-- 修复YeIM-Uni-Server消息通知异常
-## 1.0.3(2022-11-27)
-- 1. 新增发送位置消息
-- 2. 新增查询登陆连接状态接口
-- 3. 新增外部上传接口
-- 4. 修复已知BUG
-## 1.0.2(2022-11-26)
-1.新增发送图片消息、语音消息、小视频消息
-2.修复已知BUG
-## 1.0.1(2022-11-21)
-1. 更新readme.md
-2. 修复监听异常
-## 1.0.0(2022-11-20)
-首次发布

Разлика између датотеке није приказан због своје велике величине
+ 0 - 1457
virgo.wzfrontend/workark_wx/uni_modules/wzJun1-YeIM-Uni-SDK/js_sdk/yeim-uni-sdk.min.d.ts


+ 0 - 87
virgo.wzfrontend/workark_wx/uni_modules/wzJun1-YeIM-Uni-SDK/package.json

@@ -1,87 +0,0 @@
-{
-	"id": "wzJun1-YeIM-Uni-SDK",
-	"displayName": "YeIM-Uni-SDK 即时通讯IM SDK 全端通用 完全免费",
-	"version": "1.2.82",
-	"description": "可私有化部署的全开源即时通讯jssdk,仅需植入 SDK 即可轻松集成聊天能力,支持Web、uni-app项目接入使用,满足通信需要。",
-	"keywords": [
-        "IM",
-        "IMSDK",
-        "即时通信",
-        "即时通讯",
-        "聊天"
-    ],
-	"repository": "https://github.com/wzJun1/YeIM-Uni-SDK",
-	"engines": {
-		"HBuilderX": "^3.3.1"
-	},
-	"types": "js_sdk/yeim-uni-sdk.min.d.ts",
-	"dcloudext": {
-		"type": "sdk-js",
-		"sale": {
-			"regular": {
-				"price": "0.00"
-			},
-			"sourcecode": {
-				"price": "0.00"
-			}
-		},
-		"contact": {
-			"qq": ""
-		},
-		"declaration": {
-			"ads": "无",
-			"data": "无",
-			"permissions": "无"
-		},
-		"npmurl": "https://www.npmjs.com/package/yeim-uni-sdk"
-	},
-	"uni_modules": {
-		"dependencies": [],
-		"encrypt": [],
-		"platforms": {
-			"cloud": {
-				"tcb": "y",
-                "aliyun": "y",
-                "alipay": "n"
-			},
-			"client": {
-				"Vue": {
-					"vue2": "y",
-					"vue3": "y"
-				},
-				"App": {
-					"app-vue": "y",
-					"app-nvue": "y"
-				},
-				"H5-mobile": {
-					"Safari": "y",
-					"Android Browser": "y",
-					"微信浏览器(Android)": "y",
-					"QQ浏览器(Android)": "y"
-				},
-				"H5-pc": {
-					"Chrome": "y",
-					"IE": "n",
-					"Edge": "y",
-					"Firefox": "y",
-					"Safari": "y"
-				},
-				"小程序": {
-					"微信": "y",
-					"阿里": "y",
-					"百度": "y",
-					"字节跳动": "y",
-					"QQ": "y",
-					"钉钉": "y",
-					"快手": "y",
-					"飞书": "y",
-					"京东": "y"
-				},
-				"快应用": {
-					"华为": "y",
-					"联盟": "y"
-				}
-			}
-		}
-	}
-}

+ 0 - 35
virgo.wzfrontend/workark_wx/uni_modules/wzJun1-YeIM-Uni-SDK/readme.md

@@ -1,35 +0,0 @@
-<p align="center">
-    <strong><font size="6">YeIM-Uni-SDK</font></strong>
-    <br>
-    <br>
-    <strong><font size="5">即时通讯JSSDK</font></strong> 
-    <br>
-    <br>
-    <a target="_blank" href="https://wzjun1.netlify.app/ye_plugins/sdk/yeimunisdk">查看文档</a>
-    | <a target="_blank" href="https://wzjun1.github.io/ye_plugins/sdk/yeimunisdk">备用文档</a> 
-    <br>
-    <img src="https://wzjun1.netlify.app/ye_plugins/code2.png" width="500"/>
-</p>
-
-`此为社区开源项目,用于学习交流使用,禁止用于非法途径。如作他用所造成的一切法律责任均不由作者承担。` 
-
-- 注:不是聊天项目!不是聊天项目!不是聊天项目!只是SDK,通过使用SDK里的一系列接口可实现聊天,跟环信、融云、腾讯云即时通信等等类似的一种可实现聊天的IMSDK。
-
-`YeIM-Uni-SDK`是可以`私有化部署`的`全开源`即时通讯`UniAPP JSSDK`,仅需集成 SDK 即可轻松实现聊天能力,支持基于[uni-app](https://uniapp.dcloud.net.cn/)的任何项目接入使用,满足通信需要。
-
-支持私聊和群聊,支持发送的消息类型:文字消息、图片消息、语音消息、视频消息、位置消息、自定义消息。
-
-必须搭配`YeIM-Uni-Server`服务端,开箱即用。
-
-## 使用文档
-
-<a target="_blank" href="https://wzjun1.netlify.app/ye_plugins/sdk/yeimunisdk">查看文档</a>
-    | <a target="_blank" href="https://wzjun1.github.io/ye_plugins/sdk/yeimunisdk">备用文档</a> 
-
-## 反馈与共建
-
-- 普通交流QQ群:[391276294](https://qm.qq.com/cgi-bin/qm/qr?k=hEQnVRj3c1B0gDpD2QJrD7UIfWMzCUuM&jump_from=webapi&authKey=kbrD7NHXGIPaiVb2puw+vJeRCIQSXVhIci7eFvFLBH/UjGt+hrdOk4upK731S+1+)
-
-## 演示Demo说明
-
-演示Demo中的原生会话页面组件使用了付费插件,仅支持APP,如果需要看原生会话页面演示,需要把此原生插件打包到自定义基座:[YeIM-Chat-Page 原生聊天会话组件,极致用户体验,高性能聊天页](https://ext.dcloud.net.cn/plugin?id=9998)

+ 3 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/app.json

@@ -41,7 +41,9 @@
         "myDetail/myDetail",
         "organization/organization",
         "download/download",
-        "changeOrganization/changeOrganization"
+        "changeOrganization/changeOrganization",
+        "chatList/chatList",
+        "serveChat/serveChat"
       ]
     }
   ],

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/common/main.js


Разлика између датотеке није приказан због своје велике величине
+ 10 - 8
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/common/vendor.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.wxss


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.wxss


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/model/model.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/my/my.js


+ 2 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/my/my.json

@@ -1,6 +1,7 @@
 {
   "navigationBarTitleText": "我的",
   "usingComponents": {
-    "uv-icon": "/uni_modules/uv-icon/components/uv-icon/uv-icon"
+    "uv-icon": "/uni_modules/uv-icon/components/uv-icon/uv-icon",
+    "uv-badge": "/uni_modules/uv-badge/components/uv-badge/uv-badge"
   }
 }

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/my/my.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/my/my.wxss


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/workark/workark.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/workark/workark.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/workark/workark.wxss


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/chatPage/chat/chat.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.js


+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.json

@@ -2,6 +2,7 @@
   "navigationBarTitleText": "订单列表",
   "usingComponents": {
     "z-paging": "/uni_modules/z-paging/components/z-paging/z-paging",
+    "uv-tabs": "/uni_modules/uv-tabs/components/uv-tabs/uv-tabs",
     "uv-icon": "/uni_modules/uv-icon/components/uv-icon/uv-icon"
   }
 }

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/changeOrganization/changeOrganization.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/chatList/chatList.js


+ 8 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/chatList/chatList.json

@@ -0,0 +1,8 @@
+{
+  "navigationBarTitleText": "聊天列表",
+  "usingComponents": {
+    "uv-empty": "/uni_modules/uv-empty/components/uv-empty/uv-empty",
+    "uv-button": "/uni_modules/uv-button/components/uv-button/uv-button",
+    "uv-badge": "/uni_modules/uv-badge/components/uv-badge/uv-badge"
+  }
+}

Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/chatList/chatList.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/chatList/chatList.wxss


Разлика између датотеке није приказан због своје велике величине
+ 0 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/common/vendor.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/components/uni-mall-head/uni-mall-head.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/components/uni-mall-list/uni-mall-list.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/download/download.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/myDetail/myDetail.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/organization/organization.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/serveChat/serveChat.js


+ 7 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/serveChat/serveChat.json

@@ -0,0 +1,7 @@
+{
+  "navigationBarTitleText": "",
+  "usingComponents": {
+    "uv-safe-bottom": "/uni_modules/uv-safe-bottom/components/uv-safe-bottom/uv-safe-bottom",
+    "uv-icon": "/uni_modules/uv-icon/components/uv-icon/uv-icon"
+  }
+}

Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/serveChat/serveChat.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/myPage/serveChat/serveChat.wxss


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/workarkPage/components/sureOrder.js


Разлика између датотеке није приказан због своје велике величине
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-tabs/components/uv-tabs/uv-tabs.js


+ 6 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-tabs/components/uv-tabs/uv-tabs.json

@@ -0,0 +1,6 @@
+{
+  "usingComponents": {
+    "uv-badge": "/uni_modules/uv-badge/components/uv-badge/uv-badge"
+  },
+  "component": true
+}

Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-tabs/components/uv-tabs/uv-tabs.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-tabs/components/uv-tabs/uv-tabs.wxss


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/login/imageCode.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/message/message.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/model/model.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/workark/workark.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/chatPage/chat/chat.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/chatPage/common/vendor.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/noPermission/noPermission.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/orderDetail/orderDetail.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/orderList/orderList.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/changeOrganization/changeOrganization.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/chatList/chatList.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/components/uni-mall-head/uni-mall-head.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/components/uni-mall-list/uni-mall-list.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/download/download.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/myDetail/myDetail.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/myPage/serveChat/serveChat.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/components/sureOrder.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/coupon/coupon.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/paymentStatus/paymentStatus.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/workarkDetail/workarkDetail.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/kevy-result-page/components/kevy-result-page/kevy-result-page.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-badge/components/uv-badge/uv-badge.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-button/components/uv-button/uv-button.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-checkbox/components/uv-checkbox-group/uv-checkbox-group.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-checkbox/components/uv-checkbox/uv-checkbox.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.js.map


+ 0 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-divider/components/uv-divider/uv-divider.js.map


Неке датотеке нису приказане због велике количине промена