item_price.php 21 KB

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