鱼C论坛

 找回密码
 立即注册
查看: 2727|回复: 14

直播没写过python的小白被强行运维开发0.2

[复制链接]
发表于 2016-5-13 16:48:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 小云子墨 于 2016-5-16 09:48 编辑
  1. >>> local.cmd('*','grains.items',)
  2. {'slave01': {'biosversion': 'VirtualBox', 'kernel': 'Linux', 'domain': '', 'zmqversion': '3.2.5', 'kernelrelease': '2.6.32-431.el6.x86_64', 'selinux': {'enforced': 'Enforcing', 'enabled': True}, 'serialnumber': '0', 'ip_interfaces': {'lo': ['127.0.0.1', '::1'], 'eth1': ['10.219.25.242', 'fe80::a00:27ff:fe8b:263e']}, 'shell': '/bin/bash', 'mem_total': 996, 'saltversioninfo': [2015, 5, 8, 0], 'host': 'slave01', 'SSDs': [], 'mdadm': [], 'id': 'slave01', 'osrelease': '6.5', 'ps': 'ps -efH', 'server_id': 1039472111, 'ip6_interfaces': {'lo': ['::1'], 'eth1': ['fe80::a00:27ff:fe8b:263e']}, 'num_cpus': 1, 'hwaddr_interfaces': {'lo': '00:00:00:00:00:00', 'eth1': '08:00:27:8b:26:3e'}, 'init': 'upstart', 'ip4_interfaces': {'lo': ['127.0.0.1'], 'eth1': ['10.219.25.242']}, 'osfullname': 'CentOS', 'master': '10.219.25.241', 'ipv4': ['10.219.25.242', '127.0.0.1'], 'ipv6': ['::1', 'fe80::a00:27ff:fe8b:263e'], 'cpu_flags': ['fpu', 'vme', 'de', 'pse', 'tsc', 'msr', 'pae', 'mce', 'cx8', 'apic', 'sep', 'mtrr', 'pge', 'mca', 'cmov', 'pat', 'pse36', 'clflush', 'mmx', 'fxsr', 'sse', 'sse2', 'syscall', 'nx', 'rdtscp', 'lm', 'constant_tsc', 'up', 'rep_good', 'xtopology', 'nonstop_tsc', 'unfair_spinlock', 'pni', 'pclmulqdq', 'monitor', 'ssse3', 'cx16', 'sse4_1', 'sse4_2', 'movbe', 'popcnt', 'aes', 'xsave', 'avx', 'rdrand', 'hypervisor', 'lahf_lm', 'abm'], 'localhost': 'slave01', 'lsb_distrib_id': 'CentOS', 'fqdn_ip4': [], 'fqdn_ip6': [], 'nodename': 'slave01', 'saltversion': '2015.5.8', 'lsb_distrib_release': '6.5', 'pythonpath': ['/usr/bin', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info'], 'saltpath': '/usr/lib/python2.6/site-packages/salt', 'pythonversion': [2, 6, 6, 'final', 0], 'osmajorrelease': '6', 'os_family': 'RedHat', 'oscodename': 'Final', 'osfinger': 'CentOS-6', 'biosreleasedate': '12/01/2006', 'manufacturer': 'innotek GmbH', 'num_gpus': 1, 'virtual': 'VirtualBox', 'cpu_model': 'Intel(R) Core(TM) i5-4200H CPU @ 2.80GHz', 'fqdn': 'slave01', 'pythonexecutable': '/usr/bin/python2.6', 'productname': 'VirtualBox', 'osarch': 'x86_64', 'cpuarch': 'x86_64', 'lsb_distrib_codename': 'Final', 'osrelease_info': [6, 5], 'locale_info': {'detectedencoding': 'UTF-8', 'defaultlanguage': 'en_US', 'defaultencoding': 'UTF8'}, 'gpus': [{'model': 'VirtualBox Graphics Adapter', 'vendor': 'unknown'}], 'path': '/sbin:/usr/sbin:/bin:/usr/bin', 'machine_id': 'c208c39c323edb1ac57c14a50000000b', 'os': 'CentOS'}}
复制代码

上次我们捞到的信息是这样的  接下来该 处理了吧
嗯soga  dba群里问了逗比 ,它告诉我要用json,好吧 我完全不知道这{}是什么东西,
想着以前学过C 实在鱼C学的 那就回来看看呗,
翻了下python简单教程, soga这MD叫字典,字典就字典呗,他们就告诉我这个
  1. radiansdict.values()
  2. 以列表返回字典中的所有值
  3. radiansdict.keys()
  4. 以列表返回一个字典所有的键
复制代码

这个是百度到别人现成的代码,对我启发很大
游客,如果您要查看本帖隐藏内容请回复
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-5-13 16:57:08 | 显示全部楼层
直播帖子写习惯了 这么回复发直播帖子 版主手下留情哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 16:59:31 | 显示全部楼层
我们先来截取一段 看看
  1. {'slave01': {'biosversion': 'VirtualBox', 'kernel': 'Linux'}}
复制代码

这明显是嵌套的字典啊 ,宝宝心里苦 ,不过还好大学为了应付C考试 跟在鱼C学了C  ,有编程基础
知道for循环可以搞定, 不过么,python和C貌似去别蛮大的   
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 17:03:47 | 显示全部楼层
在命令界面试试 看看怎么处理方便

  1. >>> var = {'slave01': {'biosversion': 'VirtualBox', 'kernel': 'Linux'}}
  2. >>> var['slave01']['kernel']
  3. 'Linux'
复制代码

其实中间还报了回错 ,我也贴出来好了
  1. >>> var[slave01][kernel]
  2. Traceback (most recent call last):
  3.   File "<stdin>", line 1, in <module>
  4. NameError: name 'slave01' is not defined
复制代码

是我蠢的不知道怎么[]里要是字符串
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 17:07:39 | 显示全部楼层
后来呢  加了两台机器  就蒙蔽了  输出是这样的   
一大坨
  1. {'salt-master': {'biosversion': 'VirtualBox', 'kernel': 'Linux', 'domain': '', 'zmqversion': '3.2.5', 'kernelrelease': '2.6.32-431.el6.x86_64', 'selinux': {'enforced': 'Enforcing', 'enabled': True}, 'serialnumber': '0', 'ip_interfaces': {'lo': ['127.0.0.1', '::1'], 'eth1': ['10.219.25.241', 'fe80::a00:27ff:fe56:b2']}, 'shell': '/bin/bash', 'mem_total': 996, 'saltversioninfo': [2015, 5, 8, 0], 'host': 'salt-master', 'SSDs': [], 'mdadm': [], 'id': 'salt-master', 'osrelease': '6.5', 'ps': 'ps -efH', 'server_id': 894500124, 'ip6_interfaces': {'lo': ['::1'], 'eth1': ['fe80::a00:27ff:fe56:b2']}, 'num_cpus': 1, 'hwaddr_interfaces': {'lo': '00:00:00:00:00:00', 'eth1': '08:00:27:56:00:b2'}, 'init': 'upstart', 'ip4_interfaces': {'lo': ['127.0.0.1'], 'eth1': ['10.219.25.241']}, 'osfullname': 'CentOS', 'master': '10.219.25.241', 'ipv4': ['10.219.25.241', '127.0.0.1'], 'ipv6': ['::1', 'fe80::a00:27ff:fe56:b2'], 'cpu_flags': ['fpu', 'vme', 'de', 'pse', 'tsc', 'msr', 'pae', 'mce', 'cx8', 'apic', 'sep', 'mtrr', 'pge', 'mca', 'cmov', 'pat', 'pse36', 'clflush', 'mmx', 'fxsr', 'sse', 'sse2', 'syscall', 'nx', 'rdtscp', 'lm', 'constant_tsc', 'up', 'rep_good', 'xtopology', 'nonstop_tsc', 'unfair_spinlock', 'pni', 'pclmulqdq', 'monitor', 'ssse3', 'cx16', 'sse4_1', 'sse4_2', 'movbe', 'popcnt', 'aes', 'xsave', 'avx', 'rdrand', 'hypervisor', 'lahf_lm', 'abm'], 'localhost': 'salt-master', 'lsb_distrib_id': 'CentOS', 'fqdn_ip4': [], 'fqdn_ip6': [], 'nodename': 'salt-master', 'saltversion': '2015.5.8', 'lsb_distrib_release': '6.5', 'pythonpath': ['/usr/bin', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info'], 'saltpath': '/usr/lib/python2.6/site-packages/salt', 'pythonversion': [2, 6, 6, 'final', 0], 'osmajorrelease': '6', 'os_family': 'RedHat', 'oscodename': 'Final', 'osfinger': 'CentOS-6', 'biosreleasedate': '12/01/2006', 'manufacturer': 'innotek GmbH', 'num_gpus': 1, 'virtual': 'VirtualBox', 'cpu_model': 'Intel(R) Core(TM) i5-4200H CPU @ 2.80GHz', 'fqdn': 'salt-master', 'pythonexecutable': '/usr/bin/python2.6', 'productname': 'VirtualBox', 'osarch': 'x86_64', 'cpuarch': 'x86_64', 'lsb_distrib_codename': 'Final', 'osrelease_info': [6, 5], 'locale_info': {'detectedencoding': 'UTF-8', 'defaultlanguage': 'en_US', 'defaultencoding': 'UTF8'}, 'gpus': [{'model': 'VirtualBox Graphics Adapter', 'vendor': 'unknown'}], 'path': '/sbin:/usr/sbin:/bin:/usr/bin', 'machine_id': 'c208c39c323edb1ac57c14a50000000b', 'os': 'CentOS'}, 'slave02': {'biosversion': 'VirtualBox', 'kernel': 'Linux', 'domain': '', 'zmqversion': '3.2.5', 'kernelrelease': '2.6.32-431.el6.x86_64', 'selinux': {'enforced': 'Enforcing', 'enabled': True}, 'serialnumber': '0', 'ip_interfaces': {'lo': ['127.0.0.1', '::1'], 'eth0': ['10.219.25.243', 'fe80::a00:27ff:fef8:7475']}, 'shell': '/bin/bash', 'mem_total': 996, 'saltversioninfo': [2015, 5, 8, 0], 'host': 'slave02', 'SSDs': [], 'mdadm': [], 'id': 'slave02', 'osrelease': '6.5', 'ps': 'ps -efH', 'server_id': 1039472108, 'ip6_interfaces': {'lo': ['::1'], 'eth0': ['fe80::a00:27ff:fef8:7475']}, 'num_cpus': 1, 'hwaddr_interfaces': {'lo': '00:00:00:00:00:00', 'eth0': '08:00:27:f8:74:75'}, 'init': 'upstart', 'ip4_interfaces': {'lo': ['127.0.0.1'], 'eth0': ['10.219.25.243']}, 'osfullname': 'CentOS', 'master': '10.219.25.241', 'ipv4': ['10.219.25.243', '127.0.0.1'], 'ipv6': ['::1', 'fe80::a00:27ff:fef8:7475'], 'cpu_flags': ['fpu', 'vme', 'de', 'pse', 'tsc', 'msr', 'pae', 'mce', 'cx8', 'apic', 'sep', 'mtrr', 'pge', 'mca', 'cmov', 'pat', 'pse36', 'clflush', 'mmx', 'fxsr', 'sse', 'sse2', 'syscall', 'nx', 'rdtscp', 'lm', 'constant_tsc', 'up', 'rep_good', 'xtopology', 'nonstop_tsc', 'unfair_spinlock', 'pni', 'pclmulqdq', 'monitor', 'ssse3', 'cx16', 'sse4_1', 'sse4_2', 'movbe', 'popcnt', 'aes', 'xsave', 'avx', 'rdrand', 'hypervisor', 'lahf_lm', 'abm'], 'localhost': 'slave02', 'lsb_distrib_id': 'CentOS', 'fqdn_ip4': [], 'fqdn_ip6': [], 'nodename': 'slave02', 'saltversion': '2015.5.8', 'lsb_distrib_release': '6.5', 'pythonpath': ['/usr/bin', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info'], 'saltpath': '/usr/lib/python2.6/site-packages/salt', 'pythonversion': [2, 6, 6, 'final', 0], 'osmajorrelease': '6', 'os_family': 'RedHat', 'oscodename': 'Final', 'osfinger': 'CentOS-6', 'biosreleasedate': '12/01/2006', 'manufacturer': 'innotek GmbH', 'num_gpus': 1, 'virtual': 'VirtualBox', 'cpu_model': 'Intel(R) Core(TM) i5-4200H CPU @ 2.80GHz', 'fqdn': 'slave02', 'pythonexecutable': '/usr/bin/python2.6', 'productname': 'VirtualBox', 'osarch': 'x86_64', 'cpuarch': 'x86_64', 'lsb_distrib_codename': 'Final', 'osrelease_info': [6, 5], 'locale_info': {'detectedencoding': 'UTF-8', 'defaultlanguage': 'en_US', 'defaultencoding': 'UTF8'}, 'gpus': [{'model': 'VirtualBox Graphics Adapter', 'vendor': 'unknown'}], 'path': '/sbin:/usr/sbin:/bin:/usr/bin', 'machine_id': 'c208c39c323edb1ac57c14a50000000b', 'os': 'CentOS'}, 'slave01': {'biosversion': 'VirtualBox', 'kernel': 'Linux', 'domain': '', 'zmqversion': '3.2.5', 'kernelrelease': '2.6.32-431.el6.x86_64', 'selinux': {'enforced': 'Enforcing', 'enabled': True}, 'serialnumber': '0', 'ip_interfaces': {'lo': ['127.0.0.1', '::1'], 'eth1': ['10.219.25.242', 'fe80::a00:27ff:fe8b:263e']}, 'shell': '/bin/bash', 'mem_total': 996, 'saltversioninfo': [2015, 5, 8, 0], 'host': 'slave01', 'SSDs': [], 'mdadm': [], 'id': 'slave01', 'osrelease': '6.5', 'ps': 'ps -efH', 'server_id': 1039472111, 'ip6_interfaces': {'lo': ['::1'], 'eth1': ['fe80::a00:27ff:fe8b:263e']}, 'num_cpus': 1, 'hwaddr_interfaces': {'lo': '00:00:00:00:00:00', 'eth1': '08:00:27:8b:26:3e'}, 'init': 'upstart', 'ip4_interfaces': {'lo': ['127.0.0.1'], 'eth1': ['10.219.25.242']}, 'osfullname': 'CentOS', 'master': '10.219.25.241', 'ipv4': ['10.219.25.242', '127.0.0.1'], 'ipv6': ['::1', 'fe80::a00:27ff:fe8b:263e'], 'cpu_flags': ['fpu', 'vme', 'de', 'pse', 'tsc', 'msr', 'pae', 'mce', 'cx8', 'apic', 'sep', 'mtrr', 'pge', 'mca', 'cmov', 'pat', 'pse36', 'clflush', 'mmx', 'fxsr', 'sse', 'sse2', 'syscall', 'nx', 'rdtscp', 'lm', 'constant_tsc', 'up', 'rep_good', 'xtopology', 'nonstop_tsc', 'unfair_spinlock', 'pni', 'pclmulqdq', 'monitor', 'ssse3', 'cx16', 'sse4_1', 'sse4_2', 'movbe', 'popcnt', 'aes', 'xsave', 'avx', 'rdrand', 'hypervisor', 'lahf_lm', 'abm'], 'localhost': 'slave01', 'lsb_distrib_id': 'CentOS', 'fqdn_ip4': [], 'fqdn_ip6': [], 'nodename': 'slave01', 'saltversion': '2015.5.8', 'lsb_distrib_release': '6.5', 'pythonpath': ['/usr/bin', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info'], 'saltpath': '/usr/lib/python2.6/site-packages/salt', 'pythonversion': [2, 6, 6, 'final', 0], 'osmajorrelease': '6', 'os_family': 'RedHat', 'oscodename': 'Final', 'osfinger': 'CentOS-6', 'biosreleasedate': '12/01/2006', 'manufacturer': 'innotek GmbH', 'num_gpus': 1, 'virtual': 'VirtualBox', 'cpu_model': 'Intel(R) Core(TM) i5-4200H CPU @ 2.80GHz', 'fqdn': 'slave01', 'pythonexecutable': '/usr/bin/python2.6', 'productname': 'VirtualBox', 'osarch': 'x86_64', 'cpuarch': 'x86_64', 'lsb_distrib_codename': 'Final', 'osrelease_info': [6, 5], 'locale_info': {'detectedencoding': 'UTF-8', 'defaultlanguage': 'en_US', 'defaultencoding': 'UTF8'}, 'gpus': [{'model': 'VirtualBox Graphics Adapter', 'vendor': 'unknown'}], 'path': '/sbin:/usr/sbin:/bin:/usr/bin', 'machine_id': 'c208c39c323edb1ac57c14a50000000b', 'os': 'CentOS'}}
复制代码

妈呀 好多呀 吓坏宝宝了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 17:11:14 | 显示全部楼层
还好宝宝机制,
  1. >>> vars = local.cmd('*','grains.items',)
  2. >>> vars.keys()
  3. ['salt-master', 'slave02', 'slave01']
复制代码

嘿嘿嘿 就三个小婊砸,
那晚拜读了鱼C的python 迭代循环  
这么处理 key 就ok了
  1. >>> for i in vars.keys():
  2. ...     print i
  3. ...
  4. salt-master
  5. slave02
  6. slave01
复制代码

太佩服自己了   厉害不厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 17:13:26 | 显示全部楼层
妹子们 你们的微信号 群P给宝宝
  1. >>> for i in vars.keys():
  2. ...     print vars[i]['ipv4']
  3. ...
  4. ['10.219.25.241', '127.0.0.1']
  5. ['10.219.25.243', '127.0.0.1']
  6. ['10.219.25.242', '127.0.0.1']
复制代码

太效率了  佩服 自己的勇气 ,夜御【bi】三女
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 17:16:38 | 显示全部楼层
本帖最后由 小云子墨 于 2016-5-13 17:18 编辑

有天晚上 跳到后面偷偷喵了  类的继承那节视频 写了这样的代码  
  1. # -*- coding: utf-8 -*-
  2. import salt.client as sc
  3. import json
  4. class Info():
  5.         def mininame(self,name):
  6.                 self.name = name
  7.         def sysinfo(self):
  8.                 local = sc.LocalClient()
  9.                 grains = local.cmd(self.name,"grains.items")
  10.                 return grains;
  11.         def diskinfo(self):
  12.                         local = sc.LocalClient()
  13.                         diskinfo = local.cmd(self.name,"disk.usage")
  14.                         return diskinfo;
  15. class List_Property(Info):
  16.         def num_cpus(self):
  17.                         num_cpus = Info.sysinfo(self)[self.name]['num_cpus']
  18.                         return num_cpus;
  19.         def mem_total(self):
  20.                         mem_total = Info.sysinfo(self)[self.name]['mem_total']
  21.                         return mem_total;
  22.         def net_num(self):
  23.                         net = Info.sysinfo(self)[self.name]['ip4_interfaces']
  24.                         net_num = len(net.keys()) - 1
  25.                         return net_num;
  26.                def hostname(self):
  27.                                hostname = Info.sysinfo(self)[self.name]['host']
  28.                                return hostname;
  29.         def os(self):
  30.                         os = str(Info.sysinfo(self)[self.name]['os']) + str(Info.sysinfo(self)[self.name]['osrelease_info'])
  31.                         return os;
  32.         def kernelrelease(self):
  33.                         1
  34.                         return kernelrelease;
  35.         def ipv4(self):
  36.                 ipv4 = Info.sysinfo(self)[self.name]['ipv4']
  37.                 return ipv4;
  38.         def disk(self):
  39.                         disk = Info.diskinfo(self)
  40.                         return disk;
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 17:24:08 | 显示全部楼层
不过执行效率慢的可以的 ,  后来 推到不用,直接写成python脚本把数据post到服务器
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 17:36:43 | 显示全部楼层
今天先更新到这里 宝宝也快要下班了, 其实我们还可以捞取一些动态的参数 做个监控, 在配合Django 架构 ,接受服务器post来的 指令岂不是可以写出来一个灰常叼炸天的运维平台, 哇唔,想想2W5月薪的运维开发大神,瞬间有迎娶白富美 走上人生的感觉,感觉棒棒哒,路漫漫其修远兮,我们来一步一个脚印。分享我的点点滴滴 和大家一起学习探讨,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-16 09:45:12 | 显示全部楼层
好了 今天又开始上班了 ,等把新的需求搞定继续更新,周末宝宝 有努力看了 fishc 的python视频,将采集的信息做成exlex表格,或者用电子邮箱主动发送,这个还是很容易实现的,写到mysql里面也是可以的,期待吧,这周无聊 看看架构 看看可以搭建出一个自己的运维平台不,加油
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-17 15:18:40 | 显示全部楼层
,,,,,,,,,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-5-18 11:29:42 | 显示全部楼层
学习收藏
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-19 10:20:21 | 显示全部楼层
楼主威武!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-20 10:49:56 | 显示全部楼层
为了鱼币,已阅
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-21 00:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表