小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Redmine 管理員手冊

 everydayOK 2015-10-26

11   高級配置

11.1   版本庫配置

  • 常規(guī)信息

    Redmine一直以來支持不同的版本控制工具集成: Subversion, CVS, Mercurial, Darcs, Git和Bazaar。

    首先你要在Redmine主機上安裝合適的二進制包, 并確保這些二進制文件在PATH環(huán)境變量中可用:

    SCM

    已測試過的版本

    說明

    Subversion

    1.3 & 1.4 & 1.5 & 1.6

    需要1.3或者更高的版本

    CVS

    1.12.12

    需要1.12,不能同時使用CVSNT

    Mercurial

    0.9.3

     

    Bazaar

    l.0.0.candidate.1 & 2.0.4

     

    Darcs

    1.0.7

     

    Git

    1.5.4.2

     

    比如, 如果你想用Redmine訪問Subverion版本庫, 你必須在Redmine主機上安裝SVN二進制文件。

  • 給項目添加一個已經(jīng)存在的版本庫

    在項目配置選項卡下有 版本庫 子選項庫, 在這里可以為項目添加版本庫。

    選擇你所使用的版本庫類型, 并輸入版本庫路徑或者URL

    Note

    當配置完版本庫第一次訪問時, Redmine將抓取版本庫中已經(jīng)存在的所有提交信息, 并存入數(shù)據(jù)庫。所以如果你的版本庫特別大, 那么該過程將會很長。

    為了避免這種情況, 你可以將該過程放在后臺執(zhí)行。

    在配置完版本庫后, 運行下面的命令:

    $ ruby script/runner "Repository.fetch_changesets" -e production
    

    所有的提交將會被存入數(shù)據(jù)庫

    從Redmine0.9之后, 你還可以通過一個鏈接給某一項目或者所有項目執(zhí)行 fetch_changesets:

    http://redmine./sys/fetch_changesets (給所有活動的項目取回變更集)
    http://redmine./sys/fetch_changesets?id=foo (僅給foo項目取回變更集)
    
  • Subversion 版本庫

    Redmine支持的協(xié)議有(http:,svn:,file:), 只需要輸入版本庫的URL

    例如:

    http://host/path/to/the/repository
    

    如果版本庫需要身份認證, 你需要額外輸入用戶名和密碼

    Note

    如果你想要用 svn+ssh:// 訪問版本庫, 你必須把svn+ssh配置為非交互的方式。

    同時需要設置ssh認證的 public/private 鑰對

    Hint

    Subversion 基于路徑的授權

    Redmine對Subversion授權是這樣處理的: 在配置Subversion版本庫時, 除了輸入URL外, 還需填寫一個擁有Subversion讀權限的賬戶信息(如果你的Subversion不允許匿名訪問)。 顯然很多商業(yè)公司的代碼有很高的嚴密性, 大多是不允許匿名訪問的,看來是必填了。 而Redmine對Subversion認證不嚴格也是從這里開始的。 填寫了這個賬戶之后, 不管哪個用戶登錄Redmine瀏覽版本庫, 看到的版本庫信息都是該賬戶應該能看到的, 而不是當前登錄用戶應該看到的。 也就是說, 在這種情況下, 如果你想對代碼瀏覽嚴加控制, 那么就需要創(chuàng)建一個很低權限的Subversion賬號, 用這個賬號作為Redmine訪問Subversion的賬號。 但這樣一來, 那些具有高權限的用戶就不樂意了(他們本來是能看到很多代碼的, 但這樣一來他們的權限無形之中被剝奪了)。

    為了滿足商業(yè)軟件公司的需求, 群英匯對Redmine關于Subversion授權的部分進行了擴展, 采用Subversion本身的授權模式。 我們添加了解析Subversion授權文件的組件, 可以很好地解析每個用戶的權限, 從而保證Redmine瀏覽權限和Subversion定義的權限一致, 完美解決了Redmine中Subversion授權不嚴格的問題, 實現(xiàn)了Subversion基于路徑的授權。

    配置步驟, 參見 Subversion基于路徑授權

  • CVS 版本庫

    輸入:

    • 版本庫的URL (也可以輸入路徑或者鏈接字符串, 例如 :pserver)
    • 模組名稱

    示例:

    :pserver:login:password@host:/path/to/the/repository
    

    以下幾種版本庫輸入版本庫的路徑即可

  • Git 版本庫

  • Mercurial 版本庫

    Hint

    解決了中文版Mercurial版本庫無法使用的問題

    由于Redmine在匹配Mercurial版本信息時是基于英語匹配的, 所以當我們使用中文Mercurial時, 它會拋出匹配失敗的異常, 造成中文用戶不能使用。

  • Bazaar 版本庫

  • Darcs 版本庫

