southnote-mini-sdk 1.0.21 → 1.0.22

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 (47) hide show
  1. package/app.js +1 -22
  2. package/assets/file/badwords.js +1 -63008
  3. package/assets/file/rules.js +1 -38
  4. package/components/bottomSheet/bottomSheet.js +1 -473
  5. package/components/experience-item/experience-item.js +1 -105
  6. package/components/grid-item/grid-item.js +1 -8
  7. package/components/post-item/post-item.js +1 -1086
  8. package/components/wiki-renderer/wiki-renderer.js +1 -636
  9. package/components/wiki-tabs/wiki-tabs.js +1 -52
  10. package/index.js +1 -49
  11. package/package.json +2 -22
  12. package/pages/addGame/addGame.js +1 -454
  13. package/pages/addSubject/addSubject.js +1 -199
  14. package/pages/commonLogin/commonLogin.js +1 -269
  15. package/pages/copyOfficial/copyOfficial.js +1 -25
  16. package/pages/demo/demo.js +1 -23
  17. package/pages/game/game.js +1 -1305
  18. package/pages/home/home.js +1 -665
  19. package/pages/lottery-winners/lottery-winners.js +1 -60
  20. package/pages/message/messageCommentsAndAt/messageCommentsAndAt.js +1 -178
  21. package/pages/message/messageEntire/messageEntire.js +1 -112
  22. package/pages/message/messageLikeAndCollect/messageLikeAndCollect.js +1 -147
  23. package/pages/message/messageNewFans/messageNewFans.js +1 -139
  24. package/pages/officialWebview/officialWebview.js +1 -13
  25. package/pages/post/post.js +1 -1856
  26. package/pages/post-editor/post-editor.js +1 -465
  27. package/pages/postDialog/postDialog.js +1 -560
  28. package/pages/report-category/report-category.js +1 -29
  29. package/pages/report-form/report-form.js +1 -65
  30. package/pages/sevenDaySignDetail/sevenDaySignDetail.js +1 -273
  31. package/pages/topic/topic.js +1 -266
  32. package/pages/user/user.js +1 -939
  33. package/pages/userDatum/userDatum.js +1 -24
  34. package/pages/userGameLib/userGameLib.js +1 -105
  35. package/pages/webview/webview.js +1 -25
  36. package/pages/wheelActivivty/wheelActivivty.js +1 -492
  37. package/pages/wiki/wiki.js +1 -138
  38. package/request/JKRequest.js +1 -177
  39. package/services/home.js +1 -603
  40. package/utils/auth.js +1 -17
  41. package/utils/base64.js +1 -67
  42. package/utils/compressImage.js +1 -41
  43. package/utils/exp.js +1 -49
  44. package/utils/formatPost.js +1 -18
  45. package/utils/parseContent.js +1 -191
  46. package/utils/query-select.js +1 -9
  47. package/utils/sensitive.js +1 -82
