UploadMiniapp.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. namespace app\controller\admin\system;
  3. use app\service\ConfServiceFacade;
  4. use laytp\controller\Backend;
  5. use laytp\library\CommonFun;
  6. use \app\model\admin\Menu;
  7. /**
  8. * 小程序上传
  9. */
  10. class UploadMiniapp extends Backend
  11. {
  12. protected $hasSoftDel=0;//是否拥有软删除功能
  13. protected $noNeedLogin = []; // 无需登录即可请求的方法
  14. protected $noNeedAuth = []; // 无需鉴权即可请求的方法
  15. //查看详情
  16. public function version()
  17. {
  18. $apihost = base64_decode(API_HOST);
  19. $apipath = '/auth/finfo/module_version?module_name=';
  20. $version = @file_get_contents($apihost.$apipath.MODULE_NAME);
  21. return $this->success('获取成功', $version);
  22. }
  23. //检查是否有上传菜单
  24. public function checkMenu()
  25. {
  26. $menu = \app\model\admin\Menu::find(98);
  27. if(!$menu){
  28. return $this->error('无数据',2);
  29. }
  30. return $this->success('获取成功',$menu);
  31. }
  32. //添加上传菜单,id必须98
  33. public function addMenu()
  34. {
  35. $menu = Menu::create([
  36. 'id' => 98,
  37. 'name' => '上传小程序',
  38. 'href' => '/admin/conf/miniapp/upload.html',
  39. 'open_type' => '_iframe',
  40. 'rule' => '',
  41. 'is_menu' => 1,
  42. 'sort' => 0,
  43. 'pid' => 95,
  44. 'is_show' => 1,
  45. 'icon' => '',
  46. 'des' => NULL,
  47. 'create_time' => date('Y-m-d H:i:s'),
  48. 'update_time' => date('Y-m-d H:i:s'),
  49. ]);
  50. if(!$menu){
  51. return $this->error('无数据');
  52. }
  53. return $this->success('获取成功',$menu);
  54. }
  55. // 工具二维码
  56. public function loginimg()
  57. {
  58. global $_W;
  59. $param = $this->request->param();
  60. $version =$param['version']?$param['version']:'1.0.0';
  61. $intro =$param['intro']?$param['intro']:'全新版本HoldInfinityInThePalmOfYourHand';
  62. $site = $_SERVER['HTTP_HOST'];
  63. $miniapp = ConfServiceFacade::groupGet('system.miniapp', true);
  64. $appid = $miniapp['appid'];
  65. if(!$appid){
  66. return $this->error('请先配置小程序的APPID');
  67. }
  68. $res = $this->request('loginimg&sroot=' . urlencode($site.SURL) . '&uid=' . $_W['uniacid'] . '&v=' . $version . '&de=' . $intro . '&m=' . MODULE_NAME . '&appid=' . $appid.'&w7type='.W7_TYPE.'&isr='.IS_R);
  69. if(!$res){
  70. return $this->error('获取图片失败');
  71. }
  72. $img = "data:image/jpeg;base64," . base64_encode($res);
  73. return $this->success('获取成功', $img);
  74. }
  75. // 扫码登录
  76. public function login()
  77. {
  78. $res = $this->request('login');
  79. return $this->success('获取成功', $res);
  80. }
  81. // 上传小程序
  82. public function upapp()
  83. {
  84. global $_W;
  85. $upvers = '';
  86. $updes = '';
  87. $miniapp = ConfServiceFacade::groupGet('system.miniapp', true);
  88. $appid = $miniapp['appid'];
  89. $site = $_SERVER['HTTP_HOST'];
  90. $return = $this->request('upapp&sroot=' . urlencode($site.SURL) . '&m=' . MODULE_NAME . '&upversion=' . $upvers . '&updes=' . urlencode($updes) . '&appid=' . $appid . '&uniacid='.$_W['uniacid']);
  91. return $this->success('获取成功', $return);
  92. }
  93. // 工具上传的小程序参数
  94. public function upjson()
  95. {
  96. return $this->success('获取成功', $this->request('upappinfo&m=' . MODULE_NAME));
  97. }
  98. // 请求方法
  99. public function request($do)
  100. {
  101. $apihost = ''.base64_decode(UP_HOST);
  102. $site = $_SERVER['HTTP_HOST'];
  103. $curl = curl_init();
  104. curl_setopt($curl, CURLOPT_URL, $apihost.'?s=' . $site . '&do=' . $do);
  105. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  106. curl_setopt($curl, CURLOPT_HEADER, false);
  107. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  108. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  109. $data = curl_exec($curl);
  110. curl_close($curl);
  111. return $data;
  112. }
  113. }