using Attribute;
using Common;
using Dto;
using Vo;
using Enums;
using Filters;
using Infrastructure;
using Infrastructure.Model;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using Middleware;
using Model;
using Services;
using Model.Base;
using System.IO.Compression;
namespace Controllers
{
///
/// PageUpdateInfo)Controller
///
// [Route("PageUpdateInfo")]
// [ApiExplorerSettings(GroupName = "PageUpdateInfo")]
public class PageUpdateInfoController : BaseController
{
private readonly IPageUpdateInfoService _PageUpdateInfoService;
private readonly IAppBottomNavsService _AppBottomNavsService;
private readonly IFileUpdateInfoService _FileUpdateInfoService;
private readonly IAppSourceSetService _AppSourceSetService;
public PageUpdateInfoController(IPageUpdateInfoService PageUpdateInfoService, IAppBottomNavsService AppBottomNavsService, IFileUpdateInfoService FileUpdateInfoService, IAppSourceSetService AppSourceSetService)
{
_PageUpdateInfoService = PageUpdateInfoService;
_AppBottomNavsService = AppBottomNavsService;
_FileUpdateInfoService = FileUpdateInfoService;
_AppSourceSetService = AppSourceSetService;
}
///
/// 页面模板更新信息列表
///
/// 请求参数
/// 页面模板更新信息列表
[HttpGet]
[Route("/v1/api/PageUpdateInfo/list")]
public IActionResult List([FromQuery] PageUpdateInfoListDto parm, [FromQuery] PagerInfo page)
{
var response = _PageUpdateInfoService.List(parm, page);
return SUCCESS(response);
}
///
/// 页面模板更新信息详情
///
/// 请求参数
/// 页面模板更新信息详情
[HttpGet]
[Route("/v1/api/PageUpdateInfo/query")]
public IActionResult Query([FromQuery] PageUpdateInfoQueryDto parm)
{
var response = _PageUpdateInfoService.Queryable()
.First(x => x.id == parm.id)
.Adapt() ?? new PageUpdateInfoQueryVo();
return SUCCESS(response);
}
///
/// 页面模板更新信息添加
///
/// 请求参数
/// 页面模板更新信息添加
[HttpPost]
[Route("/v1/api/PageUpdateInfo/add")]
public IActionResult Add([FromBody] PageUpdateInfoAddDto parm)
{
var modal = parm.Adapt().ToCreate(HttpContext);
var response = _PageUpdateInfoService.Add(modal);
return SUCCESS(response);
}
///
/// 页面模板更新信息修改
///
/// 请求参数
/// 页面模板更新信息修改
[HttpPut]
[Route("/v1/api/PageUpdateInfo/update")]
public IActionResult Update([FromBody] PageUpdateInfoUpdateDto parm)
{
var modal = parm.Adapt().ToUpdate(HttpContext);
var response = _PageUpdateInfoService.Update(modal, true);
return SUCCESS(response);
}
///
/// 页面模板更新信息删除
///
/// ID
/// 页面模板更新信息删除
[HttpDelete]
[Route("/v1/api/PageUpdateInfo/delete/{id}")]
public IActionResult Delete(int id)
{
var response = _PageUpdateInfoService.Delete(id);
return SUCCESS(response);
}
///
/// 页面模板更新信息刷新文件
///
/// 请求参数
/// 页面模板更新信息刷新文件
[HttpGet]
[Route("/v1/api/PageUpdateInfo/updateTemplate")]
public IActionResult UpdateTemplate([FromQuery] PageUpdateInfoUpdateTemplateDto parm)
{
// parm.projectId = 203;
var set = _AppSourceSetService.GetFirst(m => m.kind == parm.kind && m.projectId == parm.projectId);
// _AppSourceSetService.sycnOssFile(set, parm.appVersion);
_PageUpdateInfoService.UpdateTemplate(parm, set);
return SUCCESS("ok");
}
///
/// 页面模板更新信息更新版本号码
///
/// 请求参数
/// 页面模板更新信息更新版本号码
[HttpPut]
[Route("/v1/api/PageUpdateInfo/upVersion")]
public IActionResult UpVersion([FromBody] PageUpdateInfoUpVersionDto parm)
{
var modal = _PageUpdateInfoService.GetFirst(m => m.id == parm.id);
modal.moduleVersion += 1;
var response = _PageUpdateInfoService.Update(modal, true);
return SUCCESS(response);
}
///
/// 生成APP配置文件
///
/// 请求参数
/// 生成APP配置文件
[HttpGet]
[Route("/noauth/SystemSet/makeAppInitData")]
public string makeAppInitData([FromQuery] MakeAppInitDataDto parm)
{
string AppInfoList = _AppBottomNavsService.makeAppInitData(parm.kind, parm.appVersion);
// Function.WriteLog(AppInfoList);
string FileInfoList = _FileUpdateInfoService.makeAppInitData(parm.kind, parm.appVersion);
string PageInfoList = _PageUpdateInfoService.makeAppInitData(parm.kind, parm.appVersion);
return AppInfoList + "#cut#" + FileInfoList + "#cut#" + PageInfoList;
}
[HttpGet]
[Route("/noauth/reg")]
public IActionResult Register(string v = "4.4.0", string k = "creater", string c = "")
{
string appini = makeAppInitData(new MakeAppInitDataDto()
{
kind = k,
appVersion = v,
}); //Function.GetWebRequest("http://" + url + "/noauth/SystemSet/makeAppInitData?kind=" + k + "&appVersion=" + v);
if (!string.IsNullOrEmpty(appini))
{
if (appini.Contains("#cut#"))
{
string[] appinidata = appini.Split(new string[] { "#cut#" }, StringSplitOptions.None);
string AppInfoList = appinidata[0];
string SystemSet = appinidata[1];
string PageInfoList = appinidata[2];
string GotoPages = appinidata[3];
string LibFile = appinidata[4];
AppInfoList = System.Text.RegularExpressions.Regex.Unescape(AppInfoList);
SystemSet = System.Text.RegularExpressions.Regex.Unescape(SystemSet);
PageInfoList = System.Text.RegularExpressions.Regex.Unescape(PageInfoList);
GotoPages = System.Text.RegularExpressions.Regex.Unescape(GotoPages);
LibFile = System.Text.RegularExpressions.Regex.Unescape(LibFile);
string startPath = "";
string zipPath = "";
if(c == "ios")
{
Function.WritePage("ini", "AppInfoList.ini", AppInfoList);
Function.WritePage("ini", "SystemSet.ini", SystemSet);
Function.WritePage("ini", "PageInfoList.ini", PageInfoList);
Function.WritePage("ini", "GotoPages.ini", GotoPages);
Function.WritePage("ini", "LibFile.ini", LibFile);
startPath = Function.getPath("ini");
zipPath = Function.getPath("ini.zip");
}
else
{
Function.WritePage("txt", "AppInfoList.txt", AppInfoList);
Function.WritePage("txt", "SystemSet.txt", SystemSet);
Function.WritePage("txt", "PageInfoList.txt", PageInfoList);
Function.WritePage("txt", "GotoPages.txt", GotoPages);
Function.WritePage("txt", "LibFile.txt", LibFile);
startPath = Function.getPath(path_str: "txt");
zipPath = Function.getPath("txt.zip");
}
if(System.IO.File.Exists(zipPath))
{
System.IO.File.Delete(zipPath);
}
ZipFile.CreateFromDirectory(startPath, zipPath);
var stream = System.IO.File.OpenRead(zipPath);
return File(stream, "text/plain", Path.GetFileName(zipPath));
}
}
return Content("fail");
}
///
/// 页面模板复制
///
/// 请求参数
/// 页面模板复制
[HttpPost]
[Route("/v1/api/PageUpdateInfo/copy")]
public IActionResult Copy([FromBody] CopyDto parm)
{
_PageUpdateInfoService.DeleteForCopy(parm);
_PageUpdateInfoService.Copy(parm);
return SUCCESS("复制成功");
}
[Route("/noauth/test")]
public string test()
{
string str = "[{\"title\":\"首页\",\"normalIcon\":\"/static/images/tab-icon1-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon1-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"index1\",\"NoUrlMessage\":\"\",\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":true},{\"title\":\"工作台\",\"normalIcon\":\"/static/images/tab-icon2-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon2-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"work-center1\",\"NoUrlMessage\":null,\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":true},{\"title\":\"消息\",\"normalIcon\":\"/static/images/tab-icon3-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon3-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"notice-center1\",\"NoUrlMessage\":null,\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":false},{\"title\":\"我的\",\"normalIcon\":\"/static/images/tab-icon4-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon4-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"user-center1\",\"NoUrlMessage\":null,\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":true}]";
return Dbconn.Encrypt3DES(str, "*ga34|^7");
}
}
}