jiangping
2024-05-28 d9869175b92c284ed8c520a76c6391f47b079adb
Merge remote-tracking branch 'origin/master'
已添加1个文件
已修改7个文件
416 ■■■■■ 文件已修改
h5/App.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/api/index.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/manifest.json 125 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages.json 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/auth/auth.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/login/login.vue 237 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/notice/notice.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/visitorApplication/visitorApplication.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/App.vue
@@ -1,4 +1,5 @@
<script>
import { wxAuthorize } from '@/api'
export default {
    onLaunch: function () {
        var that = this
@@ -7,15 +8,16 @@
            let code = ''
            if (url.indexOf('code=') !== -1) {
                const query = url.split('?')
                console.log('app-app', url);
                for (const q of query) {
                    if (q.indexOf('code=') !== -1) {
                        code = q.substring(q.indexOf('code=') + 5, q.length)
                    }
                }
                that.$u.api.wxAuthorize({
                wxAuthorize({
                    code: code
                }).then(res => {
                    console.log('app_ress', res);
                    if (res.code === 200) {
                        that.$store.commit('setOpenId', res.data.openid)
                        if (res.data.member) {
h5/api/index.js
@@ -16,4 +16,12 @@
    method: 'get',
    data
  })
}
// æŽˆæƒ
export const wxAuthorize = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/visitor/wxAuthorize',
    method: 'get',
    data
  })
}
h5/manifest.json
@@ -1,28 +1,28 @@
{
    "name" : "laborVisitors",
    "appid" : "__UNI__E9B0763",
    "description" : "",
    "versionName" : "1.0.0",
    "versionCode" : "100",
    "transformPx" : false,
    "name": "laborVisitors",
    "appid": "__UNI__E9B0763",
    "description": "",
    "versionName": "1.0.0",
    "versionCode": "100",
    "transformPx": false,
    /* 5+App特有相关 */
    "app-plus" : {
        "usingComponents" : true,
        "nvueStyleCompiler" : "uni-app",
        "compilerVersion" : 3,
        "splashscreen" : {
            "alwaysShowBeforeRender" : true,
            "waiting" : true,
            "autoclose" : true,
            "delay" : 0
    "app-plus": {
        "usingComponents": true,
        "nvueStyleCompiler": "uni-app",
        "compilerVersion": 3,
        "splashscreen": {
            "alwaysShowBeforeRender": true,
            "waiting": true,
            "autoclose": true,
            "delay": 0
        },
        /* æ¨¡å—配置 */
        "modules" : {},
        "modules": {},
        /* åº”用发布信息 */
        "distribute" : {
        "distribute": {
            /* android打包配置 */
            "android" : {
                "permissions" : [
            "android": {
                "permissions": [
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
@@ -41,60 +41,65 @@
                ]
            },
            /* ios打包配置 */
            "ios" : {},
            "ios": {},
            /* SDK配置 */
            "sdkConfigs" : {}
            "sdkConfigs": {}
        }
    },
    /* å¿«åº”用特有相关 */
    "quickapp" : {},
    "quickapp": {},
    /* å°ç¨‹åºç‰¹æœ‰ç›¸å…³ */
    "mp-weixin" : {
        "appid" : "wxcd2b89fd2ff065f8",
        "setting" : {
            "urlCheck" : false,
            "es6" : true,
            "postcss" : true,
            "minified" : true
    "mp-weixin": {
        "appid": "wxcd2b89fd2ff065f8",
        "setting": {
            "urlCheck": false,
            "es6": true,
            "postcss": true,
            "minified": true
        },
        "usingComponents" : true,
        "requiredPrivateInfos" : [ "getLocation", "chooseLocation" ],
        "permission" : {
            "scope.userLocation" : {
                "desc" : "用于获取周边房源位置"
        "usingComponents": true,
        "requiredPrivateInfos": [
            "getLocation",
            "chooseLocation"
        ],
        "permission": {
            "scope.userLocation": {
                "desc": "用于获取周边房源位置"
            }
        }
    },
    "mp-alipay" : {
        "usingComponents" : true
    "mp-alipay": {
        "usingComponents": true
    },
    "mp-baidu" : {
        "usingComponents" : true
    "mp-baidu": {
        "usingComponents": true
    },
    "mp-toutiao" : {
        "usingComponents" : true
    "mp-toutiao": {
        "usingComponents": true
    },
    "uniStatistics" : {
        "enable" : false
    "uniStatistics": {
        "enable": false
    },
    "vueVersion" : "2",
    "h5" : {
        "router" : {
            "mode" : "hash",
            "base" : "/"
    "vueVersion": "2",
    "h5": {
        "router": {
            "mode": "hash",
            "base": "/"
            // "base" : "/h5/"
        },
        "devServer" : {
           "port": 8090,
           "proxy" : {
               "/api" : {  // è¿™ä¸ªå­—段名需与你配置的basePrefixUrl一致,系统识别到带有/dev-api请求的地址时,会在前面拼接上代理服务器地址
                   "target" : "http://192.168.0.106:10010", // ä»£ç†æœåŠ¡å™¨åŸŸåæˆ–IP地址
                   "changeOrigin" : true, // å…è®¸è·¨åŸŸ
                   "pathRewrite" : {
                       "^/api" : ""  // é‡å†™åœ°å€ï¼Œå¦‚果实际接口中是不带/dev-api,需要将这个前缀置空,因为这个前缀只是为了识别用,识别完之后就没用了
                   }
               }
           }
        }
        "devServer": {
            "port": 8090,
            "historyApiFallback": true,
            "disableHostCheck": true,
            "proxy": {
                "/api": { // è¿™ä¸ªå­—段名需与你配置的basePrefixUrl一致,系统识别到带有/dev-api请求的地址时,会在前面拼接上代理服务器地址
                    "target": "http://192.168.0.143:10010", // ä»£ç†æœåŠ¡å™¨åŸŸåæˆ–IP地址
                    "changeOrigin": true, // å…è®¸è·¨åŸŸ
                    "pathRewrite": {
                        "^/api": "" // é‡å†™åœ°å€ï¼Œå¦‚果实际接口中是不带/dev-api,需要将这个前缀置空,因为这个前缀只是为了识别用,识别完之后就没用了
                    }
                }
            }
        }
    }
}
}
h5/pages.json
@@ -354,6 +354,15 @@
            }
            
        }
        ,{
            "path" : "pages/auth/auth",
            "style" :
            {
                "navigationBarTitleText": "微信授权",
                "enablePullDownRefresh": false
            }
        }
    ],
    "subPackages": [{
            "root": "n_pages",
h5/pages/auth/auth.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
<template>
    <view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            };
        },
        onLoad() {
            const appID = 'wx4d7c10bdec51942b'
            const AppSecret = '922c93596d134fedf5bd22a9354b3bfe'
            // const scope = 'snsapi_userinfo'
            let uri = encodeURIComponent('http://xiaopiqiu2.natapp1.cc')
            let authURL =
              `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`
            window.location.href = authURL
        }
    }
</script>
<style lang="scss">
</style>
h5/pages/login/login.vue
@@ -1,28 +1,33 @@
<template>
  <view class="login">
        <image class="login_bg" src="@/static/login_bg@2x.png" />
    <image class="login_bg" src="@/static/login_bg@2x.png" />
    <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" />
    <view class="login_title">安泰物流智慧园区</view>
    <view class="login_list">
      <view class="login_list_item">
        <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
        <input v-model="form.idCard" maxlength="18" type="number" placeholder="账号">
        <input
          v-model="form.idCard"
          maxlength="18"
          type="number"
          placeholder="账号"
        />
      </view>
      <view class="login_list_item">
        <image src="@/static/login_ic_password@2x.png" mode="widthFix" />
        <input v-model="form.password" type="password" placeholder="密码">
        <input v-model="form.password" type="password" placeholder="密码" />
      </view>
    </view>
    <view class="login_btn">
      <view class="login_btn_n">立即登录</view>
            <view class="for_psd">忘记密码</view>
      <view class="login_btn_n" @click="onLogin">立即登录</view>
      <view class="for_psd">忘记密码</view>
    </view>
        <view class="deal_wrap">
            <checkbox @change="dealChange" />
            <text>登录即同意</text>
            <text class="deal">《安泰物流用户协议》</text>
        </view>
    <view class="deal_wrap">
      <checkbox @change="dealChange" />
      <text>登录即同意</text>
      <text class="deal">《安泰物流用户协议》</text>
    </view>
  </view>
</template>
@@ -30,7 +35,7 @@
export default {
  name: 'login',
  data () {
  data() {
    return {
      form: {
        idCard: '',
@@ -39,112 +44,124 @@
    }
  },
  created () {
        console.log('---');
  created() {
  },
  methods: {
        dealChange(e) {
            console.log(e);
        }
    dealChange(e) {
      console.log(e)
    },
    onLogin() {
      const appID = 'wx4d7c10bdec51942b'
      const AppSecret = '922c93596d134fedf5bd22a9354b3bfe'
      // const scope = 'snsapi_userinfo'
      let uri = encodeURIComponent('http://xiaopiqiu2.natapp1.cc')
      let authURL =
        `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`
      window.location.href = authURL
    }
  }
}
</script>
<style lang="scss" scoped>
    .login {
        width: 100%;
        height: 100vh;
        display: flex;
        padding-top: 160rpx;
        box-sizing: border-box;
        align-items: center;
        flex-direction: column;
        background: linear-gradient( 180deg, rgba(39,155,170,0.2) 0%, rgba(39,155,170,0) 100%);
        .login_logo {
            width: 180rpx;
            height: 180rpx;
        }
        .login_bg{
            position: absolute;
            top: 0;
            width: 750rpx;
        }
        .login_title {
            font-size: 44rpx;
            font-weight: 600;
            color: #333333;
            margin-top: 40rpx;
            margin-bottom: 120rpx;
        }
        .login_list {
            width: 100%;
            padding: 0 60rpx;
            box-sizing: border-box;
            .login_list_item {
                width: 100%;
                border-radius: 50rpx;
                height: 98rpx;
                padding: 0 40rpx;
                box-sizing: border-box;
                background: #FFFFFF;
                margin-bottom: 40rpx;
                display: flex;
                align-items: center;
                justify-content: space-between;
                &:last-child {
                    margin-bottom: 0 !important;
                }
                image {
                  flex-shrink: 0;
                  width: 40rpx;
                  height: 40rpx;
                }
                input {
                  flex: 1;
                  height: 100%;
                  color: #666666;
                  margin-left: 24rpx;
                  border: none;
                }
            }
        }
        .login_btn {
            width: 100%;
            padding: 0 60rpx;
            box-sizing: border-box;
            margin-top: 80rpx;
            .for_psd{
                color: #279BAA;
                margin-top: 40rpx;
                width: 140rpx;
                text-align: center;
                margin: 40rpx auto;
            }
            .login_btn_n {
                width: 100%;
                height: 98rpx;
                background: #279BAA;
                box-shadow: 0rpx 12rpx 24rpx 0rpx rgba(39,155,170,0.2);
                display: flex;
                align-items: center;
                justify-content: center;
                font-weight: 500;
                font-size: 32rpx;
                color: #FFFFFF;
                border-radius: 50rpx;
            }
        }
        .deal_wrap{
            position: absolute;
            width: 100%;
            left: 0;
            text-align: center;
            bottom: 108rpx;
            .deal{
                color: #279BAA;
            }
        }
.login {
  width: 100%;
  height: 100vh;
  display: flex;
  padding-top: 160rpx;
  box-sizing: border-box;
  align-items: center;
  flex-direction: column;
  background: linear-gradient(
    180deg,
    rgba(39, 155, 170, 0.2) 0%,
    rgba(39, 155, 170, 0) 100%
  );
  .login_logo {
    width: 180rpx;
    height: 180rpx;
  }
  .login_bg {
    position: absolute;
    top: 0;
    width: 750rpx;
  }
  .login_title {
    font-size: 44rpx;
    font-weight: 600;
    color: #333333;
    margin-top: 40rpx;
    margin-bottom: 120rpx;
  }
  .login_list {
    width: 100%;
    padding: 0 60rpx;
    box-sizing: border-box;
    .login_list_item {
      width: 100%;
      border-radius: 50rpx;
      height: 98rpx;
      padding: 0 40rpx;
      box-sizing: border-box;
      background: #ffffff;
      margin-bottom: 40rpx;
      display: flex;
      align-items: center;
      justify-content: space-between;
      &:last-child {
        margin-bottom: 0 !important;
      }
      image {
        flex-shrink: 0;
        width: 40rpx;
        height: 40rpx;
      }
      input {
        flex: 1;
        height: 100%;
        color: #666666;
        margin-left: 24rpx;
        border: none;
      }
    }
  }
  .login_btn {
    width: 100%;
    padding: 0 60rpx;
    box-sizing: border-box;
    margin-top: 80rpx;
    .for_psd {
      color: #279baa;
      margin-top: 40rpx;
      width: 140rpx;
      text-align: center;
      margin: 40rpx auto;
    }
    .login_btn_n {
      width: 100%;
      height: 98rpx;
      background: #279baa;
      box-shadow: 0rpx 12rpx 24rpx 0rpx rgba(39, 155, 170, 0.2);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 500;
      font-size: 32rpx;
      color: #ffffff;
      border-radius: 50rpx;
    }
  }
  .deal_wrap {
    position: absolute;
    width: 100%;
    left: 0;
    text-align: center;
    bottom: 108rpx;
    .deal {
      color: #279baa;
    }
  }
}
</style>
h5/pages/notice/notice.vue
@@ -24,7 +24,7 @@
    }
  },
  onLoad() {
    this.getInfo()
    // this.getInfo()
  },
  methods: {
    getInfo() {
h5/pages/visitorApplication/visitorApplication.vue
@@ -374,7 +374,6 @@
            if (options.data) {
                this.form = JSON.parse(options.data)
            }
            console.log('this.form', this.form);
            // this.getvisit()
            // this.getVisit1()
            // this.getUserValid()