likeshop/uniapp/App.vue

94 lines
2.3 KiB
Vue
Raw Normal View History

2024-08-15 11:06:13 +08:00
<script>
import { mapMutations, mapActions } from "vuex";
import { inputInviteCode } from "@/api/user";
import { userShare, getConfig } from "@/api/app";
import Cache from "@/utils/cache";
import { strToParams, showModal, setTabbar } from "@/utils/tools";
import { wxMnpLogin } from "@/utils/login";
export default {
globalData: {
navHeight: "",
},
onLaunch: async function (options) {
uni.hideTabBar({
animation: false,
});
// 获取配置
this.getConfigFun();
this.getUser();
// 获取分享
this.getShareInfo();
//获取系统信息
this.getSystemInfo();
},
onShow: function (options) {
//绑定邀请码
this.bindCode(options);
},
onHide: function () {
console.log("App Hide");
},
methods: {
...mapMutations(["SETCONFIG"]),
...mapActions(["getUser"]),
getSystemInfo() {
uni.getSystemInfo({
success: (res) => {
let { statusBarHeight, platform } = res;
let navHeight;
if (platform == "ios" || platform == "devtools") {
navHeight = statusBarHeight + 44;
} else {
navHeight = statusBarHeight + 48;
}
this.globalData.navHeight = navHeight;
},
fail(err) {
console.log(err);
},
});
},
async getShareInfo() {
const { code, data } = await userShare();
if (code == 1) {
Cache.set("shareInfo", data);
}
},
async getConfigFun() {
try {
const { code, data } = await getConfig();
if (code == 1) {
this.SETCONFIG(data);
setTabbar();
}
} catch (e) {
uni.showTabBar();
}
},
bindCode(options) {
if (!options.query) return;
let invite_code =
options.query.invite_code ||
strToParams(decodeURIComponent(options.query.scene)).invite_code;
if (invite_code) {
inputInviteCode({
code: invite_code,
}).then((res) => {
if (res.code == -1) {
Cache.set("INVITE_CODE", invite_code);
}
});
}
},
},
};
</script>
<style lang="scss">
@import "styles/base.scss";
/*每个页面公共css */
@import "components/uview-ui/index.scss";
</style>