123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- 'use strict';
- import Base from './base.js';
- const _ = require('lodash');
- const fs = require('fs');
- let gm = require('gm').subClass({imageMagick: true});
- export default class extends Base {
- /**
- * index action
- * @return {Promise} []
- */
- async indexAction() {
- let page = this.get('page') || 1;
- let size = this.get('size') || 10;
- let name = this.get('name') || '';
- let model = this.model('brand');
- let data = await model.field(['id', 'name', 'floor_price', 'app_list_pic_url', 'is_new', 'sort_order', 'is_show']).where({name: ['like', `%${name}%`]}).page(page, size).countSelect();
- return this.success(data);
- }
- async infoAction() {
- let id = this.get('id');
- let model = this.model('brand');
- let data = await model.where({id: id}).find();
- return this.success(data);
- }
- async storeAction(){
- if (!this.isPost()) {
- return false;
- }
- let values = this.post();
- let id = this.post('id');
- let model = this.model('brand');
- values.is_show = values.is_show ? 1 : 0;
- values.is_new = values.is_new ? 1 : 0;
- if (id > 0) {
- console.log('update')
- await model.where({id: id}).update(values);
- } else {
- delete values.id;
- console.log('add')
- await model.add(values);
- }
- return this.success(values);
- }
- async destoryAction(){
- let id = this.post('id');
- await this.model('brand').where({id: id}).limit(1).delete();
- return this.success();
- }
- async uploadAction() {
- let brandFile = this.file('brand_pic');
- if (think.isEmpty(brandFile)) {
- return this.fail('保存失败');
- }
- let that = this;
- let filename = '/static/brand/' + think.uuid(32) + '.jpg';
- gm(brandFile.path)
- .resize(750, 420, "!")
- .write(think.RESOURCE_PATH + filename, function (err) {
- if (err) {
- that.fail('图片上传失败');
- }
- that.success({
- fileUrl: 'http://127.0.0.1:8360' + filename
- });
- });
- }
- }
|