11.2   發(fā)送郵件配置

首先將 config/email.yml.example 重命名為 config/email.yml

然后配置發(fā)送郵件需要的參數(shù):

production:
  delivery_method: :smtp
  smtp_settings:
    address: mail.foo.bar
    port: 25
    domain: foo.bar
  # authentication: :login
  # user_name: xxx
  # password: xxx

注意: 用#注銷掉的那三行信息,是郵件服務器身份驗證信息。但是如果你的用戶已經(jīng)使用了域驗證,就不需要那三行信息。

訪問redmine,以管理員的身份登錄系統(tǒng),點擊"管理"—->""配置"—->"郵件通知",然后點擊右下角的"發(fā)送測試郵件",就可以測試你的郵件服務配置是否成功了。

Note

當delivery_method設置為:smtp時, 它的處理流程是這樣的:

在觸發(fā)郵件發(fā)生的事件發(fā)生后, 首先發(fā)送郵件, 直到郵件發(fā)送完畢, 頁面才跳轉。 這就是說在發(fā)送郵件的過程中, 頁面一直處于等待狀態(tài)。 那么有沒有一種異步發(fā)送郵件機制呢?

在Redmien 0.9 之后, 可通過將delivery_method設置為: async_smtp, 這時發(fā)送郵件和頁面跳轉屬于不同的線程, 當觸發(fā)郵件的事件發(fā)生后, 發(fā)送郵件將會通過消息隊列在后臺執(zhí)行, 而頁面繼續(xù)向下執(zhí)行, 不用等到郵件發(fā)送完畢。

11.3   接收郵件

從Redmien-0.8.0 開始, 通過配置, 你可以以發(fā)送郵件的方式創(chuàng)建或者評論問題(issue)。

11.3.1   方案

你可以通過以下幾種方式配置Redmine接收郵件的功能:

  • 從郵件服務器轉發(fā)郵件
    • 優(yōu)點: 與遠程郵件服務器協(xié)作,郵件處理即時,快速(無環(huán)境重載)
    • 缺點: 需要一些郵件傳輸代理(MTA)的配置(如Postfix,Sendmail...)
  • 從IMAP或者POP3服務器讀取郵件
    • 優(yōu)點: 易于安裝, 不需要配置郵件傳輸代理(MTA), 與遠程郵件服務器協(xié)作
    • 缺點: 郵件處理不即時(需要添加一個定期讀取郵件的 con job)
  • 從標準輸入讀取郵件
    • 優(yōu)點: 用于測試的最佳選項
    • 缺點: 慢(每次讀取郵件時都要重新載入環(huán)境), 需要配置郵件傳輸代理(MTA)

11.3.2   各種方案的詳細說明

11.3.2.1   從郵件服務器轉發(fā)郵件

用一個獨立的腳本轉發(fā)郵件服務器發(fā)來的郵件。這個腳本從標準輸入讀取原始郵件并通過HTTP請求轉發(fā)給Redmine。 該腳本在redmine目錄下: extra/mail_handler/rdm-mailhandler.rb

  • 使用這項功能之前, 你需要開啟接收郵件的API:

    開啟操作: "管理"->"配置"->"接收郵件", 選中開啟接收郵件服務的復選框,并點擊鏈接"生成一個key",產(chǎn)生一個密鑰。

  • 復制 rdm-mailhandler.rb 到你的郵件服務器, 確保該腳本有執(zhí)行的權限并配置你的郵件傳輸代理(MTA)。

  • rdm-mailhandler 用法:

    rdm-mailhandler [options] --url=<Redmine URL> --key=<API key>
    必須選項:
    -u, --url                      Redmine服務的URL
    -k, --key                      Redmine API key
    常用可選選項:
    -h, --help                     顯示幫助信息
    -v, --verbose                  顯示額外的信息
    -V, --version                  顯示版本信息
    
  • 問題屬性可控的選項:

    -p, --project=PROJECT          項目的標識符
    -t, --tracker=TRACKER          跟蹤標簽的類型
    --category=CATEGORY            問題類別的名稱
    --priority=PRIORITY            優(yōu)先級的名稱
    -o, --allow-override=ATTRS     允許在郵件里覆蓋先前已指定的屬性,多個屬性之間用逗號分開
    
  • 示例:

    # 沒有指定項目,那么在郵件內(nèi)容里必須包含“Project”關鍵字,否則Redmine將不處理該郵件
    rdm-mailhandler --url http://redmine.o --key secret
    # 設置默認的項目和跟蹤標簽類型,同時可以在郵件內(nèi)容里覆蓋tracker和priority選項
    rdm-mailhandler --url https://o/redmine --key secret \                --project foo \                --tracker 錯誤 \                --allow-override tracker,priority
    
  • 下面是一個Postfix的例子:

    foo: "|/path/to/rdm-mailhandler.rb --url http://main --key secret --project foo"
    

11.3.2.2   從IMAP服務器讀取郵件

redmine提供了一個rake任務(redmine:email:receive_imap)負責從IMAP服務器讀取郵件。

當cron 運行該rake命令時你需要使用選項 -f /path/to/redmine/appdir/Rakefile, 因為不這樣的話會出現(xiàn)找不到rakefile的異常。

下面是一個定期每30分鐘讀取一次郵件的cron文件:

*/30 * * * * redmineuser rake -f /path/to/redmine/appdir/Rakefile redmine:email:receive_imap RAILS_ENV="production" host=imap.foo.bar username=redmine@somenet.foo password=xxx

如果你的設置正常工作,但經(jīng)常收到cron daemon發(fā)送的郵件,你可以在rake命令后添加 --silent選項禁止執(zhí)行命令的輸出信息。下面是禁止每次執(zhí)行cron命令時發(fā)送郵件的示例:

*/30 * * * * redmineuser rake -f /path/to/redmine/appdir/Rakefile --silent redmine:email:receive_imap RAILS_ENV="production" host=imap.foo.bar username=redmine@somenet.foo password=xxx

說明: 在 cron 文件中,這個命令必須位于一行上

如果用Windows作為服務器, pycron可以用于調(diào)度讀取郵件的任務。 同時需要你修改防火墻設置, 打開同通過TCP鏈接IMAP的143端口。

可用的IMAP選項:

host=HOST                IMAP服務主機(*默認值: 127.0.0.1*)
port=PORT                IMAP服務端口(*默認值: 143*)
ssl=SSL                  是否使用SSL?(*默認值: false*)
username=USERNAME        IMAP賬號
password=PASSWORD        IMAP密碼
folder=FOLDER            將要讀取的IMAP文件夾(*默認值: INBOX*)
move_on_success=MAILBOX  將已成功讀取的郵件移動到MAILBOX中, 而不是刪除掉
move_on_failure=MAILBOX  將Redmine忽略的郵件移動到MAILBOX中

問題(issue)屬性可控選項:

project=PROJECT          項目標識符
tracker=TRACKER          跟蹤標簽類型
category=CATEGORY        問題類別名稱
priority=PRIORITY        優(yōu)先級名稱
allow_override=ATTRS     允許在郵件內(nèi)容里覆蓋先前已指定的屬性,多個屬性之間用逗號隔開

rake命令的一個例子:

# 沒有指定項目, 這時郵件內(nèi)容里必須包含"Project"關鍵字
rake redmine:email:receive_imap RAILS_ENV="production" \     host=imap.foo.bar username=redmine@somenet.foo password=xxx
# 指定默認的項目和跟蹤標簽類型, 同時允許在郵件里覆蓋tracker和priority屬性的值
# both tracker and priority attributes:
rake redmine:email:receive_imap RAILS_ENV="production" \     host=imap.foo.bar username=redmine@somenet.foo password=xxx ssl=1 \     project=foo \     tracker=錯誤 \     allow_override=tracker,priority
# 將成功處理的郵件轉移到"read"mailbox中,失敗的則轉移到"failed"mailbox中
rake redmine:email:receive_imap RAILS_ENV="production" \     host=imap.foo.bar username=redmine@somenet.foo password=xxx \     move_on_success=read move_on_failure=failed

忽略的郵件(包括未知用戶、未知項目以及來自redmine禁用帳戶的郵件)被標記為'已讀',而不是從IMAP服務器中刪除。

選項 allow_override 不僅僅覆蓋rake的默認值, 而且可以覆蓋郵件里的所有屬性。 例如,你要覆蓋tracker, 你可以添加參數(shù): allow_override=tracker

11.3.2.3   從POP3服務器讀取郵件

僅在trunk和1.0以后的版本可用

redmine提供的rake任務(redmine:email:receive_pop3)可以用于從POP3讀取郵件

POP3可用的選項:

  host=HOST                POP3服務主機(*默認值: 127.0.0.1*)
  port=PORT                POP3服務端口(*默認值: 110*)
  username=USERNAME        POP3賬號
  password=PASSWORD        POP3密碼
  apop=1                   是否使用APOP認證(_默認值: false_)
  delete_unprocessed=1     從服務器上刪除不能成功處理的消息(*默認情況是繼續(xù)保存在服務器上*)

關于問題屬性的可控選項可以參考上面IMAP章節(jié)

11.3.2.4   從標準輸入讀取郵件

redmine提供的rake任務(redmine:email:receive)用于從標準輸入讀取單個的原始郵件

問題屬性可控的選項:

project=PROJECT          項目標識符
tracker=TRACKER          跟蹤標簽類型
category=CATEGORY        問題類別名稱
priority=PRIORITY        優(yōu)先級名稱
allow_override=ATTRS     允許在郵件內(nèi)容里覆蓋先前已指定的屬性,多個屬性之間用逗號隔開

示例:

# 沒有指定項目,這時郵件里必須包含“Project”關鍵
rake redmine:email:read RAILS_ENV="production" < raw_email
# 指定默認的項目和跟蹤標簽類型,并且允許在郵件里覆蓋tracker和priority選項
# both tracker and priority attributes:
rake redmine:email:read RAILS_ENV="production" \     project=foo \     tracker=錯誤 \     allow_override=tracker,priority < raw_email

選項 allow_override 不僅僅覆蓋rake的默認值, 而且可以覆蓋郵件里的所有屬性。 例如,你要覆蓋tracker, 你可以添加參數(shù): allow_override=tracker。

11.3.3   開啟匿名用戶通過郵件提交問題

為了開啟該選項,需要添加額外參數(shù):

unknown_user=ACTION 當收到未知用戶郵件時,應該采用哪種ACTION。以下是ACTION可用的值:
ignore: 郵件將被忽略(默認值)
accept: 作為匿名用戶接收
create: 自動為該用戶創(chuàng)建一個賬號

no_permission_check=1 當收到郵件時禁用權限檢查功能

11.3.4   工作原理

收到郵件后, Redmine從發(fā)件人地址中查找對應的賬號。 未知用戶和已鎖定的用戶將被忽略。

如果郵件主題包含像這樣的內(nèi)容" Re:[xxxxxx #123]", 那么該郵件將被作為問題(issue)#123的回復處理。

否則將會以郵件主題為問題的標題,新建一個問題(issue)

  • 目標項目:

    目標項目可以通過接收郵件里的project選項指定。 project應該用項目的ID而不是項目的名稱來指定。

    如果不使用該選項, 你需要在郵件內(nèi)容中指定問題關聯(lián)的項目。 你可以在郵件里添加這樣一行: "project:foo"。

    例子(郵件內(nèi)容):

    Project: foo
    在這里可以寫一些關于問題的描述信息
    

    你可以給項目選項指定一個默認的項目并允許并允許用戶通過 allow_override 選項覆蓋默認的項目。

    例子:

    #  指定默認項目,并允許用戶在郵件里覆蓋project屬性
    rake redmine:email:receive_imap [...] project=foo allow_override=project
    

    當然, 用戶的權限也會別檢查, 那些沒有創(chuàng)建問題(issue)的用戶發(fā)送的郵件將被忽略。

    同時必須確保目標項目沒有使用沒有設定默認值的用戶自定義問題(issue)字段, 否則創(chuàng)建問題(issue)將會失敗。

  • 問題(issue)屬性

    根據(jù)你使用的接收郵件選項(參考 allow_override 選項), 用戶可以在提交問題(issue)時覆蓋一些屬性。

    可以在郵件里用以下關鍵字實現(xiàn):Tracker, Category, Priority, Status。

    例子:

    # 這是一個新問題, 并將覆蓋一些屬性
    Project: foo
    Tracker: 錯誤
    Priority: 緊急
    Status: 反饋
    
  • 跟蹤者

    如果發(fā)送郵件的用戶有"添加問題(issue)跟蹤者"的權限, 郵件中To或者Cc字段里的用戶將作為新建問題(issue)的跟蹤者

  • 郵件格式以及附件

    Redmine用郵件的純文本部分填充問題(issues)的描述, 因此當收到一個僅有HTML的郵件, 那些HTML標簽將被刪除。

    郵件的附件將會自動附加給問題(issue), 除非超過了應用程序設置的附件最大值。

