generate.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. import icpList from '@/utils/ipc'
  2. import { getRouterUrl } from '@/utils/appfun'
  3. import client from '@/stores/modules/client'
  4. import {useRouter} from "vue-router";
  5. import { getWebUrlrUrl } from '@/utils/appfun'
  6. import useUserInfo from '@/stores/modules/user'
  7. const Router = useRouter()
  8. const clientStore = client()
  9. const generate = {
  10. name:'高级生成',
  11. children:[
  12. {
  13. name:'模特图',
  14. click(configs){
  15. console.log(configs);
  16. openGaenrate('onFeetImage',configs)
  17. },
  18. },
  19. {
  20. name:'场景图',
  21. click(configs){
  22. openGaenrate('attachScenarios',configs)
  23. },
  24. },
  25. {
  26. name:'生成视频',
  27. click(configs){
  28. openGaenrate('video',configs)
  29. },
  30. },
  31. {
  32. name:'湛江场景图',
  33. click(){
  34. openPosterGenerate()
  35. },
  36. },
  37. {
  38. name:'历史记录',
  39. click(configs){
  40. openGaenrate('mine',configs)
  41. },
  42. }
  43. ]
  44. }
  45. export function openGaenrate(type,configs) {
  46. const config= {
  47. "onFeetImage":{
  48. url:"/onFeetImage",
  49. },
  50. "attachScenarios":{
  51. url:"/attachScenarios"
  52. },
  53. "video":{
  54. url:"/create_video"
  55. },
  56. "mine":{
  57. url:"/mine"
  58. }
  59. }
  60. let urlParams = config[type]
  61. if(configs){
  62. urlParams = {
  63. ... config[type],
  64. ...configs
  65. }
  66. }
  67. clientStore.ipc.removeAllListeners(icpList.utils.openMain)
  68. let params = {
  69. title: '高级生成',
  70. width: 1400,
  71. height: 900,
  72. frame: true,
  73. id: 'generate',
  74. url: getWebUrlrUrl(urlParams)
  75. }
  76. clientStore.ipc.send(icpList.utils.openMain, params)
  77. }
  78. export function openPosterGenerate() {
  79. clientStore.ipc.removeAllListeners(icpList.utils.openMain)
  80. const params = {
  81. title: '湛江场景图',
  82. width: 1400,
  83. height: 900,
  84. frame: true,
  85. id: 'posterGenerate',
  86. url: getRouterUrl('#/photography/poster')
  87. }
  88. clientStore.ipc.send(icpList.utils.openMain, params)
  89. }
  90. export function getGenerateChildren() {
  91. const brandId = Number((useUserInfo().userInfo as any)?.brand_company_id)
  92. return generate.children.filter((item) => {
  93. if (item.name === '湛江场景图') return brandId === 9
  94. return true
  95. })
  96. }
  97. export default generate;