Tartarus преди 2 години
родител
ревизия
9e512dc00e
променени са 77 файла, в които са добавени 5680 реда и са изтрити 1334 реда
  1. 9 0
      App.vue
  2. 83 0
      api/episode.js
  3. 17 0
      api/index.js
  4. 11 0
      api/pay.js
  5. 39 0
      api/setting.js
  6. 35 0
      api/share/index.js
  7. 16 0
      api/share/order.js
  8. 16 0
      api/share/team.js
  9. 24 0
      api/share/withdraw.js
  10. 18 0
      api/sign.js
  11. 37 0
      api/user/collect.js
  12. 16 0
      api/user/consume.js
  13. 50 0
      api/user/episode.js
  14. 29 0
      api/user/favorite.js
  15. 83 0
      api/user/index.js
  16. 24 0
      api/user/recharge.js
  17. 23 0
      api/user/vip.js
  18. 161 132
      components/TabBar/tabbar.vue
  19. 9 0
      main.js
  20. 57 34
      pages.json
  21. 11 5
      pages/index/index.vue
  22. 1 1
      pages/map/map.vue
  23. 2 0
      pages/msg/msg.vue
  24. 2 0
      pages/my/my.vue
  25. 15 0
      setting.js
  26. 17 0
      static/css/common.scss
  27. 266 0
      static/css/flex.scss
  28. 3 0
      static/css/iconfont.css
  29. 12 0
      static/css/mixin.scss
  30. 172 0
      static/css/store-buy.scss
  31. 8 0
      static/css/variable.scss
  32. 8 0
      store/getters.js
  33. 17 0
      store/index.js
  34. 31 0
      store/modules/tab.js
  35. 38 0
      store/modules/user.js
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/TabBar/tabbar.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-icon/u-icon.js.map
  40. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-image/u-image.js.map
  41. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-input/u-input.js.map
  42. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-transition/u-transition.js.map
  43. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  44. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/map.js.map
  45. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/msg/msg.js.map
  46. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  47. 35 1
      unpackage/dist/dev/mp-weixin/app.json
  48. 12 3
      unpackage/dist/dev/mp-weixin/common/main.js
  49. 3 0
      unpackage/dist/dev/mp-weixin/common/main.wxss
  50. 3280 993
      unpackage/dist/dev/mp-weixin/common/vendor.js
  51. 114 54
      unpackage/dist/dev/mp-weixin/components/TabBar/tabbar.js
  52. 0 0
      unpackage/dist/dev/mp-weixin/components/TabBar/tabbar.wxml
  53. 24 53
      unpackage/dist/dev/mp-weixin/components/TabBar/tabbar.wxss
  54. 42 42
      unpackage/dist/dev/mp-weixin/node-modules/uview-ui/components/u-input/u-input.js
  55. 19 3
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  56. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.json
  57. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  58. 30 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  59. 1 1
      unpackage/dist/dev/mp-weixin/pages/map/map.js
  60. 1 1
      unpackage/dist/dev/mp-weixin/pages/map/map.wxml
  61. 4 2
      unpackage/dist/dev/mp-weixin/pages/msg/msg.js
  62. 3 1
      unpackage/dist/dev/mp-weixin/pages/my/my.js
  63. 31 6
      unpackage/dist/dev/mp-weixin/project.config.json
  64. 17 0
      unpackage/dist/dev/mp-weixin/static/css/common.scss
  65. 266 0
      unpackage/dist/dev/mp-weixin/static/css/flex.scss
  66. 3 0
      unpackage/dist/dev/mp-weixin/static/css/iconfont.css
  67. 12 0
      unpackage/dist/dev/mp-weixin/static/css/mixin.scss
  68. 172 0
      unpackage/dist/dev/mp-weixin/static/css/store-buy.scss
  69. 8 0
      unpackage/dist/dev/mp-weixin/static/css/variable.scss
  70. 15 0
      utils/auth.js
  71. 29 0
      utils/cache.js
  72. 11 0
      utils/constant.js
  73. 52 0
      utils/index.js
  74. 49 0
      utils/mixin.js
  75. 21 0
      utils/request/index.js
  76. 20 0
      utils/request/requestInterceptors.js
  77. 44 0
      utils/request/responseInterceptors.js

+ 9 - 0
App.vue

xqd
@@ -16,7 +16,16 @@
 <style lang="scss">
 	/*每个页面公共css */
 	@import "uview-ui/index.scss";
+	@import '@/static/css/flex.scss';
+	@import '@/static/css/common.scss';
+	@import '@/static/css/iconfont.css';
+
 	page{
 		height: 100%;
 	}
+
+	
+	
+	
+
 </style>

+ 83 - 0
api/episode.js

xqd
@@ -0,0 +1,83 @@
+const request = uni.$u.http
+
+export function recommend() {
+  return request.get(
+    'episode/recommend'
+  )
+}
+
+export function news() {
+  return request.get(
+    'episode/news'
+  )
+}
+
+export function rank() {
+  return request.get(
+    'episode/rank'
+  )
+}
+
+export function todayRecommend() {
+  return request.get(
+    'episode/today/recommend'
+  )
+}
+
+export function detail(id) {
+  return request.get(
+    `episode/${id}/detail`
+  )
+}
+
+export function trace() {
+  return request.get(
+    'episode/trace'
+  )
+}
+
+export function list(params) {
+  return request.get(
+    'episode/list',
+    { params }
+  )
+}
+
+export function shared(id) {
+  return request.post(
+    `episode/shared/${id}`
+  )
+}
+
+export function search(params) {
+  return request.get(
+    `episode/search`,
+    { params }
+  )
+}
+
+export function vipFree(params) {
+  return request.get(
+    `episode/vip/free`,
+    { params }
+  )
+}
+
+export function listBuyNum(list_id) {
+  return request.get(
+    `episode/list/${list_id}/buyNum`
+  )
+}
+
+export default {
+  recommend,
+  news,
+  rank,
+  todayRecommend,
+  detail,
+  trace,
+  list,
+  search,
+  vipFree,
+  listBuyNum
+}

+ 17 - 0
api/index.js

xqd
@@ -0,0 +1,17 @@
+import user from './user/index'
+import setting from './setting'
+import episode from './episode'
+import sign from './sign'
+import pay from './pay'
+import share from './share'
+
+const api = {
+  user,
+  setting,
+  episode,
+  sign,
+  pay,
+  share
+}
+
+export default api

+ 11 - 0
api/pay.js

xqd
@@ -0,0 +1,11 @@
+const request = uni.$u.http
+
+export function query(pay_id) {
+  return request.get(
+    `pay/${pay_id}/query`
+  )
+}
+
+export default {
+  query
+}

+ 39 - 0
api/setting.js

xqd
@@ -0,0 +1,39 @@
+const request = uni.$u.http
+
+export function tabBar() {
+  return request.get(
+    'setting/tabBar'
+  )
+}
+
+export function navBar() {
+  return request.get(
+    'setting/navBar'
+  )
+}
+
+export function banner() {
+  return request.get(
+    'setting/banner'
+  )
+}
+
+export function rechargeCombo() {
+  return request.get(
+    'setting/rechargeCombo'
+  )
+}
+
+export function homeColumn() {
+  return request.get(
+    'setting/homeColumn'
+  )
+}
+
+export default {
+  tabBar,
+  navBar,
+  banner,
+  rechargeCombo,
+  homeColumn
+}

+ 35 - 0
api/share/index.js

xqd
@@ -0,0 +1,35 @@
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/14.
+ */
+const request = uni.$u.http
+
+import order from './order'
+import team from './team'
+import withdraw from './withdraw'
+
+export function income() {
+  return request.get(
+    'share/income'
+  )
+}
+
+export function tips() {
+  return request.get(
+    'share/tips'
+  )
+}
+
+export function setting() {
+  return request.get(
+    'share/setting'
+  )
+}
+
+export default {
+  order,
+  withdraw,
+  team,
+  income,
+  tips,
+  setting
+}

+ 16 - 0
api/share/order.js

xqd
@@ -0,0 +1,16 @@
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/11/5.
+ */
+const request = uni.$u.http
+
+export function lists(params) {
+  return request.get(
+    'share/order/lists',
+    { params }
+  )
+}
+
+export default {
+  lists
+}

+ 16 - 0
api/share/team.js

xqd
@@ -0,0 +1,16 @@
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/11/5.
+ */
+const request = uni.$u.http
+
+export function lists(params) {
+  return request.get(
+    'share/team/lists',
+    { params }
+  )
+}
+
+export default {
+  lists
+}

+ 24 - 0
api/share/withdraw.js

xqd
@@ -0,0 +1,24 @@
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+ */
+const request = uni.$u.http
+
+export function lists(params) {
+  return request.get(
+    `share/withdraw/lists`,
+    { params }
+  )
+}
+
+export function create(data) {
+  return request.post(
+    `share/withdraw/create`,
+    data
+  )
+}
+
+export default {
+  lists,
+  create
+}

+ 18 - 0
api/sign.js

xqd
@@ -0,0 +1,18 @@
+const request = uni.$u.http
+
+export function setting() {
+  return request.get(
+    'user/sign/setting'
+  )
+}
+
+export function handle() {
+  return request.post(
+    `user/sign/handle`
+  )
+}
+
+export default {
+  setting,
+  handle
+}

+ 37 - 0
api/user/collect.js

xqd
@@ -0,0 +1,37 @@
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+ */
+const request = uni.$u.http
+
+export function record(params) {
+  return request.get(
+    `user/collect/record`,
+    { params }
+  )
+}
+
+export function check(id) {
+  return request.post(
+    `user/collect/${id}/check`
+  )
+}
+
+export function add(id) {
+  return request.post(
+    `user/collect/${id}/add`
+  )
+}
+
+export function destroy(id) {
+  return request.post(
+    `user/collect/${id}/destroy`
+  )
+}
+
+export default {
+  record,
+  check,
+  add,
+  destroy
+}

+ 16 - 0
api/user/consume.js

xqd
@@ -0,0 +1,16 @@
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+ */
+const request = uni.$u.http
+
+export function record(params) {
+  return request.get(
+    'user/consume/record',
+    { params }
+  )
+}
+
+export default {
+  record
+}

+ 50 - 0
api/user/episode.js

xqd
@@ -0,0 +1,50 @@
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+ */
+const request = uni.$u.http
+
+export function record(params) {
+  return request.get(
+    'user/watch/record',
+    { params }
+  )
+}
+export function deleteRecord(id) {
+  return request.post(
+    `user/watch/${id}/destroy`
+  )
+}
+
+export function recent() {
+  return request.get(
+    'user/watch/recent'
+  )
+}
+
+export function watched(id, list_id) {
+  return request.post(
+    'user/watch/episode',
+    { id, list_id }
+  )
+}
+
+export async function buyRecord(episode_id) {
+  return request.get(
+    `user/episode/buy/${episode_id}/record`
+  )
+}
+
+export async function buyHandle(episode_id, list_id) {
+  return request.post(
+    `user/episode/${episode_id}/${list_id}/buy`
+  )
+}
+export default {
+  recent,
+  record,
+  deleteRecord,
+  watched,
+  buyRecord,
+  buyHandle
+}

+ 29 - 0
api/user/favorite.js

xqd
@@ -0,0 +1,29 @@
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+ */
+const request = uni.$u.http
+
+export function check(id) {
+  return request.post(
+    `user/favorite/${id}/check`
+  )
+}
+
+export function add(id) {
+  return request.post(
+    `user/favorite/${id}/add`
+  )
+}
+
+export function destroy(id) {
+  return request.post(
+    `user/favorite/${id}/destroy`
+  )
+}
+
+export default {
+  check,
+  add,
+  destroy
+}

+ 83 - 0
api/user/index.js

xqd
@@ -0,0 +1,83 @@
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/14.
+ */
+import { getToken } from '../../utils/auth'
+
+const request = uni.$u.http
+
+import episode from './episode'
+import consume from './consume'
+import recharge from './recharge'
+import collect from './collect'
+import favorite from './favorite'
+import vip from './vip'
+
+export async function login() {
+  console.log('-->data', 1)
+  return new Promise(resolve => {
+    uni.showLoading({
+      title: '数据加载中...',
+      mask: true
+    })
+    uni.login({
+      provider: uni.$u.platform,
+      success: loginRes => {
+        console.log('-->data', loginRes)
+        uni.hideLoading()
+        // #ifdef  MP-KUAISHOU
+        const url = '/auth/kuaishou'
+        // #endif
+        // #ifdef  MP-TOUTIAO
+        const url = '/auth/bytedance'
+        // #endif
+        // #ifdef  MP-WEIXIN
+        const url = '/auth/wechat'
+        // #endif
+
+        return request.post(
+          url,
+          { code: loginRes.code, anonymousCode: loginRes.anonymousCode }
+        ).then(res => {
+          resolve(res)
+        })
+      }
+    })
+  })
+}
+
+export function update(data) {
+  return request.post(
+    'user/update',
+    data
+  )
+}
+
+export async function info() {
+  return request.get(
+    'user/info'
+  )
+}
+
+export async function bind(id) {
+  return request.post(
+    `user/${id}/bind`
+  )
+}
+
+export function isLogin() {
+  return !!getToken()
+}
+
+export default {
+  login,
+  update,
+  bind,
+  info,
+  isLogin,
+  episode,
+  consume,
+  recharge,
+  collect,
+  favorite,
+  vip
+}

+ 24 - 0
api/user/recharge.js

xqd
@@ -0,0 +1,24 @@
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+ */
+const request = uni.$u.http
+
+export function record(params) {
+  return request.get(
+    'user/recharge/record',
+    { params }
+  )
+}
+
+export function create(data) {
+  return request.post(
+    'user/recharge/create/order',
+    data
+  )
+}
+
+export default {
+  record,
+  create
+}

+ 23 - 0
api/user/vip.js

xqd
@@ -0,0 +1,23 @@
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+ */
+const request = uni.$u.http
+
+export function setting() {
+  return request.get(
+    'user/vip/setting'
+  )
+}
+
+export function create(data) {
+  return request.post(
+    'user/vip/create/order',
+    data
+  )
+}
+
+export default {
+  setting,
+  create
+}

+ 161 - 132
components/TabBar/tabbar.vue

xqd
@@ -1,154 +1,183 @@
 <template>
-	<view class="wh100 fixed" :style="{'padding-bottom':wagesheight+'rpx'}">
-		<view class="tabbar-box">
-			<view class="item" @tap="goPage('/pages/index/index','home')">
-				<view class="icon-box">
-					<image src="../../static/icon/home02.png" mode="aspectFit" v-if="checked!='home'"></image>
-					<image src="../../static/icon/home01.png" mode="aspectFit" v-if="checked=='home'"></image>
+	<view class="tab-bar" :style="{'--padding-bottom':`${wagesheight}`+'rpx'}">
+		<view class="content main-between cross-center">
+			<view v-for="(item,index) in list" :key="index" class="tab-item dir-top-wrap cross-center main-center"
+				:class="{active: active === index}" @click="handleSwitch(index)">
+				<view class="icon">
+					<image
+						:src="active === index ? (item.selected_icon ? item.selected_icon : item.selectedIconPath) : (item.icon ? item.icon : item.iconPath)"
+						mode="aspectFit" />
 				</view>
-				<text :class="checked=='home' ? 'active' : 'nomal'">首页</text>
-			</view>
-			
-			
-			<view class="item" @tap="goPage('/pages/map/map','map')">
-				<view class="icon-box">
-					<image src="../../static/icon/map02.png" mode="aspectFit" v-if="checked!='map'"></image>
-					<image src="../../static/icon/map01.png" mode="aspectFit" v-if="checked=='map'"></image>
-				</view>
-				<text :class="checked=='map' ? 'active' : 'nomal'">IHG地图</text>
-			</view>
-			<view class="item" @tap="goPage('/pages/msg/msg','msg')">
-				<view class="icon-box">
-					<image src="../../static/icon/msg02.png" mode="aspectFit" v-if="checked!='msg'"></image>
-					<image src="../../static/icon/msg01.png" mode="aspectFit" v-if="checked=='msg'"></image>
-				</view>
-				<text :class="checked=='msg' ? 'active' : 'nomal'">消息</text>
-			</view>
-			<view class="item" @tap="goPage('/pages/my/my','my')">
-				<view class="icon-box">
-					<image src="../../static/icon/my02.png" mode="aspectFit" v-if="checked!='my'"></image>
-					<image src="../../static/icon/my01.png" mode="aspectFit" v-if="checked=='my'"></image>
-				</view>
-				<text :class="checked=='my' ? 'active' : 'nomal'">我的</text>
+				<text>{{ item.text }}</text>
 			</view>
 		</view>
 	</view>
 </template>
 
 <script>
