whx 1 月之前
父節點
當前提交
a6151e70e5
共有 37 個文件被更改,包括 691 次插入138 次删除
  1. 0 2
      virgo.wzfrontend/workark_wx/App.vue
  2. 24 12
      virgo.wzfrontend/workark_wx/pages/login/login.vue
  3. 218 22
      virgo.wzfrontend/workark_wx/pages/my/my.vue
  4. 10 0
      virgo.wzfrontend/workark_wx/request/api/login.js
  5. 25 3
      virgo.wzfrontend/workark_wx/request/api/workark.js
  6. 26 8
      virgo.wzfrontend/workark_wx/subPages/workarkPage/surOrder/surOrder.vue
  7. 1 1
      virgo.wzfrontend/workark_wx/subPages/workarkPage/workarkDetail/workarkDetail.vue
  8. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  9. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  10. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/login/imageCode.js.map
  11. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  12. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  13. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/workark/workark.js.map
  14. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/coupon/coupon.js.map
  15. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/surOrder/surOrder.js.map
  16. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/workarkDetail/workarkDetail.js.map
  17. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-button/components/uv-button/uv-button.js.map
  18. 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
  19. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-checkbox/components/uv-checkbox/uv-checkbox.js.map
  20. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-divider/components/uv-divider/uv-divider.js.map
  21. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-empty/components/uv-empty/uv-empty.js.map
  22. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-icon/components/uv-icon/uv-icon.js.map
  23. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-image/components/uv-image/uv-image.js.map
  24. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-line/components/uv-line/uv-line.js.map
  25. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-link/components/uv-link/uv-link.js.map
  26. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-loading-icon/components/uv-loading-icon/uv-loading-icon.js.map
  27. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-swiper/components/uv-swiper-indicator/uv-swiper-indicator.js.map
  28. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-swiper/components/uv-swiper/uv-swiper.js.map
  29. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-text/components/uv-text/uv-text.js.map
  30. 0 2
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/common/main.js
  31. 59 24
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/common/vendor.js
  32. 34 20
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/pages/login/login.js
  33. 108 5
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/pages/my/my.js
  34. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/pages/my/my.wxml
  35. 110 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/pages/my/my.wxss
  36. 52 15
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/subPages/workarkPage/surOrder/surOrder.js
  37. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/subPages/workarkPage/workarkDetail/workarkDetail.wxml

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

@@ -8,13 +8,11 @@
 			// 尝试从本地存储中恢复数据
 			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(this.$store.getters.user.userId);
 		},
 		// 在页面的onHide生命周期中
 		onHide() {
 			// 保存状态到本地存储
 			uni.setStorageSync('vuex_state', this.$store.state);
-			uni.removeStorageSync('chatToken');
 		}
 	}
 </script>

+ 24 - 12
virgo.wzfrontend/workark_wx/pages/login/login.vue

@@ -73,7 +73,8 @@
 		login,
 		getImgCode,
 		sendPhoneCode,
