123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455 |
- <template>
- <view class="page">
- <view class="list_info">
- <view class="">
- <!-- 基础设置组 -->
- <view class="group-header">基础设置</view>
- <view class="item basic" v-for="(item, index) in basicSettings" :key="item.name + index"
- @click="goPage(item.path)">
- <view class="item-left">
- <image class="icon" :src="item.icon" mode="widthFix"></image>
- <text>{{ item.name }}</text>
- </view>
- <view class="item-right">
- <switch v-if="item.switch == 1" checked class="custom-switch" color="#acf934"
- style="transform: scale(0.7)" />
- <image v-else class="arrow" src="../../static/me/arrow_right_gray.png" mode="widthFix"></image>
- </view>
- </view>
- </view>
- <view class="">
- <!-- 更多设置组 -->
- <view class="group-header" style="margin-top: 20rpx">更多</view>
- <view class="item more" v-for="(item, index) in moreSettings" :key="index + item.name"
- @click="goPage(item.path, item)">
- <view class="item-left">
- <image class="icon" :src="item.icon" mode="widthFix"></image>
- <text>{{ item.name }}</text>
- </view>
- <view class="item-right">
- <switch v-if="item.switch == 1" color="#acf934" @change="switch1Change" :checked="isContentRecommendations"
- class="custom-switch" style="transform: scale(0.7)" />
- <image v-else class="arrow" src="../../static/me/arrow_right_gray.png" mode="widthFix"></image>
- </view>
- </view>
- </view>
- </view>
- <!-- 版本信息 -->
- <view class="version-info">
- <text>版本号 {{ version }}</text></br>
- <text>杭州智潮创意科技有限公司</text>
- </view>
- <!-- 退出登录按钮 -->
- <view class="btn_submit" @click="logout">退出登录</view>
- <DialogBox ref="DialogBox"></DialogBox>
- <CustomerServicePopup ref="customerServicePopup"></CustomerServicePopup>
- </view>
- </template>
- <script>
- import CustomerServicePopup from "@/components/CustomerServicePopup/CustomerServicePopup.vue";
- import { getStorage, setStorage, removeStorage } from "@/common/util.js";
- import { mapState, mapMutations ,mapGetters} from 'vuex';
- export default {
- components: { CustomerServicePopup },
- computed: {
- ...mapState('rightsManagement',['isContentRecommendation']),
- ...mapGetters('rightsManagement',['isContent'])
- },
- data() {
- return {
- title: "",
- sel: 1,
- myinfo: {},
- version: "",
- basicSettings: [
- {
- name: "账户与安全",
- desc: "",
- path: "/pages/my/security",
- icon: "../../static/me/wd_icon_zhanghuyuanquan.png",
- propup: "",
- },
- {
- name: "基本资料",
- desc: "",
- path: "/pages/my/editInfo",
- icon: "../../static/me/wd_icon_jibenziliao.png",
- propup: "",
- },
- {
- name: "青少年模式",
- switch: 0,
- desc: "",
- // 'path': '/pages/my/idcheck',实名认证
- path: "/pages/my/adolescent",
- icon: "../../static/me/wd_icon_qingshaonianmoshi.png",
- propup: "",
- },
- {
- name: "收货地址",
- switch: 0,
- desc: "",
- // 'path': '/pages/my/idcheck',实名认证
- path: "/pages/crowdFunding/receivingAddress",
- icon: "../../static/me/wd_icon_shouhuodizhi.png",
- propup: "",
- },
- ],
- moreSettings: [
- {
- name: "发起众筹",
- desc: "",
- path: "InitiateCrowdfunding",
- icon: "../../static/me/InitiateCrowdfunding.png",
- propup: "",
- },
- {
- name: "通知设置",
- desc: "",
- path: "pushSet",
- icon: "../../static/me/wd_icon_tonzhishezhi.png",
- propup: "",
- },
- {
- name: "服务条款",
- desc: "",
- path: "/pages/AboutUs/xieyi",
- icon: "../../static/me/wd_icon_fuwutiaokuan.png",
- propup: "",
- },
- {
- name: "接收内容推荐",
- switch: 1,
- desc: "",
- path: "",
- icon: "../../static/me/wd_icon_jieshouneirongtuijian.png",
- propup: "",
- },
- {
- name: "联系客服",
- desc: "",
- path: "kefu",
- icon: "../../static/me/wd_icon_lianxikefu.png",
- propup: "customPopup",
- },
- ],
- isContentRecommendations: true,
- };
- },
- onLoad() {
- this.getAppVersion();
- },
- onShow() {
- this.loadData();
- if (this.isContent) {
- this.isContentRecommendations = true
- } else {
- this.isContentRecommendations = false
- }
- },
- methods: {
- ...mapMutations('rightsManagement',[ 'setIsContentRecommendation']),
- ...mapMutations('switchingModule', ['deleteInformation']),
- openCustomPopup() {
- this.$refs.customerServicePopup.open();
- },
- getAppVersion() {
- uni.getSystemInfo({
- success: (info) => {
- // app系统环境
- let appPlatform = info.platform;
- console.log("appPlatform", info);
- // #ifdef H5
- this.version = "V" + info.appVersion;
- // #endif
- // #ifdef APP-PLUS
- plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
- this.version = "V" + wgtinfo.version;
- });
- // #endif
- },
- });
- },
- switch1Change(e) {
- this.setIsContentRecommendation(e.detail.value);
-
- },
- onBack() { },
- chkSel() {
- if (this.sel == 1) {
- this.sel = 0;
- } else {
- this.sel = 1;
- }
- },
- goPage(page) {
- if (page == "delete") {
- this.DelMem();
- } else if (page == "yszc") {
- // #ifdef APP-PLUS
- plus.runtime.openURL("https://e.zhichao.art/web/yszc.php"); // plus.runtime.openWeb(href);
- // #endif
- // #ifdef H5
- window.open("https://e.zhichao.art/web/yszc.php");
- // #endif
- } else if (page == "kefu") {
- // let that = this;
- // // #ifdef APP-PLUS
- // plus.share.getServices(res => {
- // const wechat = res.find(i => i.id === 'weixin')
- // if (wechat) {
- // wechat.openCustomerServiceChat({
- // corpid: 'wwbc06aa8311b6ac08',
- // // url: 'https://work.weixin.qq.com/kfid/kfc4b0bcb4038d00a50'
- // url: that.myinfo.wxkf
- // }, src => {
- // console.log("success:")
- // }, err => {
- // console.log("error:")
- // })
- // } else {
- // uni.showToast({
- // title: '没有检测到微信,请先安装',
- // icon: "error"
- // });
- // }
- // });
- // // #endif
- this.openCustomPopup();
- }else if (page == "InitiateCrowdfunding") {
- uni.showModal({
- title: "温馨提示",
- content: "请使用电脑端登录,认证后发起众筹",
- paratext: "(复制下方链接,电脑登录)",
- cancelText: "取消",
- confirmText: "复制链接",
- success: (res) => {
- if (res.confirm) {
- uni.setClipboardData({
- data: 'https://zhichao.art/zc/',
- success: () => {
- uni.showToast({
- title: '链接已复制',
- icon: 'success'
- })
- },
- fail: () => {
- uni.showToast({
- title: '复制失败',
- icon: 'none'
- })
- }
- })
- }
- }
- });
- } else if (page == "pushSet") {
- // #ifdef APP-PLUS
- if (uni.getSystemInfoSync().platform === 'android') {
- const main = plus.android.runtimeMainActivity();
- const NotificationManagerCompat = plus.android.importClass('androidx.core.app.NotificationManagerCompat');
- const Context = plus.android.importClass('android.content.Context');
- // 获取NotificationManagerCompat实例
- const notificationManager = NotificationManagerCompat.from(main);
- // 检查通知权限
- const areNotificationsEnabled = notificationManager.areNotificationsEnabled();
- uni.showModal({
- title: "通知设置",
- content: "可进行消息通知管理",
- paratext: "通知可能包括:悬浮消息通知、锁屏通知、桌面角标提醒通知",
- cancelText: "取消",
- confirmText: "确定",
- success: (res) => {
- if (res.confirm) {
- const Intent = plus.android.importClass('android.content.Intent');
- const Settings = plus.android.importClass('android.provider.Settings');
- const Uri = plus.android.importClass('android.net.Uri');
-
- const intent = new Intent();
- intent.setAction(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
- intent.putExtra(Settings.EXTRA_APP_PACKAGE, main.getPackageName());
- main.startActivity(intent);
- }
- },
- });
- } else {
- // iOS
- const UIApplication = plus.ios.import("UIApplication");
- const NSURL = plus.ios.import("NSURL");
- const setting = NSURL.URLWithString("app-settings:");
- const application = UIApplication.sharedApplication();
- application.openURL(setting);
- }
- // #endif
- // #ifdef H5
- uni.showToast({
- title: 'H5环境不支持此功能',
- icon: 'none'
- });
- // #endif
- } else if (page != "") {
- uni.navigateTo({
- url: page,
- });
- }
- },
- DelMem() {
- var that = this;
- this.$refs["DialogBox"]
- .confirm({
- title: "警告",
- content:
- "1、注销账号是不可逆操作,该账号下所有一切资料一旦注销无法恢复;\n2、注销后,你账号下所有权益将被清除。",
- DialogType: "inquiry",
- btn1: "否",
- btn2: "是",
- animation: 0,
- })
- .then(() => {
- uni.request({
- url: that.$apiHost + "/My/delete", //检测是否已绑定
- data: {
- uuid: getApp().globalData.uuid,
- },
- header: {
- "content-type": "application/json", //自定义请求头信息
- },
- success: (res) => {
- uni.removeStorageSync("wapptoken");
- uni.redirectTo({
- url: "/pages/login/login",
- });
- },
- });
- });
- },
- loadData() {
- console.log({
- uuid: getApp().globalData.uuid,
- skey: getApp().globalData.skey,
- });
- uni.request({
- url: this.$apiHost + "/Web/getinfo",
- data: {
- uuid: getApp().globalData.uuid,
- },
- header: {
- "content-type": "application/json",
- sign: getApp().globalData.headerSign,
- },
- success: (res) => {
- console.log("----:", res.data);
- this.myinfo = res.data;
- },
- complete: (com) => {
- // uni.hideLoading();
- },
- fail: (e) => {
- console.log("----e:", e);
- },
- });
- },
- EditNickname() {
- let that = this;
- this.$refs["DialogBox"]
- .confirm({
- title: "更改昵称",
- placeholder: "请输入修改的昵称",
- value: that.myinfo.nickname,
- DialogType: "input",
- animation: 0,
- })
- .then((res) => {
- if (res.value.length < 1) {
- uni.showToast({
- title: "请输入有效的昵称",
- icon: "none",
- });
- return;
- }
- that.myinfo.nickname = res.value;
- let obj2 = {
- nickname: res.value,
- };
- const postData = Object.assign(
- {},
- getApp().globalData.postHeader,
- obj2
- );
- uni.request({
- url: that.$apiHost + "/Gushi/editinfo", //检测是否已绑定
- data: postData,
- method: "POST",
- header: {
- "content-type": "application/json", //自定义请求头信息
- "Access-Control-Allow-Origin": "*",
- },
- success: (res) => {
- uni.showToast({
- title: res.data.str,
- icon: "none",
- });
- },
- });
- });
- },
- logout() {
- this.$refs["DialogBox"]
- .confirm({
- title: "提示",
- content: "确定要退出登录吗?",
- DialogType: "inquiry",
- btn1: "取消",
- btn2: "确定",
- animation: 0,
- })
- .then(() => {
- uni.removeStorageSync("wapptoken");
- uni.removeStorageSync("nickname");
- uni.removeStorageSync("avator");
- uni.removeStorageSync("mobile");
- uni.removeStorageSync("uuid");
- uni.removeStorageSync("user_id");
- uni.removeStorageSync("is_login");
- removeStorage("isContentRecommendation");
- this.deleteInformation();
- uni.redirectTo({
- url: "/pages/login/login",
- });
- });
- },
- copyText(text) {
- uni.setClipboardData({
- data: text,
- success: () => {
- uni.showToast({
- title: '复制成功',
- icon: 'success'
- })
- },
- fail: () => {
- uni.showToast({
- title: '复制失败',
- icon: 'none'
- })
- }
- })
- },
- },
- };
- </script>
- <style scoped lang="scss">
- @import "setting.scss";
- </style>
|