From 48c8231dd7eaafa101ce7898c39cf9d228fef265 Mon Sep 17 00:00:00 2001 From: niannian zheng Date: Wed, 25 Feb 2026 14:31:46 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ui):=20=E6=9B=B4=E6=96=B0=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E6=96=87=E6=9C=AC=E5=92=8C=E9=85=8D=E7=BD=AE=E4=BB=A5?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=94=A8=E6=88=B7=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新微信小程序appid和相关配置 统一修改界面中的专业术语为更易懂的表述 优化资产管理和交易记录的显示文本 添加多货币支持和新的港股投资组合 --- manifest.json | 2 +- pages/detail/detail.vue | 4 ++-- pages/index/index.vue | 12 +++++------ .../mp-weixin/pages/config/config.js.map | 2 +- .../mp-weixin/pages/detail/detail.js.map | 2 +- .../mp-weixin/pages/index/index.js.map | 2 +- .../.sourcemap/mp-weixin/pages/me/me.js.map | 2 +- .../pages/strategies/edit/edit.js.map | 2 +- .../pages/strategies/strategies.js.map | 2 +- .../dev/.sourcemap/mp-weixin/utils/api.js.map | 2 +- unpackage/dist/dev/mp-weixin/common/vendor.js | 4 ++-- .../dev/mp-weixin/pages/config/config.wxml | 2 +- .../dist/dev/mp-weixin/pages/detail/detail.js | 2 +- .../dev/mp-weixin/pages/detail/detail.wxml | 2 +- .../dist/dev/mp-weixin/pages/index/index.wxml | 2 +- unpackage/dist/dev/mp-weixin/pages/me/me.wxml | 2 +- .../mp-weixin/pages/strategies/edit/edit.wxml | 2 +- .../pages/strategies/strategies.wxml | 2 +- .../dist/dev/mp-weixin/project.config.json | 2 +- unpackage/dist/dev/mp-weixin/utils/api.js | 20 ++++++++++++++++++- 20 files changed, 45 insertions(+), 27 deletions(-) diff --git a/manifest.json b/manifest.json index 0a4ced6..f5e3bb8 100644 --- a/manifest.json +++ b/manifest.json @@ -50,7 +50,7 @@ "quickapp" : {}, /* 小程序特有相关 */ "mp-weixin" : { - "appid" : "wxab7b7831c69af51a", + "appid" : "wx245f0f3ebcfcf5a7", "setting" : { "urlCheck" : false, "es6" : false, diff --git a/pages/detail/detail.vue b/pages/detail/detail.vue index 7052445..a24f9dc 100644 --- a/pages/detail/detail.vue +++ b/pages/detail/detail.vue @@ -9,9 +9,9 @@ - 组合进度值 (NV) + 组合总额 (NV) - 状态:记录中 + 账本追踪中 diff --git a/pages/index/index.vue b/pages/index/index.vue index c6531e3..8172ffc 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -7,7 +7,7 @@ - 总指标估值 (CNY) + 账本总额 (CNY) @@ -23,11 +23,11 @@ - 日内波动 + 今日账面变动 {{ assetData.todayProfit >= 0 ? '+' : '' }}¥{{ assetData.todayProfit.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) }} - 累计变化 + 历史总变动 {{ assetData.totalReturnRate >= 0 ? '+' : '' }}{{ assetData.totalReturnRate }}% @@ -38,7 +38,7 @@ - 新建逻辑模型 + 新建组合 @@ -74,11 +74,11 @@ - 当前分值 + 当前估值 ¥ {{ holding.value.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) }} - 累计变化 + 历史总变动 {{ holding.returnRate >= 0 ? '+' : '' }}{{ holding.returnRate }}% diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/config/config.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/config/config.js.map index 2bd9355..b0ad11c 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/config/config.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/config/config.js.map @@ -1 +1 @@ -{"version":3,"file":"config.js","sources":["pages/config/config.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvY29uZmlnL2NvbmZpZy52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/config/config.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","computed","uni"],"mappings":";;;;;;;;;;;;;AAoGA,UAAM,aAAa;AAAA,MACjB,EAAE,MAAM,aAAa,MAAM,wBAAwB,OAAO,UAAW;AAAA,MACrE,EAAE,MAAM,WAAW,MAAM,mBAAmB,OAAO,UAAW;AAAA,MAC9D,EAAE,MAAM,eAAe,MAAM,iBAAiB,OAAO,UAAW;AAAA,MAChE,EAAE,MAAM,QAAQ,MAAM,oBAAoB,OAAO,UAAW;AAAA,IAC9D;AAEA,UAAM,gBAAgBA,cAAAA,IAAI,EAAE;AAG5B,UAAM,OAAOA,cAAAA,IAAI;AAAA,MACf,MAAM;AAAA,MACN,QAAQ;AAAA,QACN,EAAE,MAAM,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,GAAI;AAAA;AAAA,MAC9C;AAAA,IACH,CAAC;AAGD,UAAM,mBAAmBC,cAAQ,SAAC,MAAM;AACtC,UAAI,cAAc,UAAU;AAAI,eAAO;AACvC,aAAO,WAAW,cAAc,KAAK;AAAA,IACvC,CAAC;AAGD,UAAM,kBAAkBA,cAAQ,SAAC,MAAM;AACrC,UAAI,QAAQ;AACZ,WAAK,MAAM,OAAO,QAAQ,WAAS;AACjC,cAAM,IAAI,WAAW,MAAM,KAAK,KAAK;AACrC,cAAM,IAAI,WAAW,MAAM,MAAM,KAAK;AACtC,iBAAS,IAAI;AAAA,MACjB,CAAG;AAED,aAAO,MAAM,eAAe,SAAS,EAAE,uBAAuB,GAAG,uBAAuB,EAAC,CAAE;AAAA,IAC7F,CAAC;AAID,UAAM,mBAAmB,CAAC,MAAM;AAC9B,oBAAc,QAAQ,EAAE,OAAO;AAAA,IACjC;AAEA,UAAM,eAAe,CAAC,GAAG,UAAU;AACjC,WAAK,MAAM,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO;AAAA,IAC3C;AAGA,UAAM,cAAc,MAAM;AACxB,WAAK,MAAM,OAAO,KAAK,EAAE,MAAM,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,GAAI,CAAA;AAAA,IACtE;AAGA,UAAM,iBAAiB,CAAC,UAAU;AAChC,WAAK,MAAM,OAAO,OAAO,OAAO,CAAC;AAAA,IACnC;AAGA,UAAM,aAAa,MAAM;AAEvB,UAAI,CAAC,KAAK,MAAM;AAAM,eAAOC,cAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAQ,CAAA;AAC7E,UAAI,cAAc,UAAU;AAAI,eAAOA,cAAG,MAAC,UAAU,EAAE,OAAO,SAAS,MAAM,OAAQ,CAAA;AAErFA,oBAAAA,MAAA,MAAA,OAAA,kCAAY,UAAU;AAAA,QACpB,GAAG,KAAK;AAAA,QACR,UAAU,WAAW,cAAc,KAAK,EAAE;AAAA,MAC9C,CAAG;AAEDA,oBAAAA,MAAI,YAAY,EAAE,OAAO,SAAU,CAAA;AACnC,iBAAW,MAAM;AACfA,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU,EAAE,OAAO,OAAQ,CAAA;AAC/B,mBAAW,MAAMA,cAAG,MAAC,aAAc,GAAE,IAAI;AAAA,MAC1C,GAAE,GAAI;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3KA,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"config.js","sources":["pages/config/config.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvY29uZmlnL2NvbmZpZy52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/config/config.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","computed","uni"],"mappings":";;;;;;;;;;;;;AAoGA,UAAM,aAAa;AAAA,MACjB,EAAE,MAAM,aAAa,MAAM,wBAAwB,OAAO,UAAW;AAAA,MACrE,EAAE,MAAM,WAAW,MAAM,mBAAmB,OAAO,UAAW;AAAA,MAC9D,EAAE,MAAM,eAAe,MAAM,iBAAiB,OAAO,UAAW;AAAA,MAChE,EAAE,MAAM,QAAQ,MAAM,oBAAoB,OAAO,UAAW;AAAA,IAC9D;AAEA,UAAM,gBAAgBA,cAAAA,IAAI,EAAE;AAG5B,UAAM,OAAOA,cAAAA,IAAI;AAAA,MACf,MAAM;AAAA,MACN,QAAQ;AAAA,QACN,EAAE,MAAM,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,GAAI;AAAA;AAAA,MAC9C;AAAA,IACH,CAAC;AAGD,UAAM,mBAAmBC,cAAQ,SAAC,MAAM;AACtC,UAAI,cAAc,UAAU;AAAI,eAAO;AACvC,aAAO,WAAW,cAAc,KAAK;AAAA,IACvC,CAAC;AAGD,UAAM,kBAAkBA,cAAQ,SAAC,MAAM;AACrC,UAAI,QAAQ;AACZ,WAAK,MAAM,OAAO,QAAQ,WAAS;AACjC,cAAM,IAAI,WAAW,MAAM,KAAK,KAAK;AACrC,cAAM,IAAI,WAAW,MAAM,MAAM,KAAK;AACtC,iBAAS,IAAI;AAAA,MACjB,CAAG;AAED,aAAO,MAAM,eAAe,SAAS,EAAE,uBAAuB,GAAG,uBAAuB,EAAC,CAAE;AAAA,IAC7F,CAAC;AAID,UAAM,mBAAmB,CAAC,MAAM;AAC9B,oBAAc,QAAQ,EAAE,OAAO;AAAA,IACjC;AAEA,UAAM,eAAe,CAAC,GAAG,UAAU;AACjC,WAAK,MAAM,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO;AAAA,IAC3C;AAGA,UAAM,cAAc,MAAM;AACxB,WAAK,MAAM,OAAO,KAAK,EAAE,MAAM,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,GAAI,CAAA;AAAA,IACtE;AAGA,UAAM,iBAAiB,CAAC,UAAU;AAChC,WAAK,MAAM,OAAO,OAAO,OAAO,CAAC;AAAA,IACnC;AAGA,UAAM,aAAa,MAAM;AAEvB,UAAI,CAAC,KAAK,MAAM;AAAM,eAAOC,cAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAQ,CAAA;AAC7E,UAAI,cAAc,UAAU;AAAI,eAAOA,cAAG,MAAC,UAAU,EAAE,OAAO,SAAS,MAAM,OAAQ,CAAA;AAErFA,oBAAAA,MAAA,MAAA,OAAA,kCAAY,UAAU;AAAA,QACpB,GAAG,KAAK;AAAA,QACR,UAAU,WAAW,cAAc,KAAK,EAAE;AAAA,MAC9C,CAAG;AAEDA,oBAAAA,MAAI,YAAY,EAAE,OAAO,SAAU,CAAA;AACnC,iBAAW,MAAM;AACfA,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU,EAAE,OAAO,OAAQ,CAAA;AAC/B,mBAAW,MAAMA,cAAG,MAAC,aAAc,GAAE,IAAI;AAAA,MAC1C,GAAE,GAAI;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3KA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/detail/detail.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/detail/detail.js.map index 9745f4c..68d3845 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/detail/detail.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/detail/detail.js.map @@ -1 +1 @@ -{"version":3,"file":"detail.js","sources":["pages/detail/detail.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvZGV0YWlsL2RldGFpbC52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/detail/detail.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni"],"mappings":";;;;;;;;;;;;;AAyJA,UAAM,YAAYA,cAAAA,IAAI;AAAA,MACpB,EAAE,MAAM,QAAQ,MAAM,WAAW,QAAQ,KAAK,aAAa,aAAa,QAAQ,IAAI,KAAK,OAAU,YAAY,MAAM,WAAW,wBAAyB;AAAA,MACzJ,EAAE,MAAM,OAAO,MAAM,UAAU,QAAQ,KAAK,aAAa,aAAa,QAAQ,IAAI,KAAK,SAAU,YAAY,MAAM,WAAW,4BAA6B;AAAA,IAC7J,CAAC;AAED,UAAM,OAAOA,cAAAA,IAAI;AAAA,MACf,EAAE,MAAM,SAAS,MAAM,SAAS,MAAM,OAAO,OAAO,aAAa,QAAQ,UAAW;AAAA,MACpF,EAAE,MAAM,SAAS,MAAM,SAAS,MAAM,QAAQ,OAAO,aAAa,QAAQ,OAAQ;AAAA,MAClF,EAAE,MAAM,SAAS,MAAM,SAAS,MAAM,OAAO,OAAO,QAAQ,QAAQ,WAAY;AAAA,MAChF,EAAE,MAAM,SAAS,MAAM,SAAS,MAAM,OAAO,OAAO,QAAQ,QAAQ,UAAW;AAAA;AAAA,IACjF,CAAC;AAED,UAAM,mBAAmB,MAAM;AAC7BC,oBAAAA,MAAI,WAAW,EAAE,KAAK,4BAA6B,CAAA;AAAA,IACrD;AACA,UAAM,YAAY,MAAMA,cAAG,MAAC,UAAU,EAAE,OAAO,MAAM,MAAM,OAAM,CAAE;AACnE,UAAM,aAAa,MAAMA,cAAG,MAAC,UAAU,EAAE,OAAO,MAAM,MAAM,OAAM,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxKpE,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"detail.js","sources":["pages/detail/detail.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvZGV0YWlsL2RldGFpbC52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/detail/detail.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni"],"mappings":";;;;;;;;;;;;;AAyJA,UAAM,YAAYA,cAAAA,IAAI;AAAA,MACpB,EAAE,MAAM,QAAQ,MAAM,WAAW,QAAQ,KAAK,aAAa,aAAa,QAAQ,IAAI,KAAK,OAAU,YAAY,MAAM,WAAW,wBAAyB;AAAA,MACzJ,EAAE,MAAM,OAAO,MAAM,UAAU,QAAQ,KAAK,aAAa,aAAa,QAAQ,IAAI,KAAK,SAAU,YAAY,MAAM,WAAW,4BAA6B;AAAA,IAC7J,CAAC;AAED,UAAM,OAAOA,cAAAA,IAAI;AAAA,MACf,EAAE,MAAM,SAAS,MAAM,SAAS,MAAM,OAAO,OAAO,aAAa,QAAQ,UAAW;AAAA,MACpF,EAAE,MAAM,SAAS,MAAM,SAAS,MAAM,QAAQ,OAAO,aAAa,QAAQ,OAAQ;AAAA,MAClF,EAAE,MAAM,SAAS,MAAM,SAAS,MAAM,OAAO,OAAO,QAAQ,QAAQ,WAAY;AAAA,MAChF,EAAE,MAAM,SAAS,MAAM,SAAS,MAAM,OAAO,OAAO,QAAQ,QAAQ,UAAW;AAAA;AAAA,IACjF,CAAC;AAED,UAAM,mBAAmB,MAAM;AAC7BC,oBAAAA,MAAI,WAAW,EAAE,KAAK,4BAA6B,CAAA;AAAA,IACrD;AACA,UAAM,YAAY,MAAMA,cAAG,MAAC,UAAU,EAAE,OAAO,MAAM,MAAM,OAAM,CAAE;AACnE,UAAM,aAAa,MAAMA,cAAG,MAAC,UAAU,EAAE,OAAO,MAAM,MAAM,OAAM,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxKpE,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map index fa94453..0ce7dff 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["pages/index/index.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","api","uni","onMounted"],"mappings":";;;;;;;;;;;;;;AAiGA,UAAM,YAAYA,cAAAA,IAAI;AAAA,MACpB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB,CAAC;AAGD,UAAM,WAAWA,cAAAA,IAAI,CAAA,CAAE;AAGvB,UAAM,iBAAiB,YAAY;AACjC,UAAI;AACF,cAAM,WAAW,MAAMC,UAAAA,IAAI,OAAO,aAAY;AAC9C,YAAI,SAAS,SAAS,KAAK;AACzB,oBAAU,QAAQ,SAAS;AAAA,QAC5B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,gCAAA,aAAa,KAAK;AAAA,MACjC;AAAA,IACH;AAGA,UAAM,oBAAoB,YAAY;AACpC,UAAI;AACF,cAAM,WAAW,MAAMD,UAAAA,IAAI,OAAO,YAAW;AAC7C,YAAI,SAAS,SAAS,KAAK;AACzB,mBAAS,QAAQ,SAAS;AAAA,QAC3B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,gCAAA,aAAa,KAAK;AAAA,MACjC;AAAA,IACH;AAGAC,kBAAAA,UAAU,YAAY;AACpB,YAAM,QAAQ,IAAI;AAAA,QAChB,eAAgB;AAAA,QAChB,kBAAmB;AAAA,MACvB,CAAG;AAAA,IACH,CAAC;AAED,UAAM,WAAW,MAAM;AACrBD,oBAAAA,MAAI,WAAW,EAAE,KAAK,uBAAwB,CAAA;AAAA,IAChD;AAEA,UAAM,WAAW,CAAC,cAAc;AAC9BA,oBAAG,MAAC,WAAW,EAAE,KAAK,2BAA2B,SAAS,GAAE,CAAE;AAAA,IAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/IA,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["pages/index/index.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","api","uni","onMounted"],"mappings":";;;;;;;;;;;;;;AAiGA,UAAM,YAAYA,cAAAA,IAAI;AAAA,MACpB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB,CAAC;AAGD,UAAM,WAAWA,cAAAA,IAAI,CAAA,CAAE;AAGvB,UAAM,iBAAiB,YAAY;AACjC,UAAI;AACF,cAAM,WAAW,MAAMC,UAAAA,IAAI,OAAO,aAAY;AAC9C,YAAI,SAAS,SAAS,KAAK;AACzB,oBAAU,QAAQ,SAAS;AAAA,QAC5B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,gCAAA,aAAa,KAAK;AAAA,MACjC;AAAA,IACH;AAGA,UAAM,oBAAoB,YAAY;AACpC,UAAI;AACF,cAAM,WAAW,MAAMD,UAAAA,IAAI,OAAO,YAAW;AAC7C,YAAI,SAAS,SAAS,KAAK;AACzB,mBAAS,QAAQ,SAAS;AAAA,QAC3B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,gCAAA,aAAa,KAAK;AAAA,MACjC;AAAA,IACH;AAGAC,kBAAAA,UAAU,YAAY;AACpB,YAAM,QAAQ,IAAI;AAAA,QAChB,eAAgB;AAAA,QAChB,kBAAmB;AAAA,MACvB,CAAG;AAAA,IACH,CAAC;AAED,UAAM,WAAW,MAAM;AACrBD,oBAAAA,MAAI,WAAW,EAAE,KAAK,uBAAwB,CAAA;AAAA,IAChD;AAEA,UAAM,WAAW,CAAC,cAAc;AAC9BA,oBAAG,MAAC,WAAW,EAAE,KAAK,2BAA2B,SAAS,GAAE,CAAE;AAAA,IAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/IA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/me.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/me.js.map index 039b068..7cfc0b5 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/me.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/me.js.map @@ -1 +1 @@ -{"version":3,"file":"me.js","sources":["pages/me/me.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbWUvbWUudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/me/me.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","api","uni","onMounted"],"mappings":";;;;;;;;;;;;;;AA2DA,UAAM,WAAWA,cAAAA,IAAI;AAAA,MACnB,UAAU;AAAA,MACV,aAAa;AAAA,MACb,aAAa;AAAA,IACf,CAAC;AAGD,UAAM,YAAYA,cAAAA,IAAI;AAAA,MACpB,iBAAiB;AAAA,MACjB,SAAS;AAAA,IACX,CAAC;AAGD,UAAM,UAAUA,cAAAA,IAAI;AAAA,MAClB,SAAS;AAAA,MACT,aAAa;AAAA,IACf,CAAC;AAGD,UAAM,gBAAgB,YAAY;AAChC,UAAI;AACF,cAAM,WAAW,MAAMC,UAAAA,IAAI,KAAK,YAAW;AAC3C,YAAI,SAAS,SAAS,KAAK;AACzB,mBAAS,QAAQ,SAAS;AAAA,QAC3B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,yBAAA,aAAa,KAAK;AAAA,MACjC;AAAA,IACH;AAGA,UAAM,iBAAiB,YAAY;AACjC,UAAI;AACF,cAAM,WAAW,MAAMD,UAAAA,IAAI,KAAK,aAAY;AAC5C,YAAI,SAAS,SAAS,KAAK;AACzB,oBAAU,QAAQ,SAAS;AAAA,QAC5B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,yBAAA,eAAe,KAAK;AAAA,MACnC;AAAA,IACH;AAGA,UAAM,eAAe,YAAY;AAC/B,UAAI;AACF,cAAM,WAAW,MAAMD,UAAAA,IAAI,IAAI,WAAU;AACzC,YAAI,SAAS,SAAS,KAAK;AACzB,kBAAQ,QAAQ,SAAS;AAAA,QAC1B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,0BAAA,aAAa,KAAK;AAAA,MACjC;AAAA,IACH;AAGAC,kBAAAA,UAAU,YAAY;AACpB,YAAM,QAAQ,IAAI;AAAA,QAChB,cAAe;AAAA,QACf,eAAgB;AAAA,QAChB,aAAc;AAAA,MAClB,CAAG;AAAA,IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvHD,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"me.js","sources":["pages/me/me.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbWUvbWUudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/me/me.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","api","uni","onMounted"],"mappings":";;;;;;;;;;;;;;AA2DA,UAAM,WAAWA,cAAAA,IAAI;AAAA,MACnB,UAAU;AAAA,MACV,aAAa;AAAA,MACb,aAAa;AAAA,IACf,CAAC;AAGD,UAAM,YAAYA,cAAAA,IAAI;AAAA,MACpB,iBAAiB;AAAA,MACjB,SAAS;AAAA,IACX,CAAC;AAGD,UAAM,UAAUA,cAAAA,IAAI;AAAA,MAClB,SAAS;AAAA,MACT,aAAa;AAAA,IACf,CAAC;AAGD,UAAM,gBAAgB,YAAY;AAChC,UAAI;AACF,cAAM,WAAW,MAAMC,UAAAA,IAAI,KAAK,YAAW;AAC3C,YAAI,SAAS,SAAS,KAAK;AACzB,mBAAS,QAAQ,SAAS;AAAA,QAC3B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,yBAAA,aAAa,KAAK;AAAA,MACjC;AAAA,IACH;AAGA,UAAM,iBAAiB,YAAY;AACjC,UAAI;AACF,cAAM,WAAW,MAAMD,UAAAA,IAAI,KAAK,aAAY;AAC5C,YAAI,SAAS,SAAS,KAAK;AACzB,oBAAU,QAAQ,SAAS;AAAA,QAC5B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,yBAAA,eAAe,KAAK;AAAA,MACnC;AAAA,IACH;AAGA,UAAM,eAAe,YAAY;AAC/B,UAAI;AACF,cAAM,WAAW,MAAMD,UAAAA,IAAI,IAAI,WAAU;AACzC,YAAI,SAAS,SAAS,KAAK;AACzB,kBAAQ,QAAQ,SAAS;AAAA,QAC1B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,0BAAA,aAAa,KAAK;AAAA,MACjC;AAAA,IACH;AAGAC,kBAAAA,UAAU,YAAY;AACpB,YAAM,QAAQ,IAAI;AAAA,QAChB,cAAe;AAAA,QACf,eAAgB;AAAA,QAChB,aAAc;AAAA,MAClB,CAAG;AAAA,IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvHD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/strategies/edit/edit.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/strategies/edit/edit.js.map index bd9ca75..76bbeab 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/strategies/edit/edit.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/strategies/edit/edit.js.map @@ -1 +1 @@ -{"version":3,"file":"edit.js","sources":["pages/strategies/edit/edit.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvc3RyYXRlZ2llcy9lZGl0L2VkaXQudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/strategies/edit/edit.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","computed","uni"],"mappings":";;;;;;;;;;;;;AAqHA,UAAM,cAAcA,cAAAA,IAAI,QAAQ;AAGhC,UAAM,gBAAgB;AAAA,MACpB;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,MACd;AAAA,MACD;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,MACd;AAAA,MACD;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,MACd;AAAA,IACH;AAGA,UAAM,WAAWA,cAAAA,IAAI;AAAA,MACnB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,MACf,SAAS;AAAA,IACX,CAAC;AAGD,UAAM,sBAAsBC,cAAQ,SAAC,MAAM;AACzC,aAAO,cAAc,KAAK,UAAQ,KAAK,QAAQ,YAAY,KAAK;AAAA,IAClE,CAAC;AAGD,UAAM,aAAa,CAAC,QAAQ;AAC1B,kBAAY,QAAQ;AAAA,IACtB;AAEA,UAAM,iBAAiB,CAAC,MAAM;AAC5B,YAAM,UAAU,CAAC,MAAM,MAAM,MAAM,OAAO,IAAI;AAC9C,eAAS,MAAM,SAAS,QAAQ,EAAE,OAAO,KAAK;AAAA,IAChD;AAEA,UAAM,iBAAiB,CAAC,MAAM;AAC5B,YAAM,QAAQ,CAAC,OAAO,KAAK;AAC3B,eAAS,MAAM,SAAS,MAAM,EAAE,OAAO,KAAK;AAAA,IAC9C;AAEA,UAAM,SAAS,MAAM;AACnBC,oBAAAA,MAAA,MAAA,OAAA,yCAAY,SAAS;AAAA,QACnB,MAAM,YAAY;AAAA,QAClB,QAAQ,SAAS;AAAA,MACrB,CAAG;AACDA,oBAAAA,MAAI,YAAY,EAAE,OAAO,MAAO,CAAA;AAChC,iBAAW,MAAM;AACfA,sBAAG,MAAC,YAAW;AACfA,sBAAG,MAAC,UAAU,EAAE,OAAO,SAAS,MAAM,UAAS,CAAE;AACjD,mBAAW,MAAMA,cAAG,MAAC,aAAc,GAAE,IAAI;AAAA,MAC1C,GAAE,GAAG;AAAA,IACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMA,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"edit.js","sources":["pages/strategies/edit/edit.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvc3RyYXRlZ2llcy9lZGl0L2VkaXQudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/strategies/edit/edit.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","computed","uni"],"mappings":";;;;;;;;;;;;;AAqHA,UAAM,cAAcA,cAAAA,IAAI,QAAQ;AAGhC,UAAM,gBAAgB;AAAA,MACpB;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,MACd;AAAA,MACD;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,MACd;AAAA,MACD;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,MACd;AAAA,IACH;AAGA,UAAM,WAAWA,cAAAA,IAAI;AAAA,MACnB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,MACf,SAAS;AAAA,IACX,CAAC;AAGD,UAAM,sBAAsBC,cAAQ,SAAC,MAAM;AACzC,aAAO,cAAc,KAAK,UAAQ,KAAK,QAAQ,YAAY,KAAK;AAAA,IAClE,CAAC;AAGD,UAAM,aAAa,CAAC,QAAQ;AAC1B,kBAAY,QAAQ;AAAA,IACtB;AAEA,UAAM,iBAAiB,CAAC,MAAM;AAC5B,YAAM,UAAU,CAAC,MAAM,MAAM,MAAM,OAAO,IAAI;AAC9C,eAAS,MAAM,SAAS,QAAQ,EAAE,OAAO,KAAK;AAAA,IAChD;AAEA,UAAM,iBAAiB,CAAC,MAAM;AAC5B,YAAM,QAAQ,CAAC,OAAO,KAAK;AAC3B,eAAS,MAAM,SAAS,MAAM,EAAE,OAAO,KAAK;AAAA,IAC9C;AAEA,UAAM,SAAS,MAAM;AACnBC,oBAAAA,MAAA,MAAA,OAAA,yCAAY,SAAS;AAAA,QACnB,MAAM,YAAY;AAAA,QAClB,QAAQ,SAAS;AAAA,MACrB,CAAG;AACDA,oBAAAA,MAAI,YAAY,EAAE,OAAO,MAAO,CAAA;AAChC,iBAAW,MAAM;AACfA,sBAAG,MAAC,YAAW;AACfA,sBAAG,MAAC,UAAU,EAAE,OAAO,SAAS,MAAM,UAAS,CAAE;AACjD,mBAAW,MAAMA,cAAG,MAAC,aAAc,GAAE,IAAI;AAAA,MAC1C,GAAE,GAAG;AAAA,IACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/strategies/strategies.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/strategies/strategies.js.map index 7d44d97..252487f 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/strategies/strategies.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/strategies/strategies.js.map @@ -1 +1 @@ -{"version":3,"file":"strategies.js","sources":["pages/strategies/strategies.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvc3RyYXRlZ2llcy9zdHJhdGVnaWVzLnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/strategies/strategies.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","api","uni","onMounted"],"mappings":";;;;;;;;;;;;;;AAmEA,UAAM,aAAaA,cAAAA,IAAI,CAAA,CAAE;AAGzB,UAAM,kBAAkB,YAAY;AAClC,UAAI;AACF,cAAM,WAAW,MAAMC,UAAAA,IAAI,WAAW,cAAa;AACnD,YAAI,SAAS,SAAS,KAAK;AACzB,qBAAW,QAAQ,SAAS;AAAA,QAC7B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,yCAAA,aAAa,KAAK;AAAA,MACjC;AAAA,IACH;AAGAC,kBAAAA,UAAU,YAAY;AACpB,YAAM,gBAAe;AAAA,IACvB,CAAC;AAGD,UAAM,UAAU,MAAM;AACpBD,oBAAAA,MAAI,WAAW,EAAE,KAAK,8BAA+B,CAAA;AAAA,IACvD;AAGA,UAAM,eAAe,CAAC,SAAS;AAC7BA,gFAAY,SAAS,KAAK,KAAK;AAC/BA,oBAAG,MAAC,WAAW,EAAE,KAAK,sCAAsC,KAAK,GAAE,CAAE;AAAA,IACvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9FA,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"strategies.js","sources":["pages/strategies/strategies.vue","D:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvc3RyYXRlZ2llcy9zdHJhdGVnaWVzLnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'C:/Users/admin/source/repos/AssetManager.UniApp/pages/strategies/strategies.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","api","uni","onMounted"],"mappings":";;;;;;;;;;;;;;AAmEA,UAAM,aAAaA,cAAAA,IAAI,CAAA,CAAE;AAGzB,UAAM,kBAAkB,YAAY;AAClC,UAAI;AACF,cAAM,WAAW,MAAMC,UAAAA,IAAI,WAAW,cAAa;AACnD,YAAI,SAAS,SAAS,KAAK;AACzB,qBAAW,QAAQ,SAAS;AAAA,QAC7B;AAAA,MACF,SAAQ,OAAO;AACdC,sBAAc,MAAA,MAAA,SAAA,yCAAA,aAAa,KAAK;AAAA,MACjC;AAAA,IACH;AAGAC,kBAAAA,UAAU,YAAY;AACpB,YAAM,gBAAe;AAAA,IACvB,CAAC;AAGD,UAAM,UAAU,MAAM;AACpBD,oBAAAA,MAAI,WAAW,EAAE,KAAK,8BAA+B,CAAA;AAAA,IACvD;AAGA,UAAM,eAAe,CAAC,SAAS;AAC7BA,gFAAY,SAAS,KAAK,KAAK;AAC/BA,oBAAG,MAAC,WAAW,EAAE,KAAK,sCAAsC,KAAK,GAAE,CAAE;AAAA,IACvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9FA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/utils/api.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/utils/api.js.map index e741ebe..70cf5c3 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/utils/api.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/utils/api.js.map @@ -1 +1 @@ -{"version":3,"file":"api.js","sources":["utils/api.js"],"sourcesContent":["/**\r\n * API工具类 - 统一封装后端API请求\r\n */\r\n\r\n// API基础URL\r\nconst BASE_URL = 'https://api.assetmanager.com';\r\n\r\n// 请求超时时间\r\nconst TIMEOUT = 10000;\r\n\r\n/**\r\n * 基础请求方法\r\n * @param {string} url - 请求URL\r\n * @param {string} method - 请求方法\r\n * @param {object} data - 请求数据\r\n * @param {object} headers - 请求头\r\n * @returns {Promise} - 返回Promise对象\r\n */\r\nconst request = (url, method = 'GET', data = {}, headers = {}) => {\r\n // 获取存储的token\r\n const token = uni.getStorageSync('token');\r\n return new Promise((resolve, reject) => {\r\n uni.request({\r\n url: BASE_URL + url,\r\n method,\r\n data,\r\n header: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': token ? `Bearer ${token}` : '',\r\n ...headers\r\n },\r\n timeout: TIMEOUT,\r\n success: (res) => {\r\n if (res.statusCode === 200) {\r\n resolve(res.data);\r\n } else if (res.statusCode === 401) {\r\n // 未授权,清除token并重新登录\r\n uni.removeStorageSync('token');\r\n uni.removeStorageSync('userInfo');\r\n console.log('登录已过期,请重新登录');\r\n reject(new Error('登录已过期'));\r\n } else {\r\n reject(new Error(`请求失败: ${res.statusCode}`));\r\n }\r\n },\r\n fail: (err) => {\r\n // 当实际API不可用时,使用模拟数据\r\n console.log('API请求失败,使用模拟数据:', err);\r\n resolve(getMockData(url, method, data));\r\n }\r\n });\r\n });\r\n};\r\n\r\n/**\r\n * GET请求\r\n * @param {string} url - 请求URL\r\n * @param {object} params - 请求参数\r\n * @param {object} headers - 请求头\r\n * @returns {Promise} - 返回Promise对象\r\n */\r\nexport const get = (url, params = {}, headers = {}) => {\r\n // 构建查询字符串\r\n const queryString = Object.keys(params)\r\n .map(key => `${key}=${encodeURIComponent(params[key])}`)\r\n .join('&');\r\n const fullUrl = queryString ? `${url}?${queryString}` : url;\r\n return request(fullUrl, 'GET', {}, headers);\r\n};\r\n\r\n/**\r\n * POST请求\r\n * @param {string} url - 请求URL\r\n * @param {object} data - 请求数据\r\n * @param {object} headers - 请求头\r\n * @returns {Promise} - 返回Promise对象\r\n */\r\nexport const post = (url, data = {}, headers = {}) => {\r\n return request(url, 'POST', data, headers);\r\n};\r\n\r\n/**\r\n * PUT请求\r\n * @param {string} url - 请求URL\r\n * @param {object} data - 请求数据\r\n * @param {object} headers - 请求头\r\n * @returns {Promise} - 返回Promise对象\r\n */\r\nexport const put = (url, data = {}, headers = {}) => {\r\n return request(url, 'PUT', data, headers);\r\n};\r\n\r\n/**\r\n * DELETE请求\r\n * @param {string} url - 请求URL\r\n * @param {object} params - 请求参数\r\n * @param {object} headers - 请求头\r\n * @returns {Promise} - 返回Promise对象\r\n */\r\nexport const del = (url, params = {}, headers = {}) => {\r\n const queryString = Object.keys(params)\r\n .map(key => `${key}=${encodeURIComponent(params[key])}`)\r\n .join('&');\r\n const fullUrl = queryString ? `${url}?${queryString}` : url;\r\n return request(fullUrl, 'DELETE', {}, headers);\r\n};\r\n\r\n/**\r\n * 模拟数据\r\n * @param {string} url - 请求URL\r\n * @param {string} method - 请求方法\r\n * @param {object} data - 请求数据\r\n * @returns {object} - 返回模拟数据\r\n */\r\nconst getMockData = (url, method, data) => {\r\n // 模拟API延迟\r\n return new Promise(resolve => {\r\n setTimeout(() => {\r\n // 资产相关模拟数据\r\n if (url.includes('/assets')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n totalValue: 1284592.40,\r\n todayProfit: 12482.00,\r\n totalReturnRate: 24.82\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 持仓相关模拟数据\r\n if (url.includes('/holdings')) {\r\n resolve({\r\n code: 200,\r\n data: [\r\n {\r\n id: 'hfea-001',\r\n name: '美股全天候杠杆',\r\n tags: 'HFEA · 季度调仓',\r\n status: '监控中',\r\n statusType: 'green',\r\n iconChar: 'H',\r\n iconBgClass: 'bg-green-100',\r\n iconTextClass: 'text-green-700',\r\n value: 156240.00,\r\n returnRate: 42.82,\r\n returnType: 'positive'\r\n },\r\n {\r\n id: 'ma-002',\r\n name: '纳指双均线趋势',\r\n tags: '趋势跟踪 · 日线',\r\n status: '等待信号',\r\n statusType: 'gray',\r\n iconChar: 'T',\r\n iconBgClass: 'bg-blue-100',\r\n iconTextClass: 'text-blue-700',\r\n value: 412500.00,\r\n returnRate: -1.79,\r\n returnType: 'negative'\r\n }\r\n ],\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 策略相关模拟数据\r\n if (url.includes('/strategies')) {\r\n resolve({\r\n code: 200,\r\n data: [\r\n {\r\n id: 'hfea',\r\n iconChar: 'H',\r\n title: 'HFEA 风险平价策略',\r\n tag: '高风险 · 高预期收益',\r\n desc: '针对杠杆ETF平衡的对冲策略,核心逻辑为 TMF (3x长债) 与 UPRO (3x标普) 的季度平衡。',\r\n bgClass: 'bg-emerald-900',\r\n tagClass: 'text-emerald-700',\r\n tags: ['季调', '止损机制'],\r\n btnText: '配置参数',\r\n btnClass: 'btn-primary'\r\n },\r\n {\r\n id: 'ma',\r\n iconChar: 'T',\r\n title: '双均线趋势跟随',\r\n tag: '中风险 · 低回撤要求',\r\n desc: '利用快线(EMA10)上穿慢线(EMA60)捕捉强势波段,金叉买入,死叉离场。',\r\n bgClass: 'bg-blue-600',\r\n tagClass: 'text-blue-700',\r\n tags: ['日线', '左侧止盈'],\r\n btnText: '预览模型',\r\n btnClass: 'btn-secondary'\r\n },\r\n {\r\n id: 'chandelier',\r\n iconChar: 'S',\r\n title: '吊灯止损策略',\r\n tag: '风险控制 · 辅助',\r\n desc: '基于 ATR 波动率计算的动态止损线,锁住利润,防止回撤过大。',\r\n bgClass: 'bg-orange-500',\r\n tagClass: 'text-orange-700',\r\n tags: ['ATR', '动态止盈'],\r\n btnText: '配置参数',\r\n btnClass: 'btn-secondary'\r\n }\r\n ],\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 用户信息模拟数据\r\n if (url.includes('/user/info')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n userName: '首席策略员 0x42',\r\n memberLevel: '全球实验室 Pro',\r\n runningDays: 412\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 用户统计数据模拟数据\r\n if (url.includes('/user/stats')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n signalsCaptured: 1248,\r\n winRate: 58.4\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 应用信息模拟数据\r\n if (url.includes('/app/info')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n version: 'v2.4.0',\r\n currentDate: new Date().toISOString().split('T')[0]\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 微信登录模拟数据\r\n if (url.includes('/api/auth/wechat/login')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n token: 'mock-wechat-token-123456',\r\n userInfo: {\r\n id: 'user-001',\r\n openid: 'mock-openid-123456',\r\n nickname: '微信用户',\r\n avatar: 'https://via.placeholder.com/100',\r\n memberLevel: '全球实验室 Pro',\r\n runningDays: 412\r\n }\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 微信绑定模拟数据\r\n if (url.includes('/api/auth/wechat/bind')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n token: 'mock-wechat-token-789012',\r\n userInfo: {\r\n id: 'user-001',\r\n openid: 'mock-openid-123456',\r\n email: 'user@example.com',\r\n nickname: '微信用户',\r\n avatar: 'https://via.placeholder.com/100',\r\n memberLevel: '全球实验室 Pro',\r\n runningDays: 412\r\n }\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 默认返回\r\n resolve({\r\n code: 200,\r\n data: null,\r\n message: 'success'\r\n });\r\n }, 500);\r\n });\r\n};\r\n\r\n/**\r\n * API接口封装\r\n */\r\nexport const api = {\r\n // 资产相关API\r\n assets: {\r\n // 获取总资产数据\r\n getAssetData: () => get('/assets'),\r\n // 获取持仓组合数据\r\n getHoldings: () => get('/holdings')\r\n },\r\n \r\n // 策略相关API\r\n strategies: {\r\n // 获取策略列表\r\n getStrategies: () => get('/strategies'),\r\n // 获取单个策略详情\r\n getStrategyDetail: (id) => get(`/strategies/${id}`),\r\n // 创建新策略\r\n createStrategy: (data) => post('/strategies', data),\r\n // 更新策略\r\n updateStrategy: (id, data) => put(`/strategies/${id}`, data),\r\n // 删除策略\r\n deleteStrategy: (id) => del(`/strategies/${id}`)\r\n },\r\n \r\n // 用户相关API\r\n user: {\r\n // 获取用户信息\r\n getUserInfo: () => get('/user/info'),\r\n // 获取用户统计数据\r\n getUserStats: () => get('/user/stats'),\r\n // 更新用户信息\r\n updateUserInfo: (data) => put('/user/info', data)\r\n },\r\n \r\n // 认证相关API\r\n auth: {\r\n // 微信登录\r\n wechatLogin: (code) => post('/api/auth/wechat/login', { code }),\r\n // 微信绑定\r\n wechatBind: (data) => post('/api/auth/wechat/bind', data)\r\n },\r\n \r\n // 应用相关API\r\n app: {\r\n // 获取应用信息\r\n getAppInfo: () => get('/app/info')\r\n }\r\n};\r\n\r\nexport default api;"],"names":["uni"],"mappings":";;AAKA,MAAM,WAAW;AAGjB,MAAM,UAAU;AAUhB,MAAM,UAAU,CAAC,KAAK,SAAS,OAAO,OAAO,CAAE,GAAE,UAAU,OAAO;AAEhE,QAAM,QAAQA,cAAAA,MAAI,eAAe,OAAO;AACxC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtCA,kBAAAA,MAAI,QAAQ;AAAA,MACV,KAAK,WAAW;AAAA,MAChB;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,QACN,gBAAgB;AAAA,QAChB,iBAAiB,QAAQ,UAAU,KAAK,KAAK;AAAA,QAC7C,GAAG;AAAA,MACJ;AAAA,MACD,SAAS;AAAA,MACT,SAAS,CAAC,QAAQ;AAChB,YAAI,IAAI,eAAe,KAAK;AAC1B,kBAAQ,IAAI,IAAI;AAAA,QAC1B,WAAmB,IAAI,eAAe,KAAK;AAEjCA,8BAAI,kBAAkB,OAAO;AAC7BA,8BAAI,kBAAkB,UAAU;AAChCA,wBAAAA,MAAA,MAAA,OAAA,sBAAY,aAAa;AACzB,iBAAO,IAAI,MAAM,OAAO,CAAC;AAAA,QACnC,OAAe;AACL,iBAAO,IAAI,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;AAAA,QAC5C;AAAA,MACF;AAAA,MACD,MAAM,CAAC,QAAQ;AAEbA,sBAAY,MAAA,MAAA,OAAA,sBAAA,mBAAmB,GAAG;AAClC,gBAAQ,YAAY,GAAiB,CAAC;AAAA,MACvC;AAAA,IACP,CAAK;AAAA,EACL,CAAG;AACH;AASO,MAAM,MAAM,CAAC,KAAK,SAAS,CAAA,GAAI,UAAU,CAAA,MAAO;AAErD,QAAM,cAAc,OAAO,KAAK,MAAM,EACnC,IAAI,SAAO,GAAG,GAAG,IAAI,mBAAmB,OAAO,GAAG,CAAC,CAAC,EAAE,EACtD,KAAK,GAAG;AACX,QAAM,UAAU,cAAc,GAAG,GAAG,IAAI,WAAW,KAAK;AACxD,SAAO,QAAQ,SAAS,OAAO,CAAE,GAAE,OAAO;AAC5C;AASO,MAAM,OAAO,CAAC,KAAK,OAAO,CAAA,GAAI,UAAU,CAAA,MAAO;AACpD,SAAO,QAAQ,KAAK,QAAQ,MAAM,OAAO;AAC3C;AASO,MAAM,MAAM,CAAC,KAAK,OAAO,CAAA,GAAI,UAAU,CAAA,MAAO;AACnD,SAAO,QAAQ,KAAK,OAAO,MAAM,OAAO;AAC1C;AASO,MAAM,MAAM,CAAC,KAAK,SAAS,CAAA,GAAI,UAAU,CAAA,MAAO;AACrD,QAAM,cAAc,OAAO,KAAK,MAAM,EACnC,IAAI,SAAO,GAAG,GAAG,IAAI,mBAAmB,OAAO,GAAG,CAAC,CAAC,EAAE,EACtD,KAAK,GAAG;AACX,QAAM,UAAU,cAAc,GAAG,GAAG,IAAI,WAAW,KAAK;AACxD,SAAO,QAAQ,SAAS,UAAU,CAAE,GAAE,OAAO;AAC/C;AASA,MAAM,cAAc,CAAC,KAAK,QAAQ,SAAS;AAEzC,SAAO,IAAI,QAAQ,aAAW;AAC5B,eAAW,MAAM;AAEf,UAAI,IAAI,SAAS,SAAS,GAAG;AAC3B,gBAAQ;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ,YAAY;AAAA,YACZ,aAAa;AAAA,YACb,iBAAiB;AAAA,UAClB;AAAA,UACD,SAAS;AAAA,QACnB,CAAS;AAAA,MACF;AAGD,UAAI,IAAI,SAAS,WAAW,GAAG;AAC7B,gBAAQ;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ;AAAA,cACE,IAAI;AAAA,cACJ,MAAM;AAAA,cACN,MAAM;AAAA,cACN,QAAQ;AAAA,cACR,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,aAAa;AAAA,cACb,eAAe;AAAA,cACf,OAAO;AAAA,cACP,YAAY;AAAA,cACZ,YAAY;AAAA,YACb;AAAA,YACD;AAAA,cACE,IAAI;AAAA,cACJ,MAAM;AAAA,cACN,MAAM;AAAA,cACN,QAAQ;AAAA,cACR,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,aAAa;AAAA,cACb,eAAe;AAAA,cACf,OAAO;AAAA,cACP,YAAY;AAAA,cACZ,YAAY;AAAA,YACb;AAAA,UACF;AAAA,UACD,SAAS;AAAA,QACnB,CAAS;AAAA,MACF;AAGD,UAAI,IAAI,SAAS,aAAa,GAAG;AAC/B,gBAAQ;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ;AAAA,cACE,IAAI;AAAA,cACJ,UAAU;AAAA,cACV,OAAO;AAAA,cACP,KAAK;AAAA,cACL,MAAM;AAAA,cACN,SAAS;AAAA,cACT,UAAU;AAAA,cACV,MAAM,CAAC,MAAM,MAAM;AAAA,cACnB,SAAS;AAAA,cACT,UAAU;AAAA,YACX;AAAA,YACD;AAAA,cACE,IAAI;AAAA,cACJ,UAAU;AAAA,cACV,OAAO;AAAA,cACP,KAAK;AAAA,cACL,MAAM;AAAA,cACN,SAAS;AAAA,cACT,UAAU;AAAA,cACV,MAAM,CAAC,MAAM,MAAM;AAAA,cACnB,SAAS;AAAA,cACT,UAAU;AAAA,YACX;AAAA,YACD;AAAA,cACE,IAAI;AAAA,cACJ,UAAU;AAAA,cACV,OAAO;AAAA,cACP,KAAK;AAAA,cACL,MAAM;AAAA,cACN,SAAS;AAAA,cACT,UAAU;AAAA,cACV,MAAM,CAAC,OAAO,MAAM;AAAA,cACpB,SAAS;AAAA,cACT,UAAU;AAAA,YACX;AAAA,UACF;AAAA,UACD,SAAS;AAAA,QACnB,CAAS;AAAA,MACF;AAGD,UAAI,IAAI,SAAS,YAAY,GAAG;AAC9B,gBAAQ;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ,UAAU;AAAA,YACV,aAAa;AAAA,YACb,aAAa;AAAA,UACd;AAAA,UACD,SAAS;AAAA,QACnB,CAAS;AAAA,MACF;AAGD,UAAI,IAAI,SAAS,aAAa,GAAG;AAC/B,gBAAQ;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ,iBAAiB;AAAA,YACjB,SAAS;AAAA,UACV;AAAA,UACD,SAAS;AAAA,QACnB,CAAS;AAAA,MACF;AAGD,UAAI,IAAI,SAAS,WAAW,GAAG;AAC7B,gBAAQ;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ,SAAS;AAAA,YACT,cAAa,oBAAI,QAAO,YAAa,EAAC,MAAM,GAAG,EAAE,CAAC;AAAA,UACnD;AAAA,UACD,SAAS;AAAA,QACnB,CAAS;AAAA,MACF;AAGD,UAAI,IAAI,SAAS,wBAAwB,GAAG;AAC1C,gBAAQ;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ,OAAO;AAAA,YACP,UAAU;AAAA,cACR,IAAI;AAAA,cACJ,QAAQ;AAAA,cACR,UAAU;AAAA,cACV,QAAQ;AAAA,cACR,aAAa;AAAA,cACb,aAAa;AAAA,YACd;AAAA,UACF;AAAA,UACD,SAAS;AAAA,QACnB,CAAS;AAAA,MACF;AAGD,UAAI,IAAI,SAAS,uBAAuB,GAAG;AACzC,gBAAQ;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ,OAAO;AAAA,YACP,UAAU;AAAA,cACR,IAAI;AAAA,cACJ,QAAQ;AAAA,cACR,OAAO;AAAA,cACP,UAAU;AAAA,cACV,QAAQ;AAAA,cACR,aAAa;AAAA,cACb,aAAa;AAAA,YACd;AAAA,UACF;AAAA,UACD,SAAS;AAAA,QACnB,CAAS;AAAA,MACF;AAGD,cAAQ;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MACjB,CAAO;AAAA,IACF,GAAE,GAAG;AAAA,EACV,CAAG;AACH;AAKY,MAAC,MAAM;AAAA;AAAA,EAEjB,QAAQ;AAAA;AAAA,IAEN,cAAc,MAAM,IAAI,SAAS;AAAA;AAAA,IAEjC,aAAa,MAAM,IAAI,WAAW;AAAA,EACnC;AAAA;AAAA,EAGD,YAAY;AAAA;AAAA,IAEV,eAAe,MAAM,IAAI,aAAa;AAAA;AAAA,IAEtC,mBAAmB,CAAC,OAAO,IAAI,eAAe,EAAE,EAAE;AAAA;AAAA,IAElD,gBAAgB,CAAC,SAAS,KAAK,eAAe,IAAI;AAAA;AAAA,IAElD,gBAAgB,CAAC,IAAI,SAAS,IAAI,eAAe,EAAE,IAAI,IAAI;AAAA;AAAA,IAE3D,gBAAgB,CAAC,OAAO,IAAI,eAAe,EAAE,EAAE;AAAA,EAChD;AAAA;AAAA,EAGD,MAAM;AAAA;AAAA,IAEJ,aAAa,MAAM,IAAI,YAAY;AAAA;AAAA,IAEnC,cAAc,MAAM,IAAI,aAAa;AAAA;AAAA,IAErC,gBAAgB,CAAC,SAAS,IAAI,cAAc,IAAI;AAAA,EACjD;AAAA;AAAA,EAGD,MAAM;AAAA;AAAA,IAEJ,aAAa,CAAC,SAAS,KAAK,0BAA0B,EAAE,KAAI,CAAE;AAAA;AAAA,IAE9D,YAAY,CAAC,SAAS,KAAK,yBAAyB,IAAI;AAAA,EACzD;AAAA;AAAA,EAGD,KAAK;AAAA;AAAA,IAEH,YAAY,MAAM,IAAI,WAAW;AAAA,EAClC;AACH;;"} \ No newline at end of file +{"version":3,"file":"api.js","sources":["utils/api.js"],"sourcesContent":["/**\r\n * API工具类 - 统一封装后端API请求\r\n */\r\n\r\n// API基础URL\r\nconst BASE_URL = 'https://api.assetmanager.com';\r\n\r\n// 请求超时时间\r\nconst TIMEOUT = 10000;\r\n\r\n/**\r\n * 基础请求方法\r\n * @param {string} url - 请求URL\r\n * @param {string} method - 请求方法\r\n * @param {object} data - 请求数据\r\n * @param {object} headers - 请求头\r\n * @returns {Promise} - 返回Promise对象\r\n */\r\nconst request = (url, method = 'GET', data = {}, headers = {}) => {\r\n // 获取存储的token\r\n const token = uni.getStorageSync('token');\r\n return new Promise((resolve, reject) => {\r\n uni.request({\r\n url: BASE_URL + url,\r\n method,\r\n data,\r\n header: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': token ? `Bearer ${token}` : '',\r\n ...headers\r\n },\r\n timeout: TIMEOUT,\r\n success: (res) => {\r\n if (res.statusCode === 200) {\r\n resolve(res.data);\r\n } else if (res.statusCode === 401) {\r\n // 未授权,清除token并重新登录\r\n uni.removeStorageSync('token');\r\n uni.removeStorageSync('userInfo');\r\n console.log('登录已过期,请重新登录');\r\n reject(new Error('登录已过期'));\r\n } else {\r\n reject(new Error(`请求失败: ${res.statusCode}`));\r\n }\r\n },\r\n fail: (err) => {\r\n // 当实际API不可用时,使用模拟数据\r\n console.log('API请求失败,使用模拟数据:', err);\r\n resolve(getMockData(url, method, data));\r\n }\r\n });\r\n });\r\n};\r\n\r\n/**\r\n * GET请求\r\n * @param {string} url - 请求URL\r\n * @param {object} params - 请求参数\r\n * @param {object} headers - 请求头\r\n * @returns {Promise} - 返回Promise对象\r\n */\r\nexport const get = (url, params = {}, headers = {}) => {\r\n // 构建查询字符串\r\n const queryString = Object.keys(params)\r\n .map(key => `${key}=${encodeURIComponent(params[key])}`)\r\n .join('&');\r\n const fullUrl = queryString ? `${url}?${queryString}` : url;\r\n return request(fullUrl, 'GET', {}, headers);\r\n};\r\n\r\n/**\r\n * POST请求\r\n * @param {string} url - 请求URL\r\n * @param {object} data - 请求数据\r\n * @param {object} headers - 请求头\r\n * @returns {Promise} - 返回Promise对象\r\n */\r\nexport const post = (url, data = {}, headers = {}) => {\r\n return request(url, 'POST', data, headers);\r\n};\r\n\r\n/**\r\n * PUT请求\r\n * @param {string} url - 请求URL\r\n * @param {object} data - 请求数据\r\n * @param {object} headers - 请求头\r\n * @returns {Promise} - 返回Promise对象\r\n */\r\nexport const put = (url, data = {}, headers = {}) => {\r\n return request(url, 'PUT', data, headers);\r\n};\r\n\r\n/**\r\n * DELETE请求\r\n * @param {string} url - 请求URL\r\n * @param {object} params - 请求参数\r\n * @param {object} headers - 请求头\r\n * @returns {Promise} - 返回Promise对象\r\n */\r\nexport const del = (url, params = {}, headers = {}) => {\r\n const queryString = Object.keys(params)\r\n .map(key => `${key}=${encodeURIComponent(params[key])}`)\r\n .join('&');\r\n const fullUrl = queryString ? `${url}?${queryString}` : url;\r\n return request(fullUrl, 'DELETE', {}, headers);\r\n};\r\n\r\n/**\r\n * 模拟数据\r\n * @param {string} url - 请求URL\r\n * @param {string} method - 请求方法\r\n * @param {object} data - 请求数据\r\n * @returns {object} - 返回模拟数据\r\n */\r\nconst getMockData = (url, method, data) => {\r\n // 模拟API延迟\r\n return new Promise(resolve => {\r\n setTimeout(() => {\r\n // 资产相关模拟数据\r\n if (url.includes('/assets')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n totalValue: 1284592.40,\r\n currency: 'CNY',\r\n todayProfit: 12482.00,\r\n todayProfitCurrency: 'CNY',\r\n totalReturnRate: 24.82\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 持仓相关模拟数据\r\n if (url.includes('/holdings')) {\r\n resolve({\r\n code: 200,\r\n data: [\r\n {\r\n id: 'hfea-001',\r\n name: '美股全天候杠杆',\r\n tags: 'HFEA · 季度调仓',\r\n status: '监控中',\r\n statusType: 'green',\r\n iconChar: 'H',\r\n iconBgClass: 'bg-green-100',\r\n iconTextClass: 'text-green-700',\r\n value: 156240.00,\r\n currency: 'USD',\r\n returnRate: 42.82,\r\n returnType: 'positive'\r\n },\r\n {\r\n id: 'ma-002',\r\n name: '纳指双均线趋势',\r\n tags: '趋势跟踪 · 日线',\r\n status: '等待信号',\r\n statusType: 'gray',\r\n iconChar: 'T',\r\n iconBgClass: 'bg-blue-100',\r\n iconTextClass: 'text-blue-700',\r\n value: 412500.00,\r\n currency: 'USD',\r\n returnRate: -1.79,\r\n returnType: 'negative'\r\n },\r\n {\r\n id: 'hk-003',\r\n name: '港股价值投资',\r\n tags: '价值投资 · 蓝筹',\r\n status: '持有中',\r\n statusType: 'green',\r\n iconChar: 'H',\r\n iconBgClass: 'bg-green-100',\r\n iconTextClass: 'text-green-700',\r\n value: 896000.00,\r\n currency: 'HKD',\r\n returnRate: 12.56,\r\n returnType: 'positive'\r\n }\r\n ],\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 策略相关模拟数据\r\n if (url.includes('/strategies')) {\r\n resolve({\r\n code: 200,\r\n data: [\r\n {\r\n id: 'hfea',\r\n iconChar: 'H',\r\n title: 'HFEA 风险平价逻辑',\r\n tag: '高风险 · 高预期收益',\r\n desc: '针对杠杆ETF平衡的对冲策略,核心逻辑为 TMF (3x长债) 与 UPRO (3x标普) 的季度平衡。',\r\n bgClass: 'bg-emerald-900',\r\n tagClass: 'text-emerald-700',\r\n tags: ['季调', '止损机制'],\r\n btnText: '配置参数',\r\n btnClass: 'btn-primary'\r\n },\r\n {\r\n id: 'ma',\r\n iconChar: 'T',\r\n title: '双均线趋势跟随',\r\n tag: '中风险 · 低回撤要求',\r\n desc: '利用快线(EMA10)上穿慢线(EMA60)捕捉强势波段,金叉买入,死叉离场。',\r\n bgClass: 'bg-blue-600',\r\n tagClass: 'text-blue-700',\r\n tags: ['日线', '左侧止盈'],\r\n btnText: '预览模型',\r\n btnClass: 'btn-secondary'\r\n },\r\n {\r\n id: 'chandelier',\r\n iconChar: 'S',\r\n title: '吊灯止损策略',\r\n tag: '风险控制 · 辅助',\r\n desc: '基于 ATR 波动率计算的动态止损线,锁住利润,防止回撤过大。',\r\n bgClass: 'bg-orange-500',\r\n tagClass: 'text-orange-700',\r\n tags: ['ATR', '动态止盈'],\r\n btnText: '配置参数',\r\n btnClass: 'btn-secondary'\r\n }\r\n ],\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 用户信息模拟数据\r\n if (url.includes('/user/info')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n userName: '首席策略员 0x42',\r\n memberLevel: '全球实验室 Pro',\r\n runningDays: 412\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 用户统计数据模拟数据\r\n if (url.includes('/user/stats')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n signalsCaptured: 1248,\r\n winRate: 58.4\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 应用信息模拟数据\r\n if (url.includes('/app/info')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n version: 'v2.4.0',\r\n currentDate: new Date().toISOString().split('T')[0]\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 微信登录模拟数据\r\n if (url.includes('/api/auth/wechat/login')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n token: 'mock-wechat-token-123456',\r\n userInfo: {\r\n id: 'user-001',\r\n openid: 'mock-openid-123456',\r\n nickname: '微信用户',\r\n avatar: 'https://via.placeholder.com/100',\r\n memberLevel: '全球实验室 Pro',\r\n runningDays: 412\r\n }\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 微信绑定模拟数据\r\n if (url.includes('/api/auth/wechat/bind')) {\r\n resolve({\r\n code: 200,\r\n data: {\r\n token: 'mock-wechat-token-789012',\r\n userInfo: {\r\n id: 'user-001',\r\n openid: 'mock-openid-123456',\r\n email: 'user@example.com',\r\n nickname: '微信用户',\r\n avatar: 'https://via.placeholder.com/100',\r\n memberLevel: '全球实验室 Pro',\r\n runningDays: 412\r\n }\r\n },\r\n message: 'success'\r\n });\r\n }\r\n \r\n // 默认返回\r\n resolve({\r\n code: 200,\r\n data: null,\r\n message: 'success'\r\n });\r\n }, 500);\r\n });\r\n};\r\n\r\n/**\r\n * API接口封装\r\n */\r\nexport const api = {\r\n // 资产相关API\r\n assets: {\r\n // 获取总资产数据\r\n getAssetData: () => get('/assets'),\r\n // 获取持仓组合数据\r\n getHoldings: () => get('/holdings')\r\n },\r\n \r\n // 策略相关API\r\n strategies: {\r\n // 获取策略列表\r\n getStrategies: () => get('/strategies'),\r\n // 获取单个策略详情\r\n getStrategyDetail: (id) => get(`/strategies/${id}`),\r\n // 创建新策略\r\n createStrategy: (data) => post('/strategies', data),\r\n // 更新策略\r\n updateStrategy: (id, data) => put(`/strategies/${id}`, data),\r\n // 删除策略\r\n deleteStrategy: (id) => del(`/strategies/${id}`)\r\n },\r\n \r\n // 用户相关API\r\n user: {\r\n // 获取用户信息\r\n getUserInfo: () => get('/user/info'),\r\n // 获取用户统计数据\r\n getUserStats: () => get('/user/stats'),\r\n // 更新用户信息\r\n updateUserInfo: (data) => put('/user/info', data)\r\n },\r\n \r\n // 认证相关API\r\n auth: {\r\n // 微信登录\r\n wechatLogin: (code) => post('/api/auth/wechat/login', { code }),\r\n // 微信绑定\r\n wechatBind: (data) => post('/api/auth/wechat/bind', data)\r\n },\r\n \r\n // 应用相关API\r\n app: {\r\n // 获取应用信息\r\n getAppInfo: () => get('/app/info')\r\n }\r\n};\r\n\r\nexport default api;"],"names":["uni"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js index aa24915..f68c729 100644 --- a/unpackage/dist/dev/mp-weixin/common/vendor.js +++ b/unpackage/dist/dev/mp-weixin/common/vendor.js @@ -7046,9 +7046,9 @@ function isConsoleWritable() { return isWritable; } function initRuntimeSocketService() { - const hosts = "198.18.0.1,100.117.139.1,192.168.0.236,10.195.102.223,127.0.0.1"; + const hosts = "198.18.0.1,100.117.139.1,10.195.102.223,192.168.0.236,127.0.0.1"; const port = "8092"; - const id = "mp-weixin_ZuGrLn"; + const id = "mp-weixin_pQupRq"; const lazy = typeof swan !== "undefined"; let restoreError = lazy ? () => { } : initOnError(); diff --git a/unpackage/dist/dev/mp-weixin/pages/config/config.wxml b/unpackage/dist/dev/mp-weixin/pages/config/config.wxml index 3ad7c18..0c153a3 100644 --- a/unpackage/dist/dev/mp-weixin/pages/config/config.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/config/config.wxml @@ -1 +1 @@ -基础设置组合名称选择策略模板{{f}}点击选择策略逻辑{{l}}初始化持仓添加标的标的 #{{item.a}}标的名称/代码买入均价持有数量建仓日期{{item.k}}预计初始投入¥ {{s}} \ No newline at end of file +基础设置组合名称选择逻辑模板{{f}}点击选择逻辑规则{{l}}初始化记录添加单元单元 #{{item.a}}单元名称/代码买入均价持有数量建仓日期{{item.k}}预计初始投入¥ {{s}} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/detail/detail.js b/unpackage/dist/dev/mp-weixin/pages/detail/detail.js index 7753771..3938057 100644 --- a/unpackage/dist/dev/mp-weixin/pages/detail/detail.js +++ b/unpackage/dist/dev/mp-weixin/pages/detail/detail.js @@ -66,7 +66,7 @@ const _sfc_main = { d: k !== logs.value.length - 1 }, k !== logs.value.length - 1 ? {} : {}, { e: common_vendor.t(log.title), - f: common_vendor.t(log.type === "buy" ? "买入" : "卖出"), + f: common_vendor.t(log.type === "buy" ? "录入增加" : "结出减少"), g: common_vendor.t(log.amount), h: k }); diff --git a/unpackage/dist/dev/mp-weixin/pages/detail/detail.wxml b/unpackage/dist/dev/mp-weixin/pages/detail/detail.wxml index 57e4b14..a5d3a10 100644 --- a/unpackage/dist/dev/mp-weixin/pages/detail/detail.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/detail/detail.wxml @@ -1 +1 @@ -组合净值 (NV)实盘运行¥156,240.00历史收益+42.82%今日盈亏+¥1,240.50当前策略参数配置HHFEA 风险平价目标权重季度调仓监控中当前持仓 (3)占比 100%{{item.a}}{{item.c}}{{item.d}} · {{item.e}}股¥{{item.f}}仓位 {{item.g}}%持仓盈亏{{item.h}}{{item.i}}盈亏比例{{item.k}}{{item.l}}% 最近交易记录{{log.a}}{{log.b}}{{log.e}}{{log.f}} {{log.g}} \ No newline at end of file +组合总额 (NV)账本追踪中¥156,240.00历史变化+42.82%日内波动+¥1,240.50当前逻辑模型参数配置HHFEA 风险平价逻辑目标权重季度调仓监控中当前记录项 (3)占比 100%{{item.a}}{{item.c}}{{item.d}} · {{item.e}}份¥{{item.f}}比例 {{item.g}}%变动额{{item.h}}{{item.i}}偏离比例{{item.k}}{{item.l}}% 最近交易记录{{log.a}}{{log.b}}{{log.e}}{{log.f}} {{log.g}} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml index b923bed..9c4d4e5 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml @@ -1 +1 @@ -总资产估值 (CNY)¥{{b}}今日盈亏{{c}}¥{{d}}累计收益率{{e}}{{f}}%新建策略组合当前持仓组合{{holding.a}}{{holding.d}}{{holding.e}}● {{holding.f}}当前市值¥ {{holding.i}}累计收益{{holding.j}}{{holding.k}}% \ No newline at end of file +账本总额 (CNY)¥{{b}}今日账面变动{{c}}¥{{d}}历史总变动{{e}}{{f}}%新建组合当前记录组合{{holding.a}}{{holding.d}}{{holding.e}}● {{holding.f}}当前估值¥ {{holding.i}}历史总变动{{holding.j}}{{holding.k}}% \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/me/me.wxml b/unpackage/dist/dev/mp-weixin/pages/me/me.wxml index b28d621..5bbb808 100644 --- a/unpackage/dist/dev/mp-weixin/pages/me/me.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/me/me.wxml @@ -1 +1 @@ -{{a}}已捕获信号{{d}}模拟胜率{{e}}%账户安全中心全局执行偏好退出登录ASSET STRATEGY ADVISOR {{k}}当前日期: {{l}} \ No newline at end of file +{{a}}已记录事件{{d}}记录完整度{{e}}%账户安全中心全局执行偏好退出登录ASSET STRATEGY ADVISOR {{k}}当前日期: {{l}} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/strategies/edit/edit.wxml b/unpackage/dist/dev/mp-weixin/pages/strategies/edit/edit.wxml index b00a46a..04055e6 100644 --- a/unpackage/dist/dev/mp-weixin/pages/strategies/edit/edit.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/strategies/edit/edit.wxml @@ -1 +1 @@ -选择策略模型{{item.d}}{{item.f}}策略原理{{d}}参数配置策略别名再平衡周期{{h}}偏离阈值 (%)sw当资产权重偏离目标超过此数值时触发调仓。快线周期 (Short)慢线周期 (Long)均线类型{{s}}规则:快线上穿慢线买入,下穿卖出。ATR 周期ATR 倍数 (Multiplier)趋势过滤均线 (可选) \ No newline at end of file +选择逻辑模型{{item.d}}{{item.f}}策略原理{{d}}参数配置模型别名再平衡周期{{h}}偏离阈值 (%)sw当资产权重偏离目标超过此数值时触发调仓。快线周期 (Short)慢线周期 (Long)均线类型{{s}}规则:快线上穿慢线买入,下穿卖出。ATR 周期ATR 倍数 (Multiplier)趋势过滤均线 (可选) \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/strategies/strategies.wxml b/unpackage/dist/dev/mp-weixin/pages/strategies/strategies.wxml index 7f2732c..21f4e79 100644 --- a/unpackage/dist/dev/mp-weixin/pages/strategies/strategies.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/strategies/strategies.wxml @@ -1 +1 @@ -策略实验室选择或创建量化逻辑模型{{item.d}}{{item.f}}{{item.g}}{{item.i}}{{tag.a}} \ No newline at end of file +策略实验室选择或创建预设规则模型{{item.d}}{{item.f}}{{item.g}}{{item.i}}{{tag.a}} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/project.config.json b/unpackage/dist/dev/mp-weixin/project.config.json index fd1928c..1736d4a 100644 --- a/unpackage/dist/dev/mp-weixin/project.config.json +++ b/unpackage/dist/dev/mp-weixin/project.config.json @@ -13,7 +13,7 @@ }, "compileType": "miniprogram", "libVersion": "", - "appid": "wxab7b7831c69af51a", + "appid": "wx245f0f3ebcfcf5a7", "projectname": "个人资产策略管理", "condition": { "search": { diff --git a/unpackage/dist/dev/mp-weixin/utils/api.js b/unpackage/dist/dev/mp-weixin/utils/api.js index 9d0978f..3f213c2 100644 --- a/unpackage/dist/dev/mp-weixin/utils/api.js +++ b/unpackage/dist/dev/mp-weixin/utils/api.js @@ -58,7 +58,9 @@ const getMockData = (url, method, data) => { code: 200, data: { totalValue: 12845924e-1, + currency: "CNY", todayProfit: 12482, + todayProfitCurrency: "CNY", totalReturnRate: 24.82 }, message: "success" @@ -78,6 +80,7 @@ const getMockData = (url, method, data) => { iconBgClass: "bg-green-100", iconTextClass: "text-green-700", value: 156240, + currency: "USD", returnRate: 42.82, returnType: "positive" }, @@ -91,8 +94,23 @@ const getMockData = (url, method, data) => { iconBgClass: "bg-blue-100", iconTextClass: "text-blue-700", value: 412500, + currency: "USD", returnRate: -1.79, returnType: "negative" + }, + { + id: "hk-003", + name: "港股价值投资", + tags: "价值投资 · 蓝筹", + status: "持有中", + statusType: "green", + iconChar: "H", + iconBgClass: "bg-green-100", + iconTextClass: "text-green-700", + value: 896e3, + currency: "HKD", + returnRate: 12.56, + returnType: "positive" } ], message: "success" @@ -105,7 +123,7 @@ const getMockData = (url, method, data) => { { id: "hfea", iconChar: "H", - title: "HFEA 风险平价策略", + title: "HFEA 风险平价逻辑", tag: "高风险 · 高预期收益", desc: "针对杠杆ETF平衡的对冲策略,核心逻辑为 TMF (3x长债) 与 UPRO (3x标普) 的季度平衡。", bgClass: "bg-emerald-900",