-export default {
-	name: 'tabbar',
-	data() {
-		return {
-			wagesheight:''
-		};
-	},
-	props:{
-		checked:{
-			type:String,
-			default:'home'
-		}
-	},
-	
-	mounted(){
-		let that=this
-		uni.getSystemInfo({
-			success: function(res) {
-				let bottom= res.safeArea.bottom
-				let height= res.safeArea.height
-				let cacl=bottom-height
-				that.wagesheight =cacl
+	import {
+		mapState
+	} from 'vuex'
+
+	export default {
+		name: 'TabBar',
+		data() {
+			return {
+				wagesheight: '',
+				color: '#CBC8C7',
+				selectedColor: '#FF6200',
+				// types: {
+				// 	1: {
+				// 		'pagePath': '/pages/index/index',
+				// 		'iconPath': '/static/icon/home2.png',
+				// 		'selectedIconPath': '/static/icon/home1.png'
+				// 	},
+				// 	2: {
+				// 		'pagePath': '/pages/map/map',
+				// 		'iconPath': '/static/icon/map02.png',
+				// 		'selectedIconPath': '/static/icon/map01.png'
+				// 	},
+				// 	3: {
+				// 		'pagePath': '/pages/msg/msg',
+				// 		'iconPath': '/static/icon/msg02.png',
+				// 		'selectedIconPath': '/static/icon/msg01.png'
+				// 	},
+				// 	4: {
+				// 		'pagePath': '/pages/my/my',
+				// 		'iconPath': '/static/icon/my02.png',
+				// 		'selectedIconPath': '/static/icon/my01.png'
+				// 	}
+				// },
+				list: [{
+						'pagePath': '/pages/index/index',
+						'iconPath': '/static/icon/home02.png',
+						'selectedIconPath': '/static/icon/home01.png',
+						'text': '首页'
+					},
+					{
+						'pagePath': '/pages/map/map',
+						'iconPath': '/static/icon/map02.png',
+						'selectedIconPath': '/static/icon/map01.png',
+						'text': 'IHG地图'
+					},
+					{
+						'pagePath': '/pages/msg/msg',
+						'iconPath': '/static/icon/msg02.png',
+						'selectedIconPath': '/static/icon/msg01.png',
+						'text': '消息'
+					},
+					{
+						'pagePath': '/pages/my/my',
+						'iconPath': '/static/icon/my02.png',
+						'selectedIconPath': '/static/icon/my01.png',
+						'text': '我的'
+					}
+				]
 			}
-		})
-	},
-	
-	methods:{
-		goPage(url,tab){
-			if(this.checked==tab)return;
-			uni.reLaunch({
-				url:url,
-				animationType: 'slide-out-right',
+		},
+		computed: {
+			...mapState({
+				active: seate => seate.tab.index
 			})
+		},
+		created() {
+			this.calc()
+			uni.hideTabBar()
+			// this.getData()
+		},
+		mounted() {
+			let _this = this
+			uni.getSystemInfo({
+				success: function(res) {
+					let bottom = res.safeArea.bottom
+					let height = res.safeArea.height
+					let cacl = bottom - height
+					_this.wagesheight = cacl
+				}
+			})
+		},
+		methods: {
+			handleSwitch(index) {
+				if (index === this.active) {
+					return
+				}
+				this.$store.dispatch('tab/index', index)
+				const item = this.list[index]
+				uni.switchTab({
+					url: item.pagePath
+				})
+			},
+			calc() {
+				let active = 1
+				const page = uni.$u.page().replace('//', '/')
+				this.list.forEach((obj, index) => {
+					if (obj.pagePath === page) {
+						active = index
+					}
+				})
+				if (active !== this.active) {
+					this.$store.dispatch('tab/index', active)
+				}
+			},
+			// getData() {
+			// 	this.$api.setting.tabBar().then(res => {
+			// 		const data = res.data
+			// 		data.forEach(obj => {
+			// 			Object.assign(obj, this.types[obj.type])
+			// 		})
+			// 		console.log('-->data', data)
+			// 		this.list = data
+			// 	})
+			// }
 		}
 	}
-};
 </script>
 
 <style lang="scss" scoped>
-.wh100 {
-	width: 100%;
-	height: 120rpx;
-	background-color: #fff;
-	box-shadow: 0px -2rpx 20rpx 0px rgba(0,0,0,0.05);
-}
-.fixed {
-	position: fixed;
-	z-index: 9999;
-	bottom: 0;
-}
-.tabbar-box{
-	height: 100%;
-	display: flex;
-	flex-direction: row;
-	align-items: center;
-	background-color: #fff;
-	border-top: solid 1px #f5f5f5;
-	.item{
-		flex: 1;
-		font-size: 24rpx;
-		color:#CBC8C7 ;
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		text-align: center;
-		.icon-box{
-			width: 24px;
-			height: 24px;
-			image{
-				width: 100%;
-				height: 100%;
-			}
-		}
-		.icon-box2{
-			width: 20px;
-			height: 20px;
-			image{
-				width: 100%;
-				height: 100%;
-			}
-		}
-		.active{
-			// font-weight: bold;
-			color: #FF6200;
-		}
-		.nomal{
-			font-weight: 500;
-			color: #999;
-		}
-	}
-	.jy{
-		// margin-top: -60rpx;
-		.icon-box{
-			width: 40px;
-			height: 40px;
-			background: #fff;
-			border-radius: 50%;
-			line-height: 40px;
+	.tab-bar {
+		position: fixed;
+		bottom:  0;
+		left: 0;
+		background-color: #fff;
+		width: 100%;
+		.content {
+			background-color: #fff;
+			box-shadow: 0px -2rpx 20rpx 0px rgba(0, 0, 0, 0.05);
+			position: absolute;
+			bottom: 0;
+			width: 100%;
+			height: 120rpx;
+			background-size: 110% 100%;
 			display: flex;
 			align-items: center;
 			justify-content: center;
-			padding: 8rpx;
-			box-sizing: border-box;
-			// box-shadow: 0px -2px 10rpx 0px rgba(181, 181, 181, 0.5);
-			box-shadow: 0px -2px 20px 0px rgba(181, 181, 181, 0.5);
-			image{
-				width: 40px ;
-				height: 40px ;
+			// padding-bottom: var(--padding-bottom);
+
+			.tab-item {
+				flex: 1;
+				color: #CBC8C7;
+				transition: .3s;
+				font-size: 24rpx;
+				position: relative;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				justify-content: center;
+
+				&.active {
+					color: #FF6200;
+				}
+
+				.icon {
+					width: 42rpx;
+					height: 42rpx;
+
+					image {
+						height: 100%;
+						width: 100%;
+					}
+				}
 			}
 		}
-		
 	}
-}
 </style>

+ 9 - 0
main.js

xqd
@@ -3,12 +3,21 @@ import App from './App'
 // #ifndef VUE3
 import Vue from 'vue'
 import uView from "uview-ui";
+// vuex store
+import store from './store'
+import mixin from './utils/mixin'
+
+Vue.prototype.$store = store
 Vue.use(uView);
+Vue.mixin(mixin)
+
 Vue.config.productionTip = false
 App.mpType = 'app'
 const app = new Vue({
+	store,
     ...App
 })
+
 app.$mount()
 // #endif
 

+ 57 - 34
pages.json

xqd xqd
@@ -3,33 +3,31 @@
 		{
 			"path": "pages/index/index",
 			"style": {
-				"navigationBarTitleText": "",
+				"navigationBarTitleText": "首页",
 				"app-plus": {
 					"animationType": "pop-out",
 					"animationDuration": "slide-in-right",
-					 "enablePullDownRefresh": true
+					"enablePullDownRefresh": true
 				}
 			}
-		}
-	    ,{
-            "path" : "pages/map/map",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "IHG地图",
-                "enablePullDownRefresh": false
-            }
-            
-        },
+		}, {
+			"path": "pages/map/map",
+			"style": {
+				"navigationBarTitleText": "IHG地图",
+				"enablePullDownRefresh": false
+			}
+
+		},
 		{
-            "path" : "pages/msg/msg",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "消息",
-                "enablePullDownRefresh": false
-            }
-    
-        },
+			"path": "pages/msg/msg",
+			"style": {
+				"navigationBarTitleText": "消息",
+				"enablePullDownRefresh": false
+			}
+
+		},
 		{
+
             "path" : "pages/my/my",
             "style" :                                                                                    
             {
@@ -48,23 +46,48 @@
 		    
 		}
     ],
+
 	"globalStyle": {
-	  "navigationBarTextStyle": "black", // black or white
-	  "navigationBarTitleText": "IHG",
-	  "navigationBarBackgroundColor": "#FFF"
+		"navigationBarTextStyle": "black", // black or white
+		"navigationBarTitleText": "",
+		"navigationBarBackgroundColor": "#FFF"
 	},
-	"uniIdRouter": {},
 	"easycom": {
-		"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
+		"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue",
+		"layout": "@/layout/index.vue"
 	},
-	"condition" : { //模式配置,仅开发期间生效
-		"current": 0, //当前激活的模式(list 的索引项)
-		"list": [
-			{
-				"name": "", //模式名称
-				"path": "", //启动页面,必选
-				"query": "" //启动参数,在页面的onLoad函数里面得到
-			}
-		]
+	"tabBar": {
+	  "custom": true,
+	  "color": "#CBC8C7",
+	  "selectedColor": "#FF6200",
+	  "backgroundColor": "#fff",
+	  "borderStyle": "black",
+	  "display":"none",
+	  "list": [
+	    {
+	      "pagePath": "pages/index/index",
+	      "iconPath": "static/icon/home02.png",
+	      "selectedIconPath": "static/icon/home01.png",
+	      "text": "首页"
+	    },
+	    {
+	      "pagePath": "pages/map/map",
+	      "iconPath": "static/icon/map02.png",
+	      "selectedIconPath": "static/icon/map01.png",
+	      "text": "IHG地图"
+	    },
+	    {
+	      "pagePath": "pages/msg/msg",
+	      "iconPath": "static/icon/msg02.png",
+	      "selectedIconPath": "static/icon/msg01.png",
+	      "text": "消息"
+	    },
+	    {
+	      "pagePath": "pages/my/my",
+	      "iconPath": "static/icon/my02.png",
+	      "selectedIconPath": "static/icon/my01.png",
+	      "text": "我的"
+	    }
+	  ]
 	}
 }

+ 11 - 5
pages/index/index.vue

xqd xqd xqd
@@ -1,7 +1,9 @@
 <template>
-	<view >
-		首页
-		<tab-bar checked="home"></tab-bar>
+	<view class="home">
+		<view class="">
+			首页
+		</view>
+		<tab-bar></tab-bar>
 	</view>
 
 </template>
@@ -14,7 +16,7 @@
 		},
 		data() {
 			return {
-				
+
 			}
 		},
 
@@ -26,5 +28,9 @@
 </script>
 
 <style lang="scss" scoped>
-
+	.home{
+		height: 100%;
+	}
+	
+	
 </style>

+ 1 - 1
pages/map/map.vue

xqd
@@ -1,7 +1,7 @@
 <template>
 	<view>
 		地图
-		<tab-bar checked="map"></tab-bar>
+		<tab-bar></tab-bar>
 	</view>
 </template>
 

+ 2 - 0
pages/msg/msg.vue

xqd xqd
@@ -1,4 +1,5 @@
 <template>
+
 	<view class="msg">
 
 		<!-- 搜索框 -->
@@ -26,6 +27,7 @@
 		<!-- 底部导航栏 -->
 		<view style="height: 140rpx; width: 100%;"></view>
 		<tab-bar checked="msg"></tab-bar>
+
 	</view>
 </template>
 

+ 2 - 0
pages/my/my.vue

xqd xqd
@@ -1,4 +1,5 @@
 <template>
+
 	<view class="my">
 		<view class="topCard">
 			<view class="user">
@@ -69,6 +70,7 @@
 		<!-- 底部导航栏 -->
 		<view style="height: 140rpx; width: 100%;"></view>
 		<tab-bar checked="my"></tab-bar>
+
 	</view>
 </template>
 

+ 15 - 0
setting.js

xqd
@@ -0,0 +1,15 @@
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/3/18.
+ */
+const IS_DEV = process.env.NODE_ENV === 'development'
+// const URL = 'https://zhangsiye.9026.com'
+const URL = 'https://t3.9026.com'
+
+module.exports = {
+  // 版本
+  VERSION: '0.0.1',
+  // API 接口URL
+  BASE_URL: IS_DEV ? 'http://www.zsy.me/api' : URL + '/api',
+  // API 接口URL
+  IMAGE_URL: IS_DEV ? 'http://www.zsy.me/static/image' : URL + '/static/image'
+}

+ 17 - 0
static/css/common.scss

xqd
@@ -0,0 +1,17 @@
+view,image,text,rich-text,progress,button,input,form,label,textarea{
+  box-sizing: border-box;
+  margin: 0;
+  padding: 0;
+}
+
+page,
+uni-page-body{
+  box-sizing: border-box;
+  height: 100%;
+  background: #fff;
+  padding-bottom: 80rpx;
+}
+.hidden{
+  display: flex;
+  visibility: hidden;
+}

+ 266 - 0
static/css/flex.scss

xqd
@@ -0,0 +1,266 @@
+.dir-left-nowrap {
+    /* 主轴 排列方式从左侧开始 不换行*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    flex-wrap: nowrap;
+}
+
+.dir-left-wrap {
+    /* 主轴 排列方式从左侧开始 换行*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    flex-wrap: wrap;
+}
+
+.dir-left-wrap-reverse {
+    /* 主轴 排列方式从左侧开始 换行 第一行在下方*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    flex-wrap: wrap-reverse;
+}
+
+.dir-right-nowrap {
+    /* 主轴 排列方式从 右侧开始 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row-reverse;
+    flex-direction: row-reverse;
+    flex-wrap: nowrap;
+}
+
+.dir-right-wrap {
+    /* 主轴 排列方式从 右侧开始 换行*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    flex-wrap: wrap;
+}
+
+.dir-right-wrap-reverse {
+    /* 主轴 排列方式从 右侧开始 换行 第一行在下方*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    flex-wrap: wrap-reverse;
+}
+
+.dir-top-nowrap {
+    /* 主轴 排列方式从顶部开始 不换行 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    flex-wrap: nowrap;
+}
+
+.dir-top-wrap {
+    /* 主轴 排列方式从顶部开始  换行*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    flex-wrap: wrap;
+}
+
+.dir-top-wrap-reverse {
+    /* 主轴 排列方式从顶部开始 不换行换行 第一行在下方*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    flex-wrap: wrap-reverse;
+}
+
+.dir-bottom-nowrap {
+    /* 主轴 排列方式从底部开始 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: column-reverse;
+    flex-direction: column-reverse;
+    flex-wrap: nowrap;
+}
+
+.dir-bottom-wrap {
+    /* 主轴 排列方式从底部开始 不换行 换行*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    flex-wrap: wrap;
+}
+
+.dir-bottom-wrap-reverse {
+    /* 主轴 排列方式从底部开始 不换行换行 第一行在下方*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    flex-wrap: wrap-reverse;
+}
+
+.main-left {
+    /* 主轴 左对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-justify-content: flex-start;
+    justify-content: flex-start;
+}
+
+.main-right {
+    /* 主轴 右对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-justify-content: flex-end;
+    justify-content: flex-end;
+}
+
+.main-between {
+    /* 主轴 两端对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-justify-content: space-between;
+    justify-content: space-between;
+}
+
+.main-center {
+    /* 主轴 居中对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-pack: center;
+    -webkit-justify-content: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+}
+
+.main-around {
+    /* 主轴 项目位于各行之前、之间、之后都留有空白的容器内*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-justify-content: space-around;
+    justify-content: space-around;
+}
+
+.cross-top {
+    /* 交叉轴 起点对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: flex-start;
+    align-items: flex-start;
+}
+
+.cross-bottom {
+    /* 交叉轴 终点对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-align: end;
+    -webkit-align-items: flex-end;
+    -ms-flex-align: end;
+    -ms-grid-row-align: flex-end;
+    align-items: flex-end;
+}
+
+.cross-baseline {
+    /* 交叉轴 第一行文字基线对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: baseline;
+    align-items: baseline;
+}
+
+.cross-center {
+    /* 交叉轴 居中对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: center;
+    align-items: center;
+}
+
+.cross-stretch {
+    /* 交叉轴 高度并排铺满 高度不固定*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: stretch;
+    align-items: stretch;
+}
+
+.flex-wrap {
+    /* 流模式 第一行在上方 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-wrap: wrap;
+    flex-wrap: wrap;
+}
+
+.flex-wrap-reverse {
+    /* 流模式 第一行在下方 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-wrap: wrap-reverse;
+    flex-wrap: wrap-reverse;
+}
+
+.box-grow-0 {
+    /* flex 子元素固定宽度*/
+    min-width: 0;
+    -webkit-box-flex: 0;
+    -webkit-flex-grow: 0;
+    -ms-flex-positive: 0;
+    flex-grow: 0;
+    -webkit-flex-shrink: 0;
+    -ms-flex-negative: 0;
+    flex-shrink: 0;
+}
+
+.box-grow-1 {
+    /* flex 子元素等分 */
+    min-width: 0;
+    -webkit-box-flex: 1;
+    -webkit-flex-grow: 1;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    -webkit-flex-shrink: 1;
+    -ms-flex-negative: 1;
+    flex-shrink: 1;
+}
+
+.inline-flex {
+    display: -webkit-inline-flex;
+    display: inline-flex;
+}

Файловите разлики са ограничени, защото са твърде много
+ 3 - 0
static/css/iconfont.css


+ 12 - 0
static/css/mixin.scss

xqd
@@ -0,0 +1,12 @@
+@mixin vipBorder(){
+  border: 4rpx solid;
+  border-image: linear-gradient(to bottom, #F58A82,#733213) 1;
+  background: linear-gradient(#783518,#EC857C);
+}
+
+@mixin background(){
+  background: linear-gradient(#4C453D, #201B15);
+}
+@mixin backgroundCancel(){
+  background: linear-gradient(#f5f7fa 0%, #c3cfe2 100%);
+}

+ 172 - 0
static/css/store-buy.scss

xqd
@@ -0,0 +1,172 @@
+@import "@/static/css/mixin";
+.store-buy {
+  background: url("@/static/image/buy-bg.jpg") no-repeat top;
+  background-size: 100% 40vh;
+  background-repeat: no-repeat;
+  padding-top: 50rpx;
+  .card{
+    width: 720rpx;
+    margin: 0 auto;
+  }
+  .card-info{
+    background: url("/static/image/coupon_wait_use.png") no-repeat top right;
+    width: 700rpx;
+    flex-shrink: 0;
+    height: 190rpx;
+    background-size: 100% 100%;
+    .left-box{
+      flex: 1;
+      padding: 0 20rpx;
+      .price{
+        white-space: nowrap;
+        color: #888d93;
+        font-size: 28rpx;
+        .num{
+          color: #E8B388;
+          font-size: 60rpx;
+        }
+      }
+      .info-box{
+        margin-left: 20rpx;
+        .tags{
+          margin-top: 10rpx;
+          .tag{
+            background: #FDE7DA;
+            color: #424751;
+            padding: 3rpx 8rpx;
+            margin-right: 8rpx;
+            font-size: 22rpx;
+            border-radius: 6rpx;
+          }
+        }
+      }
+    }
+    .right-box{
+      width: 165rpx;
+    }
+  }
+  .price-tags{
+    margin-bottom: 50rpx;
+    margin-top: 20rpx;
+    padding: 0 20rpx;
+    .price-tag{
+      flex: 1;
+      color: #fff;
+      font-size: 26rpx;
+      padding: 4rpx 6rpx;
+      white-space: nowrap;
+      &.normal-price{
+        background: linear-gradient(#858A90,#4C525E);
+      }
+      &.sale-price{
+        background: linear-gradient(#504740,#1F1A14);
+        margin: 0 50rpx;
+      }
+      &.vip-price{
+        @include vipBorder;
+        border-width: 1rpx;
+      }
+    }
+  }
+  .store-info{
+    background: #fff;
+    border-radius: 10rpx;
+    padding: 10rpx 30rpx;
+  }
+  .desc{
+    .content{
+      color: $text-deep-grey-color;
+    }
+  }
+  .buy-btn{
+    @include background;
+    color: #fff;
+    width: 90vw;
+    margin: 80rpx auto 0rpx;
+    padding: 20rpx 0;
+    border-radius: 10rpx;
+    bottom: 0;
+    text-align: center;
+  }
+  .buy-popup{
+    padding: 30rpx 0;
+    font-size: 26rpx;
+    .goods-box{
+      padding: 0 30rpx;
+      .cover-img{
+        width: 240rpx;
+        height: 200rpx;
+        >image{
+          width: 100%;
+          height: 100%;
+        }
+      }
+      .goods-info{
+        background: #FEF9F6;
+        flex: 1;
+        padding: 20rpx;
+      }
+    }
+    .spec-box{
+      padding: 0 30rpx;
+      font-size: 26rpx;
+      .name{
+        color: $text-black-color;
+      }
+    }
+    .spec-detail{
+      box-shadow: 0 0 10rpx rgba(0,0,0,.15);
+      border-radius: 12rpx;
+      padding: 32rpx 16rpx;
+      .spec-name{
+        color: $text-black-color;
+        text-align: center;
+        padding-bottom: 22rpx;
+      }
+      .detail-box{
+        height: 150rpx;
+        .detail-item{
+          padding: 12rpx 0;
+          text-align: center;
+          color: $text-grey-color;
+          >text{
+            flex: 1;
+          }
+          .name{
+            flex: 2;
+          }
+        }
+      }
+    }
+    .price-box{
+      padding: 16rpx 32rpx;
+      position: relative;
+      margin-bottom: 16rpx;
+      margin-top: 16rpx;
+      &:after{
+        content: "";
+        position: absolute;
+        height: 1rpx;
+        width: 95%;
+        background: $grey-color;
+        bottom: 0;
+        left: 50%;
+        transform: translateX(-50%);
+      }
+      .normal-price{
+        flex: 1;
+        text{
+          margin-right: 16rpx;
+        }
+      }
+      .goods-num{
+        display: flex;
+        flex: 1;
+        justify-content: flex-end;
+      }
+    }
+    .buy-btn{
+      margin-top: 30rpx;
+    }
+  }
+}

+ 8 - 0
static/css/variable.scss

xqd
@@ -0,0 +1,8 @@
+$bg-color: #151729;
+
+$primary-color: #6EEBE8;
+$dark-color: #48979C;
+$default-color: #FFFFFF;
+$info-color: #6F717F;
+
+$pink-color: #FF74B9;

+ 8 - 0
store/getters.js

xqd
@@ -0,0 +1,8 @@
+
+const getters = {
+  token: state => state.user.token,
+  userInfo: state => state.user.info,
+  tabIndex: state => state.tab.index
+}
+export default getters
+

+ 17 - 0
store/index.js

xqd
@@ -0,0 +1,17 @@
+import Vue from 'vue'
+import Vuex from 'vuex'
+import getters from './getters'
+import user from './modules/user'
+import tab from './modules/tab'
+
+Vue.use(Vuex)
+
+const store = new Vuex.Store({
+  modules: {
+    user,
+    tab
+  },
+  getters
+})
+
+export default store

+ 31 - 0
store/modules/tab.js

xqd
@@ -0,0 +1,31 @@
+import Cache from '@/utils/cache'
+import Constant from '@/utils/constant'
+const val = Cache.get(Constant.CACHE_TAB_SELECTED)
+const getDefaultState = () => {
+  return {
+    index: val === undefined ? 1 : val
+  }
+}
+
+const state = getDefaultState()
+
+const mutations = {
+  SET_INDEX: (state, index) => {
+    Cache.set(Constant.CACHE_TAB_SELECTED, index)
+    state.index = index
+  }
+}
+
+const actions = {
+  index({ commit }, index) {
+    commit('SET_INDEX', index)
+  }
+}
+
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions
+}
+

+ 38 - 0
store/modules/user.js

xqd
@@ -0,0 +1,38 @@
+import { getToken, setToken } from '@/utils/auth'
+import Cache from '@/utils/cache'
+const getDefaultState = () => {
+  return {
+    token: getToken(),
+    info: Cache.get('userInfo')
+  }
+}
+
+const state = getDefaultState()
+
+const mutations = {
+  SET_TOKEN: (state, token) => {
+    setToken(token)
+    state.token = token
+  },
+  SET_INFO: (state, info) => {
+    Cache.set('userInfo', info)
+    state.info = info
+  }
+}
+
+const actions = {
+  token({ commit }, token) {
+    commit('SET_TOKEN', token)
+  },
+  info({ commit }, info) {
+    commit('SET_INFO', info)
+  }
+}
+
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions
+}
+

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/TabBar/tabbar.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-icon/u-icon.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-image/u-image.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-input/u-input.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-transition/u-transition.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/map.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/msg/msg.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


+ 35 - 1
unpackage/dist/dev/mp-weixin/app.json

xqd
@@ -9,8 +9,42 @@
   "subPackages": [],
   "window": {
     "navigationBarTextStyle": "black",
-    "navigationBarTitleText": "IHG",
+    "navigationBarTitleText": "",
     "navigationBarBackgroundColor": "#FFF"
   },
+  "tabBar": {
+    "custom": true,
+    "color": "#CBC8C7",
+    "selectedColor": "#FF6200",
+    "backgroundColor": "#fff",
+    "borderStyle": "black",
+    "display": "none",
+    "list": [
+      {
+        "pagePath": "pages/index/index",
+        "iconPath": "static/icon/home02.png",
+        "selectedIconPath": "static/icon/home01.png",
+        "text": "首页"
+      },
+      {
+        "pagePath": "pages/map/map",
+        "iconPath": "static/icon/map02.png",
+        "selectedIconPath": "static/icon/map01.png",
+        "text": "IHG地图"
+      },
+      {
+        "pagePath": "pages/msg/msg",
+        "iconPath": "static/icon/msg02.png",
+        "selectedIconPath": "static/icon/msg01.png",
+        "text": "消息"
+      },
+      {
+        "pagePath": "pages/my/my",
+        "iconPath": "static/icon/my02.png",
+        "selectedIconPath": "static/icon/my01.png",
+        "text": "我的"
+      }
+    ]
+  },
   "usingComponents": {}
 }

+ 12 - 3
unpackage/dist/dev/mp-weixin/common/main.js

xqd
@@ -13,13 +13,22 @@ var _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 6));
 
 
 var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 4));
-var _uviewUi = _interopRequireDefault(__webpack_require__(/*! uview-ui */ 12));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;} // @ts-ignore
-wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;_vue.default.use(_uviewUi.default);
+var _uviewUi = _interopRequireDefault(__webpack_require__(/*! uview-ui */ 12));
+
+var _store = _interopRequireDefault(__webpack_require__(/*! ./store */ 246));
+var _mixin = _interopRequireDefault(__webpack_require__(/*! ./utils/mixin */ 254));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;} // @ts-ignore
+wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
+_vue.default.prototype.$store = _store.default;
+_vue.default.use(_uviewUi.default);
+_vue.default.mixin(_mixin.default);
+
 _vue.default.config.productionTip = false;
 _App.default.mpType = 'app';
-var app = new _vue.default(_objectSpread({},
+var app = new _vue.default(_objectSpread({
+  store: _store.default },
 _App.default));
 
+
 createApp(app).$mount();
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["createApp"]))
 

Файловите разлики са ограничени, защото са твърде много
+ 3 - 0
unpackage/dist/dev/mp-weixin/common/main.wxss


+ 3280 - 993
unpackage/dist/dev/mp-weixin/common/vendor.js

xqd
@@ -20113,1195 +20113,3482 @@ var isEqual = function isEqual(a, b) {
 /* 243 */,
 /* 244 */,
 /* 245 */,
-/* 246 */,
-/* 247 */,
-/* 248 */,
-/* 249 */,
-/* 250 */,
-/* 251 */,
-/* 252 */,
-/* 253 */,
-/* 254 */,
-/* 255 */,
-/* 256 */,
-/* 257 */,
-/* 258 */,
-/* 259 */,
-/* 260 */,
-/* 261 */
-/*!**************************************************************************************************!*\
-  !*** C:/Users/Administrator/Desktop/ihg/IHG/uni_modules/uni-icons/components/uni-icons/icons.js ***!
-  \**************************************************************************************************/
+/* 246 */
+/*!*************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/store/index.js ***!
+  \*************************************************************/
 /*! no static exports found */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = {
-  "id": "2852637",
-  "name": "uniui图标库",
-  "font_family": "uniicons",
-  "css_prefix_text": "uniui-",
-  "description": "",
-  "glyphs": [
-  {
-    "icon_id": "25027049",
-    "name": "yanse",
-    "font_class": "color",
-    "unicode": "e6cf",
-    "unicode_decimal": 59087 },
+Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 4));
+var _vuex = _interopRequireDefault(__webpack_require__(/*! vuex */ 247));
+var _getters = _interopRequireDefault(__webpack_require__(/*! ./getters */ 248));
+var _user = _interopRequireDefault(__webpack_require__(/*! ./modules/user */ 249));
+var _tab = _interopRequireDefault(__webpack_require__(/*! ./modules/tab */ 252));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
 
-  {
-    "icon_id": "25027048",
-    "name": "wallet",
-    "font_class": "wallet",
-    "unicode": "e6b1",
-    "unicode_decimal": 59057 },
+_vue.default.use(_vuex.default);
 
-  {
-    "icon_id": "25015720",
-    "name": "settings-filled",
-    "font_class": "settings-filled",
-    "unicode": "e6ce",
-    "unicode_decimal": 59086 },
+var store = new _vuex.default.Store({
+  modules: {
+    user: _user.default,
+    tab: _tab.default },
 
-  {
-    "icon_id": "25015434",
-    "name": "shimingrenzheng-filled",
-    "font_class": "auth-filled",
-    "unicode": "e6cc",
-    "unicode_decimal": 59084 },
+  getters: _getters.default });var _default =
 
-  {
-    "icon_id": "24934246",
-    "name": "shop-filled",
-    "font_class": "shop-filled",
-    "unicode": "e6cd",
-    "unicode_decimal": 59085 },
 
-  {
-    "icon_id": "24934159",
-    "name": "staff-filled-01",
-    "font_class": "staff-filled",
-    "unicode": "e6cb",
-    "unicode_decimal": 59083 },
+store;exports.default = _default;
 
-  {
-    "icon_id": "24932461",
-    "name": "VIP-filled",
-    "font_class": "vip-filled",
-    "unicode": "e6c6",
-    "unicode_decimal": 59078 },
+/***/ }),
+/* 247 */
+/*!**************************************************************************************!*\
+  !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js ***!
+  \**************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24932462",
-    "name": "plus_circle_fill",
-    "font_class": "plus-filled",
-    "unicode": "e6c7",
-    "unicode_decimal": 59079 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(global) {/*!
+ * vuex v3.6.2
+ * (c) 2021 Evan You
+ * @license MIT
+ */
 
-  {
-    "icon_id": "24932463",
-    "name": "folder_add-filled",
-    "font_class": "folder-add-filled",
-    "unicode": "e6c8",
-    "unicode_decimal": 59080 },
 
-  {
-    "icon_id": "24932464",
-    "name": "yanse-filled",
-    "font_class": "color-filled",
-    "unicode": "e6c9",
-    "unicode_decimal": 59081 },
+function applyMixin (Vue) {
+  var version = Number(Vue.version.split('.')[0]);
 
-  {
-    "icon_id": "24932465",
-    "name": "tune-filled",
-    "font_class": "tune-filled",
-    "unicode": "e6ca",
-    "unicode_decimal": 59082 },
+  if (version >= 2) {
+    Vue.mixin({ beforeCreate: vuexInit });
+  } else {
+    // override init and inject vuex init procedure
+    // for 1.x backwards compatibility.
+    var _init = Vue.prototype._init;
+    Vue.prototype._init = function (options) {
+      if ( options === void 0 ) options = {};
+
+      options.init = options.init
+        ? [vuexInit].concat(options.init)
+        : vuexInit;
+      _init.call(this, options);
+    };
+  }
 
-  {
-    "icon_id": "24932455",
-    "name": "a-rilidaka-filled",
-    "font_class": "calendar-filled",
-    "unicode": "e6c0",
-    "unicode_decimal": 59072 },
+  /**
+   * Vuex init hook, injected into each instances init hooks list.
+   */
 
-  {
-    "icon_id": "24932456",
-    "name": "notification-filled",
-    "font_class": "notification-filled",
-    "unicode": "e6c1",
-    "unicode_decimal": 59073 },
+  function vuexInit () {
+    var options = this.$options;
+    // store injection
+    if (options.store) {
+      this.$store = typeof options.store === 'function'
+        ? options.store()
+        : options.store;
+    } else if (options.parent && options.parent.$store) {
+      this.$store = options.parent.$store;
+    }
+  }
+}
 
