Commit 16da314ea50dff51ee6a6d7a8f3f72c703dfdec1

Authored by ly525
1 parent 84abd56c

api: create and update work with strapi

front-end/h5/src/components/core/editor/index.js
... ... @@ -48,7 +48,8 @@ export default {
48 48 'elementManager',
49 49 'pageManager',
50 50 'saveWork',
51   - 'createWork'
  51 + 'createWork',
  52 + 'fetchWork'
52 53 ]),
53 54 /**
54 55 * !#zh 点击插件,copy 其基础数据到组件树(中间画布)
... ... @@ -191,6 +192,7 @@ export default {
191 192 let workId = this.$route.query.workId
192 193 if (workId) {
193 194 // this.$store.dispatch('getWorkById', workId)
  195 + this.fetchWork(workId)
194 196 } else {
195 197 this.createWork()
196 198 }
... ...
front-end/h5/src/store/modules/editor.js
1 1 // initial state
  2 +import strapi from '../../utils/strapi'
2 3 import Work from '../../components/core/models/work'
3 4 import { actions as pageActions, mutations as pageMutations } from './page'
4 5 import { actions as elementActions, mutations as elementMutations } from './element'
... ... @@ -18,12 +19,7 @@ const getters = {}
18 19 const actions = {
19 20 ...elementActions,
20 21 ...pageActions,
21   - ...workActions,
22   - createWork ({ commit }, payload) {
23   - commit('createWork')
24   - commit('pageManager', { type: 'add' })
25   - commit('setEditingPage')
26   - }
  22 + ...workActions
27 23 }
28 24  
29 25 // mutations
... ...
front-end/h5/src/store/modules/work.js
1   -import Work from '../../components/core/models/work'
  1 +// import Work from '../../components/core/models/work'
2 2 import strapi from '../../utils/strapi'
3 3  
4 4 export const actions = {
... ... @@ -8,17 +8,34 @@ export const actions = {
8 8 deployWork ({ commit }, payload = {}) {
9 9 commit('previewWork', payload)
10 10 },
  11 + createWork ({ commit }, payload) {
  12 + strapi.createEntry('works').then(entry => {
  13 + window.location = `${window.location.origin}/#/?workId=${entry.id}`
  14 + })
  15 + // commit('createWork')
  16 + // commit('pageManager', { type: 'add' })
  17 + // commit('setEditingPage')
  18 + },
11 19 saveWork ({ commit, state }, payload = {}) {
12   - // save work with strapi
13   - strapi.createEntry('works', state.work)
  20 + // update work with strapi
  21 + strapi.updateEntry('works', state.work.id, state.work)
  22 + },
  23 + fetchWork ({ commit, state }, workId) {
  24 + strapi.getEntry('works', workId).then(entry => {
  25 + commit('setWork', entry)
  26 + commit('setEditingPage')
  27 + })
14 28 }
15 29 }
16 30  
17 31 // mutations
18 32 export const mutations = {
19   - createWork (state) {
20   - state.work = new Work()
  33 + setWork (state, payload) {
  34 + state.work = payload
21 35 },
  36 + // createWork (state) {
  37 + // state.work = new Work()
  38 + // },
22 39 previewWork (state, { type, value }) {},
23 40 deployWork (state, { type, value }) {}
24 41 }
... ...