Commit 0d23d6fd authored by 潘梓豪's avatar 潘梓豪

修改下载功能脚本

parent de1fdbb7
......@@ -34,11 +34,11 @@ MonoBehaviour:
- Assembly-CSharp-firstpass
- crosstales.Common
- Cinemachine
- Xlua.Core
- ZeusSQLite
- HighlightingSystem
- SplineMeshRenderer
- RTVoice
- Xlua.Core
- Xlua.Core.Editor
showAdvancedSettings: 0
addMgrToSceneAutomatically: 0
......
......@@ -14,7 +14,7 @@ public class Setting
// 填写Bucket名称,例如examplebucket。
public static string bucketName = "zeus-hub";
public static string FileToUpload = "FileToUpload";
public static string BaseUrl = Environment.CurrentDirectory+ "\\BrowserAssets\\Appzia\\";
public static string BaseUrl = Environment.CurrentDirectory;
public static string client_secret = "pzh123456";
}
......@@ -6,6 +6,9 @@ using System.Linq;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using System.Windows.Forms;
using UnityEngine.Networking;
using System;
public class ZeusHub_Manager : MonoBehaviour
{
......@@ -23,6 +26,8 @@ public class ZeusHub_Manager : MonoBehaviour
public RequestMethod requestMethod=new RequestMethod();
DownloadUntily downloadUntily = new DownloadUntily();
public TMP_Text msg;
//
public string token = "";
......@@ -41,20 +46,25 @@ public class ZeusHub_Manager : MonoBehaviour
RegisterButton registerButton;
public Button sms_btn;
public UnityEngine.UI.Button sms_btn;
public JsonData P_Setting;
public SetSetting APP_setting;
public WelBorews welBorews;
[Tooltip("电脑别名输入框")]
public TMP_InputField inputField;
public TMP_Text tishi;
[Tooltip("路径配置窗口")]
public GameObject tanchuang;
public string tanchuang_id;
[Tooltip("路径配置输入框")]
public TMP_InputField tanchuang_inputField;
public string _RobotCode;
......@@ -66,6 +76,9 @@ public class ZeusHub_Manager : MonoBehaviour
public GameObject downloadpage;
public GameObject noticePage;
[Tooltip("头像")]
public RawImage heard_image;
IEnumerator Start()
{
manager = this;
......@@ -92,6 +105,10 @@ public class ZeusHub_Manager : MonoBehaviour
manager.OnReceiveError.AddListener(_onReceiveErrorMsg);
registerButton = RegisterButton.registerButton;
LoadConfig();
StartCoroutine(getImage(loadUserImage(), heard_image));
loadUserImage();
yield return null;
}
......@@ -295,6 +312,10 @@ public class ZeusHub_Manager : MonoBehaviour
//P_Setting = saved_setting;
P_Setting = ProductionSetting.LoadData();
APP_setting = SetSetting.LoadData();
tanchuang_inputField.text = APP_setting.AppUrl;
}
public void saveComputerCode()
......@@ -318,8 +339,12 @@ public class ZeusHub_Manager : MonoBehaviour
fileIsExists(tanchuang_inputField.text, tanchuang_id);
tanchuang.SetActive(false);
}
//保存项目下载路径
public void fileIsExists(string path, string id)
{
if (File.Exists(path))
......@@ -337,4 +362,139 @@ public class ZeusHub_Manager : MonoBehaviour
}
public void ShowBrowser()
{
OpenFileDialog openFileDialog = new OpenFileDialog();
// 设置文件类型
openFileDialog.Filter = "Image files (*.jpg, *.jpeg, *.png, *.gif)|*.jpg;*.jpeg;*.png;*.gif";
// 打开文件对话框
DialogResult result = openFileDialog.ShowDialog();
// 如果用户点击了打开按钮,则获取文件路径并进行处理
if (result == DialogResult.OK)
{
// 对选中的文件进行处理,比如读取文件内容
string filename = openFileDialog.FileName;
byte[] fileData = File.ReadAllBytes(filename);
string base64 = Convert.ToBase64String(fileData);
downloadUntily.PutOss(base64, filename);
StartCoroutine(getImage(loadUserImage(), heard_image));
}
}
//选择路径
public void OPenFolder()
{
FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
// 打开文件夹对话框
DialogResult result = folderBrowserDialog.ShowDialog();
// 如果用户点击了确定按钮,则获取文件夹路径并进行处理
if (result == DialogResult.OK)
{
string folderPath = folderBrowserDialog.SelectedPath;
// 对选中的文件夹进行处理
if (Directory.Exists(folderPath))
{
//Debug.Log(folderPath.Replace("\\", "\\\\"));
tanchuang_inputField.text = folderPath.Replace("\\", "//");
//tishi.text = "路径修改成功";
}
else
{
tishi.text = "路径不能为空或路径无效,无法修改";
}
}
}
public void save_downpath()
{
if (Directory.Exists(tanchuang_inputField.text))
{
SetSetting s = new SetSetting();
s.AppUrl = tanchuang_inputField.text;
APP_setting = SetSetting.LoadData();
// SetSetting.setData("{\"AppUrl\":\"" + tanchuang_inputField.text + "\"}");
SetSetting.setData(JsonMapper.ToJson(s));
tishi.text = "路径修改成功";
}
else
{
tishi.text = "路径不能为空或路径无效,无法修改";
}
}
public IEnumerator getImage(string imageUrl, RawImage rawImage)
{
if (imageUrl!=null)
{
using (var rq = UnityWebRequestTexture.GetTexture(imageUrl))
{
yield return rq.SendWebRequest();
if (string.IsNullOrEmpty(rq.error))
{
Texture2D texture = DownloadHandlerTexture.GetContent(rq);
rawImage.texture = texture;
}
}
}
}
//加载头像路径
public string loadUserImage()
{
string fileFullPath = Setting.BaseUrl + "\\images\\users\\avatar-2.jpg";
if (File.Exists(fileFullPath))
{
return fileFullPath;
}
else
{
return null;
}
}
public void active_down(bool isopen)
{
if (isopen)
{
downloadpage.transform.localScale = new Vector3(1, 1, 1);
}
else
{
downloadpage.transform.localScale = new Vector3(0, 0, 0);
}
}
/* public void LoadDloadMission()
{
if (APP_setting.DowmLoadList!=null && APP_setting.DowmLoadList.Count>0)
{
manager.downloadpage.GetComponent<DloadMissionRowDarta>().setDate(APP_setting.DowmLoadList);
}
}*/
public void loginout()
{
manager.token = null;
//SceneManager.LoadScene("MyScene");
manager.SceneceAddress[0].SetActive(true);
manager.password.text = "";
manager.username.text = "";
manager.msg.text = "";
manager.smscode.text = "";
manager.SceneceAddress[1].SetActive(false);
}
}
......@@ -22,51 +22,67 @@ public class DloadMission : Production
public TMP_Text mission_name;
public string AppUrl;
//public GameObject progress_side;
// public Image preset_image;
// public Image preset_image;
// public delegate void UpdateUIText(float progress);
// public delegate void UpdateUIText(float progress);
// UpdateUIText updateUIText;
// UpdateUIText updateUIText;
//public float fill_data = 0;
private Coroutine myCoroutine;
void Start()
{
updateUIText = new UpdateUIText(UpdateText);
myCoroutine = StartCoroutine(update_progress());
}
// Update is called once per frame
void Update()
{
// StartCoroutine(update_progress());
}
public IEnumerator update_progress()
{
if (progress_side.active)
{
preset_image.fillAmount = fill_data;
if (fill_data == 1f)
{
fill_data = 0;
progress_side.SetActive(false);
}
}
else
while (true)
{
if (fill_data > 0 && fill_data < 1)
if (progress_side.active)
{
progress_side.SetActive(true);
preset_image.fillAmount = fill_data;
if (fill_data == 1f)
{
Debug.Log("刷新界面");
JsonData val = new JsonData();
val["productionid"] = id;
val["code"] = new JsonData();
val["code"].Add(0);
val["code"][0] = manager._RobotCode;
//保存注册机码
StartCoroutine(request_post(Setting.IP + "/zeus/zeushub/saveRobotCode", JsonMapper.ToJson(val), 2));
manager.P_Setting = ProductionSetting.LoadData();
//btn[0].SetActive(true);
//刷新产品页
manager.SceneceAddress[1].GetComponent<ProductioRowData>().getlist();
//停止协程
StopCoroutine(myCoroutine);
//delMission();
}
}
yield return new WaitForSeconds(1f);
}
yield return new WaitForSeconds(1f);
}
public void getProgress(GetObjectRequest getObjectRequest,string downloadFilename,Production production)
{
updateUIText = new UpdateUIText(UpdateText);
AppUrl = production.manager.APP_setting.AppUrl+"/";
Thread thread = null;
thread = new Thread(() =>
{
......@@ -103,7 +119,7 @@ public class DloadMission : Production
fs.Close();
//File.Delete(downloadFilename);
UnZip(downloadFilename, "D://DownloadDemo/", downloadFilename.Substring(downloadFilename.LastIndexOf('/') + 1, downloadFilename.LastIndexOf('.') - downloadFilename.LastIndexOf('/') - 1));
UnZip(downloadFilename, AppUrl, downloadFilename.Substring(downloadFilename.LastIndexOf('/') + 1, downloadFilename.LastIndexOf('.') - downloadFilename.LastIndexOf('/') - 1));
//删除文件
File.Delete(downloadFilename);
......@@ -112,16 +128,21 @@ public class DloadMission : Production
//string json = "{\"code\":\"" + RobotCode.getMNum() + "\",\"productionid\":\"" + id + "\"}";
JsonData js_data = new JsonData();
js_data["apppath"] = "D://DownloadDemo/" + downloadFilename.Substring(downloadFilename.LastIndexOf("/") + 1, downloadFilename.LastIndexOf(".") - (downloadFilename.Substring(0, downloadFilename.LastIndexOf("/") + 1).Length)) + "/" + appname;
js_data["apppath"] = AppUrl + downloadFilename.Substring(downloadFilename.LastIndexOf("/") + 1, downloadFilename.LastIndexOf(".") - (downloadFilename.Substring(0, downloadFilename.LastIndexOf("/") + 1).Length)) + "/" + appname;
js_data["productionid"] = id;
//js_data["code"] = RobotCode.getMNum();
//保存
//production.OnReceiveMsg.Invoke(js_data, "savepath");
//保存启动路径
JsonData val = new JsonData();
val["url"] = js_data["apppath"];
//updateUIText.BeginInvoke(production, js_data, null, null);
JsonData d = ProductionSetting.LoadData();
if (d != null)
{
d[id] = val;
ProductionSetting.setData(JsonMapper.ToJson(d));
}
}
}
catch (OssException e)
{
......@@ -200,4 +221,5 @@ public class DloadMission : Production
{
fill_data = progress;
}
}
......@@ -18,15 +18,15 @@ public class DloadMissionRowDarta : MonoBehaviour
//public List<string[]> content_txt = new List<string[]>();
ZeusHub_Manager manager;
public ZeusHub_Manager manager;
public List<GameObject> d_list;
public List<GameObject> d_list=new List<GameObject>();
// Start is called before the first frame update
void Start()
{
d_list = new List<GameObject>();
del();
}
public void setDate(Production production, GetObjectRequest getObjectRequest,string downloadFilename)
......@@ -36,7 +36,11 @@ public class DloadMissionRowDarta : MonoBehaviour
DloadMission d= newObj.GetComponent<DloadMission>();
d.id = production.id;
d.manager = production.manager;
d.appname = production.appname;
d.title.text = production.title.text;
//d.myCoroutine=StartCoroutine(d.update_progress());
d.getProgress(getObjectRequest, downloadFilename,production);
//进度数据
......@@ -45,19 +49,46 @@ public class DloadMissionRowDarta : MonoBehaviour
newObj.transform.localScale = new Vector3(1, 1, 1);
d_list.Add(newObj);
}
/*
public void setDate(List<JsonData> list)
{
foreach(JsonData item in list)
{
var newObj = Instantiate(RowPrefab) as GameObject;
newObj.transform.SetParent(content.transform);
DloadMission d = newObj.GetComponent<DloadMission>();
d.id = item["id"].ToString();
d.title.text = item["title"].ToString();
d.manager = manager;
d.fill_data = 1f;
d.btn[0].SetActive(true);
//进度数据
//d.fill_data = production.fill_data;
newObj.transform.localScale = new Vector3(1, 1, 1);
d_list.Add(newObj);
}
}
public void getDate()
public void getData()
{
/*del();
del();
foreach (GameObject item in d_list)
{
item.transform.SetParent(content.transform);
}*/
}
var newObj = Instantiate(RowPrefab) as GameObject;
newObj.transform.SetParent(content.transform);
newObj.transform.localScale = new Vector3(1, 1, 1);
d_list.Add(newObj);
}
}*/
void del()
{
......@@ -70,6 +101,4 @@ public class DloadMissionRowDarta : MonoBehaviour
}
}
}
......@@ -79,8 +79,6 @@ public class ProductioRowData : MonoBehaviour
{
JsonData jd = JsonMapper.ToObject<JsonData>(rq.downloadHandler.text);
Debug.Log(rq.downloadHandler.text);
if (jd != null && jd.ContainsKey("result"))
{
foreach (JsonData item in jd["result"])
......@@ -110,7 +108,7 @@ public class ProductioRowData : MonoBehaviour
production.manager = manager;
production.OnReceiveMsg = OnReceiveMsg;
production.OnReceiveMsg.AddListener(production._onReceiveMsg);
production.downloadUntily = new DownloadUntily();
//production.downloadUntily = new DownloadUntily();
production.aliyunOSSDownLoad = new AliyunOSS.AliyunOSSDownLoad();
......@@ -118,8 +116,9 @@ public class ProductioRowData : MonoBehaviour
if (production.url.IndexOf("https://") >= 0 || production.url.IndexOf("http://") >= 0)
{
string downloadingUrl = Uri.UnescapeDataString(production.url);
ishas = AliyunOSS.AliyunOSSDownLoad.isFileExeit("D://DownloadDemo/" + downloadingUrl.Substring(downloadingUrl.LastIndexOf("/") + 1));
if (manager.P_Setting.ContainsKey(production.id)){
ishas= AliyunOSS.AliyunOSSDownLoad.isFileExeit(manager.P_Setting[production.id]["url"].ToString());
}
}
......
......@@ -51,50 +51,45 @@ public class Production : MonoBehaviour
public UpdateUIText updateUIText;
private bool is_save_robotcode = false;
//private bool is_save_robotcode = false;
private Coroutine myCoroutine;
public void Start()
{
updateUIText = new UpdateUIText(UpdateText);
updateUIText = new UpdateUIText(UpdateText);
//this.OnReceiveMsg.AddListener(_onReceiveMsg);
}
void LateUpdate()
{
StartCoroutine(update_progress());
if (is_save_robotcode)
{
is_save_robotcode = false;
setRpbotCode();
manager.normalPage.SetActive(true);
manager.normalPage.GetComponent<NormalText>().msg.text = "已下载到路径"+url;
url = "";
// manager.tishi.text = "已下载到路径" + d[id]["url"];
}
}
public IEnumerator update_progress()
{
if (progress_side.active)
while (true)
{
preset_image.fillAmount = fill_data;
if (fill_data == 1f)
if (progress_side.active)
{
fill_data = 0;
progress_side.SetActive(false);
btn[0].SetActive(false);
btn[1].SetActive(true);
preset_image.fillAmount = fill_data;
if (fill_data == 1f)
{
fill_data = 0;
progress_side.SetActive(false);
if (btn != null && btn.Length > 0)
{
btn[0].SetActive(false);
btn[1].SetActive(true);
}
StopCoroutine(myCoroutine);
}
}
}
else
{
if (fill_data > 0 && fill_data < 1)
else
{
progress_side.SetActive(true);
if (fill_data > 0 && fill_data < 1)
{
progress_side.SetActive(true);
}
}
yield return new WaitForSeconds(1f);
}
yield return new WaitForSeconds(1f);
}
......@@ -111,19 +106,28 @@ public class Production : MonoBehaviour
//下载按钮
public void downProgress()
{
/*try
if (manager.APP_setting.AppUrl!=null && !manager.APP_setting.AppUrl.Equals(""))
{
if (url != null && !url.Equals(""))
{
//StartCoroutine(aliyunOSSDownLoad.DownLoad(url, id, appname, this));
if(aliyunOSSDownLoad.DownLoad(url, id, appname, this))
{
myCoroutine = StartCoroutine(update_progress());
}
btn[0].GetComponentInChildren<Button>().gameObject.SetActive(false);
}
else
{
manager.tishi.text = "没有下载路径";
}
}
catch (Exception ex)
{
ExceptionOut.WriteLog(ex, "");
}*/
if (url != null && !url.Equals(""))
else
{
//StartCoroutine(aliyunOSSDownLoad.DownLoad(url, id, appname, this));
aliyunOSSDownLoad.DownLoad(url, id, appname, this);
btn[0].GetComponentInChildren<Button>().gameObject.SetActive(false);
manager.tanchuang.SetActive(true);
manager.tishi.text = "请先选择保存软件路径";
}
}
......@@ -152,7 +156,7 @@ public class Production : MonoBehaviour
progress_side.SetActive(false);
}
}
}else if (parameter.Equals("savepath"))
}/*else if (parameter.Equals("savepath"))
{
Debug.Log(parameter);
if (jd.ContainsKey("productionid") && jd["productionid"].Equals(id))
......@@ -171,7 +175,7 @@ public class Production : MonoBehaviour
is_save_robotcode = true;
url = jd["apppath"].ToString();
/* Debug.Log(manager._RobotCode);
*//* Debug.Log(manager._RobotCode);
val = new JsonData();
val["productionid"] = jd["productionid"];
val["code"] = new JsonData();
......@@ -179,9 +183,9 @@ public class Production : MonoBehaviour
val["code"][0] = manager._RobotCode;
//保存注册机码
StartCoroutine(request_post(Setting.IP + "/zeus/zeushub/saveRobotCode", JsonMapper.ToJson(val), 2));
Debug.Log("数据已保存到服务器");*/
Debug.Log("数据已保存到服务器");*//*
}
}else if (parameter.Equals("msg"))
}*/else if (parameter.Equals("msg"))
{
manager.normalPage.SetActive(true);
manager.normalPage.GetComponent<NormalText>().msg.text= jd["msg"].ToString();
......
using LitJson;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using UnityEngine;
[Serializable]
public class SetSetting
{
//路径集合
private const string Path = "SetSetting.json";
public string AppUrl;
// public List<JsonData> DowmLoadList;
public static void setData(string json_data)
{
Debug.Log("json数据"+json_data);
File.WriteAllText(Path, Regex.Unescape(json_data));
}
public static SetSetting LoadData()
{
return JsonMapper.ToObject<SetSetting>(File.ReadAllText(Path));
}
}
fileFormatVersion: 2
guid: c9ee4ddde4ca4784ba7acf7249897d01
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using LitJson;
using System;
using System.IO;
using System.Text.RegularExpressions;
using UnityEngine;
[Serializable]
public class TestSetSetting
{
//路径集合
private const string Path = "TestSetSetting.json";
public string AppUrl;
public JsonData[] DowmLoadList;
public static void setData(string json_data)
{
Debug.Log("json数据"+json_data);
File.WriteAllText(Path, Regex.Unescape(json_data));
}
public static SetSetting LoadData()
{
return JsonMapper.ToObject<SetSetting>(File.ReadAllText(Path));
}
}
fileFormatVersion: 2
guid: 4dcfe09e082eabd43b6b499a27075c87
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -3,14 +3,12 @@ using System.Threading;
using Aliyun.OSS;
using Aliyun.OSS.Common;
using System.IO;
using System.Collections;
using UnityEngine;
using LitJson;
using System.IO.Compression;
using System.Text.RegularExpressions;
using System.Text;
using System.Threading.Tasks;
using UnityEditor.Events;
using System.Collections.Generic;
namespace AliyunOSS
{
......@@ -25,17 +23,21 @@ namespace AliyunOSS
private string url;
delegate void UpdateUIText(Production production,JsonData js_data);
delegate void UpdateUIText(Production production,JsonData js_data);
public void DownLoad(string downloadingUrl, string id, string appname, Production production)
private static string APPURL;
public bool DownLoad(string downloadingUrl, string id, string appname, Production production)
{
APPURL = production.manager.APP_setting.AppUrl+"/";
if (!isdown)
{
JsonData js_data = new JsonData();
this.id = id;
if (!Directory.Exists("D://DownloadDemo"))
if (!Directory.Exists(APPURL))
{
Directory.CreateDirectory("D://DownloadDemo");
Directory.CreateDirectory(APPURL);
}
downloadingUrl = Uri.UnescapeDataString(downloadingUrl);
......@@ -43,7 +45,7 @@ namespace AliyunOSS
// 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
var objectName = downloadingUrl.Substring(downloadingUrl.LastIndexOf("/") + 1);
// 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。
var downloadFilename = "D://DownloadDemo/" + objectName;
var downloadFilename = APPURL + objectName;
Debug.Log(downloadingUrl);
if (downloadingUrl.IndexOf("https://") < 0)
......@@ -54,19 +56,29 @@ namespace AliyunOSS
}
else
{
if (!Directory.Exists("D://DownloadDemo/" + downloadFilename.Substring(downloadFilename.LastIndexOf("/") + 1, downloadFilename.LastIndexOf(".") - (downloadFilename.Substring(0, downloadFilename.LastIndexOf("/") + 1).Length)) + "/"))
PutObjectWithProcessByThread(objectName, downloadFilename, js_data, production, isdown, id, appname);
if (!Directory.Exists(APPURL + downloadFilename.Substring(downloadFilename.LastIndexOf("/") + 1, downloadFilename.LastIndexOf(".") - (downloadFilename.Substring(0, downloadFilename.LastIndexOf("/") + 1).Length)) + "/"))
{
if (isHasDownLoadMission(production.manager.downloadpage.GetComponent<DloadMissionRowDarta>().d_list, id))
{
PutObjectWithProcessByThread(objectName, downloadFilename, js_data, production, id, appname);
}
else
{
js_data["msg"] = "该任务下载中,请勿重复下载";
production.OnReceiveMsg.Invoke(js_data, "msg");
isdown = false;
}
}
}
}
return isdown;
}
private void PutObjectWithProcessByThread(string fullFilePath, string downloadFilename, JsonData js_data, Production production, bool isdown, string id, string appname)
private void PutObjectWithProcessByThread(string fullFilePath, string downloadFilename, JsonData js_data, Production production, string id, string appname)
{
isdown = true;
Thread thread = null;
UpdateUIText updateUIText = new UpdateUIText(UpdateText);
var getObjectRequest = new GetObjectRequest(Setting.bucketName, fullFilePath);
......@@ -75,6 +87,7 @@ namespace AliyunOSS
//对象,设置到下载页
production.manager.downloadpage.GetComponent<DloadMissionRowDarta>().setDate(production, getObjectRequest, downloadFilename);
//(废弃)
thread = new Thread(()=>{
try
{
......@@ -125,14 +138,14 @@ namespace AliyunOSS
Debug.Log("解压前:" + downloadFilename.Substring(downloadFilename.LastIndexOf('/') + 1, downloadFilename.LastIndexOf('.') - downloadFilename.LastIndexOf('/') - 1));
UnZip(downloadFilename, "D://DownloadDemo/", downloadFilename.Substring(downloadFilename.LastIndexOf('/') + 1, downloadFilename.LastIndexOf('.') - downloadFilename.LastIndexOf('/') - 1));
UnZip(downloadFilename, APPURL, downloadFilename.Substring(downloadFilename.LastIndexOf('/') + 1, downloadFilename.LastIndexOf('.') - downloadFilename.LastIndexOf('/') - 1));
//删除文件
File.Delete(downloadFilename);
//string json = "{\"code\":\"" + RobotCode.getMNum() + "\",\"productionid\":\"" + id + "\"}";
js_data = new JsonData();
js_data["apppath"] = "D://DownloadDemo/" + downloadFilename.Substring(downloadFilename.LastIndexOf("/") + 1, downloadFilename.LastIndexOf(".") - (downloadFilename.Substring(0, downloadFilename.LastIndexOf("/") + 1).Length)) + "/" + appname;
js_data["apppath"] = APPURL + downloadFilename.Substring(downloadFilename.LastIndexOf("/") + 1, downloadFilename.LastIndexOf(".") - (downloadFilename.Substring(0, downloadFilename.LastIndexOf("/") + 1).Length)) + "/" + appname;
js_data["productionid"] = id;
//js_data["code"] = RobotCode.getMNum();
//保存
......@@ -226,8 +239,30 @@ namespace AliyunOSS
public static bool isFileExeit(string downloadFilename)
{
Debug.Log(downloadFilename);
return Directory.Exists("D://DownloadDemo/" + downloadFilename.Substring(downloadFilename.LastIndexOf("/") + 1, downloadFilename.LastIndexOf(".") - (downloadFilename.Substring(0, downloadFilename.LastIndexOf("/") + 1).Length)) + "/");
return File.Exists(downloadFilename);
}
//判断是否有该任务在下载
public bool isHasDownLoadMission(List<GameObject> list,string id)
{
var bol = true;
if (list.Count>0)
{
foreach (GameObject item in list)
{
if (item.GetComponent<DloadMission>().id == id)
{
bol= false;
break;
}
}
}
else
{
bol= true;
}
return bol;
}
}
}
This diff is collapsed.
......@@ -535,7 +535,7 @@ MonoBehaviour:
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 0
m_FillAmount: 0
m_FillAmount: 0.85
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
......@@ -848,7 +848,8 @@ MonoBehaviour:
m_EditorClassIdentifier:
title: {fileID: 452572634745476164}
rawImage: {fileID: 0}
btn: []
btn:
- {fileID: 7119647756621128576}
kind: []
welBorews: {fileID: 0}
path:
......@@ -861,6 +862,7 @@ MonoBehaviour:
preset_image: {fileID: 922071236828745214}
fill_data: 0
mission_name: {fileID: 0}
AppUrl:
--- !u!1 &5455300079187368418
GameObject:
m_ObjectHideFlags: 0
......@@ -1244,4 +1246,15 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 7119647756621128591}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_Calls:
- m_Target: {fileID: 5177321513389834456}
m_MethodName: delMission
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
......@@ -1011,7 +1011,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4805169340042075125}
m_RootOrder: 2
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
......@@ -1217,8 +1217,8 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 4805169339238715929}
- {fileID: 3694229046582648495}
- {fileID: 4805169339871074102}
- {fileID: 3694229046582648495}
m_Father: {fileID: 4805169340563534365}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
......@@ -1494,7 +1494,7 @@ PrefabInstance:
- target: {fileID: 8208916088210402484, guid: 89cf152700f18884d9701f8b525fadb6,
type: 3}
propertyPath: m_RootOrder
value: 1
value: 2
objectReference: {fileID: 0}
- target: {fileID: 8208916088210402484, guid: 89cf152700f18884d9701f8b525fadb6,
type: 3}
......
......@@ -9,6 +9,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 4470809431719859835}
- component: {fileID: 4714433364275929901}
m_Layer: 5
m_Name: "\u9009\u62E9\u8DEF\u5F84"
m_TagString: Untagged
......@@ -37,6 +38,34 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: -20}
m_SizeDelta: {x: 410, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4714433364275929901
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4470809431719859836}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Delegates:
- eventID: 4
callback:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_MethodName:
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName:
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &4470809431873468133
GameObject:
m_ObjectHideFlags: 0
......@@ -151,7 +180,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_Interactable: 0
m_TargetGraphic: {fileID: 4470809431873468130}
m_TextViewport: {fileID: 4470809432938634978}
m_TextComponent: {fileID: 4470809432782459464}
......@@ -312,7 +341,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u9009\u62E9\u8DEF\u5F84"
m_text: "\u70B9\u51FB\u56FE\u6807\u9009\u62E9\u4FDD\u5B58\u8DEF\u5F84"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 1f5786cba7bb56f4095b58a2db83e2b2, type: 2}
m_sharedMaterial: {fileID: 21679760276028976, guid: 1f5786cba7bb56f4095b58a2db83e2b2,
......@@ -488,7 +517,7 @@ GameObject:
- component: {fileID: 4470809432354461391}
- component: {fileID: 4470809432354461424}
m_Layer: 5
m_Name: "text-\u9009\u62E9\u4E0B\u8F7D\u5730\u5740"
m_Name: "text-\u9009\u62E9\u542F\u52A8\u8DEF\u5F84"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -540,7 +569,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u9009\u62E9\u4E0B\u8F7D\u5730\u5740"
m_text: "\u9009\u62E9\u4E0B\u8F7D\u8DEF\u5F84"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 1f5786cba7bb56f4095b58a2db83e2b2, type: 2}
m_sharedMaterial: {fileID: 21679760276028976, guid: 1f5786cba7bb56f4095b58a2db83e2b2,
......@@ -863,7 +892,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 7211001695101394216}
m_RootOrder: 2
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
......@@ -1069,8 +1098,8 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 7211001696445551812}
- {fileID: 1583422530603014258}
- {fileID: 7211001694930424299}
- {fileID: 1583422530603014258}
m_Father: {fileID: 7211001695590905024}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
......@@ -1619,7 +1648,7 @@ PrefabInstance:
- target: {fileID: 8208916088210402484, guid: 89cf152700f18884d9701f8b525fadb6,
type: 3}
propertyPath: m_RootOrder
value: 1
value: 2
objectReference: {fileID: 0}
- target: {fileID: 8208916088210402484, guid: 89cf152700f18884d9701f8b525fadb6,
type: 3}
......
......@@ -12,6 +12,7 @@ GameObject:
- component: {fileID: 8134890970687996457}
- component: {fileID: 8134890970687996458}
- component: {fileID: 8134890970687996459}
- component: {fileID: 6861742437161550130}
m_Layer: 5
m_Name: "btn-\u4E0A\u680F\u6309\u94AE"
m_TagString: Untagged
......@@ -118,3 +119,209 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &6861742437161550130
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8134890970687996453}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1384774831, guid: e743331561ef77147ae48cda9bcb8209, type: 3}
m_Name:
m_EditorClassIdentifier:
fsm:
dataVersion: 2
usedInTemplate: {fileID: 0}
name: FSM
startState: "\u5173\u95ED"
states:
- name: "\u5173\u95ED"
description:
colorIndex: 0
position:
serializedVersion: 2
x: 50
y: 132
width: 100
height: 32
isBreakpoint: 0
isSequence: 0
hideUnused: 0
transitions:
- fsmEvent:
name: next
isSystemEvent: 0
isGlobal: 0
toState: "\u6253\u5F00"
linkStyle: 0
linkConstraint: 0
colorIndex: 0
actionData:
actionNames: []
customNames: []
actionEnabled:
actionIsOpen:
actionStartIndex:
actionHashCodes:
unityObjectParams: []
fsmGameObjectParams: []
fsmOwnerDefaultParams: []
animationCurveParams: []
functionCallParams: []
fsmTemplateControlParams: []
fsmEventTargetParams: []
fsmPropertyParams: []
layoutOptionParams: []
fsmStringParams: []
fsmObjectParams: []
fsmVarParams: []
fsmArrayParams: []
fsmEnumParams: []
fsmFloatParams: []
fsmIntParams: []
fsmBoolParams: []
fsmVector2Params: []
fsmVector3Params: []
fsmColorParams: []
fsmRectParams: []
fsmQuaternionParams: []
stringParams: []
byteData:
arrayParamSizes:
arrayParamTypes: []
customTypeSizes:
customTypeNames: []
paramDataType:
paramName: []
paramDataPos:
paramByteDataSize:
- name: "\u6253\u5F00"
description:
colorIndex: 0
position:
serializedVersion: 2
x: 279
y: 115.92969
width: 100
height: 32
isBreakpoint: 0
isSequence: 0
hideUnused: 0
transitions:
- fsmEvent:
name: next
isSystemEvent: 0
isGlobal: 0
toState: "\u5173\u95ED"
linkStyle: 0
linkConstraint: 0
colorIndex: 0
actionData:
actionNames: []
customNames: []
actionEnabled:
actionIsOpen:
actionStartIndex:
actionHashCodes:
unityObjectParams: []
fsmGameObjectParams: []
fsmOwnerDefaultParams: []
animationCurveParams: []
functionCallParams: []
fsmTemplateControlParams: []
fsmEventTargetParams: []
fsmPropertyParams: []
layoutOptionParams: []
fsmStringParams: []
fsmObjectParams: []
fsmVarParams: []
fsmArrayParams: []
fsmEnumParams: []
fsmFloatParams: []
fsmIntParams: []
fsmBoolParams: []
fsmVector2Params: []
fsmVector3Params: []
fsmColorParams: []
fsmRectParams: []
fsmQuaternionParams: []
stringParams: []
byteData:
arrayParamSizes:
arrayParamTypes: []
customTypeSizes:
customTypeNames: []
paramDataType:
paramName: []
paramDataPos:
paramByteDataSize:
events:
- name: next
isSystemEvent: 0
isGlobal: 0
globalTransitions: []
variables:
floatVariables: []
intVariables: []
boolVariables: []
stringVariables: []
vector2Variables: []
vector3Variables: []
colorVariables: []
rectVariables: []
quaternionVariables: []
gameObjectVariables: []
objectVariables: []
materialVariables: []
textureVariables: []
arrayVariables: []
enumVariables: []
categories:
-
variableCategoryIDs:
description:
docUrl:
showStateLabel: 0
maxLoopCount: 0
watermark:
password:
locked: 0
manualUpdate: 0
keepDelayedEventsOnStateExit: 0
preprocessed: 0
ExposedEvents: []
RestartOnEnable: 1
EnableDebugFlow: 0
EnableBreakpoints: 1
editorFlags: 1
activeStateName:
mouseEvents: 0
handleLevelLoaded: 0
handleTriggerEnter2D: 0
handleTriggerExit2D: 0
handleTriggerStay2D: 0
handleCollisionEnter2D: 0
handleCollisionExit2D: 0
handleCollisionStay2D: 0
handleTriggerEnter: 0
handleTriggerExit: 0
handleTriggerStay: 0
handleCollisionEnter: 0
handleCollisionExit: 0
handleCollisionStay: 0
handleParticleCollision: 0
handleControllerColliderHit: 0
handleJointBreak: 0
handleJointBreak2D: 0
handleOnGUI: 0
handleFixedUpdate: 0
handleLateUpdate: 0
handleApplicationEvents: 0
handleUiEvents: 0
handleLegacyNetworking: 0
handleAnimatorMove: 0
handleAnimatorIK: 0
fsmTemplate: {fileID: 0}
eventHandlerComponentsAdded: 0
......@@ -10,7 +10,7 @@ GameObject:
m_Component:
- component: {fileID: 6490395449814635246}
- component: {fileID: 6490395449814635216}
- component: {fileID: 6490395449814635217}
- component: {fileID: 1510584352517524496}
m_Layer: 5
m_Name: "\u5934\u50CF-\u9ED8\u8BA4"
m_TagString: Untagged
......@@ -45,7 +45,7 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6490395449814635247}
m_CullTransparentMesh: 0
--- !u!114 &6490395449814635217
--- !u!114 &1510584352517524496
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
......@@ -54,26 +54,23 @@ MonoBehaviour:
m_GameObject: {fileID: 6490395449814635247}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.8207547, g: 0.8207547, b: 0.8207547, a: 1}
m_RaycastTarget: 0
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: a20b211bf00196f4b9585d3a4ea9d77d, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
m_Texture: {fileID: 2800000, guid: a20b211bf00196f4b9585d3a4ea9d77d, type: 3}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!1 &6490395450166352658
GameObject:
m_ObjectHideFlags: 0
......
......@@ -811,7 +811,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 225, y: -10}
m_AnchoredPosition: {x: 225, y: -30}
m_SizeDelta: {x: 450, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &8177880323130361947
......@@ -1016,8 +1016,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 33.75, y: 0}
m_SizeDelta: {x: 67.50003, y: 0}
m_AnchoredPosition: {x: -3.899994, y: 0}
m_SizeDelta: {x: -7.787445, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &762727499100658390
CanvasRenderer:
......@@ -1051,7 +1051,7 @@ MonoBehaviour:
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 0
m_FillAmount: 0.85
m_FillAmount: 0
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
......@@ -1694,7 +1694,7 @@ PrefabInstance:
- target: {fileID: 6753029317166616797, guid: 75e0afc406985814ca866074f9ea6ddf,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 150
value: 225
objectReference: {fileID: 0}
- target: {fileID: 6753029317166616797, guid: 75e0afc406985814ca866074f9ea6ddf,
type: 3}
......@@ -1916,7 +1916,7 @@ PrefabInstance:
- target: {fileID: 4050314339739339990, guid: 75e0afc406985814ca866074f9ea6ddf,
type: 3}
propertyPath: m_IsActive
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6753029317166616797, guid: 75e0afc406985814ca866074f9ea6ddf,
type: 3}
......@@ -2182,7 +2182,7 @@ PrefabInstance:
- target: {fileID: 4050314339739339990, guid: 75e0afc406985814ca866074f9ea6ddf,
type: 3}
propertyPath: m_Name
value: "btn-\u4EA7\u54C1\u5361\u7247\u529F\u80FD-\u542F\u52A8"
value: "btn-\u4EA7\u54C1\u5361\u7247\u529F\u80FD-\u8BE6\u60C5"
objectReference: {fileID: 0}
- target: {fileID: 4050314339739339990, guid: 75e0afc406985814ca866074f9ea6ddf,
type: 3}
......
This diff is collapsed.
......@@ -7219,3 +7219,5 @@
2023/5/6 16:56:58 api:http://8.134.114.12:11011/oauth/token HTTP/1.1 502 Bad Gateway
2023/5/7 14:42:14 api:http://8.134.114.12:11011/oauth/token HTTP/1.1 502 Bad Gateway
2023/5/8 8:46:59 api:http://8.134.114.12:11011/oauth/token Cannot connect to destination host
2023/5/8 17:53:01 api:http://8.134.114.12:11011/oauth/token HTTP/1.1 502 Bad Gateway
2023/5/8 18:05:06 api:http://8.134.114.12:11011/oauth/token HTTP/1.1 502 Bad Gateway
{"12779":{"url":"D://DownloadDemo/HUBDemo1/CRRC _Factory.exe"},"12842":{"url":"D://DownloadDemo/HUBDemo1/CRRC _Factory.exe"},"12679":{"url":"D://DownloadDemo/HUBDemo1/CRRC _Factory.exe"},"12698":{"url":"D://DownloadDemo/TIYANGUAN/HBHGPVsys3DM.exe"},"12720":{"url":"D://DownloadDemo/zeus_office/EduTemplate.exe"},"12877":{"url":"D://新盛世HUB/Zsnewcentury.exe"},"12890":{"url":"D://DownloadDemo/新盛世HUB/Zsnewcentury.exe"}}
\ No newline at end of file
{"12890":{"url":"D://DownloadDemo/新盛世HUB/Zsnewcentury.exe"},"12720":{"url":"D://DownloadDemo/zeus_office/EduTemplate.exe"}}
\ No newline at end of file
{"token":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImFlMzUzZGIzOTE0MjBiNDQ2MDI5M2E2NTQwOGNlNWZlOWViYmVmMzI2YjVkNWIwMTFlODg1N2NiZjA0NzUwN2M2OTZjOGU3NDg4NDgyNDliIn0.eyJhdWQiOiIyYmM1ZjE1Zi0wNzE3LTQ4ZjktYTc4Mi03NzQ5M2FjNDUwODQiLCJqdGkiOiJhZTM1M2RiMzkxNDIwYjQ0NjAyOTNhNjU0MDhjZTVmZTllYmJlZjMyNmI1ZDViMDExZTg4NTdjYmYwNDc1MDdjNjk2YzhlNzQ4ODQ4MjQ5YiIsImlhdCI6MTY4MzQ0MzY5NCwibmJmIjoxNjgzNDQzNjk0LCJleHAiOjE2ODM3NDM2OTQsInN1YiI6IjkwMSIsInNjb3BlcyI6WyJhdXRoZW50aWNhdGVkIiwiZW50ZXJwcmlzZSIsIndlYm1hc3RlciJdfQ.ZKk6Rv_h38oNYynAPDmVVb8MU7wbq3UXeSRfSIwnYgey0bCU8MsSilK5MtO_9oSTFbZytxz1heyfu5i_54H2BjhoTaTJpuEOMxneX_FJzG71SJT1zHz0aLTGKRrehVl6JRrxZ8KGG8UbqVFm8rt-qgDO1NpC7aSNx4D1S9ckAtAcnVOThSk9qpsCq3MC8WNWinaGW_hbN0DjTf9QoSO5sI_CZE5L20FSxgDtRGqm4qMlmzNAlnfAIfWY4ae2xePrhfZaJ5N-HH4D5jT4YCv-mDfnYGm-rsaZHdevg-ydsCR0HC5iJBSoFOiPOsrlU6BKSPbuckzFu_3OROYgFhsrtRNigqTgntNR5-vHU_k6cupDyPDLO-TrAnPOAXHfI4zmT-pUlWYFbhOY7qQ7QlWwA4Rksl7t5w92HuMDvVa2eMSm2A5YwPXIML-t0hvuQ-vnVsFDeSRcrKFBl4Rkj2o1NOqOd-iy-6XqGhk3d6J5eLqZka4bsU3w2WkXYJThhrY0uw8FPhPaiGWZwkLzA1MVeTuquer4IpsB8yR9rkehBOqMxppncvTjfRBk2ibedQMUhjGHIAn5iIBqWeSWBuj1-PMKZLSLwFoIYOmUkXyYO8XwrfUo7R8Xnx341Gas2pkvzYVFKJawMN7VXh2L6Ihp5kzz3Qk4aiCaP_418DQMP64","productionid":"12890","filepath":"D://DownloadDemo/新盛世HUB/Zsnewcentury.exe"}
\ No newline at end of file
{"token":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImI0YjEyOWVmZjI5MjhjNGEyNmYyNDhiYzk1YTQ0YTM2MzVkNDE1MmM1OGY3MDI1MzA4M2M3YWVhYjg5MzhjNzk2YTMxNmVkZDJiMWQ2NzU0In0.eyJhdWQiOiIyYmM1ZjE1Zi0wNzE3LTQ4ZjktYTc4Mi03NzQ5M2FjNDUwODQiLCJqdGkiOiJiNGIxMjllZmYyOTI4YzRhMjZmMjQ4YmM5NWE0NGEzNjM1ZDQxNTJjNThmNzAyNTMwODNjN2FlYWI4OTM4Yzc5NmEzMTZlZGQyYjFkNjc1NCIsImlhdCI6MTY4MzcxMDYwMywibmJmIjoxNjgzNzEwNjAzLCJleHAiOjE2ODQwMTA2MDMsInN1YiI6IjkwMSIsInNjb3BlcyI6WyJhdXRoZW50aWNhdGVkIiwiZW50ZXJwcmlzZSIsIndlYm1hc3RlciJdfQ.gZ_WQAimXiIhTbx0cIuEfUKeRsvX10YM8kPfLqi03WPQvybZbZ6JRf0vLG27EDrQ3J7CErGr_4UTcKFgfh5xA5R78SsRbCdsnBYbPCzkwCDHek7-ur2AKCTLHjYWiCk0ke5WXTJDD4q_x_J4GUAdqSL6Z1R6l-2uZ0bR3sLEam2qTRp5pzOx9B3leMGdy644V-hc2Ckun6mpIb8BQ4l1ILe9PgpTjDCKKjodBHYr-akwzOzPbit7TrjTKxlUkr9MnzmHhWyYa6fw9qyFWTZ7K9hvbWVSIBjkZ_pk6fWKZs8hP2lS0B6JYrFT1EamRRLJ0r3yQbPpK7CiAPh3ym6EGMGI6RvUTiclDtuyMJHojWtbX7Af8PqewXcpHwjl-b_E09G8BfrkC3-1hpiZ1KZqAGR_jKR4JmMEghxWCLZk1ueCd47Kt1fl0RgmzATzdUuJbGklihrhupRKh1D58DeZ8-GEAHbfnE8L2PFR6yjd1YpWiCdKlSBHBwTrhxqoQfSUxlZFTcuyYNWONzvGduueu-jeVCZP9b__6wYl1BBpDwKe7R8CzNAtJ5aK1AUNRu8pQNt3JNyLWtolkN_vMtp26g4cwOleIyQeRKHpklL5jJeYMvEFlSShAWpUPUcuvTuav0Bsn3yU7dQfXHpdVjKMTLsVP_-U-kLeLFM9uEzYzTU","productionid":"12720","filepath":"D://DownloadDemo/zeus_office/EduTemplate.exe"}
\ No newline at end of file
{"AppUrl":"D://DownloadDemo"}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment