53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * @Author: lwnmengjing
							 | 
						||
| 
								 | 
							
								 * @Date: 2021/6/10 3:39 下午
							 | 
						||
| 
								 | 
							
								 * @Last Modified by: lwnmengjing
							 | 
						||
| 
								 | 
							
								 * @Last Modified time: 2021/6/10 3:39 下午
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								package storage
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									"log"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									"github.com/go-admin-team/go-admin-core/sdk"
							 | 
						||
| 
								 | 
							
									"github.com/go-admin-team/go-admin-core/sdk/config"
							 | 
						||
| 
								 | 
							
									"github.com/go-admin-team/go-admin-core/sdk/pkg/captcha"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Setup 配置storage组件
							 | 
						||
| 
								 | 
							
								func Setup() {
							 | 
						||
| 
								 | 
							
									//4. 设置缓存
							 | 
						||
| 
								 | 
							
									cacheAdapter, err := config.CacheConfig.Setup()
							 | 
						||
| 
								 | 
							
									if err != nil {
							 | 
						||
| 
								 | 
							
										log.Fatalf("cache setup error, %s\n", err.Error())
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									sdk.Runtime.SetCacheAdapter(cacheAdapter)
							 | 
						||
| 
								 | 
							
									//5. 设置验证码store
							 | 
						||
| 
								 | 
							
									captcha.SetStore(captcha.NewCacheStore(cacheAdapter, 600))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									//6. 设置队列
							 | 
						||
| 
								 | 
							
									if !config.QueueConfig.Empty() {
							 | 
						||
| 
								 | 
							
										if q := sdk.Runtime.GetQueueAdapter(); q != nil {
							 | 
						||
| 
								 | 
							
											q.Shutdown()
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										queueAdapter, err := config.QueueConfig.Setup()
							 | 
						||
| 
								 | 
							
										if err != nil {
							 | 
						||
| 
								 | 
							
											log.Fatalf("queue setup error, %s\n", err.Error())
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										sdk.Runtime.SetQueueAdapter(queueAdapter)
							 | 
						||
| 
								 | 
							
										defer func() {
							 | 
						||
| 
								 | 
							
											go queueAdapter.Run()
							 | 
						||
| 
								 | 
							
										}()
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									//7. 设置分布式锁
							 | 
						||
| 
								 | 
							
									if !config.LockerConfig.Empty() {
							 | 
						||
| 
								 | 
							
										lockerAdapter, err := config.LockerConfig.Setup()
							 | 
						||
| 
								 | 
							
										if err != nil {
							 | 
						||
| 
								 | 
							
											log.Fatalf("locker setup error, %s\n", err.Error())
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										sdk.Runtime.SetLockerAdapter(lockerAdapter)
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |