修改密码最短要求为6,最长要求为32

This commit is contained in:
Gitea 2023-10-25 10:09:01 +08:00
parent c2b1a141c2
commit b05a7d3b76
245 changed files with 8780 additions and 8322 deletions

View File

@ -54,7 +54,7 @@ class Api::V1::UsersController < Api::V1::BaseController
def check_password
password = params[:password]
return tip_exception(-5, "8~16位密码支持字母数字和符号") unless password =~ CustomRegexp::PASSWORD
return tip_exception(-5, "6~32位密码,支持字母数字和符号") unless password =~ CustomRegexp::PASSWORD
return tip_exception(-5, "密码错误") unless @observe_user.check_password?(password)
render_ok
end

View File

@ -44,14 +44,14 @@ class BaseForm
def check_password(password)
password = strip(password)
raise PasswordFormatError, "密码8~16位密码支持字母数字和符号" unless password =~ CustomRegexp::PASSWORD
raise PasswordFormatError, "密码6~32位密码,支持字母数字和符号" unless password =~ CustomRegexp::PASSWORD
end
def check_password_confirmation(password, password_confirmation)
password = strip(password)
password_confirmation = strip(password_confirmation)
raise PasswordFormatError, "确认密码为8~16位密码支持字母数字和符号" unless password_confirmation =~ CustomRegexp::PASSWORD
raise PasswordFormatError, "确认密码为6~32位密码,支持字母数字和符号" unless password_confirmation =~ CustomRegexp::PASSWORD
raise PasswordConfirmationError, "两次输入的密码不一致" unless password == password_confirmation
end

View File

@ -4,5 +4,5 @@ class Users::LoginForm
attr_accessor :password, :login
validates :login, presence: true
validates :password, presence: true, length: { minimum: 6, maximum: 16 }, format: { with: CustomRegexp::LOGIN_PASSWORD, message: "6~16位,支持字母数字和符号" }
validates :password, presence: true, length: { minimum: 6, maximum: 32 }, format: { with: CustomRegexp::LOGIN_PASSWORD, message: "6~32位,支持字母数字和符号" }
end

View File

@ -3,5 +3,5 @@ class Users::UpdatePasswordForm
attr_accessor :password, :old_password
validates :password, presence: true, length: { minimum: 8, maximum: 16 }, format: { with: CustomRegexp::PASSWORD, message: "8~16位密码支持字母数字和符号" }
validates :password, presence: true, length: { minimum: 6, maximum: 32 }, format: { with: CustomRegexp::PASSWORD, message: "6~32位密码,支持字母数字和符号" }
end

View File

@ -8,8 +8,8 @@
# firstname :string(30) default(""), not null
# lastname :string(255) default(""), not null
# mail :string(60)
# admin :boolean default("0"), not null
# status :integer default("1"), not null
# admin :boolean default(FALSE), not null
# status :integer default(1), not null
# last_login_on :datetime
# language :string(5) default("")
# auth_source_id :integer
@ -20,36 +20,33 @@
# mail_notification :string(255) default(""), not null
# salt :string(64)
# gid :integer
# visits :integer default("0")
# excellent_teacher :integer default("0")
# excellent_student :integer default("0")
# visits :integer default(0)
# excellent_teacher :integer default(0)
# excellent_student :integer default(0)
# phone :string(255)
# authentication :boolean default("0")
# grade :integer default("0")
# experience :integer default("0")
# authentication :boolean default(FALSE)
# grade :integer default(0)
# experience :integer default(0)
# nickname :string(255)
# show_realname :boolean default("1")
# professional_certification :boolean default("0")
# show_realname :boolean default(TRUE)
# professional_certification :boolean default(FALSE)
# ID_number :string(255)
# certification :integer default("0")
# homepage_teacher :boolean default("0")
# homepage_engineer :boolean default("0")
# is_test :integer default("0")
# ecoder_user_id :integer default("0")
# business :boolean default("0")
# profile_completed :boolean default("0")
# certification :integer default(0)
# homepage_teacher :boolean default(FALSE)
# homepage_engineer :boolean default(FALSE)
# is_test :integer default(0)
# ecoder_user_id :integer default(0)
# business :boolean default(FALSE)
# profile_completed :boolean default(FALSE)
# laboratory_id :integer
# platform :string(255) default("0")
# platform :string(255) default(NULL)
# gitea_token :string(255)
# gitea_uid :integer
# is_shixun_marker :boolean default("0")
# is_sync_pwd :boolean default("1")
# watchers_count :integer default("0")
# devops_step :integer default("0")
# sign_cla :boolean default("0")
# enabling_cla :boolean default("0")
# id_card_verify :boolean default("0")
# website_permission :boolean default("0")
# is_shixun_marker :boolean default(FALSE)
# is_sync_pwd :boolean default(TRUE)
# watchers_count :integer default(0)
# devops_step :integer default(0)
# sign_cla :boolean default(FALSE)
#
# Indexes
#
@ -57,7 +54,7 @@
# index_users_on_homepage_engineer (homepage_engineer)
# index_users_on_homepage_teacher (homepage_teacher)
# index_users_on_laboratory_id (laboratory_id)
# index_users_on_login (login) UNIQUE
# index_users_on_login (login)
# index_users_on_mail (mail)
# index_users_on_type (type)
#
@ -123,20 +120,19 @@ class User < Owner
has_many :open_users, dependent: :destroy
has_one :wechat_open_user, class_name: 'OpenUsers::Wechat'
has_one :qq_open_user, class_name: 'OpenUsers::Qq'
has_one :identity_verification
accepts_nested_attributes_for :user_extension, update_only: true
has_many :fork_users, dependent: :destroy
has_many :versions
has_many :issue_times, :dependent => :destroy
# has_one :onclick_time, :dependent => :destroy
has_one :onclick_time, :dependent => :destroy
# 新版私信
# has_many :private_messages, dependent: :destroy
has_many :private_messages, dependent: :destroy
has_many :recent_contacts, through: :private_messages, source: :target
has_many :tidings, :dependent => :destroy
# has_many :journals_for_messages, :as => :jour, :dependent => :destroy
has_many :journals_for_messages, :as => :jour, :dependent => :destroy
has_many :attachments,foreign_key: :author_id, :dependent => :destroy
@ -146,7 +142,7 @@ class User < Owner
has_many :apply_user_authentication
has_one :process_real_name_apply, -> { processing.real_name_auth.order(created_at: :desc) }, class_name: 'ApplyUserAuthentication'
has_one :process_professional_apply, -> { processing.professional_auth.order(created_at: :desc) }, class_name: 'ApplyUserAuthentication'
# has_many :apply_actions, dependent: :destroy
has_many :apply_actions, dependent: :destroy
has_many :trail_auth_apply_actions, -> { where(container_type: 'TrialAuthorization') }, class_name: 'ApplyAction'
# has_many :attendances
@ -186,18 +182,12 @@ class User < Owner
has_many :issue_participants, foreign_key: :participant_id
has_many :participant_issues, through: :issue_participants, source: :issue
has_many :project_topics
#cla
has_many :user_clas, :dependent => :destroy
has_many :clas, through: :user_clas
has_many :pages, :dependent => :destroy
# Groups and active users
scope :active, lambda { where(status: [STATUS_ACTIVE, STATUS_EDIT_INFO]) }
scope :like, lambda { |keywords|
# 表情处理
keywords = keywords.to_s.each_char.select { |c| c.bytes.first < 240 }.join('')
sql = "CONCAT(lastname, firstname) LIKE :search OR nickname LIKE :search OR login LIKE :search OR mail LIKE :search OR phone LIKE :search"
sql = "CONCAT(lastname, firstname) LIKE :search OR nickname LIKE :search OR login LIKE :search OR mail LIKE :search OR nickname LIKE :search"
where(sql, :search => "%#{keywords.strip}%") unless keywords.blank?
}
@ -472,23 +462,6 @@ class User < Owner
end
end
def register_gitea
psd = "12345678"
interactor = Gitea::RegisterInteractor.call({username: self.login, email: self.mail, password: psd})
if interactor.success?
gitea_user = interactor.result
result = Gitea::User::GenerateTokenService.call(self.login, psd)
self.gitea_token = result['sha1']
self.gitea_uid = gitea_user[:body]['id']
self.password = psd
self.password_confirmation = psd
if self.save!
UserExtension.create!(user_id: self.id)
end
end
end
def activate!
update_attribute(:status, STATUS_ACTIVE)
prohibit_gitea_user_login!(false)
@ -764,7 +737,6 @@ class User < Owner
if password
salt_password(password)
end
check_website_permission
end
def salt_password(clear_password)
@ -772,13 +744,6 @@ class User < Owner
self.hashed_password = User.hash_password("#{salt}#{User.hash_password clear_password}")
end
def check_website_permission
if website_permission_changed? && website_permission == false
self.pages.update_all(state: false, state_description:"因违规使用现关闭Page服务")
PageService.close_site(self.id)
end
end
def self.generate_salt
Gitlink::Utils.random_hex(16)
end
@ -872,8 +837,7 @@ class User < Owner
end
def profile_is_completed?
#self.nickname.present? && self.mail.present?
self.mail.present?
self.nickname.present? && self.mail.present?
end
def trace_token
@ -896,7 +860,7 @@ class User < Owner
# 重写gitea_token,当用户为bot类型时替换成管理员token
def gitea_token
if self.respond_to?('platform') && self.platform == "bot"
if self.platform == "bot"
GiteaService.gitea_config[:admin_token]
else
self['gitea_token']
@ -944,8 +908,8 @@ class User < Owner
raise("密码长度不能低于#{MIX_PASSWORD_LIMIT}")
end
if password.present? && password.size > 16
raise('密码长度不能超过16位')
if password.present? && password.size > 32
raise('密码长度不能超过32位')
end
end

View File

@ -17,10 +17,10 @@
"./static/js/13.9c975527.chunk.js": "/react/build/./static/js/13.9c975527.chunk.js",
"./static/js/14.78152190.chunk.js": "/react/build/./static/js/14.78152190.chunk.js",
"static/css/15.d00c3b40.chunk.css": "/react/build/static/css/15.d00c3b40.chunk.css",
"./static/js/15.246e93c1.chunk.js": "/react/build/./static/js/15.246e93c1.chunk.js",
"./static/js/15.d81994fa.chunk.js": "/react/build/./static/js/15.d81994fa.chunk.js",
"./static/js/16.0c72eaeb.chunk.js": "/react/build/./static/js/16.0c72eaeb.chunk.js",
"static/css/17.8e1bcc30.chunk.css": "/react/build/static/css/17.8e1bcc30.chunk.css",
"./static/js/17.00fdc29a.chunk.js": "/react/build/./static/js/17.00fdc29a.chunk.js",
"static/css/17.03effa28.chunk.css": "/react/build/static/css/17.03effa28.chunk.css",
"./static/js/17.04df9df0.chunk.js": "/react/build/./static/js/17.04df9df0.chunk.js",
"./static/js/18.91c26d27.chunk.js": "/react/build/./static/js/18.91c26d27.chunk.js",
"static/css/19.b429c53f.chunk.css": "/react/build/static/css/19.b429c53f.chunk.css",
"./static/js/19.cee3b8b4.chunk.js": "/react/build/./static/js/19.cee3b8b4.chunk.js",
@ -28,63 +28,63 @@
"./static/js/20.01852e1f.chunk.js": "/react/build/./static/js/20.01852e1f.chunk.js",
"./static/js/21.4da09c32.chunk.js": "/react/build/./static/js/21.4da09c32.chunk.js",
"static/css/22.b974e0fe.chunk.css": "/react/build/static/css/22.b974e0fe.chunk.css",
"./static/js/22.09882469.chunk.js": "/react/build/./static/js/22.09882469.chunk.js",
"./static/js/22.0bd456df.chunk.js": "/react/build/./static/js/22.0bd456df.chunk.js",
"./static/js/23.f41e5327.chunk.js": "/react/build/./static/js/23.f41e5327.chunk.js",
"./static/js/24.6d2aa382.chunk.js": "/react/build/./static/js/24.6d2aa382.chunk.js",
"./static/js/25.53f0b2ce.chunk.js": "/react/build/./static/js/25.53f0b2ce.chunk.js",
"./static/js/26.f8a6c74a.chunk.js": "/react/build/./static/js/26.f8a6c74a.chunk.js",
"./static/js/27.30f2975e.chunk.js": "/react/build/./static/js/27.30f2975e.chunk.js",
"static/css/28.bc037916.chunk.css": "/react/build/static/css/28.bc037916.chunk.css",
"./static/js/28.d0415758.chunk.js": "/react/build/./static/js/28.d0415758.chunk.js",
"static/css/29.18f41680.chunk.css": "/react/build/static/css/29.18f41680.chunk.css",
"./static/js/29.96e6bce7.chunk.js": "/react/build/./static/js/29.96e6bce7.chunk.js",
"./static/js/28.0e9dd083.chunk.js": "/react/build/./static/js/28.0e9dd083.chunk.js",
"static/css/29.c3cf1a83.chunk.css": "/react/build/static/css/29.c3cf1a83.chunk.css",
"./static/js/29.256b5855.chunk.js": "/react/build/./static/js/29.256b5855.chunk.js",
"./static/js/30.36072913.chunk.js": "/react/build/./static/js/30.36072913.chunk.js",
"static/css/31.f8d5bf59.chunk.css": "/react/build/static/css/31.f8d5bf59.chunk.css",
"./static/js/31.8bfbe104.chunk.js": "/react/build/./static/js/31.8bfbe104.chunk.js",
"static/css/32.fd7e32c8.chunk.css": "/react/build/static/css/32.fd7e32c8.chunk.css",
"./static/js/32.bed0d809.chunk.js": "/react/build/./static/js/32.bed0d809.chunk.js",
"./static/js/33.9409b5e1.chunk.js": "/react/build/./static/js/33.9409b5e1.chunk.js",
"./static/js/31.445da6d3.chunk.js": "/react/build/./static/js/31.445da6d3.chunk.js",
"static/css/32.3c668656.chunk.css": "/react/build/static/css/32.3c668656.chunk.css",
"./static/js/32.b18b78bc.chunk.js": "/react/build/./static/js/32.b18b78bc.chunk.js",
"./static/js/33.baf2e04d.chunk.js": "/react/build/./static/js/33.baf2e04d.chunk.js",
"static/css/34.b4ad1b94.chunk.css": "/react/build/static/css/34.b4ad1b94.chunk.css",
"./static/js/34.6f730ca0.chunk.js": "/react/build/./static/js/34.6f730ca0.chunk.js",
"static/css/35.63e62a9a.chunk.css": "/react/build/static/css/35.63e62a9a.chunk.css",
"./static/js/35.c6a1000c.chunk.js": "/react/build/./static/js/35.c6a1000c.chunk.js",
"static/css/36.7945f7f5.chunk.css": "/react/build/static/css/36.7945f7f5.chunk.css",
"./static/js/36.e598a09d.chunk.js": "/react/build/./static/js/36.e598a09d.chunk.js",
"static/css/35.c7141444.chunk.css": "/react/build/static/css/35.c7141444.chunk.css",
"./static/js/35.7591762b.chunk.js": "/react/build/./static/js/35.7591762b.chunk.js",
"static/css/36.5bcfc22c.chunk.css": "/react/build/static/css/36.5bcfc22c.chunk.css",
"./static/js/36.7a232184.chunk.js": "/react/build/./static/js/36.7a232184.chunk.js",
"static/css/37.3976e793.chunk.css": "/react/build/static/css/37.3976e793.chunk.css",
"./static/js/37.9f96f7c8.chunk.js": "/react/build/./static/js/37.9f96f7c8.chunk.js",
"static/css/38.98146c40.chunk.css": "/react/build/static/css/38.98146c40.chunk.css",
"static/css/38.25d8f6a3.chunk.css": "/react/build/static/css/38.25d8f6a3.chunk.css",
"./static/js/38.e25694de.chunk.js": "/react/build/./static/js/38.e25694de.chunk.js",
"./static/js/39.f12827a6.chunk.js": "/react/build/./static/js/39.f12827a6.chunk.js",
"static/css/40.a9150410.chunk.css": "/react/build/static/css/40.a9150410.chunk.css",
"./static/js/40.29c9e18e.chunk.js": "/react/build/./static/js/40.29c9e18e.chunk.js",
"static/css/41.22361b96.chunk.css": "/react/build/static/css/41.22361b96.chunk.css",
"./static/js/41.3373add4.chunk.js": "/react/build/./static/js/41.3373add4.chunk.js",
"static/css/42.b6615865.chunk.css": "/react/build/static/css/42.b6615865.chunk.css",
"./static/js/42.e886ac62.chunk.js": "/react/build/./static/js/42.e886ac62.chunk.js",
"static/css/40.488436fd.chunk.css": "/react/build/static/css/40.488436fd.chunk.css",
"./static/js/40.ea8a3949.chunk.js": "/react/build/./static/js/40.ea8a3949.chunk.js",
"static/css/41.c63c77c0.chunk.css": "/react/build/static/css/41.c63c77c0.chunk.css",
"./static/js/41.5df91ec1.chunk.js": "/react/build/./static/js/41.5df91ec1.chunk.js",
"static/css/42.97b6e33e.chunk.css": "/react/build/static/css/42.97b6e33e.chunk.css",
"./static/js/42.38965cff.chunk.js": "/react/build/./static/js/42.38965cff.chunk.js",
"static/css/43.78a1ba5d.chunk.css": "/react/build/static/css/43.78a1ba5d.chunk.css",
"./static/js/43.14235942.chunk.js": "/react/build/./static/js/43.14235942.chunk.js",
"static/css/44.b96984b7.chunk.css": "/react/build/static/css/44.b96984b7.chunk.css",
"./static/js/44.4a4c83a3.chunk.js": "/react/build/./static/js/44.4a4c83a3.chunk.js",
"static/css/45.e65d5b3d.chunk.css": "/react/build/static/css/45.e65d5b3d.chunk.css",
"./static/js/45.dea01e2d.chunk.js": "/react/build/./static/js/45.dea01e2d.chunk.js",
"static/css/46.ad6c58f5.chunk.css": "/react/build/static/css/46.ad6c58f5.chunk.css",
"./static/js/46.ca162d52.chunk.js": "/react/build/./static/js/46.ca162d52.chunk.js",
"static/css/47.bd89b3a5.chunk.css": "/react/build/static/css/47.bd89b3a5.chunk.css",
"./static/js/47.5c371ec1.chunk.js": "/react/build/./static/js/47.5c371ec1.chunk.js",
"./static/js/44.fffc657b.chunk.js": "/react/build/./static/js/44.fffc657b.chunk.js",
"static/css/45.215ce323.chunk.css": "/react/build/static/css/45.215ce323.chunk.css",
"./static/js/45.34447de8.chunk.js": "/react/build/./static/js/45.34447de8.chunk.js",
"static/css/46.dca80471.chunk.css": "/react/build/static/css/46.dca80471.chunk.css",
"./static/js/46.290d3f85.chunk.js": "/react/build/./static/js/46.290d3f85.chunk.js",
"static/css/47.27c04975.chunk.css": "/react/build/static/css/47.27c04975.chunk.css",
"./static/js/47.ed69baff.chunk.js": "/react/build/./static/js/47.ed69baff.chunk.js",
"static/css/48.77c696ba.chunk.css": "/react/build/static/css/48.77c696ba.chunk.css",
"./static/js/48.41ec0ead.chunk.js": "/react/build/./static/js/48.41ec0ead.chunk.js",
"static/css/49.8e1bcc30.chunk.css": "/react/build/static/css/49.8e1bcc30.chunk.css",
"./static/js/49.8e10e4ba.chunk.js": "/react/build/./static/js/49.8e10e4ba.chunk.js",
"static/css/50.edd35995.chunk.css": "/react/build/static/css/50.edd35995.chunk.css",
"./static/js/50.04ed8edb.chunk.js": "/react/build/./static/js/50.04ed8edb.chunk.js",
"static/css/51.c96d41ad.chunk.css": "/react/build/static/css/51.c96d41ad.chunk.css",
"./static/js/51.7fb43235.chunk.js": "/react/build/./static/js/51.7fb43235.chunk.js",
"static/css/52.8e1bcc30.chunk.css": "/react/build/static/css/52.8e1bcc30.chunk.css",
"./static/js/52.0a3ee4be.chunk.js": "/react/build/./static/js/52.0a3ee4be.chunk.js",
"static/css/53.8e1bcc30.chunk.css": "/react/build/static/css/53.8e1bcc30.chunk.css",
"./static/js/53.3242df93.chunk.js": "/react/build/./static/js/53.3242df93.chunk.js",
"static/css/54.8e1bcc30.chunk.css": "/react/build/static/css/54.8e1bcc30.chunk.css",
"./static/js/54.0311a627.chunk.js": "/react/build/./static/js/54.0311a627.chunk.js",
"static/css/49.03effa28.chunk.css": "/react/build/static/css/49.03effa28.chunk.css",
"./static/js/49.8f6e442c.chunk.js": "/react/build/./static/js/49.8f6e442c.chunk.js",
"static/css/50.3a07726a.chunk.css": "/react/build/static/css/50.3a07726a.chunk.css",
"./static/js/50.62a79609.chunk.js": "/react/build/./static/js/50.62a79609.chunk.js",
"static/css/51.36fac896.chunk.css": "/react/build/static/css/51.36fac896.chunk.css",
"./static/js/51.fcdc1e8b.chunk.js": "/react/build/./static/js/51.fcdc1e8b.chunk.js",
"static/css/52.03effa28.chunk.css": "/react/build/static/css/52.03effa28.chunk.css",
"./static/js/52.9fb88799.chunk.js": "/react/build/./static/js/52.9fb88799.chunk.js",
"static/css/53.03effa28.chunk.css": "/react/build/static/css/53.03effa28.chunk.css",
"./static/js/53.10999bbf.chunk.js": "/react/build/./static/js/53.10999bbf.chunk.js",
"static/css/54.03effa28.chunk.css": "/react/build/static/css/54.03effa28.chunk.css",
"./static/js/54.70e341ae.chunk.js": "/react/build/./static/js/54.70e341ae.chunk.js",
"static/css/55.df077b70.chunk.css": "/react/build/static/css/55.df077b70.chunk.css",
"./static/js/55.16b12e46.chunk.js": "/react/build/./static/js/55.16b12e46.chunk.js",
"static/css/56.fd3fa2e9.chunk.css": "/react/build/static/css/56.fd3fa2e9.chunk.css",
@ -94,7 +94,7 @@
"./static/js/58.ef153db6.chunk.js": "/react/build/./static/js/58.ef153db6.chunk.js",
"static/css/59.deeb1b7c.chunk.css": "/react/build/static/css/59.deeb1b7c.chunk.css",
"./static/js/59.4c606d11.chunk.js": "/react/build/./static/js/59.4c606d11.chunk.js",
"static/css/60.94519a29.chunk.css": "/react/build/static/css/60.94519a29.chunk.css",
"static/css/60.72b1c501.chunk.css": "/react/build/static/css/60.72b1c501.chunk.css",
"./static/js/60.dd23ce5f.chunk.js": "/react/build/./static/js/60.dd23ce5f.chunk.js",
"static/css/61.6b9ba3cb.chunk.css": "/react/build/static/css/61.6b9ba3cb.chunk.css",
"./static/js/61.ace82e27.chunk.js": "/react/build/./static/js/61.ace82e27.chunk.js",
@ -102,29 +102,29 @@
"./static/js/62.3d9da556.chunk.js": "/react/build/./static/js/62.3d9da556.chunk.js",
"./static/js/63.aaa5d2b8.chunk.js": "/react/build/./static/js/63.aaa5d2b8.chunk.js",
"static/css/64.4237b849.chunk.css": "/react/build/static/css/64.4237b849.chunk.css",
"./static/js/64.72dc282b.chunk.js": "/react/build/./static/js/64.72dc282b.chunk.js",
"static/css/65.98146c40.chunk.css": "/react/build/static/css/65.98146c40.chunk.css",
"./static/js/65.05715401.chunk.js": "/react/build/./static/js/65.05715401.chunk.js",
"./static/js/64.c20cb6da.chunk.js": "/react/build/./static/js/64.c20cb6da.chunk.js",
"static/css/65.25d8f6a3.chunk.css": "/react/build/static/css/65.25d8f6a3.chunk.css",
"./static/js/65.ba6b25b7.chunk.js": "/react/build/./static/js/65.ba6b25b7.chunk.js",
"./static/js/66.ecd395af.chunk.js": "/react/build/./static/js/66.ecd395af.chunk.js",
"static/css/67.98146c40.chunk.css": "/react/build/static/css/67.98146c40.chunk.css",
"static/css/67.25d8f6a3.chunk.css": "/react/build/static/css/67.25d8f6a3.chunk.css",
"./static/js/67.cdbbd0d6.chunk.js": "/react/build/./static/js/67.cdbbd0d6.chunk.js",
"./static/js/68.ef50625e.chunk.js": "/react/build/./static/js/68.ef50625e.chunk.js",
"static/css/69.211cfcc2.chunk.css": "/react/build/static/css/69.211cfcc2.chunk.css",
"./static/js/69.9385fb67.chunk.js": "/react/build/./static/js/69.9385fb67.chunk.js",
"static/css/69.1a4f91fe.chunk.css": "/react/build/static/css/69.1a4f91fe.chunk.css",
"./static/js/69.ca15418c.chunk.js": "/react/build/./static/js/69.ca15418c.chunk.js",
"static/css/70.d788cda5.chunk.css": "/react/build/static/css/70.d788cda5.chunk.css",
"./static/js/70.9e684999.chunk.js": "/react/build/./static/js/70.9e684999.chunk.js",
"static/css/71.6ab1836b.chunk.css": "/react/build/static/css/71.6ab1836b.chunk.css",
"./static/js/71.88c6a2c8.chunk.js": "/react/build/./static/js/71.88c6a2c8.chunk.js",
"static/css/72.0bcaa310.chunk.css": "/react/build/static/css/72.0bcaa310.chunk.css",
"./static/js/72.4e6f0cff.chunk.js": "/react/build/./static/js/72.4e6f0cff.chunk.js",
"static/css/73.6978aa87.chunk.css": "/react/build/static/css/73.6978aa87.chunk.css",
"static/css/73.c43a353f.chunk.css": "/react/build/static/css/73.c43a353f.chunk.css",
"./static/js/73.bb2a6774.chunk.js": "/react/build/./static/js/73.bb2a6774.chunk.js",
"static/css/74.d4544d53.chunk.css": "/react/build/static/css/74.d4544d53.chunk.css",
"static/css/74.cb568edc.chunk.css": "/react/build/static/css/74.cb568edc.chunk.css",
"./static/js/74.d1207782.chunk.js": "/react/build/./static/js/74.d1207782.chunk.js",
"static/css/75.59c9cad5.chunk.css": "/react/build/static/css/75.59c9cad5.chunk.css",
"./static/js/75.d123738d.chunk.js": "/react/build/./static/js/75.d123738d.chunk.js",
"static/css/76.f61a22e7.chunk.css": "/react/build/static/css/76.f61a22e7.chunk.css",
"./static/js/76.89501b28.chunk.js": "/react/build/./static/js/76.89501b28.chunk.js",
"./static/js/76.ca0f9bf8.chunk.js": "/react/build/./static/js/76.ca0f9bf8.chunk.js",
"static/css/77.cca0fae4.chunk.css": "/react/build/static/css/77.cca0fae4.chunk.css",
"./static/js/77.f9f62bd5.chunk.js": "/react/build/./static/js/77.f9f62bd5.chunk.js",
"./static/js/78.ca0dc5cb.chunk.js": "/react/build/./static/js/78.ca0dc5cb.chunk.js",
@ -139,20 +139,20 @@
"./static/js/83.7bd5c3cc.chunk.js": "/react/build/./static/js/83.7bd5c3cc.chunk.js",
"static/css/84.541803c4.chunk.css": "/react/build/static/css/84.541803c4.chunk.css",
"./static/js/84.1f0df9f0.chunk.js": "/react/build/./static/js/84.1f0df9f0.chunk.js",
"static/css/85.9d206204.chunk.css": "/react/build/static/css/85.9d206204.chunk.css",
"static/css/85.41b8aabd.chunk.css": "/react/build/static/css/85.41b8aabd.chunk.css",
"./static/js/85.e71e824f.chunk.js": "/react/build/./static/js/85.e71e824f.chunk.js",
"./static/js/86.e7cdd871.chunk.js": "/react/build/./static/js/86.e7cdd871.chunk.js",
"./static/js/87.e072d477.chunk.js": "/react/build/./static/js/87.e072d477.chunk.js",
"./static/js/88.f339c4eb.chunk.js": "/react/build/./static/js/88.f339c4eb.chunk.js",
"static/css/89.33abeff1.chunk.css": "/react/build/static/css/89.33abeff1.chunk.css",
"./static/js/88.f1814e4a.chunk.js": "/react/build/./static/js/88.f1814e4a.chunk.js",
"static/css/89.d126f3fc.chunk.css": "/react/build/static/css/89.d126f3fc.chunk.css",
"./static/js/89.7bfff321.chunk.js": "/react/build/./static/js/89.7bfff321.chunk.js",
"static/css/90.874f597c.chunk.css": "/react/build/static/css/90.874f597c.chunk.css",
"./static/js/90.c2ba8168.chunk.js": "/react/build/./static/js/90.c2ba8168.chunk.js",
"./static/js/90.907279d0.chunk.js": "/react/build/./static/js/90.907279d0.chunk.js",
"./static/js/91.3aca48d0.chunk.js": "/react/build/./static/js/91.3aca48d0.chunk.js",
"static/css/92.b5cef47f.chunk.css": "/react/build/static/css/92.b5cef47f.chunk.css",
"./static/js/92.4acfd5dc.chunk.js": "/react/build/./static/js/92.4acfd5dc.chunk.js",
"static/css/93.7aa996e6.chunk.css": "/react/build/static/css/93.7aa996e6.chunk.css",
"./static/js/93.3f13afe5.chunk.js": "/react/build/./static/js/93.3f13afe5.chunk.js",
"./static/js/93.ef620c4b.chunk.js": "/react/build/./static/js/93.ef620c4b.chunk.js",
"static/css/94.632d7855.chunk.css": "/react/build/static/css/94.632d7855.chunk.css",
"./static/js/94.c792f7b3.chunk.js": "/react/build/./static/js/94.c792f7b3.chunk.js",
"static/css/95.ea97577b.chunk.css": "/react/build/static/css/95.ea97577b.chunk.css",
@ -163,14 +163,14 @@
"./static/js/98.7f7f7055.chunk.js": "/react/build/./static/js/98.7f7f7055.chunk.js",
"static/css/99.56158b92.chunk.css": "/react/build/static/css/99.56158b92.chunk.css",
"./static/js/99.1ab93e2f.chunk.js": "/react/build/./static/js/99.1ab93e2f.chunk.js",
"static/css/100.53c7d49b.chunk.css": "/react/build/static/css/100.53c7d49b.chunk.css",
"static/css/100.eb89c16f.chunk.css": "/react/build/static/css/100.eb89c16f.chunk.css",
"./static/js/100.7704a7a9.chunk.js": "/react/build/./static/js/100.7704a7a9.chunk.js",
"static/css/101.59500253.chunk.css": "/react/build/static/css/101.59500253.chunk.css",
"./static/js/101.75ef8903.chunk.js": "/react/build/./static/js/101.75ef8903.chunk.js",
"./static/js/102.0cd64c19.chunk.js": "/react/build/./static/js/102.0cd64c19.chunk.js",
"./static/js/103.678d2f97.chunk.js": "/react/build/./static/js/103.678d2f97.chunk.js",
"static/css/104.8a2a0d50.chunk.css": "/react/build/static/css/104.8a2a0d50.chunk.css",
"./static/js/104.b0921c62.chunk.js": "/react/build/./static/js/104.b0921c62.chunk.js",
"./static/js/104.6f4138ff.chunk.js": "/react/build/./static/js/104.6f4138ff.chunk.js",
"static/css/105.78d24cb4.chunk.css": "/react/build/static/css/105.78d24cb4.chunk.css",
"./static/js/105.925c448f.chunk.js": "/react/build/./static/js/105.925c448f.chunk.js",
"./static/js/106.762db912.chunk.js": "/react/build/./static/js/106.762db912.chunk.js",
@ -198,7 +198,7 @@
"./static/js/119.56d65b61.chunk.js": "/react/build/./static/js/119.56d65b61.chunk.js",
"static/css/120.fd3fa2e9.chunk.css": "/react/build/static/css/120.fd3fa2e9.chunk.css",
"./static/js/120.aaeb2759.chunk.js": "/react/build/./static/js/120.aaeb2759.chunk.js",
"static/css/121.9d206204.chunk.css": "/react/build/static/css/121.9d206204.chunk.css",
"static/css/121.41b8aabd.chunk.css": "/react/build/static/css/121.41b8aabd.chunk.css",
"./static/js/121.fa118c89.chunk.js": "/react/build/./static/js/121.fa118c89.chunk.js",
"static/css/122.82ba8135.chunk.css": "/react/build/static/css/122.82ba8135.chunk.css",
"./static/js/122.77706ff8.chunk.js": "/react/build/./static/js/122.77706ff8.chunk.js",
@ -219,11 +219,11 @@
"./static/js/132.af2d6212.chunk.js": "/react/build/./static/js/132.af2d6212.chunk.js",
"static/css/133.45b01965.chunk.css": "/react/build/static/css/133.45b01965.chunk.css",
"./static/js/133.398a14b0.chunk.js": "/react/build/./static/js/133.398a14b0.chunk.js",
"./static/js/134.716dfc85.chunk.js": "/react/build/./static/js/134.716dfc85.chunk.js",
"./static/js/134.130280a5.chunk.js": "/react/build/./static/js/134.130280a5.chunk.js",
"./static/js/135.224d833c.chunk.js": "/react/build/./static/js/135.224d833c.chunk.js",
"static/css/136.9d206204.chunk.css": "/react/build/static/css/136.9d206204.chunk.css",
"static/css/136.41b8aabd.chunk.css": "/react/build/static/css/136.41b8aabd.chunk.css",
"./static/js/136.4bf47682.chunk.js": "/react/build/./static/js/136.4bf47682.chunk.js",
"static/css/137.9d206204.chunk.css": "/react/build/static/css/137.9d206204.chunk.css",
"static/css/137.41b8aabd.chunk.css": "/react/build/static/css/137.41b8aabd.chunk.css",
"./static/js/137.d38ab836.chunk.js": "/react/build/./static/js/137.d38ab836.chunk.js",
"static/css/138.cdd78914.chunk.css": "/react/build/static/css/138.cdd78914.chunk.css",
"./static/js/138.f988609b.chunk.js": "/react/build/./static/js/138.f988609b.chunk.js",
@ -239,14 +239,14 @@
"./static/js/146.f7f4065a.chunk.js": "/react/build/./static/js/146.f7f4065a.chunk.js",
"static/css/147.15253a67.chunk.css": "/react/build/static/css/147.15253a67.chunk.css",
"./static/js/147.d787fdc5.chunk.js": "/react/build/./static/js/147.d787fdc5.chunk.js",
"./static/js/148.8ec62071.chunk.js": "/react/build/./static/js/148.8ec62071.chunk.js",
"./static/js/149.16cf933d.chunk.js": "/react/build/./static/js/149.16cf933d.chunk.js",
"./static/js/148.39a19315.chunk.js": "/react/build/./static/js/148.39a19315.chunk.js",
"./static/js/149.595cf3a2.chunk.js": "/react/build/./static/js/149.595cf3a2.chunk.js",
"static/css/150.3edde0c7.chunk.css": "/react/build/static/css/150.3edde0c7.chunk.css",
"./static/js/150.73c055e9.chunk.js": "/react/build/./static/js/150.73c055e9.chunk.js",
"static/css/151.adba6539.chunk.css": "/react/build/static/css/151.adba6539.chunk.css",
"./static/js/151.6190651e.chunk.js": "/react/build/./static/js/151.6190651e.chunk.js",
"./static/js/152.9e740993.chunk.js": "/react/build/./static/js/152.9e740993.chunk.js",
"./static/js/153.e65828dc.chunk.js": "/react/build/./static/js/153.e65828dc.chunk.js",
"./static/js/153.a3cffbb6.chunk.js": "/react/build/./static/js/153.a3cffbb6.chunk.js",
"static/css/154.fd5c069f.chunk.css": "/react/build/static/css/154.fd5c069f.chunk.css",
"./static/js/154.86a55ec3.chunk.js": "/react/build/./static/js/154.86a55ec3.chunk.js",
"static/css/155.cbc5dafa.chunk.css": "/react/build/static/css/155.cbc5dafa.chunk.css",
@ -272,7 +272,7 @@
"./static/js/166.0c841f79.chunk.js": "/react/build/./static/js/166.0c841f79.chunk.js",
"static/css/167.afe8c942.chunk.css": "/react/build/static/css/167.afe8c942.chunk.css",
"./static/js/167.5b8f8f99.chunk.js": "/react/build/./static/js/167.5b8f8f99.chunk.js",
"static/css/168.9d206204.chunk.css": "/react/build/static/css/168.9d206204.chunk.css",
"static/css/168.41b8aabd.chunk.css": "/react/build/static/css/168.41b8aabd.chunk.css",
"./static/js/168.6928c614.chunk.js": "/react/build/./static/js/168.6928c614.chunk.js",
"./static/js/169.e0c130e0.chunk.js": "/react/build/./static/js/169.e0c130e0.chunk.js",
"./static/js/170.1b51ae43.chunk.js": "/react/build/./static/js/170.1b51ae43.chunk.js",
@ -337,20 +337,20 @@
"./static/js/229.dc1b13e7.chunk.js": "/react/build/./static/js/229.dc1b13e7.chunk.js",
"./static/js/230.aa0cce17.chunk.js": "/react/build/./static/js/230.aa0cce17.chunk.js",
"./static/js/231.b53914ca.chunk.js": "/react/build/./static/js/231.b53914ca.chunk.js",
"main.css": "/react/build/static/css/main.dea82c29.chunk.css",
"main.js": "/react/build/./static/js/main.462459e7.chunk.js",
"runtime~main.js": "/react/build/./static/js/runtime~main.d38d142a.js",
"main.css": "/react/build/static/css/main.5c83d4d2.chunk.css",
"main.js": "/react/build/./static/js/main.1ba9f377.chunk.js",
"runtime~main.js": "/react/build/./static/js/runtime~main.5e3e1838.js",
"./static/js/156.3a1c27e3.chunk.js.LICENSE.txt": "/react/build/./static/js/156.3a1c27e3.chunk.js.LICENSE.txt",
"./static/js/184.020dd8ad.chunk.js.LICENSE.txt": "/react/build/./static/js/184.020dd8ad.chunk.js.LICENSE.txt",
"./static/js/2.3d5eefb9.chunk.js.LICENSE.txt": "/react/build/./static/js/2.3d5eefb9.chunk.js.LICENSE.txt",
"./static/js/226.2bbe453b.chunk.js.LICENSE.txt": "/react/build/./static/js/226.2bbe453b.chunk.js.LICENSE.txt",
"./static/js/35.c6a1000c.chunk.js.LICENSE.txt": "/react/build/./static/js/35.c6a1000c.chunk.js.LICENSE.txt",
"./static/js/40.29c9e18e.chunk.js.LICENSE.txt": "/react/build/./static/js/40.29c9e18e.chunk.js.LICENSE.txt",
"./static/js/41.3373add4.chunk.js.LICENSE.txt": "/react/build/./static/js/41.3373add4.chunk.js.LICENSE.txt",
"./static/js/42.e886ac62.chunk.js.LICENSE.txt": "/react/build/./static/js/42.e886ac62.chunk.js.LICENSE.txt",
"./static/js/35.7591762b.chunk.js.LICENSE.txt": "/react/build/./static/js/35.7591762b.chunk.js.LICENSE.txt",
"./static/js/40.ea8a3949.chunk.js.LICENSE.txt": "/react/build/./static/js/40.ea8a3949.chunk.js.LICENSE.txt",
"./static/js/41.5df91ec1.chunk.js.LICENSE.txt": "/react/build/./static/js/41.5df91ec1.chunk.js.LICENSE.txt",
"./static/js/42.38965cff.chunk.js.LICENSE.txt": "/react/build/./static/js/42.38965cff.chunk.js.LICENSE.txt",
"./static/js/8.eccc3ccc.chunk.js.LICENSE.txt": "/react/build/./static/js/8.eccc3ccc.chunk.js.LICENSE.txt",
"./static/js/9.1b19f465.chunk.js.LICENSE.txt": "/react/build/./static/js/9.1b19f465.chunk.js.LICENSE.txt",
"./static/js/main.462459e7.chunk.js.LICENSE.txt": "/react/build/./static/js/main.462459e7.chunk.js.LICENSE.txt",
"./static/js/main.1ba9f377.chunk.js.LICENSE.txt": "/react/build/./static/js/main.1ba9f377.chunk.js.LICENSE.txt",
"css.worker.js": "/react/build/css.worker.js",
"editor.worker.js": "/react/build/editor.worker.js",
"html.worker.js": "/react/build/html.worker.js",
@ -437,8 +437,8 @@
"static/media/fun3.png": "/react/build/static/media/fun3.75c280e6.png",
"static/media/fun4.png": "/react/build/static/media/fun4.f499794e.png",
"static/media/fun5.png": "/react/build/static/media/fun5.96b44942.png",
"static/media/gitee1.svg": "/react/build/static/media/gitee1.0c13ef7b.svg",
"static/media/github2.svg": "/react/build/static/media/github2.7d5cc0ba.svg",
"static/media/gitee1.svg": "/react/build/static/media/gitee1.279a922b.svg",
"static/media/github2.svg": "/react/build/static/media/github2.95ea181b.svg",
"static/media/gitlink1.png": "/react/build/static/media/gitlink1.4bf0ed96.png",
"static/media/gitlink2.png": "/react/build/static/media/gitlink2.0ec0ec22.png",
"static/media/head.png": "/react/build/static/media/head.52aa3fc8.png",
@ -446,7 +446,7 @@
"static/media/help_bg.png": "/react/build/static/media/help_bg.d2bb4c18.png",
"static/media/huake.png": "/react/build/static/media/huake.63b6a34d.png",
"static/media/huawei.png": "/react/build/static/media/huawei.73ec7c22.png",
"static/media/Teaching.scss": "/react/build/static/media/image22.d4d77f6c.svg",
"static/media/Teaching.scss": "/react/build/static/media/image22.6ff2b063.svg",
"static/media/img1.png": "/react/build/static/media/img1.fc155528.png",
"static/media/img10.png": "/react/build/static/media/img10.64149a3d.png",
"static/media/img15.png": "/react/build/static/media/img15.87a3556c.png",
@ -474,7 +474,7 @@
"static/media/mulan.png": "/react/build/static/media/mulan.690d2289.png",
"static/media/nodata.png": "/react/build/static/media/nodata.298b1c41.png",
"static/media/TPMIndex.css": "/react/build/static/media/nps2.d5d0b666.png",
"static/media/phone.svg": "/react/build/static/media/phone.8973db9e.svg",
"static/media/phone.svg": "/react/build/static/media/phone.14961064.svg",
"static/media/qqChat.png": "/react/build/static/media/qqChat.9e56cc22.png",
"static/media/resultBanner.png": "/react/build/static/media/resultBanner.152068bc.png",
"static/media/resultBanner2.png": "/react/build/static/media/resultBanner2.c3095c5d.png",