-  {
-    "icon_id": "24932457",
-    "name": "wallet-filled",
-    "font_class": "wallet-filled",
-    "unicode": "e6c2",
-    "unicode_decimal": 59074 },
+var target = typeof window !== 'undefined'
+  ? window
+  : typeof global !== 'undefined'
+    ? global
+    : {};
+var devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;
 
-  {
-    "icon_id": "24932458",
-    "name": "paihangbang-filled",
-    "font_class": "medal-filled",
-    "unicode": "e6c3",
-    "unicode_decimal": 59075 },
+function devtoolPlugin (store) {
+  if (!devtoolHook) { return }
 
-  {
-    "icon_id": "24932459",
-    "name": "gift-filled",
-    "font_class": "gift-filled",
-    "unicode": "e6c4",
-    "unicode_decimal": 59076 },
+  store._devtoolHook = devtoolHook;
 
-  {
-    "icon_id": "24932460",
-    "name": "fire-filled",
-    "font_class": "fire-filled",
-    "unicode": "e6c5",
-    "unicode_decimal": 59077 },
+  devtoolHook.emit('vuex:init', store);
 
-  {
-    "icon_id": "24928001",
-    "name": "refreshempty",
-    "font_class": "refreshempty",
-    "unicode": "e6bf",
-    "unicode_decimal": 59071 },
+  devtoolHook.on('vuex:travel-to-state', function (targetState) {
+    store.replaceState(targetState);
+  });
 
-  {
-    "icon_id": "24926853",
-    "name": "location-ellipse",
-    "font_class": "location-filled",
-    "unicode": "e6af",
-    "unicode_decimal": 59055 },
+  store.subscribe(function (mutation, state) {
+    devtoolHook.emit('vuex:mutation', mutation, state);
+  }, { prepend: true });
 
-  {
-    "icon_id": "24926735",
-    "name": "person-filled",
-    "font_class": "person-filled",
-    "unicode": "e69d",
-    "unicode_decimal": 59037 },
+  store.subscribeAction(function (action, state) {
+    devtoolHook.emit('vuex:action', action, state);
+  }, { prepend: true });
+}
 
-  {
-    "icon_id": "24926703",
-    "name": "personadd-filled",
-    "font_class": "personadd-filled",
-    "unicode": "e698",
-    "unicode_decimal": 59032 },
+/**
+ * Get the first item that pass the test
+ * by second argument function
+ *
+ * @param {Array} list
+ * @param {Function} f
+ * @return {*}
+ */
+function find (list, f) {
+  return list.filter(f)[0]
+}
 
-  {
-    "icon_id": "24923351",
-    "name": "back",
-    "font_class": "back",
-    "unicode": "e6b9",
-    "unicode_decimal": 59065 },
+/**
+ * Deep copy the given object considering circular structure.
+ * This function caches all nested objects and its copies.
+ * If it detects circular structure, use cached copy to avoid infinite loop.
+ *
+ * @param {*} obj
+ * @param {Array<Object>} cache
+ * @return {*}
+ */
+function deepCopy (obj, cache) {
+  if ( cache === void 0 ) cache = [];
 
-  {
-    "icon_id": "24923352",
-    "name": "forward",
-    "font_class": "forward",
-    "unicode": "e6ba",
-    "unicode_decimal": 59066 },
+  // just return if obj is immutable value
+  if (obj === null || typeof obj !== 'object') {
+    return obj
+  }
 
-  {
-    "icon_id": "24923353",
-    "name": "arrowthinright",
-    "font_class": "arrow-right",
-    "unicode": "e6bb",
-    "unicode_decimal": 59067 },
+  // if obj is hit, it is in circular structure
+  var hit = find(cache, function (c) { return c.original === obj; });
+  if (hit) {
+    return hit.copy
+  }
 
-  {
-    "icon_id": "24923353",
-    "name": "arrowthinright",
-    "font_class": "arrowthinright",
-    "unicode": "e6bb",
-    "unicode_decimal": 59067 },
+  var copy = Array.isArray(obj) ? [] : {};
+  // put the copy into cache at first
+  // because we want to refer it in recursive deepCopy
+  cache.push({
+    original: obj,
+    copy: copy
+  });
 
-  {
-    "icon_id": "24923354",
-    "name": "arrowthinleft",
-    "font_class": "arrow-left",
-    "unicode": "e6bc",
-    "unicode_decimal": 59068 },
+  Object.keys(obj).forEach(function (key) {
+    copy[key] = deepCopy(obj[key], cache);
+  });
 
-  {
-    "icon_id": "24923354",
-    "name": "arrowthinleft",
-    "font_class": "arrowthinleft",
-    "unicode": "e6bc",
-    "unicode_decimal": 59068 },
+  return copy
+}
 
-  {
-    "icon_id": "24923355",
-    "name": "arrowthinup",
-    "font_class": "arrow-up",
-    "unicode": "e6bd",
-    "unicode_decimal": 59069 },
+/**
+ * forEach for object
+ */
+function forEachValue (obj, fn) {
+  Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });
+}
 
-  {
-    "icon_id": "24923355",
-    "name": "arrowthinup",
-    "font_class": "arrowthinup",
-    "unicode": "e6bd",
-    "unicode_decimal": 59069 },
+function isObject (obj) {
+  return obj !== null && typeof obj === 'object'
+}
 
-  {
-    "icon_id": "24923356",
-    "name": "arrowthindown",
-    "font_class": "arrow-down",
-    "unicode": "e6be",
-    "unicode_decimal": 59070 },
-  {
-    "icon_id": "24923356",
-    "name": "arrowthindown",
-    "font_class": "arrowthindown",
-    "unicode": "e6be",
-    "unicode_decimal": 59070 },
+function isPromise (val) {
+  return val && typeof val.then === 'function'
+}
 
-  {
-    "icon_id": "24923349",
-    "name": "arrowdown",
-    "font_class": "bottom",
-    "unicode": "e6b8",
-    "unicode_decimal": 59064 },
-  {
-    "icon_id": "24923349",
-    "name": "arrowdown",
-    "font_class": "arrowdown",
-    "unicode": "e6b8",
-    "unicode_decimal": 59064 },
+function assert (condition, msg) {
+  if (!condition) { throw new Error(("[vuex] " + msg)) }
+}
 
