我需要收集(从frontEnd(angularJS)的输入传递的名称+描述,并在点击确认按钮时通过电子邮件发送它们)
我不知道如何传递参数。
这是我的backEnd(node.js)代码,用于向供应商和管理员发送2封电子邮件
this.saveNewOfferMessage = function (supplierId, request)
{
// send the email and return true or an error
var namem = __offerService(request.body.name);
var textm = __offerService(request.body.text);
var query = {
attributes: ["id", "supplierId"],
include: [{
model: __database.dao("Supplier"),
as: "supplier",
attributes: ["companyId"],
include: {
model: __database.dao("Company"),
as: "company",
attributes: ["id", "name", "email"]
}
}],
where: {
supplierId: supplierId
}
};
// Send new offer email
var emailParams = [
{
name: "SupplierID",
content: supplierId
},
{
name: "NameMessage",
content: namem
},
{
name: "Message",
content: textm
}
];
let offers = __database.dao("Offer").findAll(query);
for (let offer of offers) {
let companyUsers =
__userService.findUserByCompany(offer.supplierId);
var templateName =
yemp.server.utilities.mailUtil.getQualifiedTemplateName(
"production-quotation-submitted-supplier");
var recipientSupplier = [];
if (Array.isArray(companyUsers)) {
for (let userCompany of companyUsers) {
if ("SUPPLIER" === userCompany.role) {
recipientSupplier.push({
email: userCompany.email,
role: "SUPPLIER"
});
}
}
}
return __database.dao("Supplier").findAll({where: query});
let info = __notificationService.notifyByEmail(templateName,
null, emailParams, recipientSupplier);
for (let key of Object.keys(info)) {
var status = info[key];
if (status.length) {
for (let message of status) {
if ('success' === key) {
yemp.server.log.debug(message)
}
else {
yemp.server.log.error(message);
}
}
}
}
}
__sendNewserviceSuggestionToAdmins(offers[0] , request);
};
var __sendNewserviceSuggestionToAdmins = async function (offer ,
request)
{
let adminUsers = await __userService.find({role:
"ADMINISTRATOR"});
var recipients = [];
var templateName, emailParams;
templateName =
yemp.server.utilities.mailUtil.getQualifiedTemplateName("new-
offer-suggestion");
for (let adminUser of adminUsers)
{
emailParams = [
{
name: "SupplierName",
content: offer.supplier.supplierName
},
{
name: "OfferName",
content: request.body.name
},
{
name: "OfferDescription",
//content: textm
content: request.body.text
}
];
recipients.push({
email: adminUser.email,
role: "ADMINISTRATOR"
});
}
await __notificationService.notifyByEmail(templateName, null,
emailParams, recipients);
yemp.server.log.debug(
"Supplier new service suggestion e-mail has been send to admins
successfully");
};
我们使用mandrill作为服务发送电子邮件,但我的代码错过了如何获取名称+描述并将其传递给后面的服务?
AngularJS代码:
this.sendMessage = function (message, name)
{
console.log("00000000000000000000000000000000000000000000000000000000000");
console.log(name);
console.log("00000000000000000000000000000000000000000000000000000000000");
console.log(message);
var deferred = $q.defer();
ApiService.post(ApiService.endPoint.offer.message,
{
authenticate: true,
data: message,
callback: function (error, message, name)
{ console.log("777777777777777777777777777777777777777777777777");
console.log(message);
console.log(name);
console.log("777777777777777777777777777777777777777777777777");
if (error)
{
deferred.reject(error);
}
else
{
deferred.resolve(message);
}
}
});
return deferred.promise;
};