diff --git a/src/api/centerUserAliappKey.js b/src/api/centerUserAliappKey.js
new file mode 100644
index 00000000..4c118108
--- /dev/null
+++ b/src/api/centerUserAliappKey.js
@@ -0,0 +1,24 @@
+import request from '@/utils/request'
+
+export function info() {
+  return request({
+    url: '/user/centerUserAliappKey/info',
+    method: 'get'
+  })
+}
+
+export function delData(id) {
+  return request({
+    url: '/user/centerUserAliappKey/del',
+    method: 'post',
+    data: { id }
+  })
+}
+
+export function saveData(data) {
+  return request({
+    url: '/user/centerUserAliappKey/save',
+    method: 'post',
+    data: { ...data }
+  })
+}
diff --git a/src/icons/svg/alipaySR.svg b/src/icons/svg/alipaySR.svg
new file mode 100644
index 00000000..dd943c0a
--- /dev/null
+++ b/src/icons/svg/alipaySR.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1527120676182" class="icon" style="" viewBox="0 0 1756 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1829" xmlns:xlink="http://www.w3.org/1999/xlink" width="342.96875" height="200"><defs><style type="text/css"></style></defs><path d="M1002.928571 659.892857c-85.285714 102.392857-173.5 165-307.214286 165s-221.892857-82.5-210.5-182c5.714286-65.392857 51.214286-173.5 247.5-156.392857 102.392857 8.5 150.785714 28.392857 236.107143 56.892857 22.785714-39.785714 39.785714-85.285714 54-130.785714L647.321429 412.607143l0-37 184.892857 0L832.214286 310 607.5 310 607.5 267.285714l224.714286 0L832.214286 170.607143c0 0 2.785714-14.214286 19.892857-14.214286l93.892857 0 0 110.892857 238.892857 0 0 39.785714-241.785714 0L943.107143 372.5l196.285714 0c-17.107143 74-45.5 142.214286-79.607143 199.107143 48.392857 17.107143 244.607143 76.785714 301.5 93.892857L1361.285714 167.785714c0-79.607143-65.392857-142.214286-142.214286-142.214286L533.607143 25.571429c-79.714286 0-142.285714 65.392857-142.285714 142.214286l0 688.392857c0 79.607143 65.392857 142.214286 142.214286 142.214286l688.392857 0c79.607143 0 142.214286-65.392857 142.214286-142.214286l0-34.214286C1315.714286 799.285714 1099.607143 705.392857 1002.928571 659.892857zM525 634.285714c-8.5 37 14.214286 125.214286 156.392857 125.214286 85.285714 0 170.714286-54 238.892857-142.214286-96.714286-48.392857-176.392857-71.107143-267.392857-71.107143C573.321429 549 533.5 597.285714 525 634.285714z" p-id="1830"></path></svg>
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index 5312e2e9..d7f7d11f 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -170,6 +170,26 @@ export const constantRouterMap = [
       meta: { title: '拼团记录', icon: 'pingtuan' }
     }]
   },
+  {
+    name: '支付宝小程序',
+    path: '/user',
+    component: Layout,
+    redirect: '/user/centerUserAliappKey/list',
+    meta: { title: '支付宝小程序', icon: 'alipaySR' },
+    children: [{
+      name: 'Appid配置',
+      path: 'centerUserAliappKey/list',
+      component: () => import('@/views/centerUserAliappKey/list'),
+      meta: { title: 'Appid配置', icon: 'alipaySR' }
+    },
+      {
+        name: '我的资源包2',
+        path: 'dashboard3',
+        component: () => import('@/views/dashboard/index'),
+        meta: { title: '我的资源包2', icon: 'setting' }
+      }]
+  },
+
 
   { path: '*', redirect: '/404', hidden: true }
 ]
