southnote-sdk 1.0.0

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 (280) hide show
  1. package/app.js +1 -0
  2. package/app.json +55 -0
  3. package/app.wxss +15 -0
  4. package/assets/file/badwords-compressed.js +1 -0
  5. package/assets/file/rules.js +1 -0
  6. package/assets/images/icons/age1.png +0 -0
  7. package/assets/images/icons/age2.png +0 -0
  8. package/assets/images/icons/age3.png +0 -0
  9. package/assets/images/icons/attachment.png +0 -0
  10. package/assets/images/icons/clear.png +0 -0
  11. package/assets/images/icons/edit_input.png +0 -0
  12. package/assets/images/icons/header_placeholder.png +0 -0
  13. package/assets/images/icons/home_collect.png +0 -0
  14. package/assets/images/icons/home_collected.png +0 -0
  15. package/assets/images/icons/home_comment.png +0 -0
  16. package/assets/images/icons/home_like.png +0 -0
  17. package/assets/images/icons/home_liked.png +0 -0
  18. package/assets/images/icons/home_message.png +0 -0
  19. package/assets/images/icons/home_share.png +0 -0
  20. package/assets/images/icons/icon_more.png +0 -0
  21. package/assets/images/icons/input_game.png +0 -0
  22. package/assets/images/icons/logo.png +0 -0
  23. package/assets/images/icons/lv1.png +0 -0
  24. package/assets/images/icons/lv2.png +0 -0
  25. package/assets/images/icons/lv3.png +0 -0
  26. package/assets/images/icons/lv4.png +0 -0
  27. package/assets/images/icons/search.png +0 -0
  28. package/assets/images/icons/sex1.png +0 -0
  29. package/assets/images/icons/sex2.png +0 -0
  30. package/assets/images/icons/sign_empty.png +0 -0
  31. package/assets/images/icons/sign_login.png +0 -0
  32. package/assets/wheel/wheel_bg.png +0 -0
  33. package/assets/wheel/wheel_bg2.png +0 -0
  34. package/assets/wheel/wheel_fore.png +0 -0
  35. package/assets/wheel/wheel_to.png +0 -0
  36. package/components/bottomSheet/bottomSheet.js +1 -0
  37. package/components/bottomSheet/bottomSheet.json +5 -0
  38. package/components/bottomSheet/bottomSheet.wxml +73 -0
  39. package/components/bottomSheet/bottomSheet.wxss +238 -0
  40. package/components/experience-item/experience-item.js +1 -0
  41. package/components/experience-item/experience-item.json +4 -0
  42. package/components/experience-item/experience-item.wxml +39 -0
  43. package/components/experience-item/experience-item.wxss +110 -0
  44. package/components/grid-item/grid-item.js +1 -0
  45. package/components/grid-item/grid-item.json +4 -0
  46. package/components/grid-item/grid-item.wxml +62 -0
  47. package/components/grid-item/grid-item.wxss +191 -0
  48. package/components/post-item/post-item.js +1 -0
  49. package/components/post-item/post-item.json +4 -0
  50. package/components/post-item/post-item.wxml +423 -0
  51. package/components/post-item/post-item.wxss +525 -0
  52. package/components/wiki-renderer/wiki-renderer.js +1 -0
  53. package/components/wiki-renderer/wiki-renderer.json +12 -0
  54. package/components/wiki-renderer/wiki-renderer.wxml +150 -0
  55. package/components/wiki-renderer/wiki-renderer.wxss +412 -0
  56. package/components/wiki-tabs/wiki-tabs.js +1 -0
  57. package/components/wiki-tabs/wiki-tabs.json +3 -0
  58. package/components/wiki-tabs/wiki-tabs.wxml +28 -0
  59. package/components/wiki-tabs/wiki-tabs.wxss +43 -0
  60. package/index.js +1 -0
  61. package/package.json +22 -0
  62. package/pages/addGame/addGame.js +1 -0
  63. package/pages/addGame/addGame.json +6 -0
  64. package/pages/addGame/addGame.wxml +71 -0
  65. package/pages/addGame/addGame.wxss +110 -0
  66. package/pages/addSubject/addSubject.js +1 -0
  67. package/pages/addSubject/addSubject.json +7 -0
  68. package/pages/addSubject/addSubject.wxml +78 -0
  69. package/pages/addSubject/addSubject.wxss +85 -0
  70. package/pages/commonLogin/commonLogin.js +1 -0
  71. package/pages/commonLogin/commonLogin.json +7 -0
  72. package/pages/commonLogin/commonLogin.wxml +57 -0
  73. package/pages/commonLogin/commonLogin.wxss +177 -0
  74. package/pages/copyOfficial/copyOfficial.js +1 -0
  75. package/pages/copyOfficial/copyOfficial.json +3 -0
  76. package/pages/copyOfficial/copyOfficial.wxml +22 -0
  77. package/pages/copyOfficial/copyOfficial.wxss +49 -0
  78. package/pages/demo/demo.js +1 -0
  79. package/pages/demo/demo.wxml +2 -0
  80. package/pages/emoji/smile001.png +0 -0
  81. package/pages/emoji/smile002.png +0 -0
  82. package/pages/emoji/smile003.png +0 -0
  83. package/pages/emoji/smile004.png +0 -0
  84. package/pages/emoji/smile005.png +0 -0
  85. package/pages/emoji/smile006.png +0 -0
  86. package/pages/emoji/smile007.png +0 -0
  87. package/pages/emoji/smile008.png +0 -0
  88. package/pages/emoji/smile009.png +0 -0
  89. package/pages/emoji/smile010.png +0 -0
  90. package/pages/emoji/smile011.png +0 -0
  91. package/pages/emoji/smile012.png +0 -0
  92. package/pages/emoji/smile013.png +0 -0
  93. package/pages/emoji/smile014.png +0 -0
  94. package/pages/emoji/smile015.png +0 -0
  95. package/pages/emoji/smile016.png +0 -0
  96. package/pages/emoji/smile017.png +0 -0
  97. package/pages/emoji/smile018.png +0 -0
  98. package/pages/emoji/smile019.png +0 -0
  99. package/pages/emoji/smile020.png +0 -0
  100. package/pages/emoji/smile021.png +0 -0
  101. package/pages/emoji/smile022.png +0 -0
  102. package/pages/emoji/smile023.png +0 -0
  103. package/pages/emoji/smile024.png +0 -0
  104. package/pages/emoji/smile025.png +0 -0
  105. package/pages/emoji/smile026.png +0 -0
  106. package/pages/emoji/smile027.png +0 -0
  107. package/pages/emoji/smile028.png +0 -0
  108. package/pages/emoji/smile029.png +0 -0
  109. package/pages/emoji/smile030.png +0 -0
  110. package/pages/emoji/smile031.png +0 -0
  111. package/pages/emoji/smile032.png +0 -0
  112. package/pages/emoji/smile033.png +0 -0
  113. package/pages/emoji/smile034.png +0 -0
  114. package/pages/emoji/smile035.png +0 -0
  115. package/pages/emoji/smile036.png +0 -0
  116. package/pages/emoji/smile037.png +0 -0
  117. package/pages/emoji/smile038.png +0 -0
  118. package/pages/emoji/smile039.png +0 -0
  119. package/pages/emoji/smile040.png +0 -0
  120. package/pages/emoji/smile041.png +0 -0
  121. package/pages/emoji/smile042.png +0 -0
  122. package/pages/emoji/smile043.png +0 -0
  123. package/pages/emoji/smile044.png +0 -0
  124. package/pages/emoji/smile045.png +0 -0
  125. package/pages/emoji/smile046.png +0 -0
  126. package/pages/emoji/smile047.png +0 -0
  127. package/pages/emoji/smile048.png +0 -0
  128. package/pages/emoji/smile049.png +0 -0
  129. package/pages/emoji/smile050.png +0 -0
  130. package/pages/emoji/smile051.png +0 -0
  131. package/pages/emoji/smile052.png +0 -0
  132. package/pages/game/game.js +1 -0
  133. package/pages/game/game.json +12 -0
  134. package/pages/game/game.wxml +350 -0
  135. package/pages/game/game.wxss +672 -0
  136. package/pages/lottery-winners/lottery-winners.js +1 -0
  137. package/pages/lottery-winners/lottery-winners.json +4 -0
  138. package/pages/lottery-winners/lottery-winners.wxml +53 -0
  139. package/pages/lottery-winners/lottery-winners.wxss +127 -0
  140. package/pages/officialWebview/officialWebview.js +1 -0
  141. package/pages/officialWebview/officialWebview.json +3 -0
  142. package/pages/officialWebview/officialWebview.wxml +2 -0
  143. package/pages/officialWebview/officialWebview.wxss +1 -0
  144. package/pages/post/post.js +1 -0
  145. package/pages/post/post.json +8 -0
  146. package/pages/post/post.wxml +686 -0
  147. package/pages/post/post.wxss +1003 -0
  148. package/pages/post-editor/post-editor.js +1 -0
  149. package/pages/post-editor/post-editor.json +6 -0
  150. package/pages/post-editor/post-editor.wxml +63 -0
  151. package/pages/post-editor/post-editor.wxss +195 -0
  152. package/pages/postDialog/postDialog.js +1 -0
  153. package/pages/postDialog/postDialog.json +6 -0
  154. package/pages/postDialog/postDialog.wxml +377 -0
  155. package/pages/postDialog/postDialog.wxss +979 -0
  156. package/pages/report-category/reporst-category.js +1 -0
  157. package/pages/report-category/reporst-category.json +3 -0
  158. package/pages/report-category/reporst-category.wxml +2 -0
  159. package/pages/report-category/reporst-category.wxss +1 -0
  160. package/pages/report-category/report-category.js +1 -0
  161. package/pages/report-category/report-category.json +4 -0
  162. package/pages/report-category/report-category.wxml +14 -0
  163. package/pages/report-category/report-category.wxss +43 -0
  164. package/pages/report-form/report-form.js +1 -0
  165. package/pages/report-form/report-form.json +3 -0
  166. package/pages/report-form/report-form.wxml +11 -0
  167. package/pages/report-form/report-form.wxss +44 -0
  168. package/pages/sevenDaySignDetail/sevenDaySignDetail.js +1 -0
  169. package/pages/sevenDaySignDetail/sevenDaySignDetail.json +3 -0
  170. package/pages/sevenDaySignDetail/sevenDaySignDetail.wxml +82 -0
  171. package/pages/sevenDaySignDetail/sevenDaySignDetail.wxss +173 -0
  172. package/pages/topic/topic.js +1 -0
  173. package/pages/topic/topic.json +6 -0
  174. package/pages/topic/topic.wxml +77 -0
  175. package/pages/topic/topic.wxss +162 -0
  176. package/pages/webview/webview.js +1 -0
  177. package/pages/webview/webview.json +3 -0
  178. package/pages/webview/webview.wxml +22 -0
  179. package/pages/webview/webview.wxss +50 -0
  180. package/pages/wheelActivivty/wheelActivivty.js +1 -0
  181. package/pages/wheelActivivty/wheelActivivty.json +8 -0
  182. package/pages/wheelActivivty/wheelActivivty.wxml +131 -0
  183. package/pages/wheelActivivty/wheelActivivty.wxss +459 -0
  184. package/pages/wiki/wiki.js +1 -0
  185. package/pages/wiki/wiki.json +6 -0
  186. package/pages/wiki/wiki.wxml +20 -0
  187. package/pages/wiki/wiki.wxss +44 -0
  188. package/request/JKRequest.js +1 -0
  189. package/services/home.js +1 -0
  190. package/towxml/config.js +291 -0
  191. package/towxml/decode.js +35 -0
  192. package/towxml/decode.json +11 -0
  193. package/towxml/decode.wxml +137 -0
  194. package/towxml/decode.wxss +0 -0
  195. package/towxml/img/img.js +98 -0
  196. package/towxml/img/img.json +3 -0
  197. package/towxml/img/img.wxml +1 -0
  198. package/towxml/img/img.wxss +0 -0
  199. package/towxml/index.js +19 -0
  200. package/towxml/latex/latex.js +53 -0
  201. package/towxml/latex/latex.json +5 -0
  202. package/towxml/latex/latex.wxml +1 -0
  203. package/towxml/latex/latex.wxss +0 -0
  204. package/towxml/parse/highlight/highlight.js +1 -0
  205. package/towxml/parse/highlight/index.js +8 -0
  206. package/towxml/parse/highlight/languages/bash.js +111 -0
  207. package/towxml/parse/highlight/languages/c-like.js +236 -0
  208. package/towxml/parse/highlight/languages/c.js +22 -0
  209. package/towxml/parse/highlight/languages/css.js +132 -0
  210. package/towxml/parse/highlight/languages/dart.js +134 -0
  211. package/towxml/parse/highlight/languages/go.js +63 -0
  212. package/towxml/parse/highlight/languages/htmlbars.js +80 -0
  213. package/towxml/parse/highlight/languages/java.js +125 -0
  214. package/towxml/parse/highlight/languages/javascript.js +265 -0
  215. package/towxml/parse/highlight/languages/json.js +52 -0
  216. package/towxml/parse/highlight/languages/less.js +148 -0
  217. package/towxml/parse/highlight/languages/nginx.js +101 -0
  218. package/towxml/parse/highlight/languages/php.js +161 -0
  219. package/towxml/parse/highlight/languages/python-repl.js +29 -0
  220. package/towxml/parse/highlight/languages/python.js +131 -0
  221. package/towxml/parse/highlight/languages/scss.js +122 -0
  222. package/towxml/parse/highlight/languages/shell.js +22 -0
  223. package/towxml/parse/highlight/languages/typescript.js +215 -0
  224. package/towxml/parse/highlight/languages/xml.js +139 -0
  225. package/towxml/parse/highlight/style/github.wxss +99 -0
  226. package/towxml/parse/highlight/style/monokai.wxss +70 -0
  227. package/towxml/parse/index.js +118 -0
  228. package/towxml/parse/markdown/index.js +67 -0
  229. package/towxml/parse/markdown/markdown.js +4 -0
  230. package/towxml/parse/markdown/plugins/echarts.js +11 -0
  231. package/towxml/parse/markdown/plugins/emoji.js +2 -0
  232. package/towxml/parse/markdown/plugins/ins.js +1 -0
  233. package/towxml/parse/markdown/plugins/latex.js +158 -0
  234. package/towxml/parse/markdown/plugins/mark.js +1 -0
  235. package/towxml/parse/markdown/plugins/sub.js +1 -0
  236. package/towxml/parse/markdown/plugins/sup.js +1 -0
  237. package/towxml/parse/markdown/plugins/todo.js +147 -0
  238. package/towxml/parse/markdown/plugins/yuml.js +20 -0
  239. package/towxml/parse/parse2/Parser.js +492 -0
  240. package/towxml/parse/parse2/Tokenizer.js +903 -0
  241. package/towxml/parse/parse2/domelementtype/index.js +55 -0
  242. package/towxml/parse/parse2/domhandler/index.js +145 -0
  243. package/towxml/parse/parse2/domhandler/node.js +474 -0
  244. package/towxml/parse/parse2/entities/decode.js +179 -0
  245. package/towxml/parse/parse2/entities/decode_codepoint.js +60 -0
  246. package/towxml/parse/parse2/entities/encode.js +77 -0
  247. package/towxml/parse/parse2/entities/escape.js +112 -0
  248. package/towxml/parse/parse2/entities/generated/decode-data-html.js +9 -0
  249. package/towxml/parse/parse2/entities/generated/decode-data-xml.js +9 -0
  250. package/towxml/parse/parse2/entities/generated/encode-html.js +12 -0
  251. package/towxml/parse/parse2/entities/index.js +137 -0
  252. package/towxml/parse/parse2/index.js +8 -0
  253. package/towxml/style/main.wxss +419 -0
  254. package/towxml/style/theme/dark.wxss +73 -0
  255. package/towxml/style/theme/light.wxss +63 -0
  256. package/towxml/table/table.js +11 -0
  257. package/towxml/table/table.json +6 -0
  258. package/towxml/table/table.wxml +24 -0
  259. package/towxml/table/table.wxss +0 -0
  260. package/towxml/todogroup/todogroup.js +20 -0
  261. package/towxml/todogroup/todogroup.json +6 -0
  262. package/towxml/todogroup/todogroup.wxml +12 -0
  263. package/towxml/todogroup/todogroup.wxss +3 -0
  264. package/towxml/towxml.js +22 -0
  265. package/towxml/towxml.json +6 -0
  266. package/towxml/towxml.wxml +5 -0
  267. package/towxml/towxml.wxss +8 -0
  268. package/towxml/yuml/yuml.js +51 -0
  269. package/towxml/yuml/yuml.json +5 -0
  270. package/towxml/yuml/yuml.wxml +5 -0
  271. package/towxml/yuml/yuml.wxss +0 -0
  272. package/utils/aes.js +1 -0
  273. package/utils/auth.js +1 -0
  274. package/utils/base64.js +1 -0
  275. package/utils/compressImage.js +1 -0
  276. package/utils/exp.js +1 -0
  277. package/utils/formatPost.js +1 -0
  278. package/utils/parseContent.js +1 -0
  279. package/utils/query-select.js +1 -0
  280. package/utils/sensitive.js +1 -0
