App.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <script>
  2. import store from '@/store'
  3. import { mapMutations, mapActions, mapGetters } from 'vuex'
  4. import { setTimeout } from 'timers'
  5. import { getDictionaries } from '@/api/mini'
  6. import util from "./utils/util"
  7. import priceSocket from "./mixins/priceSocket";
  8. import permissionListener from "@/uni_modules/c-permission-listener";
  9. export default {
  10. mixins:[priceSocket],
  11. // 全端,数据共享,还可以解决页面初始化模板访问不到值得
  12. // 有坑 分包里的页面访问不到
  13. globalData: {},
  14. onLaunch () {
  15. uni.removeStorageSync('suitInfoList');
  16. uni.removeStorageSync('productInfoList');
  17. uni.removeStorageSync('pxClassInfoList');
  18. // #ifdef H5
  19. // H5开发环境无法微信授权,使用固定的用户 shish 2020.4.30
  20. if (process.env.NODE_ENV == "development") {
  21. uni.setStorageSync("token","eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IjBfNTIifQ.eyJpc3MiOiJodHRwczpcL1wvYXBpLnNob3AuaHpnaGQuY29tIiwiYXVkIjoiaHR0cHM6XC9cL2FwaS5zaG9wLmh6Z2hkLmNvbSIsImp0aSI6IjBfNTIiLCJpYXQiOjE2MTYxNTc2NjQsIm5iZiI6MTYxNjE1NzY2NCwiZXhwIjoxNjI0Nzk3NjY0LCJ1bmlxdWVJZCI6IjUyIiwic291cmNlSWQiOjB9.VzSekbSwSczMWsfdPVdrm3gZ-v9o3p01NbMVNT4nGZ4")
  22. uni.setStorageSync("account", "0")
  23. getDictionaries({ token: uni.getStorageSync('token') }).then(res => {
  24. if (util.isEmpty(res)) {
  25. return false
  26. }
  27. store.commit('setDictionariesInfo', {
  28. ...res.data.dict,
  29. ...res.data
  30. })
  31. store.commit('setMyShopInfo', {
  32. ...res.data.shop,
  33. ...res.data
  34. })
  35. })
  36. }
  37. // #endif
  38. // 删除缓存
  39. if (process.env.NODE_ENV == 'production') {
  40. uni.removeStorageSync('shopUser')
  41. }
  42. // #ifdef MP-WEIXIN
  43. // wxLoginFn()
  44. // uni.clearStorage()
  45. const extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}
  46. uni.setStorageSync('account', extConfig.account)
  47. // #endif
  48. },
  49. onLoad () {
  50. // const pages = getCurrentPages();
  51. // const currentPage = pages[pages.length - 1];
  52. // const url = `/${currentPage.route}`;
  53. // console.log(1111,url)
  54. },
  55. onShow (extraData) {
  56. if(extraData){
  57. uni.setStorageSync('extraData',extraData)
  58. }
  59. // permissionEnums枚举建议单独一个js文件,然后引入
  60. const permissionEnums = {
  61. // 取android.permission.ACCESS_COARSE_LOCATION后面那个
  62. "ACCESS_COARSE_LOCATION": {
  63. name: "定位", // 当前权限的名称
  64. explain: "展示附近店铺、填写收货地址等相关功能" // 权限说明
  65. },
  66. "CALL_PHONE": {
  67. name: "电话", // 当前权限的名称
  68. explain: "为了方便联系客服, 我们需要申请您设备的拨打电话权限" // 权限说明
  69. },
  70. "CAMERA":{
  71. name:"使用摄像头",
  72. explain: "为了方便给花材拍照片,上传花材图片等"
  73. },
  74. "READ_EXTERNAL_STORAGE":{
  75. name:"读取外部存储空间",
  76. explain:"为了修改个人头像和上传花材图片, 我们需要申请您设备的相机和存储权限",
  77. },
  78. "WRITE_EXTERNAL_STORAGE":{
  79. name:"写入外部存储空间",
  80. explain:"为了保存推广海报和小程序码到手机相册, 我们需要申请您设备的存储权限",
  81. },
  82. "READ_MEDIA_IMAGES":{
  83. name:"读取外部存储空间",
  84. explain:"为了修改个人头像和上传花材图片, 我们需要申请您设备的相机和存储权限",
  85. },
  86. "READ_MEDIA_VIDEO":{
  87. name:"读取外部存储空间",
  88. explain:"为了修改个人头像和上传花材图片, 我们需要申请您设备的相机和存储权限",
  89. },
  90. "READ_MEDIA_AUDIO":{
  91. name:"读取外部存储空间",
  92. explain:"为了修改个人头像和上传花材图片, 我们需要申请您设备的相机和存储权限",
  93. },
  94. }
  95. // 唤起权限会触发onHide,所以listenerFunc须在onShow生命周期调用
  96. permissionListener && permissionListener.listenerFunc(permissionEnums)
  97. },
  98. onHide () { },
  99. onError (err) {
  100. console.error(err, '错误捕获')
  101. },
  102. methods: {
  103. ...mapActions(['setUserShopAll'])
  104. }
  105. }
  106. </script>
  107. <style lang="scss">
  108. //没有scss变量方法的,主要引入 这样打包的时候就不会所有的组件都打包进去
  109. @import "./static/iconfont/iconfont.css";
  110. @import "./static/css/uni2.css";
  111. @import "./static/css/base.scss";
  112. @import "./static/css/common.scss";
  113. @import "./static/css/reset.scss";
  114. page {
  115. height: 100%;
  116. }
  117. /**开单-扎和支切换样式**/
  118. .switchover-unit{
  119. position: fixed;
  120. left: calc(170upx / 2 - 50upx);
  121. bottom: 140upx;
  122. display: flex;
  123. align-items: center;
  124. justify-content: center;
  125. width: 100upx;
  126. height: 100upx;
  127. color: #FFFFFF;
  128. background: #4b8cf4;
  129. border-radius: 50%;
  130. font-size: 42upx;
  131. font-weight: 700;
  132. z-index: 2;
  133. }
  134. /**开单-增加减少动画**/
  135. .animation{animation:imgmove 0.3s 1;animation-iteration-count:1}
  136. @-webkit-keyframes imgmove{0%{transform: scale(0.7);}100%{transform: scale(1);}}
  137. </style>