diff --git a/.cursorignore b/.cursorignore new file mode 100644 index 0000000..5003d90 --- /dev/null +++ b/.cursorignore @@ -0,0 +1,8 @@ +# Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv) + +/dist +/node_modules +/pnpm-store +/dist.tar +/dist.tar.gz +/dist.tar.gz.part diff --git a/.drone.yml b/.drone.yml index 6d3c330..6687e63 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,33 +7,55 @@ platform: arch: amd64 steps: - - name: 测试服-依赖安装&&编译打包&&上传微信小程序平台 + - name: 恢复缓存 + image: drillster/drone-volume-cache + volumes: + - name: cache + path: /cache + settings: + restore: true + mount: + - ./node_modules + - ./.pnpm-store + + - name: 测试服-构建部署 pull: if-not-exists image: node:20-alpine when: branch: - test commands: - # - npm config set registry https://registry.npmmirror.com/ - npm install -g pnpm - - pnpm install + - pnpm config set registry https://registry.npmmirror.com/ + - pnpm config set store-dir ./.pnpm-store + - pnpm install --frozen-lockfile - pnpm build:weapp:test:upload - rm -rf dist.tar - - rm -rf node_modules - - name: 正式服-依赖安装&&编译打包&&上传微信小程序平台 + - name: 正式服-构建部署 pull: if-not-exists image: node:20-alpine when: branch: - master commands: - # - npm config set registry https://registry.npmmirror.com/ - npm install -g pnpm - - pnpm install + - pnpm config set registry https://registry.npmmirror.com/ + - pnpm config set store-dir ./.pnpm-store + - pnpm install --frozen-lockfile - pnpm build:weapp:prod:upload - rm -rf dist.tar - - rm -rf node_modules + + - name: 重建缓存 + image: drillster/drone-volume-cache + volumes: + - name: cache + path: /cache + settings: + rebuild: true + mount: + - ./node_modules + - ./.pnpm-store - name: 企业微信通知 pull: if-not-exists @@ -52,13 +74,18 @@ steps: { "msgtype": "markdown", "markdown": { - "content": "{{#success build.status}}✅{{else}}❌{{/success}}**{{ repo.owner }}/{{ repo.name }}** (Build #{{build.number}})\n - >**构建结果**: {{ build.status }} - >**构建详情**: [点击查看]({{ build.link }}) - >**代码分支**: {{ build.branch }} - >**提交标识**: {{ build.commit }} - >**提交发起**: {{ build.author }} - >**提交信息**: {{ build.message }} - " + "content": "{{#success build.status}}✅ 构建成功{{else}}❌ 构建失败{{/success}}\n + **项目**: {{ repo.owner }}/{{ repo.name }} (构建 #{{build.number}})\n + **分支**: {{ build.branch }}\n + **提交**: {{ build.commit }}\n + **作者**: {{ build.author }}\n + **信息**: {{ build.message }}\n + **耗时**: {{ since build.started }} 分钟\n + **详情**: [查看构建详情]({{ build.link }})" } } + +volumes: + - name: cache + host: + path: /tmp/drone-cache diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml deleted file mode 100644 index a49b161..0000000 --- a/.idea/codeStyles/Project.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml deleted file mode 100644 index 307554b..0000000 --- a/.idea/codeStyles/codeStyleConfig.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/git_toolbox_blame.xml b/.idea/git_toolbox_blame.xml deleted file mode 100644 index 04ede99..0000000 --- a/.idea/git_toolbox_blame.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 7c4836f..0000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/shelf/___.xml b/.idea/shelf/___.xml deleted file mode 100644 index f6f8aa1..0000000 --- a/.idea/shelf/___.xml +++ /dev/null @@ -1,4 +0,0 @@ - - \ No newline at end of file diff --git a/.idea/shelf/在变基之前未提交的更改_[更改]/shelved.patch b/.idea/shelf/在变基之前未提交的更改_[更改]/shelved.patch deleted file mode 100644 index f456234..0000000 --- a/.idea/shelf/在变基之前未提交的更改_[更改]/shelved.patch +++ /dev/null @@ -1,1457 +0,0 @@ -Index: components.d.ts -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP -<+>// generated by unplugin-vue-components\n// We suggest you to commit this file into source control\n// Read more: https://github.com/vuejs/core/pull/3399\nimport '@vue/runtime-core'\n\nexport {}\n\ndeclare module '@vue/runtime-core' {\n export interface GlobalComponents {\n Auth: typeof import('./src/components/Auth.vue')['default']\n Back: typeof import('./src/components/Back.vue')['default']\n Cart: typeof import('./src/components/Cart.vue')['default']\n MerList: typeof import('./src/components/MerList.vue')['default']\n NutAvatar: typeof import('@nutui/nutui-taro')['Avatar']\n NutBacktop: typeof import('@nutui/nutui-taro')['Backtop']\n NutButton: typeof import('@nutui/nutui-taro')['Button']\n NutCalendar: typeof import('@nutui/nutui-taro')['Calendar']\n NutCell: typeof import('@nutui/nutui-taro')['Cell']\n NutCellGroup: typeof import('@nutui/nutui-taro')['CellGroup']\n NutCheckbox: typeof import('@nutui/nutui-taro')['Checkbox']\n NutCheckboxGroup: typeof import('@nutui/nutui-taro')['CheckboxGroup']\n NutDialog: typeof import('@nutui/nutui-taro')['Dialog']\n NutEllipsis: typeof import('@nutui/nutui-taro')['Ellipsis']\n NutEmpty: typeof import('@nutui/nutui-taro')['Empty']\n NutForm: typeof import('@nutui/nutui-taro')['Form']\n NutFormItem: typeof import('@nutui/nutui-taro')['FormItem']\n NutGrid: typeof import('@nutui/nutui-taro')['Grid']\n NutGridItem: typeof import('@nutui/nutui-taro')['GridItem']\n NutImagePreview: typeof import('@nutui/nutui-taro')['ImagePreview']\n NutInput: typeof import('@nutui/nutui-taro')['Input']\n NutInputNumber: typeof import('@nutui/nutui-taro')['InputNumber']\n NutOverlay: typeof import('@nutui/nutui-taro')['Overlay']\n NutPagination: typeof import('@nutui/nutui-taro')['Pagination']\n NutPicker: typeof import('@nutui/nutui-taro')['Picker']\n NutPopover: typeof import('@nutui/nutui-taro')['Popover']\n NutPopup: typeof import('@nutui/nutui-taro')['Popup']\n NutPrice: typeof import('@nutui/nutui-taro')['Price']\n NutRadio: typeof import('@nutui/nutui-taro')['Radio']\n NutRadioGroup: typeof import('@nutui/nutui-taro')['RadioGroup']\n NutRate: typeof import('@nutui/nutui-taro')['Rate']\n NutSwiper: typeof import('@nutui/nutui-taro')['Swiper']\n NutSwiperItem: typeof import('@nutui/nutui-taro')['SwiperItem']\n NutSwitch: typeof import('@nutui/nutui-taro')['Switch']\n NutTable: typeof import('@nutui/nutui-taro')['Table']\n NutTabPane: typeof import('@nutui/nutui-taro')['TabPane']\n NutTabs: typeof import('@nutui/nutui-taro')['Tabs']\n NutTextarea: typeof import('@nutui/nutui-taro')['Textarea']\n NutUploader: typeof import('@nutui/nutui-taro')['Uploader']\n Pay: typeof import('./src/components/Pay.vue')['default']\n Popup: typeof import('./src/components/Popup.vue')['default']\n RichEditor: typeof import('./src/components/RichEditor.vue')['default']\n StoreList: typeof import('./src/components/StoreList.vue')['default']\n Ucharts: typeof import('./src/components/Ucharts.vue')['default']\n Upload: typeof import('./src/components/Upload.vue')['default']\n UserModal: typeof import('./src/components/UserModal.vue')['default']\n }\n}\n -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/components.d.ts b/components.d.ts ---- a/components.d.ts (revision 097029128cd2749b71a445397d04a48d9ddaba1a) -+++ b/components.d.ts (date 1727095397349) -@@ -1,57 +1,57 @@ - // generated by unplugin-vue-components - // We suggest you to commit this file into source control - // Read more: https://github.com/vuejs/core/pull/3399 --import '@vue/runtime-core' -+import '@vue/runtime-core'; - --export {} -+export {}; - - declare module '@vue/runtime-core' { - export interface GlobalComponents { -- Auth: typeof import('./src/components/Auth.vue')['default'] -- Back: typeof import('./src/components/Back.vue')['default'] -- Cart: typeof import('./src/components/Cart.vue')['default'] -- MerList: typeof import('./src/components/MerList.vue')['default'] -- NutAvatar: typeof import('@nutui/nutui-taro')['Avatar'] -- NutBacktop: typeof import('@nutui/nutui-taro')['Backtop'] -- NutButton: typeof import('@nutui/nutui-taro')['Button'] -- NutCalendar: typeof import('@nutui/nutui-taro')['Calendar'] -- NutCell: typeof import('@nutui/nutui-taro')['Cell'] -- NutCellGroup: typeof import('@nutui/nutui-taro')['CellGroup'] -- NutCheckbox: typeof import('@nutui/nutui-taro')['Checkbox'] -- NutCheckboxGroup: typeof import('@nutui/nutui-taro')['CheckboxGroup'] -- NutDialog: typeof import('@nutui/nutui-taro')['Dialog'] -- NutEllipsis: typeof import('@nutui/nutui-taro')['Ellipsis'] -- NutEmpty: typeof import('@nutui/nutui-taro')['Empty'] -- NutForm: typeof import('@nutui/nutui-taro')['Form'] -- NutFormItem: typeof import('@nutui/nutui-taro')['FormItem'] -- NutGrid: typeof import('@nutui/nutui-taro')['Grid'] -- NutGridItem: typeof import('@nutui/nutui-taro')['GridItem'] -- NutImagePreview: typeof import('@nutui/nutui-taro')['ImagePreview'] -- NutInput: typeof import('@nutui/nutui-taro')['Input'] -- NutInputNumber: typeof import('@nutui/nutui-taro')['InputNumber'] -- NutOverlay: typeof import('@nutui/nutui-taro')['Overlay'] -- NutPagination: typeof import('@nutui/nutui-taro')['Pagination'] -- NutPicker: typeof import('@nutui/nutui-taro')['Picker'] -- NutPopover: typeof import('@nutui/nutui-taro')['Popover'] -- NutPopup: typeof import('@nutui/nutui-taro')['Popup'] -- NutPrice: typeof import('@nutui/nutui-taro')['Price'] -- NutRadio: typeof import('@nutui/nutui-taro')['Radio'] -- NutRadioGroup: typeof import('@nutui/nutui-taro')['RadioGroup'] -- NutRate: typeof import('@nutui/nutui-taro')['Rate'] -- NutSwiper: typeof import('@nutui/nutui-taro')['Swiper'] -- NutSwiperItem: typeof import('@nutui/nutui-taro')['SwiperItem'] -- NutSwitch: typeof import('@nutui/nutui-taro')['Switch'] -- NutTable: typeof import('@nutui/nutui-taro')['Table'] -- NutTabPane: typeof import('@nutui/nutui-taro')['TabPane'] -- NutTabs: typeof import('@nutui/nutui-taro')['Tabs'] -- NutTextarea: typeof import('@nutui/nutui-taro')['Textarea'] -- NutUploader: typeof import('@nutui/nutui-taro')['Uploader'] -- Pay: typeof import('./src/components/Pay.vue')['default'] -- Popup: typeof import('./src/components/Popup.vue')['default'] -- RichEditor: typeof import('./src/components/RichEditor.vue')['default'] -- StoreList: typeof import('./src/components/StoreList.vue')['default'] -- Ucharts: typeof import('./src/components/Ucharts.vue')['default'] -- Upload: typeof import('./src/components/Upload.vue')['default'] -- UserModal: typeof import('./src/components/UserModal.vue')['default'] -+ Auth: typeof import('./src/components/Auth.vue')['default']; -+ Back: typeof import('./src/components/Back.vue')['default']; -+ Cart: typeof import('./src/components/Cart.vue')['default']; -+ MerList: typeof import('./src/components/MerList.vue')['default']; -+ NutAvatar: typeof import('@nutui/nutui-taro')['Avatar']; -+ NutBacktop: typeof import('@nutui/nutui-taro')['Backtop']; -+ NutButton: typeof import('@nutui/nutui-taro')['Button']; -+ NutCalendar: typeof import('@nutui/nutui-taro')['Calendar']; -+ NutCell: typeof import('@nutui/nutui-taro')['Cell']; -+ NutCellGroup: typeof import('@nutui/nutui-taro')['CellGroup']; -+ NutCheckbox: typeof import('@nutui/nutui-taro')['Checkbox']; -+ NutCheckboxGroup: typeof import('@nutui/nutui-taro')['CheckboxGroup']; -+ NutDialog: typeof import('@nutui/nutui-taro')['Dialog']; -+ NutEllipsis: typeof import('@nutui/nutui-taro')['Ellipsis']; -+ NutEmpty: typeof import('@nutui/nutui-taro')['Empty']; -+ NutForm: typeof import('@nutui/nutui-taro')['Form']; -+ NutFormItem: typeof import('@nutui/nutui-taro')['FormItem']; -+ NutGrid: typeof import('@nutui/nutui-taro')['Grid']; -+ NutGridItem: typeof import('@nutui/nutui-taro')['GridItem']; -+ NutImagePreview: typeof import('@nutui/nutui-taro')['ImagePreview']; -+ NutInput: typeof import('@nutui/nutui-taro')['Input']; -+ NutInputNumber: typeof import('@nutui/nutui-taro')['InputNumber']; -+ NutOverlay: typeof import('@nutui/nutui-taro')['Overlay']; -+ NutPagination: typeof import('@nutui/nutui-taro')['Pagination']; -+ NutPicker: typeof import('@nutui/nutui-taro')['Picker']; -+ NutPopover: typeof import('@nutui/nutui-taro')['Popover']; -+ NutPopup: typeof import('@nutui/nutui-taro')['Popup']; -+ NutPrice: typeof import('@nutui/nutui-taro')['Price']; -+ NutRadio: typeof import('@nutui/nutui-taro')['Radio']; -+ NutRadioGroup: typeof import('@nutui/nutui-taro')['RadioGroup']; -+ NutRate: typeof import('@nutui/nutui-taro')['Rate']; -+ NutSwiper: typeof import('@nutui/nutui-taro')['Swiper']; -+ NutSwiperItem: typeof import('@nutui/nutui-taro')['SwiperItem']; -+ NutSwitch: typeof import('@nutui/nutui-taro')['Switch']; -+ NutTable: typeof import('@nutui/nutui-taro')['Table']; -+ NutTabPane: typeof import('@nutui/nutui-taro')['TabPane']; -+ NutTabs: typeof import('@nutui/nutui-taro')['Tabs']; -+ NutTextarea: typeof import('@nutui/nutui-taro')['Textarea']; -+ NutUploader: typeof import('@nutui/nutui-taro')['Uploader']; -+ Pay: typeof import('./src/components/Pay.vue')['default']; -+ Popup: typeof import('./src/components/Popup.vue')['default']; -+ RichEditor: typeof import('./src/components/RichEditor.vue')['default']; -+ StoreList: typeof import('./src/components/StoreList.vue')['default']; -+ Ucharts: typeof import('./src/components/Ucharts.vue')['default']; -+ Upload: typeof import('./src/components/Upload.vue')['default']; -+ UserModal: typeof import('./src/components/UserModal.vue')['default']; - } - } -Index: src/components/Cart.vue -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP -<+>\n\n\n\n\n -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/src/components/Cart.vue b/src/components/Cart.vue ---- a/src/components/Cart.vue (revision 097029128cd2749b71a445397d04a48d9ddaba1a) -+++ b/src/components/Cart.vue (date 1727095401820) -@@ -1,10 +1,10 @@ - \n\n\n\n\n -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/src/pages/users/order_list/index.vue b/src/pages/users/order_list/index.vue ---- a/src/pages/users/order_list/index.vue (revision 097029128cd2749b71a445397d04a48d9ddaba1a) -+++ b/src/pages/users/order_list/index.vue (date 1727095403246) -@@ -1,9 +1,9 @@ - \n\n\n -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/src/pages/admin/order_manage/list/index.vue b/src/pages/admin/order_manage/list/index.vue ---- a/src/pages/admin/order_manage/list/index.vue (revision 097029128cd2749b71a445397d04a48d9ddaba1a) -+++ b/src/pages/admin/order_manage/list/index.vue (date 1727095402342) -@@ -1,37 +1,52 @@ - - - \n\n\n -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/src/pages/admin/add_order/add_menu/index.vue b/src/pages/admin/add_order/add_menu/index.vue ---- a/src/pages/admin/add_order/add_menu/index.vue (revision 097029128cd2749b71a445397d04a48d9ddaba1a) -+++ b/src/pages/admin/add_order/add_menu/index.vue (date 1727095402052) -@@ -2,9 +2,19 @@ - - - -- -- -+ - - - -@@ -23,7 +33,10 @@ - > - --> - -- -+ - -@@ -40,16 +53,20 @@ - - - -- -+ - - - - \n\n\n -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue ---- a/src/pages/index/index.vue (revision 097029128cd2749b71a445397d04a48d9ddaba1a) -+++ b/src/pages/index/index.vue (date 1727095402805) -@@ -1,12 +1,14 @@ - - - \n\n\n -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/src/pages/users/order_list_detail/index.vue b/src/pages/users/order_list_detail/index.vue ---- a/src/pages/users/order_list_detail/index.vue (revision 097029128cd2749b71a445397d04a48d9ddaba1a) -+++ b/src/pages/users/order_list_detail/index.vue (date 1727095403201) -@@ -27,7 +27,8 @@ - 订单待使用 - - -- 订单剩余 -+ 订单剩余 - {{ timeStr }} - 过期,请尽快核销! - -@@ -49,27 +50,37 @@ - - - -- -+ - - {{ goodInfo.Store?.name }} -- -- -+ -+ - {{ goodInfo.Store?.address }} - - -- 距离您{{ -- calculateDistance( -- userLocalNum.t, -- userLocalNum.l, -- Number(goodInfo.Store?.lat), -- Number(goodInfo.Store?.lon), -- ) -- }} -+ 距离您{{ -+ calculateDistance( -+ userLocalNum.t, -+ userLocalNum.l, -+ Number(goodInfo.Store?.lat), -+ Number(goodInfo.Store?.lon), -+ ) -+ }} - - -- -- - - -@@ -81,13 +92,19 @@ - - - - \n\n\n -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/src/pages/mer/mer_detail/index.vue b/src/pages/mer/mer_detail/index.vue ---- a/src/pages/mer/mer_detail/index.vue (revision 097029128cd2749b71a445397d04a48d9ddaba1a) -+++ b/src/pages/mer/mer_detail/index.vue (date 1727095402907) -@@ -1,56 +1,85 @@ -