southnote-mini-sdk 1.0.31 → 1.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/app.js +1 -1
  2. package/app.json +0 -3
  3. package/assets/file/badwords-compressed.js +1 -1
  4. package/assets/file/rules.js +1 -1
  5. package/components/bottomSheet/bottomSheet.js +1 -1
  6. package/components/experience-item/experience-item.js +1 -1
  7. package/components/grid-item/grid-item.js +1 -1
  8. package/components/post-item/post-item.js +1 -1
  9. package/components/post-item/post-item.wxml +7 -11
  10. package/components/wiki-renderer/wiki-renderer.js +1 -1
  11. package/components/wiki-renderer/wiki-renderer.wxml +1 -1
  12. package/components/wiki-tabs/wiki-tabs.js +1 -1
  13. package/index.js +1 -1
  14. package/package.json +1 -1
  15. package/pages/addGame/addGame.js +1 -1
  16. package/pages/addSubject/addSubject.js +1 -1
  17. package/pages/commonLogin/commonLogin.js +1 -1
  18. package/pages/copyOfficial/copyOfficial.js +1 -1
  19. package/pages/demo/demo.js +1 -1
  20. package/pages/game/game.js +1 -1
  21. package/pages/game/game.wxml +2 -2
  22. package/pages/lottery-winners/lottery-winners.js +1 -1
  23. package/pages/officialWebview/officialWebview.js +1 -1
  24. package/pages/post/post.js +1 -1
  25. package/pages/post/post.wxml +11 -19
  26. package/pages/post-editor/post-editor.js +1 -1
  27. package/pages/postDialog/postDialog.js +1 -1
  28. package/pages/postDialog/postDialog.wxml +4 -4
  29. package/pages/report-category/reporst-category.js +1 -1
  30. package/pages/report-category/report-category.js +1 -1
  31. package/pages/report-form/report-form.js +1 -1
  32. package/pages/sevenDaySignDetail/sevenDaySignDetail.js +1 -1
  33. package/pages/topic/topic.js +1 -1
  34. package/pages/webview/webview.js +1 -1
  35. package/pages/wheelActivivty/wheelActivivty.js +1 -1
  36. package/pages/wiki/wiki.js +1 -1
  37. package/request/JKRequest.js +1 -1
  38. package/services/home.js +1 -1
  39. package/utils/auth.js +1 -1
  40. package/utils/base64.js +1 -1
  41. package/utils/compressImage.js +1 -1
  42. package/utils/exp.js +1 -1
  43. package/utils/formatPost.js +1 -1
  44. package/utils/parseContent.js +1 -1
  45. package/utils/query-select.js +1 -1
  46. package/utils/sensitive.js +1 -1
  47. package/pages/user/user.js +0 -1
  48. package/pages/user/user.json +0 -5
  49. package/pages/user/user.wxml +0 -179
  50. package/pages/user/user.wxss +0 -340
  51. package/pages/userDatum/userDatum.js +0 -1
  52. package/pages/userDatum/userDatum.json +0 -4
  53. package/pages/userDatum/userDatum.wxml +0 -36
  54. package/pages/userDatum/userDatum.wxss +0 -41
  55. package/pages/userGameLib/userGameLib.js +0 -1
  56. package/pages/userGameLib/userGameLib.json +0 -4
  57. package/pages/userGameLib/userGameLib.wxml +0 -42
  58. package/pages/userGameLib/userGameLib.wxss +0 -119
