From 99eb470625681c48da01b7355abcd9146f215778 Mon Sep 17 00:00:00 2001 From: Timi Date: Fri, 5 Dec 2025 10:38:55 +0800 Subject: [PATCH] init project --- .gitignore | 61 ++ miniprogram/app.json | 66 +++ miniprogram/app.ts | 7 + miniprogram/app.wxss | 2 + miniprogram/assets/icon/delete.png | Bin 0 -> 416 bytes miniprogram/assets/icon/info.png | Bin 0 -> 1839 bytes miniprogram/assets/icon/info_active.png | Bin 0 -> 1903 bytes miniprogram/assets/icon/journal.png | Bin 0 -> 699 bytes miniprogram/assets/icon/journal_active.png | Bin 0 -> 762 bytes miniprogram/assets/icon/moment.png | Bin 0 -> 2000 bytes miniprogram/assets/icon/moment_active.png | Bin 0 -> 2305 bytes miniprogram/assets/icon/play.png | Bin 0 -> 517 bytes miniprogram/assets/icon/portfolio.png | Bin 0 -> 2068 bytes miniprogram/assets/icon/portfolio_active.png | Bin 0 -> 2296 bytes miniprogram/assets/icon/travel.png | Bin 0 -> 2308 bytes miniprogram/assets/icon/travel_active.png | Bin 0 -> 2600 bytes miniprogram/assets/image/logo.png | Bin 0 -> 69266 bytes .../background/snowflake/index.json | 4 + .../background/snowflake/index.less | 52 ++ .../components/background/snowflake/index.ts | 61 ++ .../background/snowflake/index.wxml | 9 + miniprogram/components/search-list/index.json | 4 + miniprogram/components/search-list/index.less | 1 + miniprogram/components/search-list/index.ts | 24 + miniprogram/components/search-list/index.wxml | 2 + miniprogram/config/index.ts | 17 + miniprogram/package-lock.json | 30 + miniprogram/package.json | 18 + miniprogram/pages/index/index.json | 6 + miniprogram/pages/index/index.less | 60 ++ miniprogram/pages/index/index.ts | 46 ++ miniprogram/pages/index/index.wxml | 18 + miniprogram/pages/main/about/index.json | 9 + miniprogram/pages/main/about/index.less | 107 ++++ miniprogram/pages/main/about/index.ts | 64 +++ miniprogram/pages/main/about/index.wxml | 37 ++ .../pages/main/journal-creater/index.json | 7 + .../pages/main/journal-creater/index.less | 101 ++++ .../pages/main/journal-creater/index.ts | 306 ++++++++++ .../pages/main/journal-creater/index.wxml | 104 ++++ .../pages/main/journal-list/index.json | 3 + .../pages/main/journal-list/index.less | 1 + miniprogram/pages/main/journal-list/index.ts | 66 +++ .../pages/main/journal-list/index.wxml | 2 + miniprogram/pages/main/journal/index.json | 13 + miniprogram/pages/main/journal/index.less | 162 ++++++ miniprogram/pages/main/journal/index.ts | 244 ++++++++ miniprogram/pages/main/journal/index.wxml | 56 ++ miniprogram/pages/main/moment/index.json | 10 + miniprogram/pages/main/moment/index.less | 168 ++++++ miniprogram/pages/main/moment/index.ts | 535 ++++++++++++++++++ miniprogram/pages/main/moment/index.wxml | 141 +++++ miniprogram/pages/main/portfolio/index.json | 7 + miniprogram/pages/main/portfolio/index.less | 40 ++ miniprogram/pages/main/portfolio/index.ts | 151 +++++ miniprogram/pages/main/portfolio/index.wxml | 36 ++ miniprogram/pages/main/travel/index.json | 9 + miniprogram/pages/main/travel/index.less | 25 + miniprogram/pages/main/travel/index.ts | 107 ++++ miniprogram/pages/main/travel/index.wxml | 30 + .../pages/main/travel/luggage/index.json | 10 + .../pages/main/travel/luggage/index.less | 88 +++ .../pages/main/travel/luggage/index.ts | 86 +++ .../pages/main/travel/luggage/index.wxml | 39 ++ miniprogram/tdesign.wxss | 265 +++++++++ miniprogram/utils/Cooker.ts | 31 + miniprogram/utils/Events.ts | 106 ++++ miniprogram/utils/IOSize.ts | 111 ++++ miniprogram/utils/Storage.ts | 129 +++++ miniprogram/utils/Time.ts | 97 ++++ miniprogram/utils/Toolkit.ts | 229 ++++++++ project.config.json | 51 ++ tsconfig.json | 41 ++ 73 files changed, 4312 insertions(+) create mode 100644 .gitignore create mode 100644 miniprogram/app.json create mode 100644 miniprogram/app.ts create mode 100644 miniprogram/app.wxss create mode 100644 miniprogram/assets/icon/delete.png create mode 100644 miniprogram/assets/icon/info.png create mode 100644 miniprogram/assets/icon/info_active.png create mode 100644 miniprogram/assets/icon/journal.png create mode 100644 miniprogram/assets/icon/journal_active.png create mode 100644 miniprogram/assets/icon/moment.png create mode 100644 miniprogram/assets/icon/moment_active.png create mode 100644 miniprogram/assets/icon/play.png create mode 100644 miniprogram/assets/icon/portfolio.png create mode 100644 miniprogram/assets/icon/portfolio_active.png create mode 100644 miniprogram/assets/icon/travel.png create mode 100644 miniprogram/assets/icon/travel_active.png create mode 100644 miniprogram/assets/image/logo.png create mode 100644 miniprogram/components/background/snowflake/index.json create mode 100644 miniprogram/components/background/snowflake/index.less create mode 100644 miniprogram/components/background/snowflake/index.ts create mode 100644 miniprogram/components/background/snowflake/index.wxml create mode 100644 miniprogram/components/search-list/index.json create mode 100644 miniprogram/components/search-list/index.less create mode 100644 miniprogram/components/search-list/index.ts create mode 100644 miniprogram/components/search-list/index.wxml create mode 100644 miniprogram/config/index.ts create mode 100644 miniprogram/package-lock.json create mode 100644 miniprogram/package.json create mode 100644 miniprogram/pages/index/index.json create mode 100644 miniprogram/pages/index/index.less create mode 100644 miniprogram/pages/index/index.ts create mode 100644 miniprogram/pages/index/index.wxml create mode 100644 miniprogram/pages/main/about/index.json create mode 100644 miniprogram/pages/main/about/index.less create mode 100644 miniprogram/pages/main/about/index.ts create mode 100644 miniprogram/pages/main/about/index.wxml create mode 100644 miniprogram/pages/main/journal-creater/index.json create mode 100644 miniprogram/pages/main/journal-creater/index.less create mode 100644 miniprogram/pages/main/journal-creater/index.ts create mode 100644 miniprogram/pages/main/journal-creater/index.wxml create mode 100644 miniprogram/pages/main/journal-list/index.json create mode 100644 miniprogram/pages/main/journal-list/index.less create mode 100644 miniprogram/pages/main/journal-list/index.ts create mode 100644 miniprogram/pages/main/journal-list/index.wxml create mode 100644 miniprogram/pages/main/journal/index.json create mode 100644 miniprogram/pages/main/journal/index.less create mode 100644 miniprogram/pages/main/journal/index.ts create mode 100644 miniprogram/pages/main/journal/index.wxml create mode 100644 miniprogram/pages/main/moment/index.json create mode 100644 miniprogram/pages/main/moment/index.less create mode 100644 miniprogram/pages/main/moment/index.ts create mode 100644 miniprogram/pages/main/moment/index.wxml create mode 100644 miniprogram/pages/main/portfolio/index.json create mode 100644 miniprogram/pages/main/portfolio/index.less create mode 100644 miniprogram/pages/main/portfolio/index.ts create mode 100644 miniprogram/pages/main/portfolio/index.wxml create mode 100644 miniprogram/pages/main/travel/index.json create mode 100644 miniprogram/pages/main/travel/index.less create mode 100644 miniprogram/pages/main/travel/index.ts create mode 100644 miniprogram/pages/main/travel/index.wxml create mode 100644 miniprogram/pages/main/travel/luggage/index.json create mode 100644 miniprogram/pages/main/travel/luggage/index.less create mode 100644 miniprogram/pages/main/travel/luggage/index.ts create mode 100644 miniprogram/pages/main/travel/luggage/index.wxml create mode 100644 miniprogram/tdesign.wxss create mode 100644 miniprogram/utils/Cooker.ts create mode 100644 miniprogram/utils/Events.ts create mode 100644 miniprogram/utils/IOSize.ts create mode 100644 miniprogram/utils/Storage.ts create mode 100644 miniprogram/utils/Time.ts create mode 100644 miniprogram/utils/Toolkit.ts create mode 100644 project.config.json create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b92f0ab --- /dev/null +++ b/.gitignore @@ -0,0 +1,61 @@ +# 依赖目录 +node_modules/ +miniprogram_npm/ + +# 构建输出目录 +dist/ +unpackage/ + +# 环境变量文件 +.env.* +!.env.example + +# 日志文件 +logs/ +*.log + +# 操作系统文件 +.DS_Store +Thumbs.db +desktop.ini + +# 编辑器目录和设置 +.idea/ +.vscode/ +*.swp +*.swo +*~ + +# 微信开发者工具生成文件 +project.private.config.json +sitemap.json +typings/ + +# 临时文件 +*.tmp +*.temp +*.bak + +# 调试文件 +debug.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# 本地配置 +config/local.js +settings/private.json + +# 云开发相关(如使用) +cloudfunctions/**/node_modules/ +cloudfunctions/**/*.log + +# 其他 +*.zip +*.rar +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +[Tt]humbs.db \ No newline at end of file diff --git a/miniprogram/app.json b/miniprogram/app.json new file mode 100644 index 0000000..15f2879 --- /dev/null +++ b/miniprogram/app.json @@ -0,0 +1,66 @@ +{ + "pages": [ + "pages/index/index", + "pages/main/journal/index", + "pages/main/journal-creater/index", + "pages/main/portfolio/index", + "pages/main/travel/index", + "pages/main/about/index", + "pages/main/travel/luggage/index", + "pages/main/moment/index", + "pages/main/journal-list/index" + ], + "window": { + "navigationStyle": "custom", + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#FFFFFF" + }, + "lazyCodeLoading": "requiredComponents", + "tabBar": { + "color": "#8a8a8a", + "selectedColor": "#07C160", + "backgroundColor": "#ffffff", + "borderStyle": "white", + "list": [ + { + "text": "归档", + "pagePath": "pages/main/journal/index", + "iconPath": "assets/icon/journal.png", + "selectedIconPath": "assets/icon/journal_active.png" + }, + { + "text": "专拍", + "pagePath": "pages/main/portfolio/index", + "iconPath": "assets/icon/portfolio.png", + "selectedIconPath": "assets/icon/portfolio_active.png" + }, + { + "text": "瞬间", + "pagePath": "pages/main/moment/index", + "iconPath": "assets/icon/moment.png", + "selectedIconPath": "assets/icon/moment_active.png" + }, + { + "text": "旅行", + "pagePath": "pages/main/travel/index", + "iconPath": "assets/icon/travel.png", + "selectedIconPath": "assets/icon/travel_active.png" + }, + { + "text": "关于", + "pagePath": "pages/main/about/index", + "iconPath": "assets/icon/info.png", + "selectedIconPath": "assets/icon/info_active.png" + } + ] + }, + "permission": { + "scope.userLocation": { + "desc": "您的位置信息将用于发布新的日记记录定位" + } + }, + "requiredPrivateInfos": [ + "getLocation", + "chooseLocation" + ] +} \ No newline at end of file diff --git a/miniprogram/app.ts b/miniprogram/app.ts new file mode 100644 index 0000000..db4f490 --- /dev/null +++ b/miniprogram/app.ts @@ -0,0 +1,7 @@ +// app.ts +App({ + globalData: { + }, + onLaunch() { + }, +}) \ No newline at end of file diff --git a/miniprogram/app.wxss b/miniprogram/app.wxss new file mode 100644 index 0000000..099cf50 --- /dev/null +++ b/miniprogram/app.wxss @@ -0,0 +1,2 @@ +/**app.wxss**/ +@import "./tdesign.wxss"; \ No newline at end of file diff --git a/miniprogram/assets/icon/delete.png b/miniprogram/assets/icon/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..2b451198e588b4231f9354a31827106694dd094f GIT binary patch literal 416 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z{#e^}Nvgp}wbiZrs@yVt@4juO@FnL+tk4 z-6xK3In!XY_tZ!C+q{+sVxN3gOMc!;fV1GAB(CM2E!e#SJHcgzTeflThhu{m^-1N@Wivc9xnERLn}dwzK_%if7HQdW$t_2d+Kwof=q_Vf8y`S6%tziT@9HUB1?`-CNrB zwz8S}3&XR2av9w&uYrffMV9}-;Qjx9&(BxRKn5EqfSDP-Hy;XI&0xX~6k+gm^>bP0 Hl+XkK1)sN2 literal 0 HcmV?d00001 diff --git a/miniprogram/assets/icon/info.png b/miniprogram/assets/icon/info.png new file mode 100644 index 0000000000000000000000000000000000000000..a59e6c1a9f62860d59d1d04f15ca49a9f1fdb66f GIT binary patch literal 1839 zcmV+~2hjM5P)eh^}Xa0YB ze{Cl4hPWBw>GX#9hS-5X2NUl~JP5=uOCH}8`M$`HpYls-e=qV^5@Yj(9)0%}mHWQ# zRf)g>0Sr)DaDFN{NC2W20+@M1hravbe)DvSiQB$z2@wq7Bu#+mkuW;$qLiUJ&QtNmz0L0Vs3V11OiPzV+jsXP_NPhIQO|gj!O#OUqQ@aS?kc&fI1F=3c0L{4SS_iTAQx4bU`~b8IXOnC}WW;s~Bc8;0rDFa_t^7#jq#8+# z2W<;ty$YUU10y?4NW>erA|*LkFGAd4o7wjZ+Y7Ca+qFb>2YMY$iYC`9;#K4W&!Fb_MLG zr4Zv?9Znd}`DZR?^{GnC0cRuU8*k7NgJUJ+1};ZkH1nT=n5{L9Waa1VFOGWEnWzdD zTRymAvxufDF+*$`c_E0I%Q@{Sh-Za&r%m7uvCXKdF$FPi;n5OqT0V|K&OdWGXE+7% ztWY}HNEyELYZb)&GviBBE6I<3TT|xGuXiP$Q7r1Ls>FYi$yeXbIseS%jA*J7YvRq4 zK3hCi$B&%NjFv*oZ_qZ49!Q~n!@--=gY@Pg=7-Co6&YB6{)wFTC_pJrL3C}=8+*t5B{r4|5+f2hqbN-}v3f9k26Gehy$kMzf!T=!OhY zCBDj2TAsNQGY4EQqy@1)7weCeTo^mhpw2UY$Z3#f3!)OvPbDiv28IqaAwLo+$sdOp z584()H`J@(KaR{FRaR9Y2umPZh5A!cd8OFdL&7iL#CQ)s*`{+a=jOw$O}|SZa^hgk z##EyRjca=ef3{M{UVgIO)m7-`r4S{Qw>5x%9fOUdhOZ>xn76S!?SMsjt%0Z-t&TQ~J45O%5Z9ii6@LaOzg53pvIZh3V-A4KLC|{^5x0j& zj#r`NakKvcv8i>bP=kzZZAC9NAA1C#ZJeW2fwpphtJ*CPIjTXL1G4_38s_gUc8ls$g*g`Ss=_?C zs=pN?XFxhj^h2fsj_bE>c`zp(`b&Vp;Z#L*L?fPl0;oHP37LYzeb zQ(vNStw+nAhZ-N?@saI{M_ei}&u{MchA1Gx0x4KQn+uVsEAeZ$JA3XAaQuzg zGOzl?6|r<{_kb9|1x&$9BIa`of@>iBTP}b~jDaQ~5qo~i?=Jh@P7-4;Y)Iovdtyvd$T#9ao>`b z9pF?Q+x+miGTb;1I;(YH^dGEI+*wm00960>HNdi00006 dNkl}E11}uXxU=M*wQ=gOTT$d$FvLrubb9B4j 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 SPM0r05e83JKbLh*2~7ZOkvyUR literal 0 HcmV?d00001 diff --git a/miniprogram/assets/icon/moment.png b/miniprogram/assets/icon/moment.png new file mode 100644 index 0000000000000000000000000000000000000000..98eb0f20a76127f7d168b5b6c4a322c6cb787724 GIT binary patch literal 2000 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 literal 0 HcmV?d00001 diff --git a/miniprogram/assets/image/logo.png b/miniprogram/assets/image/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..149d600e0268592e81e2638b3362739051e2c4a4 GIT binary patch literal 69266 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 { + this.createSnowflake(); + console.log(this.data.snowflakes); + + if (40 < this.data.snowflakes.length) { + if (this.data.timer) { + clearInterval(this.data.timer); + } + this.setData({ + timer: undefined + }) + } + }, 2000) + }); + }, + detached() { + if (this.data.timer) { + clearInterval(this.data.timer); + this.setData({ + timer: undefined + }) + } + } + } +}) \ No newline at end of file diff --git a/miniprogram/components/background/snowflake/index.wxml b/miniprogram/components/background/snowflake/index.wxml new file mode 100644 index 0000000..96ba115 --- /dev/null +++ b/miniprogram/components/background/snowflake/index.wxml @@ -0,0 +1,9 @@ + + + + diff --git a/miniprogram/components/search-list/index.json b/miniprogram/components/search-list/index.json new file mode 100644 index 0000000..7efff18 --- /dev/null +++ b/miniprogram/components/search-list/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram/components/search-list/index.less b/miniprogram/components/search-list/index.less new file mode 100644 index 0000000..94c579a --- /dev/null +++ b/miniprogram/components/search-list/index.less @@ -0,0 +1 @@ +/* components/search-list/index.wxss */ \ No newline at end of file diff --git a/miniprogram/components/search-list/index.ts b/miniprogram/components/search-list/index.ts new file mode 100644 index 0000000..feada99 --- /dev/null +++ b/miniprogram/components/search-list/index.ts @@ -0,0 +1,24 @@ +// components/search-list/index.ts +Component({ + + /** + * 组件的属性列表 + */ + properties: { + + }, + + /** + * 组件的初始数据 + */ + data: { + + }, + + /** + * 组件的方法列表 + */ + methods: { + + } +}) \ No newline at end of file diff --git a/miniprogram/components/search-list/index.wxml b/miniprogram/components/search-list/index.wxml new file mode 100644 index 0000000..e6a7fc2 --- /dev/null +++ b/miniprogram/components/search-list/index.wxml @@ -0,0 +1,2 @@ + +components/search-list/index.wxml \ No newline at end of file diff --git a/miniprogram/config/index.ts b/miniprogram/config/index.ts new file mode 100644 index 0000000..1c64fb6 --- /dev/null +++ b/miniprogram/config/index.ts @@ -0,0 +1,17 @@ +const envArgs = { + develop: { + url: "http://localhost:8091" + }, + trial: { + url: "https://api.imyeyu.com" + }, + release: { + url: "https://api.imyeyu.com" + } +} + +const env = wx.getAccountInfoSync().miniProgram.envVersion; + +export default { + ...envArgs[env] +} diff --git a/miniprogram/package-lock.json b/miniprogram/package-lock.json new file mode 100644 index 0000000..33180fa --- /dev/null +++ b/miniprogram/package-lock.json @@ -0,0 +1,30 @@ +{ + "name": "miniprogram", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "miniprogram", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "tdesign-miniprogram": "^1.11.2" + }, + "devDependencies": { + "miniprogram-api-typings": "^4.1.0" + } + }, + "node_modules/miniprogram-api-typings": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/miniprogram-api-typings/-/miniprogram-api-typings-4.1.0.tgz", + "integrity": "sha512-4RBsz27nBKyRkVGoNkRaPx24/KeJBw3zaaIlXDR8s/WBh2PbcUAc+q7wLLbp7Qsmb3bLzzUu7tqAti+B06kmjg==", + "dev": true + }, + "node_modules/tdesign-miniprogram": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/tdesign-miniprogram/-/tdesign-miniprogram-1.11.2.tgz", + "integrity": "sha512-lXcry3vRa9jHzjpOdIxuIAh7F85kImym82VwLbCqr/TkMhycOsOepx+r1S9fum7u2nsWiYRTV+HuvDHN3KlIuA==" + } + } +} diff --git a/miniprogram/package.json b/miniprogram/package.json new file mode 100644 index 0000000..685a6fd --- /dev/null +++ b/miniprogram/package.json @@ -0,0 +1,18 @@ +{ + "name": "miniprogram", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "tdesign-miniprogram": "^1.11.2" + }, + "devDependencies": { + "miniprogram-api-typings": "^4.1.0" + } +} \ No newline at end of file diff --git a/miniprogram/pages/index/index.json b/miniprogram/pages/index/index.json new file mode 100644 index 0000000..1839b2c --- /dev/null +++ b/miniprogram/pages/index/index.json @@ -0,0 +1,6 @@ +{ + "usingComponents": { + "t-button": "tdesign-miniprogram/button/button", + "t-input": "tdesign-miniprogram/input/input" + } +} \ No newline at end of file diff --git a/miniprogram/pages/index/index.less b/miniprogram/pages/index/index.less new file mode 100644 index 0000000..7f7fdc2 --- /dev/null +++ b/miniprogram/pages/index/index.less @@ -0,0 +1,60 @@ +/**index.wxss**/ +page { + height: 100vh; + display: flex; + flex-direction: column; +} + +.index { + flex: 1; + overflow-y: hidden; + + .container { + height: 100%; + display: flex; + padding: 200rpx 0; + box-sizing: border-box; + align-items: center; + flex-direction: column; + justify-content: space-between; + + .header { + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + + .logo { + width: 128px; + height: 128px; + display: block; + border-radius: 4px; + box-shadow: 2px 2px 8px rgba(0, 0, 0, .2); + margin-bottom: 1rem; + } + + .name { + margin: 0 .5rem; + display: inline-block; + + &.gao { + color: #FF7A9B; + } + + &.yeyu { + color: #7A9BFF; + } + } + } + + .password { + width: 20rem; + border-top: 1px solid rgba(0, 0, 0, .1); + border-bottom: 1px solid rgba(0, 0, 0, .1); + } + + .enter { + width: 10rem; + } + } +} \ No newline at end of file diff --git a/miniprogram/pages/index/index.ts b/miniprogram/pages/index/index.ts new file mode 100644 index 0000000..4fa6d4f --- /dev/null +++ b/miniprogram/pages/index/index.ts @@ -0,0 +1,46 @@ +// index.ts + +import config from "../../config/index" + +interface IndexData { + key: string; +} + +Page({ + data: { + key: "" + }, + onShow() { + const key = wx.getStorageSync("key"); + if (key) { + this.setData({ + key + }); + } + }, + navigateToMain() { + wx.request({ + url: `${config.url}/journal/list`, + method: "POST", + header: { + Key: this.data.key + }, + data: { + index: 0, + size: 1 + }, + success: (resp) => { + const data = resp.data as any; + if (data.code === 20000) { + wx.setStorageSync("key", this.data.key); + wx.switchTab({ + url: "/pages/main/journal/index", + }) + } else { + wx.showToast({ title: "密码错误", icon: "error" }); + } + }, + fail: () => wx.showToast({ title: "验证失败", icon: "error" }) + }); + } +}) diff --git a/miniprogram/pages/index/index.wxml b/miniprogram/pages/index/index.wxml new file mode 100644 index 0000000..6235c47 --- /dev/null +++ b/miniprogram/pages/index/index.wxml @@ -0,0 +1,18 @@ + + + + + + + 小糕 + + 夜雨 + 的美好记录 + + + + + + 进入 + + diff --git a/miniprogram/pages/main/about/index.json b/miniprogram/pages/main/about/index.json new file mode 100644 index 0000000..0be651a --- /dev/null +++ b/miniprogram/pages/main/about/index.json @@ -0,0 +1,9 @@ +{ + "component": true, + "usingComponents": { + "t-icon": "tdesign-miniprogram/icon/icon", + "t-button": "tdesign-miniprogram/button/button", + "t-navbar": "tdesign-miniprogram/navbar/navbar", + "snowflake": "../../../components/background/snowflake" + } +} \ No newline at end of file diff --git a/miniprogram/pages/main/about/index.less b/miniprogram/pages/main/about/index.less new file mode 100644 index 0000000..543101b --- /dev/null +++ b/miniprogram/pages/main/about/index.less @@ -0,0 +1,107 @@ +/* pages/info/info.less */ +page { + height: 100vh; + display: flex; + flex-direction: column; +} + +.info { + height: 100%; + display: flex; + padding: 100rpx 0; + box-sizing: border-box; + flex-direction: column; + + .cotainer { + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + + .header { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + + .logo { + width: 128px; + height: 128px; + display: block; + border-radius: 4px; + box-shadow: 2px 2px 8px rgba(0, 0, 0, .2); + margin-bottom: 1rem; + } + + .name { + margin: 0 .5rem; + display: inline-block; + + &.gao { + color: #FF7A9B; + } + + &.yeyu { + color: #7A9BFF; + } + } + } + + .text { + color: #777; + font-size: 12px; + text-align: center; + + .love { + color: transparent; + font-size: 1rem; + animation: loveGradient 1500ms linear infinite; + text-align: center; + background: linear-gradient(90deg, #FFB5C7, #FF7A9B, #FF3A6B, #FF7A9B, #FFB5C7); + font-weight: bold; + font-family: "Arial", sans-serif; + margin-bottom: 1rem; + background-size: 200% 100%; + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + + @keyframes loveGradient { + 0% { + background-position: 0% 50%; + } + 100% { + background-position: 200% 50%; + } + } + } + + .footer { + display: flex; + align-items: center; + flex-direction: column; + + .exit { + color: #E64340; + width: 10rem; + margin-bottom: 1rem; + } + + .item { + font-size: 14px; + text-align: center; + + .label { + color: #777; + } + + &.copyright { + display: flex; + font-size: 12px; + flex-direction: column; + } + } + } + } +} \ No newline at end of file diff --git a/miniprogram/pages/main/about/index.ts b/miniprogram/pages/main/about/index.ts new file mode 100644 index 0000000..b6fa09d --- /dev/null +++ b/miniprogram/pages/main/about/index.ts @@ -0,0 +1,64 @@ +// pages/info/info.ts + +import Time from "../../../utils/Time"; +import config from "../../../config/index" + +interface IAboutData { + timer?: number; + total?: number; + beginFriendText: string; +} + +Page({ + data: { + copyright: `Copyright © 2017 - ${new Date().getFullYear()} imyeyu.com`, + timer: undefined, + total: undefined, + beginFriendText: "相识 -- 天 -- 小时 -- 分钟 -- 秒", + beginLoveText: "相恋 -- 天 -- 小时 -- 分钟 -- 秒" + }, + onShow() { + const beginLove = new Date("2025/11/10 00:10:00"); + const beginFriend = new Date("2025/06/28 16:00:00"); + + const timer = setInterval(() => { + { + const r = Time.between(beginLove) + this.setData({ + beginLoveText: `相恋 ${r.d} 天 ${r.h} 小时 ${r.m.toString().padStart(2, "0")} 分钟 ${r.s.toString().padStart(2, "0")} 秒` + }) + } + { + const r = Time.between(beginFriend) + this.setData({ + beginFriendText: `相识 ${r.d} 天 ${r.h} 小时 ${r.m.toString().padStart(2, "0")} 分钟 ${r.s.toString().padStart(2, "0")} 秒` + }) + } + }, 1000) + this.setData({ + timer + }); + + + wx.request({ + url: `${config.url}/journal/total`, + method: "GET", + header: { + Key: wx.getStorageSync("key") + }, + success: (resp: any) => { + this.setData({ + total: resp.data.data + }); + } + }); + }, + onHide() { + this.data.timer && clearInterval(this.data.timer); + }, + exit() { + wx.redirectTo({ + "url": "/pages/index/index?from=info" + }) + } +}) \ No newline at end of file diff --git a/miniprogram/pages/main/about/index.wxml b/miniprogram/pages/main/about/index.wxml new file mode 100644 index 0000000..593657f --- /dev/null +++ b/miniprogram/pages/main/about/index.wxml @@ -0,0 +1,37 @@ + + + + + + + + + 记录 + 小糕 + + 夜雨 + 的美好回忆 + + + + {{beginLoveText}} + {{beginFriendText}} + 已留住 {{total}} 个我们的瞬间 + + + 退出 + + 开发者: + 夜雨 + + + 版本: + 1.2.2 + + + {{copyright}} + All Rights Reserved 夜雨 版权所有 + + + + \ No newline at end of file diff --git a/miniprogram/pages/main/journal-creater/index.json b/miniprogram/pages/main/journal-creater/index.json new file mode 100644 index 0000000..022469d --- /dev/null +++ b/miniprogram/pages/main/journal-creater/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "t-button": "tdesign-miniprogram/button/button", + "t-navbar": "tdesign-miniprogram/navbar/navbar" + } +} \ No newline at end of file diff --git a/miniprogram/pages/main/journal-creater/index.less b/miniprogram/pages/main/journal-creater/index.less new file mode 100644 index 0000000..a4c399e --- /dev/null +++ b/miniprogram/pages/main/journal-creater/index.less @@ -0,0 +1,101 @@ +/* pages/main/journal-creater/index.wxss */ +.container { + height: 100vh; + + .content { + width: calc(100% - 64px); + padding: 0 32px 32px 32px; + display: flex; + align-items: center; + flex-direction: column; + + .label { + color: #777; + } + + .section { + width: 100%; + margin-top: 1.5rem; + + &.time { + display: flex; + + .picker { + margin-right: .25rem; + } + } + + &.media { + + .ctrl { + display: flex; + + .clear { + width: 100px; + padding-left: 0; + padding-right: 0; + } + } + + .gallery { + gap: 10rpx; + display: grid; + margin-top: 1rem; + grid-template-columns: repeat(3, 1fr); + + .item { + height: 200rpx; + position: relative; + overflow: hidden; + background: #FFF; + box-shadow: 1px 1px 6px rgba(0, 0, 0, .1); + border-radius: 2rpx; + + .thumbnail { + height: 200rpx; + display: block; + } + + .video-container { + position: relative; + + + .play-icon { + top: 50%; + left: 50%; + width: 60rpx; + height: 60rpx; + z-index: 2; + position: absolute; + transform: translate(-50%, -50%); + pointer-events: none; + } + } + + + .delete { + top: 10rpx; + right: 10rpx; + width: 40rpx; + height: 40rpx; + z-index: 3; + padding: 5rpx; + position: absolute; + background: rgba(0, 0, 0, 0.5); + border-radius: 50%; + } + } + } + } + } + + .progress { + width: 100%; + } + + .submit { + width: 10rem; + margin-top: 1rem; + } + } +} \ No newline at end of file diff --git a/miniprogram/pages/main/journal-creater/index.ts b/miniprogram/pages/main/journal-creater/index.ts new file mode 100644 index 0000000..31a7cdd --- /dev/null +++ b/miniprogram/pages/main/journal-creater/index.ts @@ -0,0 +1,306 @@ +// pages/main/journal-creater/index.ts +import Events from "../../../utils/Events"; +import Time from "../../../utils/Time"; +import Toolkit from "../../../utils/Toolkit"; +import config from "../../../config/index"; + +enum MediaItemType { + IMAGE, + VIDEO +} + +type MediaItem = { + type: MediaItemType; + path: string; + thumbPath: string; + size: number; + duration: number | undefined; + raw: any; +} + +export type Location = { + lat: number; + lng: number; + text?: string; +} + +interface JournalEditorData { + idea: string; + date: string; + time: string; + mediaList: MediaItem[]; + location?: Location; + qqMapSDK?: any; + isAuthLocation: boolean; +} + +Page({ + data: { + idea: "", + date: "2025-06-28", + time: "16:00", + mediaList: [], + location: undefined, + submitText: "提交", + isSubmitting: false, + submitProgress: 0, + mediaItemTypeEnum: { + ...MediaItemType + }, + isAuthLocation: false + }, + async onLoad() { + // 授权定位 + const setting = await wx.getSetting(); + wx.setStorageSync("isAuthLocation", setting.authSetting["scope.userLocation"]); + let isAuthLocation = JSON.parse(wx.getStorageSync("isAuthLocation")); + this.setData({ isAuthLocation }); + if (!isAuthLocation) { + wx.authorize({ + scope: "scope.userLocation" + }).then(() => { + isAuthLocation = true; + this.setData({ isAuthLocation }); + }); + } + + const unixTime = new Date().getTime(); + this.setData({ + date: Time.toDate(unixTime), + time: Time.toTime(unixTime) + }); + // 获取默认定位 + wx.getLocation({ + type: "gcj02" + }).then(resp => { + this.setData({ + location: { + lat: resp.latitude, + lng: resp.longitude + }, + }); + const argLoc = `location=${this.data.location!.lat},${this.data.location!.lng}`; + const argKey = "key=WW5BZ-J4LCM-UIT6I-65MXY-Z5HDT-VRFFU"; + wx.request({ + url: `https://apis.map.qq.com/ws/geocoder/v1/?${argLoc}&${argKey}`, + success: res => { + if (res.statusCode === 200) { + this.setData({ + location: { + lat: this.data.location!.lat, + lng: this.data.location!.lng, + text: (res.data as any).result?.formatted_addresses?.recommend + } + }); + } + } + }); + }); + }, + async chooseLocation() { + const location = await wx.chooseLocation({}); + this.setData({ + location: { + lat: location.latitude, + lng: location.longitude, + text: location.name + } + }); + }, + addMedia() { + const that = this; + wx.chooseMedia({ + mediaType: ["mix"], + sourceType: ["album", "camera"], + camera: "back", + success(res) { + wx.showLoading({ + title: "加载中..", + mask: true + }) + const tempFiles = res.tempFiles; + const mediaList = tempFiles.map(item => { + return { + type: (MediaItemType)[item.fileType.toUpperCase()], + path: item.tempFilePath, + thumbPath: item.thumbTempFilePath, + size: item.size, + duration: item.duration, + raw: item + } as MediaItem; + }); + that.setData({ + mediaList: [...that.data.mediaList, ...mediaList] + }); + wx.hideLoading(); + } + }) + }, + clearMedia() { + wx.showModal({ + title: "提示", + content: "确认清空已选照片或视频吗?", + confirmText: "清空", + confirmColor: "#E64340", + cancelText: "取消", + success: res => { + if (res.confirm) { + this.setData({ + mediaList: [] + }); + } + } + }) + }, + preview(e: WechatMiniprogram.BaseEvent) { + wx.previewMedia({ + current: e.currentTarget.dataset.index, + sources: this.data.mediaList.map(item => { + return { + url: item.path, + type: MediaItemType[item.type].toLowerCase() + } as WechatMiniprogram.MediaSource; + }) + }); + }, + deleteMedia(e: WechatMiniprogram.BaseEvent) { + const index = e.currentTarget.dataset.index; + const mediaList = [...this.data.mediaList]; + mediaList.splice(index, 1); + this.setData({ + mediaList + }); + }, + cancel() { + wx.switchTab({ + url: "/pages/main/journal/index", + }) + }, + submit() { + const handleFail = () => { + wx.showToast({ title: "上传失败", icon: "error" }); + this.setData({ + submitText: "提交", + isSubmitting: false + }) + }; + + this.setData({ + submitText: "正在提交..", + isSubmitting: true + }) + + // 获取 openId + const getOpenId = new Promise((resolve, reject) => { + wx.login({ + success: (res) => { + if (res.code) { + wx.request({ + url: `${config.url}/journal/openid`, + method: "POST", + header: { + Key: wx.getStorageSync("key") + }, + data: { + code: res.code + }, + success: (resp) => { + const data = resp.data as any; + if (data.code === 20000) { + resolve(data.data); + } else { + reject(new Error("获取 openId 失败")); + } + }, + fail: () => reject(new Error("获取 openId 请求失败")) + }); + } else { + reject(new Error("获取登录凭证失败")); + } + }, + fail: () => reject(new Error("登录失败")) + }); + }); + // 文件上传 + const uploadFiles = new Promise((resolve, reject) => { + const mediaList = this.data.mediaList || []; + const total = mediaList.length; + let completed = 0; + + if (total === 0) { + resolve([]); + return; + } + // 更新进度初始状态 + this.setData({ + submitProgress: 0, + }); + + const uploadPromises = mediaList.map((item) => { + return new Promise((uploadResolve, uploadReject) => { + wx.uploadFile({ + url: `${config.url}/temp/file/upload`, + filePath: item.path, + name: "file", + success: (resp) => { + const result = JSON.parse(resp.data); + if (result && result.code === 20000) { + completed++; + // 更新进度 + this.setData({ + submitProgress: (completed / total), + }); + uploadResolve(result.data[0].id); + } else { + uploadReject(new Error(`文件上传失败: ${result?.message || '未知错误'}`)); + } + }, + fail: (err) => uploadReject(new Error(`文件上传失败: ${err.errMsg}`)) + }); + }); + }); + // 并行执行所有文件上传 + Promise.all(uploadPromises).then((tempFileIds) => { + this.setData({ + submitProgress: 1, + }); + resolve(tempFileIds); + }).catch(reject); + }); + // 并行执行获取 openId 和文件上传 + Promise.all([getOpenId, uploadFiles]).then(([openId, tempFileIds]) => { + wx.request({ + url: `${config.url}/journal/create`, + method: "POST", + header: { + Key: wx.getStorageSync("key") + }, + data: { + type: "NORMAL", + idea: this.data.idea, + createdAt: Date.parse(`${this.data.date} ${this.data.time}`), + lat: this.data.location?.lat, + lng: this.data.location?.lng, + location: this.data.location?.text, + pusher: openId, + tempFileIds + }, + success: async (resp: any) => { + Events.emit("JOURNAL_REFRESH"); + wx.showToast({ title: "提交成功", icon: "success" }); + this.setData({ + idea: "", + mediaList: [], + submitText: "提交", + isSubmitting: false, + }); + await Toolkit.sleep(1000); + wx.switchTab({ + url: "/pages/main/journal/index", + }) + }, + fail: handleFail + }); + }).catch(handleFail); + } +}); \ No newline at end of file diff --git a/miniprogram/pages/main/journal-creater/index.wxml b/miniprogram/pages/main/journal-creater/index.wxml new file mode 100644 index 0000000..a9e2957 --- /dev/null +++ b/miniprogram/pages/main/journal-creater/index.wxml @@ -0,0 +1,104 @@ + + + 取消 + + + + +