From c76bd5416a069f6867b5ca42ced7936b637b26fb Mon Sep 17 00:00:00 2001 From: long <452591453@qq.com> Date: Fri, 5 Jun 2026 17:35:49 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BB=A3=E6=94=B6=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E5=BF=AB=E7=85=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../consumer/prescription/order_list.vue | 6 +- .../consumer/prescription/order_list_h5.vue | 6 +- .../diagnosis/components/PatientOrderList.vue | 4 ++ .../logic/tcm/PrescriptionOrderLogic.php | 56 +++++++++++++++++-- .../add_prescription_order_agency_collect.sql | 3 + 5 files changed, 68 insertions(+), 7 deletions(-) create mode 100644 server/sql/1.9.20260605/add_prescription_order_agency_collect.sql diff --git a/admin/src/views/consumer/prescription/order_list.vue b/admin/src/views/consumer/prescription/order_list.vue index cf5c8e2b..6dbb4947 100644 --- a/admin/src/views/consumer/prescription/order_list.vue +++ b/admin/src/views/consumer/prescription/order_list.vue @@ -3953,10 +3953,14 @@ const detailLinkedPayOrders = computed(() => { return Array.isArray(arr) ? arr : [] }) -/** 需代收:业务订单总金额 − 关联已付总额 */ +/** 需代收:优先用关联时记录的固定快照值;历史单(无快照)回退实时计算 总金额 − 关联已付总额 */ const detailAgencyToCollect = computed(() => { const d = detailData.value if (!d) return 0 + const snap = d.agency_collect_amount + if (snap !== null && snap !== undefined && snap !== '') { + return Number(snap) || 0 + } const total = Number(d.amount) || 0 const paid = Number(d.linked_pay_paid_total) || 0 return Math.round((total - paid) * 100) / 100 diff --git a/admin/src/views/consumer/prescription/order_list_h5.vue b/admin/src/views/consumer/prescription/order_list_h5.vue index 5685180d..f7745696 100644 --- a/admin/src/views/consumer/prescription/order_list_h5.vue +++ b/admin/src/views/consumer/prescription/order_list_h5.vue @@ -3492,10 +3492,14 @@ const detailLinkedPayOrders = computed(() => { return Array.isArray(arr) ? arr : [] }) -/** 需代收:业务订单总金额 − 关联已付总额 */ +/** 需代收:优先用关联时记录的固定快照值;历史单(无快照)回退实时计算 总金额 − 关联已付总额 */ const detailAgencyToCollect = computed(() => { const d = detailData.value if (!d) return 0 + const snap = d.agency_collect_amount + if (snap !== null && snap !== undefined && snap !== '') { + return Number(snap) || 0 + } const total = Number(d.amount) || 0 const paid = Number(d.linked_pay_paid_total) || 0 return Math.round((total - paid) * 100) / 100 diff --git a/admin/src/views/tcm/diagnosis/components/PatientOrderList.vue b/admin/src/views/tcm/diagnosis/components/PatientOrderList.vue index 11a10587..459302ea 100644 --- a/admin/src/views/tcm/diagnosis/components/PatientOrderList.vue +++ b/admin/src/views/tcm/diagnosis/components/PatientOrderList.vue @@ -415,6 +415,10 @@ const detailLinkedPayOrders = computed(() => { const detailAgencyToCollect = computed(() => { const d = detailData.value if (!d) return 0 + const snap = d.agency_collect_amount + if (snap !== null && snap !== undefined && snap !== '') { + return Number(snap) || 0 + } const total = Number(d.amount) || 0 const paid = Number(d.linked_pay_paid_total) || 0 return Math.round((total - paid) * 100) / 100 diff --git a/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php b/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php index 0aef9343..933aaf81 100755 --- a/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php +++ b/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php @@ -696,6 +696,8 @@ class PrescriptionOrderLogic { PrescriptionOrderPayOrder::where('prescription_order_id', (int) $order->id)->delete(); $order->linked_pay_order_id = null; + // 解除关联后刷新「需代收」固定快照(已付归零 → 需代收=总金额) + self::refreshAgencyCollectSnapshot((int) $order->id); } /** @@ -837,6 +839,35 @@ class PrescriptionOrderLogic $arr['deposit_min_amount'] = self::depositMinAmount(); } + /** + * 刷新「需代收」固定快照:按当前 总金额 − 关联已付总额(支付单 status ∈ {2 已支付, 5 待审核})写入 agency_collect_amount。 + * 在关联/新增支付单、建单、改总金额、解除关联等写操作末尾调用;之后退款/审核状态变化不再影响该值。 + */ + private static function refreshAgencyCollectSnapshot(int $id): void + { + if ($id <= 0) { + return; + } + $order = PrescriptionOrder::where('id', $id)->whereNull('delete_time')->find(); + if (!$order) { + return; + } + $amount = round((float) $order->amount, 2); + $paid = 0.0; + $ids = self::linkedPayOrderIdList($id); + if ($ids !== []) { + $payOrders = Order::whereIn('id', $ids)->whereNull('delete_time')->field(['amount', 'status'])->select(); + foreach ($payOrders as $po) { + $st = (int) $po->status; + if ($st === 2 || $st === 5) { + $paid += (float) $po->amount; + } + } + } + $order->agency_collect_amount = round($amount - $paid, 2); + $order->save(); + } + /** * @param array $params * @return array|false @@ -969,7 +1000,9 @@ class PrescriptionOrderLogic self::replacePayOrderLinks((int) $order->id, $payOrderIds); } - $out = $order->toArray(); + self::refreshAgencyCollectSnapshot((int) $order->id); + + $out = PrescriptionOrder::where('id', (int) $order->id)->find()->toArray(); self::maskInternalCostIfNeeded($out, $adminInfo); self::maskRemarkExtraIfNeeded($out, $adminInfo); self::attachLinkedPayOrders($out); @@ -1685,7 +1718,9 @@ class PrescriptionOrderLogic self::writeLog((int) $order->id, $adminId, $adminInfo, 'edit', '编辑了业务订单及相关信息'); - $out = $order->toArray(); + self::refreshAgencyCollectSnapshot((int) $order->id); + + $out = PrescriptionOrder::where('id', (int) $order->id)->find()->toArray(); self::maskInternalCostIfNeeded($out, $adminInfo); self::maskRemarkExtraIfNeeded($out, $adminInfo); self::attachLinkedPayOrders($out); @@ -2368,7 +2403,9 @@ class PrescriptionOrderLogic } self::writeLog($id, $adminId, $adminInfo, 'add_pay_order', $logMsg); - $out = $order->toArray(); + self::refreshAgencyCollectSnapshot($id); + + $out = PrescriptionOrder::where('id', $id)->find()->toArray(); self::maskInternalCostIfNeeded($out, $adminInfo); self::maskRemarkExtraIfNeeded($out, $adminInfo); self::attachLinkedPayOrders($out); @@ -2479,7 +2516,9 @@ class PrescriptionOrderLogic } self::writeLog($id, $adminId, $adminInfo, 'link_pay_order', $logMsg); - $out = $order->toArray(); + self::refreshAgencyCollectSnapshot($id); + + $out = PrescriptionOrder::where('id', $id)->find()->toArray(); self::maskInternalCostIfNeeded($out, $adminInfo); self::maskRemarkExtraIfNeeded($out, $adminInfo); self::attachLinkedPayOrders($out); @@ -3363,7 +3402,11 @@ class PrescriptionOrderLogic $item['export_refund_amount'] = $refundStored > 0 ? number_format($refundStored, 2, '.', '') : ''; - $item['export_agency_collect'] = number_format(round($amt - $paid, 2), 2, '.', ''); + // 需代收:优先用固定快照值 agency_collect_amount;历史单为 NULL 时回退实时 amt − paid + $agencySnap = $item['agency_collect_amount'] ?? null; + $item['export_agency_collect'] = ($agencySnap !== null && $agencySnap !== '') + ? number_format(round((float) $agencySnap, 2), 2, '.', '') + : number_format(round($amt - $paid, 2), 2, '.', ''); $item['export_tracking_number'] = (string) ($item['tracking_number'] ?? ''); $signTs = $poId > 0 ? (int) ($signTsByPoId[$poId] ?? 0) : 0; @@ -4097,6 +4140,9 @@ class PrescriptionOrderLogic return false; } + // 总金额变化后刷新「需代收」固定快照,保持与新总额一致 + self::refreshAgencyCollectSnapshot($id); + // 记录日志 $summary = sprintf('将订单金额从 ¥%.2f 修改为 ¥%.2f', $oldAmount, $newAmount); self::writeLog($id, $adminId, $adminInfo, 'update_amount', $summary); diff --git a/server/sql/1.9.20260605/add_prescription_order_agency_collect.sql b/server/sql/1.9.20260605/add_prescription_order_agency_collect.sql new file mode 100644 index 00000000..3d331b92 --- /dev/null +++ b/server/sql/1.9.20260605/add_prescription_order_agency_collect.sql @@ -0,0 +1,3 @@ +-- 处方业务订单:需代收固定值(关联支付单/改总金额时快照,NULL 表示按实时计算回退) +ALTER TABLE `zyt_tcm_prescription_order` + ADD COLUMN `agency_collect_amount` decimal(10,2) DEFAULT NULL COMMENT '需代收固定值(关联/改额时快照,NULL 表示按实时计算回退)' AFTER `refund_amount`; From 07abf2abcae391edf0c92e5cefe153c175034e41 Mon Sep 17 00:00:00 2001 From: long <452591453@qq.com> Date: Fri, 5 Jun 2026 18:24:41 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=94=AF=E4=BB=98=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../consumer/prescription/order_list.vue | 6 ++--- .../consumer/prescription/order_list_h5.vue | 6 ++--- admin/src/views/order/index.vue | 26 +++++++++++++++---- .../controller/order/OrderController.php | 6 +++++ .../app/adminapi/logic/order/OrderLogic.php | 6 +++++ .../logic/tcm/PrescriptionOrderLogic.php | 3 ++- .../1.9.20260605/add_order_create_type.sql | 3 +++ 7 files changed, 44 insertions(+), 12 deletions(-) create mode 100644 server/sql/1.9.20260605/add_order_create_type.sql diff --git a/admin/src/views/consumer/prescription/order_list.vue b/admin/src/views/consumer/prescription/order_list.vue index 6dbb4947..d3bef406 100644 --- a/admin/src/views/consumer/prescription/order_list.vue +++ b/admin/src/views/consumer/prescription/order_list.vue @@ -2276,13 +2276,13 @@ > - 手动创建 + 付呗 关联已有 直接完单申请 - + + + + + + + + + + + + + + + + - + 不申请 申请完成订单 @@ -2528,6 +2558,7 @@ import { prescriptionOrderRevokePayAudit, prescriptionOrderPatchPrescriptionPatient, prescriptionOrderLinkPayOrder, + prescriptionOrderRequestCompletion, prescriptionOrderSubmitGancaoRecipel, prescriptionOrderPreviewGancaoRecipel, prescriptionDetail, @@ -4042,7 +4073,7 @@ const editDiagnosisCreatorDeptBreadcrumbs = computed(() => { .filter((segs) => segs.length > 0) }) -const editPaidOrders = ref>([]) +const editPaidOrders = ref>([]) const editPaidOrdersLoading = ref(false) const editDepositMin = ref(0) @@ -4058,6 +4089,24 @@ function formatPoCategory(t: unknown) { return m[Number(t)] || '未知' } +function formatPayOrderSource(row: { payment_method?: unknown; create_type?: unknown }) { + const createType = String(row?.create_type || '') + if (createType === 'wechat_work') return '企业微信对外收款' + if (createType === 'fubei') return '付呗' + const paymentMethod = String(row?.payment_method || '') + const methodMap: Record = { + alipay: '支付宝', + wechat: '微信', + wechat_work: '企业微信', + fubei: '付呗', + manual: '手动确认到账' + } + if (paymentMethod && methodMap[paymentMethod]) { + return methodMap[paymentMethod] + } + return '普通订单' +} + const editLinkedPaidTotal = computed(() => { const ids = new Set(editForm.pay_order_ids.map((x) => Number(x))) let s = 0 @@ -4899,8 +4948,14 @@ const addPayOrderRowId = ref(0) const addPayOrderFormRef = ref() const addPayOrderAvailableLoading = ref(false) const addPayOrderAvailableList = ref([]) +const addPayOrderAlertTitle = computed(() => { + if (addPayOrderForm.add_mode === 'completion_only') { + return '不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。' + } + return '可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。' +}) const addPayOrderForm = reactive({ - add_mode: 'create' as 'create' | 'link', + add_mode: 'create' as 'create' | 'link' | 'completion_only', order_type: 3, pay_amount: undefined as number | undefined, pay_remark: '', @@ -4908,38 +4963,44 @@ const addPayOrderForm = reactive({ completion_request: 0 }) -const addPayOrderRules: FormRules = { - add_mode: [{ required: true, message: '请选择添加方式', trigger: 'change' }], - order_type: [{ required: true, message: '请选择费用类别', trigger: 'change' }], - pay_amount: [ - { required: true, message: '请输入支付金额', trigger: 'blur' }, - { - validator: (_rule, v, cb) => { - const n = Number(v) - if (!Number.isFinite(n) || n <= 0) { - cb(new Error('金额须大于 0')) - } else { - cb() - } - }, - trigger: 'blur' - } - ], - link_pay_order_ids: [ - { - required: true, - message: '请至少选择一个支付单', - trigger: 'change', - validator: (_rule, v, cb) => { - if (!Array.isArray(v) || v.length === 0) { - cb(new Error('请至少选择一个支付单')) - } else { - cb() +const addPayOrderRules = computed(() => { + const rules: FormRules = { + add_mode: [{ required: true, message: '请选择添加方式', trigger: 'change' }] + } + if (addPayOrderForm.add_mode === 'create') { + rules.order_type = [{ required: true, message: '请选择费用类别', trigger: 'change' }] + rules.pay_amount = [ + { required: true, message: '请输入支付金额', trigger: 'blur' }, + { + validator: (_rule, v, cb) => { + const n = Number(v) + if (!Number.isFinite(n) || n <= 0) { + cb(new Error('金额须大于 0')) + } else { + cb() + } + }, + trigger: 'blur' + } + ] + } else if (addPayOrderForm.add_mode === 'link') { + rules.link_pay_order_ids = [ + { + required: true, + message: '请至少选择一个支付单', + trigger: 'change', + validator: (_rule, v, cb) => { + if (!Array.isArray(v) || v.length === 0) { + cb(new Error('请至少选择一个支付单')) + } else { + cb() + } } } - } - ] -} + ] + } + return rules +}) async function loadAddPayOrderAvailable(diagnosisId: number, currentLinkedIds: number[] = []) { if (!diagnosisId) { @@ -4987,7 +5048,10 @@ async function submitAddPayOrder() { await addPayOrderFormRef.value.validate() addPayOrderSaving.value = true try { - if (addPayOrderForm.add_mode === 'create') { + if (addPayOrderForm.add_mode === 'completion_only') { + await prescriptionOrderRequestCompletion({ id: addPayOrderRowId.value }) + feedback.msgSuccess('完单申请已提交,请等待支付审核') + } else if (addPayOrderForm.add_mode === 'create') { // 手动创建新支付单 await prescriptionOrderAddPayOrder({ id: addPayOrderRowId.value, diff --git a/admin/src/views/order/index.vue b/admin/src/views/order/index.vue index 8f37fc88..d4f1484b 100644 --- a/admin/src/views/order/index.vue +++ b/admin/src/views/order/index.vue @@ -1257,6 +1257,12 @@ const getCreateTypeText = (row: any) => { fubei: '付呗' } const ct = row?.create_type + if (ct === 'wechat_work' || ct === 'fubei') { + return createTypeMap[ct] + } + if (ct === 'normal' && row?.payment_method) { + return getPaymentMethodText(row.payment_method) + } if (ct && createTypeMap[ct]) { return createTypeMap[ct] } diff --git a/server/app/adminapi/logic/order/OrderLogic.php b/server/app/adminapi/logic/order/OrderLogic.php index b84cb31a..d302472b 100755 --- a/server/app/adminapi/logic/order/OrderLogic.php +++ b/server/app/adminapi/logic/order/OrderLogic.php @@ -22,6 +22,11 @@ use think\facade\Log; */ class OrderLogic { + /** + * 创建方式统一三值:normal 普通订单 / wechat_work 企业微信对外收款 / fubei 付呗 + */ + private const CREATE_TYPES = ['normal', 'wechat_work', 'fubei']; + /** * @notes 生成订单号 * @return string @@ -31,6 +36,34 @@ class OrderLogic return 'ORD' . date('YmdHis') . mt_rand(100000, 999999); } + private static function normalizeCreateType( + ?string $createType, + ?string $paymentMethod = null, + ?string $payeeUserid = null, + ?string $payerExternalUserid = null, + ?string $remark = null + ): string { + $raw = trim((string) $createType); + if (in_array($raw, self::CREATE_TYPES, true)) { + return $raw; + } + + $paymentMethod = trim((string) $paymentMethod); + if ($paymentMethod === 'fubei') { + return 'fubei'; + } + + if ( + trim((string) $payeeUserid) !== '' + || trim((string) $payerExternalUserid) !== '' + || str_contains((string) $remark, '企业微信') + ) { + return 'wechat_work'; + } + + return 'normal'; + } + /** * @notes 创建订单 * @param array $params @@ -43,11 +76,8 @@ class OrderLogic if (!in_array($channel, ['normal', 'fubei'], true)) { $channel = 'normal'; } - // 创建方式(三值):normal 普通订单 / wechat_work 企业微信对外收款 / fubei 付呗;非法值兜底 normal - $createType = (string)($params['create_type'] ?? 'normal'); - if (!in_array($createType, ['normal', 'wechat_work', 'fubei'], true)) { - $createType = 'normal'; - } + $paymentMethod = $channel === 'fubei' ? 'fubei' : null; + $createType = self::normalizeCreateType((string)($params['create_type'] ?? ''), $paymentMethod); $requirePaymentSlipAudit = (int)($params['require_payment_slip_audit'] ?? 0) === 1; $order = new Order(); @@ -189,6 +219,10 @@ class OrderLogic $order->payment_method = 'wechat'; $needSave = true; } + if ((string) ($order->create_type ?? '') !== 'wechat_work') { + $order->create_type = 'wechat_work'; + $needSave = true; + } if ($paymentTimeStr !== '' && (string)$order->payment_time !== $paymentTimeStr) { $order->payment_time = $paymentTimeStr; $needSave = true; @@ -241,6 +275,7 @@ class OrderLogic $order->amount = $amount; $order->status = $targetStatus; $order->payment_method = 'wechat'; + $order->create_type = 'wechat_work'; $order->payment_time = $paymentTimeStr; $order->trade_no = $tradeNo; $remark = '企业微信直接收款同步,待关联患者'; @@ -289,6 +324,7 @@ class OrderLogic $order->amount = $amount; $order->status = 2; // 已支付 $order->payment_method = 'wechat'; + $order->create_type = 'wechat_work'; $order->payment_time = date('Y-m-d H:i:s'); $order->trade_no = $tradeNo; $order->remark = '企业微信直接收款,待关联患者'; @@ -542,6 +578,13 @@ class OrderLogic $n->creator_id = $order->creator_id; $n->order_type = (int) $typeList[$i]; $n->amount = $amt; + $n->create_type = self::normalizeCreateType( + (string) ($order->create_type ?? ''), + (string) ($order->payment_method ?? ''), + (string) ($order->payee_userid ?? ''), + (string) ($order->payer_external_userid ?? ''), + (string) ($order->remark ?? '') + ); if ($st === 5) { $n->payment_method = 'fubei'; $n->status = 5; @@ -1219,7 +1262,7 @@ class OrderLogic } $rows = $q - ->field(['id', 'order_no', 'order_type', 'amount', 'status', 'create_time', 'creator_id', 'remark', 'is_exempt']) + ->field(['id', 'order_no', 'order_type', 'amount', 'status', 'create_time', 'creator_id', 'remark', 'is_exempt', 'payment_method', 'create_type']) ->order('id', 'desc') ->select() ->toArray(); diff --git a/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php b/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php index 6df4ded1..cd17a002 100755 --- a/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php +++ b/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php @@ -770,7 +770,7 @@ class PrescriptionOrderLogic return []; } $rows = Order::whereIn('id', $ids)->whereNull('delete_time') - ->field(['id', 'order_no', 'order_type', 'amount', 'status', 'create_time', 'creator_id', 'remark', 'is_exempt']) + ->field(['id', 'order_no', 'order_type', 'amount', 'status', 'create_time', 'creator_id', 'remark', 'is_exempt', 'payment_method', 'create_type']) ->order('id', 'asc') ->whereIn('status', [2, 4, 5]) ->select() @@ -2264,12 +2264,16 @@ class PrescriptionOrderLogic $order->payment_slip_audit_remark = ''; self::syncFulfillmentStatus($order); - // 将关联的已支付支付单(status=2,且payment_method='manual')恢复为待审核(status=5) + // 将关联的已支付补齐支付单恢复为待审核:兼容旧 manual 与新 fubei/create_type=fubei 两种标记 $payOrderIds = self::linkedPayOrderIdList($id); if (!empty($payOrderIds)) { Order::whereIn('id', $payOrderIds) ->where('status', 2) // 只恢复已支付状态的 - ->where('payment_method', 'manual') // 只恢复手动创建的 + ->where(function ($query) { + $query->where('payment_method', 'manual') + ->whereOr('payment_method', 'fubei') + ->whereOr('create_type', 'fubei'); + }) ->update([ 'status' => 5, // 待审核 'payment_time' => null From 2712c262bdd371d9b73307e7bd3ff6c00ff04431 Mon Sep 17 00:00:00 2001 From: long <452591453@qq.com> Date: Tue, 9 Jun 2026 10:05:44 +0800 Subject: [PATCH 4/4] 1 --- .zshrc.codex.tmp | 120 ---------------------------------------------- .zshrc.codex.tmp2 | 74 ---------------------------- 2 files changed, 194 deletions(-) delete mode 100644 .zshrc.codex.tmp delete mode 100644 .zshrc.codex.tmp2 diff --git a/.zshrc.codex.tmp b/.zshrc.codex.tmp deleted file mode 100644 index 43220812..00000000 --- a/.zshrc.codex.tmp +++ /dev/null @@ -1,120 +0,0 @@ -alias ll='ls -alhG' - -# Starship prompt -eval "$(starship init zsh)" - -# zsh-autosuggestions 自动补全 -source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh - -# NVM 懒加载 - 只在第一次使用相关命令时再初始化 -export NVM_DIR="$HOME/.nvm" -_nvm_default_bin() { - local default_alias version_dir - [ -r "$NVM_DIR/alias/default" ] || return 1 - - default_alias="$(<"$NVM_DIR/alias/default")" - default_alias="${default_alias#"${default_alias%%[![:space:]]*}"}" - default_alias="${default_alias%"${default_alias##*[![:space:]]}"}" - - case "$default_alias" in - v[0-9]*) - version_dir="$NVM_DIR/versions/node/$default_alias" - ;; - [0-9]*) - version_dir="$(ls -d "$NVM_DIR"/versions/node/v"$default_alias".* 2>/dev/null | tail -n 1)" - ;; - node|stable|lts/*) - version_dir="$(ls -d "$NVM_DIR"/versions/node/v* 2>/dev/null | sort -V | tail -n 1)" - ;; - *) - return 1 - ;; - esac - - [ -n "$version_dir" ] && [ -x "$version_dir/bin/node" ] || return 1 - printf '%s\n' "$version_dir/bin" -} -if _nvm_default_node_bin="$(_nvm_default_bin)"; then - export PATH="$_nvm_default_node_bin:$PATH" -fi -unset _nvm_default_node_bin -_lazy_load_nvm() { - unset -f nvm node npm npx pnpm yarn 2>/dev/null - [ -s "$NVM_DIR/nvm.sh" ] || return 1 - \. "$NVM_DIR/nvm.sh" - [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" - hash -r 2>/dev/null -} -nvm() { _lazy_load_nvm && nvm "$@"; } -node() { _lazy_load_nvm && node "$@"; } -npm() { _lazy_load_nvm && npm "$@"; } -npx() { _lazy_load_nvm && npx "$@"; } -pnpm() { _lazy_load_nvm && pnpm "$@"; } -yarn() { _lazy_load_nvm && yarn "$@"; } -export PATH="/Applications/EServer/bin:$PATH" -function EC_start(){ - /Applications/EasyConnect.app/Contents/Resources/bin/EasyMonitor > /dev/null 2>&1 & - /Applications/EasyConnect.app/Contents/MacOS/EasyConnect > /dev/null 2>&1 & - open /Applications/EasyConnect.app -} - -function EC_kill(){ - pkill EasyMonitor - pkill ECAgent - pkill ECAgentProxy - pkill EasyConnect -} -# The following lines have been added by Docker Desktop to enable Docker CLI completions. -fpath=(/Users/long/.docker/completions $fpath) -autoload -Uz compinit -compinit -# End of Docker CLI completions - - -export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/ - -# pyenv 懒加载 - 只在第一次使用 Python 相关命令时再初始化 -export PYENV_ROOT="$HOME/.pyenv" -_lazy_load_pyenv() { - unset -f pyenv python python3 pip pip3 2>/dev/null - - local pyenv_bin - pyenv_bin="$(command -v pyenv 2>/dev/null)" - if [ -z "$pyenv_bin" ] && [ -x /opt/homebrew/bin/pyenv ]; then - pyenv_bin=/opt/homebrew/bin/pyenv - fi - - [ -n "$pyenv_bin" ] || return 1 - - eval "$("$pyenv_bin" init --path)" - eval "$("$pyenv_bin" init - zsh)" - hash -r 2>/dev/null -} -pyenv() { _lazy_load_pyenv && pyenv "$@"; } -python() { _lazy_load_pyenv && python "$@"; } -python3() { _lazy_load_pyenv && python3 "$@"; } -pip() { _lazy_load_pyenv && pip "$@"; } -pip3() { _lazy_load_pyenv && pip3 "$@"; } - -# 引入 bash 配置 -if [ -f ~/.bash_profile ]; then - source ~/.bash_profile -fi -if [ -f ~/.bashrc ]; then - source ~/.bashrc -fi - -# Added by Windsurf -export PATH="/Users/long/.codeium/windsurf/bin:$PATH" - -# Added by Antigravity -export PATH="/Users/long/.antigravity/antigravity/bin:$PATH" -export PATH="$HOME/.local/bin:$PATH" - -# MindOS Desktop — CLI (mindos) -export PATH="$HOME/.mindos/bin:$PATH" - -source "$HOME/.cargo/env" - -# Added by Antigravity -export PATH="/Users/long/.antigravity/antigravity/bin:$PATH" diff --git a/.zshrc.codex.tmp2 b/.zshrc.codex.tmp2 deleted file mode 100644 index 37b40399..00000000 --- a/.zshrc.codex.tmp2 +++ /dev/null @@ -1,74 +0,0 @@ -alias ll='ls -alhG' - -# Starship prompt -eval "$(starship init zsh)" - -# zsh-autosuggestions 自动补全 -source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh - -# NVM -export NVM_DIR="$HOME/.nvm" -if [ -s "$NVM_DIR/nvm.sh" ]; then - \. "$NVM_DIR/nvm.sh" -fi -[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" -export PATH="/Applications/EServer/bin:$PATH" -function EC_start(){ - /Applications/EasyConnect.app/Contents/Resources/bin/EasyMonitor > /dev/null 2>&1 & - /Applications/EasyConnect.app/Contents/MacOS/EasyConnect > /dev/null 2>&1 & - open /Applications/EasyConnect.app -} - -function EC_kill(){ - pkill EasyMonitor - pkill ECAgent - pkill ECAgentProxy - pkill EasyConnect -} -# The following lines have been added by Docker Desktop to enable Docker CLI completions. -fpath=(/Users/long/.docker/completions $fpath) -autoload -Uz compinit -compinit -# End of Docker CLI completions - - -export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/ - -# pyenv -export PYENV_ROOT="$HOME/.pyenv" -export PATH="/opt/homebrew/bin:$PYENV_ROOT/bin:$PATH" -if command -v pyenv >/dev/null 2>&1; then - eval "$(pyenv init --path)" - eval "$(pyenv init - zsh)" -fi - -# 引入 bash 配置 -if [ -f ~/.bash_profile ]; then - source ~/.bash_profile -fi -if [ -f ~/.bashrc ]; then - source ~/.bashrc -fi - -# Added by Windsurf -export PATH="/Users/long/.codeium/windsurf/bin:$PATH" - -# Added by Antigravity -export PATH="/Users/long/.antigravity/antigravity/bin:$PATH" - -if command -v nvm >/dev/null 2>&1; then - _nvm_default_version="$(nvm version default 2>/dev/null)" - if [ -n "$_nvm_default_version" ] && [ -d "$NVM_DIR/versions/node/$_nvm_default_version/bin" ]; then - export PATH="$NVM_DIR/versions/node/$_nvm_default_version/bin:$PATH" - fi - unset _nvm_default_version -fi -export PATH="$HOME/.local/bin:$PATH" - -# MindOS Desktop — CLI (mindos) -export PATH="$HOME/.mindos/bin:$PATH" - -source "$HOME/.cargo/env" - -# Added by Antigravity -export PATH="/Users/long/.antigravity/antigravity/bin:$PATH"