Sleazy Fork is available in English.

含羞草研究所|fi11.com 永久vip vip视频随意观看

含羞草研究所,可观看含羞草vip視頻 除钻石和付费视频。

  1. // ==UserScript==
  2. // @name 含羞草研究所|fi11.com 永久vip vip视频随意观看
  3. // @name:zh-TW 含羞草研究所|fi11.com 永久vip vip視頻隨意觀看
  4. // @namespace http://tampermonkey.net/
  5. // @version 2.6.1
  6. // @description 含羞草研究所,可观看含羞草vip視頻 除钻石和付费视频。
  7. // @description:zh-tw 含羞草研究所,可观看含羞草vip視頻,除钻石和付费视频。
  8. // @author JamToday
  9. // @include *
  10. // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
  11. // @grant none
  12. // @antifeature payment
  13. // ==/UserScript==
  14. (function () {
  15. let kitty_emojiList = ["😃","😄","😁","😆","😅","🤣","😂","🙂","🙃","🫠","😉","😊","😇","😕","🫤","😟","🙁","☹","😯","😲","🥺","🥹","😦","😧","😨","😰","😥","😢","😭","😱","😖","😣","😞","😓","😩","😫","😤","😡","😠"]
  16. let kitty_emojiIndex = 0
  17. let kitty_StatusColor = {
  18. success: "#67C23A",
  19. warning: "#E6A23C",
  20. info: "#909399",
  21. danger: "#F56C6C",
  22. '200': "#67C23A",
  23. '300': "#E6A23C",
  24. '400': "#909399",
  25. '500': '#F56C6C'
  26. }
  27. let kitty_config = {
  28. name: "含羞草脚本",
  29. id: "xns",
  30. version: "2.6.1",
  31. homePageName: "kitty猫",
  32. homePageUrl: "www.kittymao.xyz",
  33.  
  34. update: 3,
  35. logListMaxLength: 5,
  36. logItemLength: 20,
  37.  
  38. useMethodUrlList: ["docs.kittymao.xyz"],
  39. payUrlList: ["shop.kittymao.xyz"],
  40.  
  41. updateUrl: "https://sleazyfork.org/zh-CN/scripts/477924",
  42. requestHostList: ["https://baixiaodu.uk/api","https://www.kittymao.xyz/api","https://kittymao.xyz/api"],
  43. }
  44. let kitty_isrun = {
  45. getNewVersion: false
  46. }
  47. let kitty_tabIndex = 0
  48. let kitty_logList = []
  49. let localStorageName = "token"
  50.  
  51. function kitty_setCookie(cname, cvalue, exdays) {
  52. var d = new Date();
  53. d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
  54. var expires = "expires=" + d.toGMTString();
  55. document.cookie = cname + "=" + cvalue + "; " + expires;
  56. }
  57. function kitty_insertStyle() {
  58. let style = document.createElement("style")
  59. style.innerHTML = `
  60. /* 整体-start */
  61. #kitty_vipPanel {
  62. width: 310px;
  63. height: 500px;
  64. box-shadow: 0 0 0 1px rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 9%);
  65. border-left: 1px solid transparent;
  66. border-right: none;
  67. border-top: 1px solid transparent;
  68. border-bottom: 1px solid transparent;
  69. background-color: #FFFFFF;
  70. position: fixed;
  71. left: 6px;
  72. bottom: 6px;
  73. z-index: 99999;
  74. font-size: 16px;
  75. --script-panel-main-color: black;
  76. }
  77. #kitty_vipPanel a {
  78. text-decoration: underline;
  79. }
  80. .kitty_panelMain {
  81. font-size: 0.85em;
  82. }
  83. .hitty_hiddenPanel {
  84. left: -310px !important;
  85. }
  86. /* 整体-end */
  87. /* panelHead-start */
  88. .kitty_panelHead {
  89. display: flex;
  90. border-bottom: 1px solid #ececec;
  91. }
  92. .kitty_panelHead>div {
  93. color: #444;
  94. padding: 0 10px;
  95. height: 40px;
  96. line-height: 40px;
  97. box-sizing: border-box;
  98. user-select: none;
  99. text-align: center;
  100. width: 76px;
  101. font-size: 1em;
  102. }
  103. .kitty_panelHead>div:not(.kitty_headDivActive):hover {
  104. border-bottom: 3px solid #ccc;
  105. cursor: pointer;
  106. }
  107. .kitty_headDivActive {
  108. border-bottom: 3px solid var(--script-panel-main-color);
  109. color: #444;
  110. font-weight: bold;
  111. }
  112. /* panelHead-end */
  113. /* 界面显示按钮 */
  114. .kitty_showPanelBtn {
  115. position: absolute;
  116. left: 320px;
  117. bottom: 20px;
  118. width: 60px;
  119. height: 40px;
  120. line-height: 40px;
  121. color: var(--script-panel-main-color);
  122. user-select: none;
  123. background-color: #FFFFFF;
  124. position: absolute;
  125. left: 320;
  126. bottom: 20px;
  127. display: none;
  128. cursor: pointer;
  129. border-radius: 5px;
  130. }
  131. /* 身体 */
  132. .kitty_panelBody {
  133. padding: 0 10px;
  134. }
  135. .kitty_panelBody p {
  136. margin: 10px 0;
  137. color: black;
  138. }
  139. /* 输入框-start */
  140. .kitty_searchInput {
  141. width: 98%;
  142. border-radius: 24px;
  143. box-shadow: 0 0 0 1px rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 9%);
  144. height: 40px;
  145. border-left: 1px solid transparent;
  146. border-right: none;
  147. border-top: 1px solid transparent;
  148. border-bottom: 1px solid transparent;
  149. overflow: hidden;
  150. margin: 0 auto;
  151. margin-top: 40px;
  152. margin-bottom: 50px;
  153. display: flex;
  154. }
  155. .kitty_searchInput:hover {
  156. border-top-left-radius: 24px;
  157. box-shadow: 0 0 0 1px rgb(0 0 0 / 10%), 0 2px 4px 1px rgb(0 0 0 / 18%);
  158. border-left: 1px solid transparent;
  159. border-right: none;
  160. border-top: 1px solid transparent;
  161. border-bottom: 1px solid transparent;
  162. }
  163. .kitty_searchInput input {
  164. height: 100%;
  165. border: 0;
  166. outline: 0;
  167. padding: 0 10px;
  168. color: black !important;
  169. width: 100%;
  170. background-color: white;
  171. }
  172. /* 输入框-end */
  173. /* go按钮-start */
  174. .kitty_goToVipBtn {
  175. color: #FFFFFF;
  176. font-weight: bold;
  177. background-color: var(--script-panel-main-color);
  178. height: 100px;
  179. width: 100px;
  180. border-radius: 50px;
  181. text-align: center;
  182. line-height: 100px;
  183. margin: 20px auto;
  184. box-shadow: 0 0 0 1px rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 9%);
  185. user-select: none;
  186. }
  187. .kitty_goToVipBtn:hover {
  188. cursor: pointer;
  189. box-shadow: 0 0 0 0 rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 18%);
  190. -webkit-box-shadow: 0 0 0 0 rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 18%);
  191. -moz-box-shadow: 0 0 0 0 rgba(0,0,0,.05),0 2px 4px 1px rgba(0,0,0,.18);
  192. }
  193. /* 动画 */
  194. @keyframes kitty_float {
  195. 0% {
  196. transform: translateY(0px);
  197. }
  198. 5% {
  199. transform: translateY(-10px);
  200. }
  201. 10%,100% {
  202. transform: translateY(0px);
  203. }
  204. }
  205.  
  206. .kitty_navy {
  207. position: relative;
  208. }
  209.  
  210. .kitty_navy span {
  211. position: relative;
  212. display: inline-block;
  213. color: white;
  214. animation: kitty_float 9s ease-in-out infinite;
  215. animation-delay: 2s;
  216. font-size: 1.5em;
  217. }
  218. /* go按钮-end */
  219. .kitty_logOutput {
  220. color: #71777d;
  221. font-size: 0.9em;
  222. margin-top: 50px;
  223. }
  224. .kitty_logOutput div {
  225. margin: 0;
  226. padding: 0;
  227. line-height: 1.5;
  228. }
  229. .kitty_downloadText {
  230. font-size: 20px;
  231. font-weight: bold;
  232. }
  233. .kitty_downloadText a {
  234. cursor:pointer;
  235. }
  236. `
  237. document.querySelector("head").appendChild(style);
  238. }
  239. function kitty_createPanel() {
  240. let panel = document.createElement("div")
  241. panel.setAttribute("id", "kitty_vipPanel")
  242. panel.innerHTML = `
  243. <div class="kitty_showPanelBtn">&gt;&gt;显示</div>
  244. <div class="kitty_panelMain">
  245. <div class="kitty_panelHead">
  246. <div class="kitty_headDivActive">获取权限</div>
  247. <div>令牌登录</div>
  248. <div>使用指南</div>
  249. <div>支付</div>
  250. </div>
  251. <div class="kitty_panelBody kitty_panelBody_0">
  252. <div class="kitty_searchInput">
  253. <input id="kitty_txm" type="text" placeholder="">
  254. </div>
  255. <div class="kitty_goToVipBtn kitty_navy">
  256. <span>G</span>
  257. <span>O</span>
  258. <span>!</span>
  259. </div>
  260. <div class="kitty_logOutput">
  261. <div>脚本--><span class="kitty_scriptName"></span>-<span class="kitty_version"></span>-<span class="kitty_update"></span></div>
  262. <div>主页--><a class="kitty_homepage" target="_blank" href="">主页地址</a></div>
  263. <div>邮箱-->JamJamToday@protonmail.com</div>
  264. <div>操作--><span style="color: red;cursor:pointer;" class="kitty_hiddenPanelBtn">点此隐藏此脚本操作界面&lt;&lt;</span></div>
  265. <div class="kitty_logList">
  266. </div>
  267. </div>
  268. </div>
  269. <div class="kitty_panelBody kitty_panelBody_1" style="display:none;">
  270. <p>暂未开放</p>
  271. </div>
  272. <div class="kitty_panelBody kitty_panelBody_2" style="display:none;">
  273. <p>+ 使用方法线路1: <a target="_blank" href="https://docs.kittymao.xyz">www.kittymao.xyz</a></p>
  274. </div>
  275. <div class="kitty_panelBody kitty_panelBody_3" style="display:none;">
  276. <p>+ 支付线路1: <a target="_blank" href="https://shop.kittymao.xyz">shop.kittymao.xyz</a></p>
  277. </div>
  278. </div>
  279. `
  280. document.body.appendChild(panel)
  281. }
  282.  
  283. function kitty_eventBind() {
  284. let tabs = document.querySelectorAll(".kitty_panelHead>div")
  285. for (let i = 0; i < tabs.length; i++) {
  286. tabs[i].addEventListener("click", function() {
  287. for (let ii = 0; ii < tabs.length; ii++) {
  288. tabs[ii].className = ""
  289. }
  290. tabs[i].className = "kitty_headDivActive"
  291. kitty_changeTab(i)
  292. })
  293. }
  294. document.querySelector(".kitty_hiddenPanelBtn").addEventListener("click", function() {
  295. kitty_hiddenPanel()
  296. })
  297. document.querySelector(".kitty_showPanelBtn").addEventListener("click", function() {
  298. kitty_showPanel()
  299. })
  300. let gets = document.querySelectorAll(".kitty_goToVipBtn")
  301. gets[0].addEventListener("click", function() {
  302. kitty_getPermissionStart()
  303. })
  304. }
  305. function kitty_changeTab(index) {
  306. kitty_tabIndex = index
  307. let panelBodys = document.querySelectorAll(".kitty_panelBody")
  308. if(!panelBodys[kitty_tabIndex]) {
  309. return
  310. }
  311. for (let i = 0; i < panelBodys.length; i ++) {
  312. panelBodys[i].style.display = "none"
  313. }
  314. panelBodys[kitty_tabIndex].style.display = "block"
  315. }
  316. function kitty_hiddenPanel() {
  317. document.querySelector("#kitty_vipPanel").className = "hitty_hiddenPanel"
  318. document.querySelector(".kitty_showPanelBtn").style.display = "block"
  319. }
  320. function kitty_showPanel() {
  321. document.querySelector("#kitty_vipPanel").className = ""
  322. document.querySelector(".kitty_showPanelBtn").style.display = "none"
  323. }
  324. function kitty_getPermissionStart() {
  325. let emoLength = kitty_emojiList.length
  326. let txm = document.querySelector("#kitty_txm").value
  327. if (!txm) {
  328. kitty_logListPush(`请输入口令,然后点击GO按钮${kitty_emojiList[kitty_emojiIndex]}`, "info")
  329. kitty_emojiIndex++
  330. if (kitty_emojiIndex>=emoLength) {
  331. kitty_emojiIndex = 0;
  332. }
  333. return
  334. }
  335. localStorage.setItem("kitty_txm", txm)
  336. kitty_getSuccessHost();
  337. kitty_getPermission(0, txm, false);
  338. }
  339. function kitty_getSuccessHost() {
  340. let successHost = localStorage.getItem("kitty_requestSuccessHost")
  341. if(successHost) {
  342. let findIndex = kitty_config.requestHostList.indexOf(successHost);
  343. if (findIndex!=-1) {
  344. kitty_config.requestHostList.splice(findIndex, 1);
  345. kitty_config.requestHostList.unshift(successHost);
  346. }
  347. }
  348. }
  349. function kitty_getHost(index) {
  350. return kitty_config.requestHostList[index]
  351. }
  352.  
  353. function kitty_getStatusTypeText(type) {
  354. let typeText = "提示";
  355. switch(type){
  356. case "success":
  357. typeText = "成功"
  358. break
  359. case "warning":
  360. typeText = "警告"
  361. break
  362. case "info":
  363. typeText = "信息"
  364. break
  365. case "danger":
  366. typeText = "失败"
  367. break
  368. case '200':
  369. typeText = "成功"
  370. break
  371. case '300':
  372. typeText = "警告"
  373. break
  374. case '400':
  375. typeText = "信息"
  376. break
  377. case '500':
  378. typeText = "失败"
  379. break
  380. }
  381. return typeText;
  382. }
  383. function kitty_logListPush(item, type) {
  384. let stringLength = item.length
  385. let start = 0;
  386. let end = kitty_config.logItemLength-1
  387. let headLine = true
  388. while(stringLength>=0) {
  389. let typeText = `${kitty_getStatusTypeText(type)}-->`;
  390. let styleColor = ""
  391. if (type) {
  392. styleColor = type?`color: ${kitty_StatusColor[type]}`:"";
  393. }
  394. if (kitty_logList.length >= kitty_config.logListMaxLength) {
  395. kitty_logListShift()
  396. }
  397. kitty_logList.push(`<span style="${styleColor}">${headLine?typeText:'<span style="opacity: 0;">续行--</span>&gt;'}${item.substring(start, end)}</span>`)
  398. start = end
  399. end += end
  400. stringLength = stringLength-kitty_config.logItemLength
  401. headLine = false
  402. }
  403. kitty_showLogList()
  404. }
  405. function kitty_logListShift() {
  406. kitty_logList.shift();
  407. kitty_showLogList();
  408. }
  409. function kitty_showLogList() {
  410. let innerhtml = "";
  411. let kitty_logListDiv = document.getElementsByClassName("kitty_logList")[0]
  412. kitty_logList.forEach(item => {
  413. innerhtml+=`<div>${item}</div>`
  414. })
  415. kitty_logListDiv.innerHTML = innerhtml;
  416. }
  417. function kitty_setConfig() {
  418. document.getElementsByClassName("kitty_scriptName")[0].innerHTML = kitty_config.name;
  419. document.getElementsByClassName("kitty_version")[0].innerHTML = `v${kitty_config.version}`;
  420. let homepage = document.getElementsByClassName("kitty_homepage")[0];
  421. homepage.innerHTML = kitty_config.homePageName+`(${kitty_config.homePageUrl})`
  422. homepage.href = "https://"+kitty_config.homePageUrl
  423. if (kitty_config.update===1) {
  424. let versionSpan = document.getElementsByClassName("kitty_update")[0];
  425. versionSpan.innerHTML = `已最新`;
  426. versionSpan.style = `color: ${kitty_StatusColor.success};`;
  427. } else if (kitty_config.update===2) {
  428. let versionSpan = document.getElementsByClassName("kitty_update")[0];
  429. versionSpan.innerHTML = `<span class="kitty_toNewVersion" style="user-select: none;cursor: pointer;">点此更新</span>`;
  430. versionSpan.style = `color: ${kitty_StatusColor.warning};`;
  431. document.querySelector(".kitty_toNewVersion").addEventListener("click", function() {
  432. window.open(kitty_config.updateUrl)
  433. })
  434. } else {
  435. let versionSpan = document.getElementsByClassName("kitty_update")[0];
  436. versionSpan.innerHTML = `<span class="kitty_checkVersion" style="user-select: none;cursor: pointer;">检查更新</span>`;
  437. versionSpan.style = `color: ${kitty_StatusColor.warning};`;
  438. document.querySelector(".kitty_checkVersion").addEventListener("click", function() {
  439. kitty_getNewVersion(0, false)
  440. })
  441. }
  442. }
  443. function kitty_getCardNumber() {
  444. let txm = localStorage.getItem("txm")
  445. if (txm) {
  446. localStorage.setItem("kitty_txm", txm)
  447. localStorage.removeItem("txm")
  448. }
  449. let kitty_txm = localStorage.getItem("kitty_txm")
  450. if (kitty_txm) {
  451. document.querySelector("#kitty_txm").value = kitty_txm
  452. kitty_logListPush("已获取到上次使用的口令,请另外保存口令", "info")
  453. kitty_logListPush(`请点击GO按钮${kitty_emojiList[kitty_emojiIndex]}`, "info")
  454. } else {
  455. kitty_logListPush(`请输入口令,然后点击GO按钮${kitty_emojiList[kitty_emojiIndex]}`, "info")
  456. kitty_emojiIndex++
  457. }
  458. }
  459. function kitty_getPermission(index, txm, change) {
  460. if (kitty_isrun.getPermission&&!change) {
  461. return
  462. }
  463. let host = kitty_getHost(index)
  464. if(!change) {
  465. kitty_logListPush("发送请求中请耐心等待...", "info")
  466. }
  467. kitty_isrun.getPermission = true
  468. let url = `${host}/hxc/getPermission`
  469. fetch(url, {
  470. method: "POST",
  471. headers: {
  472. "Content-Type": "application/json",
  473. },
  474. body: JSON.stringify({
  475. "version": kitty_config.version,
  476. "cardContent": txm.trim(),
  477. "nickname": "hxc"
  478. })
  479. }).then(res => res.json()).then(res => {
  480. localStorage.setItem("kitty_requestSuccessHost", host)
  481. try {
  482. if (res.success) {
  483. dealGetPermissionRes(res.data)
  484. } else {
  485. kitty_logListPush(res.message, "warning")
  486. }
  487. } catch(e) {
  488. kitty_logListPush("失败,返回值处理有问题", "danger")
  489. console.log(e)
  490. }
  491. kitty_isrun.getPermission = false
  492. }).catch((e) => {
  493. if (e.toString().includes("JSON")) {
  494. kitty_logListPush("JSON解析失败,请联系作者", "danger")
  495. kitty_isrun.getPermission = false
  496. } else {
  497. console.log(e)
  498. index++
  499. let getHost = kitty_getHost(index)
  500. if (getHost) {
  501. kitty_logListPush("请求失败,切换线路中请耐心等待...", "warning")
  502. kitty_getPermission(index, txm, true)
  503. } else {
  504. kitty_logListPush("请求失败,请联系作者", "danger")
  505. kitty_isrun.getPermission = false
  506. }
  507. }
  508. })
  509. }
  510. function dealGetPermissionRes(resData) {
  511. console.log(resData)
  512. kitty_saveToken(resData)
  513. }
  514. function kitty_getNewVersion(index, change) {
  515. if (kitty_isrun.getNewVersion&&!change) {
  516. return
  517. }
  518. let host = kitty_getHost(index)
  519. if(!change) {
  520. kitty_logListPush("检查版本号中请耐心等待...", "info")
  521. }
  522. kitty_isrun.getNewVersion = true
  523. let url = `${host}/getVersion`
  524. fetch(url,{
  525. method: "POST",
  526. headers: {
  527. "Content-Type": "application/json",
  528. },
  529. body: JSON.stringify({
  530. "nickname": "hxc"
  531. })
  532. }).then(res => res.json()).then(res => {
  533. localStorage.setItem("kitty_requestSuccessHost", host)
  534. try {
  535. let data = res.data
  536. if (data.version === kitty_config.version) {
  537. kitty_config.update = 1
  538. kitty_logListPush("已是最新版", "success")
  539. } else {
  540. kitty_config.update = 2
  541. kitty_config.updateUrl = data.updateUrl
  542. kitty_logListPush("不是最新版,可能无法使用", "warning")
  543. }
  544. kitty_setConfig()
  545. } catch(e) {
  546. kitty_logListPush("失败,返回值处理有问题", "danger")
  547. console.log(e)
  548. }
  549. kitty_isrun.getNewVersion = false
  550. }).catch((e) => {
  551. if (e.toString().includes("JSON")) {
  552. kitty_logListPush("JSON解析失败,请联系作者", "danger")
  553. kitty_isrun.getNewVersion = false
  554. } else {
  555. console.log(e)
  556. index++
  557. let getHost = kitty_getHost(index)
  558. if (getHost) {
  559. kitty_logListPush("请求失败,切换线路中请耐心等待...", "warning")
  560. kitty_getNewVersion(index, true)
  561. } else {
  562. kitty_logListPush("请求失败,请联系作者", "danger")
  563. kitty_isrun.getPermission = false
  564. }
  565. }
  566. })
  567. }
  568. function kitty_vipPanelInit() {
  569. kitty_insertStyle();
  570. kitty_createPanel();
  571. kitty_getSuccessHost();
  572. kitty_showLogList();
  573. kitty_eventBind();
  574. kitty_setConfig();
  575. kitty_isLogin();
  576. }
  577. function kitty_saveToken ({token}) {
  578. let local = JSON.parse(localStorage.getItem(localStorageName))
  579. local = token
  580. localStorage.setItem("isGetPermission", true)
  581. localStorage.setItem("getTokenTime", Date.now())
  582. localStorage.setItem(localStorageName, JSON.stringify(local))
  583. kitty_logListPush("请求成功,刷新页面中", "success");
  584. location.reload();
  585. }
  586. function kitty_isSuccess() {
  587. let get = localStorage.getItem("isGetPermission")
  588. if (get === "true" || get === true) {
  589. get = true
  590. } else {
  591. get = false
  592. }
  593. let local = localStorage.getItem(localStorageName)
  594. let localb = false
  595. if (local) {
  596. localb = true
  597. } else {
  598. localb = false
  599. }
  600. if (!(localb && get)) {
  601. localStorage.setItem("isGetPermission", false)
  602. }
  603. return localb && get
  604. }
  605. function kitty_isLogin() {
  606. let isLoginInterval = setInterval(function(){
  607. let local = JSON.parse(localStorage.getItem(localStorageName))
  608. if (local) {
  609. kitty_logListPush("您已登录自己的账号", "success");
  610. if (kitty_isSuccess()) {
  611. kitty_getCardNumber();
  612. kitty_hiddenPanel();
  613. kitty_logListPush("请求成功,请尝试观看VIP视频", "success");
  614. } else {
  615. kitty_getCardNumber();
  616. }
  617. clearInterval(isLoginInterval)
  618. } else {
  619. kitty_logListPush("请先登录自己的含羞草账号...", "warning");
  620. localStorage.setItem("isGetPermission", false)
  621. }
  622. },500)
  623. }
  624. function kitty_isMobileDevice() {
  625. return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
  626. }
  627. function kitty_isRun() {
  628. let startnumber = 0;
  629. let startInterval = setInterval(()=>{
  630. startnumber ++
  631. if (localStorage.getItem("timeStampError")!=null||localStorage.getItem('homeGetAds')||localStorage.getItem('preInfo')) {
  632. let site = true
  633. let run = false
  634. if (document.querySelector("#kitty_vipPanel")||document.querySelector("#vipPanel")) {
  635. run = true
  636. }
  637. if (site&&!run) {
  638. let isH5 = kitty_isMobileDevice()
  639. if (isH5) {
  640. console.log("手机端")
  641. localStorageName = "fission-friends-h5_B_token"
  642. }
  643. kitty_vipPanelInit();
  644. console.log("启动脚本")
  645. }
  646. clearInterval(startInterval)
  647. }
  648. if (startnumber>=40) {
  649. clearInterval(startInterval)
  650. }
  651. },1000)
  652. }
  653. kitty_isRun()
  654. })();