3 コミット 7e45433f43 ... 92f3ad7eef

作者 SHA1 メッセージ 日付
  Tim_Walker 92f3ad7eef fix: 切换身份 1 年間 前
  Tim_Walker 4b080b4a50 refactor: 用户协议、隐私政策 1 年間 前
  Tim_Walker 06c0769843 fix: request 1 年間 前

+ 0 - 174
src/components/userAgreement/userAgreement.vue

@@ -1,174 +0,0 @@
-<template>
-  <view>
-    <u-modal :title="title" confirmText="关闭" :show="show" @confirm="handleConfirm" style="width: 90%;">
-      <!-- 如果点击的是用户协议 -->
-      <view v-if="title == '用户协议'" class="scrollable-container">
-        <p class="centent" style="font-weight: bold">车旅程科技用户协议</p>
-        <br />
-
-        <p>
-          欢迎使用车旅程科技有限公司的产品服务!车旅程科技有限公司(以下简称“本公司”)提供的产品服务由车旅程科技有限公司及其关联方通过网站、移动应用程序等方式向您提供。
-        </p>
-        <br />
-
-        <p>
-          在使用本公司的产品/服务之前,请您仔细阅读并理解本用户协议。如果您不同意本协议的任何内容,请您停止使用本公司的产品/服务。
-        </p>
-        <br />
-
-        <p style="font-weight: bold">1. 服务内容</p>
-        <p>
-          本公司提供的产品/服务包括但不限于:提供在线购物平台,用户可以在平台上浏览和购买商品;提供用户注册和登录功能,用户可以通过注册和登录账号来使用本公司的产品/服务;提供用户个人信息管理功能,用户可以在个人中心管理和修改个人信息;提供订单管理功能,用户可以查看和管理自己的订单;提供售后服务,用户可以申请退款、退货等售后服务.
-        </p>
-        <br />
-
-        <p style="font-weight: bold">2. 用户权利和义务</p>
-        <p>2.1 用户有权根据本公司的规定使用本公司的产品/服务。</p>
-        <p>
-          2.2 用户应当遵守国家法律法规和本公司的相关规定,不得利用本公司的产品/服务从事违法活动。
-        </p>
-        <p>2.3 用户应当保护好自己的账号和密码,不得将账号和密码透露给他人。</p>
-        <p>2.4 用户应当按照本公司的规定支付商品的购买款项,并按时收取商品。</p>
-        <p>2.5 用户应当配合本公司进行商品的配送、退款、退货等售后服务。</p>
-        <br />
-        <p style="font-weight: bold">3. 个人信息保护</p>
-        <p>3.1 本公司将按照法律法规和隐私政策的要求,保护用户的个人信息。</p>
-        <p>3.2 用户应当按照本公司的要求提供真实、准确、完整的个人信息。</p>
-        <p>3.3 本公司将采取合理的安全措施,保护用户的个人信息不被泄露、篡改或丢失。</p>
-        <p>3.4 用户可以根据本公司的隐私政策行使自己的个人信息权利。</p>
-        <br />
-
-        <p style="font-weight: bold">4. 免责声明</p>
-        <p>4.1 本公司不对用户使用本公司的产品/服务所产生的任何直接或间接损失承担责任。</p>
-        <p>4.2 用户在使用本公司的产品/服务时应自行承担风险,本公司不对用户的行为负责。</p>
-        <p>
-          4.3
-          本公司不对因不可抗力、计算机病毒、黑客攻击等原因导致的服务中断、数据丢失等问题承担责任。
-        </p>
-        <br />
-
-        <p style="font-weight: bold">5. 协议的变更和终止</p>
-        <p>5.1 本公司有权根据需要修改本用户协议,并在网站上公布修改后的协议内容。</p>
-        <p>5.2 用户如果不同意修改后的协议内容,可以停止使用本公司的产品/服务。</p>
-        <p>5.3 本公司有权根据法律法规和业务需要终止本用户协议,并停止向用户提供产品/服务。</p>
-        <br />
-
-        <p style="font-weight: bold">6. 法律适用和争议解决</p>
-        <p>6.1 本用户协议适用中华人民共和国的法律。</p>
-        <p>
-          6.2
-          用户和本公司之间的争议应当通过友好协商解决,协商不成的,可以向有管辖权的人民法院提起诉讼。
-        </p>
-        <br />
-
-        <p>
-          请您在使用本公司的产品/服务之前,仔细阅读并理解本用户协议。如果您对协议内容有任何疑问,请随时联系我们。
-        </p>
-      </view>
-      <!-- 否则 也就是点击隐私政策 -->
-      <view v-else class="scrollable-container">
-        <p class="centent" style="font-weight: bold">车旅程科技隐私政策</p>
-        <br />
-        <p>版本号:V0.0.1</p>
-        <p>更新日期:2024年01月31日</p>
-        <p>生效日期:2024年01月31日</p>
-        <br />
-
-        <p>
-          欢迎使用车旅程科技有限公司的产品服务!车旅程科技有限公司(以下简称“本公司”)非常重视您的个人信息保护。本隐私政策将告知您本公司如何收集、使用、存储和保护您的个人信息。
-        </p>
-        <br />
-
-        <p>
-          请在使用本公司的产品服务之前仔细阅读并理解本隐私政策。如果您不同意本政策的任何内容,请您停止使用本公司的产品/服务。
-        </p>
-        <br />
-
-        <p style="font-weight: bold">1. 信息收集和使用</p>
-        <p>
-          本公司可能会收集和使用以下类型的个人信息:姓名、联系方式、地址等身份识别信息;设备信息、操作记录、IP地址等技术信息;其他您主动提供的个人信息。
-        </p>
-        <p>
-          本公司将严格按照法律法规的要求,使用您的个人信息,并采取合理的安全措施保护您的个人信息。
-        </p>
-        <br />
-
-        <p style="font-weight: bold">2. 信息存储和保护</p>
-        <p>
-          本公司将采取合理的安全措施,保护您的个人信息的安全性和完整性。同时,本公司将采取合理的措施防止您的个人信息被泄露、丢失或被滥用。
-        </p>
-        <p>本公司将在法律法规要求的时限内存储您的个人信息,并在不再需要时进行删除。</p>
-        <br />
-
-        <p style="font-weight: bold">3. 信息共享和转让</p>
-        <p>
-          本公司将严格控制个人信息的共享和转让行为,并仅在以下情况下共享或转让您的个人信息:获得您的明确同意;根据法律法规的要求;为了提供您所需的产品/服务而必要的共享或转让;根据法律法规的要求或有权机关的要求进行共享或转让。
-        </p>
-        <br />
-
-        <p style="font-weight: bold">4. 信息安全</p>
-        <p>
-          本公司将采取合理的安全措施,保护您的个人信息的安全性和完整性。同时,本公司将采取合理的措施防止您的个人信息被泄露、丢失或被滥用。
-        </p>
-        <br />
-
-        <p style="font-weight: bold">5. 法律适用和争议解决</p>
-        <p>
-          本隐私政策适用中华人民共和国的法律。任何因本隐私政策引起的争议,应通过友好协商解决;协商不成的,可以向有管辖权的人民法院提起诉讼。
-        </p>
-        <br />
-
-        <p>
-          请您在使用本公司的产品/服务之前,仔细阅读并理解本隐私政策。如果您对政策内容有任何疑问,请随时联系我们。
-        </p>
-      </view>
-    </u-modal>
-  </view>
-</template>
-
-<script>
-export default {
-  name: 'userAgreement',
-  props: {
-    show: {
-      type: Boolean,
-      default: false,
-    },
-    title: {
-      type: String,
-      default: '',
-    },
-  },
-
-  methods: {
-    //点击弹框内确认
-    handleConfirm() {
-      this.$emit('handleConfirm');
-    },
-  },
-};
-</script>
-<style scoped>
-.scrollable-container {
-  height: 70vh; /* 设置容器的高度为视口高度的70% */
-  overflow-y: auto; /* 添加垂直滚动条 */
-  font-size: 13px; /* 设置文字大小为16像素 */
-}
-.centent {
-  text-align: center;
-}
-/* 标题高度 字体颜色  位置 背景色 */
-::v-deep .u-modal__title {
-  height: 50px;
-  color: white;
-  padding-top: 0px;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  background-color: #2b85e4;
-}
-/* 底部按钮背景色 */
-::v-deep .u-modal__button-group__wrapper {
-  background-color: #ecf5ff;
-}
-</style>