@@ -1,179 +0,0 @@
1
- <view class="page">
2
- <!-- 蓝色头部 -->
3
- <view class="top-blue"></view>
4
-
5
- <!-- 用户信息卡片 -->
6
- <view class="user-card">
7
- <image class="avatar" src="{{userDetail.user.avatar ? userDetail.user.avatar : '../../assets/images/icons/header_placeholder.png'}}" mode="aspectFill" catch:tap="onPreviewAvatar" data-url="{{userDetail.user.avatar}}" />
8
- <view class="card-actions">
9
- <view class="icons">
10
- <!-- <image style="width: 23px;height: 18px;" src="/assets/images/icons/home_message.png" mode="aspectFill" /> -->
11
-
12
- <view wx:if="{{!isOwner}}" class="follow-btn {{userDetail.user.is_fans === 1 ? 'followed' : 'unfollow'}}" catchtap="onFollowTap" data-user="{{userDetail.user}}">
13
- {{userDetail.user.is_fans === 1 ? '已关注' : '+关注'}}
14
- </view>
15
- <view wx:else style="height: 36rpx;"></view>
16
- </view>
17
- </view>
18
-
19
- <view class="card-body">
20
- <view class="row-top">
21
- <view class="left">
22
- <view class="name-row">
23
- <text class="nickname">{{userDetail.user.nickname || '——'}}</text>
24
- <!-- <view wx:if="{{userDetail.user.gender == 1}}" class="gender male">男</view>
25
- <view wx:if="{{userDetail.user.gender == 2}}" class="gender female">女</view> -->
26
-
27
- <image wx:if="{{userDetail.user.gender > 0}}" style="width: 20px;height: 15px;padding: 2px 4px;background-color: #f5f4f9; border-radius: 8px;" src="{{userDetail.user.gender == 1 ? '/assets/images/icons/sex1.png':'/assets/images/icons/sex2.png'}}" mode="aspectFit" />
28
-
29
- <text class="more-info" bind:tap="gotoUserDatum">更多资料></text>
30
- </view>
31
- <view class="ip">IP属地:{{userDetail.user.ip || '未知'}}</view>
32
- <view class="bio" wx:if="{{userDetail.user.bio}}">简介:{{userDetail.user.bio}}</view>
33
- </view>
34
- </view>
35
-
36
- <!-- 四项统计 -->
37
- <view class="stats">
38
- <view class="stat"><text class="num">{{userDetail.user.posts_count || 0}}</text><text class="label">帖子</text></view>
39
- <view class="divider"></view>
40
- <view class="stat"><text class="num">{{userDetail.user.fans_count || 0}}</text><text class="label">粉丝</text></view>
41
- <view class="divider"></view>
42
- <view class="stat"><text class="num">{{userDetail.user.blacklist_count || 0}}</text><text class="label">黑粉</text></view>
43
- <view class="divider"></view>
44
- <view class="stat"><text class="num">{{userDetail.user.following_count || 0}}</text><text class="label">关注</text></view>
45
- </view>
46
- </view>
47
- </view>
48
-
49
- <!-- 游戏库卡片 -->
50
- <view class="game-card" wx:if="{{userDetail.games.length > 0}}">
51
- <view class="game-header">
52
- <text class="title">TA的游戏库</text>
53
- <text class="see-all" bind:tap="gotoUserGameLib">查看全部></text>
54
- </view>
55
-
56
- <scroll-view class="game-scroll" scroll-x="true" show-scrollbar="false">
57
- <view class="game-list">
58
- <block wx:for="{{userDetail.games || []}}" wx:for-item="g" wx:key="g">
59
- <view class="game-item" bind:tap="gotoGameCenter" data-id="{{g.id}}">
60
- <image class="game-icon" src="{{g.icon+'?x-oss-process=image/resize,w_256'}}" mode="aspectFill" />
61
- </view>
62
- </block>
63
- </view>
64
- </scroll-view>
65
- </view>
66
-
67
- <!-- 顶层 Tabs -->
68
- <van-tabs class="custom-tabs" active="{{active}}" bind:change="onChange" swipeable animated color="gray" line-width="20">
69
- <!-- 动态 -->
70
- <van-tab title="动态">
71
- <view style="height: 20rpx;background-color: #fff;"></view>
72
-
73
- <!-- 子 Tabs -->
74
- <van-tabs class="state-tabs" type="card" color="#002fa7" active="{{subActive}}" bind:change="onSubChange">
75
- <block wx:for="{{subTabs}}" wx:for-item="item" wx:key="filter">
76
- <van-tab title="{{item.title}}">
77
- <view class="post-list">
78
- <block wx:for="{{posts[item.filter]}}" wx:for-item="postItem" wx:key="item">
79
- <post-item item="{{postItem}}" itemType="user" bind:moreTap="onMoreTap" data-index="{{index}}" bind:followChanged="onFollowChanged" bind:videoPlay="onVideoPlay" id="postItem-{{item.filter}}-{{index}}" bind:pauseAllVideo="onPauseAllVideo"/>
80
- </block>
81
-
82
- <view wx:if="{{posts[item.filter].length === 0}}" class="empty">暂无内容</view>
83
- <view wx:else>
84
- <view wx:if="{{hasMore[item.filter]}}" class="load-more" bindtap="loadMore" data-filter="{{item.filter}}">
85
- {{loading[item.filter] ? '加载中...' : '点击加载更多'}}
86
- </view>
87
- <view wx:else class="load-more">已加载全部</view>
88
- </view>
89
- </view>
90
- </van-tab>
91
- </block>
92
- </van-tabs>
93
- </van-tab>
94
-
95
- <!-- 点评 -->
96
- <van-tab title="点评">
97
- <view class="post-list">
98
- <block wx:for="{{comments}}" wx:for-item="item" wx:key="item">
99
- <post-item item="{{item}}" itemType="user" bind:moreTap="onMoreTap" data-index="{{index}}" bind:videoPlay="onVideoPlay" id="postItem-{{index}}" bind:pauseAllVideo="onPauseAllVideo"/>
100
- </block>
101
- <view wx:if="{{comments.length === 0}}" class="empty">暂无内容</view>
102
- <view wx:else>
103
- <view wx:if="{{commentsHasMore}}" class="load-more" bindtap="queryUserComments">
104
- {{commentsLoading ? '加载中...' : '点击加载更多'}}
105
- </view>
106
- <view wx:else class="load-more">已加载全部</view>
107
- </view>
108
- </view>
109
- </van-tab>
110
-
111
- <!-- 收藏 -->
112
- <van-tab title="收藏">
113
- <view class="post-list">
114
- <block wx:for="{{collections}}" wx:for-item="item" wx:key="item">
115
- <post-item item="{{item}}" itemType="user" bind:moreTap="onMoreTap" data-index="{{index}}" bind:videoPlay="onVideoPlay" id="postItem-{{index}}" bind:pauseAllVideo="onPauseAllVideo"/>
116
- </block>
117
- <view wx:if="{{collections.length === 0}}" class="empty">暂无内容</view>
118
- <view wx:else>
119
- <view wx:if="{{collectionsHasMore}}" class="load-more" bindtap="queryUserCollections">
120
- {{collectionsLoading ? '加载中...' : '点击加载更多'}}
121
- </view>
122
- <view wx:else class="load-more">已加载全部</view>
123
- </view>
124
- </view>
125
- </van-tab>
126
- </van-tabs>
127
- </view>
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
-
137
- <!-- 更多弹窗 -->
138
- <view wx:if="{{moreSheetVisible}}" class="custom-sheet-wrapper" catchtap="onCloseMoreSheet">
139
- <view class="custom-sheet" catchtap="stopPropagation">
140
- <view class="sheet-buttons">
141
- <view wx:if="{{isOwner}}" class="sheet-button" bindtap="onDelete">
142
- <view class="icon-wrapper">
143
- <van-icon name="delete" size="30" />
144
- </view>
145
- <text class="sheet-text">删除</text>
146
- </view>
147
-
148
- <!-- 置顶/取消置顶按钮 -->
149
- <view wx:if="{{showPinButton}}" class="sheet-button" bindtap="onPinTap">
150
- <view class="icon-wrapper">
151
- <van-icon name="{{isPinned ? 'down' : 'back-top'}} " size="30" style="color: {{isPinned ? '#ff7d00' : '#333'}};" />
152
- </view>
153
- <text class="sheet-text">{{isPinned ? '取消置顶' : '主页置顶'}}</text>
154
- </view>
155
-
156
-
157
- <view class="sheet-button" bindtap="onReport">
158
- <view class="icon-wrapper">
159
- <van-icon name="warning" size="30" />
160
- </view>
161
- <text class="sheet-text">举报</text>
162
- </view>
163
-
164
-
165
- <!-- 收藏/取消收藏 -->
166
- <view class="sheet-button" bindtap="onFavorite">
167
- <view class="icon-wrapper">
168
- <van-icon name="star" size="30" color="{{moreSheetItem.post.is_collect === 1 ? '#ff7d00' : '#333'}}" />
169
- </view>
170
- <text class="sheet-text">{{moreSheetItem.post.is_collect === 1 ? '已收藏' : '收藏'}}</text>
171
- </view>
172
-
173
-
174
-
175
- </view>
176
- <view class="sheet-divider"></view>
177
- <view class="sheet-cancel" bindtap="onCloseMoreSheet">取消</view>
178
- </view>
179
- </view>
@@ -1,340 +0,0 @@
1
- /* 页面背景 */
2
- .page {
3
- background: #f3f5f7;
4
- min-height: 100vh;
5
- position: relative;
6
- }
7
-
8
- /* 蓝色头图(高度请根据截图调整) */
9
- .top-blue {
10
- height: 350rpx;
11
- background: #002FA7;
12
- /* 截图偏深蓝 */
13
- }
14
-
15
- /* 白卡片(悬浮在蓝色之上) */
16
- .user-card {
17
- background: #fff;
18
- margin: -160rpx 24rpx 18rpx;
19
- border-radius: 16rpx;
20
- padding: 26rpx 20rpx 20rpx;
21
- box-shadow: 0 10rpx 24rpx rgba(0, 0, 0, 0.08);
22
- position: relative;
23
- overflow: visible;
24
- }
25
-
26
- /* 头像:绝对定位置于卡片左上,带白色边框,和截图一致 */
27
- .avatar {
28
- width: 136rpx;
29
- height: 136rpx;
30
- border-radius: 100rpx;
31
- position: absolute;
32
- left: 26rpx;
33
- top: -68rpx;
34
- border: 6rpx solid #fff;
35
- z-index: 3;
36
- background: #fff;
37
- }
38
-
39
- /* 卡片右上操作(更多资料 / 信封 / 关注) */
40
- .card-actions {
41
- right: 20rpx;
42
- top: 18rpx;
43
- display: flex;
44
- flex-direction: column;
45
- align-items: flex-end;
46
- z-index: 4;
47
- }
48
-
49
- .more-info {
50
- color: #999;
51
- font-size: 24rpx;
52
- margin-bottom: 8rpx;
53
- margin-left: auto;
54
- }
55
-
56
- .icons {
57
- display: flex;
58
- align-items: center;
59
- gap: 40rpx;
60
- }
61
-
62
- .mail {
63
- font-size: 28rpx;
64
- line-height: 36rpx;
65
- }
66
-
67
- /* 关注按钮样式(和截图类似的圆角蓝色) */
68
- .follow-btn {
69
- background-color: #002fa7;
70
- color: #fff;
71
- border-radius: 36rpx;
72
- height: 36rpx;
73
- line-height: 36rpx;
74
- padding: 8rpx 18rpx;
75
- font-size: 26rpx;
76
- border: none;
77
- }
78
-
79
- .followed {
80
- background-color: #f7f7f7;
81
- color: #9e9e9e;
82
- }
83
-
84
- .unfollow {
85
- background-color: #002fa7;
86
- color: #fff;
87
- }
88
-
89
- /* 昵称行 */
90
- .name-row {
91
- margin-top: 40rpx;
92
- display: flex;
93
- align-items: center;
94
- gap: 12rpx;
95
- }
96
-
97
- .nickname {
98
- font-size: 36rpx;
99
- font-weight: 700;
100
- color: #111;
101
- }
102
-
103
- /* 性别小徽章(圆形小块) */
104
- .gender {
105
- padding: 4rpx 8rpx;
106
- border-radius: 10rpx;
107
- font-size: 22rpx;
108
- color: #fff;
109
- }
110
-
111
- .gender.male {
112
- background: #2b8fff;
113
- }
114
-
115
- .gender.female {
116
- background: #ff6b9a;
117
- }
118
-
119
- .ip {
120
- margin-top: 8rpx;
121
- color: #888;
122
- font-size: 24rpx;
123
- }
124
-
125
- .bio {
126
- margin-top: 8rpx;
127
- color: #444;
128
- font-size: 26rpx;
129
- line-height: 40rpx;
130
- /* max-height: 80rpx; */
131
- overflow: hidden;
132
- }
133
-
134
- /* 统计区域:一行四项,中间用竖线分隔 */
135
- .stats {
136
- margin-top: 20rpx;
137
- display: flex;
138
- align-items: center;
139
- justify-content: space-between;
140
- border-top: 2rpx solid #f0f0f0;
141
- padding-top: 18rpx;
142
- }
143
-
144
- .stat {
145
- flex: 1;
146
- text-align: center;
147
- }
148
-
149
- .stat .num {
150
- display: block;
151
- font-size: 32rpx;
152
- font-weight: 700;
153
- color: #111;
154
- }
155
-
156
- .stat .label {
157
- display: block;
158
- margin-top: 6rpx;
159
- font-size: 24rpx;
160
- color: #777;
161
- }
162
-
163
- /* 分割竖线 */
164
- .divider {
165
- width: 2rpx;
166
- height: 44rpx;
167
- background: #f0f0f0;
168
- }
169
-
170
- /* 游戏卡片 */
171
- .game-card {
172
- background: #fff;
173
- margin: 0 24rpx 24rpx;
174
- border-radius: 16rpx;
175
- padding: 18rpx;
176
- box-shadow: 0 8rpx 20rpx rgba(0, 0, 0, 0.06);
177
- }
178
-
179
- .game-header {
180
- display: flex;
181
- justify-content: space-between;
182
- align-items: center;
183
- margin-bottom: 10rpx;
184
- }
185
-
186
- .title {
187
- font-size: 30rpx;
188
- font-weight: 700;
189
- }
190
-
191
- .see-all {
192
- color: #0b57b1;
193
- font-size: 24rpx;
194
- }
195
-
196
- /* 横向滚动列表 */
197
- .game-scroll {
198
- width: 100%;
199
- overflow-x: scroll;
200
- /* 微信小程序一般 scroll-x 就够 */
201
- }
202
-
203
- .game-list {
204
- display: flex;
205
- flex-direction: row;
206
- }
207
-
208
- .game-item {
209
- width: 90rpx;
210
- /* 固定宽度,避免自动换行 */
211
- height: 90rpx;
212
- margin-right: 20rpx;
213
- }
214
-
215
-
216
- .game-icon {
217
- width: 86rpx;
218
- height: 86rpx;
219
- border-radius: 20rpx;
220
- }
221
-
222
-
223
- .van-sticky-wrap {
224
- background-color: white;
225
- }
226
-
227
- .custom-tabs {
228
- width: 50%;
229
- /* 控制整个 tabs 宽度 */
230
- }
231
-
232
- .custom-tabs .van-tabs__wrap {
233
- width: 50%;
234
- /* 控制顶部导航条宽度 */
235
- }
236
-
237
- .custom-tabs .van-tabs__content {
238
- width: 100%;
239
- /* 控制内容区宽度 */
240
- }
241
-
242
- .post-list {
243
- display: flex;
244
- flex-direction: column;
245
- }
246
-
247
- .empty {
248
- flex: 1;
249
- /* 占满剩余空间 */
250
- display: flex;
251
- justify-content: center;
252
- /* 水平居中 */
253
- align-items: center;
254
- /* 垂直居中 */
255
- color: #999;
256
- font-size: 28rpx;
257
- min-height: 400rpx;
258
- }
259
-
260
- .load-more {
261
- background-color: white;
262
- text-align: center;
263
- color: #999;
264
- font-size: 28rpx;
265
- /* margin: 20rpx 0; */
266
-
267
- }
268
-
269
-
270
- .custom-sheet-wrapper {
271
- position: fixed;
272
- left: 0;
273
- right: 0;
274
- top: 0;
275
- bottom: 0;
276
- background-color: rgba(0, 0, 0, 0.5);
277
- z-index: 9999;
278
- }
279
-
280
- .custom-sheet {
281
- position: absolute;
282
- bottom: 0;
283
- width: 100%;
284
- background-color: #f5f4f9;
285
- border-top-left-radius: 12rpx;
286
- border-top-right-radius: 12rpx;
287
- padding: 20rpx 0;
288
- z-index: 9999;
289
- padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
290
- }
291
-
292
- .sheet-buttons {
293
- display: flex;
294
- margin-left: 15px;
295
- justify-content: flex-start;
296
- gap: 20px;
297
- }
298
-
299
- .sheet-button {
300
- display: flex;
301
- flex-direction: column;
302
- align-items: center;
303
-
304
- }
305
-
306
- .icon-wrapper {
307
- background-color: white;
308
- display: flex;
309
- align-items: center;
310
- justify-content: center;
311
- width: 60px;
312
- height: 60px;
313
- border-radius: 50%;
314
- }
315
-
316
- .sheet-icon {
317
- width: 60rpx;
318
- height: 60rpx;
319
- margin-bottom: 8rpx;
320
- }
321
-
322
- .sheet-text {
323
- margin-top: 10px;
324
- font-size: 22rpx;
325
- color: #333;
326
- }
327
-
328
- .sheet-divider {
329
- height: 20rpx;
330
- background-color: #ecebef;
331
- margin-top: 10px;
332
- }
333
-
334
- .sheet-cancel {
335
- text-align: center;
336
- color: #000000;
337
- font-size: 28rpx;
338
- padding: 20rpx 0;
339
- border-top: 2rpx solid #eee;
340
- }
@@ -1 +0,0 @@
1
- function _0x861f(_0x138637,_0x34418d){_0x138637=_0x138637-0x185;const _0x44ee18=_0x44ee();let _0x861fbe=_0x44ee18[_0x138637];if(_0x861f['mJARDL']===undefined){var _0x2dd5db=function(_0x2cab9d){const _0x2dad0e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32d8bc='',_0x106883='';for(let _0x508266=0x0,_0x1516cb,_0xa5e12a,_0x302c61=0x0;_0xa5e12a=_0x2cab9d['charAt'](_0x302c61++);~_0xa5e12a&&(_0x1516cb=_0x508266%0x4?_0x1516cb*0x40+_0xa5e12a:_0xa5e12a,_0x508266++%0x4)?_0x32d8bc+=String['fromCharCode'](0xff&_0x1516cb>>(-0x2*_0x508266&0x6)):0x0){_0xa5e12a=_0x2dad0e['indexOf'](_0xa5e12a);}for(let _0x248850=0x0,_0x5a3b3a=_0x32d8bc['length'];_0x248850<_0x5a3b3a;_0x248850++){_0x106883+='%'+('00'+_0x32d8bc['charCodeAt'](_0x248850)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x106883);};_0x861f['SorOjY']=_0x2dd5db,_0x861f['ATvyqC']={},_0x861f['mJARDL']=!![];}const _0x42161c=_0x44ee18[0x0],_0xf748f0=_0x138637+_0x42161c,_0xb0ef6a=_0x861f['ATvyqC'][_0xf748f0];return!_0xb0ef6a?(_0x861fbe=_0x861f['SorOjY'](_0x861fbe),_0x861f['ATvyqC'][_0xf748f0]=_0x861fbe):_0x861fbe=_0xb0ef6a,_0x861fbe;}(function(_0x1faf0b,_0xef6cf){const _0x58753e=_0x861f,_0x33a42d=_0x1faf0b();while(!![]){try{const _0x125e8d=parseInt(_0x58753e(0x190))/0x1*(parseInt(_0x58753e(0x185))/0x2)+parseInt(_0x58753e(0x197))/0x3+parseInt(_0x58753e(0x196))/0x4*(-parseInt(_0x58753e(0x18d))/0x5)+parseInt(_0x58753e(0x188))/0x6+parseInt(_0x58753e(0x18f))/0x7*(-parseInt(_0x58753e(0x194))/0x8)+parseInt(_0x58753e(0x18b))/0x9*(-parseInt(_0x58753e(0x195))/0xa)+-parseInt(_0x58753e(0x189))/0xb;if(_0x125e8d===_0xef6cf)break;else _0x33a42d['push'](_0x33a42d['shift']());}catch(_0x564199){_0x33a42d['push'](_0x33a42d['shift']());}}}(_0x44ee,0x380b7),Page({'data':{'user':{}},'onLoad'(_0x5ab998){const _0x1882a2=_0x861f,_0x96c226={'bGvKl':function(_0xb0fb90,_0x15887e){return _0xb0fb90(_0x15887e);}};if(_0x5ab998[_0x1882a2(0x193)]){const _0x1402e0=JSON[_0x1882a2(0x191)](_0x96c226[_0x1882a2(0x18c)](decodeURIComponent,_0x5ab998[_0x1882a2(0x193)]));this['setData']({'user':_0x1402e0});}},'copyID'(){const _0x280eac=_0x861f,_0x53cf3c={'oysVO':_0x280eac(0x187)};wx['setClipboardData']({'data':this[_0x280eac(0x192)][_0x280eac(0x193)]['id'],'success'(){const _0x593c2e=_0x280eac;wx[_0x593c2e(0x18e)]({'title':_0x593c2e(0x186),'icon':_0x53cf3c[_0x593c2e(0x18a)]});}});}}));function _0x44ee(){const _0x299db9=['sutLT7lLPi3LIlBLIldNSPJOTltMNB8','C3vJy2vZCW','mty4nJiXnLzgyLzKCa','ndG1nty3nuXhtfneuW','B3LZvK8','mtHiDgPfshi','yKD2s2W','mte3mdG1zevfwMvX','C2HVD1rVyxn0','n2vey0LlEG','nti5mZvvvujxweC','CgfYC2u','zgf0yq','DxnLCG','mtG5mty3mKrjzxbeCq','mtKZmdiWz1r2v2zQ','mJr6teHfy2S','mtmWndKWngj0zgfuzq','mtrJtLnJExK'];_0x44ee=function(){return _0x299db9;};return _0x44ee();}
@@ -1,4 +0,0 @@
1
- {
2
- "usingComponents": {},
3
- "navigationBarTitleText": "个人资料"
4
- }
@@ -1,36 +0,0 @@
1
- <view class="container">
2
- <!-- 头像 -->
3
- <view class="cell">
4
- <text class="title">头像</text>
5
- <image class="avatar" src="{{user.avatar ? user.avatar:'../../assets/images/icons/header_placeholder.png'}}" mode="aspectFill"></image>
6
- </view>
7
- <view class="line"></view>
8
-
9
- <!-- 昵称 -->
10
- <view class="cell">
11
- <text class="title">昵称</text>
12
- <text class="content">{{user.nickname}}</text>
13
- </view>
14
- <view class="line"></view>
15
-
16
- <!-- 性别 -->
17
- <view class="cell">
18
- <text class="title">性别</text>
19
- <text class="content">{{user.gender > 0 ? (user.gender === 1 ? '男':'女') : '保密'}}</text>
20
- </view>
21
- <view class="line"></view>
22
-
23
- <!-- ID -->
24
- <view class="cell" bindtap="copyID">
25
- <text class="title">ID</text>
26
- <text class="content">{{user.id}}</text>
27
- </view>
28
- <view class="line"></view>
29
-
30
- <!-- 简介 -->
31
- <view class="cell">
32
- <text class="title">简介</text>
33
- <text class="content">{{user.bio || '还未设置简介'}}</text>
34
- </view>
35
- <view class="line"></view>
36
- </view>
@@ -1,41 +0,0 @@
1
- .container {
2
- background-color: #f5f4f9;
3
- display: flex;
4
- min-height: 100vh;
5
- flex-direction: column;
6
- justify-content: flex-start;
7
- padding-top: 0;
8
- }
9
-
10
- .cell {
11
- background-color: white;
12
- width: 100%;
13
- display: flex;
14
- justify-content: space-between;
15
- align-items: center;
16
- padding:10rpx 30rpx;
17
- box-sizing: border-box;
18
- }
19
-
20
- .title {
21
- font-size: 28rpx;
22
- line-height: 40px;
23
- }
24
-
25
- .avatar {
26
- width: 40px;
27
- height: 40px;
28
- border-radius: 50%;
29
- }
30
-
31
- .content {
32
-
33
- font-size: 28rpx;
34
- color: #666;
35
- }
36
-
37
-
38
- .line {
39
- height: 2rpx;
40
- background-color: #eee;
41
- }
@@ -1 +0,0 @@
1
- (function(_0x489c03,_0x39ce1e){const _0x435dda=_0x31b4,_0x51ec93=_0x489c03();while(!![]){try{const _0x4efc6b=parseInt(_0x435dda(0xae))/0x1+-parseInt(_0x435dda(0xb0))/0x2*(-parseInt(_0x435dda(0xc5))/0x3)+parseInt(_0x435dda(0xb4))/0x4+parseInt(_0x435dda(0xb8))/0x5+parseInt(_0x435dda(0xc0))/0x6+parseInt(_0x435dda(0xc3))/0x7*(-parseInt(_0x435dda(0xba))/0x8)+-parseInt(_0x435dda(0xb7))/0x9;if(_0x4efc6b===_0x39ce1e)break;else _0x51ec93['push'](_0x51ec93['shift']());}catch(_0x1276c4){_0x51ec93['push'](_0x51ec93['shift']());}}}(_0x1f2d,0xe0c31));function _0x1f2d(){const _0x2b8fcb=['t2j0Bgq','lI4Vz2fTzs9Nyw1Lp2LKpq','mJq5ntK3otbks2X4q2i','ntGZndKYmfbnCfnctG','C3rVCfb1BgXeB3DUuMvMCMvZAa','mteZnZuYEgXcDMj0','Bg9HzeDHBwvZ','DgHLBG','AgfZtw9Yzq','z2fTzuXPC3q','zxHW','mJu3ntq0CKDTD21r','y3vYCMvUDfrHCMDLDa','Bg9HzgLUz01VCMu','odC1zeDUD1fX','BMf2AwDHDgvuBW','ndi0nta1n1DHy1vPEa','BgvUz3rO','AxnbCNjHEq','mtqYnJGZnLHRBgPStq','sxvpDLa','mMHsvNP1Bq','C2v0rgf0yq','zgf0yxnLDa','zgf0yq','nty3ode4ofDWyMHIsW'];_0x1f2d=function(){return _0x2b8fcb;};return _0x1f2d();}function _0x31b4(_0x5460fc,_0x5a2367){_0x5460fc=_0x5460fc-0xad;const _0x1f2dff=_0x1f2d();let _0x31b4d3=_0x1f2dff[_0x5460fc];if(_0x31b4['tExwnb']===undefined){var _0x9dc8c=function(_0x41c024){const _0x41a4da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x293bdd='',_0x2a9188='';for(let _0x31dc46=0x0,_0x120289,_0x535cd5,_0x23b0db=0x0;_0x535cd5=_0x41c024['charAt'](_0x23b0db++);~_0x535cd5&&(_0x120289=_0x31dc46%0x4?_0x120289*0x40+_0x535cd5:_0x535cd5,_0x31dc46++%0x4)?_0x293bdd+=String['fromCharCode'](0xff&_0x120289>>(-0x2*_0x31dc46&0x6)):0x0){_0x535cd5=_0x41a4da['indexOf'](_0x535cd5);}for(let _0x1dbc85=0x0,_0x22a979=_0x293bdd['length'];_0x1dbc85<_0x22a979;_0x1dbc85++){_0x2a9188+='%'+('00'+_0x293bdd['charCodeAt'](_0x1dbc85)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a9188);};_0x31b4['CWXmts']=_0x9dc8c,_0x31b4['tsRGEy']={},_0x31b4['tExwnb']=!![];}const _0x20cd1a=_0x1f2dff[0x0],_0x49103c=_0x5460fc+_0x20cd1a,_0x30db8d=_0x31b4['tsRGEy'][_0x49103c];return!_0x30db8d?(_0x31b4d3=_0x31b4['CWXmts'](_0x31b4d3),_0x31b4['tsRGEy'][_0x49103c]=_0x31b4d3):_0x31b4d3=_0x30db8d,_0x31b4d3;}import{queryUserGames}from'../../services/home';import{getLevelByExp,getLevelImg}from'../../utils/exp';Page({'data':{'gameList':[],'target_id':null,'page':0x1,'hasMore':!![],'loadingMore':![],'noMore':![]},'onLoad'(_0x25e92b){const _0x3d19af=_0x31b4;this[_0x3d19af(0xb1)]({'target_id':_0x25e92b['user_id']}),this[_0x3d19af(0xbb)](!![]);},async 'loadGames'(_0x2dc840=![]){const _0x4de965=_0x31b4,_0x1faf4e={'IuOvP':function(_0x1064c7,_0x4ed7fb,_0x40d2c5){return _0x1064c7(_0x4ed7fb,_0x40d2c5);},'Obtld':function(_0x577b8b,_0x520a55){return _0x577b8b===_0x520a55;},'RFoPW':function(_0x206ab2,_0x401a1a){return _0x206ab2+_0x401a1a;}};_0x2dc840&&this['setData']({'page':0x1,'hasMore':!![],'gameList':[],'noMore':![]});if(!this['data'][_0x4de965(0xbd)])return;const {target_id:_0x2f793f,page:_0x57f061}=this['data'],_0x168329=await _0x1faf4e[_0x4de965(0xaf)](queryUserGames,_0x2f793f,_0x57f061);let _0x19ad5f=[];Array[_0x4de965(0xad)](_0x168329?.['data'])?_0x19ad5f=_0x168329[_0x4de965(0xb3)]:_0x19ad5f=[];_0x19ad5f=_0x19ad5f['map'](_0x4fa81e=>({..._0x4fa81e,'level':getLevelByExp(_0x4fa81e?.[_0x4de965(0xbf)]||0x0),'levelImg':getLevelImg(getLevelByExp(_0x4fa81e[_0x4de965(0xbf)]||0x0))}));const _0x5861bd=_0x1faf4e[_0x4de965(0xb5)](_0x19ad5f[_0x4de965(0xc6)],0x0);this[_0x4de965(0xb1)]({'gameList':[...this[_0x4de965(0xb3)][_0x4de965(0xbe)],..._0x19ad5f],'page':_0x1faf4e['RFoPW'](_0x57f061,0x1),'hasMore':!_0x5861bd,'noMore':_0x5861bd,'loadingMore':![]});},'onPullDownRefresh'(){const _0x68051=_0x31b4;this[_0x68051(0xbb)](!![])[_0x68051(0xbc)](()=>{const _0x3fa0a3=_0x68051;wx[_0x3fa0a3(0xb9)]();});},'onReachBottom'(){const _0x4b28e1=_0x31b4;!this[_0x4b28e1(0xb3)][_0x4b28e1(0xc2)]&&this[_0x4b28e1(0xb3)][_0x4b28e1(0xbd)]&&(this[_0x4b28e1(0xb1)]({'loadingMore':!![]}),this[_0x4b28e1(0xbb)]());},'goDetail'(_0x123b82){const _0x3dbcf1=_0x31b4,_0x46931c=_0x123b82[_0x3dbcf1(0xc1)][_0x3dbcf1(0xb2)]['id'];wx['navigateTo']({'url':_0x3dbcf1(0xb6)+_0x46931c});},'enterGame'(_0x4f2eec){const _0x27cb55=_0x31b4,_0x25813d=_0x4f2eec['currentTarget']['dataset']['id'];wx[_0x27cb55(0xc4)]({'url':_0x27cb55(0xb6)+_0x25813d});}});
@@ -1,4 +0,0 @@
1
- {
2
- "navigationBarTitleText": "TA的游戏库",
3
- "enablePullDownRefresh": true
4
- }
@@ -1,42 +0,0 @@
1
- <view class="container">
2
-
3
- <block wx:for="{{gameList}}" wx:key="id">
4
- <view class="cell" bindtap="goDetail" data-id="{{item.id}}">
5
-
6
- <!-- 左侧游戏图标 -->
7
- <image class="icon" src="{{item.icon+'?x-oss-process=image/resize,w_256'}}" mode="aspectFill"></image>
8
-
9
- <!-- 右侧内容 -->
10
- <view class="content">
11
-
12
- <!-- 游戏名称 + 等级 -->
13
- <view class="title-row">
14
- <text class="title">{{item.name}}</text>
15
- <view class="level-icon">
16
- <image class="level-img" src="{{item.levelImg}}" mode="aspectFit"></image>
17
- <text class="level-text">{{item.level}}</text>
18
- </view>
19
- </view>
20
-
21
- <!-- 玩家数 + 帖子数 -->
22
- <view class="stats-row">
23
- <text class="stats">玩家: {{item.fans_count}}</text>
24
- <text class="stats post">帖子: {{item.posts_count}}</text>
25
- </view>
26
-
27
- <!-- slogan -->
28
- <view class="slogan">{{item.slogan}}</view>
29
-
30
- </view>
31
-
32
- <!-- 右侧进入按钮 -->
33
- <view class="enter-btn" data-id="{{item.id}}" bindtap="enterGame">进入</view>
34
- </view>
35
-
36
- <view class="divider"></view>
37
- </block>
38
-
39
- <view wx:if="{{loadingMore}}" class="loading">加载中...</view>
40
- <view wx:if="{{noMore}}" class="no-more">没有更多了</view>
41
-
42
- </view>