index.vue 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. <template>
  2. <div class="mianBox">
  3. <van-row class="headerBox">
  4. <van-icon name="arrow-left" @click="$router.go(-1)" />
  5. 一卡通
  6. </van-row>
  7. <van-row class="contentBox">
  8. <van-row @click="balance" v-if="user">
  9. <van-image
  10. :src="require('../../assets/image/balance.png')"
  11. />
  12. <van-col :span="24">账户余额</van-col>
  13. <van-col :span="24">个人账户余额信息</van-col>
  14. </van-row>
  15. <van-row @click="amount">
  16. <van-image
  17. :src="require('../../assets/image/recharge.png')"
  18. />
  19. <van-col :span="24">充值</van-col>
  20. <van-col :span="24">对余额进行充值</van-col>
  21. </van-row>
  22. <van-row @click="record" v-if="user">
  23. <van-image
  24. :src="require('../../assets/image/record.png')"
  25. />
  26. <van-col :span="24">消费记录</van-col>
  27. <van-col :span="24">查看消费记录和充值记录</van-col>
  28. </van-row>
  29. </van-row>
  30. </div>
  31. </template>
  32. <script>
  33. import axios from "axios";
  34. import { getNowTime } from "@/assets/js/dataFormate";
  35. import { Toast } from "vant";
  36. export default {
  37. data() {
  38. return {
  39. user:undefined,
  40. type:undefined
  41. };
  42. },
  43. created(){
  44. localStorage.removeItem('type');
  45. localStorage.removeItem('user');
  46. var url = window.location.href;
  47. if(url.indexOf("token") > 1){
  48. //("app进入")
  49. if(this.getQueryVariable("token")){
  50. axios({//查询信息
  51. method: 'get',
  52. url: 'https://smartpark.caih.com/zkxt/api/thirdparty/v1/user/getZkUserByCipher?cipher=' + this.getQueryVariable("token"),
  53. timeout: 10000,
  54. }).then(res =>{
  55. if(res.data?.data?.id){
  56. axios.get(`/dxtop/staff/one?id=${res.data.data.id}`).then(res2 => { //验证充值信息是否同步
  57. if(res2.data.data){
  58. this.user = res2.data.data.id
  59. localStorage.setItem("user", this.user)
  60. }else{
  61. this.userNoAlert()
  62. }
  63. })
  64. }else if(res.data?.data?.cardId){
  65. Toast("用户卡号未绑定")
  66. }else{
  67. this.userNoAlert()
  68. }
  69. }).catch(err =>{
  70. this.userNoAlert()
  71. });
  72. }else{
  73. //console.log("app进入")
  74. Toast(this.getQueryVariable("无token传入!"))
  75. }
  76. }else if(this.getQueryVariable("type")){
  77. //console.log("扫码游客进入")
  78. localStorage.removeItem('type');
  79. localStorage.removeItem('user');
  80. localStorage.setItem("type",this.type)
  81. }else{
  82. localStorage.removeItem('user');
  83. localStorage.removeItem('type');
  84. //console.log("无user、type进入")
  85. }
  86. },
  87. mounted() {
  88. },
  89. methods: {
  90. userNoAlert(){
  91. Toast("当前账户初始流程中,请耐心等待或联系管理人员查询")
  92. },
  93. getQueryVariable(variable){//参数获取
  94. //window.location.search.substring(1);
  95. var query = window.location.hash.substring(3);
  96. var vars = query.split("&");
  97. for (var i=0;i<vars.length;i++) {
  98. var pair = vars[i].split("=");
  99. if(pair[0] == variable){
  100. if(variable =="token"){
  101. this.user = pair[1]
  102. }else if(variable =="type"){
  103. this.type = pair[1]
  104. }
  105. return pair[1];
  106. }
  107. }
  108. return(false);
  109. },
  110. amount(){
  111. var url = window.location.href;
  112. if(url.indexOf("token") >1){
  113. if(localStorage.getItem("user")){
  114. this.$router.push({ path: "/amount"})
  115. }else{
  116. this.userNoAlert()
  117. }
  118. }else{
  119. this.$router.push({ path: "/amount"})
  120. }
  121. },
  122. balance(){
  123. if(localStorage.getItem("user")){
  124. this.$router.push({ path: "/balance"})
  125. }else{
  126. this.userNoAlert()
  127. }
  128. },
  129. record(){
  130. if(localStorage.getItem("user")){
  131. this.$router.push({ path: "/record"})
  132. }else{
  133. this.userNoAlert()
  134. }
  135. }
  136. },
  137. };
  138. </script>
  139. <style lang="scss" scoped>
  140. .mianBox{
  141. height: 100%;
  142. width: 100%;
  143. color: #FFF;
  144. padding-top: 44px;
  145. box-sizing: border-box;
  146. .contentBox{
  147. width: 100%;
  148. height: auto;
  149. padding: 15px 20px;
  150. box-sizing: border-box;
  151. overflow: hidden;
  152. &>.van-row{
  153. // height: 90px;
  154. width: 100%;
  155. margin-top:20px;
  156. box-sizing: border-box;
  157. display: flex;
  158. justify-content: center;
  159. flex-direction: column;
  160. position: relative;
  161. .van-image{
  162. width:100%;
  163. }
  164. .van-col{
  165. padding: 7px 0;
  166. }
  167. &>.van-col:nth-child(1){
  168. font-size: 18px;
  169. }
  170. &>.van-col:nth-child(2){
  171. font-size: 14px;
  172. position: absolute;
  173. top:14%;
  174. left:22%
  175. }
  176. &>.van-col:nth-child(3){
  177. font-size: 14px;
  178. position: absolute;
  179. top:50%;
  180. left:22%
  181. }
  182. }
  183. &>.van-row:nth-child(1){
  184. margin-top:10px;
  185. }
  186. // &>.van-row:nth-child(1){
  187. // background: url('../../assets/image/balance.png') no-repeat 100%;
  188. // }
  189. // &>.van-row:nth-child(2){
  190. // background: url('../../assets/image/recharge.png') no-repeat 100%;
  191. // }
  192. // &>.van-row:nth-child(3){
  193. // background: url('../../assets/image/record.png') no-repeat 100%;
  194. // }
  195. }
  196. }
  197. </style>