@@ -1,65 +1 @@
1
- import {
2
- reportPost
3
- } from "../../services/home"
4
-
5
- Page({
6
- data: {
7
- category: '',
8
- description: ''
9
- },
10
-
11
-
12
- onLoad(options) {
13
- if (options && options.category) {
14
- if (options.postId) {
15
- this.setData({
16
- postId: options.postId,
17
- nType: options.nType
18
- });
19
- }
20
- const category = decodeURIComponent(options.category);
21
- this.setData({
22
- category
23
- });
24
- wx.setNavigationBarTitle({
25
- title: category
26
- });
27
- }
28
- },
29
-
30
-
31
- onInputDescription(e) {
32
- this.setData({
33
- description: e.detail.value.slice(0, 500)
34
- });
35
- },
36
-
37
-
38
- onSubmit() {
39
- const {
40
- description
41
- } = this.data;
42
- if (!description.trim()) {
43
- wx.showToast({
44
- title: '请填写举报理由',
45
- icon: 'none'
46
- });
47
- return;
48
- }
49
- let nType = this.data.nType == '10' ? '100' : this.data.nType
50
- reportPost(this.data.postId, nType, this.data.description).then(res => {
51
- wx.showToast({
52
- title: '举报已提交',
53
- icon: 'success'
54
- });
55
-
56
- setTimeout(() => {
57
- wx.navigateBack({
58
- delta: 2
59
- });
60
- }, 800);
61
- })
62
-
63
-
64
- }
65
- });
1
+ function _0x1f0d(_0x3845f0,_0xcb59bd){_0x3845f0=_0x3845f0-0x1e1;const _0x32f982=_0x32f9();let _0x1f0dac=_0x32f982[_0x3845f0];if(_0x1f0d['PlfkPb']===undefined){var _0x45ff37=function(_0x2d744f){const _0x13e611='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x442a5='',_0x398430='';for(let _0x1310db=0x0,_0x5aca81,_0x3a9265,_0x22bc6c=0x0;_0x3a9265=_0x2d744f['charAt'](_0x22bc6c++);~_0x3a9265&&(_0x5aca81=_0x1310db%0x4?_0x5aca81*0x40+_0x3a9265:_0x3a9265,_0x1310db++%0x4)?_0x442a5+=String['fromCharCode'](0xff&_0x5aca81>>(-0x2*_0x1310db&0x6)):0x0){_0x3a9265=_0x13e611['indexOf'](_0x3a9265);}for(let _0x21a36d=0x0,_0x34c70a=_0x442a5['length'];_0x21a36d<_0x34c70a;_0x21a36d++){_0x398430+='%'+('00'+_0x442a5['charCodeAt'](_0x21a36d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x398430);};_0x1f0d['GehZQA']=_0x45ff37,_0x1f0d['potxml']={},_0x1f0d['PlfkPb']=!![];}const _0x39693c=_0x32f982[0x0],_0x461a22=_0x3845f0+_0x39693c,_0x5abbd1=_0x1f0d['potxml'][_0x461a22];return!_0x5abbd1?(_0x1f0dac=_0x1f0d['GehZQA'](_0x1f0dac),_0x1f0d['potxml'][_0x461a22]=_0x1f0dac):_0x1f0dac=_0x5abbd1,_0x1f0dac;}(function(_0xc05494,_0x13d3fc){const _0x4ad402=_0x1f0d,_0x42f910=_0xc05494();while(!![]){try{const _0x3b5561=parseInt(_0x4ad402(0x1fb))/0x1*(parseInt(_0x4ad402(0x1f5))/0x2)+parseInt(_0x4ad402(0x1ed))/0x3*(parseInt(_0x4ad402(0x1f1))/0x4)+parseInt(_0x4ad402(0x1ea))/0x5+-parseInt(_0x4ad402(0x1f9))/0x6+parseInt(_0x4ad402(0x1e7))/0x7*(-parseInt(_0x4ad402(0x1f6))/0x8)+parseInt(_0x4ad402(0x1ec))/0x9+parseInt(_0x4ad402(0x1ee))/0xa*(-parseInt(_0x4ad402(0x1e2))/0xb);if(_0x3b5561===_0x13d3fc)break;else _0x42f910['push'](_0x42f910['shift']());}catch(_0x49276a){_0x42f910['push'](_0x42f910['shift']());}}}(_0x32f9,0xd39d5));function _0x32f9(){const _0x5ed6b4=['mJu3otiWoe5KwfbZtG','mJC0nJyWtfvlEevs','zgf0yq','BLr5Cgu','ogfLEfH2sW','DhjPBq','Cg9ZDeLK','C2HVD1rVyxn0','mZz4tvjID0y','ndm5nJG4EvfPC2zW','zgv0ywLS','BMf2AwDHDgvcywnR','mtmYntq1ne92D2fjCW','C2XPy2u','ote4nZHVAuvVsKS','5lI+5OQL5BEY5O+q5lQK','odu4wM9hAfPd','wMvkEMi','6k+35AgR5yAz5lI+5OQL55cg55sX','C2v0rgf0yq','C3vJy2vZCW','mtK2qvLru3bH','y2f0zwDVCNK','DLbUy3q','mtmWmdG4meXqDfLHCG','BM9Uzq','mtaYmtKZnZrsy2nMCeq'];_0x32f9=function(){return _0x5ed6b4;};return _0x32f9();}import{reportPost}from'../../services/home';Page({'data':{'category':'','description':''},'onLoad'(_0x5e68d7){const _0x2a6ca8=_0x1f0d;if(_0x5e68d7&&_0x5e68d7['category']){_0x5e68d7[_0x2a6ca8(0x1f3)]&&this['setData']({'postId':_0x5e68d7[_0x2a6ca8(0x1f3)],'nType':_0x5e68d7[_0x2a6ca8(0x1f0)]});const _0xfd2ab=decodeURIComponent(_0x5e68d7[_0x2a6ca8(0x1e8)]);this[_0x2a6ca8(0x1e5)]({'category':_0xfd2ab}),wx['setNavigationBarTitle']({'title':_0xfd2ab});}},'onInputDescription'(_0x1a066b){const _0x5c48ab=_0x1f0d;this[_0x5c48ab(0x1e5)]({'description':_0x1a066b[_0x5c48ab(0x1f7)]['value'][_0x5c48ab(0x1fa)](0x0,0x1f4)});},'onSubmit'(){const _0x1c0c07=_0x1f0d,_0x15e4c0={'HyfOa':_0x1c0c07(0x1e6),'ZeJzb':_0x1c0c07(0x1e4),'tjMIl':_0x1c0c07(0x1eb),'ocxZQ':function(_0x4cc067,_0x33aa84){return _0x4cc067==_0x33aa84;},'vPnct':'100','XPqQb':function(_0x110107,_0xf727ed,_0x25798e,_0x71dc88){return _0x110107(_0xf727ed,_0x25798e,_0x71dc88);}},{description:_0x4e6bc2}=this[_0x1c0c07(0x1ef)];if(!_0x4e6bc2[_0x1c0c07(0x1f2)]()){wx[_0x1c0c07(0x1f4)]({'title':_0x15e4c0[_0x1c0c07(0x1e3)],'icon':_0x15e4c0['tjMIl']});return;}let _0x24c073=_0x15e4c0['ocxZQ'](this[_0x1c0c07(0x1ef)][_0x1c0c07(0x1f0)],'10')?_0x15e4c0[_0x1c0c07(0x1e9)]:this[_0x1c0c07(0x1ef)]['nType'];_0x15e4c0['XPqQb'](reportPost,this['data']['postId'],_0x24c073,this['data']['description'])['then'](_0x2af99a=>{const _0x19a39d=_0x1c0c07;wx[_0x19a39d(0x1f4)]({'title':_0x19a39d(0x1e1),'icon':_0x15e4c0['HyfOa']}),setTimeout(()=>{const _0x2f61a7=_0x19a39d;wx[_0x2f61a7(0x1f8)]({'delta':0x2});},0x320);});}});
@@ -1,273 +1 @@
1
- import {
2
- queryGameActivityInfo
3
- } from "../../services/home";
4
-
5
- Page({
6
- data: {
7
- detail: {},
8
- loading: true,
9
-
10
- // 视图衍生字段
11
- rewardsList: [], // 数组形式排序后的 day 对象
12
- signedCount: 0,
13
- daysLeft: 0,
14
- descList: [],
15
- timeRange: ''
16
- },
17
-
18
- onLoad(options) {
19
- const activity_id = options.activity_id;
20
- this.loadDetail(activity_id);
21
- },
22
-
23
- /* 加载详情并格式化数据 */
24
- loadDetail(activity_id) {
25
- this.setData({
26
- loading: true
27
- });
28
- queryGameActivityInfo(activity_id).then(res => {
29
- // 假设接口返回结构同你贴出的示例
30
- const payload = res.data || res;
31
-
32
- // 你示例是 { code:0, data: { ... } } 风格
33
- const data = payload.data || payload;
34
-
35
- // 设置基础 detail
36
- this.setData({
37
- detail: data || {}
38
- });
39
-
40
- // 处理奖励对象(rewards:{ day1: {...}, day2: {...} ... })
41
- const rewardsObj = (data.rewards) || {};
42
- const rewardsList = [];
43
-
44
- // 将 day1..dayN 按天数顺序转换为数组
45
- Object.keys(rewardsObj).forEach(key => {
46
- const m = key.match(/^day(\d+)$/);
47
- if (m) {
48
- const idx = parseInt(m[1], 10);
49
- const item = rewardsObj[key] || {};
50
- // 归一化字段
51
- rewardsList.push({
52
- dayKey: key,
53
- index: idx,
54
- is_signed: item.is_signed || 0,
55
- item_image: item.item_image || '',
56
- item_name: item.item_name || '',
57
- cdkCount: (item.cdk && item.cdk[0] && item.cdk[0].count) ? item.cdk[0].count : 0,
58
- raw: item
59
- });
60
- }
61
- });
62
-
63
- // 按 index 排序升序(day1, day2..)
64
- rewardsList.sort((a, b) => a.index - b.index);
65
-
66
- // 计算已累计签到天数(统计 is_signed === 1)
67
- const signedCount = rewardsList.reduce((s, it) => s + (it.is_signed === 1 ? 1 : 0), 0);
68
-
69
- // 计算距离结束还剩多少天(end_time 为秒级字符串)
70
- const nowSec = Math.floor(Date.now() / 1000);
71
- const endTimeSec = parseInt(data.end_time || 0, 10);
72
- let daysLeft = 0;
73
- if (endTimeSec > nowSec) {
74
- // 计算剩余整天数(向上取整)
75
- daysLeft = Math.ceil((endTimeSec - nowSec) / 86400);
76
- } else {
77
- daysLeft = 0;
78
- }
79
-
80
- // 标注哪个是当前可领取的 day(signedCount + 1)
81
- const nextIndex = signedCount + 1;
82
- const formattedRewards = rewardsList.map(it => {
83
- const btnLabel = (it.is_signed === 1) ? '查看奖励' :
84
- (it.index === nextIndex ? '立即领取' : `第${it.index}天`);
85
- // border 激活条件:可领取当天显示 #eca900 边框
86
- const borderActive = (it.is_signed !== 1 && it.index === nextIndex);
87
-
88
- return {
89
- ...it,
90
- btnLabel,
91
- borderActive
92
- };
93
- });
94
-
95
- // 解析 activity_desc
96
- const descList = this.parseDescToList(data.activity_desc || '');
97
- // 格式化活动时间显示(YYYY-MM-DD)
98
- const start = this.formatDateFromSec(data.start_time);
99
- const end = this.formatDateFromSec(data.end_time);
100
- const timeRange = `${start}-${end}`;
101
-
102
- this.setData({
103
- loading: false,
104
- rewardsList: formattedRewards,
105
- signedCount,
106
- daysLeft,
107
- descList,
108
- timeRange
109
- });
110
-
111
- }).catch(err => {
112
- console.error(err);
113
- wx.showToast({
114
- title: '加载失败',
115
- icon: 'none'
116
- });
117
- this.setData({
118
- loading: false
119
- });
120
- });
121
- },
122
-
123
- /* 点击奖励单元(整个 cell)*/
124
- onTapRewardCell(e) {
125
- // 如果用户点 cell(而不是按钮),我们和按钮逻辑一致:判断状态
126
- const day = e.currentTarget.dataset.day;
127
- this._handleRewardAction(parseInt(day, 10));
128
- },
129
-
130
- /* 点击单元内按钮(阻止事件冒泡)*/
131
- onTapCellButton(e) {
132
- e.stopPropagation && e.stopPropagation();
133
- const idx = parseInt(e.currentTarget.dataset.index, 10);
134
- this._handleRewardAction(idx);
135
- },
136
-
137
- /* 统一处理领取 / 查看 / 未到的逻辑 */
138
- _handleRewardAction(dayIndex) {
139
- const rl = this.data.rewardsList;
140
- const item = rl.find(x => x.index === dayIndex);
141
- if (!item) return;
142
-
143
- const signedCount = this.data.signedCount;
144
- const nextIndex = signedCount + 1;
145
-
146
- // 检查是否在活动期间
147
- // const nowSec = Math.floor(Date.now() / 1000);
148
- // const startSec = parseInt(this.data.detail.start_time || 0, 10);
149
- // const endSec = parseInt(this.data.detail.end_time || 0, 10);
150
- // if (nowSec < startSec || nowSec > endSec) {
151
- // wx.showToast({
152
- // title: '不在活动时间内',
153
- // icon: 'none'
154
- // });
155
- // return;
156
- // }
157
-
158
- // 跳转到官网 H5 页面
159
- const navigateToWeb = () => {
160
- // wx.miniapp.jumpToAppStore({
161
- // success: (res) => {
162
- // console.log('jumpToAppStore success:', res)
163
- // },
164
- // fail: (res) => {
165
- // console.log('jumpToAppStore fail:', res)
166
- // }
167
- // })
168
-
169
- // wx.miniapp.openUrl({
170
- // url: "https://www.southnote.cn/#/home",
171
- // success(res) {
172
- // console.log('wx.miniapp.openUrl success', res)
173
- // },
174
- // fail(err) {
175
- // console.log('wx.miniapp.openUrl fail', err)
176
- // }
177
- // })
178
-
179
- // wx.navigateTo({
180
- // url: `../officialWebview/officialWebview?url=${encodeURIComponent('https://www.southnote.cn/#/home')}`
181
- // });
182
- wx.navigateTo({
183
- url: `../copyOfficial/copyOfficial?url=${encodeURIComponent('https://www.southnote.cn')}`
184
- });
185
- };
186
-
187
- // 已领取或者可领取 -> 直接跳转
188
- if (item.is_signed === 1 || dayIndex === nextIndex) {
189
- navigateToWeb();
190
- return;
191
- }
192
-
193
- // 还未到领取时间
194
- wx.showToast({
195
- title: '还未到领取时间',
196
- icon: 'none'
197
- });
198
- },
199
-
200
- /* 辅助:把秒级时间字符串转成 YYYY-MM-DD */
201
- formatDateFromSec(secStr) {
202
- const sec = parseInt(secStr || 0, 10);
203
- if (!sec) return '';
204
- const d = new Date(sec * 1000);
205
-
206
- const y = d.getFullYear();
207
- const m = (d.getMonth() + 1).toString().padStart(2, '0');
208
- const day = d.getDate().toString().padStart(2, '0');
209
-
210
- const hh = d.getHours().toString().padStart(2, '0');
211
- const mm = d.getMinutes().toString().padStart(2, '0');
212
- const ss = d.getSeconds().toString().padStart(2, '0');
213
-
214
- return `${y}/${m}/${day} ${hh}:${mm}:${ss}`;
215
- },
216
-
217
- parseDescToList(desc) {
218
- if (!desc || !desc.trim()) return [];
219
-
220
- const list = [];
221
- let cursor = 0;
222
- const regex = /<color\s+([^>]+)>/g; // 只匹配开标签
223
-
224
- let match;
225
- while ((match = regex.exec(desc)) !== null) {
226
- const index = match.index;
227
- const fullTag = match[0];
228
- const attrsStr = match[1];
229
-
230
- // 标签前的普通文字
231
- if (index > cursor) {
232
- const plainText = desc.slice(cursor, index);
233
- if (plainText) list.push({
234
- text: plainText
235
- });
236
- }
237
-
238
- // color 标签的 text 属性才是真正显示的文字
239
- const textAttrMatch = attrsStr.match(/text=['"]([^'"]+)['"]/);
240
- const displayText = textAttrMatch ? textAttrMatch[1] : '';
241
-
242
- // 样式
243
- const rgbMatch = attrsStr.match(/rgb=['"]([^'"]+)['"]/);
244
- const boldMatch = attrsStr.match(/bold=['"]?(\d)['"]?/);
245
- const style = {};
246
- if (rgbMatch) style.color = rgbMatch[1];
247
- if (boldMatch && boldMatch[1] === '1') style.bold = true;
248
-
249
- if (displayText) list.push({
250
- text: displayText,
251
- ...style
252
- });
253
-
254
- // 更新 cursor 到闭标签结束
255
- const closeTagIndex = desc.indexOf('</color>', regex.lastIndex);
256
- cursor = closeTagIndex !== -1 ? closeTagIndex + 8 : regex.lastIndex;
257
- regex.lastIndex = cursor;
258
- }
259
-
260
- // 标签后的普通文字
261
- if (cursor < desc.length) {
262
- const tail = desc.slice(cursor);
263
- if (tail) list.push({
264
- text: tail
265
- });
266
- }
267
-
268
- return list;
269
- }
270
-
271
-
272
-
273
- });
1
+ function _0x498d(){const _0x4b4c17=['Ehr2CuS','mJe2mZu3mfHOsfztuq','mte0ode1otzVvKL5A3m','AxnFC2LNBMvK','Aw5KzxHpzG','txbgsey','ufzdyvy','DhjPBq','rLfsCve','CgfKu3rHCNq','BgfZDeLUzgv4','BwfW','uvj3zg8','Aw5KzxG','y291BNq','zNvvDKi','lI4Vy29WEu9MzMLJAwfSl2nVChLpzMzPy2LHBd91CMW9','wxzQugi','C2LNBMvKq291BNq','6l+y5PYQ5yIW6Akg5y+w5PE26zE0','mtzgsMrUDe4','v2TqDvu','C2v0rgf0yq','v05AAKC','C3rHCNrFDgLTzq','zM9YBwf0rgf0zuzYB21tzwm','C2XPy2u','y2rR','zgf5','BvL2rNq','tK1ksgC','CuvIvfi','5P+L55Yl5Aww5yQX','y29SB3i','swveEeq','CerWsfu','v3n6Beu','5yQG6l295AsX6lsL','zMXVB3i','ndu5nda5nxPhAg1TCW','z2v0u2vJB25KCW','yM9Sza','z2v0twLUDxrLCW','C2HVD1rVyxn0','shHer3q','mtm3otG0mu9IDM9fyG','t0f2wxa','x2HHBMrSzvjLD2fYzefJDgLVBG','Dg9tDhjPBMC','Bwf0y2G','mJm2ntu1mNn6z1jxwa','BuvmAeG','BM9Uzq','CgfYC2vezxnJvg9mAxn0','ywn0AxzPDhLFzgvZyW','q3bpqvq','v0DRuKy','z2v0tw9UDgG','zgf0yxnLDa','DgHLBG','mte4mtGYogTjDM1ota','DeTjBLm','muPyu01Kra','B2Hpzge','ChvZAa','z2v0rgf0zq','56Ul5y2Z6Akg5y+w','r05bvxi','BgvUz3rO','z2v0sg91CNm','Ahr0Chm6lY93D3CUC291DgHUB3rLlMnU','zgf0yq','ntq4oti2mKvSAMvcvW','BMf2AwDHDgvuBW','zM9YrwfJAa','C3rVCfbYB3bHz2f0Aw9U','zw5Kx3rPBwu','pc9JB2XVCJ4','zg5Zug0','u1PuwNC','ywn0AxzPDhLFAwq','y2TSB2S','BhjrDKC','z2v0rNvSBfLLyxi'];_0x498d=function(){return _0x4b4c17;};return _0x498d();}function _0x4ed9(_0x4e0361,_0x1fa616){_0x4e0361=_0x4e0361-0x141;const _0x498d51=_0x498d();let _0x4ed9b8=_0x498d51[_0x4e0361];if(_0x4ed9['fJhfru']===undefined){var _0x4ee498=function(_0x31a1c6){const _0x53e36e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fb512='',_0x4f4781='';for(let _0x3deff0=0x0,_0x328b3e,_0x308fea,_0x25af5b=0x0;_0x308fea=_0x31a1c6['charAt'](_0x25af5b++);~_0x308fea&&(_0x328b3e=_0x3deff0%0x4?_0x328b3e*0x40+_0x308fea:_0x308fea,_0x3deff0++%0x4)?_0x2fb512+=String['fromCharCode'](0xff&_0x328b3e>>(-0x2*_0x3deff0&0x6)):0x0){_0x308fea=_0x53e36e['indexOf'](_0x308fea);}for(let _0x2c1b33=0x0,_0x4f3f77=_0x2fb512['length'];_0x2c1b33<_0x4f3f77;_0x2c1b33++){_0x4f4781+='%'+('00'+_0x2fb512['charCodeAt'](_0x2c1b33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f4781);};_0x4ed9['IXozfY']=_0x4ee498,_0x4ed9['KjxLVi']={},_0x4ed9['fJhfru']=!![];}const _0x5c7209=_0x498d51[0x0],_0x2d412b=_0x4e0361+_0x5c7209,_0x168d4e=_0x4ed9['KjxLVi'][_0x2d412b];return!_0x168d4e?(_0x4ed9b8=_0x4ed9['IXozfY'](_0x4ed9b8),_0x4ed9['KjxLVi'][_0x2d412b]=_0x4ed9b8):_0x4ed9b8=_0x168d4e,_0x4ed9b8;}(function(_0x27b9fd,_0x2d514e){const _0x32c5f2=_0x4ed9,_0x4b0ace=_0x27b9fd();while(!![]){try{const _0x401679=-parseInt(_0x32c5f2(0x163))/0x1*(-parseInt(_0x32c5f2(0x161))/0x2)+-parseInt(_0x32c5f2(0x152))/0x3+parseInt(_0x32c5f2(0x157))/0x4+parseInt(_0x32c5f2(0x17a))/0x5+-parseInt(_0x32c5f2(0x16d))/0x6+parseInt(_0x32c5f2(0x17b))/0x7+parseInt(_0x32c5f2(0x18d))/0x8*(-parseInt(_0x32c5f2(0x14c))/0x9);if(_0x401679===_0x2d514e)break;else _0x4b0ace['push'](_0x4b0ace['shift']());}catch(_0x305f45){_0x4b0ace['push'](_0x4b0ace['shift']());}}}(_0x498d,0xd1d76));import{queryGameActivityInfo}from'../../services/home';Page({'data':{'detail':{},'loading':!![],'rewardsList':[],'signedCount':0x0,'daysLeft':0x0,'descList':[],'timeRange':''},'onLoad'(_0x1c047c){const _0x13f1b6=_0x4ed9,_0x40bbdb=_0x1c047c[_0x13f1b6(0x175)];this['loadDetail'](_0x40bbdb);},'loadDetail'(_0x438c5a){const _0x354e41=_0x4ed9,_0x5660cf={'QRwdo':function(_0x1ffc3b,_0x3b3cea){return _0x1ffc3b===_0x3b3cea;},'tKInS':_0x354e41(0x145),'MpFHF':function(_0x3aad60,_0x3c9104){return _0x3aad60===_0x3c9104;},'pDpHU':_0x354e41(0x167),'QnfDS':function(_0x4c7f26,_0x35788c){return _0x4c7f26!==_0x35788c;},'NMJHg':function(_0x52419b,_0x5f1c9a){return _0x52419b/_0x5f1c9a;},'AoABF':function(_0x44f715,_0x10dd54,_0x50235e){return _0x44f715(_0x10dd54,_0x50235e);},'mELhH':function(_0x4b906c,_0x3d70d8){return _0x4b906c>_0x3d70d8;},'mYvFt':function(_0x300a49,_0xd414ba){return _0x300a49/_0xd414ba;},'sYVXa':function(_0x3edafa,_0x1e221e){return _0x3edafa+_0x1e221e;},'YXLaK':_0x354e41(0x14a),'WGkRF':_0x354e41(0x159),'cklok':function(_0x56de96,_0x36307d){return _0x56de96(_0x36307d);}};this['setData']({'loading':!![]}),_0x5660cf[_0x354e41(0x176)](queryGameActivityInfo,_0x438c5a)[_0x354e41(0x160)](_0x241910=>{const _0x241f91=_0x354e41,_0x34a1e5={'WszlE':function(_0x468d65,_0x579263){const _0x35c197=_0x4ed9;return _0x5660cf[_0x35c197(0x185)](_0x468d65,_0x579263);},'dnsPm':_0x5660cf[_0x241f91(0x162)],'HxDGt':function(_0x20b9ea,_0x22ac8d){const _0x2756be=_0x241f91;return _0x5660cf[_0x2756be(0x17e)](_0x20b9ea,_0x22ac8d);},'HaadX':_0x5660cf[_0x241f91(0x148)],'CpOAT':function(_0xbfb781,_0x2a8740){return _0x5660cf['QnfDS'](_0xbfb781,_0x2a8740);},'WkPuU':function(_0x2082e9,_0x2eef6b){return _0x2082e9===_0x2eef6b;}},_0x557eeb=_0x241910['data']||_0x241910,_0x373883=_0x557eeb[_0x241f91(0x16c)]||_0x557eeb;this[_0x241f91(0x18f)]({'detail':_0x373883||{}});const _0x312726=_0x373883['rewards']||{},_0x5e4738=[];Object['keys'](_0x312726)[_0x241f91(0x16f)](_0x20741e=>{const _0x235546=_0x241f91,_0x259d4f=_0x20741e[_0x235546(0x156)](/^day(\d+)$/);if(_0x259d4f){const _0x23c3ec=parseInt(_0x259d4f[0x1],0xa),_0x8c8a16=_0x312726[_0x20741e]||{};_0x5e4738['push']({'dayKey':_0x20741e,'index':_0x23c3ec,'is_signed':_0x8c8a16[_0x235546(0x17c)]||0x0,'item_image':_0x8c8a16['item_image']||'','item_name':_0x8c8a16['item_name']||'','cdkCount':_0x8c8a16[_0x235546(0x194)]&&_0x8c8a16['cdk'][0x0]&&_0x8c8a16[_0x235546(0x194)][0x0][_0x235546(0x187)]?_0x8c8a16[_0x235546(0x194)][0x0][_0x235546(0x187)]:0x0,'raw':_0x8c8a16});}}),_0x5e4738['sort']((_0x599da1,_0x2a1d25)=>_0x599da1[_0x241f91(0x186)]-_0x2a1d25[_0x241f91(0x186)]);const _0x462bac=_0x5e4738['reduce']((_0x258b6a,_0x38cdde)=>_0x258b6a+(_0x38cdde[_0x241f91(0x17c)]===0x1?0x1:0x0),0x0),_0x246345=Math[_0x241f91(0x14b)](_0x5660cf[_0x241f91(0x143)](Date['now'](),0x3e8)),_0x1f1927=_0x5660cf['AoABF'](parseInt,_0x373883['end_time']||0x0,0xa);let _0x4ff049=0x0;_0x5660cf[_0x241f91(0x158)](_0x1f1927,_0x246345)?_0x4ff049=Math['ceil'](_0x5660cf[_0x241f91(0x142)](_0x1f1927-_0x246345,0x15180)):_0x4ff049=0x0;const _0x3c036e=_0x5660cf['sYVXa'](_0x462bac,0x1),_0x5af01b=_0x5e4738[_0x241f91(0x184)](_0x587ff7=>{const _0x46c1ef=_0x241f91,_0x4d8a65=_0x34a1e5[_0x46c1ef(0x149)](_0x587ff7[_0x46c1ef(0x17c)],0x1)?_0x34a1e5[_0x46c1ef(0x173)]:_0x34a1e5[_0x46c1ef(0x151)](_0x587ff7[_0x46c1ef(0x186)],_0x3c036e)?_0x34a1e5['HaadX']:'第'+_0x587ff7[_0x46c1ef(0x186)]+'天',_0x5f1724=_0x34a1e5[_0x46c1ef(0x15c)](_0x587ff7['is_signed'],0x1)&&_0x34a1e5[_0x46c1ef(0x18e)](_0x587ff7[_0x46c1ef(0x186)],_0x3c036e);return{..._0x587ff7,'btnLabel':_0x4d8a65,'borderActive':_0x5f1724};}),_0x2b0a08=this[_0x241f91(0x15a)](_0x373883[_0x241f91(0x15b)]||''),_0x569ba2=this[_0x241f91(0x192)](_0x373883[_0x241f91(0x191)]),_0x491a84=this[_0x241f91(0x192)](_0x373883[_0x241f91(0x171)]),_0x3a657a=_0x569ba2+'-'+_0x491a84;this[_0x241f91(0x18f)]({'loading':![],'rewardsList':_0x5af01b,'signedCount':_0x462bac,'daysLeft':_0x4ff049,'descList':_0x2b0a08,'timeRange':_0x3a657a});})['catch'](_0x56c6d0=>{const _0x12c936=_0x354e41;console['error'](_0x56c6d0),wx[_0x12c936(0x150)]({'title':_0x5660cf['YXLaK'],'icon':_0x5660cf[_0x12c936(0x15d)]}),this[_0x12c936(0x18f)]({'loading':![]});});},'onTapRewardCell'(_0x18c248){const _0x5df697=_0x4ed9,_0x4a6f6a={'GNAUr':function(_0x857541,_0xec9ad7,_0x351aa0){return _0x857541(_0xec9ad7,_0x351aa0);}},_0x13bf3e=_0x18c248['currentTarget'][_0x5df697(0x15f)][_0x5df697(0x141)];this[_0x5df697(0x154)](_0x4a6f6a[_0x5df697(0x168)](parseInt,_0x13bf3e,0xa));},'onTapCellButton'(_0x42ce95){const _0x3d97f4=_0x4ed9,_0x18beba={'WNZjG':function(_0x1ea2c6,_0x5f7c9,_0x107c0d){return _0x1ea2c6(_0x5f7c9,_0x107c0d);}};_0x42ce95[_0x3d97f4(0x170)]&&_0x42ce95[_0x3d97f4(0x170)]();const _0x2e7a78=_0x18beba[_0x3d97f4(0x190)](parseInt,_0x42ce95['currentTarget'][_0x3d97f4(0x15f)]['index'],0xa);this['_handleRewardAction'](_0x2e7a78);},'_handleRewardAction'(_0x484bd7){const _0x9c8be2=_0x4ed9,_0x46b4ad={'YvjPb':function(_0x2716e7,_0x504de0){return _0x2716e7(_0x504de0);},'fuUvB':_0x9c8be2(0x16b),'SZTZw':function(_0x3b4b13,_0x18293a){return _0x3b4b13+_0x18293a;},'IeDxD':function(_0x35f352,_0xb87270){return _0x35f352===_0xb87270;},'eFcEb':function(_0x256267){return _0x256267();},'xtvqK':_0x9c8be2(0x18c),'lrQvG':'none'},_0x1be12c=this[_0x9c8be2(0x16c)]['rewardsList'],_0x50c8cd=_0x1be12c['find'](_0x441d74=>_0x441d74[_0x9c8be2(0x186)]===_0x484bd7);if(!_0x50c8cd)return;const _0x4d8448=this[_0x9c8be2(0x16c)][_0x9c8be2(0x18b)],_0x4c9353=_0x46b4ad[_0x9c8be2(0x174)](_0x4d8448,0x1),_0x2ac786=()=>{const _0xe600ee=_0x9c8be2;wx[_0xe600ee(0x16e)]({'url':_0xe600ee(0x189)+_0x46b4ad[_0xe600ee(0x18a)](encodeURIComponent,_0x46b4ad[_0xe600ee(0x188)])});};if(_0x46b4ad[_0x9c8be2(0x147)](_0x50c8cd[_0x9c8be2(0x17c)],0x1)||_0x484bd7===_0x4c9353){_0x46b4ad['eFcEb'](_0x2ac786);return;}wx[_0x9c8be2(0x150)]({'title':_0x46b4ad[_0x9c8be2(0x179)],'icon':_0x46b4ad[_0x9c8be2(0x177)]});},'formatDateFromSec'(_0x53f16f){const _0x308df1=_0x4ed9,_0x94fad0={'ohOda':function(_0x4d386a,_0x3de5a0){return _0x4d386a*_0x3de5a0;},'FQRqQ':function(_0xbdd215,_0x187fa3){return _0xbdd215+_0x187fa3;}},_0x17ea4b=parseInt(_0x53f16f||0x0,0xa);if(!_0x17ea4b)return'';const _0x5e196d=new Date(_0x94fad0[_0x308df1(0x164)](_0x17ea4b,0x3e8)),_0x395cfe=_0x5e196d[_0x308df1(0x178)](),_0x3ded74=_0x94fad0[_0x308df1(0x181)](_0x5e196d[_0x308df1(0x15e)](),0x1)[_0x308df1(0x155)]()[_0x308df1(0x182)](0x2,'0'),_0x4bafae=_0x5e196d[_0x308df1(0x166)]()[_0x308df1(0x155)]()['padStart'](0x2,'0'),_0x46d30e=_0x5e196d[_0x308df1(0x16a)]()[_0x308df1(0x155)]()[_0x308df1(0x182)](0x2,'0'),_0x1d901c=_0x5e196d[_0x308df1(0x14f)]()[_0x308df1(0x155)]()[_0x308df1(0x182)](0x2,'0'),_0x457202=_0x5e196d[_0x308df1(0x14d)]()['toString']()[_0x308df1(0x182)](0x2,'0');return _0x395cfe+'/'+_0x3ded74+'/'+_0x4bafae+'\x20'+_0x46d30e+':'+_0x1d901c+':'+_0x457202;},'parseDescToList'(_0x454e81){const _0x3263db=_0x4ed9,_0x5643c1={'RZcOA':function(_0x14d18c,_0x620f9){return _0x14d18c>_0x620f9;},'OAvYp':_0x3263db(0x172),'PVCaV':function(_0x14c7d1,_0x20e2d6){return _0x14c7d1+_0x20e2d6;},'qEbTR':function(_0x305104,_0x68a2d7){return _0x305104<_0x68a2d7;}};if(!_0x454e81||!_0x454e81[_0x3263db(0x180)]())return[];const _0x49e7e3=[];let _0x49ad29=0x0;const _0x262576=/<color\s+([^>]+)>/g;let _0x4aa148;while((_0x4aa148=_0x262576['exec'](_0x454e81))!==null){const _0x5b9373=_0x4aa148[_0x3263db(0x186)],_0x3c252e=_0x4aa148[0x0],_0x270192=_0x4aa148[0x1];if(_0x5643c1['RZcOA'](_0x5b9373,_0x49ad29)){const _0x4bef27=_0x454e81[_0x3263db(0x193)](_0x49ad29,_0x5b9373);if(_0x4bef27)_0x49e7e3[_0x3263db(0x165)]({'text':_0x4bef27});}const _0x3bc2ae=_0x270192[_0x3263db(0x156)](/text=['"]([^'"]+)['"]/),_0x48645d=_0x3bc2ae?_0x3bc2ae[0x1]:'',_0x33ae1f=_0x270192[_0x3263db(0x156)](/rgb=['"]([^'"]+)['"]/),_0x325673=_0x270192[_0x3263db(0x156)](/bold=['"]?(\d)['"]?/),_0x14100d={};if(_0x33ae1f)_0x14100d[_0x3263db(0x146)]=_0x33ae1f[0x1];if(_0x325673&&_0x325673[0x1]==='1')_0x14100d[_0x3263db(0x14e)]=!![];if(_0x48645d)_0x49e7e3[_0x3263db(0x165)]({'text':_0x48645d,..._0x14100d});const _0x56aebb=_0x454e81[_0x3263db(0x17d)](_0x5643c1[_0x3263db(0x153)],_0x262576[_0x3263db(0x183)]);_0x49ad29=_0x56aebb!==-0x1?_0x5643c1[_0x3263db(0x17f)](_0x56aebb,0x8):_0x262576[_0x3263db(0x183)],_0x262576['lastIndex']=_0x49ad29;}if(_0x5643c1[_0x3263db(0x144)](_0x49ad29,_0x454e81[_0x3263db(0x169)])){const _0x3d6cd4=_0x454e81[_0x3263db(0x193)](_0x49ad29);if(_0x3d6cd4)_0x49e7e3['push']({'text':_0x3d6cd4});}return _0x49e7e3;}});
@@ -1,266 +1 @@
1
- import {
2
- queryTopic,
3
- collectTopic
4
- } from "../../services/home"
5
- import formatUTC from "../../utils/formatPost.js"
6
- import querySelect from "../../utils/query-select"
7
- import {
8
- throttle
9
- } from "underscore"
10
-
11
- const throttleQuerySelect = throttle(querySelect, 100)
12
-
13
- Page({
14
- data: {
15
- topic: {},
16
- posts: [],
17
- currentPage: 1, // 已加载的页码(已确认)
18
- order: 1, // 1=热度,2=时间
19
- isLoading: false,
20
- hasMore: true,
21
- topic_name: "",
22
- isCollected: false,
23
- currentPlayingVideoId: null, //当前播放视频帖子id
24
- },
25
-
26
- onLoad(options) {
27
- const topic_name = decodeURIComponent(options.topic_name || options.id || "") || options.id
28
- this.setData({
29
- topic_name
30
- })
31
- // 明确传入第一页并标记为刷新
32
- this.getTopicData(1, true)
33
-
34
- wx.setNavigationBarTitle({
35
- title: topic_name || '话题中心',
36
- })
37
- },
38
-
39
- onShareAppMessage() {
40
- const {
41
- topic
42
- } = this.data;
43
-
44
- const title = topic.name || '查看话题详情';
45
-
46
- return {
47
- title,
48
- // 分享路径携带 gameId 参数
49
- path: `../topic/topic?id=${title}`
50
- };
51
- },
52
-
53
- onCollect(e) {
54
-
55
- const {
56
- is_fans,
57
- id
58
- } = this.data.topic
59
- const nType = is_fans === 1 ? 2 : 1
60
- collectTopic(id, nType).then(res => {
61
- this.setData({
62
- 'topic.is_fans': is_fans === 1 ? 0 : 1
63
- })
64
- wx.showToast({
65
- title: nType === 1 ? '收藏成功' : '取消收藏成功',
66
- })
67
- })
68
- },
69
-
70
- /**
71
- * 获取话题数据(明确传入 page)
72
- * @param {number} page - 要请求的页码(从1开始)
73
- * @param {boolean} isRefresh - 是否是刷新(重置数据)
74
- */
75
- async getTopicData(page = 1, isRefresh = false) {
76
- if (this.data.isLoading) return
77
- if (!this.data.hasMore && !isRefresh && page > this.data.currentPage) return
78
-
79
- this.setData({
80
- isLoading: true
81
- })
82
-
83
- try {
84
- const res = await queryTopic(this.data.topic_name, page, this.data.order)
85
- const postsFromRes = (res?.data?.posts) || []
86
- const topic = (res?.data?.topic) || this.data.topic
87
- const formatPosts = this.formatPost({
88
- data: {
89
- posts: postsFromRes
90
- }
91
- })
92
-
93
- if (isRefresh) {
94
- this.setData({
95
- topic,
96
- posts: formatPosts,
97
- currentPage: 1,
98
- hasMore: postsFromRes.length > 0
99
- })
100
- } else {
101
- // ✅ 追加新数据,使用索引方式 setData,性能更好
102
- const currentLength = this.data.posts.length
103
- const update = {}
104
- formatPosts.forEach((item, idx) => {
105
- update[`posts[${currentLength + idx}]`] = item
106
- })
107
- this.setData({
108
- ...update,
109
- topic,
110
- currentPage: postsFromRes.length > 0 ? page : this.data.currentPage,
111
- hasMore: postsFromRes.length > 0
112
- })
113
- }
114
- } catch (err) {
115
- console.error("话题加载失败", err)
116
- } finally {
117
- this.setData({
118
- isLoading: false
119
- })
120
- wx.stopPullDownRefresh()
121
- }
122
- },
123
-
124
- formatPost(post) {
125
- if (!post || !Array.isArray(post.data.posts)) return []
126
- return post.data.posts.map(item => {
127
- const newItem = {
128
- ...item,
129
- post: {
130
- ...item.post,
131
- formatTime: formatUTC(item.post.created_at),
132
- imageArray: item.post.images ? item.post.images.split(",") : []
133
- }
134
- }
135
- if (item.shared && item.shared.post) {
136
- newItem.shared = {
137
- ...item.shared,
138
- post: {
139
- ...item.shared.post,
140
- formatTime: formatUTC(item.shared.post.created_at),
141
- imageArray: item.shared.post.images ? item.shared.post.images.split(",") : []
142
- }
143
- }
144
- }
145
- return newItem
146
- })
147
- },
148
-
149
- /** van-tabs change 事件:切换排序(重置到第一页并刷新) */
150
- onTabChange(event) {
151
- const index = event.detail.index
152
- const newOrder = index + 1
153
- if (this.data.order === newOrder) return
154
-
155
- // 重置 posts, currentPage, hasMore,再加载第一页
156
- this.setData({
157
- order: newOrder,
158
- posts: [],
159
- currentPage: 1,
160
- hasMore: true
161
- }, () => {
162
- this.getTopicData(1, true)
163
- })
164
- },
165
-
166
- /** 下拉刷新:重新加载第一页 */
167
- onPullDownRefresh() {
168
- this.setData({
169
- currentPage: 1,
170
- posts: [],
171
- hasMore: true
172
- })
173
- this.getTopicData(1, true)
174
- },
175
-
176
- /** 触底加载更多:请求 nextPage 并显式传入 */
177
- async onReachBottom() {
178
- if (this.data.isLoading || !this.data.hasMore) return
179
- const nextPage = this.data.currentPage + 1
180
- this.getTopicData(nextPage, false)
181
- },
182
-
183
- gotoGameDetail(e) {
184
- const gameId = e.currentTarget.dataset.game.id
185
- wx.navigateTo({
186
- url: `../game/game?id=${gameId}`
187
- });
188
- },
189
-
190
- onPublish() {
191
- wx.navigateTo({
192
- url: '../post-editor/post-editor',
193
- })
194
- },
195
-
196
- onFollowChanged(e) {
197
- const {
198
- userId,
199
- isFans
200
- } = e.detail;
201
- const {
202
- posts
203
- } = this.data;
204
-
205
- let updatedPosts;
206
-
207
- if (Array.isArray(posts)) {
208
- // posts 是数组
209
- updatedPosts = posts.map(p => {
210
- if (p.user.id === userId) {
211
- p.user.is_fans = isFans ? 1 : 0;
212
- }
213
- return p;
214
- });
215
- } else if (posts && typeof posts === 'object') {
216
- // posts 是按某种分组的对象
217
- updatedPosts = {};
218
- Object.keys(posts).forEach(key => {
219
- const arr = posts[key];
220
- if (Array.isArray(arr)) {
221
- updatedPosts[key] = arr.map(p => {
222
- if (p.user.id === userId) {
223
- p.user.is_fans = isFans ? 1 : 0;
224
- }
225
- return p;
226
- });
227
- } else {
228
- updatedPosts[key] = arr;
229
- }
230
- });
231
- } else {
232
- updatedPosts = posts;
233
- }
234
-
235
- this.setData({
236
- posts: updatedPosts
237
- });
238
-
239
- wx.showToast({
240
- title: isFans ? '关注成功' : '已取消关注',
241
- icon: 'success'
242
- });
243
- },
244
-
245
- onVideoPlay(e) {
246
-
247
- const postId = e.detail.id;
248
- const prevId = this.data.currentPlayingVideoId;
249
-
250
- if (prevId && prevId !== postId) {
251
- // 1️⃣ 获取上一个视频所在的组件实例
252
- const prevIndex = this.data.posts.findIndex(p => p.post.id === prevId);
253
- const prevComponent = this.selectComponent(`#postItem-${prevIndex}`);
254
- if (prevComponent) {
255
- prevComponent.pauseVideo();
256
- }
257
- }
258
-
259
- // 更新当前播放视频
260
- this.setData({
261
- currentPlayingVideoId: postId
262
- });
263
- },
264
-
265
-
266
- })
1
+ (function(_0x1dead6,_0x3218db){const _0x4bea70=_0x5e09,_0x5c9792=_0x1dead6();while(!![]){try{const _0x52525d=-parseInt(_0x4bea70(0x119))/0x1+-parseInt(_0x4bea70(0xfa))/0x2+-parseInt(_0x4bea70(0x11e))/0x3+parseInt(_0x4bea70(0xe9))/0x4+parseInt(_0x4bea70(0x11a))/0x5+parseInt(_0x4bea70(0xf0))/0x6+parseInt(_0x4bea70(0x110))/0x7*(parseInt(_0x4bea70(0x117))/0x8);if(_0x52525d===_0x3218db)break;else _0x5c9792['push'](_0x5c9792['shift']());}catch(_0x3b1de2){_0x5c9792['push'](_0x5c9792['shift']());}}}(_0x3383,0xcf561));function _0x3383(){const _0x5c3b79=['DM5xqNq','zM9YrwfJAa','lI4VCg9ZDc1LzgL0B3iVCg9ZDc1LzgL0B3i','5ywZ5RoO5OIq5yQF','5BEY5y+w5RAi5ywZ5RoO','C2v0rgf0yq','AxnFzMfUCW','uKfQtxG','wLfnuKu','Dg9WAwm','nJy0nZG1mKnUu1nzzW','Dg9WAwnFBMfTzq','B3nZrLy','Aw1Hz2vZ','AxnmB2fKAw5N','Chr2Eee','C2HHCMvK','ndmWndi5ogDuvNLgDG','wufzEve','BMfTzq','Cg9ZDhm','y3jLyxrLzf9HDa','ywLlwwi','z2fTzq','C3rVCfb1BgXeB3DUuMvMCMvZAa','y3vYCMvUDfbHz2u','C0fLDfm','mJyYntu5mNPNBxvezq','D2rOzMu','Cg9ZDa','svnptw8','vNbVAva','C3bSAxq','sM93zKK','5y+w5RAi5Ps26jEp5OIq5yQF','C2v0tMf2AwDHDgLVBKjHCLrPDgXL','z2v0vg9WAwneyxrH','C2vSzwn0q29TCg9Uzw50','Aw5KzxG','DgHLBG','zMLUzeLUzgv4','6k+D6Aky5yQG6l295AsX6lsL','B1bOsfK','shLrsg0','lI4VDg9WAwmVDg9WAwm/Awq9','q1ftthK','BgvUz3rO','BwfW','zgf0yq','n3PKzMP4Ca','zgv0ywLS','DxnLCG','y3vYCMvUDfrHCMDLDa','5P+L55Yl6k+D6Aky6k+M5Oof','C2HVD1rVyxn0','BMf2AwDHDgvuBW','mtKWmtaWmgzXtK1HuW','wMD4wxa','mJm3mZq3t2fSBwfX','mZG1oda4nwTMAM5KEG','Du9QC3a','Cgf1C2vwAwrLBW','zMnLA1a','mJK2nZu4ohfly1vqyG','B3jKzxi','AxnbCNjHEq'];_0x3383=function(){return _0x5c3b79;};return _0x3383();}import{queryTopic,collectTopic}from'../../services/home';import _0x53226a from'../../utils/formatPost.js';function _0x5e09(_0x4a270b,_0x4f8aab){_0x4a270b=_0x4a270b-0xde;const _0x3383e2=_0x3383();let _0x5e0959=_0x3383e2[_0x4a270b];if(_0x5e09['ZLrBxU']===undefined){var _0x3abcc1=function(_0x5c7afd){const _0x5d44b1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x566540='',_0x5a3670='';for(let _0x2f9932=0x0,_0x481bec,_0x13ecc2,_0x527602=0x0;_0x13ecc2=_0x5c7afd['charAt'](_0x527602++);~_0x13ecc2&&(_0x481bec=_0x2f9932%0x4?_0x481bec*0x40+_0x13ecc2:_0x13ecc2,_0x2f9932++%0x4)?_0x566540+=String['fromCharCode'](0xff&_0x481bec>>(-0x2*_0x2f9932&0x6)):0x0){_0x13ecc2=_0x5d44b1['indexOf'](_0x13ecc2);}for(let _0x544dd2=0x0,_0x3b185e=_0x566540['length'];_0x544dd2<_0x3b185e;_0x544dd2++){_0x5a3670+='%'+('00'+_0x566540['charCodeAt'](_0x544dd2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a3670);};_0x5e09['mzKTKi']=_0x3abcc1,_0x5e09['zSamwR']={},_0x5e09['ZLrBxU']=!![];}const _0xff23da=_0x3383e2[0x0],_0x226f4f=_0x4a270b+_0xff23da,_0x2b143e=_0x5e09['zSamwR'][_0x226f4f];return!_0x2b143e?(_0x5e0959=_0x5e09['mzKTKi'](_0x5e0959),_0x5e09['zSamwR'][_0x226f4f]=_0x5e0959):_0x5e0959=_0x2b143e,_0x5e0959;}import _0x2ef366 from'../../utils/query-select';import{throttle}from'underscore';const throttleQuerySelect=throttle(_0x2ef366,0x64);Page({'data':{'topic':{},'posts':[],'currentPage':0x1,'order':0x1,'isLoading':![],'hasMore':!![],'topic_name':'','isCollected':![],'currentPlayingVideoId':null},'onLoad'(_0x495fb7){const _0x541110=_0x5e09,_0x56ef56={'VpoiP':function(_0x343590,_0x5a7398){return _0x343590(_0x5a7398);},'wdhfe':function(_0x285beb,_0xab9464){return _0x285beb||_0xab9464;},'ptvxA':'话题中心'},_0xd3751d=_0x56ef56[_0x541110(0xfe)](decodeURIComponent,_0x495fb7[_0x541110(0xea)]||_0x495fb7['id']||'')||_0x495fb7['id'];this[_0x541110(0xe4)]({'topic_name':_0xd3751d}),this[_0x541110(0x103)](0x1,!![]),wx[_0x541110(0x102)]({'title':_0x56ef56[_0x541110(0xfb)](_0xd3751d,_0x56ef56[_0x541110(0xee)])});},'onShareAppMessage'(){const _0x276196=_0x5e09,{topic:_0x2dd1c5}=this[_0x276196(0x10f)],_0x47e0cb=_0x2dd1c5[_0x276196(0xf2)]||_0x276196(0x114);return{'title':_0x47e0cb,'path':_0x276196(0x10b)+_0x47e0cb};},'onCollect'(_0x4531c7){const _0x437841=_0x5e09,_0x569aa4={'ISOMo':'收藏成功','oPhHY':_0x437841(0x101),'ZgxYp':function(_0x51d99a,_0x1a10c9){return _0x51d99a===_0x1a10c9;},'vnWBt':function(_0x5d7650,_0x26c23b,_0x33fc3b){return _0x5d7650(_0x26c23b,_0x33fc3b);}},{is_fans:_0x3002ac,id:_0x23393b}=this['data'][_0x437841(0xe8)],_0x334ff7=_0x569aa4[_0x437841(0x118)](_0x3002ac,0x1)?0x2:0x1;_0x569aa4[_0x437841(0xdf)](collectTopic,_0x23393b,_0x334ff7)[_0x437841(0x106)](_0x1f443d=>{const _0x5a9e89=_0x437841;this[_0x5a9e89(0xe4)]({'topic.is_fans':_0x3002ac===0x1?0x0:0x1}),wx[_0x5a9e89(0x115)]({'title':_0x334ff7===0x1?_0x569aa4[_0x5a9e89(0xfd)]:_0x569aa4[_0x5a9e89(0x109)]});});},async 'getTopicData'(_0x9f3727=0x1,_0x4fe921=![]){const _0x1db5f2=_0x5e09,_0x37111f={'QdtMC':function(_0x418ea8,_0x2af1a4){return _0x418ea8+_0x2af1a4;},'uOjsp':function(_0x2aa350,_0x171e9d){return _0x2aa350>_0x171e9d;},'sAetS':function(_0x5adcba,_0x1fcc50,_0x26744b,_0xb0f718){return _0x5adcba(_0x1fcc50,_0x26744b,_0xb0f718);},'JowfI':function(_0xd4a5cd,_0x12602b){return _0xd4a5cd>_0x12602b;},'RAjMx':_0x1db5f2(0x108)};if(this['data'][_0x1db5f2(0xed)])return;if(!this['data']['hasMore']&&!_0x4fe921&&_0x37111f[_0x1db5f2(0x11b)](_0x9f3727,this[_0x1db5f2(0x10f)][_0x1db5f2(0xf8)]))return;this['setData']({'isLoading':!![]});try{const _0x21a618=await _0x37111f[_0x1db5f2(0xf9)](queryTopic,this[_0x1db5f2(0x10f)]['topic_name'],_0x9f3727,this['data'][_0x1db5f2(0x11f)]),_0x40f925=_0x21a618?.[_0x1db5f2(0x10f)]?.['posts']||[],_0x3c93b8=_0x21a618?.['data']?.[_0x1db5f2(0xe8)]||this['data'][_0x1db5f2(0xe8)],_0x34dbaa=this['formatPost']({'data':{'posts':_0x40f925}});if(_0x4fe921)this[_0x1db5f2(0xe4)]({'topic':_0x3c93b8,'posts':_0x34dbaa,'currentPage':0x1,'hasMore':_0x37111f[_0x1db5f2(0x100)](_0x40f925['length'],0x0)});else{const _0x469a96=this['data'][_0x1db5f2(0xf3)][_0x1db5f2(0x10d)],_0x3a6187={};_0x34dbaa[_0x1db5f2(0xe0)]((_0x2ff6fe,_0x3350b6)=>{_0x3a6187['posts['+_0x37111f['QdtMC'](_0x469a96,_0x3350b6)+']']=_0x2ff6fe;}),this['setData']({..._0x3a6187,'topic':_0x3c93b8,'currentPage':_0x37111f[_0x1db5f2(0x11b)](_0x40f925[_0x1db5f2(0x10d)],0x0)?_0x9f3727:this[_0x1db5f2(0x10f)]['currentPage'],'hasMore':_0x37111f['uOjsp'](_0x40f925[_0x1db5f2(0x10d)],0x0)});}}catch(_0x57d84b){console['error'](_0x37111f[_0x1db5f2(0xe6)],_0x57d84b);}finally{this[_0x1db5f2(0xe4)]({'isLoading':![]}),wx[_0x1db5f2(0xf7)]();}},'formatPost'(_0x3ecc73){const _0x23bb8a=_0x5e09,_0x131124={'NJHon':function(_0x4583e0,_0x5168ff){return _0x4583e0(_0x5168ff);},'YAYyQ':function(_0x39d958,_0xcd399a){return _0x39d958(_0xcd399a);}};if(!_0x3ecc73||!Array[_0x23bb8a(0xde)](_0x3ecc73[_0x23bb8a(0x10f)][_0x23bb8a(0xf3)]))return[];return _0x3ecc73[_0x23bb8a(0x10f)]['posts'][_0x23bb8a(0x10e)](_0x3da0bf=>{const _0x40b5ad=_0x23bb8a,_0x2b9292={..._0x3da0bf,'post':{..._0x3da0bf['post'],'formatTime':_0x131124['NJHon'](_0x53226a,_0x3da0bf['post'][_0x40b5ad(0xf4)]),'imageArray':_0x3da0bf['post'][_0x40b5ad(0xec)]?_0x3da0bf[_0x40b5ad(0xfc)][_0x40b5ad(0xec)][_0x40b5ad(0xff)](','):[]}};return _0x3da0bf[_0x40b5ad(0xef)]&&_0x3da0bf[_0x40b5ad(0xef)][_0x40b5ad(0xfc)]&&(_0x2b9292[_0x40b5ad(0xef)]={..._0x3da0bf['shared'],'post':{..._0x3da0bf[_0x40b5ad(0xef)][_0x40b5ad(0xfc)],'formatTime':_0x131124[_0x40b5ad(0xf1)](_0x53226a,_0x3da0bf[_0x40b5ad(0xef)]['post'][_0x40b5ad(0xf4)]),'imageArray':_0x3da0bf['shared']['post']['images']?_0x3da0bf[_0x40b5ad(0xef)][_0x40b5ad(0xfc)]['images'][_0x40b5ad(0xff)](','):[]}}),_0x2b9292;});},'onTabChange'(_0x30018e){const _0x5b0619=_0x5e09,_0x505255={'sCuZD':function(_0xaf6058,_0x41d800){return _0xaf6058===_0x41d800;}},_0x5d69ca=_0x30018e[_0x5b0619(0x111)][_0x5b0619(0x105)],_0x1d628d=_0x5d69ca+0x1;if(_0x505255['sCuZD'](this[_0x5b0619(0x10f)][_0x5b0619(0x11f)],_0x1d628d))return;this[_0x5b0619(0xe4)]({'order':_0x1d628d,'posts':[],'currentPage':0x1,'hasMore':!![]},()=>{const _0x30ed7b=_0x5b0619;this[_0x30ed7b(0x103)](0x1,!![]);});},'onPullDownRefresh'(){const _0x5aa69e=_0x5e09;this[_0x5aa69e(0xe4)]({'currentPage':0x1,'posts':[],'hasMore':!![]}),this[_0x5aa69e(0x103)](0x1,!![]);},async 'onReachBottom'(){const _0x2d9482=_0x5e09,_0x3a897a={'ZQMRE':function(_0x4b0e86,_0x3bf9e6){return _0x4b0e86+_0x3bf9e6;}};if(this[_0x2d9482(0x10f)][_0x2d9482(0xed)]||!this[_0x2d9482(0x10f)]['hasMore'])return;const _0x238271=_0x3a897a[_0x2d9482(0xe7)](this[_0x2d9482(0x10f)][_0x2d9482(0xf8)],0x1);this[_0x2d9482(0x103)](_0x238271,![]);},'gotoGameDetail'(_0x27599d){const _0x5f1a72=_0x5e09,_0x562937=_0x27599d[_0x5f1a72(0x113)]['dataset'][_0x5f1a72(0xf6)]['id'];wx[_0x5f1a72(0x116)]({'url':'../game/game?id='+_0x562937});},'onPublish'(){const _0x1c61c5=_0x5e09,_0x1cfbe8={'HyQHm':_0x1c61c5(0xe1)};wx['navigateTo']({'url':_0x1cfbe8[_0x1c61c5(0x10a)]});},'onFollowChanged'(_0x5c8ac1){const _0x316d92=_0x5e09,_0x52d285={'ossFV':function(_0x22ad0f,_0x3f3a5e){return _0x22ad0f===_0x3f3a5e;},'CQSLy':function(_0x16e121,_0x5c6a69){return _0x16e121===_0x5c6a69;},'ZxtLt':'object','wOZMz':_0x316d92(0xe2),'fcekP':'success'},{userId:_0x2a99ae,isFans:_0x375253}=_0x5c8ac1['detail'],{posts:_0x323e3e}=this['data'];let _0x5c530a;if(Array[_0x316d92(0xde)](_0x323e3e))_0x5c530a=_0x323e3e[_0x316d92(0x10e)](_0x3c8bbb=>{const _0x5c5e12=_0x316d92;return _0x3c8bbb[_0x5c5e12(0x112)]['id']===_0x2a99ae&&(_0x3c8bbb[_0x5c5e12(0x112)][_0x5c5e12(0xe5)]=_0x375253?0x1:0x0),_0x3c8bbb;});else _0x323e3e&&_0x52d285[_0x316d92(0x10c)](typeof _0x323e3e,_0x52d285['ZxtLt'])?(_0x5c530a={},Object['keys'](_0x323e3e)[_0x316d92(0xe0)](_0x2474d7=>{const _0x7db0be=_0x316d92,_0x4e13c5=_0x323e3e[_0x2474d7];Array[_0x7db0be(0xde)](_0x4e13c5)?_0x5c530a[_0x2474d7]=_0x4e13c5['map'](_0x12d797=>{const _0x339f6d=_0x7db0be;return _0x52d285[_0x339f6d(0xeb)](_0x12d797['user']['id'],_0x2a99ae)&&(_0x12d797[_0x339f6d(0x112)][_0x339f6d(0xe5)]=_0x375253?0x1:0x0),_0x12d797;}):_0x5c530a[_0x2474d7]=_0x4e13c5;})):_0x5c530a=_0x323e3e;this[_0x316d92(0xe4)]({'posts':_0x5c530a}),wx[_0x316d92(0x115)]({'title':_0x375253?_0x52d285['wOZMz']:_0x316d92(0xe3),'icon':_0x52d285[_0x316d92(0x11d)]});},'onVideoPlay'(_0x5d3c23){const _0x5e506f=_0x5e09,_0x39ef3f={'aiKYb':function(_0x2ba4f6,_0x509750){return _0x2ba4f6!==_0x509750;}},_0x1995fa=_0x5d3c23[_0x5e506f(0x111)]['id'],_0x19fb57=this[_0x5e506f(0x10f)]['currentPlayingVideoId'];if(_0x19fb57&&_0x39ef3f[_0x5e506f(0xf5)](_0x19fb57,_0x1995fa)){const _0xe67aea=this['data'][_0x5e506f(0xf3)][_0x5e506f(0x107)](_0x4f0e66=>_0x4f0e66[_0x5e506f(0xfc)]['id']===_0x19fb57),_0x4228cb=this[_0x5e506f(0x104)]('#postItem-'+_0xe67aea);_0x4228cb&&_0x4228cb[_0x5e506f(0x11c)]();}this['setData']({'currentPlayingVideoId':_0x1995fa});}});