-		getUserInfo
+		getUserInfo,
+		getOpenId
 	} from '@/request/api/login'
 	import imageCode from "@/components/login/imageCode.vue";
 	import {
@@ -130,17 +131,9 @@
 			},
 			async wxPhoneLogin(e) { //微信手机号一键登录
 				if (!e.detail.code) return;
-				uni.login({
-					provider: 'weixin',
-					success: loginRes => {
-						let postData = {
-							pCode: e.detail.code
-						};
-						postData['code'] = loginRes.code;
-						this.login(postData);
-					}
+				this.loginFunction(postData = {
+					pCode: e.detail.code
 				})
-
 			},
 			loginSubmit() {
 				if (!isPhoneNumber(this.form.phone)) return this.$toast('请输入正确的手机号');
@@ -153,19 +146,38 @@
 					phone: this.form.phone,
 					password: this.form.password
 				};
+				this.loginFunction(postData);
+			},
+			loginFunction(postData) {
+				// #ifdef MP-WEIXIN
+				uni.login({
+					provider: 'weixin',
+					success: loginRes => {
+						if (postData.pCode) postData['code'] = loginRes.code;
+						this.login(postData, loginRes.code);
+					}
+				})
+				// #endif
+				// #ifndef MP-WEIXIN
 				this.login(postData);
+				// #endif
 			},
-			async login(postData) {
+			async login(postData, wxCode) {
 				uni.showLoading({
 					title: '登录中...'
 				})
 				let loginData = await login(postData);
 				if (!loginData.state) return;
 				uni.setStorageSync('token', loginData.data.token);
+				if (wxCode) {
+					let wxData = await getOpenId(wxCode);
+					if (wxData.state) uni.setStorageSync('openId', wxData.data.openid);
+				}
 				let userData = await getUserInfo();
 				if (!userData.state) return;
 				this.$store.dispatch('app/changeOrganization', userData.data.workarkOrganization);
 				this.$store.dispatch('app/changeUser', userData.data);
+				uni.setStorageSync('vuex_state', this.$store.state);
 				uni.hideLoading();
 				this.$toast('登录成功');
 				uni.navigateBack();

+ 218 - 22
virgo.wzfrontend/workark_wx/pages/my/my.vue

@@ -1,22 +1,218 @@
-<template>
-	<view>
-		
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				
-			}
-		},
-		methods: {
-			
-		}
-	}
-</script>
-
-<style>
-
-</style>
+<template>
+	<view class="my-box">
+		<view class="my-content">
+			<view class="my-top"></view>
+			<image class="my-avatar" @tap="detail" :src="user.portrait" mode="aspectFill"></image>
+			<view class="name" @click="$navigateTo('/pageMy/myDetail/myDetail')">{{user.userName || '登录/注册'}}</view>
+			<view class="organization" v-if="user.organizedName">{{user.organizedName}}</view>
+			<view class="my-list">
+				<view class="my-list-box">
+					<view class="my-item" @click="$navigateTo('/pageMy/organization/organization')">
+						<view class="my-icon bg3">
+							<uni-icons custom-prefix="iconfont" type="icon-wodegongsi-gaoliang" color="#fff" size="22">
+							</uni-icons>
+						</view>
+						<view class="item-content">
+							我的公司
+						</view>
+						<view class="my-forward">
+							<uni-icons type="forward" size="18" color="#c1c0c8"></uni-icons>
+						</view>
+					</view>
+					<view class="my-item" @click="$navigateTo('/pageMy/download/download')">
+						<view class="my-icon bg5">
+							<uni-icons custom-prefix="iconfont" type="icon-wodexiazaizhongxin" color="#fff" size="18">
+							</uni-icons>
+						</view>
+						<view class="item-content">
+							我的下载
+						</view>
+						<view class="my-forward">
+							<uni-icons type="forward" size="18" color="#c1c0c8"></uni-icons>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				fansCount: {
+					attentionCount: 0,
+					fansCount: 0,
+					roomCount: 0
+				},
+				user: {}
+			}
+		},
+		onShow() {
+			if (!uni.getStorageSync('token')) {
+				this.user = {};
+				this.fansCount = {
+					attentionCount: 0,
+					fansCount: 0,
+					roomCount: 0
+				}
+			} else {
+				this.user = this.$store.getters.user;
+				this.user.organizedName = this.$store.getters.organization && this.$store.getters.organization.name;
+			}
+		},
+		methods: {
+			init() {
+				getMyCount().then(res => {
+					if (res.code === 200) {
+						this.fansCount = res.data;
+					}
+				})
+				getUserInfoById(this.user.userId).then(res => {
+					if (res.code === 200) {
+						this.user = res.data;
+						this.user['userName'] = res.data.name;
+						this.user['userId'] = res.data.id;
+						this.user.organizedName = res.data.mgrOrganization && res.data.mgrOrganization.name;
+						this.$store.dispatch('app/changeUser', res.data);
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.my-box {
+		height: 100vh;
+		background: #fff;
+		overflow-y: auto;
+
+		.my-content {
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			padding-bottom: 80rpx;
+		}
+
+		.my-top {
+			height: 260rpx;
+			background-image: url('https://images.unsplash.com/photo-1558591710-4b4a1ae0f04d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwyMDUzMDJ8MHwxfHNlYXJjaHw1fHxhYnN0cmFjdHxlbnwxfHx8fDE2NTI4OTYzNTU&ixlib=rb-1.2.1&q=80&w=1080');
+			background-position: center center;
+			background-size: cover;
+			background-repeat: no-repeat;
+			width: 100%;
+		}
+
+		.my-avatar {
+			width: 200rpx;
+			height: 200rpx;
+			border-radius: 50%;
+			margin-top: -100rpx;
+			border: 6rpx solid #fff;
+			background: #eee;
+		}
+
+		.name {
+			font-size: 20px;
+			font-weight: 700;
+			margin: 10rpx 0;
+		}
+
+		.organization {
+			font-weight: 300;
+		}
+
+		.my-tab {
+			width: 100%;
+			padding: 0 30rpx;
+			box-sizing: border-box;
+			margin: 40rpx 0;
+
+			.tab-box {
+				height: 160rpx;
+				border-radius: 24rpx;
+				box-shadow: 1px 1px 12px rgba(164, 164, 164, 0.25);
+				display: flex;
+				align-items: center;
+			}
+
+			.tab-item {
+				flex: 1;
+				text-align: center;
+			}
+
+			.tab-number {
+				font-size: 40rpx;
+				font-weight: 600;
+			}
+
+			.tab-text {
+				font-size: 24rpx;
+				font-weight: 300;
+				margin-top: 10rpx;
+			}
+		}
+
+		.my-list {
+			width: 100%;
+			padding: 0 30rpx;
+			box-sizing: border-box;
+
+			.my-list-box {
+				border-radius: 24rpx;
+				box-shadow: 1px 1px 12px rgba(164, 164, 164, 0.25);
+				overflow: hidden;
+			}
+
+			.my-item {
+				display: flex;
+				align-items: center;
+				padding: 20rpx 30rpx;
+			}
+
+			.my-icon {
+				width: 80rpx;
+				height: 80rpx;
+				border-radius: 16rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				margin-right: 20rpx;
+				background: #c1c0c8;
+
+				&.bg1 {
+					background: #88d498;
+				}
+
+				&.bg2 {
+					background: #ffb997;
+				}
+
+				&.bg3 {
+					background: #7ad9ff;
+				}
+
+				&.bg4 {
+					background: #9ac0cd;
+				}
+
+				&.bg5 {
+					background: #40e0d0;
+				}
+			}
+
+			.my-forward {
+				height: 40rpx;
+			}
+
+			.item-content {
+				flex: 1;
+				width: 0;
+				overflow: hidden;
+				font-weight: 700;
+			}
+		}
+	}
+</style>

+ 10 - 0
virgo.wzfrontend/workark_wx/request/api/login.js

@@ -13,6 +13,16 @@ export function login(data) {
 		data: data
 	})
 }
+/* 
+ * 获取微信openId
+ * 
+ */
+export function getOpenId(code) {
+	return request({
+		url: `/manager/getOpenId/${code}`,
+		method: 'get'
+	})
+}
 /* 
  * 获取图片验证码
  * 

+ 25 - 3
virgo.wzfrontend/workark_wx/request/api/workark.js

@@ -34,7 +34,7 @@ export function getCustomerServeDetail(id) {
 		url: `/manager/customer/${id}`,
 		method: 'get'
 	})
-}
+}
 /* 
  * 通过id获取服务详情
  * 
@@ -45,7 +45,7 @@ export function getServeById(id) {
 		url: `/api/workarkProduct/details/${id}`,
 		method: 'get',
 	})
-}
+}
 /* 
  * 计算价格
  * 
@@ -56,7 +56,7 @@ export function countPriceAPI(productId, productCouponIds) {
 		url: `/api/workarkOrderInfo/calculatePrice/${productId}/${productCouponIds}`,
 		method: 'get'
 	})
-}
+}
 /* 
  * 通过条件获取优惠券列表
  * 
@@ -68,4 +68,26 @@ export function getCouponListByQuery(data) {
 		method: 'post',
 		data: data
 	})
+}
+/* 
+ * 创建订单
+ * 
+ * 
+ */
+export function createOrder(productId, organizationId, productCouponIds) {
+	return request({
+		url: `/api/workarkOrderInfo/create/${productId}/${organizationId}/${productCouponIds}`,
+		method: 'get'
+	})
+}
+/* 
+ * 获取小程序支付参数
+ * 
+ * 
+ */
+export function getWxPay(orderNo, openId) {
+	return request({
+		url: `/api/workarkWxPay/jsapi/${orderNo}/${openId}`,
+		method: 'post'
+	})
 }

+ 26 - 8
virgo.wzfrontend/workark_wx/subPages/workarkPage/surOrder/surOrder.vue

@@ -52,7 +52,9 @@
 <script>
 	import {
 		getServeById,
-		countPriceAPI
+		countPriceAPI,
+		createOrder,
+		getWxPay
 	} from '@/request/api/workark.js'
 	export default {
 		data() {
@@ -66,7 +68,8 @@
 					totalFee: 0
 				},
 				isCount: false,
-				couponChecked: []
+				couponChecked: [],
+				order: {}
 			};
 		},
 		onLoad(body) {
@@ -109,14 +112,18 @@
 				this.couponChecked = data;
 				this.countPrice();
 			},
-			payment() {
+			async payment() {
+				uni.showLoading({
+					title: '订单确认中...'
+				})
+				let wxConfig = await getWxPay('ORDER_20250516154349168', uni.getStorageSync('openId'));
 				uni.requestPayment({
 					provider: 'wxpay',
-					timeStamp: String(Date.now()),
-					nonceStr: 'BOSSHAND',
-					package: 'prepay_id=wx3c006d364161d240',
-					signType: 'MD5',
-					paySign: '',
+					timeStamp: wxConfig.data.timeStamp,
+					nonceStr: wxConfig.data.nonceStr,
+					package: wxConfig.data.prepayId,
+					signType: wxConfig.data.signType,
+					paySign: wxConfig.data.paySign,
 					success: function(res) {
 						console.log('success:' + JSON.stringify(res));
 					},
@@ -124,6 +131,17 @@
 						console.log('fail:' + JSON.stringify(err));
 					}
 				});
+				console.log(wxConfig);
+				uni.hideLoading();
+				return;
+				let couponIds = this.couponChecked.map(node => node.id).join(',') || -1;
+				let orderData = await createOrder(this.orderData.id, this.$store.getters.organization.id, couponIds);
+				if (orderData.state) {
+					let wxConfig = await getWxPay(orderData.data.orderNo, uni.getStorageSync('openId'));
+					console.log(wxConfig);
+
+					uni.hideLoading();
+				}
 			}
 		},
 	}