-  {
-    "icon_id": "24923346",
+function partial (fn, arg) {
+  return function () {
+    return fn(arg)
+  }
+}
+
+// Base data struct for store's module, package with some attribute and method
+var Module = function Module (rawModule, runtime) {
+  this.runtime = runtime;
+  // Store some children item
+  this._children = Object.create(null);
+  // Store the origin module object which passed by programmer
+  this._rawModule = rawModule;
+  var rawState = rawModule.state;
+
+  // Store the origin module's state
+  this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};
+};
+
+var prototypeAccessors = { namespaced: { configurable: true } };
+
+prototypeAccessors.namespaced.get = function () {
+  return !!this._rawModule.namespaced
+};
+
+Module.prototype.addChild = function addChild (key, module) {
+  this._children[key] = module;
+};
+
+Module.prototype.removeChild = function removeChild (key) {
+  delete this._children[key];
+};
+
+Module.prototype.getChild = function getChild (key) {
+  return this._children[key]
+};
+
+Module.prototype.hasChild = function hasChild (key) {
+  return key in this._children
+};
+
+Module.prototype.update = function update (rawModule) {
+  this._rawModule.namespaced = rawModule.namespaced;
+  if (rawModule.actions) {
+    this._rawModule.actions = rawModule.actions;
+  }
+  if (rawModule.mutations) {
+    this._rawModule.mutations = rawModule.mutations;
+  }
+  if (rawModule.getters) {
+    this._rawModule.getters = rawModule.getters;
+  }
+};
+
+Module.prototype.forEachChild = function forEachChild (fn) {
+  forEachValue(this._children, fn);
+};
+
+Module.prototype.forEachGetter = function forEachGetter (fn) {
+  if (this._rawModule.getters) {
+    forEachValue(this._rawModule.getters, fn);
+  }
+};
+
+Module.prototype.forEachAction = function forEachAction (fn) {
+  if (this._rawModule.actions) {
+    forEachValue(this._rawModule.actions, fn);
+  }
+};
+
+Module.prototype.forEachMutation = function forEachMutation (fn) {
+  if (this._rawModule.mutations) {
+    forEachValue(this._rawModule.mutations, fn);
+  }
+};
+
+Object.defineProperties( Module.prototype, prototypeAccessors );
+
+var ModuleCollection = function ModuleCollection (rawRootModule) {
+  // register root module (Vuex.Store options)
+  this.register([], rawRootModule, false);
+};
+
+ModuleCollection.prototype.get = function get (path) {
+  return path.reduce(function (module, key) {
+    return module.getChild(key)
+  }, this.root)
+};
+
+ModuleCollection.prototype.getNamespace = function getNamespace (path) {
+  var module = this.root;
+  return path.reduce(function (namespace, key) {
+    module = module.getChild(key);
+    return namespace + (module.namespaced ? key + '/' : '')
+  }, '')
+};
+
+ModuleCollection.prototype.update = function update$1 (rawRootModule) {
+  update([], this.root, rawRootModule);
+};
+
+ModuleCollection.prototype.register = function register (path, rawModule, runtime) {
+    var this$1 = this;
+    if ( runtime === void 0 ) runtime = true;
+
+  if ((true)) {
+    assertRawModule(path, rawModule);
+  }
+
+  var newModule = new Module(rawModule, runtime);
+  if (path.length === 0) {
+    this.root = newModule;
+  } else {
+    var parent = this.get(path.slice(0, -1));
+    parent.addChild(path[path.length - 1], newModule);
+  }
+
+  // register nested modules
+  if (rawModule.modules) {
+    forEachValue(rawModule.modules, function (rawChildModule, key) {
+      this$1.register(path.concat(key), rawChildModule, runtime);
+    });
+  }
+};
+
+ModuleCollection.prototype.unregister = function unregister (path) {
+  var parent = this.get(path.slice(0, -1));
+  var key = path[path.length - 1];
+  var child = parent.getChild(key);
+
+  if (!child) {
+    if ((true)) {
+      console.warn(
+        "[vuex] trying to unregister module '" + key + "', which is " +
+        "not registered"
+      );
+    }
+    return
+  }
+
+  if (!child.runtime) {
+    return
+  }
+
+  parent.removeChild(key);
+};
+
+ModuleCollection.prototype.isRegistered = function isRegistered (path) {
+  var parent = this.get(path.slice(0, -1));
+  var key = path[path.length - 1];
+
+  if (parent) {
+    return parent.hasChild(key)
+  }
+
+  return false
+};
+
+function update (path, targetModule, newModule) {
+  if ((true)) {
+    assertRawModule(path, newModule);
+  }
+
+  // update target module
+  targetModule.update(newModule);
+
+  // update nested modules
+  if (newModule.modules) {
+    for (var key in newModule.modules) {
+      if (!targetModule.getChild(key)) {
+        if ((true)) {
+          console.warn(
+            "[vuex] trying to add a new module '" + key + "' on hot reloading, " +
+            'manual reload is needed'
+          );
+        }
+        return
+      }
+      update(
+        path.concat(key),
+        targetModule.getChild(key),
+        newModule.modules[key]
+      );
+    }
+  }
+}
+
+var functionAssert = {
+  assert: function (value) { return typeof value === 'function'; },
+  expected: 'function'
+};
+
+var objectAssert = {
+  assert: function (value) { return typeof value === 'function' ||
+    (typeof value === 'object' && typeof value.handler === 'function'); },
+  expected: 'function or object with "handler" function'
+};
+
+var assertTypes = {
+  getters: functionAssert,
+  mutations: functionAssert,
+  actions: objectAssert
+};
+
+function assertRawModule (path, rawModule) {
+  Object.keys(assertTypes).forEach(function (key) {
+    if (!rawModule[key]) { return }
+
+    var assertOptions = assertTypes[key];
+
+    forEachValue(rawModule[key], function (value, type) {
+      assert(
+        assertOptions.assert(value),
+        makeAssertionMessage(path, key, type, value, assertOptions.expected)
+      );
+    });
+  });
+}
+
+function makeAssertionMessage (path, key, type, value, expected) {
+  var buf = key + " should be " + expected + " but \"" + key + "." + type + "\"";
+  if (path.length > 0) {
+    buf += " in module \"" + (path.join('.')) + "\"";
+  }
+  buf += " is " + (JSON.stringify(value)) + ".";
+  return buf
+}
+
+var Vue; // bind on install
+
+var Store = function Store (options) {
+  var this$1 = this;
+  if ( options === void 0 ) options = {};
+
+  // Auto install if it is not done yet and `window` has `Vue`.
+  // To allow users to avoid auto-installation in some cases,
+  // this code should be placed here. See #731
+  if (!Vue && typeof window !== 'undefined' && window.Vue) {
+    install(window.Vue);
+  }
+
+  if ((true)) {
+    assert(Vue, "must call Vue.use(Vuex) before creating a store instance.");
+    assert(typeof Promise !== 'undefined', "vuex requires a Promise polyfill in this browser.");
+    assert(this instanceof Store, "store must be called with the new operator.");
+  }
+
+  var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];
+  var strict = options.strict; if ( strict === void 0 ) strict = false;
+
+  // store internal state
+  this._committing = false;
+  this._actions = Object.create(null);
+  this._actionSubscribers = [];
+  this._mutations = Object.create(null);
+  this._wrappedGetters = Object.create(null);
+  this._modules = new ModuleCollection(options);
+  this._modulesNamespaceMap = Object.create(null);
+  this._subscribers = [];
+  this._watcherVM = new Vue();
+  this._makeLocalGettersCache = Object.create(null);
+
+  // bind commit and dispatch to self
+  var store = this;
+  var ref = this;
+  var dispatch = ref.dispatch;
+  var commit = ref.commit;
+  this.dispatch = function boundDispatch (type, payload) {
+    return dispatch.call(store, type, payload)
+  };
+  this.commit = function boundCommit (type, payload, options) {
+    return commit.call(store, type, payload, options)
+  };
+
+  // strict mode
+  this.strict = strict;
+
+  var state = this._modules.root.state;
+
+  // init root module.
+  // this also recursively registers all sub-modules
+  // and collects all module getters inside this._wrappedGetters
+  installModule(this, state, [], this._modules.root);
+
+  // initialize the store vm, which is responsible for the reactivity
+  // (also registers _wrappedGetters as computed properties)
+  resetStoreVM(this, state);
+
+  // apply plugins
+  plugins.forEach(function (plugin) { return plugin(this$1); });
+
+  var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;
+  if (useDevtools) {
+    devtoolPlugin(this);
+  }
+};
+
+var prototypeAccessors$1 = { state: { configurable: true } };
+
+prototypeAccessors$1.state.get = function () {
+  return this._vm._data.$$state
+};
+
+prototypeAccessors$1.state.set = function (v) {
+  if ((true)) {
+    assert(false, "use store.replaceState() to explicit replace store state.");
+  }
+};
+
+Store.prototype.commit = function commit (_type, _payload, _options) {
+    var this$1 = this;
+
+  // check object-style commit
+  var ref = unifyObjectStyle(_type, _payload, _options);
+    var type = ref.type;
+    var payload = ref.payload;
+    var options = ref.options;
+
+  var mutation = { type: type, payload: payload };
+  var entry = this._mutations[type];
+  if (!entry) {
+    if ((true)) {
+      console.error(("[vuex] unknown mutation type: " + type));
+    }
+    return
+  }
+  this._withCommit(function () {
+    entry.forEach(function commitIterator (handler) {
+      handler(payload);
+    });
+  });
+
+  this._subscribers
+    .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe
+    .forEach(function (sub) { return sub(mutation, this$1.state); });
+
+  if (
+    ( true) &&
+    options && options.silent
+  ) {
+    console.warn(
+      "[vuex] mutation type: " + type + ". Silent option has been removed. " +
+      'Use the filter functionality in the vue-devtools'
+    );
+  }
+};
+
+Store.prototype.dispatch = function dispatch (_type, _payload) {
+    var this$1 = this;
+
+  // check object-style dispatch
+  var ref = unifyObjectStyle(_type, _payload);
+    var type = ref.type;
+    var payload = ref.payload;
+
+  var action = { type: type, payload: payload };
+  var entry = this._actions[type];
+  if (!entry) {
+    if ((true)) {
+      console.error(("[vuex] unknown action type: " + type));
+    }
+    return
+  }
+
+  try {
+    this._actionSubscribers
+      .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe
+      .filter(function (sub) { return sub.before; })
+      .forEach(function (sub) { return sub.before(action, this$1.state); });
+  } catch (e) {
+    if ((true)) {
+      console.warn("[vuex] error in before action subscribers: ");
+      console.error(e);
+    }
+  }
+
+  var result = entry.length > 1
+    ? Promise.all(entry.map(function (handler) { return handler(payload); }))
+    : entry[0](payload);
+
+  return new Promise(function (resolve, reject) {
+    result.then(function (res) {
+      try {
+        this$1._actionSubscribers
+          .filter(function (sub) { return sub.after; })
+          .forEach(function (sub) { return sub.after(action, this$1.state); });
+      } catch (e) {
+        if ((true)) {
+          console.warn("[vuex] error in after action subscribers: ");
+          console.error(e);
+        }
+      }
+      resolve(res);
+    }, function (error) {
+      try {
+        this$1._actionSubscribers
+          .filter(function (sub) { return sub.error; })
+          .forEach(function (sub) { return sub.error(action, this$1.state, error); });
+      } catch (e) {
+        if ((true)) {
+          console.warn("[vuex] error in error action subscribers: ");
+          console.error(e);
+        }
+      }
+      reject(error);
+    });
+  })
+};
+
+Store.prototype.subscribe = function subscribe (fn, options) {
+  return genericSubscribe(fn, this._subscribers, options)
+};
+
+Store.prototype.subscribeAction = function subscribeAction (fn, options) {
+  var subs = typeof fn === 'function' ? { before: fn } : fn;
+  return genericSubscribe(subs, this._actionSubscribers, options)
+};
+
+Store.prototype.watch = function watch (getter, cb, options) {
+    var this$1 = this;
+
+  if ((true)) {
+    assert(typeof getter === 'function', "store.watch only accepts a function.");
+  }
+  return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)
+};
+
+Store.prototype.replaceState = function replaceState (state) {
+    var this$1 = this;
+
+  this._withCommit(function () {
+    this$1._vm._data.$$state = state;
+  });
+};
+
+Store.prototype.registerModule = function registerModule (path, rawModule, options) {
+    if ( options === void 0 ) options = {};
+
+  if (typeof path === 'string') { path = [path]; }
+
+  if ((true)) {
+    assert(Array.isArray(path), "module path must be a string or an Array.");
+    assert(path.length > 0, 'cannot register the root module by using registerModule.');
+  }
+
+  this._modules.register(path, rawModule);
+  installModule(this, this.state, path, this._modules.get(path), options.preserveState);
+  // reset store to update getters...
+  resetStoreVM(this, this.state);
+};
+
+Store.prototype.unregisterModule = function unregisterModule (path) {
+    var this$1 = this;
+
+  if (typeof path === 'string') { path = [path]; }
+
+  if ((true)) {
+    assert(Array.isArray(path), "module path must be a string or an Array.");
+  }
+
+  this._modules.unregister(path);
+  this._withCommit(function () {
+    var parentState = getNestedState(this$1.state, path.slice(0, -1));
+    Vue.delete(parentState, path[path.length - 1]);
+  });
+  resetStore(this);
+};
+
+Store.prototype.hasModule = function hasModule (path) {
+  if (typeof path === 'string') { path = [path]; }
+
+  if ((true)) {
+    assert(Array.isArray(path), "module path must be a string or an Array.");
+  }
+
+  return this._modules.isRegistered(path)
+};
+
+Store.prototype[[104,111,116,85,112,100,97,116,101].map(function (item) {return String.fromCharCode(item)}).join('')] = function (newOptions) {
+  this._modules.update(newOptions);
+  resetStore(this, true);
+};
+
+Store.prototype._withCommit = function _withCommit (fn) {
+  var committing = this._committing;
+  this._committing = true;
+  fn();
+  this._committing = committing;
+};
+
+Object.defineProperties( Store.prototype, prototypeAccessors$1 );
+
+function genericSubscribe (fn, subs, options) {
+  if (subs.indexOf(fn) < 0) {
+    options && options.prepend
+      ? subs.unshift(fn)
+      : subs.push(fn);
+  }
+  return function () {
+    var i = subs.indexOf(fn);
+    if (i > -1) {
+      subs.splice(i, 1);
+    }
+  }
+}
+
+function resetStore (store, hot) {
+  store._actions = Object.create(null);
+  store._mutations = Object.create(null);
+  store._wrappedGetters = Object.create(null);
+  store._modulesNamespaceMap = Object.create(null);
+  var state = store.state;
+  // init all modules
+  installModule(store, state, [], store._modules.root, true);
+  // reset vm
+  resetStoreVM(store, state, hot);
+}
+
+function resetStoreVM (store, state, hot) {
+  var oldVm = store._vm;
+
+  // bind store public getters
+  store.getters = {};
+  // reset local getters cache
+  store._makeLocalGettersCache = Object.create(null);
+  var wrappedGetters = store._wrappedGetters;
+  var computed = {};
+  forEachValue(wrappedGetters, function (fn, key) {
+    // use computed to leverage its lazy-caching mechanism
+    // direct inline function use will lead to closure preserving oldVm.
+    // using partial to return function with only arguments preserved in closure environment.
+    computed[key] = partial(fn, store);
+    Object.defineProperty(store.getters, key, {
+      get: function () { return store._vm[key]; },
+      enumerable: true // for local getters
+    });
+  });
+
+  // use a Vue instance to store the state tree
+  // suppress warnings just in case the user has added
+  // some funky global mixins
+  var silent = Vue.config.silent;
+  Vue.config.silent = true;
+  store._vm = new Vue({
+    data: {
+      $$state: state
+    },
+    computed: computed
+  });
+  Vue.config.silent = silent;
+
+  // enable strict mode for new vm
+  if (store.strict) {
+    enableStrictMode(store);
+  }
+
+  if (oldVm) {
+    if (hot) {
+      // dispatch changes in all subscribed watchers
+      // to force getter re-evaluation for hot reloading.
+      store._withCommit(function () {
+        oldVm._data.$$state = null;
+      });
+    }
+    Vue.nextTick(function () { return oldVm.$destroy(); });
+  }
+}
+
+function installModule (store, rootState, path, module, hot) {
+  var isRoot = !path.length;
+  var namespace = store._modules.getNamespace(path);
+
+  // register in namespace map
+  if (module.namespaced) {
+    if (store._modulesNamespaceMap[namespace] && ("development" !== 'production')) {
+      console.error(("[vuex] duplicate namespace " + namespace + " for the namespaced module " + (path.join('/'))));
+    }
+    store._modulesNamespaceMap[namespace] = module;
+  }
+
+  // set state
+  if (!isRoot && !hot) {
+    var parentState = getNestedState(rootState, path.slice(0, -1));
+    var moduleName = path[path.length - 1];
+    store._withCommit(function () {
+      if ((true)) {
+        if (moduleName in parentState) {
+          console.warn(
+            ("[vuex] state field \"" + moduleName + "\" was overridden by a module with the same name at \"" + (path.join('.')) + "\"")
+          );
+        }
+      }
+      Vue.set(parentState, moduleName, module.state);
+    });
+  }
+
+  var local = module.context = makeLocalContext(store, namespace, path);
+
+  module.forEachMutation(function (mutation, key) {
+    var namespacedType = namespace + key;
+    registerMutation(store, namespacedType, mutation, local);
+  });
+
+  module.forEachAction(function (action, key) {
+    var type = action.root ? key : namespace + key;
+    var handler = action.handler || action;
+    registerAction(store, type, handler, local);
+  });
+
+  module.forEachGetter(function (getter, key) {
+    var namespacedType = namespace + key;
+    registerGetter(store, namespacedType, getter, local);
+  });
+
+  module.forEachChild(function (child, key) {
+    installModule(store, rootState, path.concat(key), child, hot);
+  });
+}
+
+/**
+ * make localized dispatch, commit, getters and state
+ * if there is no namespace, just use root ones
+ */
+function makeLocalContext (store, namespace, path) {
+  var noNamespace = namespace === '';
+
+  var local = {
+    dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {
+      var args = unifyObjectStyle(_type, _payload, _options);
+      var payload = args.payload;
+      var options = args.options;
+      var type = args.type;
+
+      if (!options || !options.root) {
+        type = namespace + type;
+        if (( true) && !store._actions[type]) {
+          console.error(("[vuex] unknown local action type: " + (args.type) + ", global type: " + type));
+          return
+        }
+      }
+
+      return store.dispatch(type, payload)
+    },
+
+    commit: noNamespace ? store.commit : function (_type, _payload, _options) {
+      var args = unifyObjectStyle(_type, _payload, _options);
+      var payload = args.payload;
+      var options = args.options;
+      var type = args.type;
+
+      if (!options || !options.root) {
+        type = namespace + type;
+        if (( true) && !store._mutations[type]) {
+          console.error(("[vuex] unknown local mutation type: " + (args.type) + ", global type: " + type));
+          return
+        }
+      }
+
+      store.commit(type, payload, options);
+    }
+  };
+
+  // getters and state object must be gotten lazily
+  // because they will be changed by vm update
+  Object.defineProperties(local, {
+    getters: {
+      get: noNamespace
+        ? function () { return store.getters; }
+        : function () { return makeLocalGetters(store, namespace); }
+    },
+    state: {
+      get: function () { return getNestedState(store.state, path); }
+    }
+  });
+
+  return local
+}
+
+function makeLocalGetters (store, namespace) {
+  if (!store._makeLocalGettersCache[namespace]) {
+    var gettersProxy = {};
+    var splitPos = namespace.length;
+    Object.keys(store.getters).forEach(function (type) {
+      // skip if the target getter is not match this namespace
+      if (type.slice(0, splitPos) !== namespace) { return }
+
+      // extract local getter type
+      var localType = type.slice(splitPos);
+
+      // Add a port to the getters proxy.
+      // Define as getter property because
+      // we do not want to evaluate the getters in this time.
+      Object.defineProperty(gettersProxy, localType, {
+        get: function () { return store.getters[type]; },
+        enumerable: true
+      });
+    });
+    store._makeLocalGettersCache[namespace] = gettersProxy;
+  }
+
+  return store._makeLocalGettersCache[namespace]
+}
+
+function registerMutation (store, type, handler, local) {
+  var entry = store._mutations[type] || (store._mutations[type] = []);
+  entry.push(function wrappedMutationHandler (payload) {
+    handler.call(store, local.state, payload);
+  });
+}
+
+function registerAction (store, type, handler, local) {
+  var entry = store._actions[type] || (store._actions[type] = []);
+  entry.push(function wrappedActionHandler (payload) {
+    var res = handler.call(store, {
+      dispatch: local.dispatch,
+      commit: local.commit,
+      getters: local.getters,
+      state: local.state,
+      rootGetters: store.getters,
+      rootState: store.state
+    }, payload);
+    if (!isPromise(res)) {
+      res = Promise.resolve(res);
+    }
+    if (store._devtoolHook) {
+      return res.catch(function (err) {
+        store._devtoolHook.emit('vuex:error', err);
+        throw err
+      })
+    } else {
+      return res
+    }
+  });
+}
+
+function registerGetter (store, type, rawGetter, local) {
+  if (store._wrappedGetters[type]) {
+    if ((true)) {
+      console.error(("[vuex] duplicate getter key: " + type));
+    }
+    return
+  }
+  store._wrappedGetters[type] = function wrappedGetter (store) {
+    return rawGetter(
+      local.state, // local state
+      local.getters, // local getters
+      store.state, // root state
+      store.getters // root getters
+    )
+  };
+}
+
+function enableStrictMode (store) {
+  store._vm.$watch(function () { return this._data.$$state }, function () {
+    if ((true)) {
+      assert(store._committing, "do not mutate vuex store state outside mutation handlers.");
+    }
+  }, { deep: true, sync: true });
+}
+
+function getNestedState (state, path) {
+  return path.reduce(function (state, key) { return state[key]; }, state)
+}
+
+function unifyObjectStyle (type, payload, options) {
+  if (isObject(type) && type.type) {
+    options = payload;
+    payload = type;
+    type = type.type;
+  }
+
+  if ((true)) {
+    assert(typeof type === 'string', ("expects string as the type, but found " + (typeof type) + "."));
+  }
+
+  return { type: type, payload: payload, options: options }
+}
+
+function install (_Vue) {
+  if (Vue && _Vue === Vue) {
+    if ((true)) {
+      console.error(
+        '[vuex] already installed. Vue.use(Vuex) should be called only once.'
+      );
+    }
+    return
+  }
+  Vue = _Vue;
+  applyMixin(Vue);
+}
+
+/**
+ * Reduce the code which written in Vue.js for getting the state.
+ * @param {String} [namespace] - Module's namespace
+ * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.
+ * @param {Object}
+ */
+var mapState = normalizeNamespace(function (namespace, states) {
+  var res = {};
+  if (( true) && !isValidMap(states)) {
+    console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');
+  }
+  normalizeMap(states).forEach(function (ref) {
+    var key = ref.key;
+    var val = ref.val;
+
+    res[key] = function mappedState () {
+      var state = this.$store.state;
+      var getters = this.$store.getters;
+      if (namespace) {
+        var module = getModuleByNamespace(this.$store, 'mapState', namespace);
+        if (!module) {
+          return
+        }
+        state = module.context.state;
+        getters = module.context.getters;
+      }
+      return typeof val === 'function'
+        ? val.call(this, state, getters)
+        : state[val]
+    };
+    // mark vuex getter for devtools
+    res[key].vuex = true;
+  });
+  return res
+});
+
+/**
+ * Reduce the code which written in Vue.js for committing the mutation
+ * @param {String} [namespace] - Module's namespace
+ * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.
+ * @return {Object}
+ */
+var mapMutations = normalizeNamespace(function (namespace, mutations) {
+  var res = {};
+  if (( true) && !isValidMap(mutations)) {
+    console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');
+  }
+  normalizeMap(mutations).forEach(function (ref) {
+    var key = ref.key;
+    var val = ref.val;
+
+    res[key] = function mappedMutation () {
+      var args = [], len = arguments.length;
+      while ( len-- ) args[ len ] = arguments[ len ];
+
+      // Get the commit method from store
+      var commit = this.$store.commit;
+      if (namespace) {
+        var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);
+        if (!module) {
+          return
+        }
+        commit = module.context.commit;
+      }
+      return typeof val === 'function'
+        ? val.apply(this, [commit].concat(args))
+        : commit.apply(this.$store, [val].concat(args))
+    };
+  });
+  return res
+});
+
+/**
+ * Reduce the code which written in Vue.js for getting the getters
+ * @param {String} [namespace] - Module's namespace
+ * @param {Object|Array} getters
+ * @return {Object}
+ */
+var mapGetters = normalizeNamespace(function (namespace, getters) {
+  var res = {};
+  if (( true) && !isValidMap(getters)) {
+    console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');
+  }
+  normalizeMap(getters).forEach(function (ref) {
+    var key = ref.key;
+    var val = ref.val;
+
+    // The namespace has been mutated by normalizeNamespace
+    val = namespace + val;
+    res[key] = function mappedGetter () {
+      if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {
+        return
+      }
+      if (( true) && !(val in this.$store.getters)) {
+        console.error(("[vuex] unknown getter: " + val));
+        return
+      }
+      return this.$store.getters[val]
+    };
+    // mark vuex getter for devtools
+    res[key].vuex = true;
+  });
+  return res
+});
+
+/**
+ * Reduce the code which written in Vue.js for dispatch the action
+ * @param {String} [namespace] - Module's namespace
+ * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.
+ * @return {Object}
+ */
+var mapActions = normalizeNamespace(function (namespace, actions) {
+  var res = {};
+  if (( true) && !isValidMap(actions)) {
+    console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');
+  }
+  normalizeMap(actions).forEach(function (ref) {
+    var key = ref.key;
+    var val = ref.val;
+
+    res[key] = function mappedAction () {
+      var args = [], len = arguments.length;
+      while ( len-- ) args[ len ] = arguments[ len ];
+
+      // get dispatch function from store
+      var dispatch = this.$store.dispatch;
+      if (namespace) {
+        var module = getModuleByNamespace(this.$store, 'mapActions', namespace);
+        if (!module) {
+          return
+        }
+        dispatch = module.context.dispatch;
+      }
+      return typeof val === 'function'
+        ? val.apply(this, [dispatch].concat(args))
+        : dispatch.apply(this.$store, [val].concat(args))
+    };
+  });
+  return res
+});
+
+/**
+ * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object
+ * @param {String} namespace
+ * @return {Object}
+ */
+var createNamespacedHelpers = function (namespace) { return ({
+  mapState: mapState.bind(null, namespace),
+  mapGetters: mapGetters.bind(null, namespace),
+  mapMutations: mapMutations.bind(null, namespace),
+  mapActions: mapActions.bind(null, namespace)
+}); };
+
+/**
+ * Normalize the map
+ * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]
+ * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]
+ * @param {Array|Object} map
+ * @return {Object}
+ */
+function normalizeMap (map) {
+  if (!isValidMap(map)) {
+    return []
+  }
+  return Array.isArray(map)
+    ? map.map(function (key) { return ({ key: key, val: key }); })
+    : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })
+}
+
+/**
+ * Validate whether given map is valid or not
+ * @param {*} map
+ * @return {Boolean}
+ */
+function isValidMap (map) {
+  return Array.isArray(map) || isObject(map)
+}
+
+/**
+ * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.
+ * @param {Function} fn
+ * @return {Function}
+ */
+function normalizeNamespace (fn) {
+  return function (namespace, map) {
+    if (typeof namespace !== 'string') {
+      map = namespace;
+      namespace = '';
+    } else if (namespace.charAt(namespace.length - 1) !== '/') {
+      namespace += '/';
+    }
+    return fn(namespace, map)
+  }
+}
+
+/**
+ * Search a special module from store by namespace. if module not exist, print error message.
+ * @param {Object} store
+ * @param {String} helper
+ * @param {String} namespace
+ * @return {Object}
+ */
+function getModuleByNamespace (store, helper, namespace) {
+  var module = store._modulesNamespaceMap[namespace];
+  if (( true) && !module) {
+    console.error(("[vuex] module namespace not found in " + helper + "(): " + namespace));
+  }
+  return module
+}
+
+// Credits: borrowed code from fcomb/redux-logger
+
+function createLogger (ref) {
+  if ( ref === void 0 ) ref = {};
+  var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;
+  var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };
+  var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };
+  var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };
+  var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };
+  var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };
+  var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;
+  var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;
+  var logger = ref.logger; if ( logger === void 0 ) logger = console;
+
+  return function (store) {
+    var prevState = deepCopy(store.state);
+
+    if (typeof logger === 'undefined') {
+      return
+    }
+
+    if (logMutations) {
+      store.subscribe(function (mutation, state) {
+        var nextState = deepCopy(state);
+
+        if (filter(mutation, prevState, nextState)) {
+          var formattedTime = getFormattedTime();
+          var formattedMutation = mutationTransformer(mutation);
+          var message = "mutation " + (mutation.type) + formattedTime;
+
+          startMessage(logger, message, collapsed);
+          logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));
+          logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);
+          logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));
+          endMessage(logger);
+        }
+
+        prevState = nextState;
+      });
+    }
+
+    if (logActions) {
+      store.subscribeAction(function (action, state) {
+        if (actionFilter(action, state)) {
+          var formattedTime = getFormattedTime();
+          var formattedAction = actionTransformer(action);
+          var message = "action " + (action.type) + formattedTime;
+
+          startMessage(logger, message, collapsed);
+          logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);
+          endMessage(logger);
+        }
+      });
+    }
+  }
+}
+
+function startMessage (logger, message, collapsed) {
+  var startMessage = collapsed
+    ? logger.groupCollapsed
+    : logger.group;
+
+  // render
+  try {
+    startMessage.call(logger, message);
+  } catch (e) {
+    logger.log(message);
+  }
+}
+
+function endMessage (logger) {
+  try {
+    logger.groupEnd();
+  } catch (e) {
+    logger.log('—— log end ——');
+  }
+}
+
+function getFormattedTime () {
+  var time = new Date();
+  return (" @ " + (pad(time.getHours(), 2)) + ":" + (pad(time.getMinutes(), 2)) + ":" + (pad(time.getSeconds(), 2)) + "." + (pad(time.getMilliseconds(), 3)))
+}
+
+function repeat (str, times) {
+  return (new Array(times + 1)).join(str)
+}
+
+function pad (num, maxLength) {
+  return repeat('0', maxLength - num.toString().length) + num
+}
+
+var index_cjs = {
+  Store: Store,
+  install: install,
+  version: '3.6.2',
+  mapState: mapState,
+  mapMutations: mapMutations,
+  mapGetters: mapGetters,
+  mapActions: mapActions,
+  createNamespacedHelpers: createNamespacedHelpers,
+  createLogger: createLogger
+};
+
+module.exports = index_cjs;
+
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../webpack/buildin/global.js */ 2)))
+
+/***/ }),
+/* 248 */
+/*!***************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/store/getters.js ***!
+  \***************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;
+var getters = {
+  token: function token(state) {return state.user.token;},
+  userInfo: function userInfo(state) {return state.user.info;},
+  tabIndex: function tabIndex(state) {return state.tab.index;} };var _default =
+
+getters;exports.default = _default;
+
+/***/ }),
+/* 249 */
+/*!********************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/store/modules/user.js ***!
+  \********************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _auth = __webpack_require__(/*! @/utils/auth */ 250);
+var _cache = _interopRequireDefault(__webpack_require__(/*! @/utils/cache */ 251));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
+var getDefaultState = function getDefaultState() {
+  return {
+    token: (0, _auth.getToken)(),
+    info: _cache.default.get('userInfo') };
+
+};
+
+var state = getDefaultState();
+
+var mutations = {
+  SET_TOKEN: function SET_TOKEN(state, token) {
+    (0, _auth.setToken)(token);
+    state.token = token;
+  },
+  SET_INFO: function SET_INFO(state, info) {
+    _cache.default.set('userInfo', info);
+    state.info = info;
+  } };
+
+
+var actions = {
+  token: function token(_ref, _token) {var commit = _ref.commit;
+    commit('SET_TOKEN', _token);
+  },
+  info: function info(_ref2, _info) {var commit = _ref2.commit;
+    commit('SET_INFO', _info);
+  } };var _default =
+
+
+{
+  namespaced: true,
+  state: state,
+  mutations: mutations,
+  actions: actions };exports.default = _default;
+
+/***/ }),
+/* 250 */
+/*!************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/utils/auth.js ***!
+  \************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });exports.getToken = getToken;exports.setToken = setToken;exports.removeToken = removeToken;var _cache = _interopRequireDefault(__webpack_require__(/*! ./cache */ 251));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
+
+var TokenKey = 'auth_token';
+
+function getToken() {
+  return _cache.default.get(TokenKey);
+}
+
+function setToken(token) {
+  return _cache.default.set(TokenKey, token);
+}
+
+function removeToken() {
+  return _cache.default.remove(TokenKey);
+}
+
+/***/ }),
+/* 251 */
+/*!*************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/utils/cache.js ***!
+  \*************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;function set(key, value) {
+  return uni.setStorageSync(key, JSON.stringify(value));
+}
+
+function get(key) {
+  try {
+    var result = uni.getStorageSync(key);
+    if (result) {
+      return JSON.parse(result);
+    }
+  } catch (e) {
+    return null;
+  }
+}
+
+function remove(key) {
+  return uni.removeStorageSync(key);
+}
+
+function clear(key) {
+  return uni.clearStorageSync(key);
+}var _default =
+
+{
+  get: get,
+  set: set,
+  remove: remove,
+  clear: clear };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
+
+/***/ }),
+/* 252 */
+/*!*******************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/store/modules/tab.js ***!
+  \*******************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _cache = _interopRequireDefault(__webpack_require__(/*! @/utils/cache */ 251));
+var _constant = _interopRequireDefault(__webpack_require__(/*! @/utils/constant */ 253));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
+var val = _cache.default.get(_constant.default.CACHE_TAB_SELECTED);
+var getDefaultState = function getDefaultState() {
+  return {
+    index: val === undefined ? 1 : val };
+
+};
+
+var state = getDefaultState();
+
+var mutations = {
+  SET_INDEX: function SET_INDEX(state, index) {
+    _cache.default.set(_constant.default.CACHE_TAB_SELECTED, index);
+    state.index = index;
+  } };
+
+
+var actions = {
+  index: function index(_ref, _index) {var commit = _ref.commit;
+    commit('SET_INDEX', _index);
+  } };var _default =
+
+
+{
+  namespaced: true,
+  state: state,
+  mutations: mutations,
+  actions: actions };exports.default = _default;
+
+/***/ }),
+/* 253 */
+/*!****************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/utils/constant.js ***!
+  \****************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/3/21.
+ */
+
+module.exports = {
+  CACHE_USER_TOKEN: 'vuex_user_token',
+  CACHE_USER_DATA: 'vuex_user_data',
+  CACHE_TAB_SELECTED: 'CACHE_TAB_SELECTED',
+  CACHE_PAGE_META: 'CACHE_PAGE_META' };
+
+/***/ }),
+/* 254 */
+/*!*************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/utils/mixin.js ***!
+  \*************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {
+
+
+var _api = _interopRequireDefault(__webpack_require__(/*! ../api */ 255));
+var _constant = _interopRequireDefault(__webpack_require__(/*! ./constant */ 253));
+var _index = _interopRequireDefault(__webpack_require__(/*! ./index */ 283));
+var _cache = _interopRequireDefault(__webpack_require__(/*! ./cache.js */ 251));
+var _setting = _interopRequireDefault(__webpack_require__(/*! ../setting.js */ 284));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} /**
+                                                                                                                                                               * Created by JianJia.Zhou<jianjia.zhou> on 2022/5/20.
+                                                                                                                                                               */module.exports = { computed: {
+    $const: function $const() {
+      return _constant.default;
+    },
+    $setting: function $setting() {
+      return _setting.default;
+    },
+    $api: function $api() {
+      return _api.default;
+    },
+    $util: function $util() {
+      return _index.default;
+    },
+    $cache: function $cache() {
+      return _cache.default;
+    },
+    $loading: function $loading() {
+      return function () {var title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '数据加载中...';
+        uni.showLoading({
+          title: title,
+          mask: true });
+
+      };
+    },
+    $hideLoading: function $hideLoading() {
+      return function () {
+        uni.hideLoading();
+      };
+    },
+    $colors: function $colors() {
+      return {
+        bgColor: '#151729',
+        primaryColor: '#6EEBE8',
+        darkColor: '#48979C',
+        defaultColor: '#FFFFFF',
+        infoColor: '#6F717F' };
+
+    } } };
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
+
+/***/ }),
+/* 255 */
+/*!***********************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/index.js ***!
+  \***********************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _index = _interopRequireDefault(__webpack_require__(/*! ./user/index */ 264));
+var _setting = _interopRequireDefault(__webpack_require__(/*! ./setting */ 271));
+var _episode = _interopRequireDefault(__webpack_require__(/*! ./episode */ 272));
+var _sign = _interopRequireDefault(__webpack_require__(/*! ./sign */ 273));
+var _pay = _interopRequireDefault(__webpack_require__(/*! ./pay */ 274));
+var _share = _interopRequireDefault(__webpack_require__(/*! ./share */ 278));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
+
+var api = {
+  user: _index.default,
+  setting: _setting.default,
+  episode: _episode.default,
+  sign: _sign.default,
+  pay: _pay.default,
+  share: _share.default };var _default =
+
+
+api;exports.default = _default;
+
+/***/ }),
+/* 256 */,
+/* 257 */,
+/* 258 */,
+/* 259 */,
+/* 260 */,
+/* 261 */
+/*!**************************************************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/uni_modules/uni-icons/components/uni-icons/icons.js ***!
+  \**************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = {
+  "id": "2852637",
+  "name": "uniui图标库",
+  "font_family": "uniicons",
+  "css_prefix_text": "uniui-",
+  "description": "",
+  "glyphs": [
+  {
+    "icon_id": "25027049",
+    "name": "yanse",
+    "font_class": "color",
+    "unicode": "e6cf",
+    "unicode_decimal": 59087 },
+
+  {
+    "icon_id": "25027048",
+    "name": "wallet",
+    "font_class": "wallet",
+    "unicode": "e6b1",
+    "unicode_decimal": 59057 },
+
+  {
+    "icon_id": "25015720",
+    "name": "settings-filled",
+    "font_class": "settings-filled",
+    "unicode": "e6ce",
+    "unicode_decimal": 59086 },
+
+  {
+    "icon_id": "25015434",
+    "name": "shimingrenzheng-filled",
+    "font_class": "auth-filled",
+    "unicode": "e6cc",
+    "unicode_decimal": 59084 },
+
+  {
+    "icon_id": "24934246",
+    "name": "shop-filled",
+    "font_class": "shop-filled",
+    "unicode": "e6cd",
+    "unicode_decimal": 59085 },
+
+  {
+    "icon_id": "24934159",
+    "name": "staff-filled-01",
+    "font_class": "staff-filled",
+    "unicode": "e6cb",
+    "unicode_decimal": 59083 },
+
+  {
+    "icon_id": "24932461",
+    "name": "VIP-filled",
+    "font_class": "vip-filled",
+    "unicode": "e6c6",
+    "unicode_decimal": 59078 },
+
+  {
+    "icon_id": "24932462",
+    "name": "plus_circle_fill",
+    "font_class": "plus-filled",
+    "unicode": "e6c7",
+    "unicode_decimal": 59079 },
+
+  {
+    "icon_id": "24932463",
+    "name": "folder_add-filled",
+    "font_class": "folder-add-filled",
+    "unicode": "e6c8",
+    "unicode_decimal": 59080 },
+
+  {
+    "icon_id": "24932464",
+    "name": "yanse-filled",
+    "font_class": "color-filled",
+    "unicode": "e6c9",
+    "unicode_decimal": 59081 },
+
+  {
+    "icon_id": "24932465",
+    "name": "tune-filled",
+    "font_class": "tune-filled",
+    "unicode": "e6ca",
+    "unicode_decimal": 59082 },
+
+  {
+    "icon_id": "24932455",
+    "name": "a-rilidaka-filled",
+    "font_class": "calendar-filled",
+    "unicode": "e6c0",
+    "unicode_decimal": 59072 },
+
+  {
+    "icon_id": "24932456",
+    "name": "notification-filled",
+    "font_class": "notification-filled",
+    "unicode": "e6c1",
+    "unicode_decimal": 59073 },
+
+  {
+    "icon_id": "24932457",
+    "name": "wallet-filled",
+    "font_class": "wallet-filled",
+    "unicode": "e6c2",
+    "unicode_decimal": 59074 },
+
+  {
+    "icon_id": "24932458",
+    "name": "paihangbang-filled",
+    "font_class": "medal-filled",
+    "unicode": "e6c3",
+    "unicode_decimal": 59075 },
+
+  {
+    "icon_id": "24932459",
+    "name": "gift-filled",
+    "font_class": "gift-filled",
+    "unicode": "e6c4",
+    "unicode_decimal": 59076 },
+
+  {
+    "icon_id": "24932460",
+    "name": "fire-filled",
+    "font_class": "fire-filled",
+    "unicode": "e6c5",
+    "unicode_decimal": 59077 },
+
+  {
+    "icon_id": "24928001",
+    "name": "refreshempty",
+    "font_class": "refreshempty",
+    "unicode": "e6bf",
+    "unicode_decimal": 59071 },
+
+  {
+    "icon_id": "24926853",
+    "name": "location-ellipse",
+    "font_class": "location-filled",
+    "unicode": "e6af",
+    "unicode_decimal": 59055 },
+
+  {
+    "icon_id": "24926735",
+    "name": "person-filled",
+    "font_class": "person-filled",
+    "unicode": "e69d",
+    "unicode_decimal": 59037 },
+
+  {
+    "icon_id": "24926703",
+    "name": "personadd-filled",
+    "font_class": "personadd-filled",
+    "unicode": "e698",
+    "unicode_decimal": 59032 },
+
+  {
+    "icon_id": "24923351",
+    "name": "back",
+    "font_class": "back",
+    "unicode": "e6b9",
+    "unicode_decimal": 59065 },
+
+  {
+    "icon_id": "24923352",
+    "name": "forward",
+    "font_class": "forward",
+    "unicode": "e6ba",
+    "unicode_decimal": 59066 },
+
+  {
+    "icon_id": "24923353",
+    "name": "arrowthinright",
+    "font_class": "arrow-right",
+    "unicode": "e6bb",
+    "unicode_decimal": 59067 },
+
+  {
+    "icon_id": "24923353",
+    "name": "arrowthinright",
+    "font_class": "arrowthinright",
+    "unicode": "e6bb",
+    "unicode_decimal": 59067 },
+
+  {
+    "icon_id": "24923354",
+    "name": "arrowthinleft",
+    "font_class": "arrow-left",
+    "unicode": "e6bc",
+    "unicode_decimal": 59068 },
+
+  {
+    "icon_id": "24923354",
+    "name": "arrowthinleft",
+    "font_class": "arrowthinleft",
+    "unicode": "e6bc",
+    "unicode_decimal": 59068 },
+
+  {
+    "icon_id": "24923355",
+    "name": "arrowthinup",
+    "font_class": "arrow-up",
+    "unicode": "e6bd",
+    "unicode_decimal": 59069 },
+
+  {
+    "icon_id": "24923355",
+    "name": "arrowthinup",
+    "font_class": "arrowthinup",
+    "unicode": "e6bd",
+    "unicode_decimal": 59069 },
+
+  {
+    "icon_id": "24923356",
+    "name": "arrowthindown",
+    "font_class": "arrow-down",
+    "unicode": "e6be",
+    "unicode_decimal": 59070 },
+  {
+    "icon_id": "24923356",
+    "name": "arrowthindown",
+    "font_class": "arrowthindown",
+    "unicode": "e6be",
+    "unicode_decimal": 59070 },
+
+  {
+    "icon_id": "24923349",
+    "name": "arrowdown",
+    "font_class": "bottom",
+    "unicode": "e6b8",
+    "unicode_decimal": 59064 },
+  {
+    "icon_id": "24923349",
+    "name": "arrowdown",
+    "font_class": "arrowdown",
+    "unicode": "e6b8",
+    "unicode_decimal": 59064 },
+
+  {
+    "icon_id": "24923346",
     "name": "arrowright",
     "font_class": "right",
     "unicode": "e6b5",
     "unicode_decimal": 59061 },
 
   {
-    "icon_id": "24923346",
-    "name": "arrowright",
-    "font_class": "arrowright",
-    "unicode": "e6b5",
-    "unicode_decimal": 59061 },
+    "icon_id": "24923346",
+    "name": "arrowright",
+    "font_class": "arrowright",
+    "unicode": "e6b5",
+    "unicode_decimal": 59061 },
+
+  {
+    "icon_id": "24923347",
+    "name": "arrowup",
+    "font_class": "top",
+    "unicode": "e6b6",
+    "unicode_decimal": 59062 },
+
+  {
+    "icon_id": "24923347",
+    "name": "arrowup",
+    "font_class": "arrowup",
+    "unicode": "e6b6",
+    "unicode_decimal": 59062 },
+
+  {
+    "icon_id": "24923348",
+    "name": "arrowleft",
+    "font_class": "left",
+    "unicode": "e6b7",
+    "unicode_decimal": 59063 },
+
+  {
+    "icon_id": "24923348",
+    "name": "arrowleft",
+    "font_class": "arrowleft",
+    "unicode": "e6b7",
+    "unicode_decimal": 59063 },
+
+  {
+    "icon_id": "24923334",
+    "name": "eye",
+    "font_class": "eye",
+    "unicode": "e651",
+    "unicode_decimal": 58961 },
+
+  {
+    "icon_id": "24923335",
+    "name": "eye-filled",
+    "font_class": "eye-filled",
+    "unicode": "e66a",
+    "unicode_decimal": 58986 },
+
+  {
+    "icon_id": "24923336",
+    "name": "eye-slash",
+    "font_class": "eye-slash",
+    "unicode": "e6b3",
+    "unicode_decimal": 59059 },
+
+  {
+    "icon_id": "24923337",
+    "name": "eye-slash-filled",
+    "font_class": "eye-slash-filled",
+    "unicode": "e6b4",
+    "unicode_decimal": 59060 },
+
+  {
+    "icon_id": "24923305",
+    "name": "info-filled",
+    "font_class": "info-filled",
+    "unicode": "e649",
+    "unicode_decimal": 58953 },
+
+  {
+    "icon_id": "24923299",
+    "name": "reload-01",
+    "font_class": "reload",
+    "unicode": "e6b2",
+    "unicode_decimal": 59058 },
+
+  {
+    "icon_id": "24923195",
+    "name": "mic_slash_fill",
+    "font_class": "micoff-filled",
+    "unicode": "e6b0",
+    "unicode_decimal": 59056 },
+
+  {
+    "icon_id": "24923165",
+    "name": "map-pin-ellipse",
+    "font_class": "map-pin-ellipse",
+    "unicode": "e6ac",
+    "unicode_decimal": 59052 },
+
+  {
+    "icon_id": "24923166",
+    "name": "map-pin",
+    "font_class": "map-pin",
+    "unicode": "e6ad",
+    "unicode_decimal": 59053 },
+
+  {
+    "icon_id": "24923167",
+    "name": "location",
+    "font_class": "location",
+    "unicode": "e6ae",
+    "unicode_decimal": 59054 },
+
+  {
+    "icon_id": "24923064",
+    "name": "starhalf",
+    "font_class": "starhalf",
+    "unicode": "e683",
+    "unicode_decimal": 59011 },
+
+  {
+    "icon_id": "24923065",
+    "name": "star",
+    "font_class": "star",
+    "unicode": "e688",
+    "unicode_decimal": 59016 },
+
+  {
+    "icon_id": "24923066",
+    "name": "star-filled",
+    "font_class": "star-filled",
+    "unicode": "e68f",
+    "unicode_decimal": 59023 },
+
+  {
+    "icon_id": "24899646",
+    "name": "a-rilidaka",
+    "font_class": "calendar",
+    "unicode": "e6a0",
+    "unicode_decimal": 59040 },
+
+  {
+    "icon_id": "24899647",
+    "name": "fire",
+    "font_class": "fire",
+    "unicode": "e6a1",
+    "unicode_decimal": 59041 },
+
+  {
+    "icon_id": "24899648",
+    "name": "paihangbang",
+    "font_class": "medal",
+    "unicode": "e6a2",
+    "unicode_decimal": 59042 },
+
+  {
+    "icon_id": "24899649",
+    "name": "font",
+    "font_class": "font",
+    "unicode": "e6a3",
+    "unicode_decimal": 59043 },
+
+  {
+    "icon_id": "24899650",
+    "name": "gift",
+    "font_class": "gift",
+    "unicode": "e6a4",
+    "unicode_decimal": 59044 },
+
+  {
+    "icon_id": "24899651",
+    "name": "link",
+    "font_class": "link",
+    "unicode": "e6a5",
+    "unicode_decimal": 59045 },
+
+  {
+    "icon_id": "24899652",
+    "name": "notification",
+    "font_class": "notification",
+    "unicode": "e6a6",
+    "unicode_decimal": 59046 },
+
+  {
+    "icon_id": "24899653",
+    "name": "staff",
+    "font_class": "staff",
+    "unicode": "e6a7",
+    "unicode_decimal": 59047 },
+
+  {
+    "icon_id": "24899654",
+    "name": "VIP",
+    "font_class": "vip",
+    "unicode": "e6a8",
+    "unicode_decimal": 59048 },
+
+  {
+    "icon_id": "24899655",
+    "name": "folder_add",
+    "font_class": "folder-add",
+    "unicode": "e6a9",
+    "unicode_decimal": 59049 },
+
+  {
+    "icon_id": "24899656",
+    "name": "tune",
+    "font_class": "tune",
+    "unicode": "e6aa",
+    "unicode_decimal": 59050 },
+
+  {
+    "icon_id": "24899657",
+    "name": "shimingrenzheng",
+    "font_class": "auth",
+    "unicode": "e6ab",
+    "unicode_decimal": 59051 },
+
+  {
+    "icon_id": "24899565",
+    "name": "person",
+    "font_class": "person",
+    "unicode": "e699",
+    "unicode_decimal": 59033 },
+
+  {
+    "icon_id": "24899566",
+    "name": "email-filled",
+    "font_class": "email-filled",
+    "unicode": "e69a",
+    "unicode_decimal": 59034 },
+
+  {
+    "icon_id": "24899567",
+    "name": "phone-filled",
+    "font_class": "phone-filled",
+    "unicode": "e69b",
+    "unicode_decimal": 59035 },
+
+  {
+    "icon_id": "24899568",
+    "name": "phone",
+    "font_class": "phone",
+    "unicode": "e69c",
+    "unicode_decimal": 59036 },
+
+  {
+    "icon_id": "24899570",
+    "name": "email",
+    "font_class": "email",
+    "unicode": "e69e",
+    "unicode_decimal": 59038 },
+
+  {
+    "icon_id": "24899571",
+    "name": "personadd",
+    "font_class": "personadd",
+    "unicode": "e69f",
+    "unicode_decimal": 59039 },
+
+  {
+    "icon_id": "24899558",
+    "name": "chatboxes-filled",
+    "font_class": "chatboxes-filled",
+    "unicode": "e692",
+    "unicode_decimal": 59026 },
+
+  {
+    "icon_id": "24899559",
+    "name": "contact",
+    "font_class": "contact",
+    "unicode": "e693",
+    "unicode_decimal": 59027 },
+
+  {
+    "icon_id": "24899560",
+    "name": "chatbubble-filled",
+    "font_class": "chatbubble-filled",
+    "unicode": "e694",
+    "unicode_decimal": 59028 },
+
+  {
+    "icon_id": "24899561",
+    "name": "contact-filled",
+    "font_class": "contact-filled",
+    "unicode": "e695",
+    "unicode_decimal": 59029 },
+
+  {
+    "icon_id": "24899562",
+    "name": "chatboxes",
+    "font_class": "chatboxes",
+    "unicode": "e696",
+    "unicode_decimal": 59030 },
+
+  {
+    "icon_id": "24899563",
+    "name": "chatbubble",
+    "font_class": "chatbubble",
+    "unicode": "e697",
+    "unicode_decimal": 59031 },
+
+  {
+    "icon_id": "24881290",
+    "name": "upload-filled",
+    "font_class": "upload-filled",
+    "unicode": "e68e",
+    "unicode_decimal": 59022 },
+
+  {
+    "icon_id": "24881292",
+    "name": "upload",
+    "font_class": "upload",
+    "unicode": "e690",
+    "unicode_decimal": 59024 },
+
+  {
+    "icon_id": "24881293",
+    "name": "weixin",
+    "font_class": "weixin",
+    "unicode": "e691",
+    "unicode_decimal": 59025 },
+
+  {
+    "icon_id": "24881274",
+    "name": "compose",
+    "font_class": "compose",
+    "unicode": "e67f",
+    "unicode_decimal": 59007 },
+
+  {
+    "icon_id": "24881275",
+    "name": "qq",
+    "font_class": "qq",
+    "unicode": "e680",
+    "unicode_decimal": 59008 },
+
+  {
+    "icon_id": "24881276",
+    "name": "download-filled",
+    "font_class": "download-filled",
+    "unicode": "e681",
+    "unicode_decimal": 59009 },
+
+  {
+    "icon_id": "24881277",
+    "name": "pengyouquan",
+    "font_class": "pyq",
+    "unicode": "e682",
+    "unicode_decimal": 59010 },
+
+  {
+    "icon_id": "24881279",
+    "name": "sound",
+    "font_class": "sound",
+    "unicode": "e684",
+    "unicode_decimal": 59012 },
+
+  {
+    "icon_id": "24881280",
+    "name": "trash-filled",
+    "font_class": "trash-filled",
+    "unicode": "e685",
+    "unicode_decimal": 59013 },
+
+  {
+    "icon_id": "24881281",
+    "name": "sound-filled",
+    "font_class": "sound-filled",
+    "unicode": "e686",
+    "unicode_decimal": 59014 },
+
+  {
+    "icon_id": "24881282",
+    "name": "trash",
+    "font_class": "trash",
+    "unicode": "e687",
+    "unicode_decimal": 59015 },
+
+  {
+    "icon_id": "24881284",
+    "name": "videocam-filled",
+    "font_class": "videocam-filled",
+    "unicode": "e689",
+    "unicode_decimal": 59017 },
+
+  {
+    "icon_id": "24881285",
+    "name": "spinner-cycle",
+    "font_class": "spinner-cycle",
+    "unicode": "e68a",
+    "unicode_decimal": 59018 },
+
+  {
+    "icon_id": "24881286",
+    "name": "weibo",
+    "font_class": "weibo",
+    "unicode": "e68b",
+    "unicode_decimal": 59019 },
+
+  {
+    "icon_id": "24881288",
+    "name": "videocam",
+    "font_class": "videocam",
+    "unicode": "e68c",
+    "unicode_decimal": 59020 },
+
+  {
+    "icon_id": "24881289",
+    "name": "download",
+    "font_class": "download",
+    "unicode": "e68d",
+    "unicode_decimal": 59021 },
+
+  {
+    "icon_id": "24879601",
+    "name": "help",
+    "font_class": "help",
+    "unicode": "e679",
+    "unicode_decimal": 59001 },
+
+  {
+    "icon_id": "24879602",
+    "name": "navigate-filled",
+    "font_class": "navigate-filled",
+    "unicode": "e67a",
+    "unicode_decimal": 59002 },
+
+  {
+    "icon_id": "24879603",
+    "name": "plusempty",
+    "font_class": "plusempty",
+    "unicode": "e67b",
+    "unicode_decimal": 59003 },
+
+  {
+    "icon_id": "24879604",
+    "name": "smallcircle",
+    "font_class": "smallcircle",
+    "unicode": "e67c",
+    "unicode_decimal": 59004 },
+
+  {
+    "icon_id": "24879605",
+    "name": "minus-filled",
+    "font_class": "minus-filled",
+    "unicode": "e67d",
+    "unicode_decimal": 59005 },
+
+  {
+    "icon_id": "24879606",
+    "name": "micoff",
+    "font_class": "micoff",
+    "unicode": "e67e",
+    "unicode_decimal": 59006 },
+
+  {
+    "icon_id": "24879588",
+    "name": "closeempty",
+    "font_class": "closeempty",
+    "unicode": "e66c",
+    "unicode_decimal": 58988 },
+
+  {
+    "icon_id": "24879589",
+    "name": "clear",
+    "font_class": "clear",
+    "unicode": "e66d",
+    "unicode_decimal": 58989 },
+
+  {
+    "icon_id": "24879590",
+    "name": "navigate",
+    "font_class": "navigate",
+    "unicode": "e66e",
+    "unicode_decimal": 58990 },
+
+  {
+    "icon_id": "24879591",
+    "name": "minus",
+    "font_class": "minus",
+    "unicode": "e66f",
+    "unicode_decimal": 58991 },
+
+  {
+    "icon_id": "24879592",
+    "name": "image",
+    "font_class": "image",
+    "unicode": "e670",
+    "unicode_decimal": 58992 },
+
+  {
+    "icon_id": "24879593",
+    "name": "mic",
+    "font_class": "mic",
+    "unicode": "e671",
+    "unicode_decimal": 58993 },
+
+  {
+    "icon_id": "24879594",
+    "name": "paperplane",
+    "font_class": "paperplane",
+    "unicode": "e672",
+    "unicode_decimal": 58994 },
+
+  {
+    "icon_id": "24879595",
+    "name": "close",
+    "font_class": "close",
+    "unicode": "e673",
+    "unicode_decimal": 58995 },
+
+  {
+    "icon_id": "24879596",
+    "name": "help-filled",
+    "font_class": "help-filled",
+    "unicode": "e674",
+    "unicode_decimal": 58996 },
+
+  {
+    "icon_id": "24879597",
+    "name": "plus-filled",
+    "font_class": "paperplane-filled",
+    "unicode": "e675",
+    "unicode_decimal": 58997 },
+
+  {
+    "icon_id": "24879598",
+    "name": "plus",
+    "font_class": "plus",
+    "unicode": "e676",
+    "unicode_decimal": 58998 },
+
+  {
+    "icon_id": "24879599",
+    "name": "mic-filled",
+    "font_class": "mic-filled",
+    "unicode": "e677",
+    "unicode_decimal": 58999 },
+
+  {
+    "icon_id": "24879600",
+    "name": "image-filled",
+    "font_class": "image-filled",
+    "unicode": "e678",
+    "unicode_decimal": 59000 },
+
+  {
+    "icon_id": "24855900",
+    "name": "locked-filled",
+    "font_class": "locked-filled",
+    "unicode": "e668",
+    "unicode_decimal": 58984 },
+
+  {
+    "icon_id": "24855901",
+    "name": "info",
+    "font_class": "info",
+    "unicode": "e669",
+    "unicode_decimal": 58985 },
+
+  {
+    "icon_id": "24855903",
+    "name": "locked",
+    "font_class": "locked",
+    "unicode": "e66b",
+    "unicode_decimal": 58987 },
+
+  {
+    "icon_id": "24855884",
+    "name": "camera-filled",
+    "font_class": "camera-filled",
+    "unicode": "e658",
+    "unicode_decimal": 58968 },
+
+  {
+    "icon_id": "24855885",
+    "name": "chat-filled",
+    "font_class": "chat-filled",
+    "unicode": "e659",
+    "unicode_decimal": 58969 },
+
+  {
+    "icon_id": "24855886",
+    "name": "camera",
+    "font_class": "camera",
+    "unicode": "e65a",
+    "unicode_decimal": 58970 },
+
+  {
+    "icon_id": "24855887",
+    "name": "circle",
+    "font_class": "circle",
+    "unicode": "e65b",
+    "unicode_decimal": 58971 },
+
+  {
+    "icon_id": "24855888",
+    "name": "checkmarkempty",
+    "font_class": "checkmarkempty",
+    "unicode": "e65c",
+    "unicode_decimal": 58972 },
+
+  {
+    "icon_id": "24855889",
+    "name": "chat",
+    "font_class": "chat",
+    "unicode": "e65d",
+    "unicode_decimal": 58973 },
+
+  {
+    "icon_id": "24855890",
+    "name": "circle-filled",
+    "font_class": "circle-filled",
+    "unicode": "e65e",
+    "unicode_decimal": 58974 },
+
+  {
+    "icon_id": "24855891",
+    "name": "flag",
+    "font_class": "flag",
+    "unicode": "e65f",
+    "unicode_decimal": 58975 },
+
+  {
+    "icon_id": "24855892",
+    "name": "flag-filled",
+    "font_class": "flag-filled",
+    "unicode": "e660",
+    "unicode_decimal": 58976 },
 
   {
-    "icon_id": "24923347",
-    "name": "arrowup",
-    "font_class": "top",
-    "unicode": "e6b6",
-    "unicode_decimal": 59062 },
+    "icon_id": "24855893",
+    "name": "gear-filled",
+    "font_class": "gear-filled",
+    "unicode": "e661",
+    "unicode_decimal": 58977 },
 
   {
-    "icon_id": "24923347",
-    "name": "arrowup",
-    "font_class": "arrowup",
-    "unicode": "e6b6",
-    "unicode_decimal": 59062 },
+    "icon_id": "24855894",
+    "name": "home",
+    "font_class": "home",
+    "unicode": "e662",
+    "unicode_decimal": 58978 },
 
   {
-    "icon_id": "24923348",
-    "name": "arrowleft",
-    "font_class": "left",
-    "unicode": "e6b7",
-    "unicode_decimal": 59063 },
+    "icon_id": "24855895",
+    "name": "home-filled",
+    "font_class": "home-filled",
+    "unicode": "e663",
+    "unicode_decimal": 58979 },
 
   {
-    "icon_id": "24923348",
-    "name": "arrowleft",
-    "font_class": "arrowleft",
-    "unicode": "e6b7",
-    "unicode_decimal": 59063 },
+    "icon_id": "24855896",
+    "name": "gear",
+    "font_class": "gear",
+    "unicode": "e664",
+    "unicode_decimal": 58980 },
 
   {
-    "icon_id": "24923334",
-    "name": "eye",
-    "font_class": "eye",
-    "unicode": "e651",
-    "unicode_decimal": 58961 },
+    "icon_id": "24855897",
+    "name": "smallcircle-filled",
+    "font_class": "smallcircle-filled",
+    "unicode": "e665",
+    "unicode_decimal": 58981 },
 
   {
-    "icon_id": "24923335",
-    "name": "eye-filled",
-    "font_class": "eye-filled",
-    "unicode": "e66a",
-    "unicode_decimal": 58986 },
+    "icon_id": "24855898",
+    "name": "map-filled",
+    "font_class": "map-filled",
+    "unicode": "e666",
+    "unicode_decimal": 58982 },
 
   {
-    "icon_id": "24923336",
-    "name": "eye-slash",
-    "font_class": "eye-slash",
-    "unicode": "e6b3",
-    "unicode_decimal": 59059 },
+    "icon_id": "24855899",
+    "name": "map",
+    "font_class": "map",
+    "unicode": "e667",
+    "unicode_decimal": 58983 },
 
   {
-    "icon_id": "24923337",
-    "name": "eye-slash-filled",
-    "font_class": "eye-slash-filled",
-    "unicode": "e6b4",
-    "unicode_decimal": 59060 },
+    "icon_id": "24855825",
+    "name": "refresh-filled",
+    "font_class": "refresh-filled",
+    "unicode": "e656",
+    "unicode_decimal": 58966 },
 
   {
-    "icon_id": "24923305",
-    "name": "info-filled",
-    "font_class": "info-filled",
-    "unicode": "e649",
-    "unicode_decimal": 58953 },
+    "icon_id": "24855826",
+    "name": "refresh",
+    "font_class": "refresh",
+    "unicode": "e657",
+    "unicode_decimal": 58967 },
 
   {
-    "icon_id": "24923299",
-    "name": "reload-01",
-    "font_class": "reload",
-    "unicode": "e6b2",
-    "unicode_decimal": 59058 },
+    "icon_id": "24855808",
+    "name": "cloud-upload",
+    "font_class": "cloud-upload",
+    "unicode": "e645",
+    "unicode_decimal": 58949 },
 
   {
-    "icon_id": "24923195",
-    "name": "mic_slash_fill",
-    "font_class": "micoff-filled",
-    "unicode": "e6b0",
-    "unicode_decimal": 59056 },
+    "icon_id": "24855809",
+    "name": "cloud-download-filled",
+    "font_class": "cloud-download-filled",
+    "unicode": "e646",
+    "unicode_decimal": 58950 },
+
+  {
+    "icon_id": "24855810",
+    "name": "cloud-download",
+    "font_class": "cloud-download",
+    "unicode": "e647",
+    "unicode_decimal": 58951 },
+
+  {
+    "icon_id": "24855811",
+    "name": "cloud-upload-filled",
+    "font_class": "cloud-upload-filled",
+    "unicode": "e648",
+    "unicode_decimal": 58952 },
+
+  {
+    "icon_id": "24855813",
+    "name": "redo",
+    "font_class": "redo",
+    "unicode": "e64a",
+    "unicode_decimal": 58954 },
+
+  {
+    "icon_id": "24855814",
+    "name": "images-filled",
+    "font_class": "images-filled",
+    "unicode": "e64b",
+    "unicode_decimal": 58955 },
+
+  {
+    "icon_id": "24855815",
+    "name": "undo-filled",
+    "font_class": "undo-filled",
+    "unicode": "e64c",
+    "unicode_decimal": 58956 },
+
+  {
+    "icon_id": "24855816",
+    "name": "more",
+    "font_class": "more",
+    "unicode": "e64d",
+    "unicode_decimal": 58957 },
+
+  {
+    "icon_id": "24855817",
+    "name": "more-filled",
+    "font_class": "more-filled",
+    "unicode": "e64e",
+    "unicode_decimal": 58958 },
+
+  {
+    "icon_id": "24855818",
+    "name": "undo",
+    "font_class": "undo",
+    "unicode": "e64f",
+    "unicode_decimal": 58959 },
+
+  {
+    "icon_id": "24855819",
+    "name": "images",
+    "font_class": "images",
+    "unicode": "e650",
+    "unicode_decimal": 58960 },
+
+  {
+    "icon_id": "24855821",
+    "name": "paperclip",
+    "font_class": "paperclip",
+    "unicode": "e652",
+    "unicode_decimal": 58962 },
+
+  {
+    "icon_id": "24855822",
+    "name": "settings",
+    "font_class": "settings",
+    "unicode": "e653",
+    "unicode_decimal": 58963 },
+
+  {
+    "icon_id": "24855823",
+    "name": "search",
+    "font_class": "search",
+    "unicode": "e654",
+    "unicode_decimal": 58964 },
+
+  {
+    "icon_id": "24855824",
+    "name": "redo-filled",
+    "font_class": "redo-filled",
+    "unicode": "e655",
+    "unicode_decimal": 58965 },
+
+  {
+    "icon_id": "24841702",
+    "name": "list",
+    "font_class": "list",
+    "unicode": "e644",
+    "unicode_decimal": 58948 },
+
+  {
+    "icon_id": "24841489",
+    "name": "mail-open-filled",
+    "font_class": "mail-open-filled",
+    "unicode": "e63a",
+    "unicode_decimal": 58938 },
+
+  {
+    "icon_id": "24841491",
+    "name": "hand-thumbsdown-filled",
+    "font_class": "hand-down-filled",
+    "unicode": "e63c",
+    "unicode_decimal": 58940 },
+
+  {
+    "icon_id": "24841492",
+    "name": "hand-thumbsdown",
+    "font_class": "hand-down",
+    "unicode": "e63d",
+    "unicode_decimal": 58941 },
+
+  {
+    "icon_id": "24841493",
+    "name": "hand-thumbsup-filled",
+    "font_class": "hand-up-filled",
+    "unicode": "e63e",
+    "unicode_decimal": 58942 },
+
+  {
+    "icon_id": "24841494",
+    "name": "hand-thumbsup",
+    "font_class": "hand-up",
+    "unicode": "e63f",
+    "unicode_decimal": 58943 },
 
   {
-    "icon_id": "24923165",
-    "name": "map-pin-ellipse",
-    "font_class": "map-pin-ellipse",
-    "unicode": "e6ac",
-    "unicode_decimal": 59052 },
+    "icon_id": "24841496",
+    "name": "heart-filled",
+    "font_class": "heart-filled",
+    "unicode": "e641",
+    "unicode_decimal": 58945 },
 
   {
-    "icon_id": "24923166",
-    "name": "map-pin",
-    "font_class": "map-pin",
-    "unicode": "e6ad",
-    "unicode_decimal": 59053 },
+    "icon_id": "24841498",
+    "name": "mail-open",
+    "font_class": "mail-open",
+    "unicode": "e643",
+    "unicode_decimal": 58947 },
 
   {
-    "icon_id": "24923167",
-    "name": "location",
-    "font_class": "location",
-    "unicode": "e6ae",
-    "unicode_decimal": 59054 },
+    "icon_id": "24841488",
+    "name": "heart",
+    "font_class": "heart",
+    "unicode": "e639",
+    "unicode_decimal": 58937 },
 
   {
-    "icon_id": "24923064",
-    "name": "starhalf",
-    "font_class": "starhalf",
-    "unicode": "e683",
-    "unicode_decimal": 59011 },
+    "icon_id": "24839963",
+    "name": "loop",
+    "font_class": "loop",
+    "unicode": "e633",
+    "unicode_decimal": 58931 },
 
   {
-    "icon_id": "24923065",
-    "name": "star",
-    "font_class": "star",
-    "unicode": "e688",
-    "unicode_decimal": 59016 },
+    "icon_id": "24839866",
+    "name": "pulldown",
+    "font_class": "pulldown",
+    "unicode": "e632",
+    "unicode_decimal": 58930 },
 
   {
-    "icon_id": "24923066",
-    "name": "star-filled",
-    "font_class": "star-filled",
-    "unicode": "e68f",
-    "unicode_decimal": 59023 },
+    "icon_id": "24813798",
+    "name": "scan",
+    "font_class": "scan",
+    "unicode": "e62a",
+    "unicode_decimal": 58922 },
 
   {
-    "icon_id": "24899646",
-    "name": "a-rilidaka",
-    "font_class": "calendar",
-    "unicode": "e6a0",
-    "unicode_decimal": 59040 },
+    "icon_id": "24813786",
+    "name": "bars",
+    "font_class": "bars",
+    "unicode": "e627",
+    "unicode_decimal": 58919 },
 
   {
-    "icon_id": "24899647",
-    "name": "fire",
-    "font_class": "fire",
-    "unicode": "e6a1",
-    "unicode_decimal": 59041 },
+    "icon_id": "24813788",
+    "name": "cart-filled",
+    "font_class": "cart-filled",
+    "unicode": "e629",
+    "unicode_decimal": 58921 },
 
   {
-    "icon_id": "24899648",
-    "name": "paihangbang",
-    "font_class": "medal",
-    "unicode": "e6a2",
-    "unicode_decimal": 59042 },
+    "icon_id": "24813790",
+    "name": "checkbox",
+    "font_class": "checkbox",
+    "unicode": "e62b",
+    "unicode_decimal": 58923 },
 
   {
-    "icon_id": "24899649",
-    "name": "font",
-    "font_class": "font",
-    "unicode": "e6a3",
-    "unicode_decimal": 59043 },
+    "icon_id": "24813791",
+    "name": "checkbox-filled",
+    "font_class": "checkbox-filled",
+    "unicode": "e62c",
+    "unicode_decimal": 58924 },
 
   {
-    "icon_id": "24899650",
-    "name": "gift",
-    "font_class": "gift",
-    "unicode": "e6a4",
-    "unicode_decimal": 59044 },
+    "icon_id": "24813794",
+    "name": "shop",
+    "font_class": "shop",
+    "unicode": "e62f",
+    "unicode_decimal": 58927 },
 
   {
-    "icon_id": "24899651",
-    "name": "link",
-    "font_class": "link",
-    "unicode": "e6a5",
-    "unicode_decimal": 59045 },
+    "icon_id": "24813795",
+    "name": "headphones",
+    "font_class": "headphones",
+    "unicode": "e630",
+    "unicode_decimal": 58928 },
 
   {
-    "icon_id": "24899652",
-    "name": "notification",
-    "font_class": "notification",
-    "unicode": "e6a6",
-    "unicode_decimal": 59046 },
+    "icon_id": "24813796",
+    "name": "cart",
+    "font_class": "cart",
+    "unicode": "e631",
+    "unicode_decimal": 58929 }] };exports.default = _default;
+
+/***/ }),
+/* 262 */,
+/* 263 */,
+/* 264 */
+/*!****************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/user/index.js ***!
+  \****************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.login = login;exports.update = update;exports.info = info;exports.bind = bind;exports.isLogin = isLogin;exports.default = void 0;var _regenerator = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ 34));
+
+
+var _auth = __webpack_require__(/*! ../../utils/auth */ 250);
+
+
+
+var _episode = _interopRequireDefault(__webpack_require__(/*! ./episode */ 265));
+var _consume = _interopRequireDefault(__webpack_require__(/*! ./consume */ 266));
+var _recharge = _interopRequireDefault(__webpack_require__(/*! ./recharge */ 267));
+var _collect = _interopRequireDefault(__webpack_require__(/*! ./collect */ 268));
+var _favorite = _interopRequireDefault(__webpack_require__(/*! ./favorite */ 269));
+var _vip = _interopRequireDefault(__webpack_require__(/*! ./vip */ 270));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);}_next(undefined);});};}var request = uni.$u.http;function
+
+login() {return _login.apply(this, arguments);}function _login() {_login = _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee() {return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:
+            console.log('-->data', 1);return _context.abrupt("return",
+            new Promise(function (resolve) {
+              uni.showLoading({
+                title: '数据加载中...',
+                mask: true });
+
+              uni.login({
+                provider: uni.$u.platform,
+                success: function success(loginRes) {
+                  console.log('-->data', loginRes);
+                  uni.hideLoading();
+
+
+
+
+
+
+
+                  var url = '/auth/wechat';
+
+
+                  return request.post(
+                  url,
+                  { code: loginRes.code, anonymousCode: loginRes.anonymousCode }).
+                  then(function (res) {
+                    resolve(res);
+                  });
+                } });
+
+            }));case 2:case "end":return _context.stop();}}}, _callee);}));return _login.apply(this, arguments);}
+
+
+function update(data) {
+  return request.post(
+  'user/update',
+  data);
+
+}function
+
+info() {return _info.apply(this, arguments);}function _info() {_info = _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee2() {return _regenerator.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:return _context2.abrupt("return",
+            request.get(
+            'user/info'));case 1:case "end":return _context2.stop();}}}, _callee2);}));return _info.apply(this, arguments);}function
+
+
+
+bind(_x) {return _bind.apply(this, arguments);}function _bind() {_bind = _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee3(id) {return _regenerator.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:return _context3.abrupt("return",
+            request.post("user/".concat(
+            id, "/bind")));case 1:case "end":return _context3.stop();}}}, _callee3);}));return _bind.apply(this, arguments);}
+
+
+
+function isLogin() {
+  return !!(0, _auth.getToken)();
+}var _default =
+
+{
+  login: login,
+  update: update,
+  bind: bind,
+  info: info,
+  isLogin: isLogin,
+  episode: _episode.default,
+  consume: _consume.default,
+  recharge: _recharge.default,
+  collect: _collect.default,
+  favorite: _favorite.default,
+  vip: _vip.default };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
+
+/***/ }),
+/* 265 */
+/*!******************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/user/episode.js ***!
+  \******************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.record = record;exports.deleteRecord = deleteRecord;exports.recent = recent;exports.watched = watched;exports.buyRecord = buyRecord;exports.buyHandle = buyHandle;exports.default = void 0;var _regenerator = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ 34));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);}_next(undefined);});};}
+/**
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             */
+var request = uni.$u.http;
+
+function record(params) {
+  return request.get(
+  'user/watch/record',
+  { params: params });
+
+}
+function deleteRecord(id) {
+  return request.post("user/watch/".concat(
+  id, "/destroy"));
+
+}
+
+function recent() {
+  return request.get(
+  'user/watch/recent');
+
+}
+
+function watched(id, list_id) {
+  return request.post(
+  'user/watch/episode',
+  { id: id, list_id: list_id });
+
+}function
+
+buyRecord(_x) {return _buyRecord.apply(this, arguments);}function _buyRecord() {_buyRecord = _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee(episode_id) {return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:return _context.abrupt("return",
+            request.get("user/episode/buy/".concat(
+            episode_id, "/record")));case 1:case "end":return _context.stop();}}}, _callee);}));return _buyRecord.apply(this, arguments);}function
+
+
+
+buyHandle(_x2, _x3) {return _buyHandle.apply(this, arguments);}function _buyHandle() {_buyHandle = _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee2(episode_id, list_id) {return _regenerator.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:return _context2.abrupt("return",
+            request.post("user/episode/".concat(
+            episode_id, "/").concat(list_id, "/buy")));case 1:case "end":return _context2.stop();}}}, _callee2);}));return _buyHandle.apply(this, arguments);}var _default =
+
+
+{
+  recent: recent,
+  record: record,
+  deleteRecord: deleteRecord,
+  watched: watched,
+  buyRecord: buyRecord,
+  buyHandle: buyHandle };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
+
+/***/ }),
+/* 266 */
+/*!******************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/user/consume.js ***!
+  \******************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.record = record;exports.default = void 0;
+/**
+                                                                                                                              * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+                                                                                                                              */
+var request = uni.$u.http;
+
+function record(params) {
+  return request.get(
+  'user/consume/record',
+  { params: params });
+
+}var _default =
+
+{
+  record: record };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
+
+/***/ }),
+/* 267 */
+/*!*******************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/user/recharge.js ***!
+  \*******************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.record = record;exports.create = create;exports.default = void 0;
+/**
+                                                                                                                                                      * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+                                                                                                                                                      */
+var request = uni.$u.http;
+
+function record(params) {
+  return request.get(
+  'user/recharge/record',
+  { params: params });
+
+}
+
+function create(data) {
+  return request.post(
+  'user/recharge/create/order',
+  data);
+
+}var _default =
+
+{
+  record: record,
+  create: create };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
+
+/***/ }),
+/* 268 */
+/*!******************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/user/collect.js ***!
+  \******************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.record = record;exports.check = check;exports.add = add;exports.destroy = destroy;exports.default = void 0;
+/**
+                                                                                                                                                                                                * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+                                                                                                                                                                                                */
+var request = uni.$u.http;
+
+function record(params) {
+  return request.get("user/collect/record",
+
+  { params: params });
+
+}
+
+function check(id) {
+  return request.post("user/collect/".concat(
+  id, "/check"));
+
+}
+
+function add(id) {
+  return request.post("user/collect/".concat(
+  id, "/add"));
+
+}
+
+function destroy(id) {
+  return request.post("user/collect/".concat(
+  id, "/destroy"));
+
+}var _default =
+
+{
+  record: record,
+  check: check,
+  add: add,
+  destroy: destroy };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
+
+/***/ }),
+/* 269 */
+/*!*******************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/user/favorite.js ***!
+  \*******************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.check = check;exports.add = add;exports.destroy = destroy;exports.default = void 0;
+/**
+                                                                                                                                                                        * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+                                                                                                                                                                        */
+var request = uni.$u.http;
+
+function check(id) {
+  return request.post("user/favorite/".concat(
+  id, "/check"));
+
+}
 
