Skip to content

Commit

Permalink
删除模型功能
Browse files Browse the repository at this point in the history
  • Loading branch information
tengge1 committed Aug 15, 2018
1 parent acef4f5 commit d4050a4
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 2 deletions.
51 changes: 51 additions & 0 deletions ShadowEditor.Server/Controllers/MeshController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using System.Web.Http;
using System.Web.Http.Results;
using MongoDB.Bson;
using MongoDB.Driver;
using Newtonsoft.Json.Linq;
using ShadowEditor.Server.Base;
using ShadowEditor.Server.Helpers;
Expand All @@ -34,6 +35,7 @@ public JsonResult List()

var data = docs.Select(o => new
{
ID = o["_id"].ToString(),
Name = o["Name"].ToString(),
TotalPinYin = o["TotalPinYin"].ToString(),
FirstPinYin = o["FirstPinYin"].ToString(),
Expand All @@ -60,5 +62,54 @@ public JsonResult Add()
var result = saver.Save(HttpContext.Current);
return Json(result);
}

/// <summary>
/// 删除模型
/// </summary>
/// <param name="ID"></param>
/// <returns></returns>
[HttpPost]
public JsonResult Delete(string ID)
{
var mongo = new MongoHelper();

var filter = Builders<BsonDocument>.Filter.Eq("_id", BsonObjectId.Create(ID));
var doc = mongo.FindOne(Constant.MeshCollectionName, filter);

if (doc == null)
{
return Json(new
{
Code = 300,
Msg = "该模型不存在!"
});
}

// 删除模型所在目录
var path = doc["SavePath"].ToString();
var physicalPath = HttpContext.Current.Server.MapPath(path);

try
{
Directory.Delete(physicalPath, true);
}
catch (Exception ex)
{
return Json(new
{
Code = 300,
Msg = ex.Message
});
}

// 删除模型信息
mongo.DeleteOne(Constant.MeshCollectionName, filter);

return Json(new
{
Code = 200,
Msg = "删除模型成功!"
});
}
}
}
32 changes: 30 additions & 2 deletions ShadowEditor.Web/src/editor/window/ModelWindow.js
Original file line number Diff line number Diff line change
Expand Up @@ -176,11 +176,39 @@ ModelWindow.prototype.onClickImage = function (imgs, index, btn) {
}

if (btn === 'delete') { // 删除模型
UI.msg('开始删除模型');
this.onDeleteModel(model);
return;
}

// 添加模型
this.onLoadModel(model);
};

/**
* 删除模型
* @param {*} model
*/
ModelWindow.prototype.onDeleteModel = function (model) {
var app = this.app;
var server = app.options.server;

UI.confirm('询问', '是否删除该模型?', (event, btn) => {
if (btn === 'ok') {
Ajax.post(`${server}/api/Mesh/Delete?ID=${model.ID}`, (json) => {
var obj = JSON.parse(json);
if (obj.Code === 200) {
this.updateModelList();
}
UI.msg(obj.Msg);
});
}
});
};

/**
* 添加模型到场景
* @param {*} model
*/
ModelWindow.prototype.onLoadModel = function (model) {
if (model.Type === 'amf') {
var loader = new THREE.AMFLoader();
loader.load(this.app.options.server + model.Url, (group) => {
Expand Down

0 comments on commit d4050a4

Please sign in to comment.