ljw.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. window._gwen = {}
  2. window._gwen.kv = {}
  3. //fix 语言
  4. if(!localStorage.getItem('wc-option:local:lang') && navigator.language){
  5. localStorage.setItem('wc-option:local:lang', navigator.language.toLowerCase())
  6. }
  7. const storage_prefix = 'wc-'
  8. const apiserver = localStorage.getItem('wc-api-server')
  9. function stringToUint8Array(str) {
  10. var arr = [];
  11. for (var i = 0, j = str.length; i < j; ++i) {
  12. arr.push(str.charCodeAt(i));
  13. }
  14. var tmpUint8Array = new Uint8Array(arr);
  15. return tmpUint8Array
  16. }
  17. function getQueryVariable() {
  18. const query = window.location.hash.substring(3);
  19. const vars = query.split("&");
  20. for (var i = 0; i < vars.length; i++) {
  21. var pair = vars[i].split("=");
  22. window._gwen.kv[pair[0]] = pair[1]
  23. }
  24. }
  25. getQueryVariable()
  26. /*const id = window._gwen.kv.id || ''
  27. if (id) {
  28. localStorage.setItem(storage_prefix+'option:local:last_remote_id', id)
  29. }*/
  30. const share_token = window._gwen.kv.share_token || ''
  31. if (share_token) {
  32. fetch(apiserver + "/api/shared-peer", {
  33. method: 'POST',
  34. headers: {
  35. 'Content-Type': 'application/json',
  36. },
  37. body: JSON.stringify({share_token})
  38. }).then(res => res.json()).then(res => {
  39. if (res.code === 0) {
  40. localStorage.setItem(storage_prefix + 'custom-rendezvous-server', res.data.id_server)
  41. localStorage.setItem(storage_prefix + 'key', res.data.key)
  42. const peer = res.data.peer || {}
  43. /*const s = {
  44. id: peer.info.id,
  45. password: peer.tmppwd,
  46. }*/
  47. //修改location
  48. window.location.href = `/webclient2/#/${peer.info.id}?password=${encodeURIComponent(peer.tmppwd)}`
  49. }
  50. })
  51. }
  52. let fetching = false
  53. export function getServerConf(token) {
  54. if (!token) {
  55. return
  56. }
  57. // console.log('getServerConf', token)
  58. if (fetching) {
  59. return
  60. }
  61. fetching = true
  62. fetch(apiserver + "/api/server-config-v2", {
  63. method: 'POST',
  64. headers: {
  65. 'Content-Type': 'application/json',
  66. 'Authorization': 'Bearer ' + token
  67. }
  68. }
  69. ).then(res => res.json()).then(res => {
  70. fetching = false
  71. if (res.code === 0) {
  72. if (!localStorage.getItem(storage_prefix + 'custom-rendezvous-server') || !localStorage.getItem('key')) {
  73. localStorage.setItem(storage_prefix + 'custom-rendezvous-server', res.data.id_server)
  74. localStorage.setItem(storage_prefix + 'key', res.data.key)
  75. }
  76. }
  77. }).catch(_ => {
  78. fetching = false
  79. })
  80. }