+ 1 - 1
virgo.wzfrontend/workark_wx/subPages/workarkPage/workarkDetail/workarkDetail.vue

@@ -32,7 +32,7 @@
 		<uv-divider text="产品详情" :hairline="true" textSize="28"></uv-divider>
 		<view class="workark-detail-list">
 			<view class="home-detail-img" v-for="(item,index) in detailedImage" :key="item.id">
-				<uv-image :src="item.url" width="100%" mode="widthFix"></uv-image>
+				<uv-image :src="item.url || ''" width="100%" mode="widthFix"></uv-image>
 			</view>
 		</view>
 		<view class="hui-button-box">

File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/login/imageCode.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/workark/workark.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/coupon/coupon.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/surOrder/surOrder.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/workarkDetail/workarkDetail.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-button/components/uv-button/uv-button.js.map


File diff suppressed because it is too large
+ 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


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-checkbox/components/uv-checkbox/uv-checkbox.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-divider/components/uv-divider/uv-divider.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-empty/components/uv-empty/uv-empty.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-icon/components/uv-icon/uv-icon.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-image/components/uv-image/uv-image.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-line/components/uv-line/uv-line.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-link/components/uv-link/uv-link.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-loading-icon/components/uv-loading-icon/uv-loading-icon.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-swiper/components/uv-swiper-indicator/uv-swiper-indicator.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-swiper/components/uv-swiper/uv-swiper.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-text/components/uv-text/uv-text.js.map