-  {
-    "icon_id": "24899653",
-    "name": "staff",
-    "font_class": "staff",
-    "unicode": "e6a7",
-    "unicode_decimal": 59047 },
+function add(id) {
+  return request.post("user/favorite/".concat(
+  id, "/add"));
 
-  {
-    "icon_id": "24899654",
-    "name": "VIP",
-    "font_class": "vip",
-    "unicode": "e6a8",
-    "unicode_decimal": 59048 },
+}
 
-  {
-    "icon_id": "24899655",
-    "name": "folder_add",
-    "font_class": "folder-add",
-    "unicode": "e6a9",
-    "unicode_decimal": 59049 },
+function destroy(id) {
+  return request.post("user/favorite/".concat(
+  id, "/destroy"));
 
-  {
-    "icon_id": "24899656",
-    "name": "tune",
-    "font_class": "tune",
-    "unicode": "e6aa",
-    "unicode_decimal": 59050 },
+}var _default =
 
-  {
-    "icon_id": "24899657",
-    "name": "shimingrenzheng",
-    "font_class": "auth",
-    "unicode": "e6ab",
-    "unicode_decimal": 59051 },
+{
+  check: check,
+  add: add,
+  destroy: destroy };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24899565",
-    "name": "person",
-    "font_class": "person",
-    "unicode": "e699",
-    "unicode_decimal": 59033 },
+/***/ }),
+/* 270 */
+/*!**************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/user/vip.js ***!
+  \**************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24899566",
-    "name": "email-filled",
-    "font_class": "email-filled",
-    "unicode": "e69a",
-    "unicode_decimal": 59034 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.setting = setting;exports.create = create;exports.default = void 0;
+/**
+                                                                                                                                                        * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+                                                                                                                                                        */
+var request = uni.$u.http;
 
