vault backup: 2024-09-26 23:56:48
Affected files: .obsidian/app.json Excalidraw/Drawing 2024-08-09 10.18.44.excalidraw.md Excalidraw/Drawing 2024-08-13 11.47.20.excalidraw.md Haina/Weekly/2024/2024-W32.md Haina/Weekly/2024/2024-W33.md Haina/Weekly/2024/2024-W34.md Haina/Weekly/2024/2024-W35.md Haina/Weekly/2024/2024-W36.md Haina/Weekly/2024/2024-W37.md Haina/Weekly/2024/2024-W38.md Haina/Weekly/2024/2024-W39.md Haina/分享&培训/杨婷.md Haina/分享&培训/面试.md Haina/项目/HotelHub/atta/Pasted image 20240827101452.png Haina/项目/HotelHub/atta/Pasted image 20240827102217.png Haina/项目/HotelHub/atta/Pasted image 20240827102426.png Haina/项目/HotelHub/喜玩.md Haina/项目/PayPal.md Haina/项目/SCRM/SCRM.md Haina/项目/SCRM/一期总结.md Haina/项目/SCRM/第二阶段.md Haina/项目/价格平台/价格平台.md Haina/项目/支付中心/PayPal.md Haina/项目/支付中心/atta/ACDC-order completed but capture DECLINED.json Haina/项目/支付中心/atta/p24-approved-but-not-completed.jsonmain
parent
6ed0912294
commit
84b8d2dbe6
@ -1,31 +0,0 @@
|
||||
---
|
||||
|
||||
excalidraw-plugin: parsed
|
||||
tags: [excalidraw]
|
||||
|
||||
---
|
||||
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
|
||||
|
||||
|
||||
# Excalidraw Data
|
||||
## Text Elements
|
||||
%%
|
||||
## Drawing
|
||||
```compressed-json
|
||||
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
|
||||
```
|
||||
%%
|
@ -0,0 +1,27 @@
|
||||
---
|
||||
|
||||
excalidraw-plugin: parsed
|
||||
tags: [excalidraw]
|
||||
|
||||
---
|
||||
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
|
||||
|
||||
|
||||
# Excalidraw Data
|
||||
## Text Elements
|
||||
%%
|
||||
## Drawing
|
||||
```compressed-json
|
||||
N4KAkARALgngDgUwgLgAQQQDwMYEMA2AlgCYBOuA7hADTgQBuCpAzoQPYB2KqATLZMzYBXUtiRoIACyhQ4zZAHoFAc0JRJQgEYA6bGwC2CgF7N6hbEcK4OCtptbErHALRY8RMpWdx8Q1TdIEfARcZgRmBShcZQUebQBmbQAGGjoghH0EDihmbgBtcDBQMBKIEm4IAHEATQB9AE4oAGkAWQA2BAB2KAAtGsxCeIApNqGAGVSSyFhECsDsKI5lYMnS
|
||||
|
||||
zG5nABYkgFZtAA4ARh4d/lKYDfj4+u16+p5D/c7TwsgKEnVuHiT6s8hJBCEZTSbibQ5/CDWZbiVBJCHMKCkNgAawQAGE2Pg2KQKgBiQ4IAkE1aQTS4bDI5RIoQcYgYrE4iSI6zMOC4QLZEkQABmhHw+AAyrAVhJBB4uQikaiAOofSRfeGIlEIIUwEXoMXlCHU4EccK5NDg14QNhs7BqC6GpJw41U4RwACSxANqDyAF0IdzyJkndwOEJ+RDCLSsBV
|
||||
|
||||
cCltcJaXrmC7ilNoPAYfFXgBfeEIBDEbiHerbXPXNpGhOMFjsLhoNrxCGl1icABynDEOZ+8U2mx2uaDzAAIukoFnuIihAgIZoo8QAKLBTLZF3+wPGoRwYi4AfZw2dHjxHbffY7JJVl4JogcZF+gP4CFYimDtDcghhQqp8Aeui4OBwIVrmHx6AAzIKiIYEoFWBhCAQCgACFyUpalaXpbE8W5FDULA7ARA5KAHQHfQhSldFMSQiR8UJMj0MwrJsNwm
|
||||
|
||||
CKTtGk6SIxl0GZDhWXZKiKNILCcIyAAxPlBWFGEIE1bMzggDDuKo3i8KVGU5QVQpJMo7JZPw5VVXVUTMS1ZSpJ43CACVhF1fUcwkgyZNwgB5M0LRbG1SistTcL4zgoD43B9D5S1UGPSAXOo/iPIFQgjBhb5LNU4L9AAFSwKAAEFgIrdBgm5UDouk1yMm/Uhku4tgKABXAN1QBcr30mLZMnWkkqKkqQnKyFGrA5hsCRfkAA1uF3Q5tEeZ4JI6rr8G
|
||||
|
||||
qUF9k2ZIkk6I4Tgkow2AMbh40gegCBHHNn2ywyMhMhiYxdCB4PE5SqRIMKIovRdSguxiGVW40oMxFrcTReoPo+rkjIQZQA3ZPFJx7YHgYgHbqpyqANNROyoHLedLwkuBAjMYRmEqUhLvCmFKokr1vIQX6QyxpYnoTLJcE0YJyuHUdjWwIg4CHUgRwhDhCZZtnjWEKBTxhOmIdKOwACsEAWZgBQ5uAWjYYgEDqqmae4B98CfMB0zoXlgjjF9UyAA=
|
||||
|
||||
|
||||
```
|
||||
%%
|
@ -0,0 +1,13 @@
|
||||
---
|
||||
Created: 2024-08-20 Tue
|
||||
Updated: 2024-08-20 10:34 Tue
|
||||
---
|
||||
|
||||
##
|
||||
|
||||
1. 价格平台: 产品管理, 导出合同Word功能
|
||||
1. 前端DOCX框架
|
||||
2. 数据处理
|
||||
2. 酒店平台前端
|
||||
1. 搜索酒店: 增加参数
|
||||
2. 查询报价: 显示房型单价, 取消政策
|
@ -0,0 +1,23 @@
|
||||
---
|
||||
Created: 2024-08-15 Thu
|
||||
---
|
||||
|
||||
## Web
|
||||
### React
|
||||
1. react-admin
|
||||
2. git
|
||||
1. 常用的操作
|
||||
2. 冲突解决
|
||||
3. 项目:项目描述、自己负责的内容、解决过哪些值得一说的问题
|
||||
4. 项目流程:工时分配、需求及开发流程、线上问题解决
|
||||
|
||||
### Vue, Element
|
||||
1. v2/v3
|
||||
2. v2如何获取事件对象 $event
|
||||
3. 父子通信
|
||||
1. props+$emit
|
||||
2. vuex: 页面刷新state不存在, 持久化?
|
||||
3. $refs 弊端: 真实DOM
|
||||
4. .sync 修饰符的作用: 实现属性双向绑定
|
||||
5. 自定义组件 v-model
|
||||
1. v2: /v3
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,24 @@
|
||||
---
|
||||
Created: 2024-08-12 Mon
|
||||
Updated: 2024-08-27 10:23 Tue
|
||||
---
|
||||
|
||||
## 实时报价
|
||||
|
||||
1. [x] 取消政策 ✅ 2024-08-20
|
||||
2. [x] 单价, 总价 ✅ 2024-08-20
|
||||
3. [/] 名称模糊搜索, 匹配排序
|
||||
4. [x] 每天同步ID, 缺少的下架 ✅ 2024-08-23
|
||||
5. [x] 持续信息同步: 补充缺少信息的ID ✅ 2024-08-23
|
||||
6. [?] 价格不一致
|
||||
7. 酒店搜索:
|
||||
1. +条件{...}
|
||||
2. 显示单价
|
||||
8. [?] `images`表太大, 分表
|
||||
9. 中国酒店需要中文
|
||||
1. [/] 合并名称存到`hotelinfo`
|
||||
10. 酒店ID获取静态信息, 缺少房型Rooms数据, 有23495个ID没有房型数据
|
||||