+ 0 - 2
virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/common/main.js

@@ -131,13 +131,11 @@ var _default = {
     // 尝试从本地存储中恢复数据
     var 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(this.$store.getters.user.userId);
   },
   // 在页面的onHide生命周期中
   onHide: function onHide() {
     // 保存状态到本地存储
     uni.setStorageSync('vuex_state', this.$store.state);
-    uni.removeStorageSync('chatToken');
   }
 };
 exports.default = _default;

+ 59 - 24
virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -16877,16 +16877,18 @@ Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.countPriceAPI = countPriceAPI;
+exports.createOrder = createOrder;
 exports.getCouponListByQuery = getCouponListByQuery;
 exports.getCustomerServeDetail = getCustomerServeDetail;
 exports.getServeById = getServeById;
 exports.getServeListByQuery = getServeListByQuery;
 exports.getServeProductList = getServeProductList;
+exports.getWxPay = getWxPay;
 var _request = __webpack_require__(/*! @/request/request.js */ 80);
-/* 
- * 获取产品层级
- * 
- * 
+/* 
+ * 获取产品层级
+ * 
+ * 
  */
 function getServeProductList(id) {
   return (0, _request.request)({
@@ -16894,10 +16896,10 @@ function getServeProductList(id) {
     method: 'get'
   });
 }
-/* 
- * 通过条件获取服务列表
- * 
- * 
+/* 
+ * 通过条件获取服务列表
+ * 
+ * 
  */
 function getServeListByQuery(data) {
   return (0, _request.request)({
@@ -16906,10 +16908,10 @@ function getServeListByQuery(data) {
     data: data
   });
 }
-/* 
- * 获取客服详情
- * 
- * 
+/* 
+ * 获取客服详情
+ * 
+ * 
  */
 function getCustomerServeDetail(id) {
   return (0, _request.request)({
@@ -16917,10 +16919,10 @@ function getCustomerServeDetail(id) {
     method: 'get'
   });
 }
-/* 
- * 通过id获取服务详情
- * 
- * 
+/* 
+ * 通过id获取服务详情
+ * 
+ * 
  */
 function getServeById(id) {
   return (0, _request.request)({
@@ -16928,10 +16930,10 @@ function getServeById(id) {
     method: 'get'
   });
 }
-/* 
- * 计算价格
- * 
- * 
+/* 
+ * 计算价格
+ * 
+ * 
  */
 function countPriceAPI(productId, productCouponIds) {
   return (0, _request.request)({
@@ -16939,10 +16941,10 @@ function countPriceAPI(productId, productCouponIds) {
     method: 'get'
   });
 }
-/* 
- * 通过条件获取优惠券列表
- * 
- * 
+/* 
+ * 通过条件获取优惠券列表
+ * 
+ * 
  */
 function getCouponListByQuery(data) {
   return (0, _request.request)({
@@ -16951,6 +16953,28 @@ function getCouponListByQuery(data) {
     data: data
   });
 }
+/* 
+ * 创建订单
+ * 
+ * 
+ */
+function createOrder(productId, organizationId, productCouponIds) {
+  return (0, _request.request)({
+    url: "/api/workarkOrderInfo/create/".concat(productId, "/").concat(organizationId, "/").concat(productCouponIds),
+    method: 'get'
+  });
+}
+/* 
+ * 获取小程序支付参数
+ * 
+ * 
+ */
+function getWxPay(orderNo, openId) {
+  return (0, _request.request)({
+    url: "/api/workarkWxPay/jsapi/".concat(orderNo, "/").concat(openId),
+    method: 'post'
+  });
+}
 
 /***/ }),
 /* 80 */
@@ -17100,6 +17124,7 @@ Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.getImgCode = getImgCode;
+exports.getOpenId = getOpenId;
 exports.getUserInfo = getUserInfo;
 exports.login = login;
 exports.sendPhoneCode = sendPhoneCode;
@@ -17115,6 +17140,16 @@ function login(data) {
     data: data
   });
 }
+/* 
+ * 获取微信openId
+ * 
+ */
+function getOpenId(code) {
+  return (0, _request.request)({
+    url: "/manager/getOpenId/".concat(code),
+    method: 'get'
+  });
+}
 /* 
  * 获取图片验证码
  * 

+ 34 - 20
virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/pages/login/login.js

@@ -387,15 +387,8 @@ var _default = {
                 }
                 return _context3.abrupt("return");
               case 2:
-                uni.login({
-                  provider: 'weixin',
-                  success: function success(loginRes) {
-                    var postData = {
-                      pCode: e.detail.code
-                    };
-                    postData['code'] = loginRes.code;
-                    _this3.login(postData);
-                  }
+                _this3.loginFunction(postData = {
+                  pCode: e.detail.code
                 });
               case 3:
               case "end":
@@ -416,12 +409,22 @@ var _default = {
         phone: this.form.phone,
         password: this.form.password
       };
-      this.login(postData);
+      this.loginFunction(postData);
     },
-    login: function login(postData) {
+    loginFunction: function loginFunction(postData) {
       var _this4 = this;
+      uni.login({
+        provider: 'weixin',
+        success: function success(loginRes) {
+          if (postData.pCode) postData['code'] = loginRes.code;
+          _this4.login(postData, loginRes.code);
+        }
+      });
+    },
+    login: function login(postData, wxCode) {
+      var _this5 = this;
       return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
-        var loginData, userData;
+        var loginData, wxData, userData;
         return _regenerator.default.wrap(function _callee4$(_context4) {
           while (1) {
             switch (_context4.prev = _context4.next) {
@@ -440,22 +443,33 @@ var _default = {
                 return _context4.abrupt("return");
               case 6:
                 uni.setStorageSync('token', loginData.data.token);
-                _context4.next = 9;
+                if (!wxCode) {
+                  _context4.next = 12;
+                  break;
+                }
+                _context4.next = 10;
+                return (0, _login2.getOpenId)(wxCode);
+              case 10:
+                wxData = _context4.sent;
+                if (wxData.state) uni.setStorageSync('openId', wxData.data.openid);
+              case 12:
+                _context4.next = 14;
                 return (0, _login2.getUserInfo)();
-              case 9:
+              case 14:
                 userData = _context4.sent;
                 if (userData.state) {
-                  _context4.next = 12;
+                  _context4.next = 17;
                   break;
                 }
                 return _context4.abrupt("return");
-              case 12:
-                _this4.$store.dispatch('app/changeOrganization', userData.data.workarkOrganization);
-                _this4.$store.dispatch('app/changeUser', userData.data);
+              case 17:
+                _this5.$store.dispatch('app/changeOrganization', userData.data.workarkOrganization);
+                _this5.$store.dispatch('app/changeUser', userData.data);
+                uni.setStorageSync('vuex_state', _this5.$store.state);
                 uni.hideLoading();
-                _this4.$toast('登录成功');
+                _this5.$toast('登录成功');
                 uni.navigateBack();
-              case 17:
+              case 23:
               case "end":
                 return _context4.stop();
             }

File diff suppressed because it is too large
+ 108 - 5
virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/pages/my/my.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/pages/my/my.wxml


+ 110 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/pages/my/my.wxss

@@ -0,0 +1,110 @@
+.my-box {
+  height: 100vh;
+  background: #fff;
+  overflow-y: auto;
+}
+.my-box .my-content {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  padding-bottom: 80rpx;
+}
+.my-box .my-top {
+  height: 260rpx;
+  background-image: url("https://images.unsplash.com/photo-1558591710-4b4a1ae0f04d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwyMDUzMDJ8MHwxfHNlYXJjaHw1fHxhYnN0cmFjdHxlbnwxfHx8fDE2NTI4OTYzNTU&ixlib=rb-1.2.1&q=80&w=1080");
+  background-position: center center;
+  background-size: cover;
+  background-repeat: no-repeat;
+  width: 100%;
+}
+.my-box .my-avatar {
+  width: 200rpx;
+  height: 200rpx;
+  border-radius: 50%;
+  margin-top: -100rpx;
+  border: 6rpx solid #fff;
+  background: #eee;
+}
+.my-box .name {
+  font-size: 20px;
+  font-weight: 700;
+  margin: 10rpx 0;
+}
+.my-box .organization {
+  font-weight: 300;
+}
+.my-box .my-tab {
+  width: 100%;
+  padding: 0 30rpx;
+  box-sizing: border-box;
+  margin: 40rpx 0;
+}
+.my-box .my-tab .tab-box {
+  height: 160rpx;
+  border-radius: 24rpx;
+  box-shadow: 1px 1px 12px rgba(164, 164, 164, 0.25);
+  display: flex;
+  align-items: center;
+}
+.my-box .my-tab .tab-item {
+  flex: 1;
+  text-align: center;
+}
+.my-box .my-tab .tab-number {
+  font-size: 40rpx;
+  font-weight: 600;
+}
+.my-box .my-tab .tab-text {
+  font-size: 24rpx;
+  font-weight: 300;
+  margin-top: 10rpx;
+}
+.my-box .my-list {
+  width: 100%;
+  padding: 0 30rpx;
+  box-sizing: border-box;
+}
+.my-box .my-list .my-list-box {
+  border-radius: 24rpx;
+  box-shadow: 1px 1px 12px rgba(164, 164, 164, 0.25);
+  overflow: hidden;
+}
+.my-box .my-list .my-item {
+  display: flex;
+  align-items: center;
+  padding: 20rpx 30rpx;
+}
+.my-box .my-list .my-icon {
+  width: 80rpx;
+  height: 80rpx;
+  border-radius: 16rpx;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-right: 20rpx;
+  background: #c1c0c8;
+}
+.my-box .my-list .my-icon.bg1 {
+  background: #88d498;
+}
+.my-box .my-list .my-icon.bg2 {
+  background: #ffb997;
+}
+.my-box .my-list .my-icon.bg3 {
+  background: #7ad9ff;
+}
+.my-box .my-list .my-icon.bg4 {
+  background: #9ac0cd;
+}
+.my-box .my-list .my-icon.bg5 {
+  background: #40e0d0;
+}
+.my-box .my-list .my-forward {
+  height: 40rpx;
+}
+.my-box .my-list .item-content {
+  flex: 1;
+  width: 0;
+  overflow: hidden;
+  font-weight: 700;
+}

+ 52 - 15
virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/subPages/workarkPage/surOrder/surOrder.js

@@ -249,7 +249,8 @@ var _default = {
         totalFee: 0
       },
       isCount: false,
-      couponChecked: []
+      couponChecked: [],
+      order: {}
     };
   },
   onLoad: function onLoad(body) {
@@ -339,20 +340,56 @@ var _default = {
       this.countPrice();
     },
     payment: function payment() {
-      uni.requestPayment({
-        provider: 'wxpay',
-        timeStamp: String(Date.now()),
-        nonceStr: 'BOSSHAND',
-        package: 'prepay_id=wx3c006d364161d240',
-        signType: 'MD5',
-        paySign: '',
-        success: function success(res) {
-          console.log('success:' + JSON.stringify(res));
-        },
-        fail: function fail(err) {
-          console.log('fail:' + JSON.stringify(err));
-        }
-      });
+      var _this3 = this;
+      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
+        var wxConfig, couponIds, orderData, _wxConfig;
+        return _regenerator.default.wrap(function _callee3$(_context3) {
+          while (1) {
+            switch (_context3.prev = _context3.next) {
+              case 0:
+                uni.showLoading({
+                  title: '订单确认中...'
+                });
+                _context3.next = 3;
+                return (0, _workark.getWxPay)('ORDER_20250516154349168', uni.getStorageSync('openId'));
+              case 3:
+                wxConfig = _context3.sent;
+                uni.requestPayment({
+                  provider: 'wxpay',
+                  timeStamp: wxConfig.data.timeStamp,
+                  nonceStr: wxConfig.data.nonceStr,
+                  package: wxConfig.data.prepayId,
+                  signType: wxConfig.data.signType,
+                  paySign: wxConfig.data.paySign,
+                  success: function success(res) {
+                    console.log('success:' + JSON.stringify(res));
+                  },
+                  fail: function fail(err) {
+                    console.log('fail:' + JSON.stringify(err));
+                  }
+                });
+                console.log(wxConfig);
+                uni.hideLoading();
+                return _context3.abrupt("return");
+              case 11:
+                orderData = _context3.sent;
+                if (!orderData.state) {
+                  _context3.next = 18;
+                  break;
+                }
+                _context3.next = 15;
+                return (0, _workark.getWxPay)(orderData.data.orderNo, uni.getStorageSync('openId'));
+              case 15:
+                _wxConfig = _context3.sent;
+                console.log(_wxConfig);
+                uni.hideLoading();
+              case 18:
+              case "end":
+                return _context3.stop();
+            }
+          }
+        }, _callee3);
+      }))();
     }
   }
 };

File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/mp-weixin/subPages/workarkPage/workarkDetail/workarkDetail.wxml