-  {
-    "icon_id": "24899567",
-    "name": "phone-filled",
-    "font_class": "phone-filled",
-    "unicode": "e69b",
-    "unicode_decimal": 59035 },
+function setting() {
+  return request.get(
+  'user/vip/setting');
 
-  {
-    "icon_id": "24899568",
-    "name": "phone",
-    "font_class": "phone",
-    "unicode": "e69c",
-    "unicode_decimal": 59036 },
+}
 
-  {
-    "icon_id": "24899570",
-    "name": "email",
-    "font_class": "email",
-    "unicode": "e69e",
-    "unicode_decimal": 59038 },
+function create(data) {
+  return request.post(
+  'user/vip/create/order',
+  data);
 
-  {
-    "icon_id": "24899571",
-    "name": "personadd",
-    "font_class": "personadd",
-    "unicode": "e69f",
-    "unicode_decimal": 59039 },
+}var _default =
 
-  {
-    "icon_id": "24899558",
-    "name": "chatboxes-filled",
-    "font_class": "chatboxes-filled",
-    "unicode": "e692",
-    "unicode_decimal": 59026 },
+{
+  setting: setting,
+  create: create };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24899559",
-    "name": "contact",
-    "font_class": "contact",
-    "unicode": "e693",
-    "unicode_decimal": 59027 },
+/***/ }),
+/* 271 */
+/*!*************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/setting.js ***!
+  \*************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24899560",
-    "name": "chatbubble-filled",
-    "font_class": "chatbubble-filled",
-    "unicode": "e694",
-    "unicode_decimal": 59028 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.tabBar = tabBar;exports.navBar = navBar;exports.banner = banner;exports.rechargeCombo = rechargeCombo;exports.homeColumn = homeColumn;exports.default = void 0;var request = uni.$u.http;
 
-  {
-    "icon_id": "24899561",
-    "name": "contact-filled",
-    "font_class": "contact-filled",
-    "unicode": "e695",
-    "unicode_decimal": 59029 },
+function tabBar() {
+  return request.get(
+  'setting/tabBar');
 
-  {
-    "icon_id": "24899562",
-    "name": "chatboxes",
-    "font_class": "chatboxes",
-    "unicode": "e696",
-    "unicode_decimal": 59030 },
+}
 
-  {
-    "icon_id": "24899563",
-    "name": "chatbubble",
-    "font_class": "chatbubble",
-    "unicode": "e697",
-    "unicode_decimal": 59031 },
+function navBar() {
+  return request.get(
+  'setting/navBar');
 
-  {
-    "icon_id": "24881290",
-    "name": "upload-filled",
-    "font_class": "upload-filled",
-    "unicode": "e68e",
-    "unicode_decimal": 59022 },
+}
 
-  {
-    "icon_id": "24881292",
-    "name": "upload",
-    "font_class": "upload",
-    "unicode": "e690",
-    "unicode_decimal": 59024 },
+function banner() {
+  return request.get(
+  'setting/banner');
 
-  {
-    "icon_id": "24881293",
-    "name": "weixin",
-    "font_class": "weixin",
-    "unicode": "e691",
-    "unicode_decimal": 59025 },
+}
 
-  {
-    "icon_id": "24881274",
-    "name": "compose",
-    "font_class": "compose",
-    "unicode": "e67f",
-    "unicode_decimal": 59007 },
+function rechargeCombo() {
+  return request.get(
+  'setting/rechargeCombo');
 
-  {
-    "icon_id": "24881275",
-    "name": "qq",
-    "font_class": "qq",
-    "unicode": "e680",
-    "unicode_decimal": 59008 },
+}
 
-  {
-    "icon_id": "24881276",
-    "name": "download-filled",
-    "font_class": "download-filled",
-    "unicode": "e681",
-    "unicode_decimal": 59009 },
+function homeColumn() {
+  return request.get(
+  'setting/homeColumn');
 
-  {
-    "icon_id": "24881277",
-    "name": "pengyouquan",
-    "font_class": "pyq",
-    "unicode": "e682",
-    "unicode_decimal": 59010 },
+}var _default =
 
-  {
-    "icon_id": "24881279",
-    "name": "sound",
-    "font_class": "sound",
-    "unicode": "e684",
-    "unicode_decimal": 59012 },
+{
+  tabBar: tabBar,
+  navBar: navBar,
+  banner: banner,
+  rechargeCombo: rechargeCombo,
+  homeColumn: homeColumn };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24881280",
-    "name": "trash-filled",
-    "font_class": "trash-filled",
-    "unicode": "e685",
-    "unicode_decimal": 59013 },
+/***/ }),
+/* 272 */
+/*!*************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/episode.js ***!
+  \*************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24881281",
-    "name": "sound-filled",
-    "font_class": "sound-filled",
-    "unicode": "e686",
-    "unicode_decimal": 59014 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.recommend = recommend;exports.news = news;exports.rank = rank;exports.todayRecommend = todayRecommend;exports.detail = detail;exports.trace = trace;exports.list = list;exports.shared = shared;exports.search = search;exports.vipFree = vipFree;exports.listBuyNum = listBuyNum;exports.default = void 0;var request = uni.$u.http;
 
-  {
-    "icon_id": "24881282",
-    "name": "trash",
-    "font_class": "trash",
-    "unicode": "e687",
-    "unicode_decimal": 59015 },
+function recommend() {
+  return request.get(
+  'episode/recommend');
 
-  {
-    "icon_id": "24881284",
-    "name": "videocam-filled",
-    "font_class": "videocam-filled",
-    "unicode": "e689",
-    "unicode_decimal": 59017 },
+}
 
-  {
-    "icon_id": "24881285",
-    "name": "spinner-cycle",
-    "font_class": "spinner-cycle",
-    "unicode": "e68a",
-    "unicode_decimal": 59018 },
+function news() {
+  return request.get(
+  'episode/news');
 
-  {
-    "icon_id": "24881286",
-    "name": "weibo",
-    "font_class": "weibo",
-    "unicode": "e68b",
-    "unicode_decimal": 59019 },
+}
 
-  {
-    "icon_id": "24881288",
-    "name": "videocam",
-    "font_class": "videocam",
-    "unicode": "e68c",
-    "unicode_decimal": 59020 },
+function rank() {
+  return request.get(
+  'episode/rank');
 
-  {
-    "icon_id": "24881289",
-    "name": "download",
-    "font_class": "download",
-    "unicode": "e68d",
-    "unicode_decimal": 59021 },
+}
 
-  {
-    "icon_id": "24879601",
-    "name": "help",
-    "font_class": "help",
-    "unicode": "e679",
-    "unicode_decimal": 59001 },
+function todayRecommend() {
+  return request.get(
+  'episode/today/recommend');
 
-  {
-    "icon_id": "24879602",
-    "name": "navigate-filled",
-    "font_class": "navigate-filled",
-    "unicode": "e67a",
-    "unicode_decimal": 59002 },
+}
 
-  {
-    "icon_id": "24879603",
-    "name": "plusempty",
-    "font_class": "plusempty",
-    "unicode": "e67b",
-    "unicode_decimal": 59003 },
+function detail(id) {
+  return request.get("episode/".concat(
+  id, "/detail"));
+
+}
+
+function trace() {
+  return request.get(
+  'episode/trace');
+
+}
 
-  {
-    "icon_id": "24879604",
-    "name": "smallcircle",
-    "font_class": "smallcircle",
-    "unicode": "e67c",
-    "unicode_decimal": 59004 },
+function list(params) {
+  return request.get(
+  'episode/list',
+  { params: params });
 
-  {
-    "icon_id": "24879605",
-    "name": "minus-filled",
-    "font_class": "minus-filled",
-    "unicode": "e67d",
-    "unicode_decimal": 59005 },
+}
 
-  {
-    "icon_id": "24879606",
-    "name": "micoff",
-    "font_class": "micoff",
-    "unicode": "e67e",
-    "unicode_decimal": 59006 },
+function shared(id) {
+  return request.post("episode/shared/".concat(
+  id));
 
-  {
-    "icon_id": "24879588",
-    "name": "closeempty",
-    "font_class": "closeempty",
-    "unicode": "e66c",
-    "unicode_decimal": 58988 },
+}
 
-  {
-    "icon_id": "24879589",
-    "name": "clear",
-    "font_class": "clear",
-    "unicode": "e66d",
-    "unicode_decimal": 58989 },
+function search(params) {
+  return request.get("episode/search",
 
-  {
-    "icon_id": "24879590",
-    "name": "navigate",
-    "font_class": "navigate",
-    "unicode": "e66e",
-    "unicode_decimal": 58990 },
+  { params: params });
 
-  {
-    "icon_id": "24879591",
-    "name": "minus",
-    "font_class": "minus",
-    "unicode": "e66f",
-    "unicode_decimal": 58991 },
+}
 
-  {
-    "icon_id": "24879592",
-    "name": "image",
-    "font_class": "image",
-    "unicode": "e670",
-    "unicode_decimal": 58992 },
+function vipFree(params) {
+  return request.get("episode/vip/free",
 
-  {
-    "icon_id": "24879593",
-    "name": "mic",
-    "font_class": "mic",
-    "unicode": "e671",
-    "unicode_decimal": 58993 },
+  { params: params });
 
-  {
-    "icon_id": "24879594",
-    "name": "paperplane",
-    "font_class": "paperplane",
-    "unicode": "e672",
-    "unicode_decimal": 58994 },
+}
 
-  {
-    "icon_id": "24879595",
-    "name": "close",
-    "font_class": "close",
-    "unicode": "e673",
-    "unicode_decimal": 58995 },
+function listBuyNum(list_id) {
+  return request.get("episode/list/".concat(
+  list_id, "/buyNum"));
 
-  {
-    "icon_id": "24879596",
-    "name": "help-filled",
-    "font_class": "help-filled",
-    "unicode": "e674",
-    "unicode_decimal": 58996 },
+}var _default =
 
-  {
-    "icon_id": "24879597",
-    "name": "plus-filled",
-    "font_class": "paperplane-filled",
-    "unicode": "e675",
-    "unicode_decimal": 58997 },
+{
+  recommend: recommend,
+  news: news,
+  rank: rank,
+  todayRecommend: todayRecommend,
+  detail: detail,
+  trace: trace,
+  list: list,
+  search: search,
+  vipFree: vipFree,
+  listBuyNum: listBuyNum };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24879598",
-    "name": "plus",
-    "font_class": "plus",
-    "unicode": "e676",
-    "unicode_decimal": 58998 },
+/***/ }),
+/* 273 */
+/*!**********************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/sign.js ***!
+  \**********************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24879599",
-    "name": "mic-filled",
-    "font_class": "mic-filled",
-    "unicode": "e677",
-    "unicode_decimal": 58999 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.setting = setting;exports.handle = handle;exports.default = void 0;var request = uni.$u.http;
 
-  {
-    "icon_id": "24879600",
-    "name": "image-filled",
-    "font_class": "image-filled",
-    "unicode": "e678",
-    "unicode_decimal": 59000 },
+function setting() {
+  return request.get(
+  'user/sign/setting');
 
-  {
-    "icon_id": "24855900",
-    "name": "locked-filled",
-    "font_class": "locked-filled",
-    "unicode": "e668",
-    "unicode_decimal": 58984 },
+}
 
-  {
-    "icon_id": "24855901",
-    "name": "info",
-    "font_class": "info",
-    "unicode": "e669",
-    "unicode_decimal": 58985 },
+function handle() {
+  return request.post("user/sign/handle");
 
-  {
-    "icon_id": "24855903",
-    "name": "locked",
-    "font_class": "locked",
-    "unicode": "e66b",
-    "unicode_decimal": 58987 },
 
-  {
-    "icon_id": "24855884",
-    "name": "camera-filled",
-    "font_class": "camera-filled",
-    "unicode": "e658",
-    "unicode_decimal": 58968 },
+}var _default =
 
-  {
-    "icon_id": "24855885",
-    "name": "chat-filled",
-    "font_class": "chat-filled",
-    "unicode": "e659",
-    "unicode_decimal": 58969 },
+{
+  setting: setting,
+  handle: handle };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24855886",
-    "name": "camera",
-    "font_class": "camera",
-    "unicode": "e65a",
-    "unicode_decimal": 58970 },
+/***/ }),
+/* 274 */
+/*!*********************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/pay.js ***!
+  \*********************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24855887",
-    "name": "circle",
-    "font_class": "circle",
-    "unicode": "e65b",
-    "unicode_decimal": 58971 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.query = query;exports.default = void 0;var request = uni.$u.http;
 
-  {
-    "icon_id": "24855888",
-    "name": "checkmarkempty",
-    "font_class": "checkmarkempty",
-    "unicode": "e65c",
-    "unicode_decimal": 58972 },
+function query(pay_id) {
+  return request.get("pay/".concat(
+  pay_id, "/query"));
 
-  {
-    "icon_id": "24855889",
-    "name": "chat",
-    "font_class": "chat",
-    "unicode": "e65d",
-    "unicode_decimal": 58973 },
+}var _default =
 
-  {
-    "icon_id": "24855890",
-    "name": "circle-filled",
-    "font_class": "circle-filled",
-    "unicode": "e65e",
-    "unicode_decimal": 58974 },
+{
+  query: query };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24855891",
-    "name": "flag",
-    "font_class": "flag",
-    "unicode": "e65f",
-    "unicode_decimal": 58975 },
+/***/ }),
+/* 275 */,
+/* 276 */,
+/* 277 */,
+/* 278 */
+/*!*****************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/share/index.js ***!
+  \*****************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24855892",
-    "name": "flag-filled",
-    "font_class": "flag-filled",
-    "unicode": "e660",
-    "unicode_decimal": 58976 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.income = income;exports.tips = tips;exports.setting = setting;exports.default = void 0;
 
-  {
-    "icon_id": "24855893",
-    "name": "gear-filled",
-    "font_class": "gear-filled",
-    "unicode": "e661",
-    "unicode_decimal": 58977 },
 
-  {
-    "icon_id": "24855894",
-    "name": "home",
-    "font_class": "home",
-    "unicode": "e662",
-    "unicode_decimal": 58978 },
 
-  {
-    "icon_id": "24855895",
-    "name": "home-filled",
-    "font_class": "home-filled",
-    "unicode": "e663",
-    "unicode_decimal": 58979 },
 
-  {
-    "icon_id": "24855896",
-    "name": "gear",
-    "font_class": "gear",
-    "unicode": "e664",
-    "unicode_decimal": 58980 },
+var _order = _interopRequireDefault(__webpack_require__(/*! ./order */ 280));
+var _team = _interopRequireDefault(__webpack_require__(/*! ./team */ 281));
+var _withdraw = _interopRequireDefault(__webpack_require__(/*! ./withdraw */ 282));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} /**
+                                                                                                                                                             * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/14.
+                                                                                                                                                             */var request = uni.$u.http;function income() {
+  return request.get(
+  'share/income');
 
-  {
-    "icon_id": "24855897",
-    "name": "smallcircle-filled",
-    "font_class": "smallcircle-filled",
-    "unicode": "e665",
-    "unicode_decimal": 58981 },
+}
 
