Explorar el Código

2023-05-08 17:12:14

john hace 2 años
padre
commit
bb9eaa259d
Se han modificado 62 ficheros con 2115 adiciones y 46 borrados
  1. BIN
      .DS_Store
  2. 2 1
      .obsidian/appearance.json
  3. 1 1
      .obsidian/plugins/obsidian-enhancing-export/data.json
  4. 99 42
      .obsidian/workspace.json
  5. 6 1
      书签/前端.md
  6. 410 0
      工具/git/一个开发人员需要知道的 commit 规范.md
  7. 155 0
      工具/mysql/第二次配置mysql.md
  8. 41 0
      工具/mysql/说明.md
  9. 2 0
      工具/sublime meage/文件查询.md
  10. 74 0
      开发/js/工具函数收集.md
  11. BIN
      思维导图/微前端.emmx
  12. BIN
      思维导图/无牌车出场.emmx
  13. 1 0
      未命名 1.canvas
  14. 1 0
      未命名 2.canvas
  15. 1 0
      未命名.canvas
  16. 14 1
      每日工作笔记/2023-03-13.md
  17. 4 0
      每日工作笔记/2023-03-14.md
  18. 6 0
      每日工作笔记/2023-03-15.md
  19. 11 0
      每日工作笔记/2023-03-16.md
  20. 28 0
      每日工作笔记/2023-03-20.md
  21. 12 0
      每日工作笔记/2023-03-21.md
  22. 122 0
      每日工作笔记/2023-03-22.md
  23. 0 0
      每日工作笔记/2023-03-23.md
  24. 4 0
      每日工作笔记/2023-03-24.md
  25. 37 0
      每日工作笔记/2023-03-29.md
  26. 13 0
      每日工作笔记/2023-03-30.md
  27. 8 0
      每日工作笔记/2023-04-03.md
  28. 76 0
      每日工作笔记/2023-04-04.md
  29. 16 0
      每日工作笔记/2023-04-05.md
  30. 3 0
      每日工作笔记/2023-04-06.md
  31. 18 0
      每日工作笔记/2023-04-08.md
  32. 24 0
      每日工作笔记/2023-04-11.md
  33. 17 0
      每日工作笔记/2023-04-12.md
  34. 4 0
      每日工作笔记/2023-04-17.md
  35. 3 0
      每日工作笔记/2023-04-20.md
  36. 21 0
      每日工作笔记/2023-04-21.md
  37. 2 0
      每日工作笔记/2023-04-23.md
  38. 6 0
      每日工作笔记/2023-04-24.md
  39. 14 0
      每日工作笔记/2023-04-25.md
  40. 5 0
      每日工作笔记/2023-04-26.md
  41. 0 0
      每日工作笔记/2023-04-27.md
  42. 3 0
      每日工作笔记/2023-04-28.md
  43. 1 0
      每日工作笔记/2023-04-29.md
  44. 0 0
      每日工作笔记/2023-05-03.md
  45. 11 0
      每日工作笔记/2023-05-08.md
  46. 33 0
      每日工作笔记/K+扫描 CRM无牌车出入场码.md
  47. BIN
      每日工作笔记/MicrosoftTeams-image (1).png
  48. BIN
      每日工作笔记/Pasted image 20230320174344.png
  49. BIN
      每日工作笔记/Pasted image 20230327171743.png
  50. BIN
      每日工作笔记/Pasted image 20230327171744.png
  51. BIN
      每日工作笔记/Pasted image 20230328102128.png
  52. BIN
      每日工作笔记/Pasted image 20230330110627.png
  53. BIN
      每日工作笔记/Pasted image 20230403111433.png
  54. BIN
      每日工作笔记/Pasted image 20230426150746.png
  55. BIN
      每日工作笔记/Pasted image 20230508171104.png
  56. BIN
      每日工作笔记/code=8b3573a0&type=unlicensedIn.png
  57. BIN
      每日工作笔记/code=8b3573a1&type=unlicensedOut.png
  58. 222 0
      每日工作笔记/二维码生成文档-精简版本.md
  59. 223 0
      每日工作笔记/二维码生成文档-精简版本2.md
  60. 245 0
      每日工作笔记/二维码生成文档.md
  61. 40 0
      每日工作笔记/前海二维码映射.md
  62. 76 0
      每日工作笔记/接口整理.md

BIN
.DS_Store


+ 2 - 1
.obsidian/appearance.json

@@ -2,5 +2,6 @@
   "theme": "moonstone",
   "accentColor": "",
   "translucency": false,
-  "cssTheme": "Blue Topaz"
+  "cssTheme": "Blue Topaz",
+  "baseFontSize": 21
 }

+ 1 - 1
.obsidian/plugins/obsidian-enhancing-export/data.json

@@ -53,5 +53,5 @@
   },
   "lastEditName": "Markdown",
   "version": "1.1.7",
-  "lastExportType": "Html"
+  "lastExportType": "Word (.docx)"
 }

+ 99 - 42
.obsidian/workspace.json

@@ -8,18 +8,65 @@
         "type": "tabs",
         "children": [
           {
-            "id": "3a67d774da861242",
+            "id": "3bfc03cb3856bc0e",
             "type": "leaf",
             "state": {
               "type": "markdown",
               "state": {
-                "file": "每日工作笔记/2023-03-13.md",
+                "file": "每日工作笔记/2023-04-04.md",
                 "mode": "source",
                 "source": true
               }
             }
+          },
+          {
+            "id": "54d880c414520d09",
+            "type": "leaf",
+            "state": {
+              "type": "markdown",
+              "state": {
+                "file": "每日工作笔记/2023-04-12.md",
+                "mode": "source",
+                "source": true
+              }
+            }
+          },
+          {
+            "id": "e14593d31f99ccc9",
+            "type": "leaf",
+            "state": {
+              "type": "markdown",
+              "state": {
+                "file": "每日工作笔记/2023-05-08.md",
+                "mode": "source",
+                "source": true
+              }
+            }
+          },
+          {
+            "id": "715ac6068af8bda0",
+            "type": "leaf",
+            "state": {
+              "type": "markdown",
+              "state": {
+                "file": "工具/mysql/说明.md",
+                "mode": "source",
+                "source": true
+              }
+            }
+          },
+          {
+            "id": "83557499e6e1f84e",
+            "type": "leaf",
+            "state": {
+              "type": "image",
+              "state": {
+                "file": "思维导图/导图2.png"
+              }
+            }
           }
-        ]
+        ],
+        "currentTab": 2
       }
     ],
     "direction": "vertical"
@@ -48,8 +95,8 @@
             "state": {
               "type": "search",
               "state": {
-                "query": "commit",
-                "matchingCase": false,
+                "query": "mysql",
+                "matchingCase": true,
                 "explainSearch": false,
                 "collapseAll": false,
                 "extraContext": false,
@@ -85,7 +132,7 @@
             "state": {
               "type": "backlink",
               "state": {
-                "file": "每日工作笔记/2023-03-13.md",
+                "file": "每日工作笔记/2023-05-08.md",
                 "collapseAll": true,
                 "extraContext": false,
                 "sortOrder": "alphabetical",
@@ -102,7 +149,7 @@
             "state": {
               "type": "outgoing-link",
               "state": {
-                "file": "每日工作笔记/2023-03-13.md",
+                "file": "每日工作笔记/2023-05-08.md",
                 "linksCollapsed": false,
                 "unlinkedCollapsed": true
               }
@@ -125,12 +172,12 @@
             "state": {
               "type": "outline",
               "state": {
-                "file": "每日工作笔记/2023-03-13.md"
+                "file": "每日工作笔记/2023-05-08.md"
               }
             }
           }
         ],
-        "currentTab": 2
+        "currentTab": 3
       }
     ],
     "direction": "horizontal",
@@ -147,46 +194,56 @@
       "command-palette:打开命令面板": false
     }
   },
-  "active": "3a67d774da861242",
+  "active": "e14593d31f99ccc9",
   "lastOpenFiles": [
+    "每日工作笔记/Pasted image 20230508171104.png",
+    "每日工作笔记/2023-04-20.md",
+    "每日工作笔记/2023-04-21.md",
+    "每日工作笔记/2023-04-23.md",
+    "每日工作笔记/2023-04-24.md",
+    "每日工作笔记/2023-04-25.md",
+    "每日工作笔记/2023-04-26.md",
+    "每日工作笔记/2023-04-27.md",
+    "每日工作笔记/2023-04-28.md",
+    "每日工作笔记/2023-04-29.md",
+    "每日工作笔记/2023-05-03.md",
+    "每日工作笔记/2023-05-08.md",
+    "每日工作笔记/2023-04-17.md",
+    "每日工作笔记/2023-04-12.md",
+    "每日工作笔记/2023-04-11.md",
+    "每日工作笔记/2023-04-08.md",
+    "每日工作笔记/2023-04-06.md",
+    "每日工作笔记/2023-04-04.md",
+    "每日工作笔记/2023-02-22.md",
+    "每日工作笔记/2023-02-23.md",
+    "每日工作笔记/2023-02-24.md",
+    "每日工作笔记/2023-02-27.md",
+    "每日工作笔记/2023-03-01.md",
     "每日工作笔记/2023-03-03.md",
     "每日工作笔记/2023-03-06.md",
-    "每日工作笔记/2022-11-30.md",
-    "每日工作笔记/2023-03-13.md",
-    "书签/工作相关.md",
-    "书签/接口文档.md",
-    "每日工作笔记/说明.md",
-    "每日工作笔记/2023-03-09.md",
-    "每日工作笔记/2023-03-08.md",
     "每日工作笔记/2023-03-07.md",
-    "README.md",
-    "每日工作笔记/2023-03-01.md",
-    "每日工作笔记/2023-02-27.md",
-    "每日工作笔记/2023-02-24.md",
-    "每日工作笔记/2023-02-23.md",
-    "每日工作笔记/2023-02-22.md",
-    "每日工作笔记/2023-02-20.md",
-    "每日工作笔记/2023-02-09.md",
-    "每日工作笔记/2023-02-08.md",
-    "每日工作笔记/2023-02-07.md",
-    "每日工作笔记/2023-02-06.md",
-    "每日工作笔记/2023-02-02.md",
-    "每日工作笔记/2022-12-15.md",
-    "每日工作笔记/2022-12-29.md",
-    "每日工作笔记/Pasted image 20230207113042.png",
+    "每日工作笔记/Pasted image 20230426150746.png",
+    "每日工作笔记/Pasted image 20230426144728.png",
+    "思维导图/导图2.png",
+    "未命名 2.canvas",
+    "未命名 1.canvas",
+    "思维导图/停车缴费.svg",
+    "思维导图/停车缴费.png",
+    "需求/Pasted image 20220906112627.png",
+    "需求/临时停车H5流程图.svg",
+    "工具/git",
+    "每日工作笔记/Pasted image 20230403111433.png",
+    "每日工作笔记/二维码生成文档-精简版本2.pdf",
+    "每日工作笔记/code=8b3573a1&type=unlicensedOut.png",
+    "每日工作笔记/code=8b3573a0&type=unlicensedIn.png",
+    "每日工作笔记/二维码生成文档-精简版本2.html",
+    "未命名.canvas",
+    "开发/js",
+    "思维导图/无牌车出场.emmx.ZqwMuu",
+    "思维导图/无牌车出场.emmx",
     "每日工作笔记",
-    "每日工作笔记/Pasted image 20230207113139.png",
-    "每日工作笔记/Pasted image 20230207113106.png",
-    "书签/前端.md",
-    "每日工作笔记/Pasted image 20230306143149.png",
     "思维导图/CRM(临时停车)不登陆使用流程.emmx.uqFzax",
     "思维导图/CRM(临时停车)不登陆使用流程.emmx",
-    "每日工作笔记/Pasted image 20230301093157.png",
-    "任务/yogo小程序对接/Pasted image 20221008120238.png",
-    "任务/yogo小程序对接/Pasted image 20221009154901.png",
-    "任务/yogo小程序对接/Pasted image 20221009232246.png",
-    "任务/yogo小程序对接/Pasted image 20221009232258.png",
-    "任务/yogo小程序对接/说明.md",
     "任务/yogo小程序对接/嘉里 Kerry+ 对接方案(1).pdf"
   ]
 }

+ 6 - 1
书签/前端.md

@@ -2,4 +2,9 @@
 https://ui-doc-internal.kerryplus.com/components/color.html
 
 # vant(local)
