12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import json
- import platform
- from flask import Flask
- from nacos import NacosClient
- app = Flask(__name__)
- config_json = {
- "local": {
- "address": "192.168.3.80:8848",
- "namespace": "dev",
- "username": "nacos",
- "password": "nacos",
- "data_id": "python-mendunr",
- "group": "DEFAULT_GROUP"
- },
- "production": {
- "address": "127.0.0.1:8848",
- "namespace": "dev",
- "username": "nacos",
- "password": "2099citu##$$**.com",
- "data_id": "python-mendunr",
- "group": "DEFAULT_GROUP"
- }
- }
- class NacosConfig:
- def __init__(self, environment='local'):
- env_config = config_json[environment]
- self.SERVER_ADDRESSES = env_config['address']
- self.NAMESPACE = env_config['namespace']
- self.USERNAME = env_config['username']
- self.PASSWORD = env_config['password']
- self.data_id = env_config['data_id']
- self.group = env_config['group']
- self.client = NacosClient(server_addresses=self.SERVER_ADDRESSES, namespace=self.NAMESPACE,
- username=self.USERNAME, password=self.PASSWORD)
- self.config_data = None
- def load_config(self):
- """从Nacos加载配置"""
- config_str = self.client.get_config(data_id=self.data_id, group=self.group)
- self.config_data = json.loads(config_str) if config_str else {}
- return self.config_data
- def get_config(self):
- """返回当前加载的配置数据"""
- if self.config_data is None:
- self.load_config()
- return self.config_data
- # 根据操作系统选择环境
- plat = platform.system().lower()
- environment = 'local' if plat == 'windows' else 'production'
- nacos_config = NacosConfig(environment=environment)
- configs = nacos_config.get_config()
- if __name__ == '__main__':
- app.run(debug=True)
|