-  {
-    "icon_id": "24855898",
-    "name": "map-filled",
-    "font_class": "map-filled",
-    "unicode": "e666",
-    "unicode_decimal": 58982 },
+function tips() {
+  return request.get(
+  'share/tips');
 
-  {
-    "icon_id": "24855899",
-    "name": "map",
-    "font_class": "map",
-    "unicode": "e667",
-    "unicode_decimal": 58983 },
+}
 
-  {
-    "icon_id": "24855825",
-    "name": "refresh-filled",
-    "font_class": "refresh-filled",
-    "unicode": "e656",
-    "unicode_decimal": 58966 },
+function setting() {
+  return request.get(
+  'share/setting');
 
-  {
-    "icon_id": "24855826",
-    "name": "refresh",
-    "font_class": "refresh",
-    "unicode": "e657",
-    "unicode_decimal": 58967 },
+}var _default =
 
-  {
-    "icon_id": "24855808",
-    "name": "cloud-upload",
-    "font_class": "cloud-upload",
-    "unicode": "e645",
-    "unicode_decimal": 58949 },
+{
+  order: _order.default,
+  withdraw: _withdraw.default,
+  team: _team.default,
+  income: income,
+  tips: tips,
+  setting: setting };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24855809",
-    "name": "cloud-download-filled",
-    "font_class": "cloud-download-filled",
-    "unicode": "e646",
-    "unicode_decimal": 58950 },
+/***/ }),
+/* 279 */,
+/* 280 */
+/*!*****************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/share/order.js ***!
+  \*****************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24855810",
-    "name": "cloud-download",
-    "font_class": "cloud-download",
-    "unicode": "e647",
-    "unicode_decimal": 58951 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.lists = lists;exports.default = void 0;
+/**
+                                                                                                                            * Created by JianJia.Zhou<jianjia.zhou> on 2022/11/5.
+                                                                                                                            */
+var request = uni.$u.http;
 
-  {
-    "icon_id": "24855811",
-    "name": "cloud-upload-filled",
-    "font_class": "cloud-upload-filled",
-    "unicode": "e648",
-    "unicode_decimal": 58952 },
+function lists(params) {
+  return request.get(
+  'share/order/lists',
+  { params: params });
 
-  {
-    "icon_id": "24855813",
-    "name": "redo",
-    "font_class": "redo",
-    "unicode": "e64a",
-    "unicode_decimal": 58954 },
+}var _default =
 
-  {
-    "icon_id": "24855814",
-    "name": "images-filled",
-    "font_class": "images-filled",
-    "unicode": "e64b",
-    "unicode_decimal": 58955 },
+{
+  lists: lists };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24855815",
-    "name": "undo-filled",
-    "font_class": "undo-filled",
-    "unicode": "e64c",
-    "unicode_decimal": 58956 },
+/***/ }),
+/* 281 */
+/*!****************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/share/team.js ***!
+  \****************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24855816",
-    "name": "more",
-    "font_class": "more",
-    "unicode": "e64d",
-    "unicode_decimal": 58957 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.lists = lists;exports.default = void 0;
+/**
+                                                                                                                            * Created by JianJia.Zhou<jianjia.zhou> on 2022/11/5.
+                                                                                                                            */
+var request = uni.$u.http;
 
-  {
-    "icon_id": "24855817",
-    "name": "more-filled",
-    "font_class": "more-filled",
-    "unicode": "e64e",
-    "unicode_decimal": 58958 },
+function lists(params) {
+  return request.get(
+  'share/team/lists',
+  { params: params });
 
-  {
-    "icon_id": "24855818",
-    "name": "undo",
-    "font_class": "undo",
-    "unicode": "e64f",
-    "unicode_decimal": 58959 },
+}var _default =
 
-  {
-    "icon_id": "24855819",
-    "name": "images",
-    "font_class": "images",
-    "unicode": "e650",
-    "unicode_decimal": 58960 },
+{
+  lists: lists };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24855821",
-    "name": "paperclip",
-    "font_class": "paperclip",
-    "unicode": "e652",
-    "unicode_decimal": 58962 },
+/***/ }),
+/* 282 */
+/*!********************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/api/share/withdraw.js ***!
+  \********************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24855822",
-    "name": "settings",
-    "font_class": "settings",
-    "unicode": "e653",
-    "unicode_decimal": 58963 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.lists = lists;exports.create = create;exports.default = void 0;
+/**
+                                                                                                                                                    * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/22.
+                                                                                                                                                    */
+var request = uni.$u.http;
 
-  {
-    "icon_id": "24855823",
-    "name": "search",
-    "font_class": "search",
-    "unicode": "e654",
-    "unicode_decimal": 58964 },
+function lists(params) {
+  return request.get("share/withdraw/lists",
 
-  {
-    "icon_id": "24855824",
-    "name": "redo-filled",
-    "font_class": "redo-filled",
-    "unicode": "e655",
-    "unicode_decimal": 58965 },
+  { params: params });
 
-  {
-    "icon_id": "24841702",
-    "name": "list",
-    "font_class": "list",
-    "unicode": "e644",
-    "unicode_decimal": 58948 },
+}
 
-  {
-    "icon_id": "24841489",
-    "name": "mail-open-filled",
-    "font_class": "mail-open-filled",
-    "unicode": "e63a",
-    "unicode_decimal": 58938 },
+function create(data) {
+  return request.post("share/withdraw/create",
 
-  {
-    "icon_id": "24841491",
-    "name": "hand-thumbsdown-filled",
-    "font_class": "hand-down-filled",
-    "unicode": "e63c",
-    "unicode_decimal": 58940 },
+  data);
 
-  {
-    "icon_id": "24841492",
-    "name": "hand-thumbsdown",
-    "font_class": "hand-down",
-    "unicode": "e63d",
-    "unicode_decimal": 58941 },
+}var _default =
 
-  {
-    "icon_id": "24841493",
-    "name": "hand-thumbsup-filled",
-    "font_class": "hand-up-filled",
-    "unicode": "e63e",
-    "unicode_decimal": 58942 },
+{
+  lists: lists,
+  create: create };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24841494",
-    "name": "hand-thumbsup",
-    "font_class": "hand-up",
-    "unicode": "e63f",
-    "unicode_decimal": 58943 },
+/***/ }),
+/* 283 */
+/*!*************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/utils/index.js ***!
+  \*************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
 
-  {
-    "icon_id": "24841496",
-    "name": "heart-filled",
-    "font_class": "heart-filled",
-    "unicode": "e641",
-    "unicode_decimal": 58945 },
+"use strict";
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.copyText = copyText;exports.checkOS = checkOS;exports.default = void 0; /**
+                                                                                                                                                            * Created by JianJia.Zhou<jianjia.zhou> on 2022/5/26.
+                                                                                                                                                            */
+function copyText(text, tips) {
+  uni.setClipboardData({
+    data: text,
+    success: function success() {
+      uni.hideLoading();
+      uni.showToast({
+        title: tips || '复制成功',
+        icon: 'none' });
 
-  {
-    "icon_id": "24841498",
-    "name": "mail-open",
-    "font_class": "mail-open",
-    "unicode": "e643",
-    "unicode_decimal": 58947 },
+    } });
 
-  {
-    "icon_id": "24841488",
-    "name": "heart",
-    "font_class": "heart",
-    "unicode": "e639",
-    "unicode_decimal": 58937 },
+}
 
-  {
-    "icon_id": "24839963",
-    "name": "loop",
-    "font_class": "loop",
-    "unicode": "e633",
-    "unicode_decimal": 58931 },
+function checkOS() {
+  if (uni.getSystemInfoSync().platform === 'ios') {
+    uni.showModal({
+      title: '提示',
+      content: '由于相关规范,iOS功能暂不可用',
+      showCancel: false,
+      success: function success(res) {
+        // res.confirm res.cancel
+      } });
 
-  {
-    "icon_id": "24839866",
-    "name": "pulldown",
-    "font_class": "pulldown",
-    "unicode": "e632",
-    "unicode_decimal": 58930 },
+    return false;
+  }
+  return true;
+}
 
-  {
-    "icon_id": "24813798",
-    "name": "scan",
-    "font_class": "scan",
-    "unicode": "e62a",
-    "unicode_decimal": 58922 },
+var shareMessage = function shareMessage(user) {
 
-  {
-    "icon_id": "24813786",
-    "name": "bars",
-    "font_class": "bars",
-    "unicode": "e627",
-    "unicode_decimal": 58919 },
 
-  {
-    "icon_id": "24813788",
-    "name": "cart-filled",
-    "font_class": "cart-filled",
-    "unicode": "e629",
-    "unicode_decimal": 58921 },
 
-  {
-    "icon_id": "24813790",
-    "name": "checkbox",
-    "font_class": "checkbox",
-    "unicode": "e62b",
-    "unicode_decimal": 58923 },
 
-  {
-    "icon_id": "24813791",
-    "name": "checkbox-filled",
-    "font_class": "checkbox-filled",
-    "unicode": "e62c",
-    "unicode_decimal": 58924 },
+  var title = "张四爷剧场";
 
-  {
-    "icon_id": "24813794",
-    "name": "shop",
-    "font_class": "shop",
-    "unicode": "e62f",
-    "unicode_decimal": 58927 },
+  console.log('-->data', user);
+  return {
+    path: "/pages/index/index?user_id=".concat(user.id),
+    title: title,
+    desc: title
+    // imageUrl: ''
+  };
+};var _default =
 
-  {
-    "icon_id": "24813795",
-    "name": "headphones",
-    "font_class": "headphones",
-    "unicode": "e630",
-    "unicode_decimal": 58928 },
+{
+  copyText: copyText,
+  checkOS: checkOS,
+  shareMessage: shareMessage };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
-  {
-    "icon_id": "24813796",
-    "name": "cart",
-    "font_class": "cart",
-    "unicode": "e631",
-    "unicode_decimal": 58929 }] };exports.default = _default;
+/***/ }),
+/* 284 */
+/*!*********************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/setting.js ***!
+  \*********************************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/3/18.
+ */
+var IS_DEV = "development" === 'development';
+// const URL = 'https://zhangsiye.9026.com'
+var URL = 'https://t3.9026.com';
+
+module.exports = {
+  // 版本
+  VERSION: '0.0.1',
+  // API 接口URL
+  BASE_URL: IS_DEV ? 'http://www.zsy.me/api' : URL + '/api',
+  // API 接口URL
+  IMAGE_URL: IS_DEV ? 'http://www.zsy.me/static/image' : URL + '/static/image' };
 
 /***/ })
 ]]);

+ 114 - 54
unpackage/dist/dev/mp-weixin/components/TabBar/tabbar.js

xqd
@@ -114,78 +114,138 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; //
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-var _default =
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+var _vuex = __webpack_require__(/*! vuex */ 247);function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}var _default =
+
+
+
 {
-  name: 'tabbar',
+  name: 'TabBar',
   data: function data() {
     return {
-      wagesheight: '' };
+      wagesheight: '',
+      color: '#CBC8C7',
+      selectedColor: '#FF6200',
+      // types: {
+      // 	1: {
+      // 		'pagePath': '/pages/index/index',
+      // 		'iconPath': '/static/icon/home2.png',
+      // 		'selectedIconPath': '/static/icon/home1.png'
+      // 	},
+      // 	2: {
+      // 		'pagePath': '/pages/map/map',
+      // 		'iconPath': '/static/icon/map02.png',
+      // 		'selectedIconPath': '/static/icon/map01.png'
+      // 	},
+      // 	3: {
+      // 		'pagePath': '/pages/msg/msg',
+      // 		'iconPath': '/static/icon/msg02.png',
+      // 		'selectedIconPath': '/static/icon/msg01.png'
+      // 	},
+      // 	4: {
+      // 		'pagePath': '/pages/my/my',
+      // 		'iconPath': '/static/icon/my02.png',
+      // 		'selectedIconPath': '/static/icon/my01.png'
+      // 	}
+      // },
+      list: [{
+        'pagePath': '/pages/index/index',
+        'iconPath': '/static/icon/home02.png',
+        'selectedIconPath': '/static/icon/home01.png',
+        'text': '首页' },
+
+      {
+        'pagePath': '/pages/map/map',
+        'iconPath': '/static/icon/map02.png',
+        'selectedIconPath': '/static/icon/map01.png',
+        'text': 'IHG地图' },
+
+      {
+        'pagePath': '/pages/msg/msg',
+        'iconPath': '/static/icon/msg02.png',
+        'selectedIconPath': '/static/icon/msg01.png',
+        'text': '消息' },
+
+      {
+        'pagePath': '/pages/my/my',
+        'iconPath': '/static/icon/my02.png',
+        'selectedIconPath': '/static/icon/my01.png',
+        'text': '我的' }] };
+
 
-  },
-  props: {
-    checked: {
-      type: String,
-      default: 'home' } },
 
+  },
+  computed: _objectSpread({},
+  (0, _vuex.mapState)({
+    active: function active(seate) {return seate.tab.index;} })),
 
 
+  created: function created() {
+    this.calc();
+    uni.hideTabBar();
+    // this.getData()
+  },
   mounted: function mounted() {
-    var that = this;
+    var _this = this;
     uni.getSystemInfo({
       success: function success(res) {
         var bottom = res.safeArea.bottom;
         var height = res.safeArea.height;
         var cacl = bottom - height;
-        that.wagesheight = cacl;
+        _this.wagesheight = cacl;
       } });
 
   },
-
   methods: {
-    goPage: function goPage(url, tab) {
-      if (this.checked == tab) return;
-      uni.reLaunch({
-        url: url,
-        animationType: 'slide-out-right' });
+    handleSwitch: function handleSwitch(index) {
+      if (index === this.active) {
+        return;
+      }
+      this.$store.dispatch('tab/index', index);
+      var item = this.list[index];
+      uni.switchTab({
+        url: item.pagePath });
 
-    } } };exports.default = _default;
+    },
+    calc: function calc() {
+      var active = 1;
+      var page = uni.$u.page().replace('//', '/');
+      this.list.forEach(function (obj, index) {
+        if (obj.pagePath === page) {
+          active = index;
+        }
+      });
+      if (active !== this.active) {
+        this.$store.dispatch('tab/index', active);
+      }
+    }
+    // getData() {
+    // 	this.$api.setting.tabBar().then(res => {
+    // 		const data = res.data
+    // 		data.forEach(obj => {
+    // 			Object.assign(obj, this.types[obj.type])
+    // 		})
+    // 		console.log('-->data', data)
+    // 		this.list = data
+    // 	})
+    // }
+  } };exports.default = _default;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
 /***/ }),

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
unpackage/dist/dev/mp-weixin/components/TabBar/tabbar.wxml


+ 24 - 53
unpackage/dist/dev/mp-weixin/components/TabBar/tabbar.wxss

xqd
@@ -24,74 +24,45 @@
 /* 垂直间距 */
 /* 透明度 */
 /* 文章场景相关 */
-.wh100.data-v-699f3684 {
+.tab-bar.data-v-699f3684 {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  background-color: #fff;
   width: 100%;
-  height: 120rpx;
+}
+.tab-bar .content.data-v-699f3684 {
   background-color: #fff;
   box-shadow: 0px -2rpx 20rpx 0px rgba(0, 0, 0, 0.05);
-}
-.fixed.data-v-699f3684 {
-  position: fixed;
-  z-index: 9999;
+  position: absolute;
   bottom: 0;
-}
-.tabbar-box.data-v-699f3684 {
-  height: 100%;
+  width: 100%;
+  height: 120rpx;
+  background-size: 110% 100%;
   display: flex;
-  flex-direction: row;
   align-items: center;
-  background-color: #fff;
-  border-top: solid 1px #f5f5f5;
+  justify-content: center;
 }
-.tabbar-box .item.data-v-699f3684 {
+.tab-bar .content .tab-item.data-v-699f3684 {
   flex: 1;
-  font-size: 24rpx;
   color: #CBC8C7;
+  transition: .3s;
+  font-size: 24rpx;
+  position: relative;
   display: flex;
   flex-direction: column;
-  justify-content: center;
   align-items: center;
-  height: 100%;
-  text-align: center;
-}
-.tabbar-box .item .icon-box.data-v-699f3684 {
-  width: 24px;
-  height: 24px;
-}
-.tabbar-box .item .icon-box image.data-v-699f3684 {
-  width: 100%;
-  height: 100%;
-}
-.tabbar-box .item .icon-box2.data-v-699f3684 {
-  width: 20px;
-  height: 20px;
-}
-.tabbar-box .item .icon-box2 image.data-v-699f3684 {
-  width: 100%;
-  height: 100%;
+  justify-content: center;
 }
-.tabbar-box .item .active.data-v-699f3684 {
+.tab-bar .content .tab-item.active.data-v-699f3684 {
   color: #FF6200;
 }
-.tabbar-box .item .nomal.data-v-699f3684 {
-  font-weight: 500;
-  color: #999;
-}
-.tabbar-box .jy .icon-box.data-v-699f3684 {
-  width: 40px;
-  height: 40px;
-  background: #fff;
-  border-radius: 50%;
-  line-height: 40px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  padding: 8rpx;
-  box-sizing: border-box;
-  box-shadow: 0px -2px 20px 0px rgba(181, 181, 181, 0.5);
+.tab-bar .content .tab-item .icon.data-v-699f3684 {
+  width: 42rpx;
+  height: 42rpx;
 }
-.tabbar-box .jy .icon-box image.data-v-699f3684 {
-  width: 40px;
-  height: 40px;
+.tab-bar .content .tab-item .icon image.data-v-699f3684 {
+  height: 100%;
+  width: 100%;
 }
 

+ 42 - 42
unpackage/dist/dev/mp-weixin/node-modules/uview-ui/components/u-input/u-input.js

xqd xqd xqd
@@ -1,46 +1,5 @@
 (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["node-modules/uview-ui/components/u-input/u-input"],{
 
-/***/ 169:
-/*!***************************************************************************************************!*\
-  !*** C:/Users/Administrator/Desktop/ihg/IHG/node_modules/uview-ui/components/u-input/u-input.vue ***!
-  \***************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _u_input_vue_vue_type_template_id_fdbb9fe6_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./u-input.vue?vue&type=template&id=fdbb9fe6&scoped=true& */ 170);
-/* harmony import */ var _u_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./u-input.vue?vue&type=script&lang=js& */ 172);
-/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _u_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _u_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var _u_input_vue_vue_type_style_index_0_id_fdbb9fe6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./u-input.vue?vue&type=style&index=0&id=fdbb9fe6&lang=scss&scoped=true& */ 175);
-/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 11);
-
-var renderjs
-
-
-
-
-
-/* normalize component */
-
-var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
-  _u_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
-  _u_input_vue_vue_type_template_id_fdbb9fe6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
-  _u_input_vue_vue_type_template_id_fdbb9fe6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
-  false,
-  null,
-  "fdbb9fe6",
-  null,
-  false,
-  _u_input_vue_vue_type_template_id_fdbb9fe6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
-  renderjs
-)
-
-component.options.__file = "node_modules/uview-ui/components/u-input/u-input.vue"
-/* harmony default export */ __webpack_exports__["default"] = (component.exports);
-
-/***/ }),
-
 /***/ 170:
 /*!**********************************************************************************************************************************************!*\
   !*** C:/Users/Administrator/Desktop/ihg/IHG/node_modules/uview-ui/components/u-input/u-input.vue?vue&type=template&id=fdbb9fe6&scoped=true& ***!
@@ -464,6 +423,47 @@ __webpack_require__.r(__webpack_exports__);
     if(false) { var cssReload; }
   
 
+/***/ }),
+
+/***/ 287:
+/*!***************************************************************************************************!*\
+  !*** C:/Users/Administrator/Desktop/ihg/IHG/node_modules/uview-ui/components/u-input/u-input.vue ***!
+  \***************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _u_input_vue_vue_type_template_id_fdbb9fe6_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./u-input.vue?vue&type=template&id=fdbb9fe6&scoped=true& */ 170);
+/* harmony import */ var _u_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./u-input.vue?vue&type=script&lang=js& */ 172);
+/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _u_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _u_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
+/* harmony import */ var _u_input_vue_vue_type_style_index_0_id_fdbb9fe6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./u-input.vue?vue&type=style&index=0&id=fdbb9fe6&lang=scss&scoped=true& */ 175);
+/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 11);
+
+var renderjs
+
+
+
+
+
+/* normalize component */
+
+var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
+  _u_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+  _u_input_vue_vue_type_template_id_fdbb9fe6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
+  _u_input_vue_vue_type_template_id_fdbb9fe6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
+  false,
+  null,
+  "fdbb9fe6",
+  null,
+  false,
+  _u_input_vue_vue_type_template_id_fdbb9fe6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
+  renderjs
+)
+
+component.options.__file = "node_modules/uview-ui/components/u-input/u-input.vue"
+/* harmony default export */ __webpack_exports__["default"] = (component.exports);
+
 /***/ })
 
 }]);
