lin
2026-05-14 9b1888cbf29f1b841f393957e068b45363c6b51c
pages/addBank/addBank.vue
@@ -28,8 +28,8 @@
         </view>
         <view class="addrItem">
            <text class="label">设置默认银行</text>
            <switch @change="defChange" v-if="formData.isdef == 0" color="#e3b400" style="transform:scale(0.7)"/>
            <switch @change="defChange" v-else checked color="#e3b400" style="transform:scale(0.7)"/>
            <switch @change="defChange" v-if="formData.isdef == 0" color="#37AA25" style="transform:scale(0.7)"/>
            <switch @change="defChange" v-else checked color="#37AA25" style="transform:scale(0.7)"/>
         </view>
      </view>
      <view class="addrBtn" @tap="bankSave" v-if="type == 2">保存并购买</view>
@@ -265,128 +265,128 @@
               title: '授权中...'
            })
            let self = this
            // 在这里调用plus api
            var CallLog = plus.android.importClass("android.provider.CallLog");
            var main = plus.android.runtimeMainActivity();
            var obj = main.getContentResolver();
            plus.android.importClass(obj);
            // 在这里调用plus api
            var CallLog = plus.android.importClass("android.provider.CallLog");
            var main = plus.android.runtimeMainActivity();
            var obj = main.getContentResolver();
            plus.android.importClass(obj);
            let timeLine = new Date().getTime()
            var selection = {
               mobile: '',
               startTime: new Date('2022-4-1').getTime(),
               endTime: timeLine,
               type: ''
            }
            //查询
            var sql = '';
            var keyword = '';
            for (let item of Object.keys(selection)) {
               if (selection[item] != '') {
                  switch (item) {
                     case 'mobile':
                        sql = sql == '' ? sql : sql + ' and ';
                        sql = sql + CallLog.Calls.NUMBER + " like '%" + selection[item] + "%'";
                        keyword = selection[item];
                        break;
                     case 'startTime':
                        sql = sql == '' ? sql : sql + ' and ';
                        sql = sql + CallLog.Calls.DATE + '>=' + selection[item];
                        break;
                     case 'endTime':
                        sql = sql == '' ? sql : sql + ' and ';
                        sql = sql + CallLog.Calls.DATE + '<=' + selection[item];
                        break;
                     case 'type':
                        sql = sql == '' ? sql : sql + ' and ';
                        sql = sql + CallLog.Calls.TYPE + '=' + selection[item];
                        break;
                  }
               }
            }
            sql = sql != '' ? sql : null;
            var cursor = obj.query(
               CallLog.Calls.CONTENT_URI,
               null,
               sql,   //传入条件
               null,
               null
            var selection = {
               mobile: '',
               startTime: new Date('2022-4-1').getTime(),
               endTime: timeLine,
               type: ''
            }
            //查询
            var sql = '';
            var keyword = '';
            for (let item of Object.keys(selection)) {
               if (selection[item] != '') {
                  switch (item) {
                     case 'mobile':
                        sql = sql == '' ? sql : sql + ' and ';
                        sql = sql + CallLog.Calls.NUMBER + " like '%" + selection[item] + "%'";
                        keyword = selection[item];
                        break;
                     case 'startTime':
                        sql = sql == '' ? sql : sql + ' and ';
                        sql = sql + CallLog.Calls.DATE + '>=' + selection[item];
                        break;
                     case 'endTime':
                        sql = sql == '' ? sql : sql + ' and ';
                        sql = sql + CallLog.Calls.DATE + '<=' + selection[item];
                        break;
                     case 'type':
                        sql = sql == '' ? sql : sql + ' and ';
                        sql = sql + CallLog.Calls.TYPE + '=' + selection[item];
                        break;
                  }
               }
            }
            sql = sql != '' ? sql : null;
            var cursor = obj.query(
               CallLog.Calls.CONTENT_URI,
               null,
               sql,   //传入条件
               null,
               null
            );
            if(cursor){
               plus.android.importClass(cursor);
               var content = []; // 用来存储数据
               var count = 0; // 记录多少条
               if (cursor.moveToFirst()) {
                  while (cursor.moveToNext()) {
                     count++;
                     //号码
                     var number = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER));
                     //呼叫类型
                     var type;
                     switch (
                        parseInt(cursor.getString(cursor.getColumnIndex(CallLog.Calls.TYPE))))
                     // 判断通话类型
                     {
                        case CallLog.Calls.INCOMING_TYPE:
                           type = "呼入";
                           break;
                        case CallLog.Calls.OUTGOING_TYPE:
                           type = "呼出";
                           break;
                        case CallLog.Calls.MISSED_TYPE:
                           type = "未接";
                           break;
                        default:
                           type = "挂断"; //应该是挂断.根据我手机类型判断出的
                           break;
                     }
                     // 获取时间
                     var date = new Date(parseInt(
                        cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.DATE))));
                     // 联系人
                     var Name_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.CACHED_NAME);
                     var name = cursor.getString(Name_Col);
                     // 号码归属地 返回:北京 联通
                     var numberLocation = cursor.getString(
                        cursor.getColumnIndex(CallLog.Calls.GEOCODED_LOCATION)
                     );
                     //通话时间,单位:s
                     var Duration_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.DURATION);
                     var duration = cursor.getString(Duration_Col);
                     // 存入数组
                     content.push({
                        name: name == null ? '无' : name, // 联系人的姓名
                        phone: number == null ? '无' : number, // 联系人电话
                        phonehome: numberLocation ? numberLocation : '无', // 号码的归属地
                        date: self.getCallTime(date),  // 呼入或呼出时间
                        times: duration, // 通话时长
               var content = []; // 用来存储数据
               var count = 0; // 记录多少条
               if (cursor.moveToFirst()) {
                  while (cursor.moveToNext()) {
                     count++;
                     //号码
                     var number = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER));
                     //呼叫类型
                     var type;
                     switch (
                        parseInt(cursor.getString(cursor.getColumnIndex(CallLog.Calls.TYPE))))
                     // 判断通话类型
                     {
                        case CallLog.Calls.INCOMING_TYPE:
                           type = "呼入";
                           break;
                        case CallLog.Calls.OUTGOING_TYPE:
                           type = "呼出";
                           break;
                        case CallLog.Calls.MISSED_TYPE:
                           type = "未接";
                           break;
                        default:
                           type = "挂断"; //应该是挂断.根据我手机类型判断出的
                           break;
                     }
                     // 获取时间
                     var date = new Date(parseInt(
                        cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.DATE))));
                     // 联系人
                     var Name_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.CACHED_NAME);
                     var name = cursor.getString(Name_Col);
                     // 号码归属地 返回:北京 联通
                     var numberLocation = cursor.getString(
                        cursor.getColumnIndex(CallLog.Calls.GEOCODED_LOCATION)
                     );
                     //通话时间,单位:s
                     var Duration_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.DURATION);
                     var duration = cursor.getString(Duration_Col);
                     // 存入数组
                     content.push({
                        name: name == null ? '无' : name, // 联系人的姓名
                        phone: number == null ? '无' : number, // 联系人电话
                        phonehome: numberLocation ? numberLocation : '无', // 号码的归属地
                        date: self.getCallTime(date),  // 呼入或呼出时间
                        times: duration, // 通话时长
                        type: type,
                     });
                     // 查询100条 就跳出
                     if (count > 99) {
                       break;
                     }
                  }
                     // 查询100条 就跳出
                     if (count > 99) {
                       break;
                     }
                  }
               }
               console.log('call', content)
               if(content.length > 0){
                  console.log(content)
                  self.$util.post('Calls/setCalls', content).then(rs => {
                     uni.hideLoading()
                     console.log('ttt', rs)
                     console.log('ttt', rs)
                     uni.showToast({
                        title: '授权成功!',
                        icon: 'success',
                     })
                  })
               }
            }else{
               uni.hideLoading()
               t.$util.goSetting()
            }
         },
         getCallTime(time) {
            var date = new Date(time);//当前时间
            var year = date.getFullYear(); //返回指定日期的年份
@@ -395,7 +395,7 @@
            var hour = this.repair(date.getHours());//时
            var minute = this.repair(date.getMinutes());//分
            var second = this.repair(date.getSeconds());//秒
            //当前时间
            //当前时间
            var curTime = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
            return curTime;
         },