0
public/react/build/css/editormd.min.css vendored Executable file → Normal file
View File

0
public/react/build/css/edu-common.css Executable file → Normal file
View File

0
public/react/build/css/edu-public.css Executable file → Normal file
View File

0
public/react/build/css/merge.css Executable file → Normal file
View File

0
public/react/build/fonts/FontAwesome.otf Executable file → Normal file
View File

0
public/react/build/fonts/fontawesome-webfont.eot Executable file → Normal file
View File

0
public/react/build/fonts/fontawesome-webfont.svg Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 434 KiB

After

Width:  |  Height:  |  Size: 434 KiB

0
public/react/build/fonts/fontawesome-webfont.ttf Executable file → Normal file
View File

0
public/react/build/fonts/fontawesome-webfont.woff Executable file → Normal file
View File

0
public/react/build/fonts/fontawesome-webfont.woff2 Executable file → Normal file
View File

0
public/react/build/images/loading@2x.gif Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1 +1 @@
<!doctype html><html lang="zh-CN" class="notranslate translated-ltr" translate="no"><head><meta charset="utf-8"><meta name="Keywords" content="gitLink,GitLink,gitlink,git,trustie,trustieforge,forge,开源,确实开源,代码托管,Git,开源,内源,项目管理,版本控制,开源代码,代码分享,项目协作,开源项目托管,免费代码托管,Git代码托管,Git托管服务,确实让创建更美好,协同开发平台"><meta name="description" content="GitLink,新一代开源创新服务平台 分布式协作开发 一站式过程管理 高效流水线运维 多层次代码分析 多维度用户画像 分布式协作开发 基于Git打造分布式代码托管环境"><meta property="og:title" content="GitLink | 确实开源"/><meta property="og:type" content="Object"/><meta property="og:url" content="https://gitlink.org.cn/"/><meta property="og:image" content="https://www.gitlink.org.cn/images/logo.png"/><meta property="og:image:alt" content="GitLink | 确实开源"/><meta property="og:site_name" content="GitLink"/><meta property="og:description" content="GitLink,新一代开源创新服务平台 分布式协作开发 一站式过程管理 高效流水线运维 多层次代码分析 多维度用户画像 分布式协作开发 基于Git打造分布式代码托管环境"/><meta name="hostname" content="gitlink.org.cn"><meta name="keyboard-shortcuts-preference" content="all"><meta name="expected-hostname" content="gitlink.org.cn"><meta name="go-import" content="gitlink.org.cn git https://gitlink.org.cn"><meta name="octolytics-dimension-user_login" content="GitLink"><meta name="octolytics-dimension-repository_nwo" content="GitLink"><meta name="octolytics-dimension-repository_network_root_nwo" content="GitLink"><meta name="theme-color" content="#000000"><meta content="IE=edge" http-equiv="X-UA-Compatible"><meta name="twitter:image:src" content="https://www.gitlink.org.cn/images/logo.png"><meta name="twitter:site" content="@gitlink"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="GitLink | 确实开源"><meta name="twitter:description" content="GitLink,新一代开源创新服务平台 分布式协作开发 一站式过程管理 高效流水线运维 多层次代码分析 多维度用户画像 分布式协作开发 基于Git打造分布式代码托管环境"><meta content="always" name="referrer"><link rel="canonical" href="https://gitlink.org.cn" data-turbo-transient=""><link rel="fluid-icon" href="https://www.gitlink.org.cn/images/logo.png" title="GitLink"><link rel="manifest" href="/react/build//manifest.json"><link rel="stylesheet" href="/react/build/css/alex/alex.all.global.min.css"><link rel="stylesheet" href="/react/build/css/iconfont.css"><link rel="stylesheet" href="/react/build/css/editormd.min.css"><link rel="stylesheet" href="/react/build/css/gitlink.min.css"><link href="/react/build/static/css/main.dea82c29.chunk.css" rel="stylesheet"></head><body><div id="md_div" style="display:none"></div><div id="root" class="page -layout-v -fit widthunit"></div><div id="picture_display" style="display:none"></div><script src="/react/build/js/jquery-1.8.3.min.js"></script><script src="/react/build/js/js_min_all.js"></script><script src="/react/build/js/codemirror/codemirror.js"></script><script src="/react/build/js/editormd/editormd.min.js"></script><script src="/react/build/js/codemirror/merge/merge.js"></script><script src="/react/build/js/react.production.min.js"></script><script src="/react/build/js/react-dom.production.min.js"></script><script src="/react/build/js/alex/moment.js"></script><script src="/react/build/./static/js/runtime~main.d38d142a.js"></script><script src="/react/build/./static/js/main.462459e7.chunk.js"></script><script>window.onload=function(){$(".newContainer").delegate("a.anchors","click",(function(){let n=$(this).offset().top-180;return $("html,body").animate({scrollTop:n},10),window.location.hash=$(this).attr("name"),!1}))}</script></body></html>
<!doctype html><html lang="zh-CN" class="notranslate translated-ltr" translate="no"><head><meta charset="utf-8"><meta name="Keywords" content="gitLink,GitLink,gitlink,git,trustie,trustieforge,forge,开源,确实开源,代码托管,Git,开源,内源,项目管理,版本控制,开源代码,代码分享,项目协作,开源项目托管,免费代码托管,Git代码托管,Git托管服务,确实让创建更美好,协同开发平台"><meta name="description" content="GitLink,新一代开源创新服务平台 分布式协作开发 一站式过程管理 高效流水线运维 多层次代码分析 多维度用户画像 分布式协作开发 基于Git打造分布式代码托管环境"><meta property="og:title" content="GitLink | 确实开源"/><meta property="og:type" content="Object"/><meta property="og:url" content="https://gitlink.org.cn/"/><meta property="og:image" content="https://www.gitlink.org.cn/images/logo.png"/><meta property="og:image:alt" content="GitLink | 确实开源"/><meta property="og:site_name" content="GitLink"/><meta property="og:description" content="GitLink,新一代开源创新服务平台 分布式协作开发 一站式过程管理 高效流水线运维 多层次代码分析 多维度用户画像 分布式协作开发 基于Git打造分布式代码托管环境"/><meta name="hostname" content="gitlink.org.cn"><meta name="keyboard-shortcuts-preference" content="all"><meta name="expected-hostname" content="gitlink.org.cn"><meta name="go-import" content="gitlink.org.cn git https://gitlink.org.cn"><meta name="octolytics-dimension-user_login" content="GitLink"><meta name="octolytics-dimension-repository_nwo" content="GitLink"><meta name="octolytics-dimension-repository_network_root_nwo" content="GitLink"><meta name="theme-color" content="#000000"><meta content="IE=edge" http-equiv="X-UA-Compatible"><meta name="twitter:image:src" content="https://www.gitlink.org.cn/images/logo.png"><meta name="twitter:site" content="@gitlink"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="GitLink | 确实开源"><meta name="twitter:description" content="GitLink,新一代开源创新服务平台 分布式协作开发 一站式过程管理 高效流水线运维 多层次代码分析 多维度用户画像 分布式协作开发 基于Git打造分布式代码托管环境"><meta content="always" name="referrer"><link rel="canonical" href="https://gitlink.org.cn" data-turbo-transient=""><link rel="fluid-icon" href="https://www.gitlink.org.cn/images/logo.png" title="GitLink"><link rel="manifest" href="/react/build//manifest.json"><link rel="stylesheet" href="/react/build/css/alex/alex.all.global.min.css"><link rel="stylesheet" href="/react/build/css/iconfont.css"><link rel="stylesheet" href="/react/build/css/editormd.min.css"><link rel="stylesheet" href="/react/build/css/gitlink.min.css"><link href="/react/build/static/css/main.5c83d4d2.chunk.css" rel="stylesheet"></head><body><div id="md_div" style="display:none"></div><div id="root" class="page -layout-v -fit widthunit"></div><div id="picture_display" style="display:none"></div><script src="/react/build/js/jquery-1.8.3.min.js"></script><script src="/react/build/js/js_min_all.js"></script><script src="/react/build/js/codemirror/codemirror.js"></script><script src="/react/build/js/editormd/editormd.min.js"></script><script src="/react/build/js/codemirror/merge/merge.js"></script><script src="/react/build/js/react.production.min.js"></script><script src="/react/build/js/react-dom.production.min.js"></script><script src="/react/build/js/alex/moment.js"></script><script src="/react/build/./static/js/runtime~main.5e3e1838.js"></script><script src="/react/build/./static/js/main.1ba9f377.chunk.js"></script><script>window.onload=function(){$(".newContainer").delegate("a.anchors","click",(function(){let n=$(this).offset().top-180;return $("html,body").animate({scrollTop:n},10),window.location.hash=$(this).attr("name"),!1}))}</script></body></html>

