From 3a1d0815c0ae67c9e9cb9ca4b6587e409bd2895e Mon Sep 17 00:00:00 2001 From: lion <120344285@qq.com> Date: Fri, 26 Aug 2022 09:16:05 +0800 Subject: [PATCH] upup --- components/menubar/menubar.vue | 17 +- main.js | 8 +- manifest.json | 159 +++++----- pages/index/index.vue | 84 ++++- pages/index/mine.vue | 9 +- pages/list/tpxw.vue | 96 +++++- static/images/sjtz.png | Bin 0 -> 7804 bytes static/images/sjwj.png | Bin 0 -> 8549 bytes utils/util.js | 559 +++++++++++++++++++++++++++++++++ 9 files changed, 825 insertions(+), 107 deletions(-) create mode 100644 static/images/sjtz.png create mode 100644 static/images/sjwj.png diff --git a/components/menubar/menubar.vue b/components/menubar/menubar.vue index 1d31f51..2f8b42d 100644 --- a/components/menubar/menubar.vue +++ b/components/menubar/menubar.vue @@ -23,17 +23,15 @@ - - - {{item.title}} + + {{item.title}}{{current}} {{item.times}} - @@ -45,7 +43,7 @@ props:{ tabs:{ type: Array, - default: ()=>[[],[],[],[],[],[]] + default: ()=>[[],[],[],[],[],[],[],[]] }, currentPage:{ type:Number, @@ -72,6 +70,10 @@ }, { name: '综合新闻' }, { + name: '市局通知' + },{ + name: '市局文件' + },{ name: '各地警讯' }, { name: '机关动态' @@ -144,10 +146,13 @@ } .titles{ - width:70%; + width:100%; display: inline-block; vertical-align: top; } + .titles100{ + width:70%; + } /deep/ .titles .u-body-item-title{ height:96rpx; } diff --git a/main.js b/main.js index 1311212..6fa8f05 100644 --- a/main.js +++ b/main.js @@ -27,9 +27,11 @@ Vue.prototype.util = util; -import subtabBar from 'components/tabbar/subtabbar.vue' -Vue.component('subtabBar', subtabBar) +// import subtabBar from 'components/tabbar/subtabbar.vue' +// Vue.component('subtabBar', subtabBar) +import tabBar from 'components/tabbar/tabbar.vue' +Vue.component('tabBar', tabBar) import top from 'components/top/top.vue' Vue.component('topBar', top) import menubar from 'components/menubar/menubar.vue' -Vue.component('menuBar', menubar) \ No newline at end of file +Vue.component('menuBar', menubar) diff --git a/manifest.json b/manifest.json index d7913c1..999745d 100644 --- a/manifest.json +++ b/manifest.json @@ -1,72 +1,89 @@ -{ - "name" : "常州公安-手机端", - "appid" : "__UNI__EDB3F98", - "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 - }, - /* 模块配置 */ - "modules" : {}, - /* 应用发布信息 */ - "distribute" : { - /* android打包配置 */ - "android" : { - "permissions" : [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - /* ios打包配置 */ - "ios" : {}, - /* SDK配置 */ - "sdkConfigs" : {} - } - }, - /* 快应用特有相关 */ - "quickapp" : {}, - /* 小程序特有相关 */ - "mp-weixin" : { - "appid" : "", - "setting" : { - "urlCheck" : false - }, - "usingComponents" : true - }, - "mp-alipay" : { - "usingComponents" : true - }, - "mp-baidu" : { - "usingComponents" : true - }, - "mp-toutiao" : { - "usingComponents" : true - }, - "uniStatistics" : { - "enable" : false - }, - "vueVersion" : "2" +{ + "name": "常州公安-手机端", + "appid": "__UNI__EDB3F98", + "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 + }, + /* 模块配置 */ + "modules": {}, + /* 应用发布信息 */ + "distribute": { + /* android打包配置 */ + "android": { + "permissions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* ios打包配置 */ + "ios": {}, + /* SDK配置 */ + "sdkConfigs": {} + } + }, + /* 快应用特有相关 */ + "quickapp": {}, + /* 小程序特有相关 */ + "mp-weixin": { + "appid": "", + "setting": { + "urlCheck": false + }, + "usingComponents": true + }, + "mp-alipay": { + "usingComponents": true + }, + "mp-baidu": { + "usingComponents": true + }, + "mp-toutiao": { + "usingComponents": true + }, + "uniStatistics": { + "enable": false + }, + "vueVersion": "2", + "h5":{ + "devServer": { + "port" : 8081, //端口号 + "disableHostCheck" : true, + "proxy": { + "": { + "target":"http://czga.langye.net/e/extend/api/index.php", + "changeOrigin": true,//是否跨域 + "secure": false + } + } + }, + "router" : { + "base" : "/" + } + } + } diff --git a/pages/index/index.vue b/pages/index/index.vue index bee1b76..d8786bf 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -6,7 +6,7 @@ - + {{item.title}} @@ -57,11 +57,7 @@ diff --git a/static/images/sjtz.png b/static/images/sjtz.png new file mode 100644 index 0000000000000000000000000000000000000000..e44576873ecfe063bb1cca2e9b0c9dda7eb75212 GIT binary patch literal 7804 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 { + const year = date.getFullYear(); + const month = date.getMonth() + 1; + const day = date.getDate(); + return [year, month, day].map(formatNumber).join('-'); +}; + +const user_info_key = "userInfo_token"; +const user_key = "userInfo"; + +const getUserInfo = (cb, refresh) => { + cb = cb || function() {} + refresh = refresh || false + if (!refresh) { + let user_info = uni.getStorageSync(user_key) + if (!isNull(user_info)) { + cb(user_info) + return + } + } + request({ + api: '/api/mobile/user/show', + utilSuccess: function(res) { + uni.setStorageSync(user_key, res) + cb(res) + }, + utilFail: function(res) {} + }) +} + +const getOpenidInfo = (cb, refresh) => { + cb = cb || function() {} + refresh = refresh || false + if (!refresh) { + let user_info = uni.getStorageSync(user_info_key) + if (!isNull(user_info)) { + cb(user_info) + return + } + } + + uni.login({ + provider: 'weixin', + success: (res) => { + console.log(res.code); + let url = HOST + '/api/mobile/user/login?code=' + res.code; + uni.request({ + url: url, + method: 'GET', + success: result => { + let user_info = result.data + uni.setStorageSync(user_info_key, user_info) + cb(user_info) + } + }); + } + }); +} + + + +const getUserProfile = (cb) => { + cb = cb || function() {} + + wx.getUserProfile({ + desc: '用于完善会员资料', + success: (res) => { + uni.setStorageSync('user_profile', res.userInfo) + cb(res.userInfo) + } + }) +} + + + + + + +const formatTimeAll = date => { + const year = date.getFullYear(); + const month = date.getMonth() + 1; + const day = date.getDate(); + const hour = date.getHours(); + const minute = date.getMinutes(); + const second = date.getSeconds(); + return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join( + ':'); +}; + +const formatNumber = n => { + n = n.toString(); + return n[1] ? n : '0' + n; +}; // 快捷显示alert + + +const alert = msg => { + uni.showModal({ + title: '', + content: msg, + showCancel: false + }); +}; // 订单状态 + +const toast = msg => { + // setTimeout(function() { + // uni.showToast({ + // icon: "none", + // title: msg, + // duration: 2000 + // }) + // }, 2000) + + uni.showModal({ + title: '', + content: msg, + showCancel: false + }); + +}; // 订单状态 + + +const orderStatusDic = { + '0': '待确认', + '10': '待派单', + '20': '进行中', + '100': '已完成' +}; // 审核状态 + +const auditStatusDic = { + '0': '待审核', + '1': '已审核', + '-1': '已拒绝' +}; // 请求封装 + +const request = options => { + if (!options.customLoading) { + uni.showLoading({ + title: '正在加载' + }); + } else { + // 当前页面请求数量+1 + if (options.bindThis) { + options.bindThis.setData({ + //loadingCount: options.bindThis.data.loadingCount + 1 + }); + } + } + + options.url = HOST + options.api; + options.header = { + ...options.header, + //'Accept': 'application/json', + //'Connection': 'keep-alive' + //'content-type': 'application/json' + }; // 如果已登录,请求中拼openId + + // var access_token = uni.getStorageSync(user_info_key).access_token; + + if (isLogin()) { + options.data = { + ...options.data, + // 'token': access_token + }; + } // 如果是POST方法 + + + // if (options.method == 'POST' && !isNull(access_token)) { + // // 拼时间戳 + // options.data.ts = new Date().getTime(); + // } + + uni.request({ + ...options, + success: function(res) { + uni.hideLoading(); + if (res.statusCode != 200) { + if (options.utilFail != undefined) { + if (res.statusCode == 401) { + uni.clearStorageSync(); + uni.navigateTo({ + url: '/pages/login/login' + }); + } else { + options.utilFail('TODO: 特殊处理非200错误(' + res.statusCode + ')'); + } + } + } else { + + if (res.data.hasOwnProperty("errcode")) { + if (options.utilFail != undefined) { + options.utilFail(res.data.errmsg || '接口发生未知错误'); + } else { + options.utilFail(res.data.errmsg); + } + } else { + if (options.utilSuccess != undefined) { + options.utilSuccess(res.data); + } + } + } + }, + fail: options.utilFail, + complete: function(res) { + if (!options.customLoading) { + uni.hideNavigationBarLoading(); + + } else { + // 当前页面请求数量-1 + if (options.bindThis) { + options.bindThis.setData({ + loadingCount: options.bindThis.data.loadingCount - 1 + }); + } + } + } + }); +}; // 提交formID封装 + + + +const payOrder = (orderID, orderType, success, fail) => { + uni.request({ + url: HOST + 'WxPay/ToPay?openId=' + uni.getStorageSync(user_info_key).WeChatOpenID + + '&orderId=' + + orderID + '&OrderType=' + orderType, + method: 'GET', + header: { + 'content-type': 'application/json' + }, + success: function(res) { + // 内容为空, 代表失败 + if (res.data == '') { + fail('当前网络状况不好'); + return; + } // 去掉转义字符 + + + var pureStr = res.data.replace(/\\/g, ''); + res.data = JSON.parse(pureStr); + var index = res.data.package.indexOf('=') + 1; + var prepayId = res.data.package.substring(index); // wxpay + + uni.requestPayment({ + timeStamp: res.data.timeStamp, + nonceStr: res.data.nonceStr, + package: res.data.package, + signType: res.data.signType, + paySign: res.data.paySign, + success: function(res) { + success(res); // 发送成功通知 + + request({ + api: 'WxPay/PayTemplateMsg', + data: { + prepay_id: prepayId, + orderId: orderID, + isSuccess: 1, + failMsg: '', + xType: orderType + } + }); + }, + fail: function(res) { + fail(res); + var errMsg = res == 'requestPayment:fail cancel' ? '用户取消支付' : + res; // 发送失败通知 + + request({ + api: 'WxPay/PayTemplateMsg', + data: { + prepay_id: prepayId, + orderId: orderID, + isSuccess: 0, + failMsg: errMsg, + xType: orderType + } + }); + } + }); + }, + fail: function(err) { + fail('当前网络状况不好'); + } + }); +}; // 判断是否已登录(同时有open-id和PhoneNum, 则认为已登录) + +const isLogin = () => { + // var userInfo = uni.getStorageSync(user_info_key); + // return !isNull(userInfo.access_token); +}; // 判断是否为空 + + +const isNull = p => { + return p == '' || p == undefined || p == null || p == 'undefined' || p == 'null'; +}; // 正则 + +const phoneRegex = /^1\d{10}$/; +const idCardRegex = /^\d{17}([0-9]|X)$/; // 去掉特殊字符 + +const filterSpecialChars = str => { + return str.replace(/[^\u4e00-\u9fa5a-zA-Z0-9\w]/g, ''); +}; // 生成随机字符串 + + +const randomStr = length => { + var ret = ''; + var arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', + 'i', 'j', + 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', + 'D', 'E', + 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', + 'Y', 'Z' + ]; + + for (var i = 0; i < length; i++) { + var randomIndex = Math.round(Math.random() * (arr.length - 1)); + ret += arr[randomIndex]; + } + + return ret; +}; // proType对应的中文描述 + +const weekdayArr = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']; // 是否合法的身份证 + +const isValidCardID = cardID => { + // Step1: 先判断格式 + if (!idCardRegex.test(cardID)) return false; // Step2: 校验最后一位 + + var code = cardID.split(''); //加权因子 + + var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; //校验位 + + var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]; + var sum = 0; + var ai = 0; + var wi = 0; + + for (var i = 0; i < 17; i++) { + ai = code[i]; + wi = factor[i]; + sum += ai * wi; + } + + var last = parity[sum % 11]; + return parity[sum % 11] == code[17]; +}; +/** + * UTF16和UTF8转换对照表 + * U+00000000 – U+0000007F 0xxxxxxx + * U+00000080 – U+000007FF 110xxxxx 10xxxxxx + * U+00000800 – U+0000FFFF 1110xxxx 10xxxxxx 10xxxxxx + * U+00010000 – U+001FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * U+00200000 – U+03FFFFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * U+04000000 – U+7FFFFFFF 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + */ + + +var Base64 = { + // 转码表 + table: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', + 'T', 'U', + 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', + 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', + '9', '+', + '/' + ], + UTF16ToUTF8: function(str) { + var res = [], + len = str.length; + + for (var i = 0; i < len; i++) { + var code = str.charCodeAt(i); + + if (code > 0x0000 && code <= 0x007F) { + // 单字节,这里并不考虑0x0000,因为它是空字节 + // U+00000000 – U+0000007F 0xxxxxxx + res.push(str.charAt(i)); + } else if (code >= 0x0080 && code <= 0x07FF) { + // 双字节 + // U+00000080 – U+000007FF 110xxxxx 10xxxxxx + // 110xxxxx + var byte1 = 0xC0 | code >> 6 & 0x1F; // 10xxxxxx + + var byte2 = 0x80 | code & 0x3F; + res.push(String.fromCharCode(byte1), String.fromCharCode(byte2)); + } else if (code >= 0x0800 && code <= 0xFFFF) { + // 三字节 + // U+00000800 – U+0000FFFF 1110xxxx 10xxxxxx 10xxxxxx + // 1110xxxx + var byte1 = 0xE0 | code >> 12 & 0x0F; // 10xxxxxx + + var byte2 = 0x80 | code >> 6 & 0x3F; // 10xxxxxx + + var byte3 = 0x80 | code & 0x3F; + res.push(String.fromCharCode(byte1), String.fromCharCode(byte2), String.fromCharCode( + byte3)); + } else if (code >= 0x00010000 && code <= 0x001FFFFF) { // 四字节 + // U+00010000 – U+001FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + } else if (code >= 0x00200000 && code <= 0x03FFFFFF) { // 五字节 + // U+00200000 – U+03FFFFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + } else + /** if (code >= 0x04000000 && code <= 0x7FFFFFFF)*/ + { // 六字节 + // U+04000000 – U+7FFFFFFF 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + } + } + + return res.join(''); + }, + UTF8ToUTF16: function(str) { + var res = [], + len = str.length; + var i = 0; + + for (var i = 0; i < len; i++) { + var code = str.charCodeAt(i); // 对第一个字节进行判断 + + if ((code >> 7 & 0xFF) == 0x0) { + // 单字节 + // 0xxxxxxx + res.push(str.charAt(i)); + } else if ((code >> 5 & 0xFF) == 0x6) { + // 双字节 + // 110xxxxx 10xxxxxx + var code2 = str.charCodeAt(++i); + var byte1 = (code & 0x1F) << 6; + var byte2 = code2 & 0x3F; + var utf16 = byte1 | byte2; + res.push(Sting.fromCharCode(utf16)); + } else if ((code >> 4 & 0xFF) == 0xE) { + // 三字节 + // 1110xxxx 10xxxxxx 10xxxxxx + var code2 = str.charCodeAt(++i); + var code3 = str.charCodeAt(++i); + var byte1 = code << 4 | code2 >> 2 & 0x0F; + var byte2 = (code2 & 0x03) << 6 | code3 & 0x3F; + utf16 = (byte1 & 0x00FF) << 8 | byte2; + res.push(String.fromCharCode(utf16)); + } else if ((code >> 3 & 0xFF) == 0x1E) { // 四字节 + // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + } else if ((code >> 2 & 0xFF) == 0x3E) { // 五字节 + // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + } else + /** if (((code >> 1) & 0xFF) == 0x7E)*/ + { // 六字节 + // 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + } + } + + return res.join(''); + }, + encode: function(str) { + if (!str) { + return ''; + } + + var utf8 = this.UTF16ToUTF8(str); // 转成UTF8 + + var i = 0; // 遍历索引 + + var len = utf8.length; + var res = []; + + while (i < len) { + var c1 = utf8.charCodeAt(i++) & 0xFF; + res.push(this.table[c1 >> 2]); // 需要补2个= + + if (i == len) { + res.push(this.table[(c1 & 0x3) << 4]); + res.push('=='); + break; + } + + var c2 = utf8.charCodeAt(i++); // 需要补1个= + + if (i == len) { + res.push(this.table[(c1 & 0x3) << 4 | c2 >> 4 & 0x0F]); + res.push(this.table[(c2 & 0x0F) << 2]); + res.push('='); + break; + } + + var c3 = utf8.charCodeAt(i++); + res.push(this.table[(c1 & 0x3) << 4 | c2 >> 4 & 0x0F]); + res.push(this.table[(c2 & 0x0F) << 2 | (c3 & 0xC0) >> 6]); + res.push(this.table[c3 & 0x3F]); + } + + return res.join(''); + }, + decode: function(str) { + if (!str) { + return ''; + } + + var len = str.length; + var i = 0; + var res = []; + + while (i < len) { + var code1 = this.table.indexOf(str.charAt(i++)); + var code2 = this.table.indexOf(str.charAt(i++)); + var code3 = this.table.indexOf(str.charAt(i++)); + var code4 = this.table.indexOf(str.charAt(i++)); + var c1 = code1 << 2 | code2 >> 4; + var c2 = (code2 & 0xF) << 4 | code3 >> 2; + var c3 = (code3 & 0x3) << 6 | code4; + res.push(String.fromCharCode(c1)); + + if (code3 != 64) { + res.push(String.fromCharCode(c2)); + } + + if (code4 != 64) { + res.push(String.fromCharCode(c3)); + } + } + + return this.UTF8ToUTF16(res.join('')); + } +}; + +module.exports = { + HOST: HOST, + formatTime: formatTime, + formatTimeAll: formatTimeAll, + formatNumber: formatNumber, + alert: alert, + getOpenidInfo: getOpenidInfo, + request: request, + payOrder: payOrder, + isLogin: isLogin, + isNull: isNull, + phoneRegex: phoneRegex, + idCardRegex: idCardRegex, + filterSpecialChars: filterSpecialChars, + randomStr: randomStr, + weekdayArr: weekdayArr, + Base64: Base64, + orderStatusDic: orderStatusDic, + auditStatusDic: auditStatusDic, + getUserProfile: getUserProfile, + getUserInfo: getUserInfo, + toast: toast, + isValidCardID:isValidCardID, + +};