item_price.php 21 KB

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