1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package admin
- import (
- "errors"
- "zhiyuan/models"
- "zhiyuan/pkg/db"
- adminParam "zhiyuan/pkg/param/admin"
- "zhiyuan/pkg/utils"
- "zhiyuan/services/admin"
- "zhiyuan/services/form"
- )
- var Admin models.Admin
- func CheckLogin(phone string, password string) (int, error) {
- where := map[string]interface{}{
- "phone": phone,
- "password": utils.MD5(password),
- }
- where["state"] = 1
- admin, err := admin.GetOne(where, nil, nil)
- if err != nil || admin == nil {
- return 0, errors.New("用户名或密码错误")
- }
- return admin.ID, nil
- }
- func Login(form form.WorkLogin) (string, error) {
- adminMap := make(map[string]interface{})
- if form.LoginType == 1 {
- adminMap = map[string]interface{}{
- "openid": form.OpenID,
- "nickname": form.NickName,
- "sex": form.Sex,
- "headimgurl": form.HeadImgUrl,
- }
- if admin_, _ := admin.GetOne(map[string]interface{}{"openid": form.OpenID}, nil, nil); admin_ != nil {
- db.Update(Admin.TableName(), map[string]interface{}{"id": admin_.ID}, adminMap)
- return admin.UpdateToken(admin_.ID, adminParam.Entry.Work)
- }
- }
- adminID, err := CheckLogin(form.Phone, form.Password)
- if err != nil {
- return "", errors.New("用户不存在")
- }
- if form.LoginType == 1 {
- db.Update(Admin.TableName(), map[string]interface{}{"id": adminID}, adminMap)
- }
- return admin.UpdateToken(adminID, adminParam.Entry.Work)
- }
- func Logout(id int) error {
- adminInfo, err := admin.GetInfoByID(id, []string{"id"}, nil)
- if err != nil || adminInfo == nil {
- return errors.New("invalid access_token")
- }
- return admin.ClearToken(adminInfo.ID, adminParam.Entry.Work)
- }
- func UnBindWeixin(id int) error {
- adminMap := map[string]interface{}{
- "openid": "",
- "nickname": "",
- "headimgurl": "",
- "sex": 0,
- }
- db.Update(admin.Admin.TableName(), map[string]interface{}{"id": id}, adminMap)
- return Logout(id)
- }
- func Password(id int, form form.Password) error {
- if err := admin.Password(id, form); err != nil {
- return err
- }
- return admin.ClearToken(id, adminParam.Entry.Work)
- }
|