11.3.5   例子演示

以從IMAP服務器讀取郵件為例

添加一個Redmine從IMAP服務器讀取郵件的corn任務

wangsheng@pc01:/etc/cron.d$ cat receive_imap
# m h  dom mon dow  user  command
*/10 *  *   *   *    root rake -f /opt/redmine/web/Rakefile redmine:email:receive_imap RAILS_ENV="production" host=imap.foo.bar username=xxx@foo.bar password=xxxxxx allow_override=tracker

說明:

  • 這個任務會每隔10分鐘執(zhí)行一下那個rake命令
  • usernname最好跟"管理"->"配置"->"郵件通知"界面里的 郵件發(fā)件人地址 相同, 否則當你直接回復郵件更改問題時可能會出現(xiàn)收件人地址不可達的異常(如果你在該界面配置了一個不存在的郵件賬號)。 最理想的做法是給Redmine創(chuàng)建一個IMAP賬號, 寫在這里。

好了, 下面發(fā)送一個測試郵件:

收件人: rake里的username值

郵件標題:

# 這將是新建問題的標題
這是通過郵件提交的問題

郵件內(nèi)容:

# 由于在rake命令里沒有指定默認項目,所以這里必須指定項目
Project: foo
Tracker: 支持
下面可以寫一些關于問題的描述

說明: 該郵件將會創(chuàng)建一個"支持"類型的問題(issue)

如果10分鐘內(nèi),你訪問Redmine, 點擊問題選項卡, 看到了這個問題, 那么證明已經(jīng)成功配置。

11.4   發(fā)送提醒郵件

Redmine提供了一個rake任務, 它可以發(fā)送那些未來幾天之內(nèi)需要完成的問題的提醒郵件。

可用選項:

  • days: 設置幾日之內(nèi)的提醒郵件 默認值:7
  • tracker 跟蹤標簽的ID 默認:所有跟蹤標簽
  • project: ID或者項目標識符 默認:所有項目

下面是一個發(fā)送未來7天之內(nèi)需要解決的問題的提醒郵件示例, 問題的指派人將收到這封郵件:

rake redmine:send_reminders days=7 RAILS_ENV="production"
images/notify_mail.png

提醒郵件截圖.

11.5   LDAP 認證

Redmine一直以來都支持一個或者多個LDAP認證源。

