mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	增加检查中国特殊区域的函数
This commit is contained in:
		@@ -39,3 +39,20 @@ func CheckRegionProvinceIsInChinaMainland(regionProvinceId RegionProvinceId) boo
 | 
				
			|||||||
		regionProvinceId != RegionChinaProvinceIdMO &&
 | 
							regionProvinceId != RegionChinaProvinceIdMO &&
 | 
				
			||||||
		regionProvinceId != RegionChinaProvinceIdTW
 | 
							regionProvinceId != RegionChinaProvinceIdTW
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func MatchUserRegion(userCountryId int64, userProvinceId int64, regionId int64) bool {
 | 
				
			||||||
 | 
						if userCountryId == RegionChinaId {
 | 
				
			||||||
 | 
							switch regionId {
 | 
				
			||||||
 | 
							case RegionChinaIdMainland: // china.mainland
 | 
				
			||||||
 | 
								return CheckRegionProvinceIsInChinaMainland(userProvinceId)
 | 
				
			||||||
 | 
							case RegionChinaIdHK: // china.hk
 | 
				
			||||||
 | 
								return userProvinceId == RegionChinaProvinceIdHK
 | 
				
			||||||
 | 
							case RegionChinaIdMO: // china.mo
 | 
				
			||||||
 | 
								return userProvinceId == RegionChinaProvinceIdMO
 | 
				
			||||||
 | 
							case RegionChinaIdTW: // china.tw
 | 
				
			||||||
 | 
								return userProvinceId == RegionChinaProvinceIdTW
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return userCountryId == regionId
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								pkg/serverconfigs/regionconfigs/china_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								pkg/serverconfigs/regionconfigs/china_test.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package regionconfigs_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/regionconfigs"
 | 
				
			||||||
 | 
						"github.com/iwind/TeaGo/assert"
 | 
				
			||||||
 | 
						"testing"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestMatchUserRegion(t *testing.T) {
 | 
				
			||||||
 | 
						var a = assert.NewAssertion(t)
 | 
				
			||||||
 | 
						a.IsTrue(regionconfigs.MatchUserRegion(regionconfigs.RegionChinaId, 1, 1))
 | 
				
			||||||
 | 
						a.IsTrue(regionconfigs.MatchUserRegion(regionconfigs.RegionChinaId, 1, regionconfigs.RegionChinaIdMainland))
 | 
				
			||||||
 | 
						a.IsTrue(regionconfigs.MatchUserRegion(regionconfigs.RegionChinaId, regionconfigs.RegionChinaProvinceIdHK, regionconfigs.RegionChinaIdHK))
 | 
				
			||||||
 | 
						a.IsTrue(regionconfigs.MatchUserRegion(regionconfigs.RegionChinaId, regionconfigs.RegionChinaProvinceIdMO, regionconfigs.RegionChinaIdMO))
 | 
				
			||||||
 | 
						a.IsTrue(regionconfigs.MatchUserRegion(regionconfigs.RegionChinaId, regionconfigs.RegionChinaProvinceIdTW, regionconfigs.RegionChinaIdTW))
 | 
				
			||||||
 | 
						a.IsFalse(regionconfigs.MatchUserRegion(regionconfigs.RegionChinaId, 0, regionconfigs.RegionChinaIdHK))
 | 
				
			||||||
 | 
						a.IsFalse(regionconfigs.MatchUserRegion(regionconfigs.RegionChinaId, 1, regionconfigs.RegionChinaIdHK))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user