-[Vant 2 - 轻量、可靠的移动端组件库 (hht.test)](http://vant.hht.test/vant/v2/#/zh-CN/)
+[Vant 2 - 轻量、可靠的移动端组件库 (hht.test)](http://vant.hht.test/vant/v2/#/zh-CN/)
+
+
+[谁会拒绝一款开源的 3D 博客呢? - 掘金 (juejin.cn)](https://juejin.cn/post/7210384576149340197?)
+
+[又一开源神器面世,一键生成3D图&代码 - 掘金 (juejin.cn)](https://juejin.cn/post/7100760132430069773)

+ 410 - 0
工具/git/一个开发人员需要知道的 commit 规范.md

@@ -0,0 +1,410 @@
+## 什么是约定式提交
+
+约定式提交(Conventional Commits)是一种用于代码版本控制的规范,旨在通过明确和标准化提交信息来提高代码协作质量和效率。其基本原则是通过规定提交信息的结构和语义来提高代码版本控制的可读性、可维护性和自动化程度。
+
+约定式提交规范通常要求提交信息包括一个描述性的"类型"、一个可选的"作用域"、一个用于简洁说明的"主题",以及可选的"正文"和"尾部"等组成部分。这些组成部分的格式和语义都是根据规范要求进行约定的,比如使用"feat"来表示新功能、"fix"表示修复错误、"docs"表示文档变更等。
+
+通过遵循约定式提交规范,开发人员可以更容易地理解和管理代码的变更历史,同时也为自动化工具提供了更多可靠的信息,例如自动生成版本号、发布日志和代码库更新等操作。
+
+提交说明的结构如下所示:
+
+---
+
+原文:
+
+```
+<type>[optional scope]: <description>[optional body][optional footer(s)]复制代码
+```
+
+译文:
+
+```
+<类型>[可选 范围]: <描述>[可选 正文][可选 脚注]复制代码
+```
+
+---
+
+提交说明包含了下面的结构化元素,以向类库使用者表明其意图:
+
+0.  **fix:** _类型_ 为 `fix` 的提交表示在代码库中修复了一个 bug(这和语义化版本中的 `PATCH`[1] 相对应)。
+    
+1.  **feat:** _类型_ 为 `feat` 的提交表示在代码库中新增了一个功能(这和语义化版本中的 `MINOR`[2] 相对应)。
+    
+2.  **BREAKING CHANGE:** 在脚注中包含 `BREAKING CHANGE:` 或 <类型>(范围) 后面有一个 `!` 的提交,表示引入了破坏性 API 变更(这和语义化版本中的 `MAJOR`[3] 相对应)。破坏性变更可以是任意 _类型_ 提交的一部分。
+    
+3.  除 `fix:` 和 `feat:` 之外,也可以使用其它提交 _类型_ ,例如 \@commitlint/config-conventional[4](基于 Angular 约定[5])中推荐的 `build:`、`chore:`、 `ci:`、`docs:`、`style:`、`refactor:`、`perf:`、`test:`,等等。
+    
+4.  脚注中除了 `BREAKING CHANGE: <description>` ,其它条目应该采用类似 git trailer format[6] 这样的惯例。
+    
+
+其它提交类型在约定式提交规范中并没有强制限制,并且在语义化版本中没有隐式影响(除非它们包含 BREAKING CHANGE)。可以为提交类型添加一个围在圆括号内的范围,以为其提供额外的上下文信息。例如 `feat(parser): adds ability to parse arrays.`。
+
+### 示例
+
+包含了描述并且脚注中有破坏性变更的提交说明
+
+```
+feat: allow provided config object to extend other configsBREAKING CHANGE: `extends` key in config file is now used for extending other config files复制代码
+```
+
+包含了 `!` 字符以提醒注意破坏性变更的提交说明
+
+```
+feat!: send an email to the customer when a product is shipped复制代码
+```
+
+包含了范围和破坏性变更 `!` 的提交说明
+
+```
+feat(api)!: send an email to the customer when a product is shipped复制代码
+```
+
+包含了 `!` 和 BREAKING CHANGE 脚注的提交说明
+
+```
+chore!: drop support for Node 6BREAKING CHANGE: use JavaScript features not available in Node 6.复制代码
+```
+
+不包含正文的提交说明
+
+```
+docs: correct spelling of CHANGELOG复制代码
+```
+
+包含范围的提交说明
+
+```
+feat(lang): add polish language复制代码
+```
+
+包含多行正文和多行脚注的提交说明
+
+```
+fix: prevent racing of requestsIntroduce a request id and a reference to latest request. Dismissincoming responses other than from latest request.Remove timeouts which were used to mitigate the racing issue but areobsolete now.Reviewed-by: ZRefs: #123复制代码
+```
+
+### type 类型概览
+|值|描述|
+|---|---|
+|feat|新增一个功能|
+|fix|修复一个Bug|
+|docs|文档变更|
+|style|代码格式(不影响功能,例如空格、分号等格式修正)|
+|refactor|代码重构|
+|perf|改善性能|
+|test|测试|
+|build|变更项目构建或外部依赖(例如scopes: webpack、gulp、npm等)|
+|ci|更改持续集成软件的配置文件和package中的scripts命令,例如scopes: Travis, Circle等|
+|chore|变更构建流程或辅助工具|
+|revert|代码回退|
+
+作者:子弈 链接:juejin.cn/post/684490…[7] 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
+
+
+
+
+## 为什么需要约定式提交?
+
+Git提交信息需要遵循Angular约定是为了使提交信息格式清晰、易于阅读和理解,从而提高代码协作的效率。Angular约定包括以下三个部分:
+
+1.  标题(header):用一行简短的描述来总结更改内容,并使用特殊关键字指定更改类型和影响范围。
+    
+2.  正文(body):提供更详细的更改描述,包括更改原因、影响和解决方案等信息。
+    
+3.  页脚(footer):提供一些附加信息,如相关链接、关联的BUG编号等。
+    
+
+通过遵循Angular约定,可以使提交信息更加规范化和易于管理,从而方便其他团队成员阅读和理解更改的含义,从而提高团队协作效率。此外,遵循Angular约定的提交信息还可以更好地与许多自动化工具进行集成,如自动化版本控制、代码审查工具等。
+
+## 如何遵守约定式提交?
+
+### 第一步:自动生成提交说明的工具
+
+> Commitizen是一个基于命令行的交互式工具,它可以帮助开发者规范化提交Git提交信息,符合Angular Commit Message Conventions的规范,从而更好地管理代码变更历史。
+
+Commitizen提供了一个友好的命令行交互界面,让开发者根据规范选择提交信息的类型、影响范围等内容,自动生成符合规范的Git提交信息。
+
+Commitizen可以与Git结合使用,使得开发者可以使用commitizen命令代替git commit命令提交代码变更,并且生成的提交信息格式更加规范化和易于管理。
+
+**这里我建议您全局安装**
+
+```
+pnpm install -g commitizen pnpm install -g cz-conventional-changelog复制代码
+```
+
+随后在电脑用户根目录穿件.czrc文件,不然使用的时候会进入命令行(笔者的系统为Ubuntu20.04)
+
+```
+echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc复制代码
+```
+
+随后使用**commitizen**生成符合AngularJS规范的**提交说明**
+
+```
+commitizen init cz-conventional-changelog --save --save-exact复制代码
+```
+
+随后你就可以使用以下命令获得中规中距的commit信息了。
+
+```
+git cz 复制代码
+```
+
+### 第二步:客制化自动提交信息
+
+> cz-customizable是Commitizen的一个插件,可以帮助开发者自定义符合Angular Commit Message Conventions的提交信息格式和内容。
+
+**拜托,人又不是机器!别那么死板。和代码打交道最重要的事情就是懂得如何苦中作乐,在遇到挑战和困难时,优秀的人能够采取积极的心态,并且能够寻找解决问题的方式和方法。**
+
+cz-customizable提供了一些配置选项,让开发者可以根据项目的需要自定义提交信息的格式和内容。
+
+cz-customizable的配置选项包括:
+
+1.  `types`: 定义提交信息的类型,如feat(新功能)、fix(修复Bug)等。
+    
+2.  `scopes`: 定义提交信息的影响范围,如模块、组件等。
+    
+3.  `allowCustomScopes`: 是否允许自定义影响范围。
+    
+4.  `scopeOverrides`: 定义不同类型的提交信息对影响范围的要求。
+    
+5.  `messages`: 定义提交信息的模板,包括标题、正文、页脚等内容。
+    
+6.  `allowBreakingChanges`: 是否允许提交破坏性变更。
+    
+
+#### 1. 安装 cz-customizable
+
+```
+npm install cz-customizable --save-dev复制代码
+```
+
+#### 2. 添加以下配置到`package.json`中
+
+```
+"config": {    "commitizen": {    "path": "node_modules/cz-customizable"    }}复制代码
+```
+
+#### 3.项目根目录下创建`.cz-config.js`文件来自定义提示
+
+```
+├── CHANGELOG.md├── commitlint.config.js├── index.html├── node_modules├── package.json├── pnpm-lock.yaml├── public├── README.md├── src├── tsconfig.json├── tsconfig.node.json├── vite.config.ts└── .cz-config.js  // 创建复制代码
+```
+
+#### 以下是我的一些参考配置
+
+```jsn
+module.exports = {  
+  // 可选类型  
+  types: [  
+    {  
+      value: ':sparkles: feat',  
+      name: '✨ feat:      新功能'  
+    },  
+    {  
+      value: ':bug: fix',  
+      name: '🐛 fix:      修复'  
+    },  
+    {  
+      value: ':memo: docs',  
+      name: '📝 docs:      文档变更'  
+    },  
+    {  
+      value: ':lipstick: style',  
+  
+      name: '💄 style:     代码格式(不影响代码运行的变动)'  
+    },  
+    {  
+      value: ':recycle: refactor',  
+  
+      name: '♻️  refactor:    重构 (既不增加feature, 也不是修复bug)'  
+    },  
+    {  
+      value: ':zap: perf',  
+      name: '⚡️ perf:      性能优化'  
+    },  
+    {  
+      value: ':white_check_mark: test',  
+      name: '✅ test:      增加测试'  
+    },  
+    {  
+      value: ':wrench: chore',  
+      name: '🔧 chore:     构建过程或辅助工具的变动'  
+    },  
+    {  
+      value: ':rewind: revert',  
+      name: '⏪ revert:     回退'  
+    },  
+    {  
+      value: ':rocket: build',  
+      name: '🚀 build:     打包'  
+    }  
+  ],  
+  
+  // 步骤  
+  
+  messages: {  
+    type: '请选择提交的类型:',  
+    customScope: '情输入修改的范围(可选)',  
+    subject: '请简要描述提交(必填)',  
+    body: '请输入详细描述(可选)',  
+    footer: '请输入要关闭的issus(可选)',  
+    confirmCommit: '确认要使用以上信息提交?(y/n)'  
+  },  
+  // 默认长度72  
+  subjectLimit: 72  
+};
+```
+
+此时再次运行 `git cz`时就可以看到
+
+```
+? 请选择提交的类型: (Use arrow keys)  
+❯ ✨ feat:      新功能   
+  🐛 fix:      修复   
+  📝 docs:      文档变更   
+  💄 style:     代码格式(不影响代码运行的变动)   
+  ♻️  refactor:    重构 (既不增加feature, 也不是修复bug)   
+  ⚡️ perf:      性能优化   
+  ✅ test:      增加测试
+```
+
+### 第三部:增加对自动生成 commit 信息的校验
+
+> 有时候你的队友可能是傻逼?请你注意防范
+
+**很遗憾的是,上面的操作并没有任何校验功能,你的队友仍然可以提交 trash 在 commit 信息中。如果不敲你是队伍中的审核人员,那么我想你需要设置一些规范**
+
+这里我们分情况讨论:
+
+若您**没有使用cz-customizable**适配器**做了破坏Angular风格的提交说明配置**,则可以使用以下配置方案
+
+1.安装 @commitlint/config-conventional
+
+```
+npm i @commitlint/config-conventional @commitlint/cli -D复制代码
+```
+
+2.在根目录创建commitlint.config.js文件,配置commitlint
+
+```
+module.exports = {  extends: ['@commitlint/config-conventional']}复制代码
+```
+
+若您使用**cz-customizable**了则需要使用以下配置方案
+
+```
+npm install commitlint-config-cz --save-dev复制代码复制代码
+```
+
+然后加入commitlint校验规则配置:
+
+```
+module.exports = {  extends: [    'cz'  ]};复制代码
+```
+
+## 最后的一些补充
+
+### husky 最后的帮手
+
+> 是一个可以在 Git hooks 中使用的 npm 包,它可以帮助你在特定的 Git 事件发生时执行命令,例如提交代码之前进行代码格式化、测试等操作.
+
+"husky"是一个为了方便使用Git hooks的工具,它能够帮助你在项目中自动化地执行一些Git相关的操作。使用husky,你可以在Git的一些关键操作(例如提交、推送、合并等)前或后,执行一些脚本或命令,比如代码格式化、自动化测试、打包发布等。
+
+**他可以帮助我们额外拦截一些如`git commit`等指令**。需要注意的是,husky只在Git仓库中才能正常工作,所以在使用之前请确保你的项目已经初始化为Git仓库
+
+#### 1.安装 husky
+
+1.  ```
+    在项目中安装 husky,可以使用 npm或者 yarn 进行安装:
+    ```
+    
+
+```
+pnpm install husky --save-dev复制代码
+```
+
+或者
+
+```
+yarn add husky --dev复制代码
+```
+
+#### 2.在package.json中定义需要执行的Git hooks和对应的脚本
+
+例如,在提交代码前执行代码格式化和自动化测试:
+
+```
+jsonCopy code{  "husky": {    "hooks": {      "pre-commit": "npm run lint && npm run test"    }  }}复制代码
+```
+
+这样,每次在执行`git commit`命令时,都会自动执行npm中定义的`lint`和`test`命令。
+
+除了`pre-commit`钩子,husky还支持其他一些Git hooks,比如`pre-push`、`post-merge`、`post-checkout`等,可以根据实际需求进行配置。
+
+需要注意的是,husky只在Git仓库中才能正常工作,所以在使用之前请确保你的项目已经初始化为Git仓库。
+
+当然 除了在`pageage.json`中设置之外,还可以使用
+
+`npx husky add .husky/pre-commit`来生成一个 hook 的文件
+
+随后你也可以在相应的文件中书写要执行的脚本了
+
+```
+./.husky/├── _│   └── husky.sh├── commit-msg└── pre-commit // 再此写入复制代码
+```
+
+#### 3.使用lint-staged, 对暂存区代码进行eslint校验和prettier格式化
+
+现在我们已经约束了提交规范,但是我们希望在提交前对当前的代码进行格式验证和修复,此时需要使用到`lint-staged`
+
+1.  安装 `npm i lint-staged \--save-dev`
+    
+2.  在`package.json`中新增配置
+    
+    ```
+    "lint-staged": {
+    ```
+    
+
+"**/*.scss": "stylelint --syntax scss",  "**/_.{js,jsx, tsx,ts }": "npm run lint-staged:js",  "**/_.{js,jsx,tsx,ts,less,scss,md,json}": [    "prettier --write" ] } 复制代码 复制代码 ```
+
+3.  在`package.json`中新增 `lint-staged` 和 `lint-staged.js` 命令
+    
+    ```
+    "scripts": {
+    ```
+    
+
+"lint-staged": "lint-staged",    "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx " } 复制代码 复制代码 ```
+
+4.  最后在 `pre-commit`中新增脚本
+    
+    ```
+    npm run lint-staged复制代码
+    ```
+    
+
+## 链接文档
+
+[Cz工具集使用介绍 - 规范Git提交说明]  juejin.cn/post/684490…[8]
+
+[Commitizen约定式提交]  juejin.cn/post/710410…[9]
+
+[Commitizen + husky规范提交信息]  juejin.cn/post/709120…[10]
+
+  
+
+关于本文  
+
+作者:喜欢哆肉
+
+https://juejin.cn/post/7212597327579037756
+
+Node 社群
+
+  
+
+  
+
+我组建了一个氛围特别好的 Node.js 社群,里面有很多 Node.js小伙伴,如果你对Node.js学习感兴趣的话(后续有计划也可以),我们可以一起进行Node.js相关的交流、学习、共建。下方加 考拉 好友回复「Node」即可。

+ 155 - 0
工具/mysql/第二次配置mysql.md

@@ -0,0 +1,155 @@
+```
+Running `brew update --auto-update`...
+==> Fetching mysql@5.7
+==> Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/mysql%405.7-5.7.42.arm64_ventura.bottle.tar.gz
+######################################################################## 100.0%
+==> Pouring mysql@5.7-5.7.42.arm64_ventura.bottle.tar.gz
+==> Caveats
+We've installed your MySQL database without a root password. To secure it run:
+    mysql_secure_installation
+
+MySQL is configured to only allow connections from localhost by default
+
+To connect run:
+    mysql -uroot
+
+mysql@5.7 is keg-only, which means it was not symlinked into /opt/homebrew,
+because this is an alternate version of another formula.
+
+If you need to have mysql@5.7 first in your PATH, run:
+  echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
+
+For compilers to find mysql@5.7 you may need to set:
+  export LDFLAGS="-L/opt/homebrew/opt/mysql@5.7/lib"
+  export CPPFLAGS="-I/opt/homebrew/opt/mysql@5.7/include"
+
+To start mysql@5.7 now and restart at login:
+  brew services start mysql@5.7
+==> Summary
+🍺  /opt/homebrew/Cellar/mysql@5.7/5.7.42: 321 files, 233.9MB
+==> Running `brew cleanup mysql@5.7`...
+Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
+Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
+==> `brew cleanup` has not been run in the last 30 days, running now...
+Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
+Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
+Removing: /opt/homebrew/Cellar/aom/3.5.0_1... (23 files, 8.5MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/aom--3.5.0_1.arm64_ventura.bottle.tar.gz... (3.5MB)
+Removing: /opt/homebrew/Cellar/boost/1.80.0... (15,568 files, 471.4MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/boost--1.80.0.arm64_ventura.bottle.tar.gz... (82.9MB)
+Removing: /opt/homebrew/Cellar/ca-certificates/2022-10-11... (3 files, 225.4KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/cmake--3.24.2.arm64_ventura.bottle.tar.gz... (14.5MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/cocoapods--1.12.0.arm64_ventura.bottle.tar.gz... (9.3MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/cocoapods--1.11.3.arm64_ventura.bottle.tar.gz... (9.4MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/edencommon--2023.03.13.00.arm64_ventura.bottle.tar.gz... (55.2KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/fb303--2023.03.13.00.arm64_ventura.bottle.tar.gz... (674.8KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/fbthrift--2023.03.13.00.arm64_ventura.bottle.tar.gz... (4.2MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/fizz--2023.03.13.00.arm64_ventura.bottle.tar.gz... (996.0KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/folly--2023.03.13.00.arm64_ventura.bottle.tar.gz... (5.7MB)
+Removing: /opt/homebrew/Cellar/fontconfig/2.14.0... (84 files, 2.4MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/fontconfig--2.14.0.arm64_ventura.bottle.tar.gz... (626KB)
+Removing: /opt/homebrew/Cellar/freetype/2.12.1... (67 files, 2.3MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/freetype--2.12.1.arm64_ventura.bottle.tar.gz... (889.9KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/gettext--0.21.1.arm64_ventura.bottle.tar.gz... (8.8MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/gflags--2.2.2.arm64_ventura.bottle.1.tar.gz... (115.8KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/gh--2.25.1.arm64_ventura.bottle.tar.gz... (9.4MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/ghostscript--10.0.0.arm64_ventura.bottle.tar.gz... (48.3MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/glib--2.76.0.arm64_ventura.bottle.tar.gz... (6.5MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/gmp--6.2.1_1.arm64_ventura.bottle.tar.gz... (1007.7KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/graphicsmagick--1.3.38_1.arm64_ventura.bottle.1.tar.gz... (3.1MB)
+Removing: /opt/homebrew/Cellar/highway/1.0.1... (60 files, 2MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/highway--1.0.1.arm64_ventura.bottle.1.tar.gz... (376.9KB)
+Removing: /opt/homebrew/Cellar/icu4c/71.1... (262 files, 76.8MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/imagemagick--7.1.1-4.arm64_ventura.bottle.tar.gz... (10.3MB)
+Removing: /opt/homebrew/Cellar/imath/3.1.5... (49 files, 929.6KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/imath--3.1.5.arm64_ventura.bottle.tar.gz... (182.3KB)
+Removing: /opt/homebrew/Cellar/jasper/3.0.6_2... (44 files, 1.6MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/jasper--3.0.6_2.arm64_ventura.bottle.tar.gz... (452KB)
+Removing: /opt/homebrew/Cellar/jpeg-turbo/2.1.4... (44 files, 2.5MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/jpeg-xl--0.7.0_1.arm64_ventura.bottle.tar.gz... (4.0MB)
+Removing: /opt/homebrew/Cellar/libcbor/0.9.0... (31 files, 179.9KB)
+Removing: /opt/homebrew/Cellar/libde265/1.0.9... (22 files, 2.2MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/libde265--1.0.9.arm64_ventura.bottle.tar.gz... (640.1KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/libheif--1.15.1.arm64_ventura.bottle.tar.gz... (1.4MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/libidn2--2.3.4.arm64_ventura.bottle.tar.gz... (377.3KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/libomp--16.0.0.arm64_ventura.bottle.tar.gz... (561.9KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/libomp--15.0.3.arm64_ventura.bottle.tar.gz... (542.9KB)
+Removing: /opt/homebrew/Cellar/libpng/1.6.38... (27 files, 1.3MB)
+Removing: /opt/homebrew/Cellar/libraw/0.20.2_3... (73 files, 5.7MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/libraw--0.20.2_3.arm64_ventura.bottle.tar.gz... (1.7MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/libunistring--1.0.arm64_ventura.bottle.tar.gz... (1.6MB)
+Removing: /opt/homebrew/Cellar/little-cms2/2.13.1_1... (21 files, 1.4MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/little-cms2--2.13.1_1.arm64_ventura.bottle.tar.gz... (408.6KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/ncdu--2.2.1.arm64_monterey.bottle.tar.gz... (219.4KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/ncurses--6.3.arm64_ventura.bottle.tar.gz... (2.3MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/nginx--1.23.3.arm64_ventura.bottle.tar.gz... (1.3MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/openexr--3.1.5.arm64_ventura.bottle.tar.gz... (1.4MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/openexr--3.1.6.arm64_ventura.bottle.tar.gz... (1.4MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/openjdk@11--11.0.16.1_1.arm64_ventura.bottle.tar.gz... (179.9MB)
+Removing: /opt/homebrew/Cellar/openssl@1.1/1.1.1q... (8,097 files, 18MB)
+Removing: /opt/homebrew/Cellar/pcre2/10.40... (230 files, 6.1MB)
+Removing: /opt/homebrew/Cellar/protobuf/21.8... (279 files, 19.2MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/python@3.10--3.10.10_1.arm64_ventura.bottle.tar.gz... (14.5MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/rabbitmq--3.11.10.all.bottle.tar.gz... (27.8MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/redis--7.0.10.arm64_ventura.bottle.tar.gz... (1006.8KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/ruby--3.2.1.arm64_ventura.bottle.tar.gz... (12.9MB)
+Removing: /opt/homebrew/Cellar/snappy/1.1.9... (18 files, 159.4KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/snappy--1.1.9.arm64_ventura.bottle.tar.gz... (41.2KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/sqlite--3.41.1.arm64_ventura.bottle.tar.gz... (2MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/wangle--2023.03.13.00.arm64_ventura.bottle.tar.gz... (804.2KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/watchman--2023.03.13.00.arm64_ventura.bottle.tar.gz... (3.2MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/watchman--2022.10.24.00.arm64_ventura.bottle.tar.gz... (3MB)
+Removing: /opt/homebrew/Cellar/webp/1.2.4... (41 files, 2.2MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/webp--1.3.0.arm64_ventura.bottle.tar.gz... (765.4KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/webp--1.2.4.arm64_ventura.bottle.tar.gz... (758.1KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/wget--1.21.3.arm64_ventura.bottle.tar.gz... (1.4MB)
+Removing: /opt/homebrew/Cellar/xz/5.2.7... (95 files, 1.5MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/zstd--1.5.4.arm64_ventura.bottle.tar.gz... (779.3KB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/coreutils--9.1.arm64_ventura.bottle.tar.gz... (4.2MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/bazel--5.3.2.arm64_monterey.bottle.tar.gz... (28.7MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/python@3.11--3.11.2_1.arm64_ventura.bottle.tar.gz... (15.3MB)
+Removing: /Users/sysadmin/Library/Caches/Homebrew/Cask/lunar--6.1.0.dmg... (21MB)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/libheif... (504B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/wxwidgets... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/little-cms2... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/gh... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/libpng... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/freetype... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/imath... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/wangle... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/boost... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/highway... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/icu4c... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/glib... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/erlang... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/edencommon... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/aom... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/libde265... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/webp... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/sqlite... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/fbthrift... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/xz... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/unixodbc... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/openexr... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/fontconfig... (149.2KB)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/libfido2... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/snappy... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/nginx... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/ca-certificates... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/libcbor... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/zstd... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/libraw... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/pcre2... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/openssl@1.1... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/jpeg-xl... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/python@3.10... (2 files, 2.5KB)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/libomp... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/imagemagick... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/folly... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/jasper... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/fb303... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/ruby... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/fizz... (64B)
+Removing: /Users/sysadmin/Library/Logs/Homebrew/jpeg-turbo... (64B)
+Pruned 2 symbolic links and 13 directories from /opt/homebrew
+```

+ 41 - 0
工具/mysql/说明.md

@@ -177,4 +177,45 @@ https://stackoverflow.com/questions/36099028/error-1064-42000-you-have-an-error-
 ```sql
 mysql -u root
 ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';
+```
+
+
+
+
+```bash
+Running `brew update --auto-update`...
+==> Auto-updated Homebrew!
+Updated 1 tap (homebrew/cask).
+==> New Casks
+lunastudio                                                                                                  wercker
+
+You have 28 outdated formulae installed.
+You can upgrade them with brew upgrade
+or list them with brew outdated.
+
+Warning: mysql 8.0.32 is already installed and up-to-date.
+To reinstall 8.0.32, run:
+  brew reinstall mysql
+➜  kpl_crm_uniapp git:(release-2.5.0) \brew reinstall mysql
+==> Fetching mysql
+==> Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/mysql-8.0.32.arm64_ventura.bottle.tar.gz
+Already downloaded: /Users/sysadmin/Library/Caches/Homebrew/downloads/1fba2b28c48539a351ab54c099a42d6597708ee79abb6ba582bb3eb23496db57--mysql-8.0.32.arm64_ventura.bottle.tar.gz
+==> Reinstalling mysql
+==> Pouring mysql-8.0.32.arm64_ventura.bottle.tar.gz
+==> Caveats
+We've installed your MySQL database without a root password. To secure it run:
+    mysql_secure_installation
+
+MySQL is configured to only allow connections from localhost by default
+
+To connect run:
+    mysql -u root
+
+To start mysql now and restart at login:
+  brew services start mysql
+==> Summary
+🍺  /opt/homebrew/Cellar/mysql/8.0.32: 317 files, 298.2MB
+==> Running `brew cleanup mysql`...
+Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
+Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
 ```

+ 2 - 0
工具/sublime meage/文件查询.md

@@ -7,3 +7,5 @@ file:"src/components/kip-home-qhkc/kip-home-qhkc.vue" line:1591-1607
 
 ### Sublime Merge
 
+
+file:pages/ticket/cardCaseDetails.vue author:"john <john.hong@kerryprops.com>"

+ 74 - 0
开发/js/工具函数收集.md

@@ -0,0 +1,74 @@
+```js
+function numberToChinese(num) {
+  var cnNums = ["零","一","二","三","四","五","六","七","八","九"];
+  var cnIntUnits = ["","十","百","千"];
+  var cnIntRadice = ["","万","亿","兆"];
+  var cnDecUnits = ["角","分","毫","厘"];
+  var cnInteger = "整";
+  var cnNegative = "负";
+
+  var integerNum;
+  var decimalNum;
+  var chineseStr = "";
+  var parts;
+
+  // 判断输入的数字是否为有效数字
+  if (isNaN(num)) {
+    return "";
+  }
+
+  // 判断输入的数字是否为负数
+  if (num < 0) {
+    chineseStr += cnNegative;
+    num = -num;
+  }
+
+  // 将数字转换成整数和小数两部分
+  num = parseFloat(num);
+  integerNum = Math.floor(num);
+  decimalNum = Math.round((num - integerNum) * 100);
+
+  // 转换整数部分
+  if (integerNum === 0) {
+    chineseStr = cnNums[0];
+  } else {
+    parts = new String(integerNum).split("");
+    for (var i = 0; i < parts.length; i++) {
+      var digit = parseInt(parts[i]);
+      var unitPos = parts.length - i - 1;
+      var unit = cnIntRadice[unitPos % 4];
+      if (digit === 0) {
+        if (unit === "万" || unit === "亿" || unit === "兆") {
+          chineseStr += unit;
+        }
+      } else {
+        chineseStr += cnNums[digit] + cnIntUnits[unitPos / 4];
+        if (unit === "万" || unit === "亿" || unit === "兆") {
+          chineseStr += unit;
+        }
+      }
+    }
+  }
+
+  // 转换小数部分
+  if (decimalNum > 0) {
+    var decPart = "";
+    for (var j = 0; j < cnDecUnits.length; j++) {
+      var decDigit = Math.floor(decimalNum * Math.pow(10, j) % 10);
+      if (decDigit > 0) {
+        decPart += cnNums[decDigit] + cnDecUnits[j];
+      }
+    }
+    chineseStr += decPart;
+  }
+
+  // 如果是整数,加上整字
+  if (chineseStr === "") {
+    chineseStr += cnNums[0] + cnInteger;
+  } else if (decimalNum === 0) {
+    chineseStr += cnInteger;
+  }
+
+  return chineseStr;
+}
+```

BIN
思维导图/微前端.emmx


BIN
思维导图/无牌车出场.emmx


+ 1 - 0
未命名 1.canvas

@@ -0,0 +1 @@
+{}

+ 1 - 0
未命名 2.canvas

@@ -0,0 +1 @@
+{}

+ 1 - 0
未命名.canvas

@@ -0,0 +1 @@
+{}

+ 14 - 1
每日工作笔记/2023-03-13.md

@@ -1,4 +1,17 @@
 [[SCRM-3334] DEV环境开发时,本地IP被防火墙频繁屏蔽 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/SCRM-3334)
 
 
-月泊修改车辆信息
+月泊修改车辆信息
+
+月泊文案修改
+[[KIP-8977] C端|修改月泊申请时的文案 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-8977)
+CMS文案调整
+
+
+体验版本:https://open.weixin.qq.com/sns/getexpappinfo?appid=wxd830fe4d1e04988e&path=pages%2Fpackage-parkingFee%2FparkingFeeWebView%3Fcode%3De41d4d9dd5534f4aa3de88326a2e6f85%26type%3DunlicensedIn#wechat-redirect
+
+
+https://open.weixin.qq.com/sns/getexpappinfo?appid=wxd830fe4d1e04988e&path=pages%2Fpackage-parkingFee%2FparkingFeeWebView%3Fcode%3D9f74a127cfb74b81b7f539de1722d176%26type%3DunlicensedIn
+pages/package-parkingFee/parkingFeeWebView?code=9f74a127cfb74b81b7f539de1722d176&type=unlicensedIn
+
+开发版本:https://mp.weixin.qq.com/a/~~6fe11yyFbT0~4IrUqcn8rno1nf3KgAnRPg~~

+ 4 - 0
每日工作笔记/2023-03-14.md

@@ -0,0 +1,4 @@
+[[KIP-6425] CICD build - temporary-parking - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-6425)
+[[SCRM-2637] tparking-h5 DEV、QA环境配置域名转发 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/SCRM-2637)
+[[KIP-9001] [DE][C端]临时停车,用户在设置抬头的时候,选择单位抬头的话,不填写抬头名称和公司税号,点击保存,应该提示用户去填写信息 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-9001)
+[[KIP-8999] CICD build - temporary-parking(微服务改造) - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-8999)

+ 6 - 0
每日工作笔记/2023-03-15.md

@@ -0,0 +1,6 @@
+pages/package-parkingFee/parkingFeeWebView
+code=9f74a127cfb74b81b7f539de1722d176&type=unlicensedOut
+
+
+[[KIP-9018] KERRY+|月泊停车|C端文案修改 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-9018)
+

+ 11 - 0
每日工作笔记/2023-03-16.md

@@ -0,0 +1,11 @@
+[[KIP-8826] KERRY+|月泊停车|月泊变更申请 -前端改造 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-8826)
+
+pages.packageParking.service.components.parkingCard.editnew
+
+微服务QA环境部署:后端提供
+接口路径开放白名单
+新的域名和容器
+
+
+前端微服务改造文档梳理
+无牌车扫码出入场的扫码UTM图

+ 28 - 0
每日工作笔记/2023-03-20.md

@@ -0,0 +1,28 @@
+无牌车入口开关,根据后端配置返回
+qa环境跨域问题
+
+
+
+UI改造:
+[[KIP-8438] UI Revamp|临时停车 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-8438)
+[[KIP-8522] UI Revamp|月泊停车 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-8522)
+其他:
+[[KIP-8825] KERRY+|月泊停车|月泊变更申请 -服务端改造 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-8825)
+
+
+
+
+### 域名配置
+![[Pasted image 20230320174344.png]]
+
+Bert XL Zhang对所有人说 (18:05)
+Ali Cloud:
+QA: qa-gateway-kip-internal.kerryplus.com
+SL: sl-gateway-kip-internal.kerryplus.com
+PROD: prod-gateway-kip-internal.kerryplus.com
+
+
+B:
+QA: qa-b-gateway-kip-internal.kerryplus.com
+SL: sl-b-gateway-kip-internal.kerryplus.com
+PROD: prod-b-gateway-kip-internal.kerryplus.com

+ 12 - 0
每日工作笔记/2023-03-21.md

@@ -0,0 +1,12 @@
+[[KIP-7187] KERRY+ UI Revamp and Tracking - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-7187)
+
+
+[[KIP-8438] UI Revamp|临时停车 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-8438)
+
+
+### 获取微信小程序的带参数二维码
+[获取不限制的小程序码 | 微信开放文档 (qq.com)](https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html)
+
+[获取不限制的小程序码 | 微信开放文档 (qq.com)](https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html)
+
+[获取小程序码 | 微信开放文档 (qq.com)](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html)

+ 122 - 0
每日工作笔记/2023-03-22.md

@@ -0,0 +1,122 @@
+[[KIP-9123] CRM | Offline Material Preparation - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-9123)
+
+[[TSR-960] TICK2.3.0 RELMAN Temporary-Parking-H5 —KIP System - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/TSR-960)
+
+[[SCRM-3410] CRM|C端|增加临时停车H5页面入口访问开关 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/SCRM-3410)
+
+[[KIP-8506] Hive-Vas | 新缓存结构 | 楼栋接口改造或写一套新接口 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-8506)
+
+
+入场
+
+1、扫码:查询闸机口入口的二维码参数
+```bash
+curl 'https://dev-gateway-kip.kerryonvip.com/api/temporary-parking/v1/qr-codes/code-ids/9f74a127cfb74b81b7f539de1722d176' \
+  -H 'Accept: application/json, text/plain, */*' \
+  -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
+  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Nzk1NTkyOTgsInVzZXIiOnsidXNlcklkIjoiMmM5ZDg1ODY4NjUyZGVlNTAxODY1MzJiZGJiYjAwMDEiLCJ1c2VyQ29kZSI6MTIzNDYyMjgsIm5pY2tOYW1lIjoi55yL55m96bm_772e772e8J-OhCIsInBob25lTnVtYmVyIjoiMTUyNjc2MTc0NzMiLCJmcm9tVHlwZSI6IkMiLCJzb3VyY2UiOiJMSU5LUyIsImlzTmV3VXNlciI6ZmFsc2UsImhlYWRFbXB0eSI6ZmFsc2UsInNpZ251cE1ldGhvZCI6IjAifSwidXNlcl9uYW1lIjoiY29tLmtlcnJ5cHJvcHMua2lwLnNlcnZpY2UuYXV0aC5zZWN1cml0eS5jb21tb24uTG9naW5Vc2VyQDY3ZGJjZTU2IiwianRpIjoiNmM4YjU1YWEtNWZjYS00ZTY4LWJiYzktYTllOGZhN2Q1MTZjIiwiY2xpZW50X2lkIjoiQ1JNIiwic2NvcGUiOlsiYXBwIl19.l4ECYe3PpIVeiI3rjQEOAubLSRySpxhFh-4O1O4U3ZIV3FJXY_iLKZS0ABAVKjvytOuCFRKgw5KtBe4qxltdhi-qMDzaHyGEemteqTHxHOy57V2-TOP1761nh6V4xxbMscsJwl2xSVTr76VPhEN4dPEqZ6GxOCSsDkZWclLDO0GLlEfhGPoh3D35KsmHNZ_yNo_koFZXl1WIiShNOElFmh20631Vu9mvpIRCw0AYzNgOUaFQRrw67VfXRNcKgDGtspXw5caXRPNLHQ-9kOk9pT_Fw3lIeZSsiAbWPqt1U00eQbAHVuzKrPIfXk5iqjnI12GHlCg14qMdQrdUczG_UQ' \
+  -H 'Connection: keep-alive' \
+  -H 'Origin: https://dev-t-parking.kerryonvip.com' \
+  -H 'Referer: https://dev-t-parking.kerryonvip.com/' \
+  -H 'Sec-Fetch-Dest: empty' \
+  -H 'Sec-Fetch-Mode: cors' \
+  -H 'Sec-Fetch-Site: same-site' \
+  -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/111.0.0.0' \
+  -H 'X-User: {"userId":"2c9d85868652dee50186532bdbbb0001","sourceType":"WECHAT","phoneNumber":"15267617473","projectId":"","brandId":"8aaa81947c6e1ca0017c73c13cc30006","cid":"oudWQ5SCDElfn-IQH6eBR5JesOz4","vipCode":"KERRY100213853","lbsId":"8aaa82ea804d07cd0180516ff03b0008"}' \
+  -H 'channel: undefined' \
+  -H 'utm_method: dr' \
+  -H 'withCredentials: false' \
+  -H 'x-conversation-id: f1dee21b-4e00-4cbc-9c6f-f3c1c608bf6c' \
+  --compressed
+```
+2、领取无牌车牌
+```bash
+curl 'https://dev-gateway-kip.kerryonvip.com/api/temporary-parking/v1/parking/unlicensed-car-check-in' \
+  -H 'Accept: application/json, text/plain, */*' \
+  -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
+  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Nzk1NTkyOTgsInVzZXIiOnsidXNlcklkIjoiMmM5ZDg1ODY4NjUyZGVlNTAxODY1MzJiZGJiYjAwMDEiLCJ1c2VyQ29kZSI6MTIzNDYyMjgsIm5pY2tOYW1lIjoi55yL55m96bm_772e772e8J-OhCIsInBob25lTnVtYmVyIjoiMTUyNjc2MTc0NzMiLCJmcm9tVHlwZSI6IkMiLCJzb3VyY2UiOiJMSU5LUyIsImlzTmV3VXNlciI6ZmFsc2UsImhlYWRFbXB0eSI6ZmFsc2UsInNpZ251cE1ldGhvZCI6IjAifSwidXNlcl9uYW1lIjoiY29tLmtlcnJ5cHJvcHMua2lwLnNlcnZpY2UuYXV0aC5zZWN1cml0eS5jb21tb24uTG9naW5Vc2VyQDY3ZGJjZTU2IiwianRpIjoiNmM4YjU1YWEtNWZjYS00ZTY4LWJiYzktYTllOGZhN2Q1MTZjIiwiY2xpZW50X2lkIjoiQ1JNIiwic2NvcGUiOlsiYXBwIl19.l4ECYe3PpIVeiI3rjQEOAubLSRySpxhFh-4O1O4U3ZIV3FJXY_iLKZS0ABAVKjvytOuCFRKgw5KtBe4qxltdhi-qMDzaHyGEemteqTHxHOy57V2-TOP1761nh6V4xxbMscsJwl2xSVTr76VPhEN4dPEqZ6GxOCSsDkZWclLDO0GLlEfhGPoh3D35KsmHNZ_yNo_koFZXl1WIiShNOElFmh20631Vu9mvpIRCw0AYzNgOUaFQRrw67VfXRNcKgDGtspXw5caXRPNLHQ-9kOk9pT_Fw3lIeZSsiAbWPqt1U00eQbAHVuzKrPIfXk5iqjnI12GHlCg14qMdQrdUczG_UQ' \
+  -H 'Connection: keep-alive' \
+  -H 'Content-Type: application/json' \
+  -H 'Origin: https://dev-t-parking.kerryonvip.com' \
+  -H 'Referer: https://dev-t-parking.kerryonvip.com/' \
+  -H 'Sec-Fetch-Dest: empty' \
+  -H 'Sec-Fetch-Mode: cors' \
+  -H 'Sec-Fetch-Site: same-site' \
+  -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/111.0.0.0' \
+  -H 'X-User: {"userId":"2c9d85868652dee50186532bdbbb0001","sourceType":"WECHAT","phoneNumber":"15267617473","projectId":"","brandId":"8aaa81947c6e1ca0017c73c13cc30006","cid":"oudWQ5SCDElfn-IQH6eBR5JesOz4","vipCode":"KERRY100213853","lbsId":"8aaa82ea804d07cd0180516ff03b0008","buildingId":"QHKC-P1"}' \
+  -H 'channel: undefined' \
+  -H 'utm_method: dr' \
+  -H 'withCredentials: false' \
+  -H 'x-conversation-id: 8097abab-75ca-49db-a429-ff3afade0a87' \
+  --data-raw '{"gateId":"1"}' \
+  --compressed
+```
+
+
+出场:
+1、扫码:查询闸机口入口的二维码参数
+```bash
+curl 'https://dev-gateway-kip.kerryonvip.com/api/temporary-parking/v1/qr-codes/code-ids/9f74a127cfb74b81b7f539de1722d176' \
+  -H 'Accept: application/json, text/plain, */*' \
+  -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
+  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Nzk1NTkyOTgsInVzZXIiOnsidXNlcklkIjoiMmM5ZDg1ODY4NjUyZGVlNTAxODY1MzJiZGJiYjAwMDEiLCJ1c2VyQ29kZSI6MTIzNDYyMjgsIm5pY2tOYW1lIjoi55yL55m96bm_772e772e8J-OhCIsInBob25lTnVtYmVyIjoiMTUyNjc2MTc0NzMiLCJmcm9tVHlwZSI6IkMiLCJzb3VyY2UiOiJMSU5LUyIsImlzTmV3VXNlciI6ZmFsc2UsImhlYWRFbXB0eSI6ZmFsc2UsInNpZ251cE1ldGhvZCI6IjAifSwidXNlcl9uYW1lIjoiY29tLmtlcnJ5cHJvcHMua2lwLnNlcnZpY2UuYXV0aC5zZWN1cml0eS5jb21tb24uTG9naW5Vc2VyQDY3ZGJjZTU2IiwianRpIjoiNmM4YjU1YWEtNWZjYS00ZTY4LWJiYzktYTllOGZhN2Q1MTZjIiwiY2xpZW50X2lkIjoiQ1JNIiwic2NvcGUiOlsiYXBwIl19.l4ECYe3PpIVeiI3rjQEOAubLSRySpxhFh-4O1O4U3ZIV3FJXY_iLKZS0ABAVKjvytOuCFRKgw5KtBe4qxltdhi-qMDzaHyGEemteqTHxHOy57V2-TOP1761nh6V4xxbMscsJwl2xSVTr76VPhEN4dPEqZ6GxOCSsDkZWclLDO0GLlEfhGPoh3D35KsmHNZ_yNo_koFZXl1WIiShNOElFmh20631Vu9mvpIRCw0AYzNgOUaFQRrw67VfXRNcKgDGtspXw5caXRPNLHQ-9kOk9pT_Fw3lIeZSsiAbWPqt1U00eQbAHVuzKrPIfXk5iqjnI12GHlCg14qMdQrdUczG_UQ' \
+  -H 'Connection: keep-alive' \
+  -H 'Origin: https://dev-t-parking.kerryonvip.com' \
+  -H 'Referer: https://dev-t-parking.kerryonvip.com/' \
+  -H 'Sec-Fetch-Dest: empty' \
+  -H 'Sec-Fetch-Mode: cors' \
+  -H 'Sec-Fetch-Site: same-site' \
+  -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/111.0.0.0' \
+  -H 'X-User: {"userId":"2c9d85868652dee50186532bdbbb0001","sourceType":"WECHAT","phoneNumber":"15267617473","projectId":"","brandId":"8aaa81947c6e1ca0017c73c13cc30006","cid":"oudWQ5SCDElfn-IQH6eBR5JesOz4","vipCode":"KERRY100213853","lbsId":"8aaa82ea804d07cd0180516ff03b0008"}' \
+  -H 'channel: undefined' \
+  -H 'utm_method: dr' \
+  -H 'withCredentials: false' \
+  -H 'x-conversation-id: f1dee21b-4e00-4cbc-9c6f-f3c1c608bf6c' \
+  --compressed
+```
+
+2、
+出场的查询缴费接口(1)
+```bash
+curl 'https://dev-gateway-kip.kerryonvip.com/api/temporary-parking/v1/parking/unlicensed-car-checkout' \
+  -H 'Accept: application/json, text/plain, */*' \
+  -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
+  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Nzk1NTkyOTgsInVzZXIiOnsidXNlcklkIjoiMmM5ZDg1ODY4NjUyZGVlNTAxODY1MzJiZGJiYjAwMDEiLCJ1c2VyQ29kZSI6MTIzNDYyMjgsIm5pY2tOYW1lIjoi55yL55m96bm_772e772e8J-OhCIsInBob25lTnVtYmVyIjoiMTUyNjc2MTc0NzMiLCJmcm9tVHlwZSI6IkMiLCJzb3VyY2UiOiJMSU5LUyIsImlzTmV3VXNlciI6ZmFsc2UsImhlYWRFbXB0eSI6ZmFsc2UsInNpZ251cE1ldGhvZCI6IjAifSwidXNlcl9uYW1lIjoiY29tLmtlcnJ5cHJvcHMua2lwLnNlcnZpY2UuYXV0aC5zZWN1cml0eS5jb21tb24uTG9naW5Vc2VyQDY3ZGJjZTU2IiwianRpIjoiNmM4YjU1YWEtNWZjYS00ZTY4LWJiYzktYTllOGZhN2Q1MTZjIiwiY2xpZW50X2lkIjoiQ1JNIiwic2NvcGUiOlsiYXBwIl19.l4ECYe3PpIVeiI3rjQEOAubLSRySpxhFh-4O1O4U3ZIV3FJXY_iLKZS0ABAVKjvytOuCFRKgw5KtBe4qxltdhi-qMDzaHyGEemteqTHxHOy57V2-TOP1761nh6V4xxbMscsJwl2xSVTr76VPhEN4dPEqZ6GxOCSsDkZWclLDO0GLlEfhGPoh3D35KsmHNZ_yNo_koFZXl1WIiShNOElFmh20631Vu9mvpIRCw0AYzNgOUaFQRrw67VfXRNcKgDGtspXw5caXRPNLHQ-9kOk9pT_Fw3lIeZSsiAbWPqt1U00eQbAHVuzKrPIfXk5iqjnI12GHlCg14qMdQrdUczG_UQ' \
+  -H 'Connection: keep-alive' \
+  -H 'Content-Type: application/json' \
+  -H 'Origin: https://dev-t-parking.kerryonvip.com' \
+  -H 'Referer: https://dev-t-parking.kerryonvip.com/' \
+  -H 'Sec-Fetch-Dest: empty' \
+  -H 'Sec-Fetch-Mode: cors' \
+  -H 'Sec-Fetch-Site: same-site' \
+  -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/111.0.0.0' \
+  -H 'X-User: {"userId":"2c9d85868652dee50186532bdbbb0001","sourceType":"WECHAT","phoneNumber":"15267617473","projectId":"","brandId":"8aaa81947c6e1ca0017c73c13cc30006","cid":"oudWQ5SCDElfn-IQH6eBR5JesOz4","vipCode":"KERRY100213853","lbsId":"8aaa82ea804d07cd0180516ff03b0008","buildingId":"QHKC-P1"}' \
+  -H 'channel: undefined' \
+  -H 'utm_method: dr' \
+  -H 'withCredentials: false' \
+  -H 'x-conversation-id: 20d4af81-5ffd-4357-a6ce-79ece2111634' \
+  --data-raw '{"vehicleNo":"","gateId":"1"}' \
+  --compressed
+```
+
+出场的查询缴费接口(2)
+```bash
+curl 'https://dev-gateway-kip.kerryonvip.com/api/temporary-parking/v1/parking/check-out?vehicleNo=%E4%BA%AC111111&unlicensed=false' \
+  -H 'Accept: application/json, text/plain, */*' \
+  -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
+  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Nzk1NTkyOTgsInVzZXIiOnsidXNlcklkIjoiMmM5ZDg1ODY4NjUyZGVlNTAxODY1MzJiZGJiYjAwMDEiLCJ1c2VyQ29kZSI6MTIzNDYyMjgsIm5pY2tOYW1lIjoi55yL55m96bm_772e772e8J-OhCIsInBob25lTnVtYmVyIjoiMTUyNjc2MTc0NzMiLCJmcm9tVHlwZSI6IkMiLCJzb3VyY2UiOiJMSU5LUyIsImlzTmV3VXNlciI6ZmFsc2UsImhlYWRFbXB0eSI6ZmFsc2UsInNpZ251cE1ldGhvZCI6IjAifSwidXNlcl9uYW1lIjoiY29tLmtlcnJ5cHJvcHMua2lwLnNlcnZpY2UuYXV0aC5zZWN1cml0eS5jb21tb24uTG9naW5Vc2VyQDY3ZGJjZTU2IiwianRpIjoiNmM4YjU1YWEtNWZjYS00ZTY4LWJiYzktYTllOGZhN2Q1MTZjIiwiY2xpZW50X2lkIjoiQ1JNIiwic2NvcGUiOlsiYXBwIl19.l4ECYe3PpIVeiI3rjQEOAubLSRySpxhFh-4O1O4U3ZIV3FJXY_iLKZS0ABAVKjvytOuCFRKgw5KtBe4qxltdhi-qMDzaHyGEemteqTHxHOy57V2-TOP1761nh6V4xxbMscsJwl2xSVTr76VPhEN4dPEqZ6GxOCSsDkZWclLDO0GLlEfhGPoh3D35KsmHNZ_yNo_koFZXl1WIiShNOElFmh20631Vu9mvpIRCw0AYzNgOUaFQRrw67VfXRNcKgDGtspXw5caXRPNLHQ-9kOk9pT_Fw3lIeZSsiAbWPqt1U00eQbAHVuzKrPIfXk5iqjnI12GHlCg14qMdQrdUczG_UQ' \
+  -H 'Connection: keep-alive' \
+  -H 'Origin: https://dev-t-parking.kerryonvip.com' \
+  -H 'Referer: https://dev-t-parking.kerryonvip.com/' \
+  -H 'Sec-Fetch-Dest: empty' \
+  -H 'Sec-Fetch-Mode: cors' \
+  -H 'Sec-Fetch-Site: same-site' \
+  -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/111.0.0.0' \
+  -H 'X-User: {"userId":"2c9d85868652dee50186532bdbbb0001","sourceType":"WECHAT","phoneNumber":"15267617473","projectId":"","brandId":"8aaa81947c6e1ca0017c73c13cc30006","cid":"oudWQ5SCDElfn-IQH6eBR5JesOz4","vipCode":"KERRY100213853","lbsId":"8aaa82ea804d07cd0180516ff03b0008"}' \
+  -H 'buildingId: QHKC-P1' \
+  -H 'channel: undefined' \
+  -H 'utm_method: dr' \
+  -H 'withCredentials: false' \
+  -H 'x-conversation-id: 5ee1346b-1164-4462-a034-7e6726540db0' \
+  --compressed
+```

+ 0 - 0
每日工作笔记/2023-03-23.md


+ 4 - 0
每日工作笔记/2023-03-24.md

@@ -0,0 +1,4 @@
+url:  jdbc:mysql://rm-uf6w326k64nfad3sl.mysql.rds.aliyuncs.com:3306/db_dev_temporary_parking?characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
+username: dev_temporary_parking
+password: QyevwD!mYWJoyUjzBKRdPvTwKtNYlkEQ
+driver-class-name: com.mysql.cj.jdbc.Driver

+ 37 - 0
每日工作笔记/2023-03-29.md

@@ -0,0 +1,37 @@
+[[SCRM-3454] C端|前海|临时停车增加H5开关 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/SCRM-3454)
+[[KIP-9311] C端|前海|临时停车增加H5开关 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-9311)
+
+
+CRM: 页面开发完毕,SL环境验证完毕之后再提交
+
+```bash
+➜  kip-for-consumer-new git:(John/release-2.4.0/KIP-8826-new) ✗ git status 
+On branch John/release-2.4.0/KIP-8826-new
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git restore <file>..." to discard changes in working directory)
+        modified:   src/i18n/en.ts
+        modified:   src/i18n/zh.ts
+        modified:   src/pages.json
+        modified:   src/pages/package-order/parking-order-detail.vue
+        modified:   src/pages/package-parking/application.vue
+        modified:   src/pages/package-parking/components/parking-card/parking-card.vue
+        modified:   src/pages/package-parking/renewApplication.vue
+        modified:   src/types/order.ts
+        modified:   src/types/parking.ts
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+        src/pages/package-parking/editnewApplication.vue
+
+no changes added to commit (use "git add" and/or "git commit -a")
+➜  kip-for-consumer-new git:(John/release-2.4.0/KIP-8826-new) ✗ git add . 
+➜  kip-for-consumer-new git:(John/release-2.4.0/KIP-8826-new) ✗ git commit -m 'fix: build'                
+➜  kip-for-consumer-new git:(John/release-2.4.0/KIP-8826-new) ✗ git stash    
+Saved working directory and index state WIP on KIP-8826-new: 1edc8c5f Merge pull request #774 from John-Hong/John/release-2.4.0/KIP-9018
+➜  kip-for-consumer-new git:(John/release-2.4.0/KIP-8826-new) git status 
+On branch John/release-2.4.0/KIP-8826-new
+nothing to commit, working tree clean
+➜  kip-for-consumer-new git:(John/release-2.4.0/KIP-8826-new) 
+
+```

+ 13 - 0
每日工作笔记/2023-03-30.md

@@ -0,0 +1,13 @@
+![[Pasted image 20230330110627.png]]
+
+![[code=8b3573a0&type=unlicensedIn.png]]
+入场
+
+![[code=8b3573a1&type=unlicensedOut.png]]
+出场
+
+1、挡板
+2、crm兑换券勾选逻辑
+3、crm的h5登陆流程修改
+4、无牌车方面的ui 修改
+5、月泊车牌变更改造

+ 8 - 0
每日工作笔记/2023-04-03.md

@@ -0,0 +1,8 @@
+
+
+[[SCRM-3454] C端|前海|临时停车增加H5开关 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/SCRM-3454)
+
+
+![[Pasted image 20230403111433.png]]
+埋点
+

+ 76 - 0
每日工作笔记/2023-04-04.md

@@ -0,0 +1,76 @@
+## CRM
+
+获取订单列表:https://crm.kerryplus.com/xcrm-api/api/1.0/park/parkOrderList
+入参:
+```json
+{
+	mallid: app.globalData.mallid, // 楼盘ID
+	vipcode: app.globalData.member?.vipcode, // 用户会员编号 
+	openId: app.globalData.openId, // 微信小程序提供的该用户的唯一id
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```
+
+获取用户未开票列表:https://crm.kerryplus.com/xcrm-api/api/1.0/invoice/myNotInvoicedList
+入参:
+```json
+{
+	mallid: app.globalData.mallid, // 楼盘ID
+	vipcode: app.globalData.member?.vipcode, // 用户会员编号 
+	openId: app.globalData.openId, // 微信小程序提供的该用户的唯一id
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```
+
+获取用户已开票列表:https://crm.kerryplus.com/xcrm-api/api/1.0/invoice/myInvoicedList
+入参:
+```json
+{
+	mallid: app.globalData.mallid, // 楼盘ID
+	vipcode: app.globalData.member?.vipcode, // 用户会员编号 
+	openId: app.globalData.openId, // 微信小程序提供的该用户的唯一id
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```
+
+## 微服务H5
+以下接口统一传入header头参数x-user:
+```json
+{
+    userId: store.state?.kipUserId || '', // K+用户ID
+    sourceType: 'WECHAT',
+    phoneNumber: store.state?.mobile || '', // 终端用户ID, 微信端传openId, 支付宝小程序传阿里userId, APP传KIP的userId
+    projectId: store.state.projectId || '', // 楼盘id
+    brandId: store.state.groupId,
+    cid: store.state?.openid || '', // 终端用户ID, 微信端传openId, 支付宝小程序传阿里userId, APP传KIP的userId
+    vipCode: store.state?.member?.vipcode || '', // 终端用户ID, 微信端传openId, 支付宝小程序传阿里userId, APP传KIP的userId
+    lbsId: store.state?.lbsId || '',
+  }
+```
+获取订单列表:https://apim.kerryplus.com/c/api/temporary-parking/v1/orders?page=0&size=4
+入参:
+```json
+{
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```
+
+获取用户未开票列表:https://apim.kerryplus.com/c/api/temporary-parking/v1/invoices/not-applied?page=0&size=10
+```json
+{
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```
+
+获取用户已开票列表:https://apim.kerryplus.com/c/api/temporary-parking/v1/invoices/completed?page=0&size=10
+```json
+{
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```

+ 16 - 0
每日工作笔记/2023-04-05.md

@@ -0,0 +1,16 @@
+```bash
+# 先进入项目目录中,在顶部输入 cmd
+# 在cmd中运行以下命令
+$ volta install node@14
+$ volta install yarn
+# 启动项目
+$ yarn serve
+```
+
+
+```
+1、用户登陆时,返回有效期在 6小时内的token,如果用户超过6小时访问。
+2、通过自定义拦截器,在需鉴权的接口响应前,统一进行数据拦截避免非法访问。
+3、创建预防SQL注入攻击的拦截器,处理所有来自用户方的请求,进行编码转义。
+4、创建 Mock Service,在开发前端时可脱离后端接口,独立完成功能开发,提高工作效率。
+```

+ 3 - 0
每日工作笔记/2023-04-06.md

@@ -0,0 +1,3 @@
+UI,K+
+
+KIP-9392: Rollout Kerry+ |Office temp parking H5 

+ 18 - 0
每日工作笔记/2023-04-08.md

@@ -0,0 +1,18 @@
+在 src/store/order.js 里面的 301行
+```js
+// src/store/order.js:301行;添加以下描述
+if ( !points ) return commit('setIntegralDesc', '暂无可用积分'); // 积分优惠处的描述
+```
+
+
+在 src/pages/parkingFee/mixins/parkingFeeDetail.js 454行
+```js
+// 替换原来的积分修改矿的显示逻辑
+// 积分修改框
+    showPointsMathPopup() {
+      if(this.integralDesc === '暂无可用积分'){
+        return
+      }
+      this.popup = true;
+    },
+```

+ 24 - 0
每日工作笔记/2023-04-11.md

@@ -0,0 +1,24 @@
+### 低代码平台
+1、SSR渲染(hold)
+2、多框架兼容(vue2,vue3,react16-18,angular)
+- 统一编译为js 模块组件
+- vue plugins,react plugins,angular plugins
+- 我框架可以使用的js文件
+
+3、实现js之间的通信组件
+- 1 、有完整的生命周期
+- 2、支持订阅者模式
+- 3、事件回调机制
+- 4、支持各种类型数据通信
+
+4、远程组件支持二次编辑
+5、多个组件支持嵌套使用
+6、支持模版语法
+7、独立的生命周期
+8、支持微前端
+9、支持在线绘画组件
+10、商业化
+- 1)、组件付费
+- 2)、成型的页面模版
+	
+

+ 17 - 0
每日工作笔记/2023-04-12.md

@@ -0,0 +1,17 @@
+this.send({  
+type: 'testeste',  
+options: {}  
+});
+
+### K+扫描 CRM无牌车出入场码
+```json
+{  
+	"errMsg": "scanCode:ok",  
+	"result": "*",  
+	"scanType": "WX_CODE",  
+	"charSet": "ISO8859-1",
+	"rawData":
+"bG8kUWVkLjNZdVZpKkQ3dlhpbHJyVjM1NzNhMCZ0eXBlPXVubGljZW5zZWRJbg=="  
+}
+```
+如果把 rawData 数据转成base64,可以得到`lo$Qed.3YuVi*D7vXilrrV3573a0&type=unlicensedIn`;这个时候我的想法是提取 &type 前面的6位数据,然后获取到  3573a0&type=unlicensedIn;在数据库做qrcode与getaid映射关系时,code码时 8b3573a0;那我再往提取到的数据中添加 8b;这样就把crm的小程序码数据解析出来了了

+ 4 - 0
每日工作笔记/2023-04-17.md

@@ -0,0 +1,4 @@
+John/release-2.6.0/KIP-8826
+
+
+[[SCRM-3624] 在Kerry Plus 小程序中添加业务域名 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/SCRM-3624)

+ 3 - 0
每日工作笔记/2023-04-20.md

@@ -0,0 +1,3 @@
+0静安 1浦东 2杭州 3北京 4沈阳 5深圳 6天津
+
+

+ 21 - 0
每日工作笔记/2023-04-21.md

@@ -0,0 +1,21 @@
+```json
+接口:api/oauth/v1/auth/openid-login
+{  
+    "code":"000000",  
+    "message":"Request success",  
+    "data":{  
+        "access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODIxMzI1NTUsInVzZXIiOnsidXNlcklkIjoiMmM5ZDljOTA4NjlmYTA3ODAxODZhMDMzN2Y1YTAwMDEiLCJ1c2VyQ29kZSI6MTAyNDg4ODIsIm5pY2tOYW1lIjoi5b6u5L-h55So5oi3IiwicGhvbmVOdW1iZXIiOiIxNTI2NzYxNzQ3MyIsImZyb21UeXBlIjoiQyIsInNvdXJjZSI6IkxJTktTIiwiaXNOZXdVc2VyIjpmYWxzZSwiaGVhZEVtcHR5IjpmYWxzZSwic2lnbnVwTWV0aG9kIjoiMCJ9LCJ1c2VyX25hbWUiOiJjb20ua2Vycnlwcm9wcy5raXAuc2VydmljZS5hdXRoLnNlY3VyaXR5LmNvbW1vbi5Mb2dpblVzZXJANzY2ODJiZDUiLCJqdGkiOiI5ZTFiNzQ1ZS02ZmViLTQ5MzAtOGRkYS0xNmVkNzdhMDVjOTMiLCJjbGllbnRfaWQiOiJDUk0iLCJzY29wZSI6WyJhcHAiXX0.IyfjJ-Lj7e4oz-4ewSqs08P69T92glIxU5Si0pTaJvdQX2mRmh-aAuPEBZJ1WQB0t04fE_naSVpqW6mJwl5FPUH0vo6z96ZvGVLuzkTK0jNO4lu1p99wCqQDSOJmRL2OVDSyU-RPq-hpd9Dem7bDty6JDQ9otzwSo6AnvUAOU7ndfvgDKSXSv4Yrkd41q2ski_SB0DHAXN5FoTNYRUg02eNwPoKGq1ei6h1xUySD_fRWMRGHPTBKM83b-s-ffiyUgaj-y4SPvs92FBdjAlWfhIJhAe58bEGNAZBrA4UfZI1GeLi3YIeqEE03XQRzhsAWbLcEZqhdkFEYcK4aMn5iUQ",  
+        "token_type":"bearer",  
+        "refresh_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJjb20ua2Vycnlwcm9wcy5raXAuc2VydmljZS5hdXRoLnNlY3VyaXR5LmNvbW1vbi5Mb2dpblVzZXJANzY2ODJiZDUiLCJzY29wZSI6WyJhcHAiXSwiYXRpIjoiOWUxYjc0NWUtNmZlYi00OTMwLThkZGEtMTZlZDc3YTA1YzkzIiwiZXhwIjoxNjg5ODIyMTU1LCJ1c2VyIjp7InVzZXJJZCI6IjJjOWQ5YzkwODY5ZmEwNzgwMTg2YTAzMzdmNWEwMDAxIiwidXNlckNvZGUiOjEwMjQ4ODgyLCJuaWNrTmFtZSI6IuW-ruS_oeeUqOaItyIsInBob25lTnVtYmVyIjoiMTUyNjc2MTc0NzMiLCJmcm9tVHlwZSI6IkMiLCJzb3VyY2UiOiJMSU5LUyIsImlzTmV3VXNlciI6ZmFsc2UsImhlYWRFbXB0eSI6ZmFsc2UsInNpZ251cE1ldGhvZCI6IjAifSwianRpIjoiZjkyOTAyMzQtZGI4OC00ZjNjLWI3YjQtMmY0YjczZTdlODcxIiwiY2xpZW50X2lkIjoiQ1JNIn0.ApBt8UmlikzSgOxgRfnRQihsGYBpI-DjrkUU3fqYgoKnKr3e_-PBZDu4yJ9Li21M3shxbYemleS8EBU6nu5dH_9uXdDwMd0LrD9CUHOXQr5msnoBpUlha_Vu0SHfsoQgelIrO5vAa4UfL4V7S_YOBY2WgfasEcioOeRk-mEIo9C9hwlTa0hFzTRGLiATknsjC7_avs4KjmHg1VJXA1lpLb9CRuycvmy8ARWMcTXWBCYHjmPqq0lUaSZZOqoPdQ9jIlY1VZj1Rgbmcw_h-rdsMaFFkYpjf3wUVnBtgBjSadumd-JN5CJ0q_Uk1YwZ8jN-OTWiQ_zwUsP8_BSNdHkGRQ",  
+        "expires_in":86399,  
+        "scope":[  
+            "app"  
+        ],  
+        "jti":"9e1b745e-6feb-4930-8dda-16ed77a05c93",  
+        "isNewUser":false,  
+        "headEmpty":false,  
+        "openId":"oudWQ5SCDElfn-IQH6eBR5JesOz4",  
+        "unionId":"o5zJv5ok9WEm1PZFKkTEuhnTUCf8"  
+    }  
+}
+```

+ 2 - 0
每日工作笔记/2023-04-23.md

@@ -0,0 +1,2 @@
+1、调查积分使用逻辑是否存在缺陷
+2、

+ 6 - 0
每日工作笔记/2023-04-24.md

@@ -0,0 +1,6 @@
+1、调查积分使用逻辑是否存在缺陷
+2、跟洋哥查看h5跳转逻辑
+3、
+
+https://dev-gateway-kip.kerryonvip.com/api/points/v1/member/current
+https://dev-gateway-kip.kerryonvip.com/api/points/v1/member/current

+ 14 - 0
每日工作笔记/2023-04-25.md

@@ -0,0 +1,14 @@
+- parkingRule.maxOneTimeDiscountTime 
+- 当日最大可使用优惠
+1、深圳前海当日最大可使用优惠(跟着人走)
+2、浦东没有当日最大可使用优惠
+3、静安只有有当日车辆优惠减免上限
+4、给到前端的时候,最好是转换成元(商议)
+5、请确认1、2、3种场景下,给到前端的字段(商议)
+
+
+[[SCRM-3711] [DE][C端]临时停车,静安商场使用错误得税号,开票失败以后,没有重新开票得按钮 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/SCRM-3711)
+
+[[KIP-9639] 浦东和静安查费功能API联调 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-9639)
+
+[[KIP-9635] KIP | Temporary Parking Service |静安嘉里和浦东嘉里有牌车临停功能实现 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-9635)

+ 5 - 0
每日工作笔记/2023-04-26.md

@@ -0,0 +1,5 @@
+```
+[[KIP-9838] Incident - 前海月泊开始日期小于结束日期时可以发起申请 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-9838)
+```
+
+![[Pasted image 20230426150746.png]]

+ 0 - 0
每日工作笔记/2023-04-27.md


+ 3 - 0
每日工作笔记/2023-04-28.md

@@ -0,0 +1,3 @@
+[[KIP-9897] Incident - 前海月泊申请用户上传照片附件丢失 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-9897)
+
+[[KIP-9914] KERRY+|月泊停车|C端| 个人信息卡片下的展示文案优化 - Jira (atlassian.net)](https://kerryprops.atlassian.net/browse/KIP-9914)

+ 1 - 0
每日工作笔记/2023-04-29.md

@@ -0,0 +1 @@
+接入webhook,

+ 0 - 0
每日工作笔记/2023-05-03.md


+ 11 - 0
每日工作笔记/2023-05-08.md

@@ -0,0 +1,11 @@
+1、无牌车接口联调
+2、优惠券勾选逻辑优化
+3、
+
+0静安 1浦东 2杭州 3北京 4沈阳 5深圳 6天津
+
+## 优惠进度
+1、消费减免核销失败,原因是集团ID错误
+![[Pasted image 20230508171104.png]]
+2、订单编号显示QH,正常应该显示 PD
+

+ 33 - 0
每日工作笔记/K+扫描 CRM无牌车出入场码.md

@@ -0,0 +1,33 @@
+
+基础数据
+```json
+{  
+	"errMsg": "scanCode:ok",  
+	"result": "*",  
+	"scanType": "WX_CODE",  
+	"charSet": "ISO8859-1",
+	"rawData":
+"bG8kUWVkLjNZdVZpKkQ3dlhpbHJyVjM1NzNhMCZ0eXBlPXVubGljZW5zZWRJbg=="  
+}
+```
+
+如果把 rawData 数据转成base64,可以得到`lo$Qed.3YuVi*D7vXilrrV3573a0&type=unlicensedIn`;
+
+这个时候我的想法是提取 &type 前面的6位数据,然后获取到  3573a0&type=unlicensedIn;在数据库做qrcode与getaid映射关系时,code码是 8b3573a0;那我再往提取到的数据前添加 8b;这样就把crm的小程序码数据解析出来了 `8b3573a0&type=unlicensedIn`;
+
+这个时候再将结果转为obj数据得到
+```json
+{
+    "code": "8b3573a0",
+    "type": "unlicensedIn"
+}
+```
+
+具体实现
+```js
+let path = atob(res.rawData)  
+path = path.replace(/.*([a-z0-9]{6}&type)/g, '8b$1')  
+const regex = /(\w+)&type=(\w+)/;  
+const match = path.match(regex);  
+const obj = { code: match[1], type: match[2] };
+```

BIN
每日工作笔记/MicrosoftTeams-image (1).png


BIN
每日工作笔记/Pasted image 20230320174344.png


BIN
每日工作笔记/Pasted image 20230327171743.png


BIN
每日工作笔记/Pasted image 20230327171744.png


BIN
每日工作笔记/Pasted image 20230328102128.png


BIN
每日工作笔记/Pasted image 20230330110627.png


BIN
每日工作笔记/Pasted image 20230403111433.png


BIN
每日工作笔记/Pasted image 20230426150746.png


BIN
每日工作笔记/Pasted image 20230508171104.png


BIN
每日工作笔记/code=8b3573a0&type=unlicensedIn.png


BIN
每日工作笔记/code=8b3573a1&type=unlicensedOut.png


+ 222 - 0
每日工作笔记/二维码生成文档-精简版本.md

@@ -0,0 +1,222 @@
+
+##  前海车场闸机口编号
+![[Pasted image 20230327171744.png]]
+![[MicrosoftTeams-image (1).png]]
+```js
+{
+	"scene": "code=8b3673a1&type=unlicensedIn",
+	"check_path": false,
+	"env_version": "release"
+}
+```
+
+
+###  前海无牌车二维码编号和闸机口的映射关系
+
+T1-入口:gateId=3, qrCodeId=8b1573a0
+T1-出口: gateId=1,qrCodeId=8b2573a1
+
+T2-入口:gateId=2, qrCodeId=8b3573a2
+T2-出口:gateId=7, qrCodeId=8b4573a3
+
+T7-入口:gateId=11, qrCodeId=8b5573a2
+T7-出口:gateId=12, qrCodeId=8b6573a8
+
+T8-入口:gateId=9, qrCodeId=8b3773a2
+T8-出口:gateId=10, qrCodeId=8b8573a9
+
+公寓-入口:gateId=4, qrCodeId=8b9573a4
+公寓-出口:gateId=8, qrCodeId=8b1073a5
+
+## 通过 qr-codes 接口 管理二维码与gateId、buildingId的映射关系
+
+### 接口:获取二维码列表数据
+路径: /qr-codes/
+方法: GET
+参数(可选):
+```
+pageSize: 0, // 页码
+size: 100 // 分页数量
+```
+
+示例:
+```bash
+curl --location 'https://qa-kip-service-internal.kerryplus.com/temporary-parking-service/qr-codes/?pageSize=0&size=100'
+```
+响应:
+```json
+{
+"content": [
+	{
+		"id": 2,
+		"qrCodeId": "8b3573a0",
+		"buildingId": "QHKC-P1",
+		"gateId": "3"
+	},
+	{
+		"id": 1,
+		"qrCodeId": "8b3573a1",
+		"buildingId": "QHKC-P1",
+		"gateId": "1"
+	}
+],
+"pageable": {
+"sort": {
+"sorted": true,
+"unsorted": false,
+"empty": false
+},
+"pageNumber": 0,
+"pageSize": 4,
+"offset": 0,
+"paged": true,
+"unpaged": false
+},
+"last": true,
+"totalPages": 1,
+"totalElements": 2,
+"sort": {
+	"sorted": true,
+	"unsorted": false,
+	"empty": false
+},
+"number": 0,
+"first": true,
+"numberOfElements": 2,
+"size": 4,
+"empty": false
+}
+```
+
+
+### 接口:修改已经配置的uuid
+路径: /qr-codes
+方法: PUT
+参数:
+```
+qrCodeId: 二维码编号
+buildingId: 车场编号
+gateId: 闸机口编号
+id: 数据编号
+```
+
+示例:
+```bash
+curl --location --request PUT 'https://qa-kip-service-internal.kerryplus.com/temporary-parking-service/qr-codes' \
+--header 'Content-Type: application/json' \
+--data '{
+    "qrCodeId": "8b3573a2",
+    "buildingId": "QHKC-P1",
+    "gateId": "2",
+    "id": 1
+}'
+```
+
+响应(返回已经修改过的数据):
+```json
+{
+    "id": 1,
+    "createTime": "2023-03-27 17:45:10",
+    "updateTime": "2023-03-27 17:51:30",
+    "qrCodeId": "8b3573a2",
+    "buildingId": "QHKC-P1",
+    "gateId": "2"
+}
+```
+
+
+### 接口:添加uuid配置
+路径: /qr-codes
+方法: POST
+参数:
+```
+qrCodeId: 二维码编号
+buildingId: 车场编号
+gateId: 闸机口编号
+```
+
+示例:
+```bash
+curl --location 'https://dev-kip-service-internal.kerryonvip.com/temporary-parking-service/qr-codes/' \
+--header 'Content-Type: application/json' \
+--data '{
+    "qrCodeId": "8b3573a1",
+    "buildingId": "QHKC-P2",
+    "gateId": "3"
+}'
+```
+
+响应(返回已经修改过的数据):
+```json
+{
+    "id": 1,
+    "createTime": "2023-03-28 10:08:01",
+    "updateTime": "2023-03-28 10:08:01",
+    "qrCodeId": "8b3573a1",
+    "buildingId": "QHKC-P2",
+    "gateId": "3"
+}
+```
+
+
+# 单个车场闸道口小程序码生成流程:
+
+接口文档:[获取不限制的小程序码 | 微信开放文档 (qq.com)](https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html "https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html")
+
+## 生成方式
+
+### https调用:
+
+```
+POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
+```
+
+### 入参:
+
+```
+scene:"code=8b3573a1&type=unlicensedOut",
+	传入小程序的参数
+	说明:
+		code:uuid 长度为8
+		type=unlicensedIn(入场)|unlicensedOut(出场)
+check_path: false // 写死 
+env_version: 'release' // 正式版为 "release",体验版为 "trial",开发版为 "develop"
+```
+
+### 案例:
+
+```bash
+curl --location 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=67_5A-M-QRhKHz3AceTw_4DK6TbceA2q_X9VU0RpDMFqdvCUrlSl5gj1qHMgzMRCn8R3pRRYZ09D_e9Fl1fXvDUURB8CmOL7DfpGU5BODKHTFjavJFslWkuEIrvkIlbn9qY5ufMQpQ0JxWuAHYPQBQfAJDEPE' \
+--header 'Content-Type: application/json' \
+--data '{
+    "scene": "code=8b3573a1&type=unlicensedOut",
+    "check_path": false,
+    "env_version": "develop"
+}'
+```
+
+### 响应:
+```json
+{  
+	"errcode": 0, 
+	"errmsg": "ok",
+	"contentType": "image/jpeg",
+	"buffer": Buffer
+}
+```
+![[Pasted image 20230328102128.png]]
+
+补充:
+
+获取 `ACCESS_TOKEN`接口
+
+https://crm.kerryplus.com/open/api/1.0/interfaceController/getAccessToken?password=xxx&appid=xxx
+
+示例:
+```bash
+curl --location 'https://crm.kerryplus.com/open/api/1.0/interfaceController/getAccessToken?password=<password>&appid=<appid>'
+```
+响应
+```
+67_5A-M-QRhKHz3AceTw_4DK6TbceA2q_X9VU0RpDMFqdvCUrlSl5gj1qHMgzMRCn8R3pRRYZ09D_e9Fl1fX*******L7DfpGU5BODKHTFjavJFslWkuEIrvkIlbn9qY5ufMQpQ0JxWuAHYPQBQfAJDEPE
+```

+ 223 - 0
每日工作笔记/二维码生成文档-精简版本2.md

@@ -0,0 +1,223 @@
+
+##  前海车场闸机口编号
+![[Pasted image 20230327171744.png]]
+![[MicrosoftTeams-image (1).png]]
+```js
+{
+	"scene": "code=8b3673a1&type=unlicensedIn",
+	"check_path": false,
+	"env_version": "release"
+}
+```
+
+
+###  前海无牌车二维码编号和闸机口的映射关系
+
+T1-入口:gateId=3, qrCodeId=8b1573a0
+T1-出口: gateId=1,qrCodeId=8b2573a1
+
+T2-入口:gateId=2, qrCodeId=8b3573a2
+T2-出口:gateId=7, qrCodeId=8b4573a3
+
+T7-入口:gateId=11, qrCodeId=8b5573a2
+T7-出口:gateId=12, qrCodeId=8b6573a8
+
+T8-入口:gateId=9, qrCodeId=8b3773a2
+T8-出口:gateId=10, qrCodeId=8b8573a9
+
+公寓-入口:gateId=4, qrCodeId=8b9573a4
+公寓-出口:gateId=8, qrCodeId=8b1073a5
+
+## 通过 qr-codes 接口 管理二维码与gateId、buildingId的映射关系
+
+### 接口:获取二维码列表数据
+路径: /qr-codes/
+方法: GET
+参数(可选):
+```
+pageSize: 0, // 页码
+size: 100 // 分页数量
+```
+
+示例:
+```bash
+curl --location 'https://qa-kip-service-internal.kerryplus.com/temporary-parking-service/qr-codes/?pageSize=0&size=100'
+```
+响应:
+```json
+{
+"content": [
+	{
+		"id": 2,
+		"qrCodeId": "8b3573a0",
+		"buildingId": "QHKC-P1",
+		"gateId": "3"
+	},
+	{
+		"id": 1,
+		"qrCodeId": "8b3573a1",
+		"buildingId": "QHKC-P1",
+		"gateId": "1"
+	}
+],
+"pageable": {
+"sort": {
+"sorted": true,
+"unsorted": false,
+"empty": false
+},
+"pageNumber": 0,
+"pageSize": 4,
+"offset": 0,
+"paged": true,
+"unpaged": false
+},
+"last": true,
+"totalPages": 1,
+"totalElements": 2,
+"sort": {
+	"sorted": true,
+	"unsorted": false,
+	"empty": false
+},
+"number": 0,
+"first": true,
+"numberOfElements": 2,
+"size": 4,
+"empty": false
+}
+```
+
+
+### 接口:修改已经配置的uuid
+路径: /qr-codes
+方法: PUT
+参数:
+```
+qrCodeId: 二维码编号
+buildingId: 车场编号
+gateId: 闸机口编号
+id: 数据编号
+```
+
+示例:
+```bash
+curl --location --request PUT 'https://qa-kip-service-internal.kerryplus.com/temporary-parking-service/qr-codes' \
+--header 'Content-Type: application/json' \
+--data '{
+    "qrCodeId": "8b3573a2",
+    "buildingId": "QHKC-P1",
+    "gateId": "2",
+    "id": 1
+}'
+```
+
+响应(返回已经修改过的数据):
+```json
+{
+    "id": 1,
+    "createTime": "2023-03-27 17:45:10",
+    "updateTime": "2023-03-27 17:51:30",
+    "qrCodeId": "8b3573a2",
+    "buildingId": "QHKC-P1",
+    "gateId": "2"
+}
+```
+
+
+### 接口:添加uuid配置
+路径: /qr-codes
+方法: POST
+参数:
+```
+qrCodeId: 二维码编号
+buildingId: 车场编号
+gateId: 闸机口编号
+```
+
+示例:
+```bash
+curl --location 'https://dev-kip-service-internal.kerryonvip.com/temporary-parking-service/qr-codes/' \
+--header 'Content-Type: application/json' \
+--data '{
+    "qrCodeId": "8b3573a1",
+    "buildingId": "QHKC-P2",
+    "gateId": "3"
+}'
+```
+
+响应(返回已经修改过的数据):
+```json
+{
+    "id": 1,
+    "createTime": "2023-03-28 10:08:01",
+    "updateTime": "2023-03-28 10:08:01",
+    "qrCodeId": "8b3573a1",
+    "buildingId": "QHKC-P2",
+    "gateId": "3"
+}
+```
+
+
+# 单个车场闸道口小程序码生成流程:
+
+接口文档:[获取不限制的小程序码 | 微信开放文档 (qq.com)](https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html "https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html")
+
+## 生成方式
+
+### https调用:
+
+```
+POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
+```
+
+### 入参:
+
+```
+scene:"code=8b3573a1&type=unlicensedOut",
+	传入小程序的参数
+	说明:
+		code:uuid 长度为8
+		type=unlicensedIn(入场)|unlicensedOut(出场)
+check_path: false // 写死 
+env_version: 'release' // 正式版为 "release",体验版为 "trial",开发版为 "develop"
+```
+
+### 案例:
+
+```bash
+curl --location 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=67_5A-M-QRhKHz3AceTw_4DK6TbceA2q_X9VU0RpDMFqdvCUrlSl5gj1qHMgzMRCn8R3pRRYZ09D_e9Fl1fXvDUURB8CmOL7DfpGU5BODKHTFjavJFslWkuEIrvkIlbn9qY5ufMQpQ0JxWuAHYPQBQfAJDEPE' \
+--header 'Content-Type: application/json' \
+--data '{
+    "scene": "code=8b3573a1&type=unlicensedOut",
+    "check_path": false,
+    "env_version": "develop"
+}'
+```
+
+### 响应:
+```json
+{  
+	"errcode": 0, 
+	"errmsg": "ok",
+	"contentType": "image/jpeg",
+	"buffer": Buffer
+}
+```
+![[Pasted image 20230328102128.png]]
+
+补充:
+
+获取 `ACCESS_TOKEN`接口
+
+https://crm.kerryplus.com/open/api/1.0/interfaceController/getAccessToken?password=xxx&appid=xxx
+
+示例:
+```bash
+curl --location 'https://crm.kerryplus.com/open/api/1.0/interfaceController/getAccessToken?password=<password>&appid=<appid>'
+```
+响应
+
+67_5A-M-QRhKHz3AceTw_4DK6TbceA2q_X9VU0RpDMFqdvCUrlSl5gj1qHMgz
+MRCn8R3pRRYZ09D_e9Fl1fX*******L7DfpGU5BODKHTFjavJ
+FslWkuEIrvkIlbn9qY5ufMQpQ0JxWuAHYPQBQfAJDEPE

+ 245 - 0
每日工作笔记/二维码生成文档.md

@@ -0,0 +1,245 @@
+
+##  前海车场闸机口编号
+![[Pasted image 20230327171744.png]]
+![[MicrosoftTeams-image (1).png]]
+```js
+{
+	"scene": "code=8b3673a1&type=unlicensedIn",
+	"check_path": false,
+	"env_version": "release"
+}
+```
+
+
+###  前海无牌车二维码编号和闸机口的映射关系
+
+T1-入口:gateId=3, qrCodeId=8b1573a0
+T1-出口: gateId=1,qrCodeId=8b2573a1
+
+T2-入口:gateId=2, qrCodeId=8b3573a2
+T2-出口:gateId=7, qrCodeId=8b4573a3
+
+T7-入口:gateId=11, qrCodeId=8b5573a2
+T7-出口:gateId=12, qrCodeId=8b6573a8
+
+T8-入口:gateId=9, qrCodeId=8b3773a2
+T8-出口:gateId=10, qrCodeId=8b8573a9
+
+公寓-入口:gateId=4, qrCodeId=8b9573a4
+公寓-出口:gateId=8, qrCodeId=8b1073a5
+
+## 通过 qr-codes 接口 管理二维码与gateId、buildingId的映射关系
+
+### 接口:获取二维码列表数据
+路径: /qr-codes/
+方法: GET
+参数(可选):
+```
+pageSize: 0, // 页码
+size: 100 // 分页数量
+```
+
+示例:
+```bash
+curl --location 'https://qa-kip-service-internal.kerryplus.com/temporary-parking-service/qr-codes/?pageSize=0&size=100'
+```
+响应:
+```json
+{
+"content": [
+	{
+		"id": 2,
+		"qrCodeId": "8b3573a0",
+		"buildingId": "QHKC-P1",
+		"gateId": "3"
+	},
+	{
+		"id": 1,
+		"qrCodeId": "8b3573a1",
+		"buildingId": "QHKC-P1",
+		"gateId": "1"
+	}
+],
+"pageable": {
+"sort": {
+"sorted": true,
+"unsorted": false,
+"empty": false
+},
+"pageNumber": 0,
+"pageSize": 4,
+"offset": 0,
+"paged": true,
+"unpaged": false
+},
+"last": true,
+"totalPages": 1,
+"totalElements": 2,
+"sort": {
+	"sorted": true,
+	"unsorted": false,
+	"empty": false
+},
+"number": 0,
+"first": true,
+"numberOfElements": 2,
+"size": 4,
+"empty": false
+}
+```
+
+
+### 接口:修改已经配置的uuid
+路径: /qr-codes
+方法: PUT
+参数:
+```
+qrCodeId: 二维码编号
+buildingId: 车场编号
+gateId: 闸机口编号
+id: 数据编号
+```
+
+示例:
+```bash
+curl --location --request PUT 'https://qa-kip-service-internal.kerryplus.com/temporary-parking-service/qr-codes' \
+--header 'Content-Type: application/json' \
+--data '{
+    "qrCodeId": "8b3573a2",
+    "buildingId": "QHKC-P1",
+    "gateId": "2",
+    "id": 1
+}'
+```
+
+响应(返回已经修改过的数据):
+```json
+{
+    "id": 1,
+    "createTime": "2023-03-27 17:45:10",
+    "updateTime": "2023-03-27 17:51:30",
+    "qrCodeId": "8b3573a2",
+    "buildingId": "QHKC-P1",
+    "gateId": "2"
+}
+```
+
+
+### 接口:添加uuid配置
+路径: /qr-codes
+方法: POST
+参数:
+```
+qrCodeId: 二维码编号
+buildingId: 车场编号
+gateId: 闸机口编号
+```
+
+示例:
+```bash
+curl --location 'https://dev-kip-service-internal.kerryonvip.com/temporary-parking-service/qr-codes/' \
+--header 'Content-Type: application/json' \
+--data '{
+    "qrCodeId": "8b3573a1",
+    "buildingId": "QHKC-P2",
+    "gateId": "3"
+}'
+```
+
+响应(返回已经修改过的数据):
+```json
+{
+    "id": 1,
+    "createTime": "2023-03-28 10:08:01",
+    "updateTime": "2023-03-28 10:08:01",
+    "qrCodeId": "8b3573a1",
+    "buildingId": "QHKC-P2",
+    "gateId": "3"
+}
+```
+
+
+### 接口:删除配置的uuid
+路径: /qr-codes/《id》
+方法: DELETE
+参数:
+```
+id: 数据的编号
+```
+
+示例:
+```bash
+curl --location --request DELETE 'https://dev-kip-service-internal.kerryonvip.com/temporary-parking-service/qr-codes/1'
+```
+响应:没有任何返回则为正常数据
+```json
+
+```
+
+以下是不同环境的域名
+https://prod-kip-service-internal.kerryplus.com/temporary-parking-service/qr-codes/?pageSize=1&size=100  
+https://qa-kip-service-internal.kerryplus.com/temporary-parking-service/qr-codes/?pageSize=1&size=100  
+https://dev-kip-service-internal.kerryonvip.com/temporary-parking-service/qr-codes/?size=100'
+
+
+# 单个车场闸道口小程序码生成流程:
+
+接口文档:[获取不限制的小程序码 | 微信开放文档 (qq.com)](https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html "https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html")
+
+## 生成方式
+
+### https调用:
+
+```
+POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
+```
+
+### 入参:
+
+```
+scene:"code=8b3573a1&type=unlicensedOut",
+	传入小程序的参数
+	说明:
+		code:uuid 长度为8
+		type=unlicensedIn(入场)|unlicensedOut(出场)
+check_path: false // 写死 
+env_version: 'release' // 正式版为 "release",体验版为 "trial",开发版为 "develop"
+```
+
+### 案例:
+
+```bash
+curl --location 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=67_5A-M-QRhKHz3AceTw_4DK6TbceA2q_X9VU0RpDMFqdvCUrlSl5gj1qHMgzMRCn8R3pRRYZ09D_e9Fl1fXvDUURB8CmOL7DfpGU5BODKHTFjavJFslWkuEIrvkIlbn9qY5ufMQpQ0JxWuAHYPQBQfAJDEPE' \
+--header 'Content-Type: application/json' \
+--data '{
+    "scene": "code=8b3573a1&type=unlicensedOut",
+    "check_path": false,
+    "env_version": "develop"
+}'
+```
+
+### 响应:
+```json
+{  
+	"errcode": 0, 
+	"errmsg": "ok",
+	"contentType": "image/jpeg",
+	"buffer": Buffer
+}
+```
+![[Pasted image 20230328102128.png]]
+
+补充:
+
+获取 `ACCESS_TOKEN`接口
+
+https://crm.kerryplus.com/open/api/1.0/interfaceController/getAccessToken?password=xxx&appid=xxx
+
+示例:
+```bash
+curl --location 'https://crm.kerryplus.com/open/api/1.0/interfaceController/getAccessToken?password=Hafeng%402022&appid=wxd830fe4d1e04988e'
+```
+响应
+```
+67_5A-M-QRhKHz3AceTw_4DK6TbceA2q_X9VU0RpDMFqdvCUrlSl5gj1qHMgzMRCn8R3pRRYZ09D_e9Fl1fXvDUURB8CmOL7DfpGU5BODKHTFjavJFslWkuEIrvkIlbn9qY5ufMQpQ0JxWuAHYPQBQfAJDEPE
+```

+ 40 - 0
每日工作笔记/前海二维码映射.md

@@ -0,0 +1,40 @@
+
+##  前海车场闸机口编号
+![[Pasted image 20230327171744.png]]
+![[MicrosoftTeams-image (1).png]]
+```js
+{
+	"scene": "code=8b3673a1&type=unlicensedIn",
+	"check_path": false,
+	"env_version": "release"
+}
+```
+
+
+###  前海无牌车二维码编号和闸机口的映射关系
+
+T1-入口:gateId=3, qrCodeId=8b1573a0
+```json
+{
+
+"qrCodeId": "8b3573a1",
+
+"buildingId": "10047",
+
+"gateId": "1"
+
+}
+```
+T1-出口: gateId=1,qrCodeId=8b2573a1
+
+T2-入口:gateId=2, qrCodeId=8b3573a2
+T2-出口:gateId=7, qrCodeId=8b4573a3
+
+T7-入口:gateId=11, qrCodeId=8b5573a2
+T7-出口:gateId=12, qrCodeId=8b6573a8
+
+T8-入口:gateId=9, qrCodeId=8b3773a2
+T8-出口:gateId=10, qrCodeId=8b8573a9
+
+公寓-入口:gateId=4, qrCodeId=8b9573a4
+公寓-出口:gateId=8, qrCodeId=8b1073a5

+ 76 - 0
每日工作笔记/接口整理.md

@@ -0,0 +1,76 @@
+## CRM
+
+获取订单列表:https://crm.kerryplus.com/xcrm-api/api/1.0/park/parkOrderList
+入参:
+```json
+{
+	mallid: app.globalData.mallid, // 楼盘ID
+	vipcode: app.globalData.member?.vipcode, // 用户会员编号 
+	openId: app.globalData.openId, // 微信小程序提供的该用户的唯一id
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```
+
+获取用户未开票列表:https://crm.kerryplus.com/xcrm-api/api/1.0/invoice/myNotInvoicedList
+入参:
+```json
+{
+	mallid: app.globalData.mallid, // 楼盘ID
+	vipcode: app.globalData.member?.vipcode, // 用户会员编号 
+	openId: app.globalData.openId, // 微信小程序提供的该用户的唯一id
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```
+
+获取用户已开票列表:https://crm.kerryplus.com/xcrm-api/api/1.0/invoice/myInvoicedList
+入参:
+```json
+{
+	mallid: app.globalData.mallid, // 楼盘ID
+	vipcode: app.globalData.member?.vipcode, // 用户会员编号 
+	openId: app.globalData.openId, // 微信小程序提供的该用户的唯一id
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```
+
+## 微服务H5
+以下接口统一传入header头参数x-user:
+```json
+{
+    userId: store.state?.kipUserId || '', // K+用户ID
+    sourceType: 'WECHAT',
+    phoneNumber: store.state?.mobile || '', // 终端用户ID, 微信端传openId, 支付宝小程序传阿里userId, APP传KIP的userId
+    projectId: store.state.projectId || '', // 楼盘id
+    brandId: store.state.groupId,
+    cid: store.state?.openid || '', // 终端用户ID, 微信端传openId, 支付宝小程序传阿里userId, APP传KIP的userId
+    vipCode: store.state?.member?.vipcode || '', // 终端用户ID, 微信端传openId, 支付宝小程序传阿里userId, APP传KIP的userId
+    lbsId: store.state?.lbsId || '',
+  }
+```
+获取订单列表:https://apim.kerryplus.com/c/api/temporary-parking/v1/orders?page=0&size=4
+入参:
+```json
+{
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```
+
+获取用户未开票列表:https://apim.kerryplus.com/c/api/temporary-parking/v1/invoices/not-applied?page=0&size=10
+```json
+{
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```
+
+获取用户已开票列表:https://apim.kerryplus.com/c/api/temporary-parking/v1/invoices/completed?page=0&size=10
+```json
+{
+	page: pageNum || 1, // 页码
+	pageSize: 4 // 页数
+}
+```