以管理員身份登錄系統(tǒng), 點擊 管理 -> 配置 -> 認證 -> LDAP 認證, 即可進入LDAP認證頁面。

  • 新建LDAP認證

    在LDAP認證頁面, 點擊右上角的 新建認證模式 鏈接, 進入新建LDAP認證的頁面:

    • 名稱

      任意給你新建的LDAP起個名稱

    • 主機

      LDAP主機名稱, 也可以寫成LDAP主機的IP

    • 端口

      LDAP端口, 默認是 389

    • LDAPS

      如果你想用LDAPS訪問LDAP目錄, 那么你需要選中它

    • 賬號

      如果LDAP服務允許匿名用戶訪問, 則不填; 否則需要填寫一個能訪問LDAP的用戶名

    • 密碼

      和上面的賬號一起設置

    • Base DN

      LDAP目錄樹的頂級DN

    • 即時用戶生成

      選中該選項后, 任何LDAP用戶第一次登錄Redmine后, Redmine會將LDAP里"登錄名,名字,姓氏,郵箱地址"這些字段復制到Redmine的數(shù)據(jù)庫中, 從而為這些用戶創(chuàng)建了Redmine賬號。

    • 屬性區(qū)域

      在這里分別填寫LDAP的登錄屬性

      • 登錄名
      • 名字
      • 姓氏
      • 郵件地址

    一個典型的例子:

    Name     = My Directory
    Host     = host.domain.org
    Port     = 389
    LDAPS    = no
    Account  = MyDomain\UserName (or UserName@MyDomain depending on AD server)
    Password = <password>
    Base DN  = CN=users,DC=host,DC=domain,DC=org
    
    On-the-fly user creation = yes
    Attributes
    Login     = sAMAccountName
    Firstname = givenName
    Lastname  = sN
    Email     = mail
    

    創(chuàng)建之后頁面自動跳轉到LDAP認證頁面, 點擊"測試"鏈接測試你的設置設否能夠和LDAP服務器鏈接上

    Note

    • Base DN 變種

      如果鏈接失敗, 你可以將Base DN字段改為 "DC=host,DC=domian,DC=org"

    • LDAP屬性名稱大小寫敏感

images/LDAP.png

新建LDAP截圖

11.6   配置單點登錄

前提

  • 已經(jīng)配置好LDAP 參見 LDAP認證
  • 安裝配置Cosign

單點登錄配置步驟:

以管理員身份登錄Redmine, 點擊"管理"-->"配置"-->"認證", 進入認證配置頁面

在頁面的下方區(qū)域就是配置單點登錄的地方:

images/sso.png

配置單點登錄截圖

  • 單點登錄模式

    選擇是否開啟單點登錄。 如果開啟, 你需要根據(jù)安裝Cosign的具體版本選擇合適的Cosign登錄模式。 * 禁用 默認值 * CoSign 3.x 登錄模式 * CoSign 2.x 登錄模式

  • 登錄URL

  • 退出URL

  • 單點登錄服務名

11.7   從LDAP同步賬號

前提:

已經(jīng)配置好LDAP 參見 LDAP認證

操作步驟:

以管理員身份登錄Redmine, 點擊"管理"-->"配置"-->"認證"-->"LDAP認證(頁面右下角)", 進入LDAP認證頁面。

images/admin_asyn_account.png

從LDAP同步賬號截圖

如果你已經(jīng)配置有LDAP認證, 你會發(fā)現(xiàn)在LDAP認證列表中有一個"從LDAP添加用戶"的鏈接, 點擊它, 將跳轉到 從LDAP添加用戶 的頁面:

  • 上面是一個過濾器

    在這里可以對用戶列表進行過濾。 比如你想查找用戶 zhangsan 可以這么做:

    在過濾器的輸入框中輸入 uid=zhangsan, 點擊"應用"按鈕, 這時用戶列表就僅有 zhangsan 一個人的用戶信息了。

  • 下面是LDAP用戶信息列表

    想要同步賬號, 只需點擊前面那個復選框, 然后點擊"同步賬號"按鈕, 系統(tǒng)將自動完成Redmine賬號的建立。

11.8   Subversion 基于路徑授權

配置過程:

以管理員身份登錄Redmine, 選擇用Subversion作版本控制的項目, 點擊"配置"-->"版本庫", 進入版本庫配置頁面。

選擇Subverison, 這時你會發(fā)現(xiàn)多了兩個屬性:

  • 授權文件

    在這里輸入Subverion授權文件(svn.access)的全路徑。

  • 授權模組名稱

    輸入你想要通過Redmine瀏覽的項目(Subversion中每一個模組即代表一個項目)。

images/subversion_auth.png

配置Subversion基于路徑授權截圖

Note

如果你用的是http協(xié)議,而且svn不允許匿名訪問,那么為了讓所有用戶都能有效地看到自己應該看到的版本庫信息, 你需要創(chuàng)建一個對整個版本庫讀權限的賬號, 輸入到登錄名和密碼部分。 因為我們的Subverison權限檢查組件是在Redmine原來的基礎上, 對輸出的信息再次進行過濾。 所以如果你在這里輸入的賬號權限太低, 還是會出現(xiàn)一些高權限的用戶無法看到他們應該看到的內(nèi)容的現(xiàn)象。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多