@@ -0,0 +1 @@
1
+ function _0x38a4(_0x485a33,_0x2b642d){_0x485a33=_0x485a33-0xad;const _0x2dac8d=_0x2dac();let _0x38a463=_0x2dac8d[_0x485a33];if(_0x38a4['QlcrDG']===undefined){var _0x75c259=function(_0xd4e540){const _0x3fb161='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x45880e='',_0x12f097='';for(let _0x55d294=0x0,_0x3db03b,_0x33f6f6,_0x183662=0x0;_0x33f6f6=_0xd4e540['charAt'](_0x183662++);~_0x33f6f6&&(_0x3db03b=_0x55d294%0x4?_0x3db03b*0x40+_0x33f6f6:_0x33f6f6,_0x55d294++%0x4)?_0x45880e+=String['fromCharCode'](0xff&_0x3db03b>>(-0x2*_0x55d294&0x6)):0x0){_0x33f6f6=_0x3fb161['indexOf'](_0x33f6f6);}for(let _0xece119=0x0,_0xca4f22=_0x45880e['length'];_0xece119<_0xca4f22;_0xece119++){_0x12f097+='%'+('00'+_0x45880e['charCodeAt'](_0xece119)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12f097);};_0x38a4['BXVPrw']=_0x75c259,_0x38a4['jBYzOO']={},_0x38a4['QlcrDG']=!![];}const _0x56c335=_0x2dac8d[0x0],_0xb5a82b=_0x485a33+_0x56c335,_0x32e239=_0x38a4['jBYzOO'][_0xb5a82b];return!_0x32e239?(_0x38a463=_0x38a4['BXVPrw'](_0x38a463),_0x38a4['jBYzOO'][_0xb5a82b]=_0x38a463):_0x38a463=_0x32e239,_0x38a463;}const _0x415eec=_0x38a4;(function(_0x1a1693,_0x3c81dc){const _0xec30c2=_0x38a4,_0x430b53=_0x1a1693();while(!![]){try{const _0x1eab22=parseInt(_0xec30c2(0xd4))/0x1*(-parseInt(_0xec30c2(0xec))/0x2)+parseInt(_0xec30c2(0xe9))/0x3*(parseInt(_0xec30c2(0xe4))/0x4)+-parseInt(_0xec30c2(0xd2))/0x5*(parseInt(_0xec30c2(0xb3))/0x6)+-parseInt(_0xec30c2(0xad))/0x7*(parseInt(_0xec30c2(0xd9))/0x8)+parseInt(_0xec30c2(0xbb))/0x9*(parseInt(_0xec30c2(0xc7))/0xa)+-parseInt(_0xec30c2(0xe6))/0xb*(parseInt(_0xec30c2(0xb9))/0xc)+parseInt(_0xec30c2(0xb2))/0xd;if(_0x1eab22===_0x3c81dc)break;else _0x430b53['push'](_0x430b53['shift']());}catch(_0x21f322){_0x430b53['push'](_0x430b53['shift']());}}}(_0x2dac,0x748cc));function _0x2dac(){const _0x1df979=['uM9NDwvSAwTL','m2LrBMnlsa','y2f0zwDVCMLLCW','BgvUz3rO','mM1QtK1AvW','A2v5','y29Kzq','5AwZ5OcN5zcr','DgXky1q','zxjYB3i','Dw5ZAgLMDa','DujIy0q','zgf0yq','C2XPy2u','DKz5yNC','55Uk5PM66kEJ5A+g','nJiYodm5zKTUveLd','uKLWBwy','weTLvhm','C2vHCMnOsgfZtw9Yzq','AxnbCNjHEq','mJK1mdq5mtDNELLbr3y','nNjPzLzvsq','s3b1sgG','s0HdCe8','yxbWDwLK','C2vHCMnOugfNzq','CK9zvxu','otC3mtCWohDbCwXQsq','DMfSDwu','nte5mZGXufn3DxPd','CNDJwva','6kEs6iMY5OMU5RYu','DeD0Cu4','zujmuM0','Bg9HzenHDgvNB3j5r2fTzxm','BMf2AwDHDgvcywnR','Bg9Hze15r2fTzxm','CMvJzw50','Bg9HzefJDgL2zvrHyG','tu1puLbh','DhjPBq','mZbtz3nPwgm','yu5ZEMi','5PcC57sI5AsX6lsL','z2v0u3rVCMfNzvn5BMm','5AIX5lMq5zY6','z2fTzq','C2f2zvjLy2vUDeDHBwu','C2vHCMnOuMvZDwX0CW','Be9PCxu','Bg9HzfnLyxjJAfjLC3vSDhm','Bg9HzfjLy2vUDeDHBwvZ','mtq3odGYnvj4uNn1Aa','5PYQ5OM+5yIW5lIk5lIa5lIQ6Ag16z2I','odCXmZGZtu12CfHz','ywn0AxzLs2v5','sNnXCu0','5yQG6l295yIg57g75RI45OIp5AsX6lsLoG','z2fTzxm','ntz2qNP4qwS','C2v0rgf0yq','CMvJzw50r2fTzxm','5PYa6l+r5RE75yQG','tu9cqq','y3vYCMvUDfrHCMDLDa','C2vHCMnOtg9HzgLUzW','zwDoDhi','Ew1MA0O','5BYa5Ps+5lIw55wm','5OIr55Qe5RI45OIp5BQt','mJu1ntC5mKfjA0XxsG','CgfNzq','mtfcrennqKq','vhfvBhi'];_0x2dac=function(){return _0x1df979;};return _0x2dac();}import{queryUserGames,queryGames,search}from'../../services/home';Page({'data':{'categories':[{'key':_0x415eec(0xc3),'title':_0x415eec(0xdc)},{'key':'my','title':_0x415eec(0xe3)},{'key':0x1,'title':'总榜'},{'key':0x2,'title':'期待'},{'key':0x3,'title':'新品'},{'key':0x4,'title':'策略'},{'key':0x5,'title':'动作'},{'key':0x6,'title':_0x415eec(0xbd)},{'key':0x7,'title':'竞速'},{'key':0x8,'title':'聚会'},{'key':0x9,'title':'卡牌'},{'key':0xa,'title':'冒险'},{'key':0xb,'title':'模拟'},{'key':0xc,'title':'体育'},{'key':0xd,'title':'文字'},{'key':0xe,'title':'问答'},{'key':0xf,'title':'休闲'},{'key':0x10,'title':_0x415eec(0xf7)},{'key':0x11,'title':'音乐'},{'key':0x12,'title':_0x415eec(0xcb)},{'key':0x13,'title':'桌游'},{'key':0x14,'title':'射击'},{'key':0x15,'title':'二次元'},{'key':0x16,'title':_0x415eec(0xe8)},{'key':0x17,'title':_0x415eec(0xef)},{'key':0x18,'title':'沙盒'},{'key':0x19,'title':_0x415eec(0xe2)},{'key':0x1a,'title':_0x415eec(0xc5)},{'key':0x1b,'title':'武侠'},{'key':0x1c,'title':_0x415eec(0xdd)},{'key':0x1d,'title':'放置'},{'key':0x1e,'title':'塔防'},{'key':0x1f,'title':'影游'}],'activeKey':0x0,'games':[],'loading':![],'refreshing':![],'page':0x1,'hasMore':!![],'myPage':0x1,'myHasMore':!![],'searchValue':'','showSearchResult':![],'searchResults':[],'searchPage':0x1,'searchHasMore':!![],'searchLoading':![]},'onLoad'(){const _0x3a1681=_0x415eec,_0x575202={'tlJcT':_0x3a1681(0xdb),'ymfkJ':function(_0x1ed793,_0x2bc074){return _0x1ed793===_0x2bc074;}},_0x2826ef=wx[_0x3a1681(0xca)](_0x575202[_0x3a1681(0xf0)])||[];_0x575202[_0x3a1681(0xe1)](this[_0x3a1681(0xf4)][_0x3a1681(0xd5)],0x0)&&this[_0x3a1681(0xda)]({'games':_0x2826ef}),this[_0x3a1681(0xda)]({'recentGames':_0x2826ef});},'saveRecentGame'(_0x2c375f){const _0x5362fc=_0x415eec,_0x4d8d34={'egNtr':_0x5362fc(0xdb),'bCebZ':function(_0x123f21,_0x46d26f){return _0x123f21>_0x46d26f;}};let _0x5d4113=wx[_0x5362fc(0xca)](_0x4d8d34['egNtr'])||[];_0x5d4113=_0x5d4113['filter'](_0x582ee0=>_0x582ee0['id']!==_0x2c375f['id']),_0x5d4113[_0x5362fc(0xf2)](_0x2c375f);if(_0x4d8d34['bCebZ'](_0x5d4113[_0x5362fc(0xeb)],0xa))_0x5d4113=_0x5d4113[_0x5362fc(0xf5)](0x0,0xa);wx['setStorageSync'](_0x4d8d34[_0x5362fc(0xe0)],_0x5d4113),this[_0x5362fc(0xda)]({'recentGames':_0x5d4113});},'loadRecentGames'(){const _0x401c09=_0x415eec,_0x469e30={'UXFVB':'recentGames'},_0x29b192=wx[_0x401c09(0xca)](_0x469e30['UXFVB'])||[];this[_0x401c09(0xda)]({'games':_0x29b192,'refreshing':![],'loading':![],'hasMore':![]});},async 'loadCategoryGames'(_0x4fe2dc=![]){const _0x5cf833=_0x415eec,_0x60f06a={'TqUlr':function(_0x292554,_0x28dd65,_0x41286a){return _0x292554(_0x28dd65,_0x41286a);},'rwcYP':function(_0x1cb43e,_0x537e53){return _0x1cb43e===_0x537e53;},'rOYUu':function(_0x2a0eed,_0x372dc7){return _0x2a0eed>_0x372dc7;},'ApKqr':function(_0xa3f193,_0x311d68){return _0xa3f193+_0x311d68;},'QvXhE':_0x5cf833(0xd7)};if(this['data']['loading'])return;this['setData']({'loading':!![]});let _0x83a9e=_0x4fe2dc?0x1:this[_0x5cf833(0xf4)][_0x5cf833(0xe5)]||0x1;const _0x5c1f1a=this[_0x5cf833(0xf4)][_0x5cf833(0xd5)],_0x43eeac=this[_0x5cf833(0xf4)][_0x5cf833(0xea)]&&this[_0x5cf833(0xf4)][_0x5cf833(0xea)][_0x5c1f1a],_0x225e47=_0x43eeac?_0x43eeac[_0x5cf833(0xed)]:'';try{const _0x1fd688=await _0x60f06a[_0x5cf833(0xe7)](queryGames,_0x225e47,_0x83a9e);if(_0x1fd688&&_0x60f06a[_0x5cf833(0xbc)](_0x1fd688['code'],0x0)){const _0x48829f=Array['isArray'](_0x1fd688['data'])?_0x1fd688[_0x5cf833(0xf4)]:[],_0xcde2eb=_0x4fe2dc?_0x48829f:[...this['data'][_0x5cf833(0xd8)]||[],..._0x48829f],_0x2ad2a3=_0x60f06a[_0x5cf833(0xb8)](_0x48829f[_0x5cf833(0xeb)],0x0),_0x1886c0=_0x60f06a['ApKqr'](_0x4fe2dc?0x1:_0x83a9e,_0x48829f[_0x5cf833(0xeb)]>0x0?0x1:0x0);this[_0x5cf833(0xda)]({'games':_0xcde2eb,'page':_0x1886c0,'hasMore':_0x2ad2a3});}else this['setData']({'hasMore':![]});}catch(_0x3deb65){console[_0x5cf833(0xf1)](_0x60f06a['QvXhE'],_0x3deb65),this[_0x5cf833(0xda)]({'hasMore':![]});}finally{this['setData']({'loading':![],'refreshing':![]});}},'onSearchReachBottom'(){const _0x252c2c=_0x415eec;if(!this[_0x252c2c(0xf4)]['showSearchResult'])return;this[_0x252c2c(0xd0)]();},'onSearchInput'(_0x56a09c){const _0x518232=_0x415eec,_0x4fab0d=_0x56a09c['detail'][_0x518232(0xba)][_0x518232(0xc6)]();this[_0x518232(0xda)]({'searchValue':_0x4fab0d,'showSearchResult':!!_0x4fab0d,'searchPage':0x1,'searchResults':[],'searchHasMore':!![]}),_0x4fab0d?this[_0x518232(0xd0)](!![]):this[_0x518232(0xda)]({'searchResults':[],'searchHasMore':!![],'searchLoading':![]});},async 'loadSearchResults'(_0x5bd47a=![]){const _0x423ca2=_0x415eec,_0xaa559a={'RIpmf':function(_0x58a633,_0x574e5a){return _0x58a633>_0x574e5a;},'tGtqN':function(_0x5b1890,_0x2ded1c){return _0x5b1890+_0x2ded1c;},'eBLRm':_0x423ca2(0xc9)};if(this[_0x423ca2(0xf4)][_0x423ca2(0xdf)]||!this[_0x423ca2(0xf4)][_0x423ca2(0xb0)])return;this[_0x423ca2(0xda)]({'searchLoading':!![]});const _0x3c12a9=_0x5bd47a?0x1:this['data'][_0x423ca2(0xb7)],_0x250d9f=this['data']['searchValue'];try{const _0x2cd4b1=await search(_0x250d9f,0x3,_0x3c12a9);if(_0x2cd4b1&&_0x2cd4b1[_0x423ca2(0xee)]===0x0){const _0x43a8fa=Array[_0x423ca2(0xb1)](_0x2cd4b1['data'][_0x423ca2(0xd8)])?_0x2cd4b1['data'][_0x423ca2(0xd8)]:[],_0x5de3eb=_0x5bd47a?_0x43a8fa:[...this['data'][_0x423ca2(0xce)]||[],..._0x43a8fa],_0x5cb722=_0xaa559a[_0x423ca2(0xae)](_0x43a8fa[_0x423ca2(0xeb)],0x0);this[_0x423ca2(0xda)]({'searchResults':_0x5de3eb,'searchPage':_0xaa559a[_0x423ca2(0xbe)](_0x3c12a9,_0xaa559a[_0x423ca2(0xae)](_0x43a8fa[_0x423ca2(0xeb)],0x0)?0x1:0x0),'searchHasMore':_0x5cb722});}else this[_0x423ca2(0xda)]({'searchHasMore':![]});}catch(_0x42d9f2){console[_0x423ca2(0xf1)](_0xaa559a[_0x423ca2(0xbf)],_0x42d9f2),this[_0x423ca2(0xda)]({'searchHasMore':![]});}finally{this[_0x423ca2(0xda)]({'searchLoading':![]});}},'onChangeTab'(_0x5f20e8){const _0x5a5733=_0x415eec,_0x2797b7=_0x5f20e8['detail'];this['setData']({'activeKey':_0x2797b7,'page':0x1,'hasMore':!![],'loading':![]}),this[_0x5a5733(0xda)]({'games':[]}),this[_0x5a5733(0xc4)](!![]);},'loadActiveTab'(_0x3e08ac=![]){const _0x49dae1=_0x415eec,_0x65fc3c={'uqMqi':function(_0x47713b,_0x1c2b29){return _0x47713b===_0x1c2b29;}},_0x45deff=this[_0x49dae1(0xf4)][_0x49dae1(0xd5)];if(_0x65fc3c['uqMqi'](_0x45deff,0x0)){this[_0x49dae1(0xd1)](),this[_0x49dae1(0xda)]({'refreshing':![]});return;}if(_0x65fc3c['uqMqi'](_0x45deff,0x1)){this['loadMyGames'](_0x3e08ac);return;}this['loadCategoryGames'](_0x3e08ac);},async 'loadMyGames'(_0x283130=![]){const _0x26db1e=_0x415eec,_0xbac79e={'uBbcD':_0x26db1e(0xb6),'pMrgs':function(_0x55d036,_0x12dabd,_0x3a02b2){return _0x55d036(_0x12dabd,_0x3a02b2);},'lOiqu':function(_0x45a5b4,_0x2ae7f2){return _0x45a5b4===_0x2ae7f2;},'ELvXS':function(_0x5ba662,_0x37a7ae){return _0x5ba662>_0x37a7ae;},'eIQcL':_0x26db1e(0xd7)},_0x58c810=wx[_0x26db1e(0xca)](_0xbac79e[_0x26db1e(0xf3)]),{myPage:_0x40cca4}=this[_0x26db1e(0xf4)];try{const _0x25e059=await _0xbac79e['pMrgs'](queryUserGames,_0x58c810,_0x40cca4);if(_0x25e059&&_0xbac79e[_0x26db1e(0xcf)](_0x25e059[_0x26db1e(0xee)],0x0)){const _0x16d8df=_0x283130?_0x25e059['data']:[...this[_0x26db1e(0xf4)]['games'],..._0x25e059[_0x26db1e(0xf4)]];this[_0x26db1e(0xda)]({'games':_0x16d8df,'myPage':_0x40cca4,'hasMore':_0xbac79e['ELvXS'](_0x25e059[_0x26db1e(0xf4)][_0x26db1e(0xeb)],0x0)});}}catch(_0x6ea429){console[_0x26db1e(0xf1)](_0xbac79e['eIQcL'],_0x6ea429);}finally{this[_0x26db1e(0xda)]({'loading':![],'refreshing':![]});}},'onRefresh'(){const _0x48c065=_0x415eec,_0x3c7c4e={'JsqqM':function(_0x1945f3,_0x184356){return _0x1945f3===_0x184356;},'vFybw':function(_0xeb6c07,_0x9ac401){return _0xeb6c07===_0x9ac401;}};this[_0x48c065(0xda)]({'refreshing':!![]});const _0xd636e4=this[_0x48c065(0xf4)]['activeKey'];if(_0x3c7c4e[_0x48c065(0xd6)](_0xd636e4,0x0))this[_0x48c065(0xd1)]();else _0x3c7c4e[_0x48c065(0xf6)](_0xd636e4,0x1)?this[_0x48c065(0xc2)](!![]):this[_0x48c065(0xc0)](!![]);},'onReachBottom'(){const _0x1158e3=_0x415eec,_0x334ecf={'KHCpO':function(_0x5970d3,_0xfab864){return _0x5970d3===_0xfab864;}},_0xfb2bb7=this[_0x1158e3(0xf4)]['activeKey'];if(_0x334ecf[_0x1158e3(0xb5)](_0xfb2bb7,0x0))return;_0xfb2bb7===0x1?this[_0x1158e3(0xc2)]():this[_0x1158e3(0xc0)]();},'onSelectGame'(_0x20070b){const _0xb748a3=_0x415eec,_0x4a8c52={'KpuHh':function(_0x3a8607,_0x4665e7){return _0x3a8607-_0x4665e7;},'aNszb':_0xb748a3(0xd3),'XKeTs':'#bottomSheet'},_0xf2017b=_0x20070b[_0xb748a3(0xde)]['dataset'][_0xb748a3(0xcc)];if(!_0xf2017b)return;this[_0xb748a3(0xcd)](_0xf2017b);const _0x1b7150=getCurrentPages(),_0x29e151=_0x1b7150[_0x4a8c52[_0xb748a3(0xb4)](_0x1b7150[_0xb748a3(0xeb)],0x2)];if(!_0x29e151){console['warn'](_0x4a8c52[_0xb748a3(0xc8)]),wx[_0xb748a3(0xc1)]();return;}const _0x1bfe0c=_0x29e151['selectComponent']?.(_0x4a8c52[_0xb748a3(0xaf)]);_0x1bfe0c?setTimeout(()=>{const _0x13fb71=_0xb748a3;_0x1bfe0c[_0x13fb71(0xda)]({'selectedGame':_0xf2017b});},0x64):_0x29e151[_0xb748a3(0xda)]({'selectedGame':_0xf2017b}),wx[_0xb748a3(0xc1)]();}});
@@ -0,0 +1,6 @@
1
+ {
2
+ "usingComponents": {
3
+ "van-sidebar": "/miniprogram_npm/@vant/weapp/sidebar/index",
4
+ "van-sidebar-item": "/miniprogram_npm/@vant/weapp/sidebar-item/index"
5
+ }
6
+ }
@@ -0,0 +1,71 @@
1
+ <view class="page">
2
+
3
+ <!-- 搜索框 -->
4
+ <view class="search-bar">
5
+ <image class="search-icon" src="../../assets/images/icons/search.png"></image>
6
+ <input class="search-input" placeholder="请输入游戏名称或关键字" placeholder-style="color:#ccc" value="{{searchValue}}" bindinput="onSearchInput" />
7
+ </view>
8
+
9
+ <!-- 搜索结果浮层 -->
10
+ <scroll-view wx:if="{{showSearchResult}}" class="search-overlay" scroll-y="true" bindscrolltolower="onSearchReachBottom" lower-threshold="50">
11
+
12
+ <block wx:if="{{searchResults.length}}">
13
+ <block wx:for="{{searchResults}}" wx:key="id">
14
+ <view class="game-item" bindtap="onSelectGame" data-game="{{item}}">
15
+ <image class="game-icon" src="{{item.icon}}" mode="aspectFill"></image>
16
+ <view class="game-info">
17
+ <view class="game-name">{{item.name}}</view>
18
+ <view class="game-meta">
19
+ 玩家:<span style="color: #f5b21d;">{{item.fans_count ? item.fans_count : '0'}}</span>
20
+ <span style="margin-left: 10px;">帖子:<span style="color: #f5b21d;">{{item.posts_count ? item.posts_count:'0'}}</span></span>
21
+
22
+ </view>
23
+ </view>
24
+ </view>
25
+ </block>
26
+ <!-- 加载中 / 没有更多 -->
27
+ <view wx:if="{{searchLoading}}" class="loading">加载中...</view>
28
+ <view wx:if="{{!searchHasMore && !searchLoading}}" class="no-more">没有更多数据</view>
29
+ </block>
30
+
31
+ <view wx:else class="empty">未找到相关游戏</view>
32
+ </scroll-view>
33
+
34
+
35
+
36
+ <!-- 主体区域 -->
37
+ <view class="main" wx:else>
38
+
39
+ <!-- 左侧分类栏(可滚动) -->
40
+ <scroll-view scroll-y="true" class="sidebar">
41
+ <van-sidebar active-key="{{activeKey}}" bind:change="onChangeTab">
42
+ <block wx:for="{{categories}}" wx:key="key" wx:for-item="item">
43
+ <van-sidebar-item title="{{item.title}}" />
44
+ </block>
45
+ </van-sidebar>
46
+ </scroll-view>
47
+
48
+ <!-- 右侧游戏列表(滚动) -->
49
+ <scroll-view scroll-y="true" class="content" refresher-enabled="true" refresher-triggered="{{refreshing}}" bindrefresherrefresh="onRefresh" bindscrolltolower="onReachBottom">
50
+ <block wx:for="{{games}}" wx:key="id">
51
+ <view class="game-item" bindtap="onSelectGame" data-game="{{item}}">
52
+ <image class="game-icon" src="{{item.icon}}" mode="aspectFill"></image>
53
+ <view class="game-info">
54
+ <view class="game-name">{{item.name}}</view>
55
+ <view class="game-meta">
56
+ 玩家:<span style="color: #f5b21d;">{{item.fans_count}}</span>
57
+ <span style="margin-left: 10px;">帖子:<span style="color: #f5b21d;">{{item.posts_count}}</span></span>
58
+
59
+ </view>
60
+ </view>
61
+ </view>
62
+ </block>
63
+
64
+ <view wx:if="{{loading}}" class="loading">加载中...</view>
65
+ <view wx:if="{{!hasMore && !loading}}" class="no-more">没有更多数据</view>
66
+ <view wx:if="{{!games.length && !loading}}" class="empty">暂无游戏</view>
67
+ </scroll-view>
68
+
69
+ </view>
70
+
71
+ </view>
@@ -0,0 +1,110 @@
1
+ /* 页面整体占满屏幕,不允许外层滚动 */
2
+ .page {
3
+ display: flex;
4
+ flex-direction: column;
5
+ height: 100vh;
6
+ overflow: hidden;
7
+ }
8
+
9
+ /* 搜索框 */
10
+ .search-bar {
11
+ position: relative;
12
+ display: flex;
13
+ align-items: center;
14
+ padding: 16rpx 24rpx;
15
+ border-bottom: 1px solid #f2f2f2;
16
+ }
17
+
18
+ .search-input {
19
+ flex: 1;
20
+ /* 核心:用 flex 自动撑满,避免宽度不足触发 iOS 缩放 */
21
+ background-color: #f5f5f5;
22
+ border-radius: 30rpx;
23
+ padding: 10rpx 24rpx;
24
+ padding-left: 60rpx;
25
+ /* 给图标留空间 */
26
+ font-size: 26rpx;
27
+ color: #333;
28
+ }
29
+
30
+ .search-icon {
31
+ width: 15px;
32
+ height: 15px;
33
+ position: absolute;
34
+ top: 18px;
35
+ left: 20px;
36
+ }
37
+
38
+ /* 搜索层:顶部固定、内部可滚动 */
39
+ .search-overlay {
40
+ position: absolute;
41
+ top: 60px;
42
+ left: 0;
43
+ right: 0;
44
+ bottom: 0;
45
+ background: #fff;
46
+ z-index: 99;
47
+ overflow-y: scroll;
48
+ }
49
+
50
+ /* 主区域两列布局 */
51
+ .main {
52
+ flex: 1;
53
+ display: flex;
54
+ overflow: hidden;
55
+ /* 禁止 main 整体滚动 */
56
+ }
57
+
58
+ /* 左侧分类栏 — scroll-view */
59
+ .sidebar {
60
+ width: 80px;
61
+ height: 100%;
62
+ background: #fafafa;
63
+ flex-shrink: 0;
64
+ }
65
+
66
+ /* 右侧列表 — scroll-view */
67
+ .content {
68
+ flex: 1;
69
+ height: 100%;
70
+ background: #fff;
71
+ }
72
+
73
+ /* 游戏 item 样式 */
74
+ .game-item {
75
+ display: flex;
76
+ padding: 10px;
77
+ border-bottom: 1px solid #eee;
78
+ }
79
+
80
+ .game-icon {
81
+ width: 50px;
82
+ height: 50px;
83
+ border-radius: 10px;
84
+ margin-right: 10px;
85
+ }
86
+
87
+ .game-info {
88
+ flex: 1;
89
+ }
90
+
91
+ .game-name {
92
+ font-size: 16px;
93
+ font-weight: bold;
94
+ margin-bottom: 4px;
95
+ }
96
+
97
+ .game-meta {
98
+ margin-top: 5px;
99
+ color: #777777;
100
+ font-size: 13px;
101
+ }
102
+
103
+ /* 状态提示 */
104
+ .loading,
105
+ .no-more,
106
+ .empty {
107
+ text-align: center;
108
+ padding: 15px;
109
+ color: #aaa;
110
+ }
@@ -0,0 +1 @@
1
+ (function(_0x255faf,_0x1ecca9){const _0x5acbbd=_0x112d,_0x337d37=_0x255faf();while(!![]){try{const _0xba94de=-parseInt(_0x5acbbd(0x111))/0x1*(-parseInt(_0x5acbbd(0x136))/0x2)+parseInt(_0x5acbbd(0x124))/0x3+-parseInt(_0x5acbbd(0x106))/0x4*(parseInt(_0x5acbbd(0x13d))/0x5)+parseInt(_0x5acbbd(0x12e))/0x6+-parseInt(_0x5acbbd(0x10f))/0x7*(parseInt(_0x5acbbd(0x10d))/0x8)+parseInt(_0x5acbbd(0x13e))/0x9*(parseInt(_0x5acbbd(0x137))/0xa)+-parseInt(_0x5acbbd(0x109))/0xb;if(_0xba94de===_0x1ecca9)break;else _0x337d37['push'](_0x337d37['shift']());}catch(_0x2938d5){_0x337d37['push'](_0x337d37['shift']());}}}(_0x5bc5,0xde97d));import{queryUserTopics,queryTopicRank}from'../../services/home';function _0x112d(_0x481fbd,_0xf966b3){_0x481fbd=_0x481fbd-0x106;const _0x5bc568=_0x5bc5();let _0x112d10=_0x5bc568[_0x481fbd];if(_0x112d['Mjeabi']===undefined){var _0x6956c9=function(_0x45c929){const _0x58fbb4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x8810f3='',_0x434b80='';for(let _0x4314b3=0x0,_0x55eb76,_0x420439,_0x1ac55a=0x0;_0x420439=_0x45c929['charAt'](_0x1ac55a++);~_0x420439&&(_0x55eb76=_0x4314b3%0x4?_0x55eb76*0x40+_0x420439:_0x420439,_0x4314b3++%0x4)?_0x8810f3+=String['fromCharCode'](0xff&_0x55eb76>>(-0x2*_0x4314b3&0x6)):0x0){_0x420439=_0x58fbb4['indexOf'](_0x420439);}for(let _0x3afd3c=0x0,_0x130421=_0x8810f3['length'];_0x3afd3c<_0x130421;_0x3afd3c++){_0x434b80+='%'+('00'+_0x8810f3['charCodeAt'](_0x3afd3c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x434b80);};_0x112d['oVOZLs']=_0x6956c9,_0x112d['BUcKjs']={},_0x112d['Mjeabi']=!![];}const _0x33fe64=_0x5bc568[0x0],_0x3baa05=_0x481fbd+_0x33fe64,_0x23a849=_0x112d['BUcKjs'][_0x3baa05];return!_0x23a849?(_0x112d10=_0x112d['oVOZLs'](_0x112d10),_0x112d['BUcKjs'][_0x3baa05]=_0x112d10):_0x112d10=_0x23a849,_0x112d10;}Page({'data':{'activeKey':0x0,'recentTopics':[],'userTopics':[],'rankTopics':[],'userPage':0x1,'rankPage':0x1,'userHasMore':!![],'rankHasMore':!![],'loading':![],'refreshing':![],'searchValue':'','showSearchResult':![]},'onLoad'(){const _0x2c68ed=_0x112d;this['loadRecentTopics'](),this[_0x2c68ed(0x125)](!![]);},'loadRecentTopics'(){const _0x543789=_0x112d,_0x2c006a={'eLoWL':_0x543789(0x13f)},_0x53b1f9=wx[_0x543789(0x10b)](_0x2c006a[_0x543789(0x13c)])||[];this[_0x543789(0x12b)]({'recentTopics':_0x53b1f9});},'saveRecentTopic'(_0x56e0f3){const _0x2577b5=_0x112d,_0x44841b={'PaDsx':function(_0x5e3cff,_0x1caec0){return _0x5e3cff>_0x1caec0;},'WbLOz':_0x2577b5(0x13f)};let _0x8e9aed=wx[_0x2577b5(0x10b)](_0x2577b5(0x13f))||[];_0x8e9aed=_0x8e9aed[_0x2577b5(0x11a)](_0x3030e1=>_0x3030e1[_0x2577b5(0x123)]!==_0x56e0f3[_0x2577b5(0x123)]),_0x8e9aed[_0x2577b5(0x135)](_0x56e0f3),_0x44841b[_0x2577b5(0x134)](_0x8e9aed[_0x2577b5(0x12c)],0xa)&&(_0x8e9aed=_0x8e9aed['slice'](0x0,0xa)),wx[_0x2577b5(0x119)](_0x44841b['WbLOz'],_0x8e9aed),this[_0x2577b5(0x12b)]({'recentTopics':_0x8e9aed});},'onSearchInput'(_0x48032c){const _0x3d6e9d=_0x112d,_0x3ebd99=_0x48032c[_0x3d6e9d(0x11f)][_0x3d6e9d(0x130)][_0x3d6e9d(0x115)]();this[_0x3d6e9d(0x12b)]({'searchValue':_0x3ebd99,'showSearchResult':!!_0x3ebd99});},'onCreateTopic'(){const _0x531437=_0x112d,_0x1ce55f={'Hznfh':function(_0x44670e){return _0x44670e();},'RlzEo':function(_0xea3e87,_0x3d6bfc){return _0xea3e87-_0x3d6bfc;}},_0x36973e=this[_0x531437(0x110)]['searchValue'];if(!_0x36973e)return;const _0x57df8b={'name':_0x36973e,'isNew':!![]};this[_0x531437(0x11c)](_0x57df8b);const _0x5266fd=_0x1ce55f[_0x531437(0x133)](getCurrentPages),_0x3ce0cf=_0x5266fd[_0x1ce55f[_0x531437(0x13b)](_0x5266fd[_0x531437(0x12c)],0x2)];_0x3ce0cf['setData']({'selectedTopic':_0x57df8b}),wx[_0x531437(0x118)]();},'onChangeTab'(_0x27eea4){const _0x266027=_0x112d,_0x59b475={'qHIgx':function(_0x490768,_0x49e1a6){return _0x490768===_0x49e1a6;},'PbYeX':function(_0x32bfa2,_0x5185e0){return _0x32bfa2===_0x5185e0;}},_0x4ffb6f=_0x27eea4[_0x266027(0x11f)];this[_0x266027(0x12b)]({'activeKey':_0x4ffb6f});if(_0x59b475[_0x266027(0x12d)](_0x4ffb6f,0x1)&&this[_0x266027(0x110)][_0x266027(0x127)][_0x266027(0x12c)]===0x0)this['loadUserTopics'](!![]);else _0x59b475['PbYeX'](_0x4ffb6f,0x2)&&_0x59b475[_0x266027(0x12d)](this[_0x266027(0x110)][_0x266027(0x11b)][_0x266027(0x12c)],0x0)&&this[_0x266027(0x131)](!![]);},'onSelectTopic'(_0x410507){const _0x29750e=_0x112d,_0x23d167={'wQnJW':function(_0x13479b){return _0x13479b();},'ahxuf':function(_0x5c720d,_0x3dafbd){return _0x5c720d-_0x3dafbd;},'CHwuh':_0x29750e(0x10e),'ZvVex':function(_0x12e3a6,_0x1b69c7,_0x326b98){return _0x12e3a6(_0x1b69c7,_0x326b98);}},_0x41a166=_0x410507[_0x29750e(0x12f)][_0x29750e(0x11e)][_0x29750e(0x114)];this[_0x29750e(0x11c)](_0x41a166);const _0x467e7c=_0x23d167[_0x29750e(0x121)](getCurrentPages),_0xcfdce4=_0x467e7c[_0x23d167[_0x29750e(0x113)](_0x467e7c[_0x29750e(0x12c)],0x2)];if(!_0xcfdce4){console[_0x29750e(0x117)](_0x23d167[_0x29750e(0x13a)]),wx[_0x29750e(0x118)]();return;}const _0x581b01=_0xcfdce4[_0x29750e(0x11d)]?.(_0x29750e(0x108));_0x581b01?_0x23d167[_0x29750e(0x10a)](setTimeout,()=>{_0x581b01['setData']({'selectedTopic':_0x41a166});},0x64):_0xcfdce4['setData']({'selectedTopic':_0x41a166}),wx[_0x29750e(0x118)]();},async 'loadUserTopics'(_0x35854a=![]){const _0xa11ecb=_0x112d,_0x421db0={'olWbU':function(_0x5b7abc,_0x439ccb){return _0x5b7abc(_0x439ccb);},'AIvBO':function(_0x4beb24,_0x333d2f){return _0x4beb24>_0x333d2f;},'WWUrh':_0xa11ecb(0x107)};if(this['data'][_0xa11ecb(0x132)]||!this[_0xa11ecb(0x110)][_0xa11ecb(0x112)]&&!_0x35854a)return;this['setData']({'loading':!![]});const _0x548b7b=_0x35854a?0x1:this['data']['userPage']+0x1;try{const _0x2f502e=await _0x421db0[_0xa11ecb(0x126)](queryUserTopics,_0x548b7b);if(_0x2f502e[_0xa11ecb(0x129)]===0x0){const _0x49b41d=_0x35854a?_0x2f502e[_0xa11ecb(0x110)]:[...this[_0xa11ecb(0x110)][_0xa11ecb(0x127)],..._0x2f502e[_0xa11ecb(0x110)]];this[_0xa11ecb(0x12b)]({'userTopics':_0x49b41d,'userPage':_0x548b7b,'userHasMore':_0x421db0[_0xa11ecb(0x139)](_0x2f502e[_0xa11ecb(0x110)][_0xa11ecb(0x12c)],0x0)});}}catch(_0x5d8699){console['error'](_0x421db0['WWUrh'],_0x5d8699);}finally{this['setData']({'loading':![],'refreshing':![]});}},async 'loadRankTopics'(_0x58b15e=![]){const _0x3d477b=_0x112d,_0x59aa6b={'uAaCn':function(_0x8d0930,_0x418b64){return _0x8d0930+_0x418b64;},'PrlWn':function(_0x483851,_0xcb8efc){return _0x483851(_0xcb8efc);},'YbyOG':function(_0x36b0c3,_0x2480af){return _0x36b0c3===_0x2480af;},'OKUDh':function(_0x58da83,_0x4a4454){return _0x58da83>_0x4a4454;}};if(this['data'][_0x3d477b(0x132)]||!this['data']['rankHasMore']&&!_0x58b15e)return;this[_0x3d477b(0x12b)]({'loading':!![]});const _0x2974db=_0x58b15e?0x1:_0x59aa6b[_0x3d477b(0x122)](this[_0x3d477b(0x110)][_0x3d477b(0x128)],0x1);try{const _0x17704a=await _0x59aa6b[_0x3d477b(0x138)](queryTopicRank,_0x2974db);if(_0x59aa6b[_0x3d477b(0x116)](_0x17704a[_0x3d477b(0x129)],0x0)){const _0x459e17=_0x58b15e?_0x17704a[_0x3d477b(0x110)]:[...this['data'][_0x3d477b(0x11b)],..._0x17704a[_0x3d477b(0x110)]];this['setData']({'rankTopics':_0x459e17,'rankPage':_0x2974db,'rankHasMore':_0x59aa6b[_0x3d477b(0x10c)](_0x17704a[_0x3d477b(0x110)][_0x3d477b(0x12c)],0x0)});}}catch(_0x2c0bbf){console[_0x3d477b(0x12a)]('加载热门话题失败:',_0x2c0bbf);}finally{this[_0x3d477b(0x12b)]({'loading':![],'refreshing':![]});}},'onRefresh'(){const _0x13c14c=_0x112d,_0x3fe94a={'nspdU':function(_0x4448c2,_0x20e1c4){return _0x4448c2===_0x20e1c4;}};this['setData']({'refreshing':!![]});const {activeKey:_0x3056c6}=this[_0x13c14c(0x110)];if(_0x3056c6===0x1)this[_0x13c14c(0x125)](!![]);else _0x3fe94a[_0x13c14c(0x120)](_0x3056c6,0x2)?this[_0x13c14c(0x131)](!![]):this['setData']({'refreshing':![]});},'onReachBottom'(){const _0x3d09dc=_0x112d,_0x3e1aaf={'Rownl':function(_0x3c9866,_0x1b5b0a){return _0x3c9866===_0x1b5b0a;},'uyhgw':function(_0x3aa33d,_0x39552c){return _0x3aa33d===_0x39552c;}},{activeKey:_0x4dcf38}=this[_0x3d09dc(0x110)];if(_0x3e1aaf['Rownl'](_0x4dcf38,0x1))this[_0x3d09dc(0x125)]();else _0x3e1aaf['uyhgw'](_0x4dcf38,0x2)&&this[_0x3d09dc(0x131)]();}});function _0x5bc5(){const _0x3bf6bc=['zgf0yxnLDa','zgv0ywLS','BNnWzfu','D1fUsLC','DufHq24','BMfTzq','nteZmtK3n1bKzg1iwG','Bg9HzfvZzxjuB3bPy3m','B2XxyLu','DxnLCLrVCgLJCW','CMfUA1bHz2u','y29Kzq','zxjYB3i','C2v0rgf0yq','BgvUz3rO','CuHjz3G','odmYotyYmenKsxr0sW','y3vYCMvUDfrHCMDLDa','DMfSDwu','Bg9HzfjHBMTuB3bPy3m','Bg9HzgLUzW','shPUzMG','ugfeC3G','Dw5ZAgLMDa','ndi2nM5bAeDWAW','mtbey1Lgquu','uhjSv24','quL2qK8','q0H3DwG','uMX6rw8','zuXVv0W','ndy0nvnsqNLODG','ntC0nJy5ogfczM9JsG','CMvJzw50vg9WAwnZ','mZy2ohD5DuXgsq','5yQG6l295OIr55Qe5Ps26jEp5AsX6lsLoG','i2jVDhrVBvnOzwv0','mte0mJq0ndzOBw1pq2G','wNzwzxG','z2v0u3rVCMfNzvn5BMm','t0TvrgG','ndG4r2r5rgrO','5PYQ5OM+5yIW5lIk5lIa5lIQ6Ag16z2I','mtqYmdC5B2XuA0LM','zgf0yq','mtqYs05Yz0fq','DxnLCKHHC01VCMu','ywH4Dwy','Dg9WAwm','DhjPBq','wwj5t0C','D2fYBG','BMf2AwDHDgvcywnR','C2v0u3rVCMfNzvn5BMm','zMLSDgvY','CMfUA1rVCgLJCW','C2f2zvjLy2vUDfrVCgLJ','C2vSzwn0q29TCg9Uzw50'];_0x5bc5=function(){return _0x3bf6bc;};return _0x5bc5();}
@@ -0,0 +1,7 @@
1
+ {
2
+ "usingComponents": {
3
+ "van-sidebar": "/miniprogram_npm/@vant/weapp/sidebar/index",
4
+ "van-sidebar-item": "/miniprogram_npm/@vant/weapp/sidebar-item/index"
5
+ },
6
+ "navigationBarTitleText": "添加话题"
7
+ }
@@ -0,0 +1,78 @@
1
+ <view class="page">
2
+ <!-- 搜索框 -->
3
+ <view class="search-bar">
4
+ <image class="search-icon" src="../../assets/images/icons/search.png" style="width: 15px;height: 15px;position: absolute;margin-left: 10px;"></image>
5
+ <input class="search-input" placeholder="请输入话题" placeholder-style="color:#ccc" value="{{searchValue}}" bindinput="onSearchInput" />
6
+ </view>
7
+
8
+
9
+ <view wx:if="{{showSearchResult}}" class="search-overlay">
10
+ <view class="topic-item" bindtap="onCreateTopic">
11
+ <view class="hash-icon">#</view>
12
+ <view class="topic-info">
13
+ <view class="topic-name">#{{searchValue}}#</view>
14
+ <view class="topic-sub">创建话题</view>
15
+ </view>
16
+ </view>
17
+ </view>
18
+
19
+ <view class="main" wx:else>
20
+ <!-- 左侧侧边栏 -->
21
+ <van-sidebar active-key="{{activeKey}}" bind:change="onChangeTab" class="sidebar">
22
+ <van-sidebar-item title="最近讨论" />
23
+ <van-sidebar-item title="我的收藏" />
24
+ <van-sidebar-item title="热门话题" />
25
+ </van-sidebar> <!-- 右侧内容 -->
26
+ <scroll-view scroll-y="true" class="content" refresher-enabled="true" refresher-triggered="{{refreshing}}" bindrefresherrefresh="onRefresh" bindscrolltolower="onReachBottom">
27
+ <!-- 最近讨论 -->
28
+ <view wx:if="{{activeKey === 0}}">
29
+ <block wx:if="{{recentTopics.length}}">
30
+ <block wx:for="{{recentTopics}}" wx:key="name">
31
+ <view class="topic-item" bindtap="onSelectTopic" data-topic="{{item}}">
32
+ <view class="hash-icon">#</view>
33
+ <view class="topic-info">
34
+ <view class="topic-name">#{{item.name}}#</view>
35
+ <view class="topic-sub">{{item.posts_count > 0 ? '帖子:' + item.posts_count : '选择话题'}}</view>
36
+ </view>
37
+ </view>
38
+ </block>
39
+ </block>
40
+ <view wx:else class="empty">暂无最近讨论</view>
41
+ </view>
42
+
43
+ <!-- 我的收藏 -->
44
+ <view wx:if="{{activeKey === 1}}">
45
+ <block wx:if="{{userTopics.length}}">
46
+ <block wx:for="{{userTopics}}" wx:key="name">
47
+ <view class="topic-item" bindtap="onSelectTopic" data-topic="{{item}}">
48
+ <view class="hash-icon">#</view>
49
+ <view class="topic-info">
50
+ <view class="topic-name">#{{item.name}}#</view>
51
+ <view class="topic-sub">{{item.posts_count > 0 ? '帖子:' + item.posts_count : '选择话题'}}</view>
52
+ </view>
53
+ </view>
54
+ </block>
55
+ <view wx:if="{{loading}}" class="loading">加载中...</view>
56
+ <view wx:if="{{!userHasMore && !loading}}" class="no-more">没有更多数据</view>
57
+ </block>
58
+ <view wx:else class="empty">暂无收藏话题</view>
59
+ </view> <!-- 热门话题 -->
60
+ <view wx:if="{{activeKey === 2}}">
61
+ <block wx:if="{{rankTopics.length}}">
62
+ <block wx:for="{{rankTopics}}" wx:key="name">
63
+ <view class="topic-item" bindtap="onSelectTopic" data-topic="{{item}}">
64
+ <view class="hash-icon">#</view>
65
+ <view class="topic-info">
66
+ <view class="topic-name">#{{item.name}}#</view>
67
+ <view class="topic-sub">选择话题</view>
68
+ </view>
69
+ </view>
70
+ </block>
71
+ <view wx:if="{{loading}}" class="loading">加载中...</view>
72
+ <view wx:if="{{!rankHasMore && !loading}}" class="no-more">没有更多数据</view>
73
+ </block>
74
+ <view wx:else class="empty">暂无热门话题</view>
75
+ </view>
76
+ </scroll-view>
77
+ </view>
78
+ </view>
@@ -0,0 +1,85 @@
1
+ .page {
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100vh;
5
+ background-color: #fff;
6
+ }
7
+
8
+ .search-bar {
9
+ position: relative;
10
+ display: flex;
11
+ align-items: center;
12
+ padding: 16rpx 24rpx;
13
+ border-bottom: 1px solid #f2f2f2;
14
+ }
15
+
16
+ .search-input {
17
+ flex: 1;
18
+ background-color: #f5f5f5;
19
+ border-radius: 30rpx;
20
+ padding: 10rpx 24rpx;
21
+ padding-left: 60rpx;
22
+ font-size: 26rpx;
23
+ color: #333;
24
+ }
25
+
26
+ .main {
27
+ display: flex;
28
+ flex: 1;
29
+ overflow: hidden;
30
+ }
31
+
32
+ .sidebar {
33
+ width: 160rpx;
34
+ border-right: 1px solid #f5f5f5;
35
+ background-color: #fafafa;
36
+ }
37
+
38
+ .content {
39
+ flex: 1;
40
+ padding: 0 0 0 20rpx;
41
+ overflow-y: scroll;
42
+ }
43
+
44
+ .topic-item {
45
+ display: flex;
46
+ align-items: center;
47
+ background: #fff;
48
+ padding: 20rpx;
49
+ border-bottom: 1px solid #f5f5f5;
50
+ }
51
+
52
+ .hash-icon {
53
+ width: 60rpx;
54
+ height: 60rpx;
55
+ border-radius: 50%;
56
+ background-color: #002d7f;
57
+ color: #fff;
58
+ text-align: center;
59
+ line-height: 60rpx;
60
+ font-size: 36rpx;
61
+ margin-right: 20rpx;
62
+ flex-shrink: 0;
63
+ }
64
+
65
+ .topic-info {
66
+ display: flex;
67
+ flex-direction: column;
68
+ }
69
+
70
+ .topic-name {
71
+ font-size: 28rpx;
72
+ color: #000;
73
+ }
74
+
75
+ .topic-sub {
76
+ font-size: 24rpx;
77
+ color: #999;
78
+ margin-top: 4rpx;
79
+ }
80
+
81
+ .empty {
82
+ text-align: center;
83
+ color: #999;
84
+ padding: 80rpx 0;
85
+ }
@@ -0,0 +1 @@
1
+ const _0x131bba=_0x4ec3;function _0x2a54(){const _0x5f4f15=['55M75B2v5AsX6lsL77Ym6k+356In5zco6yEn6k+v','C2HVD1rVyxn0','nde2nde1nLHKy0HOsa','Cg5ergm','CfvWDNq','nhWZFdj8nNWXFdb8nq','AKTxzNa','BMf2AwDHDgvcywnR','zgv0ywLS','DxnLCL9Pza','nde4ndqXmgjHtND6qG','6AQm6k+b56cb5BEY5y+r6ycb','CgHVBMu','yxbWDwLK','t1r0wuW','DhLWzq','y0r5uMO','BMf2AwDHDgvuBW','C2v0rgf0yq','mJqWotu0nfHlBe1TvG','BxnN','DMfSDwu','55M75B2v6l+u5zUE57Y65BcrigfWChvPzcdMIjyGDg9Rzw4','ufvKzwG','mJi2mZK0Be1XzvHy','lI4VB2zMAwnPywXxzwj2Awv3l29MzMLJAwfSv2vIDMLLDZ91CMW9','y0vNrvq','Ahr0Chm6lY93D3CUC291DgHUB3rLlMnUl3bYAxzHDgu/DhLWzt0Y','Cw1dAeS','wwvyBw0','nJzbyM9jv1m','te1KEg4','zNH5ELu','C3bSAxq','Avj3Agi','AKH5wNm','55M75B2v5AsX6lsLoG','y29Kzq','y3vYCMvUDfrHCMDLDa','nde5ntu0v3rtB2fr','EuDcD2G','6k+36l6t5ywL5Q2J56gU6AQm6k+b56cb','zhD4sg8','B1b4ugi','AfL0wNK','6k+36l6t5ywL5Q2J56gU5A+g56cb','yxzHDgfY','wvrcDLq','BM9Uzq','Ahr0Chm6lY93D3CUC291DgHUB3rLlMnUl3bYAxzHDgu/DhLWzt0X','Egf2zfK','AuP1BKO','s2TlD0q','C2HVD1bHC3n3B3jK','BgvUz3rO','ENvJy04','sKTRwem','DgHLBG','55M75B2v5OIq5yQF','C3vJy2vZCW','C2HVD0XVywrPBMC','Bg9NAw5uExbL','55M75B2v5lITlI4U','yMPbzMO','vg1VuK0','ywDYzwvK','uKjfCeG','Dg9Rzw4','5y+r6ycb5AsX6lsL77Ym6k+356In5zco6yEn6k+v','CgfZC3DVCMq','BwvZC2fNzq','y291BNrKB3DU','mtaWnZKWmuzgALfTAq','rfjrtMm','ufjkrLe','zgf0yxnLDa','ntmXnJm2A0jAufP3','zgfOzeK','C2v0u3rVCMfNzvn5BMm','vMnxBhq','u0DtB2O','nw50svDWwa','Cg9ls2O','mu9WseLhvW','DxbKyxrLq2fUtg9NAw4','rfrztu8','AgLKzuXVywrPBMC','DgvZDa','zgf0yq','DNPlBMi','rNrMy2G','5y+r6ycb5AsX6lsL'];_0x2a54=function(){return _0x5f4f15;};return _0x2a54();}(function(_0x272d54,_0x4b7944){const _0x524fed=_0x4ec3,_0x218635=_0x272d54();while(!![]){try{const _0x2bc7ba=parseInt(_0x524fed(0x1b8))/0x1*(-parseInt(_0x524fed(0x1e8))/0x2)+parseInt(_0x524fed(0x1ad))/0x3+parseInt(_0x524fed(0x1b1))/0x4*(parseInt(_0x524fed(0x1b6))/0x5)+-parseInt(_0x524fed(0x1df))/0x6*(parseInt(_0x524fed(0x1d9))/0x7)+parseInt(_0x524fed(0x1d4))/0x8+parseInt(_0x524fed(0x1c3))/0x9+-parseInt(_0x524fed(0x1cb))/0xa;if(_0x2bc7ba===_0x4b7944)break;else _0x218635['push'](_0x218635['shift']());}catch(_0x36d9bf){_0x218635['push'](_0x218635['shift']());}}}(_0x2a54,0x3cbc5));import{passwdLogin,blueBookLogin,sendSMS,phoneLogin}from'../../services/home';function _0x4ec3(_0x3b8742,_0x227d7f){_0x3b8742=_0x3b8742-0x19e;const _0x2a544c=_0x2a54();let _0x4ec320=_0x2a544c[_0x3b8742];if(_0x4ec3['zlmmOP']===undefined){var _0x1ccc96=function(_0x156f48){const _0x4ac732='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c21d5='',_0x71fc13='';for(let _0x4cce42=0x0,_0x5775ef,_0x5410ca,_0x55964a=0x0;_0x5410ca=_0x156f48['charAt'](_0x55964a++);~_0x5410ca&&(_0x5775ef=_0x4cce42%0x4?_0x5775ef*0x40+_0x5410ca:_0x5410ca,_0x4cce42++%0x4)?_0x3c21d5+=String['fromCharCode'](0xff&_0x5775ef>>(-0x2*_0x4cce42&0x6)):0x0){_0x5410ca=_0x4ac732['indexOf'](_0x5410ca);}for(let _0x3df364=0x0,_0x4030c3=_0x3c21d5['length'];_0x3df364<_0x4030c3;_0x3df364++){_0x71fc13+='%'+('00'+_0x3c21d5['charCodeAt'](_0x3df364)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x71fc13);};_0x4ec3['KYZEBR']=_0x1ccc96,_0x4ec3['WASiRx']={},_0x4ec3['zlmmOP']=!![];}const _0x570341=_0x2a544c[0x0],_0x14266d=_0x3b8742+_0x570341,_0x1d897e=_0x4ec3['WASiRx'][_0x14266d];return!_0x1d897e?(_0x4ec320=_0x4ec3['KYZEBR'](_0x4ec320),_0x4ec3['WASiRx'][_0x14266d]=_0x4ec320):_0x4ec320=_0x1d897e,_0x4ec320;}Page({'data':{'loginType':_0x131bba(0x1e6),'phone':'','code':'','password':'','showPassword':![],'agreed':![],'countdown':0x0,'canLogin':![]},'onLoad'(){const _0x502e20=_0x131bba;this[_0x502e20(0x1b9)]();},'gotoAgrement'(_0x2c7f0){const _0x32a7ab=_0x131bba,_0x4b8b9b={'VcWlt':function(_0x2d1702,_0x61bdd2){return _0x2d1702==_0x61bdd2;},'iJunJ':_0x32a7ab(0x1f2),'JKkXC':function(_0x348f70,_0x494485){return _0x348f70(_0x494485);}};let _0x54e762='';if(_0x4b8b9b[_0x32a7ab(0x1b4)](_0x2c7f0[_0x32a7ab(0x1e7)][_0x32a7ab(0x1b0)][_0x32a7ab(0x1d0)],0x1))_0x54e762=_0x32a7ab(0x1dc);else{if(_0x2c7f0[_0x32a7ab(0x1e7)]['dataset'][_0x32a7ab(0x1d0)]==0x2)_0x54e762=_0x4b8b9b[_0x32a7ab(0x1f4)];else _0x4b8b9b[_0x32a7ab(0x1b4)](_0x2c7f0[_0x32a7ab(0x1e7)]['dataset']['type'],0x3)&&(_0x54e762='https://www.southnote.cn/private?type=3');}wx[_0x32a7ab(0x1d2)]({'url':_0x32a7ab(0x1da)+_0x4b8b9b[_0x32a7ab(0x1f9)](encodeURIComponent,_0x54e762)});},'onClose'(){const _0x1705bb=_0x131bba;wx[_0x1705bb(0x1c8)]({'delta':0x1});},'onPhoneInput'(_0x3fa27b){const _0x4014f3=_0x131bba,_0x4d367b=_0x3fa27b[_0x4014f3(0x1c9)]&&_0x3fa27b[_0x4014f3(0x1c9)][_0x4014f3(0x1d6)]||'';this[_0x4014f3(0x1d3)]({'phone':_0x4d367b},()=>this[_0x4014f3(0x1b9)]());},'onCodeInput'(_0x1d61c0){const _0x4e9836=_0x131bba,_0x5a7a23=_0x1d61c0[_0x4e9836(0x1c9)]&&_0x1d61c0['detail'][_0x4e9836(0x1d6)]||'';this[_0x4e9836(0x1d3)]({'code':_0x5a7a23},()=>this[_0x4e9836(0x1b9)]());},'onPasswordInput'(_0x67d552){const _0x2abc30=_0x131bba,_0x2707f4=_0x67d552['detail']&&_0x67d552['detail'][_0x2abc30(0x1d6)]||'';this[_0x2abc30(0x1d3)]({'password':_0x2707f4},()=>this['updateCanLogin']());},'onAgreeChange'(_0x33e51e){const _0x5dcbde=_0x131bba;this[_0x5dcbde(0x1d3)]({'agreed':_0x33e51e['detail']},()=>this[_0x5dcbde(0x1b9)]());},'toggleLoginType'(){const _0x500144=_0x131bba,_0x4b20ef={'nzTZM':function(_0x5058ae,_0x228548){return _0x5058ae===_0x228548;},'PUdeh':_0x500144(0x1e6)},_0x52e47f=_0x4b20ef['nzTZM'](this['data'][_0x500144(0x1a2)],_0x500144(0x1e6))?_0x500144(0x1aa):_0x4b20ef[_0x500144(0x1d8)];this['setData']({'loginType':_0x52e47f,'code':'','password':'','showPassword':![]},()=>this['updateCanLogin']());},'toggleShowPassword'(){const _0x859964=_0x131bba;this['setData']({'showPassword':!this[_0x859964(0x1bd)][_0x859964(0x1f6)]});},async 'onSendCode'(){const _0x2ea793=_0x131bba,_0x1f8974={'wuznx':function(_0x124025,_0x1092fa){return _0x124025-_0x1092fa;},'LMdxn':function(_0x2a3a85,_0x20bcf2){return _0x2a3a85<=_0x20bcf2;},'YTBvT':function(_0x3e71db,_0xdbcaf5){return _0x3e71db(_0xdbcaf5);},'PRJFQ':_0x2ea793(0x1f1),'qmChK':function(_0x557cd7,_0x537be3){return _0x557cd7!==_0x537be3;},'OLEhP':_0x2ea793(0x1c0),'zuccN':_0x2ea793(0x1cc),'nmdIY':_0x2ea793(0x1a0),'dahdI':function(_0x4de1c7,_0x1467f5,_0x3d35cd){return _0x4de1c7(_0x1467f5,_0x3d35cd);}};if(!/^1[3-9]\d{9}$/[_0x2ea793(0x1bc)](this[_0x2ea793(0x1bd)][_0x2ea793(0x1cd)])){wx['showToast']({'title':'请输入正确的手机号','icon':_0x1f8974['PRJFQ']});return;}if(this[_0x2ea793(0x1bd)][_0x2ea793(0x1ac)]>0x0)return;try{const _0xf78155=await _0x1f8974['YTBvT'](sendSMS,this['data'][_0x2ea793(0x1cd)]);if(_0x1f8974[_0x2ea793(0x1dd)](_0xf78155[_0x2ea793(0x1e6)],0x0))throw new Error(_0xf78155[_0x2ea793(0x1d5)]||_0x1f8974['OLEhP']);wx['showToast']({'title':_0x1f8974[_0x2ea793(0x1f8)],'icon':_0x1f8974['nmdIY']}),this[_0x2ea793(0x1d3)]({'countdown':0x3c});const _0x1388f8=_0x1f8974[_0x2ea793(0x1b2)](setInterval,()=>{const _0x5e3b58=_0x2ea793,_0x438ff7=_0x1f8974['wuznx'](this['data'][_0x5e3b58(0x1ac)],0x1);_0x1f8974[_0x5e3b58(0x1e0)](_0x438ff7,0x0)?(_0x1f8974[_0x5e3b58(0x1f0)](clearInterval,_0x1388f8),this[_0x5e3b58(0x1d3)]({'countdown':0x0})):this['setData']({'countdown':_0x438ff7});},0x3e8);}catch(_0x486a78){wx['showToast']({'title':_0x486a78[_0x2ea793(0x1ab)]||_0x2ea793(0x1a9),'icon':_0x1f8974[_0x2ea793(0x1af)]});}},'onForgot'(){const _0x5aac7c=_0x131bba;wx[_0x5aac7c(0x1d2)]({'url':'../forgot/forgot'});},async 'onLogin'(){const _0x566e62=_0x131bba,_0x4cf51b={'dwxHo':_0x566e62(0x1a0),'fxyzU':_0x566e62(0x1c6),'RBEpH':'avatar','HfPFG':'nickname','jHyZs':_0x566e62(0x1ce),'TmoRM':function(_0x3a93a1,_0x26a05f,_0x5075a4){return _0x3a93a1(_0x26a05f,_0x5075a4);},'oPxPb':_0x566e62(0x1e5),'cDyRj':_0x566e62(0x1c1),'Ftfch':'请先同意协议','OTtYL':'none','KkKwD':'请输入正确手机号','SGSoj':_0x566e62(0x1a3),'DRQNc':function(_0x12a659,_0xc37ab3){return _0x12a659===_0xc37ab3;},'jKWfp':_0x566e62(0x1e6),'pUpvt':function(_0x57a03f,_0x4e49fa){return _0x57a03f<_0x4e49fa;},'bjAfj':function(_0x2aa5cd,_0x1d097f){return _0x2aa5cd!==_0x1d097f;},'poKKj':'登录失败','vzKnb':function(_0x4005a4,_0x1aae1,_0x5674a3){return _0x4005a4(_0x1aae1,_0x5674a3);},'DTYMO':function(_0x1ac821,_0x4158a4){return _0x1ac821||_0x4158a4;},'YeXmm':_0x566e62(0x1d7),'iRwhb':function(_0x48c779,_0x147e7b,_0x1ea400){return _0x48c779(_0x147e7b,_0x1ea400);}};if(!this[_0x566e62(0x1bd)][_0x566e62(0x1a6)]){wx['showToast']({'title':_0x4cf51b[_0x566e62(0x1bf)],'icon':_0x4cf51b['OTtYL']});return;}if(!/^1[3-9]\d{9}$/[_0x566e62(0x1bc)](this[_0x566e62(0x1bd)][_0x566e62(0x1cd)])){wx[_0x566e62(0x1c2)]({'title':_0x4cf51b[_0x566e62(0x1f5)],'icon':_0x4cf51b[_0x566e62(0x1cf)]});return;}try{wx[_0x566e62(0x1a1)]({'title':_0x4cf51b[_0x566e62(0x1b5)],'mask':!![]});let _0x5d0060;if(_0x4cf51b[_0x566e62(0x1ae)](this[_0x566e62(0x1bd)][_0x566e62(0x1a2)],_0x4cf51b[_0x566e62(0x1c7)])){if(_0x4cf51b[_0x566e62(0x1c5)](this['data'][_0x566e62(0x1e6)][_0x566e62(0x1f7)],0x4)){wx[_0x566e62(0x1c2)]({'title':_0x566e62(0x1ea),'icon':'none'});return;}_0x5d0060=await _0x4cf51b['TmoRM'](phoneLogin,this['data'][_0x566e62(0x1cd)],this[_0x566e62(0x1bd)][_0x566e62(0x1e6)]);if(_0x4cf51b[_0x566e62(0x1a4)](_0x5d0060[_0x566e62(0x1e6)],0x0)){wx[_0x566e62(0x1bb)]();throw new Error(_0x5d0060['msg']||_0x4cf51b[_0x566e62(0x1b7)]);}}else{if(!this[_0x566e62(0x1bd)][_0x566e62(0x1aa)]||_0x4cf51b[_0x566e62(0x1c5)](this[_0x566e62(0x1bd)][_0x566e62(0x1aa)][_0x566e62(0x1f7)],0x6)){wx[_0x566e62(0x1c2)]({'title':_0x566e62(0x1ee),'icon':_0x4cf51b[_0x566e62(0x1cf)]});return;}_0x5d0060=await _0x4cf51b[_0x566e62(0x1be)](passwdLogin,this['data'][_0x566e62(0x1cd)],this[_0x566e62(0x1bd)]['password']);if(_0x5d0060[_0x566e62(0x1e6)]!==0x0){wx[_0x566e62(0x1bb)]();throw new Error(_0x5d0060['msg']);}}const {appuid:_0x1144f0,token:_0x380174}=_0x5d0060[_0x566e62(0x1bd)];if(_0x4cf51b[_0x566e62(0x1ba)](!_0x1144f0,!_0x380174))throw new Error(_0x4cf51b[_0x566e62(0x1de)]);_0x4cf51b[_0x566e62(0x1be)](blueBookLogin,_0x1144f0,_0x380174)[_0x566e62(0x19e)](_0x37e8b4=>{const _0xeba215=_0x566e62,_0x53d2a3=_0x4cf51b[_0xeba215(0x1e1)][_0xeba215(0x1e2)]('|');let _0x495143=0x0;while(!![]){switch(_0x53d2a3[_0x495143++]){case'0':wx['setStorageSync'](_0x4cf51b[_0xeba215(0x1a7)],_0x37e8b4[_0xeba215(0x1bd)][_0xeba215(0x1ef)]);continue;case'1':wx[_0xeba215(0x1b3)](_0x4cf51b['HfPFG'],_0x37e8b4[_0xeba215(0x1bd)]['nickname']);continue;case'2':wx[_0xeba215(0x1b3)](_0x4cf51b[_0xeba215(0x1e4)],_0x37e8b4[_0xeba215(0x1bd)][_0xeba215(0x1ca)]);continue;case'3':_0x4cf51b[_0xeba215(0x1a5)](setTimeout,()=>{const _0x542906=_0xeba215;wx[_0x542906(0x1c2)]({'title':_0x542906(0x19f),'icon':_0x4cf51b[_0x542906(0x1eb)]});},0xc8);continue;case'4':wx[_0xeba215(0x1bb)]();continue;case'5':wx['navigateBack']();continue;case'6':wx[_0xeba215(0x1b3)](_0xeba215(0x1a8),_0x37e8b4[_0xeba215(0x1bd)][_0xeba215(0x1a8)]);continue;}break;}});}catch(_0x32453b){wx[_0x566e62(0x1bb)](),_0x4cf51b[_0x566e62(0x1e3)](setTimeout,()=>{const _0x3ceb3a=_0x566e62;console['error'](_0x4cf51b[_0x3ceb3a(0x1ec)],_0x32453b),wx[_0x3ceb3a(0x1c2)]({'title':_0x32453b['message']||_0x4cf51b[_0x3ceb3a(0x1d1)],'icon':_0x3ceb3a(0x1f1)});},0xc8);}},'updateCanLogin'(){const _0x54cb34=_0x131bba,_0xcee5ad={'yGBwh':function(_0x210fce){return _0x210fce();},'pnDDc':function(_0x2c03d7,_0x4db2cc){return _0x2c03d7===_0x4db2cc;},'hYtZy':function(_0x32c2ec,_0x46b15f){return _0x32c2ec>=_0x46b15f;},'cEgET':function(_0x1fa2c5,_0x23f7cf){return _0x1fa2c5>=_0x23f7cf;},'xavdY':function(_0x1ed382,_0x33244a){return _0x1ed382&&_0x33244a;}},_0x52d64b=/^1[3-9]\d{9}$/[_0x54cb34(0x1bc)](this[_0x54cb34(0x1bd)][_0x54cb34(0x1cd)]);let _0x4d40d4=![];_0xcee5ad[_0x54cb34(0x1c4)](this[_0x54cb34(0x1bd)][_0x54cb34(0x1a2)],_0x54cb34(0x1e6))?_0x4d40d4=this[_0x54cb34(0x1bd)][_0x54cb34(0x1e6)]&&_0xcee5ad[_0x54cb34(0x1ed)](this[_0x54cb34(0x1bd)]['code'][_0x54cb34(0x1f7)],0x4):_0x4d40d4=this[_0x54cb34(0x1bd)][_0x54cb34(0x1aa)]&&_0xcee5ad[_0x54cb34(0x1db)](this[_0x54cb34(0x1bd)][_0x54cb34(0x1aa)][_0x54cb34(0x1f7)],0x6);const _0x2fff98=_0xcee5ad[_0x54cb34(0x1f3)](_0x52d64b,_0x4d40d4)&&this[_0x54cb34(0x1bd)][_0x54cb34(0x1a6)];this[_0x54cb34(0x1d3)]({'canLogin':_0x2fff98},()=>{const _0x5e24ff=_0x54cb34,_0x507da9=_0xcee5ad[_0x5e24ff(0x1e9)](getCurrentPages);if(!_0x507da9||_0xcee5ad[_0x5e24ff(0x1c4)](_0x507da9['length'],0x0))return;const _0x53f2cb=_0x507da9[_0x507da9[_0x5e24ff(0x1f7)]-0x1];});}});
@@ -0,0 +1,7 @@
1
+ {
2
+ "usingComponents": {
3
+ "van-checkbox": "@vant/weapp/checkbox/index",
4
+ "van-icon":"@vant/weapp/icon/index"
5
+ },
6
+ "navigationBarTitleText": "登录"
7
+ }
@@ -0,0 +1,57 @@
1
+ <view class="page">
2
+
3
+ <!-- 标题 / 副标题 -->
4
+ <view class="header">
5
+ <text class="title">{{ loginType === 'code' ? '短信验证码登录' : '密码登录' }}</text>
6
+ <text class="subtitle">未注册的手机号登录成功后将自动注册</text>
7
+ </view>
8
+
9
+ <!-- 手机号输入 -->
10
+ <view class="field">
11
+ <view class="phone-left">
12
+ <text class="flag">+86</text>
13
+ <text class="caret">▾</text>
14
+
15
+ </view>
16
+ <view style="width: 1px;height: 15px;background-color: #919191;margin-right:10px;"></view>
17
+ <input class="input" placeholder="请输入手机号" type="number" maxlength="11" value="{{phone}}" bindinput="onPhoneInput" />
18
+ </view>
19
+
20
+ <!-- 验证码输入 -->
21
+ <view wx:if="{{loginType === 'code'}}" class="field code-field">
22
+ <input class="input" placeholder="验证码" type="number" maxlength="6" value="{{code}}" bindinput="onCodeInput" />
23
+ <view class="send" bindtap="onSendCode" disabled="{{countdown>0}}">{{ countdown>0 ? countdown + 's' : '发送验证码' }}</view>
24
+ </view>
25
+
26
+ <!-- 密码输入 -->
27
+ <view wx:else class="field password-field">
28
+ <input class="input" placeholder="请输入密码" password="{{!showPassword}}" value="{{password}}" bindinput="onPasswordInput" />
29
+ <view style="width: 30px;display: flex;align-items: center;justify-content: center;" catchtap="toggleShowPassword">
30
+ <van-icon size="20" name="{{showPassword ? 'eye-o':'closed-eye'}}" />
31
+ </view>
32
+ </view>
33
+
34
+ <!-- 切换登录方式 & 忘记密码 -->
35
+ <view class=" row">
36
+ <view class="switch" bindtap="toggleLoginType">
37
+ <van-icon style="margin-right: 5px;" name="exchange" />
38
+ {{ loginType === 'code' ? '密码登录' : '验证码登录' }}
39
+ </view>
40
+ <!-- <view wx:if="{{loginType === 'password'}}" class="forget" bindtap="onForgot">忘记密码?</view> -->
41
+ </view>
42
+
43
+ <!-- 登录按钮 -->
44
+ <view class="login-btn {{canLogin ?'active':'disabled'}}" disabled="{{!canLogin}}" bindtap="onLogin">登录</view>
45
+
46
+ <!-- 协议勾选 -->
47
+ <view class="agreement">
48
+ <van-checkbox value="{{ agreed }}" shape="square" bind:change="onAgreeChange" size="20" />
49
+
50
+ <view style="margin-left: 10px;">
51
+ <span class="agree-text">我已阅读并同意</span>
52
+ <span class="link" catch:tap="gotoAgrement" data-type="1">《用户协议》</span>
53
+ <span class="link" catch:tap="gotoAgrement" data-type="2">《隐私政策》</span>
54
+ <span class="link" catch:tap="gotoAgrement" data-type="3">《未成年人个人信息保护规则》</span>
55
+ </view>
56
+ </view>
57
+ </view>