item_price.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. <?php
  2. namespace app\index;
  3. class item_price extends BaseUser
  4. {
  5. function getlist()
  6. {
  7. $_var_0 = SafeRequest("type", "get") ?: 0;
  8. $_var_1 = SafeRequest("gid", "get") ?: 0;
  9. $_var_1 = is_numeric($_var_1) ? $_var_1 : bees_decrypt($_var_1);
  10. if ($_var_1) {
  11. $_var_2 = SafeRequest("recommended", "get") ?: 0;
  12. $_var_3[] = ["recommended", "=", $_var_2];
  13. }
  14. $_var_3[] = ["type", "=", $_var_0];
  15. $_var_3[] = ["status", "=", "1"];
  16. $_var_4 = db("item")->where($_var_3)->select();
  17. reJSON(["list" => $_var_4]);
  18. }
  19. function index()
  20. {
  21. $_var_5 = SafeRequest("type", "get") ?: 0;
  22. $_var_6 = SafeRequest("gid", "get") ?: 0;
  23. $_var_7 = SafeRequest("ump_notify", "get") ?: "";
  24. if (!IN_SUPER && $_var_5 > 3 || $_var_5 == 3 && !$_var_6 || $_var_5 > 4 && IN_SUPER && !IN_SUPER_PRV) {
  25. redirect();
  26. }
  27. $_var_6 = is_numeric($_var_6) ? $_var_6 : bees_decrypt($_var_6);
  28. if ($_var_6) {
  29. $_var_8 = db("appid")->where("in_id", $_var_6)->find();
  30. }
  31. $_var_9[] = ["type", "=", $_var_5];
  32. $_var_9[] = ["status", "=", "1"];
  33. $_var_10 = json_decode(IN_ITEM_TYPE, true);
  34. $_var_imgs = ['Mask', 'pengpaibi', 'huiyuan','', 'public', 'private']
  35. ?>
  36. <!doctype html>
  37. <html lang="">
  38. <head>
  39. <meta charset="utf-8">
  40. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0" />
  41. <meta name="keywords" content="<?php echo IN_KEYWORDS; ?>" />
  42. <meta name="description" content="<?php echo IN_DESCRIPTION; ?>" />
  43. <title>商品购买 - <?php echo IN_NAME; ?> - 免费应用内测托管平台|iOS应用Beta测试分发|Android应用内测分发</title>
  44. <?php
  45. $this->static_();
  46. ?> <style>
  47. [v-cloak] {
  48. display: none;
  49. }
  50. </style>
  51. <body>
  52. <?php
  53. $this->header();
  54. ?> <main v-cloak>
  55. <div class="price-pay-wrap">
  56. <div class="container">
  57. <div class="price-pay">
  58. <div class="crumbs">
  59. <a href="###">我的应用</a><span>/</span>充值
  60. </div>
  61. <div class="con">
  62. <div class="common">
  63. <div class="tit" style="padding-top: 20px; border: none">选择充值内容</div>
  64. <!-- <pre>
  65. <?php var_dump($_var_5);var_dump($_var_6);var_dump($_var_8) ?>
  66. </pre> -->
  67. <?php
  68. if ($_var_5 != 3) {
  69. ?> <ul class="clearfix list3 1" style="padding-top: 10px;">
  70. <?php
  71. // var_dump($_var_10);
  72. foreach ($_var_10 as $_var_11 => $_var_12) {
  73. if ($_var_11 < 3 || IN_SUPER && ($_var_11 == 4 || IN_SUPER_PRV && $_var_11 == 5)) {
  74. ?> <li class="clearfix" :class="{active:type==<?php echo $_var_11; ?>}" @click="type=<?php echo $_var_11; ?>">
  75. <div class="price-type">
  76. <img style="margin-bottom: 10px;" src="/images/icon/<?php echo $_var_imgs[$_var_11]?>.svg" alt="">
  77. <br>
  78. <div class="price-type"><?php echo $_var_12; ?></div>
  79. </div>
  80. <span class="radio-checked icon icon-checkbox"></span>
  81. </li>
  82. <?php
  83. }
  84. }
  85. ?> </ul>
  86. <?php
  87. } elseif ($_var_6 && $_var_8) {
  88. ?> <ul class="clearfix list3 2" style="padding-top: 10px;">
  89. <li class="clearfix <?php echo $_var_5 == 3 ? "active" : ""; ?>" style="padding-right: 15px">
  90. <img src="/data/image/app/<?php echo $_var_8["in_icon"]; ?>" width="35" height="35" onerror="javascript:this.src='/static/index/image/iOS.png'" style="margin-right: 15px" />
  91. <?php echo $_var_8["in_name"]; ?> <span class="radio-checked icon icon-checkbox"></span>
  92. </li>
  93. </ul>
  94. <ul class="clearfix list3">
  95. <li class="clearfix" :class="{active:recommended==0}" @click="recommended=0">
  96. 基础版
  97. <span class="radio-checked icon icon-checkbox"></span>
  98. </li>
  99. <li class="clearfix" :class="{active:recommended==1}" @click="recommended=1">
  100. 稳定版
  101. <span class="radio-checked icon icon-checkbox"></span>
  102. </li>
  103. </ul>
  104. <?php
  105. }
  106. ?>
  107. <div class="tit" style="border: none;padding-bottom: 10px">选择数量</div>
  108. <ul class="clearfix list1">
  109. <li v-for="(v,k) in list" class="clearfix" :class="{active:k==active}" @click="active=k">
  110. <div class="fl left">
  111. <div class="text1">{{v.name}}</div>
  112. <div class="text2">{{fnote(v)}}</div>
  113. </div>
  114. <div class="fr right">{{v.price|pf}}<span>元</span></div>
  115. <span class="radio-checked icon icon-checkbox"></span>
  116. </li>
  117. </ul>
  118. </div>
  119. <!-- <div class="common">
  120. <div class="tit">数量</div>
  121. <ul class="clearfix list2">
  122. <li class="clearfix active" data-num="1">
  123. <span class="icon icon-radio fl"></span><span>1个</span>
  124. </li>
  125. </ul>
  126. </div> -->
  127. <div class="common">
  128. <div class="tit" style="border: none;padding-bottom: 10px">选择支付方式</div>
  129. <ul class="clearfix list3" id="list3">
  130. <li class="clearfix" style="width: 270px;height: 88px" :class="{active:pay_type==2}" @click="pay_type=2">
  131. <img src="/images/icon/weixipay.svg" alt="">
  132. <span class="radio-checked icon icon-checkbox"></span>
  133. </li>
  134. <li class="clearfix" style="width: 270px;height: 88px" :class="{active:pay_type==1}" @click="pay_type=1">
  135. <img src="/images/icon/zfb.svg" alt="">
  136. <span class="radio-checked icon icon-checkbox"></span>
  137. </li>
  138. <li v-if="type>0" style="width: 270px;height: 88px" class="clearfix" :class="{active:pay_type==6}" @click="pay_type=6">
  139. <img src="/images/icon/yuepay.svg" alt="">
  140. <span class="radio-checked icon icon-checkbox"></span>
  141. </li>
  142. </ul>
  143. <!-- <ul class="clearfix list3" id="list3">
  144. <?php
  145. $_var_13 = json_decode(IN_PAY, true);
  146. $_var_14 = $_var_13[1];
  147. var_dump($_var_13);
  148. if (in_array(1, $_var_13)) {
  149. ?> <li class="clearfix" :class="{active:pay_type==1}" @click="pay_type=1">
  150. <img src="/static/index/image/pay-1.jpg" alt="">
  151. <span class="radio-checked icon icon-checkbox"></span>
  152. </li>
  153. <?php
  154. }
  155. ?> <?php
  156. if (in_array(2, $_var_13)) {
  157. ?> <li class="clearfix" :class="{active:pay_type==2}" @click="pay_type=2">
  158. <img src="/static/index/image/pay-2.jpg" alt="">
  159. <span class="radio-checked icon icon-checkbox"></span>
  160. </li>
  161. <?php
  162. }
  163. ?> <?php
  164. if (in_array(3, $_var_13)) {
  165. ?> <li class="clearfix" :class="{active:pay_type==3}" @click="pay_type=3">
  166. <img src="/static/index/image/pay-3.jpg" alt="">
  167. <span class="radio-checked icon icon-checkbox"></span>
  168. </li>
  169. <?php
  170. }
  171. ?> <?php
  172. if (in_array(4, $_var_13)) {
  173. ?> <li class="clearfix" :class="{active:pay_type==4}" @click="pay_type=4">
  174. <img src="/static/index/image/pay-4.jpg" alt="">
  175. <span class="radio-checked icon icon-checkbox"></span>
  176. </li>
  177. <?php
  178. }
  179. ?> <?php
  180. if (in_array(5, $_var_13)) {
  181. ?> <li class="clearfix" :class="{active:pay_type==5}" @click="pay_type=5">
  182. <img src="/static/index/image/pay-5.jpg" alt="">
  183. <span class="radio-checked icon icon-checkbox"></span>
  184. </li>
  185. <?php
  186. }
  187. ?> <?php
  188. if (in_array(7, $_var_13)) {
  189. ?> <li class="clearfix" :class="{active:pay_type==7}" @click="pay_type=7">
  190. <img src="/static/index/image/pay-7.jpg" alt="">
  191. <span class="radio-checked icon icon-checkbox"></span>
  192. </li>
  193. <?php
  194. }
  195. ?> <?php
  196. if (in_array(6, $_var_13)) {
  197. ?> <li v-if="type>0" class="clearfix" :class="{active:pay_type==6}" @click="pay_type=6">
  198. 余额支付
  199. <span class="radio-checked icon icon-checkbox"></span>
  200. </li>
  201. <?php
  202. }
  203. ?> </ul> -->
  204. </div>
  205. <div class="pay-money">
  206. <div class="money"><span style="font-size: 14px;font-weight:500;color:#000000;">应支付</span><span>¥{{pay_money}}</span></div>
  207. <a href="javascript:;" class="ms-btn-primary ms-btn toPay price-btn" @click="action()">去支付</a>
  208. </div>
  209. </div>
  210. </div>
  211. </div>
  212. </div>
  213. <div class="modal fade ms-modal" id="myModalPay" tabindex="-1" role="dialog">
  214. <div class="modal-dialog" role="document">
  215. <div class="modal-content">
  216. <div class="modal-header">
  217. <h4 class="modal-title">购买</h4>
  218. </div>
  219. <div class="modal-body">
  220. <div class="font18 color-333">
  221. 是否完成了购买?
  222. </div>
  223. <p class="mt15">
  224. 请在新打开的页面中完成购买,购买完成后,请根据购买结果点击下面的按钮
  225. </p>
  226. </div>
  227. <div class="modal-footer">
  228. <input type="hidden" name="order_sn" value="">
  229. <button type="button" class="ms-btn ms-btn-primary complete-pay">支付成功</button>
  230. <button type="button" class="ms-btn ms-btn-default fail-pay" data-dismiss="modal">支付遇到问题
  231. </button>
  232. </div>
  233. </div>
  234. </div>
  235. </div>
  236. </main>
  237. <script src="/static/index/js/vue.js"></script>
  238. <script>
  239. var app = new Vue({
  240. el: 'main',
  241. data: {
  242. type: '<?php echo $_var_5; ?>',
  243. gid: '<?php echo $_var_6; ?>',
  244. recommended: 0,
  245. list: [],
  246. active: 0,
  247. pay_type: '<?php echo $_var_14; ?>'
  248. },
  249. computed: {
  250. pay_money: function() {
  251. return this.list[this.active] ? this.list[this.active].price : 0;
  252. }
  253. },
  254. filters: {
  255. pf: function(v) {
  256. return parseFloat(v)
  257. },
  258. },
  259. methods: {
  260. fnote: function(v) {
  261. return v.note || (v.number + ['元', '个', '年', '月', '台', '台'][v.type]);
  262. },
  263. action: function() {
  264. var discount_id = this.list[this.active].id;
  265. if (!discount_id) {
  266. alert('请选择需要购买的套餐');
  267. return;
  268. }
  269. var pay_type = this.pay_type;
  270. if (!pay_type) {
  271. return alert('请选择支付渠道');
  272. }
  273. var type = this.type;
  274. var sign_id = this.gid;
  275. if (type == '3' && !sign_id) {
  276. return alert('没有可用的APP,请先上传IPA包');
  277. }
  278. $.post('/index/ajax_profile/pay', {
  279. discount_id,
  280. sign_id,
  281. pay_type,
  282. }, function(result) {
  283. $(".pay-money a:last").removeClass("disabled");
  284. $(".pay-money a:last").addClass("toPay");
  285. if (result.code != 200) {
  286. if (result.code == -10001) {
  287. alert(result.msg, function() {
  288. window.location.href = '/index/login';
  289. });
  290. } else {
  291. alert(result.msg);
  292. }
  293. return;
  294. }
  295. if (result.msg) {
  296. alert(result.msg, function() {
  297. Do_submit(result);
  298. });
  299. } else {
  300. Do_submit(result);
  301. }
  302. function Do_submit(result) {
  303. // $('#myModalPay').modal('show');
  304. // $('#myModalPay').find('input[name="order_sn"]').val(result.data.trade_id);
  305. form = $("<form></form>");
  306. form.attr('action', '/index/to_pay');
  307. form.attr('method', 'get');
  308. form.append($("<input type='hidden' name='trade_id' value='" + result.data.trade_id + "'/>"));
  309. form.append($("<input type='hidden' name='pay_type' value='" + result.data.pay_type + "' />"));
  310. form.appendTo("body");
  311. form.submit();
  312. }
  313. }, 'json');
  314. },
  315. getList: function() {
  316. app = this;
  317. $.get('/index/item_price/getlist', {
  318. type: this.type,
  319. gid: this.gid,
  320. recommended: this.recommended
  321. }, function(ret) {
  322. if (ret.data) {
  323. app.list = ret.data.list;
  324. }
  325. }, 'json')
  326. }
  327. },
  328. mounted() {
  329. this.$nextTick(() => {
  330. this.getList();
  331. });
  332. },
  333. watch: {
  334. recommended: function() {
  335. this.active = 0;
  336. this.getList();
  337. },
  338. type: function() {
  339. this.active = 0;
  340. this.getList();
  341. }
  342. }
  343. });
  344. var user_money = parseFloat("0.00");
  345. </script>
  346. <?php
  347. $this->footer();
  348. ?> <script>
  349. var ump_notify = '<?php echo $_var_7; ?>';
  350. if (ump_notify) {
  351. alert(ump_notify == 'error' ? '支付失败' : '支付成功', function() {
  352. if (ump_notify == 'success') {
  353. location.href = '/index/user_order';
  354. }
  355. });
  356. }
  357. </script>
  358. </body>
  359. </html>
  360. <?php
  361. }
  362. }