index.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import enLocale from './locale/en/strings.js';
  2. import zhLocale from './locale/zh/strings.js';
  3. const messages = {
  4. zh: zhLocale,
  5. en: enLocale,
  6. }
  7. // const i18n = VueI18n.createI18n({
  8. // locale: 'zh',
  9. // fallbackLocale: 'en',
  10. // messages
  11. // })
  12. function getUrlParam(name) {
  13. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
  14. var r = window.location.search.substr(1).match(reg); //匹配目标参数
  15. if (r != null) return unescape(r[2]);
  16. return "";
  17. }
  18. let app = Vue.createApp({
  19. data() {
  20. return {
  21. init: true,
  22. lang: 'zh',
  23. user_data_folder: getUrlParam("user_data_folder"),
  24. copyright: 0,
  25. step: 0,
  26. newest_version: '-', // 最新版本号
  27. }
  28. },
  29. mounted() {
  30. this.copyright = parseInt(getUrlParam("copyright"));
  31. if(this.copyright == 0){
  32. this.step = -1;
  33. }
  34. // 发送GET请求获取GitHub的Release API响应
  35. const request = new XMLHttpRequest();
  36. request.open('GET', `https://api.github.com/repos/NaiboWang/EasySpider/releases/latest`);
  37. request.setRequestHeader('User-Agent', 'JavaScript');
  38. request.onload = function() {
  39. // 解析响应JSON并输出最新版本号
  40. const release = JSON.parse(request.responseText);
  41. const latestVersion = release.tag_name;
  42. app.$data.newest_version = latestVersion;
  43. // alert(`Latest version is ${latestVersion}`);
  44. };
  45. request.onerror = function() {
  46. console.error('Error: failed to get latest version.');
  47. };
  48. request.send();
  49. },
  50. methods: {
  51. changeLang(lang = 'zh') {
  52. this.init = false;
  53. this.lang = lang;
  54. },
  55. acceptAgreement() {
  56. this.step = 0;
  57. window.electronAPI.acceptAgreement();
  58. },
  59. startDesign(lang, with_data = false, mobile=false) {
  60. if (with_data) {
  61. console.log(this.user_data_folder)
  62. if (this.user_data_folder == null || this.user_data_folder == "") {
  63. if (lang == 'zh') {
  64. alert("请指定用户信息目录");
  65. } else {
  66. alert("Please specify the user information directory");
  67. }
  68. return;
  69. }
  70. window.electronAPI.startDesign(lang, this.user_data_folder, mobile);
  71. } else {
  72. window.electronAPI.startDesign(lang, '', mobile);
  73. }
  74. },
  75. startInvoke(lang) {
  76. window.electronAPI.startInvoke(lang);
  77. }
  78. }
  79. }).mount('#app');
  80. // console.log(i18n.global.t('test'))