|
@@ -1,21 +1,14 @@
|
|
|
-/**
|
|
|
- * @param {string} url
|
|
|
- * @returns {Object}
|
|
|
- */
|
|
|
-export function param2Obj(url) {
|
|
|
- const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
|
|
|
- if (!search) {
|
|
|
- return {}
|
|
|
- }
|
|
|
- const obj = {}
|
|
|
- const searchArr = search.split('&')
|
|
|
- searchArr.forEach(v => {
|
|
|
- const index = v.indexOf('=')
|
|
|
- if (index !== -1) {
|
|
|
- const name = v.substring(0, index)
|
|
|
- const val = v.substring(index + 1, v.length)
|
|
|
- obj[name] = val
|
|
|
- }
|
|
|
+import { param2Obj } from '@/utils/index.js'
|
|
|
+describe('Utils:param2Obj', () => {
|
|
|
+ const url = 'https://github.com/PanJiaChen/vue-element-admin?name=bill&age=29&sex=1&field=dGVzdA==&key=%E6%B5%8B%E8%AF%95'
|
|
|
+
|
|
|
+ it('param2Obj test', () => {
|
|
|
+ expect(param2Obj(url)).toEqual({
|
|
|
+ name: 'bill',
|
|
|
+ age: '29',
|
|
|
+ sex: '1',
|
|
|
+ field: window.btoa('test'),
|
|
|
+ key: '测试'
|
|
|
+ })
|
|
|
})
|
|
|
- return obj
|
|
|
-}
|
|
|
+})
|