diff --git a/src/views/centerUserAliappKey/list.vue b/src/views/centerUserAliappKey/list.vue
new file mode 100644
index 00000000..dc47a9b8
--- /dev/null
+++ b/src/views/centerUserAliappKey/list.vue
@@ -0,0 +1,144 @@
+<template>
+
+  <div class="app-container">
+
+<div class="filter-container">
+<h4>设置信息</h4>
+<el-button class="filter-item" style="margin-left: 10px;margin-bottom: 10px;" @click="handleCreate" type="success" icon="el-icon-edit">设置</el-button>
+</div>
+    <el-table :data="list" v-loading.body="listLoading" element-loading-text="Loading" :show-header="false" border fit highlight-current-row empty-text="暂无数据">
+      <el-table-column prop="name" label="name"></el-table-column>
+      <el-table-column prop="val" label="val"></el-table-column>
+    </el-table>
+
+<el-dialog :title="pushData.dialogTitle" :visible.sync="pushData.dialogFormVisible" :close-on-click-modal="false" :close-on-press-escape="false">
+      <el-form :rules="rules" ref="addEditPopForm" :model="pushData" label-position="left" label-width="100px">
+        <el-form-item label="appid" prop="appid" >
+          <el-input v-model.text="pushData.appid" type="text" clearable @keyup.enter.native="handleCreateSave"></el-input>
+        </el-form-item>
+        <el-form-item label="privateKey" prop="privateKey" >
+          <el-input v-model.textarea="pushData.privateKey" type="textarea " clearable @keyup.enter.native="handleCreateSave"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="pushData.dialogFormVisible = false">取消</el-button>
+        <el-button type="primary" @click="handleCreateSave">确定</el-button>
+      </div>
+    </el-dialog>
+
+
+  </div>
+</template>
+
+<script>
+import { info, saveData } from '@/api/centerUserAliappKey'
+import { Message, MessageBox } from 'element-ui'
+import { mapGetters } from 'vuex'
+
+export default {
+  computed: {
+    ...mapGetters([
+      'centerUserBase'
+    ])
+  },
+  data() {
+    return {
+
+      rules: {
+        appid: [
+          { required: true, message: '不能为空'}
+        ],
+        privateKey: [
+          { required: true, message: '不能为空'}
+        ]
+      },
+
+
+
+      multipleSelection: [],
+      appid:null,
+      privateKey:null,
+      list: null,
+      listLoading: true,
+      statisticsData:{},
+      pushData: {
+              dialogTitle : undefined,
+              dialogFormVisible:false,
+
+              id:undefined,
+              appid:undefined,
+              privateKey:undefined
+            }
+    }
+  },
+  created() {
+    this.pushDataTmp = Object.assign({}, this.pushData)
+    this.fetchData()
+  },
+  mounted() {
+
+  },
+  methods: {
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.fetchData();
+    },
+    handleCurrentChange(val) {
+      this.page = val
+      this.fetchData()
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val
+    },
+    fetchData() {
+      this.list = null
+      this.listLoading = true
+      info().then(response => {
+        if (response.code == 0) {
+          this.appid = response.data.appid,
+          this.privateKey = response.data.privateKey,
+          this.list = [{name: 'appid',val: response.data.appid}, {name: 'privateKey',val: response.data.privateKey}]
+        }else if(response.code == 700){
+        this.list = [{name: 'appid',val: '未设置'}, {name: 'privateKey',val: '未设置'}]
+        }
+        this.listLoading = false
+      })
+    },
+    handleCreate(){
+      this.pushData = Object.assign({}, this.pushDataTmp,{appid:this.appid, privateKey:this.privateKey})
+      this.pushData.dialogTitle = '支付宝小程序设置'
+      this.pushData.dialogFormVisible = true
+      this.$nextTick(() => {
+        this.$refs['addEditPopForm'].clearValidate()
+      })
+    },
+    handleCreateSave(){
+      this.$refs['addEditPopForm'].validate((valid) => {
+        if (valid) {
+          saveData(this.pushData).then((res) => {
+            this.pushData.dialogFormVisible = false
+            if (res.code == 0) {
+              Message({
+                message: '操作成功',
+                type: 'success',
+                duration: 1 * 1000,
+                onClose: () => {
+                  this.fetchData()
+                }
+              })
+            } else {
+              Message({
+                message: res.msg,
+                type: 'error',
+                duration: 3 * 1000
+              })
+            }
+          }).catch(e=>{
+            console.error(e);
+          })
+        }
+      })
+    }
+  }
+}
+</script>