index.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. // index.js
  2. // 获取应用实例
  3. const app = getApp()
  4. import {
  5. VueLikePage
  6. } from '../../utils/page'
  7. import { CDN_URL,API_BASE_URL,TYPE } from '../../config/index'
  8. import {isPhoneX} from './../../utils/tools'
  9. import Router from '../../utils/routes'
  10. VueLikePage([],{
  11. data:{
  12. cdn_url:CDN_URL,
  13. isBackCamera:true,
  14. current:'1',
  15. currentImg:''
  16. },
  17. methods:{
  18. onLoad:function (options) {
  19. let {id} = options
  20. this.setData({
  21. current:id
  22. })
  23. isPhoneX().then(res => {
  24. this.setData({
  25. isIphoneX: res
  26. })
  27. })
  28. },
  29. back(){
  30. wx.navigateBack()
  31. },
  32. changPosition(){
  33. this.setData({
  34. isBackCamera:!this.data.isBackCamera
  35. })
  36. },
  37. reTake(){
  38. this.setData({
  39. currentImg:''
  40. })
  41. },
  42. submit(){
  43. wx.showLoading({
  44. title: '处理中…',
  45. mask:true
  46. });
  47. wx.uploadFile({
  48. url: `${API_BASE_URL}/api/uploadFaceSwap/${TYPE[this.data.current]}`, //仅为示例,非真实的接口地址
  49. filePath: this.data.currentImg,
  50. name: 'file',
  51. success: (res)=>{
  52. let data = JSON.parse(res.data)
  53. if (data.code==0) {
  54. this.setData({
  55. work:data.msg
  56. })
  57. Router.push({
  58. url: 'work',
  59. query: {
  60. vr_link:data.msg
  61. }
  62. })
  63. }
  64. },
  65. fail:()=>{
  66. wx.showModal({
  67. title: '生成失败,请稍后重试'
  68. });
  69. },
  70. complete(){
  71. wx.hideLoading();
  72. }
  73. })
  74. },
  75. selectImage(){
  76. wx.chooseImage({
  77. sourceType:["album"],
  78. count: 1,
  79. sizeType: ['original', 'compressed'],
  80. success:res =>{
  81. this.setData({
  82. currentImg: res.tempFilePaths[0]
  83. })
  84. },
  85. fail:error =>{
  86. console.log(error);
  87. }
  88. })
  89. },
  90. takePhoto() {
  91. const ctx = wx.createCameraContext()
  92. ctx.takePhoto({
  93. quality: 'high',
  94. success: (res) => {
  95. this.setData({
  96. currentImg: res.tempImagePath
  97. })
  98. }
  99. })
  100. }
  101. }
  102. })