From b16378e2e8a991dcd3abca33645d1d3c63ef3c12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Sun, 13 Oct 2024 20:18:00 +0800 Subject: [PATCH 1/4] pengyuthon --- nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.csr | 18 ++++++ nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.key | 27 ++++++++ .../oa.thtzjt.com_bundle.crt | 63 +++++++++++++++++++ .../oa.thtzjt.com_bundle.pem | 63 +++++++++++++++++++ 4 files changed, 171 insertions(+) create mode 100644 nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.csr create mode 100644 nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.key create mode 100644 nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.crt create mode 100644 nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.pem diff --git a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.csr b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.csr new file mode 100644 index 000000000..f8d4cec4e --- /dev/null +++ b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.csr @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIC+jCCAeICAQAwgYkxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw +DgYDVQQHEwdCZWlqaW5nMQ8wDQYDVQQKEwZxY2xvdWQxDzANBgNVBAsTBnFjbG91 +ZDEWMBQGA1UEAxMNb2EudGh0emp0LmNvbTEcMBoGA1UEBRMTMzU1NTM3MTk1Nzcy +NzA2NjQ3MjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwQtwTqHGjr +YVnM/+tWdUXeK1DSmYl85o1Zw/MzFtlt+3OCDM/sX/GS+MJyRPpZ7JCuAIsEruN7 +cr7sSNrfjcgXUKb7CJhzsGZWjfkajK3Gk4rUWd51eUVzXP5dk7ene2JmuhwDBv/9 +Iy5gwQir5/rqoYznN6l1de+WFL2Oysc8uiXPytBaBucyF310St+dYRq/vy2qC75V +85e/Q4UV1eAgphifX61zrFAQHYZWBicatzIPjfLFv27vhhuqHUfFEd7ZkkUxH9oy +gUObDXSY3uJ1CRSzQfWo3mQgzzCWFEiqjDH8A728XaTmHSuuCFRBHVeHJSNRM21m +CFvCbBpxiTMCAwEAAaArMCkGCSqGSIb3DQEJDjEcMBowGAYDVR0RBBEwD4INb2Eu +dGh0emp0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAhXvubskWYTcTovJf5rUb8/Uy +8MtzrF2zeKc+O1ncm8KnIrjn5czxve2xjAOyBzgl5BeQEI+dXtYM6qbqZ+Lmhj5b +GLs0NGCi2gS0+THCy1Ee8MPHPbCGAlFos9Uj5fFlz93bJ7mOEijTr1JQNGTwNg5/ +k8J/1LIbCoeXc48gOt8IVapksYDrTFgOtSrGZEdLSO96s7plv4eZR9JrHmPzC+LX +1yS+9WH8f94lZCGwVUFisdM2bdgCpIpsvdKrW/rrtX1P0ItJcDr7+NJlsHb9Zu73 +Bfgo0DQ+nMj2f7HXclrUR7I2XY1JvoR92W5VcK34EgujD0ef1cWU8coene0/0g== +-----END CERTIFICATE REQUEST----- \ No newline at end of file diff --git a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.key b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.key new file mode 100644 index 000000000..caefd0a8d --- /dev/null +++ b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAzBC3BOocaOthWcz/61Z1Rd4rUNKZiXzmjVnD8zMW2W37c4IM +z+xf8ZL4wnJE+lnskK4AiwSu43tyvuxI2t+NyBdQpvsImHOwZlaN+RqMrcaTitRZ +3nV5RXNc/l2Tt6d7Yma6HAMG//0jLmDBCKvn+uqhjOc3qXV175YUvY7Kxzy6Jc/K +0FoG5zIXfXRK351hGr+/LaoLvlXzl79DhRXV4CCmGJ9frXOsUBAdhlYGJxq3Mg+N +8sW/bu+GG6odR8UR3tmSRTEf2jKBQ5sNdJje4nUJFLNB9ajeZCDPMJYUSKqMMfwD +vbxdpOYdK64IVEEdV4clI1EzbWYIW8JsGnGJMwIDAQABAoIBAH9KLd+y6OXJbYBG +j5yM4bojS4Gu3HcWofmp9MDPLYGTSTZT+Qn5uB9IPkOMY9qGHTpiT5Rn52+eoYTW +ftuIdzhI0tZV4Ja4E2DCvOyV0wrSw1Xl/+jz/iGERI2mcW4t2pkW2yB+Au/LRxa2 +47I1CQ9LLFpoICBkVJyOUYGsgHCmIl4W83Ylz8Am1cSTTML3pJdLcCwm8Eth0g8P +A4gDL2yjIzvuUIt5LQQHr76P+8L9TWaqOV3EH3DjN2JUoHOGuEPOfYFe5wSceU0o +ExppSZMqq9x7j5UJTmTtdpdl5/EAwH9kSg1q2eC9MqzL+/SwubAfhjXKsV05IXAj +LGPckQECgYEA0IDX4ClP5V/zgvwf008J6cRyUY711nN4RSi5/kyPU/zdxAI84ENB +v2THSAZtZa9V1xL1zTQncAM8YNQdjRnU3GSI2S8/XgHoQfk+qWRasXuA8qeiEQMU +nThzNzuMNLMjuENO7Z7DIdZyoP8g+1DCJUYKSxTyBSD8f0UVOHNbsTkCgYEA+o0Q +QSO5owtC2fg0mLC2FidpIrnpon3AiluTbo7AeV9JmNmoDjuLC+Wk4+OBQqqC8bso +YZvdwGj6VT0NsrIm14dMaAc8857BfkDVbPcdyge9r/syyAn4INGHJYDVX/3gSxBp +ftCW/wPpSzdHwsOxLV36whN542cZSYGoHRCJCcsCgYBT/zP4qGv5ehg98phXpoXV +2UA8vx0m0cnoAqo7Wlh7e2lT55ritfWsx0rJJ123E1W/mXHQw2wH4iXW1F07VOa+ +CvpelHwwwQ/yVBj8YONwkNK37vSJafZKCE3SOHkZWfnP573KWKU/4oa3eVCuLjCo +l3jaGowNqOZP12LfJQoRcQKBgE5mM47eeekNzgZch0C8Es4N2PUXzYad6NCiZRi0 +LIAOE/5zJQYHFbRMUHNKrhjJOB4h3Tnlxta9Qo/HgfDHlCXe3Uaz9RuaMpup996X +2Mdt8qoNZU945x6F0c8naB0YWMXERe57oLP9alOx4Y+NInS6sotmAr7odN4uZwdp +NChPAoGBALPk/U8ZlpBqKAxS8+QQeIf7Pgw6xDO4m6O9HapUJjziJiqHFYaF4N00 +FYWCWS6QStxA8s0gjbSYRks2w70tZPZ4A6XekyKO1LJpjRBidc6jUd2tW6G+pWoA +hD49VqDiDqp8ZZnJ7pigt4bMFfc6tDX6p8WYwjrbxdUlRIGdJLEn +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.crt b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.crt new file mode 100644 index 000000000..e0ab009be --- /dev/null +++ b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.crt @@ -0,0 +1,63 @@ +-----BEGIN CERTIFICATE----- +MIIF6zCCBFOgAwIBAgIQAMjMoQTwCjMaTVb9vE4iZzANBgkqhkiG9w0BAQwFADBZ +MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg +SW5jLjEjMCEGA1UEAxMaVHJ1c3RBc2lhIFJTQSBEViBUTFMgQ0EgRzIwHhcNMjQx +MDEyMDAwMDAwWhcNMjUwMTEwMjM1OTU5WjAYMRYwFAYDVQQDEw1vYS50aHR6anQu +Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzBC3BOocaOthWcz/ +61Z1Rd4rUNKZiXzmjVnD8zMW2W37c4IMz+xf8ZL4wnJE+lnskK4AiwSu43tyvuxI +2t+NyBdQpvsImHOwZlaN+RqMrcaTitRZ3nV5RXNc/l2Tt6d7Yma6HAMG//0jLmDB +CKvn+uqhjOc3qXV175YUvY7Kxzy6Jc/K0FoG5zIXfXRK351hGr+/LaoLvlXzl79D +hRXV4CCmGJ9frXOsUBAdhlYGJxq3Mg+N8sW/bu+GG6odR8UR3tmSRTEf2jKBQ5sN +dJje4nUJFLNB9ajeZCDPMJYUSKqMMfwDvbxdpOYdK64IVEEdV4clI1EzbWYIW8Js +GnGJMwIDAQABo4ICbjCCAmowHwYDVR0jBBgwFoAUXzp8ERB+DGdxYdyLo7UAA2f1 +VxwwHQYDVR0OBBYEFJRRoYmVo/QO3y1845F3RbeyxgQsMA4GA1UdDwEB/wQEAwIF +oDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBJ +BgNVHSAEQjBAMDQGCysGAQQBsjEBAgIxMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8v +c2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATB9BggrBgEFBQcBAQRxMG8wQgYIKwYB +BQUHMAKGNmh0dHA6Ly9jcnQudHJ1c3QtcHJvdmlkZXIuY24vVHJ1c3RBc2lhUlNB +RFZUTFNDQUcyLmNydDApBggrBgEFBQcwAYYdaHR0cDovL29jc3AudHJ1c3QtcHJv +dmlkZXIuY24wggEFBgorBgEEAdZ5AgQCBIH2BIHzAPEAdwDPEVbu1S58r/OHW9lp +LpvpGnFnSrAX7KwB0lt3zsw7CAAAAZJ+RseoAAAEAwBIMEYCIQCaSCNFfsw0krFi +W+/oNJShLmbpgVa8gsk0RVyGPnQ1JAIhAMnqk3AMhqyOdeG/zaoJaKuwOoGs8D+Z +e435nbwKKQ4ZAHYAzPsPaoVxCWX+lZtTzumyfCLphVwNl422qX5UwP5MDbAAAAGS +fkbHrAAABAMARzBFAiAGH2TJzVXeS96YkSvVQH+kz4ZWiQbn0IGDVxqwUJTQOgIh +AJ0vCQIgu5LCNLPABwRH//pyCsogwfg/MPc0aYsQLXRzMBgGA1UdEQQRMA+CDW9h +LnRodHpqdC5jb20wDQYJKoZIhvcNAQEMBQADggGBAFw9IeTA6HoD44P8kmVvxxat +KcTW4iUgap7h1nzzH5oVpjQkyIWeGzgUvJgS6vLE90Y1JWpH1YJXnnahehxh4vyW +y/jEp+Lbfp6m2tQl109AkD6+RzZoChs07CA471VY90LSqKanePYdIq3CYUeF0JOL +U44OHxJOkJ21mt4H9S46d6a4rcC5nowhmTddIRTDm5vBLypqpN5xw0Pyop720Sjx +FaXNqQgymeLGJ3MR92jiINlYNN1LDfIybHkboBCFK1tvEycleQOrpTzk8O8X1JF+ +Luy5hTgQhSl1WTjxL0GRTPs34wJdG5BehDfjidsqjvVsvUYOth5h/U+TYd7zMSS6 +8Wzxc58+GSuvDRJf8wJpeJGAo7M80bpgoXy0RRmXoW4uMp3J8EFlJbPHmiDomAgx +3wjjkBhIp1+btD14bfQRhM/L1k8cpCVE1CoCtQgcaKyhWRCgTw99gBOrE82pIu88 +zzYwnmBG+il6macJ2UNFORPKaxkfJKmymv/ndmrfDQ== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIFBzCCA++gAwIBAgIRALIM7VUuMaC/NDp1KHQ76aswDQYJKoZIhvcNAQELBQAw +ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV +BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0yMjAxMTAwMDAwMDBaFw0y +ODEyMzEyMzU5NTlaMFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEg +VGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIERWIFRM +UyBDQSBHMjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjGDe0GSaBs +Yl/VhMaTM6GhfR1TAt4mrhN8zfAMwEfLZth+N2ie5ULbW8YvSGzhqkDhGgSBlafm +qq05oeESrIJQyz24j7icGeGyIZ/jIChOOvjt4M8EVi3O0Se7E6RAgVYcX+QWVp5c +Sy+l7XrrtL/pDDL9Bngnq/DVfjCzm5ZYUb1PpyvYTP7trsV+yYOCNmmwQvB4yVjf +IIpHC1OcsPBntMUGeH1Eja4D+qJYhGOxX9kpa+2wTCW06L8T6OhkpJWYn5JYiht5 +8exjAR7b8Zi3DeG9oZO5o6Qvhl3f8uGU8lK1j9jCUN/18mI/5vZJ76i+hsgdlfZB +Rh5lmAQjD80M9TY+oD4MYUqB5XrigPfFAUwXFGehhlwCVw7y6+5kpbq/NpvM5Ba8 +SeQYUUuMA8RXpTtGlrrTPqJryfa55hTuX/ThhX4gcCVkbyujo0CYr+Uuc14IOyNY +1fD0/qORbllbgV41wiy/2ZUWZQUodqHWkjT1CwIMbQOY5jmrSYGBwwIDAQABo4IB +JjCCASIwHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYE +FF86fBEQfgxncWHci6O1AANn9VccMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8E +CDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAiBgNVHSAE +GzAZMA0GCysGAQQBsjEBAgIxMAgGBmeBDAECATBDBgNVHR8EPDA6MDigNqA0hjJo +dHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNy +bDA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k +b2NhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAHMUom5cxIje2IiFU7mOCsBr2F6CY +eU5cyfQ/Aep9kAXYUDuWsaT85721JxeXFYkf4D/cgNd9+hxT8ZeDOJrn+ysqR7NO +2K9AdqTdIY2uZPKmvgHOkvH2gQD6jc05eSPOwdY/10IPvmpgUKaGOa/tyygL8Og4 +3tYyoHipMMnS4OiYKakDJny0XVuchIP7ZMKiP07Q3FIuSS4omzR77kmc75/6Q9dP +v4wa90UCOn1j6r7WhMmX3eT3Gsdj3WMe9bYD0AFuqa6MDyjIeXq08mVGraXiw73s +Zale8OMckn/BU3O/3aFNLHLfET2H2hT6Wb3nwxjpLIfXmSVcVd8A58XH0g== +-----END CERTIFICATE----- \ No newline at end of file diff --git a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.pem b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.pem new file mode 100644 index 000000000..e0ab009be --- /dev/null +++ b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.pem @@ -0,0 +1,63 @@ +-----BEGIN CERTIFICATE----- +MIIF6zCCBFOgAwIBAgIQAMjMoQTwCjMaTVb9vE4iZzANBgkqhkiG9w0BAQwFADBZ +MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg +SW5jLjEjMCEGA1UEAxMaVHJ1c3RBc2lhIFJTQSBEViBUTFMgQ0EgRzIwHhcNMjQx +MDEyMDAwMDAwWhcNMjUwMTEwMjM1OTU5WjAYMRYwFAYDVQQDEw1vYS50aHR6anQu +Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzBC3BOocaOthWcz/ +61Z1Rd4rUNKZiXzmjVnD8zMW2W37c4IMz+xf8ZL4wnJE+lnskK4AiwSu43tyvuxI +2t+NyBdQpvsImHOwZlaN+RqMrcaTitRZ3nV5RXNc/l2Tt6d7Yma6HAMG//0jLmDB +CKvn+uqhjOc3qXV175YUvY7Kxzy6Jc/K0FoG5zIXfXRK351hGr+/LaoLvlXzl79D +hRXV4CCmGJ9frXOsUBAdhlYGJxq3Mg+N8sW/bu+GG6odR8UR3tmSRTEf2jKBQ5sN +dJje4nUJFLNB9ajeZCDPMJYUSKqMMfwDvbxdpOYdK64IVEEdV4clI1EzbWYIW8Js +GnGJMwIDAQABo4ICbjCCAmowHwYDVR0jBBgwFoAUXzp8ERB+DGdxYdyLo7UAA2f1 +VxwwHQYDVR0OBBYEFJRRoYmVo/QO3y1845F3RbeyxgQsMA4GA1UdDwEB/wQEAwIF +oDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBJ +BgNVHSAEQjBAMDQGCysGAQQBsjEBAgIxMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8v +c2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATB9BggrBgEFBQcBAQRxMG8wQgYIKwYB +BQUHMAKGNmh0dHA6Ly9jcnQudHJ1c3QtcHJvdmlkZXIuY24vVHJ1c3RBc2lhUlNB +RFZUTFNDQUcyLmNydDApBggrBgEFBQcwAYYdaHR0cDovL29jc3AudHJ1c3QtcHJv +dmlkZXIuY24wggEFBgorBgEEAdZ5AgQCBIH2BIHzAPEAdwDPEVbu1S58r/OHW9lp +LpvpGnFnSrAX7KwB0lt3zsw7CAAAAZJ+RseoAAAEAwBIMEYCIQCaSCNFfsw0krFi +W+/oNJShLmbpgVa8gsk0RVyGPnQ1JAIhAMnqk3AMhqyOdeG/zaoJaKuwOoGs8D+Z +e435nbwKKQ4ZAHYAzPsPaoVxCWX+lZtTzumyfCLphVwNl422qX5UwP5MDbAAAAGS +fkbHrAAABAMARzBFAiAGH2TJzVXeS96YkSvVQH+kz4ZWiQbn0IGDVxqwUJTQOgIh +AJ0vCQIgu5LCNLPABwRH//pyCsogwfg/MPc0aYsQLXRzMBgGA1UdEQQRMA+CDW9h +LnRodHpqdC5jb20wDQYJKoZIhvcNAQEMBQADggGBAFw9IeTA6HoD44P8kmVvxxat +KcTW4iUgap7h1nzzH5oVpjQkyIWeGzgUvJgS6vLE90Y1JWpH1YJXnnahehxh4vyW +y/jEp+Lbfp6m2tQl109AkD6+RzZoChs07CA471VY90LSqKanePYdIq3CYUeF0JOL +U44OHxJOkJ21mt4H9S46d6a4rcC5nowhmTddIRTDm5vBLypqpN5xw0Pyop720Sjx +FaXNqQgymeLGJ3MR92jiINlYNN1LDfIybHkboBCFK1tvEycleQOrpTzk8O8X1JF+ +Luy5hTgQhSl1WTjxL0GRTPs34wJdG5BehDfjidsqjvVsvUYOth5h/U+TYd7zMSS6 +8Wzxc58+GSuvDRJf8wJpeJGAo7M80bpgoXy0RRmXoW4uMp3J8EFlJbPHmiDomAgx +3wjjkBhIp1+btD14bfQRhM/L1k8cpCVE1CoCtQgcaKyhWRCgTw99gBOrE82pIu88 +zzYwnmBG+il6macJ2UNFORPKaxkfJKmymv/ndmrfDQ== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIFBzCCA++gAwIBAgIRALIM7VUuMaC/NDp1KHQ76aswDQYJKoZIhvcNAQELBQAw +ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV +BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0yMjAxMTAwMDAwMDBaFw0y +ODEyMzEyMzU5NTlaMFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEg +VGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIERWIFRM +UyBDQSBHMjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjGDe0GSaBs +Yl/VhMaTM6GhfR1TAt4mrhN8zfAMwEfLZth+N2ie5ULbW8YvSGzhqkDhGgSBlafm +qq05oeESrIJQyz24j7icGeGyIZ/jIChOOvjt4M8EVi3O0Se7E6RAgVYcX+QWVp5c +Sy+l7XrrtL/pDDL9Bngnq/DVfjCzm5ZYUb1PpyvYTP7trsV+yYOCNmmwQvB4yVjf +IIpHC1OcsPBntMUGeH1Eja4D+qJYhGOxX9kpa+2wTCW06L8T6OhkpJWYn5JYiht5 +8exjAR7b8Zi3DeG9oZO5o6Qvhl3f8uGU8lK1j9jCUN/18mI/5vZJ76i+hsgdlfZB +Rh5lmAQjD80M9TY+oD4MYUqB5XrigPfFAUwXFGehhlwCVw7y6+5kpbq/NpvM5Ba8 +SeQYUUuMA8RXpTtGlrrTPqJryfa55hTuX/ThhX4gcCVkbyujo0CYr+Uuc14IOyNY +1fD0/qORbllbgV41wiy/2ZUWZQUodqHWkjT1CwIMbQOY5jmrSYGBwwIDAQABo4IB +JjCCASIwHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYE +FF86fBEQfgxncWHci6O1AANn9VccMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8E +CDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAiBgNVHSAE +GzAZMA0GCysGAQQBsjEBAgIxMAgGBmeBDAECATBDBgNVHR8EPDA6MDigNqA0hjJo +dHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNy +bDA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k +b2NhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAHMUom5cxIje2IiFU7mOCsBr2F6CY +eU5cyfQ/Aep9kAXYUDuWsaT85721JxeXFYkf4D/cgNd9+hxT8ZeDOJrn+ysqR7NO +2K9AdqTdIY2uZPKmvgHOkvH2gQD6jc05eSPOwdY/10IPvmpgUKaGOa/tyygL8Og4 +3tYyoHipMMnS4OiYKakDJny0XVuchIP7ZMKiP07Q3FIuSS4omzR77kmc75/6Q9dP +v4wa90UCOn1j6r7WhMmX3eT3Gsdj3WMe9bYD0AFuqa6MDyjIeXq08mVGraXiw73s +Zale8OMckn/BU3O/3aFNLHLfET2H2hT6Wb3nwxjpLIfXmSVcVd8A58XH0g== +-----END CERTIFICATE----- \ No newline at end of file From 81370d1aa07bda2afb39d91de0502376df32f313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Sun, 13 Oct 2024 20:20:36 +0800 Subject: [PATCH 2/4] pengyuthon --- nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.csr | 18 ------ nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.key | 27 -------- .../oa.thtzjt.com_bundle.crt | 63 ------------------- .../oa.thtzjt.com_bundle.pem | 63 ------------------- 4 files changed, 171 deletions(-) delete mode 100644 nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.csr delete mode 100644 nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.key delete mode 100644 nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.crt delete mode 100644 nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.pem diff --git a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.csr b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.csr deleted file mode 100644 index f8d4cec4e..000000000 --- a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.csr +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIIC+jCCAeICAQAwgYkxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw -DgYDVQQHEwdCZWlqaW5nMQ8wDQYDVQQKEwZxY2xvdWQxDzANBgNVBAsTBnFjbG91 -ZDEWMBQGA1UEAxMNb2EudGh0emp0LmNvbTEcMBoGA1UEBRMTMzU1NTM3MTk1Nzcy -NzA2NjQ3MjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwQtwTqHGjr -YVnM/+tWdUXeK1DSmYl85o1Zw/MzFtlt+3OCDM/sX/GS+MJyRPpZ7JCuAIsEruN7 -cr7sSNrfjcgXUKb7CJhzsGZWjfkajK3Gk4rUWd51eUVzXP5dk7ene2JmuhwDBv/9 -Iy5gwQir5/rqoYznN6l1de+WFL2Oysc8uiXPytBaBucyF310St+dYRq/vy2qC75V -85e/Q4UV1eAgphifX61zrFAQHYZWBicatzIPjfLFv27vhhuqHUfFEd7ZkkUxH9oy -gUObDXSY3uJ1CRSzQfWo3mQgzzCWFEiqjDH8A728XaTmHSuuCFRBHVeHJSNRM21m -CFvCbBpxiTMCAwEAAaArMCkGCSqGSIb3DQEJDjEcMBowGAYDVR0RBBEwD4INb2Eu -dGh0emp0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAhXvubskWYTcTovJf5rUb8/Uy -8MtzrF2zeKc+O1ncm8KnIrjn5czxve2xjAOyBzgl5BeQEI+dXtYM6qbqZ+Lmhj5b -GLs0NGCi2gS0+THCy1Ee8MPHPbCGAlFos9Uj5fFlz93bJ7mOEijTr1JQNGTwNg5/ -k8J/1LIbCoeXc48gOt8IVapksYDrTFgOtSrGZEdLSO96s7plv4eZR9JrHmPzC+LX -1yS+9WH8f94lZCGwVUFisdM2bdgCpIpsvdKrW/rrtX1P0ItJcDr7+NJlsHb9Zu73 -Bfgo0DQ+nMj2f7HXclrUR7I2XY1JvoR92W5VcK34EgujD0ef1cWU8coene0/0g== ------END CERTIFICATE REQUEST----- \ No newline at end of file diff --git a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.key b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.key deleted file mode 100644 index caefd0a8d..000000000 --- a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAzBC3BOocaOthWcz/61Z1Rd4rUNKZiXzmjVnD8zMW2W37c4IM -z+xf8ZL4wnJE+lnskK4AiwSu43tyvuxI2t+NyBdQpvsImHOwZlaN+RqMrcaTitRZ -3nV5RXNc/l2Tt6d7Yma6HAMG//0jLmDBCKvn+uqhjOc3qXV175YUvY7Kxzy6Jc/K -0FoG5zIXfXRK351hGr+/LaoLvlXzl79DhRXV4CCmGJ9frXOsUBAdhlYGJxq3Mg+N -8sW/bu+GG6odR8UR3tmSRTEf2jKBQ5sNdJje4nUJFLNB9ajeZCDPMJYUSKqMMfwD -vbxdpOYdK64IVEEdV4clI1EzbWYIW8JsGnGJMwIDAQABAoIBAH9KLd+y6OXJbYBG -j5yM4bojS4Gu3HcWofmp9MDPLYGTSTZT+Qn5uB9IPkOMY9qGHTpiT5Rn52+eoYTW -ftuIdzhI0tZV4Ja4E2DCvOyV0wrSw1Xl/+jz/iGERI2mcW4t2pkW2yB+Au/LRxa2 -47I1CQ9LLFpoICBkVJyOUYGsgHCmIl4W83Ylz8Am1cSTTML3pJdLcCwm8Eth0g8P -A4gDL2yjIzvuUIt5LQQHr76P+8L9TWaqOV3EH3DjN2JUoHOGuEPOfYFe5wSceU0o -ExppSZMqq9x7j5UJTmTtdpdl5/EAwH9kSg1q2eC9MqzL+/SwubAfhjXKsV05IXAj -LGPckQECgYEA0IDX4ClP5V/zgvwf008J6cRyUY711nN4RSi5/kyPU/zdxAI84ENB -v2THSAZtZa9V1xL1zTQncAM8YNQdjRnU3GSI2S8/XgHoQfk+qWRasXuA8qeiEQMU -nThzNzuMNLMjuENO7Z7DIdZyoP8g+1DCJUYKSxTyBSD8f0UVOHNbsTkCgYEA+o0Q -QSO5owtC2fg0mLC2FidpIrnpon3AiluTbo7AeV9JmNmoDjuLC+Wk4+OBQqqC8bso -YZvdwGj6VT0NsrIm14dMaAc8857BfkDVbPcdyge9r/syyAn4INGHJYDVX/3gSxBp -ftCW/wPpSzdHwsOxLV36whN542cZSYGoHRCJCcsCgYBT/zP4qGv5ehg98phXpoXV -2UA8vx0m0cnoAqo7Wlh7e2lT55ritfWsx0rJJ123E1W/mXHQw2wH4iXW1F07VOa+ -CvpelHwwwQ/yVBj8YONwkNK37vSJafZKCE3SOHkZWfnP573KWKU/4oa3eVCuLjCo -l3jaGowNqOZP12LfJQoRcQKBgE5mM47eeekNzgZch0C8Es4N2PUXzYad6NCiZRi0 -LIAOE/5zJQYHFbRMUHNKrhjJOB4h3Tnlxta9Qo/HgfDHlCXe3Uaz9RuaMpup996X -2Mdt8qoNZU945x6F0c8naB0YWMXERe57oLP9alOx4Y+NInS6sotmAr7odN4uZwdp -NChPAoGBALPk/U8ZlpBqKAxS8+QQeIf7Pgw6xDO4m6O9HapUJjziJiqHFYaF4N00 -FYWCWS6QStxA8s0gjbSYRks2w70tZPZ4A6XekyKO1LJpjRBidc6jUd2tW6G+pWoA -hD49VqDiDqp8ZZnJ7pigt4bMFfc6tDX6p8WYwjrbxdUlRIGdJLEn ------END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.crt b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.crt deleted file mode 100644 index e0ab009be..000000000 --- a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.crt +++ /dev/null @@ -1,63 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIF6zCCBFOgAwIBAgIQAMjMoQTwCjMaTVb9vE4iZzANBgkqhkiG9w0BAQwFADBZ -MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg -SW5jLjEjMCEGA1UEAxMaVHJ1c3RBc2lhIFJTQSBEViBUTFMgQ0EgRzIwHhcNMjQx -MDEyMDAwMDAwWhcNMjUwMTEwMjM1OTU5WjAYMRYwFAYDVQQDEw1vYS50aHR6anQu -Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzBC3BOocaOthWcz/ -61Z1Rd4rUNKZiXzmjVnD8zMW2W37c4IMz+xf8ZL4wnJE+lnskK4AiwSu43tyvuxI -2t+NyBdQpvsImHOwZlaN+RqMrcaTitRZ3nV5RXNc/l2Tt6d7Yma6HAMG//0jLmDB -CKvn+uqhjOc3qXV175YUvY7Kxzy6Jc/K0FoG5zIXfXRK351hGr+/LaoLvlXzl79D -hRXV4CCmGJ9frXOsUBAdhlYGJxq3Mg+N8sW/bu+GG6odR8UR3tmSRTEf2jKBQ5sN -dJje4nUJFLNB9ajeZCDPMJYUSKqMMfwDvbxdpOYdK64IVEEdV4clI1EzbWYIW8Js -GnGJMwIDAQABo4ICbjCCAmowHwYDVR0jBBgwFoAUXzp8ERB+DGdxYdyLo7UAA2f1 -VxwwHQYDVR0OBBYEFJRRoYmVo/QO3y1845F3RbeyxgQsMA4GA1UdDwEB/wQEAwIF -oDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBJ -BgNVHSAEQjBAMDQGCysGAQQBsjEBAgIxMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8v -c2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATB9BggrBgEFBQcBAQRxMG8wQgYIKwYB -BQUHMAKGNmh0dHA6Ly9jcnQudHJ1c3QtcHJvdmlkZXIuY24vVHJ1c3RBc2lhUlNB -RFZUTFNDQUcyLmNydDApBggrBgEFBQcwAYYdaHR0cDovL29jc3AudHJ1c3QtcHJv -dmlkZXIuY24wggEFBgorBgEEAdZ5AgQCBIH2BIHzAPEAdwDPEVbu1S58r/OHW9lp -LpvpGnFnSrAX7KwB0lt3zsw7CAAAAZJ+RseoAAAEAwBIMEYCIQCaSCNFfsw0krFi -W+/oNJShLmbpgVa8gsk0RVyGPnQ1JAIhAMnqk3AMhqyOdeG/zaoJaKuwOoGs8D+Z -e435nbwKKQ4ZAHYAzPsPaoVxCWX+lZtTzumyfCLphVwNl422qX5UwP5MDbAAAAGS -fkbHrAAABAMARzBFAiAGH2TJzVXeS96YkSvVQH+kz4ZWiQbn0IGDVxqwUJTQOgIh -AJ0vCQIgu5LCNLPABwRH//pyCsogwfg/MPc0aYsQLXRzMBgGA1UdEQQRMA+CDW9h -LnRodHpqdC5jb20wDQYJKoZIhvcNAQEMBQADggGBAFw9IeTA6HoD44P8kmVvxxat -KcTW4iUgap7h1nzzH5oVpjQkyIWeGzgUvJgS6vLE90Y1JWpH1YJXnnahehxh4vyW -y/jEp+Lbfp6m2tQl109AkD6+RzZoChs07CA471VY90LSqKanePYdIq3CYUeF0JOL -U44OHxJOkJ21mt4H9S46d6a4rcC5nowhmTddIRTDm5vBLypqpN5xw0Pyop720Sjx -FaXNqQgymeLGJ3MR92jiINlYNN1LDfIybHkboBCFK1tvEycleQOrpTzk8O8X1JF+ -Luy5hTgQhSl1WTjxL0GRTPs34wJdG5BehDfjidsqjvVsvUYOth5h/U+TYd7zMSS6 -8Wzxc58+GSuvDRJf8wJpeJGAo7M80bpgoXy0RRmXoW4uMp3J8EFlJbPHmiDomAgx -3wjjkBhIp1+btD14bfQRhM/L1k8cpCVE1CoCtQgcaKyhWRCgTw99gBOrE82pIu88 -zzYwnmBG+il6macJ2UNFORPKaxkfJKmymv/ndmrfDQ== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIFBzCCA++gAwIBAgIRALIM7VUuMaC/NDp1KHQ76aswDQYJKoZIhvcNAQELBQAw -ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV -BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0yMjAxMTAwMDAwMDBaFw0y -ODEyMzEyMzU5NTlaMFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEg -VGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIERWIFRM -UyBDQSBHMjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjGDe0GSaBs -Yl/VhMaTM6GhfR1TAt4mrhN8zfAMwEfLZth+N2ie5ULbW8YvSGzhqkDhGgSBlafm -qq05oeESrIJQyz24j7icGeGyIZ/jIChOOvjt4M8EVi3O0Se7E6RAgVYcX+QWVp5c -Sy+l7XrrtL/pDDL9Bngnq/DVfjCzm5ZYUb1PpyvYTP7trsV+yYOCNmmwQvB4yVjf -IIpHC1OcsPBntMUGeH1Eja4D+qJYhGOxX9kpa+2wTCW06L8T6OhkpJWYn5JYiht5 -8exjAR7b8Zi3DeG9oZO5o6Qvhl3f8uGU8lK1j9jCUN/18mI/5vZJ76i+hsgdlfZB -Rh5lmAQjD80M9TY+oD4MYUqB5XrigPfFAUwXFGehhlwCVw7y6+5kpbq/NpvM5Ba8 -SeQYUUuMA8RXpTtGlrrTPqJryfa55hTuX/ThhX4gcCVkbyujo0CYr+Uuc14IOyNY -1fD0/qORbllbgV41wiy/2ZUWZQUodqHWkjT1CwIMbQOY5jmrSYGBwwIDAQABo4IB -JjCCASIwHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYE -FF86fBEQfgxncWHci6O1AANn9VccMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8E -CDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAiBgNVHSAE -GzAZMA0GCysGAQQBsjEBAgIxMAgGBmeBDAECATBDBgNVHR8EPDA6MDigNqA0hjJo -dHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNy -bDA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k -b2NhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAHMUom5cxIje2IiFU7mOCsBr2F6CY -eU5cyfQ/Aep9kAXYUDuWsaT85721JxeXFYkf4D/cgNd9+hxT8ZeDOJrn+ysqR7NO -2K9AdqTdIY2uZPKmvgHOkvH2gQD6jc05eSPOwdY/10IPvmpgUKaGOa/tyygL8Og4 -3tYyoHipMMnS4OiYKakDJny0XVuchIP7ZMKiP07Q3FIuSS4omzR77kmc75/6Q9dP -v4wa90UCOn1j6r7WhMmX3eT3Gsdj3WMe9bYD0AFuqa6MDyjIeXq08mVGraXiw73s -Zale8OMckn/BU3O/3aFNLHLfET2H2hT6Wb3nwxjpLIfXmSVcVd8A58XH0g== ------END CERTIFICATE----- \ No newline at end of file diff --git a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.pem b/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.pem deleted file mode 100644 index e0ab009be..000000000 --- a/nginx/oa.thtzjt.com_nginx/oa.thtzjt.com_bundle.pem +++ /dev/null @@ -1,63 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIF6zCCBFOgAwIBAgIQAMjMoQTwCjMaTVb9vE4iZzANBgkqhkiG9w0BAQwFADBZ -MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg -SW5jLjEjMCEGA1UEAxMaVHJ1c3RBc2lhIFJTQSBEViBUTFMgQ0EgRzIwHhcNMjQx -MDEyMDAwMDAwWhcNMjUwMTEwMjM1OTU5WjAYMRYwFAYDVQQDEw1vYS50aHR6anQu -Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzBC3BOocaOthWcz/ -61Z1Rd4rUNKZiXzmjVnD8zMW2W37c4IMz+xf8ZL4wnJE+lnskK4AiwSu43tyvuxI -2t+NyBdQpvsImHOwZlaN+RqMrcaTitRZ3nV5RXNc/l2Tt6d7Yma6HAMG//0jLmDB -CKvn+uqhjOc3qXV175YUvY7Kxzy6Jc/K0FoG5zIXfXRK351hGr+/LaoLvlXzl79D -hRXV4CCmGJ9frXOsUBAdhlYGJxq3Mg+N8sW/bu+GG6odR8UR3tmSRTEf2jKBQ5sN -dJje4nUJFLNB9ajeZCDPMJYUSKqMMfwDvbxdpOYdK64IVEEdV4clI1EzbWYIW8Js -GnGJMwIDAQABo4ICbjCCAmowHwYDVR0jBBgwFoAUXzp8ERB+DGdxYdyLo7UAA2f1 -VxwwHQYDVR0OBBYEFJRRoYmVo/QO3y1845F3RbeyxgQsMA4GA1UdDwEB/wQEAwIF -oDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBJ -BgNVHSAEQjBAMDQGCysGAQQBsjEBAgIxMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8v -c2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATB9BggrBgEFBQcBAQRxMG8wQgYIKwYB -BQUHMAKGNmh0dHA6Ly9jcnQudHJ1c3QtcHJvdmlkZXIuY24vVHJ1c3RBc2lhUlNB -RFZUTFNDQUcyLmNydDApBggrBgEFBQcwAYYdaHR0cDovL29jc3AudHJ1c3QtcHJv -dmlkZXIuY24wggEFBgorBgEEAdZ5AgQCBIH2BIHzAPEAdwDPEVbu1S58r/OHW9lp -LpvpGnFnSrAX7KwB0lt3zsw7CAAAAZJ+RseoAAAEAwBIMEYCIQCaSCNFfsw0krFi -W+/oNJShLmbpgVa8gsk0RVyGPnQ1JAIhAMnqk3AMhqyOdeG/zaoJaKuwOoGs8D+Z -e435nbwKKQ4ZAHYAzPsPaoVxCWX+lZtTzumyfCLphVwNl422qX5UwP5MDbAAAAGS -fkbHrAAABAMARzBFAiAGH2TJzVXeS96YkSvVQH+kz4ZWiQbn0IGDVxqwUJTQOgIh -AJ0vCQIgu5LCNLPABwRH//pyCsogwfg/MPc0aYsQLXRzMBgGA1UdEQQRMA+CDW9h -LnRodHpqdC5jb20wDQYJKoZIhvcNAQEMBQADggGBAFw9IeTA6HoD44P8kmVvxxat -KcTW4iUgap7h1nzzH5oVpjQkyIWeGzgUvJgS6vLE90Y1JWpH1YJXnnahehxh4vyW -y/jEp+Lbfp6m2tQl109AkD6+RzZoChs07CA471VY90LSqKanePYdIq3CYUeF0JOL -U44OHxJOkJ21mt4H9S46d6a4rcC5nowhmTddIRTDm5vBLypqpN5xw0Pyop720Sjx -FaXNqQgymeLGJ3MR92jiINlYNN1LDfIybHkboBCFK1tvEycleQOrpTzk8O8X1JF+ -Luy5hTgQhSl1WTjxL0GRTPs34wJdG5BehDfjidsqjvVsvUYOth5h/U+TYd7zMSS6 -8Wzxc58+GSuvDRJf8wJpeJGAo7M80bpgoXy0RRmXoW4uMp3J8EFlJbPHmiDomAgx -3wjjkBhIp1+btD14bfQRhM/L1k8cpCVE1CoCtQgcaKyhWRCgTw99gBOrE82pIu88 -zzYwnmBG+il6macJ2UNFORPKaxkfJKmymv/ndmrfDQ== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIFBzCCA++gAwIBAgIRALIM7VUuMaC/NDp1KHQ76aswDQYJKoZIhvcNAQELBQAw -ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV -BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0yMjAxMTAwMDAwMDBaFw0y -ODEyMzEyMzU5NTlaMFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEg -VGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIERWIFRM -UyBDQSBHMjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjGDe0GSaBs -Yl/VhMaTM6GhfR1TAt4mrhN8zfAMwEfLZth+N2ie5ULbW8YvSGzhqkDhGgSBlafm -qq05oeESrIJQyz24j7icGeGyIZ/jIChOOvjt4M8EVi3O0Se7E6RAgVYcX+QWVp5c -Sy+l7XrrtL/pDDL9Bngnq/DVfjCzm5ZYUb1PpyvYTP7trsV+yYOCNmmwQvB4yVjf -IIpHC1OcsPBntMUGeH1Eja4D+qJYhGOxX9kpa+2wTCW06L8T6OhkpJWYn5JYiht5 -8exjAR7b8Zi3DeG9oZO5o6Qvhl3f8uGU8lK1j9jCUN/18mI/5vZJ76i+hsgdlfZB -Rh5lmAQjD80M9TY+oD4MYUqB5XrigPfFAUwXFGehhlwCVw7y6+5kpbq/NpvM5Ba8 -SeQYUUuMA8RXpTtGlrrTPqJryfa55hTuX/ThhX4gcCVkbyujo0CYr+Uuc14IOyNY -1fD0/qORbllbgV41wiy/2ZUWZQUodqHWkjT1CwIMbQOY5jmrSYGBwwIDAQABo4IB -JjCCASIwHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYE -FF86fBEQfgxncWHci6O1AANn9VccMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8E -CDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAiBgNVHSAE -GzAZMA0GCysGAQQBsjEBAgIxMAgGBmeBDAECATBDBgNVHR8EPDA6MDigNqA0hjJo -dHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNy -bDA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k -b2NhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAHMUom5cxIje2IiFU7mOCsBr2F6CY -eU5cyfQ/Aep9kAXYUDuWsaT85721JxeXFYkf4D/cgNd9+hxT8ZeDOJrn+ysqR7NO -2K9AdqTdIY2uZPKmvgHOkvH2gQD6jc05eSPOwdY/10IPvmpgUKaGOa/tyygL8Og4 -3tYyoHipMMnS4OiYKakDJny0XVuchIP7ZMKiP07Q3FIuSS4omzR77kmc75/6Q9dP -v4wa90UCOn1j6r7WhMmX3eT3Gsdj3WMe9bYD0AFuqa6MDyjIeXq08mVGraXiw73s -Zale8OMckn/BU3O/3aFNLHLfET2H2hT6Wb3nwxjpLIfXmSVcVd8A58XH0g== ------END CERTIFICATE----- \ No newline at end of file From 84e7814e05cfa0a32447dee8574bc1e8322d6409 Mon Sep 17 00:00:00 2001 From: zhouzhou <123@qq.com> Date: Tue, 15 Oct 2024 10:15:43 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_property/models/yuthon_property.py | 1 + 1 file changed, 1 insertion(+) diff --git a/yuthon_property/models/yuthon_property.py b/yuthon_property/models/yuthon_property.py index c437043e1..64c805d64 100644 --- a/yuthon_property/models/yuthon_property.py +++ b/yuthon_property/models/yuthon_property.py @@ -48,6 +48,7 @@ class YuthonProperty(models.Model): management_area = fields.Float(string="管理面积") rentable_area = fields.Float(string="可租面积") is_meter = fields.Boolean(string="是否支持多个水表") + is_electricity_meter = fields.Boolean(string="是否支持多个电表") is_hvac = fields.Boolean(string="是否中央空调") manage_standard = fields.Char(string="物业管理费标准") From 9c130842dd6e92e3b1d9e8bd364344421fd0c0f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Tue, 15 Oct 2024 11:18:47 +0800 Subject: [PATCH 4/4] pengyuthon --- ylhc_list/__init__.py | 1 + ylhc_list/__manifest__.py | 29 ++++ ylhc_list/security/ir.model.access.csv | 2 + ylhc_list/static/description/icon.png | Bin 0 -> 63747 bytes ylhc_list/static/src/ylhc_list_controller.js | 9 ++ ylhc_list/static/src/ylhc_list_renderer.js | 136 ++++++++++++++++ ylhc_list/static/src/ylhc_list_renderer.xml | 154 +++++++++++++++++++ ylhc_list/static/src/ylhc_list_view.js | 21 +++ ylhc_list/static/src/ylhc_list_view.scss | 9 ++ ylhc_list/static/src/ylhc_record.js | 21 +++ ylhc_list/static/src/ylhc_relation_model.js | 23 +++ 11 files changed, 405 insertions(+) create mode 100644 ylhc_list/__init__.py create mode 100644 ylhc_list/__manifest__.py create mode 100644 ylhc_list/security/ir.model.access.csv create mode 100644 ylhc_list/static/description/icon.png create mode 100644 ylhc_list/static/src/ylhc_list_controller.js create mode 100644 ylhc_list/static/src/ylhc_list_renderer.js create mode 100644 ylhc_list/static/src/ylhc_list_renderer.xml create mode 100644 ylhc_list/static/src/ylhc_list_view.js create mode 100644 ylhc_list/static/src/ylhc_list_view.scss create mode 100644 ylhc_list/static/src/ylhc_record.js create mode 100644 ylhc_list/static/src/ylhc_relation_model.js diff --git a/ylhc_list/__init__.py b/ylhc_list/__init__.py new file mode 100644 index 000000000..40a96afc6 --- /dev/null +++ b/ylhc_list/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/ylhc_list/__manifest__.py b/ylhc_list/__manifest__.py new file mode 100644 index 000000000..3d1d2b275 --- /dev/null +++ b/ylhc_list/__manifest__.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +{ + 'name': "ylhc_list", + + 'summary': "advance list for odoo", + + 'description': """ + advance list + fixed column list + """, + + 'author': "crax", + 'website': "https://www.ylhc.com", + + 'category': 'apps/list', + 'version': '17.0.0.1', + + 'depends': ['base', 'web'], + 'price': 9999, + + 'data': [], + + 'assets': { + 'web.assets_backend': [ + 'ylhc_list/static/src/*.*' + ] + } +} + diff --git a/ylhc_list/security/ir.model.access.csv b/ylhc_list/security/ir.model.access.csv new file mode 100644 index 000000000..416457828 --- /dev/null +++ b/ylhc_list/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_xc_list_xc_list,xc_list.xc_list,model_xc_list_xc_list,base.group_user,1,1,1,1 diff --git a/ylhc_list/static/description/icon.png b/ylhc_list/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bcbdbf091cb3610d6006ddc78e6ec2e10669e4c2 GIT binary patch literal 63747 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 literal 0 HcmV?d00001 diff --git a/ylhc_list/static/src/ylhc_list_controller.js b/ylhc_list/static/src/ylhc_list_controller.js new file mode 100644 index 000000000..ed845f066 --- /dev/null +++ b/ylhc_list/static/src/ylhc_list_controller.js @@ -0,0 +1,9 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { ListController } from "@web/views/list/list_controller"; + +export class YlhcListController extends ListController { + +} + diff --git a/ylhc_list/static/src/ylhc_list_renderer.js b/ylhc_list/static/src/ylhc_list_renderer.js new file mode 100644 index 000000000..88e8806a0 --- /dev/null +++ b/ylhc_list/static/src/ylhc_list_renderer.js @@ -0,0 +1,136 @@ +/** @odoo-module **/ + +import { ListRenderer } from "@web/views/list/list_renderer"; +import { _t } from "@web/core/l10n/translation"; +import { xml } from "@odoo/owl"; + +export class YlhcListRenderer extends ListRenderer { + + setup() { + super.setup(); + + this.hasExpander = this._hasExpander(); + this.subRowTemplate = this.getSubRowTemplate(); + } + + /** + * check if tree_column in column option + */ + isTreeColumn(column) { + return column.options.tree_column; + } + + isExpanderColumn(column) { + return column.options.expander; + } + + _hasExpander() { + let columns = this.state.columns || []; + for (let i = 0; i < columns.length; i++) { + if (this.isExpanderColumn(columns[i])) { + return true; + } + } + return false; + } + + getSubRowTemplate() { + let columns = this.state.columns || []; + for (let i = 0; i < columns.length; i++) { + if (this.isExpanderColumn(columns[i])) { + let sub_row_template = columns[i].options.sub_row_template; + if (columns[i].options.sub_row_template) { + return sub_row_template; + } + } + } + return xml`