+ 6 - 6
src/pages.json

@@ -64,6 +64,12 @@
         "navigationBarTitleText": "开屏广告",
         "navigationStyle": "custom"
       }
+    },
+    {
+      "path": "pages/webview/index",
+      "style": {
+        "navigationBarTitleText": ""
+      }
     }
   ],
   "subPackages": [{
@@ -285,12 +291,6 @@
           "style": {
             "navigationBarTitleText": "设置"
           }
-        },
-        {
-          "path": "mine/setting/agreement",
-          "style": {
-            "navigationBarTitleText": "用户协议"
-          }
         }
       ]
     },

+ 3 - 3
src/pages/client/clientUser/mine/setting.vue

@@ -10,9 +10,9 @@
           <u-cell size="large" :border="false" icon="github-circle-fill" title="关于我们" isLink
             url="/pages/client/clientUser/mine/setting/aboutMine" />
           <u-cell size="large" :border="false" icon="file-text-fill" title="用户协议" isLink
-            url="/pages/client/clientUser/mine/setting/agreement" />
+            url="/pages/webview/index?target=http://8.137.122.65:88/用户协议.html" />
           <u-cell size="large" :border="false" icon="file-text" title="隐私政策" isLink
-            url="/pages/client/clientUser/mine/setting/privacyPolicy" />
+            url="/pages/webview/index?target=http://8.137.122.65:88/隐私政策.html" />
           <u-cell icon="integral-fill" title="版本信息" value="V0.0.1" />
         </u-cell-group>
       </view>
