diff --git a/components/task/index.vue b/components/task/index.vue
index bd4e498..2968932 100644
--- a/components/task/index.vue
+++ b/components/task/index.vue
@@ -3,7 +3,7 @@
-
@@ -63,6 +63,11 @@
}) : Toast('暂未开放')
},
changeCurrent(e) {
+ if(e.currentIndex==3){
+ this.$refs.controlRef._onClick(this.current);
+ this.navTo('/subpkg/taskAdmin/taskAdmin');
+ return ;
+ }
if (this.current !== e.currentIndex) {
this.current = +e.currentIndex;
switch (this.current) {
diff --git a/pages/oaLogin/oaLogin.vue b/pages/oaLogin/oaLogin.vue
index 3a335d5..a5030d1 100644
--- a/pages/oaLogin/oaLogin.vue
+++ b/pages/oaLogin/oaLogin.vue
@@ -42,6 +42,7 @@
Toast
} from "../../libs/uniApi";
import bj from "@/static/animation/bj2.json"
+ import encrypt from "@/utils/encrypt.js"
// #ifdef APP-PLUS
var jpushModule = uni.requireNativePlugin("JG-JPush");
@@ -75,18 +76,6 @@
onLoad() {
this.options.data = bj;
// this.$refs.lottie.call('play');
- uni.getSystemInfo({
- success: function (res) {
- // 获取屏幕宽度
- var screenWidth = res.windowWidth;
- // 获取屏幕高度
- var screenHeight = res.windowHeight;
- // 计算屏幕比例
- var screenRatio = screenWidth / screenHeight;
-
- console.log("屏幕比例:" + screenRatio);
- }
- });
},
methods: {
changeTabs(e) {
@@ -117,7 +106,7 @@
title: '正在登录中'
})
let res = await loginAccount(that.formData);
- console.log(that.formData)
+ encrypt.encode('ACT', this.formData);
this.$store.commit('SET_USERINFO', {
user: data,
token: res.data.token
diff --git a/utils/base64.js b/utils/base64.js
new file mode 100644
index 0000000..0b335e5
--- /dev/null
+++ b/utils/base64.js
@@ -0,0 +1,164 @@
+/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */
+;(function(root) {
+
+ // Detect free variables `exports`.
+ var freeExports = typeof exports == 'object' && exports;
+
+ // Detect free variable `module`.
+ var freeModule = typeof module == 'object' && module &&
+ module.exports == freeExports && module;
+
+ // Detect free variable `global`, from Node.js or Browserified code, and use
+ // it as `root`.
+ var freeGlobal = typeof global == 'object' && global;
+ if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {
+ root = freeGlobal;
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ var InvalidCharacterError = function(message) {
+ this.message = message;
+ };
+ InvalidCharacterError.prototype = new Error;
+ InvalidCharacterError.prototype.name = 'InvalidCharacterError';
+
+ var error = function(message) {
+ // Note: the error messages used throughout this file match those used by
+ // the native `atob`/`btoa` implementation in Chromium.
+ throw new InvalidCharacterError(message);
+ };
+
+ var TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+ // http://whatwg.org/html/common-microsyntaxes.html#space-character
+ var REGEX_SPACE_CHARACTERS = /[\t\n\f\r ]/g;
+
+ // `decode` is designed to be fully compatible with `atob` as described in the
+ // HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob
+ // The optimized base64-decoding algorithm used is based on @atk’s excellent
+ // implementation. https://gist.github.com/atk/1020396
+ var decode = function(input) {
+ input = String(input)
+ .replace(REGEX_SPACE_CHARACTERS, '');
+ var length = input.length;
+ if (length % 4 == 0) {
+ input = input.replace(/==?$/, '');
+ length = input.length;
+ }
+ if (
+ length % 4 == 1 ||
+ // http://whatwg.org/C#alphanumeric-ascii-characters
+ /[^+a-zA-Z0-9/]/.test(input)
+ ) {
+ error(
+ 'Invalid character: the string to be decoded is not correctly encoded.'
+ );
+ }
+ var bitCounter = 0;
+ var bitStorage;
+ var buffer;
+ var output = '';
+ var position = -1;
+ while (++position < length) {
+ buffer = TABLE.indexOf(input.charAt(position));
+ bitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;
+ // Unless this is the first of a group of 4 characters…
+ if (bitCounter++ % 4) {
+ // …convert the first 8 bits to a single ASCII character.
+ output += String.fromCharCode(
+ 0xFF & bitStorage >> (-2 * bitCounter & 6)
+ );
+ }
+ }
+ return output;
+ };
+
+ // `encode` is designed to be fully compatible with `btoa` as described in the
+ // HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa
+ var encode = function(input) {
+ input = String(input);
+ if (/[^\0-\xFF]/.test(input)) {
+ // Note: no need to special-case astral symbols here, as surrogates are
+ // matched, and the input is supposed to only contain ASCII anyway.
+ error(
+ 'The string to be encoded contains characters outside of the ' +
+ 'Latin1 range.'
+ );
+ }
+ var padding = input.length % 3;
+ var output = '';
+ var position = -1;
+ var a;
+ var b;
+ var c;
+ var buffer;
+ // Make sure any padding is handled outside of the loop.
+ var length = input.length - padding;
+
+ while (++position < length) {
+ // Read three bytes, i.e. 24 bits.
+ a = input.charCodeAt(position) << 16;
+ b = input.charCodeAt(++position) << 8;
+ c = input.charCodeAt(++position);
+ buffer = a + b + c;
+ // Turn the 24 bits into four chunks of 6 bits each, and append the
+ // matching character for each of them to the output.
+ output += (
+ TABLE.charAt(buffer >> 18 & 0x3F) +
+ TABLE.charAt(buffer >> 12 & 0x3F) +
+ TABLE.charAt(buffer >> 6 & 0x3F) +
+ TABLE.charAt(buffer & 0x3F)
+ );
+ }
+
+ if (padding == 2) {
+ a = input.charCodeAt(position) << 8;
+ b = input.charCodeAt(++position);
+ buffer = a + b;
+ output += (
+ TABLE.charAt(buffer >> 10) +
+ TABLE.charAt((buffer >> 4) & 0x3F) +
+ TABLE.charAt((buffer << 2) & 0x3F) +
+ '='
+ );
+ } else if (padding == 1) {
+ buffer = input.charCodeAt(position);
+ output += (
+ TABLE.charAt(buffer >> 2) +
+ TABLE.charAt((buffer << 4) & 0x3F) +
+ '=='
+ );
+ }
+
+ return output;
+ };
+
+ var base64 = {
+ 'encode': encode,
+ 'decode': decode,
+ 'version': '1.0.0'
+ };
+
+ // Some AMD build optimizers, like r.js, check for specific condition patterns
+ // like the following:
+ if (
+ typeof define == 'function' &&
+ typeof define.amd == 'object' &&
+ define.amd
+ ) {
+ define(function() {
+ return base64;
+ });
+ } else if (freeExports && !freeExports.nodeType) {
+ if (freeModule) { // in Node.js or RingoJS v0.8.0+
+ freeModule.exports = base64;
+ } else { // in Narwhal or RingoJS v0.7.0-
+ for (var key in base64) {
+ base64.hasOwnProperty(key) && (freeExports[key] = base64[key]);
+ }
+ }
+ } else { // in Rhino or a web browser
+ root.base64 = base64;
+ }
+
+}(this));
diff --git a/utils/encrypt.js b/utils/encrypt.js
new file mode 100644
index 0000000..49748f0
--- /dev/null
+++ b/utils/encrypt.js
@@ -0,0 +1,62 @@
+import Base64 from "@/utils/base64.js"
+
+// 加密
+const encode = (key, data='')=>{
+ try{
+ let str;
+ typeof data == 'object'? str = JSON.stringify(data) : str = data;
+ uni.setStorageSync(key, Base64.encode(str))
+ return true;
+ }catch(e){
+ console.log(e);
+ return false;
+ }
+}
+
+// 解密
+const decode = (key)=>{
+ try{
+ let str = uni.getStorageSync(key);
+ str = Base64.decode(str);
+ isJSON(str) ? str = JSON.parse(str) : null;
+ return str;
+ }catch(e){
+ console.log(e);
+ return undefined;
+ }
+}
+
+const isJSON = (str)=>{
+ try{
+ JSON.parse(str)
+ return true;
+ }catch(e){
+ return false;
+ }
+}
+
+
+const LOGIN = ()=>{
+ return new Promise((reslove, reject) => {
+ uni.request({
+ url: Url + '/api' + url,
+ method: 'POST',
+ data: data,
+ success: (res) => {
+
+ },
+ fail: (message) => {
+ uni.showToast({
+ title: '网络错误',
+ icon: 'none'
+ })
+ reject('请求失败');
+ }
+ })
+ });
+}
+
+export default {
+ encode,
+ decode
+}
\ No newline at end of file