`; + } + + getSubRowColumnSpan() { + let columns = this.state.columns || []; + if (this.hasSelectors) { + return columns.length + 1; + } + return columns.length; + } + + /** + * parent_path is used to check if the column is a tree column + */ + checkParentPath() { + let columns = this.state.columns || []; + // find parent path + let parentPath = columns.find(column => column.name == 'parent_path'); + if (parentPath) { + return true; + } + return false; + } + + getTreeLevel(record) { + let parentPath = record.data.parent_path; + if (parentPath) { + return parentPath.split('/').length; + } + return 0; + } + + /** + * get children of a record + * @param {*} record + * */ + hasChildren(record) { + let records = this.props.list.records; + let index = records.indexOf(record); + let parent_path = record.data.parent_path; + for (let i = index + 1; i < records.length; i++) { + if (records[i].data.parent_path.startsWith(parent_path)) { + return true + } else { + break; + } + } + return false; + } + + getChildren(record) { + let records = this.props.list.records; + let index = records.indexOf(record); + let parent_path = record.data.parent_path; + let children = []; + for (let i = index + 1; i < records.length; i++) { + if (records[i].data.parent_path.startsWith(parent_path)) { + children.push(records[i]); + } else { + break; + } + } + return children; + } + + /** + * click the expand button + **/ + toggleRecord(record) { + let children = this.getChildren(record); + if (record.folded) { + for (let i = 0; i < children.length; i++) { + children[i].hide = false; + } + } else { + for (let i = 0; i < children.length; i++) { + children[i].hide = true; + } + } + record.folded = !record.folded; + this.render(); + } + + toggleExpander(record) { + record.sub_row_folded = !record.sub_row_folded; + this.render(); + } +} + +YlhcListRenderer.recordRowTemplate = "ylhc_list.ListRenderer.RecordRow"; diff --git a/ylhc_list/static/src/ylhc_list_renderer.xml b/ylhc_list/static/src/ylhc_list_renderer.xml new file mode 100644 index 000000000..940a22779 --- /dev/null +++ b/ylhc_list/static/src/ylhc_list_renderer.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +