| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <script>
- /**
- * vuex管理登录状态,具体可以参考官方登录模板示例
- */
- import { mapMutations } from "vuex";
- import APPUpdate from "@/plugins/APPUpdate";
- import { getClipboardData } from "@/js_sdk/h5-copy/h5-copy.js";
- import config from "@/config/config";
- // 悬浮球
- export default {
- data() {
- return {
- config,
- };
- },
- methods: {
- ...mapMutations(["login"]),
- },
- onLaunch: function () {
- // #ifdef APP-PLUS
- this.checkArguments(); // 检测启动参数
- APPUpdate();
- // 重点是以下: 一定要监听后台恢复 !一定要
- plus.globalEvent.addEventListener("newintent", (e) => {
- this.checkArguments(); // 检测启动参数
- });
- // #endif
- },
- onShow() {
- // #ifndef H5
- this.getClipboard();
- // #endif
- },
- methods: {
- // 开屏广告
- launch() {
- try {
- // 获取本地存储中launchFlag标识 开屏广告
- const value = uni.getStorageSync("launchFlag");
- if (!value) {
- this.$u.route("/pages/index/agreement");
- } else {
- //app启动时打开启动广告页
- var w = plus.webview.open(
- "/hybrid/html/advertise/advertise.html",
- "本地地址",
- {
- top: 0,
- bottom: 0,
- zindex: 999,
- },
- "fade-in",
- 500
- );
- //设置定时器,4s后关闭启动广告页
- setTimeout(function () {
- plus.webview.close(w);
- APPUpdate();
- }, 3000);
- }
- } catch (e) {
- // error
- uni.setStorage({
- key: "launchFlag",
- data: true,
- success: function () {
- console.log("error时存储launchFlag");
- },
- });
- }
- },
- /**
- * 获取粘贴板数据
- */
- async getClipboard() {
- let res = await getClipboardData();
- /**
- * 解析粘贴板数据
- */
- if (res.indexOf(config.shareLink) != -1) {
- uni.showModal({
- title: "提示",
- content: "检测到一个分享链接是否跳转?",
- confirmText: "跳转",
- success: function (callback) {
- if (callback.confirm) {
- const path = res.split(config.shareLink)[1];
- if (path.indexOf("tabbar") != -1) {
- uni.switchTab({
- url: path,
- });
- } else {
- uni.navigateTo({
- url: path,
- });
- }
- }
- },
- });
- }
- },
- /**
- * h5中打开app获取跳转app的链接并跳转
- */
- checkArguments() {
- // #ifdef APP-PLUS
- setTimeout(() => {
- const args = plus.runtime.arguments;
- if (args) {
- const argsStr = decodeURIComponent(args);
- const path = argsStr.split("//")[1];
- if (path.indexOf("tabbar") != -1) {
- uni.switchTab({
- url: `/${path}`,
- });
- } else {
- uni.navigateTo({
- url: `/${path}`,
- });
- }
- }
- });
- // #endif
- },
- },
- };
- </script>
- <style lang="scss">
- @import "uview-ui/index.scss";
- @import "./static/font/iconfont/iconfont.css";
- // -------适配底部安全区 苹果x系列刘海屏
- // #ifdef MP-WEIXIN
- .mp-iphonex-bottom {
- padding-bottom: constant(safe-area-inset-bottom);
- padding-bottom: env(safe-area-inset-bottom);
- box-sizing: content-box;
- height: auto !important;
- padding-top: 10rpx;
- }
- // #endif
- body {
- background-color: $bg-color;
- }
- /************************ */
- .w200 {
- width: 200rpx !important;
- }
- .flex1 {
- flex: 1; //必须父级设置flex
- }
- </style>
|