@@ -49,7 +49,7 @@
     methods: {
       confirmSwitch() {
         this.showSwitchDialog = false;
-        this.$store.commit('SET_SCOPE','MERCHANT')
+        this.$store.dispatch('SwitchIdentity','MERCHANT')
         uni.navigateTo({
           url: '/pages/merchant/mine/index',
         });

+ 1 - 1
src/pages/client/tabBar/mine/TapList.vue

@@ -113,7 +113,7 @@ export default {
 
     confirmSwitch() {
       this.showSwitchDialog = false;
-      this.$store.commit('SET_SCOPE','MERCHANT')
+      this.$store.dispatch('SwitchIdentity','MERCHANT')
       uni.navigateTo({
         url: '/pages/merchant/mine/index',
       });

+ 4 - 7
src/pages/login/index.vue

@@ -41,8 +41,8 @@
       <u-checkbox-group v-model="agree">
         <u-checkbox shape="circle" name="1" label="我已阅读并同意" />
       </u-checkbox-group>
-      <view @click="clickAgreement('用户协议')" class="agreement">《用户协议》</view>
-      <view @click="clickAgreement('隐私政策')" class="agreement">《隐私政策》</view>
+      <view @click="$Router.push('/pages/webview/index?target=http://8.137.122.65:88/用户协议.html')" class="agreement">《用户协议》</view>
+      <view @click="$Router.push('/pages/webview/index?target=http://8.137.122.65:88/隐私政策.html')" class="agreement">《隐私政策》</view>
     </view>
 
     <!-- 第三方 -->
@@ -60,11 +60,8 @@
 
 <script>
 import { getWxLoginCode } from '@/api/login.js';
-import userAgreement from '@/components/userAgreement/userAgreement.vue';
+
 export default {
-  components: {
-    userAgreement,
-  },
   data() {
     return {
       agree:[],
@@ -126,7 +123,7 @@ export default {
       this.$store
         .dispatch('LoginByWxCode', data)
         .then(() => {
-          this.$store.commit('SET_SCOPE','CUSTOMER')
+          this.$store.dispatch('SwitchIdentity','CUSTOMER')
           this.$Router.pushTab('/pages/client/tabBar/home/index');
           this.loading = false;
           this.$store.dispatch('GetUserInfo')

+ 1 - 1
src/pages/login/phoneLogin.vue

@@ -101,7 +101,7 @@ export default {
       this.loading = true
       this.$store.dispatch('LoginBySmsCode', data)
         .then(() => {
-          this.$store.commit('SET_SCOPE','CUSTOMER')
+          this.$store.dispatch('SwitchIdentity','CUSTOMER')
           this.$Router.pushTab('/pages/client/tabBar/home/index');
           this.loading = false;
           this.$store.dispatch('GetUserInfo')

+ 0 - 3
src/pages/login/register.vue

@@ -88,14 +88,11 @@
         <u-button @click="confirmShow" type="primary" :loading="loading">确认</u-button>
       </u-popup>
     </view> -->
-    <!-- 用户协议弹框 -->
-    <userAgreement v-if="show" :title="title" :show="show" @handleConfirm="handleConfirm" />
   </view>
 </template>
 
 <script>
 import { getSmsCodeByPhone, loginByPhoneAndSmsCode } from '@/api/login';
-import userAgreement from '@/components/userAgreement/userAgreement.vue';
 export default {
   data() {
     return {

+ 1 - 1
src/pages/merchant/mine/setting/index.vue

@@ -113,7 +113,7 @@ export default {
     confirmSwitch() {
       // 点击确认切换身份
       // 处理身份切换逻辑
-      this.$store.commit('SET_SCOPE','CUSTOMER')
+      this.$store.dispatch('SwitchIdentity','CUSTOMER')
       uni.switchTab({
         url: '/pages/client/tabBar/mine/index',
       });

+ 20 - 0
src/pages/webview/index.vue

@@ -0,0 +1,20 @@
+<template>
+  <view>
+    <web-view :src="target"></web-view>
+  </view>
+</template>
+
+<script>
+export default {
+  data(){
+    return {
+      target:'http://8.137.122.65:88/404.html'
+    }
+  },
+  onLoad(options){
+    if(options.target){
+      this.target = options.target
+    }
+  }
+}
+</script>

+ 35 - 24
src/store/modules/auth.js

@@ -1,40 +1,36 @@
 /**
  * 用户令牌信息
  */
-import { loginByWxLoginCode,loginByPhoneAndSmsCode, logout } from '@/api/login';
+import { loginByWxLoginCode, loginByPhoneAndSmsCode, logout } from '@/api/login';
+import request from '@/utils/request';
 
 export default {
   state: () => ({
     // login info
-    id:  null,
-    accessToken:  '',
-    refreshToken:  '',
-    mobile:  '',
-    anonymous:  false,
-    duration:  0,
-    scope:  'CUESTOMER',
+    id: null,
+    accessToken: '',
+    refreshToken: '',
+    mobile: '',
+    anonymous: false,
+    duration: 0,
+    scope: 'CUESTOMER',
   }),
 
   mutations: {
     SET_ID: (state, id) => {
       state.id = id;
-
     },
     SET_ACCESS_TOKEN: (state, accessToken) => {
       state.accessToken = accessToken;
-
     },
     SET_REFRESH_TOKEN: (state, refreshToken) => {
       state.refreshToken = refreshToken;
-
     },
     SET_MOBILE: (state, mobile) => {
       state.mobile = mobile;
-
     },
     SET_ANONYMOUS: (state, anonymous) => {
       state.anonymous = anonymous;
-
     },
     SET_DURATION: (state, duration) => {
       state.duration = duration;
@@ -43,13 +39,12 @@ export default {
       state.scope = scope;
     },
   },
-
   actions: {
     LoginByWxCode({ commit }, payload) {
       const data = {
         scope: this.scope,
-        id:'chelvc_client',
-        secret:'chelvc@secret#2023!',
+        id: 'chelvc_client',
+        secret: 'chelvc@secret#2023!',
         code: payload.code,
         mobile: payload.mobile,
       }
@@ -65,7 +60,7 @@ export default {
               commit('SET_DURATION', res.data.duration);
               commit('SET_SCOPE', res.data.scope);
               resolve();
-            }else{
+            } else {
               reject(res)
             }
           })
@@ -77,8 +72,8 @@ export default {
     LoginBySmsCode({ commit }, payload) {
       const data = {
         scope: this.scope,
-        id:'chelvc_client',
-        secret:'chelvc@secret#2023!',
+        id: 'chelvc_client',
+        secret: 'chelvc@secret#2023!',
         code: payload.code,
         mobile: payload.mobile,
         captcha: payload.captcha
@@ -96,7 +91,7 @@ export default {
               commit('SET_DURATION', res.data.duration);
               commit('SET_SCOPE', res.data.scope);
               resolve();
-            }else{
+            } else {
               reject()
             }
           })
@@ -105,10 +100,26 @@ export default {
           });
       });
     },
-    Logout({commit}){
+    // 切换身份
+    SwitchIdentity({ commit }, payload) {
+      const data = {
+        scope: payload,
+        token: this.getters.refreshToken,
+        id: 'chelvc_client',
+        secret: 'chelvc@secret#2023!'
+      }
+      request({
+        url: '/maintain/token/refresh',
+        method: 'post',
+        data: data
+      }).then(res=>{
+        commit('SET_SCOPE', payload);
+      })
+    },
+    Logout({ commit }) {
       const data = {
-        id:'chelvc_client',
-        secret:'chelvc@secret#2023!',
+        id: 'chelvc_client',
+        secret: 'chelvc@secret#2023!',
       }
       return new Promise((resolve, reject) => {
         logout(data)
@@ -122,7 +133,7 @@ export default {
               commit('SET_ANONYMOUS', false);
               commit('SET_DURATION', 0);
               resolve();
-            }else{
+            } else {
               reject()
             }
           })

+ 2 - 2
src/utils/request.js

@@ -124,8 +124,8 @@ instance.interceptors.response.use(async (res) => {
       return resp
     } else {
       // 无权限
-      this.$store.commit('SET_ACCESS_TOKEN', '')
-      this.$store.commit('SET_REFRESH_TOKEN', '')
+      store.commit('SET_ACCESS_TOKEN', '')
+      store.commit('SET_REFRESH_TOKEN', '')
       uni.showModal({
         title: '提示',
         content: "您的登录信息已过期,请重新登录",