uniapp同意使用,不同意退出APP

    技术2022-07-20  86

    关于app的使用。许多电商平台都设置了下载APP就会提示用户是否同意使用条款或者隐私政策。

    用户不同意就会退出APP。同意了就隐藏弹窗。

    那怎么才能判断用户下载APP,是否有同意使用呢。并且用户卸载重装后仍然会提示用户同意。 我们可以在用户点击同意时,保存一个关键词在本地。根据这个关键词是否存在本地。 而提示用户是否同意。这样用户同意之后在下次点击APP时就不会提示了。 除非用户卸载重装APP 首页为APP的首次加载页面。在该页面上做判断。 如果存在就隐藏弹窗。(之前做法是建一个新的页面,在这个新的页面做判断再导航。发现同意条款再次进入会有闪屏显现。所以将弹窗放在首页上

    点击同意 (此方法最好写在onload之前的钩子函数。不然此页面在每次打开APP时会闪以下)

    admit(){ // 同意,保存用户同意使用字段和同意时间戳 try { uni.setStorageSync('agreement_key', 'yes'); uni.setStorageSync('agreement_date', new Date().toLocaleString()); } catch (e) { // error } // 跳转到首页 // uni.switchTab({ // url:'/pages/index/index' // }) //隐藏所有弹窗 this.showonebox=false; //显示首页tabar uni.showTabBar({animation:true}); },

    判断有关键字

    //首页判断是否同意 judge(){ uni.getStorage({ key: 'agreement_key', success: () => { //不显示弹窗 this.oneagree=false; uni.showTabBar({animation:true}); }, fail:()=>{ //显示弹窗,隐藏tabar uni.hideTabBar({animation:true}); this.oneagree=true; } }) },

    不同意退出

    // #ifdef APP-PLUS if (plus.os.name.toLowerCase() === 'android') { plus.runtime.quit(); } else{ const threadClass = plus.ios.importClass("NSThread"); const mainThread = plus.ios.invoke(threadClass, "mainThread"); plus.ios.invoke(mainThread, "exit"); // ios11 plus.ios.import("UIApplication").sharedApplication().performSelector("exit") } // #endif
    Processed: 0.014, SQL: 9