Merge branch 'ghb-11-22-createtable'
This commit is contained in:
File diff suppressed because one or more lines are too long
26
docs/.vitepress/cache/deps/_metadata.json
vendored
26
docs/.vitepress/cache/deps/_metadata.json
vendored
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
"hash": "f01e8699",
|
"hash": "f01e8699",
|
||||||
"configHash": "180cc241",
|
"configHash": "180cc241",
|
||||||
@@ -10,30 +11,45 @@
|
|||||||
"lockfileHash": "d0a71e3e",
|
"lockfileHash": "d0a71e3e",
|
||||||
"browserHash": "ab8f4b96",
|
"browserHash": "ab8f4b96",
|
||||||
>>>>>>> zzm
|
>>>>>>> zzm
|
||||||
|
=======
|
||||||
|
"hash": "8bc55d47",
|
||||||
|
"configHash": "b81bb1f1",
|
||||||
|
"lockfileHash": "2742585f",
|
||||||
|
"browserHash": "65f4ed22",
|
||||||
|
>>>>>>> ghb-11-22-createtable
|
||||||
"optimized": {
|
"optimized": {
|
||||||
"vue": {
|
"vue": {
|
||||||
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
||||||
"file": "vue.js",
|
"file": "vue.js",
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
"fileHash": "ffd8baa8",
|
"fileHash": "ffd8baa8",
|
||||||
=======
|
=======
|
||||||
"fileHash": "4de6bb48",
|
"fileHash": "4de6bb48",
|
||||||
>>>>>>> zzm
|
>>>>>>> zzm
|
||||||
|
=======
|
||||||
|
"fileHash": "349f3f49",
|
||||||
|
>>>>>>> ghb-11-22-createtable
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"vitepress > @vue/devtools-api": {
|
"vitepress > @vue/devtools-api": {
|
||||||
"src": "../../../../node_modules/@vue/devtools-api/dist/index.js",
|
"src": "../../../../node_modules/@vue/devtools-api/dist/index.js",
|
||||||
"file": "vitepress___@vue_devtools-api.js",
|
"file": "vitepress___@vue_devtools-api.js",
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
"fileHash": "c91fbfa8",
|
"fileHash": "c91fbfa8",
|
||||||
=======
|
=======
|
||||||
"fileHash": "05a8531e",
|
"fileHash": "05a8531e",
|
||||||
>>>>>>> zzm
|
>>>>>>> zzm
|
||||||
|
=======
|
||||||
|
"fileHash": "0f3f40ef",
|
||||||
|
>>>>>>> ghb-11-22-createtable
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"vitepress > @vueuse/core": {
|
"vitepress > @vueuse/core": {
|
||||||
"src": "../../../../node_modules/vitepress/node_modules/@vueuse/core/index.mjs",
|
"src": "../../../../node_modules/vitepress/node_modules/@vueuse/core/dist/index.js",
|
||||||
"file": "vitepress___@vueuse_core.js",
|
"file": "vitepress___@vueuse_core.js",
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
"fileHash": "b91f8785",
|
"fileHash": "b91f8785",
|
||||||
=======
|
=======
|
||||||
@@ -49,10 +65,14 @@
|
|||||||
=======
|
=======
|
||||||
"fileHash": "29ee9ca0",
|
"fileHash": "29ee9ca0",
|
||||||
>>>>>>> zzm
|
>>>>>>> zzm
|
||||||
|
=======
|
||||||
|
"fileHash": "4cda59eb",
|
||||||
|
>>>>>>> ghb-11-22-createtable
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chunks": {
|
"chunks": {
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
"chunk-SMHOW2GZ": {
|
"chunk-SMHOW2GZ": {
|
||||||
"file": "chunk-SMHOW2GZ.js"
|
"file": "chunk-SMHOW2GZ.js"
|
||||||
@@ -63,6 +83,10 @@
|
|||||||
},
|
},
|
||||||
"chunk-SFNBNC2X": {
|
"chunk-SFNBNC2X": {
|
||||||
"file": "chunk-SFNBNC2X.js"
|
"file": "chunk-SFNBNC2X.js"
|
||||||
|
=======
|
||||||
|
"chunk-32NP4N34": {
|
||||||
|
"file": "chunk-32NP4N34.js"
|
||||||
|
>>>>>>> ghb-11-22-createtable
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
12759
docs/.vitepress/cache/deps/chunk-32NP4N34.js
vendored
Normal file
12759
docs/.vitepress/cache/deps/chunk-32NP4N34.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
docs/.vitepress/cache/deps/chunk-32NP4N34.js.map
vendored
Normal file
7
docs/.vitepress/cache/deps/chunk-32NP4N34.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
36
docs/.vitepress/cache/deps/chunk-SFNBNC2X.js
vendored
36
docs/.vitepress/cache/deps/chunk-SFNBNC2X.js
vendored
@@ -49,10 +49,10 @@ var isBuiltInDirective = makeMap(
|
|||||||
);
|
);
|
||||||
var cacheStringFunction = (fn) => {
|
var cacheStringFunction = (fn) => {
|
||||||
const cache = /* @__PURE__ */ Object.create(null);
|
const cache = /* @__PURE__ */ Object.create(null);
|
||||||
return (str) => {
|
return ((str) => {
|
||||||
const hit = cache[str];
|
const hit = cache[str];
|
||||||
return hit || (cache[str] = fn(str));
|
return hit || (cache[str] = fn(str));
|
||||||
};
|
});
|
||||||
};
|
};
|
||||||
var camelizeRE = /-\w/g;
|
var camelizeRE = /-\w/g;
|
||||||
var camelize = cacheStringFunction(
|
var camelize = cacheStringFunction(
|
||||||
@@ -11469,9 +11469,9 @@ function defineCustomElement(options, extraOptions, _createApp) {
|
|||||||
VueCustomElement.def = Comp;
|
VueCustomElement.def = Comp;
|
||||||
return VueCustomElement;
|
return VueCustomElement;
|
||||||
}
|
}
|
||||||
var defineSSRCustomElement = (options, extraOptions) => {
|
var defineSSRCustomElement = ((options, extraOptions) => {
|
||||||
return defineCustomElement(options, extraOptions, createSSRApp);
|
return defineCustomElement(options, extraOptions, createSSRApp);
|
||||||
};
|
});
|
||||||
var BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
|
var BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
|
||||||
};
|
};
|
||||||
var VueElement = class _VueElement extends BaseClass {
|
var VueElement = class _VueElement extends BaseClass {
|
||||||
@@ -12368,13 +12368,13 @@ var modifierGuards = {
|
|||||||
var withModifiers = (fn, modifiers) => {
|
var withModifiers = (fn, modifiers) => {
|
||||||
const cache = fn._withMods || (fn._withMods = {});
|
const cache = fn._withMods || (fn._withMods = {});
|
||||||
const cacheKey = modifiers.join(".");
|
const cacheKey = modifiers.join(".");
|
||||||
return cache[cacheKey] || (cache[cacheKey] = (event, ...args) => {
|
return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
|
||||||
for (let i = 0; i < modifiers.length; i++) {
|
for (let i = 0; i < modifiers.length; i++) {
|
||||||
const guard = modifierGuards[modifiers[i]];
|
const guard = modifierGuards[modifiers[i]];
|
||||||
if (guard && guard(event, modifiers)) return;
|
if (guard && guard(event, modifiers)) return;
|
||||||
}
|
}
|
||||||
return fn(event, ...args);
|
return fn(event, ...args);
|
||||||
});
|
}));
|
||||||
};
|
};
|
||||||
var keyNames = {
|
var keyNames = {
|
||||||
esc: "escape",
|
esc: "escape",
|
||||||
@@ -12388,7 +12388,7 @@ var keyNames = {
|
|||||||
var withKeys = (fn, modifiers) => {
|
var withKeys = (fn, modifiers) => {
|
||||||
const cache = fn._withKeys || (fn._withKeys = {});
|
const cache = fn._withKeys || (fn._withKeys = {});
|
||||||
const cacheKey = modifiers.join(".");
|
const cacheKey = modifiers.join(".");
|
||||||
return cache[cacheKey] || (cache[cacheKey] = (event) => {
|
return cache[cacheKey] || (cache[cacheKey] = ((event) => {
|
||||||
if (!("key" in event)) {
|
if (!("key" in event)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -12398,7 +12398,7 @@ var withKeys = (fn, modifiers) => {
|
|||||||
)) {
|
)) {
|
||||||
return fn(event);
|
return fn(event);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
};
|
};
|
||||||
var rendererOptions = extend({ patchProp }, nodeOps);
|
var rendererOptions = extend({ patchProp }, nodeOps);
|
||||||
var renderer;
|
var renderer;
|
||||||
@@ -12411,13 +12411,13 @@ function ensureHydrationRenderer() {
|
|||||||
enabledHydration = true;
|
enabledHydration = true;
|
||||||
return renderer;
|
return renderer;
|
||||||
}
|
}
|
||||||
var render = (...args) => {
|
var render = ((...args) => {
|
||||||
ensureRenderer().render(...args);
|
ensureRenderer().render(...args);
|
||||||
};
|
});
|
||||||
var hydrate = (...args) => {
|
var hydrate = ((...args) => {
|
||||||
ensureHydrationRenderer().hydrate(...args);
|
ensureHydrationRenderer().hydrate(...args);
|
||||||
};
|
});
|
||||||
var createApp = (...args) => {
|
var createApp = ((...args) => {
|
||||||
const app = ensureRenderer().createApp(...args);
|
const app = ensureRenderer().createApp(...args);
|
||||||
if (true) {
|
if (true) {
|
||||||
injectNativeTagCheck(app);
|
injectNativeTagCheck(app);
|
||||||
@@ -12442,8 +12442,8 @@ var createApp = (...args) => {
|
|||||||
return proxy;
|
return proxy;
|
||||||
};
|
};
|
||||||
return app;
|
return app;
|
||||||
};
|
});
|
||||||
var createSSRApp = (...args) => {
|
var createSSRApp = ((...args) => {
|
||||||
const app = ensureHydrationRenderer().createApp(...args);
|
const app = ensureHydrationRenderer().createApp(...args);
|
||||||
if (true) {
|
if (true) {
|
||||||
injectNativeTagCheck(app);
|
injectNativeTagCheck(app);
|
||||||
@@ -12457,7 +12457,7 @@ var createSSRApp = (...args) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return app;
|
return app;
|
||||||
};
|
});
|
||||||
function resolveRootNamespace(container) {
|
function resolveRootNamespace(container) {
|
||||||
if (container instanceof SVGElement) {
|
if (container instanceof SVGElement) {
|
||||||
return "svg";
|
return "svg";
|
||||||
@@ -12715,6 +12715,7 @@ export {
|
|||||||
initDirectivesForSSR,
|
initDirectivesForSSR,
|
||||||
compile2 as compile
|
compile2 as compile
|
||||||
};
|
};
|
||||||
|
<<<<<<<< HEAD:docs/.vitepress/cache/deps/chunk-SFNBNC2X.js
|
||||||
/*! Bundled license information:
|
/*! Bundled license information:
|
||||||
|
|
||||||
@vue/shared/dist/shared.esm-bundler.js:
|
@vue/shared/dist/shared.esm-bundler.js:
|
||||||
@@ -12753,3 +12754,6 @@ vue/dist/vue.runtime.esm-bundler.js:
|
|||||||
**)
|
**)
|
||||||
*/
|
*/
|
||||||
//# sourceMappingURL=chunk-SFNBNC2X.js.map
|
//# sourceMappingURL=chunk-SFNBNC2X.js.map
|
||||||
|
========
|
||||||
|
//# sourceMappingURL=chunk-32NP4N34.js.map
|
||||||
|
>>>>>>>> ghb-11-22-createtable:docs/.vitepress/cache/deps/chunk-32NP4N34.js
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
8390
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js
vendored
8390
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
5
docs/.vitepress/cache/deps/vue.js
vendored
5
docs/.vitepress/cache/deps/vue.js
vendored
@@ -168,7 +168,11 @@ import {
|
|||||||
withMemo,
|
withMemo,
|
||||||
withModifiers,
|
withModifiers,
|
||||||
withScopeId
|
withScopeId
|
||||||
|
<<<<<<< HEAD
|
||||||
} from "./chunk-SFNBNC2X.js";
|
} from "./chunk-SFNBNC2X.js";
|
||||||
|
=======
|
||||||
|
} from "./chunk-32NP4N34.js";
|
||||||
|
>>>>>>> ghb-11-22-createtable
|
||||||
export {
|
export {
|
||||||
BaseTransition,
|
BaseTransition,
|
||||||
BaseTransitionPropsValidators,
|
BaseTransitionPropsValidators,
|
||||||
@@ -340,4 +344,3 @@ export {
|
|||||||
withModifiers,
|
withModifiers,
|
||||||
withScopeId
|
withScopeId
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=vue.js.map
|
|
||||||
|
|||||||
142
docs/ghb.md
142
docs/ghb.md
@@ -1,3 +1,143 @@
|
|||||||
龚涵博
|
龚涵博
|
||||||
|
|
||||||
contant:龚涵博111
|
contant:# 数据库表结构文档
|
||||||
|
|
||||||
|
## 1. 用户表 (users)
|
||||||
|
|
||||||
|
| 字段名 | 说明 | 类型 | 约束 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| user_id | 用户ID | INT | 主键 |
|
||||||
|
| username | 用户名 | VARCHAR | |
|
||||||
|
| age | 年龄 | INT | |
|
||||||
|
| education | 学历 | VARCHAR | |
|
||||||
|
| work_experience | 工作经验 | VARCHAR | |
|
||||||
|
| phone | 手机号 | VARCHAR | |
|
||||||
|
| email | 邮箱 | VARCHAR | |
|
||||||
|
| avatar | 头像 | VARCHAR | |
|
||||||
|
| created_at | 创建时间 | TIMESTAMP | |
|
||||||
|
| updated_at | 更新时间 | TIMESTAMP | |
|
||||||
|
|
||||||
|
## 2. 公司表 (companies)
|
||||||
|
|
||||||
|
| 字段名 | 说明 | 类型 | 约束 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| company_id | 公司ID | INT | 主键 |
|
||||||
|
| company_name | 公司名称 | VARCHAR | |
|
||||||
|
| industry | 行业 | VARCHAR | |
|
||||||
|
| scale | 公司规模 | VARCHAR | |
|
||||||
|
| nature | 企业性质 | VARCHAR | |
|
||||||
|
| location | 所在地 | VARCHAR | |
|
||||||
|
| description | 公司描述 | TEXT | |
|
||||||
|
| contact_info | 联系信息 | VARCHAR | |
|
||||||
|
| logo_url | 公司logo | VARCHAR | |
|
||||||
|
| created_at | 创建时间 | TIMESTAMP | |
|
||||||
|
| updated_at | 更新时间 | TIMESTAMP | |
|
||||||
|
|
||||||
|
## 3. 职位表 (jobs)
|
||||||
|
|
||||||
|
| 字段名 | 说明 | 类型 | 约束 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| job_id | 职位ID | INT | 主键 |
|
||||||
|
| company_id | 公司ID | INT | 外键 |
|
||||||
|
| job_title | 职位名称 | VARCHAR | |
|
||||||
|
| job_industry | 职位行业 | VARCHAR | |
|
||||||
|
| work_experience | 工作经验要求 | VARCHAR | |
|
||||||
|
| salary_range | 薪资范围 | VARCHAR | |
|
||||||
|
| education_requirement | 学历要求 | VARCHAR | |
|
||||||
|
| work_location | 工作地点 | VARCHAR | |
|
||||||
|
| job_description | 职位描述 | TEXT | |
|
||||||
|
| employment_type | 全职/兼职 | VARCHAR | |
|
||||||
|
| is_active | 是否有效 | BOOLEAN | |
|
||||||
|
| created_at | 创建时间 | TIMESTAMP | |
|
||||||
|
| updated_at | 更新时间 | TIMESTAMP | |
|
||||||
|
|
||||||
|
## 4. 人才简历表 (resumes)
|
||||||
|
|
||||||
|
| 字段名 | 说明 | 类型 | 约束 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| resume_id | 简历ID | INT | 主键 |
|
||||||
|
| user_id | 用户ID | INT | 外键 |
|
||||||
|
| expected_industry | 期望行业 | VARCHAR | |
|
||||||
|
| expected_salary | 期望薪资 | VARCHAR | |
|
||||||
|
| education_experience | 教育经历 | TEXT | |
|
||||||
|
| work_experience | 工作经历 | TEXT | |
|
||||||
|
| skills | 技能 | TEXT | |
|
||||||
|
| is_public | 是否公开 | BOOLEAN | |
|
||||||
|
| last_updated | 最后更新时间 | TIMESTAMP | |
|
||||||
|
| created_at | 创建时间 | TIMESTAMP | |
|
||||||
|
|
||||||
|
## 5. 招聘活动表 (recruitment_events)
|
||||||
|
|
||||||
|
| 字段名 | 说明 | 类型 | 约束 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| event_id | 活动ID | INT | 主键 |
|
||||||
|
| event_title | 活动标题 | VARCHAR | |
|
||||||
|
| event_time | 活动时间 | TIMESTAMP | |
|
||||||
|
| location | 活动地点 | VARCHAR | |
|
||||||
|
| description | 活动描述 | TEXT | |
|
||||||
|
| organizer | 主办方 | VARCHAR | |
|
||||||
|
| event_type | 活动类型 | VARCHAR | |
|
||||||
|
| status | 状态 | VARCHAR | |
|
||||||
|
| created_at | 创建时间 | TIMESTAMP | |
|
||||||
|
| updated_at | 更新时间 | TIMESTAMP | |
|
||||||
|
|
||||||
|
## 6. 资讯政策表 (news_policies)
|
||||||
|
|
||||||
|
| 字段名 | 说明 | 类型 | 约束 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| news_id | 资讯ID | INT | 主键 |
|
||||||
|
| title | 标题 | VARCHAR | |
|
||||||
|
| content | 内容 | TEXT | |
|
||||||
|
| type | 类型 | VARCHAR | |
|
||||||
|
| publish_time | 发布时间 | TIMESTAMP | |
|
||||||
|
| source | 来源 | VARCHAR | |
|
||||||
|
| is_top | 是否置顶 | BOOLEAN | |
|
||||||
|
| created_at | 创建时间 | TIMESTAMP | |
|
||||||
|
|
||||||
|
## 7. 热门搜索表 (hot_searches)
|
||||||
|
|
||||||
|
| 字段名 | 说明 | 类型 | 约束 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| search_id | 搜索ID | INT | 主键 |
|
||||||
|
| keyword | 搜索关键词 | VARCHAR | |
|
||||||
|
| search_type | 搜索类型 | VARCHAR | |
|
||||||
|
| search_count | 搜索次数 | INT | |
|
||||||
|
| display_order | 显示顺序 | INT | |
|
||||||
|
| is_active | 是否有效 | BOOLEAN | |
|
||||||
|
| created_at | 创建时间 | TIMESTAMP | |
|
||||||
|
|
||||||
|
## 关联关系表
|
||||||
|
|
||||||
|
### 8. 人才期望行业表 (resume_industries)
|
||||||
|
|
||||||
|
| 字段名 | 说明 | 类型 | 约束 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| id | ID | INT | 主键 |
|
||||||
|
| resume_id | 简历ID | INT | 外键 |
|
||||||
|
| industry_id | 行业ID | INT | |
|
||||||
|
|
||||||
|
### 9. 活动参与表 (event_participants)
|
||||||
|
|
||||||
|
| 字段名 | 说明 | 类型 | 约束 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| id | ID | INT | 主键 |
|
||||||
|
| event_id | 活动ID | INT | 外键 |
|
||||||
|
| company_id | 公司ID | INT | 外键 |
|
||||||
|
| participant_type | 参与类型 | VARCHAR | |
|
||||||
|
|
||||||
|
### 10. 行业分类表 (industries)
|
||||||
|
|
||||||
|
| 字段名 | 说明 | 类型 | 约束 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| industry_id | 行业ID | INT | 主键 |
|
||||||
|
| industry_name | 行业名称 | VARCHAR | |
|
||||||
|
| parent_id | 父级ID | INT | |
|
||||||
|
| level | 层级 | INT | |
|
||||||
|
| created_at | 创建时间 | TIMESTAMP | |
|
||||||
|
|
||||||
|
## 表关系说明
|
||||||
|
|
||||||
|
- 用户表 ↔ 人才简历表:一对多(一个用户可以有多个简历版本)
|
||||||
|
- 公司表 ↔ 职位表:一对多(一个公司发布多个职位)
|
||||||
|
- 人才简历表 ↔ 人才期望行业表:一对多(一个简历对应多个期望行业)
|
||||||
|
- 招聘活动表 ↔ 活动参与表:一对多(一个活动多个参与公司)
|
||||||
Reference in New Issue
Block a user