0
public/react/build/index.test.html Executable file → Normal file
View File

0
public/react/build/js/codemirror/addon/active-line.js vendored Executable file → Normal file
View File

0
public/react/build/js/codemirror/addon/hint/anyword-hint.js vendored Executable file → Normal file
View File

0
public/react/build/js/codemirror/addon/hint/javascript-hint.js vendored Executable file → Normal file
View File

0
public/react/build/js/codemirror/addon/hint/show-hint.css vendored Executable file → Normal file
View File

0
public/react/build/js/codemirror/addon/hint/show-hint.js vendored Executable file → Normal file
View File

0
public/react/build/js/codemirror/codemirror.js Executable file → Normal file
View File

0
public/react/build/js/codemirror/lib/fuzzysort.js vendored Executable file → Normal file
View File

0
public/react/build/js/codemirror/merge/merge.css Executable file → Normal file
View File

0
public/react/build/js/codemirror/merge/merge.js Executable file → Normal file
View File

0
public/react/build/js/codemirror/mode/javascript.js vendored Executable file → Normal file
View File

0
public/react/build/js/diff_match_patch.js Executable file → Normal file
View File

0
public/react/build/js/editormd/editormd.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/flowchart.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/jquery.flowchart.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/lib/codemirror/addons.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/lib/codemirror/modes.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/lib/marked.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/lib/prettify.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/lib/raphael.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/lib/underscore.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/marked.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/prettify.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/editormd/sequence-diagram.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/edu_tpi.js Executable file → Normal file
View File

0
public/react/build/js/jquery-1.8.3.min.js vendored Executable file → Normal file
View File

0
public/react/build/js/jsFromMiddleLayer/formvalid.js Executable file → Normal file
View File

0
public/react/build/js/jsFromMiddleLayer/main.js Executable file → Normal file
View File

0
public/react/build/js/jsFromMiddleLayer/ws.js Executable file → Normal file
View File

0
public/react/build/js/js_min_add.js Executable file → Normal file
View File

0
public/react/build/js/js_min_all.js Executable file → Normal file
View File

0
public/react/build/js/js_min_cm.js Executable file → Normal file
View File

0
public/react/build/js/merge.js Executable file → Normal file
View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

0
public/react/build/js/monaco/vs/basic-languages/r/r.js Executable file → Normal file
View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

Some files were not shown because too many files have changed in this diff Show More