Commit 07a187fc by 张倩

Merge branch 'master' of gitlab.corp.qinqinxiaobao.com:qqxb-qqqf/qqck-project

parents bec9f778 9d68a028
{
"showUnsupportedFiles": true
}
\ No newline at end of file
{
"theme": "obsidian"
}
\ No newline at end of file
[
"obsidian-git"
]
\ No newline at end of file
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"footnotes": true,
"properties": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": true,
"zk-prefixer": true,
"random-note": false,
"outline": true,
"word-count": true,
"slides": true,
"audio-recorder": false,
"workspaces": true,
"file-recovery": true,
"publish": false,
"sync": true,
"bases": true,
"webviewer": true
}
\ No newline at end of file
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"colorGroups": [],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 1,
"close": false
}
\ No newline at end of file
{
"preview": true
}
\ No newline at end of file
This diff could not be displayed because it is too large.
{
"author": "Vinzent",
"authorUrl": "https://github.com/Vinzent03",
"id": "obsidian-git",
"name": "Git",
"description": "Integrate Git version control with automatic backup and other advanced features.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"version": "2.38.5"
}
#!/bin/sh
PROMPT="$1"
TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT"
cleanup() {
rm -f "$TEMP_FILE" "$TEMP_FILE.response"
}
trap cleanup EXIT
echo "$PROMPT" > "$TEMP_FILE"
while [ ! -e "$TEMP_FILE.response" ]; do
if [ ! -e "$TEMP_FILE" ]; then
echo "Trigger file got removed: Abort" >&2
exit 1
fi
sleep 0.1
done
RESPONSE=$(cat "$TEMP_FILE.response")
echo "$RESPONSE"
@keyframes loading {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.workspace-leaf-content[data-type="git-view"] .button-border {
border: 2px solid var(--interactive-accent);
border-radius: var(--radius-s);
}
.workspace-leaf-content[data-type="git-view"] .view-content {
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.workspace-leaf-content[data-type="git-history-view"] .view-content {
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.loading {
overflow: hidden;
}
.loading > svg {
animation: 2s linear infinite loading;
transform-origin: 50% 50%;
display: inline-block;
}
.obsidian-git-center {
margin: auto;
text-align: center;
width: 50%;
}
.obsidian-git-textarea {
display: block;
margin-left: auto;
margin-right: auto;
}
.obsidian-git-disabled {
opacity: 0.5;
}
.obsidian-git-center-button {
display: block;
margin: 20px auto;
}
.tooltip.mod-left {
overflow-wrap: break-word;
}
.tooltip.mod-right {
overflow-wrap: break-word;
}
/* Limits the scrollbar to the view body */
.git-view {
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
/* Re-enable wrapping of nav buttns to prevent overflow on smaller screens #*/
.workspace-drawer .git-view .nav-buttons-container {
flex-wrap: wrap;
}
.git-tools {
display: flex;
margin-left: auto;
}
.git-tools .type {
padding-left: var(--size-2-1);
display: flex;
align-items: center;
justify-content: center;
width: 11px;
}
.git-tools .type[data-type="M"] {
color: orange;
}
.git-tools .type[data-type="D"] {
color: red;
}
.git-tools .buttons {
display: flex;
}
.git-tools .buttons > * {
padding: 0;
height: auto;
}
.workspace-leaf-content[data-type="git-view"] .tree-item-self,
.workspace-leaf-content[data-type="git-history-view"] .tree-item-self {
align-items: center;
}
.workspace-leaf-content[data-type="git-view"]
.tree-item-self:hover
.clickable-icon,
.workspace-leaf-content[data-type="git-history-view"]
.tree-item-self:hover
.clickable-icon {
color: var(--icon-color-hover);
}
/* Highlight an item as active if it's diff is currently opened */
.is-active .git-tools .buttons > * {
color: var(--nav-item-color-active);
}
.git-author {
color: var(--text-accent);
}
.git-date {
color: var(--text-accent);
}
.git-ref {
color: var(--text-accent);
}
/* ====== diff2html ======
The following styles are adapted from the obsidian-version-history plugin by
@kometenstaub https://github.com/kometenstaub/obsidian-version-history-diff/blob/main/src/styles.scss
which itself is adapted from the diff2html library with the following original license:
https://github.com/rtfpessoa/diff2html/blob/master/LICENSE.md
Copyright 2014-2016 Rodrigo Fernandes https://rtfpessoa.github.io/
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.theme-dark,
.theme-light {
--git-delete-bg: #ff475040;
--git-delete-hl: #96050a75;
--git-insert-bg: #68d36840;
--git-insert-hl: #23c02350;
--git-change-bg: #ffd55840;
--git-selected: #3572b0;
--git-delete: #cc3333;
--git-insert: #399839;
--git-change: #d0b44c;
--git-move: #3572b0;
}
.git-diff {
.d2h-d-none {
display: none;
}
.d2h-wrapper {
text-align: left;
border-radius: 0.25em;
overflow: auto;
}
.d2h-file-header.d2h-file-header {
background-color: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
font-family:
Source Sans Pro,
Helvetica Neue,
Helvetica,
Arial,
sans-serif;
height: 35px;
padding: 5px 10px;
}
.d2h-file-header,
.d2h-file-stats {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.d2h-file-header {
display: none;
}
.d2h-file-stats {
font-size: 14px;
margin-left: auto;
}
.d2h-lines-added {
border: 1px solid var(--color-green);
border-radius: 5px 0 0 5px;
color: var(--color-green);
padding: 2px;
text-align: right;
vertical-align: middle;
}
.d2h-lines-deleted {
border: 1px solid var(--color-red);
border-radius: 0 5px 5px 0;
color: var(--color-red);
margin-left: 1px;
padding: 2px;
text-align: left;
vertical-align: middle;
}
.d2h-file-name-wrapper {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 15px;
width: 100%;
}
.d2h-file-name {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--text-normal);
font-size: var(--h5-size);
}
.d2h-file-wrapper {
border: 1px solid var(--background-secondary-alt);
border-radius: 3px;
margin-bottom: 1em;
max-height: 100%;
}
.d2h-file-collapse {
-webkit-box-pack: end;
-ms-flex-pack: end;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 1px solid var(--background-secondary-alt);
border-radius: 3px;
cursor: pointer;
display: none;
font-size: 12px;
justify-content: flex-end;
padding: 4px 8px;
}
.d2h-file-collapse.d2h-selected {
background-color: var(--git-selected);
}
.d2h-file-collapse-input {
margin: 0 4px 0 0;
}
.d2h-diff-table {
border-collapse: collapse;
font-family: var(--font-monospace);
font-size: var(--code-size);
width: 100%;
}
.d2h-files-diff {
width: 100%;
}
.d2h-file-diff {
/*
overflow-y: scroll;
*/
border-radius: 5px;
font-size: var(--font-text-size);
line-height: var(--line-height-normal);
}
.d2h-file-side-diff {
display: inline-block;
margin-bottom: -8px;
margin-right: -4px;
overflow-x: scroll;
overflow-y: hidden;
width: 50%;
}
.d2h-code-line {
padding-left: 6em;
padding-right: 1.5em;
}
.d2h-code-line,
.d2h-code-side-line {
display: inline-block;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: 100%;
}
.d2h-code-side-line {
/* needed to be changed */
padding-left: 0.5em;
padding-right: 0.5em;
}
.d2h-code-line-ctn {
word-wrap: normal;
background: none;
display: inline-block;
padding: 0;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
vertical-align: middle;
width: 100%;
/* only works for line-by-line */
white-space: pre-wrap;
}
.d2h-code-line del,
.d2h-code-side-line del {
background-color: var(--git-delete-hl);
color: var(--text-normal);
}
.d2h-code-line del,
.d2h-code-line ins,
.d2h-code-side-line del,
.d2h-code-side-line ins {
border-radius: 0.2em;
display: inline-block;
margin-top: -1px;
text-decoration: none;
vertical-align: middle;
}
.d2h-code-line ins,
.d2h-code-side-line ins {
background-color: var(--git-insert-hl);
text-align: left;
}
.d2h-code-line-prefix {
word-wrap: normal;
background: none;
display: inline;
padding: 0;
white-space: pre;
}
.line-num1 {
float: left;
}
.line-num1,
.line-num2 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
/*
padding: 0 0.5em;
*/
text-overflow: ellipsis;
width: 2.5em;
padding-left: 0;
}
.line-num2 {
float: right;
}
.d2h-code-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-faint);
cursor: pointer;
display: inline-block;
position: absolute;
text-align: right;
width: 5.5em;
}
.d2h-code-linenumber:after {
content: "\200b";
}
.d2h-code-side-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-faint);
cursor: pointer;
overflow: hidden;
padding: 0 0.5em;
text-align: right;
text-overflow: ellipsis;
width: 4em;
/* needed to be changed */
display: table-cell;
position: relative;
}
.d2h-code-side-linenumber:after {
content: "\200b";
}
.d2h-code-side-emptyplaceholder,
.d2h-emptyplaceholder {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
}
.d2h-code-line-prefix,
.d2h-code-linenumber,
.d2h-code-side-linenumber,
.d2h-emptyplaceholder {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.d2h-code-linenumber,
.d2h-code-side-linenumber {
direction: rtl;
}
.d2h-del {
background-color: var(--git-delete-bg);
border-color: var(--git-delete-hl);
}
.d2h-ins {
background-color: var(--git-insert-bg);
border-color: var(--git-insert-hl);
}
.d2h-info {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
color: var(--text-faint);
}
.d2h-del,
.d2h-ins,
.d2h-file-diff .d2h-change {
color: var(--text-normal);
}
.d2h-file-diff .d2h-del.d2h-change {
background-color: var(--git-change-bg);
}
.d2h-file-diff .d2h-ins.d2h-change {
background-color: var(--git-insert-bg);
}
.d2h-file-list-wrapper {
a {
text-decoration: none;
cursor: default;
-webkit-user-drag: none;
}
svg {
display: none;
}
}
.d2h-file-list-header {
text-align: left;
}
.d2h-file-list-title {
display: none;
}
.d2h-file-list-line {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
text-align: left;
}
.d2h-file-list {
}
.d2h-file-list > li {
border-bottom: 1px solid var(--background-modifier-border);
margin: 0;
padding: 5px 10px;
}
.d2h-file-list > li:last-child {
border-bottom: none;
}
.d2h-file-switch {
cursor: pointer;
display: none;
font-size: 10px;
}
.d2h-icon {
fill: currentColor;
margin-right: 10px;
vertical-align: middle;
}
.d2h-deleted {
color: var(--git-delete);
}
.d2h-added {
color: var(--git-insert);
}
.d2h-changed {
color: var(--git-change);
}
.d2h-moved {
color: var(--git-move);
}
.d2h-tag {
background-color: var(--background-secondary);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 10px;
margin-left: 5px;
padding: 0 2px;
}
.d2h-deleted-tag {
border: 1px solid var(--git-delete);
}
.d2h-added-tag {
border: 1px solid var(--git-insert);
}
.d2h-changed-tag {
border: 1px solid var(--git-change);
}
.d2h-moved-tag {
border: 1px solid var(--git-move);
}
/* needed for line-by-line*/
.d2h-diff-tbody {
position: relative;
}
/* My additions */
.cm-merge-revert {
width: 4em;
}
/* Ensure that merge revert markers are positioned correctly */
.cm-merge-revert > * {
position: absolute;
background-color: var(--background-secondary);
display: flex;
}
}
/* ====================== Line Authoring Information ====================== */
.cm-gutterElement.obs-git-blame-gutter {
/* Add background color to spacing inbetween and around the gutter for better aesthetics */
border-width: 0px 2px 0.2px;
border-style: solid;
border-color: var(--background-secondary);
background-color: var(--background-secondary);
}
.cm-gutterElement.obs-git-blame-gutter > div,
.line-author-settings-preview {
/* delegate text color to settings */
color: var(--obs-git-gutter-text);
font-family: monospace;
height: 100%; /* ensure, that age-based background color occupies entire parent */
text-align: right;
padding: 0px 6px;
white-space: pre; /* Keep spaces and do not collapse them. */
}
@media (max-width: 800px) {
/* hide git blame gutter not to superpose text */
.cm-gutterElement.obs-git-blame-gutter {
display: none;
}
}
.git-unified-diff-view,
.git-split-diff-view .cm-deletedLine .cm-changedText {
background-color: #ee443330;
}
.git-unified-diff-view,
.git-split-diff-view .cm-insertedLine .cm-changedText {
background-color: #22bb2230;
}
.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg>');
}
.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye-off"><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"></path><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"></path><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"></path><path d="m2 2 20 20"></path></svg>');
}
/* Override styling of Codemirror merge view "collapsed lines" indicator */
.git-split-diff-view .ͼ2 .cm-collapsedLines {
background: var(--interactive-normal);
border-radius: var(--radius-m);
color: var(--text-accent);
font-size: var(--font-small);
padding: var(--size-4-1) var(--size-4-1);
}
.git-split-diff-view .ͼ2 .cm-collapsedLines:hover {
background: var(--interactive-hover);
color: var(--text-accent-hover);
}
.git-signs-gutter {
.cm-gutterElement {
display: grid;
/* Needed to align the sign properly for different line heigts. Such as
* when having a heading or list item.
*/
padding-top: 0 !important;
}
}
.git-gutter-marker:hover {
border-radius: 2px;
}
.git-gutter-marker.git-add {
background-color: var(--color-green);
justify-self: center;
height: inherit;
width: 0.2rem;
}
.git-gutter-marker.git-change {
background-color: var(--color-yellow);
justify-self: center;
height: inherit;
width: 0.2rem;
}
.git-gutter-marker.git-changedelete {
color: var(--color-yellow);
font-weight: var(--font-bold);
font-size: 1rem;
justify-self: center;
height: inherit;
}
.git-gutter-marker.git-delete {
background-color: var(--color-red);
height: 0.2rem;
width: 0.8rem;
align-self: end;
}
.git-gutter-marker.git-topdelete {
background-color: var(--color-red);
height: 0.2rem;
width: 0.8rem;
align-self: start;
}
div:hover > .git-gutter-marker.git-change {
width: 0.6rem;
}
div:hover > .git-gutter-marker.git-add {
width: 0.6rem;
}
div:hover > .git-gutter-marker.git-delete {
height: 0.6rem;
}
div:hover > .git-gutter-marker.git-topdelete {
height: 0.6rem;
}
div:hover > .git-gutter-marker.git-changedelete {
font-weight: var(--font-bold);
}
.git-gutter-marker.staged {
opacity: 0.5;
}
/* Prevent shifting of the editor when git signs gutter is the only gutter present */
.cm-gutters.cm-gutters-before:has(> .git-signs-gutter:only-child) {
margin-inline-end: 0;
.git-signs-gutter {
margin-inline-start: -1rem;
}
}
.git-changes-status-bar-colored {
.git-add {
color: var(--color-green);
}
.git-change {
color: var(--color-yellow);
}
.git-delete {
color: var(--color-red);
}
}
.git-changes-status-bar .git-add {
margin-right: 0.3em;
}
.git-changes-status-bar .git-change {
margin-right: 0.3em;
}
{
"main": {
"id": "cc505d76f19dc513",
"type": "split",
"children": [
{
"id": "97ab42d47d4068ce",
"type": "tabs",
"children": [
{
"id": "5d97c29978d17542",
"type": "leaf",
"state": {
"type": "graph",
"state": {},
"icon": "lucide-git-fork",
"title": "关系图谱"
}
}
],
"stacked": true
}
],
"direction": "vertical"
},
"left": {
"id": "78cd361163147386",
"type": "split",
"children": [
{
"id": "013fcccd7350faa8",
"type": "tabs",
"children": [
{
"id": "cf2ff5c8eae1bc75",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "byCreatedTimeReverse",
"autoReveal": true
},
"icon": "lucide-folder-closed",
"title": "文件列表"
}
},
{
"id": "1ebdcfe49bfcc2ae",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "搜索"
}
},
{
"id": "466de10af74c0bf8",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "书签"
}
}
]
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "f30b0f57eb171aaf",
"type": "split",
"children": [
{
"id": "425a7183dfe12e9a",
"type": "tabs",
"children": [
{
"id": "030cbfd0e9eda02e",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "反向链接"
}
},
{
"id": "c2192d64e02177b7",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "出链"
}
},
{
"id": "d47f0772c9e0f4fe",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "标签"
}
},
{
"id": "8f8fb97308236bc5",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-archive",
"title": "添加笔记属性"
}
},
{
"id": "0669472d0dff40df",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "未命名.base",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "未命名 的大纲"
}
},
{
"id": "cfd419189131780c",
"type": "leaf",
"state": {
"type": "git-view",
"state": {},
"icon": "git-pull-request",
"title": "Source Control"
}
},
{
"id": "f4d4bb0d63059e98",
"type": "leaf",
"state": {
"type": "footnotes",
"state": {},
"icon": "lucide-file-signature",
"title": "脚注"
}
}
],
"currentTab": 5
}
],
"direction": "horizontal",
"width": 300
},
"left-ribbon": {
"hiddenItems": {
"obsidian-git:Open Git source control": false,
"switcher:打开快速切换": false,
"graph:查看关系图谱": false,
"canvas:新建白板": false,
"daily-notes:打开/创建今天的日记": false,
"templates:插入模板": false,
"command-palette:打开命令面板": false,
"bases:新建数据库": false,
"workspaces:管理工作区布局": false,
"zk-prefixer:创建时间戳笔记": false,
"markdown-importer:打开 Markdown 格式转换器": false
}
},
"active": "cf2ff5c8eae1bc75",
"lastOpenFiles": [
"2026-07-03.md",
"99回收站/合伙人管理.html",
"99回收站/管理员工作台.html",
"99回收站/合伙人详情-未发奖励.html",
"99回收站",
"后台HTML原型/99回收站/合伙人详情-未发奖励.html",
"后台HTML原型/99回收站/管理员工作台.html",
"后台HTML原型/99回收站/合伙人管理.html",
"后台HTML原型/99回收站",
"后台HTML原型/回收站/合伙人详情-未发奖励.html",
"后台HTML原型/回收站/合伙人管理.html",
"未命名.md",
"未命名 1.md"
]
}
\ No newline at end of file
<!DOCTYPE html>
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<style>
:root{
--bg:#F8FAFC;--card:#fff;
--pri:#1B4F8A;--pri-l:#EBF2FC;
--grn:#15803D;--grn-l:#DCFCE7;
--org:#C2580A;--org-l:#FEF3C7;
--red:#B91C1C;--red-l:#FEE2E2;
--pur:#6D28D9;--pur-l:#EDE9FE;
--cyn:#0E7490;--cyn-l:#ECFEFF;
--gry:#64748B;--gry-l:#F1F5F9;--gry-b:#E2E8F0;
--text:#1E293B;--text2:#64748B;--text3:#94A3B8;
font-family:'PingFang SC','Microsoft YaHei',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);padding:14px;font-size:12px;color:var(--text)}
.pt{font-size:15px;font-weight:600;margin-bottom:2px}
.ps{font-size:11px;color:var(--text2);margin-bottom:12px}
.legend{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.leg{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--text2)}
.leg-dot{width:11px;height:11px;border-radius:3px;flex-shrink:0}
.two-col{display:grid;grid-template-columns:380px 1fr;gap:10px}
.section{background:var(--card);border:1px solid var(--gry-b);border-radius:10px;overflow:hidden}
.sh{padding:9px 13px;border-bottom:1px solid var(--gry-b);display:flex;align-items:center;gap:7px}
.sh-icon{font-size:17px}
.sh-t{font-size:12.5px;font-weight:600}
.sh-s{font-size:10.5px;font-weight:400;color:var(--gry);margin-top:1px}
.sb{padding:12px 13px;display:flex;flex-direction:column;gap:0}
.nd{padding:7px 10px;border-radius:6px;font-size:11.5px;line-height:1.45}
.nd-start{background:var(--grn);color:#fff;font-weight:600;text-align:center;border-radius:18px;padding:6px 14px;align-self:center;font-size:12px}
.nd-start-b{background:var(--pri);color:#fff;font-weight:600;text-align:center;border-radius:18px;padding:6px 14px;align-self:center;font-size:12px}
.nd-act{background:var(--pri-l);color:var(--pri);border:1px solid #C5D9F2}
.nd-dec{background:var(--org-l);color:var(--org);border:1px solid #F5D0A9;font-weight:500;text-align:center}
.nd-dec::before{content:'◆ ';font-size:9px;opacity:.7}
.nd-ok{background:var(--grn-l);color:var(--grn);border:1px solid #A7F3D0;text-align:center;font-weight:500}
.nd-sys{background:var(--gry-l);color:var(--gry);border:1px solid var(--gry-b)}
.nd-form{background:#F0F9FF;color:#0369A1;border:1px solid #BAE6FD}
.nd-warn{background:var(--org-l);color:var(--org);border:1px solid #F5D0A9;text-align:center}
.nd-qr{background:var(--cyn-l);color:var(--cyn);border:1px solid #A5F3FC}
.tip{border-radius:6px;padding:6px 9px;font-size:11px;line-height:1.55}
.tip-pur{background:var(--pur-l);color:var(--pur);border:1px solid #C4B5FD}
.tip-org{background:#FFF7ED;color:#92400E;border:1px solid #FDE68A}
.tip-grn{background:var(--grn-l);color:var(--grn);border:1px solid #A7F3D0}
.arr{text-align:center;color:var(--text3);height:15px;font-size:12px;display:flex;align-items:center;justify-content:center}
.br{display:flex;gap:6px;align-items:flex-start;margin:4px 0}
.bc{flex:1;display:flex;flex-direction:column;gap:0;min-width:0}
.bsep{width:1px;background:var(--gry-b);flex-shrink:0;margin-top:4px}
.bl{font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;margin-bottom:4px;align-self:flex-start;white-space:nowrap}
.bl-y{background:var(--grn-l);color:var(--grn)}
.bl-n{background:var(--red-l);color:var(--red)}
.bl-ind{background:var(--pri-l);color:var(--pri)}
.bl-ent{background:var(--pur-l);color:var(--pur)}
.bl-par{background:#FDF4FF;color:#86198F}
.bl-old{background:var(--org-l);color:var(--org)}
.bl-new{background:var(--grn-l);color:var(--grn)}
.bl-has{background:var(--cyn-l);color:var(--cyn)}
.bl-no{background:var(--gry-l);color:var(--gry)}
.jb{border:1px solid var(--gry-b);border-radius:6px;padding:7px 8px;margin-bottom:5px;display:flex;flex-direction:column;gap:3px;background:#fff}
.dashed{border-top:1px dashed var(--gry-b);padding-top:10px;margin-top:10px}
.reuse-box{border:1.5px dashed #A7F3D0;border-radius:7px;padding:6px 8px;background:#F0FFF4}
.reuse-label{font-size:10px;color:var(--grn);font-weight:600;margin-bottom:5px;display:flex;align-items:center;gap:4px}
.footer{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.fi{background:var(--card);border:1px solid var(--gry-b);border-radius:8px;padding:9px 11px;font-size:11px;line-height:1.6;color:var(--text2)}
.fi b{display:block;color:var(--text);margin-bottom:3px;font-size:11.5px}
/* 留资表单样式 - 突出显示两个字段 */
.form-fields{background:#fff;border:1px solid #BAE6FD;border-radius:5px;padding:6px 8px;margin-top:4px;display:flex;flex-direction:column;gap:4px}
.form-field{display:flex;align-items:center;gap:6px;font-size:11px;color:#0369A1}
.form-field-label{background:#E0F2FE;color:#0369A1;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;white-space:nowrap}
.form-field-val{color:#64748B;font-size:10.5px}
</style>
</head>
<body>
<div class="pt">邀请码 &amp; 推广码落地页流程 v4</div>
<div class="ps">合伙人仅负责引流 · 服务跟进由平台客服负责 · 成交后系统自动计算返佣</div>
<div class="legend">
<div class="leg"><div class="leg-dot" style="background:var(--pri-l);border:1px solid #C5D9F2"></div>操作节点</div>
<div class="leg"><div class="leg-dot" style="background:var(--org-l);border:1px solid #F5D0A9"></div>判断节点</div>
<div class="leg"><div class="leg-dot" style="background:var(--grn-l);border:1px solid #A7F3D0"></div>成功结束</div>
<div class="leg"><div class="leg-dot" style="background:var(--cyn-l);border:1px solid #A5F3FC"></div>客户经理引导</div>
<div class="leg"><div class="leg-dot" style="background:var(--pur-l);border:1px solid #C4B5FD"></div>温馨提示</div>
<div class="leg"><div class="leg-dot" style="background:var(--gry-l);border:1px solid var(--gry-b)"></div>系统自动</div>
</div>
<div class="two-col">
<!-- ══════════════ 左:邀请码 ══════════════ -->
<div class="section">
<div class="sh" style="background:var(--pri-l)">
<div class="sh-icon">🔗</div>
<div>
<div class="sh-t" style="color:var(--pri)">邀请码流程(合伙人加入)</div>
<div class="sh-s">员工在合伙人小程序生成 → 分享给意向合伙人 → 扫码加入</div>
</div>
</div>
<div class="sb">
<div class="nd nd-start-b" style="margin-bottom:6px">员工在合伙人小程序生成邀请码</div>
<div class="arr"></div>
<div class="nd nd-act">意向合伙人扫邀请码 → 进入<b>合伙人小程序</b>落地页(携带 code)</div>
<div class="arr"></div>
<div class="nd nd-dec">是否已登录?</div>
<div class="br" style="margin-top:6px">
<div class="bc">
<div class="bl bl-y">✓ 已登录</div>
<div class="nd nd-dec" style="font-size:11px">是否已是合伙人?</div>
<div class="arr"></div>
<div class="br">
<div class="bc">
<div class="bl bl-y"></div>
<div class="nd nd-warn" style="font-size:11px">仅显示「返回首页」</div>
<div class="arr"></div>
<div class="nd nd-ok" style="font-size:10.5px">跳转首页</div>
</div>
<div class="bsep"></div>
<div class="bc">
<div class="bl bl-n"></div>
<div class="nd nd-act" style="font-size:11px">显示「加入合伙人」按钮</div>
<div class="arr"></div>
<div class="nd nd-sys" style="font-size:11px">调用绑定接口完成关系绑定</div>
<div class="arr"></div>
<div class="nd nd-ok" style="font-size:10.5px">跳转首页</div>
</div>
</div>
</div>
<div class="bsep"></div>
<div class="bc">
<div class="bl bl-n">✗ 未登录</div>
<div class="nd nd-act" style="font-size:11px">显示「加入合伙人」<br>点击携带 code → 跳登录页</div>
<div class="arr"></div>
<div class="nd nd-dec" style="font-size:11px">已注册 / 未注册?</div>
<div class="arr"></div>
<div class="br">
<div class="bc">
<div class="bl bl-y" style="font-size:9.5px">已注册</div>
<div class="nd nd-act" style="font-size:10.5px">完成登录</div>
</div>
<div class="bsep"></div>
<div class="bc">
<div class="bl bl-n" style="font-size:9.5px">未注册</div>
<div class="nd nd-act" style="font-size:10.5px">完成注册</div>
</div>
</div>
<div class="arr"></div>
<div class="nd nd-dec" style="font-size:11px">是否已是合伙人?</div>
<div class="arr"></div>
<div class="br">
<div class="bc">
<div class="bl bl-y" style="font-size:9.5px"></div>
<div class="nd nd-ok" style="font-size:10px">直接跳首页</div>
</div>
<div class="bsep"></div>
<div class="bc">
<div class="bl bl-n" style="font-size:9.5px"></div>
<div class="nd nd-sys" style="font-size:10px">绑定合伙人关系</div>
<div class="arr"></div>
<div class="nd nd-ok" style="font-size:10px">跳转首页</div>
</div>
</div>
</div>
</div>
<div class="dashed">
<div style="font-size:11.5px;font-weight:500;color:var(--text2);margin-bottom:6px">另一条路:用户自主申请</div>
<div class="nd nd-act" style="font-size:11px">登录后在小程序提交申请成为合伙人的表单</div>
<div class="arr"></div>
<div class="nd nd-sys" style="font-size:11px">后台生成申请记录,状态:待审核</div>
<div class="arr"></div>
<div class="tip tip-pur" style="font-size:11px">
<b style="display:block;margin-bottom:3px">蹇晓丽(市场部)审核通过</b>
默认对接人 = 蹇晓丽 · 来源标签 = 自主申请
</div>
</div>
</div>
</div>
<!-- ══════════════ 右:推广码 ══════════════ -->
<div class="section">
<div class="sh" style="background:#F0FDF4">
<div class="sh-icon">📲</div>
<div>
<div class="sh-t" style="color:var(--grn)">推广码流程(推广客户)</div>
<div class="sh-s">合伙人生成推广码 → 用户扫码进入<b>用户端 H5 落地页</b></div>
</div>
</div>
<div class="sb">
<div class="nd nd-start" style="margin-bottom:6px">合伙人在小程序生成推广码(通用 / 产品专属)</div>
<div class="arr"></div>
<div class="nd nd-act">用户扫码 → 进入<b>用户端 H5 落地页</b>(携带 code + 产品类型参数)</div>
<div class="arr"></div>
<div class="nd nd-dec">是否已登录?</div>
<div class="br" style="margin-top:6px">
<!-- ── 未登录 ── -->
<div class="bc">
<div class="bl bl-n">✗ 未登录</div>
<div class="nd nd-dec" style="font-size:11px">产品类型?</div>
<div class="arr"></div>
<div class="br">
<!-- 个人产品未登录 -->
<div class="bc">
<div class="bl bl-ind">个人产品</div>
<div class="nd nd-act" style="font-size:11px">展示产品介绍<br>「注册 / 登录」按钮<br>(code 全程携带)</div>
<div class="arr"></div>
<div class="nd nd-act" style="font-size:11px">完成注册或登录</div>
<div class="arr"></div>
<div class="reuse-box">
<div class="reuse-label">↓ 复用已登录·个人产品判断</div>
<div class="jb">
<div class="bl bl-par" style="font-size:9.5px">① 是合伙人</div>
<div class="tip tip-pur" style="padding:4px 7px;font-size:10px">您已是合伙人伙伴啦 🎉 快去分享您的推广码吧!</div>
</div>
<div class="jb">
<div class="bl bl-old" style="font-size:9.5px">② 老用户(有历史付费)</div>
<div class="tip tip-org" style="padding:4px 7px;font-size:10px">您已是忠实用户啦 🌟 无需重新绑定~</div>
</div>
<div class="jb" style="margin-bottom:0">
<div class="bl bl-new" style="font-size:9.5px">③ 新用户</div>
<div class="nd nd-sys" style="font-size:10px">自动绑定推广关系</div>
<div class="tip tip-grn" style="padding:4px 7px;font-size:10px;margin-top:3px">您是通过好友推荐来的 😊 平台客服将全程服务~</div>
<div class="nd nd-ok" style="font-size:10px;margin-top:3px">继续浏览 / 进入购买流程</div>
</div>
</div>
</div>
<div class="bsep"></div>
<!-- 企业产品未登录 -->
<div class="bc">
<div class="bl bl-ent">企业产品</div>
<div class="nd nd-form" style="font-size:11px">展示企业留资表单</div>
<!-- 留资字段高亮 -->
<div class="form-fields">
<div class="form-field">
<span class="form-field-label">必填</span>
<span class="form-field-val">联系电话</span>
</div>
<div class="form-field">
<span class="form-field-label">必填</span>
<span class="form-field-val">企业名称</span>
</div>
</div>
<div class="arr"></div>
<div class="nd nd-sys" style="font-size:11px">提交后创建企业<br>CRM 联系人记录<br>(含合伙人 ID)</div>
<div class="arr"></div>
<div class="nd nd-ok" style="font-size:11px">企微通知销售<br>「新企业线索待跟进」</div>
<div style="margin-top:5px;background:var(--gry-l);border-radius:5px;padding:5px 8px;font-size:10.5px;color:var(--text2);line-height:1.5">
企业留资<b>无需登录</b>,合伙人 ID 通过 code 写入 CRM。
</div>
</div>
</div>
</div>
<div class="bsep"></div>
<!-- ── 已登录 ── -->
<div class="bc">
<div class="bl bl-y">✓ 已登录</div>
<div class="nd nd-dec" style="font-size:11px">产品类型?</div>
<div class="arr"></div>
<div class="br">
<!-- 已登录·个人产品 -->
<div class="bc">
<div class="bl bl-ind">个人产品</div>
<div style="font-size:10.5px;color:var(--text2);margin-bottom:4px">三层身份判断:</div>
<div class="jb">
<div class="bl bl-par">① 是合伙人</div>
<div class="tip tip-pur" style="padding:5px 8px;font-size:11px">您已是亲亲的合伙人伙伴啦 🎉 感谢支持,快去分享您的推广码吧!</div>
<div class="nd nd-sys" style="font-size:10.5px;margin-top:3px">不做绑定,展示提示</div>
</div>
<div class="jb">
<div class="bl bl-old">② 非合伙人·有历史付费</div>
<div class="tip tip-org" style="padding:5px 8px;font-size:11px">您已是亲亲小保的忠实用户啦 🌟 现有业务由平台客服跟进,无需重新绑定~</div>
<div class="nd nd-sys" style="font-size:10.5px;margin-top:3px">不做绑定,可继续浏览</div>
</div>
<div class="jb" style="margin-bottom:0">
<div class="bl bl-new">③ 非合伙人·无历史业务</div>
<div class="nd nd-sys" style="font-size:11px">落地页加载后自动绑定推广关系</div>
<div class="tip tip-grn" style="padding:5px 8px;font-size:11px;margin-top:3px">您是通过好友推荐来到亲亲小保的 😊 有任何业务需要,平台客服将全程服务~</div>
<div class="nd nd-ok" style="font-size:10.5px;margin-top:3px;text-align:center">继续浏览 / 进入购买流程</div>
</div>
</div>
<div class="bsep"></div>
<!-- 已登录·企业产品 -->
<div class="bc">
<div class="bl bl-ent">企业产品</div>
<div class="nd nd-dec" style="font-size:11px">用户名下是否已有企业?</div>
<div class="arr"></div>
<div class="br">
<!-- 有企业 -->
<div class="bc">
<div class="bl bl-has">已有企业</div>
<div class="nd nd-qr" style="font-size:11px">获取该企业客户经理的企微二维码</div>
<div class="arr"></div>
<div class="nd nd-qr" style="font-size:11px">📱 展示企微二维码<br>引导用户扫码联系</div>
<div class="arr"></div>
<div class="tip" style="background:var(--cyn-l);color:var(--cyn);border:1px solid #A5F3FC;padding:6px 8px;font-size:11px">
<b style="display:block;margin-bottom:3px">💬 温馨提示</b>
您的企业已在平台服务中~ 扫描上方二维码联系您的专属客户经理,Ta 将为您跟进处理 😊
</div>
<div class="nd nd-sys" style="font-size:10.5px;margin-top:4px">不重复创建 CRM 记录</div>
</div>
<div class="bsep"></div>
<!-- 无企业 -->
<div class="bc">
<div class="bl bl-no">无企业</div>
<div class="nd nd-form" style="font-size:11px">展示企业留资表单</div>
<!-- 留资字段高亮 -->
<div class="form-fields">
<div class="form-field">
<span class="form-field-label">必填</span>
<span class="form-field-val">联系电话</span>
</div>
<div class="form-field">
<span class="form-field-label">必填</span>
<span class="form-field-val">企业名称</span>
</div>
</div>
<div class="arr"></div>
<div class="nd nd-sys" style="font-size:11px">创建企业 CRM<br>联系人记录<br>(含合伙人 ID)</div>
<div class="arr"></div>
<div class="nd nd-ok" style="font-size:11px">企微通知销售<br>「新企业线索待跟进」</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 底部约定 -->
<div class="footer">
<div class="fi">
<b>🔗 code 全程携带</b>
落地页 → 登录页 → 注册页每个跳转都必须传 code,注册/登录完成后用 code 查合伙人 ID 执行绑定。
</div>
<div class="fi">
<b>🔒 归属唯一(first-touch)</b>
用户已有推广绑定关系后,再扫其他推广码不会改变归属,避免合伙人之间的归属争议。
</div>
<div class="fi">
<b>🏢 企业留资两个字段</b>
留资表单只需<b>联系电话</b><b>企业名称</b>,降低填写门槛提升留资率。合伙人归属通过 code 参数自动写入 CRM,无需用户填写。
</div>
<div class="fi">
<b>💰 合伙人角色边界</b>
合伙人只负责引流,服务跟进由平台客服负责。用户成交后系统自动按规则计算返佣,入账合伙人奖励金账户。
</div>
</div>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment