使用:ember-cli v2.5,ember-simple-auth v1.1.0
我无法理解我是否可以在自定义ember-simple-auth基于cookie的会话存储中正确存储其他令牌。
我正在尝试存储购物车令牌,以确保它能够在浏览器刷新后继续存在。
我开始创建一个购物车服务来处理init,添加,删除等...关于会话是否有令牌。
这是我的app / session-stores / application.js
// app/session-stores/application.js
import Cookie from 'ember-simple-auth/session-stores/cookie';
export default Cookie.extend({
orderToken: null
});
似乎没有使用。会话服务仍然使用自适应存储。
这是我的购物车服务
// app/services/shopping-cart.js
import Ember from 'ember';
export default Ember.Service.extend({
store: Ember.inject.service('store'),
session: Ember.inject.service('session'),
basket: null,
[...]
init() {
this._super(...arguments);
let orderToken = this.get('session.orderToken'); // First try
// let orderToken = this.get('session.store.orderToken'); // Second Try
if (orderToken) {
this.get('store').findRecord('order', orderToken).then((order) => {
this.set('basket', order);
})
}
},
[...]
_createBasket() {
return this.get('store').createRecord('order', {}).save().then((order) => {
this.set('basket', order);
this.set('session.orderToken', order.token); // First try
// this.set('session.store.orderToken', order.token); // Second Try
});
}
})
然后我们的想法是在任何需要的地方注入服务。不幸的是,它不起作用,我真的不知道我是否能够做到这一点,或者它是否是正确的方法。
任何建议,答案都会非常感激!
我目前正在使用ember-cookie,它的工作就像一个魅力。我很乐意尝试使用ember-simple-auth并了解我的所有可能性。