diff --git a/project.private.config.json b/project.private.config.json
index 4f154fc..8f51ac2 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -23,13 +23,20 @@
"miniprogram": {
"list": [
{
- "name": "我的",
- "pathName": "pages/my/index",
+ "name": "我的帖子",
+ "pathName": "pages/myWall/index",
"query": "",
"scene": null,
"launchMode": "default"
},
{
+ "name": "我的",
+ "pathName": "pages/my/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
"name": "视频详情",
"pathName": "pages/videoDetail/index",
"query": "",
diff --git a/src/app.json b/src/app.json
index ba0fff1..8ba1b92 100644
--- a/src/app.json
+++ b/src/app.json
@@ -20,7 +20,8 @@
"pages/heartDetail/index",
"pages/videoList/index",
"pages/videoDetail/index",
- "pages/articleDetail/index"
+ "pages/articleDetail/index",
+ "pages/myWall/index"
],
"subPackages": [
{
diff --git a/src/images/icon30.png b/src/images/icon30.png
new file mode 100644
index 0000000..2a63d50
Binary files /dev/null and b/src/images/icon30.png differ
diff --git a/src/images/icon31.png b/src/images/icon31.png
new file mode 100644
index 0000000..e0eed7e
Binary files /dev/null and b/src/images/icon31.png differ
diff --git a/src/images/icon32.png b/src/images/icon32.png
new file mode 100644
index 0000000..32ed58a
Binary files /dev/null and b/src/images/icon32.png differ
diff --git a/src/images/icon33.png b/src/images/icon33.png
new file mode 100644
index 0000000..2b929bc
Binary files /dev/null and b/src/images/icon33.png differ
diff --git a/src/images/icon34.png b/src/images/icon34.png
new file mode 100644
index 0000000..30378f5
Binary files /dev/null and b/src/images/icon34.png differ
diff --git a/src/images/icon35.png b/src/images/icon35.png
new file mode 100644
index 0000000..23d164e
Binary files /dev/null and b/src/images/icon35.png differ
diff --git a/src/images/icon36.png b/src/images/icon36.png
new file mode 100644
index 0000000..850ba4c
Binary files /dev/null and b/src/images/icon36.png differ
diff --git a/src/images/icon37.png b/src/images/icon37.png
new file mode 100644
index 0000000..b9828c7
Binary files /dev/null and b/src/images/icon37.png differ
diff --git a/src/images/icon38.png b/src/images/icon38.png
new file mode 100644
index 0000000..87a72c2
Binary files /dev/null and b/src/images/icon38.png differ
diff --git a/src/images/icon39.png b/src/images/icon39.png
new file mode 100644
index 0000000..4e9f016
Binary files /dev/null and b/src/images/icon39.png differ
diff --git a/src/pages/my/index.scss b/src/pages/my/index.scss
index 7616951..378bdc9 100644
--- a/src/pages/my/index.scss
+++ b/src/pages/my/index.scss
@@ -5,3 +5,132 @@ page {
width: 266rpx;
height: 58rpx;
}
+
+.page {
+ .user {
+ margin: 40rpx;
+ display: flex;
+ gap: 24rpx;
+ .avatar {
+ width: 100rpx;
+ height: 100rpx;
+ border-radius: 50%;
+ border: 1px solid #fff;
+ }
+ .wrap {
+ margin-top: 6rpx;
+ .name {
+ color: #1e293b;
+ font-size: 36rpx;
+ font-weight: 700;
+ line-height: 44rpx;
+ }
+ .content {
+ margin-top: 12rpx;
+ color: rgba(148, 163, 184, 1);
+ font-size: 28rpx;
+ line-height: 32rpx;
+ .high {
+ display: inline;
+ font-weight: bold;
+ color: #2f82a9;
+ }
+ }
+ }
+ }
+ .kkd {
+ margin: 20rpx 40rpx;
+ display: flex;
+ align-items: center;
+ gap: 30rpx;
+ .k-item {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 32rpx;
+ border-radius: 32rpx;
+ border: 2rpx solid #fff;
+ background: linear-gradient(180deg, #e6eff4 0%, #fff 100%);
+ box-shadow: 0 8rpx 64rpx 0 rgba(0, 99, 132, 0.08);
+ box-sizing: border-box;
+ font-size: 32rpx;
+ color: rgba(30, 41, 59, 1);
+ font-weight: bold;
+ .icon {
+ width: 84rpx;
+ height: 84rpx;
+ }
+ }
+ }
+ .list {
+ margin: 30rpx 40rpx;
+ background-color: #fff;
+ border-radius: 32rpx;
+ padding: 0 32rpx;
+ .list-item {
+ padding: 32rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border-bottom: 1rpx solid #f1f5f9;
+ &:last-of-type {
+ border: none;
+ }
+ .icon {
+ flex-shrink: 0;
+ width: 48rpx;
+ height: 48rpx;
+ }
+ .content {
+ font-size: 32rpx;
+ color: rgba(30, 41, 59, 1);
+ }
+ .arrow {
+ font-size: 32rpx;
+ color: rgba(148, 163, 184, 1);
+ }
+ }
+ }
+ .public-office {
+ margin: 30rpx 40rpx;
+ padding: 32rpx;
+ border-radius: 32rpx;
+ border: 1px solid #fff;
+ background: rgba(255, 255, 255, 0.7);
+ box-sizing: border-box;
+ display: flex;
+ justify-content: space-between;
+ .wrap {
+ .title {
+ margin-bottom: 18rpx;
+ padding-bottom: 18rpx;
+ font-size: 32rpx;
+ color: rgba(30, 41, 59, 1);
+ line-height: 48rpx;
+ border-bottom: 1px dashed rgba(47, 130, 169, 0.35);
+ .high {
+ display: inline;
+ color: #2f82a9;
+ }
+ }
+ .content {
+ font-size: 32rpx;
+ color: rgba(47, 130, 169, 1);
+ display: flex;
+ align-items: center;
+ gap: 12rpx;
+ .icon {
+ width: 56rpx;
+ height: 32rpx;
+ }
+ }
+ }
+ .code {
+ flex-shrink: 0;
+ width: 200rpx;
+ height: 200rpx;
+ border-radius: 12rpx;
+ }
+ }
+}
diff --git a/src/pages/my/index.wxml b/src/pages/my/index.wxml
index 04c3ba4..67a3dba 100644
--- a/src/pages/my/index.wxml
+++ b/src/pages/my/index.wxml
@@ -1,3 +1,68 @@
+
+
+
+
+
+ 张小山
+
+ 星动守护您的第
+ 15
+ 天~
+
+
+
+
+
+ 我的帖子
+
+
+
+ 健康档案
+
+
+
+
+
+
+ 我的评论
+
+
+
+
+ 我的收藏
+
+
+
+
+ 个人信息
+
+
+
+
+ 隐私协议
+
+
+
+
+
+
+ 关注公众号
+
+ 及时
+ 获取系统消息
+
+
+
+ 长按识别二维码
+
+
+
+
+
+
diff --git a/src/pages/myWall/index.json b/src/pages/myWall/index.json
new file mode 100644
index 0000000..5c0f8d9
--- /dev/null
+++ b/src/pages/myWall/index.json
@@ -0,0 +1,9 @@
+{
+ "navigationStyle": "custom",
+ "usingComponents": {
+ "popup": "/components/popup/index",
+ "navbar": "/components/navbar/index",
+ "uploadFile": "/components/uploadFile/index",
+ "van-popup": "@vant/weapp/popup/index"
+ }
+}
diff --git a/src/pages/myWall/index.scss b/src/pages/myWall/index.scss
new file mode 100644
index 0000000..70e114d
--- /dev/null
+++ b/src/pages/myWall/index.scss
@@ -0,0 +1,176 @@
+page {
+ background-color: #f7fafc;
+}
+
+.page-title {
+ font-size: 36rpx;
+ color: rgba(51, 51, 51, 1);
+}
+
+.page {
+ padding-bottom: 260rpx;
+ .list {
+ padding: 0 30rpx;
+ .list-card {
+ margin-top: 30rpx;
+ position: relative;
+ padding: 36rpx 32rpx 12rpx;
+ border-radius: 32rpx;
+ border: 2rpx solid #f1f5f9;
+ background: #fff;
+ box-shadow: 0 16rpx 48rpx -8rpx rgba(0, 99, 132, 0.06);
+ box-sizing: border-box;
+ .status {
+ display: inline-block;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ padding: 8rpx 16rpx;
+ border-radius: 12rpx;
+ box-sizing: border-box;
+ &.status1 {
+ color: rgba(100, 116, 139, 1);
+ background: rgba(100, 116, 139, 0.08);
+ }
+ &.status2 {
+ color: rgba(234, 88, 26, 1);
+ background-color: rgba(234, 88, 26, 0.08);
+ }
+ &.status3 {
+ color: rgba(186, 26, 26, 1);
+ background-color: rgba(186, 26, 26, 0.08);
+ }
+ &.status4 {
+ color: rgba(45, 190, 141, 1);
+ background-color: rgba(45, 190, 141, 0.08);
+ }
+ }
+ .content {
+ margin-top: 32rpx;
+ font-size: 32rpx;
+ color: rgba(24, 28, 30, 1);
+ line-height: 52rpx;
+ .c-topic {
+ display: inline;
+ font-size: 32rpx;
+ color: rgba(47, 130, 169, 1);
+ }
+ }
+ .tags {
+ margin-top: 24rpx;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 16rpx;
+ .tag {
+ padding: 0 24rpx;
+ height: 48rpx;
+ font-size: 24rpx;
+ color: rgba(47, 130, 169, 1);
+ display: flex;
+ align-items: center;
+ background-color: rgba(47, 130, 169, 0.05);
+ border-radius: 12rpx;
+ }
+ }
+ .photo1 {
+ margin-top: 24rpx;
+ height: 352rpx;
+ border-radius: 24rpx;
+ }
+ .photo9 {
+ margin-top: 24rpx;
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 16rpx;
+ .p-item {
+ width: 100%;
+ aspect-ratio: 1 / 1;
+ .p-img {
+ width: 100%;
+ height: 100%;
+ border-radius: 24rpx;
+ }
+ }
+ }
+ .date {
+ padding: 32rpx 0;
+ font-size: 28rpx;
+ color: rgba(148, 163, 184, 1);
+ line-height: 32rpx;
+ border-bottom: 1px solid rgba(241, 245, 249, 1);
+ }
+ .rejected {
+ padding: 16rpx 24rpx;
+ border-radius: 16rpx;
+ background: rgba(186, 26, 26, 0.08);
+ box-sizing: border-box;
+ font-size: 28rpx;
+ color: rgba(186, 26, 26, 1);
+ line-height: 32rpx;
+ .icon {
+ display: inline-block;
+ flex-shrink: 0;
+ margin-right: 16rpx;
+ width: 32rpx;
+ height: 32rpx;
+ vertical-align: middle;
+ }
+ .blod {
+ display: inline-block;
+ font-weight: bold;
+ }
+ }
+ .footer {
+ padding: 32rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .public {
+ display: flex;
+ align-items: center;
+ gap: 12rpx;
+ color: #475569;
+ font-size: 28rpx;
+ font-weight: 500;
+ line-height: 40rpx;
+ .icon {
+ width: 44rpx;
+ height: 44rpx;
+ }
+ }
+ .btn-wrap {
+ display: flex;
+ gap: 16rpx;
+ .btn1 {
+ display: flex;
+ width: 164rpx;
+ height: 64rpx;
+ padding: 24rpx 0;
+ justify-content: center;
+ align-items: center;
+ border-radius: 102rpx;
+ border: 1px solid #e5e7eb;
+ box-sizing: border-box;
+ color: #64748b;
+ font-size: 32rpx;
+ line-height: 48rpx;
+ }
+ .btn2 {
+ display: flex;
+ width: 164rpx;
+ height: 64rpx;
+ padding: 32rpx 0;
+ justify-content: center;
+ align-items: center;
+ border-radius: 102rpx;
+ background: var(--, linear-gradient(270deg, #439fc7 0%, #2f82a9 100%));
+ box-sizing: border-box;
+ color: #fff;
+ text-align: center;
+ font-size: 32rpx;
+ line-height: 48rpx;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/pages/myWall/index.ts b/src/pages/myWall/index.ts
new file mode 100644
index 0000000..154aa29
--- /dev/null
+++ b/src/pages/myWall/index.ts
@@ -0,0 +1,103 @@
+const app = getApp()
+
+Page({
+ data: {
+ popupShow: false,
+ popupType: '',
+ popupParams: {
+ position: 'bottom',
+ } as any,
+
+ topicShow: false,
+ replayShow: true,
+
+ fileList: [] as any[],
+ },
+ onLoad() {
+ app.waitLogin({ type: 0 }).then(() => {})
+ },
+ handlePopupOk() {
+ const { popupType } = this.data
+ if (popupType === 'argument') {
+ app.mpBehavior({ PageName: 'BTN_PATIENTLOG' })
+ wx.ajax({
+ method: 'POST',
+ url: '?r=wtx/user/agree-guest-privacy',
+ data: {
+ WorkerId: app.globalData.scene?.workerId || '',
+ },
+ }).then(() => {
+ this.setData({
+ popupShow: false,
+ popupType: '',
+ popupParams: {},
+ })
+ const waitBindDoctorId = app.globalData.waitBindDoctorId
+ if (waitBindDoctorId) {
+ this.handleBindDoctor(waitBindDoctorId)
+ }
+ })
+ }
+ if (popupType === 'conformBindDoctorConform') {
+ this.setData({
+ popupShow: false,
+ })
+ wx.ajax({
+ method: 'POST',
+ url: '?r=wtx/account/wait-bind-doctor',
+ data: {
+ doctorId: app.globalData.waitBindDoctorId,
+ },
+ }).then(() => {
+ wx.navigateTo({
+ url: `/patient/pages/login/index`,
+ })
+ })
+ }
+ },
+ handlePopupCancel() {
+ const { popupType } = this.data
+ if (popupType === 'argument') {
+ wx.exitMiniProgram()
+ }
+ if (popupType === 'conformBindDoctorConform') {
+ this.setData({
+ popupShow: false,
+ })
+ wx.ajax({
+ method: 'POST',
+ url: '?r=wtx/account/wait-bind-doctor',
+ data: {
+ doctorId: app.globalData.waitBindDoctorId,
+ },
+ }).then(() => {
+ app.globalData.waitBindDoctorId = ''
+ })
+ }
+ },
+ handleWechatWork() {
+ wx.navigateTo({
+ url: '/pages/wechatWork/index',
+ })
+ },
+ handleSetData(e) {
+ const { fileList } = this.data
+ this.setData({
+ fileList: [...fileList, ...e.detail],
+ })
+ },
+ handleDeleteFile(e) {
+ const { index } = e.detail
+ const { fileList } = this.data
+ this.setData({
+ fileList: fileList.filter((_, i) => i !== index),
+ })
+ },
+ topicClose() {
+ this.setData({
+ topicShow: false,
+ })
+ },
+})
+
+export {}
diff --git a/src/pages/myWall/index.wxml b/src/pages/myWall/index.wxml
new file mode 100644
index 0000000..61426bd
--- /dev/null
+++ b/src/pages/myWall/index.wxml
@@ -0,0 +1,51 @@
+
+
+
+ 我的帖子
+
+
+
+
+
+
+
+ 草稿
+
+ #我的心悸经历
+ #PSVT急救常识
+ 今天去复诊,把最近的发作记录都给医生看了,沟通效率高了很多,也更安心。原来平时记下时间和感受真的很有用。
+
+
+ 患者故事
+
+
+
+
+
+
+
+
+
+ 2026年7月1日 13:09
+
+
+ 驳回原因:
+ 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当
+ 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当 语言不当
+
+
+
+
+