|
||||
11. 国内酒店查不到报价
|
||||

|
||||
12.
|
@ -1,35 +0,0 @@
|
||||
---
|
||||
Created: 2024-04-24 Wed
|
||||
Updated: 2024-07-23 13:39 Tue
|
||||
---
|
||||
|
||||
### Merchant SERVER API
|
||||
|
||||
**Do NOT invoke PP API from client side directly**
|
||||
|
||||
- **方案1**: 数据由后端管理
|
||||
1. 保存生成的链接
|
||||
2. 支付中心页面, 请求后端生成PayPal订单
|
||||
3. 后端使用保存的信息, 生成PayPal请求订单: *createOrder*
|
||||
- **方案2**: 数据由链接管理
|
||||
1. 将链接原文发送后端
|
||||
|
||||
### Available
|
||||
|
||||
[支持的国家和地区](https://www.paypal.com/ng/webapps/mpp/country-worldwide)
|
||||
|
||||
[PayPal API Status](https://www.paypal-status.com/api/production)
|
||||
|
||||
### PayPal Notify
|
||||
|
||||
> [!faq] 通知不全
|
||||
>
|
||||
> 1. webhook没有发送
|
||||
> 1. `9BU18513BH318232S`
|
||||
> 2. `5NP174266F735682P` `CW231214017_T`
|
||||
> 3. ~~`4NW74413KE195510H` `SHX240325005_T`~~
|
||||
> 4. ~~`49N102461W2482132` `CA240704075_T`~~
|
||||
> 2. IPN没有发送
|
||||
> 1. `39G25248JF041404J` Upsell, 自动转账到账户
|
||||
> 3. 两个通知都没有
|
||||
> 1. `2SX71059RU3114540`
|
@ -0,0 +1,48 @@
|
||||
---
|
||||
Created: 2024-09-03 Tue
|
||||
Updated: 2024-09-14 15:02 Sat
|
||||
---
|
||||
|
||||
## Todo
|
||||
|
||||
1. [ ] 定义各渠道hook
|
||||
2. [?] 顾问邮件: 何时回复附带; 何时新邮件
|
||||
3. [?] 支持定时发送
|
||||
4. [?] 支持保存草稿
|
||||
5. [ ] 发送状态, 直接设为`sent`
|
||||
6. [?] 顾问有多个邮箱和客人联系,同时还有 WABA、WA、语音三种方式。系统如何确定会话是哪个顾问和客人的
|
||||
|
||||
|
||||
> [!faq] 会话
|
||||
> 顾问有多个邮箱和客人联系,同时还有 WABA、WA、语音三种方式。系统如何确定会话是哪个顾问和客人的
|
||||
>
|
||||
|
||||
|
||||
|
||||
## Email
|
||||
|
||||
### 选型
|
||||
|
||||
- [Quill](https://quilljs.com/docs/installation)
|
||||
- [Tiptap](https://tiptap.dev/docs/editor/extensions/nodes/mention)
|
||||
- [lexical](https://lexical.dev/docs/intro)
|
||||
- [TinyMCE](https://www.tiny.cloud/docs/tinymce/latest/getting-started/)
|
||||
- [.CN](http://tinymce.ax-z.cn/)
|
||||
- [react-simple-wysiwyg](https://github.com/megahertz/react-simple-wysiwyg#readme)
|
||||
- [react-page](https://github.com/react-page/react-page/)
|
||||
- [Yoopta](https://github.com/Darginec05/Yoopta-Editor)
|
||||
|
||||
> [npm trends](https://npmtrends.com/@editorjs/editorjs-vs-ckeditor5-vs-draft-js-vs-froala-editor-vs-prosemirror-model-vs-quill-vs-slate-vs-tinymce-vs-tiptap)
|
||||
|
||||
|
||||
## WhatsApp 数据获取备份和分析
|
||||
|
||||
- [Baileys](https://github.com/WhiskeySockets/Baileys)
|
||||
- 使用WhatsApp 多设备接口, 使同时登录以获取消息记录
|
||||
- websocket直连, 不需要模拟浏览器, 支持客户端模式登录(账号密码主设备)
|
||||
- 存储和分析以及其他需求自行开发
|
||||
- 免费
|
||||
- 有风险. 这个方法属于是WhatsApp的逆向工程\
|
||||
*WhatsApp要卖自己的商务服务, 按会话收费, 基于此的二次开发仓库都被要求删库, 社区目前还是积极的*
|
||||
- [WADesk](https://wadesk.io/)
|
||||
- [wwebjs](https://wwebjs.dev/guide/)
|
@ -0,0 +1,62 @@
|
||||
{
|
||||
"id": "3UK49886FR148212C",
|
||||
"amount": {
|
||||
"currency_code": "USD",
|
||||
"value": "2434.00"
|
||||
},
|
||||
"final_capture": true,
|
||||
"seller_protection": {
|
||||
"status": "NOT_ELIGIBLE"
|
||||
},
|
||||
"disbursement_mode": "INSTANT",
|
||||
"seller_receivable_breakdown": {
|
||||
"gross_amount": {
|
||||
"currency_code": "USD",
|
||||
"value": "2434.00"
|
||||
},
|
||||
"paypal_fee": {
|
||||
"currency_code": "USD",
|
||||
"value": "91.58"
|
||||
},
|
||||
"net_amount": {
|
||||
"currency_code": "USD",
|
||||
"value": "2342.42"
|
||||
}
|
||||
},
|
||||
"invoice_id": "Leeky240603095_T10--6152",
|
||||
"custom_id": "Leeky240603095_T10--6152",
|
||||
"status": "DECLINED",
|
||||
"processor_response": {
|
||||
"avs_code": "I",
|
||||
"cvv_code": "P",
|
||||
"response_code": "5100"
|
||||
},
|
||||
"supplementary_data": {
|
||||
"related_ids": {
|
||||
"order_id": "3H623646XX6756252"
|
||||
}
|
||||
},
|
||||
"payee": {
|
||||
"email_address": "pays@chinahighlights.com",
|
||||
"merchant_id": "JE4VX9SSVGTVN"
|
||||
},
|
||||
"create_time": "2024-08-16T02:44:31Z",
|
||||
"update_time": "2024-08-16T02:44:31Z",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://api.paypal.com/v2/payments/captures/3UK49886FR148212C",
|
||||
"rel": "self",
|
||||
"method": "GET"
|
||||
},
|
||||
{
|
||||
"href": "https://api.paypal.com/v2/payments/captures/3UK49886FR148212C/refund",
|
||||
"rel": "refund",
|
||||
"method": "POST"
|
||||
},
|
||||
{
|
||||
"href": "https://api.paypal.com/v2/checkout/orders/3H623646XX6756252",
|
||||
"rel": "up",
|
||||
"method": "GET"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
{
|
||||
"id": "WH-2V201491592344547-65B94083P08646144",
|
||||
"event_version": "1.0",
|
||||
"create_time": "2024-08-14T09:19:29.387Z",
|
||||
"resource_type": "checkout-order",
|
||||
"resource_version": "2.0",
|
||||
"event_type": "CHECKOUT.ORDER.APPROVED",
|
||||
"summary": "An order has been approved by buyer",
|
||||
"resource": {
|
||||
"create_time": "2024-08-14T09:14:31Z",
|
||||
"purchase_units": [
|
||||
{
|
||||
"reference_id": "default",
|
||||
"amount": {
|
||||
"currency_code": "USD",
|
||||
"value": "992.00"
|
||||
},
|
||||
"payee": {
|
||||
"email_address": "pays@chinahighlights.com",
|
||||
"merchant_id": "JE4VX9SSVGTVN"
|
||||
},
|
||||
"description": "Booking Train Tickets",
|
||||
"custom_id": "2408145045_B--2820",
|
||||
"invoice_id": "2408145045_B--2820"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://api.paypal.com/v2/checkout/orders/5XE14628CJ283363K",
|
||||
"rel": "self",
|
||||
"method": "GET"
|
||||
},
|
||||
{
|
||||
"href": "https://api.paypal.com/v2/checkout/orders/5XE14628CJ283363K",
|
||||
"rel": "update",
|
||||
"method": "PATCH"
|
||||
},
|
||||
{
|
||||
"href": "https://api.paypal.com/v2/checkout/orders/5XE14628CJ283363K/capture",
|
||||
"rel": "capture",
|
||||
"method": "POST"
|
||||
}
|
||||
],
|
||||
"id": "5XE14628CJ283363K",
|
||||
"payment_source": {
|
||||
"paypal": {
|
||||
"email_address": "a_p@autograf.pl",
|
||||
"account_id": "Y4R2H4CBS2TZJ",
|
||||
"account_status": "UNVERIFIED",
|
||||
"name": {
|
||||
"given_name": "Piotr",
|
||||
"surname": "Pacy¨½ski"
|
||||
},
|
||||
"address": {
|
||||
"country_code": "PL"
|
||||
}
|
||||
}
|
||||
},
|
||||
"intent": "CAPTURE",
|
||||
"payer": {
|
||||
"name": {
|
||||
"given_name": "Piotr",
|
||||
"surname": "Pacy¨½ski"
|
||||
},
|
||||
"email_address": "a_p@autograf.pl",
|
||||
"payer_id": "Y4R2H4CBS2TZJ",
|
||||
"address": {
|
||||
"country_code": "PL"
|
||||
}
|
||||
},
|
||||
"status": "APPROVED"
|
||||
},
|
||||
"links": [
|
||||
{
|
||||
"href": "https://api.paypal.com/v1/notifications/webhooks-events/WH-2V201491592344547-65B94083P08646144",
|
||||
"rel": "self",
|
||||
"method": "GET"
|
||||
},
|
||||
{
|
||||
"href": "https://api.paypal.com/v1/notifications/webhooks-events/WH-2V201491592344547-65B94083P08646144/resend",
|
||||
"rel": "resend",
|
||||
"method": "POST"
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue