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