@@ -472,7 +472,7 @@ __webpack_require__.r(__webpack_exports__);
     'node-modules/uview-ui/components/u-input/u-input-create-component',
     {
         'node-modules/uview-ui/components/u-input/u-input-create-component':(function(module, exports, __webpack_require__){
-            __webpack_require__('1')['createComponent'](__webpack_require__(169))
+            __webpack_require__('1')['createComponent'](__webpack_require__(287))
         })
     },
     [['node-modules/uview-ui/components/u-input/u-input-create-component']]

Файловите разлики са ограничени, защото са твърде много
+ 19 - 3
unpackage/dist/dev/mp-weixin/pages/index/index.js


+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.json

xqd
@@ -1,5 +1,5 @@
 {
-  "navigationBarTitleText": "",
+  "navigationBarTitleText": "首页",
   "usingComponents": {
     "tab-bar": "/components/TabBar/tabbar"
   }

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.wxml

xqd
@@ -1 +1 @@
-<view class="data-v-57280228">首页<tab-bar vue-id="8dd740cc-1" checked="home" class="data-v-57280228" bind:__l="__l"></tab-bar></view>
+<view class="home data-v-57280228"><view class="data-v-57280228">首页</view><tab-bar vue-id="8dd740cc-1" class="data-v-57280228" bind:__l="__l"></tab-bar></view>

+ 30 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxss

xqd
@@ -0,0 +1,30 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.home.data-v-57280228 {
+  height: 100%;
+}
+

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/map/map.js

xqd
@@ -130,7 +130,7 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var TabBar = function TabBar() {__webpack_require__.e(/*! require.ensure | components/TabBar/tabbar */ "components/TabBar/tabbar").then((function () {return resolve(__webpack_require__(/*! ../../components/TabBar/tabbar.vue */ 162));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
+Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var TabBar = function TabBar() {Promise.all(/*! require.ensure | components/TabBar/tabbar */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/TabBar/tabbar")]).then((function () {return resolve(__webpack_require__(/*! ../../components/TabBar/tabbar.vue */ 162));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
 
 
 

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/map/map.wxml

xqd
@@ -1 +1 @@
-<view class="data-v-0b31f540">地图<tab-bar vue-id="5b0d33c6-1" checked="map" class="data-v-0b31f540" bind:__l="__l"></tab-bar></view>
+<view class="data-v-0b31f540">地图<tab-bar vue-id="5b0d33c6-1" class="data-v-0b31f540" bind:__l="__l"></tab-bar></view>

+ 4 - 2
unpackage/dist/dev/mp-weixin/pages/msg/msg.js

xqd xqd
@@ -98,7 +98,7 @@ var components
 try {
   components = {
     uInput: function() {
-      return Promise.all(/*! import() | node-modules/uview-ui/components/u-input/u-input */[__webpack_require__.e("common/vendor"), __webpack_require__.e("node-modules/uview-ui/components/u-input/u-input")]).then(__webpack_require__.bind(null, /*! uview-ui/components/u-input/u-input.vue */ 169))
+      return Promise.all(/*! import() | node-modules/uview-ui/components/u-input/u-input */[__webpack_require__.e("common/vendor"), __webpack_require__.e("node-modules/uview-ui/components/u-input/u-input")]).then(__webpack_require__.bind(null, /*! uview-ui/components/u-input/u-input.vue */ 287))
     },
     uImage: function() {
       return Promise.all(/*! import() | node-modules/uview-ui/components/u-image/u-image */[__webpack_require__.e("common/vendor"), __webpack_require__.e("node-modules/uview-ui/components/u-image/u-image")]).then(__webpack_require__.bind(null, /*! uview-ui/components/u-image/u-image.vue */ 177))
@@ -158,7 +158,9 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var TabBar = function TabBar() {__webpack_require__.e(/*! require.ensure | components/TabBar/tabbar */ "components/TabBar/tabbar").then((function () {return resolve(__webpack_require__(/*! ../../components/TabBar/tabbar.vue */ 162));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
+Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var TabBar = function TabBar() {Promise.all(/*! require.ensure | components/TabBar/tabbar */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/TabBar/tabbar")]).then((function () {return resolve(__webpack_require__(/*! ../../components/TabBar/tabbar.vue */ 162));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
+
+
 
 
 

+ 3 - 1
unpackage/dist/dev/mp-weixin/pages/my/my.js

xqd
@@ -132,7 +132,9 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var TabBar = function TabBar() {__webpack_require__.e(/*! require.ensure | components/TabBar/tabbar */ "components/TabBar/tabbar").then((function () {return resolve(__webpack_require__(/*! ../../components/TabBar/tabbar.vue */ 162));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var TabBar = function TabBar() {Promise.all(/*! require.ensure | components/TabBar/tabbar */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/TabBar/tabbar")]).then((function () {return resolve(__webpack_require__(/*! ../../components/TabBar/tabbar.vue */ 162));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
+
+
 
 
 

+ 31 - 6
unpackage/dist/dev/mp-weixin/project.config.json

xqd
@@ -6,30 +6,55 @@
   "setting": {
     "urlCheck": false,
     "es6": false,
+    "enhance": true,
     "postcss": false,
+    "preloadBackgroundData": false,
     "minified": true,
     "newFeature": true,
-    "bigPackageSizeSupport": true
+    "coverView": true,
+    "nodeModules": false,
+    "autoAudits": false,
+    "showShadowRootInWxmlPanel": true,
+    "scopeDataCheck": false,
+    "uglifyFileName": false,
+    "checkInvalidKey": true,
+    "checkSiteMap": true,
+    "uploadWithSourceMap": true,
+    "compileHotReLoad": true,
+    "lazyloadPlaceholderEnable": false,
+    "useMultiFrameRuntime": true,
+    "useApiHook": true,
+    "useApiHostProcess": true,
+    "babelSetting": {
+      "ignore": [],
+      "disablePlugins": [],
+      "outputPath": ""
+    },
+    "enableEngineNative": false,
+    "useIsolateContext": true,
+    "userConfirmedBundleSwitch": false,
+    "packNpmManually": false,
+    "packNpmRelationList": [],
+    "minifyWXSS": true,
+    "disableUseStrict": false,
+    "showES6CompileOption": false,
+    "useCompilerPlugins": false
   },
   "compileType": "miniprogram",
-  "libVersion": "",
+  "libVersion": "2.27.2",
   "appid": "wx0f8eba0a55baa7fc",
   "projectname": "hotel_uni",
   "condition": {
     "search": {
-      "current": -1,
       "list": []
     },
     "conversation": {
-      "current": -1,
       "list": []
     },
     "game": {
-      "current": -1,
       "list": []
     },
     "miniprogram": {
-      "current": 0,
       "list": [
         {
           "name": "",

+ 17 - 0
unpackage/dist/dev/mp-weixin/static/css/common.scss

xqd
@@ -0,0 +1,17 @@
+view,image,text,rich-text,progress,button,input,form,label,textarea{
+  box-sizing: border-box;
+  margin: 0;
+  padding: 0;
+}
+
+page,
+uni-page-body{
+  box-sizing: border-box;
+  height: 100%;
+  background: #fff;
+  padding-bottom: 80rpx;
+}
+.hidden{
+  display: flex;
+  visibility: hidden;
+}

+ 266 - 0
unpackage/dist/dev/mp-weixin/static/css/flex.scss

xqd
@@ -0,0 +1,266 @@
+.dir-left-nowrap {
+    /* 主轴 排列方式从左侧开始 不换行*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    flex-wrap: nowrap;
+}
+
+.dir-left-wrap {
+    /* 主轴 排列方式从左侧开始 换行*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    flex-wrap: wrap;
+}
+
+.dir-left-wrap-reverse {
+    /* 主轴 排列方式从左侧开始 换行 第一行在下方*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    flex-wrap: wrap-reverse;
+}
+
+.dir-right-nowrap {
+    /* 主轴 排列方式从 右侧开始 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row-reverse;
+    flex-direction: row-reverse;
+    flex-wrap: nowrap;
+}
+
+.dir-right-wrap {
+    /* 主轴 排列方式从 右侧开始 换行*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    flex-wrap: wrap;
+}
+
+.dir-right-wrap-reverse {
+    /* 主轴 排列方式从 右侧开始 换行 第一行在下方*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    flex-wrap: wrap-reverse;
+}
+
+.dir-top-nowrap {
+    /* 主轴 排列方式从顶部开始 不换行 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    flex-wrap: nowrap;
+}
+
+.dir-top-wrap {
+    /* 主轴 排列方式从顶部开始  换行*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    flex-wrap: wrap;
+}
+
+.dir-top-wrap-reverse {
+    /* 主轴 排列方式从顶部开始 不换行换行 第一行在下方*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    flex-wrap: wrap-reverse;
+}
+
+.dir-bottom-nowrap {
+    /* 主轴 排列方式从底部开始 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: column-reverse;
+    flex-direction: column-reverse;
+    flex-wrap: nowrap;
+}
+
+.dir-bottom-wrap {
+    /* 主轴 排列方式从底部开始 不换行 换行*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    flex-wrap: wrap;
+}
+
+.dir-bottom-wrap-reverse {
+    /* 主轴 排列方式从底部开始 不换行换行 第一行在下方*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    flex-wrap: wrap-reverse;
+}
+
+.main-left {
+    /* 主轴 左对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-justify-content: flex-start;
+    justify-content: flex-start;
+}
+
+.main-right {
+    /* 主轴 右对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-justify-content: flex-end;
+    justify-content: flex-end;
+}
+
+.main-between {
+    /* 主轴 两端对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-justify-content: space-between;
+    justify-content: space-between;
+}
+
+.main-center {
+    /* 主轴 居中对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-pack: center;
+    -webkit-justify-content: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+}
+
+.main-around {
+    /* 主轴 项目位于各行之前、之间、之后都留有空白的容器内*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-justify-content: space-around;
+    justify-content: space-around;
+}
+
+.cross-top {
+    /* 交叉轴 起点对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: flex-start;
+    align-items: flex-start;
+}
+
+.cross-bottom {
+    /* 交叉轴 终点对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-align: end;
+    -webkit-align-items: flex-end;
+    -ms-flex-align: end;
+    -ms-grid-row-align: flex-end;
+    align-items: flex-end;
+}
+
+.cross-baseline {
+    /* 交叉轴 第一行文字基线对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: baseline;
+    align-items: baseline;
+}
+
+.cross-center {
+    /* 交叉轴 居中对齐 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: center;
+    align-items: center;
+}
+
+.cross-stretch {
+    /* 交叉轴 高度并排铺满 高度不固定*/
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: stretch;
+    align-items: stretch;
+}
+
+.flex-wrap {
+    /* 流模式 第一行在上方 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-wrap: wrap;
+    flex-wrap: wrap;
+}
+
+.flex-wrap-reverse {
+    /* 流模式 第一行在下方 */
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-wrap: wrap-reverse;
+    flex-wrap: wrap-reverse;
+}
+
+.box-grow-0 {
+    /* flex 子元素固定宽度*/
+    min-width: 0;
+    -webkit-box-flex: 0;
+    -webkit-flex-grow: 0;
+    -ms-flex-positive: 0;
+    flex-grow: 0;
+    -webkit-flex-shrink: 0;
+    -ms-flex-negative: 0;
+    flex-shrink: 0;
+}
+
+.box-grow-1 {
+    /* flex 子元素等分 */
+    min-width: 0;
+    -webkit-box-flex: 1;
+    -webkit-flex-grow: 1;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    -webkit-flex-shrink: 1;
+    -ms-flex-negative: 1;
+    flex-shrink: 1;
+}
+
+.inline-flex {
+    display: -webkit-inline-flex;
+    display: inline-flex;
+}

Файловите разлики са ограничени, защото са твърде много
+ 3 - 0
unpackage/dist/dev/mp-weixin/static/css/iconfont.css


+ 12 - 0
unpackage/dist/dev/mp-weixin/static/css/mixin.scss

xqd
@@ -0,0 +1,12 @@
+@mixin vipBorder(){
+  border: 4rpx solid;
+  border-image: linear-gradient(to bottom, #F58A82,#733213) 1;
+  background: linear-gradient(#783518,#EC857C);
+}
+
+@mixin background(){
+  background: linear-gradient(#4C453D, #201B15);
+}
+@mixin backgroundCancel(){
+  background: linear-gradient(#f5f7fa 0%, #c3cfe2 100%);
+}

+ 172 - 0
unpackage/dist/dev/mp-weixin/static/css/store-buy.scss

xqd
@@ -0,0 +1,172 @@
+@import "@/static/css/mixin";
+.store-buy {
+  background: url("@/static/image/buy-bg.jpg") no-repeat top;
+  background-size: 100% 40vh;
+  background-repeat: no-repeat;
+  padding-top: 50rpx;
+  .card{
+    width: 720rpx;
+    margin: 0 auto;
+  }
+  .card-info{
+    background: url("/static/image/coupon_wait_use.png") no-repeat top right;
+    width: 700rpx;
+    flex-shrink: 0;
+    height: 190rpx;
+    background-size: 100% 100%;
+    .left-box{
+      flex: 1;
+      padding: 0 20rpx;
+      .price{
+        white-space: nowrap;
+        color: #888d93;
+        font-size: 28rpx;
+        .num{
+          color: #E8B388;
+          font-size: 60rpx;
+        }
+      }
+      .info-box{
+        margin-left: 20rpx;
+        .tags{
+          margin-top: 10rpx;
+          .tag{
+            background: #FDE7DA;
+            color: #424751;
+            padding: 3rpx 8rpx;
+            margin-right: 8rpx;
+            font-size: 22rpx;
+            border-radius: 6rpx;
+          }
+        }
+      }
+    }
+    .right-box{
+      width: 165rpx;
+    }
+  }
+  .price-tags{
+    margin-bottom: 50rpx;
+    margin-top: 20rpx;
+    padding: 0 20rpx;
+    .price-tag{
+      flex: 1;
+      color: #fff;
+      font-size: 26rpx;
+      padding: 4rpx 6rpx;
+      white-space: nowrap;
+      &.normal-price{
+        background: linear-gradient(#858A90,#4C525E);
+      }
+      &.sale-price{
+        background: linear-gradient(#504740,#1F1A14);
+        margin: 0 50rpx;
+      }
+      &.vip-price{
+        @include vipBorder;
+        border-width: 1rpx;
+      }
+    }
+  }
+  .store-info{
+    background: #fff;
+    border-radius: 10rpx;
+    padding: 10rpx 30rpx;
+  }
+  .desc{
+    .content{
+      color: $text-deep-grey-color;
+    }
+  }
+  .buy-btn{
+    @include background;
+    color: #fff;
+    width: 90vw;
+    margin: 80rpx auto 0rpx;
+    padding: 20rpx 0;
+    border-radius: 10rpx;
+    bottom: 0;
+    text-align: center;
+  }
+  .buy-popup{
+    padding: 30rpx 0;
+    font-size: 26rpx;
+    .goods-box{
+      padding: 0 30rpx;
+      .cover-img{
+        width: 240rpx;
+        height: 200rpx;
+        >image{
+          width: 100%;
+          height: 100%;
+        }
+      }
+      .goods-info{
+        background: #FEF9F6;
+        flex: 1;
+        padding: 20rpx;
+      }
+    }
+    .spec-box{
+      padding: 0 30rpx;
+      font-size: 26rpx;
+      .name{
+        color: $text-black-color;
+      }
+    }
+    .spec-detail{
+      box-shadow: 0 0 10rpx rgba(0,0,0,.15);
+      border-radius: 12rpx;
+      padding: 32rpx 16rpx;
+      .spec-name{
+        color: $text-black-color;
+        text-align: center;
+        padding-bottom: 22rpx;
+      }
+      .detail-box{
+        height: 150rpx;
+        .detail-item{
+          padding: 12rpx 0;
+          text-align: center;
+          color: $text-grey-color;
+          >text{
+            flex: 1;
+          }
+          .name{
+            flex: 2;
+          }
+        }
+      }
+    }
+    .price-box{
+      padding: 16rpx 32rpx;
+      position: relative;
+      margin-bottom: 16rpx;
+      margin-top: 16rpx;
+      &:after{
+        content: "";
+        position: absolute;
+        height: 1rpx;
+        width: 95%;
+        background: $grey-color;
+        bottom: 0;
+        left: 50%;
+        transform: translateX(-50%);
+      }
+      .normal-price{
+        flex: 1;
+        text{
+          margin-right: 16rpx;
+        }
+      }
+      .goods-num{
+        display: flex;
+        flex: 1;
+        justify-content: flex-end;
+      }
+    }
+    .buy-btn{
+      margin-top: 30rpx;
+    }
+  }
+}

+ 8 - 0
unpackage/dist/dev/mp-weixin/static/css/variable.scss

xqd
@@ -0,0 +1,8 @@
+$bg-color: #151729;
+
+$primary-color: #6EEBE8;
+$dark-color: #48979C;
+$default-color: #FFFFFF;
+$info-color: #6F717F;
+
+$pink-color: #FF74B9;

+ 15 - 0
utils/auth.js

xqd
@@ -0,0 +1,15 @@
+import Cache from './cache'
+
+const TokenKey = 'auth_token'
+
+export function getToken() {
+  return Cache.get(TokenKey)
+}
+
+export function setToken(token) {
+  return Cache.set(TokenKey, token)
+}
+
+export function removeToken() {
+  return Cache.remove(TokenKey)
+}

+ 29 - 0
utils/cache.js

xqd
@@ -0,0 +1,29 @@
+function set(key, value) {
+  return uni.setStorageSync(key, JSON.stringify(value))
+}
+
+function get(key) {
+  try {
+    const result = uni.getStorageSync(key)
+    if (result) {
+      return JSON.parse(result)
+    }
+  } catch (e) {
+    return null
+  }
+}
+
+function remove(key) {
+  return uni.removeStorageSync(key)
+}
+
+function clear(key) {
+  return uni.clearStorageSync(key)
+}
+
+export default {
+  get,
+  set,
+  remove,
+  clear
+}

+ 11 - 0
utils/constant.js

xqd
@@ -0,0 +1,11 @@
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/3/21.
+ */
+
+module.exports = {
+  CACHE_USER_TOKEN: 'vuex_user_token',
+  CACHE_USER_DATA: 'vuex_user_data',
+  CACHE_TAB_SELECTED: 'CACHE_TAB_SELECTED',
+  CACHE_PAGE_META: 'CACHE_PAGE_META'
+
+}

+ 52 - 0
utils/index.js

xqd
@@ -0,0 +1,52 @@
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/5/26.
+ */
+export function copyText(text, tips) {
+  uni.setClipboardData({
+    data: text,
+    success: function() {
+      uni.hideLoading()
+      uni.showToast({
+        title: tips || '复制成功',
+        icon: 'none'
+      })
+    }
+  })
+}
+
+export function checkOS() {
+  if (uni.getSystemInfoSync().platform === 'ios') {
+    uni.showModal({
+      title: '提示',
+      content: '由于相关规范,iOS功能暂不可用',
+      showCancel: false,
+      success: function(res) {
+        // res.confirm res.cancel
+      }
+    })
+    return false
+  }
+  return true
+}
+
+const shareMessage = user => {
+  // #ifdef  MP-KUAISHOU
+  const title ="四海剧场"
+    // #endif
+    // #ifdef  MP-TOUTIAO | MP-WEIXIN
+  const title ="张四爷剧场"
+  // #endif
+  console.log('-->data', user)
+  return {
+    path: `/pages/index/index?user_id=${user.id}`,
+    title: title,
+    desc: title
+    // imageUrl: ''
+  }
+}
+
+export default {
+  copyText,
+  checkOS,
+  shareMessage
+}

+ 49 - 0
utils/mixin.js

xqd
@@ -0,0 +1,49 @@
+/**
+ * Created by JianJia.Zhou<jianjia.zhou> on 2022/5/20.
+ */
+import $api from '../api'
+import constant from './constant'
+import $util from './index'
+import $cache from './cache.js'
+import $setting from '../setting.js'
+module.exports = {
+  computed: {
+    $const() {
+      return constant
+    },
+    $setting() {
+      return $setting
+    },
+    $api() {
+      return $api
+    },
+    $util() {
+      return $util
+    },
+    $cache() {
+      return $cache
+    },
+    $loading() {
+      return function(title = '数据加载中...') {
+        uni.showLoading({
+          title,
+          mask: true
+        })
+      }
+    },
+    $hideLoading() {
+      return function() {
+        uni.hideLoading()
+      }
+    },
+    $colors() {
+      return {
+        bgColor: '#151729',
+        primaryColor: '#6EEBE8',
+        darkColor: '#48979C',
+        defaultColor: '#FFFFFF',
+        infoColor: '#6F717F'
+      }
+    }
+  }
+}

+ 21 - 0
utils/request/index.js

xqd
@@ -0,0 +1,21 @@
+const defaultSetting = require('@/setting')
+import store from '@/store'
+uni.$u.http.setConfig((config) => {
+  config.baseURL = defaultSetting.BASE_URL
+
+  config.header = {
+    'Content-Type': 'application/x-www-form-urlencoded',
+    'X-Requested-With': 'XMLHttpRequest',
+    'Accept': 'application/vnd.api.v1+json'
+  }
+  if (store.getters.token) {
+    config.header['Authorization'] = store.getters.token
+  }
+
+  return config
+})
+
+module.exports = (vm) => {
+  require('./requestInterceptors')(vm)
+  require('./responseInterceptors')(vm)
+}

+ 20 - 0
utils/request/requestInterceptors.js

xqd
@@ -0,0 +1,20 @@
+import { getToken } from '../auth'
+
+/**
+ * 请求拦截
+ * @param {Object} http
+ */
+module.exports = vm => {
+  uni.$u.http.interceptors.request.use(
+    config => { // 可使用async await 做异步操作
+      config.data = config.data || {}
+
+      if (getToken()) {
+        config.header['Authorization'] = getToken()
+      }
+
+      return config
+    }, (config) => { // 可使用async await 做异步操作
+      return Promise.reject(config)
+    })
+}

+ 44 - 0
utils/request/responseInterceptors.js

xqd
@@ -0,0 +1,44 @@
+/**
+ * 响应拦截
+ * @param {Object} http
+ */
+module.exports = vm => {
+  uni.$u.http.interceptors.response.use(
+    response => {
+      const data = response.data
+      // 刷新token
+      const authorization = response.headers?.authorization
+      if (authorization) {
+        vm.$store.dispatch('user/token', authorization)
+      }
+      if (data.code !== 0) {
+        uni.showModal({
+          title: '提示',
+          content: data.msg,
+          showCancel: false
+        })
+        return Promise.reject(data.msg)
+      }
+
+      return data
+    }, (error) => {
+      // 401 登录超时 402 需要登录
+      if (typeof error.data.status_code !== 'undefined') {
+        if (error.data.status_code === 401 || error.data.status_code === 402) {
+          if (!getApp().globalData.isLogin) {
+            getApp().globalData.isLogin = true
+            uni.reLaunch({
+              url: '/pages/login'
+            })
+          }
+          return Promise.resolve()
+        }
+      }
+      uni.showModal({
+        title: '提示',
+        content: error.data.message,
+        showCancel: false
+      })
+      return Promise.reject(error)
+    })
+}

Някои файлове не бяха показани, защото твърде много файлове са промени