3 Incheckningar 712a0c4f63 ... d62aa7a5ec

Upphovsman SHA1 Meddelande Datum
  YH_0525 d62aa7a5ec 红娘工作台积分商城 1 månad sedan
  YH_0525 dd1f0a6476 Merge remote-tracking branch 'origin/test_dev' into test 1 månad sedan
  YH_0525 475007858d 红娘工作台积分商城 1 månad sedan

+ 1 - 0
.gitignore

@@ -17,3 +17,4 @@ target/
 
 # 忽略系统临时文件
 Thumbs.db
+-e "/target/\n/**/target/\n.kiro/\ngit/\nLiangZhiYUMao/static/" 

+ 5 - 6
LiangZhiYUMao/pages/index/index.vue

@@ -249,11 +249,7 @@
 		data() {
 			return {
 				// 用户信息
-				userInfo: {
-					nickname: '小张',
-					userId: null,
-					isMatchmaker: '1' // 测试用,实际从后端获取
-				},
+				userInfo: {},
 				matchCount: 3,
 
 				// 轮播图数据
@@ -340,6 +336,8 @@
 		},
 		onShow() {
 			console.log('📱 页面onShow触发')
+			// 页面显示时重新加载用户信息(确保登录后能更新)
+			this.loadUserInfo()
 			// 页面显示时检查是否为红娘
 			this.checkMatchmakerStatus()
 		},
@@ -391,8 +389,9 @@
 						return
 					}
 					
+					// 获取UserSig时使用原始imUserId(包含m_前缀)
 					const sigRes = await uni.request({
-						url: `http://localhost:8083/api/im/getUserSig?userId=${imUserId}`,
+						url: `http://localhost:8083/api/im/getUserSig?userId=${encodeURIComponent(imUserId)}`,
 						method: 'GET'
 					})
 					

+ 41 - 3
LiangZhiYUMao/pages/matchmaker-workbench/index.vue

@@ -305,6 +305,40 @@ export default {
 			.settings-icon {
 				background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23999"><path d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/></svg>');
 			}
+
+			/* 切换工作台按钮 */
+			.exit-workbench-btn {
+				width: 60rpx;
+				height: 44rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				background: linear-gradient(135deg, #9C27B0 0%, #E91E63 100%);
+				border-radius: 22rpx;
+				padding: 8rpx 12rpx;
+
+				.arrow-container {
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					gap: 4rpx;
+
+					.arrow {
+						width: 0;
+						height: 0;
+						border-left: 8rpx solid transparent;
+						border-right: 8rpx solid transparent;
+
+						&.arrow-top {
+							border-bottom: 8rpx solid #FFFFFF;
+						}
+
+						&.arrow-bottom {
+							border-top: 8rpx solid #FFFFFF;
+						}
+					}
+				}
+			}
 		}
 	}
 
@@ -442,7 +476,8 @@ export default {
 		display: flex;
 		align-items: center;
 		justify-content: space-between;
-		padding: 25rpx 30rpx;
+		padding: 35rpx 30rpx;
+		min-height: 80rpx;
 		background: #FFFFFF;
 		border-radius: 20rpx;
 		margin-bottom: 20rpx;
@@ -539,12 +574,14 @@ export default {
 	/* 本周最佳红娘 */
 	.best-matchmaker-section {
 		flex: 1;
+		min-height: 400rpx;
 		padding: 30rpx;
 		background: #FFFFFF;
 		border-radius: 20rpx;
 		box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
 		display: flex;
 		flex-direction: column;
+		margin-bottom: 20rpx;
 
 		.section-header {
 			display: flex;
@@ -575,15 +612,16 @@ export default {
 			flex: 1;
 			display: flex;
 			flex-direction: column;
-			justify-content: space-between;
+			gap: 20rpx;
 
 			.best-matchmaker-item {
 				display: flex;
 				align-items: center;
 				gap: 20rpx;
-				padding: 25rpx 20rpx;
+				padding: 30rpx 25rpx;
 				background: #FAFAFA;
 				border-radius: 15rpx;
+				min-height: 100rpx;
 
 				.rank-number {
 					width: 45rpx;

+ 2 - 1
gateway/src/main/java/com/zhentao/filter/GatewayRoutes.java

@@ -7,8 +7,9 @@ import org.springframework.context.annotation.Configuration;
 
 /**
  * 网关路由配置
+ * 注意:路由已迁移到 application.yml,此类暂时禁用避免冲突
  */
-@Configuration
+// @Configuration  // 暂时禁用,使用 application.yml 中的路由配置
 public class GatewayRoutes {
 
     @Bean

+ 2 - 0
gateway/src/main/resources/application.yml

@@ -53,6 +53,8 @@ spring:
             - Path=/api/im/**
           filters:
             - StripPrefix=0
+          metadata:
+            response-timeout: 5000
         
         # 好友服务路由(拉黑等功能)
         - id: chatfriend-api-route

+ 3 - 3
service/Essential/src/main/resources/application.yml

@@ -67,9 +67,9 @@ mybatis-plus:
 # MinIO配置
 minio:
   endpoint: http://115.190.125.125:9000
-  accessKey: minioadmin
-  secretKey: minioadmin
-  bucketName: user-feedback
+  access-key: minioadmin
+  secret-key: minioadmin
+  bucket-name: user-feedback
 
 # 头像本地存储配置
 avatar:

+ 1 - 0
service/admin/src/main/java/com/zhentao/entity/Matchmaker.java

@@ -36,6 +36,7 @@ public class Matchmaker implements Serializable {
     private String avatarUrl;
     private Integer matchmakerType;
     private Integer level;
+    private Integer points;  // 积分
     private Integer successCouples;
     private Integer provinceId;
     private Integer cityId;

+ 1 - 0
service/login/src/main/java/com/zhentao/pojo/Users.java

@@ -116,6 +116,7 @@ public class Users implements Serializable {
     /**
      * 是否为红娘   0-否 1-是
      */
+    @TableField("is_matchmaker")
     private Integer isMatchmaker;
 
     @TableField(exist = false)

+ 2 - 2
service/websocket/src/main/java/com/zhentao/controller/TIMController.java

@@ -30,10 +30,10 @@ public class TIMController {
     
     /**
      * 获取 UserSig
-     * GET /api/im/getUserSig?userId=1
+     * GET /api/im/getUserSig?userId=1 或 userId=m_21
      */
     @GetMapping("/getUserSig")
-    public Map<String, Object> getUserSig(@RequestParam String userId) {
+    public Map<String, Object> getUserSig(@RequestParam(name = "userId") String userId) {
         Map<String, Object> result = new HashMap<>();
         
         try {

+ 3 - 3
service/websocket/src/main/resources/application.yml

@@ -81,6 +81,6 @@ tim:
 # MinIO 对象存储配置
 minio:
   endpoint: http://115.190.125.125:9000
-  accessKey: minioadmin
-  secretKey: minioadmin
-  bucketName: minion-voice-files
+  access-key: minioadmin
+  secret-key: minioadmin
+  bucket-name: minion-voice-files