1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <template>
- <view class="page_container">
- <custom-nav-bar title="消息通知设置" />
- <view class="info_wrap">
- <setting-item
- :loading="loadingState.beep"
- @switch="changeBeep"
- :switchValue="selfInfo.allowBeep === 1"
- title="声音"
- :is_switch="true"
- />
- <setting-item
- :loading="loadingState.vibration"
- @switch="changeVibration"
- :switchValue="selfInfo.allowVibration === 1"
- title="震动"
- :is_switch="true"
- />
- </view>
- </view>
- </template>
- <script>
- import CustomNavBar from "../../../components/CustomNavBar/index.vue";
- import SettingItem from "../../../components/SettingItem/index.vue";
- import { businessInfoUpdate } from "../../../api/login";
- export default {
- components: {
- CustomNavBar,
- SettingItem,
- },
- data() {
- return {
- loadingState: {
- beep: false,
- vibration: false,
- },
- };
- },
- computed: {
- selfInfo() {
- return this.$store.getters.storeSelfInfo;
- },
- },
- onLoad() {
- console.log(this.$store.getters.storeSelfInfo);
- },
- methods: {
- changeBeep(flag) {
- this.loadingState.beep = true;
- this.updateSelfInfo(
- {
- allowBeep: flag ? 1 : 2,
- },
- "beep",
- );
- },
- changeVibration(flag) {
- this.loadingState.vibration = true;
- this.updateSelfInfo(
- {
- allowVibration: flag ? 1 : 2,
- },
- "vibration",
- );
- },
- async updateSelfInfo(data, key) {
- try {
- await businessInfoUpdate({
- userID: this.selfInfo.userID,
- ...data,
- });
- await this.$store.dispatch("user/updateBusinessInfo");
- uni.$u.toast("修改成功");
- } catch (e) {
- uni.$u.toast("修改失败");
- }
- this.loadingState[key] = false;
- },
- },
- };
- </script>
- <style lang="scss" scoped>
- .page_container {
- background-color: #f8f8f8;
- .info_wrap {
- background-color: #fff;
- margin-top: 24rpx;
- }
- }
- </style>
|